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

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

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

ラダープログラムでデータレジスタといったワードデバイスを使用する場合、頻繁に使用する重要なラダープログラム命令になります。

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

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

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

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

1. 転送命令の指令方法

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

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

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

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

転送命令には、一括転送多点転送など色々な種類が存在しますが、この記事では基本的な転送命令についてのみ解説します。一括転送・多点転送については以下のページで解説しておりますので、宜しければご覧ください。

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

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

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

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

10_MOV命令

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

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

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

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

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

11_MOVP命令

連続実行形(MOV命令)との違いは「入力条件がONした瞬間のみ転送命令が実行される」ことです。

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

DMOV・DMOVP:32ビット実行形

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

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

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

12_DMOV命令
13_DMOVP命令

32ビット実行形の場合、指定されたデバイスを下位とする32ビットとして扱われます。

対象のデバイス値が大きく、16ビットではオーバーフローする場合に32ビット実行形を使用します。

注意
上のラダープログラム例では、D1を上位として使用されるため、他の用途で使用できなくなります。
メモ
データレジスタ1点(16ビット)では、-32,768~32,767の数値を扱うことができます。
データレジスタ2点(32ビット)では、-2,147,483,648~2,147,483,647の数値を扱うことができます。

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

以下の転送命令のラダープログラム例について解説します。

仕様
スイッチ(X0)を押すと、データレジスタD0に定数5を転送する。
スイッチ(X1)を押すと、データレジスタD0に定数0を転送する。
スイッチ(X0)と(X1)が両方ONした場合、後にONした方を優先する。
スイッチ(X2)を押すと、データレジスタD0の値をD2に転送する。
データレジスタはずべて1ワード長として扱う。

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

GOTの動作イメージ

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

例題①_GOT

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

スイッチ(X0)と(X1)が両方ONした場合、後にONした方を優先されます。(上のGIFでは両方押しを忘れていました…)

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

ラダープログラム

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

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

定数をD0に転送する部分を連続実行形(MOV命令)にすると、X0とX1の両方がONしたとき、命令が両方実行されて下ブロックにある定数”0”の方が優先されてしまいます。

パルス実行形(MOVP命令)にすると、命令が入力条件がONした1スキャンのみ実行されるので後からONした方が優先されます。

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

以下の転送命令のラダープログラム例について解説します。

仕様
スイッチ(X0)を押すと、データレジスタD0に定数100,000を転送する。
データレジスタはD0を下位とする2ワード(32ビット)として扱う。

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

GOTの動作イメージ

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

例題②_GOT

スイッチ(X0)を押すと、データレジスタD0に定数100,000を転送します。(厳密にはD0を下位とするD0,D1)

ラダープログラム

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

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

データレジスタ1点(16ビット)では、-32,768~32,767の数値を扱うことができます。今回の例題は100,000なので、1点では足りません。

データレジスタ2点(32ビット)では、-2,147,483,648~2,147,483,647の数値を扱うことができるため100,000でも問題なく転送することができます。

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

4. おわりに

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

転送命令はラダープログラムで使用する頻度は高くなる場合が多いため、使いこなせるようになって頂ければと思います。

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

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

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

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

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

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

コメントを残す

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