すみません。PCショップじゃありません。<(_ _)>
|
電子工作など趣味紹介サイトです。(^-^*)/
|
|
|
||
GPIBコントローラー |
||
|
◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ INDEX ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ 外観 回路図 動作要件 必要なもの Tera Termの設定 使い方 できないこと ハンドシェイク文字 コンフィグ書換 TTMacro例文と結果 |
外観 USB-BコネクタがPC接続用、26P MILコネクタがGPIB接続用、USB-Aコネクタ2個は PIコントローラーやPOコントローラーなどのディジーチェーン接続用です。 MILコネクタに接続するGPIB変換ケーブルを製作する必要があります。それ以外はUSBケーブルでOKです。 回路図 部品を可能な限り省略したため、GPIBインターフェースがオープンコレクタになっ ていません。 そのため測定器と通信していないときは、すべてのピンが入力になるようプログラムしています。 PCと接続していないか、またはPCが電源OFF(USB5Vが出力さ れていない)の状態で 測定器の電源がONされるとGPIBバスからの漏れ電流がGPIBコン トローラーに流れます。 従って電源投入順序としてはPC⇒測定器群が望ましいのですが、さほど気にせず5年間ほど 断続的に使用しました。その間動作不良もなく破壊に至ることもありませんでした。 なお、オンボードにあるリセットボタンを押せばGPIBコントローラーは初期状態に復帰します。 ディジーチェーン接続のためのインターフェースはRS-485もどきの少々特殊なものとなっています。 興味があればこちらを確認してください。 動作要件 Tera Term 4.80以降がインストールされているWindows PC .TTLファイルがTTMACROに関連付けされていること 1つ以上のUSBポート ※ Tera Termはどのバージョンでも動作しますが、TTMACROを使用するのであれば バージョン4.80以降がおすすめです。 必要なもの 以下のリンクを右クリックしてPC上の任意の場所に保存してください。 ◇ マイコン用 プログラム(旧) ◇ ◇ マイコン用 プログラム(新) ◇ マイコン用プログラムをマイコンに書き込んでGPIBコントローラーは完成です。 Tera Termの設定 GPIBコントローラーをUSBポートに接続します。 ドライバを要求されたらFTDI社のホームページよりダウンロードしてインストールしてください。 PCとGPIBコントローラーはシリアル通信による接続となります。(19200 8N1) Tera Termを起動し、設定⇒シリアルポートを開いて以下の通り設定してください。 ポート(COMポート番号)はデバイスマネージャで確認してください。その他は上記の通りとします。 次に設定⇒端末を開きます。 上記の通り設定します。 使い方 以 下のGP-IBコマンドをサポートしています。
・[gp]はGPIBコントローラーへのデータであることを示すヘッダ。変更可能(後述)
・[**]はGPIBアドレス 2桁固定 1番なら01、16番なら16 ・[@@・・・@]は測定器へのデータ(文字列) ・測定器への送信文字数は70文字以下、受信文字数は制限なし。 ・測定器に送信するデリミタは[LF]。変更可能(後述) ・測定器から受信するデリミタは[LF]または[CR+LF] ・ハンドシェイク用に[ > ]を使用する。変更可能(後述) ・PCとのインターフェースでは文字列の最後に[CR+LF]を追加すること。 これはTera Term 設定⇒端末にて設定済み。 ・ホスト(Tera Term)はGPIBコントローラーから[ > ]が送信されるまで作業を停止する必要がある。 ・リセットボタンを押すとIFC信号が出力され、ホスト(Tera Term)にWelcome Messageが送信される。 ・上記以外のコマンドはサポートしていない。 できないこと ・EOI信号とSRQ信号はプルアップされているだけです。そのためバイナリデータの送受信と
ポーリングには対応していません。 ・複数のリスナを指定することはできません。たとえば複数台の電源を同じ電圧に設定する場合、 1台ずつ同じ電圧設定値を送信してください。 複数のリスナを指定できるようになりました。 アドレスコマンド及びキャラクタ送信コマンドが対象です。 これにより測定器間での同期が必要な場合にも対応できるようになるはずです。 例文 gpal0102<CR><LF> アドレス1と2の機器をローカルにする。 gpcw031215run<CR><LF> アドレス3、12、15の機器にメッセージ[run]を送信する。 なかなか複数台の計測器を同時に制御する機会はあまりありませんので、バグなどがあっても 修正が難しいので、必要の無い方は従来のプログラムを使用してください。必要な方はこちらから。 ・GPIBコントローラーはコントローラ+トーカまたはコントローラ+リスナとしてのみ機能します。 つまり、トーカである測定器のデータをリスナであるプロッタに転送する指示をコントローラである GPIBコントローラーが指示する、ということはできません。 ハンドシェイク文字 ハンドシェイク用文字[ > ]をGPIBデータとして送信するとTera Termマクロが機能しなくなります。 それは、マクロでは[ > ]を待ってから次の動作に移りますので送信文字列の途中に[ > ]があると それ以降のデータがGPIBコントローラーの処理を待たずに送信されてしまうからです。 滅多にないことなのですが、私は1度だけ経験しました。 GPIBデータとして[ > ]を送信するには[ > ]の代わりに[ セ ]を送信します。この2つの文字は [ > ]が$3E(%00111110)、[ セ ]が$BE(%10111110)であり、GPIBコントローラー内で同一の文字として 処理されます。(最上位ビットが無視されます)たとえば
マクロの側から対策する場合は [ LF ] を待ってから [ > ] を待つ、と言う方法もあります。たとえば
それ以降のデータがGPIBコントローラーの処理を待たずに送信されてしまうことはありません。 コンフィグ書換 ハンドシェイク文字、ヘッダ文字及びデリミタ種別を変更できます。 Tera Term起動後、[ イロ ] とタイプして RETURN すると [ < ] が VT ウィンドウに表示されます。 初期設定の状態に戻すには [ >gp0 ] とタイプします。 タイプ後 [ >] が表示されるとコンフィグ書換は終了です。
TTMacro例文と結果 例としてTDS3034のハードコピー機能のクエリーを読み出して表示させてみます。
recvln (1行分の文字を受信する) コマンドの前は wait #10 ([ LF ] を待つ) とするのがポイントです。 以上です。何かの役に立てば良いのですが・・・ |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||