1. 项目概述
这个六层双电梯联控系统是我在工厂实际部署的一套工业级解决方案,核心在于用西门子S7-200 SMART PLC实现两台电梯的智能调度。最特别的是系统采用类似外卖平台的抢单机制——两台电梯共用外呼按钮,通过实时位置计算动态分配任务。上位机使用组态王6.53构建可视化界面,下位机PLC程序包含完整的电梯状态机、调度算法和故障处理逻辑。
关键创新点:将共享经济中的动态调度思想引入传统电梯控制,通过PLC程序实现毫秒级响应决策
系统硬件架构很简单但足够可靠:
- 控制核心:西门子S7-200 SMART CPU ST30
- 输入模块:16点DI x2(处理48个按钮信号)
- 输出模块:16点DO x2(驱动楼层指示灯和轿厢控制)
- HMI接口:通过PPI协议连接组态王上位机
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心控制逻辑解析
2.1 外呼抢答机制
这个系统的灵魂在于外呼信号的动态分配。我们设计了三级判断逻辑:
-
方向优先原则:运行中的电梯只响应同方向请求
- 上行电梯(M10.0=1)仅处理更高楼层的外呼
- 下行电梯(M10.1=1)仅处理更低楼层的外呼
- 静止电梯(M10.2=1)可响应任意方向呼叫
-
距离计算算法:
st复制// 电梯1距离计算 SUB VB0, 外呼楼层, VD200 // VB0存储电梯1当前层 ABS VD200, VD204 // 取绝对距离 // 电梯2距离计算(同理) SUB VB1, 外呼楼层, VD208 ABS VD208, VD212 -
仲裁规则:
- 距离近者优先响应
- 等距时2号电梯优先(通过MOV 2#00000001强制置位)
- 空闲电梯优先于运行中电梯
2.2 状态机设计
每台电梯都实现完整的状态机控制:
code复制[IDLE] -> 外呼触发 -> [DECIDE]
-> 内呼触发 -> [DECIDE]
[DECIDE] -> 目标在上方 -> [ASCENDING]
-> 目标在下方 -> [DESCENDING]
[ASCENDING/DESCENDING] -> 到
