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

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

三菱電機製シーケンサiQ-Fシリーズにおける「転送」命令とは、16/32ビットデータのデバイス値や定数値を他のデバイスに転送(コピー)するラダープログラム命令です。

転送命令を用いることにより「データレジスタに定数を格納するプログラム」や「タイマやカウンタの現在値を他のデバイスに格納するプログラム」を作ることができます。

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

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

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

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

1. 転送命令の指令方法

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

MOV:16ビット連続実行形
MOVP:16ビットパルス実行形
DMOV:32ビット連続実行形
DMOVP:32ビットパルス実行形

MOVは、動かす・移す(move)の略です。

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

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

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

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

10_MOV命令

このラダープログラムは、X0がONするとデータレジスタD0に定数”5”を転送します。X1がONするとD0に定数”0”を転送します。

上記ラダープログラムではD0に転送命令を2ヶ使用しています。このように同じデバイスに何度も転送命令を使用することは全く問題ありません。ただし用途によっては入力条件にインタロックを設ける必要があります。


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

10_命令挿入

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

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

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

11_MOVP命令

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

X0とX1が両方ONした場合は後から入力された方が優先されます。

DMOV・DMOVP:32ビット実行形

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

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

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

12_DMOV命令
13_DMOVP命令

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

このラダープログラムは、X0がONするとデータレジスタD0,D1に定数”50000”を転送します。X1がONするとD0,D1に定数”0”を転送します。

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

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

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

仕様
スイッチ(X0)を押すと、データレジスタD0に定数5を転送する。
スイッチ(X1)を押すと、データレジスタD0に定数0を転送する。
スイッチ(X0)と(X1)を両方押した場合、後から押された処理を適用する。
スイッチ(X2)を押すと、データレジスタD0の値をD2に転送する。
データレジスタは全て1ワード長として扱う。

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

タイムチャート

タイムチャートは以下のようになります。

例題①_タイムチャート

スイッチ(X0)がONするとデータレジスタD0に定数5を転送します。スイッチ(X1)がONするとデータレジスタD0に定数0を転送します。

スイッチ(X0)と(X1)が両方ONした場合、後からONした処理が適用されます。

スイッチ(X2)がONすると、データレジスタD0の値がD2に転送されます。

GOTの動作イメージ

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

例題①_タッチパネル

スイッチ(X0)を押すとデータレジスタD0に定数5を転送します。スイッチ(X1)を押すとデータレジスタD0に定数0を転送します。

スイッチ(X0)と(X1)を両方押した場合、後から押された処理が適用されます。

ラダープログラム

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

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

「スイッチ(X0)でデータレジスタD0に定数5を転送」と「スイッチ(X1)でデータレジスタD0に定数0を転送」に16ビットパルス実行形のMOVP命令を使用します。

連続実行形であるMOV命令を使用した場合、スイッチ(X0)とスイッチ(X1)が両方押された時にラダープログラム下側で指令されたスイッチ(X1)の処理が適用されます。(同時にMOV命令が2ヶ実行されるため)

仕様の「両方押した場合、後から押された処理を適用する」を実現するため、入力条件がONしたときの1スキャンのみ実行されるパルス実行形を使用しています。

スイッチ(X2)が押された場合、他のスイッチとの関係は不問であるため、連続実行形であるMOV命令を使用しています。

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

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

仕様
スイッチ(X0)を押すと、データレジスタD0,D1に定数50000を転送する。
スイッチ(X1)を押すと、データレジスタD0,D1に定数0を転送する。
スイッチ(X0)と(X1)を両方押した場合、後から押された処理を適用する。
データレジスタは2ワード長として扱う。

【例題①】では16ビット実行形を使用していましたが、今回は転送先がデータレジスタD0,D1のため32ビット実行形を使用します。

タイムチャート

タイムチャートは以下のようになります。

例題②_タイムチャート

スイッチ(X0)がONするとデータレジスタD0,D1に定数50000を転送します。スイッチ(X1)がONするとデータレジスタD0,D1に定数0を転送します。

GOTの動作イメージ

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

例題②_タッチパネル

スイッチ(X0)を押すとデータレジスタD0,D1に定数50000を転送します。スイッチ(X1)を押すとデータレジスタD0,D1に定数0を転送します。

スイッチ(X0)と(X1)を両方押した場合、後から押された処理が適用されます。(【例題①】と同様)

ラダープログラム

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

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

「スイッチ(X0)でデータレジスタD0,D1に定数50000を転送」と「スイッチ(X1)でデータレジスタD0,D1に定数0を転送」に32ビットパルス実行形のDMOVP命令を使用します。

【例題①】と同様、仕様の「両方押した場合、後から押された処理を適用する」を実現するため、入力条件がONしたときの1スキャンのみ実行されるパルス実行形を使用しています。

4. おわりに

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

転送命令はデータレジスタをはじめとするワードデバイスを用いた場合、頻繁に使用する命令になるため、使いこなせるようになって頂ければと思います。

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

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

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

コメントを残す

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