台达 PLC 的变频器专用指令应用
实现台达 PLC 对变频器的精准控制,核心在于正确使用通信指令。大多数台达变频器(如 VFD-M、VFD-E 系列)与台达 PLC(如 DVP 系列)通过 RS485 接口连接,使用 Modbus RTU 协议。虽然 PLC 指令集中没有名为“变频器”的单一指令,但 MODWR(写入)和 MODRD(读取)是实现此功能的专用核心指令。以下步骤将指导你完成硬件接线、参数设置及程序编写。
1. 硬件接线与变频器参数设置
在编写程序前,必须确保物理连接正确且变频器已准备好接受外部命令。
- 连接 RS485 通信线。将 PLC 的
RS485端口(通常为端口 2)的+端连接到变频器的+端(或SG+),-端连接到变频器的-端(或SG-)。 - 设定 变频器通信地址。进入变频器参数菜单,设置 参数
09为1(站号),确保与 PLC 程序中的站号一致。 - 配置 通信波特率。设置 参数
0A为3(对应 9600bps),设置 参数00为3(启用通信控制)。 - 确认 接线紧固。检查端子螺丝是否拧紧,防止信号干扰导致通信失败。
下表列出了变频器必须修改的关键参数及其含义:
| 参数编号 | 设定值 | 功能说明 | 备注 |
|---|---|---|---|
00 |
3 |
运行命令来源 | 设为通信控制 |
01 |
6 |
频率命令来源 | 设为通信给定 |
09 |
1 |
通信地址 | 站号,范围 1-255 |
0A |
3 |
波特率 | 9600bps, 8, E, 1 |
2. 通信指令逻辑解析
台达 PLC 通过发送特定的数据地址来控制变频器。控制逻辑遵循“准备数据 -> 发送指令 -> 等待响应 -> 处理结果”的循环。
graph TD
A["PLC 程序启动"] --> B["初始化通信参数"]
B --> C["写入控制字 (启动/停止)"]
C --> D["写入频率字 (速度)"]
D --> E["读取状态字 (监控)"]
E --> F["判断通信错误"]
F -- "无错误" --> C
F -- "有错误" --> G["记录错误代码"]
G --> C
上图展示了控制循环的基本流程。核心在于准确操作变频器的内部寄存器地址。对于台达 VFD 系列,关键寄存器地址如下:
2000H:运行命令控制寄存器。2001H:运行频率命令寄存器。2103H:变频器状态读取寄存器。
3. PLC 程序编写步骤
以下操作基于台达 WPLSoft 编程软件,适用于 DVP 系列 PLC。
- 定义 通信参数寄存器。在 PLC 数据寄存器中,分配
D1036至D1041用于设置通信格式。 - 写入 通信格式值。设置
D1036为9600波特率对应的值,通常写入H83到D1036(代表 9600, 8, E, 1)。 - 启用 通信端口。设置 特殊继电器
M1122为ON,激活 RS485 发送请求。 - 编写
MODWR指令。在梯形图中插入MODWR指令块,设置 站号为K1,设置 地址为H2000。 - 关联 控制数据。将 控制启停的数据寄存器(如
D0)连接 到MODWR的数据输入端。 - 编写
MODRD指令。插入MODRD指令块,设置 地址为H2103,用于读取变频器当前状态。 - 处理 完成标志。监控 特殊继电器
M1129(通信完成标志),当其为ON时,复位M1122以准备下一次发送。
以下是一段典型的指令配置代码片段,展示了寄存器设置逻辑:
LD M8000
MOV H83 D1036 ; 设置通信格式 9600, 8, E, 1
LD M1000 ; 启动按钮
MOV K1 D0 ; 准备启动命令数据
LD M1000
SET M1122 ; 触发发送
MODWR K1 K1 H2000 D0 K1 D100 K2 ; 写 1 个字到站 1 地址 2000
注意:MODWR 指令的具体操作数需根据 PLC 型号手册确认,上述代码为逻辑示意。实际使用时,确保 D100 为通信错误代码存储区。
4. 频率数值换算方法
变频器接受的频率值通常不是直接的赫兹数,而是需要换算的数字量。直接发送 50 可能无法得到 50Hz。
- 查阅 变频器手册。确认频率解析度,通常为
0.01Hz或0.1Hz。 - 计算 发送数值。若解析度为
0.01Hz,目标频率50Hz需发送5000。 - 应用 换算公式。在 PLC 程序中使用 乘法指令,将目标频率乘以
100后再发送给变频器。
$$ 发送值 = 目标频率 (Hz) \times 100 $$
- 写入 换算后的值。将 计算结果存入
MODWR指令的数据源寄存器(如D1),对应地址2001H。 - 验证 运行频率。启动 变频器,观察 面板显示是否与设定值一致。
5. 通信故障排查指南
若变频器无响应或报错,请按以下顺序检查。
- 检查 错误代码。读取
MODWR指令输出的错误代码寄存器(如D100)。 - 对照 错误含义。若代码为
05,表示站号错误;若为08,表示通信超时。 - 测量 电压信号。使用 万用表测量 RS485 端子间的电压,正常应在
1.5V至4.5V之间波动。 - 核对 参数一致性。确认 PLC 的
D1036设置与变频器参数0A完全一致(波特率、校验位)。 - 隔离 干扰源。分开 通信线与动力线,避免平行走线,防止电磁干扰导致数据包丢失。
- 测试 单个指令。暂时 删除复杂逻辑,仅保留最简单的写入指令,验证 通信链路是否通畅。
若 M1129 始终不为 ON,检查 M1122 是否被正确触发。若通信频繁中断,增加 指令执行的时间间隔,在两次 MODWR 之间插入 100ms 以上的延时定时器。

暂无评论,快来抢沙发吧!