操作数
常量和文字
常量是不可更改值的标识符。您可以在 POU 中本地声明常量,也可以在全局变量列表中全局声明常量。声明段用关键字扩展 CONSTANT
.
常量也是表示基类型值的字符串,例如整数或浮点数(例如, 16#FFFF_FFFF
, T#5s
, 或者 -1.234 E-5
)。为了区分它们,这些常量也称为字面量、字面量常量或未命名常量。有逻辑(TRUE
, FALSE
) 或数字文字 (3.1415
, T#5s
),还有字符串文字 ('Hello world!'
, "black"
)。
语法声明
<scope> CONSTANT <identifier> : <data type> := <initial value> ; END_VAR <scope> : VAR | VAR_INPUT | VAR_STAT | VAR_GLOBAL <data type>: <elementary data type | user defined data type | function block > <initial value> : literal value | identifier | expression
. 允许的初始值:
文字
例子:
TRUE
,FALSE
,16#FFFF_FFFF
在另一个位置声明的命名常量
由字面量组成的简单表达式,也可以结合简单的运算符,例如 + - *
输入或函数调用不能指定为初始值。
例 179. 例子
VAR_GLOBAL CONSTANT g_ciMAX_A : INT := 100; g_ciSPECIAL : INT := g_ciMAX_A - 10; END_VAR
常量只为声明定义。需要分配初始值。在实现中,常量只能被读取,因此总是出现在语句中赋值运算符的右侧。
编译代码时,常量被替换为初始值。还必须能够在编译时计算初始值。
直到运行时才计算结构化或用户定义类型的常量。程序或 GVL 中的结构化常数在程序启动时计算一次。每次调用函数或方法时,都会计算函数或方法中的结构化常量。因此,结构化常量的初始化可以依赖于输入或执行函数调用。
变量
您可以在 POU 的声明部分或全局变量列表中将变量声明为局部变量。变量的允许位置取决于其数据类型。
有关更多信息,请参阅: 访问数组、结构体和块中的变量 和 变量中的位访问