变量
本节内容包括:
基础级别变量声明的关键字
扩展级变量声明的关键字
基本级别数据类型
扩展级别数据类型
可用的关键字和数据类型取决于 编程级别 的 POU。
在安全 FBD 编辑器中创建的 FBD 程序代码中,变量仅以名称(符号变量)的形式出现。您可以使用简单的名称,即符合 IEC 的标识符。在实现部分中引用变量的标识符必须在声明部分中声明(参见 变量声明编辑器) 的 POU。
输入助手中的变量类别
变量的类别如下: 输入助手:
PROGRAM POU
: 局部变量 和 全局变量FUNCTION_BLOCK POU
: 局部变量
这 局部变量 类别涵盖局部声明部分的所有变量,包括 VAR_EXTERNAL
。
这 全局变量 类别包含应用程序的 GVL 的所有变量、所有映射的 I/O 以及逻辑 I/O 的所有隐式实例(参见: 输入/输出映射)。
基础级别变量声明的关键字
VAR
VAR CONSTANT
VAR_EXTERNAL
用于通道变量和堆栈实例VAR_EXTERNAL CONSTANT
仅允许来自VAR_GLOBAL CONSTANT
VAR
VAR CONSTANT
VAR_INPUT
VAR_OUTPUT
VAR
:普通内部变量、POU 范围变量的声明VAR_INPUT
:输入变量的声明VAR_OUTPUT
:输出变量的声明这
CONSTANT
修饰符用于声明符号常量
扩展级变量声明的关键字
VAR
VAR CONSTANT
VAR_EXTERNAL
VAR_EXTERNAL CONSTANT
VAR
VAR CONSTANT
VAR_INPUT
VAR_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(逻辑交换设备和安全现场设备)的映射变量
基本级别数据类型
BOOL
INT
:仅作为功能块调用的常量输入参数DINT
:仅作为功能块调用的常量输入参数WORD
:仅作为诊断目的的输出TIME
:仅作为功能块调用中的常量输入参数SAFEBOOL
SAFEINT
:仅作为调用中的常量函数块输入SAFEDINT
:仅作为功能块调用中的常量输入参数SAFEWORD
:仅作为功能块调用中的常量输入参数SAFETIME
:仅作为功能块调用中的常量输入参数
这 REAL
数据类型不可用。
扩展级别数据类型
开发人员可以使用以下数据类型在扩展编程级别实现 POU。
BOOL
BYTE
:用于预定义功能块和环境之间的编码信息(状态代码、诊断代码、控制代码)的交换DINT
DWORD
:用于预定义功能块和环境之间的编码信息(状态代码、诊断代码、控制代码)的交换INT
TIME
:允许作为常量输入参数和局部变量。类型全局变量的外部声明
SAFETIME
是不允许的WORD
:用于预定义功能块和环境之间的编码信息(状态代码、诊断代码、控制代码)的交换不
REAL
数据类型SAFEBOOL
SAFEBYTE
:用于预定义功能块和环境之间的编码信息(状态代码、诊断代码、控制代码)的交换SAFEDINT
SAFEDWORD
:用于预定义功能块和环境之间的编码信息(状态代码、诊断代码、控制代码)的交换SAFEWORD
:用于预定义功能块和环境之间的编码信息(状态代码、诊断代码、控制代码)的交换SAFEINT
SAFETIME
;允许作为常量输入参数和局部变量。类型全局变量的外部声明
SAFETIME
如果它们既不是符号常量也不是导入的逻辑 I/O,则是不允许的。
这 REAL
数据类型不可用。