一种MODBUS/全互联制造网络信息服务适配器及其实现方法与流程

文档序号:12493798阅读:232来源:国知局
一种MODBUS/全互联制造网络信息服务适配器及其实现方法与流程

本发明属于工业测控网络技术领域,涉及一种MODBUS/全互联制造网络信息服务适配器及其实现方法。



背景技术:

传统控制系统通常分层结构较好地满足了工业现场的应用需求,但却无法实现底层现场控制网与互联网的无缝融合,限制了现场层、MES、ERP的一体化信息集成。为此,服务于智能制造的以XMPP为传输协议,以TR069为管理协议的基于IPv6的全互联制造网络备受业界关注。

现场总线是近年来迅速发展起来的一种工业数据总线,其具有简单、可靠、经济实用等一系列突出的优点。而MODBUS工业现场总线协议,它开发免费,可构建各种复杂的监控系统,并方便系统的维护和扩展,可兼容各个厂家的仪器仪表,已被国内外工业控制行业选择共同支持的一种通用的工业标准协议。XML是一种能够自描述的标记语言,可以根据领域需求定义自己的标记语言,提供了与语言和平台无关的数据形式,有效解决了异构系统之间的数据交换问题,有利系统间的融合和衔接,实现数据的共享。

XMPP协议是一种基于IP技术和XML语言的即时信息传输规范。作为一种具有良好实时性和扩展性的应用层协议,XMPP协议已经在互联网中得到了广泛的部署和应用。借助于XMPP协议,不仅能使物联网内部具备一致的实时性应用层信息传输规范,而且能够实现物联网的节点与互联网的设备之间的遵循统一标准的通信,从而有助于实现物到物、人到物的标准化的信息传输目标。

TR069协议是由宽带论坛提出的用户终端设备广域网管理协议。应用CWMP协议对互联网设备进行实时监测和控制,能够减少设备管理和维护人员到设备现场进行的工作,有利于设备的部署和使用,节约了大量人力成本。同时,自动配置服务器还可以为服务供应商提供在网设备所支持的互联网业务,优化了对在网设备管理的过程。

然而采用MODBUS现场协议的设备无法接入基于IP协议的网络,并无法与支持XMPP与TR069协议的管理设备进行通信。IP化是是技术发展的必然选择,满足端到端的通信和管理需求,并且XMPP与TR069能更方便的进行数据传输和管理。所以,发明一种MODBUS/全互联制造网络信息服务适配器十分必要。



技术实现要素:

有鉴于此,本发明的目的是提供一种MODBUS/全互联制造网络信息服务适配器及其实现方法。

本发明的目的之一是通过以下技术方案来实现的,一种MOBUS全互联制造网络信息服务适配器,包括主控制单元、外网接入单元、串口单元和MODBUS协议数据采集单元,所述外网接入单元用于将MODBUS的数据上传至上位机,实现对底层设备的数据采集、运行状态的监控以及和参数的设置;所述主控制单元用于将MODBUS的数据包转换IPv6数据包,并完成系统调度、管理和控制;所述MODBUS协议数据采集单元负责底层设备的采集,以及对设备的管理与数据交互;所述串口单元用于将MODBUS协议数据采集单元采集的设备信号接入主控制单元。

进一步,还包括协议处理模块、XMPP报文构造模块、XMPP报文解析模块、数据通信模块、MODBUS RTU连接模块和TCP/IPv6连接模块;其中协议处理模块里面包含登陆认证功能、读功能、发布/订阅功能;TCP/IPv6连接模块:发送/响应TCP连接的请求/响应,建立或断开与XMPP服务器TCP的连接;MODBUS RTU连接模块,将上层传递下来的XML数据转换为MODBUS数据帧,实现适配器向MODBUS设备发送数据;反之,将收到MODBUS数据帧转换为XML数据解析并传递到上层处理;数据通信模块,完成MODBUS和IPv6与XMPP应用层的转发;XMPP报文解析模块,将接收到的XMPP报文解析并递交给协议处理模块;XMPP报文构造模块,收到协议处理模块的发送指令时,构造XMPP报文并递交给底层通信模块;协议处理模块,验证进入该模块XML节的合法性,处理符合XMPP协议的XML节,完成与XMPP服务器登陆连接过程。

本发明的目的之二是通过以下技术方案来实现的,一种MODBUS/全互联制造网络信息服务实现方法,包括XMPP的协议转换方法,XMPP的协议转换方法包括以下步骤:

S1:适配器利用为每个设备分配的IPv6地址分别与XMPP服务器建立一条TCP连接,并通过XMPP服务器认证;

S2:XMPP客户端与MODBUS设备通信:首先XMPP客户端的请求通过XMPP服务器转发给适配器,适配器再与MODBUS设备通信;

S3:XMPP客户端通过适配器读MODBUS设备信息:首先适配器找到MODBUS设备对应的JID,然后对照映射表,找到该MODBUS设备的地址,并且将XML数据流转换成MODBUS协议数据,发给MODBUS设备,若是读取成功则返回该MODBUS设备的最新当前MODBUS数据,然后将MODBUS数据转换XML数据流,此时再次查找MODBUS设备JID映射表,找到MODBUS设备对应的JID,并解析转换MODBUS数据信息,形成XML数据格式的读响应,返回给XMPP客户端;

S4:MODBUS设备发布消息:适配器读取MODBUS设备信息,再将MODBUS设备信息发布到XMPP服务器上。

由于采用了上述技术方案,本发明具有如下的优点:

本发明无需对现场设备和现场协议做任何改动,可支持将底层MODBUS设备以IPv6技术接入以太网中;通过构建信息模型映射模块,将MODBUS信息转换成XMPP和TR069信息流,确保数据格式保持一致性。该适配器能够稳定地将MODBUS网络设备接入以XMPP为传输协议,以TR069为管理协议的全互联制造网络,从而方便的对MODBUS设备进行统一的监控与管理。

附图说明

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步的详细描述,其中:

图1为MODBUS适配器应用系统架构;

图2为适配器的硬件单元结构框图;

图3为适配器XMPP软件架构设计方案图;

图4为XMPP软件模块设计流程图;

图5为TR069软件模块设计流程图。

具体实施方式

以下将结合附图,对本发明的优选实施例进行详细的描述;应当理解,优选实施例仅为了说明本发明,而不是为了限制本发明的保护范围。

图1为该适配器的应用系统架构。MODBUS适配器通过串口总线利用MODBUS协议与设备进行通信,可读取或写入信息;通过有线或者WIFI网络,可以与XMPP服务器和TR069自动配置服务器进行通信。由于连接串口总线的设备使用的是MODBUS协议,不能直接支持XML数据描述,无法与XMPP服务器和TR069管理软件进行通信,所以需通过MODBUS适配器进行协议转换。

该实现架构为,通过MODBUS现场网络,获取当前MODBUS设备的对象模型,并利用MODUS协议栈解析从通信接口获取的现场设备信息,不断更新本地设备属性存储文件,使其提供数据到功能应用和监控管理模块。然后通过对其信息模型的映射,使其XML对象模型映射为XMPP处理的XML数据服务模块和TR069处理的XML管理服务模块的对象模型,并通过IPv6技术将其传递给其他XML设备处理系统,该设备一般为管理器。

图2为该适配器的硬件单元结构框图,如图所示,该适配器的硬件平台包括四个单元:外网接入单元、主控制单元、MODBUS协议数据采集单元和电源管理单元;所述外网接入单元有WIFI和以太网两种方式,作用是将采集到的设备数据通过上传到上位机或者手机APP,实现对设备远程监控,同时上位机也能直接访问并控制设备;所述主控制单元作为适配器里核心单元,处理适配器中MODBUS协议数据包的转换,完成系统调度、管理和控制;所述MODBUS协议数据采集单元负责底层设备的采集,以及对设备的管理与数据交互;所述电源管理单元负责为整个网关系统提供可持续、稳定的工作电源。

图3为适配器XMPP软件架构方案,该适配器包括协议处理模块,XMPP报文构造模块、XMPP报文解析模块、数据通信模块、MODBUS RTU连接模块、TCP/IPv6连接模块。其中协议处理模块里面包含MODBUS设备、登陆认证功能、读功能、发布/订阅功能。

TCP/IPv6连接模块,发送/响应TCP连接的请求/响应,建立或断开与XMPP服务器TCP的连接。其MODBUS设备连入适配器后,适配器根据MODBUS设备号分配IPv6地址,传输时利用TCP/IPv6协议进行传输。

MODBUS RTU连接模块,将上层传递下来的XML数据转换为MODBUS数据帧,实现适配器向MODBUS设备发送数据;反之,收到MODBUS数据帧,将其转换为XML数据解析并传递到上层处理。

数据通信模块,完成MODBUS和IPv6与XMPP应用层的转发。

XMPP报文解析模块,将接收到的XMPP报文解析并递交给协议处理模块。

XMPP报文构造模块,收到协议处理模块的发送指令时,构造XMPP报文并递交给底层通信模块。

协议处理模块,验证进入该模块XML节的合法性,处理符合XMPP协议的XML节,完成与XMPP服务器登陆连接过程,该过程需要登陆认证和出席信息,建立连接之后可以处理管理设备属性的读功能和发布/订阅功能。其中设备管理功能为建立MODBUS设备属性管理,包括其设备号、寄存器起始地址、长度、属性名、方法及属性值。属性根据用户的设备具体参数进行确定,如温度、湿度等。方法包括读、功能和发布/订阅功能。

本发明还提供一种MODBUS/全互联制造网络信息服务实现方法,包括XMPP的协议转换方法,XMPP的协议转换方法包括以下步骤:

S1:适配器利用为每个设备分配的IPv6地址分别与XMPP服务器建立一条TCP连接,并通过XMPP服务器认证;

S2:XMPP客户端与MODBUS设备通信:首先XMPP客户端的请求通过XMPP服务器转发给适配器,适配器再与MODBUS设备通信;

S3:XMPP客户端通过适配器读MODBUS设备信息:首先适配器找到MODBUS设备对应的JID,然后对照映射表,找到该MODBUS设备的地址,并且将XML数据流转换成MODBUS协议数据,发给MODBUS设备,若是读取成功则返回该MODBUS设备的最新当前MODBUS数据,然后将MODBUS数据转换XML数据流,此时再次查找MODBUS设备JID映射表,找到MODBUS设备对应的JID,并解析转换MODBUS数据信息,形成XML数据格式的读响应,返回给XMPP客户端;

S4:MODBUS设备发布消息:适配器读取MODBUS设备信息,再将MODBUS设备信息发布到XMPP服务器上。

图4为XMPP软件模块设计流程,流程如下:

第一步,MODBUS接口初始化,对MODBUS通信接口模块进行初始化操作,通信协议为标准的MODBUS协议;

第二步,MODBUS设备列表初始化,对将连入该适配器的设备属性制作一个属性列表,包括其设备编号、设备属性、属性值等等,并将其初始化为默认值。

第三步,初始化XMPP通信模块,实时监控发送或接收的XML数据流。

第四步,创建链路管理模块,与XMPP服务器建立TCP连接,管理XML数据的接收和发送;

第五步,创建应用数据处理模块,接收XMPP服务器数据,并判断其有效性。如果有效,则判断是IQ、Message还是Presence节,并对应进行处理;

第六部,周期性遍历MODBUS适配内设备类表内的所有设备及所包含的属性,发送数据读取请求,并等待接收设备反馈的响应数据。根据收到的数据更新设备列表中相应设备内对应属性的值。

第七步,根据适配器内维护的MODBUS设备列表中各个设备属性的发布订阅关系,周期性发布消息。

图5为TR069软件模块设计流程,流程如下:

第一步,MODBUS接口初始化,对MODBUS通信接口模块进行初始化操作,通信协议为标准的MODBUS协议;

第二步,MODBUS设备列表初始化,对将连入该适配器的设备属性制作一个属性列表,包括其设备编号、设备属性、属性值等等,并将其初始化为默认值。

第三步,创建链路管理模块,与自动配置服务器建立TCP连接,上报Inform信息;

第四步,创建应用数据处理模块,接收自动配置服务器的配置信息,并判断其有效性,如果有效,则根据信息内容对MODBUS属性值进行相应的处理;

第五步,周期性遍历MODBUS适配内设备类表内的所有设备及所包含的属性,发送数据读取/写入请求,并等待接收设备反馈的响应数据。根据收到的数据更新设备列表中相应设备内对应属性的值。

最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1