CompactRIOシステムを使用してCシリーズモジュールから信号を生成および取得するには、次の3つの方法があります。
スキャンエンジンの使用
LabVIEWリアルタイムで信号を取得して分析するチュートリアル に従って、スキャンモードを使用したデータ収集を開始します。出力モジュールの場合、そのモジュールのに対するIOノードには出力端子ではなく入力端子があるため、出力値を直接ノードに書き込むことができることに注意してください。
画像:左側は、プロジェクトエクスプローラーのモジュールを含むターゲットです。モジュールがFPGAターゲットと同じレベルにあることに注意してください。右側はブロックダイアグラムで、アナログ出力値がモジュールの端子の1つに書き込まれ、アナログ入力値とデジタル入力値の両方が読み取られています。
FPGAの使用
LabVIEW FPGA入門のチュートリアル に従って、 LabVIEW FPGAでのプログラミングがどのようなものかを確認し、アナログおよびデジタルI / Oを使用して基本的なタスクを実装します。
画像:左側は、プロジェクトエクスプローラーのモジュールを含むターゲットです。モジュールがFPGAターゲットの階層内にあることに注意してください。右側はブロックダイアグラムで、アナログ出力値がモジュールの端子の1つに書き込まれ、デジタル出力ブール値が書き込まれます。 またFPGAで読みとられているアナログ入力とデジタル入力の値もあります。
DAQmx *の使用
*注: DAQmxはすべてのCompactRIOコントローラーでサポートされているわけではありません。詳細はこちを確認してください。 CompactRIOのNI-DAQmx
CompactRIOをNI-DAQmxAPIで使用するためのチュートリアル に従って、 NI-DAQmxAPIを使用して簡単な取得を設定します。
画像:左側は、プロジェクトエクスプローラーのモジュールを含むターゲットです。モジュールがリアルタイムリソースセクション内にあることに注意してください。右側はブロックダイアグラムで、DAQmx APIを使用して、モジュール番号2から1000Hzで4つのアナログチャネルから入力された電圧を読み取ります。
追加情報
次の表で、スキャンモードとFPGAインターフェイスの主な違いを確認してください。
スキャンモード | FPGA | DAQmx |
---|
- プログラミングの容易さ:開発中にI / O変数をLabVIEWReal-TimeVIに直接ドラッグアンドドロップします。
- I / Oモジュールを動的に検出する機能:プロジェクトで構成されていないスロットは、挿入されたモジュールを自動的に検出します。次に、変数APIを介してこれらのモジュールを構成できます。
- フォールトエンジン:NIスキャンエンジンは、エラーを時間確定的に出力する組み込みのNIフォールトエンジンを備えています。
- 診断とデバッグ:分散システムマネージャを使用すると、プログラムの実行中に現在の値と障害を表示したり、現在のI / O値を上書きしたりできます。
|
- 最大のパフォーマンスと信頼性:FPGAチップにはOSがないため、コードは最大のパフォーマンスと信頼性を保証する方法で実装されます。
- 高速波形取得/生成(> 500 Hz) :マルチチャネルの調整可能なPIDまたはその他の制御アルゴリズムでシングルポイントI / Oを使用して、1MHzを超えるループレートで時間確定的な制御を実装できます。
- カスタムトリガー/タイミング/同期:再構成可能なFPGAを使用すると、トリガー、タイミングスキーム、I / Oまたはシャーシ同期のシンプルで、高度な、またはその他のカスタム実装を作成できます。
- ハードウェアベースの分析/生成およびコプロセッシング:多くのセンサーは、リアルタイムプロセッサだけで合理的に処理できるよりも多くのデータを出力します。
|
- 単純な構成:ドライバーが多くの構成を行うため、低レベルのプログラミングはそれほど必要ありません。
- なじみのあるAPI :これは他のDAQデバイスでも使用されるAPIであるため、他のDAQプラットフォームを使用したことのあるプログラマーにはなじみのあるプログラムが書けます。
- 限定的なサポート:上記のDAQmxセクションのリンクに示されているように、DAQmxは一部のcRIOデバイスでのみサポートされます。
|
このドキュメント で、スキャンモード、FPGA、およびDAQmxとのCシリーズモジュールの互換性を確認してください。
プログラミングのベストプラクティスの詳細と、プラットフォームでの一般的な開発の質問への回答については、 NI LabVIEW forCompactRIO開発者ガイド をご覧ください。