
电梯程序视频教程:10层6梯使用指南
最近在搞电梯控制项目的时候发现个好东西!10层楼配6部电梯的调度系统,用西门子1200PLC搭的
框架,博途V17开发环境全程操作,顺手给WinCC做了个仿真界面。这玩意儿用来做课程设计或者毕设简直
香到不行,直接抄作业的机会来了(手动狗头)
先看这个项目的三大杀器:
1. 电梯调度算法用SCL硬核封装
2. 梯形图保留传统PLC编程习惯
3. WinCC界面和实体操作屏完全1:1还原
重点说下那个骚气的调度算法,核心代码长这样:
```scl
FUNCTION_BLOCK ElevatorScheduler
VAR_INPUT
floorCall: ARRAY[1..10] OF BOOL; //楼层呼叫信号
carPosition: ARRAY[1..6] OF INT; //轿厢实时位置
END_VAR
VAR_OUTPUT
targetFloor: ARRAY[1..6] OF INT; //目标楼层分配
END_VAR
VAR
pendingCalls: ARRAY[1..10] OF BOOL; //待处理呼叫
END_VAR
// 核心调度逻辑
FOR i := 1 TO 10 DO
IF floorCall[i] THEN
FIND_NEAREST_CAR(i); //这个函数贼关键
pendingCalls[i] := FALSE;
END_IF;
END_FOR;
```