| メーカー | ナショナルインスツルメンツ |
|---|---|
| 利用可能 | 生産中 |
| Webサイト | www.ni.com/compactrio |
CompactRIO(またはcRIO)は、ナショナルインスツルメンツが産業用制御システム向けに開発したリアルタイム組み込み産業用コントローラです。CompactRIOは、リアルタイム コントローラ、再構成可能なIOモジュール(RIO)、FPGAモジュール、イーサネット拡張シャーシを組み合わせたものです。[2]
ハードウェア
CompactRIOシステムは、リアルタイムコントローラシャーシ、再構成可能なIOモジュール(RIO)、FPGAモジュール、およびイーサネット拡張シャーシを組み合わせたものです。[2]サードパーティのモジュールも利用可能で、通常はNI製のシャーシコントローラと互換性があります。
CompactRIO リアルタイム コントローラには、制御アルゴリズムを実装するためのマイクロプロセッサが含まれており、幅広いクロック周波数をサポートします。コントローラは、National Instruments C シリーズ I/O モジュールとのみ互換性があります。I/O モジュールはホットスワップ可能です(ユニットの電源がオンの状態で接続/切断できます)。
FPGA モジュールは、再構成可能なファブリック上で高性能データ処理を実装するために使用できます。このようなデータ処理は、接続された I/O モジュールからのデータ ストリーミングに対して実行できます。このモジュールは、以前のモデルではXilinx Virtex高性能 FPGA によって、新しいモデルでは Kintex-7、Artix-7、または Zynq Xilinx FPGA によって動作します。FPGA は個別にプログラムでき、内部PCIバスを使用してリアルタイム コントローラに接続され、コントローラ上でローカルに動作するだけでなく、PC 上の LabVIEW から LAN 経由でも動作する LabVIEW インターフェイスを介してアクセスできます。
イーサネット シャーシには、CompactRIO コントローラを PC に接続できる イーサネット ポート ( 8P8C ) が含まれています。シャーシには、4 スロットと 8 スロットの種類があります。
サードパーティのモジュールは、LCD や VGA ディスプレイなどの追加機能用に製造されています。新しい高性能 CompactRIO コントローラには、操作を観察するためにモニターに接続できる VGA グラフィックスも組み込まれています。
ソフトウェア
CompactRIOコントローラは、ナショナルインスツルメンツのグラフィカルプログラミング言語であるLabVIEW、[2]、 C、C++、またはJavaでプログラムできます。 [3]組み込みFPGAをプログラムするにはLabVIEWを使用する必要がありますが、VHDLおよびVerilogコンポーネントを含めることもできます。
新しいコントローラには、Linux FoundationのReal-Time Linux Collaborative Project [5]の一環として作成されたLinuxベースのRTOSであるNI Linux Real-Time [4]が搭載されています。LabVIEWで作成されたプログラムは、ターゲットへのコードの展開中に、NI Linux Real-Time用のマシンコード[6]とXilinx FPGAツールチェーン用のハードウェア記述言語(HDL) に自動的にコンパイルされます。
リアルタイム コントローラで実行される Linux Real-Time OS はファイル システムをサポートしているため、コントローラ レベルでデータ ロギングも利用できます。LabVIEW のフル開発システム バージョンには、cRIO のプログラミングに必要なモジュールは付属していません。ハードウェアをプログラミングするには、Real-Time モジュールと FPGA モジュールを別途購入し、LabVIEW とともにインストールする必要があります。プログラミングは、Windows オペレーティング システムを実行するホスト PC で行われ、イーサネット経由で cRIO に展開されます。
LabVIEW FPGAインターフェースはネットワーク対応で、最大7つの同時アクセスをサポートしているため、FPGA VIを実行するためにコントローラ上でリアルタイムVIを実行する必要はありません。これは、RIO://ip/RIO0のような接続URLで行われます。
読み取り/書き込みインターフェース ブロックは複数のアクセサーを 1 つにパッケージ化しているように見えますが、実際には追加アクセスごとに往復遅延が発生してループし、遅延がすぐに蓄積される可能性があることに注意してください。この問題は、書き込み/読み取りアクセスごと、およびアクセサーごとに、すべてのコントロールを 1 つのクラスターにグループ化し、すべてのディスプレイを別のクラスターにグループ化することで回避できます。コントローラー上でローカル リアルタイム VI を実行して、干渉なしで同時に異なるクラスター セットにアクセスすることが可能です。また、あるクラスターから別のクラスターにデータをパイプすることで、このリアルタイム VI と PC VI の間でデータを効率的に、非常に低いレイテンシで流すことができます。
データは、ネットワーク インターフェイス経由でも機能する「FPGA から HOST」および「HOST から FPGA」DMA FIFO を介してパイプすることもできます。インターフェイスを持つ各 VI、各ホスト FIFO 接続、および各 IRQ 接続はすべて、コントローラによってホストされる FPGA へのアクセサーとしてカウントされます。これらの FIFO は通常、コントローラのイーサネット接続を飽和させ、帯域幅と、慎重に使用した場合のレイテンシの両方の点で優れたパフォーマンスを提供します。
LabVIEW FPGA インターフェースは C でも利用できます。
アプリケーション
CompactRIO システムは、小型フォームファクタが重要となる産業用制御ユニットとしてよく使用されます。
CompactRIO は、厳しい条件下で限られたスペースで動作するように設計されたヘッドレス システム(ユーザー インターフェイスなし)としてよく使用されます。CompactRIO システムは、監視目的や記録されたデータの表示に使用できるホスト PC に接続することもできます。
その他の応用分野としては、産業用IoT(IIoT)向けインテリジェントシステム、パワーエレクトロニクスおよびインバータ制御、[7]回転機器の状態監視、電力品質監視、輸送および重機、レーザーまたは油圧制御などが挙げられます。
CompactRIO は、2009 年から 2015 年までFIRST Robotics Competitionの主要制御ユニットとして使用されていました。現在は National Instruments roboRIO に置き換えられています。
参照
- コンパクトDAQ
- ロボリオ
参考文献
- ^ 新しい CompactRIO 製品でシステム パフォーマンスを向上 Archived 2017-05-01 at the Wayback Machine、National Instruments
- ^ abc 「What is CompactRIO?」NI。2011年6月4日時点のオリジナルよりアーカイブ。2011年6月1日閲覧。
- ^ 「C、C++ Embedded System Design Tools」。NI。2016年6月2日時点のオリジナルよりアーカイブ。2016年6月7日閲覧。
- ^ 「NI Linux Real-Time 入門」。NI。2016 年 6 月 18 日時点のオリジナルよりアーカイブ。2016 年6 月 7 日閲覧。
- ^ 「Linux Foundation、リアルタイムLinuxを推進するプロジェクトを発表」。Linux Foundation。2016年6月17日時点のオリジナルよりアーカイブ。2016年6月7日閲覧。
- ^ 「NI LabVIEW コンパイラ: 内部構造」。NI。2012 年 4 月 6 日時点のオリジナルよりアーカイブ。2011 年9 月 10 日閲覧。
- ^ Buso, S.; Caldognetto, T. (2015). 「マイクログリッドインバータ用デジタルコントローラのラピッドプロトタイピング」. IEEE Journal of Emerging and Selected Topics in Power Electronics . 3 (2): 440–450. doi :10.1109/JESTPE.2014.2327064. S2CID 47562678.
外部リンク
- コンパクトRIO
