工控劍俠666
天道酬勤,認真的人做認真的事 。
級別: 工控俠客
|
問一下各位,程序的子程序P1里面有一個WAND H7FFF D281 D281這個我沒有看明白 我看了另一個的是 WAND HFFFF D1 D1 這個和上面一個 他們倆的區別在哪里 就是H7FFF 和 HFFFF 是有區別的吧。 難道一個是RTU一個是ASI的 求各位大大指教 |
|
---|---|---|
|
anlyl2014
大吉大利
級別: 網絡英雄
|
H7FFF換成二進制數為111111111111111,15位填滿;也就是最左位,填入0; RTU 模式: RTU 模式採用CRC (Cyclical Redundancy Check)偵誤值,CRC 偵誤值以下列步驟計算: 步驟 1:載入一個內容為FFFFH 之16-bit 寄存器 (稱為CRC 寄存器)。 步驟 2:將命令信息第一個字節與16-bit CRC 寄存器的低次字節進行Exclusive OR 運算,並 將結果存回CRC 寄存器。 步驟 3:將CRC 寄存器之內容向右移1 bit,最左bit 填入0,檢查CRC 寄存器最低位的值。 步驟 4:若CRC 寄存器的最低位為0,則重復步驟 3;否則將CRC 寄存器與A001H 進行 Exclusive OR 運算。 步驟 5:重復步驟 3 及步驟 4,直到CRC 寄存器之內容已被右移了8 bits。此時,該字節已 完成處理。 步驟 6:對命令信息下一個字節重復重復步驟2 至步驟5,直到所有字節皆完成處理,CRC 寄 存器的最后內容即是CRC 值。當在命令信息中傳遞 CRC 值時,低字節須與高字節交 換順序,亦即,低字節將先被傳送。 [ 此帖被anlyl2014在2019-04-22 14:40重新編輯 ] |
|
---|---|---|
本帖最近評分記錄:
|