Skip to main content

操作数

常量和文字

常量是不可更改值的标识符。您可以在 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 的声明部分或全局变量列表中将变量声明为局部变量。变量的允许位置取决于其数据类型。

有关更多信息,请参阅: 访问数组、结构体和块中的变量变量中的位访问

其他

有关更多信息,请参阅: 地址职能