发表于:2005-11-04 19:59:00
13楼
Private Declare Sub Sleep Lib "kernel32" (ByVal dwseconds As Long)
Private Sub Label3_Click()
End Sub
Private Sub Label9_Click()
End Sub
Private Sub Command1_Click()
Dim leixing As String
Dim xx As String
Dim ha As String
Dim dizhi As String
Dim str_read(0 To 32) As Byte
Dim i As Integer
Dim Temp_FCS As Variant
Dim str_val(0 To 5) As Byte
dizhi = Text2.Text
leixing = Text1.Text
If leixing = "s" Or leixing = "sm" Or leixing = "i" Or leixing = "q" Or leixing = "v" Or leixing = "vb" Or leixing = "vw" Or leixing = "vd" Then
If leixing = "s" Then
xx = &H4
ha = &H1
End If
If leixing = "sm" Then
xx = &H5
ha = &H1
End If
If leixing = "i" Then
xx = &H81
ha = &H1
End If
If leixing = "q" Then
xx = &H82
ha = &H1
End If
If leixing = "m" Then
xx = &H83
ha = &H1
End If
If leixing = "v" Then
xx = &H84
ha = &H1
End If
If leixing = "vb" Then
xx = &H84
ha = &H1
End If
If leixing = "vw" Then
xx = &H84
ha = &H2
End If
If leixing = "vd" Then
xx = &H84
ha = &H4
End If
str_read(0) = &H68
str_read(1) = &H1B
str_read(2) = &H1B
str_read(3) = &H68
str_read(4) = &H2
str_read(5) = &H0
str_read(6) = &H6C
str_read(7) = &H32
str_read(8) = &H1
str_read(9) = &H0
str_read(10) = &H0
str_read(11) = &H0
str_read(12) = &H0
str_read(13) = &H0
str_read(14) = &HE
str_read(15) = &H0
str_read(16) = &H0
str_read(17) = &H4
str_read(18) = &H1
str_read(19) = &H12
str_read(20) = &HA
str_read(21) = &H10
str_read(22) = &H2
str_read(23) = &H0
str_read(24) = ha
str_read(25) = &H0
str_read(26) = &H1
str_read(27) = xx
str_read(28) = &H0
str_read(29) = (Str(dizhi) * 8) \ 256
str_read(30) = (Str(dizhi) * 8) Mod 256
For i = 4 To 30
Temp_FCS = Temp_FCS + str_read(i)
Next i
str_read(31) = Temp_FCS Mod 256
str_read(32) = &H16
MSComm1.Output = str_read
Text4.Text = ""
Sleep (50)
str_val(0) = &H10
str_val(1) = &H2
str_val(2) = &H0
str_val(3) = &H5C
str_val(4) = &H5E
str_val(5) = &H16
MSComm1.Output = str_val
Else:
If MsgBox("数据类型输入错误,正确类型为 S SM I Q M V VB VW VD", 1 + 32 + 0, "关闭") = 1 Then
End If
End If
End Sub
Private Sub Command2_Click()
Unload Form4
End Sub
Private Sub Form_Load()
MSComm1.CommPort = 1
MSComm1.Settings = "9600,e,8,1"
MSComm1.InputLen = 0
MSComm1.RThreshold = 28
MSComm1.InputMode = comInputModeBinary
MSComm1.PortOpen = True
End Sub
Private Sub MSComm1_OnComm()
Dim rcv_array() As Byte
Dim dis_array As String
Dim rcv_len As Long
Dim yy As String
Dim haha As String
rcv_array = MSComm1.Input
rcv_len = UBound(rcv_array)
ReDim temP(0 To UBound(rcv_array))
For i = 0 To rcv_len
dis_array = dis_array & Hex(rcv_array(i)) & ""
Next i
If Len(dis_array) = 38 Then
yy = Mid(dis_array, 34, 1)
End If
If Len(dis_array) = 39 Then
yy = Mid(dis_array, 34, 2)
End If
If Len(dis_array) = 42 Then
yy = Mid(dis_array, 35, 4)
End If
If Len(dis_array) = 45 Then
yy = Mid(dis_array, 35, 5)
End If
Text3.Text = Val("&H" & yy)
Text4.Text = dis_array
End Sub