版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

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.1BitI:2.1I0.0是第一个位,从0开始,最多到I1.7,下一个位是I2.0bool
IW1SignedI:1
int16
Q1.1BitQ:1.1Q0.0是第一个位,从0开始bool
M1.1BitM:1.1M0.0是第一个位,从0开始bool
MW1SignedM:1
int16
C1SignedC:W1C是计时器int16
VW1SignedV:1
int16
VD3Floating PointV:3
float





FAQ

问题1:日志提示总是连接不上,用TCP工具连接端口102缺失可以的

...

  • 问题:日志提示总是连接不上,用TCP工具连接端口102缺失可以的
    • 解决:查看日志提示的槽号和实际设备槽号是否一致,不一致需要修改。槽号不对会导致数据发送不了。
  • 问题:驱动日志打印错误:读取失败,错误码:0x8104
  • 问题:驱动日志打印错误:读取DB块失败,错误码:0x05(地址范围越界)


协议分析

基本步骤。读取一个数据,分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

...