【オムロンCJ】否定転送(MVN)命令の指令方法とラダープログラム例

00_【オムロンCJ】否定転送(MVN)命令の指令方法とラダープログラム例

オムロンCJシリーズにおける「否定転送」命令とは、CHデータまたは定数値のビット反転データを、指定したCHに転送するラダープログラム命令です。

否定転送命令を用いることにより、データメモリ(D)や拡張データメモリ(E)の各ビットのON/OFF状態を反転させたり、チャネルの各リレーのON/OFF状態をまとめて反転させることができます。

この記事では、オムロンCJシリーズにおける否定転送命令の指令方法ラダープログラム例について解説します。

注意
この記事のラダープログラムはCX-Programmer Ver. 9.63で作成しており、PLC機種はCJ2Mに設定してあります。
注意
オムロンCJシリーズにおいて否定転送命令は、CJ2H-CPU6□-EIP、CJ2H-CPU6□、CJ2M-CPU□□、CJ1□-CPU□□□-□で使用可能です。その他の機種についてはマニュアルを参照してください。

オムロンCJシリーズにおける転送(MOV)命令については以下のページで解説しております。

00_【オムロンCJ】転送MOV命令の指令方法とラダープログラム例 【オムロンCJ】転送(MOV)命令の指令方法とラダープログラム例

1. 否定転送命令の指令方法

否定転送命令には、動作オプションを含めると4種類の指令方法があります。

命令文内容動作オプション
MVN1ワード長の否定転送命令
@MVN1ワード長の否定転送命令微分
MVNL2ワード長の否定倍長転送命令
@MVNL2ワード長の否定倍長転送命令微分

MVNは、Move notの略です。(だと思います)

メモ
動作オプションの「微分」とは微分オプションと呼ばれ、命令の入力条件の立ち上がり(OFF→ON)時に、1サイクルのみ命令が実行されるものです。

MVN:1ワード長の転送命令(動作オプション無し)

1ワード長の否定転送命令(動作オプション無し)は”MVN”と指令します。

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

10_MVN命令

このラダープログラムは、0.00がONすると16進数”AAAA”の反転である”5555”がデータメモリD0に転送され、0.01がONすると16進数”FFFF”の反転である”0000”がD0に転送されます。

↓は16進数”AAAA”を否定転送したときのデータメモリD0の内容です。

10_MVN命令実行5555

↓は16進数”FFFF”を否定転送したときのデータメモリD0の内容です。

10_MVN命令実行0000

否定転送命令の入力条件が同時にONした場合「ラダープログラム下側に指令した命令が優先」されます。


先ほどのラダープログラムはCX-Programmerの回路上で MVN #AAAA D0 と入力してEnterキーを押すと命令が挿入されます。 ※スマートインプットモードの場合

10_命令挿入

@MVN:1ワード長の否定転送命令(微分オプション)

1ワード長の否定転送命令(微分オプション)は”@MVN”と指令します。

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

11_@MVN命令

微分オプションの否定転送(@MVN)命令は「入力条件の立ち上がり(OFF→ON)時に1サイクルのみ命令が実行される」ことです。

↑のラダープログラムの場合、0.00と0.01が双方ONした場合、後にONした方が優先されます。

メモ
入力条件がOFF→ONしたとき否定転送命令が1サイクルだけ実行されます。

MVNL・@MOVL:2ワード長の否定倍長転送命令

2ワード長の否定倍長転送命令(動作オプション無し)は”MVNL”と指令します。

2ワード長の否定倍長転送命令(微分オプション)は”@MVNL”と指令します。

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

12_MVNL命令
12_@MVNL命令

2ワード長の否定倍長転送命令の場合、各CHは指定したCHを下位とする2ワードとして扱われます。

注意
上のラダープログラム例では、D1を上位CHとして使用されるため、他の用途で使用できなくなります。

2.【例題①】1ワード長の否定転送を求める

下記仕様のラダープログラムを否定転送命令を用いて解説します。

仕様
スイッチ(0.00)を押している間、データメモリD0のビット反転データをD1に転送する。

各データメモリは1ワード長として扱うため、1ワード長の否定転送命令を使用します。

タッチパネルの動作イメージ

タッチパネルの動作イメージは以下のようになります。

例題①_タッチパネル

スイッチ(0.00)を押している間、データメモリD0のビット反転データをD1に転送します。

ラダープログラム

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

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

0.00を入力条件とする1ワード長の否定転送命令(オプション無し)のMVN命令を使用して、D0のビット反転データをD1に転送します。

スイッチ(0.00)が押されている間にデータメモリD0のデバイス値が変化すると、D1のデバイス値も追従して変化します。

3.【例題②】2ワード長の否定転送を求める

下記仕様のラダープログラムを否定倍長転送命令を用いて解説します。

仕様
スイッチ(0.00)を押している間、データメモリD0,D1のビット反転データをD2,D3に転送する。
データメモリはD0,D2を下位とする2ワード(32ビット)長として扱う。

データメモリを2ワード長として扱うため、2ワード長の否定倍長転送命令を使用します。

タッチパネルの動作イメージ

タッチパネルの動作イメージは以下のようになります。

例題②_タッチパネル

スイッチ(0.00)を押している間、データメモリD0,D1のビット反転データをD2,D3に転送します。

ラダープログラム

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

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

0.00を入力条件とする2ワード長の否定倍長転送命令(オプション無し)のMVNL命令を使用して、D0,D1のビット反転データをD2,D3に転送します。

4. おわりに

オムロンCJシリーズにおける否定転送命令について解説しました。

転送命令はデータメモリやCHデータを扱う際は使用頻度が高くなる命令ですので、使いこなせるようになって頂ければと思います。

以下の参考書はラダープログラムの色々な「定石」が記載されており、実務で使用できるノウハウが多く解説されています。私がラダープログラムの参考書として自信をもってオススメできるものです。

ただし、ラダープログラムやPLCといった電気・制御設計は参考書やWebサイトのみでの学習には必ずどこかで限界が来ます。

各メーカが販売しているPLCやプログラム作成のアプリケーションを揃えるには安くても十万円以上の大きな費用が掛かり、独学は現実的ではありません。

ラダープログラムの一番現実的な学習方法は「実務で経験を積む」ことです。電気・制御設計者はこれから更に必要な人材になり続けますので、思い切って転職する選択肢もあります。

doda』といった大手求人(転職)サイトには電気・制御設計の求人が数多く紹介されています。※登録は無料です。

「スキルこそ今後のキャリアを安定させる最も大切な材料」と考える私にとって電気・制御設計はとても良い職業だと思います。キャリアの参考になれば幸いです。

コメントを残す

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