概要
デバイスを一括初期化します。パラメータ1で指定した書き込み先アドレスからパラメータ3で指定したバイト数分にパラメータ2で指定した書き込みデータをセットします。
メモリ初期化(文字列モード)はタグを登録している場合に使用できます。
書式
memsetstr (書き込み先アドレス, 書き込みデータ, バイト数)
パラメータ1 : デバイスアドレス、シンボル変数
パラメータ2 : 数値(パラメータ2に設定できる範囲は表示形式によって異なります。Dec : 0~255、Hex : 0~FF、Oct : 0~377)
パラメータ3 : 数値(パラメータ3に設定できる範囲は1~640です。)
記述例
memsetstr ([w:[PLC1]TagName], 0, 5)
上記の例はPLC1のTagNameから5バイト分に0を書き込みます。
メモリ初期化(文字列モード)(memsetstr)関数で内部デバイスに書き込むときは、ユーザーエリアのみ書き込めます。システムエリア(LS0000~LS0019)、特殊エリア(LS2032~LS2047)、予約エリア(LS2048~LS2095)は書き込むことができません。
データ型が[DATE_AND_TIME]のデバイスは設定できません。
パラメータ1、パラメータ2に16ビットデバイスを設定した場合、1デバイスを2文字として処理します。また、32ビットデバイスを指定した場合、1デバイスを4文字として処理します。Dスクリプトのビット長の設定には依存しません。
1デバイスあたりの格納文字数で割り切れないバイト数が指定された場合は次のように処理します。
例 memcpystr([w:[PLC1]W30.3000], 0xFF, 5)
(パラメータ1(16ビット長)、パラメータ2(0xFF)、文字列データモード4の場合)
書き込み : 指定バイト分のデータを書き込み、あまった領域には0を書き込みます。初期化されなかったデバイスは初期化前のデータのままです。(上記例の「0x55」、「0x66」)