サイトのタイトル

OSD

RecSSConverterの使い方 (2/4)

レコードの設定

ここでは以下のようなデータをトレースしてファイル出力後にSysmacStudioのデータトレースへインポートします
トレースするデータ ビットを16個、INT型、DINT型、LINT型、REAL型、LREAL型をそれぞれ1個づつ
バッファの要素数 10000個
バッファの数 2個
トレースする周期 2ms

レコード開始フラグでひとつめのバッファにデータを溜めます
バッファの最後までデータが入ったら2つめのバッファに切り替えてデータを溜めます
バッファが切り替わったタイミングでバッファをFileWriteVar命令でSDに書き出します

手順1:バッファの作成

  • 1-1. バッファ用構造体の作成

    画像クリックで大きくなります

  • トレースしたいデータを入れるsData構造体を作成します
    Data構造体をリングバッファ用の構造体に入れてバッファリングに必要なサイズだけ配列を設定します
    この配列の数がバッファサイズになります

    名称 データ型 内容
    sData STRUCT バッファ

    RecTime

    DATE_AND_TIME 時刻

    SamplingNo

    UINT サンプリングNo

    Idx

    UINT Index

    B

    BOOL[16] BOOL型16個

    INT16

    INT 整数型16bit

    INT32

    DINT 整数型32bit

    INT64

    LINT 整数型64bit

    R

    REAL 実数型

    LR

    LREAL 実数型 倍精度

  • 1-2. バッファを作成

  • バッファ用の変数をData0とData1という名前で作成します
    それぞれsData構造体の配列で要素数は10,000個で作成します

手順2:PLCのプログラム作成

  • 2-1. バッファへ追加

  • sDataの単体の変数をRecDataという名前で作っておきます
    レコード開始フラグ(Rec)をONするとトレースしたいデータをRecDataにセットして
    データをセットしたRecDataはRingButPutファンクションを使ってリングバッファに追加します
    ここではDummy~~~というグローバル変数をトレースしたいデータとしています

  • 2-2. バッファがいっぱいになったら

  • バッファがいっぱいになったらファイル名を作成してバッファをFileWriteVar命令でSDに書き込み指示を出します
    同時にバッファを切り替えてファイル書込み中でも切り替えたバッファでレコーディングします
    バッファがいっぱいになったら切り替えて書込みを繰り返します

次のページは

出力したファイルをSSConverterでデータトレース用CSVファイルに変換します