From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

NI製品ディスカッション

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

変数の種類とその違いについて

解決済み
解決策を見る

TestStand2014を使用しております。

 

TestStandにはVariables Paneに含まれる変数が7種類あるようですが、

各変数の種類の違いがわからないので、ご存知の方がいらっしゃいましたら教えていただけないでしょうか。

 

7種類とは

①Locals⇒シーケンス内で使用可能な変数

②Parameters⇒他シーケンスを呼び出すときに使用可能なパラメータ

③FileGlobals⇒シーケンスファイル内で使用可能な変数

④StationGlobals⇒ヘルプ記載なし

⑤ThisContext⇒ヘルプ記載なし

⑥RunState⇒ヘルプ記載なし

⑦Step⇒ヘルプ記載なし

 

旧バージョンのTestStandも確認しましたが④~⑦に関しては

どんな変数なのかヘルプ記載が無いので使用できていません。

 

ご協力お願いします。

0 件の賞賛
メッセージ1/7
5,127件の閲覧回数
  • Locals - シーケンス内で使用する変数になります。1つのシーケンスから別のシーケンスにデータは渡せません。 
  • Parameters - シーケンスからサブシーケンスにデータを渡します。サブシーケンスからメインシーケンスには渡せません。 
  • FileGlobals - 1つのシーケンスファイルないであればシーケンス間で自由にデータを渡せます。FileGlobal変数のほうが Parameters変数より処理が重いため、メインからサブシーケンスに渡すだけの変数であれば極力Parameters変数をご使用ください。 
  • StationGlobals - 1つのシーケンスファイルから別のシーケンスファイルにデータを渡せます。最も自由度がありますが処理も最も重いです。 
  • ThisContext - 現在のシーケンスコンテキストのリファレンスを保持します。
  • RunState - 現在のステップ、シーケンスおよび呼び出しシーケンスのようなシーケンス呼び出しにおいて実行状態を示すプロパティを含みます。
  • Step - 現在実行しているステップでのプロパティを含みます。

 

参考資料は以下のとおりです。
http://zone.ni.com/reference/en-XX/help/370052M-01/tsfundamentals/infotopics/seq_con_first_level/

 

日本NI 上野

メッセージ2/7
5,096件の閲覧回数

追記ですいません。下記の資料も参考になると思います。

 

NI TestStandチュートリアル

http://digital.ni.com/public.nsf/allkb/2A1619FB9E7BA89E8625784E002A7879

0 件の賞賛
メッセージ3/7
5,094件の閲覧回数

ご回答誠にありがとうございます。

 

確認ということでもう一度質問させてください。

 

>Parameters - シーケンスからサブシーケンスにデータを渡します。サブシーケンスからメインシーケンスには渡せません。 

上記の回答をいただきまして、ヘルプと比較しました。ヘルプには下記のように記載されています。

Sequences can have steps that call other sequences.

A sequence can also have parameters so you can pass values to it and retrieve values from it.

When you pass parameters by reference, updates to the object the parameter references affect the object passed as a parameter.

シーケンス間の双方向の受け渡しができる、というように翻訳できてしまうのですが、これは参照渡しをすることで

双方向の受け渡しを実現しているということなのでしょうか。

それとも上野様の仰る様にサブシーケンスからメインシーケンスには渡せないのでしょうか?

※TestStandに関して初心者なため、自分でParameters変数を扱うことがまたできていません。

 

>ThisContext - 現在のシーケンスコンテキストのリファレンスを保持します。

上記回答をいただきましたが、シーケンスコンテキストが何を指しているのかよくわかりません。

シーケンスが持つ全ての参照というように思っているのですが、間違っているでしょうか?

 

>Step - 現在実行しているステップでのプロパティを含みます。

上記回答をいただきましたが、実行前のシーケンスエディタの状態であれば、

選択しているステップで使用することのできるプロパティという認識ですが、間違っていないでしょうか。

 

RunStateに関しては教えていただいた参考資料から確認中です。

ご回答お待ちしております。

0 件の賞賛
メッセージ4/7
5,088件の閲覧回数

すいません、Parametersは説明ミスでした。
これは、サブシーケンスの引数を示します。これを利用してメインシーケンスとサブシーケンス間で値をやりとりできます。たとえば、新規シーケンスを作成した際、メインシーケンスではパラメータはありませんが、Edit ≫ Sequence File CallbacksでPreUUTを追加すると、追加されたPreUUTサブシーケンスにはパラメータがありますので、それが表示されます。

 

シーケンスコンテキストですが、下記に一覧がございます。
http://zone.ni.com/reference/en-XX/help/370052M-01/tsapiref/reftopics/sequencecontext/


ステップは、実行してない場合は選択しているステップが表示されます。

0 件の賞賛
メッセージ5/7
5,060件の閲覧回数

ご回答いただき誠にありがとうございます。

 

改めて確認させていただきます。下記の回答を頂きました。

>これは、サブシーケンスの引数を示します。これを利用してメインシーケンスとサブシーケンス間で値をやりと​りできます。

>たとえば、新規シーケンスを作成した際、メインシーケンスではパラメータはありませんが、Ed​it ≫ Sequence File CallbacksでPreUUTを追加すると、

>追加されたPreUUTサブシーケンスにはパラメータがあ​りますので、それが表示されます。

 

①これは、サブシーケンスの引数を示します。

  とありますが、これが指す言葉はParametersで間違いないでしょうか。

 

②これは、サブシーケンスの引数を示します。

  とありますが、引数ですか?引数と返り値でないと双方向と思えないのですが、

  引数なのでしょうか。

 

③Ed​it ≫ Sequence File CallbacksでPreUUTを追加すると

  とありますが、プロセスモデルエントリポイント中のシーケンスにオーバーライドする設定を行ったときのみ

  Parametersを使用することができるということなのでしょうか。

  クライアントシーケンスファイル内のモデルコールバックに、ノーマルサブシーケンスを呼ぶように

  した場合に、モデルコールバックとノーマルサブシーケンス間で値をやり取りする場合には

  Parametersを使用することはできないということでしょうか。

  モデルコールバックとノーマルサブシーケンス間で値をやり取りする場合にはファイルグローバル変数を使用する必要があるのでしょうか。

 

ご回答お待ちしております。

0 件の賞賛
メッセージ6/7
5,056件の閲覧回数
解決策
トピック作成者sMaSaToが受理

1. Parametersです。

 

2. ご指摘の通り、引数と戻り値です。

 

3. PreUUTはサブシーケンスを作成するより、速く見られるので引き合いに出しましたが、これに限定するものではありません。

モデルコールバックとノーマルサブシーケンス間でモデルコールバックに定義されていない値なら、ファイルグローバル変数かステーショングローバル変数をお使いください。

0 件の賞賛
メッセージ7/7
5,049件の閲覧回数