1. 项目概述与硬件配置
在工业自动化控制系统中,PLC与变频器的通讯是最基础也是最关键的技术环节之一。这次我们要实现的是三菱FX3U PLC通过485总线同时控制3台三菱E740变频器的完整解决方案。这个方案在实际生产中非常实用,比如在流水线多电机同步控制、中央空调系统、水处理设备等场景都有广泛应用。
1.1 核心硬件选型
主控制器:三菱FX3U-32MT/ES-A
- 32点基本单元(16输入/16输出晶体管型)
- 内置RS422编程口,需扩展485通讯模块
- 最大支持384点I/O扩展(含特殊模块)
通讯模块:FX3U-485-BD
- 直接安装在PLC右侧的扩展槽
- 支持RS485半双工通讯
- 最大通讯距离1200米(波特率≤19.2kbps时)
- 终端电阻可通过跳线选择(通常120Ω)
变频器:三菱FR-E740-0.75K-CHT(3台)
- 功率范围0.75kW(可根据实际电机功率调整)
- 内置Modbus RTU协议(协议代码为A)
- 标准配置RS485端子(PU接口)
- 支持频率设定、运行监控等标准功能
HMI:昆仑通态TPC7062KX
- 7寸高亮度TFT液晶屏
- 内置MCGS嵌入式组态软件
- 支持与三菱PLC直接通讯
- 双串口配置(COM1 RS232,COM2 RS485)
1.2 硬件连接示意图
code复制[PLC]FX3U-485-BD
│
├──[Terminal Resistor 120Ω]
│
├──[变频器1]E740(站号1)
│ │
│ └──[电机1]
├──[变频器2]E740(站号2)
│ │
│ └──[电机2]
└──[变频器3]E740(站号3)
│
└──[电机3]
重要提示:485网络必须采用手拉手式连接,严禁星型连接。末端变频器需要启用终端电阻(拨码开关设置),中间节点需关闭终端电阻。
2. 通讯协议配置详解
2.1 Modbus RTU参数设置
三菱变频器的Modbus参数需要通过操作面板进行设置:
- 按MODE键进入参数设置模式
- 找到Pr.117~Pr.124通讯参数组
- 关键参数设置:
- Pr.117=1(站号1,其他变频器依次为2、3)
- Pr.118=96(波特率9600bps)
- Pr.119=0(数据长度8位,停止位1位,无校验)
- Pr.120=2(通讯重试次数)
- Pr.121=999(通讯超时1秒)
- Pr.122=0(通讯校验时间无效)
- Pr.123=9999(等待时间设置无效)
- Pr.124=0(CR/LF无添加)
2.2 PLC通讯参数配置
FX3U的通讯参数通过特殊数据寄存器设置:
ladder复制// 上电初始化程序
LD M8002 // 上电脉冲
MOV H0C81 D8120 // 通讯格式设置
// 位定义:
// b15-b12: 0-固定
// b11: 0-无协议 1-有协议
// b10: 0-无校验 1-偶校验 2-奇校验
// b9: 0-1位停止位 1-2位停止位
// b8: 0-7位数据 1-8位数据
// b7-b0: 波特率代码(81=9600bps)
MOV K3 D8124 // 从站总数设置
2.3 接线规范与抗干扰措施
-
电缆选择:
- 必须使用双绞屏蔽线(如BELDEN 9841)
- 屏蔽层单端接地(通常在PLC侧接地)
-
端子定义:
- FX3U-485-BD:SDA/RDA(接变频器S+),SDB/RDB(接变频器S-)
- E740变频器:PU接口的2号端子(S+),1号端子(S-)
-
抗干扰措施:
- 通讯线远离动力线(最小距离30cm)
- 在变频器侧加装磁环(TDK ZCAT2035-0930)
- 确保所有设备共地良好
3. PLC程序设计精要
3.1 通讯指令详解
三菱FX3U使用RS指令进行Modbus通讯:
ladder复制// 读取变频器运行频率(站号1)
LD X0 // 触发信号
RS D100 K8 D200 K10
// 参数说明:
// D100: 发送数据起始地址
// K8: 发送数据长度(8字节)
// D200: 接收数据存储地址
// K10: 接收数据最大长度
发送数据帧结构:
| 地址 | 内容 | 说明 |
|---|---|---|
| D100 | H0001 | 站号1 |
| D101 | H0003 | 功能码03(读保持寄存器) |
| D102 | H0000 | 起始地址高字节 |
| D103 | H0009 | 起始地址低字节(输出频率为0009H) |
| D104 | H0000 | 读取数量高字节 |
| D105 | H0001 | 读取数量低字节 |
| D106 | H0000 | CRC低字节(需计算) |
| D107 | H0000 | CRC高字节(需计算) |
3.2 频率控制程序
ladder复制// 设置变频器1目标频率50Hz
LD X1 // 频率设定触发
MOV K1 D300 // 站号
MOV K6 D301 // 功能码06(写单个寄存器)
MOV H0008 D302 // 频率设定地址0008H
MOV H1388 D303 // 50Hz对应值5000(0.01Hz单位)
MOV H0000 D304 // CRC低字节
MOV H0000 D305 // CRC高字节
RS D300 K8 D400 K5 // 执行写入
注意:频率设定值=实际频率×100,如50.00Hz对应5000,需转换为十六进制1388H
3.3 多机轮询机制
ladder复制// 轮询状态机实现
LD M8000 // 常ON
MOV K1 D0 // 默认站号1
CMP K1 D10 // 检查当前步骤
= M0 // 步骤1:读取频率
CMP K2 D10
= M1 // 步骤2:读取电流
// ...其他步骤
// 步骤切换逻辑
LD M8029 // 通讯完成标志
INC D10 // 步骤+1
AND<= K3 D10 // 限制最大步骤数
4. 触摸屏界面设计要点
4.1 MCGS变量关联配置
-
设备窗口配置:
- 添加FX3U驱动(三菱_FX系列串口)
- 设置COM口参数(波特率9600,8N1)
- 建立通道连接:
- X0 → 启动按钮
- D100 → 频率设定值
- D200 → 频率反馈值
-
画面元素设计:
- 变频器选择选项卡(3个页面)
- 运行状态指示灯组:
- 运行状态(颜色绑定M0)
- 故障状态(颜色绑定M1)
- 频率设定滑块(范围0-5000对应0-50Hz)
- 实时曲线显示(绑定D200)
4.2 脚本增强功能
javascript复制// 频率单位转换脚本
function HzToValue(Hz) {
return Math.round(Hz * 100);
}
// 按钮互锁逻辑
if(GetData("PLC.M10")) { // 如果变频器1运行
SetElementProperty("Button2", "Enable", 0); // 禁用变频器2启动
}
5. 调试技巧与故障排除
5.1 常见问题速查表
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| 通讯超时 | 波特率设置不一致 | 检查PLC和变频器Pr.118参数 |
| 数据错误 | 校验方式不匹配 | 确认Pr.119设置与PLC一致 |
| 部分站不通 | 终端电阻未正确设置 | 末端设备启用120Ω终端电阻 |
| 干扰严重 | 接地不良 | 检查屏蔽层接地,加装磁环 |
5.2 高级调试手段
-
通讯监控:
- 使用USB-RS485转换器接入总线
- 通过ModScan32软件监控数据帧
-
PLC诊断:
- 监控D8120~D8129特殊寄存器
- 检查M8063(通讯错误标志)
-
变频器诊断:
- 查看ALARM历史记录
- 监控Pr.123~Pr.124通讯参数
6. 性能优化建议
-
通讯时序优化:
- 将轮询周期设置为100-200ms
- 重要参数(如运行状态)优先读取
- 非关键参数(如电压)降低读取频率
-
程序结构优化:
- 使用FEND+SRET划分功能块
- 关键通讯程序放在主程序开头
- 错误处理使用中断(EI+IM指令)
-
安全增强措施:
- 添加通讯超时报警(定时器T192)
- 重要操作增加确认对话框
- 频率突变增加斜率限制
在实际项目中,我们发现最关键的环节是初始化的参数匹配和物理接线的规范性。曾经有个项目因为变频器终端电阻未启用,导致通讯时好时坏,排查了整整两天。后来我们建立了标准的检查清单,这些问题就再没出现过。