news 2026/4/28 8:22:35

基于plc的单部6层,单部六层电梯控制系统。 具体实现内容看看视频。 支持软件为博途v15.1

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于plc的单部6层,单部六层电梯控制系统。 具体实现内容看看视频。 支持软件为博途v15.1

基于plc的单部6层,单部六层电梯控制系统。 具体实现内容看看视频。 支持软件为博途v15.1。 wincc监控画面画好了电梯的模型,无需eet仿真即可看到电梯运行过程,可以呈现出电梯运行时的状态。 有lw,ppt可选

这个六层电梯控制系统项目用TIA Portal V15.1开发挺有意思的。我直接在西门子1200 PLC上撸代码,WinCC的监控画面自己用矢量图拼了个动态电梯模型,比用EET那些预制组件灵活多了。

硬件配置简单粗暴:数字量输入接24个按钮(每层内外呼),输出点控制接触器和指示灯。重点在于程序架构——我用了状态机+时间片轮询的方式。核心是下面这个状态枚举:

TYPE E_ElevatorState : ( IDLE := 1, //待机 MOVING_UP := 2, //上行 MOVING_DOWN := 3, //下行 DOOR_OPEN := 4, //开门中 DOOR_CLOSE := 5 //关门中 ); END_TYPE

每次扫描周期先处理呼叫信号,这里用了个小技巧——把内外呼信号存入两个数组:

VAR InternalCall: ARRAY[1..6] OF Bool; //内呼 ExternalUp: ARRAY[1..5] OF Bool; //外呼上行 ExternalDown: ARRAY[2..6] OF Bool; //外呼下行 END_VAR

楼层判断用光电开关的上升沿触发,这里要注意消抖处理。比如到达3楼时的处理逻辑:

IF "Floor3_Sensor" AND NOT Pre_Floor3 THEN CurrentFloor := 3; "Brake" := 0; //抱闸释放 //检查该层是否有呼叫... END_IF Pre_Floor3 := "Floor3_Sensor";

方向决策算法是重头戏。我参考了电梯调度中的SCAN算法,但做了简化。核心是这个优先级判断:

  1. 当前运行方向上的同向呼叫
  2. 反向最远端点呼叫
  3. 当前楼层反向呼叫

用WinCC做动画监控时,电梯轿厢位置通过PLC的Real型变量传递。这里有个坑——直接绑定整型变量会出现跳帧,所以我在OB30循环中断里做了平滑处理:

//每100ms执行 ActualPosition := ActualPosition + (TargetPosition - ActualPosition) * 0.2;

开门动画最折腾,用WinCC的C脚本控制门扇移动:

int door_state = GetTagByte("DoorState"); if(door_state == 4){ //开门中 left_door += 3; right_door -= 3; SetTagValue("LeftDoor", left_door); }

调试时建议多用变量表监控,特别是这个状态变迁视图:当电梯停在2楼收到4楼上呼时,应该先上升到4楼,途中响应3楼的内呼。这时候看directionflag和targetfloor的变化特别明显。

项目包里有个叫Elevator_Scheduler的FB块,里面的调度算法模块可以单独移植。比如这个判断是否要改变运行方向的逻辑:

IF (CurrentDirection = UP) AND (HighestCall < CurrentFloor) THEN NeedReverse := TRUE; ELSIF (CurrentDirection = DOWN) AND (LowestCall > CurrentFloor) THEN NeedReverse := TRUE; END_IF

实际跑起来发现个有趣现象:早高峰时电梯会更频繁地在一楼逗留,这时候程序里的"peak_mode"标志位会临时调整停靠策略——允许同方向连续停靠,牺牲部分效率来提升吞吐量。

源码里有个E_Stop处理很多人容易忽略。急停不仅要切断动力,还要用沿检测保存最后楼层:

IF "Emergency_Stop" THEN LastKnownFloor := CurrentFloor; //...其他安全处理 END_IF

这个项目改改参数就能套用在立体车库或传送带系统上,特别是那个带权重值的调度算法,调整下响应系数就能实现不同策略——比如医疗电梯优先、货梯避开高峰之类的需求。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/25 2:34:55

django宁波五金电商网络营销的可视化研究爬虫可视化大屏-

文章目录系统截图项目简介大数据系统开发流程主要运用技术介绍爬虫核心代码展示结论源码文档获取定制开发/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;系统截图 django宁波五金电商网络营销的可视化研究爬虫可视化大屏- 项目简介 本次研究…

作者头像 李华
网站建设 2026/4/23 13:45:20

基于Qt的视觉工具连线Demo源码剖析

基于qt的视觉工具连线demo源码&#xff0c;支持连线&#xff0c;单选删除&#xff0c;多选删除&#xff0c;可以保存加载在开发图形化交互工具时&#xff0c;实现元素间的连线以及相关的增删改存功能是常见需求。今天咱们就来聊聊基于Qt的视觉工具连线Demo源码&#xff0c;这个…

作者头像 李华
网站建设 2026/4/25 22:50:53

电力系统暂态稳定性仿真:Matlab/Simulink 实战

电力系统暂态稳定性仿真 matlab/simulink 仿真模型设计报告在电力系统的研究与设计中&#xff0c;暂态稳定性是一个关键的考量因素。它关乎在系统遭受大扰动&#xff08;如短路故障、突然甩负荷等&#xff09;后&#xff0c;能否恢复到稳定运行状态。Matlab/Simulink 为我们提供…

作者头像 李华
网站建设 2026/4/19 15:34:50

10个AI论文优化工具,准确复现数学建模论文并改进表达

AI工具推荐的核心对比可从以下维度快速筛选&#xff1a;10款主流工具在核心功能、响应速度及跨平台兼容性上的差异已整理为简明对比表&#xff0c;特别针对Java毕业论文场景优化了可操作性&#xff0c;便于研究者高效匹配需求。 工具名称 主要用途 处理时间 适配平台 关键优…

作者头像 李华
网站建设 2026/4/27 4:28:33

10种AI论文写作助手,精准还原数学建模优秀论文并提升质量

以下是10款热门AI工具的快速对比指南&#xff0c;通过核心优势、响应速度及兼容平台三大维度清晰呈现&#xff0c;特别适合Java毕业论文研究者高效匹配需求。 工具名称 主要用途 处理时间 适配平台 关键优势 askpaper 降AIGC率&#xff0c;降重复率 约20分钟 知网、格子…

作者头像 李华