スポンサーリンク

【PLC】KV-STUDIO【DASC】10進アスキーコード変換について

PLC

今回の記事では、【DASC】10進数アスキーコード変換命令について紹介します。

【DASC】とは10進数をアスキーコードに変換してくれる命令です。例えばSDカードに保存するための、検査結果取得時の日付やファイルの日付または、品種番号などを数値をアスキーコード(文字列)に変換するのに便利な命令です。

過去いくつか文字列に関係する命令について紹介しています。

紹介しているプログラムは参考にして製作しても良いですが、装置(機械)損害などに関しては一切の責任を負いかねますので、予めご了承ください。また、製作時は必ずユーザマニュアルを熟読し、理解しながら製作を行って下さい
また、KV-STUDIOでは、命令言語上で”F1”を押すと、【命令語 ヘルプ】が表示されるので確認してください。

DASC

  • 毎スキャン型 : DASC
  • 1スキャン型 : @DASC
【S】にタイマー(T)やカウント(C)を入れると命令実行出来ません。また、ビットデータ(MR000やR000など)がチャンネルの先頭ではない場合、命令実行は出来ません。(R001~やMR5005~など)
  • 【S】に10進数を直接代入する、または、10進数が格納されているアドレスを代入
  • 【D】には変換したデータの保存先を指定する

【S】に”123″や”30″などを代入して変換すると、”00123″、”00030″となります。先頭にある”0″を消す場合には、ゼロサプレス(CR2814)をONさせる必要があります。

今回は常時ON(CR2002)を使用しました。

ラダー

では、簡単なラダーを作成していきます。内容は下記の通りとしました。

  • 対象は、PLC内部の日付や時間
  • “00123”とならないように、ゼロサプレスを使用する
 このラダーで使用しているシーケンサはKV-5500となっております。
今回使用しているPLC内部の日付などは、【コントロールメモリ】の【CM700~CM702】を使用しております。また、今回のラダー図の動作トリガについては常時ONとしております。

このデバイス使用リストは”Ctrl+E”で表示させることが出来ます。

ゼロサプレス設定がOFFの場合

まずは、【ゼロサプレス設定がOFF】の場合でアスキーコードに変換してみました。下図を見てわかるように、文字列の先頭に”000″と表示されております。

ゼロサプレス設定がONの場合

次に、【ゼロサプレス設定がON】の場合でアスキーコードに変換してみました。先程のOFFの場合とは異なり、文字列先頭の”000″が省略されていることがわかります。

今回のDASCの例題については上図のようにゼロサプレス設定をONにすることにより、不要な数値を省略することができました。

変換した値を結合してみた

ゼロサプレス設定をONの場合、OFFの場合でそれぞれの変換結果を結合してみました。

まずは、【ゼロサプレス設定がONの場合】

結合した値をDM7012に格納しています。格納されている値が”22/5/29″となっています。

継は、【ゼロサプレス設定がOFFの場合】

結合した値をDM7012に格納しています。“00022/00005/00029”と格納されています。

過去に【SADD】(文字列結合命令)について紹介しています。

さいごに

  • DASCで日付を変換する場合は、【ゼロサプレス設定をON】
  • 【S】には文字列または、文字列が格納されているアドレスを指定
  • 【D】変換された値を格納したいアドレスを指定
この記事を書いた人
雑魚FA

27歳からこの界隈に足を踏み入れて、日々勉強中の身です。当サイトでは主にFA電気制御に関することを発信していきます。記事についての質問、依頼などがありましたお問い合わせよりご連絡頂けると幸いです。

雑魚FAをフォローする
PLC
スポンサーリンク
シェアする
スポンサーリンク
雑魚FA.com