プログラム作成までの手順

   GPIBは相手機器とのプロトコルを合わせる必要があり、添付のサンプルプログラムのままでは、動作しない事が多くあります。正しく通信する為には以下の手順で業務プログラムを作成して下さい。

 

    (システム構成の決定)

      1)機器アドレスの決定

機器アドレスは電話で言うと電話番号にあたり、この番号の機器に対してデータを送る、受取る事により通信ができます。よって機器アドレスは必ず同一システム上で重複しない様にして下さい。(重複しなければ0から30の間であれば何でも可です)また本サンプルプログラムで用いているパソコンの機器アドレスはMyAddressの表現をしておりデフォルトで0になっています。

 

     2)デリミタコード及びEOIの決定

通信をおこなう上でお互い同時に通信を終了(送信の完了/受信の完了)する必要があります。これの認識をさせる為にデリミタコードが必要になります。もし、送信側と受信側のデリミタコードが違うとタイムアウトになったり、片方のみが正常に関数から抜けてくる事があります。また実際にデリミタコードを決定する場合は、1対1なら相手に合わせるだけで良いですが、複数の機器(3台以上)と接続する際には機器側のデリミタコードも出来るだけ統一して下さい(もし、機器側のデリミタコードが統一できない場合は、パソコン側で送受信の度にデリミタコードを切り換える必要がでてきます)。

尚、本ドライバのデリミタコードの設定は(GpDelim)で行い、送受信時に自動的に付加、及び監視を行います。また受信後のデータにはデリミタコードを削除したデータを返します。初期化後のデリミタ・EOIの初期値はCR+LF+EOIになっています。

備考)相手機器がデリミタコード及びEOIをサポートしていない場合は、送受信データのデータ数による送受信の完了もできます。受信数で終了させた場合、リーターンコードに128が返ってきます(通信エラーではありません)。

 

     3)マスタ/スレーブの決定

マスタはその名のとおり主人(Master)でありGPIBの通信を行う上で決定権(コマンドの送出等)を持ち、それに対してスレーブは召し使い(Slave)でありマスタの指示(コマンドの受取等)に従う必要があります。

システム構成をする上でマスタは1台、スレーブは1台以上必要になり、また計測器を制御する場合はパソコンがコントローラになりますのでマスタになります。

 

     4)ケーブル延長距離

規格上「ケーブル総延長距離は、機器数×2または20mのどちらか短い方になります。また各機器間のノードについて4mを超える場合注意をする必要がある」とありますので、コンテックでは2m、4mのケーブルを用意しています。

 

 

     (計測器と接続する)

      上の”(システム構成の決定)”を確認した後以下の手順で動作確認を行ってください。

 

       1)パソコンにGPIBボードを組み込む。

ハードウェアの設定と登録 ソフトウエアの初期設定 を行ってください。

また、GPIBカードが正常に動作しているか否かを確認するには、診断プログラム で確認を行ってください。正常に動作すればGPIBカードはシステム上で正常動作しています。

 

       2)計測器のプロトコルを計測器の解説書から確認して下さい

計測器に対しての制御する手順で、どの様なコマンド/送信/受信/シリアルポール/トリガを送るかを、計測器のマニュアルを参考に確認して下さい (計測器マニュアル内のサンプル等により)。また、マルチラインメッセージの内容については、「付属情報」を参照して下さい。

 

3)実際のターゲットになる計測器を用いて簡易動作確認

2)のプロトコル確認の後、マスターモードのサンプルプログラムを用い、実際のターゲットに対してコマンド/送信/受信/シリアルポール/トリガ等を手動で制御して下さい。

この作業で正しく計測器を制御できましたらHelpのGPIB関数を参考にプログラムを作成して下さい。

 

 

(他のコンピュータと接続する)

1)パソコンにGPIBカードを組み込む

(計測器と接続する)の内容と同じです

 

2)プロトコルの決定

相手のコンピュータとのプロトコル(機器アドレス/デリミタコードや、コマンド/送信/受信/シリアルポール等の順序)を決定して下さい。

 

3)実際のターゲットになるパソコンを用いて簡易動作確認

プロトコル確認の後、使用するシステムタイプ(マスターまたはスレーブ)のサンプルプログラムを用い、実際のターゲットに対してコマンド/送信/受信/シリアルポール等を手動で制御して下さい。

この作業で正しく通信できましたらHelpのGPIB関数を参考にプログラムを作成して下さい。