配列、構造体、ブロック内の変数へのアクセス
配列要素へのアクセス
構文:
<配列変数の名前> [<ディメンションインデックスのカンマ区切りリスト>】
<配列変数の名前> | 配列変数の名前 例: 詳細については、以下を参照してください。 識別子を割り当てる |
<ディメンションインデックスのカンマ区切りリスト> | 次元ごとに 1 つのインデックスがあるため、配列の 1 つの要素が識別されます 例: インデックスは、インデックスの最小値からインデックスの最大値まで有効です。例: |
例 195. 例
10 個のコンポーネントを含む 1 次元配列
//Declaration
VAR
aiCounter : ARRAY[0..9] OF INT;
iLocalVariable : INT;
END_VAR
// Implementation
iLocalVariable := aiCounter[2]; 2 x 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
構造コンポーネントへのアクセス
構文:
<構造体変数の名前> 。 <コンポーネントの名前>
<構造体変数の名前> | 例: 詳細については、以下を参照してください。 識別子を割り当てる |
<コンポーネントの名前> | 例: |
例 196. 例
//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の変数 例: |
例 197. 例
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;