キーエンスKVシリーズにおける「文字列転送」命令とは、文字列を指定したデバイスに格納するラダープログラム命令です。
文字列転送命令を用いることにより「表示器に任意の文字列をラダープログラムから表示させる回路」や「外部機器に出力する文字列をデバイスに格納する回路」を作ることができます。
この記事では、キーエンスKVシリーズにおける文字列転送命令の指令方法とラダープログラム例について解説します。
目次
1.文字列転送命令の指令方法
文字列転送命令には2種類の命令方法があります。
| SMOV | :毎スキャン実行型 |
| @SMOV | :微分実行型(パルス実行型) |
SMOV:毎スキャン実行型の文字列転送命令
毎スキャン実行型の文字列転送命令は”SMOV”と指令します。
↓が毎スキャン実行型の文字列転送(SMOV)命令です。

↓命令部分を拡大

このラダープログラムでは、実行条件である入力リレーR000がONしている間、データメモリDM0を先頭に文字列”ABCD”を格納します。
↓が上記ラダープログラムを実行した時のDM0以降のデバイス値です。

文字列転送命令で定数を指定する場合、半角文字はASCIIコード(1バイト)、全角文字は「プロジェクト言語設定」で指定した言語またはシフトJISコード(2バイト)になります。
ASCII(American Standard Code for Information Interchange)コードとは、数値・アルファベット・記号などを7ビットで表現した文字コードの一つです。7ビットは「10進数では0~127」「16進数では0x00~0x7F」の128ヶで表されます。ASCIIコード一覧表は以下のページで解説しております。
文字列の最後にはNUL(00H)が格納されます。↑のラダープログラムでは、データメモリDM0~DM2に文字列を格納されるため、他の用途では使用できなくなります。
@SMOV:微分実行型(パルス実行型)の文字列転送命令
命令の頭文字に@を付けることで、実行条件がOFF→ONになったときの1スキャンしか実行されない微分実行型(パルス実行型)となります。
↓が微分実行型(パルス実行型)の文字列転送(@SMOV)命令です。

↓命令部分を拡大

微分実行型(パルス実行型)の場合、命令文の左側に上向きの矢印が表示されます。
このラダープログラムは、実行条件である入力リレーR000がOFF→ONになった瞬間に、データメモリDM0を先頭に文字列”ABCD”を格納します。
このように、微分実行型(パルス実行型)の場合は実行条件がOFF→ONになった瞬間の1スキャンしか命令が実行されません。
KV STUDIOにおける命令挿入の方法
文字列転送命令をKV STUDIOの回路上に挿入するには「命令文 転送元 転送先」と回路上で入力します。
例) 先ほどの毎スキャン実行型の文字列転送(SMOV)命令を挿入する場合、KV STUDIOの回路上でSMOV “ABCD” DM0と入力してEnterキーを押します。

2.【例題】文字列の定数を格納・DM間の格納
下記仕様のラダープログラムを文字列転送命令を用いて解説します。
スイッチ(R001)を押すと、データメモリDM0~の文字列をDM10~に転送する。
スイッチ(R002)を押すと、データメモリDM0~DM19(20点)に定数”0”を転送する。(クリアする)
「スイッチ(R000)を押したときのDM0~に文字列ABCDを格納」「スイッチ(R001)を押したときのDM0~をDM10~に転送」は文字列転送命令を使用します。
「スイッチ(R002)を押したときのDM0~DM19に定数0を転送」は一括転送命令を使用します。一括転送(FMOV)命令については以下のページで解説しております。
タッチパネルの動作イメージ
タッチパネルの動作イメージは以下のようになります。

スイッチ(R000)を押すと、データメモリDM0~に文字列ABCDを格納します。スイッチ(R001)を押すと、データメモリDM0~の文字列をDM10~に転送します。
スイッチ(R002)を押すと、データメモリDM0~DM19(20点)に定数”0”を転送します。
タッチパネルでDM0、DM10は8桁の文字表示にしてあります。
ラダープログラム
ラダープログラムは以下のようになります。

スイッチ(R000)を押すと、文字列転送(SMOV)命令によりデータメモリDM0を先頭に文字列”ABCD”を格納します。文字列の最後にはNUL(00H)が格納されるため、DM0~DM2(3ワード)が文字列として占有されます。
スイッチ(R001)を押すと、データメモリDM0~の文字列をDM10~に転送します。

スイッチ(R002)を押すと、一括転送(FMOV)命令によりデータメモリDM0~DM19(20点)に定数”0”を一括で転送します。
3. おわりに
キーエンスKVシリーズにおける文字列転送(SMOV)命令について解説しました。


