この記事では、GX-Works3において配列の定義のやり方と実際に配列を使用した具体例について解説します。
実際に構造体とコラボレーションさせて使用するときの例も合わせて解説していきます。
目次
配列とは
同じデータ型のラベルの連続した集合体を1つの名前で表したものです。
ポイント
最大3次元配列まで設定することができます。
例えばX軸・Y軸・Z軸で構成されたP&Pユニットがあるとします。そのP&Pユニットが装置に1台だけしか無いようでしたら、それぞれのX軸・Y軸・Z軸の現在位置座標を変数で定義したい場合このようにするとします。
・X軸現在位置座標:aX
・Y軸現在位置座標:aY
・Z軸現在位置座標:aZ
このように変数を定義するだけでOKです。
もし、ここで配列を使えば、このように定義できます。
一次元配列で表すとこのようになります。
それでは実際にこの配列の設定をしていきます。
配列を登録する
実際にGX-Works3を使って登録します。毎度のことながら少し面倒ですが、後で楽することが出来ます。
それでは設定して行きましょう!
GX-Works3で配列を登録する
①グローバルラベルを定義していきます。赤枠の「Global」をダブルクリックし、ラベルの登録をしていきます。
②「グローバルラベル設定」画面が表示されますので、ラベル名に「PPunit」と入力します。
③[・・・]の部分をクリックすると、データ型選択画面が表示されます。今回はデータ型を「ダブルワード」に選択し、配列要素の「配列」に☑チェックします。次に要素数を3に設定します。設定が終わったら「OK」をクリックします。
④データ型の項目に「ダブルワード[符号付き](0..2)」と表示されます。この(0..2)は配列の開始値と終了値です。「0から始まり2で終わる」という意味です。
⑤赤枠の「チェック」をクリックします。
⑥「エラーはありませんでした」と表示されましたら、正常に登録が出来ています。「OK」をクリックして設定画面を右上の「×」から閉じて下さい。これで配列の登録が完了です。
⑦ラダーに起こす際はPPunit[0]、PPunit[1]、PPunit[2]と言った感じで記載します。
ここまではP&Pユニットが装置に1台だけの場合でした。複数台ある場合はどのようにすればいいのでしょうか?
配列と構造体をコラボレーションさせて登録する
P&Pユニットが装置に複数台ある場合はどのようにすればよいのでしょうか?
方法としては2つあります。
①二次元配列で登録する
②一次元配列+構造体で登録する
①に関してはこのようなイメージです。
正直、出来なくはないですがラベルをユニット番号ごとに登録する必要があって大変です。
ここで一次元配列+構造体を使えば簡単に手間なく登録することが出来ます。
それでは、「②一次元配列+構造体で登録する」のイメージですが、こんな感じです。
例ではP&Pユニットが3つあって、それぞれに構造体X軸、Y軸、Z軸がぶら下がっているイメージです。
それでは早速、設定して行きましょう!
GX-Works3で配列を登録する
構造体をあらかじめこのように登録しておきます。
ここで構造体について、まず知りたい!登録方法が知りたい!という方はこちらの記事を参照して下さい。
-
【GX Works3】構造体とは?具体例と2つの注意点について解説します
この記事では、GX-Works3において構造体の定義のやり方と実際に構造体を使用した具体例について解説します。 構造体とは 同じパターンで並ぶ基本データ型の変数をメンバとして1つのクルー ...
続きを見る
①グローバルラベルから定義していきます。赤枠の「Global」をダブルクリックし、ラベルの登録をします。
②「グローバルラベル設定」画面が表示されますので、ラベル名に「PPunit」と入力します。
③[・・・]の部分をクリックすると、データ型選択画面が表示されます。型分類は「構造体」を選択、配列要素の「配列」に☑チェックします。次に要素数を3に設定します。設定が終わったら「OK」をクリックします。ここでの要素数3とはP&Pユニットが3つあることを意味します。
④「グローバルラベル設定」画面から赤枠の「詳細設定」をクリックします。
構造体デバイス設定画面が出てきますので、左側の「構造体配列」からPPunit群にある[0]をクリックします。
次に先頭デバイスを設定します。ここではD110と設定します。すると自動的にデバイスが割りついていきます。
⑤「構造体配列のオフセット値」という項目があります。各配列の構造体の先頭アドレスをオフセットしてくれる機能です。試しに「10」と設定すると、各P&Pユニットの先頭アドレスが自動的に10飛ばしになります。
⑥設定が完了しましたら「OK」をクリックし、グローバルラベル設定画面の「チェック」をクリックします。「エラーはありませんでした」と表示されましたら、正常に登録が出来ています。「OK」をクリックして設定画面を右上の「×」から閉じて下さい。これで配列+構造体の登録は全て完了です。
⑦ラダーに起こすとこのようになります。この場合「P&Pユニット1のX軸現在位置座標」となります。PPunit[0].aY、PPunit[0].aZ、PPunit[1].aX・・・と言った感じで使用していきます。
まとめ
今回の記事を要約するとこんな感じです。
ポイント要約
①配列とは同じデータ型のラベルの連続した集合体を1つの名前で表したもの
②最大3次元配列まで設定可能
③今回のP&Pユニットの例では圧倒的に「配列+構造体」の使い方が楽