SW1002_user_manual_chi_20191017H.pdf - 第115页

111 󵤚󰾿󵪑󲪹 󱑅󵈾 BT3562 󴐶󸢁󱌼󸛉󵉐󸿗󼵼󱑅󵈾 DM7276 󸑴󷝥 OCV 󴐶󸢁 󱐕󱑇󸔒󸑃 COM 󵱯󱜢󸑷󳍺 SW1001 󰵹 BT3562  DM7276 󼵼󴬭󱝠󲘇 SLO T 1 󵒹 CH1  CH11 󸑴󷝥 󱌼󸛉󵉐󸿗󴐶󸢁󰵹 OCV 󵒹󳆋󳎾󴐶󸢁 ' 󳆋󳎾󴐶󸢁󸡸󳭌 Private Sub ScanSamp…

100%1 / 166
110
󵤚󰾿󵪑󲪹
󱑅󵈾RS-232C/USB 󸑴󷝥󸔒󷷵󼵸󰾫󵈾 Visual Basic
®
Professional MSComm󼵹
󰾫󵈾DM7276 󸑴󷝥󳆋󳎾󴐶󸢁
󱐕󱑇󸔒󸑃
COM󵱯󱜢󸑷󳍺 SW1001󰵹DM7276󼵼󴬭󱝠󲘇SLOT 1󵒹CH1 CH22󸑴󷝥󳆋󳎾󴐶󸢁
󰶺USB󳞟󼵼󰷳󱜴󰻅󸑴󷝥󰵹RS-232C 󵕲󱝛󵒹󸔒󷷵󸔒󸑃󷸄󱾋󲚪󲶎󵟂󷷪󸑷󳍺USB 󵒹 COM󶒙󱝀󼵼󰾫󵈾
󷸫COM󶒙󱝀󱙱󱜴󸑴󷝥󸔒󷷵󱜦󱾫󼵼USB 󳞟󵒹󸔒󷷵󸔠󲫟󴌶󳥤󲼒󰷑
'󳆋󳎾󴐶󸢁󸡸󳭌
Private Sub ScanSample1 ()
Dim unit_no As Integer
Dim ch_no As Integer
Dim ch_str As String
Dim recv_str As String
MSComm1.CommPort = 3 '
󸔒󸑃COM3󸑷󳍺SW1001
MSComm1.Settings = "9600,n,8,1"
MSComm2.CommPort = 4 '
󸔒󸑃COM4󸑷󳍺DM7276
MSComm2.Settings = "9600,n,8,1"
MSComm1.PortOpen = True
MSComm2.PortOpen = True
Open App.Path & "\data.csv" For Output As #1 '
󳅨󲮔󷦴󱁃󲒹󵒹󳛓󰻞
SendCommand MSComm1, ":SYST:MOD:WIRE:MODE 1,WIRE2" '󲘝SLOT 1󷸄󰶺2󶑂󲮮󳍺󶑂
SendCommand MSComm1, "*OPC?" '󵴞󲲊󳕽󰽳󲔥󳃮
ReceiveCOM MSComm1
For unit_no = 1 To 1
For ch_no = 1 To 22
ch_str = Format (unit_no, "00") & Format (ch_no, "00") '
󵈱󳃮󵈾󰸶󳉸󲕂󸔒󸖥󵒹󲒷󵳘󰶯
SendCommand MSComm1, ":CLOS " & ch_str ' 󸽼󱝗 (CLOSE) 󳉸󲕂󵒹󸔒󸖥
SendCommand MSComm1, "*OPC?" '󵴞󲲊󸔒󸖥󸽼󱝗 (CLOSE) 󲔥󳃮
ReceiveCOM MSComm1
SendCommand MSComm2, ":READ?" '
󱝣DM7276󱜅󸓑󱙁󴂄󴐶󸢁󱠑󰻂
recv_str = ReceiveCOM (MSComm2) '󳍺󳙑󴐶󸢁󱃪
Print #1, ch_str & "," & recv_str '󲘝󴐶󸢁󳚩󳌙󱍘󱌇󱑍󳛓󰻞󰶦
Next
Next
SendCommand MSComm1, ":OPEN" '
󳆋󳎾󶑖󳧳󰷔󱝠󼵼󲘝󳄿󳥤󶑪󵉐󱬽󷸄󰶺󲮔󸄠 (OPEN)
Close #1
MSComm1.PortOpen = False
MSComm2.PortOpen = False
End Sub
'
󱜅󸓑󱑍󳉸󲕂󵒹COM󵱯󱜢
Private Sub SendCommand (comport As MSComm, cmdstr As String)
comport.InBufferCount = 0
comport.Output = cmdstr + vbCrLf
End Sub
'
󰺣󳉸󲕂󵒹COM󵱯󱜢󳍺󳙑
Private Function ReceiveCOM (comport As MSComm) As String
Dim recvstr As String
Do While Right (recvstr, 1) <> Chr (10)
recvstr = RecStr + comport.Input
DoEvents
Loop
ReceiveCOM = Left (recvstr, Len (recvstr) - 2)
End Function
111
󵤚󰾿󵪑󲪹
󱑅󵈾BT3562 󴐶󸢁󱌼󸛉󵉐󸿗󼵼󱑅󵈾 DM7276󸑴󷝥OCV 󴐶󸢁
󱐕󱑇󸔒󸑃
COM 󵱯󱜢󸑷󳍺SW1001 󰵹 BT3562DM7276󼵼󴬭󱝠󲘇SLOT 1 󵒹 CH1 CH11 󸑴󷝥
󱌼󸛉󵉐󸿗󴐶󸢁󰵹OCV 󵒹󳆋󳎾󴐶󸢁
'󳆋󳎾󴐶󸢁󸡸󳭌
Private Sub ScanSample2 ()
Dim unit_no As Integer
Dim ch_no As Integer
Dim ch_str As String
Dim recv_str As String
Dim ir_str (50) As String
Dim ocv_str (50) As String
Dim i As Integer
MSComm1.CommPort = 3 '
󸔒󸑃COM3󸑷󳍺SW1001
MSComm1.Settings = "9600,n,8,1"
MSComm2.CommPort = 4 '
󸔒󸑃COM4󸑷󳍺BT3562
MSComm2.Settings = "9600,n,8,1"
MSComm3.CommPort = 5 '
󸔒󸑃COM5󸑷󳍺DM7276
MSComm3.Settings = "9600,n,8,1"
MSComm1.PortOpen = True
MSComm2.PortOpen = True
MSComm3.PortOpen = True
Open App.Path & "\data.csv" For Output As #1 '
󳅨󲮔󷦴󱁃󲒹󵒹󳛓󰻞
SendCommand MSComm1, ":SYST:MOD:WIRE:MODE 1,WIRE4" '󲘝SLOT 1󷸄󰶺4󶑂󲮮󳍺󶑂
SendCommand MSComm1, "*OPC?" '󵴞󲲊󳕽󰽳󲔥󳃮
ReceiveCOM MSComm1
SendCommand MSComm2, ":INIT:CONT OFF" '
󲘝BT3562󵒹󸑷󶑰󴐶󸢁󷸄󰶺OFF
i = 0
For unit_no = 1 To 1
For ch_no = 1 To 11
ch_str = Format (unit_no, "00") & Format (ch_no, "00") '
󵈱󳃮󵈾󰸶󳉸󲕂󸔒󸖥󵒹󲒷󵳘󰶯
SendCommand MSComm1, ":CLOS " & ch_str ' 󸽼󱝗 (CLOSE) 󳉸󲕂󵒹󸔒󸖥
SendCommand MSComm1, "*OPC?" '󵴞󲲊󸔒󸖥󸽼󱝗 (CLOSE) 󲔥󳃮
ReceiveCOM MSComm1
SendCommand MSComm2, ":READ?" '
󱝣BT3562󱜅󸓑󱙁󴂄󴐶󸢁󱠑󰻂
ir_str (i) = ReceiveCOM (MSComm2) '󳍺󳙑󴐶󸢁󱃪
i = i + 1
Next
Next
SendCommand MSComm1, ":SYST:MOD:WIRE:MODE 1,WIRE2" '
󲘝SLOT 1󷸄󰶺2󶑂󲮮󳍺󶑂
SendCommand MSComm1, "*OPC?" '󵴞󲲊󳕽󰽳󲔥󳃮
ReceiveCOM MSComm1
i = 0
For unit_no = 1 To 1
For ch_no = 12 To 22 '2
󶑂󲮮󵒹CH12󵕲󲰳󰸶4󶑂󲮮󵒹CH1 SENSE
ch_str = Format (unit_no, "00") & Format (ch_no, "00") '
󵈱󳃮󵈾󰸶󳉸󲕂󸔒󸖥󵒹󲒷󵳘󰶯
SendCommand MSComm1, ":CLOS " & ch_str ' 󸽼󱝗 (CLOSE) 󳉸󲕂󵒹󸔒󸖥
SendCommand MSComm1, "*OPC?" '󵴞󲲊󸔒󸖥󸽼󱝗 (CLOSE) 󲔥󳃮
ReceiveCOM MSComm1
SendCommand MSComm3, ":READ?" '
󱝣DM7276󱜅󸓑󱙁󴂄󴐶󸢁󱠑󰻂
ocv_str (i) = ReceiveCOM (MSComm3) '󳍺󳙑󴐶󸢁󱃪
i = i + 1
Next
Next
SendCommand MSComm1, ":OPEN" '
󳆋󳎾󶑖󳧳󰷔󱝠󼵼󲘝󳄿󳥤󶑪󵉐󱬽󷸄󰶺󲮔󸄠 (OPEN)
8
112
󵤚󰾿󵪑󲪹
'󲘝SLOT 1󵒹CH1 CH11 󵒹󴐶󸢁󳚩󳌙󱍘󱌇󱑍󳛓󰻞󰶦
i = 0
For unit_no = 1 To 1
For ch_no = 1 To 11
ch_str = Format (unit_no, "00") & Format (ch_no, "00")
Print #1, ch_str & "," & ir_str (i) & "," & ocv_str (i) '
󲘝󴐶󸢁󳚩󳌙󱍘󱌇󱑍󳛓󰻞󰶦
i = i + 1
Next
Next
Close #1
MSComm1.PortOpen = False
MSComm2.PortOpen = False
MSComm3.PortOpen = False
End Sub
'
󱜅󸓑󱑍󳉸󲕂󵒹COM󵱯󱜢
Private Sub SendCommand (comport As MSComm, cmdstr As String)
comport.InBufferCount = 0
comport.Output = cmdstr + vbCrLf
End Sub
'
󰺣󳉸󲕂󵒹COM󵱯󱜢󳍺󳙑
Private Function ReceiveCOM (comport As MSComm) As String
Dim recvstr As String
Do While Right (recvstr, 1) <> Chr (10)
recvstr = RecStr + comport.Input
DoEvents
Loop
ReceiveCOM = Left (recvstr, Len (recvstr) - 2)
End Function