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

- ログフォーマット
- 記録データは次のようになります


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