根据IEC 61131-1,程序(Program)被定义为“所有可编程语言元素和结构的一个逻辑组合,它们对于由PLC系统控制机器或过程所要求的信号处理是必需的”。函数和功能块用于构成用户子程序,程序用于构成用户主程序,因此,程序被认为是全局的。
1.程序声明
程序的声明和使用方法是与功能块基本相同,但有表1-62所示的附加性能和下列的差别。
表1-62 程序的声明
(续)
注:性能2a~7b等效于表1-53功能块的同样性能。
程序声明时的注意事项如下:
1)程序声明段的组成如下:
2)上述各种变量类型都允许在程序中使用。
3)程序图形格式与函数或功能块图形格式类似。
2.程序性能(www.xing528.com)
除了具有功能块的性能外,程序还具有下列性能:
1)程序可对VAR_ACCESS和VAR_GLOBAL变量进行声明及存取。而功能块不能对这些变量进行声明和存取。程序可包含一个VAR_ACCESS...END_VAR结构。它提供特定已命名变量的方法,能够经IEC 61131-5规定的通信方法进行存取。存取路径与程序内的每个输入、输出或内部变量有关。
2)可对VAR_GLOBAL和VAR_EXTERNAL变量添加CONSTANT属性,将这些变量限定为常量。
3)一个程序可包含地址的配置。允许声明存取PLC物理地址的直接表示变量,直接表示的地址配置仅用于程序中内部变量的声明。
4)程序不能由其他POU显式调用。但程序可与配置中的一个任务结合,使程序实例化,形成运行期程序,并可由资源调用。
5)程序仅在资源中实例化。程序的实例只需将程序与一个任务结合。而功能块仅能在程序或其他功能块中实例化。
6)程序可以调用函数和功能块,功能块可以调用函数和功能块,函数只能调用函数。表1-63是函数、功能块和程序的性能比较。
7)IEC 61131-3明确规定POU不能直接或间接调用其自身,即POU不能调用由相同类型和/或相同名称的POU实例。这样做可以保护程序,防止造成程序的出错。但在一般计算机编程语言中,这种递归调用是允许的。
表1-63 函数、功能块和程序的性能比较
①用于标准函数。
②仅用于具有VAR_EXTERNAL的功能块。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。