「データ論理和」命令とは、三菱電機製シーケンサQシリーズにおける指定した2ヶのデバイス値の論理和を求めるラダープログラム命令です。
論理和とは、入力条件のいずれか1ヶでも”1”の場合に、出力が”1”になる論理演算です。論理和はORと表現することがよくあります。
この記事では、三菱電機製シーケンサQシリーズにおけるデータ論理和命令の指令方法とラダープログラム例について解説します。
三菱電機製シーケンサQシリーズにおいて、データ論理和命令は以下のCPUで使用することが可能です。
Basic | :ベーシックモデルQCPU |
High performance | :ハイパフォーマンスモデルQCPU |
Process | :プロセスCPU |
Redundant | :二重化CPU |
Universal | :ユニバーサルモデルQCPU |
LCPU | :LCPU |
※MELSEC-Lシリーズも含まれていますがご了承ください。
三菱電機製Qシリーズにおけるデータ論理積(WAND)命令については以下のページで解説しておりますので、宜しければご覧ください。
【三菱Qシリーズ】データ論理積(WAND)命令の指令方法とラダープログラム例目次
1. データ論理和命令の指令方法
データ論理和命令には、4種類の指令方法があります。
WOR | :16ビット連続実行形 |
WORP | :16ビットパルス実行形 |
DOR | :32ビット連続実行形 |
DORP | :32ビットパルス実行形 |
ORは、論理和の通称であるORに由来します。
WOR:16ビット連続実行形(基本の形)
16ビット連続実行形のデータ論理和命令は”WOR”と指令します。
こちらがWOR命令を使用したラダープログラム例です。
このラダープログラムでは、入力条件であるX0がONしている間、データレジスタD0とD1のデバイス値の論理和をD10に格納するものです。
例えば、D0とD1のデバイス値が下記の状態でX0をONした場合、D10にはこのような論理和の結果が格納されます。
0111 0000 0100 0101 | :D0 |
0001 1111 1010 0100 | :D1 |
0111 1111 1110 0101 | :D10(D0とD1の論理和) |
D0とD1、双方のどちらか1ヶでも”1”のビットのみ、D10のビットが”1”になります。
GX Works2のデバイス一括モニタは以下のようになります。
D0とD1の各ビットのうち、どちらか1ヶでも”1”のビットのみD10のビットが”1”になります。
WOR命令は「連続実行形」であるため、X0がON中は毎スキャン命令が実行されます。つまり、X0がON中に論理和の対象デバイス(↑ではD0とD1)が変化すると論理和の結果であるデバイス(↑ではD10)の値も追従して変化します。
先ほどのラダープログラムはGX Works2の回路上で WOR D0 D1 D10 と入力してEnterキーを押すと命令が挿入されます。
WORP:16ビットパルス実行形
16ビットパルス実行形のデータ論理和命令は”WORP”と指令します。
こちらがWORP命令を使用したラダープログラム例です。
連続実行形(WORP命令)との違いは、入力条件であるX0がOFF→ONになった瞬間に1回だけデータ論理和命令が実行されることです。(すぐに変換先のデータレジスタの値が0に戻る訳ではありません。)
つまり、X0がON中に論理和の対象デバイス(↑ではD0とD1)が変化しても論理和の結果であるデバイス(↑ではD10)の値は追従して変化しません。
つまり、入力リレーX0がONし続けている状態で変換元のデバイス(↑のラダープログラムではD0・D1)の値が変わっても、変換先のD10~D12の値は追従しません。X0がOFF→ONになったときに変換した値が保持されます。
DOR・DORP:32ビット実行形
32ビット連続実行形の論理和命令は”DOR”と指令します。
32ビットパルス実行形の論理和命令は”DORP”と指令します。
こちらがDOR・DORP命令のラダープログラム例です。
32ビット実行形の場合、2ワード(32ビット)長の論理和を求めます。
例えば、D0~D3のデバイス値が下記の状態でX0をONした場合、D10・D11にはこのような論理和の結果が格納されます。
0111 0000 0100 0101 1111 1001 1100 0110 | :D0/D1 |
1111 0101 1100 0000 0011 0011 0111 1110 | :D2/D3 |
1111 0101 1100 0101 1111 1011 1111 1110 | :D10/D11(論理和) |
2.【例題①】1ワード長のデータ論理和を求める
下記仕様のラダープログラムをデータ論理和命令を用いて解説します。
先ほど解説したWOR命令では論理和の結果をD10にしていましたが、今回はD2としています。
GOTの動作イメージ
GOTの動作イメージは以下のようになります。
※使用していないデバイスがありますがご了承ください。
スイッチ(X0)を押している間、データレジスタD0とD1の論理和をD2に格納します。
スイッチ(X0)が押されている間に、D0またはD1の値が変化するとD2の値も追従して変化します。
ラダープログラム
ラダープログラムは以下のようになります。
データレジスタの論理和を求めるため、16ビット連続実行形のWOR命令を使用します。
このラダープログラムでは、入力条件であるX0がONしている間、データレジスタD0とD1のデバイス値の論理和をD2に格納します。
連続実行形を用いることにより、スイッチ(X0)が押されている間に、D0またはD1の値が変化するとD2の値も追従して変化します。
3.【例題②】2ワード長の論理和を求める
下記仕様のラダープログラムをデータ論理和命令を用いて解説します。
各データレジスタはD0・D2・D4を下位側とする2ワード(32ビット)長として扱う。
今回は各データレジスタを2ワード(32ビット)長として扱うため、DOR命令を使用します。
GOTの動作イメージ
GOTの動作イメージは以下のようになります。
スイッチ(X0)を押している間、データレジスタD0/D1とD2/D3の論理和をD4/D5に格納します。
【例題①】と同様、スイッチ(X0)が押されている間に、論理和の演算対象(D0~D3)の値が変化すると論理和の結果(D4/D5)の値も追従して変化します。
ラダープログラム
ラダープログラムは以下のようになります。
2ワード(32ビット)長の論理和を求めるため、32ビット連続実行形のDOR命令を使用します。
連続実行形を用いることにより、スイッチ(X0)が押されている間に、D0~D3の値が変化するとD4/D5の値も追従して変化します。
4. おわりに
三菱Qシリーズにおけるデータ論理和命令について解説しました。
以下の参考書は、シーケンス制御・ラダープログラムについて詳しく解説しているものです。
本書は私が通っていた短大のシーケンス制御の講義に教科書として使用していました。
シーケンス制御で必要なスキルはリレー回路やラダープログラムを組めることだけではなく、ソレノイドバルブやインダクションモータなどの機器を理解していなければなりません。本書では、それらの機器を実際の機構を交えて解説しています。
ラダープログラムは基礎部分から、一連動作を組むまで解説していますので中級者が読んでも意味がある内容です。