問題タブ [nidaqmx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
421 参照

qt - Qt Creator のさまざまなコールバックを持つ DAQmxRegisterSignalEvent

皆さん、明けましておめでとうございます!PCI 6259 + BNC2110 を Qt Creator IDE (C++ ベース) と接続しています。外部トリガーを使用して信号をサンプリングしようとしています。トリガー信号を生成する実行中のマイクロプロセッサがあります。

DAQmxCfgChangeDetectionTimingは良いアプローチのようです。port0/line0にフックされた信号の立ち下がりエッジでサンプリングするように構成しました。したがって、DAQmxRegisterSignalEventは、サンプリングを実行するコールバックを開始します。

問題は、DAQmxRegisterSignalEvent に反応する 2 つ以上のコールバックが必要なことです。現在、2 つの virt が必要です。チャネル - port0/line0およびport0/line1。それらのいずれかの変更は、それ自体のコールバックを呼び出す必要があります。理論的なアプローチは次のようになります。

ただし、このスキーマは機能しません。line0またはline1で変更が発生した場合、DAQmxRegisterSignalEvent変更がどの行で行われたかを気にしないため、コールバックの 1 つを呼び出そうとします。このアプローチを機能させる方法はありますか?どの行で変更が発生したかを調べる方法は? 別のコールバック関数をトリガーするには、line0 または line1 を変更する必要があります。事前にどうもありがとうございました。

0 投票する
1 に答える
1626 参照

python-2.7 - Mac OSX 上の Python および NIDAQmx ベースを使用した USB6009 からのアナログ出力

Python と DAQmx Base を使用してアナログ入力を記録し、USB 6009 デバイスからアナログ出力を生成しようとしています。私は見つけたラッパーを使用しており、AI を取得できましたが、AO に苦労しています。タスクの生成などを処理する基本クラス NITask があります。私が呼び出しているクラスは以下のとおりです。クロックを設定しようとすると、関数がエラーをスローします。エラーが発生しない場合でも、出力に電圧が発生しません。どんな助けでも大歓迎です。

ありがとう!

0 投票する
1 に答える
3549 参照

c++ - NI DAQMX c/c++によるデジタル/アナログ出力生成

C/C++を使用して、NI DAQMXから電圧出力を生成する方法を見つけるのに苦労しています。

NI デバイス ライブラリの使用方法がわかりません。また、役立つ例がオンラインで見つかりません。

これを解決するために共有できる例や洞察はありますか?

0 投票する
1 に答える
1748 参照

nidaqmx - DAQmxCfgDigEdgeStartTrig の使用中にエラーが発生しました

サンプル クロックと「サンプリング開始」トリガーを使用して 8 ビット入力をサンプリングしようとしています。タスクを構成する方法は次のとおりです。

QT Creator で実行すると、次のエラーが表示されます。

DAQmx エラー: 指定されたプロパティはデバイスでサポートされていないか、タスクに適用できません。プロパティ: DAQmx_StartTrig_Type

タスク名: _unnamedTask<0>

ステータス コード: -200452 DAQmx エラー: 指定されたタスクが無効であるか、存在しません。ステータス コード: -200088

以前は、デジタルの代わりにアナログ入力を使用していたとき、問題はありませんでした。チャンネル構成の何が問題なのか、誰にもわかりませんか? PCI6259 と BNC2110 を使用しています。

0 投票する
3 に答える
323 参照

c++ - float 配列から double 配列に値を渡すときの奇妙な動作 (C、C++)

NI-DAQ を使用するアプリケーションを開発しています。以下は、プロバイダから提供されたいくつかのメソッドです。

基本的に someMethod() を呼び出して、myArray[] と result[] の両方に 6 つの要素 ( [6] ) を持つ配列を提供します。コードでわかるように、その後 newMethod() が呼び出され、float myArray[6] が double myArray[] 引数に渡されます (このコードの開発者が double 配列の使用を選択した理由がよくわかりません。 newMethod() 内で宣言されている唯一の配列は float 型であるため)。

ここで問題が発生します。for ループの内部では、一部の値は問題なく渡されますが、4 番目と 5 番目の値が newMyArray[] に渡されると、両方の値に対して "-1.#INF0000" が返されます。一見何かガベージな値かと思いましたが、実行のたびに「-1.#INF0000」がついています。

C言語が扱いにくい場合があることは知っていますが、なぜこれが起こっているのか本当にわかりません...

0 投票する
3 に答える
1055 参照

c# - c#キャストまたは変換

NI ADCでいくつかの作業を行っています。現在、AO と AI から電圧を読み込んでいますがList<dynamic>、console.writeLine に問題があります。

プログラムは、コンパイル時ではなく実行時に、データを格納する場所を決定する必要があるため、動的型を使用しています。

そのため、リストの内容を印刷したいときはいつでも、私が何を求めているのかわからないので、選択した要素データではなく、保存されているタイプを返します。

次に、これが出力されSystem.Double[]ます。要素のタイプではなく、要素が実際に格納しているものを出力するにはどうすればよいですか? 求めているものを得るためにさまざまな方法を試しましたが、C# の構文 (私は C++ を使用しています) に苦労しています。3 週間しか使用していません。

私はもう試した;

  • 鋳造
  • ToString() 変換
  • <double>CopyToを使用して、リスト全体の内容をリストにコピーします。

私はここで少し途方に暮れています。

0 投票する
0 に答える
1025 参照

matlab - Matlab: 画像取得中に NI DAQ を介してアナログ出力信号 (電圧) を生成する

Matlab では、USB3 カメラで画像を取得しながら、National Instruments DAQ を介して特定の時点 (またはフレーム番号) でアナログ出力信号 (電圧) を提供しようとしています。

画像取得が t=0 (フレーム 0) で開始する場合、アナログ出力信号は t=40 秒 (または、10 fps を想定する場合はフレーム 400) から t=42 秒 (2 秒の長さ) まで提供される必要があります。画像の取得は、出力電圧の生成中に続行する必要があります (画像の取得は、t=90 秒 (またはフレームでカウントする場合はフレーム 900) でのみ停止する必要があります)。

以下に示すアナログ出力信号 (電圧) 生成用のコードを、画像取得用の Matlab スクリプトに組み込むにはどうすればよいですか? どんな助けでも大歓迎です!