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

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

函數(shù)名稱: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
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 26 個(gè)
工控威望: 155 點(diǎn)
下載積分: 2292 分
在線時(shí)間: 39(小時(shí))
注冊(cè)時(shí)間: 2013-04-25
最后登錄: 2021-11-04
查看instanttw的 主題 / 回貼
2樓  發(fā)表于: 2015-07-22 09:32
那就要祈求未來(lái)的路上碰不到 3G 了。