ziGPIB2550 分室

zigoutf()


■ 測定器にテキストを送信します。 (エラーフラグ有り)
zigout (ADRS, TEXT, ERRFLG, CRLF)
概要 PC から測定器にデータを送信します。
本器のエラーは、第3引数 ERRFLG の値から判定できます。
定義 戻り値 無し
ADRS
(Byte)
測定器の GPIB アドレス (0〜30)
TEXT
(String)
送るテキスト (最大 65530文字)
ERRFLG
(Integer)
本プロシジャを実行後、0以外の値の場合は、ziGPIB2550 側でエラーが発生して中断した事を意味します。
ERRFLG は参照渡しです。
CRLF
(Byte)
終端コード 下位 3ビットで制御します。(ビット2=EOI, ビット1=CRLF, ビット0=LF)
・ビット2=1: 最後の1文字の区間、EOI ピンを Low にします。
・ビット1=1: 最後にASCIIコード CR(0x0D) と LF(0x0A) のデータを追加送信します。
・ビット0=1: 最後にASCIIコード LF(0x0A) のデータを追加送信します。
例 CRLF=5: 最後に LF が追加され、かつ、LF 送信中は EOIピンがLow になります。
例 CRLF=7: 最後に CR と LF が追加され、かつ、LF 送信中は EOI ピンが Low になります。
例 CRLF=2: 最後に CR と LF が追加されます。
例 CRLF=255〜8 or 0: PICマイコンの EEPROM の終端コードが利用されます。
例 CRLF 省略: VBA側で CRLF=0 が設定され、EEPROM の終端コードが利用されます。

Dim ERR As Integer
Call zigoutf(17, "freq 100MHz", FLG)

GPIBアドレス 17 の測定器に "freq 100MHz" のテキストを送信します。
本プロシージャ実行後、変数ERR が 0以外の時、本器でエラーして中断した事を意味します。
終端コードは、第4引数 CRLF を省略したので ziGPIB2550 EEPROM の終端コードを使用します。

補足 ● 第4引数 CRLF の用途:
通常、第4引数 CRLF は省略したいものです。EEPROM の 終端コード の設定を LF※ にした場合、
CR+LF の終端コードを測定器から受信すると、最後の CR コードがデータに混じってしまい、
Excel が数値と判定しない為、Excel 側で CR を取り除く処理が追加的に必要になります。
このような状態を想定して、プロシージャで終端コードが指定できるようにしました。
※ 80年代(アジレント) の測定器の終端コードは CR+LF が多く、90年代以降は LF のみのようです。
古い世代の測定器が混入している場合に、このような事が発生します。
ただし、EEPROM の 終端コードを 7 に設定していると、CR+LF でも、LF でも、EOI でも
本器は終端するので、このような状態にならないようです。