PCカード型GPIBコントローラーで測定器を制御 PART 1
32bit cardbus 用 PCカード ines GPIB-PCMCIA-XL を使ってデジタル温度計やマルチメーターを制御するプログラムを作成します。
テストプログラムを作って動作は確認していたが、しばらく放っておいたPCカード型GPIBコントローラー。[ines GPIB-PCMCIA-XL] これを使ってGPIB制御プログラムを作ってみたい。
用意するもの
32bitCardbusの使えるPCMCIAスロットを持つPC
[SONY VAIO VGN-T90PS]
PCカード型なのでPCMCIAカードスロットを持つPCが必要。
MSDOSの頃からある規格(1986~)だが、最近ではこのスロットを持つPCは無いので古いノートPCを使う。
このカードはカードバス用なので16ビット専用のスロットには入らない。
(動作電圧3.3Vなので、対応していないと差し込めないようになっている)
実機だけではデバッグしにくい(動作確認中は触れない)のでWindows7の載ったPCにもVC++5.0をインストールしておく。
開発環境 Visual Studio C++ Ver5.0
PCカードスロットを持つPCはWindows Xp でしか動かないので最新の開発環境(VisualStudio2019など)がインストール出来ない。古い VC++5.0 で作る。
GPIBを持つ測定器
Takedariken TR2114 Digital Thrmo Meter ×1台
ADVANTEST TR6851 Digital Multi Meter ×2台
KEITHLEY 195A Digital Multi Meter ×1台
GPIBコントローラー
ines GPIB-PCMCIA-XL
PCカード型のGPIBコントローラー
32bit Cardbus対応。3.3Vなのでカードバス対応で無いPCでは使えない。
2mのケーブルが付いている。
GPIBコントローラーの準備
デバイスドライバのインストール
[ドライバのダウンロード] マニュアルもあるが一部しか翻訳されていない。
[インストール手順]
VC++から使うにはライブラリをリンクして関数を呼び出す。
数個の関数しか使わないが、関数のリファレンスは翻訳されていなかったのでソフトウェアマニュアルを翻訳してみた。
翻訳元:[INES-488.2 GPIB Version 6ソフトウェアマニュアル]
GPIBコマンドの調査
使用する測定器のGPIBコマンドを調査。レンジの切り替え方法と送り返されるデータのフォーマットをまとめておく。
武田理研 TR2114H
TR2114H (DIGITAL MULTI-THERMOMETER) の資料(マニュアルより抜粋)
ADVANTEST TR6851
TR6851 (DIGITAL MULTIMETER) の資料(マニュアルより抜粋)
KEITHLEY 195A
195A (DIGITAL MULTIMETER) の資料(マニュアルより抜粋)
開発環境の作成
VC++5.0Enterprise およびVisualStudio97をインストールする。
要求されるハードウェア仕様:PentiumII450MHz以上、RAM160MB以上、HDD500MB以上、WindowsNT4.0以後。
因みにVisualStudio2019では1.8GHzのCPU、RAM2GB、HDD800MB(通常は20~50GB)Windows7SP1以後。実機でのデバッグが必要なのでこれは無理。
逆にVS97、VC++5.0はWindows7の環境にもインストールできる。
古いVC++なのでtimer関数などがマルチスレッドに対応していないなどの問題があるがGPIB制御関数自体が同時に呼び出されることに対応していない。
以上で準備は完了。以後、VC++5.0の環境でプログラムを作成していく。