NI製品ディスカッション

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

プログラム作成

以下のプログラムを作成したいのですが何かアドバイスないでしょうか?

 

ボタンが3箇所あり、それらを押してから5秒間何もイベントが発生しないときにLEDを1秒点灯する、5秒間の内にどこかのボタンが押されたら再度5秒間待ってLED点灯というプログラムを

作りたいのです。

知識が乏しいので何か案がればよろしくおねがいします。

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

平素よりNI製品をご愛顧頂きありがとうございます。
日本ナショナルインスツルメンツ技術部の上野です。

 

一番シンプルなのは、イベントストラクチャのタイムアウト機能を使用することだと思います。イベントケースとしてアプリケーション >> タイムアウトを作成すると、イベントストラクチャのみだり上にある砂時計マークの入力端子にタイムアウトを設定できます。これにより、何もイベントが発生せずにタイムアウト時間を経過すると、イベントストラクチャを抜けてWhileループが一度回り、再度イベント待機になります。

 

event example.png

 

上記の設定では、5000ミリ秒(5秒)をタイムアウト値に設定しており、何もボタンを押さなければイベントケースのタイムアウトを抜け、ボタンが押されればボタンに対する値変更イベントケースを抜け、Whileループによりそれを繰り返します。

 

5秒経過したら、LED表示器をTrueにして1秒待機し、同じ表示器の値プロパティノードでFalseに戻して消灯しています。

 

イベントストラクチャを使用するにあたり、以下のページを参照することをおすすめします。

 

作成したVIを添付致しますのでご確認いただけると幸いです。

0 件の賞賛
メッセージ2/5
1,915件の閲覧回数

確認できました。ありがとうございました。

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

失礼致しました。旧バージョン保存機能で2016用に保存したファイルを添付致します。

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

ボタンを押したときの条件が抜けておりましたので、その部分を修正したバージョン2を添付致します。

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