1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/fangguanlin-SParamTest

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Agilent_E5062A.cls 20 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
fangguanlin Отправлено 07.08.2014 07:58 1e69034
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
Persistable = 0 'NotPersistable
DataBindingBehavior = 0 'vbNone
DataSourceBehavior = 0 'vbNone
MTSTransactionMode = 0 'NotAnMTSObject
END
Attribute VB_Name = "E5062A"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Option Explicit
Private Instrument As New AgilentIO
Private ConnectFlag As Boolean
Private temp
Private Arr() As String
'ENA init
Sub InsInit(addr As String)
Set Instrument = New AgilentIO
ConnectFlag = Instrument.IOInit(addr)
End Sub
'ENA max
Function MeasMax(Item As ItemConf, Result As ItemResult) As Double
'Instrument.WriteString "DISP:WIND" & Item.Ch & ":ACT"
'Instrument.WriteString "CALC" & Item.Ch & ":PAR" & Item.Tr & ":SEL"
'Instrument.WriteString "CALC" & Item.Ch & ":MARK1:ACT"
Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM:STAR " & Item.StartF
Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM:STOP " & Item.StopF
'Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM ON"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:FUNC:TYPE MAX"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:FUNC:EXEC"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:Y?"
Result.ResultMax = val(Format(Instrument.IOReadNumber, "####.##"))
End Function
'ENA min
Function MeasMin(Item As ItemConf, Result As ItemResult) As Double
'Instrument.WriteString "DISP:WIND" & Item.Ch & ":ACT"
'Instrument.WriteString "CALC" & Item.Ch & ":PAR" & Item.Tr & ":SEL"
'Instrument.WriteString "CALC" & Item.Ch & ":MARK1:ACT"
Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM:STAR " & Item.StartF
Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM:STOP " & Item.StopF
'Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM ON"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:FUNC:TYPE MIN"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:FUNC:EXEC"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:Y?"
Result.ResultMin = val(Format(Instrument.IOReadNumber, "####.##"))
End Function
'ENA max and min
Function MeasMaxMin(Item As ItemConf, Result As ItemResult) As Double
Call MeasMax(Item, Result)
Call MeasMin(Item, Result)
End Function
'Measure max-min
Public Function MeasRipple(Item As ItemConf, Result As ItemResult)
Call MeasMax(Item, Result)
Call MeasMin(Item, Result)
Result.ResultMax = Result.ResultMax - Result.ResultMin
Result.ResultMax = val(Format(Result.ResultMax, "####.##"))
End Function
'measure groupdelay(max)
Public Function MeasDelay(Item As ItemConf, Result As ItemResult)
'Instrument.WriteString "DISP:WIND" & Item.Ch & ":ACT"
'Instrument.WriteString "CALC" & Item.Ch & ":PAR" & Item.Tr & ":SEL"
'使能channel1group delay
Instrument.WriteString "CALC" & Item.ch & ":FORM GDEL"
'Instrument.WriteString "CALC" & Item.Ch & ":MARK1:ACT"
Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM:STAR " & Item.StartF
Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM:STOP " & Item.StopF
'Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM ON"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:FUNC:TYPE MAX"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:FUNC:EXEC"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:Y?"
'Change format to nS
'原来是秒,要更改为ns
Result.ResultMax = val(Format(Instrument.IOReadNumber * 1000000000#, "####.##"))
'chang format back to dB
Instrument.WriteString "CALC" & Item.ch & ":FORM MLOG"
End Function
'测试类型30,与4对应
Public Function FastMeasDelay(Item As ItemConf, Result As ItemResult)
'Instrument.WriteString "CALC" & Item.Ch & ":MARK1:ACT"
Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM:STAR " & Item.StartF
Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM:STOP " & Item.StopF
'Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM ON"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:FUNC:TYPE MAX"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:FUNC:EXEC"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:Y?"
'Change format to nS
'原来是秒,要更改为ns
Result.ResultMax = val(Format(Instrument.IOReadNumber * 1000000000#, "####.##"))
End Function
'measure groupdelay(min)
Public Function MeasDelayMin(Item As ItemConf, Result As ItemResult)
'Instrument.WriteString "DISP:WIND" & Item.Ch & ":ACT"
'Instrument.WriteString "CALC" & Item.Ch & ":PAR" & Item.Tr & ":SEL"
'使能channel1group delay
Instrument.WriteString "CALC" & Item.ch & ":FORM GDEL"
'Instrument.WriteString "CALC" & Item.Ch & ":MARK1:ACT"
Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM:STAR " & Item.StartF
Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM:STOP " & Item.StopF
'Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM ON"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:FUNC:TYPE MIN"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:FUNC:EXEC"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:Y?"
'Change format to nS
'原来是秒,要更改为ns
Result.ResultMin = val(Format(Instrument.IOReadNumber * 1000000000#, "####.##"))
'chang format back to dB
Instrument.WriteString "CALC" & Item.ch & ":FORM MLOG"
End Function
'measure groupdelay Ripple
Public Sub MeasDelayRipple(Item As ItemConf, Result As ItemResult)
Instrument.WriteString "CALC" & Item.ch & ":FORM GDEL"
Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM:STAR " & Item.StartF
Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM:STOP " & Item.StopF
'Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM ON"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:FUNC:TYPE MAX"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:FUNC:EXEC"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:Y?"
'Change format to nS
'原来是秒,要更改为ns
Result.ResultMax = val(Format(Instrument.IOReadNumber * 1000000000#, "####.##"))
Instrument.WriteString "CALC" & Item.ch & ":MARK1:FUNC:TYPE MIN"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:FUNC:EXEC"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:Y?"
'Change format to nS
'原来是秒,要更改为ns
Result.ResultMin = val(Format(Instrument.IOReadNumber * 1000000000#, "####.##"))
Result.ResultMax = Result.ResultMax - Result.ResultMin
Instrument.WriteString "CALC" & Item.ch & ":FORM MLOG"
End Sub
'测试类型的快速版本
Public Sub FastMeasDelayRipple(Item As ItemConf, Result As ItemResult)
Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM:STAR " & Item.StartF
Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM:STOP " & Item.StopF
'Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM ON"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:FUNC:TYPE MAX"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:FUNC:EXEC"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:Y?"
'Change format to nS
'原来是秒,要更改为ns
Result.ResultMax = val(Format(Instrument.IOReadNumber * 1000000000#, "####.##"))
Instrument.WriteString "CALC" & Item.ch & ":MARK1:FUNC:TYPE MIN"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:FUNC:EXEC"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:Y?"
'Change format to nS
'原来是秒,要更改为ns
Result.ResultMin = val(Format(Instrument.IOReadNumber * 1000000000#, "####.##"))
Result.ResultMax = Result.ResultMax - Result.ResultMin
End Sub
'measure groupdelay max,min
Public Sub MeasDelayMaxMin(Item As ItemConf, Result As ItemResult)
Call MeasDelayMin(Item, Result)
Call MeasDelay(Item, Result)
End Sub
'save data for type 7
Public Function SaveData(Item As ItemConf)
'Instrument.WriteString "DISP:WIND" & Item.Ch & ":ACT"
'Instrument.WriteString "CALC" & Item.Ch & ":PAR" & Item.Tr & ":SEL"
'Instrument.IOOPC
Instrument.WriteString "CALC" & Item.ch & ":DATA:SDAT?" '记录插损数据到变量IL
Item.TraceMem = Instrument.ReadString
End Function
'加载Memery到矢网,for type 7
Public Function LoadToMem(SouItem As ItemConf, DesItem As ItemConf)
'Instrument.WriteString "DISP:WIND" & DesItem.Ch & ":ACT" '使能channel1
'Instrument.WriteString "CALC" & DesItem.Ch & ":PAR" & DesItem.Tr & ":SEL" '使能channel1trace3
Instrument.WriteString "CALC" & DesItem.ch & ":DATA:SMEM " & SouItem.TraceMem '读取memory中的数据
End Function
Public Function LoadToData(SouItem As ItemConf, DesItem As ItemConf)
'目标使能channel1
'Instrument.WriteString "DISP:WIND" & DesItem.Ch & ":ACT"
'使能channel1trace3
'Instrument.WriteString "CALC" & DesItem.Ch & ":PAR" & DesItem.Tr & ":SEL"
'加载源地址的读取memory中的数据
Instrument.WriteString "CALC" & DesItem.ch & ":DATA:SDAT " & SouItem.TraceMem
End Function
'for type 8
Public Function TraceDivMem(Item As ItemConf, Result As ItemResult)
'Instrument.WriteString "DISP:WIND" & Item.Ch & ":ACT"
'Instrument.WriteString "CALC" & Item.Ch & ":PAR" & Item.Tr & ":SEL"
Instrument.WriteString "CALC" & Item.ch & ":MATH:FUNC DIV"
'Instrument.WriteString "CALC" & Item.Ch & ":MARK1:ACT"
Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM:STAR " & Item.StartF
Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM:STOP " & Item.StopF
'Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM ON"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:FUNC:TYPE MAX"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:FUNC:EXEC"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:Y?"
'temp = Instrument.ReadString
'Arr() = Split(temp, ",")
Result.ResultMax = val(Format(Instrument.IOReadNumber, "####.##"))
'Instrument.WriteString "CALC" & Item.Ch & ":MARK1:ACT"
Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM:STAR " & Item.StartF
Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM:STOP " & Item.StopF
'Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM ON"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:FUNC:TYPE MIN"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:FUNC:EXEC"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:Y?"
'temp = Instrument.ReadString
'Arr() = Split(temp, ",")
Result.ResultMax = val(Format(Instrument.IOReadNumber, "####.##"))
Instrument.WriteString "CALC" & Item.ch & ":MATH:FUNC NORM"
End Function
'type 9
Public Function MeasOffset(Item As ItemConf)
'Instrument.WriteString "DISP:WIND" & Item.Ch & ":ACT"
'Instrument.WriteString "CALC" & Item.Ch & ":PAR" & Item.Tr & ":SEL"
'Instrument.WriteString "CALC" & Item.Ch & ":MARK1:ACT"
Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM:STAR " & Item.StartF
Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM:STOP " & Item.StopF
'Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM ON"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:FUNC:TYPE MIN"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:FUNC:EXEC"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:Y?"
Item.OffSet = val(Format(Instrument.IOReadNumber, "####.##"))
End Function
'type 10 and type 14
Public Function DataMinusOffset(Item As ItemConf, subValue As Double, Result As ItemResult)
'Instrument.WriteString "DISP:WIND" & Item.Ch & ":ACT"
'Instrument.WriteString "CALC" & Item.Ch & ":PAR" & Item.Tr & ":SEL"
'Instrument.WriteString "CALC" & Item.Ch & ":MARK1:ACT"
Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM:STAR " & Item.StartF
Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM:STOP " & Item.StopF
'Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM ON"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:FUNC:TYPE MAX"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:FUNC:EXEC"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:Y?"
Item.OffSet = val(Format(Instrument.IOReadNumber, "####.##"))
Result.ResultMax = Item.OffSet - subValue
End Function
'VSWR max
Public Function MeasVSWR(Item As ItemConf, Result As ItemResult)
'Instrument.WriteString "DISP:WIND" & Item.Ch & ":ACT"
'Instrument.WriteString "CALC" & Item.Ch & ":PAR" & Item.Tr & ":SEL"
'使能channel1为SWR
Instrument.WriteString "CALC" & Item.ch & ":FORM SWR"
'Instrument.WriteString "CALC" & Item.Ch & ":MARK1:ACT"
Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM:STAR " & Item.StartF
Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM:STOP " & Item.StopF
'Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM ON"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:FUNC:TYPE MAX"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:FUNC:EXEC"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:Y?"
Result.ResultMax = val(Format(Instrument.IOReadNumber, "####.##"))
'chang format back to dB
Instrument.WriteString "CALC" & Item.ch & ":FORM MLOG"
End Function
Public Function FastMeasVSWR(Item As ItemConf, Result As ItemResult)
'Instrument.WriteString "DISP:WIND" & Item.Ch & ":ACT"
'Instrument.WriteString "CALC" & Item.Ch & ":PAR" & Item.Tr & ":SEL"
'Instrument.WriteString "CALC" & Item.Ch & ":MARK1:ACT"
Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM:STAR " & Item.StartF
Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM:STOP " & Item.StopF
'Instrument.WriteString "CALC" & Item.ch & ":MARK:FUNC:DOM ON"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:FUNC:TYPE MAX"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:FUNC:EXEC"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:Y?"
Result.ResultMax = val(Format(Instrument.IOReadNumber, "####.##"))
'chang format back to dB
End Function
Public Function Meas1Db(Item As ItemConf, Result As ItemResult)
End Function
Public Function Meas1dbOut(Item As ItemConf, Result As ItemResult)
End Function
'Singel Sweep
Function SingleSweep(Item As ItemConf)
'Instrument.IOSendStr "DISP:WIND" & Item.Ch & ":ACT"
Instrument.IOSendStr "TRIG:SOUR BUS"
Instrument.IOSendStr "INIT:CONT OFF"
Instrument.IOSendStr "INIT" & Item.ch
Instrument.IOSendStr "TRIG:SING"
Instrument.IOSendStr "*OPC?"
temp = Instrument.ReadString()
End Function
'Measure point,根据x值,获取y
Public Function MeasPoint(Item As ItemConf, Result As ItemResult)
'Instrument.WriteString "DISP:WIND" & Item.Ch & ":ACT"
'Instrument.WriteString "CALC" & Item.Ch & ":PAR" & Item.Tr & ":SEL"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:X " & Item.StartF
Instrument.WriteString "CALC" & Item.ch & ":MARK1:Y?"
temp = CDbl(Format(Instrument.IOReadNumber, "####.##"))
'Arr = Split(temp, ",")
Result.ResultMax = temp
End Function
Public Function MeasDelayPoint(Item As ItemConf, Result As ItemResult)
'Instrument.WriteString "DISP:WIND" & Item.Ch & ":ACT"
'Instrument.WriteString "CALC" & Item.Ch & ":PAR" & Item.Tr & ":SEL"
Instrument.WriteString "CALC" & Item.ch & ":MARK1:X " & Item.StartF
Instrument.WriteString "CALC" & Item.ch & ":MARK1:Y?"
temp = CDbl(Format(Instrument.IOReadNumber * 1000000000#, "####.##"))
'Arr = Split(temp, ",")
Result.ResultMax = temp
End Function
'----------------------------------------------------------------------------
'----------------------other function----------------------------------------
'----------------------------------------------------------------------------
'ENA SN
Function MeasSN() As String
Call Instrument.IOSendStr("*IDN?")
MeasSN = Instrument.IOReadStr
End Function
Public Sub Preset()
Instrument.ResetIO
End Sub
Sub ClearErr()
Dim tmp As Integer
Instrument.IOSendStr "SYST:ERR?"
tmp = Instrument.IOReadNumber
Instrument.IOOPC
While tmp <> 0
Instrument.IOSendStr "SYST:ERR?"
tmp = Instrument.IOReadNumber
Instrument.IOOPC
Wend
End Sub
'调用状态
Sub CallState(ByVal StatesFileName As String)
Dim tempInt As Integer
ClearErr
'连接仪器命令
Instrument.IOSendStr "MMEM:LOAD " & """" & StatesFileName & """"
Instrument.IOOPC
Instrument.IOSendStr "SYST:ERR?"
tempInt = Instrument.IOReadNumber
'错误代码
If tempInt = -256 Then
MsgBox "请检查以下状态文件是否存在" & Chr(13) & StatesFileName, vbOKOnly + vbCritical, "错误!"
ElseIf tempInt = 0 Then
Else
MsgBox "调出状态文件有错误,请检查!", vbOKOnly + vbCritical, "错误!"
End If
Exit Sub
ErrorExit:
MsgBox "请检查以下状态文件是否存在" & Chr(13) & StatesFileName, vbOKOnly + vbCritical, "错误!"
End Sub
'校准件类型设置
Public Function CalKitType(ChNum As Integer, CalKit As Integer)
On Error GoTo aa
Dim ch As Integer
For ch = 1 To ChNum
Instrument.WriteString "SENS" & ch & ":CORR:COLL:CKIT " & CalKit
Instrument.WriteString "SENS" & ch & ":CORR:COLL:METH:SOLT2 1,2"
Instrument.IOOPC
Next ch
Exit Function
aa:
MsgBox "请检查校准件类型!", , "错误"
End Function
'校准端口
Public Function CalStPt(ch As Integer, Standard As String, Port As String)
On Error GoTo aa
'校准Standard=open,short,load,thru port=1,2
Instrument.WriteString "SENS" & ch & ":CORR:COLL:" & Standard & " " & Port
Instrument.IOOPC
Exit Function
aa:
MsgBox "请检查状态文件!", , "错误!"
End Function
'校准Done和保存到矢网
Sub CalDoneSave(fileName As String)
Dim ch As Integer
Dim temp As Integer
'Done
For ch = 1 To 4
Instrument.WriteString "SENS" & ch & ":CORR:COLL:SAVE"
Instrument.IOOPC
Next
'Save
ClearErr
Instrument.WriteString "MMEM:STOR:STYP CST"
Instrument.WriteString "MMEM:STOR " & """" & fileName & """"
Instrument.WriteString "SYST:ERR?"
temp = Instrument.IOReadNumber
If temp = -256 Then
MsgBox "请检查以下状态文件是否存在" & Chr(13) & fileName, vbOKOnly + vbCritical, "错误!"
ElseIf temp = 0 Then
Else
MsgBox "调出状态文件有错误,请检查!", vbOKOnly + vbCritical, "错误!"
End If
Exit Sub
End Sub
'获取指定make1x位置的y
Function Mark1Val(ByRef Mark1Fre As Double, ByVal ch As Integer)
Instrument.IOSendStr "CALC" & ch & ":MARK1:X " & Mark1Fre
Instrument.IOSendStr "CALC" & ch & ":MARK1:Y?"
temp = Instrument.IOReadStr
Arr = Split(temp, ",")
Mark1Val = Arr(0)
End Function
'---------------------------显示--------------------------------------------------
'chTrace选择,并最大化ch
Function EnableChTr(Item As ItemConf)
Instrument.IOSendStr "DISP:WIND" & Item.ch & ":ACT"
Instrument.IOSendStr "CALC" & Item.ch & ":PAR" & Item.Tr & ":SEL"
Instrument.IOSendStr "DISP:MAX ON"
Instrument.IOSendStr "DISP:WIND" & Item.ch & ":MAX ON"
End Function
Function SaveImg() As String
Dim fileName As String
Dim tmp() As Byte, intFileNo As Integer
fileName = "D:/AA1.png"
tmp = Instrument.readImgFile(fileName)
intFileNo = 1
Open "D:/tmp.png" For Binary Access Write As #intFileNo
Put #intFileNo, , tmp
Close #intFileNo
End Function
Function SaveCsv() As String
Dim fileName As String
Dim tmp() As Byte, intFileNo As Integer
fileName = "D:/AA1.csv"
tmp = Instrument.readCsvFile(fileName)
intFileNo = 1
Open "D:/tmp.csv" For Binary Access Write As #intFileNo
Put #intFileNo, , tmp
Close #intFileNo
End Function
'关闭屏幕
Function BackLightOFF() As Boolean
Instrument.IOSendStr "SYST:BACK OFF"
End Function
'Channel max or nomal
'选择Ch ,Tr为活动的
Function SlectChTr(ch As Integer, Tr As Integer)
Instrument.IOSendStr ":DISP:WIND" + CStr(ch) + ":ACT"
Instrument.IOSendStr ":CALC" + CStr(ch) + ":PAR" + CStr(Tr) + ":SEL"
End Function
Function ChMaxON()
Instrument.IOSendStr ":DISP:MAX ON"
End Function
Function ChMaxOFF()
Instrument.IOSendStr ":DISP:MAX OFF"
End Function
'Trace max or nomal
Function TrMaxON(ch As Integer)
Instrument.IOSendStr ":DISP:WIND" + CStr(ch) + ":MAX ON"
End Function
Function TrMaxOFF(ch As Integer)
Instrument.IOSendStr ":DISP:WIND" + CStr(ch) + ":MAX OFF"
End Function
Function Mark1ON(ch As Integer)
Instrument.IOSendStr "CALC" & ch & ":MARK1:ACT"
Instrument.WriteString "CALC" & ch & ":MARK:FUNC:DOM ON"
End Function

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/fangguanlin-SParamTest.git
git@api.gitlife.ru:oschina-mirror/fangguanlin-SParamTest.git
oschina-mirror
fangguanlin-SParamTest
fangguanlin-SParamTest
master