访问数组、结构体和块中的变量
访问数组元素
ST 语法
<数组变量的名称> [<以逗号分隔的维度索引列表>]
<数组变量的名称> | 数组变量的名称 例子: |
<以逗号分隔的维度索引列表> | 每个维度一个索引,以便识别数组的一个元素 例子: 索引从索引最小值到索引最大值有效。例子: |
示例
- 一维数组访问
//Declaration
VAR
aiCounter : ARRAY[0..9] OF INT;
iLocalVariable : INT;
END_VAR
// Implementation
iLocalVariable := aiCounter[2];
- 二维数组访问
//Declaration
VAR
aiCardGame : ARRAY[1..2, 3..4] OF INT;
iLocal_1 : INT;
END_VAR
//Implementation
iLocal_1 := aiCardGame[1, 3];
提示
更多相关信息,请参阅ARRAY OF
访问结构体
ST语法
<结构变量名称>.<组件名称>
<结构变量名称> | 例子: |
<组件名称> | 例子: |
示例
//Declaration type
TYPE S_POLYGONLINE :
STRUCT
aiStart : ARRAY[1..2] OF INT := [-99, -99];
aiPoint1 : ARRAY[1..2] OF INT;
aiPoint2 : ARRAY[1..2] OF INT;
aiPoint3 : ARRAY[1..2] OF INT;
aiPoint4 : ARRAY[1..2] OF INT;
aiEnd : ARRAY[1..2] OF INT := [99, 99];
END_STRUCT
END_TYPE
//Declaration structure variable
VAR
sPolygon : S_POLYGONLINE;
iPoint : INT;
END_VAR
//Implementation
iPoint := sPolygon.aiPoint1[1];
访问 POU 中的变量
ST语法
<POU名称>.<变量名称>
<POU名称> | 功能块实例的名称( 例子: |
<变量名称> | POU 的变量 例子: |
示例
FUNCTION_BLOCK FB_Controller
VAR_INPUT
xStart : BOOL;
END_VAR
VAR_OUTPUT
END_VAR
VAR
ControlDriveA : S_CONTROL;
END_VAR
IF xStart = TRUE THEN
//Symbolic bit access
ControlDriveA.bitEnableOperation := TRUE;
END_IF
PROGRAM PLC_PRG
fbController : FB_Controller;
END_VAR
fbController();
fbController.xStart := TRUE;