CN103546527A - 一种可扩展的工业组态或仿真软件通信方法 - Google Patents
一种可扩展的工业组态或仿真软件通信方法 Download PDFInfo
- Publication number
- CN103546527A CN103546527A CN201210262972.9A CN201210262972A CN103546527A CN 103546527 A CN103546527 A CN 103546527A CN 201210262972 A CN201210262972 A CN 201210262972A CN 103546527 A CN103546527 A CN 103546527A
- Authority
- CN
- China
- Prior art keywords
- request
- configuration
- signal
- communication
- simulation software
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种可扩展的工业组态或仿真软件通信方法,属于计算机通信技术领域。本方法为:1)服务器端配置组态或仿真软件,在组态或仿真软件内设置一信号读写模块和一通信代理模块;其中,所述通信代理模块中包括多种外围设备接口的通信代理;2)服务器端的组态或仿真软件对某一外围设备发出请求时,信号读写模块将该请求封装后发送给该外围设备的通信代理;3)该外围设备的通信代理将该请求发送给该外围设备,并将该外围设备针对该请求的返回结果发送给信号读写模块;4)信号读写模块对返回结果进行解析,将解析得到的信号名称及信号值反馈给组态或仿真软件。本方法将增强工业组态或仿真软件通信部分的扩展性,减少开发人员的开发时间。
Description
技术领域
本发明涉及工业组态(或仿真)软件与外围设备的通信方法,属于计算机通信技术领域。
背景技术
现有组态(或仿真)软件,譬如SamDraw组态软件、InTouch组态软件、SIMIT等等,提供的通信接口均集成在软件中,而且种类有限。一般内置的接口有串口、以太网口、DDE软接口、OPC接口等等,如图1所示。图1中(a)为常见组态软件所支持的设备类型,图1中(b)为常见组态软件所支持的接口类型。
现有的工业组态与外围设备的通信接口一般有RS232、RS485、以太网接口等,这种内置方式会带来软件实际应用中的限制:组态软件通过I/O驱动程序从现场测控设备获得实时数据,对数据进行加工处理,一般情况下,I/O驱动程序是与设备相关的,即一种设备的驱动程序只能驱动该类的设备。当组态(或仿真)软件本身功能达到要求时,如果设备更新或升级,而组态软件中的I/O驱动程序没有及时更新,可能依然无法对某种特定的监控对象进行组态或测试,除非更新I/O驱动程序,而这样又要考虑组态(或仿真)软件和I/O驱动程序的兼容性,将会面临对整个组态(或仿真)软件进行大量修改的问题。
发明内容
为了解决现有组态(或仿真)软件接口类型限制问题,本发明提出一种可扩展的通信结构,可以不用修改软件本身的情况下在新型接口上进行组态(或仿真)操作。
本发明的技术方案为:
一种可扩展的工业组态或仿真软件通信方法,其步骤为:
1)服务器端配置组态或仿真软件,在组态或仿真软件内设置一信号读写模块和一通信代理模块;其中,所述通信代理模块中包括多种外围设备接口的通信代理;
2)服务器端的组态或仿真软件对某一外围设备发出请求时,信号读写模块将该请求封装
后发送给该外围设备的通信代理;
3)该外围设备的通信代理将该请求发送给该外围设备,并将该外围设备针对该请求的返回结果发送给信号读写模块;
4)信号读写模块对返回结果进行解析,将解析得到的信号名称及信号值反馈给组态或仿真软件。
进一步的,组态或仿真软件发出的请求包括读请求和写请求。
进一步的,所述读请求的数据结构包括:命令行字段,数字信号个数字段,信号读请求周期,模拟信号个数字段,数字信号序号字段,模拟信号序号字段。
进一步的,针对所述读请求的返回结果信息包括:响应码,发送给组态或仿真软件的数字信号个数,发送给组态或仿真的模拟信号个数,每一数字信号在数字信号中的序号及信号值,每一模拟信号在模拟信号中的序号及信号值。
进一步的,所述写请求的数据结构包括:命令行字段,数字信号个数字段,模拟信号个数字段,数字信号序号及具体值字段,模拟信号序号及具体值字段。
进一步的,针对所述写请求的返回结果信息包括:响应码。
进一步的,组态或仿真软件发出的请求还包括暂停请求和退出请求;所述退出请求的数据结构包括:命令行字段,充请求头部字段,多出头部字段;所述暂停请求的数据结构包括:命令行字段,充请求头部字段,多出头部字段。
进一步的,组态或仿真软件发出的请求还包括配置文档查找请求,该请求的数据结构包括:命令行字段,项目路径字符串字节数字段,填充写请求头部字段,项目路径字符串字段。
进一步的,所述组态或仿真软件与所述信号读写模块之间通过进程间通信方式或线程间通信方式进行通信。
进一步的,所述外围设备包括:Excel文档、PLCSim、OPCServer;所述通信代理包括:Excel通信代理、PLCSim通信代理、Ethernet通信代理、OPCServer通信代理。
本文提出的通信结构基于代理模式进行设计,主要思想是在服务器端配置组态(或仿真)软件,组态(或仿真)软件内包含信号读写模块,信号读写模块将组态(或仿真)软件对设备信号的读写请求封装(封装形式详见“具体实施方式”),具体实现方式即使用编程语言(如C++等)按照“具体实施方式”中表格规定的信息格式,将特定字节数和每位字节值封装为一段内存,通过进程间通信(如使用命名管道等)传递给特定的通信代理(通信代理的解释详见下段);通信代理返回结果,信号读写模块对结果进行解析,解析方式是按照“具体实施方式”中表格规定的信息格式,对通信代理返回结果按照每位字节进行解析,得到信号名称及信号值,提供给组态(或仿真)软件使用。
如图2所示:组态(或仿真)软件与设备进行信息交互时,根据不同设备会选择不同的通信代理,组态(或仿真)软件向通信代理发出与设备进行信息交互的请求,然后由通信代理与特定设备进行通信,最后由代理将请求结果返回给组态(或仿真)软件。每种设备对应各自的通信代理,如读写Excel文件、PLCSim、OPCServer等都对应特定代理,组态(或仿真)软件需要与特定设备进行信息交互时,组态(或仿真)软件会激活相应的通信代理,此通信代理会接受组态(或仿真)软件对特定设备的读写请求,这个读写请求具体是由组态(或仿真)软件读写模块对请求消息封装后发出的,然后通信代理将此读写请求传递到特定设备,最后通信代理将该设备的反馈结果回传到组态(或仿真)软件。Excel文档或仿真器也可以看做是外接设备,Excel文档可以接受组态(或仿真)软件的读写请求,这些信息交互请求由Excel文档通信代理来传递,特定的通信代理会识别特定的设备。
图2中左边部分为组态(或仿真)软件,左边部分下部为信号读写模块;图2中间部分为各种特定通信代理,列举了Excel、PLCSim、Ethernet、OPCServer通信代理;图2右边部分为各种特定设备,列举了Excel文件、PLCSim、OPC设备。
在该结构中,位于中间的特定的通信代理将组态(或仿真)软件对特定设备的信号读写请求重新封装并转发至特定的外围设备。新的通信过程将分两个阶段进行。
■通信过程01
组态(或仿真)软件内置的信号读写模块通信过程。组态(或仿真)软件向通信代理传递对设备的读写请求,该请求有统一信号组织结构,详见“具体实施方式”中“11)软件向通信进程发起Read请求(RD)”和“13)软件向通信进程发起Write请求(WT)”;通行代理将反馈结果回传到组态(或仿真)软件,该回传信息有统一信号组织结构,详见“具体实施方式”中“12)通信进程对Read请求的响应”和“14)通信进程对Write请求的响应”。本通信过程可以使用进程间通信(IPC),如:管道,Socket方式。也可以采用线程间通信或者其他类似通信方式。
■通信过程02
特定通信代理与对应的外界设备进行交互的过程,是外置的且针对特定交互对象开发设计的通信软件。如GW Excel可以读写Excel文档;GW PLCSim可以与PLCSim仿真器进行通信;GW Ethernet可以与支持TCP/IP的以太网设备进行通信等等。特定通信代理被组态(或仿真)软件激活时,该通信代理会接受组态(或仿真)软件对特定设备的读写请求,同时将该请求传递到特定设备。
软件的“信号读写模块”提供统一的信号操作接口;“通信过程-01”使用自定义或者公开的通信协议进行通信;“统一信号组织结构”提供一种或几种数据结构对信号进行存储。
需要特别说明的是,如果特定通信方式存在两个及以上的通信代理(如C/S结构),该结构同样可以支持扩展,只需在通信代理链的最左端提供通信过程01支持即可。
与现有技术相比,本发明的有益效果为:
本发明提出的通信方法将增强工业组态(或仿真)软件通信部分的扩展性,减少开发人员的开发时间。同时也方便用户在内置通信接口之外自行开发特定的通信接口。
附图说明
图1、常见的内置通信接口;
(a)为常见组态软件所支持的设备类型,(b)为常见组态软件所支持的接口类型,
图2、可扩展通信结构;
图3、本发明方法流程图。
具体实施方式
1)本发明的工作流程如图3所示
2)“通信过程-01”涉及的消息格式
11)组态(或仿真)软件向通信代理发起Read请求(RD)
Read请求只发送一次,处理端需要根据指定的响应周期循环响应,直到收到下一个Read请求,然后继续重复上述过程。
BigEndian指高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。
表1、Read请求(RD)的数据结构
注:该请求在读信号连接通道上进行,此通道在组态(或仿真)软件激活通信代理时建立,即为组态(或仿真)软件与通信代理的通信通道,本通信过程可以使用进程间通信(IPC),如:管道,Socket方式。也可以采用线程间通信或者其他类似通信方式。
12)通信代理对Read请求的响应
表2、Read请求的响应数据结构
注:该响应在读信号连接通道上进行。此通道在组态(或仿真)软件激活通信代理时建立,即为组态(或仿真)软件与通信代理的通信通道,本通信过程可以使用进程间通信(IPC),如:管道,Socket方式。也可以采用线程间通信或者其他类似通信方式。
13)组态(或仿真)软件向通信代理发起Write请求(WT),与Read响应消息格式类似。
表3、Write请求(WT)的数据结构
注:该请求在写信号连接通道上进行。此通道在组态(或仿真)软件激活通信代理时建立,即为组态(或仿真)软件与通信代理的通信通道,本通信过程可以使用进程间通信(IPC),如:管道,Socket方式。也可以采用线程间通信或者其他类似通信方式。
14)通信代理对Write请求的响应
表4、Write请求的响应数据结构
注:该响应在写信号连接通道上进行。
15)组态(或仿真)软件向通信代理发起Pause请求(PA)
表5、Pause请求(PA)的数据结构
注:该请求在读信号连接和写信号连接通道上分别进行。此通道在组态(或仿真)软件激活通信代理时建立,即为组态(或仿真)软件与通信代理的通信通道,本通信过程可以使用进程间通信(IPC),如:管道,Socket方式。也可以采用线程间通信或者其他类似通信方式。
16)组态(或仿真)软件向通信代理发起Exit请求(EX)
表6、Exit请求(EX)的数据结构
注:该请求在读信号连接和写信号连接通道上分别进行。此通道在组态(或仿真)软件激活通信代理时建立,即为组态(或仿真)软件与通信代理的通信通道,本通信过程可以使用进程间通信(IPC),如:管道,Socket方式。也可以采用线程间通信或者其他类似通信方式。
17)组态(或仿真)软件将项目路径告知通信代理(PP)
此消息(此消息需要通过信号读写模块封装发送)用于通信进程查找配置文档
表7、组态(或仿真)软件将项目路径告知通信代理(PP)的数据结构
注:该消息发送使用写信号连接的通道进行(通信进程的信号读写操作使用同一份配置文档)。此通道在组态(或仿真)软件激活通信代理时建立,即为组态(或仿真)软件与通信代理的通信通道,本通信过程可以使用进程间通信(IPC),如:管道,Socket方式。也可以采用线程间通信或者其他类似通信方式。
3)“信号读写模块”信号读写软接口设计示例
3)“统一信号组织结构”操作软接口示例
Claims (10)
1.一种可扩展的工业组态或仿真软件通信方法,其步骤为:
1)服务器端配置组态或仿真软件,在组态或仿真软件内设置一信号读写模块和一通信代理模块;其中,所述通信代理模块中包括多种外围设备接口的通信代理;
2)服务器端的组态或仿真软件对某一外围设备发出请求时,信号读写模块将该请求封装后发送给该外围设备的通信代理;
3)该外围设备的通信代理将该请求发送给该外围设备,并将该外围设备针对该请求的返回结果发送给信号读写模块;
4)信号读写模块对返回结果进行解析,将解析得到的信号名称及信号值反馈给组态或仿真软件。
2.如权利要求1所述的方法,其特征在于组态或仿真软件发出的请求包括读请求和写请求。
3.如权利要求2所述的方法,其特征在于所述读请求的数据结构包括:命令行字段,数字信号个数字段,信号读请求周期,模拟信号个数字段,数字信号序号字段,模拟信号序号字段。
4.如权利要求3所述的方法,其特征在于针对所述读请求的返回结果信息包括:响应码,发送给组态或仿真软件的数字信号个数,发送给组态或仿真的模拟信号个数,每一数字信号在数字信号中的序号及信号值,每一模拟信号在模拟信号中的序号及信号值。
5.如权利要求2所述的方法,其特征在于所述写请求的数据结构包括:命令行字段,数字信号个数字段,模拟信号个数字段,数字信号序号及具体值字段,模拟信号序号及具体值字段。
6.如权利要求5所述的方法,其特征在于针对所述写请求的返回结果信息包括:响应码。
7.如权利要求2所述的方法,其特征在于组态或仿真软件发出的请求还包括暂停请求和退出请求;所述退出请求的数据结构包括:命令行字段,充请求头部字段,多出头部字段;所述暂停请求的数据结构包括:命令行字段,充请求头部字段,多出头部字段。
8.如权利要求1所述的方法,其特征在于组态或仿真软件发出的请求还包括配置文档查找请求,该请求的数据结构包括:命令行字段,项目路径字符串字节数字段,填充写请求头部字段,项目路径字符串字段。
9.如权利要求1所述的方法,其特征在于所述组态或仿真软件与所述信号读写模块之间通过进程间通信方式或线程间通信方式进行通信。
10.如权利要求1所述的方法,其特征在于所述外围设备包括:Excel文档、PLCSim、OPCServer;
所述通信代理包括:Excel通信代理、PLCSim通信代理、Ethernet通信代理、OPCServer通信代理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210262972.9A CN103546527B (zh) | 2012-07-16 | 2012-07-26 | 一种可扩展的工业组态或仿真软件通信方法 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210245873 | 2012-07-16 | ||
CN201210245873X | 2012-07-16 | ||
CN201210245873.X | 2012-07-16 | ||
CN201210262972.9A CN103546527B (zh) | 2012-07-16 | 2012-07-26 | 一种可扩展的工业组态或仿真软件通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103546527A true CN103546527A (zh) | 2014-01-29 |
CN103546527B CN103546527B (zh) | 2016-10-26 |
Family
ID=49969570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210262972.9A Active CN103546527B (zh) | 2012-07-16 | 2012-07-26 | 一种可扩展的工业组态或仿真软件通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103546527B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138390A (zh) * | 2015-07-31 | 2015-12-09 | 中国人民解放军海军工程大学 | 应用在过程监测控制系统与仿真支撑系统间的实时数据通讯系统及方法 |
CN105137955A (zh) * | 2015-10-10 | 2015-12-09 | 浙江中控技术股份有限公司 | 一种多控制子系统位号组态信息的访问方法及系统 |
CN108763078A (zh) * | 2018-05-24 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种支持多语言交互测试的方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010011236A1 (en) * | 2008-07-22 | 2010-01-28 | Qualcomm Incorporated | Method and apparatus for animation profiling |
CN101645813A (zh) * | 2009-09-07 | 2010-02-10 | 中国电子科技集团公司第三十研究所 | 分布式半实物网络仿真系统及其半实物接口控制方法 |
-
2012
- 2012-07-26 CN CN201210262972.9A patent/CN103546527B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010011236A1 (en) * | 2008-07-22 | 2010-01-28 | Qualcomm Incorporated | Method and apparatus for animation profiling |
CN101645813A (zh) * | 2009-09-07 | 2010-02-10 | 中国电子科技集团公司第三十研究所 | 分布式半实物网络仿真系统及其半实物接口控制方法 |
Non-Patent Citations (1)
Title |
---|
彭银球: "《多平台间网络通信的实现方案》", 《计算机工程与设计》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138390A (zh) * | 2015-07-31 | 2015-12-09 | 中国人民解放军海军工程大学 | 应用在过程监测控制系统与仿真支撑系统间的实时数据通讯系统及方法 |
CN105138390B (zh) * | 2015-07-31 | 2018-11-30 | 中国人民解放军海军工程大学 | 应用在过程监测控制系统与仿真支撑系统间的实时数据通讯系统及方法 |
CN105137955A (zh) * | 2015-10-10 | 2015-12-09 | 浙江中控技术股份有限公司 | 一种多控制子系统位号组态信息的访问方法及系统 |
CN105137955B (zh) * | 2015-10-10 | 2017-10-10 | 浙江中控技术股份有限公司 | 一种多控制子系统位号组态信息的访问方法及系统 |
CN108763078A (zh) * | 2018-05-24 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种支持多语言交互测试的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103546527B (zh) | 2016-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103178996B (zh) | 分布式包交换芯片模型验证系统及验证方法 | |
US10360327B2 (en) | Modifying a virtual processor model for hardware/software simulation | |
CN107967316A (zh) | 一种数据同步方法、设备及计算机可读存储介质 | |
CN110088737A (zh) | 将并发程序转换为可部署在基于fpga的云基础设施上的硬件的综合路径 | |
CN110187902A (zh) | 基于spring boot的项目改造方法、装置、设备及存储介质 | |
CN100433013C (zh) | 一种通过树型结构展现数据的方法及系统 | |
CN106371825A (zh) | 一种移动端应用界面表单动态生成方法及装置 | |
CN104267972B (zh) | 浏览器本地接口扩展方法及装置 | |
CN106713357A (zh) | 一种通用的网络协议解析方法 | |
CN107704245A (zh) | 协议接入方法、装置及计算机可读存储介质 | |
CN103136107A (zh) | 一种嵌入式程序动态分配内存的变量调试方法 | |
JP2009524138A (ja) | モデル化およびシミュレーション方法 | |
CN109948213A (zh) | 一种基于fmi标准的协同仿真方法及装置 | |
CN103747004A (zh) | 物联网平台通信协议的实现方法 | |
CN106326099B (zh) | 一种用于程序跟踪的方法、装置及电子设备 | |
CN110119282A (zh) | 一种基于通用嵌入式计算机的物联网终端及系统 | |
CN100502309C (zh) | 嵌入式Web网管系统及其交互方法 | |
CN103546527A (zh) | 一种可扩展的工业组态或仿真软件通信方法 | |
CN102736926B (zh) | 一种基于任务模板的升级方法及装置、批量升级系统 | |
US7487227B2 (en) | Scripting engine having a sequencer table and a plurality of secondary tables for network communication software | |
CN109614188A (zh) | 一种页面在线帮助方法、装置、计算机设备及存储介质 | |
CN104102496A (zh) | 一种基于windows平台的银行自助系统跨浏览器插件的开发方法 | |
CN114428702A (zh) | 含有通用接口模块的信息物理测试系统 | |
CN107396196A (zh) | 一种基于浏览器的嵌入式操作方法、电视机及存储装置 | |
CN208589013U (zh) | 一种基于cpu通过jtag方式远程更新fpga的装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |