news 2026/4/26 2:19:03

5 层电梯 MCGS7.7 与西门子 S7 - 200PLC 仿真程序开发分享

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
5 层电梯 MCGS7.7 与西门子 S7 - 200PLC 仿真程序开发分享

5层电梯MCGS7.7独立仿真程序3,带西门子S7-200PLC配套程序3,带注释,带数码管,开门延时8秒,带运行效果视频

最近在搞一个 5 层电梯的项目,使用 MCGS7.7 做独立仿真程序,并且搭配西门子 S7 - 200PLC 程序,弄完了还带注释,同时加上数码管显示,开门延时设置为 8 秒,最后还录制了运行效果视频,现在来和大家分享分享。

MCGS7.7 仿真程序部分

MCGS7.7 作为一款优秀的组态软件,在这个项目里负责构建电梯运行的可视化界面。打开 MCGS,首先新建一个工程,然后在用户窗口中开始设计电梯的操作面板和运行状态显示区域。

比如说,我们要绘制一个电梯轿厢的动态显示,就可以通过 MCGS 的动画连接功能。假设轿厢的位置变量名为 “CarPosition”,我们在轿厢图形的属性设置中,找到 “水平移动”(假设电梯是垂直运行,这里为了简单举例选水平移动类似概念)动画连接,将其与 “CarPosition” 变量关联,设定移动范围和比例,这样轿厢就能随着变量值的变化而移动了。

'这里简单写一个 MCGS 脚本示例,实现电梯到达目标楼层后的提示 Sub OnCarArrive If CarPosition = TargetFloor Then !SetDeviceValue("提示灯", 1) '点亮提示灯,假设提示灯连接变量为 "提示灯" End If End Sub

这段脚本很简单,就是判断轿厢当前位置是否等于目标楼层,如果相等,就点亮提示灯,给用户一个到达提示。

西门子 S7 - 200PLC 配套程序

PLC 程序是控制电梯实际运行逻辑的核心。以下是部分关键代码及分析。

NETWORK 1 // 初始化部分 LD SM0.1 MOVW 0, VW0 // 初始化楼层变量,VW0 存储当前楼层,初始设为 0 层

在这段代码中,利用 PLC 的特殊继电器 SM0.1,它在 PLC 首次扫描时接通一个扫描周期。这里就利用这个特性对存储当前楼层的变量 VW0 进行初始化,设为 0 层。

NETWORK 2 // 上升逻辑 LD I0.0 // I0.0 假设为上升按钮输入 A VW0 < 5 // 当前楼层小于 5 层 EU INCW VW0 // 当前楼层变量加 1

当上升按钮 I0.0 按下,并且当前楼层小于 5 层时,利用 EU 指令(上升沿检测),让当前楼层变量 VW0 加 1,实现楼层上升计数。

NETWORK 3 // 开门逻辑及延时 LD I0.2 // I0.2 假设为到达目标楼层信号 O M0.0 // M0.0 假设为开门保持标志 AN T37 // T37 为 8 秒定时器 = Q0.0 // Q0.0 假设为开门输出 LD I0.2 EU TON T37, 800 // 启动 8 秒定时器 LD T37 R M0.0, 1 // 8 秒后复位开门保持标志

当到达目标楼层信号 I0.2 触发,或者开门保持标志 M0.0 已经置位,并且 8 秒定时器 T37 未计时完成时,开门输出 Q0.0 置 1,电梯门打开。同时,当 I0.2 上升沿到来,启动 8 秒定时器 T37。8 秒计时完成后,复位开门保持标志 M0.0,实现开门延时 8 秒的功能。

数码管显示

数码管显示主要是为了更直观地展示电梯所在楼层。通过 PLC 输出控制数码管的段选和位选信号。

假设使用共阴极数码管,我们需要将楼层数字转换成对应的段码。比如对于数字 0,段码为十六进制的 0x3F(对应数码管 a - g 段点亮)。

NETWORK 4 // 数码管段码转换 LD SM0.0 MOVW VW0, AC0 // 将当前楼层变量存入累加器 AC0 CALL SEG, AC0, VW20 // 调用 SEG 功能块,将楼层数字转换为段码存入 VW20

这里利用 PLC 的 SM0.0 始终接通的特性,将当前楼层变量 VW0 存入累加器 AC0,然后调用 SEG 功能块(不同 PLC 可能实现方式不同,这里假设已有该功能块),将转换后的段码存入 VW20,后续通过 VW20 输出到数码管的段选引脚,实现楼层数字显示。

运行效果视频

最后,为了更好地展示整个项目成果,我录制了运行效果视频。在视频里,可以清晰看到电梯根据输入指令上下运行,数码管实时显示当前楼层,到达目标楼层后电梯门打开,8 秒后自动关闭。整个过程非常流畅,完美实现了设计需求。

这个项目从软件到硬件的逻辑设计,再到实际的运行展示,每一步都充满挑战与乐趣。希望我的分享能给大家带来一些启发,一起探索更多自动化控制项目的可能性。

以上就是本次博文的全部内容啦,大家要是有什么问题或者建议,欢迎在评论区留言交流。

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

【最新源码】基于Java医院药品管理系统的设计与实现 025

摘 要 随着医疗行业信息化的发展&#xff0c;作为合理用药、管理医院的重要工具之一的医院药品管理系统越来越受到重视&#xff0c;但是现阶段很多医院使用的药品管理系统还存在诸多不尽人意的原因&#xff0c;或者系统功能简单&#xff0c;只是简单的进出入库登记&#xff…

作者头像 李华
网站建设 2026/4/25 19:52:38

Cocos creator如何使用onCollisionEnter或者onTriggerEnter

其实使用和unity基本一样&#xff0c;但是代码写法有点不一样&#xff0c;unity的话只用直接写事件函数 onTriggerEnter或者 onCollisionEnter就好&#xff0c;但是cocos不仅要写&#xff0c;还要在start方法里绑定start() {this.collider this.node.getComponent(Collider…

作者头像 李华
网站建设 2026/4/25 12:48:06

豆包大模型日均tokens使用量超50万亿,比去年同期增长超10倍

12月18日&#xff0c;火山引擎在FORCE原动力大会上正式发布豆包大模型1.8及音视频创作模型Seedance 1.5 pro。权威评测数据显示&#xff0c;豆包大模型在多模态理解、生成能力及Agent能力上&#xff0c;已跻身全球第一梯队。 据火山引擎总裁谭待介绍&#xff0c;截至今年12月&…

作者头像 李华
网站建设 2026/4/17 7:15:48

这才是项目经理「年终总结」的正确打开方式!

2025年已经接近尾声了&#xff0c;年终汇报如期而至。 今天小赛总结了一些写年终总结的关键要点和模板&#xff0c;让你一看就懂&#xff0c;一用就会。 1.先想明白&#xff1a;领导想看什么&#xff0c;你想表达什么&#xff1f;‌‌ 写年终总结之前&#xff0c;先不要着急…

作者头像 李华
网站建设 2026/4/25 19:56:21

这是一份动手学深度学习笔记!(附学习资料)

如果你正在学习深度学习&#xff0c;肯定听说过李沐老师的动手学深度学习&#xff0c;这是公认的经典之作这一期主要是给大家总结这个教程的大纲内容并给大家分享电子pdf、完整的教程视频、配套的课件源码以及学习笔记&#xff08;如下图&#xff09;需要的兄弟可以按照这个图的…

作者头像 李华