TestStandでUUT毎にレポートの保存先フォルダを切り替える方法
使用ソフトウェア:
使用ソフトウェア・バージョン: 4.1.1
使用ソフトウェア・バージョンに特化: N/A
二次のソフトウェア:
問題: TestStandのレポートは、標準では複数のUUTレポートがまとまってシーケンスのあるフォルダに出力されますが、これをUUT毎に別のレポートファイルにして、それぞれ別のフォルダに出力したいです。どうすればよいでしょうか。
解決策: UUT毎に別のレポートファイルに出力する設定
この動作は、TestStand標準の機能として実装されています。設定は以下の通りです。
- シーケンスエディタのメニューバーから Configure ≫ Report Options をクリックして、Report Optionsダイアログを開きます。
- Report File Pathnameタブの、Generate Report File Pathカテゴリ以下にある New UUT Report File for Each UUTオプションをオンにします。こうすることにより、UUT毎に個別のレポートファイルが生成されるようになります。
レポートの出力先をプログラム的に変更する方法
この動作は、TestStand標準の機能としては実装されていませんので、プロセスモデルのコールバックを一部オーバーライドして実現する必要があります。プロセスモデルがSequentialModel.sql(デフォルト)の場合の手順は以下の通りです。
- レポートの出力先を変更するために、ReportOptionsコールバックをオーバーライドします。また、UUT毎に出力先を変更する為にPostUUTコールバックもオーバーライドします。シーケンスエディタのSequencesペーンを右クリックして、Sequence File Callbacks...をクリックします。
- Callbacksダイアログが表示されるので、その中の PostUUT と ReportOptions をそれぞれクリックして、Addボタンを押します。MainSequence、PostUUT、ReportOptionsのPresentカラムがそれぞれyesになっていることを確認し、OKボタンを押します。
- Sequencesペーンに、新しくReportOptionsとPostUUTというシーケンスが追加されていますので、ReportOptionsシーケンスを選択します。Variablesペーンを開き、Parametersに文字列型の変数を一つ追加します。ここではpathStrという名前にします。この変数は、レポート保存先の情報を一時的に保管するために使います。
- Stepsペーンに戻り、Mainシーケンス内にStatementステップを一つ追加します。このステップで、RunStateから現在のレポートパスを取得して先ほど作成したpathStr変数に格納します。Step SettingsペーンのExpressionタブを開き、Parameters.pathStr = RunState.Root.Runstate.ProcessModelClient.Path と入力します。 右辺の変数はシーケンス実行時にしか存在しないため、Expressionsを入力した際に警告がでますが、無視して構いません。
- この状態で、Parameters.pathStrにレポート保存先のフルパスが格納されていますので、このパスを適宜書き換えます。添付のシーケンスではLabVIEWのVIでこれを実現していますが、必ずしもLabVIEWで行う必要はありません。
- Statementステップを新たに追加します。ここでは、前ステップにて書き換えたパスを新しいレポートの保存先として設定します。Step SettingsペーンのExpression タブに、Parameters.ReportOptions.Directory = Parameters.pathStr, Parameters.ReportOptions.DirectoryType = "SpecificDirectory"と入力します。これで、ReportOptionsコールバックのオーバーライドは終了しました。
- 続いて、PostUUTコールバックのオーバーライドをします。Sequencesペーンから、PostUUTシーケンスを選択します。
- Sequence Callステップを追加します。ここで、ReportOptionsコールバックシーケンスを呼び出します。
- Step SettingsペーンのModuleタブを開き、File Pathnameを現在編集しているシーケンスに設定します。
- SequenceにReportOptionsを指定します。
- ReportOptions、pathStrというパラメータが表示されますので、ReportOptionsはDefaultのチェックを外し、Valueに RunState.Root.ThisContext.Locals.ReportOptionsと入力します。この値は実行時にのみ有効なため、赤字で表示されますが無視して結構です。
- pathStrパラメータについては、Defaultのチェックを入れて下さい。
- 以上でPostUUTのオーバーライドは完了ですが、この状態だとUUTの検査終了時に表示されるPass/Failなどのポップアップが表示されなくなります。この表示を出したい場合は、TestStandがインストールされているフォルダ以下 Components\Models\TestStandModels に保存されている各プロセスモデルのPostUUTコールバックから元々の動作をコピーしてください。添付のシーケンスではSequentialModel.sqlのPostUUTコールバックからの処理をコピーしてあります。
- 以上で全ての設定が完了しました。MainSequenceに通常通りのシーケンスを作成していただければ、UUT毎に別のフォルダが作成され、そこにレポートが格納されます。
関連リンク: How to Dynamically Change the Report Directory in TestStandChanging the Report Filename and Path Programmatically in TestStand
添付:
SaveReport.seq
checkDir.vi
報告日時: 01/24/2010
最終更新日: 01/25/2010
ドキュメントID: 55NMPJ3T
Other Support Options
Ask the NI Community
Collaborate with other users in our discussion forums
Request Support from an Engineer
A valid service agreement may be required, and support options vary by country.