否定転送命令を用いることにより、データレジスタの各ビットを反転させたり、補助リレーのON/OFFをまとめて切替えることができます。
この記事では、三菱電機製シーケンサQシリーズにおける否定転送命令の指令方法とラダープログラム例について解説します。
目次
1. 否定転送命令の指令方法
否定転送命令には、4種類の指令方法があります。
- CML:16ビット連続実行形
- CMLP:16ビットパルス実行形
- DCML:32ビット連続実行形
- DCMLP:32ビットパルス実行形
CMLは、補足するもの・補足体(Complement)からきています。
パルス実行形は、入力条件がONしたときの1スキャンのみ実行される命令です。
CML:16ビット連続実行形(基本の形)
16ビット連続実行形の否定転送命令は”CML”と指令します。
こちらがCML命令を使用したラダープログラム例です。
このラダープログラムでは、入力条件であるX0がONしている間、データレジスタD0の各ビットを反転した結果をD10に転送するものです。
このラダープログラムで「事前にD0に定数で-3930を格納」して否定転送命令を実行すると、D10の値は以下のようになります。
D0の各ビットのON/OFFの状態を反転した結果をD10に転送します。
CMLP:16ビットパルス実行形
16ビットパルス実行形の否定転送命令は”CMLP”と指令します。
こちらがCMLP命令を使用したラダープログラム例です。
連続実行形(CML命令)との違いは、入力条件X0がONした瞬間のみ命令が実行されることです。つまりX0した瞬間のD0の各ビットの反転状態をD10に転送をします。
DCML・DCMLP:32ビット実行形
32ビット連続実行形の否定転送命令は”DCML”と指令します。
32ビットパルス実行形の否定転送命令は”DCMLP”と指令します。
こちらがDCML・DCMLP命令のラダープログラム例です。
32ビット実行形の場合、2ワード(32ビット)長のデータの各ビットを反転させた結果を転送するものです。
上のラダープログラムでは、データレジスタD0,D1の2ワード長の各ビットを反転した結果をD10,D11に転送します。
2. 【例題①】1ワード長の否定転送を求める
下記仕様のデータレジスタの値を否定転送するラダープログラム例について解説します。
※「否定転送」とは、ここでは各ビットの反転状態のことをいう。
GOTの動作イメージ
GOTの動作イメージは以下のようになります。
使用していないデバイスが多々ありますがご了承ください。
スイッチ(X0)が押されると、その時のデータレジスタD0の値をD1に否定転送します。
スイッチ(X0)が押されている間に、D0の値が変化するとD1の値も追従して変化します。
ラダープログラム
ラダープログラムは以下のようになります。
X0を入力条件とするCML命令を使用します。
スイッチ(X0)がONしている間に、データレジスタD0の値が変化するとD1の値も変化させるために「16ビット連続実行形」を用いています。
3. 【例題②】2ワード長の否定転送を求める
下記仕様のデータレジスタの値を否定転送するラダープログラム例について解説します。
各データレジスタはD0・D2を下位とする2ワード長として扱う。
※「否定転送」とは、ここでは各ビットの反転状態のことをいう。
2ワード長のデバイスを扱うため、32ビット実行形であるDCML命令を使用します。
GOTの動作イメージ
GOTの動作イメージは以下のようになります。
スイッチ(X0)が押されている間、データレジスタD0,D1の値をD2,D3に否定転送します。
ラダープログラム
ラダープログラムは以下のようになります。
32ビット連続実行形であるDCML命令を使用します。
例題①と同様に連続実行形を使用しているため、スイッチ(X0)が押されている状態でD0,D1の値を変えるとD2,D3の値も追従して変わります。
4. おわりに
否定転送命令について解説しました。
否定転送命令は各ビットの状態を反転させるため、符号を反転させる訳ではありません。符号を反転させるには「2の補数」命令を使用します。2の補数命令については以下のページで解説しておりますので、宜しければご覧ください。
【三菱Qシリーズ】2の補数(NEG)命令の指令方法とラダープログラム例以下の参考書は、シーケンス制御・ラダープログラムについて詳しく解説しているものです。
本書は私が通っていた短大のシーケンス制御の講義に教科書として使用していました。
シーケンス制御で必要なスキルはリレー回路やラダープログラムを組めることだけではなく、ソレノイドバルブやインダクションモータなどの機器を理解していなければなりません。本書では、それらの機器を実際の機構を交えて解説しています。
ラダープログラムは基礎部分から、一連動作を組むまで解説していますので中級者が読んでも意味がある内容です。