GPIB

先にも書きましたが、GPIBインターフェースはパーソナル・コンピュータに装備されていません。したがって、インターフェース・ボード(カード)を購入しなければなりません。C言語対応(C言語対応ならば当然VC++言語対応)のドライバーが付いてくるものを確認して購入しましょう。そのドライバーで定義されている関数をVC++作成したアプリケーション・プログラムから使用することにより、測定機器とパーソナルコンピュータ間のデータのやり取りをします。

アプリケーション プログラムを作成するに当たり重要なのは、GPIPインターフェースボード(コンピュータに差し込むボード)の初期化関数、クリア関数、データ送信関数、データ受信関数(送信、受信はコンピュータから見たときの用語です)を知ることです。ある会社のボードの場合、それぞれibdev()、ibclr()、ibwrt()、ibrd()でした。

GPIBでは、GBIP機器のアドレスを決めなければいけません。GBIP機器のアドレスは、その機器のマニュアルをみてアドレスを設定します。コンピュータの方では、プログラムで(たとえば初期化関数で)、そのアドレスを設定し整合性をとります。

また、送受信するデータの終わりを示すターミネータ(terminator)の整合性が重要です。ターミネータに関しては、必ずGPIP機器のマニュアルを見て、GPIP機器側で設定できるならば設定し、プログラム側では(たとえば初期化関数で)、そのターミネータと整合性をとります。なお、ターミネータは、なにも無い場合、CRの場合、LFの場合、CR+LFの場合があります。CRは”carriage retune”(復改:アスキーコードで0x0D)、LFは”line feed”(改行:アスキーコードで0x0A)の意味で、昔タイプライタを使用していたときの名残です(CR+LFとは0x0Aの次に0x0Dを送るということです)。 また、GPIBケーブルに中にEOI(end of identify)信号線というのがありますが、これを参照する場合もあります。ターミネータの整合性がとれていないために、データの送受信ができないというケースが結構多いのです。


戻る