any012 发表于 2016-5-10 10:39:44

Dylan疾风闪电 发表于 2016-5-9 14:52
请仔细阅读协议标准,协议上讲的很详细!《GB/T19582.1-2008》

感谢您的回复,贴的资料挺详细的。
但是里面并没有讲到为什么有的是有用寄存器访问,有的用字节访问。

Dylan疾风闪电 发表于 2016-5-10 11:19:08

any012 发表于 2016-5-10 10:39
感谢您的回复,贴的资料挺详细的。
但是里面并没有讲到为什么有的是有用寄存器访问,有的用字节访问。 ...

关于哪些使用寄存器、哪些使用字节,这只是协议标准规定的!
如果你的应用需要完全遵守协议,那你就必须按照《Modbus标准》来定义你的寄存器映射表!

如果你只想要遵循modbus的协议格式,这种通讯方式,那你完全可以自己规划。比如用寄存器地址0x0010的值来表示 一串开关量 信息,这也是可以的!

------------------------------------------------------------------------
所以,协议是死的、而应用是多变的。有时为了节省内存,全部使用寄存器也是可以的。
只在于你是循规蹈矩,还是借鉴使用。
:)

中山无雪 发表于 2016-5-10 12:46:13

Modbus协议很通用,但是对高实时性应用则不适用,因为返回某些位的值需要先发送命令才能返回,最近最一个项目就遇到这个问题,没办法,只好自己重新做了一套,协议格式还是Modbus的,只是改了数据返回方式。
页: 1 [2]
查看完整版本: 求教,关于modbus协议的一些疑问。