サイトのタイトル

OSD

SSレコーダの作り方 (4/4)

手順5:テストデータ作成

  • 5-1. 共用体

  • テストデータの16ビットのビットデータを作るためにWORD型の共用体を作ってビット分解します

    名称 データ型
    uWORD UNION

    W

    WORD

    B

    BOOL[16]

  • 5-2. プログラム追加

  • プログラムを追加してテストデータを作成します
    変数Rに角度を作って毎スキャン0.8度づつ回転するようにします
    DummyInputLRealに角度Rのサインカーブのデータを入れていきます
    このDummyInputLRealをINT,DINT,LINT,WORD,BOOL,String型に変換してテストデータを作成します

  • 5-3. タスク割付

  • プライマリタスクにテストデータ作成プログラムを割り付けます

手順6:テスト

  • 6-1. トレースデータ作成

  • 1. レコード開始フラグ(Rec)をONにするとリングバッファにレコードデータが溜まっていきます
    2. RecBuffer.Countで記録した件数が確認できて65535まで溜まると最古のデータへ最新のデータが上書きされて直近の65535件のデータがリングバッファに格納されている状態になります
    3. 一旦レコードを停止するためにレコード開始フラグ(Rec)をOFFにします
    4. リングバッファのデータをファイルに書き出すためにレコード書き込みフラグ(RecWrite)をONにするとファイルへの書き込みが開始してRecBuffer.Countの件数が減っていきます
    5. RecBuffer.Countがゼロになったら全てのデータをファイルに書き出したのでレコード書き込みフラグ(RecWrite)をOFFにします
    6. これでメモリカードのRedフォルダに65535件のデータが10000万件区切りで6個のファイルと残り5535件のファイルが1個できました

  • 6-2. SysmacStudioのデータトレースにインポート

  • 1. 6-1でできたファイルをPCへコピーします
    2. SysmacStudioのデータトレースを新規に追加します
    3. データトレースの画面にあるインポートボタンでPCにコピーしたファイルをインポートします
    4. プライマリタスクの周期が2msであれば20秒間のデータが表示されます

これでSSレコーダの作り方は終わりです

これでトレースしたいデータをSysmacStudioのデータトレースで表示できました
異常発生時にトレースを止めてSysmacStudioで表示するなどで使えそうです

ダウンロード

これまで作ったプロジェクト
naviRecorderSS.csm2