打印

关于MODBUS通信

[复制链接]
2383|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ningling_21|  楼主 | 2011-7-19 10:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
tjcao| | 2011-7-19 11:04 | 只看该作者
根据时间来判断,modbus中规定如果超过3.5个字节的传输时间没收到数据,就认为是数据帧的结束。假设现在的通讯波特率是9600,3.5个字节的时间就是3.5秒,实际中可按两倍的时间来计算。

使用特权

评论回复
板凳
automation123| | 2011-7-19 19:57 | 只看该作者
嗯,通过停顿时间。如ls所说。

使用特权

评论回复
地板
ningling_21|  楼主 | 2011-7-20 08:29 | 只看该作者
谢谢楼上2位提醒!

使用特权

评论回复
5
ningling_21|  楼主 | 2011-7-22 21:59 | 只看该作者
发现个奇怪的现象,给目标设备发送数据时,结果发送完后收到同样的数据。

设备接口为485接口转232到电脑串口...

设备为多功能电测表...

使用特权

评论回复
6
chunyang| | 2011-7-23 03:56 | 只看该作者
楼上现象应先检查485接口电路是否同时准许了收发使能,如是,会自发自受的,另外程序有问题也可能导致。

使用特权

评论回复
7
hotpower| | 2011-7-23 14:48 | 只看该作者

使用特权

评论回复
8
ningling_21|  楼主 | 2011-7-23 22:03 | 只看该作者
6# chunyang

是同时使能发送和接收的
其实应该是,有发送没接收到数据...

使用特权

评论回复
9
weibestww| | 2011-9-2 22:15 | 只看该作者
modbus地址准的modbus协议数据区是有发送和接受的字节数的,一楼的modbus命令好特别,而且二楼的3.5s不知道是怎么算出来的,判断数据接收应靠超时应答函数来解决,一般情况在9600波特率情况下超过10ms就认为一帧数据接收完成。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5013

主题

17741

帖子

51

粉丝