项目背景
在某工厂的供水系统中,需要通过PLC控制变频器实现水泵的调速运行。采用Modbus RTU通信方式,可以减少布线,灵活调整参数。
一、硬件配置
- PLC:三菱FX5U(内置RS485接口)
- 变频器:台达VFD-M系列
- 通信线:屏蔽双绞线
二、硬件连接
变频器端:
- SG+ 接 PLC的 S+
- SG- 接 PLC的 S-
- SG 屏蔽接地(单端接地)
三、变频器参数设置
| 参数 | 设置值 | 说明 |
|---|---|---|
| P00 | 03 | Modbus RTU模式 |
| P01 | 02 | 运行命令来自通信 |
| P02 | 02 | 频率命令来自通信 |
| 08 | 01 | 通信站号=1 |
| 09 | 02 | 9600bps |
| 10 | 01 | 8位数据位,无校验 |
四、PLC程序编写
1. 通信参数配置
GX Works3中设置:
- 协议:Modbus RTU
- 波特率:9600
- 数据位:8
- 校验:无
- 停止位:1
2. Modbus地址映射
台达VFD常用地址:
- 2000H:频率命令(0-4000对应0-60Hz)
- 2001H:运行命令(Bit0:正转,Bit1:反转)
- 2100H:输出频率
- 2101H:输出电流
3. 程序示例
// 写入频率命令(频率=50Hz, 50/60*4000=3333) MODBUS_WRIT(1, 16#2000, 3333) // 写入运行命令(正转) MODBUS_WRIT(1, 16#2001, 1) // 读取输出频率 MODBUS_READ(1, 16#2100, 1, D100)
五、调试步骤
- 确认硬件连接正确
- 设置变频器参数
- 配置PLC通信参数
- 下载通信测试程序
- 使用调试工具发送Modbus命令验证
- 逐步完善控制程序
六、常见问题
Q1:通信无响应
A:检查接线、站号、波特率是否一致
Q2:数据读取错误
A:检查Modbus地址是否正确,地址从0开始还是从1开始
七、总结
通过Modbus RTU通信,PLC可以实现对变频器的灵活控制。调试时注意参数匹配和数据格式转换。