▼ たてぐやさん
スミマセン、ご質問の意味が良く分からないのですが。たぶん
私の示した例が不適当だったのでは。
それに、難しくお考え過ぎのようにも思えるのですが。
私もGPIBを何度も手がけた訳ではないので間違いもあるかと
思いますが、GPIBについての私の認識を紹介しておきます。
バイト単位のパラレル転送で、昔のプリンタITFだったセントロ
標準と比べるとデータは双方向、複数機器を接続可能
とするためにアドレスを設けた(例外もあり)、そのためにセントロ
標準よりも制御線と約束事が複雑になったものです。
昔のプリンタITFでも、Ack,Ready信号も汎用パラレルポートで
プログラムして印字できたように、GPIBも全て汎用パラレルポートで
インターフェースも可能です。数十年前にZ80(6809だったかな)で
この方法で測定器のデータを読み出した記憶があります。
今ではその方法をすっかり忘れてしまってますが。Delphiのときは
GPIB-USB変換のメーカーが用意してくれたDLLを使えたので
ややっこしい事は思い出さなくても済んでしまいました。
さて、Dephiでやった私の例のGPIBに関わる流れですが、
初期化(// GPIB 初期化ボタン)の実行後は、DLL関数のgp_wrt()で
文字列にデリミタ(私の場合はCR LF)を付加して測定器へのコマンドと
して送り、gp_red()でデリミタまでの文字列を測定器から受信。
これを必要な回数(Fsteps)繰り返します。
この辺はRS-232Cでコマンドを送り、結果を受信と、測定器等を
操作するのと変わることはありません。
(使用するGPIB-ITFによってはもう少し低レベルのところまで
プログラムの必要があるかもしれませんが)
△例外について
昔はGPIBインターフェースのプリンタがありました。測定器を
これに直接つないで簡便に測定値を印字する方法として、
「トーカー・オンリー」と言うのもありました。これは、測定器が
勝手に一測定終了する度に結果の文字列とデリミタを吐き出し、
ジコジコと印字するものだったと思います。まさかこのタイプの
測定器ではないですよね。
なにか遠回りをさせてしまったようですが、少しでもお役に
立てれば幸いです。
|