1. 项目概述:工业自动化中的变频器通讯需求
在工业自动化控制系统中,PLC与变频器的通讯一直是现场实施的关键环节。三菱FX3G/FX3S系列PLC作为中小型自动化项目的经典选择,经常需要与E700系列变频器配合使用,实现电机调速、状态监控等功能。通过485通讯协议建立连接,不仅可以节省大量接线工作,还能实现更灵活的参数设置和实时数据交互。
这个项目实战的核心,就是要解决FX3G/FX3S PLC通过485通讯协议同时控制四台E700变频器的技术难题。相比传统的模拟量控制方式,这种通讯方案具有布线简单、抗干扰强、参数设置灵活等显著优势。在实际产线中,我们经常需要控制多台电机协同工作,比如流水线上的传送带系统、包装机械的多轴控制等场景。
2. 硬件准备与接线规范
2.1 设备选型与兼容性确认
首先需要确认硬件设备的型号和兼容性:
- PLC型号:FX3G-40MT/ES(带内置485通讯口)或FX3S-30MT/ES(需扩展485通讯模块)
- 变频器型号:FR-E720-0.4K(0.4kW)至FR-E740-15K(15kW)系列
- 通讯电缆:三菱专用485通讯电缆(型号SBUS-S5)或符合规格的屏蔽双绞线
重要提示:FX3S系列PLC需要额外安装FX3S-485ADP通讯模块才能支持485通讯,而FX3G某些型号已内置485接口。务必在采购前确认PLC的通讯接口配置。
2.2 485网络接线规范
正确的物理连接是通讯成功的基础。四台变频器的485网络接线需要特别注意:
- 终端电阻设置:在网络最远两端(PLC端和最后一台变频器)的DA/DB端子间并联110Ω终端电阻
- 接线顺序:采用手拉手方式连接,避免星型拓扑
- 屏蔽层处理:电缆屏蔽层单端接地(通常在PLC端接地)
- 极性统一:所有设备的DA接DA(正极),DB接DB(负极)
典型接线示意图:
code复制PLC(485口) ---- 变频器1 ---- 变频器2 ---- 变频器3 ---- 变频器4
| | | | |
DA/DB DA/DB DA/DB DA/DB DA/DB
3. 变频器参数设置详解
3.1 基本通讯参数配置
每台E700变频器都需要设置以下参数(通过操作面板设置):
| 参数号 | 参数名称 | 设置值 | 说明 |
|---|---|---|---|
| Pr.117 | 站号 | 1-4 | 为每台变频器分配唯一站号 |
| Pr.118 | 通讯速率 | 96 | 对应9600bps |
| Pr.119 | 数据长度/停止位 | 11 | 7位数据+1停止位+偶校验 |
| Pr.120 | 通讯重试次数 | 3 | 通讯失败后重试次数 |
| Pr.121 | 通讯校验时间间隔 | 9999 | 禁用通讯超时检测 |
| Pr.122 | 通讯等待时间 | 10 | 10ms响应延迟 |
| Pr.123 | 通讯协议选择 | 1 | 选择三菱专用协议 |
3.2 运行指令与频率设定来源
还需要设置以下运行控制参数:
| 参数号 | 参数名称 | 设置值 | 说明 |
|---|---|---|---|
| Pr.79 | 运行模式选择 | 0 | 通过通讯控制运行 |
| Pr.338 | 通讯启动指令权 | 1 | 允许通讯启动 |
| Pr.339 | 通讯速度指令权 | 1 | 允许通讯设定频率 |
实际操作中发现:某些E700固件版本需要先将Pr.79设为2(外部模式),设置完所有参数后再改回0,否则参数可能无法保存。
4. PLC程序设计与实现
4.1 通讯初始化设置
在GX Works2中编写PLC程序时,首先需要配置通讯参数:
ladder复制// 通讯参数设置(FX3G内置485口示例)
MOV H0C96 D8120 // 设置通讯格式:9600bps,7,E,1
MOV K1 D8121 // 站号设置(PLC自身站号)
MOV K100 D8129 // 通讯超时时间100ms
关键参数解析:
- D8120的低字节(0C96)分解:
- 0:使用通道1(内置口)
- C:7位数据+偶校验
- 9:9600bps
- 6:1位停止位
- D8121设置PLC自身站号(通常设为0)
4.2 变频器控制指令帧构造
三菱专用协议采用固定格式的指令帧。以启动1号变频器正转为例:
ladder复制// 构造发送数据(16进制格式)
MOV H05 M100 // 帧头(ENQ)
MOV H30 M101 // 站号'0'(ASCII 30H)
MOV H31 M102 // 站号'1'(ASCII 31H)
MOV H46 M103 // 命令代码'F'(运行指令)
MOV H41 M104 // 子代码'A'(正转)
MOV H30 M105 // 数据'0'
MOV H30 M106 // 数据'0'
MOV H0D M107 // 结束符(CR)
完整指令帧:05 30 31 46 41 30 30 0D(HEX)
4.3 多机通讯的轮询机制
实现四台变频器稳定通讯的关键是合理的轮询机制:
- 采用状态机设计,依次处理各变频器通讯
- 每个通讯周期包含:发送指令→等待响应→处理数据→切换下一台
- 典型程序结构:
ladder复制// 主轮询控制
LD M8000 // 运行常ON
OUT M0 // 启动轮询
// 站号切换逻辑
LD M0
ANI T0
OUT T0 K10 // 每台间隔10ms
LD T0
OUT C0 K4 // 4台循环计数
// 根据C0当前值跳转到对应站处理
LD C0=0
CALL P1 // 处理站1
LD C0=1
CALL P2 // 处理站2
...
5. 常见问题排查与调试技巧
5.1 通讯失败常见原因
根据现场经验,通讯问题通常集中在以下几个方面:
-
物理层问题:
- 接线极性反接(DA/DB对调)
- 终端电阻缺失或阻值不对
- 通讯距离过长(超过500米未加中继)
-
参数设置问题:
- 变频器站号重复
- 通讯格式不匹配(波特率/校验位)
- Pr.123协议选择错误
-
程序问题:
- PLC发送指令格式错误
- 响应超时时间设置过短
- 未正确处理通讯间隔
5.2 实用调试方法
- 使用串口调试工具直接监听485总线,确认PLC发出的指令格式是否正确
- 单独测试每台变频器,排除设备个体差异
- 在PLC程序中添加通讯错误计数器,统计各站点的通讯成功率
- 逐步增加通讯距离,测试系统抗干扰能力
关键技巧:当遇到间歇性通讯中断时,尝试在PLC程序中将Pr.122(通讯等待时间)适当增大,通常设置为20-50ms可显著改善稳定性。
6. 高级应用:多机同步控制实现
6.1 速度同步控制方案
通过485通讯可以实现多台电机的精确同步:
- 主站(PLC)发送统一的速度指令
- 各变频器返回实际运行频率
- PLC比较各机速度反馈,进行动态调整
典型控制逻辑:
ladder复制// 读取各变频器实际频率(H6F命令)
// 变频器返回数据格式:05 30 31 36 46 30 32 30 30 0D
// 其中"0200"对应频率20.00Hz
// 速度同步调整
LD > D100 D101 // 比较1#和2#频率
CMP > D100 D101
OUT M50 // 1#比2#快标志
6.2 故障连锁保护设计
多机系统需要完善的故障保护机制:
- 任一变频器故障时,通过通讯读取故障代码(H7A命令)
- 触发PLC的紧急停止程序
- 在HMI上显示具体故障信息
典型保护程序:
ladder复制// 故障监测循环
FOR K1 TO K4 // 检查1-4号站
// 发送故障读取指令
MOV H05 D200
MOV H30 D201
// ...构造H7A指令帧
// 处理响应
LD M8123 // 接收完成标志
MOV D100 D300 // 保存故障代码
CALL P_Alarm // 调用报警处理
NEXT
7. 系统优化与性能提升
7.1 通讯效率优化技巧
- 合理设置轮询间隔:一般应用设为50-100ms,高速场合可缩短至20ms
- 采用分组查询:将监控参数分组,交替读取不同组数据
- 使用批量读取指令:一次性读取多个参数(H7D命令)
7.2 抗干扰增强措施
- 在485线路两端添加TVS二极管(如P6KE6.8CA)
- 通讯电缆远离动力线(至少30cm间距)
- 在PLC端添加隔离型485转换器
- 变频器接地端子可靠接地(接地电阻<100Ω)
经过多次现场调试验证,这套系统在工业环境下可以实现四台E700变频器稳定通讯,平均响应时间控制在80ms以内,完全满足大多数自动化产线的控制需求。实际应用中,建议先进行单台测试,确认通讯正常后再逐步接入其他变频器,这样能快速定位问题节点。
