07-08-2019 06:42 PM
以下のプログラムを作成したいのですが何かアドバイスないでしょうか?
ボタンが3箇所あり、それらを押してから5秒間何もイベントが発生しないときにLEDを1秒点灯する、5秒間の内にどこかのボタンが押されたら再度5秒間待ってLED点灯というプログラムを
作りたいのです。
知識が乏しいので何か案がればよろしくおねがいします。
07-08-2019 08:19 PM
平素よりNI製品をご愛顧頂きありがとうございます。
日本ナショナルインスツルメンツ技術部の上野です。
一番シンプルなのは、イベントストラクチャのタイムアウト機能を使用することだと思います。イベントケースとしてアプリケーション >> タイムアウトを作成すると、イベントストラクチャのみだり上にある砂時計マークの入力端子にタイムアウトを設定できます。これにより、何もイベントが発生せずにタイムアウト時間を経過すると、イベントストラクチャを抜けてWhileループが一度回り、再度イベント待機になります。
上記の設定では、5000ミリ秒(5秒)をタイムアウト値に設定しており、何もボタンを押さなければイベントケースのタイムアウトを抜け、ボタンが押されればボタンに対する値変更イベントケースを抜け、Whileループによりそれを繰り返します。
5秒経過したら、LED表示器をTrueにして1秒待機し、同じ表示器の値プロパティノードでFalseに戻して消灯しています。
イベントストラクチャを使用するにあたり、以下のページを参照することをおすすめします。
作成したVIを添付致しますのでご確認いただけると幸いです。
07-08-2019 08:33 PM - 編集済み 07-08-2019 08:59 PM
確認できました。ありがとうございました。
07-08-2019 08:52 PM
失礼致しました。旧バージョン保存機能で2016用に保存したファイルを添付致します。
07-08-2019 09:37 PM
ボタンを押したときの条件が抜けておりましたので、その部分を修正したバージョン2を添付致します。