跳到主要内容

ST变量定义

基本语法

变量定义语法如下:

VAR_变量类型 变量类型
变量名 数据类型:= 初始值;
END_VAR

举例:

VAR_OUTPUT RETAIN
Motor1: BOOL := FALSE;
Message: STRING(10);
END_VAR

可以以逗号隔开的方式连续定义几个相同类型的变量:

VAR_变量类型 变量类型
变量名1,变量名2,变量名3 : 数据类型 :=初始值;
END_VAR

如:

SB1, SB2, SB3 : BOOL := FALSE;

数组变量

元素的数量以及数组的上下界可指定:

VAR
arrData : ARRAY[1..ARRAY_UPPER_BOUND] OF INT;
END_VAR

VAR
array01 : ARRAY[2..8] OF LREAL := [16.1, 34.1, 4.1, 43.1, 35.1, 2.1, 65.1];
array02 : ARRAY[-1..2] OF LREAL := [16.1, 34.1, 9.1, 13.1];
array03 : ARRAY[-3..-1] OF LREAL := [16.1, 34.1, 8.1];
END_VAR

地址变量

变量定义使用AT关键字可以指定地址变量。下例中iVar变量是字类型,映射到输入区域偏移10字节的位置

iVar AT %IW10: WORD; 
fVar AT %ID10: REAL; (*注意浮点类型变量在直接地址使用D*)

数组变量将使用从IO内存偏移位置访问连续内存空间: iArr AT %IW10: ARRAY[0..2] OF WORD;