登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:三菱中Q01PLC如何计算CRC校验程序

点击:4852 回复:7

如何用PLC程序实现CRC校验码计算,谢谢!表情
07-10-01 16:17
照CRC的计算方法
一步一步做
07-10-02 00:38
wudp老兄,你好我用如下CRC的计算方法:
   · 预置16位寄存器为十六进制FFFF(即全为1)。称此寄存器为CRC寄存器;
  · 把第一个8位数据与16位CRC寄存器的低位相异或,把结果放于CRC寄存器;
  · 把寄存器的内容右移一位(朝低位),用0填补最高位,检查最低位;
  · 如果最低位为0:重复第3步(再次移位); 如果最低位为1:CRC寄存器与多项式A001(1010 0000 0000 0001)进行异或;
  · 重复步骤3和4,直到右移8次,这样整个8位数据全部进行了处理;
  · 重复步骤2到步骤5,进行下一个8位数据的处理;
  · 最后得到的CRC寄存器即为CRC码。
我用手工按上面方法计算了一下,好象算了N遍都没有得到串行通信口调试软件计算出的结果,不知是我理解错误还是那个地方出了问题,如计算01H的CRC码,软件计算的是807eh,而我用手工计算算出的是c03eh, 不知是那个地方理解或者算法有误,请剔教,谢谢!!!
07-10-02 00:51
方法是对的
手工算的话很麻烦
注意右移和比较
07-10-02 20:06
我想问的是,WUDP你对三菱Q01PLC熟悉吗?请问在串行通讯QJ71C24N中它接收PLC的数据一定要是ASCII码吗?如果是,那么Q01中的数据处理没有ASCII转换的指令,这样岂不是太麻烦了,我觉得三菱做东西越来越垃圾了,如果这样搞我以后不敢在用它的东西了。请你能说说,让大家学习学习,少走弯路.
07-10-02 22:25
有ASCII转换的指令
07-10-06 22:49
但我看了手册一下,也试过了,可就是找不到那条指令可以担当这个角色,是基本型的Q系列的plc,而不是高性能的,ASCII在Q系列的PLC中只看到了Q02系列的及以上的有这条指令,还望老兄能明示。谢谢!!
表情
07-10-07 12:40
不能用RTU吗?
10-06-27 18:24

工控新闻

更多新闻资讯