07-14-2014 06:02 AM
現在マルチメータからデータを読み取り、チャート表示するVIを作成しています。
VIが実行されるとマルチメータからの値を表示する波形チャートの他に、
ボタンを押すと、その瞬間から指定した時間だけデータを表示するチャートを作りたいと思っています。
さらにそのX軸を、あらかじめ設定しておいた開始値と終了値を用いて、
ボタンを押した瞬間は開始値、指定時間後は終了値になるよう変換したいです。
どのような方法がありますでしょうか?
マルチメータからのデータをsin波にしてテストVIを作ってみました。
現在、
・実行前に表示開始ボタンを押した状態にしておく
・指定時間が経つまでは表示開始ボタンを押した状態にしておく
の条件では成功しています。
VIを実行してから表示開始ボタンを押し、すぐ放しても指定秒時間だけ表示できるようにできますか?
よろしくおねがいします。
解決済! 解決策の投稿を見る。
07-17-2014 02:23 AM - 編集済み 07-17-2014 02:24 AM
上の質問ですが、自己解決いたしました。
ありがとうございました。
改良したテストVIを添付いたします。
ここで新たにもう1つ質問させてください。
改良したテストVIを実行後、表示開始ボタンを押した後、狙い通りのXYグラフが表示されます。
これでそのままもう一度表示開始ボタンを押すと、新たにXYグラフが表示されるようにしたいのです。
表示されない原因として、ケースストラクチャの中にフィードバックがあるのですが、
これが初回に表示開始ボタンを押したときの値を初期値に持ち続けるので、うまく動作していません。
ケースストラクチャのTrueの部分が実行されるたびに初期値に入る値を入れ替えれば、
うまく動作すると思うのですが、なにか方法はありますでしょうか?
よろしくお願いします。
07-17-2014 07:25 AM
Shun77さん、
確かにフィードバックノードの初期化が問題になっているらしいですね。
その代わりにシフトレジスタとブールのロジックを使って(ケースストラクチャがFALSEの状態から入ったかどうかを認識するため)、問題が解決したはずですが、こういった方法はどうですか?
よろしくお願いします。
07-17-2014 08:34 PM
foxhound73さん
ありがとうございます。うまくいきました!
シフトレジスタの理解が乏しいので、良い機会なので勉強させてもらいます。