CN111935196B - 基于EdgeX Foundry的Modbus与dnp3的协议转换方法 - Google Patents
基于EdgeX Foundry的Modbus与dnp3的协议转换方法 Download PDFInfo
- Publication number
- CN111935196B CN111935196B CN202011089305.6A CN202011089305A CN111935196B CN 111935196 B CN111935196 B CN 111935196B CN 202011089305 A CN202011089305 A CN 202011089305A CN 111935196 B CN111935196 B CN 111935196B
- Authority
- CN
- China
- Prior art keywords
- protocol
- modbus
- data
- dnp3
- edgex
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了基于EdgeX Foundry的Modbus与dnp3的协议转换方法,包括:S1,第一协议数据转换成第二协议数据,在EdgeX Foundry中设置配置文件;第一协议从站模块接收第一协议数据包,并将其解析为应用数据;第一协议从站模块通过EdgeX Foundry下发应用数据;第二协议设备解析并执行第二协议数据包;S2,第二协议数据转换成第一协议数据,在EdgeX Foundry中设置配置文件;第二协议设备发送第二协议数据包至EdgeX Foundry;EdgeX Foundry解析第二协议数据包,得到格式数据并发送给第一协议从站模块;第一协议从站模块解析格式数据并组第一协议数据包。
Description
技术领域
本发明涉及协议解析转换技术领域,尤其是涉及了基于EdgeX Foundry的Modbus与dnp3的协议转换方法。
背景技术
目前,工业协议众多,而现场常有的PLC(可编程逻辑控制器)、无线收发器、测量仪表等设备可能仅支持一种(如仅支持Modbus)或若干种工业协议。若设备增加支持的协议,复杂度和成本都将大幅增加。若能简单与另一种工业协议(如dnp3)转换,将大大扩大设备(或模拟器)的应用场景。
EdgeX Foundry是一个中立于供应商的开源项目,为物联网边缘计算构建了一个通用的开放结构。在开源项目中已实现Modbus客户端的驱动,只要修改相应的配置文档便可实现与Modbus设备(或模拟器)通信。
发明内容
为解决现有技术的不足,实现工业协议之间转换的目的,本发明采用如下的技术方案:
基于EdgeX Foundry的Modbus与dnp3的协议转换方法,包括如下步骤:
S1,第一协议数据转换成第二协议数据,包括如下步骤:
S11,EdgeX Foundry中设置配置文件,使得Edgex Foundry可与第二协议设备通信;
S12,第一协议从站模块从第一协议主站接收第一协议数据包,并将其解析为应用数据;
S13,第一协议从站模块调用EdgeX Foundry命令下发应用数据,EdgeX Foundry根据第二协议,为应用数据组第二协议数据包并发送给第二协议设备;
S14,第二协议设备解析并执行从EdgeX Foundry接收到的第二协议数据包;
S2,第二协议数据转换成第一协议数据,包括如下步骤:
S21,EdgeX Foundry中设置配置文件,使得Edgex Foundry可与第二协议设备通信;
S22,第二协议设备发送第二协议数据包至EdgeX Foundry;
S23,EdgeX Foundry解析从第二协议设备接收到的第二协议数据包,得到格式数据并发送给第一协议从站模块;
S24,第一协议从站模块解析从EdgeX Foundry接收到的格式数据,并提取格式数据中的字段数据作为应用数据,为应用数据组第一协议数据包发送给第一协议主站。
现有的设备支持的协议有限,利用EdgeX Foundry实现的设备驱动,在原协议栈的基础上应用层实现命令的调用和解析格式数据,达到协议之间的解耦,无需更改原设备,降低了工作量和开发成本,扩大设备的应用场景。
所述EdgeX Foundry中设置第二协议设备配置文件,定义第二协议设备的值和操作方法,EdgeX Foundry通过调用命令对值和操作方法进行读写操作,EdgeX Foundry根据配置文件接收并解析第二协议数据包,返回格式数据,实现Edgex Foundry与第二协议设备的通信。
所述命令是curl命令,所述读写操作是EdgeX Foundry提供PUT和GET接口,通过curl命令分别调用PUT接口实现参数的下发,调用GET接口实现读取命令的下发,及解析第二协议数据包并得到格式数据,curl命令可带参数,可以将解析出来的应用数据作为参数放入curl命令,在执行curl命令调用PUT接口时即可将应用数据下发。
所述格式数据是JSON格式数据。
本发明的优势和有益效果在于:
本申请的协议转换方法,不需要将两种协议在设备(或模拟器)上同时实现,且两种协议间解耦,不需要更改原设备(或模拟器等),通过应用层实现Edgex Foundry中设备(或模拟器等)协议相关命令的调用即可转换成另一协议,通过解析Edgex Foundry返回的数据作为另一协议相应的应用数据来源即可转换成设备(或模拟器等)的协议,而EdgexFoundry已实现设备(或模拟器等)的相关驱动,只需简单配置使得Edgex Foundry可与设备(或模拟器等)通信即可,工作量较小,增加了设备(或模拟器等)支持的协议,扩大了设备(或模拟器等)的应用场景,增强了设备(或模拟器等)的灵活性,降低了设备(或模拟器等)的使用的复杂度。
附图说明
图1是本发明中dnp3协议到Modbus协议的转换流程图。
图2是本发明中Modbus协议到dnp3协议的转换流程图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
基于EdgeX Foundry的Modbus与dnp3的协议转换方法,目的在于针对现有的PLC(可编程逻辑控制器)、无线收发器、测量仪表等设备支持Modbus协议而不支持dnp3协议,为扩大这类设备的应用场景,利用EdgeX Foundry实现Modbus与dnp3的协议转换,该方法利用EdgeX Foundry达到Modbus和dnp3解耦、降低开发成本的效果,同时该方法不仅限于Modbus协议和dnp3协议的转换,同样可适用于其他工业协议间的转换。
方法涉及支持Modbus协议的设备(或模拟器等)、dnp3从站协议模块及EdgeXFoundry,dnp3从站协议模块通过dnp3协议与外部dnp3主站通信,dnp3从站协议模块通过EdgeX Foundry与支持Modbus协议的设备(或模拟器等)通信。其中EdgeX Foundry已实现Modbus客户端驱动,EdgeX Foundry为各个微服务都提供了相应的RESTful API接口供调用,通过这些接口dnp3从站协议模块可以从设备读取数据和控制设备等操作,设置设备配置文件DeviceProfile,定义设备的值和操作方法,这些值和操作方法可以是读取或写入,读取或写入都是通过curl命令,配置后dnp3从站协议模块可通过特定的命令与支持Modbus协议的设备(或模拟器等)通信。配置文件中定义数据类型,数值是否可读写,数值是否要放大,最大、最小和默认的取值范围,返回数值的形式,读和写操作的说明,第二协议设备的IP地址、端口等信息。
如图1、2所示,转换过程如下:dnp3从站协议模块接收到外部dnp3主站的数据包时,解析数据包取出应用数据,dnp3从站协议模块根据该应用数据调用EdgeX Foundry命令,例如curl命令,应用数据包括要下发的参数、读取数据的命令等,Edgex Foundry为此提供PUT和GET接口,都是通过curl命令调用的,curl命令中可带下发参数,curl命令调用PUT接口,将参数下发,或者调用GET接口,下发读取Modbus协议的设备(或模拟器等)采集数据的命令,Edgex Foundry平台内部执行该条curl命令时会根据Modbus协议组成相应的Modbus数据包发送至支持Modbus协议的设备(或模拟器等),因为Edgex Foundry平台已实现Modbus客户端驱动,由此实现从dnp3到Modbus的协议转换;当支持Modbus协议的设备(或模拟器等)发送Modbus数据时,Edgex Foundry根据前期配置好的配置文件自动接收并解析Modbus数据包成JSON格式的数据返回,dnp3从站协议模块解析JSON格式数据,取出所需的字段后,将其作为dnp3应用数据源,组相应的dnp3数据包发给外部dnp3主站通信,由此实现从Modbus到dnp3的协议转换。
从以上转换方法可看出Modbus设备(或模拟器等)与dnp3协议模块相互独立,不需要更改原设备(或模拟器等),dnp3协议模块在原dnp3协议栈的基础上应用层实现EdgexFoundry中Modbus相关命令的调用以及解析Edgex Foundry返回的JSON数据作为dnp3相应的应用数据来源即可,而Edgex Foundry已实现Modbus客户端相关的驱动,只要简单配置使得Edgex Foundry可与Modbus设备(或模拟器等)通信即可,工作量较小。
同理,可将上述两种协议换成其他工业协议,如OPCUA等。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。
Claims (3)
1.基于EdgeX Foundry的Modbus与dnp3的协议转换方法,其特征在于包括如下步骤:
S1,dnp3协议数据转换成Modbus协议数据,包括如下步骤:
S11,EdgeX Foundry中设置配置文件,使得Edgex Foundry可与Modbus协议设备通信;
S12,dnp3协议从站模块从dnp3协议主站接收dnp3协议数据包,并将其解析为应用数据;
S13,dnp3协议从站模块调用EdgeX Foundry命令下发应用数据,EdgeX Foundry根据Modbus协议,为应用数据,组Modbus协议数据包,并发送给Modbus协议设备;
S14,Modbus协议设备解析并执行从EdgeX Foundry接收到的Modbus协议数据包;
S2,Modbus协议数据转换成dnp3协议数据,包括如下步骤:
S21,EdgeX Foundry中设置配置文件,使得Edgex Foundry可与Modbus协议设备通信;
S22,Modbus协议设备发送Modbus协议数据包至EdgeX Foundry;
S23,EdgeX Foundry解析从Modbus协议设备接收到的Modbus协议数据包,得到格式数据并发送给dnp3协议从站模块;
S24,dnp3协议从站模块解析从EdgeX Foundry接收到的格式数据,并提取格式数据中的字段数据作为应用数据,为应用数据,组dnp3协议数据包,发送给dnp3协议主站;
所述配置文件具体为定义Modbus协议设备的值和操作方法,EdgeX Foundry通过调用命令对值和操作方法进行读写操作,所述命令是curl命令,所述读写操作是EdgeX Foundry提供PUT和GET接口,通过curl命令调用PUT接口实现应用数据的下发,调用GET接口实现读取命令的下发,及解析Modbus协议数据包并得到格式数据,EdgeX Foundry平台内部执行curl命令时会根据Modbus协议组成相应的Modbus协议数据包发送至支持Modbus协议的 设备,因为EdgeX Foundry平台已实现Modbus客户端驱动,由此实现从dnp3到Modbus的协议转换。
2.如权利要求1所述的基于EdgeX Foundry的Modbus与dnp3的协议转换方法,其特征在于EdgeX Foundry根据配置文件接收并解析Modbus协议数据包,返回格式数据,实现EdgexFoundry与Modbus协议设备的通信。
3.如权利要求1所述的基于EdgeX Foundry的Modbus与dnp3的协议转换方法,其特征在于所述格式数据是JSON格式数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011089305.6A CN111935196B (zh) | 2020-10-13 | 2020-10-13 | 基于EdgeX Foundry的Modbus与dnp3的协议转换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011089305.6A CN111935196B (zh) | 2020-10-13 | 2020-10-13 | 基于EdgeX Foundry的Modbus与dnp3的协议转换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111935196A CN111935196A (zh) | 2020-11-13 |
CN111935196B true CN111935196B (zh) | 2021-03-23 |
Family
ID=73334431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011089305.6A Active CN111935196B (zh) | 2020-10-13 | 2020-10-13 | 基于EdgeX Foundry的Modbus与dnp3的协议转换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111935196B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113242261B (zh) * | 2021-06-10 | 2023-04-07 | Oppo广东移动通信有限公司 | 共享数据网络的方法、装置、电子设备及存储介质 |
CN113422765B (zh) * | 2021-06-18 | 2023-04-07 | 杭州深渡科技有限公司 | 一种物联网设备的数据传输方法、装置及物联网设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106789258A (zh) * | 2016-12-24 | 2017-05-31 | 上海新时达电气股份有限公司 | 工业以太网的配置方法 |
CN111491001A (zh) * | 2019-01-28 | 2020-08-04 | 李成林 | 一种支持多类型设备接入物联网的网关系统及方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100579114C (zh) * | 2005-06-29 | 2010-01-06 | 上海大学 | 一种Modbus与DeviceNet间的协议转换方法 |
CN102769630A (zh) * | 2012-08-01 | 2012-11-07 | 烽火通信科技股份有限公司 | 一种终端管理中CWMP与UPnP协议的转换方法 |
CN104796415B (zh) * | 2015-04-07 | 2018-10-23 | 上海大学 | 一种rs485总线上的多协议与tcp网络协议之间的转换方法 |
US20180007115A1 (en) * | 2016-07-01 | 2018-01-04 | Cisco Technology, Inc. | Fog enabled telemetry embedded in real time multimedia applications |
-
2020
- 2020-10-13 CN CN202011089305.6A patent/CN111935196B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106789258A (zh) * | 2016-12-24 | 2017-05-31 | 上海新时达电气股份有限公司 | 工业以太网的配置方法 |
CN111491001A (zh) * | 2019-01-28 | 2020-08-04 | 李成林 | 一种支持多类型设备接入物联网的网关系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111935196A (zh) | 2020-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111935196B (zh) | 基于EdgeX Foundry的Modbus与dnp3的协议转换方法 | |
CN101770442B (zh) | 具有多个外设接口的数据交互系统和方法 | |
CN102802139A (zh) | 一种物联网网关数据适配系统及方法 | |
US9503309B2 (en) | Ethernet communication system and method based on MMC/SD interface | |
CN212486527U (zh) | 一种基于modbus协议的从站转换装置 | |
CN101808132A (zh) | 一种can总线系统中的应用层通讯方法 | |
CN111510363A (zh) | 基于modbus协议的从站转换装置及其控制方法 | |
KR100321822B1 (ko) | 이더넷용 티씨피/아이피 모뎀 | |
US20120151017A1 (en) | Dynamic Host Profiles for Option Modules | |
CN109600420A (zh) | 一种基于树莓派技术实现在线远程控制的方法及系统 | |
CN113438251A (zh) | 协议转换方法、装置及系统 | |
CN103149909A (zh) | 基于fpga的can仿真节点系统 | |
CN116781797A (zh) | 一种协议报文的转换方法及设备 | |
CN116074397A (zh) | 一种数据共享系统 | |
CN112527453B (zh) | 虚拟化信息仿真系统、方法及计算机可读存储介质 | |
CN113609052A (zh) | 基于fpga和微处理器的芯片模拟系统及实现方法 | |
CN104168518B (zh) | 对讲设备控制方法、控制装置及对讲系统 | |
CN106792746B (zh) | 一种基于镜像设备的ZigBee网络系统 | |
CN116647515B (zh) | 一种串口通信转发功能的边缘计算网关通信方法 | |
CN104133447A (zh) | 一种工程机械控制系统及工程机械 | |
CN114285913B (zh) | 一种跨操作系统的数据传输方法 | |
CN114697293B (zh) | 一种数据传输方法、下位机和控制器 | |
CN112148658B (zh) | 一种基于xTEDS的即插即用SpaceWrie通信方法 | |
CN113031507B (zh) | 基于opc ua的现场总线中心服务器高效传输方法 | |
CN221575408U (zh) | 一种通讯管理服务系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |