变量:CONSTANT
CONSTANT 用于声明不可修改的变量。常量可以在 POU 的局部变量段或全局变量列表中声明。全局常量可在其他 POU 中通过 VAR_EXTERNAL CONSTANT 引用。
局部常量
在 POU 的变量声明段中添加 CONSTANT:
VAR CONSTANT
K : INT := 7;
END_VAR
常量可以带初始值;省略初始值时使用该数据类型的默认值。声明为 CONSTANT 的变量不可写:不能直接赋值、用作 FOR 控制变量、作为 VAR_IN_OUT 实参,或作为功能/函数输出参数的接收方;违反时编译器报 E3163。
全局常量
在全局变量列表中使用 VAR_GLOBAL CONSTANT 声明:
VAR_GLOBAL CONSTANT
g_Limit : INT := 7;
END_VAR
在 POU 中引用该全局常量时,外部声明也必须包含 CONSTANT:
VAR_EXTERNAL CONSTANT
g_Limit : INT;
END_VAR
如果全局声明带有 CONSTANT,而 VAR_EXTERNAL 声明漏写 CONSTANT,编译器会报 E3160。VAR_EXTERNAL CONSTANT 只是对全局常量的只读引用,不会产生额外的存储条目。
更多外部变量声明方式,参见外部变量:VAR_EXTERNAL。