RTU协议给的CRC校验算法

时间:2023-03-20作者:佚名

老帖中发现的一个CRC校验,帖子说是正确的,可我感觉在第一个FOR循环,AC1在怎么加一,永远都是将&VB0的数据送给它啊,是我理解错误,还是程序有错误?怎么修改才好呢?
Network 1 // 网络标题
// 网络注释
LD SM0.1

MOVB 16#1, VB0

MOVB 16#1, VB1

MOVB 16#0, VB2

MOVB 16#20, VB3

MOVB 16#0, VB4

MOVB 16#20, VB5
Network 2
LD M0.1

FOR VW10, 1, 6
Network 3
LDW= VW10, 1

MOVW 16#FFFF, AC0

MOVD &VB0, AC1
Network 4
LD SM0.0

XORB *AC1, AC0
Network 5
LD SM0.0

FOR VW12, 1, 8

SRW AC0, 1

AENO

A SM1.1

XORW 16#A001, AC0
Network 6
NEXT
Network 7
LD SM0.0

INCD AC1
Network 8
NEXT
Network 9
LD M0.1

SWAP AC0

AENO

MOVW AC0, VW6

答:程序没问题,CRC本身的校验机制要清楚。请参考RTU协议给的CRC校验算法。
CRC开始时先把寄存器的16位全部置成“1”,然后把相邻2个8位字节的数据放入当前寄存器中,只有每个字符的8位数据用作产生CRC,起始位,停止位和奇偶校验位不加到CRC中。 产生CRC期间,每8位数据与寄存器中值进行异或运算,其结果向右移一位(向LSB方向),并用“0”填入MSB,检测LSB,若LSB为“1”则与预置的固定值异或,若LSB为“0”则不作异或运算。 重复上述处过程,直至移位8次,完成第8次移位后,下一个8位数据,与该寄存器的当前值异或,在所有信息处理完后,寄存器中的最终值为CRC值。
产生CRC的过程:
1. 把16位CRC寄存器置成FFFFH.
2. 第一个8位数据与CRC寄存器低8位进行异或运算,把结果放入CRC寄存器。
3. CRC寄存器向右移一位,MSB填零,检查LSB.
4. (若LSB为0):重复3,再右移一位。
(若LSB为1):CRC寄存器与Aool H 进行异或运算
5. 重复3和4直至完成8次移位,完成8位字节的处理。
6. 重复2至5步,处理下一个8位数据,直至全部字节处理完毕。
7. CRC寄存器的最终值为CRC值。
8. 把CRC值放入信息时,高8位和低8位应分开放置。
把CRC值放入信息中 ,发送信息中的16 位CRC值时,先送低8位,后送高8位。

相关阅读

验收水电时把沙子挖开一看, 无语了! 水电验收真的马虎不得!

家装中的隐蔽工程水电和防水是特别重要的,刚开始自己家装修的时候,也知道水电很重要,一定要把自己水电给把好关。师傅叫去验收水电的时候觉得他很有信心一样,我还挺相信他...
2023-06-11
验收水电时把沙子挖开一看, 无语了! 水电验收真的马虎不得!

事故预想:燃机正常运行中透平框架冷却风机88TK故障怎么处理?

1.两台88TK同时故障 1)、 两台88TK同时故障,则机组快速降负荷解列后停机,交检修处理。 2)、 停机过程中密切观察排烟温度、透平支撑腿内冷却水温度WTTL1/2,如有异常及时上报。 电机...
2023-06-13
事故预想:燃机正常运行中透平框架冷却风机88TK故障怎么处理?

电机正反转电路图转S7200SMART PLC梯形图两种方式

【免费下载】 PLC软件下载_PLC软件安装教程_PLC手册下载_PLC案例下载! 【免费学习】 变频器精品课程_西门子PLC精品教程_三菱PLC精品教程! 说到正反转想必大家并不陌生吧!学过电工或者...
2023-06-27

家庭漏电保护器检修全流程

在家庭用电安全中,漏电保护器起着至关重要的作用。它能在发生漏电或触电事故时迅速切断电源,保护我们的生命和财产安全。然而,随着时间的推移和使用频率的增加,漏电保护器也可能...
2024-08-30
家庭漏电保护器检修全流程

TTL电路分析、工作原理、使用方法

今天给大家分享的是: TTL电路的分析 、TTL电路 工作原理 、TTL电路 使用方法 。 一、TTL电路是什么意思? TTL 是一种 集成电路 ,通过 使用双极晶体管来执行逻辑功能以提供开关功能 。...
2023-05-18
TTL电路分析、工作原理、使用方法

热销商品

连发瓦斯枪通用瓦斯射钉钢钉枪瓦斯气体高强度瓦斯射钉枪165气罐

连发瓦斯枪是一款专为高强度瓦斯射钉设计的工具,其特点在于能够连续发射瓦斯气体,适用于多种需要快速穿透和固定材料的场景。这款瓦斯枪配备了165气罐,容量足够满足...
4.5

黄铜镀镍金属电缆防水接头EWM密封格兰头HSM电线固定填料函M20M16

黄铜镀镍金属电缆防水接头EWM密封格兰头(HSM型)是一款高性能电线固定与密封装置,适用于M16和M20螺纹规格。采用优质黄铜材质并表面镀镍处理,具备优异的防腐蚀性、机械...
1.14

消防配件二氧化碳灭火器2 3 5 7KG弯头喷管24Kg干冰CO2外喷头喷嘴

二氧化碳灭火器配件中的2357KG弯头喷管与24Kg干冰CO₂外喷头喷嘴,是专业消防设备的重要组成部分。该弯头喷管采用高强度耐腐蚀材料制造,连接灵活,适用于高压CO₂灭火...
4.5

雷士照明led筒灯孔灯客厅吊顶天花灯嵌入式过道筒灯射灯桶灯家用

雷士照明LED筒灯是一款专为现代家居设计的嵌入式照明产品,适用于客厅、吊顶、过道、卧室等空间。采用高品质LED光源,光线柔和均匀,显色指数高,有效还原真实色彩,营造舒...
5.78

雷士照明嵌入式防眩筒灯射灯窄边过道灯深杯客厅无主灯天花灯米雪

雷士照明嵌入式防眩筒灯射灯——“米雪”系列,专为现代无主灯设计打造。采用窄边深杯结构,有效控制杂散光,实现精准防眩,营造舒适柔和的光环境。适用于客厅、过道、天...
25.67

网站栏目