「反転転送」命令とは、三菱電機製シーケンサFXシリーズにおける指定したデバイスの各ビットの状態を反転して転送するラダープログラム命令です。
反転転送命令を用いることにより、データレジスタの各ビットを反転させたり、補助リレーのON/OFFをまとめて切替えることができます。
この記事では、三菱電機製シーケンサFXシリーズにおける反転転送命令の指令方法とラダープログラム例について解説します。
三菱電機製シーケンサFXシリーズにおいて、反転転送命令は以下のシーケンサ・バージョンで使用することが可能です。
FX3S | :Ver1.00以降 |
FX3G | :Ver1.00以降 |
FX3GC | :Ver1.40以降 |
FX3U | :Ver2.20以降 |
FX3UC | :Ver1.00以降 |
目次
1. 反転転送命令の指令方法
反転転送命令には、4種類の指令方法があります。
CML | :16ビット連続実行形 |
CMLP | :16ビットパルス実行形 |
DCML | :32ビット連続実行形 |
DCMLP | :32ビットパルス実行形 |
CMLは、補足するもの・補足体(Complement)の略です。
CML:16ビット連続実行形(基本の形)
16ビット連続実行形の反転転送命令は”CML”と指令します。
こちらがCML命令を使用したラダープログラム例です。
このラダープログラムでは、入力条件であるX0がONしている間、データレジスタD0の各ビットを反転した結果をD10に転送するものです。
例えば、このラダープログラムで「事前にD0に定数-3930を格納」して反転転送命令を実行すると、D10のデバイス値は以下のようになります。
データレジスタD0の各ビットのON/OFF状態を反転させた結果がD10に転送されます。
先ほどのラダープログラムはGX Works2の回路上で CML D0 D10 と入力してEnterキーを押すと命令が挿入されます。
CMLP:16ビットパルス実行形
16ビットパルス実行形の反転転送命令は”CMLP”と指令します。
こちらがCMLP命令を使用したラダープログラム例です。
連続実行形(CML命令)との違いは、入力条件である入力リレーX0がOFF→ONになった瞬間に1回だけD0の各ビットを反転させた結果をD10に転送が実行されることです。
つまり、入力リレーX0がON中にデータレジスタD0の状態が変化しても、D10は追従しません。
DCML・DCMLP:32ビット実行形
32ビット連続実行形の反転転送命令は”DCML”と指定します。
32ビットパルス実行形の反転転送命令は”DCMLP”と指定します。
こちらがDCML・DCMLP命令のラダープログラム例です。
32ビット実行形の場合、反転転送元(D0)と転送先(D10)はどちらも2ワード(32ビット)長として扱われます。
故に↑のラダープログラムは、データレジスタD0・D1のデバイス値をデータレジスタD10・D11に反転転送します。
2.【例題①】1ワード長の反転転送を求める
下記仕様のラダープログラムを反転転送命令を用いて解説します。
※「反転転送」とは、ここでは各ビットの状態を反転して転送することをいう。
GOTの動作イメージ
GOTの動作イメージは以下のようになります。
※使用していないデバイスが多々ありますがご了承ください。
スイッチ(X0)を押すと、その時のデータレジスタD0の値をD1に反転転送します。
スイッチ(X0)が押されている状態でD0のデバイス値が変化すると、追従してD1のデバイス値も変化します。
ラダープログラム
ラダープログラムは以下のようになります。
入力リレーX0を入力条件とするCML命令を使用します。
スイッチ(X0)が押されている状態でD0のデバイス値が変化すると、追従してD1のデバイス値も変化させるために『16ビット連続実行形』を使用します。
3.【例題②】2ワード長の反転転送を求める
下記仕様のラダープログラムを反転転送命令を用いて解説します。
各データレジスタはD0、D2を下位とする2ワード(32ビット)長として扱う。
※「反転転送」とは、ここでは各ビットの状態を反転して転送することをいう。
例題①では『16ビット連続実行形』を使用しましたが、今回は各データレジスタを2ワード(32ビット)長として扱うため『32ビット連続実行形』を使用します。
GOTの動作イメージ
GOTの動作イメージは以下のようになります。
例題①と同様、スイッチ(X0)を押している間に反転転送を実行します。今回は各データレジスタが2ワード(32ビット)長として扱われます。
ラダープログラム
ラダープログラムは以下のようになります。
各データレジスタを2ワード(32ビット)長として扱うため『32ビット連続実行形』を使用します。
仮に、スイッチ(X0)が押された瞬間のみ反転転送する場合は『32ビットパルス実行形』を使用する必要があります。
4. おわりに
三菱FXシリーズにおける反転転送命令について解説しました。
三菱Qシリーズでも同様の命令が使用できます。Qシリーズの取説には否定転送(CML)命令と表現されていますが機能としては同様です。
三菱Qシリーズにおける否定転送(CML)命令については以下のページで解説しておりますので、宜しければご覧ください。
【三菱Qシリーズ】否定転送(CML)命令の指令方法とラダープログラム例以下の参考書はラダープログラムの色々な「定石」が記載されており、実務で使用できるノウハウが多く解説されています。私がラダープログラムの参考書として自信をもってオススメできるものです。
ただし、ラダープログラムやPLCといった電気・制御設計は参考書やWebサイトのみでの学習には必ずどこかで限界が来ます。
各メーカが販売しているPLCやプログラム作成のアプリケーションを揃えるには安くても十万円以上の大きな費用が掛かり、独学は現実的ではありません。
ラダープログラムの一番現実的な学習方法は「実務で経験を積む」ことです。電気・制御設計者はこれから更に必要な人材になり続けますので、思い切って転職する選択肢もあります。
『doda』といった大手求人(転職)サイトには電気・制御設計の求人が数多く紹介されています。※登録は無料です。
「スキルこそ今後のキャリアを安定させる最も大切な材料」と考える私にとって電気・制御設計はとても良い職業だと思います。キャリアの参考になれば幸いです。