一种模拟PLC的实现方法技术

技术编号:16506333 阅读:111 留言:0更新日期:2017-11-05 09:44
本发明专利技术公开了一种模拟PLC的实现方法,包括以下步骤:(1)分析PLC的通信报文;分析PLC的通信行为,分析出PLC通信行为的关键部分,(2)读取包含真实PLC通信行为的报文;(3)接收上位机的请求;当模拟PLC接收上位机的请求后,模拟PLC程序解析上位机的请求报文,根据上位机的请求查找样例报文文件中的关键部分,然后使用所述样例报文中的关键部分组织回复给上位机的报文并将其发送出去。本发明专利技术的优点是从网络通信的角度模拟PLC的通信行为,实现方式简单且计算工作量小;以样例报文为基础模拟PLC使模拟程序更加灵活并且能适用多种场景。

An implementation method of analog PLC

The invention discloses a method for realizing the simulation of PLC, which comprises the following steps: (1) analysis of PLC communication message; communication behavior analysis PLC analysis, a key part of PLC communication behavior, (2) reading the message contains real PLC communication behavior; (3) for receiving the host computer; when simulation PLC PC to receive the request, request message PLC simulation program parsing PC, according to the key part of the request of the PC to find the sample files in the message, then reply message to the host computer using the sample message in key parts of the organization and send it out. The invention has the advantages of communication network communication behavior from the angle of simulated PLC, realization of simple and small workload; simulation based PLC simulation program more flexible and suitable for various scenarios to sample message.

【技术实现步骤摘要】
一种模拟PLC的实现方法
本专利技术涉及一种模拟PLC的实现方法,属于自动控制

技术介绍
PLC(ProgrammableLogicController)即可编程逻辑控制器,是一种采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算、顺序控制、定时、计数与算术操作的面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程。模拟PLC技术伴随计算机应用技术的发展而来,是对工业生产系统进行分析、诊断和优化的有力工具之一。在工业控制系统领域,由于工业生产向着高速、大型化及自动化方向发展,大量重大生产设备或过程控制设备的应用,成本日益增高,模拟PLC技术可以有效降低开发测试成本。在安全领域,模拟PLC技术可以诱导攻击者进行攻击,从而分析攻击者的攻击方法和行为。公开号为CN205301993U的专利申请公开了一种可编程逻辑控制器模块检测平台。该检测平台包括第一测试底板以及与其连接的测控设备,第一测试底板设有测试处理器模块以及多组第一模块测试接口,所述第一模块测试接口连接待测试的第一PLC模块。本实施例的可编程逻辑控制器模块检测平台结合相关测试软件,可以模拟PLC工作的环境检测多种PLC模块的性能,并可以同时检测多个PLC模块.公开号为CN103645672A的专利申请公开了一种PLC固件完整性验证装置及验证方法,所述装置包括基线建立单元、PC模拟PLC截获单元和验证单元,所述基线建立单元,用于截获安全固件数据,并基于MD5哈希算法建立32位基线;PC模拟PLC截获单元,用于通过个人计算机向用于模拟PLC的PC传输未知安全固件,并对未知安全固件进行截获,通过MD5哈希算法计算出32位的固件摘要;验证单元,用于将所述基线与所述固件摘要进行比较验证。本专利技术用在未知安全固件装载到PLC之前对其进行完整性验证,保证导入PLC的固件是完整的。防止不法分子或者同类竞争对手对固件的恶意破坏。公开号为CN203164674U的专利申请公开了一种基于PLC运动控制系统的开发模拟平台,包括PLC控制器、触摸屏、增量式电机编码器、若干个按钮开关、若干个中间继电器、三个交流伺服电机驱动器,触摸屏通过串口通信电缆与PLC控制器相连接,增量式电机编码器、若干个按钮开关、若干个中间继电器、三个交流伺服电机驱动器分别通过控制电缆与PLC控制器相连接,各中间继电器还与指示灯相连接,增量式电机编码器分别与分度盘、交流伺服电机驱动器相连接,各交流伺服电机驱动器对应连接有交流永磁电机,各交流永磁电机的输出轴还分别与分度盘进行连接。公开号为CN102411330A的专利申请公开了一种将可编程逻辑控制器程序转换为普通Petri网的方法,针对PLC梯形图程序,将梯形图触点和线圈模拟为结点,将导线模拟为有向边,建立梯形图程序的PLC有向图模型,定义该有向图中的路径,根据路径关系,将PLC有向图转换为Petri网;本专利技术实现PLC梯形图程序到普通Petri网模型的自动转换.综上所述,现有模拟PLC的方法通过详细分析PLC的工作原理,以软件方式实现PLC的各种功能。当上位机主动连接模拟PLC软件时,模拟PLC软件做出相应的回复,以达到模拟PLC的效果。现有模拟PLC的方法在分析PLC的工作原理时需要详细分析出PLC上都有哪些输入输出区域及其属性,当上位机通过网络操作这些区域时,模拟PLC软件回复相应的报文。首先,现有模拟PLC软件在启动时,都会赋予这些区域一些默认值,这些值大多情况下不是真实PLC启动时的值,需要人为的调教这些值才能达到模拟PLC的效果。其次,如果真实PLC的程序发生改变,某些区域的值必然要改变,需要再次人为调教。第三,现有模拟PLC的方法只能模拟通过网络操作PLC输入输出区域,不能模拟上传、下载PLC程序的操作。综上所述,现有技术的缺点是:计算工作量巨大且不容易分析准确;难以实现PLC程序上传、下载的操作。
技术实现思路
本专利技术的目的在于提供一种能够克服上述技术问题的模拟PLC的实现方法,本专利技术的模拟PLC的实现方法的核心技术构思是:使用样例报文为基础模拟PLC的方式,通过分析PLC通信行为来模拟PLC。本专利技术的模拟PLC的实现方法是一种以包含真实PLC通信行为的报文文件为基础的模拟PLC实现方法,通过读取包含真实PLC通信行为的报文文件来模仿PLC的行为。本专利技术所述模拟PLC的实现方法具体包括以下步骤:(1)分析PLC的通信报文;分析PLC的通信行为,分析出PLC通信行为的关键部分,所述PLC通信行为的关键部分是指报文中依据上位机的请求报文不同而变化的部分。相比于上位机,PLC在通信中是被动方,需要根据上位机的请求给出回应,因此分析所述PLC通信行为的关键部分是非常重要的。(2)读取包含真实PLC通信行为的报文;在分析了PLC的通信报文以后,使用程序读取PLC通信的样例报文文件,所述样例报文文件是指模拟PLC程序在通信行为上与报文文件中的报文表现一致的文件。将所述样例报文文件读取到内存中能够在程序运行过程中快速查找需要使用的部分。当PLC接受了上位机的连接请求后,会使用样例报文文件的数据回复给上位机。(3)接收上位机的请求;当模拟PLC接收上位机的请求后,模拟PLC程序解析上位机的请求报文,根据上位机的请求查找样例报文文件中的关键部分,然后使用所述样例报文中的关键部分组织回复给上位机的报文并将其发送出去。所述样例报文文件中的关键部分是所述步骤(1)中分析出的PLC通信行为的关键部分的实例化即PLC通信行为的关键部分在样例报文文件中的体现。本专利技术所述模拟PLC的实现方法中所述的样例报文文件中的关键部分根据协议不同而不同,所述的样例报文文件中的关键部分的存储和查找能够使用多种方式实现。所述多种实现方式包括但不限于以数组的形式进行样例报文的关键部分的存储和查找、以哈希表的形式进行样例报文的关键部分的存储和查找、以树的形式进行样例报文的关键部分的存储和查找。本专利技术所述模拟PLC的实现方法的优点是从网络通信的角度模拟PLC的通信行为,实现方式简单且计算工作量小;以样例报文为基础模拟PLC使模拟程序更加灵活并且能适用多种场景。附图说明图1是本专利技术所述方法的读取样例报文文件流程示意图:图2是本专利技术所述方法的模拟PLC程序回复上位机请求流程图。具体实施方式下面结合附图对本专利技术的实施方式进行详细描述。如图1、2所示,本专利技术所述模拟PLC的实现方法包括以下步骤:(1)分析PLC的通信报文;分析PLC的通信行为,分析出PLC通信行为的关键部分,例如上位机对PLC数据区域进行的读操作、写操作,例如对PLC程序的上传、下载操作。以上传PLC程序为例,首先分析出请求上传PLC程序报文,并找到回复给所述请求的报文位置,然后分析出回复PLC程序报文中的PLC程序二进制流的部分即所述的PLC通信行为的关键部分,所述的PLC通信行为的关键部分携带了PLC程序的内容。除了所述的PLC通信行为的关键部分以外,所述PLC程序报文中还有连接计数、报文长度的字段,所述PLC程序报文中的连接计数、报文长度的字段对模拟PLC通信行为没有影响,但也是组成报文的必要部分,通信双方往往会在通信过程中检查这些字段以验证报文合法性,所述PLC程序报文中的连接计数、报文本文档来自技高网
...
一种模拟PLC的实现方法

【技术保护点】
一种模拟PLC的实现方法,其特征在于,是一种以包含真实PLC通信行为的报文文件为基础的模拟PLC实现方法,通过读取包含真实PLC通信行为的报文文件来模仿PLC的行为;具体包括以下步骤:(1)分析PLC的通信报文;分析PLC的通信行为,分析出PLC通信行为的关键部分,所述PLC通信行为的关键部分是指报文中依据上位机的请求报文不同而变化的部分;(2)读取包含真实PLC通信行为的报文;在分析了PLC的通信报文以后,使用程序读取PLC通信的样例报文文件,所述样例报文文件是指模拟PLC程序在通信行为上与报文文件中的报文表现一致的文件;(3)接收上位机的请求;当模拟PLC接收上位机的请求后,模拟PLC程序解析上位机的请求报文,根据上位机的请求查找样例报文文件中的关键部分,然后使用所述样例报文中的关键部分组织回复给上位机的报文并将其发送出去。

【技术特征摘要】
1.一种模拟PLC的实现方法,其特征在于,是一种以包含真实PLC通信行为的报文文件为基础的模拟PLC实现方法,通过读取包含真实PLC通信行为的报文文件来模仿PLC的行为;具体包括以下步骤:(1)分析PLC的通信报文;分析PLC的通信行为,分析出PLC通信行为的关键部分,所述PLC通信行为的关键部分是指报文中依据上位机的请求报文不同而变化的部分;(2)读取包含真实PLC通信行为的报文;在分析了PLC的通信报文以后,使用程序读取PLC通信的样例报文文件,所述样例报文文件是指模拟PLC程序在通信行为上与报文文件中的报文表现一致的文件;(3)接收上位机的请求;当模拟PLC接收上位机的请求后,模拟PLC程序解析上位机的请求报文,根据上位机的请求查找样例报文文件中的关键部分,然后使用所述样例报文中的关键部分组织回复给上位机的报文并将其发送出去。2.根据权利要求1所述的一种模拟PLC的实现方法,其特征在于,所述步骤(1)中,相比于上位机,PLC在通信中是被动方,需要根...

【专利技术属性】
技术研发人员:韩延鹏柳标冯全宝
申请(专利权)人:北京威努特技术有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1