「多点転送」命令とは、三菱電機製シーケンサFXシリーズにおける同一のデータを指定した点数のデバイスに一括で転送するラダープログラム命令です。
多点転送命令を使用することにより、1回の命令で「1ヶのデバイス値」を「他の連続したデバイス」にコピーすることができます。(1点→n点)
この記事では、三菱電機製シーケンサFXシリーズにおける多点転送命令の指令方法とラダープログラム例を解説します。
三菱電機製シーケンサFXシリーズにおいて、多点転送命令は以下のシーケンサ・バージョンで使用することが可能です。
FX3S | :Ver1.00以降 |
FX3G | :Ver1.00以降 |
FX3GC | :Ver1.40以降 |
FX3U | :Ver2.20以降 |
FX3UC | :Ver1.00以降 |
よく似た命令で一括転送(BMOV)命令があります。FMOV命令の転送元は1つに対してBMOV命令の転送元は複数になります。(n点→n点)
一括転送命令については以下のページで解説しておりますので、宜しければご覧ください。
【三菱FXシリーズ】一括転送(BMOV)命令の指令方法とラダープログラム例目次
1. 多点転送命令の指令方法
多点転送命令には、4種類の指令方法があります。
FMOV | :16ビット連続実行形 |
FMOVP | :16ビットパルス実行形 |
DFMOV | :32ビット連続実行形 |
DFMOVP | :32ビットパルス実行形 |
FMOVとは、Fill moveの略です。
パルス実行形は、入力条件がONしたときの1スキャンのみ実行される命令です。
FMOV:16ビット連続実行形(基本の形)
16ビット連続実行形の多点転送命令は”FMOV”と指令します。
こちらがFMOV命令を使用したラダープログラム例です。
このラダープログラムは、入力条件であるX0がONしている間、データレジスタD0の値をD10~D14(5ワード)に一括で転送するものです。K5は転送先の点数を指定しています。
このラダープログラムの動作は以下のようなイメージです。
同じ動作のラダープログラムを転送(MOV)命令で作ると以下のようになります。
MOV命令だと点数が多くなるとラダープログラムはさらに大きくなります。FMOV命令の場合、多点転送する点数は命令内の指定値で変えることができるのでラダープログラム量は大きくなりません。
転送命令については以下のページで解説しておりますので、宜しければご覧ください。
【三菱FXシリーズ】転送(MOV)命令の指令方法とラダープログラム例先ほどのラダープログラムはGX Works2の回路上で FMOV D0 D10 K5 と入力してEnterキーを押すと命令が挿入されます。(小文字でもOKです。)
FMOVP:16ビットパルス実行形
16ビットパルス実行形の多点転送命令は”FMOVP”と指令します。
こちらがFMOVP命令を使用したラダープログラム例です。
連続実行形(FMOV命令)との違いは、入力条件である入力リレーX0がOFF→ONになった瞬間に1回だけ多点転送が実行されることです。
入力リレーX0がON中にD0のデバイス値が変化しても、転送先であるD10~D14は追従して変化しません。
DFMOV・DFMOVP:32ビット実行形
32ビット連続実行形の多点転送命令は”DFMOV”と指令します。
32ビットパルス実行形の多点転送命令は”DFMOVP”と指令します。
こちらがDFMOV・DFMOVP命令を使用したラダープログラム例です。
32ビット実行形の場合、転送元・転送先ともに2ワード(32ビット)長として扱われます。↑のラダープログラムではD0を下位とするD0・D1のデバイス値をD10・D11~D18・D19に多点転送されます。
仮にD0・D1に”10”が格納されている状態で多点転送命令を実行すると、D10~D19のデバイス値は以下のようになります。
D10・D11に”10”が格納されます。(D12~D19も同様です。)
2.【例題①】定数を多点転送する
下記仕様のラダープログラムを多点転送命令を用いて解説します。
スイッチ(X1)を押すと、データレジスタD0~D5に定数”50”を転送する。
※1)各データレジスタは1ワード長として扱う。
※2)スイッチが同時に複数押されることはないものとする。
色々な手法で実現できますが、今回は多点転送命令を使用します。
GOTの動作イメージ
GOTの動作イメージは以下のようになります。
スイッチ(X0)を押すと、データレジスタD0~D5に定数”0”を転送します。スイッチ(X1)を押すと、D0~D5に定数”50”を転送します。
ラダープログラム
ラダープログラムは以下のようになります。
各定数をデータレジスタD0~D5に転送するため多点転送命令を使用します。
転送先であるD0~D5は6ワードであるため、多点転送命令内の転送する点数はK6と指定します。
転送先は先頭デバイスであるD0を指定します。
3.【例題②】デバイス値を多点転送する
下記仕様のラダープログラムを多点転送命令を用いて解説します。
スイッチ(X1)を押すと、データレジスタD0~D5にD11の値を転送する。
※1)各データレジスタは1ワード長として扱う。
※2)スイッチが同時に複数押されることはないものとする。
今回は定数ではなく他のデバイス値を一括で転送します。
GOTの動作イメージ
GOTの動作イメージは以下のようになります。
スイッチ(X0)を押すと、データレジスタD0~D5にD10の値を転送します。スイッチ(X1)を押すと、D0~D5にD11の値を転送します。
ラダープログラム
ラダープログラムは以下のようになります。
【例題①】と同様に入力リレーX0・X1を入力条件とする多点転送命令を使用します。転送元にデータレジスタD10・D11を指定することにより、データレジスタの値を転送しています。
4. おわりに
三菱電機製シーケンサFXシリーズにおける多点転送命令について解説しました。
よく似た命令で一括転送(BMOV)命令がありますが、動作が異なるので使用する際はご注意ください。(私はよくごっちゃになります…)
以下の参考書はラダープログラムの色々な「定石」が記載されており、実務で使用できるノウハウが多く解説されています。私がラダープログラムの参考書として自信をもってオススメできるものです。
ただし、ラダープログラムやPLCといった電気・制御設計は参考書やWebサイトのみでの学習には必ずどこかで限界が来ます。
各メーカが販売しているPLCやプログラム作成のアプリケーションを揃えるには安くても十万円以上の大きな費用が掛かり、独学は現実的ではありません。
ラダープログラムの一番現実的な学習方法は「実務で経験を積む」ことです。電気・制御設計者はこれから更に必要な人材になり続けますので、思い切って転職する選択肢もあります。
『doda』といった大手求人(転職)サイトには電気・制御設計の求人が数多く紹介されています。※登録は無料です。
「スキルこそ今後のキャリアを安定させる最も大切な材料」と考える私にとって電気・制御設計はとても良い職業だと思います。キャリアの参考になれば幸いです。