本发明专利技术公开了基于EdgeX Foundry的Modbus与dnp3的协议转换方法,包括:S1,第一协议数据转换成第二协议数据,在EdgeX Foundry中设置配置文件;第一协议从站模块接收第一协议数据包,并将其解析为应用数据;第一协议从站模块通过EdgeX Foundry下发应用数据;第二协议设备解析并执行第二协议数据包;S2,第二协议数据转换成第一协议数据,在EdgeX Foundry中设置配置文件;第二协议设备发送第二协议数据包至EdgeX Foundry;EdgeX Foundry解析第二协议数据包,得到格式数据并发送给第一协议从站模块;第一协议从站模块解析格式数据并组第一协议数据包。
Protocol conversion between MODBUS and DNP3 based on edgex foundry
【技术实现步骤摘要】
基于EdgeXFoundry的Modbus与dnp3的协议转换方法
本专利技术涉及协议解析转换
,尤其是涉及了基于EdgeXFoundry的Modbus与dnp3的协议转换方法。
技术介绍
目前,工业协议众多,而现场常有的PLC(可编程逻辑控制器)、无线收发器、测量仪表等设备可能仅支持一种(如仅支持Modbus)或若干种工业协议。若设备增加支持的协议,复杂度和成本都将大幅增加。若能简单与另一种工业协议(如dnp3)转换,将大大扩大设备(或模拟器)的应用场景。EdgeXFoundry是一个中立于供应商的开源项目,为物联网边缘计算构建了一个通用的开放结构。在开源项目中已实现Modbus客户端的驱动,只要修改相应的配置文档便可实现与Modbus设备(或模拟器)通信。
技术实现思路
为解决现有技术的不足,实现工业协议之间转换的目的,本专利技术采用如下的技术方案:基于EdgeXFoundry的Modbus与dnp3的协议转换方法,包括如下步骤:S1,第一协议数据转换成第二协议数据,包括如下步骤:S11,EdgeXFoundry中设置配置文件,使得EdgexFoundry可与第二协议设备通信;S12,第一协议从站模块从第一协议主站接收第一协议数据包,并将其解析为应用数据;S13,第一协议从站模块调用EdgeXFoundry命令下发应用数据,EdgeXFoundry根据第二协议,为应用数据组第二协议数据包并发送给第二协议设备;S14,第二协议设备解析并执行从EdgeXFoundry接收到的第二协议数据包;S2,第二协议数据转换成第一协议数据,包括如下步骤:S21,EdgeXFoundry中设置配置文件,使得EdgexFoundry可与第二协议设备通信;S22,第二协议设备发送第二协议数据包至EdgeXFoundry;S23,EdgeXFoundry解析从第二协议设备接收到的第二协议数据包,得到格式数据并发送给第一协议从站模块;S24,第一协议从站模块解析从EdgeXFoundry接收到的格式数据,并提取格式数据中的字段数据作为应用数据,为应用数据组第一协议数据包发送给第一协议主站。现有的设备支持的协议有限,利用EdgeXFoundry实现的设备驱动,在原协议栈的基础上应用层实现命令的调用和解析格式数据,达到协议之间的解耦,无需更改原设备,降低了工作量和开发成本,扩大设备的应用场景。所述EdgeXFoundry中设置第二协议设备配置文件,定义第二协议设备的值和操作方法,EdgeXFoundry通过调用命令对值和操作方法进行读写操作,EdgeXFoundry根据配置文件接收并解析第二协议数据包,返回格式数据,实现EdgexFoundry与第二协议设备的通信。所述命令是curl命令,所述读写操作是EdgeXFoundry提供PUT和GET接口,通过curl命令分别调用PUT接口实现参数的下发,调用GET接口实现读取命令的下发,及解析第二协议数据包并得到格式数据,curl命令可带参数,可以将解析出来的应用数据作为参数放入curl命令,在执行curl命令调用PUT接口时即可将应用数据下发。所述格式数据是JSON格式数据。本专利技术的优势和有益效果在于:本申请的协议转换方法,不需要将两种协议在设备(或模拟器)上同时实现,且两种协议间解耦,不需要更改原设备(或模拟器等),通过应用层实现EdgexFoundry中设备(或模拟器等)协议相关命令的调用即可转换成另一协议,通过解析EdgexFoundry返回的数据作为另一协议相应的应用数据来源即可转换成设备(或模拟器等)的协议,而EdgexFoundry已实现设备(或模拟器等)的相关驱动,只需简单配置使得EdgexFoundry可与设备(或模拟器等)通信即可,工作量较小,增加了设备(或模拟器等)支持的协议,扩大了设备(或模拟器等)的应用场景,增强了设备(或模拟器等)的灵活性,降低了设备(或模拟器等)的使用的复杂度。附图说明图1是本专利技术中dnp3协议到Modbus协议的转换流程图。图2是本专利技术中Modbus协议到dnp3协议的转换流程图。具体实施方式以下结合附图对本专利技术的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本专利技术,并不用于限制本专利技术。基于EdgeXFoundry的Modbus与dnp3的协议转换方法,目的在于针对现有的PLC(可编程逻辑控制器)、无线收发器、测量仪表等设备支持Modbus协议而不支持dnp3协议,为扩大这类设备的应用场景,利用EdgeXFoundry实现Modbus与dnp3的协议转换,该方法利用EdgeXFoundry达到Modbus和dnp3解耦、降低开发成本的效果,同时该方法不仅限于Modbus协议和dnp3协议的转换,同样可适用于其他工业协议间的转换。方法涉及支持Modbus协议的设备(或模拟器等)、dnp3从站协议模块及EdgeXFoundry,dnp3从站协议模块通过dnp3协议与外部dnp3主站通信,dnp3从站协议模块通过EdgeXFoundry与支持Modbus协议的设备(或模拟器等)通信。其中EdgeXFoundry已实现Modbus客户端驱动,EdgeXFoundry为各个微服务都提供了相应的RESTfulAPI接口供调用,通过这些接口dnp3从站协议模块可以从设备读取数据和控制设备等操作,设置设备配置文件DeviceProfile,定义设备的值和操作方法,这些值和操作方法可以是读取或写入,读取或写入都是通过curl命令,配置后dnp3从站协议模块可通过特定的命令与支持Modbus协议的设备(或模拟器等)通信。配置文件中定义数据类型,数值是否可读写,数值是否要放大,最大、最小和默认的取值范围,返回数值的形式,读和写操作的说明,第二协议设备的IP地址、端口等信息。如图1、2所示,转换过程如下:dnp3从站协议模块接收到外部dnp3主站的数据包时,解析数据包取出应用数据,dnp3从站协议模块根据该应用数据调用EdgeXFoundry命令,例如curl命令,应用数据包括要下发的参数、读取数据的命令等,EdgexFoundry为此提供PUT和GET接口,都是通过curl命令调用的,curl命令中可带下发参数,curl命令调用PUT接口,将参数下发,或者调用GET接口,下发读取Modbus协议的设备(或模拟器等)采集数据的命令,EdgexFoundry平台内部执行该条curl命令时会根据Modbus协议组成相应的Modbus数据包发送至支持Modbus协议的设备(或模拟器等),因为EdgexFoundry平台已实现Modbus客户端驱动,由此实现从dnp3到Modbus的协议转换;当支持Modbus协议的设备(或模拟器等)发送Modbus数据时,EdgexFoundry根据前期配置好的配置文件自动接收并解析Modbus数据包成JS本文档来自技高网...
【技术保护点】
1.基于EdgeX Foundry的Modbus与dnp3的协议转换方法,其特征在于包括如下步骤:/nS1,第一协议数据转换成第二协议数据,包括如下步骤:/nS11,EdgeX Foundry中设置配置文件,使得Edgex Foundry可与第二协议设备通信;/nS12,第一协议从站模块从第一协议主站接收第一协议数据包,并将其解析为应用数据;/nS13,第一协议从站模块调用EdgeX Foundry命令下发应用数据,EdgeX Foundry根据第二协议,为应用数据组第二协议数据包并发送给第二协议设备;/nS14,第二协议设备解析并执行从EdgeX Foundry接收到的第二协议数据包;/nS2,第二协议数据转换成第一协议数据,包括如下步骤:/nS21,EdgeX Foundry中设置配置文件,使得Edgex Foundry可与第二协议设备通信;/nS22,第二协议设备发送第二协议数据包至EdgeX Foundry;/nS23,EdgeX Foundry解析从第二协议设备接收到的第二协议数据包,得到格式数据并发送给第一协议从站模块;/nS24,第一协议从站模块解析从EdgeX Foundry接收到的格式数据,并提取格式数据中的字段数据作为应用数据,为应用数据组第一协议数据包发送给第一协议主站。/n...
【技术特征摘要】
1.基于EdgeXFoundry的Modbus与dnp3的协议转换方法,其特征在于包括如下步骤:
S1,第一协议数据转换成第二协议数据,包括如下步骤:
S11,EdgeXFoundry中设置配置文件,使得EdgexFoundry可与第二协议设备通信;
S12,第一协议从站模块从第一协议主站接收第一协议数据包,并将其解析为应用数据;
S13,第一协议从站模块调用EdgeXFoundry命令下发应用数据,EdgeXFoundry根据第二协议,为应用数据组第二协议数据包并发送给第二协议设备;
S14,第二协议设备解析并执行从EdgeXFoundry接收到的第二协议数据包;
S2,第二协议数据转换成第一协议数据,包括如下步骤:
S21,EdgeXFoundry中设置配置文件,使得EdgexFoundry可与第二协议设备通信;
S22,第二协议设备发送第二协议数据包至EdgeXFoundry;
S23,EdgeXFoundry解析从第二协议设备接收到的第二协议数据包,得到格式数据并发送给第一协议从站模块;
S24,第一协议从站模块解析从Edge...
【专利技术属性】
技术研发人员:杨枫敏,
申请(专利权)人:之江实验室,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。