欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

modbus协议中响应的bytecount如何得来的

更新时间: 2014-01-05 03:14:57 责任编辑: Author_N1

 

modbus协议中响应的bytecount怎么得来的

--参考方法--
BYTE COUNT 就是数据的自己数,图中 No. of Registers 为 3,所以 3*2 = 6
--参考方法--
以7楼的图为例
":" ADDRESS 01 ADDRH ADDRL NUMH NUML LRC 0X0D 0X0A
ADDRH:所读寄存器的起始地址高
ADDRL:所读寄存器的起始地址低
NUMH: 需要读的个数高,看后面解释应该是要读线圈状态,一个线圈状态对应一位
NUML:需要读的线圈个数低

比如说你要读12个线圈的状态,NUMH应为0,NUML为0x12
但因为一个线圈状态只有一位,所以下位机返回时需要发"2个字节"才能把状态全部发完,于是才有了后面的BYTECOUNT=NUM/8+1.如果只读8个线圈,只需要一个字节所以会是BYTECOUNT=NUM/8
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:14:57
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/20069/
本文WWW.DOC100.NET DOC100.NET版权所有。