今回は、【MWRIT】ストレージ書込み命令について紹介します。
【MWRIT】はPLCに挿入してあるSDカードまたは、CPUメモリ(KV-7000シリーズ以降)に書き込むための命令です。キーエンスの場合、ロギングなどの設定もあるのですが、あまり可変ができません。なので、【MWRIT】を利用してCSVファイルの内容をアレンジするのに便利です。(※:KV-N14 ~ KV60:端子台タイプについては、この命令は実行できませんので、ご注意下さい)
MWRITについて
まずは、【MWRIT】についてです。
- 【S1】には、保存先のファイル名称
- 【S2】には、保存したいデータの先頭チャンネルを指定
- 【n】には、【S2】のデータの占有数または文字数を指定する
- 【D1】には、MWRITのパラメータを指定する
- 【D2】には、通知ビットを指定する
S1:保存先ファイル名称
【S1】に、保存先のファイル名称を指定します。直接文字列を入力してもいいですが、ファイル名称が異なることも想定して、今回はデータレジスタ(EM)で指定します。今回は、フォルダの直下に書込むことを想定しているため、フォルダのパスなどは省いています。他フォルダに保存する場合は”フォルダ名称¥ファイル名称”としてください。
今回は、PLCの内部時計を使用しました。(※:PLC内部時計は、【CM700~】コントロールメモリにあります)
過去に紹介した【DASC】(10進数 アスキーコード変換命令)にて時間を文字列に変換しました。そして、変換した文字列を”年ー月ー日”と表現したかったので、【SADD】(文字列結合命令)を使用して結合して変換しました。【MWRIT】実行後、実際にファイルが生成されます。その時、自動的に上記のファイル名称の末尾に”.CSV”と付きます。(KV-5500で確認済み)
上記で変換した内容は下記のアドレスに代入しました。(参考までに)
過去に【DASC】について紹介しています。
過去に【SADD】について紹介しています。
S2:保存したいデータ
【S2】に、保存したいデータのアドレスを指定します。今回は【RND】(乱数発生命令)にて取得した値(2種類)を、文字列に変換した値を指定します。(※【RND】及び、【FLOAT】、【FASC】については別記事で紹介します。更新後、この記事にもリンク貼付します。)
上記で変換した内容は下記のアドレスに代入しました。(参考までに)
n:データ数
【n】に、【S2】で指定したアドレスの占有数を指定します。今回指定しているEM1000(文字列)は13占有している(EM1000 ~ EM1012)ので、”13”と設定しました。また、数値ではなく文字(項目やタイトルなど)については、【LEN】(文字列長検出命令)を使用して、その結果を設定すると良いです。
過去に【LEN】について紹介しています。
D1:パラメータ
【D1】に【MWRIT】のパラメータを設定します。パラメータとは下図のことを指します。(今回使用していないパラメータもあります。)
まず、パラメータの【D1】についてですが、こちらは保存するデータの保存形式を設定します。今回は、取得した値を文字列に変換しているので”8”を選択しました。
【D1+1】は書込みモードの設定です。CSVファイル内でどのように表示したいかを設定できます。今回は”0”の追加モードを選択しました。
【D1+2】はオプションの設定です。”改行”や”固定出力”について設定できます。今回は、1つ目の取得値については”0”を選択、2つ目の取得値は、”1”を選択しました。
【D1 +3 ,4】は、書込み位置の指定です。今回は【D1+1】にて”0”を選択しているので、設定はしていません。(上書きなどを行う場合は、設定が必要となります)
【D1+5】は書き込んだデータ数です。これは設定項目ではなく、実際に命令実行後、書き込んだデータ数を格納してくれます。
上記で設定した内容は下記のアドレスに代入しました。(参考までに)
D2:通知ビット
【D2】は通知ビットです。
【D2】は完了通知です。【D2+1】はエラー通知です。基本的には、この完了通知ビットを確認して、次の動作を行うのが良いです。
上記で設定した内容は下記のアドレスに代入しました。(参考までに)
ラダー図
では、実際にラダー図(一部)を書くと下記のようになります。(※この全体回路については別記事で紹介します。更新後、この記事にもリンク貼付します。)
さいごに
今回は【MWRIT】について紹介しました。この命令はSDカードやCPUメモリに書き込めるので便利です。
- 【S1】には、保存先のファイル名称
- 【S2】には、保存したいデータの先頭チャンネルを指定
- 【n】には、【S2】のデータの占有数または文字数を指定する
- 【D1】には、MWRITのパラメータを指定する
- 【D2】には、通知ビットを指定する