...
PLC点表 | PLC数据类型 | eview变量地址 | 说明 | 数据类型 |
DB101W:307 | INT | DB101块内,偏移307开始,取2个字节,转为16位无符号整数 | uint16 | |
DB101D:307 | DINT | DB101:D307 | DB101块内,偏移307开始,取4个字节,转为32位无符号整数 | uint32 |
DB101X:310.2 | BOOL | DB101:X307.2 | DB101块内,偏移307开始的字节内取第3位,转为bool型 | bool |
I2.1 | Bit | I:2.1 | I0.0是第一个位,从0开始,最多到I1.7,下一个位是I2.0 | bool |
IW1 | Signed | I:1 | int16 | |
Q1.1 | Bit | Q:1.1 | Q0.0是第一个位,从0开始 | bool |
M1.1 | Bit | M:1.1 | M0.0是第一个位,从0开始 | bool |
MW1 | Signed | M:1 | int16 | |
C1 | Signed | C:W1 | C是计时器 | int16 |
VW1 | Signed | V:1 | int16 | |
VD3 | Floating Point | V:3 | float | |
FAQ
问题1:日志提示总是连接不上,用TCP工具连接端口102缺失可以的
...
- 问题:日志提示总是连接不上,用TCP工具连接端口102缺失可以的
- 解决:查看日志提示的槽号和实际设备槽号是否一致,不一致需要修改。槽号不对会导致数据发送不了。
- 问题:驱动日志打印错误:读取失败,错误码:0x8104
- 解决:此时是因为S7 1200/S7-1500CPU的“允许来自远程对象的PUT/GET通信访问”未勾选,参考文档进行勾选并下载。西门子S7-1200/1500编程软件博途Step7 V15.1 V16
- 问题:驱动日志打印错误:读取DB块失败,错误码:0x05(地址范围越界)
- 解决:每个驱动要读写的DB数据块,都需要取消优化,否则只能以名称访问而不能以地址访问。参考文档进行勾选并下载。西门子S7-1200/1500编程软件博途Step7 V15.1 V16
协议分析
基本步骤。读取一个数据,分3步
- 获取pdu大小(固定内容)
发送[022]:03 00 00 16 11 E0 00 00 00 01 00 C1 02 01 00 C2 02 01 01 C0 01 09
接收[022]:03 00 00 16 11 D0 00 01 00 00 00 C1 02 01 00 C2 02 01 01 C0 01 09 - 第二次握手(固定内容)
发送[025]:03 00 00 19 02 F0 80 32 01 00 00 FF FF 00 08 00 00 F0 00 00 01 00 01 07 80
接收[027]:03 00 00 1B 02 F0 80 32 03 00 00 FF FF 00 08 00 00 00 00 F0 01 00 01 00 01 00 F0 - 后续:请求数据包。如请求I1.1
最后3个字节是:偏移量I1.1偏移量是8.倒数第4个字节81表示I。倒数第5个字节为块号,S7-300及以上型号必须==01(I、Q等块)或>=1的DB块号
发送[031]:03 00 00 1F 02 F0 80 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10 02 00 01 00 01 81 00 00 08
接收[026]:03 00 00 1A 02 F0 80 32 03 00 00 00 54 00 02 00 05 00 00 04 01 FF 04 00 08 06 --I1.1=I1.2=1
...