三菱電機製シーケンサ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のデバイス値に0~19が格納されていると、加算結果であるD20~D29は以下のようになります。
例えば、D25のデバイス値は20ですが、D25にはD5とD15の加算結果が格納されます。「D5には5」「D15には15」が格納されているので、その加算値である20が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』といった大手求人(転職)サイトには電気・制御設計の求人が数多く紹介されています。※登録は無料です。
「スキルこそ今後のキャリアを安定させる最も大切な材料」と考える私にとって電気・制御設計はとても良い職業だと思います。キャリアの参考になれば幸いです。