?? dataaction.bas
字號:
Attribute VB_Name = "DataAction"
'宣告一個執(zhí)行的分析儀變數(shù)
Public Analyzer As HP3569a
'設(shè)定通訊埠變數(shù)
Private c_ComPort As MSComm
Sub CommPort(Obj As MSComm)
Set c_ComPort = Obj
End Sub
''''''''''''''''''''''''''''''''''''''''''''
''hp3569a 的類別測試模組示范程式
'將分析儀初始化
'請先將comm1的通訊埠設(shè)定正確後再開始執(zhí)行
'''''''''''''''''''''''''''''''''''''''''''
Function AnalyzerReset()
Dim T%, DataNo%, t1&, t2&
Dim TestData(100) As Single
Analyzer.ComPort = c_ComPort
'將串列埠開啟
Analyzer.PortOpen
If Analyzer.Init Then AnalyzerReset = True: Exit Function
TimeDelay 15000
DoEvents
'以下為Average的設(shè)定
Analyzer.AVGMode = 1
Analyzer.AVGIntTime = 0.0625
Analyzer.AVGTimeStp = 0.0625
Analyzer.AVGCount = 16
Analyzer.AVGTimeCon = 0.125
'Average 設(shè)定完後執(zhí)行下列方法
Analyzer.AVGAct
DoEvents
TimeDelay 1500
'以下為Freq的設(shè)定
Analyzer.SNDFreqChan = 0
Analyzer.SNDStartFreq = 3
Analyzer.SNDStopFreq = 13
'執(zhí)行Frequency的動作
Analyzer.SNDFreqAct
DoEvents
TimeDelay 2000
'以下為Input/Source的設(shè)定
Analyzer.Range1 = 9
Analyzer.CH1EU = 0.0475
Analyzer.CH1Weight = 0
Analyzer.SNDMicPol = 1
Analyzer.SNDInputAct
TimeDelay 2000
'以下是Trigger的設(shè)定
'Analyzer.SNDTRGAct
TimeDelay 2000
'Format 的設(shè)定
Analyzer.SNDFormat = 1
Analyzer.SNDStyle = 0
Analyzer.SNDFormatAct
TimeDelay 2000
'啟動分析儀
Analyzer.Start
'時間延遲
TimeDelay 3500
c_ComPort.Output = "X33;"
AnalyzerReset = False
End Function
'''''''''''''''''''''''''''''''''''''''''''''''''''
'檢視分析儀正常與否的副程式
'''''''''''''''''''''''''''''''''''''''''''''''''''
Function IsAnalyzerOK() As Integer
'True表正常,F(xiàn)alse表失敗
IsAnalyzerOK = Analyzer.Test
End Function
'''''''''''''''''''''''''''''''''''''''''''''''''''
'檢視分析儀狀態(tài)的副程式
'傳回值:0--正常
' 1--Pause 狀態(tài)
' 2--Over 發(fā)生
' 4--電量過低
'''''''''''''''''''''''''''''''''''''''''''''''''''
Function AnalyzerStatus() As String
Dim Buf$, I%
Buf = "一切正?!?quot;
I = Analyzer.StatusNow
If (I Mod 2) = 1 Then Buf = " 暫停中"
If (I Mod 4) \ 2 = 1 Then Buf = Buf & " Over"
If (I Mod 8) \ 4 = 1 Then Buf = Buf & " 電量過低"
AnalyzerStatus = Buf
End Function
''''''''''''''''''''''''''''''''''''''''''''''''
'取得聲壓位準(zhǔn)值的副程式
''''''''''''''''''''''''''''''''''''''''''''''''
Function GetSPL() As Single
GetSPL = Analyzer.DataDump
End Function
''''''''''''''''''''''''''''''''''''''''''''''''
'取得倍頻值的副程式
'所取的值存入TestData陣列中
''''''''''''''''''''''''''''''''''''''''''''''''
Sub GetOctaveBand(DataNo%, TestData!())
Analyzer.SNDTRGAct
'TimeDelay 500
'啟動分析儀
Analyzer.Start
Analyzer.SNDData DataNo, TestData()
Analyzer.SNDTRGAct
Analyzer.Start
End Sub
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -