| 項目 | CSV | バイナリ |
|---|---|---|
| 可読性 | 高い | 低い |
| ファイルサイズ | 大きい | 小さい |
| 速度 | 遅い | 速い |
| 解析 | 容易 | 専用ツール必要 |
メモリの値が変化したらデータを残します
SDカードへ書込む方法は「リングバッファとバイト配列でロギング」と同じです

EventLogSDWriteCSV
処理内容はTraceSDWriteとほぼ同じ



プライマリタスクでは監視しているメモリの値が変化したときにRingFilePutで時刻と変数と値をバッファに追加します
値の変化はビット情報ではXOR命令で前回値と比較してOFF→ON、ON→OFFを監視します
数値では前回値から今回の値を引いて変化の範囲(rangeDInt)を超ているかを監視します
定周期タスクではリングバッファから読み出してSDカードに書き込みをします
バイト配列に変換してSDカードに書き込むEventLogSDWriteCSVFBの処理に時間がかかるため10ms~のタスク周期で調整します
リングバッファにデータがあればEventLogSDWriteCSVを実行してSDカードに書込みます
はい。保存したCSVファイルはExcelやテキストエディタで確認できます。
イベントログは値が変化した時のみ保存するためデータ量を削減できます。
文字列変換処理が必要なため一般的にCSV保存の方が処理負荷は高くなります。
イベントが短時間に集中した場合でもデータ欠落を防ぐためです。