02-26-2015 12:56 AM
複数の入力端子があるサブVIがあり,呼び出しごとに使う端子が異なります.
入力を接続した端子のみ値を変更し,ほかの値は変更したくないのですが,
接続しないとデフォルト値になってしまいます.
もちろん,変更したくない値を接続しておけばいいのですが,
接続しなくてもいいようなものぐさな方法はありますでしょうか?
Solved! Go to Solution.
03-01-2015 07:51 PM
QDO様
サブVI内にデータを保存されたいとのことですが、
一度きりしか動作しないWhileループにシフトレジスタをつけてデータの値を保持するのは如何でしょうか。
機能的グローバル変数に近い動作ですが、
メモリ上にデータを保持しますので、お求めになられている動作に近いかと思います。
初期化されていないシフトレジスタを使用するため、
サブVI自体を一度初期化する必要はございます。
また、入力があったかどうかを確認する必要があるため、
条件式を設けなければなりません。
呼び出す回数には依りますが、
一つ一つにワイヤ配線をした方が楽かもしれません。
ご確認願います。
03-03-2015 05:49 PM
Ohara様:
コメントありがとうございます.
機能的グローバル変数も検討したのですが,どうやって値を保存したらよいのかわかりませんでした.
その代わり,ケースストラクチャを使って実現することができました.
右がサブVIで左のVIから呼び出しています.
Falseの数値表示器0の値が保存されています.
このようなやり方に問題があるかどうか,
それから機能的グローバル変数を使ったやり方について,教えていただければ幸いです.
03-08-2015 09:13 PM
QDO様
ご返信遅くなり、申し訳ございません。
ケースストラクチャを使用した方法で全く問題ないと思います。
基本的には行われたい動作が出来るのであれば間違っているプログラムと云うものはないと思っております。
先日ご案内差し上げた機能的グローバル変数のようなプログラムですが、
添付しましたviがそちらになります。
ご入り用でしたら、ご確認いただければ幸いです。
03-08-2015 09:38 PM
Ohara様:
機能的グローバル変数的なやり方を教えていただき,ありがとうございます.
これはいいですね.いちいちケースを選択しなくてもいいですので.
今後使わせていただきます.