基于博途1200PLC+HMI的六层三部电梯控制系统仿真程序
基于博途1200PLCHMI六层三部电梯控制系统仿真 程序 1、任务PLC.人机界面控制三部电梯集群运行 2、系统说明 系统设有上呼、下呼、内呼、手动开关门、光幕、检修、故障、满载、等模拟模式控制 系统共享厅外召唤信号集选控制三部电梯运行。 六层三部电梯途仿真工程配套有博途PLC程序IO点表 PLC接线图主电路图控制流程图 附赠设计参考文档(与程序不是配套仅供参考)。 博途V16HMI 可直接模拟运行 程序简洁、精炼注释详细最近在搞一个挺有意思的PLC仿真项目——六层楼三部电梯的集群控制系统。用博途V16带着HMI玩联动比单纯写梯形图有意思多了。这系统最骚的地方在于三台电梯要共享所有楼层的外呼信号还得自己商量着怎么分配任务就跟三个外卖小哥抢单似的。先看看硬件配置三台S7-1200 PLC各带一台电梯HMI用KTP700 Basic搞交互。重点在于IO点表设计32个数字量输入里光各种按钮就占了大半。这里有个坑要注意——楼层限位开关必须用常闭触点别问我怎么知道的现场调试时电梯冲顶的酸爽不想再回忆。调度算法这块代码最有嚼头。在FC1里用了个取巧的队列处理先看这段核心代码// 外呼信号优先级判断 IF #外呼上升 AND NOT #同方向登记 THEN #任务队列[#当前楼层] : 1; #运行方向 : 1; ELSIF #外呼下降 AND NOT #同方向登记 THEN #任务队列[#当前楼层] : 1; #运行方向 : -1; END_IF; // 电梯空闲时选择最近任务 IF #运行状态 空闲 THEN FOR #i : 1 TO 6 DO IF #任务队列[#i] 1 THEN #目标楼层 : #i; EXIT; END_IF; END_FOR; END_IF;这坨代码看着有点绕其实逻辑挺直白。电梯运行时优先响应同方向的外呼空闲时就近抢单。但实际调试发现个问题——当两部电梯同时空闲时会出现抢单冲突后来在OB35中断里加了随机延时才解决这骚操作连指导老师都看笑了。基于博途1200PLCHMI六层三部电梯控制系统仿真 程序 1、任务PLC.人机界面控制三部电梯集群运行 2、系统说明 系统设有上呼、下呼、内呼、手动开关门、光幕、检修、故障、满载、等模拟模式控制 系统共享厅外召唤信号集选控制三部电梯运行。 六层三部电梯途仿真工程配套有博途PLC程序IO点表 PLC接线图主电路图控制流程图 附赠设计参考文档(与程序不是配套仅供参考)。 博途V16HMI 可直接模拟运行 程序简洁、精炼注释详细HMI界面设计才是真正的装逼现场。用矢量图做了个动态电梯井道每层楼的箭头指示灯用圆角矩形叠加透明度实现呼吸灯效果。按钮脚本里这个判断逻辑特别实用// 外呼按钮按下处理 if (GetTagBit(电梯1_运行中) || GetTagBit(电梯2_运行中)) { SetTagBit(外呼登记, 1); StartAnimation(箭头闪烁); } else { SetTagBit(直接响应, 1); }调试时最抓狂的是开关门逻辑光幕和手动开门要搞互锁。有次模拟满载时电梯门死活关不上查了半天发现是HMI上的满载标志位没跟PLC同步。后来用Profinet搞了个实时数据同步效果立竿见影。仿真时建议把楼层切换速度参数调大点不然电梯跟打了鸡血似的在楼层间乱窜。在DB块里有个隐藏参数AccelerationFactor改到0.5倍速后动画看着就舒服多了。记得提前导出PLC变量表HMI组态时直接导入能省一半时间。这个项目最实用的其实是附带的IO点表模板做毕设直接套用能少掉不少头发。不过要注意参考文档里的接线图和实际程序有点出入特别是安全回路那部分最好自己重新捋一遍。下次想加点新花样比如VIP模式或者节能策略直接在现有程序上魔改应该挺方便的。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2470804.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!