访问数组、结构体和块中的变量
访问数组元素
句法:
<数组变量的名称> [<以逗号分隔的维度索引列表>]
<数组变量的名称> | 数组变量的名称 例子: 有关更多信息,请参阅: 分配标识符 |
<以逗号分隔的维度索引列表> | 每个维度一个索引,以便识别数组的一个元素 例子: 索引从索引最小值到索引最大值有效。例子: |
例 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
访问结构组件
句法:
<结构变量名称> 。 <组件名称>
<结构变量名称> | 例子: 有关更多信息,请参阅: 分配标识符 |
<组件名称> | 例子: |
例 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名称> | 功能块实例的名称( 例子: 有关更多信息,请参阅: 分配标识符 |
<变量名称> | POU 的变量 例子: |
例 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;