永不放弃hhj
级别: 略有小成
精华主题: 0
发帖数量: 185 个
工控威望: 235 点
下载积分: 14054 分
在线时间: 113(小时)
注册时间: 2023-12-13
最后登录: 2025-01-03
查看永不放弃hhj的 主题 / 回贴
楼主  发表于: 62天前
各位前辈,在做Modbus RTU通讯时,一主多从,需要用到轮询。一个从站读取完成,收到后,再继续下个从站。万一遇到中途有个从站故障,那么轮询就无法进行下去了,有没有办法解决这个问题啊
附件: 一主多从的程序编写主站程序.rar (149 K) 下载次数:116
网站提示: 请不要用迅雷下载附件,容易出错
永不放弃hhj
级别: 略有小成
精华主题: 0
发帖数量: 185 个
工控威望: 235 点
下载积分: 14054 分
在线时间: 113(小时)
注册时间: 2023-12-13
最后登录: 2025-01-03
查看永不放弃hhj的 主题 / 回贴
1楼  发表于: 62天前
我想到的办法是每个从站等待接收返回数值时加个计时器,超时就就跳过
yiyang1
级别: 略有小成
精华主题: 0
发帖数量: 305 个
工控威望: 450 点
下载积分: 1178 分
在线时间: 395(小时)
注册时间: 2012-11-11
最后登录: 2025-01-03
查看yiyang1的 主题 / 回贴
2楼  发表于: 62天前
从站故障也跳转
laoxia1990
级别: 探索解密
精华主题: 0
发帖数量: 3 个
工控威望: 111 点
下载积分: 392 分
在线时间: 36(小时)
注册时间: 2012-04-25
最后登录: 2024-11-03
查看laoxia1990的 主题 / 回贴
3楼  发表于: 62天前
DECO +ADRW+Timer
賞心悦目
级别: 论坛先锋
精华主题: 0
发帖数量: 351 个
工控威望: 1388 点
下载积分: 1667 分
在线时间: 870(小时)
注册时间: 2008-12-24
最后登录: 2025-01-03
查看賞心悦目的 主题 / 回贴
4楼  发表于: 62天前
3U不确定,5U的直接SM400输出ADPRW指令就行,我连十几个从站这样写正常用,不过错误超时的时间尽量设短一点,个别从站连接错误也不影响。
永不放弃hhj
级别: 略有小成
精华主题: 0
发帖数量: 185 个
工控威望: 235 点
下载积分: 14054 分
在线时间: 113(小时)
注册时间: 2023-12-13
最后登录: 2025-01-03
查看永不放弃hhj的 主题 / 回贴
5楼  发表于: 61天前
图片:
这样用计时器跳过错误站点
ccu113
级别: 略有小成
精华主题: 0
发帖数量: 22 个
工控威望: 494 点
下载积分: 8369 分
在线时间: 9(小时)
注册时间: 2023-06-20
最后登录: 2025-01-03
查看ccu113的 主题 / 回贴
6楼  发表于: 61天前
超時就跳過
格林
我听到了花开的声音,也看到了花落的结局.
级别: 工控侠客
精华主题: 0
发帖数量: 121 个
工控威望: 3372 点
下载积分: 1564 分
在线时间: 37(小时)
注册时间: 2011-06-08
最后登录: 2025-01-03
查看格林的 主题 / 回贴
7楼  发表于: 22天前
1号站应答后执行2号站指令,2号站应答后执行3号站指令,如果2号站通信超时也执行3号站指令………………
我叫大聪明
级别: 探索解密
精华主题: 0
发帖数量: 68 个
工控威望: 107 点
下载积分: 1041 分
在线时间: 12(小时)
注册时间: 2023-11-04
最后登录: 2025-01-02
查看我叫大聪明的 主题 / 回贴
8楼  发表于: 7天前
你也可以直接用递增做一个时钟
一秒询一个站  不管正常还是故障 都是一秒过   缺点就是  如果从站太多   周期长
零度浪子001
级别: 正式会员
精华主题: 0
发帖数量: 39 个
工控威望: 97 点
下载积分: 900 分
在线时间: 13(小时)
注册时间: 2024-03-08
最后登录: 2024-12-31
查看零度浪子001的 主题 / 回贴
9楼  发表于: 7天前
引用
引用第2楼yiyang1于2024-11-03 19:44发表的  :
从站故障也跳转



用什么办法来判定从站是否故障
ayusecret
级别: 略有小成
精华主题: 0
发帖数量: 190 个
工控威望: 269 点
下载积分: 828 分
在线时间: 75(小时)
注册时间: 2021-10-31
最后登录: 2025-01-03
查看ayusecret的 主题 / 回贴
10楼  发表于: 4天前


如图,每次轮询做个缓存,正常则轮询会变化,异常则轮询和缓存相等,超过特定时间自动递增轮询