1. 项目背景与核心需求
五层电梯控制系统是工业自动化领域的经典案例,也是PLC编程入门的必修课。这次我们要实现的是基于MCGS7.7嵌入版触摸屏与三菱FX系列PLC的联动控制方案。这种组合在实际项目中非常常见——MCGS作为国产HMI性价比高,三菱PLC则以稳定可靠著称。
整套系统需要实现以下核心功能:
- 完整的五层楼内呼/外呼按钮响应
- 电梯运行方向指示灯控制
- 轿厢位置实时显示
- 开关门动画效果模拟
- 紧急停止和安全保护功能
2. 硬件配置与通信建立
2.1 设备选型清单
- 三菱FX3U-48MR PLC(32点输入/16点继电器输出)
- MCGS TPC7062KX 7寸嵌入式触摸屏
- 24V直流电源(给PLC和触摸屏供电)
- 按钮开关若干(模拟各层呼叫信号)
注意:PLC的输入输出点需要提前规划好,建议用Excel制作I/O分配表。例如X0-X3用作楼层限位开关,Y0-Y3控制电梯上下行电机。
2.2 通信参数配置
MCGS与三菱PLC通常采用RS485通信,具体设置步骤如下:
- PLC端设置:
plaintext复制D8120 = 0x0096 // 波特率9600,7位数据位,偶校验
- MCGS设备窗口配置:
- 添加"三菱FX系列编程口"驱动
- 设置站号为0(默认)
- 通信参数与PLC保持一致
- 接线检查:
bash复制PLC 485+ (DA) —— MCGS 485+
PLC 485- (DB) —— MCGS 485-
务必做好终端电阻匹配
3. PLC程序设计详解
3.1 电梯核心控制逻辑
采用状态机编程模式,定义以下关键状态:
structured复制// 状态定义
M0:电梯待机
M1:上行中
M2:下行中
M3:停靠开门
M4:紧急停止
3.2 楼层定位实现
使用格雷码编码的楼层传感器(避免普通二进制码的误判):
ladder复制X0 X1 X2 | 楼层
0 0 0 | 1F
0 0 1 | 2F
0 1 1 | 3F
0 1 0 | 4F
1 1 0 | 5F
对应的PLC程序段:
structured复制LD X0
AND X1
OUT M100 // 5F标志
LD X0
AND X1
ANI X2
OUT M101 // 4F标志
...(其他楼层逻辑类似)
3.3 呼叫响应优先级算法
采用"顺向优先"的电梯调度策略:
- 记录所有内呼、外呼信号(用M寄存器存储)
- 运行中优先响应同方向请求
- 无同方向请求时判断最近反向请求
- 用D100存储目标楼层队列
关键程序实现:
structured复制MOV K0 D100 // 清空队列
// 2F上行呼叫处理
LD X10 // 2F上行按钮
OR M10 // 2F内呼
ANI M101 // 非当前楼层
OUT M200 // 加入队列
// 队列排序逻辑
CMP D100 K0
...
4. MCGS触摸屏界面设计
4.1 画面元素规划
-
主界面:
- 电梯井道示意图(带轿厢动画)
- 1-5层外呼按钮(上下箭头)
- 轿厢内呼面板
- 运行方向指示灯
- 当前楼层数码管显示
-
管理员界面(密码保护):
- I/O监控表
- 参数设置
- 运行日志
4.2 关键动画实现
轿厢移动动画通过"垂直移动"构件实现:
- 创建轿厢图形符号
- 添加动画连接:
- 表达式:PLC_D100(目标楼层)
- 移动距离:按实际像素计算
- 移动时间:根据楼层差动态计算
plaintext复制动画速度 = 基准速度 × |当前层 - 目标层|
4.3 数据变量连接
建立MCGS变量与PLC软元件的对应关系:
| MCGS变量名 | PLC地址 | 类型 | 说明 |
|---|---|---|---|
| Floor_Now | D10 | 只读 | 当前楼层 |
| Call_Up[5] | M10-M14 | 读写 | 各层上行呼叫 |
| Door_Open | Y10 | 可写 | 开门控制 |
5. 联动调试技巧
5.1 分阶段调试法
-
单独测试PLC:
- 用强制功能模拟输入信号
- 观察输出指示灯是否符合逻辑
-
单独测试HMI:
- 使用模拟运行模式
- 检查画面切换和动画效果
-
联机调试:
- 先测试单层往返
- 再测试多层连续运行
- 最后加入紧急停止测试
5.2 常见故障排查
-
通信失败:
- 检查接线(DA/DB是否反接)
- 确认波特率、站号设置
- 用串口调试助手监测通信数据
-
动画卡顿:
- 降低画面刷新频率
- 优化图形元素(减少渐变效果)
- 检查PLC扫描周期是否过长
-
逻辑错误:
- 启用MCGS的在线调试功能
- 监控关键寄存器值变化
- 对比状态转移图检查程序逻辑
6. 安全保护机制实现
6.1 硬件保护
- 上下极限位开关(X24/X25)
- 安全回路继电器(Y15)
- 过载检测(通过PLC模拟量模块)
6.2 软件保护
structured复制// 超时保护
LD M1 // 上行中
OUT T0 K300 // 30秒计时
LD T0
OUT M4 // 触发急停
// 双重楼层校验
LD M100 // 5F信号
AND > D10 K5 // PLC记录>5F
OUT M4 // 位置异常保护
6.3 紧急处理流程
- 急停按钮按下(X27)
- 立即切断电机电源(Y0-Y1复位)
- 保持抱闸状态(Y2置位)
- 蜂鸣器报警(Y3脉冲输出)
- 需管理员密码复位(MCGS界面)
7. 项目优化建议
-
性能优化:
- 在PLC中采用FNC40(ZRST)指令批量复位呼叫信号
- MCGS使用"条件触发"减少不必要的数据刷新
-
功能扩展:
- 增加语音播报功能(需扩展PLC模块)
- 实现群控调度(多台电梯协同)
- 添加能耗统计界面
-
维护便利性:
- 在MCGS中集成故障代码查询功能
- 设计一键自检程序
- 记录运行日志到U盘
这套系统在实际教学楼项目中运行稳定,经过三个月的连续测试,平均故障间隔时间超过2000小时。最值得分享的经验是:电梯类项目一定要做好状态机的完备性检查,我们曾经因为漏掉了"开门超时"状态导致逻辑死锁,后来通过增加T5定时器完美解决。