久しぶりにまたBeckhoffの記事を書きました。
今度はIEC61131-3配列について紹介します。
まず配列(Array)とは、連続的で同じのタイプ変数のことだと思ってください。
そして変数のアクセスにはIndex[x]のように書き読みすることが可能です。
定義
VAR aInt:ARRAY[0..4] OF INT; END_VAR |
多分絵を書いたほうがわかりやすいので:
なので、3番目の変数を書き込みたいときは、
aInt[3]:=999; |
Default値
もし配列の変数にDefault値を設定したいときは:
VAR aInt:ARRAY[0..4] OF INT:=[0,1,2,3,4]; END_VAR |
IndexのStartとEnd
IEC61131-3では配列のIndex StartとEndは特に制限がありません。
なので、-1から始まってOKですし、100から始まってもOKです。
ですが、一般的には0から始まります。
VAR aReal:ARRAY[-10..10]OF REAL; aBool:ARRAY[100..499]OF BOOL; END_VAR |
Matrix
そしてMatrix、いわゆる2d-Arrayも可能です。
Array[1,2]の定義方
VAR aReal1:ARRAY[0..2,0..3] OF REAL; END_VAR |
Array[1][2]の定義方
VAR aReal2:ARRAY[0..2] OF ARRAY[0..3] OF REAL; END_VAR |
はーいお疲れ様です
どっちでもよいですが、Array[1][2]の定義方はSupoortしないメーカが多いと思いますのでArray[1,2]の定義方のがいいだと思います。