NI製品ディスカッション

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

DAQmxから1つのNIデバイスに対して複数のタスクを同時に実行させたい

解決済み
解決策を見る

下記のような構成で、DAQmxのC#ライブラリを使用してNIのデバイスを制御しています

  • NI cDAQ-9188
    • NI 9215
    • NI 9205
    • NI 9264

この構成にて、下記のようなチャンネル選択で複数のタスクを平行に(マルチスレッドで)実行するプログラムを記述しています。

  • タスク1
    • NI 9205のch0~30の電圧を読み出す
  • タスク2
    • NI 9215のch0~3の電圧を読み出す
  • タスク3
    • NI 9264のch0~3から電圧を出力する
  • タスク4
    • NI 9205のch31の電圧を読み出す
  • タスク5
    • NI 9264のch4から電圧を出力する

しかし、タスク4をCommit状態にしたところで下記のようなエラーが発生します。

 

NI Platform Services:  The specified resource is reserved. The operation could not be completed as specified.

 

これはタスクで物理・仮想チャンネルがかぶらなくても、1つのNIデバイスにアクセスすることのできるタスクは1つまで、という意味なのでしょうか?

これを回避する方法はないのでしょうか?

 

回答よろしくお願いします。

 

 

 

 

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

タスク4のコミットでトラぶってるのは、1つのモジュールに別々のタスクからアクセスしようとしていることが原因では?

>> 1つのNIデバイスにアクセスすることのできるタスクは1つまで

正確には、1つのNIデバイスの1機能にアクセスできるタスクは1つだけです。

9205のタスクは纏めれないんでしょうか。

 

GEN II CompactDAQシャーシ(cDAQ-9171/9174/9178/9181/9184/9188/9188XT/9191)で、同時に実行できるタスクの数はいくつですか

http://digital.ni.com/public.nsf/allkb/3123AE6550B433A886257D080002941E

併せてこういった資料もありますので、cDAQでのプログラミングにはご注意ください。

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

GCentral
メッセージ2/4
4,980件の閲覧回数

結局何が解決になったのですか?

 

何か一言もらえると、こちらとしてもうれしいです

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

GCentral
0 件の賞賛
メッセージ3/4
4,886件の閲覧回数

返信ありがとうございました。

 

リンク先などの資料で、アナログ入出力タスクの制限数について理解出来ました。

 

NI 9205に割り当てていたタスクを1つにまとめて使用することで解決することにしました。

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