Modbus CRC的生成

Modbus通信时, MSG的CRC是计算机生成并校验还是要自己弄生成程序来生成并添加的? 校验程序也要 自己写?

最佳答案

调用库文件modbus rtu,选择校验后,这些CRC是建立在库指令里面的,不需要你单独再编写。
如果是自己编辑的通讯程序,那需要自己编写CRC程序:
实际上编写这个程序也简单的,我之前有过总结:按下面6个步骤写。
CRC校验程序的编法:
1)设置CRC存储器为16#FFFF,存储区:AC0
2)把第一个参与校验的低8位与CRC的低8位进行异或运算,结果存放在CRC
3)把CRC右移一位,最高位补0,检查最低位b0值
4)若b0=0,CRC不变,CRC与16#A001进行异或运算,结果存放在CRC
5)重复3、4两步,直到右移8次,这样第一个8位数均进行处理了,结果存放在CRC
6)重复2、5步,处理第二个8位数
我在论坛也有这个源程序发的帖子,测试过的。

提问者对于答案的评价:

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc360489.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午11:29
下一篇 2021年7月5日 上午11:29

相关推荐

  • CPU226输入问题

    我用的是CPU226,DI输入用的是源型方式接线,为什么I0.0~I0.7不正常呢?现场过来的DI信号,导通时I0.0状态灯不亮,用短接线在端子上短接时状态灯亮,I0.0~I0.7…

    SIMATIC S7-200 2020年11月5日
  • S7-200之间和组态王的以太网通讯

    S7-200 226CPU两块,其中一块接CP243-1模块,两块CPU之间通过PPI电缆连接,请问这样可否实现组态王和两块CPU的通讯呢? 问题补充:可以再具体点吗?谢…

    SIMATIC S7-200 2020年10月31日
  • MODBUS多从站的轮询

    CPU226作主站带多个modbus从站,在编程的时候有一个轮询的问题。在一个从站内部的20个数据交换,可以用轮询的方法解决了,忽然想到主站不可能总是在一个从站里面反复地“转圈”,…

    SIMATIC S7-200 2021年7月5日
  • PID向导提问

    向导生成PID后,出现一个PID 0_INIT指令。该指令里有一个setpoint_R     如果我要的PID是温度控…

    SIMATIC S7-200 2021年7月5日
  • 224XP CAN接口

    224XP CAN接口 现在想用224XP控制一设备,设备上有几个传感器和执行器都是Canopen接口的,224XP如何连接CAN接口呢? 最佳答案 印象中日系…

    SIMATIC S7-200 2020年10月31日
  • 急!S7-200与台达变频器MODBUS链接不上!

    刚尝试做通讯,今天我用DP接头接上电话线  使224XP与台达B变频器链接上   我写了个程序   …

    2018年3月6日
  • 关于电机保护器和s7200通讯

    请各位高手指点:我现在想将s7200PLC与电机保护器通讯然后将数据传到上位机,请问程序如何编写。下面是通讯协议:  半双工 RS485 口…

    SIMATIC S7-200 2021年7月4日
  • 求S7200smart编程软件,急急 谢谢

    求S7200smart软件,谢谢邮箱是15063522689@163.com 最佳答案 https://www.industry.siemens.com.cn/automation…

    SIMATIC S7-200 2021年7月5日
  • 求助关于200PLC的MODBUS通讯

    请问各位高人,利用一个200PLC能否通过modbus将采集到的信息直接传递给主机??直接使用从站指令可以吗? 最佳答案 S7200PLC 的PORT0 通信口…

    SIMATIC S7-200 2017年11月12日
  • s200 uss读报警参数

    s200与mm440进行uss通讯,两都之间只有一根通讯线,但是当变频器报警的时候要做报警灯等的处理,我怎么知道变频器在没在报警呢,我是刚学习用uss,这是第一个项目,还请大侠说的…

    SIMATIC S7-200 2021年7月4日

发表回复

登录后才能评论