何工控學
勵志竭精
級別: 家園?
精華主題: 0
發(fā)帖數量: 609 個
工控威望: 905 點
下載積分: 13667 分
在線時間: 501(小時)
注冊時間: 2012-10-26
最后登錄: 2024-11-01
查看何工控學的 主題 / 回貼
樓主  發(fā)表于: 2015-06-24 11:53
各位大師們好:請問PLC與變頻器通信時,CRC校驗是怎樣計算的呀,有沒有公式可以用,還是只接把數據相加再取低8位,
instanttw
級別: 探索解密
精華主題: 0
發(fā)帖數量: 26 個
工控威望: 155 點
下載積分: 2292 分
在線時間: 39(小時)
注冊時間: 2013-04-25
最后登錄: 2021-11-04
查看instanttw的 主題 / 回貼
1樓  發(fā)表于: 2015-07-21 12:33
不必了解它的為何,僅須了解它的如何。

根據安川變頻A1000手冊 SIEP C710616 21D 第523頁有提到計算方式,以三菱ST九行即可完成。

函數名稱:FYaskawa_GetCRC
類型:
FYaskawa_GetCRC    Word[Unsigned]/Bit String[16-bit]

VAR_INPUT    Value    Word[Unsigned]/Bit String[16-bit]
VAR        val    Word[Unsigned]/Bit String[16-bit]
VAR        index    Word[Signed]

程序:
val := Value;
FOR index := 1 TO 8 DO
    IF (val AND 1) <> 0 THEN
        val := SHR(val, 1) XOR 16#A001;
    ELSE
        val := SHR(val, 1);
    END_IF;
END_FOR;
FYaskawa_GetCRC := val;
instanttw
級別: 探索解密
精華主題: 0
發(fā)帖數量: 26 個
工控威望: 155 點
下載積分: 2292 分
在線時間: 39(小時)
注冊時間: 2013-04-25
最后登錄: 2021-11-04
查看instanttw的 主題 / 回貼
2樓  發(fā)表于: 2015-07-22 09:32
那就要祈求未來的路上碰不到 3G 了。