开放式IEC 61131控制系统设计
上QQ阅读APP看书,第一时间看更新

1.3.3 变量的声明

每一个程序组织单元(程序、函数或者功能块)的声明在其开始的部分必须包含至少一个变量声明,用于指定在该程序组织单元内部所用到的变量的类型,以及变量的物理或者逻辑地址(在必要的情况下)。这个变量声明部分应当具有关键字VAR、VAR_INPUT及VAR_OUTPUT之一。假如变量类型是VAR,紧跟其后的是修饰符RETAIN、NON_RETAIN(可以不出现),然后是修饰符CONSTANT。假如变量类型为VAR_INPUT或者VAR_OUTPUT,紧跟其后的是修饰符RETAIN、NON_RETAIN(可以不出现)。一次可以声明多个变量,变量之间用分号“;”分开。变量声明部分用关键字END_VAR结束。

在功能块和程序中,变量还可以在VAR_TEMP…END_VAR结构中声明。这些变量只有在调用一个程序组织单元的实例时才会被分配空间和初始化。在多次调用之间,这些变量并不是持续存在的。

在程序组织单元声明部分声明的变量,其有效范围对于该单元来说应当是局部变量。也就是说,在一个程序组织单元内部声明的变量不允许被其他的程序组织单元访问,除非显式地通过参数传递给在其他单元内声明的输入或者输出变量。上述规则的一个例外情况是全局变量。程序组织单元只有通过VAR_EXTERNAL声明之后才可以访问这种变量。在VAR_EXTERNAL块中声明的变量的类型必须与其相关的在程序、配置或资源的VAR_GLOBAL块中声明的变量类型相一致。变量声明关键字及其使用说明如表1-6所示。

表1-6 变量声明关键字