プログラム(EXCEL VBA)の説明

 GPIBとのやり取りは、PICが行っているため、excel側からは、要求コマンド(PICのファームの表参照)を送り、その応答を受信して処理を行います。
たとえば、マルチメータR6441の電圧のデータを得る場合の全体の流れを示します。

全体の流れ
@PC→PIC “C”+バスコマンドを送信(アドレスなど)
APC←PIC 応答を返信 ER=0:正常 ER=1:異常
BPC→PIC “W” + マルチメータの設定(レンジなど)を送信
CPC←PIC 応答を返信 ER=0:正常 ER=1:異常
DPC→PIC “W” + 測定開始を送信
EPC←PIC 応答を返信 ER=0:正常 ER=1:異常
FPC→PIC “E” を送信
GPC←PIC EOIを受けるまでデータ送信(ER=1になれば中断)
Excel上でデータ処理しセルに表示

*PICへのコマンドは、それぞれのコマンドに対応した標準プロシージャーをcallすることになっています。
コマンドS resetプロシージャー
コマンドT Timeoutプロシージャー
コマンドC Cmdプロシージャー
コマンドW wDataプロシージャー
コマンドD readData_LFプロシージャー
コマンドE readData_EOIプロシージャー
コマンドR readDataプロシージャー


F以降のデータ受信時のプログラム例を抜粋で示します。
 Call readData_EOI      ’sub readData_EOIで”E”を送りデータを受信する
  If ERR = True Then   ’エラーを受信すれば終了
   MsgBox "TIME OUT" ’エラー時TIME OUT表示
   GoTo d
  End If

 rData() = eoiData()  ’受信したデータを代入
 rrData = StrConv(rData, vbUnicode)
 Func = Mid(rrData, 1, 3)     ’Funcの取出
 sData = Mid(rrData, 5, 10)    ’データの取出

 n = n + 1               ’セルの行数

 Range("C" & n).Value = Func    ’セルに表示
 Range("B" & n).Value = sData   ’セルに表示
 TextBox11Text = sData       ’TextBoxに表示
 Range("A" & n).Value = txttime   ’セルに表示
 TextBox10Text = txttime       ’TextBoxに表示

 デジタルオシロスコープTDS420やTDS744についても同様の流れでHGPLデータの波形を表示することができました。
 なお、現在はSRQには、対応していません。回路的には受け付けていますが、処理は行っていません。
(*SRQの発信を禁止する設定をする必要はありません。)


戻る