前の章では、直接SCPIコマンドを使用してローデ・シュワルツの測定器をリモート制御する方法を説明しました。これに代わる方法として、ローデ・シュワルツでは、無料の測定器ドライバーを提供しています。これは、アプリケーションと測定器のSCPIコマンドの間の抽象化レイヤーの役割を果たします。
5. 測定器ドライバーと直接SCPIコマンドの比較
VISA書き込み/読み取り関数と直接SCPIコマンドを使用する代わりに、測定器ドライバーの関数と属性を使用します。LabVIEW rsscope測定器ドライバーでのこのような置き換えの単純な例を次に示します。
同じ置き換えをC#でIVI.NET RsScope測定器ドライバーを使用して行った例を次に示します。個々のパラメータをプロパティで設定するか、複数のパラメータをメソッドで設定します。
上記の直接SCPIコマンドの図では、単純化のために、測定器ドライバーが実行する操作の一部が省略されています。例えば、ドライバーは、コマンドが実行されたという測定器からの確認応答を待ったり(第6章:測定同期を参照)、各コマンドの後にエラーの発生をチェックしたり(第7章:測定器のエラーチェックを参照)します。直接SCPIコマンドを使用する場合、これらの作業は自分で行う必要があります。
直接SCPIコマンドの利点と欠点のまとめ
利点:
- 簡単に始められる。測定器のユーザ・マニュアルにすべてのSCPIコマンドが記述されている。
- 実行速度が速い。
欠点:
- 測定同期や測定器のエラーチェックを自分で行う必要がある。
- 引数をSCPIコマンド形式で記述する必要がある。バイナリーデータの場合、これは特に複雑です。
- 測定器の文字列応答を受信した場合、適切な型(整数、倍精度浮動小数点数、または真理値、配列またはバイナリーデータなど)に変換する必要がある。
測定器ドライバーの利点と欠点のまとめ
利点:
- 各コマンドの後にエラーチェックが実行される。最大の速度が要求されるクリティカルなセクションでは、チェックをオフにすることができます。
- 実行に長時間かかるコマンドの同期が可能。
- SCPIコマンド形式での引数の記述と測定器応答の解析はすでに実装済み。
- 測定器ドライバーには独自の*.chmヘルプファイルが付属する。
- 直接SCPIコマンドの使用はいつでも可能。
欠点:
- ドライバーの構造を理解する必要があるため、学習に時間がかかる。
- 多少のオーバーヘッドがある。これは適切な方法によって最小化できます。次の項目を参照してください:第8章:速度の最適化
- 場合によっては、新しい測定器機能が測定器ドライバーによってサポートされるまで待つ必要がある。
さまざまなプログラミング言語に対するローデ・シュワルツの測定器ドライバーの適合性
次の表に、測定器ドライバーとプログラミング言語の適合性を示します。各環境の詳細については後で説明します。
VXI plug&playドライバー | LabWindows/CVIドライバー | LabVIEWドライバー | IVI.NETドライバー | SCPIドライバー | |
---|---|---|---|---|---|
Python | X(サイズが大きい) | X(一部の測定器) | |||
MATLAB | X | ||||
C#、VB.NET | X(IVI.NETが使用できない場合) | X | X(一部の測定器) | ||
LabVIEW | X | ||||
LabWindows/CVI | X |
MATLABを使用する場合
ローデ・シュワルツでは、MATLAB MDDドライバーを提供しています。MDDドライバーを使用するには、VXI plug&playドライバーに関する高度な知識が必要であり、すべての列挙定数をドライバーのヘッダーファイルから手動でインポートする必要があります。さらに、MATLAB Instrument Control Toolboxのライセンスが必要です。MATLABユーザーの方には、直接SCPIコマンドの使用をお勧めします。次のアプリケーションノートでは、両方の方法について説明しています。
LabVIEWを使用する場合
ローデ・シュワルツでは、ネイティブLabVIEWドライバーを提供しています。詳細については次のアプリケーションノートを参照してください。
C#、VB.NETを使用する場合
この場合、以下の2つの選択肢があります。
- IVI.NETドライバー - ほぼすべての測定器に対して使用可能。この場合、C#およびVB.NETラッパークラスに付属するVXI plug&playドライバーも使用できます。詳細については、次の専用のアプリケーションノートを参照してください。
1MA268:Rohde & Schwarz IVI.NET計測器ドライバー
これらは製品ウェブサイトからダウンロードできます。 - SCPIベースのドライバー - これらのドライバーは、測定器のSCPIツリーから自動生成され、SCPIツリーの構文に正確に従います。SCPIコマンドに慣れている場合は、これらのドライバーをお使いください。これらのドライバーでは、Intellisenseヘルプと、SCPI用の型安全インタフェースが提供されています。これらはnuget.orgからNuGetパッケージでダウンロードできます。
https://www.nuget.org/profiles/rohde-schwarz
LabWindows/CVIおよびその他のC/C++環境を使用する場合
VXI plug&playドライバーは、32ビットおよび64ビットWindowsアプリケーション用のコンパイル済みCVIドライバーです。これらはC/C++の両方の言語で使用できます。
CVIドライバーを使用するには、ソースコード全体をプロジェクトに追加します。
VXI plug&playドライバーを使用するには、ドライバーのLLBファイル(スタティックリンク用)またはDLLファイル(ダイナミックリンク用)をプロジェクトに追加します。