MOV・BMOV・FMOV命令の使い方

KV Studioでよく使うデータ転送命令は3つ

KeyenceのKV Studioでは主に3つのデータ転送命令を使います。

  • MOV:データ転送
  • BMOV:ブロックデータ転送
  • FMOV:一括データ転送

MOV命令のサンプルプログラム

MOVとは、16/32ビットデータを参照先のデバイスに転送する命令です。
以下は定数#5をDM100のデバイスに格納する回路と
MOV命令の転送元となる左側から右側の転送先に数値を格納することができます。

次はDM199に格納されている数値#5をDM200に転送する回路です。
転送元の16ビットが転送先にそのまま複製されます。
転送後も転送元の内容は消えません。

32ビットのデータを転送する場合は命令の最後にサフィックスを記入してMOV.L命令とします。
占有サイズ(.U .S 16ビット, .D .L .F 32ビット, .DF 64ビット)

スポンサーリンク

BMOV命令のサンプルプログラム

BMOVとは、16/32ビットデータを参照先のデバイスにブロック転送する命令です。
転送元、転送先データブロックの先頭アドレスと転送するデバイス数を指定します。以下はDM400から始まる16ビットのブロック#3つをDM500から始まる連番のデバイスへ転送する回路です。転送後も転送元のデータは消えません。

BMOVの場合はサフィックスである .Dを指定することで32ビット単位で転送できます。無指定、もしくは .Uと記入した場合は16ビット単位になります。

スポンサーリンク

FMOV命令のサンプルプログラム

FMOVとは、16/32ビットデータを参照先のデバイスに一括転送する命令です。
転送元のデータが、指定された数だけ(ここでは#3)転送先のアドレスの連番のデバイスへ複製されます。

転送するデータブロック数の上限は65535です。この数はBMOVも同じです。
サフィックスの内容もBMOVと同様です。( .U 16ビット ,.D 32ビット) 

FMOV命令はデータを一括してリセットしたいときによく利用します。
以下の回路ではDM800~DM899までのデバイスを一括リセットしています。

データリセット回路