pihailin
活到老學到老
級別: 家園常客
精華主題: 0
發(fā)帖數(shù)量: 352 個
工控威望: 575 點
下載積分: 1120 分
在線時間: 314(小時)
注冊時間: 2008-02-23
最后登錄: 2024-12-03
查看pihailin的 主題 / 回貼
樓主  發(fā)表于: 2009-06-01 21:02
那位大俠知道  014307Y0010 4B  校驗碼 4B 是怎么算出來的?我用過幾種算法都不一樣  什么是  縱式余數(shù)查核法 ?永宏FBS PLC通訊協(xié)議 014307Y0010 4B    將Y10-Y16抑能  通訊正常不知道它的校驗碼是怎么算出來的?納悶! 如果我想 將Y0-Y1抑能  發(fā)送 014302Y0000  那么校驗碼 該怎么算呢?有人知道嗎 出來分享下嘛
meiyouleya
天黑路滑,社會復雜!。
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 385 個
工控威望: 422 點
下載積分: 1377 分
在線時間: 119(小時)
注冊時間: 2006-11-01
最后登錄: 2021-08-13
查看meiyouleya的 主題 / 回貼
1樓  發(fā)表于: 2009-08-16 16:09
MODBUS 協(xié)議,,校驗碼計算說起來有點復雜,,不過搞懂了程序還是很簡單的,,幾步就搞定了.
就是1\先用第一個字節(jié)與FFFF異或,
2\結果右移一位
3\判斷移出位,如果為1就與A001異或,為0就繼續(xù)右移一位
4\重復3(右移八次)
這樣一個字節(jié)就算出來了,,要算幾個就一直重復下去,,
下個例子程序看下更明白,,,有些PLC只要是標準MODBUS 協(xié)議是不用寫效驗的