zigopcf (ADRS, DET, TOUT, ERRFLG) | ||
---|---|---|
概要 |
以下の機能を実行します。 ・ クエリ *OPC? の送信 ・ 測定器のステータス バイト の受信 ・ ステータス バイトの 監視 (監視ビットが 1 の時、本プロシージャは終了) ・ 測定器から送信する "1" を受信 (これは コマンド *OPC? の仕様) |
|
定義 | 戻り値 | 無し |
ADRS (Byte) |
測定器の GPIB アドレス (0〜30) | |
DET (Byte) |
ループを抜ける値。 (0〜255) 0 を代入した場合、DETの値ではループは抜けられません。 TOUT(タイムアウト)の時間でループを抜ける事になります。 |
|
TOUT (Byte) |
ループのタイムアウト (sec) (1〜30) | |
例 | Dim ERR As Integer Dim ADRS As Byte ADRS = 12 Call zigout(ADRS, "F2 T3") 'HP3478A AC測定、1回測定 Call zigpopcf(ADRS, 1, 10) 測定器に "F2 T3" を送信。 zigpopcf()で、シリアル・ポールを送信し、戻り値 と 1(第2引数) のバイナリAND を取ります。 結果、1以上の時に本プロシージャが終了し、プログラムは次のステップに進む事ができます。 DET=1: 測定器のステータス・バイト・レジスタ と 1 のバイナリAND を取り、1以上の時に本プロシージャは終了します。 TOUT=10: ステータス・バイト・レジスタ と 1 の バイナリAND 結果が 0 でも、10秒で本プロシージャは終了します。 本プロシージャ実行後、変数ERR(第3引数) が 0以外の時、本プロシージャでエラーして中断した事を意味します。 |
|
補足 | ● 本プロシージャの流れ。 (1) シリアルポール コマンド を測定器に送信。 (2) シリアルポールに対する測定器の戻り値(1バイト)を受信。 (3) 戻り値 と 第2引数 DET のバイナリAND を演算し、1以上は(5)に進む。 (4) 第3引数 TOUT 以下の時間経過であれば、(1) に戻る。 (5) 測定器よりテキスト"1" を受信。 (6) 本プロシージャを終了。 |
|
適応 機種 |
HP3478A |