【三菱Qシリーズ】データ論理和(WOR)命令の指令方法とラダープログラム例

00_【三菱Qシリーズ】データ論理和(WOR)命令の指令方法とラダープログラム例

「データ論理和」命令とは、三菱電機製シーケンサQシリーズにおける指定した2ヶのデバイス値の論理和を求めるラダープログラム命令です。

論理和とは、入力条件のいずれか1ヶでも”1”の場合に、出力が”1”になる論理演算です。論理和はORと表現することがよくあります。

この記事では、三菱電機製シーケンサQシリーズにおけるデータ論理和命令の指令方法ラダープログラム例について解説します。

注意
この記事中のラダープログラムはGX Works2で作成しており、PCタイプはQ03UDEに設定してあります。

三菱電機製シーケンサQシリーズにおいて、データ論理和命令は以下のCPUで使用することが可能です。

Basic:ベーシックモデルQCPU
High performance:ハイパフォーマンスモデルQCPU
Process:プロセスCPU
Redundant:二重化CPU
Universal:ユニバーサルモデルQCPU
LCPU:LCPU

※MELSEC-Lシリーズも含まれていますがご了承ください。

三菱電機製Qシリーズにおけるデータ論理積(WAND)命令については以下のページで解説しておりますので、宜しければご覧ください。

00_【三菱Qシリーズ】データ論理積(WAND)命令の指令方法とラダープログラム例【三菱Qシリーズ】データ論理積(WAND)命令の指令方法とラダープログラム例

1. データ論理和命令の指令方法

データ論理和命令には、4種類の指令方法があります。

WOR:16ビット連続実行形
WORP:16ビットパルス実行形
DOR:32ビット連続実行形
DORP:32ビットパルス実行形

ORは、論理和の通称であるORに由来します。

メモ
連続実行形は、入力条件がONしている間は命令が毎スキャン実行されます。パルス実行形は、入力条件がOFF→ONしたときに命令が1スキャンだけ実行されます。

WOR:16ビット連続実行形(基本の形)

16ビット連続実行形のデータ論理和命令は”WOR”と指令します。

こちらがWOR命令を使用したラダープログラム例です。

10_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のデバイス一括モニタは以下のようになります。

10デバイスモニタ

D0とD1の各ビットのうち、どちらか1ヶでも”1”のビットのみD10のビットが”1”になります。

WOR命令は「連続実行形」であるため、X0がON中は毎スキャン命令が実行されます。つまり、X0がON中に論理和の対象デバイス(↑ではD0とD1)が変化すると論理和の結果であるデバイス(↑ではD10)の値も追従して変化します。


先ほどのラダープログラムはGX Works2の回路上で WOR D0 D1 D10 と入力してEnterキーを押すと命令が挿入されます。

10_命令挿入

WORP:16ビットパルス実行形

16ビットパルス実行形のデータ論理和命令は”WORP”と指令します。

こちらがWORP命令を使用したラダープログラム例です。

11_WORP命令

連続実行形(WORP命令)との違いは、入力条件であるX0がOFF→ONになった瞬間に1回だけデータ論理和命令が実行されることです。(すぐに変換先のデータレジスタの値が0に戻る訳ではありません。)

つまり、X0がON中に論理和の対象デバイス(↑ではD0とD1)が変化しても論理和の結果であるデバイス(↑ではD10)の値は追従して変化しません。

つまり、入力リレーX0がONし続けている状態で変換元のデバイス(↑のラダープログラムではD0・D1)の値が変わっても、変換先のD10~D12の値は追従しません。X0がOFF→ONになったときに変換した値が保持されます。

メモ
入力条件がOFF→ONしたときにデータ論理和命令を1スキャンだけ実行します。

DOR・DORP:32ビット実行形

32ビット連続実行形の論理和命令は”DOR”と指令します。

32ビットパルス実行形の論理和命令は”DORP”と指令します。

こちらがDOR・DORP命令のラダープログラム例です。

12_DOR命令
12_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(論理和)
メモ
データレジスタは1点が1ワード(16ビット)のデバイスのため、32ビット実行形の命令で指定された場合は指定した側(↑ではD0,D2,D10)を下位とする2ワード(32ビット)長が1ヶのデバイスとして扱われます。

2.【例題①】1ワード長のデータ論理和を求める

下記仕様のラダープログラムをデータ論理和命令を用いて解説します。

仕様
スイッチ(X0)を押している間、データレジスタD0とD1の論理和をD2に格納する。

先ほど解説したWOR命令では論理和の結果をD10にしていましたが、今回はD2としています。

GOTの動作イメージ

GOTの動作イメージは以下のようになります。

例題①_GOT

※使用していないデバイスがありますがご了承ください。

スイッチ(X0)を押している間、データレジスタD0とD1の論理和をD2に格納します。

スイッチ(X0)が押されている間に、D0またはD1の値が変化するとD2の値も追従して変化します。

ラダープログラム

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

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

データレジスタの論理和を求めるため、16ビット連続実行形のWOR命令を使用します。

このラダープログラムでは、入力条件であるX0がONしている間、データレジスタD0とD1のデバイス値の論理和をD2に格納します。

連続実行形を用いることにより、スイッチ(X0)が押されている間に、D0またはD1の値が変化するとD2の値も追従して変化します。

3.【例題②】2ワード長の論理和を求める

下記仕様のラダープログラムをデータ論理和命令を用いて解説します。

仕様
スイッチ(X0)を押している間、データレジスタD0/D1とD2/D3の論理和をD4/D5に格納する。
各データレジスタはD0・D2・D4を下位側とする2ワード(32ビット)長として扱う。

今回は各データレジスタを2ワード(32ビット)長として扱うため、DOR命令を使用します。

GOTの動作イメージ

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シリーズにおけるデータ論理和命令について解説しました。

以下の参考書は、シーケンス制御・ラダープログラムについて詳しく解説しているものです。

本書は私が通っていた短大のシーケンス制御の講義に教科書として使用していました。

シーケンス制御で必要なスキルはリレー回路やラダープログラムを組めることだけではなく、ソレノイドバルブやインダクションモータなどの機器を理解していなければなりません。本書では、それらの機器を実際の機構を交えて解説しています。

ラダープログラムは基礎部分から、一連動作を組むまで解説していますので中級者が読んでも意味がある内容です。

コメントを残す

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