一种基于主动标识载体的Modbus网关及其使用方法
文献发布时间:2024-04-18 19:58:53
技术领域
本发明涉及Modbus网关技术领域,尤其涉及一种基于主动标识载体的Modbus网关及其使用方法。
背景技术
主动标识载体一般可以嵌入在工业设备内部,承载工业互联网标识编码及其必要的安全证书、算法和密钥,具备联网通信功能,能够主动向标识解析服务节点或标识数据应用平台等发起连接,而无需借助标识读写设备来触发。
目前基于Modbus协议的工业自动化生产线都基于有线的主站/从站通信网络,无法直接连接企业内部计算机局域网或外部因特网云服务器平台进行远程控制、远程分析和信息远程共享,也无法利用主动标识载体技术实现生产设备向国家主动标识载体云平台上报相关信息。如中国专利CN114493299A公开了一种工业互联网的农业机械管控方法将主动标识载体技术应用在农用机械上,如中国专利CN113965930A公开了一种基于量子密钥的工业互联网主动标识解析方法及其系统将主动标识载体技术应用在量子技术上,如中国专利CN114239079A公开了基于工业互联网的电力能源设备安全运行方法及设备将主动标识载体技术应用在电力设备上,如中国专利CN115051971A公开了基于主动标识技术的能耗监测方法及装置将主动标识载体技术应用在能耗监测装置上。但以上专利中采用的主动标识载体,只能实现数据采集功能,不能实现远程控制,或使用边缘计算一体机,成本较高。因此,如何设计一种在工业自动化生产线便捷实用,且能实现远程控制、远程分析和信息远程共享的基于主动标识载体的网关是迫切需要解决的技术问题。
发明内容
有鉴于此,本发明提出了一种基于主动标识载体的Modbus网关及其使用方法,以解决现有的工业自动化生产线设备无法远程控制、远程分析和信息远程共享的问题。
本发明的技术方案是这样实现的:一方面,本发明提供了一种基于主动标识载体的Modbus网关,其中,所述基于主动标识载体的Modbus网关包括:时钟源CLK、复位接口RESET、MCU模块、串行接口、485接口、RJ45接口、RMII接口、串口转485模块和RMII接口转RJ45模块;
所述时钟源CLK与MCU模块电性连接,用于产生外部时钟信号,并将外部时钟信号发送至所述MCU模块内部;
所述复位接口RESET与所述MCU模块电性连接,用于在上电或异常时,改变复位信号状态给所述MCU模块复位;
所述串行接口与所述MCU模块电性连接,用于所述的MCU模块作为主站发送至Modbus从站,所述Modbus从站经所述的串行接口至所述串口转485模块,同时接收Modbus从站响应数据从所述串口转485模块通过所述的串行接口至所述的MCU模块;
所述串口转485模块与所述串行接口电性连接,用于将所述串行接口的串口TTL信号转变成485信号;
所述485接口与所述串口转485模块电性连接,用于通过所述的485接口与外部的Modbus从站进行数据通信;
所述RMII接口与所述MCU模块电性连接,用于接收外部企业云平台发送的命令经所述RMII接口转RJ45模块至所述的RMII接口,最终送入所述MCU模块中,所述MCU模块分析命令并响应,将响应结果数据经所述的RMII接口到所述RMII接口转RJ45模块;
所述RMII接口转RJ45模块与所述RMII接口电性连接,用于将所述RMII接口的数字信号转变成RJ45接口网络信号;
所述RJ45接口与所述RMII接口转RJ45模块电性连接,用于通过所述的RJ45接口经过路由器与外部因特网信息交换,最终将数据上发至企业云平台,同时也可以按照主动标识载体规定的命令上发至主动标识载体二级节点云平台。
优选的,所述MCU模块包括PLL(锁相环)单元、CPU系统和Modbus主控单元。
所述PLL锁相环单元与所述时钟源、所述CPU系统电性连接,用于接收时钟源信号并提升时钟信号频率,将升频信号发送至所述CPU系统;
所述CPU系统与所述Modbus主控单元电性连接,用于向Modbus主控单元发送命令,接收主站控制器响应的数据并分析暂存至CPU系统的内部寄存器,同时接收并分析企业云平台发送的命令,向企业云平台和主动标识载体二级节点云平台分享CPU系统的内部寄存器数据;
优选的,所述CPU系统包括嵌入式系统、TIMER控制器、UART控制器、RMII控制器和RAM存储器;
所述TIMER控制器、UART控制器、RMII控制器和RAM存储器通过内部总线与嵌入式系统传输信息;
所述TIMER控制器用于按照串口波特率的要求产生时序;
所述UART控制器可以通过内部总线与所述嵌入式系统进行信息交换,接收外部串口TTL电信号并解析,同时可以按照串口波特率的要求把输出的数据变成串口TTL电信号输出;
所述RMII控制器可以通过内部总线与所述嵌入式系统进行信息交换,接收外部RMII电信号并解析数据,同时可以把输出的数据变成RMII电信号输出;
所述RAM存储器用于提供程序运行的地址空间以及Modbus寄存器地址空间;
所述CPU系统、所述Modbus主控单元功能均由C语言代码在MCU硬件上实现;
优选的,MCU模块硬件采用STM32F407VET6型号,使用KeiluVision 5软件编译通过。
另一方面,本发明提供一种基于主动标识载体的Modbus网关的使用方法;包括如下步骤:
S1.在上电或异常时改变复位信号状态,通过复位接口RESET给MCU模块复位;
S2.MCU模块中的CPU系统向Modbus主控单元发送轮询查询命令,Modbus主控单元按照串口报文Modbus协议生成地址码、功能码、数据区、CRC校验码;并通过串行接口和串口转485模块从485接口发送至Modbus从站设备,Modbus从站1到Modbus从站247中相应的设备响应并按照相反的路径上传至CPU系统,将所有Modbus从站设备轮询过后,CPU系统将按照Modbus协议解析出全部数据暂存在内部寄存器中;
S3.企业云平台按照自定义字符串协议发出命令,由RJ45接口通过RMII接口转RJ45模块和RMII接口发送至MCU模块内部,MCU模块内部的CPU系统接收命令;
S4.CPU系统按照自定义约定的字符串协议解析出企业云平台的命令,如果是控制命令SET_A_M_N,将由Modbus主控单元发出控制命令经串行接口、串口转485模块、485接口至相应的Modbus从站设备,完成控制操作,如果是查询命令GET_A_M,则由CPU系统响应发出DATA_A_M_D字符串经串行接口、串口转RJ45模块、RJ45接口至企业云平台;
S5.CPU系统直接经过RMII接口、RMII接口转RJ45模块、RJ45接口与企业云平台通信,企业云平台可实现多个Modbus网络内的所有数据与标准数据对比分析、模型分析及Modbus从站的反馈控制。
S6.企业云平台也可以根据设定的共享权限,按照自定义约定的字符串协议向Modbus网关发出共享命令SHARE_A_M,Modbus网关解析出共享命令后,以HTTP协议发送至主动标识载体二级节点云平台,可完成设备注册命令POST和数据更新命令PUT,实现信息远程共享。
本发明的基于主动标识载体的Modbus网关及其使用方法相对于现有技术具有以下有益效果:
(1)设备中直接集成了Modbus局域网功能、因特网功能、主动标识功能,方便Modbus从站信息上云;
(2)企业云平台通过命令远程控制Modbus从站,实时查询Modbus从站状态信息及远程分析,反馈控制;
(3)企业云平台通过命令远程授权Modbus网关将Modbus从站数据在主动标识载体二级节点云平台上实时信息共享。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的基于主动标识载体的Modbus网关结构图;
图2为本发明的MCU系统结构图;
图3为本发明的基于主动标识载体的Modbus网关工作原理图;
具体实施方式
下面将结合本发明实施方式,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
实施例一
如图1-3所示,本发明的一种基于主动标识载体的Modbus网关,其中,所述基于主动标识载体的Modbus网关包括:
时钟源CLK、复位接口RESET、MCU模块、串行接口、485接口、RJ45接口、RMII接口、串口转485模块和RMII接口转RJ45模块;
所述时钟源CLK与MCU模块电性连接,用于产生外部时钟信号,并将外部时钟信号发送至所述MCU模块内部;
所述复位接口RESET与所述MCU模块电性连接,用于在上电或异常时,改变复位信号状态给所述MCU模块复位;
所述串行接口与所述MCU模块电性连接,用于所述的MCU模块作为主站发送至Modbus从站,所述Modbus从站经所述的串行接口至所述串口转485模块,同时接收Modbus从站响应数据从所述串口转485模块通过所述的串行接口至所述的MCU模块;
所述串口转485模块与所述串行接口电性连接,用于将所述串行接口的串口TTL信号转变成485信号;
所述485接口与所述串口转485模块电性连接,用于通过所述的485接口与外部的Modbus从站进行数据通信;
所述RMII接口与所述MCU模块电性连接,用于接收外部企业云平台发送的命令经所述RMII接口转RJ45模块至所述的RMII接口,最终送入所述MCU模块中,所述MCU模块分析命令并响应,将响应结果数据经所述的RMII接口到所述RMII接口转RJ45模块;
所述RMII接口转RJ45模块与所述RMII接口电性连接,用于将所述RMII接口的数字信号转变成RJ45接口网络信号;
所述RJ45接口与所述RMII接口转RJ45模块电性连接,用于通过所述的RJ45接口经过路由器与外部因特网信息交换,最终将数据上发至企业云平台,同时也可以按照主动标识载体规定的命令上发至主动标识载体二级节点云平台。
本设备采用MCU模块、串口转485模块和RMII接口RJ45模块实现了一种基于主动标识载体的Modbus网关,该设备将Modbus局域网功能、因特网功能、主动标识功能集成在一个设备中,实现了信息远程共享、分析、监管和反馈控制,并将设备信息在主动标识载体二级节点云平台上注册、更新和共享。通过设计、仿真、验证,形成模块化产品,可实现不同平台间的快速移植,加速产品开发流程。
其中,所述MCU模块包括PLL锁相环单元、CPU系统和Modbus主控单元。
所述PLL锁相环单元与所述时钟源、所述CPU系统电性连接,用于接收时钟源信号并提升时钟信号频率,将升频信号发送至所述CPU系统;
所述CPU系统与所述Modbus主控单元电性连接,用于向Modbus主控单元发送命令,接收主站控制器响应的数据并分析暂存至CPU系统的内部寄存器,同时接收并分析企业云平台发送的命令,向企业云平台和主动标识载体二级节点云平台分享CPU系统的内部寄存器数据;
时钟源给PLL锁相环单元提供无源时钟,选择25MHz,并通过时钟接口CLK送入MCU模块内部的锁相环单元PLL电路控制端;PLL锁相环单元接收时钟源提供的25MHz时钟,通过锁相环单元PLL内部分频因子升高输出时钟频率到168MHz。
其中,所述串口转485模块采用MAX3485芯片及其外围电子元器件组成的硬件实现,所述RMII接口转RJ45模块采用LAN8720A芯片及其外围电子元器件组成的硬件实现。
所述CPU系统包括嵌入式系统、TIMER控制器、UART控制器、RMII控制器和RAM存储器;
所述TIMER控制器、UART控制器、RMII控制器和RAM存储器通过内部总线与嵌入式系统传输信息;
所述TIMER控制器用于按照串口波特率的要求产生时序;
所述UART控制器可以通过内部总线与所述嵌入式系统进行信息交换,接收外部串口TTL电信号并解析,同时可以按照串口波特率的要求把输出的数据变成串口TTL电信号输出;
所述RMII控制器可以通过内部总线与所述嵌入式系统进行信息交换,接收外部RMII电信号并解析数据,同时可以把输出的数据变成RMII电信号输出;
所述RAM存储器用于提供程序运行的地址空间以及Modbus寄存器地址空间;
所述CPU系统、所述Modbus主控单元功能均由C语言代码在MCU硬件上实现。
其中,MCU硬件采用ST公司的STM32F407VET6,使用Keil uVision 5软件编译通过。
本实施例中的Modbus网关,采用MCU模块、串口转485模块和RMII接口转RJ45模块实现了一种基于主动标识载体的Modbus网关,该设备将Modbus局域网功能、因特网功能、主动标识功能集成在一个设备中,实现了信息远程共享、分析、监管和反馈控制,并将设备信息在主动标识载体二级节点云平台上注册、更新和共享。通过设计、仿真、验证,形成模块化产品,可实现不同平台间的快速移植,加速产品开发流程。
实施例二
提供一种基于主动标识载体的Modbus网关的使用方法,其采用了如实施例一所述的基于主动标识载体的Modbus网关,其中,包括如下步骤:
S1.在上电或异常时改变复位信号状态,通过复位接口RESET给MCU模块复位;
S2.MCU模块中的CPU系统向Modbus主控单元发送轮询查询命令,Modbus主控单元按照串口报文Modbus协议生成地址码、功能码、数据区、CRC校验码;并通过串行接口和串口转485模块从485接口发送至Modbus从站设备,Modbus从站1到Modbus从站247中相应的设备响应并按照相反的路径上传至CPU系统,将所有Modbus从站设备轮询过后,CPU系统将按照Modbus协议解析出全部数据暂存在内部寄存器中;
S3.企业云平台按照自定义字符串协议发出命令,由RJ45接口通过RMII接口转RJ45模块和RMII接口发送至MCU模块内部,MCU模块内部的CPU系统接收命令;
S4.CPU系统按照自定义约定的字符串协议解析出企业云平台的命令,如果是控制命令SET_A_M_N,将由Modbus主控单元发出控制命令经串行接口、串口转485模块、485接口至相应的Modbus从站设备,完成控制操作,如果是查询命令GET_A_M,则由CPU系统响应发出DATA_A_M_D字符串经串行接口1、串口转RJ45模块、RJ45接口至企业云平台;
S5.CPU系统直接经过RMII接口、RMII接口转RJ45模块、RJ45接口与企业云平台通信,企业云平台可实现多个Modbus网络内的所有数据与标准数据对比分析、模型分析及Modbus从站的反馈控制。
S6.企业云平台也可以根据设定的共享权限,按照自定义约定的字符串协议向Modbus网关发出共享命令SHARE_A_M,Modbus网关解析出共享命令后,以HTTP协议发送至主动标识载体二级节点云平台,可完成设备注册命令POST和数据更新命令PUT,实现信息远程共享。
其中,所述的内部寄存器是CPU系统内存的一段固定地址,将轮询解析出的全部数据按地址顺序依次暂存。
所述的SET_A_M_N是由4个部分组成,SET表示设置命令,A表示Modbus网关的ID号,M表示设置ID号为A的Modbus网关的第M个寄存器,N表示设置ID号为A的Modbus网关第M个寄存器内部的数据为N。
所述的GET_A_M是由3个部分组成,GET表示查询命令,A表示Modbus网关的ID号,M表示查询ID号为A的Modbus网关的第M个寄存器内的数据;
所述的DATA_A_M_D是由4个部分组成,DATA表示响应数据头字符串,A表示Modbus网关的ID号,M表示响应ID号为A的Modbus网关的第M个寄存器,D表示响应ID号为A的Modbus网关第M个寄存器内部的数据为D。
所述的SHARE_A_M是由3个部分组成,SHARE表示共享命令,A表示Modbus网关的ID号,M表示查询ID号为A的Modbus网关的第M个寄存器内的数据;
所述的设备注册命令POST是以HTTP协议向主动标识载体二级节点云平台服务器传送的注册命令,通过登录账户、密码经MD5加密后发送给主动标识载体二级节点云平台服务器,服务器MD5解密并根据密码与时间,生成MD5加密且1小时有效的密匙token,响应主动标识载体的Modbus网关的HTTP请求,并附带生成的密匙token下发至主动标识载体的Modbus网关;
所述的数据更新命令PUT是以HTTP协议向主动标识载体二级节点云平台服务器传送的更新命令,向主动标识载体二级节点云平台服务器发送带有密匙token的更新数据,主动标识载体二级节点云平台服务器接收并更新数据,实现信息远程共享。
如图3所示,每个网关最多可以连接247个Modbus从站,总共N个无限制网关以Modbus协议按照轮询的方式连续不断的发出命令,接收每个从站的响应信息,网关同时作为企业云平台的终端设备,根据企业云平台发出的远程字符串命令进行响应,企业云平台搜集所有Modbus从站信息后进行对比分析及反馈控制,每个网关可以根据企业云平台的授权将部分信息以HTTP协议上传在主动标识载体二级节点云平台共享。
本实施例中的基于主动标识载体的Modbus网关的使用方法,采用标准C语言完成,采用模块化的设计方法,可接收企业云平台发送指令,在MCU模块、串口转485模块和RMII接口转RJ45模块内部实现,提高了灵活性和扩展性,实现了企业云平台对工业自动化生产线的远程控制、远程分析和信息远程反馈,并在主动标识载体二级节点云平台实现信息远程共享。
以上所述仅为本发明的较佳实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
- 一种基于主动标识载体的SENT协议解析设备及使用方法
- 一种基于主动标识的工业边缘网关数据管理方法