1. 项目背景与核心需求
在工业自动化控制领域,PLC与变频器的协同工作一直是产线设备控制的核心环节。三菱FX3U作为经典的小型PLC,以其稳定性和高性价比在中小型自动化项目中广泛应用。而台达变频器凭借出色的电机控制性能和丰富的通讯接口,成为众多设备制造商的首选。这个项目要解决的正是如何通过FX3U同时控制多台台达变频器(案例中为4台)的实时运行状态。
传统控制方式中,每台变频器需要单独接线,不仅占用大量PLC的I/O点,还会导致控制柜内布线复杂、故障排查困难。采用RS485通讯控制方式后,仅需两芯屏蔽电缆即可实现所有变频器的启停、频率给定和状态监控,布线成本降低70%以上。但多设备通讯面临三个技术难点:
- 通讯协议的选择与实现(本例采用Modbus RTU)
- 多设备轮询时的时序控制
- 数据传输的可靠性保障(CRC校验)
2. 硬件架构设计要点
2.1 硬件选型与连接
项目采用FX3U-32MT/ES-A作为主控单元,搭配FX3U-485ADP-MB通讯扩展模块。该模块原生支持Modbus RTU协议,最高通讯速率可达115200bps。四台变频器型号为台达VFD-M系列(400W),通过并联方式接入485总线。具体接线需注意:
- 使用AWG18以上的屏蔽双绞线(推荐Belden 9841)
- 总线两端需接入120Ω终端电阻
- 变频器的485端口需设置正确终端电阻拨码(最后一台ON,其余OFF)
关键提示:实际调试中发现,当通讯距离超过15米时,建议在PLC端增加485中继器,可显著降低误码率。
2.2 电气隔离方案
为防止地环路干扰,在485总线上串接了ADUM2481磁隔离模块。测试数据显示,加入隔离后通讯误码率从10⁻⁴降低到10⁻⁷以下。特别在变频器频繁启停时,电机绕组产生的电磁干扰会被有效抑制。
3. 通讯协议实现细节
3.1 Modbus RTU帧结构优化
台达变频器使用的Modbus功能码主要有:
- 06H:写入单寄存器(用于频率给定)
- 10H:写入多寄存器(批量参数设置)
- 03H:读取保持寄存器(状态监控)
典型频率控制指令示例:
code复制[设备地址][06H][地址高位][地址低位][数据高位][数据低位][CRC低][CRC高]
其中频率数据需要做归一化处理:
code复制设定频率(Hz) = 数据值 × 最大频率 / 32767
3.2 CRC校验的梯形图实现
FX3U通过RS指令发送数据时,需自动附加CRC校验码。在梯形图中采用如下算法:
- 预置16位寄存器为FFFFH
- 逐字节与寄存器低字节异或
- 右移寄存器,若移出位为1则与A001H异或
- 重复8次后处理下一字节
- 最终寄存器值即为CRC
实际编程时,可使用D100-D115作为计算缓冲区,通过移位和异或指令组合实现。测试表明,该方式比查表法节省约20%的扫描周期时间。
4. 多机轮询控制策略
4.1 分时调度设计
采用状态机方式实现四台变频器的轮询控制:
code复制S0:初始化通讯参数(波特率19200,8N1)
S1:发送#1变频器频率指令
S2:等待#1响应或超时(300ms)
S3:发送#2变频器启动指令
...
S8:返回S1循环执行
每个状态设置独立定时器,超时后自动重试(最多3次)。实际测试中,完整轮询周期控制在1.2秒以内。
4.2 数据缓存管理
使用D200-D231作为共享数据区:
- D200-D207:#1变频器状态(运行频率、电流、故障代码等)
- D208-D215:#2变频器状态
- ...
- D224-D231:#4变频器状态
通过MOV指令在收到应答数据时立即更新对应区域,HMI可直接读取这些寄存器显示实时状态。
5. 运动控制功能实现
5.1 正反转控制逻辑
台达变频器通过2000H寄存器控制运行方向:
- 0001H:正转启动
- 0002H:反转启动
- 0005H:自由停车
梯形图示例:
code复制LD X0(正转按钮)
MOV K1 D0
RS D0 K8 D100(发送正转指令)
5.2 多段速控制方案
利用变频器内置的多段速功能,通过通讯修改P24-P31参数组实现。例如要设置#1变频器运行在45Hz:
code复制MOV H3000 D10(参数P24地址)
MOV H45 D11(设定值)
RS D10 K12 D100(发送修改指令)
6. 故障诊断与处理
6.1 常见通讯故障代码
- E001:CRC校验错误(检查终端电阻和波特率)
- E002:响应超时(检查设备地址和接线)
- E003:数据长度错误(确认寄存器地址映射)
6.2 抗干扰措施
- 在PLC电源输入端加装滤波器(推荐TDK ZCAT2032-0930)
- 变频器动力线与通讯线间距保持30cm以上
- 所有485设备共地,但接地电阻需小于4Ω
7. 程序优化技巧
-
通讯超时重试机制:在每次RS指令后添加TWR定时器,超时后触发重发计数器C0递增,当C0=3时置位报警标志M100。
-
数据打包发送:将频率设定和启停命令合并为一条10H功能码指令,减少50%的通讯量。实测显示四台设备轮询周期从1.2s缩短至0.8s。
-
动态优先级调整:通过D800记录各变频器的故障次数,故障率高的设备自动降低轮询优先级,保证系统整体稳定性。
这套系统在某包装产线上连续运行12个月后统计数据显示:相较于传统I/O控制方式,故障停机时间减少83%,能耗降低15%,参数调整效率提升90%。对于需要同时控制多台变频器的场景,这种基于RS485通讯的方案无论在成本还是可靠性方面都具有显著优势。
