关于程序结构

是这样的,想和大家讨论一下200程序结构的问题:程序功能比较多,只单单从程序的执行速度方面来考虑,是把所有功能的程序都放在主程序里好,还是建立不同的子程序在主程序里调用好,或者两者一样?向大家请教一下,最好有说服力的分析(只从程序执行速度的角度分析),谢谢!

最佳答案

当然是建立不同的子程序在主程序中调用的好。因为第一种是线性编程而第二种属于结构化编程 结构化编程有利于设备的控制及维护,对于设计和项目开发人员来说,这种编程带来的好处是很明显,一个系统往往由很多部件组成,工艺控制也有很多类型,将一个系统分解为不同的部分后,项目开发人员就可以分工协作,对于通用部分,可以开发子程序来实现通用性,对于不同工艺,又可以分开来独立编程,这种结构化的编程优越性和高效率是一竿子到底的线性化编程不能取代的。而且对于PLC的资源来说,空间是有限的,没有退出,只有进入的话,意味着空间的堵塞和效率的降低,所以要记住一个原则以退为进,从一个子程序退出意味着资源的释放,我们要看到PLC的L临时变量是在子程序本地有效,变量名也是在子程序内部有效,如果你在一个系统就在主程序中,将所有的工艺流程写完,那么你可能就会占用很多的变量名也就是临时变量,但如果你用结构化编程来实现的话,你的临时变量就可以大大减少,因为程序在扫描的时候,遇到一个临时变量,就开一个空间,遇到一个开一个,但由于你的程序是线性的,没有退出,那么这个资源就会一直在增加,最后空间被挤满了,效率就没有了,而结构化编程却可以使用时占用一部分空间,退出后这个资源空间就释放掉,对于PLC来说效率就可以很高。编程有时候考虑的不仅仅是让设备动起来,合理的利用资源,提高效率才能更胜一筹。与大家共勉。 希望我的回答能够帮助到你!

提问者对于答案的评价:
对于减少对不执行程序的扫描,大家都认同了,但关于本答案的分析还望大家讨论一下。本人对PLC了解不是很深入!

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc346340.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月4日 下午10:58
下一篇 2021年7月4日 下午10:58

相关推荐

  • 仿真软件S7-200 SIM2.0

    请问各位在哪里可以下载仿真软件S7200 SIM2.0 十分感谢!!! 最佳答案 官方没有的非官方可以从这里下载:http://www.jb51.net/sof…

    SIMATIC S7-200 2021年7月5日
  • 编程问题求教

    在程序中,我如何把VW200 加2 变成VW202?(不是用ADD_W指令把VW200内部的数值+2!是把地址号加二!)   &n…

    SIMATIC S7-200 2021年7月5日
  • wincc6.2中文版,能否装在中文的操作系统中?

    wincc6.2中文版,能否装在中文的操作系统中?比如WINDOWS2000+SP4中文版.我以前听说一定要英文版的操作系统才能装WINCC 最佳答案 可以装在中文的操作系统中。 …

    SIMATIC S7-200 2021年7月5日
  • S7-200,300格雷码转二进制的指令在哪?

    在两个软件里的指令里都没有找到这个指令?遇到二进制转格雷码的情况怎么办呢?自己怎么编写呢? 最佳答案 S7-300沒有现成的转换功能块,具体请参考:《S7-300有没有格雷码转二进…

    SIMATIC S7-200 2020年10月31日
  • 自由口通讯用XMT输出

    我用XMT输出了一个存储在VD200的实数,使用串口助手得到的是一个XX XX XX XX这样的十六进数据,输出的应该是VB200,VB201,VB2…

    2017年6月2日
  • 224xp自由口通讯 怎么写发送数据 求助

    224xp自由口通讯  怎么写发送数据给设备仪表?请给详细答案波特率是115200  8位数据位 无校验  &…

    2021年7月5日
  • 6es7 212-1ba00-0xb0

    6es7 212-1ba00-0xb0的使用方法 钻石用户推荐最佳答案 6ES7212-1BA00-0XB0模块太老了,早已停产买不到了。 如果需要找替代产品,…

    SIMATIC S7-200 2021年7月5日
  • 计数器计数完成再进行下一操作

    程序是根据变量vb102进行计数,当等于55或33则计数器+1,同时触发t32延时1MS,再进行图2操作,这样确保先计数后进行操作,但是加延时可能会有干扰,所以想问下能否有其他更便…

    2021年7月5日
  • modbus地址转换问题

    现有一台s7-200 226的plc,2个通信端口,端口0用于和现场触摸屏连接。端口2现通过modbus与远程上位机通讯。现程序内已使用mbus-init功能块来设置端口…

    2017年11月16日
  • s7-200输出误动作

    程序中有多条自锁程序(类似马达启动停止程序),但条件没满足,也会输出。1.程序写得比较长,快接近容量上限。2.地址没有重复使用。3.单独写一小段自锁程序来测试,时没问题。不知道是不…

    SIMATIC S7-200 2020年10月31日

发表回复

登录后才能评论