ナショナルインスツルメンツでは、CAN用に2つの異なるカテゴリのCシリーズモジュールを提供しています。NI-XNETおよびNI 985x。
NIでは、NI-XNETファミリの一部として、NI-9862およびNI-9861という2つの1ポート高速/FDおよび低速/フォールトトレラントCシリーズCANモジュールを提供しています。他のNI-XNETデバイスと同様に、これらのモジュールは、他のNI CシリーズCANモジュールと異なる主な機能を提供します。
図1: NI 986x NI-XNET高速/FDおよび低速/フォールトトレラントCシリーズCANモジュールは、NI CompactDAQおよびNI CompactRIOモジュール式プラットフォームの両方で使用できます。
NIでは、2ポートの低速CシリーズCANモジュールであるNI-9852と、高速CシリーズCANモジュールであるNI-9853も提供しています。これらのモジュールのユーザプログラミング体験およびプラットフォーム互換性は、NI-986xモジュールのものと異なります。それらは提供する
図2:NI 9852およびNI 9853 CシリーズCANモジュールは、CompactRIOプラットフォームで柔軟なFPGAレベルの制御とともに使用できます。
NI 986xモジュールを使用すると、フレームと信号をネットワークで読み書きする基本的なCAN通信を実装できます。NI-XNETモジュールとして使用する場合、NI-XNET関数呼び出しを直感的に行えるため、開発が簡素化され、開発時間が短縮されます。cRIO-911xまたはcRIO-908xシャーシを使用して、USB、イーサネット、およびWi-Fi NI CompactDAQシステムおよびCompactRIOシステムで同じAPIを使用できます。
図3:NI-XNET APIは、CANフレームおよび信号を直感的に読み書きするための高レベル関数呼び出しを提供します。
NI 986xモジュールはNI-XNETモジュールであるため、さまざまな環境や設定に対して標準化が必要なCANアプリケーションやプロジェクトの開発に最適です。両方のプラットフォームに同じNI-XNET APIを適用することで、NI 986xモジュールをモバイルUSB、イーサネット、およびWi-FiベースのNI CompactDAQシステムおよびヘッドレス組込CompactRIOシステムに使用できます。さらに、PXIおよびPCI CANインタフェースに同じAPIが使用されているため、コピー&ペーストするだけで、同じコードを任意のハードウェアプラットフォームに簡単に移植できます。これにより、PXIを使用したラボテストシステムから、NI CompactDAQを使用したモバイルUSB CAN通信システム、CompactRIOを使用したヘッドレスCANベースロガーまで、すべてに共通のAPIを使用するため、開発時間を大幅に短縮できます。
リアルタイムテストでは、リアルタイム環境を使用してテストアプリケーションを実装します。エンジニアは、主にテストシステムの信頼性や確定性を高めるためにリアルタイムテスト技術を使用します。これらの技術は、今日の多くの製品やシステムの開発にも重要な役割を果たしています。たとえば、耐久性、ライフサイクル、長時間または長時間オペレータ不在で稼働するその他のテストシステムには、リアルタイム実行プラットフォームが提供する優れた信頼性が必要です。優れた信頼性は、環境テストセル、ダイナモメータ、HIL (Hardware-In-the-Loop) シミュレータ、およびリアルタイム実行プラットフォームの低ジッタ確定性を必要とする閉ループ制御実行を使用する同様のテストシステムにも求められます。
NIでは、リアルタイムテストアプリケーションをより効率的に実装するためのソフトウェア製品を提供しています。NI VeriStandは、構成ベースのソフトウェア環境であり、リアルタイムテストシステムを作成するためのすぐに使用できるカスタマイズ可能なツールです。多くのリアルタイムテストアプリケーションではCAN通信が使用されており、NI VeriStandではすべてのNI-XNET製品がネイティブサポートされます。つまり、NI 986xモジュールがネイティブサポートされます。NI VeriStandは、CANアプリケーションの一般的な機能に加えて、アプリケーションの目的に合わせてソフトウェアを拡張できる柔軟性も備えています。
図4: NI VeriStandのNI-XNET CANインタフェースは、多くの一般的なCAN通信タスクおよび関数用に構成できます。
NI 986xインタフェースと同様に、NI 985x CシリーズCANモジュールは基本的なCAN通信に使用できます。主な違いは、異なるモジュールでのユーザエクスペリエンスです。NI-XNET APIを使用してNI 986xインタフェースなどのモジュールをプログラムする代わりに、LabVIEW FPGA APIを使用してNI 985xモジュールにハードウェアのプログラミング用の下位ソフトウェアAPIを提供します。このAPIを使用すると、他のCompactRIO用Cシリーズモジュールと同じLabVIEW FPGA APIを適用しながら、CANフレームの読み取りおよび書き込みのタイミングを完全に制御できます。
図5:NI 985x CANインタフェースは、LabVIEW FPGA APIを使用してプログラミングされ、フレームの送受信時間などのハードウェアを下位レベルで制御できます。
NI 985x CシリーズCANインタフェースは、LabVIEW FPGAモジュールを使用してプログラムするため、他のCシリーズモジュールと同じFPGA APIを使用して汎用I/O用にプログラムし、CompactRIOプラットフォームのFPGAバックプレーンの速度と柔軟性を活用できます。汎用データ収集とCAN通信を同じFPGAアプリケーションで組み合わせることで、CANハードウェアで高速なトリガとターンアラウンドタイムを実現できます。たとえば、CAN関数呼び出しのために汎用アナログ入力モジュールのFPGAアプリケーションからリアルタイムホストにデータを渡す代わりに、FPGAアプリケーションから直接NI 985x CANインタフェースを呼び出すことができます。
図6:NI 985x CANモジュールをFPGAアプリケーションの他のI/Oモジュールと併用すると、高速で柔軟性のあるCANトリガを実現できます。
また、NI 985x CANモジュール用のLabVIEW FPGAプログラミングAPIを使用して、ハードウェアで送受信されるCANデータをバイトレベルで高速に操作できます。CANフレームの情報は、システムのリアルタイムコントローラにデータを送信せずにLabVIEW FPGAアプリケーションで読み取りおよび変更できるため、これらのモジュールは、このタイプのデータ操作に対して効率的で高速です。
図7:NI 985x CANインタフェースおよびLabVIEW FPGAを使用すると、CANフレーム内のすべてのデータをバイト単位で素早く操作できます。
アプリケーションのニーズに応じて、特定の環境やCAN関連プロジェクトに最適な主な機能と利点を備えたさまざまなNIモジュール式プラットフォームおよびCANインタフェースを選択できます。各CANインタフェースおよびNI Cシリーズプラットフォームの長所を理解することで、アプリケーションに適したCANモジュールを選択し、プロジェクトの目標を達成するのに役立ちます。