SysmacStudioのデータトレースファイル形式で常時出力

概略

プログラムでSysmacStudioのデータトレースにインポートできるファイルを作成します
さらにファイル名を変えながら常時ファイル出力します

プログラムの流れ

FastTaskではトレースしたいデータをリングバッファに追加していきます
SlowTaskではSysmacStudioのトレースのエクスポートファイルのフォーマットに合わせてファイルを作成します
1ファイルあたり10,000レコードとして、10,000レコード書き込んだら次のファイルに切替えてファイル名に000~199の連番を付けて繰り返すようにします

ファイル書込み

ファイルはヘッダ部分の後に各データが書き込まれているので、リングバッファからデータを読み出して書き込みます
ファイルへの書き込みはデータを文字列に変換した後に書込みバッファ(バイト配列)にカンマ区切りで格納します
書込みバッファには複数のレコードをまとめてからファイル書き込みを行います

NOTE

ファイル書き込み処理は小さいデータを何度も繰り返すよりも大きなデータにまとめてから書き込むほうが高速に書き込むことができるため、複数のレコードをまとめてから書き込むようにします

イメージ

トレースデータ(例)

RecTime DATE_AND_TIME トレース日時(必須)
SamplingNo UINT 判別するための任意の数値
Idx UINT インデックス
B BOOL[16] トレースデータ ビット 16個
INT16 INT トレースデータ INT型
INT32 DINT トレースデータ DINT型
INT64 LINT トレースデータ LINT型
R REAL トレースデータ REAL型
LR LREAL トレースデータ LREAL型

構造体

構造体

トレースファイル

ファイルは連番で0~199を繰り返し出力します

DataTrace

SysmacStudio データトレース画面

DataTrace

SysmacStudioのデータトレース画面でインポートすることができるファイルを作成できました

使い方ナビ

SSレコーダの作り方

ダウンロード

SampleRecorderSS.csm2