三菱電機製シーケンサQシリーズにおける「ブロック減算」命令とは、指定した複数の連続したデバイス値をまとめて減算するラダープログラム命令です。
ブロック減算命令を用いることにより、複数の減算命令を1ヶにまとめることができ、ラダープログラムを短縮することが可能です。
この記事では、三菱電機製シーケンサQシリーズにおけるブロック減算命令の指令方法とラダープログラム例について解説します。
三菱電機製シーケンサQシリーズにおいて、ブロック減算命令は以下のCPUで使用することが可能です。
Basic | :ベーシックモデルQCPU |
High performance | :ハイパフォーマンスモデルQCPU |
Process | :プロセスCPU |
Redundant | :二重化CPU |
Universal | :ユニバーサルモデルQCPU |
LCPU | :LCPU |
※MELSEC-Lシリーズも含まれていますがご了承ください。
三菱電機製シーケンサQシリーズにおける減算命令は以下のページで解説しております。
【三菱Qシリーズ】減算(-)命令の指令方法とラダープログラム例目次
1. ブロック減算命令の指令方法
ブロック減算命令には、4種類の指令方法があります。
BK- | :16ビット連続実行形 |
BK-P | :16ビットパルス実行形 |
DBK- | :32ビット連続実行形 |
DBK-P | :32ビットパルス実行形 |
BK-は、block – の略です。
パルス実行形は、入力条件がONしたときの1スキャンのみ実行される命令です。
32ビット実行形である「DBK-」「DBK-P」命令は三菱電機製シーケンサQシリーズ内でも以下のように使用できないものがあります。
Basic | :使えない |
High performance | :使えない |
Process | :使えない |
Redundant | :使えない |
Universal | :条件付きで使える |
LCPU | :使える |
- UniversalはシリアルNo.の上5桁が”10102”以降のQnU(D)(H)CPUおよびQnUDE(H)CPUで使用可能
- Q00UJCPU・Q00UCPU・Q01UCPU・QnUDVCPU・QnUDPVCPUで使用可能
BK-:16ビット連続実行形(基本の形)
16ビット連続実行形のブロック減算命令は”BK-“と指令します。
こちらがBK-命令を使用したラダープログラム例です。
このラダープログラムは、入力条件であるX0がONしている間、D0~D9からD10~D19の各デバイスを減算した結果をD20~D29に格納するものです。
X0がONしている間に実行される演算は以下のようになります。
仮に、D0~D19のデバイス値に20~1が格納されていると、減算結果であるD20~D29は以下のようになります。
例えば、D25のデバイス値は10ですが、D25にはD5からD15を引いた結果が格納されます。「D5には15」「D15には5」が格納されているので、その減算値である10がD25に格納されます。
先ほどのラダープログラムはGX Works2の回路上で BK- D0 D10 D20 K10 と入力してEnterキーを押すと挿入されます。(小文字でもOKです。)
BK-P:16ビットパルス実行形
16ビットパルス実行形のブロック減算命令は”BK-P”と指令します。
こちらがBK-P命令を使用したラダープログラム例です。
連続実行形(BK-命令)との違いは、入力条件X0がONした瞬間のみ命令が実行されることです。つまりX0がONした瞬間にD0~D9とD10~D19のブロック減算結果をD20~D29に転送します。
DBK-・DBK-P:32ビット実行形
32ビット連続実行形のブロック減算命令は”DBK-“と指令します。
32ビットパルス実行形のブロック減算命令は”DBK-P”と指令します。
こちらがDBK-・DBK-P命令のラダープログラム例です。
32ビット実行形の場合、2ワード(32ビット)長のデータを対象とします。
↑のラダープログラムの場合、対象デバイス点数は10点(K10)を指定していますが、32ビット実行形の場合は1点が2ワードとして扱うため、以下のような減算が実行されます。
各デバイスはデバイス番号が若い側を下位とする2ワード長として扱われます。32ビット実行形は16ビット実行形の倍のデバイス点数を占有するので、デバイスの重複にはご注意ください。
2.【例題①】データレジスタのブロック減算結果を求める(連続実行形)
下記仕様のラダープログラムをブロック減算命令を用いて解説します。
D0 – D5 = D10
D1 – D6 = D11
D2 – D7 = D12
D3 – D8 = D13
D4 – D9 = D14
スイッチ(X0)が押されている間にD0~D9のデバイス値が変化すると、減算結果であるD10~D14も追従して変化する。
減算命令を5ヶ用いることでも作成することができますが、今回はブロック減算命令を用いて作成します。
GOTの動作イメージ
GOTの動作イメージは以下のようになります。
スイッチ(X0)が押されている間、D0~D4からD5~D9を減算した結果をD10~D14に格納します。
スイッチ(X0)が押されている間にD0~D9の値が変化するとD10~D14の値も追従して変化します。
ラダープログラム
ラダープログラムは以下のようになります。
D0~D4からD5~D9を減算した結果を求めてD10~D14に転送するためのブロック減算(BK-)命令を使用します。
連続実行形を用いることにより、スイッチ(X0)が押されている間にD0~D9の値が変化するとD10~D14の値も追従して変化します。
3.【例題②】データレジスタのブロック減算結果を求める(パルス実行形)
下記仕様のラダープログラムをブロック減算命令を用いて解説します。
D0 – D5 = D10
D1 – D6 = D11
D2 – D7 = D12
D3 – D8 = D13
D4 – D9 = D14
スイッチ(X0)が押されている間にD0~D9のデバイス値が変化しても、減算結果であるD10~D14は追従しない。
【例題①】との違いは、スイッチ(X0)が押されている間にD0~D9のデバイス値が変化しても、D10~D14は追従しないことです。
GOTの動作イメージ
GOTの動作イメージは以下のようになります。
スイッチ(X0)が押されている間にD0~D9のデバイス値が変化しても、D10~D14は追従しません。
スイッチ(X0)が押されている間に変化した内容は、再度スイッチ(X0)を押されたタイミングで減算処理が行われます。
ラダープログラム
ラダープログラムは以下のようになります。
入力条件がONした瞬間のみ実行する「パルス実行形」のBK-P命令を使用することにより、スイッチ(X0)が押された時のみブロック減算が実行されます。
4. おわりに
三菱電機製シーケンサQシリーズにおけるブロック減算命令について解説しました。
Qシリーズでは、対になるブロック加算(BK+)命令が用意されています。以下のページで解説しておりますので、宜しければご覧ください。
【三菱Qシリーズ】ブロック加算(BK+)命令の指令方法とラダープログラム例以下の参考書はラダープログラムの色々な「定石」が記載されており、実務で使用できるノウハウが多く解説されています。私がラダープログラムの参考書として自信をもってオススメできるものです。
ただし、ラダープログラムやPLCといった電気・制御設計は参考書やWebサイトのみでの学習には必ずどこかで限界が来ます。
各メーカが販売しているPLCやプログラム作成のアプリケーションを揃えるには安くても十万円以上の大きな費用が掛かり、独学は現実的ではありません。
ラダープログラムの一番現実的な学習方法は「実務で経験を積む」ことです。電気・制御設計者はこれから更に必要な人材になり続けますので、思い切って転職する選択肢もあります。
『doda』といった大手求人(転職)サイトには電気・制御設計の求人が数多く紹介されています。※登録は無料です。
「スキルこそ今後のキャリアを安定させる最も大切な材料」と考える私にとって電気・制御設計はとても良い職業だと思います。キャリアの参考になれば幸いです。