VeriStand用カスタムデバイスでチャンネルに対しスケールやフォールトの設定を行う

更新しました Jun 28, 2024

環境

ソフトウェア

  • VeriStand
  • VeriStand Custom Devices
  • LabVIEW

VeriStand用カスタムデバイスはLabVIEWで開発することができ、VeriStandの組み込みの機能では実現できないような複雑あるいは特殊な処理を実装するのに必要となります。
この記事では、カスタムデバイスで生成するチャンネルのスケール設定とフォールト設定の機能について確認します。

もし、カスタムデバイス作成に必要なプロジェクトテンプレートがない場合には、こちらの記事 に従ってまずはプロジェクトテンプレートを使用できるまでの準備を完了してください。
 

  1. LabVIEWを開いて、プロジェクトを新規で作成します。プロジェクトテンプレートから、新規プロジェクトの一覧にあるCONSOLIDATED NI VeriStand Custom Deviceを選択してカスタムデバイスのプロジェクトを作成します。
    customdeviceprojectcreate.png
  2. カスタムデバイスの名前と保存先を決定します。カスタムデバイス名はScale Fault Testとし、任意の場所にScale Fault Testというフォルダを用意してここに保存されるようにします。また、Custom Device Execution ModeはAsynchronousとし、Custom Device Extra Page Namesには、MyCustomChannelという項目を追加します。
    createproject.png
  3. プロジェクトエクスプローラ上で<カスタムデバイス名> System Explorer.lvlibにあるInitialization VI.viを選択します。
    whereinit.png
    ブロックダイアグラムを開いて、Initialization VI.viのケースストラクチャのTrueケースにあった処理は全て削除し、以下の図のように関数を配置します。この図のように配置することで、このカスタムデバイスをVeriStand上で使用した場合、デフォルトのセクションとしてMySectionを用意しこの下に5つのチャンネルを生成します。各チャンネルの設定で、ScalabilityFaultyの設定は図のように指定してください。グローバル変数はLabVIEWプロジェクトエクスプローラの<カスタムデバイス名> Shared.lvlib>>SharedにあるConstants.viを使用します。
    initblock.png
  4. 次にプロジェクトエクスプローラに戻り、<カスタムデバイス名> Explorer.lvlibの下のSystem Explorer >> Dynamically Called >> Extra Pagesフォルダに進んで、プロジェクト作成時に指定した名前のページ用のviができていることを確認します。
  5. ページ用のviに対し、編集を加えます。
    1. フロントパネルに二つのブール制御器を配置します。機械的動作はどちらもスイッチ動作とします。
      pagefront.png
    2. ブロックダイアグラムの最初にあるシーケンスストラクチャ内でGet Custom Device Channel Data.viを使用し、以下の図のように出力クラスタのバンドルを解除してScalableおよびFaultableの設定情報をフロントパネル制御器のローカル変数に入力します。
      checkcurrentsetting.png
    3. 以下の図のようにScale settingに対して値変更イベントを定義します。この中でSet Custom Device Channel Scalability.viを使用してスケールの設定を変更します。
      event.png
    4. 同様に、Fault settingに対しても値変更イベントを定義します。この中でSet Custom Device Channel Faultability.viを使用してフォールトの設定を変更しています。
      event2.png
  6. プロジェクトエクスプローラ上でビルド仕様を右クリックしてBuild Allですべてビルドします。
  7. ビルド後、VeriStandを開いて、システムエクスプローラ上でカスタムデバイスを追加します。カスタムデバイスのツリーに以下の図のような表示がされるかを確認します。
    addcd.png
    各チャンネルに対して、Initialization VI.viで指定したとおりにScalableFaultableの設定が決まっていることを確認します。
    addcd2.png
  8. システムエクスプローラ上でScaleを用意し、マッピングを行います。このとき、選択肢に表示されるチャンネルは、ScalabilityにTrueを指定したチャンネルだけであることを確認します。もしMyCustomChannelのページでScale settingのブール制御器をTrueにした場合、MyCustomChannelもマッピング対象として表示されます。
    scale mapping.png
    このように、プログラム的にScalabilityの設定を変更できるようにしておくことで、ソースコードに変更を加えなくてもシステムエクスプローラ上でこの設定を変更することによりマッピングの選択肢に表示されるかどうかを変更することができます。
  9. VeriStandプロジェクトをデプロイし、Channel Fault Managerを確認します。選択肢に表示されるチャンネルは、FaultyにTrueを指定したチャンネルだけであることを確認します。もしMyCustomChannelのページでFault settingのブール制御器をTrueにした場合、MyCustomChannelもフォールト設定の対象として表示されます。
    fault setting.png
    このように、プログラム的にFaultyの設定を変更できるようにしておくことで、ソースコードに変更を加えなくてもシステムエクスプローラ上でこの設定の有無を変更することができます。
 
 
 
 
 

次のステップ

VeriStandチャンネルのスケール設定およびフォールト設定については関連リンクにあるそれぞれのトピックについてユーザーマニュアルを確認してください。