問題タブ [daq-mx]
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.
matlab - Matlab データ収集、PCI カードが PXI シャーシ カードとして誤って検出される
Matlab 2014b、2014a、2013b、2013a (simulink を使用しない)
Windows7 64 ビット セッション ベースのデータ取得ツールボックス
NI-DAQmx 14.1 および NI-DAQmx 14.0 を使用する
PXI シャーシにあると誤って検出される PCI カードがあります。これにより、実際に取り付けられている PCI カードではなく、存在しない PXI シャーシ カードを誤って参照しているため、次のような操作が失敗します。
obj.startBackground()、obj.startForeground()、どちらもエラーを生成します。例えば:
このモジュールは、PXI シャーシ 4294967295 のスロット 4294967295 にあります。
誰かが解決策をアドバイスしてもらえますか? これは、daqsupport が生成するテキスト ファイルとしての出力も示しています (ただし、上記の情報とほとんど重複しています)。
これは、64 ビット Windows7 の新規インストールで発生することに注意してください。
nidaqmx - NI DAQmx -- ソフトウェアトリガの構成方法は?
National Instruments DAQ mx を使用してソフトウェア トリガを有効にする方法を理解することはできません。ドキュメンテーションには、プロパティについて漠然と言及されているか、スイッチ デバイスでのみ使用できると書かれていますが、非常に不完全です。もちろん、NI Web サイトの 1 つのサンプル ページは完全に空白です。LabView を持っていない、または欲しくない。
1000個のサンプルを同時に取得および生成するようにセットアップしようとしています。アナログまたはデジタルのハードウェア トリガーに関するドキュメントはたくさんありますが、同じソフトウェア命令で生成/取得を開始できるようにしたいだけです。
2 つの連続した命令 (1 つはサンプルの生成用、もう 1 つはサンプルの取得用) を発行する場合、おそらく十分ですが、2 つのタスクを開始する間のタイミング スキューがわからないため、適切に実行したいと考えています。
では、2 つのタスクを同時に開始するソフトウェア トリガーを生成するにはどうすればよいでしょうか。
ところで、私は Windows 7 x64 の USB6363 デバイスで PyDAQmx を使用しています。
ありがとう
c++ - C++ Qt 非同期プロセスの高速タイミングに関するアドバイス
私は現在、測定デバイス用にセットアップする必要がある Qt GUI を扱っています。このデバイスは、ライン カメラから画像を非常に高速に取得するフレーム グラバー カードを使用しています。それほど複雑ではない私の画像処理は完了するのに 0.2ms かかり、QCustomPlot で信号と処理結果を表示するのに約 40ms かかりますが、まったく問題ありません。GUI 出力の他に、処理された信号は NI DAQ デバイスによってアナログ信号として出力されます。
私の問題は、一定の周波数でアナログ信号を更新し、それでも時々 GUI を更新する必要があることです。
私の現在のアプローチまたはアイデアは、データ プール スレッドと 2 つのワーカー スレッドを作成することでした。1 つのワーカー スレッドがフレーム グラバーからデータを受け取り、それを処理してデータ プールを更新します。2 番目のワーカー スレッドは、NI DAQ デバイスのクロックによって与えられる約 2 ~ 5kHz の特定の周波数で、NI DAQ のアナログ チャンネルを更新します。また、GUI スレッドは時々データ プールを読み取り、信号表示を約 20 ~ 30Hz のレートで更新します。
Qt スレッド管理とシグナル アンド スロット メカニズムを使用したかったのは、その「シンプルさ」と、Qt およびそのスレッド クラスと組み合わせてスレッドを既に使用していたためです。
誰かがアイデアや提案を持っていますか?スレッドのタイミングで問題が発生する可能性はありますか?
さらに、マルチコア CPU 上の 1 つの単一 CPU コアに 1 つのスレッドを割り当てて、このコアがこの単一スレッドのみを処理することは可能ですか?
labview - Labview: 複数のチャンネルから電圧を読み取ることができません (DAQmx 読み取り)
National Instruments の SCB 68A コネクタがあり、そこから開放電圧を読み取りたいと考えています。そこで、National Instruments ( https://decibel.ni.com/content/docs/DOC-28502 )が提供するサンプル コードを使用しました。
妥当な値である 5 mV を得ました (オシロスコープでノイズ信号を測定しました)。ここで、いくつかのチャネルからノイズ信号を読み取りたいと思います。そこで、VI を少し変更しました (ドキュメントによると、チャンネルの配列を作成して平坦化する必要があります)。
しかし、今では両方のチャンネルで約 200 mV を読み出しています (そのうちの 1 つは最初の VI と同じです)。意味がありません。
私は何を間違っていますか?
ユーザーがチャンネルを選択できるようにしたいので、「Dev1/ai0:4」とだけ書くわけにはいきません。
編集: DAQ 14.0.0 を使用しています。
編集 2: 1) デバイスには何も接続されていません - ノイズ信号を読みたいだけです。2) 温度センサー モードを無効にして MIO のコネクタを使用しています (デフォルト設定)。
qt - DAQから読み取るためにqtでプログラムを実行中にエラーが発生しました
NI USB 6009 からアナログ DC 電圧を読み取るためのシンプルなデータ集録システムがあります。また、NIDAQmxbase 機能を使用するための qt コンソール アプリケーションも作成しました。
.pro ファイルは次のとおりです。
プロジェクト フォルダーに .lib ファイルと .h ファイルを含めました。
私のmain.cppファイルは次のようになります
しかし、プログラムを実行すると、「DAQmxBase エラー -200428: タスク/チャンネルに渡された値が無効です」というエラーが表示されます。
デバイス名がNI MAXと同じであることを確認しましたが、問題は解決しません。
助けてください
labview - NI光学式エンコーダなしでDAQmxを使用できますか?
DAQmx は NI ハードウェアのみで動作しますか、それとも他のブランドの機器でも動作しますか? できない場合、ステッピング モーターの位置を格納する光学式エンコーダーのブロック図を作成するにはどうすればよいですか? 初歩的な質問ですみません、よろしくお願いします。
labview - エラー -200361 USB-6356 X シリーズ DAQ ボードを SPI 制御に使用
USB-6356 DAQ ボードを使用して、SPI 経由で IC を制御しています。
NI SPI デジタル波形ライブラリの一部を使用してデジタル波形を作成し、小さなラッパー VI を使用してコードを送信します。
私の IC は RTD で温度を測定します。現在、制御する VI には「単一測定用のプッシュ」スタイルのボタンがあります。押すと、SPI 通信を実行している一連の他の VI から温度が返されます。
何回か押した後 (ボタンを非常に速くクリックすると、時間的には速くなりますが、必ずしもクリック数が増えるとは限りません)、VI はエラー -200361 を生成します。これは、公称 DAQ ボードでの FIFO バッファ オーバーフローです。
それが実際に問題の原因であるかどうかは不明ですが、そうではないと思います...
USB-600{0,8,9} デバイスのこのエラーを説明するNI ガイドは有望に見えますが、提案に従っても役に立ちませんでした。私の読み取りタスクはデジタルであるため、「DI.UsbXferReqCount」をアナログに置き換えました。デフォルトを読み取ると4が返されたので、プロパティを書き込みに変更して「1」を選択しましたが、これは違いはありませんでした。
デバイスマネージャでDAQボードをアンインストール、抜き差ししてみましたが、これも変わりませんでした。
私の推測では、読み取りタスクと書き込みタスクの「有限サンプル」部分の終了後に追加のクロック サンプルが生成され、これらがオーバーフローする空白データを追加している可能性がありますが、返された温度は奇妙なデータを示していません。この場合、VI は読み込まれたデータを正しい温度として解釈できないと想定していました。
使用しているTransmit VIのブロックダイアグラムの画像を添付しましたが、実際に実行するにはVIのライブラリ全体が必要です。
制御 VI は、NI フォーラムのほぼ同じフォーラム投稿に添付されています。
python - PyDAQmx.Task() が RecursionError を再発する
簡単なコード:
レイズ:
関数のエラー:
理由がわかりません。
「instrumental-lib」と「NiceLib」(http://instrumental-lib.readthedocs.io/en/latest/ni-daqs.html)をインストールしようとした後ですが、Anaconda、PyDAQmx、およびNIDAQmxドライバーを再インストールしても何もありません効果。