crc问题
郑志武
发布于2013-03-05 23:34
591
0
标签:
讲解一modbusrutcrc校验怎么一回事,程序应怎么写?、
佳答案
crc即循环冗余校验码(cyclicredundancycheck):是数据通信领域中常用的一种差错校验码,即modbus请求和响应中的所有字节数据都会参与运算并生成相应的crc校验值。该校验值一般由2个字节的数据组成,并链接到modbus数据字节的后。
modbus主站或从站接收到另一方发来的数据包后,首先检查crc校验值是否正确,如果正确才会解包数据,如果校验错误,直接丢弃数据,并等待下一个数据包。
在crc校验计算方法中有两种方式:
1)查表法,此方法快,但是占用的地址空间较多;
2)多项式计算法:此方法编程简单,但是运算时相对耗时;
目前用的多的是查表法。
在s7200的modbus类库中已经集成了crc校验程序,楼主无需编程,只需根据需要设置其他的数据包参数即可。
如果楼主希望得到c#或vb.net的crc校验编程方法,我可以发给您,或者您在网上找找也行,多的是。