程序模块化组织最基本的方法是使用子程序。这点与计算机用汇编语言使用子程序实现程序模块化完全相同。子程序一般分为子程序体本身及对子程序的调用。
欧姆龙PLC的子程序体是以SBN操作码加标号(子程序号)开始,中间为子程序的内容,可以为各种相关指令,最后以RET结尾。西门子S-200的子程序是单独的模块,有自己的程序块名,按名调用即可。三菱子程序用标号(P)指明,并从标号处开始,直到SRET或IRET指令处结束。一个子程序可实现一个或多个功能,依其所使用的指令而定。故一个子程序即可构成一个小的程序块。
子程序的调用用条件语句,对欧姆龙PLC加SBS操作码,对西门子S7-200、三菱PLC加CALL操作码;同时,在SBS或CALL操作码后,指出要调用的子程序标号。当条件满足,则调用该标号的子程序。
子程序调用可以嵌套,即子程序还可调子程序。这样,能调若干子程序的子程序也可成为一个程序块。
由若干调用子程序的程序可组成主程序。这样,主程序,被调子程序,被调子程序再调子程序……构成了有一定层次的各种程序块。(www.daowen.com)
子程序使用可分成两种:一为仅一次调用的,称为专用块,它仅起到划分模块的作用;另一为要多次调用的,称之为标准块。两种模块的编程是不同的。
第一种模块编程较简单,可直接对指定地址进行编程,无须转换。其编程如同正常的编程,该怎么编就怎么编。
第二种模块编程要复杂一些。因为要多次被调用,故首先要弄清每次是“谁”调用的,要对这个“谁”进行识别。识别之后,要依“谁”的特点,把与这个“谁”相关的逻辑量或模拟量的值读入。再进行有关逻辑处理或数据处理。最后再把结果赋值给予这个“谁”相关的变量(内部器件)。
子程序的本意不是为了实现程序模块化,而是对实现同一功能的程序编成子程序后,可多次调用,简化编程。但用它实现程序模块化组织还是方便的。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。