PLCのメモリ(ビットの状態や数値など)をロギングする方法は、イベント型とトレース型に分けることができます
それぞれの記録するタイミングは下図のように違います

記録データは次のようになります


AddDelimiter命令とFilePut命令を使ってロギングします
もっとも簡単なロギングにバッファ処理を入れてロギングします
バッファ処理とFileWrite命令を使ってバイト配列をロギングします
BOOL型を100個程度+DINT型100個程度のデータをロギングしたときの最速収集周期 (NJ501で計測)
| もっとも簡単なロギング | 100ms |
| リングバッファを使ったロギング | 30ms |
| リングバッファとバイト配列でロギング | 1ms |
イベント型でCSVファイルを作成します
イベント型でCSVファイルを作成します
ついでにFTP
1秒間に記録できる件数 (NJ501で計測)
| CSVファイル | 8,000件 |
| バイナリファイル | 80.000件 |
FileWriteVarを使って構造体をまるごと保存します
BOOL型を100個程度+DINT型100個程度のデータをロギングしたときの最速収集周期 (NJ501で計測)
| 構造体まるごとロギング | 0.2ms以下 / レコード |
目安として
1MByte(INT型 500000個)の構造体を書くのに250~350ms
500KByteの構造体を書くのに100~200ms
ログデータをInsert命令を使って1レコードづつ挿入します
ログデータをBatchInsert命令を使って一括挿入します
Insertにかかる時間(NX102)
| Insertでロギング | 30ms / レコード |
| BatchInsertでロギング | 3ms / レコード |