yangdongsong
級(jí)別: 正式會(huì)員
精華主題: 0
發(fā)帖數(shù)量: 8 個(gè)
工控威望: 97 點(diǎn)
下載積分: 583 分
在線時(shí)間: 5(小時(shí))
注冊(cè)時(shí)間: 2015-11-23
最后登錄: 2024-08-22
查看yangdongsong的 主題 / 回貼
樓主  發(fā)表于: 2021-10-31 21:05
描述:plc截圖1
圖片:
描述:plc截圖2
圖片:
描述:plc截圖3
圖片:
描述:plc截圖4
圖片:
描述:plc截圖5
圖片:
描述:plc截圖6
圖片:
描述:瀏覽器截圖1
圖片:
        歐姆龍PLC,用功能塊編寫(xiě)的modbus_crc校驗(yàn).經(jīng)過(guò)驗(yàn)證.沒(méi)有問(wèn)題.如果是自己通過(guò)RS232自由口通信與RS485的儀表通信.這樣就會(huì)用的校驗(yàn)碼的計(jì)算.在網(wǎng)上找了許多資料,覺(jué)得比較麻煩也很難懂.所以產(chǎn)生自己編寫(xiě)的想法.
        1)CRC寄存器初始值為 FFFF;即16個(gè)字節(jié)全為1;

2)CRC-16 / MODBUS的多項(xiàng)式A001H (1010 0000 0000 0001B) ‘H’表示16進(jìn)制數(shù),‘B’表示二進(jìn)制數(shù)

計(jì)算步驟為:
(1).預(yù)置 16 位寄存器為十六進(jìn)制 FFFF(即全為 1) ,稱此寄存器為 CRC  寄存器;  
(2).把第一個(gè) 8  位數(shù)據(jù)與 16  位 CRC  寄存器的低位相異或,把結(jié)果放于 CRC  寄
存器;

(3).檢測(cè)相異或后的CRC寄存器的最低位,若最低位為1:CRC寄存器先右移1位,再與多項(xiàng)式A001H進(jìn)行異或;若為0,則CRC寄存器右移1位,無(wú)需與多項(xiàng)式進(jìn)行異或。

(4).重復(fù)步驟 3  ,直到右移 8  次,這樣整個(gè) 8 位數(shù)據(jù)全部進(jìn)行了處理;
(5).重復(fù)步驟 2  到步驟4,進(jìn)行下一個(gè) 8  位數(shù)據(jù)的處理;
(6).最后得到的 CRC  寄存器即為 CRC 碼。
描述:程序
附件: 歐姆龍CRC校驗(yàn)程序.rar (6 K) 下載次數(shù):299
網(wǎng)站提示: 請(qǐng)不要用迅雷下載附件,容易出錯(cuò)
bnnyygy
bnnyygy
級(jí)別: 家園常客
精華主題: 0
發(fā)帖數(shù)量: 493 個(gè)
工控威望: 601 點(diǎn)
下載積分: 1787 分
在線時(shí)間: 483(小時(shí))
注冊(cè)時(shí)間: 2016-09-20
最后登錄: 2024-09-20
查看bnnyygy的 主題 / 回貼
1樓  發(fā)表于: 2021-10-31 21:14
ST個(gè)人感覺(jué)更方便一些,梯形圖計(jì)算太長(zhǎng)了
ajunn
級(jí)別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 519 個(gè)
工控威望: 679 點(diǎn)
下載積分: 1653 分
在線時(shí)間: 1026(小時(shí))
注冊(cè)時(shí)間: 2008-11-05
最后登錄: 2024-09-19
查看ajunn的 主題 / 回貼
2樓  發(fā)表于: 2021-10-31 21:32
功能塊內(nèi)部不需要用沿指令吧?也就一次過(guò)得出結(jié)果的函數(shù)
yangdongsong
級(jí)別: 正式會(huì)員
精華主題: 0
發(fā)帖數(shù)量: 8 個(gè)
工控威望: 97 點(diǎn)
下載積分: 583 分
在線時(shí)間: 5(小時(shí))
注冊(cè)時(shí)間: 2015-11-23
最后登錄: 2024-08-22
查看yangdongsong的 主題 / 回貼
3樓  發(fā)表于: 2021-11-01 14:57
st沒(méi)有字的異或指令。所以才用梯形圖的
zmxlqy
級(jí)別: 正式會(huì)員
精華主題: 0
發(fā)帖數(shù)量: 8 個(gè)
工控威望: 99 點(diǎn)
下載積分: 717 分
在線時(shí)間: 14(小時(shí))
注冊(cè)時(shí)間: 2010-08-03
最后登錄: 2023-06-20
查看zmxlqy的 主題 / 回貼
4樓  發(fā)表于: 2022-10-17 14:59
之前用ST編寫(xiě)過(guò),多年不用不知道放哪里了