变量
本节内容包括:
基础级别变量声明的关键字
扩展级变量声明的关键字
基本级别数据类型
扩展级别数据类型
可用的关键字和数据类型取决于 编程级别 的 POU。
在安全 FBD 编辑器中创建的 FBD 程序代码中,变量仅以名称(符号变量)的形式出现。您可以使用简单的名称,即符合 IEC 的标识符。在实现部分中引用变量的标识符必须在声明部分中声明(参见 变量声明编辑器) 的 POU。
输入助手中的变量类别
变量的类别如下: 输入助手:
PROGRAM POU: 局部变量 和 全局变量FUNCTION_BLOCK POU: 局部变量
这 局部变量 类别涵盖局部声明部分的所有变量,包括 VAR_EXTERNAL。
这 全局变量 类别包含应用程序的 GVL 的所有变量、所有映射的 I/O 以及逻辑 I/O 的所有隐式实例(参见: 输入/输出映射)。
基础级别变量声明的关键字
VARVAR CONSTANTVAR_EXTERNAL用于通道变量和堆栈实例VAR_EXTERNAL CONSTANT仅允许来自VAR_GLOBAL CONSTANT
VARVAR CONSTANTVAR_INPUTVAR_OUTPUT
VAR:普通内部变量、POU 范围变量的声明VAR_INPUT:输入变量的声明VAR_OUTPUT:输出变量的声明这
CONSTANT修饰符用于声明符号常量
扩展级变量声明的关键字
VARVAR CONSTANTVAR_EXTERNALVAR_EXTERNAL CONSTANT
VARVAR CONSTANTVAR_INPUTVAR_OUTPUT
VAR:普通内部变量、POU 范围变量的声明VAR_INPUT:输入变量的声明VAR_OUTPUT:输出变量的声明VAR_EXTERNAL:声明已经在应用程序中声明的全局变量VAR_GLOBAL,以便它们可以在 POU 中使用。全局变量具有
CONSTANT修饰符必须声明为VAR_EXTERNAL CONSTANT。这
CONSTANT修饰符用于声明符号常量
VAR_EXTERNAL 和 VAR_EXTERNAL CONSTANT:安全应用程序的 GVL 对象的全局变量。
如果在实施部分中使用安全应用程序的 GVL 对象的变量,则会在声明部分自动将其声明为外部变量。
根据 IEC,明确禁止在 POU 中使用未声明为“外部”的全局变量。
逻辑 I/O(逻辑交换设备和安全现场设备)的映射变量
基本级别数据类型
BOOLINT:仅作为功能块调用的常量输入参数DINT:仅作为功能块调用的常量输入参数WORD:仅作为诊断目的的输出TIME:仅作为功能块调用中的常量输入参数SAFEBOOLSAFEINT:仅作为调用中的常量函数块输入SAFEDINT:仅作为功能块调用中的常量输入参数SAFEWORD:仅作为功能块调用中的常量输入参数SAFETIME:仅作为功能块调用中的常量输入参数
这 REAL 数据类型不可用。
扩展级别数据类型
开发人员可以使用以下数据类型在扩展编程级别实现 POU。
BOOLBYTE:用于预定义功能块和环境之间的编码信息(状态代码、诊断代码、控制代码)的交换DINTDWORD:用于预定义功能块和环境之间的编码信息(状态代码、诊断代码、控制代码)的交换INTTIME:允许作为常量输入参数和局部变量。类型全局变量的外部声明
SAFETIME是不允许的WORD:用于预定义功能块和环境之间的编码信息(状态代码、诊断代码、控制代码)的交换不
REAL数据类型SAFEBOOLSAFEBYTE:用于预定义功能块和环境之间的编码信息(状态代码、诊断代码、控制代码)的交换SAFEDINTSAFEDWORD:用于预定义功能块和环境之间的编码信息(状态代码、诊断代码、控制代码)的交换SAFEWORD:用于预定义功能块和环境之间的编码信息(状态代码、诊断代码、控制代码)的交换SAFEINTSAFETIME;允许作为常量输入参数和局部变量。类型全局变量的外部声明
SAFETIME如果它们既不是符号常量也不是导入的逻辑 I/O,则是不允许的。
这 REAL 数据类型不可用。