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

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

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

否定転送命令を用いることにより「データレジスタの各ビットを反転するプログラム」や「内部リレーのON/OFFをまとめて反転するプログラム」を作ることができます。

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

注意
この記事中のラダープログラムはGX Works3で作成しており、シリーズ:FX5CPU、機種:FX5Uに設定してあります。

三菱電機製シーケンサiQ-Fシリーズにおいて、否定転送命令は以下のCPUで使用することが可能です。

FX5UJ:使用可
FX5U:使用可
FX5UC:使用可

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

否定転送命令には、4種類の指令方法があります。

CML:16ビット連続実行形
CMLP:16ビットパルス実行形
DCML:32ビット連続実行形
DCMLP:32ビットパルス実行形

CMLは、補足するもの・補足体(Complement)の略です。

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

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

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

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

10_CML命令

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

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

10_デバイスモニタ

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


先ほどのラダープログラムはGX Works3の回路上で『CML D0 D10』と入力してEnterキーを押すと命令が挿入されます。(小文字でもOKです。)

10_命令挿入

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

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

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

11_CMLP命令

連続実行形(CML命令)との違いは「入力条件であるX0がOFF→ONになった瞬間(スキャン)に1回だけ否定転送命令が実行される」ことです。

X0がON中にデータレジスタD0の値が変化しても、D10は追従して変化しません。

DCML・DCMLP:32ビット実行形

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

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

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

12_DCML命令
13_DCMLP命令

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

このラダープログラムは、X0がONするとデータレジスタD0,D1のデバイス値の反転した結果をD10,D11に転送します。

メモ
データレジスタは1点が16ビットで構成されるデバイスです。32ビット実行形の場合は指定したデータレジスタを下位として2ワード長が占有されます。
注意
ラダープログラム上ではD1,D11を指令していませんが、他の用途で使用できなくなります。

2.【例題①】1ワード長のデバイス値を否定転送する

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

仕様
スイッチ(X0)を押している間、データレジスタD0の各ビットの反転した結果をD2に転送する。

データレジスタはそれぞれ1ワード長のため、16ビット実行形を使用します。

GOTの動作イメージ

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

例題①_タッチパネル

スイッチ(X0)を押している間、データレジスタD0の各ビットの反転した結果をD2に転送します。

スイッチ(X0)を押している間にD0のデバイス値が変化すると、D2のデバイス値が追従して変化します。

ラダープログラム

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

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

「データレジスタD0の各ビットの反転した結果をD2に転送」に16ビット実行形のCML命令を使用します。

3.【例題②】2ワード長のデバイス値を否定転送する

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

仕様
スイッチ(X0)を押している間、データレジスタD0,D1の各ビットの反転した結果をD2,D3に転送する。
データレジスタは全て2ワード長として扱う。

データレジスタは2ワード長として扱うため、32ビット実行形を使用します。

GOTの動作イメージ

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

例題②_タッチパネル

スイッチ(X0)を押している間、データレジスタD0,D1の各ビットの反転した結果をD2,D3に転送します。

スイッチ(X0)を押している間にD0,D1のデバイス値が変化すると、D2,D3のデバイス値が追従して変化します。

ラダープログラム

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

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

「データレジスタD0,D1の各ビットの反転した結果をD2,D3に転送」に32ビット実行形のDCML命令を使用します。

データレジスタは2ワード長として扱うため、32ビット実行形であるDCML命令を使用します。

4. おわりに

三菱電機製シーケンサiQ-Fシリーズにおける否定転送命令について解説しました。

電気ハード設計、PLC/TPソフト設計、ロボットティーチング、制御盤製作の外注業務は、ぜひ永工舎にご相談ください。

当サイトを運営している電気設計人は、個人で永工舎として外注業務をお請けしております。

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

コメントを残す

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