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

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

「多点転送」命令とは、三菱電機製シーケンサFXシリーズにおける同一のデータを指定した点数のデバイスに一括で転送するラダープログラム命令です。

多点転送命令を使用することにより、1回の命令で「1ヶのデバイス値」を「他の連続したデバイス」にコピーすることができます。(1点→n点)

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

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

三菱電機製シーケンサFXシリーズにおいて、多点転送命令は以下のシーケンサ・バージョンで使用することが可能です。

FX3S:Ver1.00以降
FX3G:Ver1.00以降
FX3GC:Ver1.40以降
FX3U:Ver2.20以降
FX3UC:Ver1.00以降

よく似た命令で一括転送(BMOV)命令があります。FMOV命令の転送元は1つに対してBMOV命令の転送元は複数になります。(n点→n点)

一括転送命令については以下のページで解説しておりますので、宜しければご覧ください。

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

1. 多点転送命令の指令方法

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

FMOV:16ビット連続実行形
FMOVP:16ビットパルス実行形
DFMOV:32ビット連続実行形
DFMOVP:32ビットパルス実行形

FMOVとは、Fill moveの略です。

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

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

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

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

10_FMOV命令

このラダープログラムは、入力条件であるX0がONしている間、データレジスタD0の値をD10~D14(5ワード)に一括で転送するものです。K5は転送先の点数を指定しています。

このラダープログラムの動作は以下のようなイメージです。

10_FMOV命令イメージ

同じ動作のラダープログラムを転送(MOV)命令で作ると以下のようになります。

10_MOV命令の場合

MOV命令だと点数が多くなるとラダープログラムはさらに大きくなります。FMOV命令の場合、多点転送する点数は命令内の指定値で変えることができるのでラダープログラム量は大きくなりません。

転送命令については以下のページで解説しておりますので、宜しければご覧ください。

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

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

10_命令挿入

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

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

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

11_FMOVP命令

連続実行形(FMOV命令)との違いは、入力条件である入力リレーX0がOFF→ONになった瞬間に1回だけ多点転送が実行されることです。

入力リレーX0がON中にD0のデバイス値が変化しても、転送先であるD10~D14は追従して変化しません。

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

DFMOV・DFMOVP:32ビット実行形

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

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

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

12_DFMOV命令
13_DFMOVP命令

32ビット実行形の場合、転送元・転送先ともに2ワード(32ビット)長として扱われます。↑のラダープログラムではD0を下位とするD0・D1のデバイス値をD10・D11~D18・D19に多点転送されます。

仮にD0・D1に”10”が格納されている状態で多点転送命令を実行すると、D10~D19のデバイス値は以下のようになります。

12_DFMOV命令デバイスモニタ

D10・D11に”10”が格納されます。(D12~D19も同様です。)

2.【例題①】定数を多点転送する

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

仕様
スイッチ(X0)を押すと、データレジスタD0~D5に定数”0”を転送する。
スイッチ(X1)を押すと、データレジスタD0~D5に定数”50”を転送する。
※1)各データレジスタは1ワード長として扱う。
※2)スイッチが同時に複数押されることはないものとする。

色々な手法で実現できますが、今回は多点転送命令を使用します。

GOTの動作イメージ

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

例題①_GOT

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

ラダープログラム

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

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

各定数をデータレジスタD0~D5に転送するため多点転送命令を使用します。

転送先であるD0~D5は6ワードであるため、多点転送命令内の転送する点数はK6と指定します。

転送先は先頭デバイスであるD0を指定します。

3.【例題②】デバイス値を多点転送する

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

仕様
スイッチ(X0)を押すと、データレジスタD0~D5にD10の値を転送する。
スイッチ(X1)を押すと、データレジスタD0~D5にD11の値を転送する。
※1)各データレジスタは1ワード長として扱う。
※2)スイッチが同時に複数押されることはないものとする。

今回は定数ではなく他のデバイス値を一括で転送します。

GOTの動作イメージ

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

例題②_GOT

スイッチ(X0)を押すと、データレジスタD0~D5にD10の値を転送します。スイッチ(X1)を押すと、D0~D5にD11の値を転送します。

ラダープログラム

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

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

【例題①】と同様に入力リレーX0・X1を入力条件とする多点転送命令を使用します。転送元にデータレジスタD10・D11を指定することにより、データレジスタの値を転送しています。

4. おわりに

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

よく似た命令で一括転送(BMOV)命令がありますが、動作が異なるので使用する際はご注意ください。(私はよくごっちゃになります…)

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

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

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

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

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

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

コメントを残す

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