| 设为主页 | 保存桌面 | 手机版 | 二维码
52

研华科技-全球智能系统产业的领导厂商

专注于自动化、嵌入式电脑、智能服务三大市场

新闻分类
  • 暂无分类
联系方式
  • 联系人:普程艳
  • 电话:18516020802
  • 邮件:1580749832@qq.com
  • 手机:18516020802
  • 传真:021-60719770
您当前的位置:首页 » 新闻中心 » ADAM-4501与RTU模块通讯对MODBUS TCP通讯的影响
新闻中心
ADAM-4501与RTU模块通讯对MODBUS TCP通讯的影响
发布时间:2019-06-26        浏览次数:94        返回列表
1、系统架构

2、代码部分

(1)Modbus/TCP


(2)Modbus/RTU

3、测试

测试过程中,反复断开和连接ADAM-4501与ADAM-4000IO模块之间的通讯导线,*终会发现即使在Modbus/RTU通讯连接时,PC组态软件也无法与ADAM-4501进行Modbus/TCP通讯,虽然PC可以Ping通ADAM-4501,如下图所示:

原因:断开Modbus/RTU通讯时,ADAM-4501读取ADAM-4000模块数据等待时间过长,会导致Modbus/TCP通讯超时,甚至引起Modbus/TCP通讯的Server端和Client端彻底断开

4、解决办法
思路:即使Modbus/RTU通讯断开,也不应该影响到Modbus/TCP通讯。
办法:增加对串口的超时设置,使得ADAM-4501即使读取不到数据,当等待时间超过某个设定值时,立即返回。这样就避免了因读取数据等待时间过长引起的对Modbus/TCP通讯的影响。
调用如下函数,设置串口超时时间:
长时间测试,即使断开ADAM-4501与ADAM-4000IO模块的连接,再未出现PC组态软件与ADAM-4501通讯断开问题。