MODBUS规定的内容,具体是什么意思
答案:2 悬赏:80 手机版
解决时间 2021-03-24 00:03
- 提问者网友:萌卜娃娃
- 2021-03-23 13:14
MODBUS规定的内容,具体是什么意思
最佳答案
- 五星知识达人网友:掌灯师
- 2021-03-23 14:48
Modbus协议分ASCII,RTU和TCP三种类型。
你说的含有起始符和结束符的应该是Modbus ASCII,起始符是冒号(:)字符,ASCII码 为3AH,结束符是回车换行符,ASCII码为0DH,0AH。
而Modbus RTU通讯协议中是没有规定起始字符和结束字符的,Modbus协议中判断一帧数据的开始和结束时靠停止时间的长度来决定的。当两个字节的中间空闲时间超过4个Byte的时间,即判断这一帧结束。同样的道理,当超过4个Byte的空闲之后,下位机收到数据,此数据即判断为新的一帧数据的开始。
设备地址即为下位机的Slave Address,从站地址。
功能代码,你说的H3我没看懂~ 你是要表达03H吗? H代表16进制,03功能码是读取保持寄存器。常用的功能码还有如下一些:04H读取输入寄存器,06H读取单个寄存器,08H诊断,11H报告设备ID,16H写入多个寄存器。
数据就是你要写入的寄存器地址,写入几个寄存器以及写入的内容。如果是读操作,就只需要指定要读取的寄存器地址以及位数即可。
校验码是对数据有效性的一个校验,占两个字节,具体ASCII使用LRC校验,RTU使用CRC校验,TCP无需校验。至于校验码的算法,请百度之,有点太长了。。。
好了,大概就这些了,码字幸苦,如果对你有点帮助请记得采纳,谢谢!
你说的含有起始符和结束符的应该是Modbus ASCII,起始符是冒号(:)字符,ASCII码 为3AH,结束符是回车换行符,ASCII码为0DH,0AH。
而Modbus RTU通讯协议中是没有规定起始字符和结束字符的,Modbus协议中判断一帧数据的开始和结束时靠停止时间的长度来决定的。当两个字节的中间空闲时间超过4个Byte的时间,即判断这一帧结束。同样的道理,当超过4个Byte的空闲之后,下位机收到数据,此数据即判断为新的一帧数据的开始。
设备地址即为下位机的Slave Address,从站地址。
功能代码,你说的H3我没看懂~ 你是要表达03H吗? H代表16进制,03功能码是读取保持寄存器。常用的功能码还有如下一些:04H读取输入寄存器,06H读取单个寄存器,08H诊断,11H报告设备ID,16H写入多个寄存器。
数据就是你要写入的寄存器地址,写入几个寄存器以及写入的内容。如果是读操作,就只需要指定要读取的寄存器地址以及位数即可。
校验码是对数据有效性的一个校验,占两个字节,具体ASCII使用LRC校验,RTU使用CRC校验,TCP无需校验。至于校验码的算法,请百度之,有点太长了。。。
好了,大概就这些了,码字幸苦,如果对你有点帮助请记得采纳,谢谢!
全部回答
- 1楼网友:撞了怀
- 2021-03-23 15:52
可以搜 百度文库
有不少文档
MODBUS 协议有几类的
有不少文档
MODBUS 协议有几类的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯