8.0 西门子PLC的S7通讯解析
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 |