- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(ModbusRtu316号通信协议解释
Modbus Rtu 通信协议(3,16号命令)
?1、 读取保持寄存器(单个和多个,以字为最小单位)
发送命令帧:
设备地址 功能码 地址H 地址L 数据量H 数据量L CRC H CRC L Addr0 3 H HoldStart DataNum CRC高位 CRC低位 帧 长 度:8个字节
设备地址:1~247
功 能 码:3H
数据地址:0~65535 具体范围与相关设备有关
数 量:1~65535 具体范围与相关设备有关
校 验 码:CRC16校验
?返回命令帧:
设备地址 功能码 数据量 数据1 数据N CRC H CRC L Addr1 3 H 返回数据的字节数N Data (1~N) CRC高位 CRC低位 帧 长 度:5+N 个字节
设备地址:1~247
功 能 码:3H
数 据 量:实际的读取数据数量
数 据:返回数据的意义
a=HoldStart
n= DataNum-1
VW a (VB a) VWa(VB a+1) … VW a+n(VB a+n) VWa+n(VB a+n+1) Data(1) Data(2) … Data(N-1) Data(N) 校 验 码:CRC16校验
命令有误:
1)??????? 没有任何返回
2)??????? 返回异议帧
设备地址 功能码 错误信息 CRC H CRC L Addr1 83 H 一个字节的错误信息 CRC高位 CRC低位 2、 设置保持寄存器(多个,以字为最小单位)
发送命令帧:
?设备地址 功能码 地址H 地址L 数据量H 数据量L 数据字节数 具体
数据 CRC H CRC L Addr0 10 H HoldStart DataNum bytN 1~bytN CRC高位 CRC低位 帧 长 度:9+bytN 个字节
设备地址:1~247
功 能 码:10H
数据地址:0~65535 具体范围与相关设备有关
数 量:1~122 具体范围与相关设备有关
字 节 数:设置的字节个数 bytN= DataNum×2
数 据:具体的字节数据
校 验 码:CRC16校验
?返回命令帧:
设备地址 功能码 地址H 地址L 数据量H 数据量L CRC H CRC L Addr1 10 H HoldStart DataNum CRC高位 CRC低位 帧 长 度:8 个字节
设备地址:1~247
功 能 码:10H
数据地址:0~65535 具体范围与相关设备有关
数 量:1~122 具体范围与相关设备有关
校 验 码:CRC16校验
?命令有误:
1)??? 没有任何返回
2)?????返回异议帧
地址 功能码 错误信息 CRC H CRC L Addr1 90 H 一个字节的错误信息 CRC高位 CRC低位
设置单个寄存器(06H)
发送命令帧:
?设备地址 功能码 地址H 地址L 数据H 数据L CRC H CRC L Addr0 06H HoldStart Data CRC高位 CRC低位
返回命令帧:
设备地址 功能码 地址H 地址L 数据H 数据L CRC H CRC L Addr1 06H HoldStart Data CRC高位 CRC低位
CRC-16(循环冗余错误校验)
CRC-16错误校验程序如下:报文(此处只涉及数据位,不指起始位、停止位和任选的奇偶校验位)被看作是一个连续的二进制,其最高有效位(MSB)首选发送。报文先与X^16相乘(左移16位),然后看X^16+X^15+X^2+1除,X^16+X^15+X^2+1可以表示为二进制数1 1000 0000 0000 0101。整数商位忽略不记,16位余数加入该报文(MSB先发送),成为2个CRC校验字节。余数中的1全部初始化,以免所有的零成为一条报文被接收。经上述处理而含有CRC字节的报文,若无错误,到接收设备后再被同一多项式(X^16+X^15+X^2+1)除,会得到一个零余数(接收设备核验这个CRC字节,并将其与被传送的CRC比较)。全部运算以2为模(无进位)。
习惯于成串发送数据的设备会首选送出字符的最右位(LSB-最低有效位)。而在生成CRC情况下,发送首位应是被除数的最高有效位MSB。由于在运算中不用进位,为便于操作起见,计算CRC时设MSB在最右位。生成多项式的位序也必须反过来,以保持一致。多项式的MSB略去不记,因其只对商有影响而不影响余数。
生成CRC-16校验字节的步骤如下:
①装如一个16位寄存器,所有数位均为1。
②该16位寄存器的高位字节与开始8位字节进行“异或”运算。运算结果放入这个16位寄存器。
③把这个16寄
文档评论(0)