|
讀命令分析
一次讀一條數據
對于一次讀取一個數據,讀命令都是33個字節。前面的0—21字節是相同的,為 :
0 1 2 3 &nb
sp; 4 5 6 7
8 9 10 &nb
sp;11 12 13 14 &n
bsp; 15 16 17 &nb
sp;18 19 20 21 &n
bsp;
開始符 長度 長度 開始
符 站號 源地址 功能碼
&
nbsp; &n
bsp; &nb
sp; &nbs
p;
SD LE Ler SD &nbs
p; DA SA FC  
;
&
nbsp; &n
bsp; &nb
sp;
68 1B 1B 68  
; 02 00 6C
32 01 00 00  
; 00 00 00
0E 00 00 04  
; 01 12 0A
10
0 1 2 3 4 5 6
7 8 9 10
SD LE LER SD DA SA FC DSAP
68 1B 1B 68 02 00 6C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10
22 23 24 25  
; 26 27 28
29 30 31 32  
;
讀取長度 數據個數 存儲器類型
偏移量 校驗 結束
&
nbsp; &n
bsp; FCS ED &nbs
p;
02 00 08 00  
; 00 03 00
05 E0 D2 16  
;
68 1B 1B 68 02 00 6C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10 02 00 08 00 00 03 00 05
E0 D2 16
68 1B 1B 68 02 00 7C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10 02 00 14 00 00 03 00 00
00 09 16
因為是PC上發的讀PLC數據的命令,SA=00,DA=02,如果有多個站,DA要改成相應的站號。讀命令中從DA
到DU的長度為1B即27個字節。從22字節開始根據讀取數據的類型、位置不同而不同。表一是讀不同存儲
器命令的Byte22—32。
字節 22 23 24 25 26
27 28 29 30 31 32
功能 讀取長度 數據個數 存儲器類型 偏移量 校驗 結束
讀q0.0 01 00 01 00 00
82 00 00 00 64 16
讀m0.0 01 00 01 00 00
83 00 00 00 65 16
讀M0.1 01 00 01 00 00
83 00 00 01 66 16
讀SMB34 02 00 01 00 00
05 00 01 10 F9 16
讀VB100 02 00 01 00 01
84 00 03 20 8B 16
讀VW100 04 00 01 00 01
84 00 03 20 8D 16
讀vd100 06 00 01 00 01
84 00 03 20 8F 16
讀i0.5 01 00 01 00 00
81 00 00 05 68 16"
讀i0.7 01 00 01 00 00
81 00 00 07 6A 16"
握手
10 02 00 49 4B 16
讀取密碼指令:
68 1B 1B 68 02 00 6C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10 02 00 08 00 00 03 00 05
E0 D2 16
10 02 00 5C 5E 16
返回密碼數據:
68 1D 1D 68 00 02 08 32 03 00 00 00 00 00 02 00 0C 00 00 04 01 FF 04 00 40 9B 98 02 06 9D
9A 00 76 7D 16
大家來看一下密碼是多少啊,這里就有plc返回的密碼!
改寫密碼保護位指令
68 20 20 68 02 00 7C 32 01 00 00 00 00 00 0E 00 05 05 01 12 0A 10 08 00 01 00 00 03 00 05
D8 00 04 00 08 04 EF 16
68 20 20 68 02 00 7C 32 01 00 00 00 00 00 0E 00 05 05 01 12 0A 10 02 00 01 00 00 03 00 05
D8 00 03 00 08 04 E8 16
其實拆機更簡單讀出bin文件,不過解碼方式是和上面的ppi協議解密返回的密碼是一樣的需要解碼
|
|