news 2026/6/23 2:14:09

单部四层,基于西门子1200博图v15.1版本 可直接仿真运行,视频就是真实运行画面

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
单部四层,基于西门子1200博图v15.1版本 可直接仿真运行,视频就是真实运行画面

单部四层,基于西门子1200博图v15.1版本 可直接仿真运行,视频就是真实运行画面,功能集全

凌晨三点的茶水间总是特别安静,我盯着屏幕上跳动的梯形图突然笑出声——这电梯程序怕不是被咖啡因腌入味了。用S7-1200做的四层电梯控制,说简单是真不简单,说难吧又比谈恋爱容易得多。

硬件组态里藏着个小彩蛋,OB35中断组织块设置的50ms周期像极了电梯按钮的脾气,急得要命又得端着架子。给大家看个热乎的定时器配置:

//楼层扫描定时 #FloorScanTimer(IN:=NOT #ScanDone, PT:=T#500MS, Q=>#ScanDone);

这货每半秒扫一次楼层信号,比物业查水表还准时。重点在PT参数的时间格式,T#500MS这种写法新手容易掉坑,写成500ms直接给你甩脸子报错。

状态机才是灵魂所在,我管它叫电梯的七情六欲。看看这枚举类型定义:

TYPE E_ElevatorState : ( IDLE := 0, //摸鱼状态 DOOR_OPENING := 1, //开门中 DOOR_CLOSING := 2, //关门中 MOVING_UP := 3, //向上撒欢 MOVING_DOWN := 4, //向下溜达 EMERGENCY := 5 //急眼了 ); END_TYPE

紧急状态留着对付熊孩子拍急停按钮的情况。状态切换时记得用上升沿触发,不然你的电梯能给你表演量子波动——同时存在于多个楼层。

单部四层,基于西门子1200博图v15.1版本 可直接仿真运行,视频就是真实运行画面,功能集全

调度算法像极了渣男的选择困难症,这里用了双向扫描算法:

IF #CurrentDirection = UP THEN FOR #i := #CurrentFloor + 1 TO 4 DO IF #CallUp[#i] OR #CallDown[#i] THEN #TargetFloor := #i; EXIT; END_IF; END_FOR; ELSE FOR #i := #CurrentFloor - 1 DOWNTO 1 DO IF #CallDown[#i] OR #CallUp[#i] THEN #TargetFloor := #i; EXIT; END_IF; END_FOR; END_IF;

这代码完美诠释了"吃着碗里看着锅里",上行时连楼上召唤都不放过,下行时连楼下招呼都惦记。EXIT语句用得讲究,像极了找到目标就收手的聪明人。

仿真时HMI画面里的电梯门总让我想起螃蟹——开合速度得调教得刚刚好。门机控制里这个线性插值算法是精髓:

#DoorPosition := REAL_TO_INT(LIMIT(0.0, #DoorPosition + (0.05 * (REAL(#TargetDoorState) - REAL(#DoorPosition))), 100.0));

用0.05这个阻尼系数控制门运动曲线,改大了门能给你表演瞬移,改小了比老太太过马路还慢。REALTOINT转换是防手抖的保险丝,毕竟小数点位运算容易闹脾气。

最后说个血泪教训:FB里的静态变量比初恋还难忘,调试时记得在监控表里把它们都揪出来。哪天发现电梯层显乱跳,八成是哪个静态变量在闹情绪。仿真跑起来的时候,看着那蓝色小方块在HMI里上下窜动,恍惚间觉得自己养了只电子仓鼠——这大概就是工控人的浪漫吧。

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

改进的蜣螂算法优化BP神经网络光伏出力附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

作者头像 李华
网站建设 2026/6/15 20:02:47

从节奏玩家到谱面大师:Arcade-plus的5个创作维度解析

从节奏玩家到谱面大师:Arcade-plus的5个创作维度解析 【免费下载链接】Arcade-plus A better utility used to edit and preview aff files 项目地址: https://gitcode.com/gh_mirrors/ar/Arcade-plus 谱面创作是音乐节奏游戏的灵魂,而高效的节奏…

作者头像 李华
网站建设 2026/6/17 4:32:45

springboot 整合 mybatis

文章目录目录pom.xmlapplication.ymlspboot程序入口MapperScan("com.atguigu.mapper")实体类 Usermapper 接口resources 文件夹下的 mapper.xmlservice &#xff08; Transactional 就能添加事务&#xff09;controller添加AOP目录 pom.xml <?xml version"…

作者头像 李华
网站建设 2026/6/15 15:43:28

AI赋能的众包测试任务分配体系演进

传统众包测试面临的核心矛盾在于&#xff1a;海量测试者资源与任务匹配精度的失衡。据统计&#xff0c;未优化分配机制的众包平台中&#xff0c;30%高复杂度任务由能力不匹配的测试者承接&#xff0c;导致缺陷漏检率高达22%。而AI驱动的任务分配系统通过三维能力建模&#xff0…

作者头像 李华