数百種類のハードウェアオプションから選択できるため、制御アプリケーションに適したデータ収集(DAQ)デバイスを選択する際に考慮すべきいくつかの要素があります。まず、データ収集アプリケーションで使用するセンサのチャンネル数、データタイプ、フィルタ処理、および信号調節のニーズを理解する必要があります。次に、適切なサンプリングレートでクリアな信号を集録するために必要な確度、分解能、確定性、およびレイテンシなど、DAQデバイスに必要な性能を知る必要があります。これにより、どのDAQプラットフォームを選択すべきかが通知されます。
I/Oを完全に理解すると、アプリケーションに適したハードウェアプラットフォームを選択できます。以下のすべてのシステムは、NI-DAQmx APIを使用してデータにアクセスし、制御を迅速かつ簡単に実行するようにプログラムできます。
PC
|
CompactDAQ
|
CompactRIO
|
PXI
|
図1.USB DAQ(中央)、CompactDAQ(前面左)、CompactRIO(右)、PXI(背面左)を含むNI DAQシステム。
NI-DAQmxは、NI DAQ測定デバイスとの通信に使用するドライバソフトウェアで、200以上のナショナルインスツルメンツ製データ収集デバイスに含まれています。NI-DAQmxは、NI LabVIEW、LabWindows™/CVI、ANSI C/C++、Visual Basic 6.0、およびC#/Visual Basic .NETを含む複数のプログラミング言語をサポートしています。制御アプリケーションでは、NI-DAQmxはハードウェアタイミングのシングルポイント関数呼び出しやLabVIEW Real-Timeオペレーティングシステムのサポートなどの確定的機能を備えています。
このホワイトペーパーでは、LabVIEWでのNI-DAQmxドライバの使用について説明します。LabVIEWグラフィカルプログラミングソフトウェアは、技術者や研究者のニーズに特化した使いやすいアプリケーション開発環境です。プログラミングの経験がなくても、ハードウェアの構成、センサ測定、測定値と目標値の比較、出力信号の更新を行うことができます。NI-DAQmxドライバは、値の読み取りと書き込み、およびハードウェアI/Oと直接対話するためのグラフィカル関数を提供します。LabVIEWは、ソフトウェアとハードウェアの最適な統合を提供し、プログラミングの全体的な複雑さを軽減して開発時間を短縮します。
図2.NI-DAQmx読み取りおよび書き込み関数です。
NI-DAQmxアプリケーションプログラミングインタフェース (API) は、単純なON/OFF制御からPID制御およびその他の高度な制御アルゴリズムまで、完全に拡張可能です。以下のセクションでは、さまざまな制御システムの実装に必要なグラフィカルプログラミングの例を紹介します。
フィードバック制御システムは、測定を行い、測定値を必要な値と比較し、アクチュエータをオンまたはオフにして必要な値に近づけるというシンプルなものです。これには、通常、アクチュエータに流れる電力を制御するリレーまたはスイッチの駆動が含まれます。たとえば、毎日の空調システムはこのように動作します。温度読み取りデバイス(通常、サーモスタット)は現在の温度を監視し、温度が目標値を超えるとリレーまたはスイッチを作動させます。リレーは、温度が快適なレベルに戻るまで空調ユニットをオンにします。
図 3 は、基本的なオン/オフ制御システムを作成するための LabVIEW ブロック図の例を示しています。「DAQmx Read.vi」関数は温度の読み取り値を取得し、「大きい?」関数を使用して温度値を目標値と比較します。温度が目標値より大きい場合、TRUE値がデジタル出力チャンネルに送信され、「DAQmx Write.vi」関数でリレーを制御します。
Figure 3.ON/OFF制御システムのブロックダイアグラムの例。
多くの建物には、部屋の温度調節に役立つエアコンとヒーターの両方があります。通常、冷却と加熱は別々に行われますが、PCベースのデータ収集システムを使用して両方を同時に操作することができます。
図4は、冷却と加熱の両方を制御するLabVIEWのブロック図の例を示しています。このブロックダイアグラムでは、測定された温度値は、それぞれエアコンまたはヒーターに接続されている2つの異なる設定値と比較されます。
図4.2つの出力を持つON/OFF制御システムのブロックダイアグラムの例。
追加のロジックにより、制御システムをさらにカスタマイズし、目標値スケジューリング、温度平均化、デッドバンド構成などの機能を追加できます。同じPCベースの制御システムにデータロギングおよびレポート生成機能を追加することもできます。
単純なオン/オフ制御では、特定のシステムを必要な速度と精度で正確に制御できない可能性があります。比例-積分-微分 (PID) 制御は、業界で最も一般的に使用されている制御アルゴリズムです。PID制御の人気は、さまざまな動作条件における堅牢な性能と、シンプルでわかりやすい操作方法に起因します。LabVIEWには、PID制御システムを簡単に実装するための、あらかじめ作成されたグラフィカル関数のインストールに使用できるPID制御ツールキットがあります。基本的なPID.vi関数を図5に示します。
図5.LabVIEW PIDツールキットのグラフィカルPID関数。
PIDアルゴリズムは、名前の通り、比例係数、積分係数、微分係数の3つの基本係数から構成されています。PIDコントローラの基本的な考え方は、センサを読み取り、比例、積分、微分応答を計算して必要なアクチュエータ出力を計算することです。コントローラはこれら3つのコンポーネントの合計を計算します。図6は、1つのアナログ入力チャンネルと1つのアナログ出力チャンネルを使用したPID制御ループのブロックダイアグラムの例を示しています。
図6. 赤丸で囲まれた「PID」関数のアナログI/O制御アプリケーションです。
PID制御以外にも、プラントの状態空間モデルに基づく複数の上級制御システムと、必要なシステム応答に基づく複数のカスタム制御パラメータがあります。このような制御システムを設計するには、制御システム理論の知識と経験が必要です。LabVIEW Professionalに含まれているLabVIEW Control Design and Simulation Moduleは、このレベルの高度な機能を必要とするアプリケーションに使用できます。 このソフトウェアは、新しく設計された制御アルゴリズムのテストと反復に役立つため、高度な制御システムのプロトタイプを作成して検証する際に時間とリソースを大幅に節約できます。
図7.LabVIEW Control Design and Simulation Moduleは、グラフィカルプログラミング環境と、実際のハードウェアI/Oによる高度なAPIにより、コントローラの設計を可能にします。
NI-DAQmxはデータ収集および制御アプリケーション用の強力なAPIですが、アプリケーションによっては、DAQmxよりも確定性、レイテンシ、および制御ループの高速化が求められる場合もあります。リアルタイムオペレーティングシステム (RTOS) は、デプロイされたアプリケーションにすべてのリソースを専有することで、制御システムに最高レベルのソフトウェア確定性と信頼性を提供します。CompactRIOおよびPXIコントローラは、LabVIEWのアドオンであるLabVIEW Real-Timeモジュールを使用して、このリアルタイムOSを高度な確定性に使用できます。LabVIEWグラフィカルコードをコンパイルし、それを選択されたリアルタイムターゲット用に最適化することができます。LabVIEW Real‐Timeモジュールを使用すれば、アプリケーションの開発やPXIシステムといったすべてのNIリアルタイムハードウェアターゲットへの実装が可能です。NI-DAQmxドライバソフトウェアを使用すると、PCI、PCI Express、およびPXIプラットフォームデバイスをLabVIEW for WindowsからCompactRIOまたはPXI上のLabVIEW Real-Timeに簡単に移行でき、同じ関数呼び出しとハードウェア構成を維持できます。
ハードウェアタイミングの速度と信頼性を備えた、より高性能な制御ループを必要とするアプリケーションでは、CompactRIOまたはマルチファンクション再構成可能デバイスとLabVIEW FPGAモジュールを使用することを検討してください。 FPGAは再構成可能なシリコンチップであり、同じLabVIEWグラフィカル開発環境でプログラムできます。CompactRIOおよび再構成可能デバイスは、ユーザ定義のオンボード処理、および完全に柔軟なI/Oタイミングとトリガを装備しています。LabVIEW FPGAモジュールを使ってLabVIEWブロックダイアグラムを作成することで、デバイスの機能を構成できます。ブロックダイアグラムはハードウェアで実行されるため、プロセッサとの通信を必要とせずに、すべてのI/O信号を即時に直接制御できます。CompactRIOおよび再構成可能デバイスを使用すると、最大MHzレンジの速度で実行する複数のPID制御ループを作成できます。
図8.RIOのヘテロジニアスアーキテクチャは、リアルタイムOSの確定性とFPGAの高度な制御および処理を組み合わせています。
LabVIEW Real-TimeとLabVIEW FPGAの組み合わせは、高性能組込制御アプリケーションにおいて比類のない利点を提供します。FPGAベースのデータ収集デバイスの詳細については、CompactRIOおよびRシリーズマルチファンクションRIOを参照してください。
LabWindowsの商標は、Microsoft Corporationの使用許諾を得て使用しています。Windowsは、Microsoft Corporationの米国およびその他の国における登録商標です。