- {{item.name}}
MB_MODE、MB_DATA_ADDR、MB_DATA_LEN及功能码对应关系
- 0
- 121
1.Modbus 地址关系介绍
西门子使用参数 MB_MODE、MB_DATA_ADDR 和 MB_DATA_LEN 的组合定义了 Modbus 消息中所用的 Modbus 功能代码及地址的关系。
示例1:MB_MODE=1、MB_DATA_ADDR=1、MB_DATA_LEN=1
构成的组合设定的功能代码是 05。将从远程地址 0 开始写 1 个输出位。
示例2:MB_MODE=1、MB_DATA_ADDR=1、MB_DATA_LEN=2
构成的组合设定的功能代码是 15。将从远程地址 0 开始写 2 个输出位。
示例3:MB_MODE=104, MB_DATA_ADDR=17,834, MB_DATA_LEN=125
MB_MODE=104 定义功能代码 04(读输入字)。MB_DATA_ADDR=17834 定义从远程地址 17834(偏移量)开始读,MB_DATA_LEN=125 定义待读取 125 个值。
2. 西门子 Modbus 功能块使用
西门子 Modbus 功能块在使用时,MB_MODE、MB_DATA_ADDR、MB_DATA_LEN、 Modbus TCP 功能码等之间的对应关系,如下表:
表2.1 MB_MODE、MB_DATA_ADDR、MB_DATA_LEN、 Modbus TCP 功能码等的关系
| MB_MODE | MB_DATA_ADDR | MB_DATA_LEN | Modbus TCP 功能码 | 操作和数据 |
| 0 | 1-9999 | 1-2000 | 01 | 读取输出位 |
| 每个请求 1 - 2000 个位 | ||||
| 0 | 10001 - 19999 | 1-2000 | 02 | 读取输入位 |
| 每个请求 1 - 2000 个位 | ||||
| 0 | 40001 - 49999(等同于 400001 - 409999) | 1 - 125 | 03 | 读取保持寄存器 |
| 400001 - 465535 | 每个请求 1 - 125 个字 | |||
| 0 | 30001 - 39999 | 1 - 125 | 04 | 读取输入字 |
| 每个请求 1 - 125 个字 | ||||
| 1 | 1-9999 | 1 | 05 | 写入输出位 |
| 每个请求 1 个位 | ||||
| 1 | 40001 - 49999(等同于 400001 - 409999) | 1 | 06 | 写入保持寄存器 |
| 400001 - 465535 | 每个请求 1 个字 | |||
| 1 | 1-9999 | 2-1968 | 15 | 写入多个输出位 |
| 每个请求 2 - 1968 个位 | ||||
| 1 | 40001 - 49999(等同于 400001 - 409999) | 2 - 123 | 16 | 写入多个保持寄存器 |
| 400001 - 465535 | 每个请求 2 - 123 个字 | |||
| 2 | 1-9999 | 1-1968 | 15 | 写入输出位 |
| 每个请求 1 - 1968 个位 | ||||
| 2 | 40001 - 49999(等同于 400001 - 409999) | 1 - 123 | 16 | 写入保持寄存器 |
| 400001 - 465535 | 每个请求 1 - 123 个字 | |||
| 11 | - | 11 | 读取服务器的状态字和事件计数器: | |
| 状态字反映了处理的状态(0 - 未处理,0xFFFF - 正在处理) | ||||
| Modbus 请求成功执行时,事件计数器将递增。如果执行 Modbus 功能时出错,则服务器将发送消息,但不会递增事件计数器。 | ||||
| 80 | - | 1 | 08 | 通过诊断代码 0x0000 检查服务器状态(返回循环测试 - 服务器发回请求): |
| 每次调用 1 个字 | ||||
| 81 | - | 1 | 08 | 通过诊断代码 0x000A 复位服务器的事件计数器: |
| 每次调用 1 个字 | ||||
| 101 | 0 - 65535 | 1-2000 | 01 | 读取输出位 |
| 每个请求 1 - 2000 个位 | ||||
| 102 | 0 - 65535 | 1-2000 | 02 | 读取输入位 |
| 每个请求 1 - 2000 个位 | ||||
| 103 | 0 - 65535 | 1 - 125 | 03 | 读取保持寄存器 |
| 每个请求 1 - 125 个字 | ||||
| 104 | 0 - 65535 | 1 - 125 | 04 | 读取输入字 |
| 每个请求 1 - 125 个字 | ||||
| 105 | 0 - 65535 | 1 | 05 | 写入输出位 |
| 每个请求 1 个位 | ||||
| 106 | 0 - 65535 | 1 | 06 | 写入保持寄存器 |
| 每个请求 1 个字 | ||||
| 115 | 0 - 65535 | 1-1968 | 15 | 写入输出位 |
| 每个请求 1 - 1968 个位 | ||||
| 116 | 0 - 65535 | 1 - 123 | 16 | 写入保持寄存器 |
| 每个请求 1 - 123 个字 | ||||
| 123 | - | - | 23 | 读写保持寄存器 |
| 使用参数 RD_MB_DATA_ADDR、RD_MB_DATA_LEN、WR_MB_DATA_ADDR、WR_MB_DATA_LEN、RD_MB_DATA_PTR 和 WR_MB_DATA_PTR | ||||
表2.1 MB_MODE、MB_DATA_ADDR、MB_DATA_LEN、 Modbus TCP 功能码等的关系
- 评论
-
分享
扫码分享
- 收藏 收藏
- 点赞 点赞
- 纠错 纠错



西门子官方商城


{{item.nickName}}