打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
每天五分钟:双线圈引起的争论-----程序结构化

      Hello大家好,我是你们的Magic伟,我们又见面了

 天五分钟,温习一下学过的知识,补充能量,为自己加油、充电

      在大家编写PLC程序的时候,有时候会遇到双线圈这样的问题,最近就有朋友问我:我这边都已经停止调用子程序了,子程序线圈还是接通的状态,怎么把线圈都断掉?那么针对这样的问题今天我就来告诉大家我们应该怎么办。

背景介绍:西门子PLC环境下,停止调用子程序除临时变量外,其余的变量(均为全局变量)均保持不变。

简单的解决方案:

      在调用子程序前(在主程序中)先把线圈写0,这种情况相当于PLC每次循环都把子程序里的线圈全部初始化,再执行子程序逻辑。

      我知道你看了上面的解决方案,一下子就跳起来,我裤子都脱了你就给我看这个???这不双线圈了吗,量少的情况还能接受,量大的话就是自己给自己挖坑。

      双线圈的问题,很像上世纪60-70年代GOTO语句的争议,最后在1974年高德纳对于 goto 语句争论作了全面公正的评述,观点如下:

1、随意的使用goto语句是有害的。

2、有些地方使用 goto 语句,会使程序流程更清楚、效率更高。

3、争论的焦点不应该放在是否取消 goto 语句上,而应该放在用什么样的程序结构上。

“双线圈”的这类问题我给出一种程序结构:

将子程序线圈变量通过接口暴露给主程序,在主程序中进行统一处理(统一程序出口)

调用子程序状态:

不调用子程序状态:

子程序内部逻辑:

      好啦,Magic伟今天就要和你们说拜拜了,希望能够在你们的工作中有帮助,我们下期再见!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
数控宏程序
PLC程序家族的故事1
Foxpro 子程序和函数
Fortran学习之intent
只会G代码,不会宏程序就别说你是数控师傅
DOS批处理高级教程精选(八) - 第二天堂
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服