示例:如果配置 Modbus 通信以读取和写入驱动器

这些示例展示了如何将 Modbus 通信配置为使用 MSG_MODBUS 指令从
PowerFlex
4 驱动器读取状态数据和向其写入控制数据。

L50E 布线

本示例使用在第一个插槽(通道 5)中插有 SERIALISOL 模块的 L50E 控制器。已连接一个
PowerFlex
40,但下图说明了如何为多点通信配线。有关其他配线信息,请参考用户手册。
L50E 布线
L50E 布线

Modbus 读取示例

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

MSG_MODBUS 读取配置

下图展示了用于从
PowerFlex
40 驱动器读取状态数据的 MSG_MODBUS 指令块的变量选项。
供 MSG_MODBUS 从 PowerFlex 40 变频器读取状态数据的变量选项
图中展示了供 MSG_MODBUS 从 PowerFlex 40 变频器读取状态数据的变量选项

MSG_MODBUS 读取变量

下表标识了用于配置 MSG_MODBUS 指令以从
PowerFlex
4 驱动器读取状态数据的变量和值。
MSG_MODBUS 变量和值
变量
描述
*.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 指令示例
MOVE 指令示例

Modbus 写入示例

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

MSG_MODBUS 写入配置

下图展示了用于配置 MSG_MODBUS 指令以将控制数据写入
PowerFlex
4 驱动器的变量和值。
MSG_MODBUS 写入配置
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
速度参考字
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal