描述:plc截圖1
圖片:
描述:plc截圖2
圖片:
描述:plc截圖3
圖片:
描述:plc截圖4
圖片:
描述:plc截圖5
圖片:
描述:plc截圖6
圖片:
描述:瀏覽器截圖1
圖片:
歐姆龍PLC,用功能塊編寫(xiě)的modbus_crc校驗.經(jīng)過(guò)驗證.沒(méi)有問(wèn)題.如果是自己通過(guò)RS232自由口通信與RS485的儀表通信.這樣就會(huì )用的校驗碼的計算.在網(wǎng)上找了許多資料,覺(jué)得比較麻煩也很難懂.所以產(chǎn)生自己編寫(xiě)的想法.
1)CRC寄存器初始值為 FFFF;即16個(gè)字節全為1;
2)CRC-16 / MODBUS的多項式A001H (1010 0000 0000 0001B) ‘H’表示16進(jìn)制數,‘B’表示二進(jìn)制數
計算步驟為:
(1).預置 16 位寄存器為十六進(jìn)制 FFFF(即全為 1) ,稱(chēng)此寄存器為 CRC 寄存器;
(2).把第一個(gè) 8 位數據與 16 位 CRC 寄存器的低位相異或,把結果放于 CRC 寄
存器;
(3).檢測相異或后的CRC寄存器的最低位,若最低位為1:CRC寄存器先右移1位,再與多項式A001H進(jìn)行異或;若為0,則CRC寄存器右移1位,無(wú)需與多項式進(jìn)行異或。
(4).重復步驟 3 ,直到右移 8 次,這樣整個(gè) 8 位數據全部進(jìn)行了處理;
(5).重復步驟 2 到步驟4,進(jìn)行下一個(gè) 8 位數據的處理;
(6).最后得到的 CRC 寄存器即為 CRC 碼。