一种基于plc集成开发环境的仿真模拟方法、装置
文献发布时间:2023-06-19 19:27:02
背景技术
PLC是一种主要应用于工业领域的电子系统,汽车、电力等制造行业是PLC的主要应用领域,并广泛应用在科研工程中。PLC拥有相当的市场规模,经过长期的推广,根据智研咨询集团的研究报告,仅国内PLC拥有近100亿人民币的市场。然而,PLC市场的主要份额被国外厂商所占有,国产PLC集成开发环境的投入与研究长期不足。
在实现现有技术过程中,发明人发现:
PLC应用中的仿真需要依托第三方通信类库OPC Server实现,该实现过程中存在逻辑部分仿真和界面部分仿真分离,仿真协同效率低,无法进行界面的仿真交互低的问题。
因此,需要提供一种效率高的仿真模拟方法、装置以解决现有技术中PLC应用仿真模拟效率低的问题。
发明内容
本发明主要解决的技术问题是解决现有技术中现有技术中PLC应用仿真模拟效率低的问题。
为解决上述技术问题,本发明采用的一个技术方案是:
一种基于plc集成开发环境的仿真模拟方法,具体包括以下步骤:
发送数据信息至服务端;
获取服务端发送的处理后的数据信息;
根据处理后的数据信息进行仿真模拟。
在本发明一个较佳实施例中,所述数据信息至少包括初始化请求信息、所需的变量和信息的请求;
其中,所述初始化请求信息至少包括用于验证的会话标识信息;
所述所需的变量和信息的请求基于轮询机制实现。
本申请还提供一种基于plc集成开发环境的仿真调试装置,具体包括:
发送模块,用于发送数据信息至服务端;
收取模块,用于收取服务端发送的处理后的数据信息;
仿真模块,用于根据处理后的数据信息进行仿真。
本申请还提供一种基于plc集成开发环境的仿真调试方法,其特征在于,具体包括以下步骤:
获取客户端发送的数据信息;
对所述数据信息进行处理,生成处理后的数据信息;
将所述处理后的数据信息发送至客户端。
在本发明一个较佳实施例中,对所述数据信息进行处理,生成处理后的数据信息,具体包括:
验证所述数据信息中的会话标识信息;
监听所述数据信息中的所需的变量和信息;
解析所述监听的数据信息中的变量和信息请求;
对所述数据信息中的变量和信息请求进行处理,生成处理后的第一子数据信息;
所述数据信息还包括客户端发送的key信息,所述对数据信息的key信息进行的处理,具体包括:
监听数据信息中的key信息;
解析所述监听的数据信息中的key信息;
对所述数据信息中的key信息进行处理,生成处理后的第二子数据信息;
所述生成处理后的数据信息至少包括第一子数据信息、第二子数据信息。
本申请还提供一种基于plc集成开发环境的仿真调试装置,具体包括:
获取模块,用于获取客户端发送的数据信息;
处理模块,用于对所述数据信息进行处理,生成处理后的数据信息;
输出模块,用于将所述处理后的数据信息发送至客户端。
在本发明一个较佳实施例中,所述处理模块,具体包括:
Web服务器第一接口单元,用于验证所述数据信息中的会话标识信息、监听所述数据信息中的所需的变量和信息、解析所述监听的数据信息中的变量和信息请求;
Web服务器第二接口单元,用于监听数据信息中的key信息、解析所述监听的数据信息中的key信息;
PLC逻辑仿真单元,用于对Web服务器第一接口单元中解析所述监听的数据信息中的变量和信息请求进行处理,生成处理后的第一子数据信息,对Web服务器第二接口单元中解析所述监听的数据信息中的key信息进行的处理,生成处理后的第二子数据信息;
所述生成处理后的数据信息至少包括第一子数据信息、第二子数据信息。
本发明的有益效果是:通过本申请提供的一种基于plc集成开发环境的仿真模拟方法、装置,能够实现不依托第三方,实现全面支持界面和逻辑的协同仿真。并且,基于此,后续开发人员能够掌握全部源码,出错后便于排查。且能够实现远程仿真交互。与此同时,该方法不需要界面系GDI+绘制再保证美观和兼容的前提下,而是通过浏览器网页展示,减小了本地资源占用。
附图说明
图1是本发明提供一种基于plc集成开发环境的仿真模拟方法流程示意图;
图2是本发明提供一种基于plc集成开发环境的仿真调试装置结构框图;
图3是本发明提供一种基于plc集成开发环境的仿真调试方法另一流程示意图;
图4是本发明提供一种基于plc集成开发环境的仿真调试装置另一结构框图;
图5是图1中流程示意图和图3中另一流程示意图组合的流程示意图;
图6是图2结构框图和图4另一结构框图中组合的结构框图。
本发明提供一种基于plc集成开发环境的仿真调试装置另一结构框图;
附图中各部件的标记如下:
一种基于plc集成开发环境的仿真调试装置-100;发送模块-11;收取模块-12;
仿真模块-13;获取模块-21;处理模块-22;Web服务器第一接口单元-220;
Web服务器第二接口单元-221;PLC逻辑仿真单元-222;输出模块-23。
具体实施方式
下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
所属技术领域人员应当熟知的是,现有技术中,PLC即可编程逻辑控制器。PLC集成开发环境即指基于参数化可编程控制器编写的PLC应用。现有技术中需要通过安装其他额外的软件或者类库,实现PLC的开发或者仿真。在本申请提供的一种优选实施例中,本申请基于PLC集成开发环境增加了仿真器,主要基于TCP/IP实现通信,以XML文本进行交互,即开发人员通过带有可访问的浏览器即可实现本地或远程开发调试仿真PLC应用。带有可访问的浏览器可以是电脑、平板、手机等设备。
请参阅图1,为本申请提供的一种基于PLC集成开发环境的仿真模拟方法,具体包括:
S110:发送数据信息至服务端。
具体的,此处所指的发送数据信息至服务端主要通过客户端来发送。客户端即带有可访问的的浏览器的电脑、平板、手机等设备。客户端和服务端可以是一体的,也可以是远程进行交互的。应当指出的是,浏览器中内设有通过web数据交互的AJAX交互、post请求、get请求等模块。可以理解,Ajax是一种用于创建更好更快以及交互性更强的Web应用程序的技术。get和post请求是http协议中的两种请求方式。get一般用来获取服务器的信息的,post一般是用来更新信息。
进一步的,所述数据信息至少包括初始化请求信息、所需的变量和信息的请求;其中,所述初始化请求信息至少包括用于验证的会话标识信息;所述所需的变量和信息的请求基于轮询机制实现。
具体的,客户端发送的初始化请求信息主要用于数据对象或变量赋初值的做法。当然,初始化信息还用于确认服务端与客户端的连接关系。例如,验证会话标识信息。本申请提供的一种优选实施例中,SessionID存放在服务器内存和客户机的Cookie里面,当客户端发出请求后,服务器将客户端Cookie里面记录的SessionID和服务器内存中的SessionID进行比对,从而进行验证。
还应当指出的是,所需的变量信息和信息的请求基于轮询机制实现,在本申请提供的一种实际应用场景中,轮询机制主要为polling机制。进而客户端轮询所需的变量信息。
S120:获取服务端发送的处理后的数据信息。
具体的,处理后的数据信息基于TCP/IP通信,以XML文本进行交互,进而获取到服务端发送的处理后的数据信息。
S130:根据处理后的数据信息进行仿真模拟。
具体的,客户端解析处理后的数据信息。客户端通过内设的Html语言、Css语言、JQuery语言、FONts等实现解析处理后的数据信息,然后客户端对解析获取到的信息反馈到LCD界面中。
请参阅图2,为本申请提供的一种基于plc集成开发环境的仿真调试装置,具体包括:
发送模块11,用于发送数据信息至服务端。
具体的,此处所指的发送数据信息至服务端主要通过客户端的发送模块11来发送。客户端即带有可访问的的浏览器的电脑、平板、手机等设备。客户端和服务端可以是一体的,也可以是远程进行交互的。应当指出的是,浏览器中内设有通过web数据交互的AJAX交互、post请求、get请求等模块。可以理解,Ajax是一种用于创建更好更快以及交互性更强的Web应用程序的技术。get和post请求是http协议中的两种请求方式。get一般用来获取服务器的信息的,post一般是用来更新信息。
进一步的,所述数据信息至少包括初始化请求信息、所需的变量和信息的请求;其中,所述初始化请求信息至少包括用于验证的会话标识信息;所述所需的变量和信息的请求基于轮询机制实现。
具体的,客户端发送的初始化请求信息主要用于数据对象或变量赋初值的做法。当然,初始化信息还用于确认服务端与客户端的连接关系。例如,验证会话标识信息。本申请提供的一种优选实施例中,SessionID存放在服务器内存和客户机的Cookie里面,当客户端发出请求后,服务器将客户端Cookie里面记录的SessionID和服务器内存中的SessionID进行比对,从而进行验证。
还应当指出的是,所需的变量信息和信息的请求基于轮询机制实现,在本申请提供的一种实际应用场景中,轮询机制主要为polling机制。进而客户端轮询所需的变量信息。
收取模块12,用于收取服务端发送的处理后的数据信息。
具体的,处理后的数据信息基于TCP/IP通信,以XML文本进行交互,进而收取模块12获取到服务端发送的处理后的数据信息。
具体的,客户端解析所获取的XML消息后做相应的处理,首先将界面渲染信息解包成一个8x132的位图,并根据位图各个元素的值将其展示在虚拟的LCD界面。
仿真模块13,用于根据处理后的数据信息进行仿真。
具体的,客户端解析处理后的数据信息。客户端通过内设的Html语言、Css语言、JQuery语言、FONts等实现解析处理后的数据信息,然后客户端通过仿真模块13将解析获取到的信息反馈到LCD界面中。
请参阅图3,为本申请提供的一种基于plc集成开发环境的仿真模拟方法,具体包括:
S210:获取客户端发送的数据信息。
具体的,获取客户端发送的数据信息,即主要指服务端获取道的客户端发送的始化请求信息、所需的变量和信息的请求。可以理解的是,此处所述的服务端和客户端可以是一体的,也可以是远程通过浏览器获取的。
S220:对所述数据信息进行处理,生成处理后的数据信息。
具体的,对数据信息进行处理主要包括:验证所述数据信息中的会话标识信息;监听所述数据信息中的所需的变量和信息;解析所述监听的数据信息中的变量和信息请求;对所述数据信息中的变量和信息请求进行处理,生成处理后的第一子数据信息。
可以理解,验证所述数据信息中的会话标识信息,即验证客户端发送的数据信息中的会话标识信息。监听所述数据信息中的所需的变量和信息,即通过轮询机制监视客户端所有的变量及信息的轮询请求,然后对所述数据信息中的变量和信息请求进行处理,生成处理后的第一子数据信息。
还应当理解的是,对所述数据信息进行处理,还包括监听数据信息中的key信息;解析所述监听的数据信息中的key信息;对所述数据信息中的key信息进行处理,生成处理后的第二子数据信息。即监听客户端发送的各种key消息,然后对客户端发送的各种key消息进行处理,生成处理后的第二子数据信息。
还应当指出的是,所述生成处理后的数据信息至少包括第一子数据信息、第二子数据信息。所述生成的处理后的数据信息还通过base64编码进行编码处理。通过该处理方式,以实现以XML方式返回至客户端。
S230:将所述处理后的数据信息发送至客户端。
处理后的数据信息基于TCP/IP通讯,以XML方式发送至客户端。
请参阅图4,为本申请提供的一种基于plc集成开发环境的仿真调试装置,具体包括:
获取模块21,用于获取客户端发送的数据信息。
具体的,获取客户端发送的数据信息,即主要指服务端获取道的客户端发送的始化请求信息、所需的变量和信息的请求。可以理解的是,此处所述的服务端和客户端可以是一体的,也可以是远程通过浏览器获取的。在本申请提供的一种优选实施例中,获取模块可以是服务端内置的web服务器进行的获取。
处理模块22,用于对所述数据信息进行处理,生成处理后的数据信息。
具体的,对数据信息进行处理主要包括:验证所述数据信息中的会话标识信息;监听所述数据信息中的所需的变量和信息;解析所述监听的数据信息中的变量和信息请求;对所述数据信息中的变量和信息请求进行处理,生成处理后的第一子数据信息。
具体的,处理模块的Web服务器第一接口单元220用于验证所述数据信息中的会话标识信息、监听所述数据信息中的所需的变量和信息、解析所述监听的数据信息中的变量和信息请求。PLC逻辑仿真单元222用于对Web服务器第一接口模块中解析所述监听的数据信息中的变量和信息请求进行处理,生成处理后的第一子数据信息.在本申请提供的一种优选实施方式中,处理模块的Web服务器第一接口单元220主要指planweb.cgi。PLC逻辑仿真单元222主要包括有UI tasks、exception tasks、Main tasks。
具体的,pLanWeb.cgi负责监听验证客户端的SessionId和所有的变量及信息的轮询请求。当客户端第一次连接到服务器时候SessionId为空,pLanWeb.cgi会新分配一个Session并且以XML的形式
pLanWeb.cgi负责处理客户端的请求队列,将其交由PLC逻辑仿真模块处理处理。对结果进行Base64编码,然后以XML的形式
pLanWeb.cgi还负责回传界面渲染所需的数据。在处理完界面信息后,它将界面数据维护成一个8x132位图字节数组,进行Base64编码后,以XML方式返回给客户端。
可以理解,验证所述数据信息中的会话标识信息,即验证客户端发送的数据信息中的会话标识信息。监听所述数据信息中的所需的变量和信息,即通过轮询机制监视客户端所有的变量及信息的轮询请求,然后对所述数据信息中的变量和信息请求进行处理,生成处理后的第一子数据信息。
还应当理解的是,对所述数据信息进行处理,还包括监听数据信息中的key信息;解析所述监听的数据信息中的key信息;对所述数据信息中的key信息进行处理,生成处理后的第二子数据信息。即监听客户端发送的各种key消息,然后对客户端发送的各种key消息进行处理,生成处理后的第二子数据信息。
具体的,处理模块的Web服务器第二接口单元221,用于监听数据信息中的key信息、解析所述监听的数据信息中的key信息。PLC逻辑仿真单元222对Web服务器第二接口模块中解析所述监听的数据信息中的key信息进行的处理,生成处理后的第二子数据信息。处理模块的Web服务器第二接口单元221主要指plankey.cgi。PLC逻辑仿真单元222主要包括有UI tasks、exception tasks、Main tasks。
具体的,pLanKey.cgi负责监听处理客户端的按键消息。在监听到客户端的按键消息后,pLanKey.cgi会根据KeyCode(即按键的Id),交给对应的PLC模块进行逻辑处理。然后再将处理的结果进行Base64编码后,以XML方式返回给客户端。
还应当指出的是,所述生成处理后的数据信息至少包括第一子数据信息、第二子数据信息。所述生成的处理后的数据信息还通过base64编码进行编码处理。通过该处理方式,以实现以XML方式返回至客户端。
输出模块23,用于将所述处理后的数据信息发送至客户端。
处理后的数据信息基于TCP/IP通讯,以XML方式发送至客户端。
应当指出的是,上述主要讲述了本申请基于PLC集成开发环境的仿真模拟方法、装置的工作流程,通过本申请提供的工作流程,相比于现有技术而言,是可以实现不依托第三方,实现全面支持界面和逻辑的协同仿真。并且,基于此,后续开发人员能够掌握全部源码,出错后便于排查。且能够实现远程仿真交互。与此同时,该方法不需要界面系GDI+绘制再保证美观和兼容的前提下,而是通过浏览器网页展示,减小了本地资源占用。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。