マスタでの初期化は3つの関数を使用します。
Ret = GpIni( ); //GPIBボードの初期化をします。
Ret = GpIfc( ); //インターフェースを初期化します。
Ret = GpRen( ); //相手機器をリモート可能状態にします。
[スレーブ側]
スレーブでは1つの関数だけで初期化は完了します。
Ret = GpIni( ); //GPIBボードの初期化をします。
説明:GPIBボードを使用するには初期化が必要になります。ボードの初期化とは詳しく書きませんが、正常動作をするために実行するものだとお考えください。初期化に対して使う基本的な関数はGpIni GpIfc GpRen関数です。これらの関数はどんな働き、またVBではどのように使うのかを説明します。
①「GpIni」関数ではボードの初期化をします。
②「GpIfc」関数ではGPIBインターフェイスを初期化します。
③「GpRen」関数では相手機器をリモート可能状態にします。
実際にはデリミタ・EOIの有無(GpDelim)やタイムアウト時間(GpTimeout )の設定などがあります。これらは初期値として値を持っているので、とくに記述しなくてもいいようになっています。また、相手機器によっては別途コードを記述しなければならない場合もあります(GpSdc等)。
これらを使用するにはヘルプの関数リファレンスに詳細が載っていますのでそちらを参照してください。サンプルではGpExitという関数も使用していますが、これは使用している割り込みレベル、DMAチャネルを解放し、GPIBコントローラPD7210Cのチップ・リセット(全てのラインが初期状態にすること)を行います。サンプルでは2重初期化を防ぐために記述されています。
初期化ルーチンにはその他にGpBoardsts 関数も使用しています。これはリファレンスに説明がありますが、レジストリやμPD7210CからGPIBの情報を取得するための関数です。例えば、自分のアドレスが知りたい場合は
例) Ret = GpBoardsts (0x8, &MyAddress);
このようにコードを記述することで様々な情報を得ることか可能になっています。
GpBoardsts関数の第1引数には取得したいデータを示す値、第2引数には情報を受け取る変数を指定します。
以上で初期化ルーチンの作成は終わりになります。