「先入力優先回路」とは、先に入力された処理を優先して、後から入力されたものを無効にする回路です。別名、先行優先回路・先優先回路・インタロック回路とも呼ばれています。
先入力優先回路の例として「クイズ番組の早押し問題」があります。それぞれの回答者の手元にあるボタンの内、最初に押したボタンだけが有効(光ったり音が鳴ったり)になり、それ以降に他の回答者が手元のボタンを押しても有効になりません。
先入力優先回路を作成する場合「自己保持回路を切る条件に各々の出力のb接点を入れる」ことで作ることができますが、入力点数が多くなるにつれて回路は煩雑になっていきます。
これをデータレジスタ(D)と転送(MOV)命令・接点形比較命令を用いることで、回路をコンパクトにすることが可能になります。
この記事では、三菱電機製シーケンサFXシリーズで作成する入力点数が多い場合の先入力優先回路のラダープログラム例を解説します。
インタロック回路 = 先入力優先回路というわけではありません。
先入力優先回路のラダープログラムについては以下のページで解説しております。↓の記事では入力点数が2点と3点を対象としています。
【ノウハウ初級】先入力優先回路のラダープログラム例【三菱FX】目次
1.【例題①】先入力優先回路 入力条件7ヶ(b接点を使用)
下記仕様のラダープログラムを解説します。
スイッチ(X1)を押すと、ランプ(Y1)が点灯し続ける。(自己保持)
スイッチ(X2)を押すと、ランプ(Y2)が点灯し続ける。(自己保持)
スイッチ(X3)を押すと、ランプ(Y3)が点灯し続ける。(自己保持)
スイッチ(X4)を押すと、ランプ(Y4)が点灯し続ける。(自己保持)
スイッチ(X5)を押すと、ランプ(Y5)が点灯し続ける。(自己保持)
スイッチ(X6)を押すと、ランプ(Y6)が点灯し続ける。(自己保持)
スイッチ(X7)を押すと、各ランプは消灯する。
ランプは先に点灯したものを優先して、同時に点灯してはならない。
スイッチ(X0)~(X6)のうち、先に入力された処理を優先する先入力優先回路を作成します。
【例題①】では自己保持回路をb接点で切る方法を用います。
GOTの動作イメージ
GOTの動作イメージは以下のようになります。
ここでは「GOTはラダープログラムで使用されているデバイスのON/OFF状態や現在値をモニタしたり、変更することができるもの」程度の認識でOKです。
スイッチ(X0)~(X6)は先に押された処理が優先されます。(同時に押された場合も先が優先)
スイッチ(X7)を押すとランプは消灯します。
ラダープログラム
ラダープログラムは以下のようになります。
先入力優先回路を作成する場合、各々の自己保持を切る条件に「全ての出力のb接点」を入れます。
この回路でも動作は全く問題ありません。ただし、自己保持を切るためのb接点が多くなり打ち込みミスを誘発します。
そして、点数がさらに増えることは少なからずあります。(私の経験上ですが)
【例題②】では、データレジスタを用いた先入力優先回路を解説します。
2.【例題②】先入力優先回路 入力条件7ヶ(データレジスタ使用)
下記仕様のラダープログラムを解説します。※【例題①】と同様です。
スイッチ(X1)を押すと、ランプ(Y1)が点灯し続ける。(自己保持)
スイッチ(X2)を押すと、ランプ(Y2)が点灯し続ける。(自己保持)
スイッチ(X3)を押すと、ランプ(Y3)が点灯し続ける。(自己保持)
スイッチ(X4)を押すと、ランプ(Y4)が点灯し続ける。(自己保持)
スイッチ(X5)を押すと、ランプ(Y5)が点灯し続ける。(自己保持)
スイッチ(X6)を押すと、ランプ(Y6)が点灯し続ける。(自己保持)
スイッチ(X7)を押すと、各ランプは消灯する。
ランプは先に点灯したものを優先して、同時に点灯してはならない。
【例題①】と同じ動作をする先入力優先回路を、データレジスタ(D)を用いて解説します。
データレジスタ(D)とは、数値データを格納することができるデバイスです。データレジスタ(D)については以下のページで解説しております。
【三菱FXシリーズ】データレジスタ(D)の機能と動作例 【三菱FXシリーズ】データレジスタ(D)の使い方GOTの動作イメージ
GOTの動作イメージは以下のようになります。
スイッチ(X0)~(X6)を押すと対応するランプが点灯する動作は【例題①】と同様です。
スイッチを押すと、GOT右上のデータレジスタ(D0)の値が変わります。(後ほど解説します。)
ラダープログラム
ラダープログラムは以下のようになります。
データレジスタ(D0)を1点使用します。
【例題①】に対してラダープログラムの行数は増えますが、接点の数が削減できます。
X0がONしたとき、転送(MOV)命令でD0に定数”1”を転送します。X1~X6も同様に定数2~7を転送します。
この時、接点形比較命令を用いてD0と定数”0”を比較します。D0の値が”0”でなければスイッチ(X0)~(X6)を押しても転送(MOV)命令は実行されません。
出力リレーY0~Y6の条件には、接点形比較命令を用いてD0と定数を比較します。D0の値が”1”の場合、Y0がONしてランプ(Y0)が点灯します。
↑のラダープログラムは「スイッチ(X0)を押すとD0に定数”1”を転送して、D0の値が”1”のときランプ(Y0)を点灯させる」イメージです。異なるスイッチが押されるとD0に格納する定数の値を変えます。
スイッチ(X0)~(X6)を押したとき、D0の値が”0”でなければ転送(MOV)命令は実行されません。つまり、いずれかのランプが点灯している状態では他のスイッチを押しても無効になります。
転送(MOV)命令と接点形比較命令については以下のページで解説しております。
【三菱FXシリーズ】転送(MOV)命令の指令方法とラダープログラム例 【三菱FXシリーズ】接点形比較命令の指令方法とラダープログラム例3. おわりに
三菱電機製シーケンサFXシリーズで作成する入力点数が多い場合の先入力優先回路のラダープログラム例を解説しました。
動作としては【例題①】でも全く問題ありませんが、個人的には点数が多くなる場合は【例題②】の組み方を使用します。
キーエンスKVシリーズで作成する入力点数が多い場合の先入力優先回路は以下のページで解説しておりますので、宜しければご覧ください。
【ノウハウ中級】入力点数が多い先入力優先回路のラダープログラム例【キーエンスKV】以下の参考書はラダープログラムの色々な「定石」が記載されており、実務で使用できるノウハウが多く解説されています。私がラダープログラムの参考書として自信をもってオススメできるものです。
ただし、ラダープログラムやPLCといった電気・制御設計は参考書やWebサイトのみでの学習には必ずどこかで限界が来ます。
各メーカが販売しているPLCやプログラム作成のアプリケーションを揃えるには安くても十万円以上の大きな費用が掛かり、独学は現実的ではありません。
ラダープログラムの一番現実的な学習方法は「実務で経験を積む」ことです。電気・制御設計者はこれから更に必要な人材になり続けますので、思い切って転職する選択肢もあります。
『doda』といった大手求人(転職)サイトには電気・制御設計の求人が数多く紹介されています。※登録は無料です。
「スキルこそ今後のキャリアを安定させる最も大切な材料」と考える私にとって電気・制御設計はとても良い職業だと思います。キャリアの参考になれば幸いです。