変数をファイルに保存
概略
-
大量のデータを保持したいときに、非保持変数を通常のメモリとして使用しながら、SDカードにファイルとして記憶する方法です
変数をSDカードに書き込む方法と特徴について調べます
処理内容
- 大容量変数を丸ごとSDに書き出す
-
非保持変数メモリに大容量の変数を作成してFileWriteVar命令で変数を丸ごとSDに書き出します
こうすることでファイルを書き込んでから電源がOFFするまでの変数の値の変化は保持できないものの、ファイルに書き込んだ時点までを保持する事ができる変数を作ることができます
保持変数が足りなくなったら、少し巻き戻っても問題のない変数をこの方法でファイルに保持することを検討します
ファイルに書き込んだ値は電源ON時にFileReadVar命令で読出します - 構造体
-
約524KBの構造体を宣言
- グローバル変数
-
構造体を配列にして約4MBのグローバル変数にする
- メモリ使用状況
-
メモリ使用状況で確認
- ラダー
-
TriggerをONでファイル書込み
書込み時間計測
-
書き込む変数(WriteVar)のSampleStructの要素数を変えて4MB,3MB,2MB,1MBのサイズで書込み時間を測てみました
- 4MB
-
機種 書込み時間(ms) NX701 NX201 - 3MB
-
NX701 NX201 NJ501 - 2MB
-
NX701 NX201 NJ501 - 1MB
-
NX701 NX201 NJ501 NJ301 NJ101
定周期にファイルに書き出す時は、この書込み時間の2倍以上を目安に書込み処理を実行するタイミングを調整してください
100回計測中の最大値(かっこは平均値)