1. 项目概述与硬件配置
这个项目实现了台达DVP ES系列PLC通过RS485通讯同时控制3台台达VFD-M变频器的完整解决方案。作为工业自动化领域的常见需求,多变频器协同控制在生产线速度调节、多电机同步等场景中尤为重要。我在实际调试过程中发现,虽然台达产品的兼容性较好,但在参数设置、接线方式和程序编写上仍存在不少容易踩坑的细节。
1.1 硬件选型清单
- 主控制器:台达DVP-ES系列PLC(具体型号根据I/O需求选择)
- 变频器:台达VFD-M系列变频器×3台(功率根据电机匹配)
- HMI:昆仑通态触摸屏(型号建议选择带双COM口的版本)
- 通讯线材:屏蔽双绞线(规格:AWG18,阻抗120Ω)
特别注意:VFD-M变频器的通讯参数设置菜单需要长按MODE键5秒才能进入高级设置界面,这个设计很容易被忽略导致通讯失败。
1.2 硬件接线详解
PLC与HMI连接:
- 使用昆仑通态触摸屏的COM2口(RS485接口)
- 接线对应关系:
- 触摸屏D+ → PLC S+
- 触摸屏D- → PLC S-
- 必须确保屏蔽层单端接地(通常在PLC侧接地)
PLC与变频器级联:
- 从PLC的COM1口引出RS485总线(S+/S-端子)
- 三台变频器采用手拉手方式串联:
- 第一台变频器的RS485接口:S+接总线S+,S-接总线S-
- 中间变频器的RS485接口:S+接上一台S+,S-接上一台S-
- 终端电阻设置:
- 最后一台变频器的终端电阻拨码开关必须拨到ON位置
- 中间变频器的终端电阻拨码开关保持OFF

2. 通讯参数配置
2.1 PLC通讯初始化
在PLC程序中,通讯参数初始化必须放在程序的第一段执行。以下是关键参数设置:
st复制MOV H86 D1120 // 通讯格式设置:8位数据位、无校验、1位停止位(8N1),波特率9600
MOV K3 D1121 // 通讯超时设置为3秒(根据实际距离可调整)
MOV K1 D1122 // 站号设置为1(与变频器站号对应)
参数详解:
- D1120的H86分解:
- 最高位8表示9600波特率
- 6表示8N1格式(数据位8,无校验,停止位1)
- 超时时间建议3-5秒,过短会导致频繁超时,过长影响响应速度
2.2 变频器参数设置
每台VFD-M变频器需要设置以下参数:
| 参数代码 | 设置值 | 说明 |
|---|---|---|
| P00.03 | 1 | 频率指令来源选择RS485通讯 |
| P00.04 | 1 | 运转指令来源选择RS485通讯 |
| P01.00 | 3 | 电机极数(根据实际电机设置) |
| P01.01 | 50 | 电机额定频率(Hz) |
| P01.02 | 380 | 电机额定电压(V) |
| P09.00 | 1 | 站号设置(三台分别设为1、2、3) |
| P09.01 | 3 | 波特率9600bps |
| P09.02 | 0 | 通讯格式8N1 |
血泪教训:变频器站号设置为1/2/3时,程序中索引应为0/1/2(Modbus协议地址偏移问题)。我曾因此浪费半天调试时间。
3. PLC程序开发
3.1 变频器启停控制
正反转控制采用Modbus功能码06(预设单寄存器):
st复制// 正转启动1#变频器
MOV H02 D0 // H02表示正转指令
RS D0 K1 M1000 // 发送到1#变频器的2000H地址
// 停止命令
MOV H00 D0 // H00表示停止
RS D0 K1 M1000
// 反转启动
MOV H04 D0 // H04表示反转
RS D0 K1 M1000
地址解析:
- 2000H(8192十进制):运行命令寄存器
- 02H:正转
- 04H:反转
- 00H:停止
- 2001H(8193十进制):频率设定寄存器
3.2 频率设定程序
频率设定需要特别注意浮点数处理:
st复制LD M0 // 启动按钮触发
FLT K3000 D10 // 将30.00Hz(显示值)转换为3000→浮点
MOV D10 D20 // 传送到发送寄存器
RS D20 K2 M1001 // 发送到2001H地址
关键点:
- 变频器实际接收的频率值为设定值×100(30.00Hz→3000)
- 必须使用FLT指令将整数转为浮点数
- 发送数据长度设为2(K2),因为浮点数占用2个16位寄存器
3.3 状态轮询程序
采用分时轮询方式读取三台变频器状态,避免通讯冲突:
st复制FOR K0 K2 // 循环3次(0,1,2对应站号1,2,3)
MOV K4 D100 // 读取4个寄存器(2100H开始)
RS D100 K3 M1002 // 功能码03读保持寄存器
NEXT
状态寄存器映射:
| 寄存器地址 | 内容 | 对应PLC地址 |
|---|---|---|
| 2100H | 运行状态 | D200 |
| 2101H | 输出频率 | D201 |
| 2102H | 输出电流 | D202 |
| 2103H | 故障代码 | D203 |
报警状态解析示例:
st复制LDI M1003 // 接收完成标志
BMOV D200 K4M10 // 将状态字映射到M10-M25
// M10:过压报警
// M11:过流报警
// M12:过载报警
// ...(具体参考VFD-M手册第38页)
4. 昆仑通态触摸屏配置
4.1 通讯参数设置
- 进入系统配置→设备管理
- 添加DELTA DVP协议设备
- 参数设置:
- 通讯端口:COM2
- 波特率:9600
- 数据位:8
- 校验位:无
- 停止位:1
- 站号:1(PLC站号)
4.2 关键控件配置
频率设定框:
- 变量类型:浮点
- 寄存器地址:D1000(与PLC程序对应)
- 量程设置:0.0-50.0Hz
- 小数位数:2
运行指示灯:
- 状态地址:M0
- 颜色设置:
- ON:绿色
- OFF:灰色
急停按钮:
- 触发方式:下降沿
- 目标地址:M10
- 操作模式:瞬时
通讯周期优化:
- 实测200ms响应最稳定
- 画面切换时增加500ms延时避免数据丢失
5. 调试经验与故障排查
5.1 常见问题速查表
| 故障现象 | 可能原因 | 解决方案 |
|---|---|---|
| 通讯超时 | 终端电阻未启用 | 确认末端变频器终端电阻ON |
| 部分变频器无响应 | 站号设置冲突 | 检查PLC程序与变频器P09.00设置 |
| 频率设定不生效 | 浮点数格式错误 | 确认使用FLT指令转换 |
| 触摸屏数据显示异常 | 寄存器类型不匹配 | 检查是否为浮点型变量 |
| 随机通讯中断 | 接地不良 | 检查屏蔽层单端接地 |
5.2 调试技巧
-
分段测试法:
- 先单独测试PLC与一台变频器通讯
- 确认正常后再接入第二台、第三台
- 最后连接触摸屏
-
信号监测技巧:
- 用万用表测量RS485总线电压:
- 静止时应为2-3V(A-B间)
- 通讯时应有明显波动
- 用万用表测量RS485总线电压:
-
程序调试建议:
- 在关键通讯段落后添加计数器监控:
st复制LD M1000 // 发送完成标志 INC D100 // 成功计数 - 通过D寄存器值判断通讯成功率
- 在关键通讯段落后添加计数器监控:
-
参数备份策略:
- 调试完成后立即备份变频器参数(使用VFD-M操作面板的参数复制功能)
- 保存PLC程序注释版本
这个项目最让我印象深刻的是变频器站号设置与程序索引的对应关系。虽然文档中有说明,但实际调试时很容易忽略这个细节。建议大家在初次设置时,先用电脑通过调试软件单独连接每台变频器,确认参数设置正确后再组网调试。
