Modbus协议共享通讯的方法和装置制造方法及图纸

技术编号:22946177 阅读:25 留言:0更新日期:2019-12-27 17:28
本发明专利技术公开了Modbus协议共享通讯的装置,包括:ModbusRTU设备、数据共享设备和应用程序;Modbus协议共享通讯的方法,包括S01:计算读取的数据、S02:缓存通讯数据至缓冲区、S03:判断读取数据的范围和S04:将数据进行反馈回复、S05:应用程序写入数据的控制和S06:写指令数据反馈。本发明专利技术中,该Modbus协议共享通讯的方法和装置可以在不更换设备的情况下,通过ModbusRTU协议实现通讯设备同时为多个应用系统进行通讯的效果,并且最大化的达到了数据的快速反应和快速控制作用,满足了多负荷的使用需求,可以对原有的通过串口ModbusRTU协议通讯的设备进行通讯的应用程序实现无缝替换的效果,也不需要对原有的应用程序进行任何修改和配置,满足了多样化的ModbusRTU协议通讯设备的需求。

Modbus protocol sharing communication method and device

【技术实现步骤摘要】
Modbus协议共享通讯的方法和装置
本专利技术涉及通讯设备通讯控制
,尤其涉及Modbus协议共享通讯的方法和装置。
技术介绍
当前很多设备通讯都是采用标准的ModbusRTU通讯协议,采用RS232或者RS485的串口进行数据通讯,串口通讯有个特点是一个串口只能由一个通讯设备与其进行连接,串口设备和一个通讯设备建立连接以后,其他设备即使接上数据线行业无法再次打开串口进行通讯,而在实际的应用中经常会存在一个ModbusRTU的串口设备需要多个系统对设备进行通讯和控制。目前常用的通讯和控制方式主要有两种,一种是采用串口数据缓存队列形式将多个ModbusRTU协议的报文进行缓存,然后采用队列形式对一个串口设备进行通讯,返回数据返回到对应的原采集端口形式,这种形式在对协议数据量比较大的设备发送的数据分包发送和处理的时候,很容易导致反馈的数据反馈出错,导致数据不完整,并且对于多个客户端同时快速向一个串口发送请求时,因为串口相应速率的影响,不可能做到对多个端口的反馈,导致缓存队列堆积,堆积的结果是多个应用端系统的反应超时,拉低反应速度并且会导致系统提示通讯故障,另一种是采用物理串口分离硬件接入多个应用,多个应用轮训打开串口的方法,这种形式的两个串口应用程序轮询打开串口操作的方法通讯效率很低,对于需要快速通讯的应用场景无法达到要求,并且如果两个应用同时打开串口操作也会导致数据混乱,无法满足多个串口同步打开操作的效果。
技术实现思路
本专利技术的目的是为了解决现有技术中存在的缺点,而提出的Modbus协议共享通讯的方法和装置。为了实现上述目的,本专利技术采用了如下技术方案:Modbus协议共享通讯的装置,包括:ModbusRTU设备、数据共享设备和应用程序;所述数据共享设备由上壳体和下壳体对应卡合组装而成;所述下壳体的外壁开设有网口和串口;所述下壳体的内部嵌设有逻辑处理芯片;所述数据共享设备上的串口与ModbusRTU设备上的串口对应连接,所述数据共享设备与应用程序对应连接。作为上述技术方案的进一步描述:所述网口的数量至少为一个,其中,网口用于将数据共享设备与通讯网络连接。作为上述技术方案的进一步描述:所述串口的数量至少为两个,其中,串口用于将数据共享设备与其他设备进行串口连接。作为上述技术方案的进一步描述:所述逻辑处理芯片由通讯数据处理模块、通讯数据缓存模块、通讯数据判断模块和通讯数据反馈模块组成,其中,通讯数据处理模块用于处理读取的通讯数据,通讯数据缓存模块用于将计算后的通讯数据缓存到缓冲区,通讯数据判断模块用于判断读取的通讯数据的数据范围,通讯数据反馈模块用于将通讯数据反馈到其他应用程序上。Modbus协议共享通讯的方法,包括以下步骤:S01:计算读取的数据,首先通过应用程序和数据共享设备的通讯需求计算出需要读取的ModbusRTU设备的寄存器地址范围,根据地址范围循环快速读取Modbus协议的数据区数据;S02:缓存通讯数据至缓冲区,通讯数据采集回来的数据不做数据解析,并通过通讯数据缓存模块将内存块缓存更新到数据共享器的内存中;S03:判断读取数据的范围,当其他应用程序采用Modbus协议进行数据读取时,通过通讯数据判断模块自动判断读取的通讯数据的寄存器地址是否在已经缓存的数据范围内,如果不在缓冲范围内则自动扩充采集地址区域,缓存更多地址的数据;S04:将数据进行反馈回复,根据通讯数据的判断结果,通过通讯数据反馈模块将得到的判断结果按照Modbus协议第一时间反馈回复给应用程序;S05:应用程序写入数据的控制,多个应用程序对于写数据的指令都将写指令发送到数据共享设备,数据共享设备将多个写指令进行判断汇总,根据优先级将写指令写入ModbusRTU设备;S06:写指令数据反馈,数据共享设备将ModbusRTU设备反馈的写数据成功或者失败的信息转换为应用程序的反馈指令,将指令反馈给应用程序。作为上述技术方案的进一步描述:所述步骤S01中,通讯数据的算法采用集合算法进行计算,通过将读取Modbus协议的数据区和读取数据的寄存器地址范围进行同一集合的集合计算,得到满足通讯数据计算的范围集合。作为上述技术方案的进一步描述:所述步骤S02中,数据共享设备和其他ModbusRTU设备均采用自己的缓存内容可以进行快速通讯,并及时的更新系统内存中的原有数据,这些数据能够为应用程序提供最新的数据支持。作为上述技术方案的进一步描述:所述步骤S03中,当判断读取的通讯数据地址在已有的范围内,则直接采用内存中的缓存数据进行数据反馈;当判断读取的通讯数据地址超过了已有的缓存区,则系统会自动扩充先有的读取缓冲区并及时进行数据更新,更新后将数据反馈给应用程序。作为上述技术方案的进一步描述:所述步骤S04中,当应用程序采集的数据已经在数据共享设备的内存中,则直接将内存区的数据按照Modbus协议回复给应用程序。作为上述技术方案的进一步描述:所述步骤S05中,当其他应用程序发过来对数据共享设备的写指令,则系统直接将写指令采用和ModbusRTU设备的通讯地址发到ModbusRTU设备中,实现快速控制的效果。有益效果本专利技术提供了Modbus协议共享通讯的方法和装置。具备以下有益效果:(1):该Modbus协议共享通讯的方法和装置可以在不更换设备的情况下,通过ModbusRTU协议实现通讯设备同时为多个应用系统进行通讯的效果,并且最大化的达到了数据的快速反应和快速控制作用,满足了多负荷的使用需求。(2):该Modbus协议共享通讯的方法和装置可以对原有的通过串口ModbusRTU协议通讯的设备进行通讯的应用程序实现无缝替换的效果,同时也不需要对原有的应用程序进行任何修改和配置,满足了多样化的ModbusRTU协议通讯设备的运行需求。附图说明图1为本专利技术提出的Modbus协议共享通讯的装置中ModbusRTU设备的结构示意图;图2为本专利技术的电路连接结构示意图;图3为本专利技术中逻辑处理芯片的电路连接示意图;图4为本专利技术中Modbus协议共享通讯的方法的流程示意图。图例说明:1、数据共享设备;11、上壳体;12、下壳体;2、网口;3、串口;4、逻辑处理芯片;5、ModbusRTU设备;6、应用程序。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。如图1-4所示,Modbus协议共享通讯的装置,包括:ModbusRTU设备5、数据共享设备1和应用程序6;数据共享设备1由上壳体11和下壳体12对应卡合组装而成;下壳体12的外壁开设有网口2和串口3;下壳体12的内部嵌设有逻辑处理芯片4;数据共享设备1本文档来自技高网...

【技术保护点】
1.Modbus协议共享通讯的装置,其特征在于,包括:ModbusRTU设备(5)、数据共享设备(1)和应用程序(6);/n所述数据共享设备(1)由上壳体(11)和下壳体(12)对应卡合组装而成;/n所述下壳体(12)的外壁开设有网口(2)和串口(3);/n所述下壳体(12)的内部嵌设有逻辑处理芯片(4);/n所述数据共享设备(1)上的串口(3)与ModbusRTU设备(5)上的串口(3)对应连接,所述数据共享设备(1)与应用程序(6)对应连接。/n

【技术特征摘要】
1.Modbus协议共享通讯的装置,其特征在于,包括:ModbusRTU设备(5)、数据共享设备(1)和应用程序(6);
所述数据共享设备(1)由上壳体(11)和下壳体(12)对应卡合组装而成;
所述下壳体(12)的外壁开设有网口(2)和串口(3);
所述下壳体(12)的内部嵌设有逻辑处理芯片(4);
所述数据共享设备(1)上的串口(3)与ModbusRTU设备(5)上的串口(3)对应连接,所述数据共享设备(1)与应用程序(6)对应连接。


2.根据权利要求1所述的Modbus协议共享通讯的装置,其特征在于,所述网口(2)的数量至少为一个,其中,网口(2)用于将数据共享设备(1)与通讯网络连接。


3.根据权利要求1所述的Modbus协议共享通讯的装置,其特征在于,所述串口(3)的数量至少为两个,其中,串口(3)用于将数据共享设备(1)与其他设备进行串口(3)连接。


4.根据权利要求1所述的Modbus协议共享通讯的装置,其特征在于,所述逻辑处理芯片(4)由通讯数据处理模块、通讯数据缓存模块、通讯数据判断模块和通讯数据反馈模块组成,其中,通讯数据处理模块用于处理读取的通讯数据,通讯数据缓存模块用于将计算后的通讯数据缓存到缓冲区,通讯数据判断模块用于判断读取的通讯数据的数据范围,通讯数据反馈模块用于将通讯数据反馈到其他应用程序(6)上。


5.根据权利要求1-4所述的Modbus协议共享通讯的方法,其特征在于,包括以下步骤:
S01:计算读取的数据,首先通过应用程序(6)和数据共享设备(1)的通讯需求计算出需要读取的ModbusRTU设备(5)的寄存器地址范围,根据地址范围循环快速读取Modbus协议的数据区数据;
S02:缓存通讯数据至缓冲区,通讯数据采集回来的数据不做数据解析,并通过通讯数据缓存模块将内存块缓存更新到数据共享器的内存中;
S03:判断读取数据的范围,当其他应用程序(6)采用Modbus协议进行数据读取时,通过通讯数据判断模块自动判断读取的通讯数据的寄存器地址是否在已经缓存的数据范围内,如果不在缓冲范围内则自动扩充采集地址区域,缓存更多地址的数据...

【专利技术属性】
技术研发人员:吴浩峰
申请(专利权)人:北京演能科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1