【ノウハウ中級】入力点数が多い先入力優先回路のラダープログラム例【キーエンスKV】

00_【ノウハウ中級】入力点数が多い先入力優先回路のラダープログラム例【キーエンスKV】

「先入力優先回路」とは、先に入力された処理を優先して、後から入力されたものを無効にする回路です。別名、先行優先回路・先優先回路・インタロック回路とも呼ばれています。

先入力優先回路の例として「クイズ番組の早押し問題」があります。それぞれの回答者の手元にあるボタンの内、最初に押したボタンだけが有効(光ったり音が鳴ったり)になり、それ以降に他の回答者が手元のボタンを押しても有効になりません。

先入力優先回路を作成する場合「自己保持回路を切る条件に各々の出力のb接点を入れる」ことで作ることができますが、入力点数が多くなるにつれて回路は煩雑になっていきます。

これをデータメモリ(DM)とデータ転送(MOV)命令・接点比較命令を用いることで、回路をコンパクトにすることが可能になります。

この記事では、キーエンスKVシリーズで作成する入力点数が多い場合の先入力優先回路のラダープログラム例を解説します。

注意
この記事中のラダープログラムはKV STUDIO Ver.11で作成しており、対応機種はKV-N24に設定してあります。
注意
インタロック(interlock)とは、ある条件が成立しないと他の処理ができなくすることで、広い意味を持ちます。
インタロック回路 = 先入力優先回路というわけではありません。

先入力優先回路のラダープログラムについては以下のページで解説しております。↓の記事では入力点数が2点と3点を対象としています。

00_【ノウハウ初級】先入力優先回路のラダープログラム例【キーエンスKV】【ノウハウ初級】先入力優先回路のラダープログラム例【キーエンスKV】

1.【例題①】先入力優先回路 入力条件7ヶ(b接点を使用)

下記仕様のラダープログラムを解説します。

仕様
スイッチ(R0)を押すと、ランプ(R500)が点灯し続ける。(自己保持)
スイッチ(R1)を押すと、ランプ(R501)が点灯し続ける。(自己保持)
スイッチ(R2)を押すと、ランプ(R502)が点灯し続ける。(自己保持)
スイッチ(R3)を押すと、ランプ(R503)が点灯し続ける。(自己保持)
スイッチ(R4)を押すと、ランプ(R504)が点灯し続ける。(自己保持)
スイッチ(R5)を押すと、ランプ(R505)が点灯し続ける。(自己保持)
スイッチ(R6)を押すと、ランプ(R506)が点灯し続ける。(自己保持)
スイッチ(R7)を押すと、各ランプは消灯する。
ランプは先に点灯したものを優先して、同時に点灯してはならない。

スイッチ(R0)~(R6)のうち、先に入力された処理を優先する先入力優先回路を作成します。

【例題①】では自己保持回路をb接点で切る方法を用います。

タッチパネルの動作イメージ

タッチパネルの動作イメージは以下のようになります。

例題①_タッチパネル

スイッチ(R0)~(R6)は先に押された処理が優先されます。(同時に押された場合も先が優先)

スイッチ(R7)を押すとランプは消灯します。

ラダープログラム

ラダープログラムは以下のようになります。

例題①_ラダープログラム

先入力優先回路を作成する場合、各々の自己保持を切る条件に「全ての出力のb接点」を入れます。

この回路でも動作は全く問題ありません。ただし、自己保持を切るためのb接点が多くなり打ち込みミスを誘発します。

そして、点数がさらに増えることは少なからずあります。(私の経験上ですが)

【例題②】では、データレジスタを用いた先入力優先回路を解説します。

2.【例題②】先入力優先回路 入力条件7ヶ(データメモリ使用)

下記仕様のラダープログラムを解説します。※【例題①】と同様です。

仕様
スイッチ(R0)を押すと、ランプ(R500)が点灯し続ける。(自己保持)
スイッチ(R1)を押すと、ランプ(R501)が点灯し続ける。(自己保持)
スイッチ(R2)を押すと、ランプ(R502)が点灯し続ける。(自己保持)
スイッチ(R3)を押すと、ランプ(R503)が点灯し続ける。(自己保持)
スイッチ(R4)を押すと、ランプ(R504)が点灯し続ける。(自己保持)
スイッチ(R5)を押すと、ランプ(R505)が点灯し続ける。(自己保持)
スイッチ(R6)を押すと、ランプ(R506)が点灯し続ける。(自己保持)
スイッチ(R7)を押すと、各ランプは消灯する。
ランプは先に点灯したものを優先して、同時に点灯してはならない。

【例題①】と同じ動作をする先入力優先回路を、データメモリ(DM)を用いて解説します。

データメモリ(DM)とは、数値データを格納することができる1点が16ビットのデバイスです。

タッチパネルの動作イメージ

タッチパネルの動作イメージは以下のようになります。

例題①_タッチパネル

スイッチ(R0)~(R6)を押すと対応するランプが点灯する動作は【例題①】と同様です。

スイッチを押すと、タッチパネル右上のデータメモリ(DM0)の値が変わります。(後ほど解説します。)

ラダープログラム

ラダープログラムは以下のようになります。

例題②_ラダープログラム

データメモリ(DM0)を1点使用します。

【例題①】に対してラダープログラムの行数は増えますが、接点の数が削減できます。

R0がONしたとき、データ転送(MOV)命令でDM0に定数”1”を転送します。R1~R6も同様に定数2~7を転送します。

この時、接点比較命令を用いてDM0と定数”0”を比較します。DM0の値が”0”でなければスイッチ(R0)~(R6)を押してもデータ転送(MOV)命令は実行されません。

例題②_ラダープログラム解説1
メモ
命令内の#とは、十進数の定数を表しています。(#0は定数”0”)

出力リレーR500~R506の条件には、接点比較命令を用いてDM0と定数を比較します。DM0の値が”1”の場合、R500がONしてランプ(R500)が点灯します。

例題②_ラダープログラム解説2

↑のラダープログラムは「スイッチ(R0)を押すとDM0に定数”1”を転送して、DM0の値が”1”のときランプ(R500)を点灯させる」イメージです。異なるスイッチが押されるとDM0に格納する定数の値を変えます。

スイッチ(R0)~(R6)を押したとき、DM0の値が”0”でなければデータ転送(MOV)命令は実行されません。つまり、いずれかのランプが点灯している状態では他のスイッチを押しても無効になります。

3. おわりに

キーエンスKVシリーズで作成する入力点数が多い場合の先入力優先回路のラダープログラム例を解説しました。

動作としては【例題①】でも全く問題ありませんが、個人的には点数が多くなる場合は【例題②】の組み方を使用します。

三菱電機製シーケンサFXシリーズで作成する入力点数が多い場合の先入力優先回路は以下のページで解説しておりますので、宜しければご覧ください。

00_【ノウハウ中級】入力点数が多い先入力優先回路のラダープログラム例【三菱FX】【ノウハウ中級】入力点数が多い先入力優先回路のラダープログラム例【三菱FX】

以下の参考書はラダープログラムの色々な「定石」が記載されており、実務で使用できるノウハウが多く解説されています。私がラダープログラムの参考書として自信をもってオススメできるものです。

ただし、ラダープログラムやPLCといった電気・制御設計は参考書やWebサイトのみでの学習には必ずどこかで限界が来ます。

各メーカが販売しているPLCやプログラム作成のアプリケーションを揃えるには安くても十万円以上の大きな費用が掛かり、独学は現実的ではありません。

ラダープログラムの一番現実的な学習方法は「実務で経験を積む」ことです。電気・制御設計者はこれから更に必要な人材になり続けますので、思い切って転職する選択肢もあります。

DODA』といった大手求人(転職)サイトには電気・制御設計の求人が数多く紹介されています。※登録は無料です。

「スキルこそ今後のキャリアを安定させる最も大切な材料」と考える私にとって電気・制御設計はとても良い職業だと思います。キャリアの参考になれば幸いです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です