[发明专利]一种Modbus TCP/IP转Modbus串行网关的实现方法有效
申请号: | 201210397405.4 | 申请日: | 2012-10-18 |
公开(公告)号: | CN102938728A | 公开(公告)日: | 2013-02-20 |
发明(设计)人: | 侯文杰;李颖新;刘兰生 | 申请(专利权)人: | 北京经纬纺机新技术有限公司 |
主分类号: | H04L12/66 | 分类号: | H04L12/66;H04L29/06 |
代理公司: | 北京高文律师事务所 11359 | 代理人: | 徐江华 |
地址: | 100176 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 modbus tcp ip 串行 网关 实现 方法 | ||
技术领域
本发明涉及一种工业以太网的数据传输方法,尤其是涉及一种Modbus TCP/IP转Modbus串行网关的实现方法。
背景技术
随着工业现场监控和信息化管理的进程,工业以太网应用技术不断的发展。工业以太网是西门子公司提出的一种基于以太网通讯的一种工业用的通讯模式。与传统的基于RS485,CAN等总线相比,显著地优越性是:速度快,稳定性高,抗干扰能力强,互联性和兼容性好。
目前,主流的工业以太网标准有Ethernet/IP,PROFINET,Modbus TCP/IP,都是基于标准TCP/IP协议实现的,正在逐步取代传统的网络。
但是工业现场目前还存在着大量的串行口设备,他们支持Modbus串行协议,但是串行网络只支持短距离传输,不能满足网络远程监控和信息化管理的需求。为了解决该问题,出现了Modbus网关。附图1为Modbus网络的拓扑结构,其中Modbus网关的作用就是转换两种网络的数据协议。
标准的Modbus TCP/IP转Modbus串行网关,仅实现了TCP/IP网络和串行网络的协议转换。还有专利号为200920213351.5的发明专利,在标准Modbus TCP/IP转Modbus串行网关的基础上,增加了主站的功能,但是主站的命令需要额外软件手工配置,不够灵活,不能满足命令动态变化的要求。
由于网关两端网络不同,数据的传输速率不同,导致数据传输缓慢的一侧网络成为了数据传输的瓶颈。例如,网关一侧是以太网,10M/100Mbps,另一侧是RS485串行线,9600bps,如果多个服务器同时访问串行网络的话,传统网关将多个请求排序,依次向串行网络发送数据,等待串行网络的响应完成,这样数据传输速度就限制在串行网络的速度上。对于工业现场有很多设备的情况下,完成所有设备的数据读取,需要很长时间,影响了用户的体验,不能满足现场监控的需求。
发明内容
为了解决上述问题,本发明采用了类似于CPU内部的高速缓存(cache)的设计思想,实现命令和数据的换入换出功能,对于不经常访问的以及掉电的设备,命令和数据将被网关换出,释放存储空间以换入访问频率较高的命令和数据,实现了命令和数据的动态更新。这样将服务器经常访问的数据实时的映射到网关的存储中,实现了网关和设备的数据同步。
其实现方法如下所述:
一种Modbus TCP/IP转Modbus串行网关的实现方法,服务器和串行网络间设置的网关存储有设备响应数据,在服务器向网关发送读命令后,网关在命令列表中查找该读命令,存在该读命令则直接从命令对应的缓存中读取数据返回给服务器;不存在该读命令则由网关转换并向串行网络发送该读命令,在该读命令得到响应后返回服务器对应的设备响应数据,同时网关记录该读命令并缓存该读命令对应的设备响应数据;在服务器向网关发送写命令后,网关直接转换并向串行网络发送该写命令,成功则更新网关中的数据缓存。
网关中读命令对应的缓存数据更新由网关自动完成,网关周期性的向串行网络发送命令列表中记录的命令,并将设备响应的数据更新各命令对应的数据缓存;网关中写命令对应的数据更新,由服务器发送命令成功时更新。
服务器在设定时间内不再发送相同的命令,则该命令被视为无效,该命令以及对应的缓存数据将被换出,以减小数据缓存的空间占用和网关中缓存数据的更新周期。
服务器的命令比网关轮询命令有更高的优先级,在完成当前轮询命令之后立刻响应服务器请求。
服务器读取设备数据时,直接从网关中获取数据,而不再从设备获取数据,这样数据在服务器和网关之间的高速工业以太网中传输,极大地提高了传输速度,即使多个服务器并发访问,也可以完全满足要求。
附图说明
图1是Modbus网络的拓扑结构;
图2是本方法实施例中的初始化流程图;
图3是本方法实施例中的监听线程流程图;
图4是本方法实施例中的Client线程流程图;
图5是本方法实施例中的数据更新线程流程图。
具体实施方式
图1是Modbus网络的拓扑结构,在服务器和串行设备间设置有网关,在多个服务器发送命令后,网关对命令进行排队处理,一一响应,在第一个命令没有得到处理完全后,会影响之后的命令,所以本发明提出了一种新的数据传输方式,服务器和串行网络间设置的网关存储有设备响应数据,命令处理如下所述:
Modbus读命令
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京经纬纺机新技术有限公司,未经北京经纬纺机新技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210397405.4/2.html,转载请声明来源钻瓜专利网。