0

私は現在、Simulink でのデータ取得とリアルタイム処理を含むプロジェクトに取り組んでいます。このプロジェクトのために特別に購入したかなりおしゃれな DAQ ハードウェア、つまりナショナル インスツルメンツの cDAQ デバイス (USB) を継承しました。この時点でハードウェアを変更すると、コストがかかりすぎます。

以前、DAQ ツールボックスで動作する Simulink ブロックを見たことがあったので、当然、Simulink で cDAQ を使用できると思いました。ただし、さらに調査すると、ブロックは PCI NI デバイスでのみ機能し、私たちが持っているような「コンパクトな」USB デバイスでは機能しないようです。

DAQ ツールボックスのセッション ベースのインターフェイスを使用し、受信データをキューに入れ、onOutputs の出力ポートを介してプッシュするレベル 2 MS 関数を作成することで回避策を作成しました。これはうまく機能しているようです。

私の質問は次のとおりです。MathWorks が DAQ ブロックを cDAQ デバイスで動作させないことにした理由はありますか? USB に遅延の問題が発生する傾向があることは理解していますが、これが可能であると考えるのは本当におかしいですか? 実際にはかなり単純に見えるとさえ言えますが、DAQ ツールボックスで Simulink が cDAQ デバイスをサポートしていないことには、確かに動機があるに違いありません。問題を単純化しすぎていませんか?もしそうなら、どのように?

ご協力いただきありがとうございます。

4

1 に答える 1

0

Mathworks の動機は必要に迫られている可能性が高く、それを求めるユーザーは多くないかもしれません。

これが役立つかどうかはわかりませんが、データ取得を行うための C ライブラリを作成するのは非常に簡単で、おそらくより高速です。その後、ライブラリ内の関数を Simulink から呼び出すことができます。このソリューションには、DAQ ボードを完全に制御できるという利点もあります。DAQmx の配布ディスクには、多くの C サンプルがあります。

于 2013-03-27T14:37:19.060 に答える