示例:如果配置 Modbus 通信以读取和写入驱动器
这些示例展示了如何将 Modbus 通信配置为使用 MSG_MODBUS 指令从
PowerFlex
4 驱动器读取状态数据和向其写入控制数据。L50E 布线
本示例使用在第一个插槽(通道 5)中插有 SERIALISOL 模块的 L50E 控制器。已连接一个
PowerFlex
40,但下图说明了如何为多点通信配线。有关其他配线信息,请参考用户手册。L50E 布线

Modbus 读取示例
以下 MSG_MODBUS 指令可用于从
PowerFlex
40 驱动器读取状态数据。MSG_MODBUS 指令读取示例

驱动器状态
“1807”指示变频器:
- 已就绪(位 0 置位)
- 处于活动状态(位 1 置位)
- 被指示正向转动(位 2 置位)
- 正在正向转动(位 3 置位)
- 驱动器上某些数字输入的状态
“278”表示 27.8Hz。
有关逻辑状态字位、错误代码说明、指示的速度和实际速度以及其他状态代码的附加信息,请参考
PowerFlex
用户手册。MSG_MODBUS 读取配置
下图展示了用于从
PowerFlex
40 驱动器读取状态数据的 MSG_MODBUS 指令块的变量选项。供 MSG_MODBUS 从 PowerFlex 40 变频器读取状态数据的变量选项

MSG_MODBUS 读取变量
下表标识了用于配置 MSG_MODBUS 指令以从
PowerFlex
4 驱动器读取状态数据的变量和值。变量 | 值 | 描述 |
|---|---|---|
*.Channel | 5 | 通道 5 - SERIALISOL 模块的位置 |
*.TriggerType | 0 | FALSE - TRUE 转换触发器 |
*.Cmd | 3 | Modbus 函数代码“03”- 读取保持寄存器 |
*.ElementCnt | 4 | 长度 |
*.Addr | 8449 | PowerFlex 逻辑状态字地址 + 1 |
*.Node | 2 | PowerFlex 节点地址 |
*_laddr[1] | data | PowerFlex 逻辑状态字 |
*_laddr[2] | data | PowerFlex 错误代码 |
*_laddr[3] | data | PowerFlex 指示的速度(速度参考) |
*_laddr[4] | data | PowerFlex 速度反馈(实际速度) |
MOVE 指令示例
下图展示了使用 MOVE 指令将 *_l[1] 数组值移至一个字的示例,这使您能够直接访问各个位。
MOVE 指令示例

Modbus 写入示例
以下 MSG_MODBUS 指令用于向
PowerFlex
40 驱动器写入控制数据。Modbus 写入示例

MSG_MODBUS 写入配置
下图展示了用于配置 MSG_MODBUS 指令以将控制数据写入
PowerFlex
4 驱动器的变量和值。MSG_MODBUS 写入配置

MSG_MODBUS 写入变量
下表列出了这些变量及其值,并说明了每个变量的用途。
变量 | 值 | 描述 |
|---|---|---|
*.Channel | 5 | 通道 5 - SERIALISOL 模块的位置 |
*.TriggerType | 0 | FALSE - TRUE 转换触发器 |
*.Cmd | 16 | Modbus 函数代码“16”- 写入保持寄存器 |
*.ElementCnt | 2 | 长度 |
*.Addr | 8193 | PowerFlex 逻辑状态字地址 + 1 |
*.Node | 2 | PowerFlex 节点地址 |
*_laddr[1] | data | PowerFlex 逻辑命令字 |
*_laddr[2] | data | PowerFlex 速度参考字 |
提供反馈