キーエンスKVシリーズにおける「立ち上がり」命令とは、実行条件がOFF→ONになったときに1スキャンだけONするラダープログラム命令です。
立ち上がり命令は、別名ディフアップ命令や立ち上がりパルスと呼ぶことがあります。
立ち上がり命令を用いることにより「スイッチを押した瞬間を検出して一瞬だけON」する回路を作ることができます。
この記事では、キーエンスKVシリーズにおける立ち上がり命令の指令方法とラダープログラム例について解説します。
キーエンスKVシリーズでは、対となる立ち下がり(DIFD)命令が用意されています。立ち下がり(DIFD)命令については以下のページで解説しております。
【キーエンスKV】立ち下がり(DIFD)命令の指令方法とラダープログラム例目次
1. 立ち上がり(ディフアップ)命令の指令方法
立ち上がり(ディフアップ)命令には、1種類の指令方法があります。
- DIFU:立ち上がり(ディフアップ)
DIFUは、微分(differential)とアップ(up)の略です。(だと思います。)
DIFU:立ち上がり(ディフアップ)命令
立ち上がり(ディフアップ)命令は”DIFU”と指令します。
こちらがDIFU命令を使用したラダープログラム例です。
このラダープログラムでは、入力条件である入力リレーR000がONになった後の1スキャンだけ内部補助リレーR1000がONします。
ラダープログラムのスキャンとは、プログラム先頭からEND命令までの制御処理が一巡する時間のことで、長くても数十ms、短ければ1msを切る場合もあります。(1msは0.001秒)
つまり、DIFU命令でONするデバイス(↑だとR1000)は、人間の感覚からすると”極一瞬”しかONしません。
タイムチャートは以下のようになります。
入力リレーR000がONすると、1スキャンだけ内部補助リレーR1000がONします。このタイムチャートでは1マスを1スキャンとしています。
この時、入力条件がONしている時間は関係ありません。入力条件がONになった瞬間のみ出力条件がONします。
先ほどのラダープログラムは、KV STUDIOの回路上でDIFU R1000と入力してEnterキーを押すと命令が挿入されます。
2.【例題①】後入力を優先する自己保持回路
下記仕様のラダープログラムを立ち上がり(ディフアップ)命令を用いて作成します。
入力リレーR001がONすると、出力リレーR500はOFFする。
入力リレーがどちらもONした場合、後から入力した処理を優先する。
出力リレーR500の自己保持回路を作成します。入力リレーがどちらもONしたとき後の入力を優先するため入力リレーをパルス化します。
タイムチャート
タイムチャートは以下のようになります。
R500は「R000がONするとON」「R001がONするとOFF」します。
R000とR001がどちらもONしたとき、後から入力された処理が優先されます。
ラダープログラム
ラダープログラムは以下のようになります。
入力リレーR000がONすると、DIFD命令によりR1000が1スキャンだけONします。(1行目)
同様に、入力リレーR001がONすると、DIFD命令によりR1001が1スキャンだけONします。(2行目)
R1000がONすると、出力リレーR500がONして自己保持します。R500はR1001がONすることにより自己保持がOFFします。(3行目)
R1000とR1001はどちらも入力リレーがONした瞬間の1スキャンだけしかONしません。つまり、入力リレーR000とR001がどちらもONした場合、後から入力された方のみONします。
シミュレータの動作
シミュレータを実行している様子は以下のようになります。
入力リレーR000がONすると出力リレーR500がONし続けます。入力リレーR001がONすると出力リレーR500はOFFします。
入力リレーがどちらもONした場合、後から入力した処理が優先されます。
3.【例題②】立ち上がりで一瞬だけOFF
下記仕様のラダープログラムについて解説します。
出力リレーR500は基本的にONして、入力リレーR000がONした一瞬のみOFFします。(決して実用的な回路ではありません。)
タイムチャート
タイムチャートは以下のようになります。
入力リレーR000がONした瞬間、出力リレーが1スキャンだけOFFします。
ラダープログラム
ラダープログラムは以下のようになります。
入力リレーR000がONすると、DIFD命令によりR1000が1スキャンだけONします。(1行目)
R1000は入力リレーR000がONした瞬間の1スキャンしかONしません。
このR1000のb接点は入力リレーR000がONした瞬間の1スキャンのみOFFするため、R500の実行条件とします。
『シミュレータの動作』ではR500が一瞬OFFする様子が目視できなかったため、無しとさせて頂きます。
4. おわりに
キーエンスKVシリーズにおける立ち上がり(ディフアップ)命令について解説しました。
以下の参考書はラダープログラムの色々な「定石」が記載されており、実務で使用できるノウハウが多く解説されています。私がラダープログラムの参考書として自信をもってオススメできるものです。
ただし、ラダープログラムやPLCといった電気・制御設計は参考書やWebサイトのみでの学習には必ずどこかで限界が来ます。
各メーカが販売しているPLCやプログラム作成のアプリケーションを揃えるには安くても十万円以上の大きな費用が掛かり、独学は現実的ではありません。
ラダープログラムの一番現実的な学習方法は「実務で経験を積む」ことです。電気・制御設計者はこれから更に必要な人材になり続けますので、思い切って転職する選択肢もあります。
『doda』といった大手求人(転職)サイトには電気・制御設計の求人が数多く紹介されています。※登録は無料です。
「スキルこそ今後のキャリアを安定させる最も大切な材料」と考える私にとって電気・制御設計はとても良い職業だと思います。キャリアの参考になれば幸いです。
本内容とは少し合致しないかもしれませんが質問です。
出力信号が立ち上がった際にその信号アドレスを読み出したいのですが、どうすればいいでしょうか。
例
MR100 MR200
ー||ーーーーーーーーーーーーーーーーー〇ー
MR100がONするとMR200が立ち上がりますが、この立ち上がり時に「MR200」というユニットアドレスを取得するにはどのようにすればいいでしょうか。MR200の状態を追うという質問ではありません。
ご教示お願いします
制御初心者様
MR200がONしたタイミングでDMに200を書込む動作であれば、
OUT MR200の下にMOV命令やDW命令で定数200を書込むやり方が簡単かと思います。