LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

イベントストラクチャについて

シリアル接続してあるバーコードリーダからある変数に値を入力しています。

その変数の値を書き換えたことをトリガにしてイベントストラクチャを起動させたいのですが、

その変数の"値変更"イベントのケースを作ったのですが起動してくれません。

どうすれば変数に値を入力したことをトリガにしてイベントを起動できますでしょうか?

もしくはその動作に近い違った手法でも結構ですのでお教えいただければと思います。

 

よろしくお願いいたします。

0 Kudos
Message 1 of 3
(3,038 Views)

値変更イベントは、私も試してみましたが、フロントパネルで行われた値変更に対してのみ発生するイベントのようです。たとえば、ローカル変数、値プロパティノード、またはノード自体に変更された値を入力しても発生しません。

 

このような場合、ユーザイベントを使用します。ユーザイベントは、開発者自身で定義するイベントのことで、これはイベントストラクチャで使用できます。(イベントストラクチャの枠を右クリック>ダイナミックイベント端子を表示を選択)

 

ユーザイベントの例は以下から見つけることができます。

 

C:\Program Files\National Instruments\LabVIEW <version>\examples\general\dynamicevents.llb\Programmatically Fire Events.vi

 

この例では、ユーザイベント生成をイベントストラクチャ内で行っていますが、ループ外でユーザイベント端子を分岐することで別の場所からユーザイベントの生成を発生させることができます。イベント自身にデータを関連づけることで、イベント生成時にイベントに応じたデータをイベントストラクチャに渡すことが可能です。

 

私自身あまりユーザイベントを使用することはありませんが、非同期の処理ができるのはありがたいですね。

TailOfGon
Certified LabVIEW Architect 2013
0 Kudos
Message 2 of 3
(3,024 Views)

返信遅くなり申し訳ありませんでした。

大変参考になりました。

 

ここに投稿した後もいろいろ探してみましたところ、

プロパティノードの値(信号)というものがあり、

それにブロックダイアグラムで値を入力すると、

フロントパネルで値を入力したのと同様の動きになるようです。

ちなみに私の使用していますLabVIEWのバージョンは8.5.1です。

 

ユーザイベントは私もほとんど使ったことが無かったのですが、

イベントストラクチャが使いやすそうだったので

今回から使用してみているしだいです。

 

ご助言いただきありがとうございました。

今後ともよろしくお願いいたします。

 

0 Kudos
Message 3 of 3
(2,992 Views)