問題タブ [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.
labview - NI-DAQmxでシミュレートされたデバイスから返される信号をカスタマイズすることは可能ですか?
NI-DAQmxには「シミュレートされたドライバー」機能があります。AIの場合、返される信号はノイズの多い正弦波です。任意のタイプの信号を取得するために、この動作を何らかの方法で変更することは可能ですか?
そうでない場合、ハードウェアをシミュレートするためのいくつかの代替手段はありますか?
c# - GAC から DLL を使用する実行中のコードをロードするときに System.IO.FileNotFoundException を防止する
サードパーティの API を使用して、一部のデータ取得ハードウェア (DAQmx ドライバーを搭載した National Instruments ハードウェア) にアクセスしています。そのために、ドライバー dll への参照を追加します。
ドライバーがインストールされているマシンでコードを実行しても問題ありません。しかし、ドライバーのないマシンで実行するとSystem.IO.FileNotFoundException
、try/catch でキャッチできないエラーが発生します。
API コードを実行する前に、dll が使用可能であり、そのタイプを使用できるかどうかを確認するにはどうすればよいですか。すべてのマシンがこの種のデータ取得ハードウェアをサポートしているわけではない (したがって、ドライバーがインストールされている) わけではないため、これは重要です。
よくわかりませんが、ドライバーがインストールされているマシンのGACにdllが登録されていると思います。
c# - C#.Net で DAQmx タイミング (サンプル クロック) を使用する方法
Measurement Studio を使用しています。DAQmx Timing VI
C# アプリケーションでこの機能を使用する必要があります。これを行う方法。私を助けてください。
VIはこちら
matlab - NIボードからデータを取得する際に、matlabでData Missedイベントを回避するにはどうすればよいですか?
波形データ (2 チャネル) とアナログ入力トリガー (プリトリガー モードで設定 - 負の遅延値) を取得するときに、matlab で DataMissed イベントを受信しています。
コードは次のとおりです。
このコードを実行すると、(showdaqevents(ai) を使用して) トリガー イベントが受信された後に Data Missed Events が取得されます。ただし、Data Missed Events のサンプル数は NA であるため、それらがトリガーの後に来るかどうかは完全にはわかりません。
showdaqevents 出力の例を次に示します。
matlabドキュメントの Data Missed Events を調べると、次の2 つの説明があります。
- エンジンが取得速度についていけません。
- ドライバーは、以前に取得したデータが読み取られる前に、ハードウェアの FIFO バッファーに新しいデータを書き込みました。通常、この問題は、BufferingConfig プロパティを使用してメモリ ブロックのサイズを増やすことで回避できます。
daqmem コマンドで利用可能なメモリを増やそうとしましたが、うまくいきませんでした。500000 サンプル/秒、3 つのチャネルはトリガーごとに合計約 90 MB であり、daqmem は 360MB 以上の空き容量をレポートします (バッファモードは Auto に設定されています)。while ループで getdata(ai) を定期的に呼び出してメモリをクリアする必要があるかどうか疑問に思っています。もう 1 つの可能性は、システムのサンプル レートが高すぎることです。
ハードウェア:
- デュアルコア CPU (Athlon X2 3200)、4 GB の RAM、500 GB の SATA ハードディスク
- NI PCI-6122
DataMissed イベントを取得する可能性は、トリガーを押す前にシステムに取得させる時間が長いほど (時間的に) 上がることに注意してください。
私のデータ取得コードに問題はありますか (取得の途中で一時停止することについて最も確信が持てません)? ハードウェア?気にしなくていいものなの?NI ボードを扱うには Visual Studio の方が適していますか?
php - ナショナルインスツルメンツの USB 6008 および Linux
ここにプログラムオクターブ用のデータ取得ツールボックスがあるかどうかを見に行きましたが、見つかりませんでしたhttp://octave.sourceforge.net/packages.php
私がやろうとしているのは、National Instruments USB-6008 を使用して、オクターブまたはその他のプログラムでデータを取得することです。年、月、日、時、分、秒、電圧の形式でテキストファイルにデータをエクスポートできるようにしたいと考えています。
したがって、テキスト ファイルは 1 秒ごとに読み取りを行い、テキスト ファイルには次のデータが含まれます。
仮想ボックスでテスト用に Ubuntu 10.04 Linux 64 ビットおよび 32 ビット バージョンを実行しています。Octave はこれを行うことができますか? 例はありますか、またはオクターブがこれを行うことができない場合、誰かが何か他のものを推奨できますか?
PS: matlab がこれを実行できることは知っていますが、私にとっては高価です。
ありがとう
windows - NIUSB-6008の問題
NIUSB-6008DAQカードに付属のサンプルCプログラムを実行しようとしています。「ContGen-ExtClk.c」の例を実行しようとしています。プログラムをビルドすると、次のエラーが発生します。
USB-6008に精通している方がいらっしゃいましたら、よろしくお願いします。ありがとう!
c - mingw w64 labview ビルド エラー
過去2日間、これを機能させようとしましたが、できません。多分誰かが私を助けることができます。最初にセットアップについて説明します。
ウィンドウズ7 64ビット
nidaqmx 9.1.7
mingw 64ビット
ネットビーンズ 7.1.2
def ファイルを作成しました (C:\Program Files (x86)\National Instruments\Shared\ExternalCompilerSupport\C\lib64\msvc\nidaqmx.lib から)。def ファイルには @ 記号が含まれていませんが。それが正しいか?
次に、dlltool を実行し、リンカーで使用した libnidaq.a ファイルを作成しました。
そこまですべてが機能します。問題は、ビルドしようとすると次のエラーが発生することです。
すべてが 64 ビットであると確信しているため、このエラーがどこから発生しているのかわかりません。
どんな助けでも大歓迎です。
matlab - NI ボードを使用した DAQ: Matlab & Win64
何も知らされていない傲慢な瞬間に、私は新しいデータ取得コンピューターを x64 で win7 を実行することに決めました。コンピューターで実行されているmatlab 2012aと、データ取得を行うNI PCIe6363カードがあります。私の質問は、新しい daq.Session インターフェイスと、バックグラウンドでデータを収集する方法 (私の実験の重要な要素) についてです。
私はいくつかのサンプルコードを含めています。コードが期待されることを説明しようと思います。で、実際どうなんだろう……。
コード:
期待される機能:カードからのデータを約 5 秒間連続してログします。最後のいくつかのデータ ポイントがスキャンされる直前に、データを適切な場所に保存します。その後、取得を停止します。
実結果:
適切な場所にデータが保存されていません。実際には、ScansAcquired の数がゼロであると主張しています。そしてただ止まる。
何が起こっている?リスナーをどのように設計すればよいですか?
=========
\begin{暴言}
セッションベースのDAQに関するmatlab Webサイトの文書化がどれほど不十分であるかは信じられません。タイミングの取れたデジタル I/O がありませんか? おい!
\end{暴言}
=========
-bas
python - Pythonを使用したデータ取得
NationalInstrumentsのボードを使用してデータを取得するプロジェクトに取り組んでいます。タスクを実行するための機能的なCコードがありますが、Pythonを使用したいので、GUIプログラミングはそれほど苦痛ではありません。私のCコードでは、定期的にWM_TIMERイベントを発生させるAPI呼び出しsetTimerを使用しています。Tkループにも同様のメカニズムがありますか?次のコードを使ってみました。
after()の魔法「1962」は試行錯誤で約2秒の遅延が発生すると判断されましたが、キュー内の他の内容に応じてタイムスライスがドリフトします。タイムスライスをより正確にするためにこれを行う方法はありますか?具体的には、キュー内の他のものよりも先にTkにDAQイベントを実行させることはできますか?
matlab - Matlabのデータ取得ツールボックスと画像取得ツールボックスを同期できますか?
matlab を使用して、カメラ (画像など) とアナログ電圧から同時にデータを取得したいと考えています。カメラにはimaqツールボックスを使用し、電圧を読み取るにはdaqツールボックス(NI-USBデバイスを読み取る)を次のコードで使用します。
関数SaveData
は次のとおりです。
画像と daq トレース (時間とデータ) を含む log.txt ファイルを取得しますが、外部トリガー (カメラをトリガーする) または他のクロックを使用して 2 つを同期するにはどうすればよいですか? この例では、daq はカメラのトリガー TTL 信号 (@ 50 Hz) を読み取るため、各 TTL パルスを画像に割り当てたいと考えています。
補遺:この件 に関するいくつかの議論 (このようなもの) を検索して見つけ、Mathworks Web サイトにある例を読みましたが、答えが見つかりませんでした。ドキュメントには、外部イベントでマルチトリガー取得を開始する方法が示されていますが、説明されている取得は DAQ ベースの入力にのみ関連しており、カメラ ベースの入力には関連していません (フォアグラウンドでも動作しています)。