硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1570|回复: 5
收起左侧

请教个关于modbus主站轮训多从站的问题

[复制链接]

7

主题

190

回帖

216

积分

高级会员

积分
216
发表于 2021-7-30 14:35:29 | 显示全部楼层 |阅读模式
各位大佬好,请教个关于modbus主站轮训多从站的问题:      正在做的一款产品是一个modbus主站,需要采集五个从站的数据信息,我现在的做法是主站先使能发送端,然后主站发送命令采集从站1的数据,接着主站使能数据接收端,做了个计数器当作计时器延时等待从站返回数据;如果5s内接收到正确数据则会向下一个从站发送采集命令,如果5s内没有接收到数据或者接收的数据不对则等待5s结束后再向下一个从站发送命令,这样挨个读取从站的数据。
      但是从站设备因为都不太一样,有的响应速度快有的响应慢,有时候主站5s等待完已经切换到发送使能了从站的数据才响应回来,这样直接就丢包了,还有一些其他问题导致信号错误或者误码的问题也会影响到主站的接收,而且产品所处的现场环境比较差,信号线和动力线在同一个电缆里面,想请教下大家有没有好点的方法把这一部分优化下,大家平时做modbus轮训的时候是怎么处理这一部分的呀。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107147
QQ
发表于 2021-7-30 14:51:18 | 显示全部楼层
这个问题有一点要确定,你的从机设备再慢,5秒钟还没有返回,是否还会有返回的情况。

回复

使用道具 举报

7

主题

190

回帖

216

积分

高级会员

积分
216
 楼主| 发表于 2021-7-30 15:15:31 | 显示全部楼层
eric2013 发表于 2021-7-30 14:51
这个问题有一点要确定,你的从机设备再慢,5秒钟还没有返回,是否还会有返回的情况。

感谢硬汉哥   如果从机收到主机的采集命令了 它肯定会在500ms内返回数据     就怕其他信号干扰了 从机没收到命令  或者从机发出命令主机没收到 了   尴尬……  因为在现场这样的情况经常发生这个是我的 处理流程图
Snipaste_2021-07-30_15-05-46.png



回复

使用道具 举报

39

主题

929

回帖

1051

积分

至尊会员

积分
1051
发表于 2021-7-30 16:45:48 | 显示全部楼层
我们做Modbus扫描,每个从站等400ms,400ms没收到返回再重复发送一次,连续三次都不成功就读下一个,一直运行的很稳定。
听你的描述,你的问题应该是程序问题,而不是干扰问题。要么是从机返回晚了,要么是主机程序处理有问题。你在485总线上挂一个USB转485到电脑,用串口调试助手检测数据,就能知道是从机返回晚了,还会从机已经返回,主机半天才响应。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107147
QQ
发表于 2021-7-31 08:23:18 | 显示全部楼层
abcde1224 发表于 2021-7-30 15:15
感谢硬汉哥   如果从机收到主机的采集命令了 它肯定会在500ms内返回数据     就怕其他信号干扰了 从机没 ...

从机没收到命令 或者从机发出命令主机没收到 了,这些都是正常错误,都判别为没收到即可。

就是你前面说得,很长时间是否还会偶有数据返回,这就有点问题了。如果这种情况和别的从机设备同时返回,那校验是不对的,所以也不要担心。
回复

使用道具 举报

7

主题

190

回帖

216

积分

高级会员

积分
216
 楼主| 发表于 2021-8-8 18:43:22 | 显示全部楼层
eric2013 发表于 2021-7-31 08:23
从机没收到命令 或者从机发出命令主机没收到 了,这些都是正常错误,都判别为没收到即可。

就是你前面 ...

好的 感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-20 15:18 , Processed in 0.168448 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表