3.2 GPIB編程技術
數據通信是通過AX4810P型GPIB 接口卡進行的,在通訊時,這需要調用AX4810P.DLL 動態鏈接庫中已聲明的功能函數。通訊前首先要對通訊接口初始化來打開儀器、設置參數,調用ibdev函數。 (1)發送命令子程序
通過GPIB函數ibwrt將命令發送給Fluke5520A。其中參數dmm為通訊初始化時返回值,MeasureCmd為軟件設定Fluke5520A需產生的信號值。
Public Sub SendToDevice (MeasureCmd As String)
Dim cmdstr As String
‘向Fluke5520A發送需要輸出的信號值
cmdstr = "OUT " & MeasureCmd + "; *WAI"
ret = ibwrt(dmm, cmdstr, Len(cmdstr))
‘使Fluke5520A執行命令
cmdstr = "OPER; *WAI"
ret = ibwrt(dmm, cmdstr, Len(cmdstr))
End Sub
(2)接收數據子程序
Fluke5520A向PC機返回的測量值存放在reading變量中,在調用此過程時所需要傳遞的參數count為PC機要從GPIB讀取數值的字節數。
Public Sub ReadFromDevice(count As Integer)
‘向儀器發送輸出數據命令
cmdstr = "OUT?"
ret = ibwrt(dmm, cmdstr, Len(cmdstr))
‘延遲10s
delay 1000
‘讀取數據
ret = ibrd(dmm, reading, count)
‘延遲20s
delay 2000
End Sub 3.3 數據修約子程序
計量檢定過程中對于檢定結果的數據處理有嚴格的要求。指針式儀表的最大誤差和實際值或修正值的數據都要先計算后修約。我國對“數值修約規則”在1987年就制定了GB8170-87國家標準,數值修約的基本方法是遵循四舍六入偶數法則的,當被修約數的值與上下兩個允許修約值的間隔相等,則按1、2、5的整數倍修約。在進行常規修約時,只需根據四舍六入偶數法則即可方便處理。但是,當需要按1、2、5的整數倍修約時就比較麻煩。系統中用VB編寫的數據修約子程序流程圖如圖3所示。