NI製品ディスカッション

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

DAQmx チャンネル イベントストラクチャ

解決済み
解決策を見る

DAQmxで指定したチャンネル又はチャンネル数によってイベントストラクチャを作りたいのですが、そのまま条件端子に繋いでも何も入力されません。

 

どのようにすればよいでしょうか?

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

選択したチャンネルまたはその数に基づいて条件分岐をしたい場合、ケースストラクチャを使うのも一つかともいます。

 

イベントストラクチャには「値変更」イベントがありますので、チャンネルを選択する制御器でイベントを作成し、

イベントストラクチャの中の「新規値」バリューを参照して、ケースストラクチャで条件分岐をされるのはいかがでしょう。

解決済み: How to change an event in Event structure Automatically? - NI Community

 

上記トピックの解決策に、イベントストラクチャの新規値についてスクショがあるので参考になればと思います。

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
0 件の賞賛
メッセージ2/10
1,393件の閲覧回数

質問の意図がわからないのですが、具体的に、何が起こったときに何をどう動かしたいですか?

DAQmxのダイナミックイベント・・ではないですよね?

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

お返事ありがとうございます。

 

イベントストラクチャで試してみましたが、うまくいきませんでした。

 

具体的にやりたい事としては、

現在4チャンネルでの同時測定を行いたいと考えており、それぞれのチャンネルのデータを入れるフォルダを作りたいのですが、例えば2チャンネルだけといった、チャンネル数が少ない測定を行う場合でも、4チャンネル分のフォルダを作って、データが保存されるので、それを解決したいと思った次第です。

 

また、追加の質問で申し訳ないのですが、この VIだと毎回エラーコード10がフォルダ数分発生するのですが、(全て継続にすれば問題なく実行できます)原因と解決策はないでしょうか?

 

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

チャンネル数が変わったとき、必ずCH1から始まるのであれば以下のようなコードはいかがですか?

データフォルダ自動作成例.png

「再帰ディレクトリを作成」関数はLabVIEWのバージョンによっては無いかもしれないので、そのときは言ってください。内部コードを貼ります。

 

エラー10は既存のフォルダを作成しようとしたことを示します。

エラー出力をエラークリア関数につないで無視してもいいのですが、無視してはいけないエラーの時に困ります。「再帰ディレクトリを作成」関数はそのあたりをうまく処理してくれます。

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

お返事ありがとうございます。

 

再帰ディレクトリを作成関数がないので内部コードを送って頂けると助かります。

0 件の賞賛
メッセージ6/10
1,350件の閲覧回数

使用中のLabVIEWのバージョンを教えてください。

0 件の賞賛
メッセージ7/10
1,348件の閲覧回数

バージョン 16.0f5

です

0 件の賞賛
メッセージ8/10
1,346件の閲覧回数
解決策
トピック作成者Teion905が受理

付属の関数をダウンコンバートするとライセンス上まずいと思うので簡略化したVIを作りました。

メッセージ9/10
1,343件の閲覧回数

ありがとうございます。お手を煩わせてしまって申し訳ありません。

 

早速、試して見ましたが正常に動作しました。

 

これで今後チャンネル数が増えても対応できるので本当に助かりました。

 

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