功能代码定义了消息帧的含义。同样它也定义了消息帧的结构。
通信模块支持以下功能代码:
功能代码 | 符合 MODBUS 规范的功能 | 范围 |
---|---|---|
01 | 读线圈状态 | 1 到 2000 位/请求 |
02 | 读输入状态 | 1 到 2000 位/请求 |
03 | 读保持寄存器 | 1 到 124/125 位/请求(扩展站地址处为 124) |
04 | 读输入寄存器 | 1 到 124/125 位/请求(扩展站地址处为 124) |
05 | 写单个线圈 | 1 位/请求 |
06 | 预设单个寄存器 | 1 字/请求 |
08 * | 环路测试 | 读取从站状态或复位从站中的事件计数器 |
11 * | 获取通信事件计数器(仅主站) | - |
15 | 写多个线圈 | 1 到 1968 位/请求 |
16 | 预设多个寄存器 | 1 到 123 位/请求 |
MODBUS 功能代码 00 向所有从站发送广播消息(无从站响应)。
下表显示了 Modbus 地址到 SIMATIC 地址的分配。
Modbus | S7-1500 | ||||
---|---|---|---|---|---|
FC 1) | 功能 | 声明 | 地址区 | 声明 | CPU 地址 |
01 | 读取位 | 输出 | 1 - 9999 | 输出的过程映像 | Q0.0 - Q1249.6 |
02 | 读取位 | 输入 | 10001 - 19999 | 输入的过程映像 | I0.0 - I1249.6 |
03 2) | 读取字 | 保持寄存器 | 40001 - 49999 | DW0 - DW19998 | M 地址区取决于 CPU |
04 | 读取字 | 输入 | 30001 - 39999 | 输入的过程映像 | IW0 到 IW19996 |
05 2) | 写入位 | 输出 | 1 - 9999 | 输出的过程映像 | Q0.0 到 Q1248.7 |
06 | 写入字 | 保持寄存器 | 40001 - 49999 | DW0 - DW19998 | M 地址区取决于 CPU |
15 | 写入位 | 输出 | 1 - 9999 | 输出的过程映像 | Q0.0 - Q1249.6 |
16 2) | 写入字 | 保持寄存器 | 40001 - 49999 | DW0 - DW19998 | M 地址区取决于 CPU |
产品推荐
友情链接