1. 项目背景与需求解析
在工业自动化控制领域,PLC与变频器的通讯集成一直是现场实施的关键环节。这次我们要解决的是三菱FX3U系列PLC同时控制3台三菱变频器的Modbus RTU通讯实现方案。这种架构在恒压供水、流水线调速、多电机同步控制等场景中非常常见。
实际项目中,我们经常遇到这样的需求:通过一台PLC集中控制多台变频器的启停、频率给定和状态监控。采用Modbus RTU协议的优势在于:
- 硬件成本低(仅需RS485总线)
- 布线简单(两线制连接)
- 协议开放(兼容不同品牌设备)
但实际操作时会遇到几个典型问题:
- 多设备轮询时的时序控制
- 通讯异常时的故障恢复机制
- 不同变频器参数地址的差异处理
2. 硬件配置与接线规范
2.1 硬件选型清单
- 主站设备:三菱FX3U-32MR/ES-A(内置RS485接口)
- 从站设备:三菱FR-D700系列变频器3台(支持Modbus RTU协议)
- 通讯模块:FX3U-485ADP-MB(选配,增强通讯稳定性)
- 终端电阻:120Ω 1/4W(总线两端各一个)
2.2 物理接线要点
plaintext复制PLC(主站) 变频器1 变频器2 变频器3
DA <-------> SDA
DB <-------> SDB
RDA <-------> RDA
RDB <-------> RDB
SG <-------> SG
重要提示:必须使用双绞屏蔽线(如RVSP 2×0.5mm²),屏蔽层单端接地。总线末端的两台设备需要启用终端电阻。
2.3 变频器参数设置
每台变频器需要设置以下关键参数:
- Pr.117:站号(建议设置为1、2、3)
- Pr.118:通讯速率(9600bps)
- Pr.119:停止位长(1位)
- Pr.120:奇偶校验(偶校验)
- Pr.121:通讯重试次数(3次)
- Pr.122:通讯校验时间间隔(0ms)
3. PLC程序架构设计
3.1 通讯协议解析
三菱变频器Modbus RTU采用功能码03H(读保持寄存器)和06H(写单个寄存器)。关键寄存器地址:
- 输出频率:0002H(实际值需乘以0.01)
- 设定频率:0001H
- 运行命令:0000H(bit0=启动,bit1=正转/反转)
3.2 程序流程图
plaintext复制[初始化]
├─ 设置通讯参数(D8120)
├─ 定义数据缓冲区(D100-D199)
└─ 建立轮询计数器(C0)
│
├─ [站1通讯]
│ ├─ 发送读指令(M8002触发)
│ └─ 接收处理(M8122中断)
│
├─ [站2通讯]
│ ├─ 发送写频率指令
│ └─ 接收状态确认
│
└─ [站3通讯]
├─ 发送控制指令
└─ 接收异常代码
3.3 关键梯形图程序
ladder复制|--[MOV K4 D8120]-----------------| // 设置通讯格式:9600,7,E,1
|--[MOV H0C96 D100]---------------| // 站1读指令帧头
|--[MOV H2 D101]------------------| // 读取0002H寄存器
|--[MOV H1 D102]------------------| // 读取1个字
|--[CRC D100 K3 D103]-------------| // 计算CRC校验
|--[RS D100 K5 D200 K5]-----------| // 发送接收指令
4. 通讯异常处理机制
4.1 超时重试设计
plaintext复制M8000
├─ T0 K50(500ms超时)
│ ├─ 超时未响应 → C0+1
│ └─ C0=3时 → 报警M100
└─ 正常响应 → 复位C0
4.2 典型故障代码
| 错误代码 | 含义 | 处理方案 |
|---|---|---|
| H80 | 从站无响应 | 检查接线/站号设置 |
| H81 | CRC校验错误 | 检查线路干扰/终端电阻 |
| H82 | 非法功能码 | 核对变频器参数版本 |
| H83 | 非法数据地址 | 确认寄存器映射表 |
4.3 信号滤波处理
在接收数据时建议添加数字滤波:
ladder复制|--[MOVP D200 D210]---------------| // 原始数据
|--[FILT D210 K3 D211]------------| // 3次滑动平均
|--[ZCP K-10 D211 K10 M10]--------| // 数值范围校验
5. 实操经验与优化建议
-
轮询间隔优化:
- 每台变频器建议间隔≥100ms
- 关键参数(如频率)可提高优先级
- 非关键参数(如温度)可降低采样率
-
数据同步技巧:
ladder复制|--[DMOVP D211 D500]-------------| // 站1频率 |--[DMOVP D311 D502]-------------| // 站2频率 |--[DMOVP D411 D504]-------------| // 站3频率 |--[BMOV D500 K3 D600]-----------| // 批量处理 -
抗干扰措施:
- 通讯线远离动力线≥30cm
- 在PLC侧加装信号隔离器
- 变频器参数Pr.123建议设为999ms(通讯等待时间)
-
调试工具推荐:
- 三菱FR Configurator(参数配置)
- Modbus Poll(协议测试)
- 示波器(信号质量检测)
实际项目中,我发现最常出现的问题是终端电阻未正确配置导致的信号反射。有个简单的判断方法:用万用表测量总线两端电阻,正常值应为60Ω左右(两个120Ω并联)。如果接近120Ω或∞,说明终端电阻配置有误。
对于需要快速响应的场合,可以采用"乒乓式"通讯策略:将3台变频器分为两组,交替进行通讯。这样虽然单次轮询周期变长,但关键参数的更新频率可以提高50%。
