TestStandスイッチ使用する

概要

スイッチ機能をTestStandシーケンスに組み込むには、いくつかの方法があります。このドキュメントでは、TestStandでスイッチを制御する様々な方法を紹介するとともに、どのような場合にどの方法を使用するべきかについてガイドラインを示します。

内容

コードモジュール

コードモジュールとは、Microsoft WindowsダイナミックリンクライブラリやLabVIEW VIといったプログラムモジュールのことで、特定のテストやその他動作を実行する1つまたは複数の機能を含んでいます。コードモジュールはスイッチ操作を含む様々なプログラミング環境で作成し、TestStandから呼び出すことができます。  



図1. 挿入パレットから新規ステップを挿入


図2. 実行するコードモジュールを「Step Settings」の「Module」タブで指定

NIスイッチコードモジュールから制御

ナショナルインスツルメンツのスイッチモジュールを制御するためのコードモジュールを作成するには、NI-SwitchまたはDAQmx Switchアプリケーションプログラミングインタフェース(API)を使用します。2つのAPIの違いについては、
技術サポートデータベース43CFNUAY: スイッチアプリケーションにおけるNI-SWITCH APIとNI-DAQmx Switch APIの違い(英語)
を参照してください。


図3. LabVIEWのDAQmx Switch API

 


図4. LabVIEWのNI-Switch API

サードパーティスイッチコードモジュールから制御

サードパーティスイッチを制御する際は、そのスイッチ用の計測器ドライバ関数を呼び出すコードモジュールを作成することができます。計測器ドライバの詳細と、ナショナルインスツルメンツのソフトウェアに対応する計測器ドライバの検索とダウンロードに関する詳細については、計測器ドライバネットワーク(www.ni.com/idnet)を参照してください。  

IVISwitch Executive

スイッチモジュールがIVIに準拠している場合は、IVIスイッチクラスドライバを呼び出すコードモジュールを作成することができます。全てのNIスイッチモジュールは、IVIに準拠しています。IVIについて詳しくはこちらをご覧ください。

注:計測器がIVIクラスに準拠していない場合、あるいはその計測器用のIVIドライバがない場合は、IVIスイッチクラスドライバがサポートしないドライバ関数を呼び出すため、計測器に特化したドライバを使用する必要があります。  

IVIスイッチクラスドライバを使用するのに加え、ご使用のスイッチハードウェアがIVIに準拠している場合は、Switch Executive APIを使用してプログラミングできます。Switch Executiveの詳細については、ホワイトペーパー: Switch Executiveとはを参照してください。

図5. Switch Executive API

IVI Switchステップタイプ

下図に示すIVI Switchステップは、IVI Switchクラスに準拠した計測器とSwitch Executive仮想デバイス用の高レベルプログラミング層です。IVI Switchステップは「挿入」パレットから挿入します。

図6. IVI Switchステップを挿入


「Step Properties」ダイアログボックスの「Switch」タブにある「Edit Switch」ボタンをクリックします。


図7.IVI Switchステップの「Edit Switch...」ボタンをクリックします  


IVI Switchステップには以下の2つのモードがあります。

Ο IVI Switching
Ο Switch Executive

選択したモードによって、IVI Switchステップタイプの使用時に利用できる操作が決まります。

IVI Switchingモード

IVI Switchingモードでは、IVI準拠のスイッチドライバを使用して、NIとサードパーティのスイッチを制御することができます。このモードを使用すると、経路/ルートの接続と切断、2つのスイッチの接続やルートの状態の特定、スイッチモジュールや仮想デバイスの状態のクエリなどが行えます。IVI Switchステップタイプ:IVI SwithingモードでサポートされるIVI Switch操作の詳細については、
TestStand ヘルプ: Edit IVI Switch Stepダイアログボックス - IVI Switchingモード(英語)を参照してください。


図8.IVI Switchステップ: IVI Switchingモード

Switch Executiveモード

Switch Executiveは、IVIをベースとするインテリジェントなスイッチ管理/ルーティングアプリケーションです。Switch Executiveを使用すると、IVIに準拠した1つまたは複数のスイッチモジュールを含む構成済みのSwitch Executive仮想デバイスを作成することができます。さらに、ポイントアンドクリック環境で、チャンネルエイリアスを作成し、終端間ルートを視覚的に(複数のスイッチ間でも)構成することができます。Switch Executiveの機能の詳細については、ホワイトペーパー: Switch Executiveとはを参照してください。
Switch Executiveをインストールすると、IVI SwitchステップのSwitch Executiveモードを使用できるようになります。「Edit IVI Switch Step」ダイアログボックスでは、構成済みのSwitch Executive仮想デバイスを選択して、スイッチシステム用に作成されたルート/ルートグループの接続と切断が行えます。また、ルートの存続を、ユーザが手動で切断するまでにするか、ステップ、シーケンス、スレッド、または実行が完了したときまでにするかを指定できます。
注:IVI Switchステップタイプ:Switch ExecutiveモードでサポートされるIVI Switch操作の詳細については、
TestStand ヘルプ: Edit IVI Switch Stepダイアログボックス - Switch Executiveモード(英語)を参照してください。


図9.IVI Switchステップ: Switch Executiveモード

Switch Executive - Step Switchingプロパティ

IVI SwitchステップのSwitch Executiveモードを使用するのに加え、Switch Executiveをインストールすることで、ステップの実行時にスイッチ操作を行うことが可能となります。「Step Settings」ペーンの「Properties」タブの「Switching」パネルで、スイッチ操作を構成することができます。


図10.挿入パレットからステップを挿入します。「Step Settings」の「Properties」タブの「Switching」パネル。

 

推奨オプション(お勧め順)

本ドキュメントで説明したとおり、TestStandからスイッチを制御するにはいくつかの方法があります。以降のセクションでは、各オプションのメリットとデメリットについて解説します。  

1. コードモジュール

TestStandでスイッチを制御する方法としては、コードモジュールからスイッチ操作を実行するテストシーケンスを作成するのがお勧めです。このオプションが最もモジュール化された方法で、テスト開発者はスイッチ操作を実行するコードを修正しつつ、テストシーケンスの他の部分への影響を最小限に抑えることができます。計測器専用のドライバまたはコードモジュールのSwitch Executive APIを使用することで、ローレベルのIVIセッションにアクセスできるほか、他のオプションでは実現できない追加の機能が利用できるようになります。Switch Executiveを使用すると、IVIに準拠したスイッチの構成と制御を簡素化し効率化することができます。

注: Switch Executive APIには、Switch Executiveソフトウェアの購入とインストールが必要です。

この方法では、ユーザのミスの確率が高まるというデメリットがあります。テスト開発者は、計測器ドライバまたはSwitch Executive APIに精通している必要があるほか、管理しやすく拡張可能なテストシーケンスが作成できる適切なテストシステムアーキテクチャを採用する必要があります。例えば、niSE Connect and Disconnectを使用すると、スイッチ時間が短縮されると同時に、自動テストシステムにおけるデバイスの寿命を延ばすことができます。


図11. niSE Connect and Disconnectを使用してコードモジュールから制御するルート/ルートグループを指定

2. Step Switchingプロパティ

Switch Executiveをインストールすると、テスト開発者はStep Switchingプロパティを使用して、TestStandシーケンス内の任意のステップにスイッチ機能を追加することができます。Switchingプロパティの利点の中で最もはっきりしているのが、コードの再利用性です。例えば、複数のルートを接続する必要のある特定のテストがあるとします。複数の異なるテストルーチンでそのテストを実行する場合は、ステップテンプレートを作成するだけで、他のシーケンスでも再利用できるようになります。ステップテンプレートには、ステップの全てのプロパティ(スイッチを含む)が含まれます。ステップを「Templates」リストに追加するには、ステップを「Step」ペーンから「テンプレート」リストにドラッグしてドロップするだけです。  


図12.「Template」リストは「Insertion」パレットペーンの一部です。ステップを「Step」ペーンから「Template」リストにドラッグアンドドロップすることで、ステップが他のシーケンスで再利用可能となります。


TestStandの「Template」リストの詳細については、NI TestStand 4.2ヘルプ: 「Insertion」パレットペーン(英語)を参照してください。
Step Switchingプロパティのデメリットとして考えられるのは、テストシーケンスの理解しにくさです。Switchingプロパティを使用する際は、TestStandシーケンスの説明を必ず入れておくようにしてください。ステップのプロパティをデフォルト動作から変更すると、その変更が「Step」ペーンで自動的に文書化されます。例えば、LabVIEW ActionステップでSwitchingを有効にすると、「Step」ペーンのそのステップの「Settings」カテゴリに「Switch」が書き込まれます。


図13.このLabVIEW Actionステップで、Enable Switchingがチェックされています。「Steps」ペーンの「Action」ステップの「Settings」カテゴリに、「Switch」が自動で挿入されている点にご注目ください。



また「Comment」フィールドと「Label」ステップを使ってシーケンスを文書化することもできます。

図14. ステップ設定の「Properties」タブの「General」パネルにある「Comment」フィールドにコメントを入力



図15. 上述の「Label」ステップとコメント(ステップ名の上に表示)で、さらにステップの説明を加えることができます。

IVI Switchステップタイプ:Switch Executiveモード

Switch ExecutiveモードのIVI Switchステップは、Step Switchingプロパティと機能がよく似ています。IVI SwitchステップがStep Switchingプロパティより優れているのは、ルートを見つけて、Get Information操作により仮想デバイスがデバウンスされているかどうかを特定できる点です。


図16.IVI Switchステップ:Switch ExecutiveモードのGet Information操作

 

テスト開発者は、他の内蔵ステップタイプで利用可能な同じステッププロパティ(Preconditions、Loopingなど)を指定することができます。  

注: Step SwitchingプロパティをIVI Switchステップタイプとともに使用することはできません。

さらに、IVI Switchステップには自己文書化という機能があり、ユーザはテストシーケンスにスイッチが含まれるか一目で特定することができます。ただし、一般にIVI SwitchステップよりStep Switchingプロパティの方がよく使われます。上記のセクションで説明したドキュメント化機能を使用して、Step Switchingプロパティの使用時に読みやすいテストシーケンスを作成できます。

TestStandのSwitch Executiveオプション(Step SwitchingプロパティとIVI Switchステップ)の主なデメリットとして、Switch Executive API(Switch Executive構成のインポート/エクスポートやXMLレポートの生成をプログラムで行う機能など)のフルアクセスができないという点がありますカスタマイズ性と拡張性を最大限に高めたテストシーケンスを開発するには、Switch Executive APIを呼び出すコードモジュールを使用します。

IVI Switchステップタイプ:IVI Switchingモード

IVI SwitchingモードのIVI Switchステップでは、IVI Switchクラスドライバがサポートする基本操作を利用することができます。IVI SwitchingモードのIVI Switchステップで利用可能な機能の詳細については、以下のページを参照してください。

TestStand ヘルプ: Edit IVI Switch Stepダイアログボックス - IVI Switchingモード

IVI SwitchステップのIVI Switchingモードにもデメリットがあります。アプリケーションで複数のスイッチを使用する場合、各スイッチモジュールに対し個別のステップを使用する必要があります。そのため、この方法では複数のスイッチにまたがる完全なルートを作成することはできません。また、希望のスイッチ構成を作成するには複数のステップを使用する必要があります。一般に、スイッチの制御には、IVI Switchステップ: IVI Switchingモードより、コードモジュールやSwitch Executiveの方がよく使用されています。

注:TestStand IVIステップタイプにより作成される計測器ハンドルは、それぞれの開発環境を使用して実行するコードモジュール内では使用できません。元となっているCベースのハンドルは、TestStandプロセス内のみで使用できます。テストシーケンスにIVIクラスのドライバに特化したVIや関数を呼び出すコードモジュールが含まれている場合、ナショナルインスツルメンツではTestStand IVIステップタイプを同時に使用することは推奨しません。

関連情報

ホワイトペーパー: Switch Executiveとは
Switch Executiveスタートアップガイド(英語)
TestStandリファレンスマニュアル(英語)

Was this information helpful?

Yes

No