一种基于Modbus-RTU协议的级联设备及其使用方法与流程

文档序号:35098373发布日期:2023-08-10 05:53阅读:62来源:国知局
一种基于Modbus-RTU协议的级联设备及其使用方法与流程

本发明涉及级联设备,尤其涉及一种基于modbus-rtu协议的级联设备及其使用方法。


背景技术:

1、modbus协议是一种请求/应答方式的交互过程网络协议,主机主动发起通讯请求,从机响应主机的请求。目前基于modbus-rtu协议的工业自动化生产线都基于主站/从站通信网络, 一般是1主站多从站,最多247个从站组成的小型网络。如中国专利cn115189985a公开了一种modbus多主站数据规划和转发装置和中国专利cn11533894a公开了一种基于多主站通讯需求的modbus通讯集线器及读取方法解决了modbus总线上只能有一个主站而造成其他设备难以对从站数据进行采集的难题,实现了多主站小规模网络控制。

2、目前modbus-rtu协议的解析都基于plc、mcu或pc为基础,受modbus-rtu协议的限制,最多247个从站数量仍然受限,大型modbus-rtu协议网络以pc机为基础进行转发,硬件设备成本较高,从站受限的缺点凸显,无法直接提高从站数量来增大网络规模;因此,如何设计一种在工业自动化生产线便捷实用,突破小型modbus-rtu协议网络从站数量受限,实现modbus-rtu协议网络从站数量的极限扩容是迫切需要解决的技术问题。


技术实现思路

1、有鉴于此,本发明提出了一种基于modbus-rtu协议的级联设备及其使用方法,以解决现有的工业自动化生产设备modbus-rtu协议网络从站数量受限,无法扩容的技术问题。

2、本发明的技术方案是这样实现的:一方面,本发明提供了一种基于modbus-rtu协议的级联设备,其中,所述modbus-rtu协议的级联设备包括:时钟源clk、复位接口reset、mcu模块、串行接口0、串行接口1、485接口、串口转485模块;

3、所述时钟源clk与mcu模块电性连接,用于产生外部时钟信号,并将外部时钟信号发送至所述mcu模块内部;

4、所述复位接口reset与所述mcu模块电性连接,用于在上电或异常时,改变复位信号状态给所述mcu模块复位;

5、所述485接口包括485接口0和485接口1,所述串口转485模块包括串口转485模块0和串口转485模块1;

6、所述串行接口0与所述mcu模块电性连接,用于所述的mcu模块作为主站发送至modbus-rtu从站,所述modbus-rtu从站经所述的串行接口0至所述串口转485模块0,同时接收modbus-rtu从站响应数据从所述串口转485模块0通过所述的串行接口0至所述的mcu模块;

7、所述串口转485模块0与所述串行接口0电性连接,用于将所述串行接口0的串口ttl信号转变成485信号;

8、所述485接口0与所述串口转485模块0电性连接,用于通过所述的485接口0与外部的modbus-rtu从站进行数据通信;

9、所述串行接口1与所述mcu模块电性连接,用于外部第2个级联设备作为主站发送至所述modbus-rtu从站,所述modbus-rtu从站经过所述串口转485模块1至所述的串行接口1,最终送入至所述mcu模块中,所述mcu模块作为modbus-rtu从站响应,将结果数据经所述的串行接口1到所述串口转485模块1;

10、所述串口转485模块1与所述串行接口1电性连接,用于将所述串行接口1的串口ttl信号转变成485信号;

11、所述485接口1与所述串口转485模块1电性连接,用于通过所述的485接口1与外部第2个级联设备作为主站信息交换,最终实现modbus-rtu网络的级联。

12、优选的,所述mcu模块包括pll锁相环单元、cpu系统、modbus-rtu主控单元和modbus-rtu从控单元;

13、所述pll锁相环单元与所述时钟源clk、所述cpu系统电性连接,用于接收时钟源clk信号并提升时钟信号频率,将升频信号发送至所述cpu系统;

14、所述cpu系统与所述modbus-rtu主控单元、所述modbus-rtu从控单元电性连接,用于向modbus-rtu主控单元发送命令,接收modbus-rtu主控单元响应的数据并分析暂存至cpu系统的内部寄存器,同时接收并分析外部第2个级联设备作为主站发送给modbus-rtu从控单元的命令,向外部主站回应cpu系统的内部寄存器数据;

15、所述modbus-rtu主控单元与所述串行接口0电性连接,用于产生modbus-rtu命令,采用轮询的方式通过串行接口0和串口转485模块0向modbus-rtu从站1到modbus-rtu从站247发送modbus-rtu命令,并采集原始数据并发送至cpu系统,接收cpu系统向modbus-rtu从站1到modbus-rtu从站247发送的modbus-rtu控制命令;

16、所述modbus-rtu从控单元与所述串行接口1电性连接,用于外部第2个级联设备作为主站通过串口转485模块1和串行接口1的modbus-rtu命令,并根据cpu系统分析的结果生成modbus-rtu响应命令,向外部第2个级联设备响应cpu系统的内部数据。

17、优选的,所述cpu系统包括嵌入式系统、timer控制器、uart0控制器、uart1控制器和ram存储器;

18、所述timer控制器、uart0控制器、uart1控制器和ram存储器通过内部总线与嵌入式系统传输信息;

19、所述timer控制器用于按照串口波特率的要求产生时序;

20、所述uart0控制器和uart1控制器可以通过内部总线与所述嵌入式系统进行信息交换,接收外部串口ttl信号并解析,同时按照串口波特率的要求把输出的数据变成串口ttl信号输出;

21、所述ram存储器用于提供程序运行的地址空间以及modbus-rtu寄存器地址空间;

22、所述cpu系统、所述modbus-rtu主控单元、所述modbus-rtu从控单元功能均由c语言代码在mcu模块硬件上实现。

23、优选的,mcu模块硬件采用stm32f407vet6型号,使用keiluvision 5软件编译通过。

24、另一方面,本发明提供一种基于modbus-rtu协议的级联设备的使用方法;包括如下步骤:

25、s1.在上电或异常时改变复位信号状态,通过复位接口 reset给mcu模块复位;

26、s2.mcu模块中的cpu系统向modbus-rtu主控单元发送轮询查询命令,modbus-rtu主控单元按照串口报文modbus-rtu协议生成地址码、功能码、数据区、crc校验码;并通过串行接口0和串口转485模块0从485接口0发送至modbus-rtu从站设备,modbus-rtu从站1到modbus-rtu从站247中相应的设备响应并按照相反的路径上传至cpu系统,将所有modbus-rtu从站轮询过后,cpu系统将按照modbus-rtu协议解析出全部数据暂存在内部寄存器中;

27、s3.外部第2个级联设备作为主站按照串口报文modbus-rtu rtu协议发出命令,由485接口1通过串口转485模块1和串行接口1发送至mcu模块内部,mcu模块内部的modbus-rtu从控单元接收命令并送入cpu系统;

28、s4.cpu系统按照modbus-rtu协议解析出外部第2个级联设备的命令,如果是控制命令,将由modbus-rtu主控单元发出控制命令经串行接口0、串口转485模块、485接口至相应的modbus-rtu从控单元,完成控制操作,如果是查询命令,则由modbus-rtu从控单元生成modbus-rtu相应数据经串行接口1、串口转485模块1、485接口1发送至外部第2个级联设备;

29、s5.以此类推,在第2个级联设备上再次级联第3个设备直至级联第n-1个设备,最后第n个设备使用主站设备,可实现所有modbus-rtu从站的查询和控制,完成modbus-rtu的极限扩容。

30、本发明的基于modbus-rtu协议的级联设备及其使用方法相对于现有技术具有以下有益效果:

31、设备中直接集成了modbus-rtu主站、从站功能,方便modbus-rtu协议网络实现级联;

32、通过级联设备将modbus-rtu协议单级网络转变成n级网络,从站数量不再受限;

33、最大限度的使用了modbus-rtu协议网络的所有地址和内部寄存器,现实了modbus-rtu协议网络的最大化。

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