IVI、VXI、VISA、SCPI、Excel VBAからTektronix MSO4054Bオシロスコープを自動制御してみよう (前編)

DC電源、マルチメーター、オシロスコープ、パタンジェネレーター等、様々な測定器を使用し日々評価を実施している技術者も多いと思います。使用機材の設定手順が多かったり、測定器を同期させて繰り返し使用したい場合、PCから各測定器を制御すると自動化、効率化が可能です。各測定器メーカーから発売されている認証試験ツールや自動測定パッケージは、相互接続された測定器をソフトウェアから制御して自動測定を実現していますが今回は、入手し易いVirtual Instrument Software Architecture (以降、VISAと記す。)とExcel VBAを使用してTektronix MSO4054BをPCから制御してみます。

VISAとは

VISAは、測定器を接続する際の標準仕様でIVI Foundationが策定・管理しています。制御したい測定器がVISAをサポートしていれば使用可能で、メーカーが異なる測定器を同時に接続してPCから制御する事が可能です。VISAは、単体で配布されておらず測定器メーカーからパッケージを入手してPCにインストールします。現在、入手可能なVISAパッケージは表1に示す通りですが、Excel VBAをサポートしているVISAは、Keysight、KIKUSUI、National Instrumentsしか選択肢が無いことがわかります。Keysight IO Library suiteとNI VISAは、サンプルプログラムが充実しており、解説も丁寧で初めて自動計測を検討する人向けに良いと思います。今回は、比較的シンプルで軽快そうなKI-VISAを使用してみます。尚、Versionとリリース日は、本稿執筆時の情報なので使用される方は、最新版をご確認下さい。

表1 VISAパッケージ一覧
測定器メーカー 配布パッケージ Version リリース日 サポート言語
Tektronix TekVISA V4.2.0 2019/08/27 C, C++, VB, LabVIEW, MATLAB
Keysight IOLibraries suite 2022Update1 2022/05/09 Excel VBA, VB.net, C#, VEE, Visual C++
KIKUSUI KI-VISA V5.5.0.275 2015/09/28 Excel VBA, VB, Visual Studio, Visual C++ 
Rhode & Schwarz R&S VISA V5.12.3 2020/05/26 C, C#, Python, LabVIEW, MATLAB
National Instruments NI VISA V21.5 2022/01/27 Excel VBA, VB.NET, C#, Visual C++, LabVIEW

KI-VISA、MSO4054B動作確認

早速、PCにKI-VISAをインストールし、Tektronix MSO4054Bを接続して動作を確認してみます。

図2 Tektronix MSO4054B

*IDN?コマンドを送ってMSO4054Bの応答を見てみます。*IDN?は測定器のIDを問い合わせるコマンドでMaker、Model、Serial No.、Configured format、Firm Ver.が返信されます。図3 Excel VBA Visual Basic Editor (以下、VBEと記す。)に示すコードを入力して実行すると、イミディエイトウインドウにMSO4054Bから返信された測定器のIDが表示されました。尚、Serial No.はマスクさせて頂きました。

図3 Excel VBA VBE

TEKTRONIX,MSO4054B,*******,CF:91.1CT FV:v3.22
1. Maker: TEKTRONIX
2. Model: MSO4054B
3. Serial No.: *******
4. Cofigured format: 91.1CT
5. Firm Ver.: v3.22

*IDN?コマンド送信、MSO4054B返信をKI-VISA COM SPYでモニターした結果をそれぞれ図4、図5に示します。*IDN?コマンドは、図4の反転表示されているItem#3でExcel VBAからMSO4054Bに送信されており、2A 49 44 4E 3F 0A (Hex)が下半分のWindowに表示されています。ASCII code表示なので文字に変換すると2A=*、49=I、44=D、4E=N、3F=?、0A=LFつまり、2A 49 44 4E 3F 0A=*IDN?<LF>であることがわかります。

図4 KI-VISA COM SPYモニター (?IDNコマンド送信)

MSO4054B返信は、図5の反転表示されているItem#4でMSO4054BからExcel VBAに送信されており、54 45 ~略~ 32 32 0A (Hex)が下半分のWindowに表示されています。同様にASCII code表示なので文字に変換するとTEKTRONIX,MSO4054B,*********,CF:91.1CT FV:v3.22<LF>であることがわかります。VISAを使用した測定器自動制御プログラム作成中に想定通りに動作しない場合は、VISAを介して流れているコマンドをモニターすると原因が判明することがあります。

図5 KI-VISA COM SPYモニター (MSO4054B返信)

以上前編では、Excel VBAから*IDN?コマンドを送信しMSO4054Bが測定器のIDを返信する動作まで確認できました。次回後編は、MSO4054Bから波形を取得しExcelでデータ処理する方法を実験したいと思います。

VISAデバッグ

自動制御プログラムは、作成しながら所望の動作をするか確認しますが、うまく動作しない場合、VISAでPCと測定器がやり取りしている信号をモニターしてみると、解決のヒントが掴める場合があります。KI-VISAパッケージの場合は、KI-VISA COM SPYが含まれており通信ログが表示可能で、送信コマンド、返信内容、エラー有無が確認できます。うまく動作しない時は活用してみることをお勧め致します。

各種測定器を使用した認証試験

アリオン株式会社では、通信機器、AV機器、IT機器のさまざまな有線、無線インターフェースのロゴ認証試験、接続互換性試験、リバースエンジニアリング、フィールドクレーム解析等、長年にわたり実績を積み重ねノウハウを蓄積しています。また、お客様のご要望に応じて市場流通機器の性能調査、分析調査も承っています。通信機器、AV機器、IT機器に関するご相談、お困りごとがありましたらお問い合わせ頂ければと思います。

最後に

今回、PCから測定器を自動制御するVISAについて調べてみました。VISAは、測定器の共通インターフェースとして動作し、VISAパッケージ配布メーカーとは異なるメーカーの測定器を複数接続して制御できます。また、LabVIEW、MATLAB、VEE等のToolを使用して測定器を制御することも可能です。試しにLabVIEW試用版を使ってみた所、GUIプログラミング環境のためか動作が重たい印象を受けました。LabVIEWは、複雑な処理をGUIで表現できて高機能ですが、簡単な制御から中難易度までならVISAとExcel VBAでも対応と考えられ動作も軽快です。データ処理とExcelの親和性が高いので、各種測定器からVISA経由で測定結果をExcelに取り込み、グラフ描画、データ処理の自動化も可能です。無人夜間評価、評価効率化のため、VISAとExcel VBAを利用した自動化を検討してみては如何でしょうか。

参考文献

  1. MDO4000, MSO4000BandDPO4000B SeriesOscilloscopes ProgrammerManual
  2. KI-VISA Library VISA COM ガイドブック

Check Also

オシロスコープのCSV波形Fileはなぜ大きい? CSV波形FileとBinary波形Fileの構造を詳しく解説します

読者の中に評価でオシロスコープ

Subscribe to get MCPC Technical Paper.
Subscribe
close-image
Subscribe to get the UHD Technical Paper.
Subscribe
close-image
Subscribe to get HDMI Technical Paper.
Subscribe
close-image
Subscribe to get Wi-Fi Technical Paper.
Subscribe
close-image
Subscribe to get USB Technical Paper.
Subscribe
close-image