「データサーチ」命令とは、三菱電機製シーケンサFXシリーズにおけるデータテーブルの中から同一データおよび最大値、最小値の位置を検索するラダープログラム命令です。
この記事では、三菱電機製シーケンサFXシリーズにおけるデータサーチ命令の指令方法とラダープログラム例について解説します。
三菱電機製シーケンサFXシリーズにおいて、データサーチ命令は以下のシーケンサ・バージョンで使用することが可能です。
FX3S | :Ver1.00以降 |
FX3G | :Ver1.00以降 |
FX3GC | :Ver1.40以降 |
FX3U | :Ver2.20以降 |
FX3UC | :Ver1.00以降 |
目次
1. データサーチ命令の指令方法
データサーチ命令には、4種類の指令方法があります。
SER | :16ビット連続実行形 |
SERP | :16ビットパルス実行形 |
DSER | :32ビット連続実行形 |
DSERP | :32ビットパルス実行形 |
SERは、データサーチ(Data search)の略です。
SER:16ビット連続実行形(基本の形)
16ビット連続実行形のデータサーチ命令は”SER”と指令します。
こちらがSER命令を使用したラダープログラム例です。
このラダープログラムでは、入力条件である入力リレーX0がONしている間、データレジスタD0~D9(10点)を対象に、D50の値と同一データの個数などの検索結果をD100~D104に転送します。
命令の中で指定するそれぞれのデバイスは以下のような意味になります。
赤枠の「検索対象の先頭」は、検索対象の先頭のデバイスを指定します。この検索対象のことをデータテーブルと表現することがあります。
緑枠の「検索元」は、このデバイスを元にデータテーブル内を検索します。
青枠の「検索結果」は、データテーブル内を検索した結果を5点のデバイスに格納します。↑のラダープログラムでは、データレジスタD100~D104に以下のような検索結果を格納します。
D100 | :同一データの個数 |
D101 | :同一データの初回位置 |
D102 | :同一データの最終位置 |
D103 | :最小値の最終位置 |
D104 | :最大値の最終位置 |
橙枠の「検索対象の個数」は、赤枠で指定したデータテーブルのデバイス点数を指定します。
なかなか複雑な命令だと思います。実際に↑のラダープログラムを用いた例題を【例題①】で解説します。
先ほどのラダープログラムはGX Works2の回路上で SER D0 D50 D100 K10 と入力してEnterキーを押すと命令が挿入されます。
SERP:16ビットパルス実行形
16ビットパルス実行形のデータサーチ命令は”SERP”と指令します。
こちらがSERP命令を使用したラダープログラム例です。
連続実行形(SER命令)との違いは、入力条件である入力リレーX0がON中に検索対象、または検索元のデバイス値が変化しても、検索結果は変化しないことです。
DSER・DSERP:32ビット実行形
32ビット連続実行形のデータサーチ命令は”DSER”と指定します。
32ビットパルス実行形のデータサーチ命令は”DSERP”と指定します。
こちらがDSER・DSERP命令のラダープログラム例です。
32ビット形の場合、検索対象・検索元・検索結果はすべて2ワード(32ビット)長として扱われます。
故に、「検索対象はD0~D19」「検索元はD51,D52」「検索結果はD100~D109」になります。
2.【例題①】データサーチ命令(検索元がデータレジスタ)
下記仕様のラダープログラムをデータサーチ命令を用いて解説します。
D100 ⇒ D50の値と比較して、同一データの個数
D101 ⇒ D50の値と比較して、同一データの初回位置
D102 ⇒ D50の値と比較して、同一データの最終位置
D103 ⇒ 最小値の最終位置
D104 ⇒ 最大値の最終位置
データサーチ命令を用いると、自動的に上記のような検索結果が格納されます。
GOTの動作イメージ
GOTの動作イメージは以下のようになります。
スイッチ(X0)を押している間、データレジスタD100~D104に検索結果を格納します。
検索対象D0~D9と検索元D50の値を固定して、それぞれの検索結果を解説します。
D100には、D50と同一データであるデバイス数を格納します。データテーブルD0~D9内には「100」が4ヶあるので、D100には4が格納されます。
D101には、D50と同一データの中で初回の位置を格納します。同一データはD0・D3・D6・D7で初回はD0になりますので、D101には0が格納されます。
D102には、D50と同一データの中で最終の位置を格納します。同一データはD0・D3・D6・D7で最終はD7になりますので、D102には7が格納されます。
D103には、データテーブル内の最小値の位置を格納します。最小値はD9の「40」なのでD103には9が格納されます。
D104には、データテーブル内の最大値の位置を検索します。最大値はD8の「800」なのでD104には8が格納されます。
ラダープログラム
ラダープログラムは以下のようになります。
この命令だけで、上記のようなデータサーチが実行されます。
詳細は、前項のSER:16ビット連続実行形(基本の形)の解説をご覧ください。
3.【例題②】データサーチ命令(検索元が定数)
下記仕様のラダープログラムをデータサーチ命令を用いて解説します。
D100 ⇒ 定数60と比較して、同一データの個数
D101 ⇒ 定数60と比較して、同一データの初回位置
D102 ⇒ 定数60と比較して、同一データの最終位置
D103 ⇒ 最小値の最終位置
D104 ⇒ 最大値の最終位置
【例題①】では検索元がデータレジスタD50でしたが、今回は定数60を検索元とします。
GOTの動作イメージ
GOTの動作イメージは以下のようになります。
ラダープログラム
ラダープログラムは以下のようになります。
検索元を十進数の定数60を指定することにより、定数60を元にデータサーチが実行されます。
4. おわりに
三菱FXシリーズにおけるデータサーチ命令について解説しました。
複雑な命令で使用する頻度は低いかと思います。検索結果は指定したデバイスを先頭に5ワード(32ビット形だと10ワード)を必ず占有するので、デバイスの重複にはご注意ください。
以下の参考書はラダープログラムの色々な「定石」が記載されており、実務で使用できるノウハウが多く解説されています。私がラダープログラムの参考書として自信をもってオススメできるものです。
ただし、ラダープログラムやPLCといった電気・制御設計は参考書やWebサイトのみでの学習には必ずどこかで限界が来ます。
各メーカが販売しているPLCやプログラム作成のアプリケーションを揃えるには安くても十万円以上の大きな費用が掛かり、独学は現実的ではありません。
ラダープログラムの一番現実的な学習方法は「実務で経験を積む」ことです。電気・制御設計者はこれから更に必要な人材になり続けますので、思い切って転職する選択肢もあります。
『doda』といった大手求人(転職)サイトには電気・制御設計の求人が数多く紹介されています。※登録は無料です。
「スキルこそ今後のキャリアを安定させる最も大切な材料」と考える私にとって電気・制御設計はとても良い職業だと思います。キャリアの参考になれば幸いです。