ホーム
サポート
LabVIEWでDAQmxの現在のタスク状態を取得する方法
LabVIEWでDAQmxの現在のタスク状態を取得する方法
更新しました Jan 11, 2024
DAQmxタスクを制御関数
には複数のタスク状態があります。
DAQmx タスク完了確認関数
でタスクの状態を照会し、実行が完了したかどうかを確認できます。ただし、プログラムの実行中に現在のタスク状態を取得する組み込みのDAQmx関数はありません。この記事では、ライブラリ呼び出しノードを構成し、それを使用して DAQmx の現在のタスク状態を取得する方法について説明します。
注: ここで紹介するサンプルは、DAQmx 19.1 以降のバージョンを対象としています。
LabVIEWを起動し、
ファイル
>>
新規VI
を選択して新しいVIを作成します。
ウィンドウ
>>
ブロックダイアグラムを表示
を選択して、ブロックダイアグラを開きます。
ブロックダイアグラム上で右クリックし、表示される
関数パレット
から、
接続
>>
ライブラリ&実行可能ファイル
>>
ライブラリ呼び出しノード
を選択します
。
選択した
ライブラリ関数呼び出しノード
関数をブロックダイアグラムにドロップします。
ライブラリ関数呼び出しノード
をダブルクリックして、その構成ウィンドウを開きます。
関数 タブで、
ライブラリ 名またはパス
として「 nilvaiu.* 」と入力します。
関数名
ドロップダウン ボックスから
DAQGetTaskState
関数を選択します。
スレッド
ボックスで
任意のスレッドで実行
を選択し、
呼び出し規約
ボックスで
C
を選択します。
パラメータ
タブに切り替えます。
この関数は整数 (対応するタスク状態の値) を返すため、
戻り値
の
タイプ
を
符号付き32ビット整数
( Int32)に設定します。
左側のパラメータリストから
戻り値
タイプ
を選択します
現在のパラメータ
セクションで、
タイプ
ドロップダウン ボックスから
数値
を選択します。
データタイプ
はデフォルトの
符号付き 32 ビット整数
(Int32) のままにしてます。
この関数はパラメータとして 3 つの整数と 1 つの文字列を受け取るため、これらを入力として追加します。
新しいパラメータを追加するには、プラス記号
+
記号をクリックします。これにより、
パス
として
値
を持っている
符号付き 32 ビット整数 (Int32)
がデフォルトで追加されます。
注: 必要に応じてパラメータの名前を変更できますが、DLL の呼び出し方法には影響しません。
今回構成する 3 つの整数
パラメータ
を
taskID
、
attributeID
や
value
として名前を付けます。
それぞれの
データタイプ
を
符号なしポインターサイズ整数
(uintptr)、
符号なし 32 ビット整数
(uint32)、
および
符号付き 32 ビット整数
(Int32) に設定します。
それぞれの整数パラメータを上記のように
名前
と
データタイプ
を編集します。 (プラス
+
ボタンをクリックして、新規パラメータを追加します。)
プラス
+
ボタンをクリックして最後のパラメータを追加し、
extendedErrorinfo
という
名前
を付けます。
タイプ
として
文字列を
選択し、
文字列形式
として
文字列ハンドル
を選択します。
必要な入力と出力を作成し、配線します。
attributeID
の値として
310A
を使用してライブラリ呼び出しノードのその端子に配線します。文字 A を挿入できるようにするには、作成した定数制御器をクリックして
プロパティ ウィンドウ
を開きます。その
表示形式
を
16 進数
に変更します。
ブロックダイアグラム上の
関数
パレット >>
文字
列パレットから
空文字列定数
をドロップし、
extendedErrorinfo
入力に配線します。
タスク入力
制御器とタスク出力表示器を作成し、
タスク入力
制御器を
taskID
に配線します。
関数
パレット
>>ストラクチャー
パレットから
ケースストラクチャー
を選択しブロックダイアグラムに配置します。
ケースストラクチャー
の
デフォルト
ケース内に
DAQmxエラー情報の書き込み
関数をブロックダイアグラム上に配置し、そのス
テータスコード
、
拡張エラー情報
や
エラー入力
端子それぞれ
ライブラリ呼び出しノード
の
戻り値
出力、
extendedErrorinfo
出力端子および、
エラー出力
端子を配線します。
注:
DAQmxエラー情報の書き込み
関数はDAQmxのMiscellaneous.llb ライブラリにあります。それは以下の場所から確認できます。
C:\Program Files (x86)\National Instruments\<LabVIEW バージョン>\vi.lib\DAQmx\miscellaneous.llb
ケースストラクチャー
を右クリックし、ポップアップウィンドウから、
前にケースを追加
を選択します。その名前を
0
とし、以下のようにエラーワイヤーそのまま
エラー出力
端子に配線します。
結果として得られる VI サンプルは、添付ファイルからダウンロードでき、以下のように表示されます。
DAQmx 19.1以降 DAQmxタスク状態の取得
注: taskID ワイヤが壊れているように見えても、プログラムは正常に動作します。
Attachments
DAQmx Get Task State Version19 and later.vi
関連リンク
NI-DAQmx入門
ライブラリ関数呼び出しノード - LabVIEWプログラミング リファレンス
Configuring the Call Library Function Node - LabVIEW基本機能
その他のサポートオプション
NIコミュニティに聞く
ディスカッションフォーラムで他のユーザーとコラボレーション
NIコミュニティでソリューションを検索する
エンジニアからのサポートをリクエストする
有効なサービス契約が必要な場合があり、サポートオプションは国によって異なります。
サービスリクエストを開く
サポートサービスの購入または更新
Was this information helpful?
Helpful
Not Helpful