今回はタイトルのまんまです、計測器ネタは初めてかな、 またまたニッチですが。
下記の菊水電子のDC電源(PMX35-3A)を使用することになりました。
コンパクト直流安定化電源(CVCC)|PMX-Aシリーズ:概要・特長|菊水電子工業(株)
LAN(LXI)/USB/RS232Cで通信制御可能、価格(60,000円)の割に機能豊富で、
結構お得な気がしますね。(ここの回し者では無いですよ、念のため)
以前、RS232C経由では計測器を制御したことが有ったのですが、
今回はUSB接続なので初めて、ということで前準備から色々調べました。
”VISA”というもので制御しますが、そもそもVISAとは何ぞや、という話から。
VISA とは?
Virtual Instrument Software Architecture の略、IVI Foundationによって定められた
計測器を接続するためのライブラリで、Windowsだと"visa32.dll"等のdllになります。
各計測器メーカー毎にVISAを提供しており、NationalInstueumentsだとNI-VISA、
agilent、もとい今はKEYSIGHTだと、IOライブラリ・スイートの中に含まれます。
今回の菊水電子からもKI-VISAが提供されているのですが、NIやKEYSIGHTのVISAでも
使えるようなので、今回はインストール済みのVISAを使用することにしました。
ちなみにNIのLabVIEWをインストールすると、NI-VISAもインストールされます、
VISAを扱う関数も含まれており、下記みたいに簡単にプログラム可能です。
(”*IDN?”というコマンド文字列を送信し、応答文字列を読み取っています)
今回はLabVIEWでは無くC#から電源を制御したいので、上記は使えません、
ということで、次はC#からVISAを参照する方法について。
VISA-COMを使おう
下記リンクに情報が有りました、”VISA-COM”を使えば良いようです。
VISAがdllそのものなのに対し、VISA-COMはMicrosoft COM(Component Object Model)
に基づいたAPIで、.NETアセンブリ(Primary InteropAssembly)も提供されているため、
C#から使うのにも便利です。
VISAをインストールすると、下記にVISA-COMもインストールされます。
C#のプロジェクト、”参照の追加”でCOMのTABを選択すると、
下記のようにVISA COM XX Type Libraryが出てくるので選択します。
(XXはVISAのバージョンにより異なります)
パスを見ると、上記フォルダ内のGlobMgr.dllになっていますね。
これで準備完了、実際に菊水の電源を制御する部分は次回のネタにて。
複数のVISAをインストールする場合の注意
VISAは便利なのですが注意する点がひとつ、複数のVISAを入れると、
ちょっとややこしいことになります。
例えばNI-VISAがインストール済みの環境にKEYSIGHTのVISAを入れると、
インストール中に、下記のダイアログが出てきます。
既に別のVISAがインストールされているので、Secondary VISAとして
インストールされます、という説明です。
これに対し、元々インストールされていたNIーVISAをPrimary VISAと呼び、
区別しています、要はPrimaryのNI-VISAが優先で使用されます。
今回の電源のようにメジャーなVISAでも使えますよ、なら簡単なのですが、
測定器によっては、メーカー純正のVISAを入れないといけません。
この場合、PrimaryとSecondaryのVISAを切り替える、等の裏技が必要です、
この話も、いずれまた(実例を交えて)書こうかなと思っています。