1. 项目概述与背景
在工业自动化控制系统中,PLC与变频器之间的稳定通讯是实现复杂控制的基础。三菱FX3G/FX3S系列PLC作为中小型自动化项目的常用控制器,通过485总线与多台变频器组网通讯,能够显著提升系统的集成度和灵活性。本次实战案例展示了如何利用Modbus RTU协议实现1台PLC对4台E700变频器的集中控制。
这个方案的核心价值在于:
- 采用工业级RS485物理层,通讯距离可达1200米(波特率9600时)
- 单主多从架构下,4台变频器共享同一通讯链路,节省硬件成本
- 通过标准Modbus协议实现启停、频率设定、运行监控等完整控制功能
- 系统响应时间实测<100ms,满足大多数工业场景需求
2. 硬件配置详解
2.1 设备选型清单
| 设备类型 | 型号规格 | 数量 | 备注 |
|---|---|---|---|
| PLC主机 | FX3G-40MT/ES | 1 | 晶体管输出型 |
| 通讯扩展模块 | FX3U-485BD | 1 | 需注意与FX3G的兼容性 |
| 变频器 | FR-E720-0.4K | 4 | 功率根据负载选择 |
| 通讯电缆 | RVSP 2×0.75mm² | 若干 | 双绞屏蔽线 |
| 终端电阻 | 120Ω 1/4W | 2 | 总线两端各一个 |
2.2 接线规范与注意事项
正确的物理连接是通讯稳定的前提,接线时需要特别注意:
-
拓扑结构:采用总线型拓扑,所有设备并联在485总线上。建议按以下顺序连接:
PLC 485BD → 变频器1 → 变频器2 → 变频器3 → 变频器4 -
端子定义:
- FX3U-485BD:SDA接RDA,SDB接RDB(三菱特有的短接方式)
- E700变频器:PU接口的2号端子为SDA,1号端子为SDB
-
屏蔽层处理:
- 电缆屏蔽层单端接地(通常在PLC侧接地)
- 避免形成接地环路,否则可能引入干扰
关键提示:实际施工中遇到过因屏蔽层双端接地导致通讯不稳定的案例,建议用万用表测量屏蔽层与地之间的电阻,确保只有一端导通。
3. 变频器参数配置
3.1 基础通讯参数设置
每台变频器需要独立设置以下参数(以站号1为例):
| 参数号 | 参数名称 | 设定值 | 说明 |
|---|---|---|---|
| Pr.79 | 运行模式 | 2 | 外部运行模式 |
| Pr.117 | 站号 | 1 | 范围0-31,各变频器必须唯一 |
| Pr.118 | 通讯速率 | 96 | 对应9600bps |
| Pr.119 | 停止位长 | 10 | 1位停止位 |
| Pr.120 | 奇偶校验 | 2 | 偶校验 |
| Pr.121 | 通讯重试次数 | 3 | 建议设置3次重试 |
| Pr.122 | 通讯校验时间 | 9999 | 无超时检测 |
| Pr.123 | 等待时间设定 | 0 | 从机立即响应 |
| Pr.124 | CR/LF选择 | 0 | 无CR/LF |
3.2 功能寄存器映射
Modbus协议通过寄存器地址访问变频器功能,E700关键寄存器如下:
| 功能 | 寄存器地址 | 操作类型 | 数据格式 | 备注 |
|---|---|---|---|---|
| 运行指令 | 0x0000 | 写 | 16位无符号 | 1:正转 2:反转 0:停止 |
| 频率设定 | 0x0001 | 写 | 16位无符号 | 单位0.01Hz (5000=50.00Hz) |
| 输出频率 | 0x0002 | 读 | 16位无符号 | 实时输出频率 |
| 输出电流 | 0x0003 | 读 | 16位无符号 | 单位0.01A |
| 故障代码 | 0x0004 | 读 | 16位无符号 | 0表示正常 |
4. PLC程序设计
4.1 通讯初始化
在GX Works2中建立新工程,首先进行通讯初始化:
ladder复制// 初始化程序(首次扫描执行)
LD M8002
MOV K1 D100 // 变频器1站号
MOV K2 D101 // 变频器2站号
MOV K3 D102 // 变频器3站号
MOV K4 D103 // 变频器4站号
MOV K96 D104 // 波特率9600(96对应Pr.118的值)
MOV K10 D105 // 停止位1位(10对应Pr.119的值)
MOV K2 D106 // 偶校验(2对应Pr.120的值)
4.2 频率控制程序
实现通过触摸屏设定4台变频器频率:
ladder复制// 变频器1频率设定
LD X0 // 启动按钮
MOV K5000 D200 // 默认频率50Hz
MODRW D100 K1 K1 D200 K1 // 写入变频器1的频率寄存器
// 变频器2频率设定(类似结构)
LD X1
MOV K3000 D201
MODRW D101 K1 K1 D201 K1
4.3 状态轮询程序
采用分时复用方式轮询各变频器状态:
ladder复制// 状态轮询控制
LD M8013 // 1秒时钟脉冲
INC D110 // 轮询计数器
CMP K4 D110 // 判断计数器值
<=
MOV K0 D110 // 复位计数器
// 根据D110值选择轮询对象
LD=D110 K0
MODRD D100 K2 K1 D300 K1 // 读取变频器1输出频率
LD=D110 K1
MODRD D101 K2 K1 D301 K1 // 读取变频器2输出频率
5. 触摸屏界面设计
5.1 主要功能界面
建议在GT Designer3中创建以下元素:
-
频率设定区:
- 4个数值输入框(对应各变频器)
- 单位显示"Hz"
- 设定范围0.00-400.00Hz
-
运行控制区:
- 正转/反转/停止按钮组(4组)
- 状态指示灯(运行中、故障)
-
监控显示区:
- 实时频率显示表
- 电流显示表
- 故障代码显示
5.2 数据地址映射
| 界面元素 | PLC地址 | 数据类型 | 备注 |
|---|---|---|---|
| 变频器1设定值 | D200 | WORD | 单位0.01Hz |
| 变频器1正转 | Y0 | BIT | 上升沿触发 |
| 变频器1频率反馈 | D300 | WORD | 只读 |
| 变频器1故障码 | D310 | WORD | 0表示正常 |
6. 调试与故障排查
6.1 常见问题处理
| 故障现象 | 可能原因 | 解决方案 |
|---|---|---|
| 通讯完全不通 | 接线错误 | 检查SDA/SDB是否反接 |
| 终端电阻未接 | 在总线两端加120Ω电阻 | |
| 部分变频器无响应 | 站号设置重复 | 检查Pr.117参数 |
| 波特率不一致 | 确认所有设备Pr.118相同 | |
| 数据偶发错误 | 干扰严重 | 检查屏蔽层接地,避开动力线 |
| 校验方式不匹配 | 统一Pr.120设置 | |
| 响应速度慢 | 轮询周期过长 | 优化PLC程序结构 |
| 变频器响应延迟 | 调整Pr.123等待时间 |
6.2 调试工具推荐
-
串口监视器:
- 推荐使用Modbus Poll软件
- 可实时捕获通讯报文
- 支持CRC校验验证
-
信号测量工具:
- 示波器观察485信号波形
- 万用表测量终端电阻阻值
-
PLC调试技巧:
- 利用GX Works2的在线监视功能
- 通过D8120查看通讯错误代码
7. 系统优化建议
-
通讯效率提升:
- 将轮询周期从1秒缩短至200ms
- 采用批量读取指令(如MODRD连续读取多个寄存器)
-
可靠性增强:
- 增加心跳检测机制
- 实现故障自动重连功能
-
功能扩展:
- 添加参数批量下载功能
- 实现变频器参数备份/恢复
实际项目中曾遇到变频器偶尔丢包的情况,后来发现是总线末端电阻接触不良。改用焊接方式固定后,通讯稳定性显著提升。另外建议在PLC程序中添加通讯超时处理逻辑,当某台变频器连续3次无响应时自动报警并尝试重新初始化通讯。