为什么要分主程序和子程序呢有什么好处

为什么要分主程序和子程序呢有什么好处,第1张

程序分为主程序子程序,我觉得有如下的好处:

1. 调用时方便,例如在某一程序中多次要重复执行某一相同或者相似的代码,则可以考虑把这一部分重复的代码写入子程序中,在主程序中可以通过调用子程序来实现。例如

program main

...

b=a+1

c=b+1

...

b=a+1

c=b+1

...

b=a+1

c=b+1

...

end program

可以通过

subroutine subs(a,b,c)

b=a+1

c=b+1

end subroutine

program main

...

call subs

...

call subs

...

call subs

end program

来实现,这样有几个好处:

1. 节省工作量,减少重复代码

2. 修改方便,可以通过只修改子程序来更改整个主程序中相应的模块

3. 程序模块化,设想你如果需要在你的程序中实现某个功能,你可以通过下载别人编写好的子程序来实现,你不需要关心别人的程序中具体实现的细节,而只需要管理子程序和主程序的接口,方便程序的封装和模块化。

回楼主大人的话:PLC的输出(线圈)有两类模式:OUT和SET/RESET。SET/RESET是没有双线圈问题的。但这个OUT,貌似不同的PLC可能出现不同的结果。三菱的FX-2N,你这个用法是肯定不行的,会出现双线圈问题。西门子的S7-300/400,你这种用法是可以的,但必须满足下列几个条件:1.同一个FC、FB里面是不允许出现双线圈的。2.不同的FC、FB里面是可以出现同一个线圈的,但这些FC、FB是保证不会同时运行的。3.中断中要特别的谨慎,如果在一次扫描中出现双线圈,绝对是不行的。西门子其他的PLC没试过,但保险的做法就是用SET/RESET模式,因为这个没有次数限制。

程序中的“主”和“子”的关系其实不准确。无论主程序还是子程序,本身都是一个“完整”的程序。而如果你要说有主子程序,那么是你定义了一系列完整程序构成的服务体系,不是说这些程序合在一起才是一个完整程序。

主次的个数是看服务系统中的功能决定的,甚至很多时候你都不知道谁是主


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11733178.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存