📄 module1.bas
字号:
Do
DoEvents
K = Form2.MSComm1.InBufferCount
If K = 17 Then
ReDim OuTt_IstartA(K)
OuTt_IstartA = Form2.MSComm1.Input
End If
Loop Until K = 17
For i = 0 To 7
Istart(i) = 0
Next i
'If OuTt_IstartA(16) = vbKeyReturn Then
For i = 0 To 7
Istart(i) = Val(OuTt_IstartA(i * 2)) * 256 + Val(OuTt_IstartA(i * 2 + 1))
Next i
Form2.MSComm1.PortOpen = False
'End If
End Sub
Sub Get_Iend_All()
Dim K As Integer
Dim OuTt_IendA() As Byte
If Form2.MSComm1.PortOpen = False Then Form2.MSComm1.PortOpen = True
Form2.MSComm1.PortOpen = False
Form2.MSComm1.PortOpen = True
Open_LEd
Form2.MSComm1.Output = "RM" & vbKeyReturn '读8通道数据
Time_Daily (2)
Do
DoEvents
K = Form2.MSComm1.InBufferCount
If K = 17 Then
ReDim OuTt_IendA(K)
OuTt_IendA = Form2.MSComm1.Input
End If
Loop Until K = 17
For i = 0 To 7
Iend(i) = 0
Next i
'If OuTt_IendA(16) = vbKeyReturn Then
For i = 0 To 7
Iend(i) = Val(OuTt_IendA(i * 2)) * 256 + Val(OuTt_IendA(i * 2 + 1))
Next i
Form2.MSComm1.PortOpen = False
'End If
End Sub
Sub GEt_Iend_Single(ch_index As Integer)
Dim K As Integer
Dim OuTt_IendS() As Byte
If Form2.MSComm1.PortOpen = False Then Form2.MSComm1.PortOpen = True
Form2.MSComm1.PortOpen = False
Form2.MSComm1.PortOpen = True
Open_LEd
Form2.MSComm1.Output = "RS" & Chr$(ch_index) & vbKeyReturn '读数据
Time_Daily (2)
Do
DoEvents
K = Form2.MSComm1.InBufferCount
If K > 0 Then
ReDim OuTt_IendS(K)
OuTt_IendS = Form2.MSComm1.Input
End If
Loop Until K = 3
Iend(ch_index) = 0
'If OuTt_IendS(2) = vbKeyReturn Then
Iend(ch_index) = Val(OuTt_IendS(0)) * 256 + Val(OuTt_IendS(1))
'End If
Form2.MSComm1.PortOpen = False
End Sub
Sub Open_LEd()
Dim oUttt() As Byte
Form2.MSComm1.Output = "RS" & Chr(99) & vbKeyReturn '开LED
Do
DoEvents
K = Form2.MSComm1.InBufferCount
If K > 0 Then
ReDim oUttt(K)
oUttt = Form2.MSComm1.Input
End If
Loop Until K > 2
End Sub
Sub frmSplash_Draw(tXt_Index As Integer, chn_Index As Integer)
Dim X_Num, Y_Num As Integer
Dim Y_Unit As Single
Dim XX, YY As Integer
frmSplash.Picture1.Cls
X = Val(Form2.Combo1(1).Text) * 2
X_Num = 7440 / X
'''''''''''''''''''''''''''''
frmSplash.Picture1.Line (frmSplash.Line2.X1, frmSplash.Line2.Y1)-(frmSplash.Line2.X1 - 50, frmSplash.Line2.Y1 + 200)
frmSplash.Picture1.Line (frmSplash.Line2.X1, frmSplash.Line2.Y1)-(frmSplash.Line2.X1 + 50, frmSplash.Line2.Y1 + 200)
frmSplash.Picture1.Line (frmSplash.Line1.X2, frmSplash.Line1.Y2)-(frmSplash.Line1.X2 - 200, frmSplash.Line1.Y2 - 50)
frmSplash.Picture1.Line (frmSplash.Line1.X2, frmSplash.Line1.Y2)-(frmSplash.Line1.X2 - 200, frmSplash.Line1.Y2 + 50)
For i = 0 To 30
frmSplash.Label4(i).Visible = False
frmSplash.Label4(i).BackColor = vbWhite
Next i
For i = 0 To 20
frmSplash.Label5(i).Visible = False
frmSplash.Label5(i).BackColor = vbWhite
Next i
If tXt_Index = 4 Then
Y_Num = 400
For i = 1 To 10
If i Mod 2 = 0 Then
frmSplash.Picture1.Line (frmSplash.Line1.X1, frmSplash.Line1.Y1 - Y_Num * i)-(frmSplash.Line1.X1 + 140, frmSplash.Line1.Y1 - Y_Num * i)
Else
frmSplash.Picture1.Line (frmSplash.Line1.X1, frmSplash.Line1.Y1 - Y_Num * i)-(frmSplash.Line1.X1 + 70, frmSplash.Line1.Y1 - Y_Num * i)
End If
frmSplash.Label5(i - 1).Caption = Format(i / 10, "0.##")
frmSplash.Label5(i - 1).Top = frmSplash.Line1.Y1 - Y_Num * i - frmSplash.Label5(i - 1).Height / 2
frmSplash.Label5(i - 1).Left = frmSplash.Line1.X1 - frmSplash.Label5(i - 1).Width - 10
frmSplash.Label5(i - 1).Visible = True
Next i
For i = 11 To 20
frmSplash.Label5(i - 1).Visible = False
Next i
End If
If tXt_Index = 5 Then
Y_Num = 200
For i = 1 To 20
If i Mod 2 = 0 Then
If i Mod 10 = 0 Then
frmSplash.Picture1.ForeColor = vbRed
frmSplash.Picture1.DrawWidth = 2
frmSplash.Picture1.Line (frmSplash.Line1.X1, frmSplash.Line1.Y1 - Y_Num * i)-(frmSplash.Line1.X1 + 210, frmSplash.Line1.Y1 - Y_Num * i)
frmSplash.Picture1.ForeColor = vbBlack
frmSplash.Picture1.DrawWidth = 1
Else
frmSplash.Picture1.Line (frmSplash.Line1.X1, frmSplash.Line1.Y1 - Y_Num * i)-(frmSplash.Line1.X1 + 140, frmSplash.Line1.Y1 - Y_Num * i)
End If
Else
frmSplash.Picture1.Line (frmSplash.Line1.X1, frmSplash.Line1.Y1 - Y_Num * i)-(frmSplash.Line1.X1 + 70, frmSplash.Line1.Y1 - Y_Num * i)
End If
frmSplash.Label5(i - 1).Caption = Format(i / 10, "0.##")
frmSplash.Label5(i - 1).Top = frmSplash.Line1.Y1 - Y_Num * i - frmSplash.Label5(i - 1).Height / 2
frmSplash.Label5(i - 1).Left = frmSplash.Line1.X1 - frmSplash.Label5(i - 1).Width - 10
frmSplash.Label5(i - 1).Visible = True
Next i
End If
If tXt_Index = 6 Then
Y_Num = 400
For i = 1 To 10
If i Mod 2 = 0 Then
frmSplash.Picture1.Line (frmSplash.Line1.X1, frmSplash.Line1.Y1 - Y_Num * i)-(frmSplash.Line1.X1 + 140, frmSplash.Line1.Y1 - Y_Num * i)
Else
frmSplash.Picture1.Line (frmSplash.Line1.X1, frmSplash.Line1.Y1 - Y_Num * i)-(frmSplash.Line1.X1 + 70, frmSplash.Line1.Y1 - Y_Num * i)
End If
frmSplash.Label5(i - 1).Caption = i * 10
frmSplash.Label5(i - 1).Top = frmSplash.Line1.Y1 - Y_Num * i - frmSplash.Label5(i - 1).Height / 2
frmSplash.Label5(i - 1).Left = frmSplash.Line1.X1 - frmSplash.Label5(i - 1).Width - 10
frmSplash.Label5(i - 1).Visible = True
Next i
End If
For i = 1 To X
If i Mod 2 = 0 Then
frmSplash.Picture1.Line (frmSplash.Line1.X1 + X_Num * i, frmSplash.Line1.Y1)-(frmSplash.Line1.X1 + X_Num * i, frmSplash.Line1.Y1 - 140)
frmSplash.Label4(i / 2).Left = frmSplash.Line1.X1 + X_Num * i - frmSplash.Label4(i / 2).Width / 2
frmSplash.Label4(i / 2).Top = frmSplash.Line1.Y1 + 120
frmSplash.Label4(i / 2).Caption = i / 2
frmSplash.Label4(i / 2).Visible = True
Else
frmSplash.Picture1.Line (frmSplash.Line2.X1 + X_Num * i, frmSplash.Line1.Y1)-(frmSplash.Line2.X1 + X_Num * i, frmSplash.Line1.Y1 - 70)
End If
frmSplash.Picture1.Refresh
Next i
frmSplash.Picture1.DrawWidth = 2
frmSplash.Picture1.ForeColor = vbRed
frmSplash.Picture1.Scale (-720, 4440)-(8625, -585)
Select Case tXt_Index
Case 4
Y_Unit = 4 * 1000
frmSplash.Label6.Caption = Form2.Label1(1).Caption & "测量曲线"
Case 5
Y_Unit = 2 * 1000
frmSplash.Label6.Caption = Form2.Label1(2).Caption & "测量曲线"
Case 6
Y_Unit = 4 * 10
frmSplash.Label6.Caption = Form2.Label1(3).Caption & "测量曲线"
End Select
For i = 0 To 30
If sPlash(tXt_Index - 4, chn_Index, i) <> "-1" Then
If i = 0 Then
XX = X_Num * i
YY = Y_Unit * Val(sPlash(tXt_Index - 4, chn_Index, i))
frmSplash.Picture1.PSet (XX, YY)
Else
frmSplash.Picture1.Line (XX, YY)-(X_Num * i, Y_Unit * Val(sPlash(tXt_Index - 4, chn_Index, i)))
XX = X_Num * i
YY = Y_Unit * Val(sPlash(tXt_Index - 4, chn_Index, i))
End If
End If
Next i
frmSplash.Picture1.DrawWidth = 1
frmSplash.Picture1.ForeColor = vbBlack
frmSplash.Picture1.Scale (0, 0)-(9375, 5055)
frmSplash.Picture1.Refresh
End Sub
Public Function Get_Data(Csy_Adress As String, Data_Len As Integer, bbb() As Byte) As Boolean
Dim jj As Long
Dim nSCRp As Long
Dim nSTt As Long
Dim lIFtimeover As Boolean
nSCRp = Screen.MousePointer
Screen.MousePointer = 11
Time_Daily (1)
If Form4.MSComm1.PortOpen = False Then Form4.MSComm1.PortOpen = True
Form4.MSComm1.PortOpen = False
Form4.MSComm1.PortOpen = True
lIFtimeover = False
nSTt = GetTickCount
Do While Not (jj = nOUTlen)
If Abs(GetTickCount - nSTt) >= nDelayMS Then
lIFtimeover = True
MsgBox "在规定 " & nDelayMS & "ms 的时间内,无法与仪器通讯!", 48, "警告"
Exit Do
End If
jj = oObj.InBufferCount
Loop
If lIFtimeover Then
Get_Data = False
Else
bbb = oObj.Input
Get_Data = True
End If
Screen.MousePointer = nSCRp
Form4.MSComm1.PortOpen = False
End Function
Sub Get_Csy_Sum()
Dim K As Integer
Dim S As String
Dim DataS() As Byte
If Form4.MSComm1.PortOpen = False Then Form4.MSComm1.PortOpen = True
Form4.MSComm1.PortOpen = False
Form4.MSComm1.PortOpen = True
S = Chr$(1) & Chr$(53) & Chr$(0) & Chr$(2)
Form4.MSComm1.Output = "RE" & S & vbKeyReturn '读8通道数据
Do
DoEvents
K = Form4.MSComm1.InBufferCount
Time_Daily (1)
If K <> 1 Then
ReDim DataS(K)
DataS = Form4.MSComm1.Input
Exit Do
End If
Loop Until K >= 2
CSy_Sum = Val(DataS(i * 2)) * 256 + Val(DataS(i * 2 + 1))
Form4.MSComm1.PortOpen = False
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -