CN111935196B - 基于EdgeX Foundry的Modbus与dnp3的协议转换方法 - Google Patents

基于EdgeX Foundry的Modbus与dnp3的协议转换方法 Download PDF

Info

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
Application number
CN202011089305.6A
Other languages
English (en)
Other versions
CN111935196A (zh
Inventor
杨枫敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Lab
Original Assignee
Zhejiang Lab
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Lab filed Critical Zhejiang Lab
Priority to CN202011089305.6A priority Critical patent/CN111935196B/zh
Publication of CN111935196A publication Critical patent/CN111935196A/zh
Application granted granted Critical
Publication of CN111935196B publication Critical patent/CN111935196B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing 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的协议转换方法
技术领域
本发明涉及协议解析转换技术领域,尤其是涉及了基于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格式数据。
CN202011089305.6A 2020-10-13 2020-10-13 基于EdgeX Foundry的Modbus与dnp3的协议转换方法 Active CN111935196B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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