1. 项目概述与核心需求
在工业自动化控制系统中,多设备间的稳定通讯是实现复杂控制功能的基础。这次分享的项目基于信捷XD5 PLC与三台三菱E700变频器的通讯系统,配合昆仑通态7022Ni触摸屏,构建了一套完整的电机调速控制系统。这个方案特别适合需要同时控制多台变频器的场景,比如流水线上的多台电机同步控制、风机群控等应用。
核心功能需求非常明确:
- 通过触摸屏设定目标频率值(0-50Hz可调)
- 远程启停控制(每台变频器独立控制)
- 实时读取各变频器的运行频率
- 确保三台设备通讯的稳定性和实时性
1.1 系统架构设计
整个系统采用典型的三层架构:
- 人机交互层:昆仑通态7022Ni触摸屏
- 控制层:信捷XD5 PLC(带RS485通讯接口)
- 执行层:三台三菱E700系列变频器
通讯网络采用RS485总线结构,这种半双工通讯方式特别适合设备数量不多、传输距离适中的场景。PLC作为主站,三台变频器作为从站,触摸屏通过RS485与PLC交互。这种架构布线简单,成本低,且能满足大多数工业场景的需求。
2. 硬件配置与连接细节
2.1 设备选型考量
选择信捷XD5 PLC主要基于以下考虑:
- 内置RS485通讯口,无需额外扩展模块
- 支持Modbus RTU协议(与三菱变频器兼容)
- 处理性能足够应对轮询通讯需求
- 性价比高于日系品牌同级产品
三菱E700变频器是工业界广泛使用的成熟产品,其通讯协议开放,参数设置灵活。选择昆仑通态触摸屏则是因为其与国产PLC的兼容性好,且组态软件易用。
2.2 接线规范与注意事项
RS485网络的可靠性很大程度上取决于接线质量。以下是关键接线要点:
-
线材选择:
- 使用双绞屏蔽线(如RVSP 2×1.0mm²)
- 屏蔽层单端接地(通常在PLC端)
-
接线顺序:
- PLC的485+(A)接所有设备的485+
- PLC的485-(B)接所有设备的485-
- 务必确保极性一致
-
终端电阻:
- 在总线最远端的设备上接入120Ω终端电阻
- 当通讯距离超过50米时必须使用
重要提示:接线完成后,建议用万用表测量A-B间电阻(断电状态下),正常值应在60Ω左右(两个120Ω电阻并联)。若为120Ω说明只接了一个终端电阻,若为∞说明线路开路。
3. 通讯协议与参数设置
3.1 三菱E700通讯协议解析
三菱E700系列变频器支持Modbus RTU协议,使用以下关键寄存器地址:
| 功能 | 寄存器地址 | 数据类型 | 读写属性 |
|---|---|---|---|
| 运行频率设定 | 0x1000 | 16位无符号 | 读写 |
| 运行命令 | 0x2000 | 16位无符号 | 读写 |
| 输出频率监视 | 0x2100 | 16位无符号 | 只读 |
频率值采用整数表示,例如:
- 设定50.00Hz → 发送5000(0x1388)
- 读取2500 → 实际频率25.00Hz
3.2 设备参数设置
PLC端设置:
- 通讯端口:RS485
- 波特率:9600bps(长距离时可降为4800bps)
- 数据格式:8位数据位,无校验,1位停止位
- 站号设置:PLC作为主站,地址通常为0
变频器设置:
每台变频器需要设置以下参数(通过操作面板):
code复制Pr.117 = 1 // 站号(第一台设为1,第二台2,依此类推)
Pr.118 = 96 // 波特率9600bps
Pr.119 = 0 // 8位数据位,无校验
Pr.120 = 1 // 停止位1位
Pr.121 = 999 // 通讯超时设置
Pr.122 = 999 // 通讯校验时间
触摸屏设置:
- 通讯协议:Modbus RTU
- 站号:与PLC一致(通常为0)
- 波特率、校验位等与PLC完全一致
4. 程序设计实现
4.1 轮询机制设计
采用顺序轮询方式,确保每台变频器都能获得均等的通讯机会。程序结构如下:
ladder复制// 初始化
DM0 = 0; // 轮询计数器
DM1 = 100 // 轮询间隔(ms)
// 主循环
LD SM0 // 常开触点
MOV DM0 // 读取当前轮询状态
CMP =0 // 判断是否为第一台
JMP P0 // 跳转到第一台处理
CMP =1 // 判断是否为第二台
JMP P1 // 跳转到第二台处理
CMP =2 // 判断是否为第三台
JMP P2 // 跳转到第三台处理
// 第一台处理
P0:
MOV DM100 R1000 // 发送频率设定
MOV DM101 R1001 // 发送启停命令
MOV R1002 DM102 // 读取实际频率
INC DM0 // 计数器加1
JMP END
// 第二台处理
P1:
MOV DM100 R1100
MOV DM101 R1101
MOV R1102 DM102
INC DM0
JMP END
// 第三台处理
P2:
MOV DM100 R1200
MOV DM101 R1201
MOV R1202 DM102
MOV 0 DM0 // 复位计数器
JMP END
END: TIMER T0 DM1 // 轮询间隔计时
4.2 关键程序设计技巧
-
数据映射策略:
- 为每台变频器分配独立的寄存器区(R1000-R1999、R1100-R1199等)
- 采用基地址+偏移量的方式管理寄存器
-
故障处理机制:
- 增加通讯超时判断(3次失败后报警)
- 记录各设备最后一次成功通讯时间
-
频率转换处理:
st复制// 将触摸屏输入的0-50Hz转换为变频器接受的0-5000 REAL_TO_INT(触摸屏输入值*100.0) → 频率设定寄存器 // 将读取的频率值转换为实际频率 INT_TO_REAL(读取值)/100.0 → 显示频率
5. 触摸屏界面设计
5.1 主界面布局
昆仑通态触摸屏采用MCGS组态软件设计,主要包含:
- 频率设定输入框(数值输入元件)
- 启停控制按钮(位状态切换元件)
- 实际频率显示(数值显示元件)
- 设备状态指示灯
- 报警信息显示区
5.2 变量绑定关键点
-
频率设定:
- 绑定PLC的DM100寄存器
- 设置数据范围为0-5000(对应0.00-50.00Hz)
- 显示格式设置为"##.## Hz"(需在屏上做除以100处理)
-
启停控制:
- 使用DM101的低三位控制三台变频器
- 位0:第一台启停(0停止,1启动)
- 位1:第二台启停
- 位2:第三台启停
-
频率显示:
- 创建三个显示元件,分别绑定DM102-DM104
- 设置显示格式为"##.## Hz"
6. 调试与故障排查
6.1 常见问题及解决方法
| 故障现象 | 可能原因 | 排查步骤 | 解决方案 |
|---|---|---|---|
| 通讯完全不通 | 接线错误 | 1. 检查A/B线是否接反 2. 测量终端电阻 3. 检查设备供电 |
确保接线正确,终端电阻匹配 |
| 部分设备无响应 | 站号设置错误 | 1. 检查变频器Pr.117参数 2. 监控PLC发送的站号 |
确保各从站地址唯一 |
| 数据偶尔错误 | 干扰或波特率不匹配 | 1. 检查接地情况 2. 确认所有设备波特率一致 |
改善接地,统一通讯参数 |
| 触摸屏操作无反应 | 变量绑定错误 | 1. 检查触摸屏变量地址 2. 监控PLC寄存器变化 |
修正绑定地址,确保与PLC程序一致 |
6.2 调试技巧
-
分段调试法:
- 先确保PLC-触摸屏通讯正常
- 再单独调试PLC-单台变频器
- 最后接入所有变频器
-
监控工具使用:
- 使用串口调试助手监控原始数据
- 信捷PLC编程软件自带通讯监控功能
-
信号质量检查:
- 用示波器观察RS485波形
- 正常波形应清晰,无严重振铃或畸变
7. 性能优化建议
-
轮询间隔优化:
- 测试不同间隔下的系统响应
- 一般建议50-200ms,过短会增加总线负荷
-
数据打包优化:
- 将频率设定和启停命令合并发送
- 使用Modbus功能码16(写多个寄存器)
-
异常处理增强:
- 增加通讯失败重试机制
- 实现自动站号扫描功能
-
扩展性考虑:
- 采用模块化程序设计
- 预留更多变频器接口(通过扩展PLC通讯口)
在实际项目中,这套系统已经稳定运行超过2000小时,期间经历了电压波动、温度变化等考验。最大的收获是认识到工业通讯中"简单即可靠"的道理——有时候最基础的轮询方式反而比复杂的通讯协议更值得信赖。