1. 项目背景与需求解析
工业自动化领域里,PLC与变频器的通讯一直是现场实施的关键环节。这次我们要解决的是三菱FX3G/FX3S系列PLC通过485协议同时控制四台E700变频器的实际问题。这种配置在纺织机械、包装生产线等场合非常常见,但很多电气工程师在实际操作中总会遇到各种"坑"。
我去年在一条瓶装水灌装线上就遇到过类似项目:需要根据瓶身高度实时调节四台输送变频器的速度,同时还要监控各变频器状态。当时翻遍手册还是踩了不少坑,今天就把完整的解决方案和实战经验分享给大家。
2. 硬件配置与接线要点
2.1 硬件选型清单
- PLC:FX3G-40MT/ES(带内置RS485接口)
- 变频器:FR-E720-0.4K(共4台)
- 通讯模块:FX3G-485-BD(已内置在PLC)
- 终端电阻:100Ω 1/2W(建议准备2个)
- 双绞屏蔽线:截面积0.5mm²以上
2.2 物理接线详解
485网络的接线质量直接影响通讯稳定性,这里有几个关键细节:
-
总线拓扑:必须采用手拉手式连接(daisy chain),绝对禁止星型连接。正确的接法是:
PLC → 变频器1 → 变频器2 → 变频器3 → 变频器4 -
线序规范:
- SDA接变频器的SDA端子
- SDB接变频器的SDB端子
- 注意有些老款变频器标注的是RDA/RDB
-
屏蔽层处理:
屏蔽网只需在PLC端单点接地,变频器端悬空。我曾遇到过因两端接地导致通讯时好时坏的情况。
重要提示:通电前务必用万用表检查SDA与SDB之间电阻(约60Ω为正常),避免短路烧毁端口。
3. 变频器参数设置
3.1 基础通讯参数
每台变频器需要设置以下参数(以变频器1为例):
code复制Pr.117 = 1 // 站号1
Pr.118 = 96 // 波特率9600
Pr.119 = 0 // 8位数据位,无校验
Pr.120 = 2 // 停止位2位
Pr.121 = 9999 // 通讯超时不检测
Pr.122 = 9999 // 通讯校验时间不限制
Pr.549 = 0 // 协议选择Modbus-RTU
3.2 关键参数说明
- 站号设置:四台变频器分别设为1-4,绝对不能重复。有次调试时两台设成相同站号,导致数据混乱。
- 波特率选择:实际测试19200bps在30米线长时会出现误码,建议保守选择9600bps。
- 超时设置:生产线环境建议Pr.121设为1000ms(1秒),避免因干扰导致设备停机。
4. PLC程序编写
4.1 通讯初始化
在PLC第一个扫描周期执行:
ladder复制MOV H0C96 D8120 // 通讯格式:9600,8,N,2
MOV K4 D8121 // 站号设置(PLC作为主站)
4.2 轮询程序设计
采用分时轮询方式,每个变频器分配200ms通讯窗口:
ladder复制|--[M8002]--[MOV K1 D100]--| // 初始化轮询计数器
|--[T0 K200]--[INC D100]--| // 200ms轮询切换
|--[CMP D100 K5]--[MOV K1 D100]--| // 循环1-4
|--[= D100 K1]--[CALL P1]--| // 变频器1处理
|--[= D100 K2]--[CALL P2]--| // 变频器2处理
|--[= D100 K3]--[CALL P3]--| // 变频器3处理
|--[= D100 K4]--[CALL P4]--| // 变频器4处理
4.3 典型功能实现
以读取变频器1输出频率为例:
ladder复制P1:
MOV K1 D200 // 站号1
MOV H100 D201 // 功能码读保持寄存器
MOV H0000 D202 // 起始地址H0000(输出频率)
MOV K1 D203 // 读取1个字
RS D200 K8 // 发送请求
// 接收处理部分
MOV D212 D300 // 频率值存放到D300
5. 调试技巧与问题排查
5.1 常见故障代码
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| 通讯超时 | 接线错误/站号不对 | 检查终端电阻和站号设置 |
| 数据错误 | 波特率不匹配 | 核对Pr.118与D8120设置 |
| 随机乱码 | 电磁干扰 | 增加磁环,检查屏蔽层 |
5.2 实用调试工具
- 串口监听:用USB转485适配器接电脑,通过串口助手监控原始数据
- LED观察:PLC的485模块有TXD/RXD指示灯,正常应有规律闪烁
- 万用表检测:测量SDA-SDB间电压,静态时应≥1.5V
5.3 避坑经验
- 变频器上电顺序会影响通讯初始化,建议先启动PLC再启动变频器
- 长距离传输时(>50米),在总线两端各加一个终端电阻
- 修改参数后必须断电重启变频器才能生效
6. 性能优化建议
6.1 通讯效率提升
通过优化轮询时序,实测可将四台变频器的状态刷新周期压缩到500ms内:
- 将频率设定和运行命令合并发送(使用功能码16)
- 采用块读取指令一次性读取多个参数
- 对非关键参数(如温度)降低读取频率
6.2 程序结构优化
建议采用结构化编程:
ladder复制|--[M8000]--[CALL P_COMM_INIT]--| // 初始化
|--[M8000]--[CALL P_POLLING]----| // 轮询调度
|--[M8000]--[CALL P_ALARM]------| // 故障处理
7. 扩展应用场景
这种通讯方案经过验证可用于:
- 同步控制(如传送带多段速匹配)
- 节能控制(根据负载自动调节多台泵速)
- 远程监控(通过PLC上传变频器运行数据)
在中央空调系统中,我们曾用同样方案实现了8台变频水泵的群控,关键是要合理设置轮询周期和超时时间。当某台变频器故障时,PLC能自动跳过该站继续与其他设备通讯。