1. 项目背景与核心需求
工业自动化控制系统中,PLC与变频器之间的稳定通讯是实现产线精准控制的基础环节。这次要分享的是基于三菱FX3U系列PLC通过RS485总线同时控制四台台达变频器的实战方案。这个配置在纺织机械、包装生产线等场景中非常典型——需要PLC同时协调多台变频器实现同步启停、速度调节和状态监控。
传统做法是每台变频器单独接线控制,但面对四台设备时,这种方案会占用大量PLC端口且布线复杂。采用RS485总线通讯的优势显而易见:只需两根通讯线串联所有设备,通过站号区分不同变频器,大幅简化硬件连接。但随之而来的挑战是通讯协议解析、数据帧校验以及多设备轮询调度的稳定性处理。
2. 硬件架构设计要点
2.1 核心硬件选型解析
主控单元选用三菱FX3U-48MT/ES-A基本单元,其本体自带24输入/24输出晶体管,满足常规IO需求。关键扩展模块是FX3U-485BD通讯板,这块板卡提供真正的RS485接口(注意不是RS422),支持半双工通讯,最大波特率可达115200bps。实测在工业现场,建议稳定工作在9600或19200bps。
台达变频器型号选择VFD-M系列(如VFD007M21A),该系列标配RS485接口且支持Modbus RTU协议。四台变频器通过手拉手方式串联,终端电阻设置需特别注意:
- 总线首尾端的变频器需启用120Ω终端电阻
- 中间设备必须关闭终端电阻
- 屏蔽层单端接地(通常在PLC侧)
2.2 接线规范与抗干扰措施
使用双绞屏蔽线(如Belden 9842)连接时:
- SDA接变频器T/R+
- SDB接变频器T/R-
- 屏蔽层在PLC端单点接地
- 避免与动力线平行走线(最小间距30cm)
常见故障现象是通讯时断时续,此时应检查:
- 终端电阻是否配置正确
- 波特率、奇偶校验等参数是否与程序设置一致
- 站号是否有冲突(建议设置为1~4)
3. 通讯协议深度解析
3.1 Modbus RTU帧结构详解
台达变频器采用的Modbus RTU协议帧格式如下:
code复制[站号][功能码][数据地址][数据][CRC校验]
典型控制指令示例:
- 启动命令:
01 06 20 00 00 01 CRC - 设定频率50.00Hz:
01 06 20 01 13 88 CRC
数据地址映射表:
| 参数 | 地址 | 数据类型 | 说明 |
|---|---|---|---|
| 运行命令 | 2000H | 16bit | 0001启动,0005停止 |
| 设定频率 | 2001H | 16bit | 单位0.01Hz |
| 输出电流 | 2103H | 16bit | 单位0.01A |
3.2 CRC校验算法实现
三菱PLC的CRC计算需通过梯形图编程实现,核心逻辑如下:
- 初始化CRC寄存器为FFFFH
- 逐字节与CRC寄存器异或
- 右移判断最低位,为1时与A001H异或
- 重复8次移位操作
- 最终结果低字节在前
实际编程时可使用D8000系列数据寄存器暂存中间值。一个完整的CRC计算子程序约需15步梯形图逻辑。
4. PLC程序架构设计
4.1 多设备轮询机制
采用状态机方式实现四台变频器的分时访问:
code复制STATE0: 发送#1变频器频率读取指令
STATE1: 等待#1响应或超时
STATE2: 发送#2变频器启动命令
STATE3: 等待#2响应或超时
...
STATE7: 返回STATE0循环
每个状态设置500ms超时定时器,超时自动跳转下一状态并记录故障代码。
4.2 关键程序段示例
频率设定指令生成:
code复制MOV K1 D100 ; 站号1
MOV H6 D101 ; 功能码06
MOV H2001 D102 ; 频率地址
MOV K5000 D103 ; 50.00Hz
CALL P100 ; CRC计算子程序
RS D100 K8 D200 ; 发送8字节指令
5. 调试技巧与故障排查
5.1 典型问题速查表
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| 所有变频器无响应 | 波特率设置错误 | 检查PLC与变频器通讯参数一致性 |
| 个别站号通讯失败 | 终端电阻配置不当 | 确认首尾设备电阻启用 |
| CRC校验错误 | 字节间隔时间不足 | 调整RS指令的D8120设置 |
| 随机通讯中断 | 接地环路干扰 | 改为单端接地并检查屏蔽层 |
5.2 示波器诊断技巧
用数字示波器抓取RS485差分信号时:
- 正常波形应为规整的方波,幅值>1.5V
- 出现振铃现象需加装匹配电容(通常22pF~100pF)
- 上升沿过缓(>1μs)需检查终端电阻
6. 性能优化建议
-
通讯周期优化:
- 关键参数(如运行状态)每500ms读取一次
- 非关键参数(如温度)可延长至5s
-
数据打包策略:
- 使用功能码16(多寄存器写入)批量设置参数
- 读取时采用功能码03(多寄存器读取)
-
错误恢复机制:
- 连续3次通讯失败自动复位通讯端口
- 重要指令采用"发送-确认-执行"三步操作
这套系统在某包装产线连续运行12个月的统计数据显示:
- 平均通讯成功率99.92%
- 单次指令响应时间<150ms
- 零误动作记录
实际部署时建议增加HMI监控界面,实时显示各变频器运行状态和通讯质量指标。对于需要更高实时性的场景,可以考虑升级到FX5U系列PLC,其内置的以太网端口支持Socket通讯,能实现更高效的多设备管理。