Modbus主站轮询发送问题

2019-07-20 04:09发布

有没有用过Modbus主站的大神,我在轮询从站的时候出了问题,站与站之间会有延时,不知道为什么?代码如下: 1547625442(1).jpg
望大神指点一二,不胜感激。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
10101100
1楼-- · 2019-07-20 17:10
 精彩回答 2  元偷偷看……
10101100
2楼-- · 2019-07-20 19:01
yklstudent 发表于 2019-1-16 19:22
你从站不会过滤不是发给自己的报文?

从站接收到数据之后,会对比CRC校验,如果CRC不对,说明报文不对,但是没办法控制接收,从站是只要有数据我就会接收。这个问题出现在帧与帧之间的间隔时间没有做。当从站1返回给主站时,主站需要间隔多长时间再查询2#从站,这样就行了,但是我加了间隔时间,还是没解决问题。
wangzhaohui
3楼-- · 2019-07-20 22:40
 精彩回答 2  元偷偷看……
yklstudent
4楼-- · 2019-07-20 23:23
10101100 发表于 2019-1-17 09:14
从站接收到数据之后,会对比CRC校验,如果CRC不对,说明报文不对,但是没办法控制接收,从站是只要有数据 ...

你從機沒有地址?地址不匹配軟件過濾處理啊
snail_dongbin
5楼-- · 2019-07-21 05:07
你的主站和从站都是自己写的代码吗?这个标准的设备都是有站号过滤功能的,不是自己的信息不处理,也不会有冲突这个说法。
modbus 分rtu和ascill,rtu要求一帧结束等3.5个字符时间,ascill没有此要求,回车代表结束。
我说的硬件延时是指的485是半双工通信,硬件ic上需要用一个io控制切换是发送还是收,这个切换也是要时间的,us级的延时。
另外,modbus同一时刻,只有一个节点是处于发送或着回复状态,其他的无伦主从都是接收,只是看接收后处理不处理而已。不会有同时发送又接收这种冲突。还有主站必须是发#1命令,等待接收完成,(延时)发#2命令,等待接收完成,(延时)发#3命令,等待接收完成。严格遵守一发一收。
10101100
6楼-- · 2019-07-21 10:41
 精彩回答 2  元偷偷看……

一周热门 更多>