【技术实现步骤摘要】
一种Modbus网关处理多主机数据访问的方法
[0001]本专利技术涉及通信设备
,尤其涉及一种Modbus网关处理多主机数据访问的方法。
技术介绍
[0002]Modbus是一种串行通信协议,已经成为工业通信领域的业界标准之一,是工业电子设备之间常用的连接方式。Modbus网关,是网络集线器通信协议转换设备,在工业领域的应用很多,其作用是将TCP主站的请求转向RTU/ASCII从站。TCP主站与Modbus网关通过网络通信,Modbus网关与RTU/ASCII从站间通过串口通信。工业现场存在多主机访问某一条串行通信总线上的从机的情况,如果在某一个时间段有多个主机都发出来请求命令并且Modbus网关之前没有存储这些命令的响应数据,由于Modbus协议的问答属性,这时候Modbus网关需要通过串口将命令转发至从站,并且等待从站响应后再逐条下发下一条命令。由于串口通信速率远低于网络通信速率,所以Modbus网关需要高效灵活的转发TCP主站的请求命令至RTU/ASCII从站。但是当请求命令过多时,逐个按主站连接顺序处理命令可 ...
【技术保护点】
【技术特征摘要】
1.一种Modbus网关处理多主机数据访问的方法,其特征在于,包括如下步骤:S1:在Modbus网关的网络端口侧并接若干个Modbus主站;在Modbus网关的串行端口侧并接若干个Modbus从站;S2:在Modbus网关内已预先构建若干个Modbus主站的设备号,以及若干个Modbus从站的设备号;Modbus网关在一段时间内,统计来自一个或者多个Modbus主站的第一数据请求报文;Modbus网关内建子集规则,将可合并的第一数据请求报文进行合并,得到第二数据请求报文的列表,并分别记录第二数据请求报文的已等待转发时间T1;Modbus网关估算第二数据请求报文经由串行端口侧发送和响应的时间和,记录为T2,将各项第二数据请求报文按优先级通过Modbus网关的串行端口侧发送到对应的Modbus从站;S3:Modbus从站接收到相应的第二数据请求报文后,进行响应,对应生成若干个第二数据响应报文;Modbus从站将第二数据响应报文通过串行端口侧向Modbus网关发送;Modbus网关实时更新列表内的需发送的第二数据请求报文的优先级;S4:Modbus网关将接收到的第二数据响应报文提到缓存中,对第二数据响应报文内容进行提取,并按照第一数据请求报文的合并顺序,进一步生成与第一数据请求报文对应的若干第一数据响应报文;并将各第一数据响应报文返回各Modbus主站中。2.根据权利要求1所述的一种Modbus网关处理多主机数据访问的方法,其特征在于,步骤S2中的所述第一数据请求报文,是包括顺序设置的起始字段、Modbus主站的设备号、请求读取的Modbus从站的设备号、被访问的Modbus从站的寄存器地址的起始地址与寄存器地址偏移量,以及结束字段;第二数据请求报文包括顺序设置的起始字段、至少一个Modbus主站的设备号、请求读取的Modbus从站的设备号、位于该第二数据请求报文内的至少一个第一数据请求报文对应的被访问的Modbus从站的寄存器地址的起始地址与寄存器地址偏移量,以及结束字段。3.根据权利要求2所述的一种Modbus网关处理多主机数据访问的方法,其特征在于,步骤S2所述Modbus网关内建子集规则,将可合并的第一数据请求报文进行合并,得到第二数据请求报文的列表,是根据从站的设备号,将来自同一个或者不同的Modbus主站的不同的数据请求进行合并,可以合并的不同的数据请求具有如下要求,1)访问的Modbus从站的设备号相同;2)至少一个第一数据请求报文对应的Modbus从站的寄存器地址的范围,全部位于另一个第一数据请求报文对应的Modbus从站寄存器地址的范围内;3)对具有Modbus从站的寄存器地址的范围内的操作类型相同,如读操作或者写操作;4)要求Modbus从站响应的时刻位于同一个响应周期内。4.根据权利要求3所述的一种Modbus网关处理多主机数据访问的方法,其特征在于,步骤S2所述分别记录第二数据请求报文的已等待转发时间T1,是从Modbus网关接收到第二数据请求报文时刻开始计算;所述估算第二数据请求报文经由串行端口侧发送和响应的时间和T2,是根据Modbus网关当前处理的第二数据请求报文经由串行端口侧发送到对应的Modbus从站的时间与Modbus从站预计返回的第二数据响应报文的时间的传输时间之和A1,以及必要的处理时间延迟A2;所述传输时间之和A1,与第二数据请求报文及第二数据响应报文的字节长度和成正比;处理时间延迟A2与Modbus从站的机器周期成比例关系;串...
【专利技术属性】
技术研发人员:韩琛,周厚明,张朋飞,
申请(专利权)人:武汉迈威通信股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。