news 2026/4/3 4:40:29

基于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/1 17:54:27

Maxwell电机多目标尺寸优化:Ansys Maxwell与OptiSlang的奇妙组合

Maxwell电机多目标尺寸优化 Ansys Maxwell 和OptiSlang 有案例电机&#xff0c;永磁同步电机内嵌式 满足电机多尺寸参数入手&#xff0c;满足多尺寸联动优化&#xff0c;最终达到多参数优化效果 提供源文件&#xff0c;提供操作video在电机设计领域&#xff0c;实现多目标尺寸优…

作者头像 李华
网站建设 2026/3/30 17:28:33

10个AI论文改进工具,精准重现数学建模论文并提升写作质量

在开始详细介绍之前&#xff0c;先为大家总结10个推荐AI工具的核心对比。以下表格简明扼要地对比了这些工具的主要优势、处理时间和适配平台&#xff0c;方便Java毕业论文用户快速筛选&#xff1a; 工具名称 主要用途 处理时间 适配平台 关键优势 askpaper 降AIGC率&…

作者头像 李华
网站建设 2026/4/3 3:02:39

轴向磁场轮毂电机的结构设计 电动汽车已经逐渐使用轮毂电机来代替发动机,这可以很好的减少油耗及尾...

轴向磁场轮毂电机的结构设计 电动汽车已经逐渐使用轮毂电机来代替发动机&#xff0c;这可以很好的减少油耗及尾气排放&#xff0c;促进绿色发展。 但是&#xff0c;轮毂电机对所选的电机在尺寸结构、重量以及效率等方面都有严格的要求。 目前&#xff0c;市面上的电动汽车大多使…

作者头像 李华
网站建设 2026/4/3 3:39:22

8.3 类的详解

文章目录前言一、Python中类的定义二、类的命名三、类的构造函数四、定义类的方法&#xff08;函数&#xff09;五、类的继承前言 本文主要介绍Python中类的定义、类的命名、类的构造函数、定义类的方法以及类的继承等知识点。 一、Python中类的定义 在Python中&#xff0c;类…

作者头像 李华
网站建设 2026/3/30 3:04:09

德诺超声波焊接机怎么选购才保证品质与性价比?

在选购超声波焊接机时&#xff0c;了解设备的核心原理与应用领域是至关重要的。超声波焊接机利用高频声波实现材料之间的强力连接&#xff0c;尤其适用于金属和塑料件的焊接。设备的性能包括稳定性、耐久性和维护服务&#xff0c;这些都是评估时的关键因素。此外&#xff0c;基…

作者头像 李华