完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
这个具体可以查看国标 GB/T 19582-2008 《基于Modbus协议的工业自动化网络规范》
一共三部分 整体过程比较长,不太好黏贴上来,可以自己查看下。。。 2.5.1.2 CRC 校验 在RTU 模式包含一个对全部报文内容执行的,基于循环冗余校验 (CRC - Cyclical Redundancy Checking) 算法的错误检验域。CRC 域检验整个报文的内容。不管报文有无奇偶校验,均执行此检 验。 CRC 包含由两个8 位字节组成的一个16 位值。 CRC 域作为报文的最后的域附加在报文之后。计算后,首先附加低字节,然后是高字节。CRC 高字节为报文发送的最后一个子节。 附加在报文后面的CRC 的值由发送设备计算。接收设备在接收报文时重新计算CRC 的值, 并将计算结果于实际接收到的CRC 值相比较。如果两个值不相等,则为错误。 CRC 的计算, 开始对一个16 位寄存器预装全1。然后将报文中的连续的8 位子节对其进行后 续的计算。只有字符中的8个数据位参与生成CRC 的运算,起始位,停止位和校验位不参与CRC 计算。 CRC 的生成过程中, 每个 8–位字符与寄存器中的值异或。然后结果向最低有效位(LSB)方向 移动(Shift) 1位,而最高有效位(MSB)位置充零。然后提取并检查LSB:如果LSB 为1, 则寄存 器中的值与一个固定的预置值异或;如果LSB 为 0, 则不进行异或操作。 这个过程将重复直到执行完8 次移位。完成最后一次(第8 次)移位及相关操作后,下一个8 位字节与寄存器的当前值异或,然后又同上面描述过的一样重复8 次。当所有报文中子节都运算之 后得到的寄存器忠的最终值,就是CRC。 当 CRC 附加在报文之后时,首先附加低字节,然后是高字节。在附录B 含有CRC 生成的详 细示例。 |
|
|
|
我看了没有。。然后其实我就想知道上图中我收到的那个返回值能不能表明我的 通信测试成功? |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
用udl里的字符串信息在局域网内其他电脑连接sql数据库为什么为出现连接失败拒绝访问?
1796 浏览 2 评论
为什么同一个队列引用的全局变量,运行在两个子vi中发现队列数据丢失了
1407 浏览 0 评论
1610 浏览 0 评论
关于labview2024版本的lvanlys.dll出错的问题
3477 浏览 3 评论
1527 浏览 2 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 14:53 , Processed in 0.579972 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号