配列"ARRAY"は、同じデータ型を持つ要素が、連続したデータブロックとしてまとめられた変数のグループです。プログラムの中では、配列全体、またはインデックス(定数、インデックス変数、式の結果)付きの個別の配列要素を指定することができます。
宣言
POUヘッダでARRAY型の変数を宣言するには、以下の文法を使用してください。
ARRAY[A...B,C...D,E...F] OF <データ型>
A= |
最初の要素のインデックス |
1次元 |
B= |
最後の要素のインデックス |
|
C= |
最初の要素のインデックス |
2次元(オプション) |
D= |
最後の要素のインデックス |
|
E= |
最初の要素のインデックス |
3次元(オプション) |
F= |
最後の要素のインデックス |
配列は、1次元、2次元、3次元のいずれかの配列変数として宣言することができます。配列は、それぞれの次元に対して、フィールドを持っています。要素のインデックスは正または負の整数です。最初の要素は最後の要素よりも小さくする必要があります。
配列は、別の配列の変数として使用することはできません。
配列のインデックスにアクセスするとき、Control FPWIN Pro7は、配列の境界と照合して、インデックスをチェックしません。インデックスが、POU ヘッダで定義された範囲内にあることを確認してください。
例: ARRAY [1..5] OF INT
この例では、ai_array[99]は範囲外ですが、エラーメッセージは生成されません。
配列として使用できるデータ型:
BOOL
DATE
DATE_AND_TIME
DINT
DWORD
INT
REAL
STRING
TIME
TIME_OF_DAY
UDINT
UINT
WORD
DUT(構造体)
例1: グローバル変数リストで宣言された各配列
例えば、array_1d_BOOL0は5つの要素を備えた1次元配列です。インデックス2 (array_1d_BOOL0[1])を使用して最初の要素にアクセスし、インデックス5 (array_1d_BOOL0[5])を使用して最後の要素にアクセスします。
例2: POUヘッダで宣言された各配列