From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

NI製品ディスカッション

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

マルチメータから指定時間のデータ読み取りとX軸の値の変換

解決済み
解決策を見る

現在マルチメータからデータを読み取り、チャート表示するVIを作成しています。

 

VIが実行されるとマルチメータからの値を表示する波形チャートの他に、

ボタンを押すと、その瞬間から指定した時間だけデータを表示するチャートを作りたいと思っています。

さらにそのX軸を、あらかじめ設定しておいた開始値と終了値を用いて、

ボタンを押した瞬間は開始値、指定時間後は終了値になるよう変換したいです。

どのような方法がありますでしょうか?

 

マルチメータからのデータをsin波にしてテストVIを作ってみました。

現在、

・実行前に表示開始ボタンを押した状態にしておく

・指定時間が経つまでは表示開始ボタンを押した状態にしておく

の条件では成功しています。

VIを実行してから表示開始ボタンを押し、すぐ放しても指定秒時間だけ表示できるようにできますか?

 

よろしくおねがいします。

 

0 件の賞賛
メッセージ1/4
4,798件の閲覧回数

上の質問ですが、自己解決いたしました。

ありがとうございました。

改良したテストVIを添付いたします。

 

ここで新たにもう1つ質問させてください。

改良したテストVIを実行後、表示開始ボタンを押した後、狙い通りのXYグラフが表示されます。

これでそのままもう一度表示開始ボタンを押すと、新たにXYグラフが表示されるようにしたいのです。

 

表示されない原因として、ケースストラクチャの中にフィードバックがあるのですが、

これが初回に表示開始ボタンを押したときの値を初期値に持ち続けるので、うまく動作していません。

 

ケースストラクチャのTrueの部分が実行されるたびに初期値に入る値を入れ替えれば、

うまく動作すると思うのですが、なにか方法はありますでしょうか?

 

よろしくお願いします。

0 件の賞賛
メッセージ2/4
4,753件の閲覧回数
解決策
トピック作成者Shun77が受理

Shun77さん、

 

確かにフィードバックノードの初期化が問題になっているらしいですね。

 

その代わりにシフトレジスタとブールのロジックを使って(ケースストラクチャがFALSEの状態から入ったかどうかを認識するため)、問題が解決したはずですが、こういった方法はどうですか?

 

よろしくお願いします。

 

0 件の賞賛
メッセージ3/4
4,745件の閲覧回数

foxhound73さん

 

ありがとうございます。うまくいきました!

 

シフトレジスタの理解が乏しいので、良い機会なので勉強させてもらいます。

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