【三菱FXシリーズ】反転転送(CML)命令の指令方法とラダープログラム例

00_【三菱FXシリーズ】反転転送(CML)命令の指令方法とラダープログラム例

「反転転送」命令とは、三菱電機製シーケンサFXシリーズにおける指定したデバイスの各ビットの状態を反転して転送するラダープログラム命令です。

反転転送命令を用いることにより、データレジスタの各ビットを反転させたり、補助リレーのON/OFFをまとめて切替えることができます。

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

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

三菱電機製シーケンサ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)の略です。

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

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

16ビット連続実行形の反転転送命令は”CML”と指令します。

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

10_CML命令

このラダープログラムでは、入力条件であるX0がONしている間、データレジスタD0の各ビットを反転した結果をD10に転送するものです。

例えば、このラダープログラムで「事前にD0に定数-3930を格納」して反転転送命令を実行すると、D10のデバイス値は以下のようになります。

10_デバイスモニタ

データレジスタD0の各ビットのON/OFF状態を反転させた結果がD10に転送されます。


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

10_命令挿入

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

16ビットパルス実行形の反転転送命令は”CMLP”と指令します。

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

11_CMLP命令

連続実行形(CML命令)との違いは、入力条件である入力リレーX0がOFF→ONになった瞬間に1回だけD0の各ビットを反転させた結果をD10に転送が実行されることです。

つまり、入力リレーX0がON中にデータレジスタD0の状態が変化しても、D10は追従しません。

メモ
入力条件がOFF→ONしたときに反転転送命令を1スキャンだけ実行します。

DCML・DCMLP:32ビット実行形

32ビット連続実行形の反転転送命令は”DCML”と指定します。

32ビットパルス実行形の反転転送命令は”DCMLP”と指定します。

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

12_DCML命令
13_DCMLP命令

32ビット実行形の場合、反転転送元(D0)と転送先(D10)はどちらも2ワード(32ビット)長として扱われます。

故に↑のラダープログラムは、データレジスタD0・D1のデバイス値をデータレジスタD10・D11に反転転送します。

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

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

仕様
スイッチ(X0)を押している間、データレジスタD0の値をD1に反転転送する。
※「反転転送」とは、ここでは各ビットの状態を反転して転送することをいう。

GOTの動作イメージ

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

例題①_GOT

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

スイッチ(X0)を押すと、その時のデータレジスタD0の値をD1に反転転送します。

スイッチ(X0)が押されている状態でD0のデバイス値が変化すると、追従してD1のデバイス値も変化します。

ラダープログラム

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

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

入力リレーX0を入力条件とするCML命令を使用します。

スイッチ(X0)が押されている状態でD0のデバイス値が変化すると、追従してD1のデバイス値も変化させるために『16ビット連続実行形』を使用します。

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

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

仕様
スイッチ(X0)を押している間、データレジスタD0,D1の値をD2,D3に反転転送する。
各データレジスタはD0、D2を下位とする2ワード(32ビット)長として扱う。
※「反転転送」とは、ここでは各ビットの状態を反転して転送することをいう。

例題①では『16ビット連続実行形』を使用しましたが、今回は各データレジスタを2ワード(32ビット)長として扱うため『32ビット連続実行形』を使用します。

GOTの動作イメージ

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

例題②_GOT

例題①と同様、スイッチ(X0)を押している間に反転転送を実行します。今回は各データレジスタが2ワード(32ビット)長として扱われます。

ラダープログラム

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

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

各データレジスタを2ワード(32ビット)長として扱うため『32ビット連続実行形』を使用します。

仮に、スイッチ(X0)が押された瞬間のみ反転転送する場合は『32ビットパルス実行形』を使用する必要があります。

4. おわりに

三菱FXシリーズにおける反転転送命令について解説しました。

三菱Qシリーズでも同様の命令が使用できます。Qシリーズの取説には否定転送(CML)命令と表現されていますが機能としては同様です。

三菱Qシリーズにおける否定転送(CML)命令については以下のページで解説しておりますので、宜しければご覧ください。

00_【三菱Qシリーズ】否定転送(CML)命令の指令方法とラダープログラム例 【三菱Qシリーズ】否定転送(CML)命令の指令方法とラダープログラム例

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

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

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

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

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

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

コメントを残す

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