Skip to main content

访问数组、结构体和块中的变量

访问数组元素

句法:

<数组变量的名称> [<以逗号分隔的维度索引列表>]

<数组变量的名称>

数组变量的名称

例子: aiCounter

有关更多信息,请参阅: 分配标识符

<以逗号分隔的维度索引列表>

每个维度一个索引,以便识别数组的一个元素

例子: 2

索引从索引最小值到索引最大值有效。例子: 0..9

194. 例子

具有 10 个分量的一维数组

//Declaration
VAR
    aiCounter : ARRAY[0..9] OF INT;
    iLocalVariable : INT;
END_VAR

// Implementation
iLocalVariable := aiCounter[2]; 

具有 2 乘以 2 分量的二维数组

//Declaration
VAR
    aiCardGame : ARRAY[1..2, 3..4] OF INT;
    iLocal_1 : INT;
END_VAR

//Implementation
iLocal_1 := aiCardGame[1, 3];


有关更多信息,请参阅: ARRAY OF

访问结构组件

句法:

<结构变量名称><组件名称>

<结构变量名称>

例子: sPolygon

有关更多信息,请参阅: 分配标识符

<组件名称>

例子: aiStart

195. 例子
//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];


有关更多信息,请参阅: STRUCT

访问 POU 中的变量

句法:

<POU名称><变量名称>

<POU名称>

功能块实例的名称(FUNCTION_BLOCK)或程序(PROGRAM

例子: fbController

有关更多信息,请参阅: 分配标识符

<变量名称>

POU 的变量

例子: xStart

196. 例子
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;