【ノウハウ中級】入力点数が多い後入力優先回路のラダープログラム例【キーエンス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)を押すとランプは消灯します。

ラダープログラム

ラダープログラムは以下のようになります。※長いので2ヶに分けてあります。

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

後入力優先回路を作成する場合、各々の自己保持を切る条件に「全ての入力のb接点」を入れます。※入力条件は立ち上がりパルス化する。

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

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

【例題②】では、データメモリを用いた後入力優先回路を解説します。


立ち上がり(DIFU)命令については以下のページで解説しておりますので、宜しければご覧ください。

00_【キーエンスKV】立ち上がり(DIFU)命令の指令方法とラダープログラム例 【キーエンスKV】立ち上がり(DIFU)命令の指令方法とラダープログラム例

2.【例題②】後入力優先回路 入力条件7ヶ(データレジスタ使用)

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

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

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

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

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

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

例題②_タッチパネル

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

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

ラダープログラム

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

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

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

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

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

微分実行型である@MOV命令を用いることで、入力条件がONした瞬間の1スキャンのみ定数の転送が実行されます。これにより、複数のスイッチが同時に押された場合でもデータメモリには必ず後から押されたスイッチに対応した定数が格納されます。

R7のみ毎スキャン実行型であるMOV命令を使用します。これは、スイッチ(R7)が押されている最中に他のスイッチが押されてもランプを点灯させないようにするためです。

メモ
「微分実行型」は入力条件がOFF→ONした瞬間のみ命令が実行され、「毎スキャン実行型」は入力条件がONしている間、常に命令が実行されます。


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

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

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

3. おわりに

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

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

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

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

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

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

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

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

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

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

コメントを残す

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