PC與西門子PLC的S7通訊主要有如下幾個步驟:
1. TCP的三次握手(由Socket對象自動完成)
2.發送訪問請求:COTP
3. 交換通訊信息:setup Commnunication
一、發送訪問請求:COTP
比如向PLC請求+以及PLC返回響應的一個實際例子如下:
發送PLC:----> 03 00 00 16 11 E0 00 00 00 01 00 C0 01 09 C1 02 01 00 C2 02 03 00
PLC返回:<--- 03 00 00 16 11 D0 00 01 00 0E 00 C0 01 09 C1 02 01 00 C2 02 03 00
上面:E0表示連接請求; 0xD0表示連接確認
TPDU-Code | ||||||||
0xe0 | 0xd0 | 0x08 | 0x0c | 0x01 | 0x02 | 0x04 | 0x07 | 0xf0 |
連接請求 | 連接確認 | 斷開請求 | 斷開確認 | 加急數據 | 加急數據確認 | 用戶數據 | TPDU錯誤 | 數據傳輸 |
各數據的含義如下表:
字節長度 | 長度(bit) | 發送 | 解釋 | |
TPK |