📄 frmsysreg.frm
字号:
Top = 3360
Width = 1575
End
Begin VB.Label Label4
Caption = "(T31,L31,F31可用)"
Height = 255
Left = 3000
TabIndex = 19
Top = 2760
Width = 1695
End
Begin VB.Label Label3
Caption = "(T31,L31,F31可用)"
Height = 255
Left = 3000
TabIndex = 18
Top = 2160
Width = 1695
End
Begin VB.Label Label2
Caption = "(DI31,DU31可用)"
Height = 255
Left = 3000
TabIndex = 17
Top = 1560
Width = 1575
End
Begin VB.Label Label1
Caption = "校满电阻值:"
Height = 255
Index = 7
Left = 440
TabIndex = 15
Top = 4530
Width = 1095
End
Begin VB.Label Label1
Caption = "校0电阻值:"
Height = 255
Index = 6
Left = 460
TabIndex = 13
Top = 3930
Width = 1095
End
Begin VB.Label Label1
Caption = "温度探头:"
Height = 255
Index = 5
Left = 560
TabIndex = 11
Top = 3330
Width = 975
End
Begin VB.Label Label1
Caption = "下 标:"
Height = 255
Index = 4
Left = 720
TabIndex = 9
Top = 2730
Width = 735
End
Begin VB.Label Label1
Caption = "上 标:"
Height = 255
Index = 3
Left = 720
TabIndex = 7
Top = 2130
Width = 735
End
Begin VB.Label Label1
Caption = "极 性:"
Height = 255
Index = 2
Left = 720
TabIndex = 5
Top = 1560
Width = 735
End
Begin VB.Label Label1
Caption = "表量程:"
Height = 255
Index = 1
Left = 720
TabIndex = 3
Top = 930
Width = 735
End
Begin VB.Label Label1
Caption = "表类型:"
Height = 255
Index = 0
Left = 720
TabIndex = 1
Top = 375
Width = 735
End
End
End
Attribute VB_Name = "FrmSysReg"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim Flag_Simular As Boolean '模拟量校准标志
Dim Flag_W_HT As Boolean '写硬件版本标志
Dim Flag_W_RT As Boolean '写运行时长
Dim Flag_Set As Boolean '设置标志
Private Sub Check1_Click()
Dim i As Integer
If Check1.Value = 0 Then
For i = 0 To 15
Text1(i).Enabled = False
Next
Command1(0).Enabled = False
Combo1(0).Enabled = False
Combo1(1).Enabled = False
Else
For i = 0 To 15
Text1(i).Enabled = True
Next
Command1(0).Enabled = True
Combo1(0).Enabled = True
Combo1(1).Enabled = True
Timer1.Enabled = False
End If
End Sub
Private Sub Command1_Click(Index As Integer)
Dim i As Byte
Dim temp As Long
Select Case Index
Case 0
If Text1(0).Text = "" Or Val(Text1(0).Text) < 0 Or Val(Text1(0).Text) > 12 Then
MsgBox "表类型设置错误", , "提示"
Exit Sub
Else
DataArr(7) = 0
DataArr(8) = Val(Text1(0).Text) Mod 256
End If
If Text1(1).Text = "" Then Text1(1).Text = 0
If HardwareType = 1 Or HardwareType = 9 Then
DataArr(9) = Val(Text1(1).Text) * 1000 \ 256
DataArr(10) = Val(Text1(1).Text) * 1000 Mod 256
ElseIf HardwareType = 10 Or HardwareType = 11 Or HardwareType = 12 Then
DataArr(9) = Val(Text1(1).Text) \ 256
DataArr(10) = Val(Text1(1).Text) Mod 256
Else
DataArr(9) = Val(Text1(1).Text) * 10 \ 256
DataArr(10) = Val(Text1(1).Text) * 10 Mod 256
End If
If HardwareType = 2 Or HardwareType = 3 Then
If Combo1(0).Text = "单极性" Then
DataArr(11) = 0
DataArr(12) = 0
ElseIf Combo1(0).Text = "双极性" Then
DataArr(11) = 0
DataArr(12) = 1
ElseIf Combo1(0).Text = "" Then
DataArr(11) = 0
DataArr(12) = 0
End If
Else
DataArr(11) = 0
DataArr(12) = 0
End If
If Text1(3).Text = "" Then Text1(3).Text = 0
If HardwareType = 5 Or HardwareType = 6 Or HardwareType = 7 Then
If Val(Text1(3).Text) >= 0 Then
DataArr(13) = Val(Text1(3).Text) * 10 \ 256
DataArr(14) = Val(Text1(3).Text) * 10 Mod 256
ElseIf Val(Text1(3).Text) < 0 Then
DataArr(13) = (-Val(Text1(3).Text) * 10 \ 256) Or &H80
DataArr(14) = -Val(Text1(3).Text) * 10 Mod 256
End If
Else
DataArr(13) = 0
DataArr(14) = 0
End If
If Text1(4).Text = "" Then Text1(4).Text = 0
If HardwareType = 5 Or HardwareType = 6 Or HardwareType = 7 Then
If Val(Text1(4).Text) >= 0 Then
DataArr(15) = Val(Text1(4).Text) * 10 \ 256
DataArr(16) = Val(Text1(4).Text) * 10 Mod 256
ElseIf Val(Text1(4).Text) < 0 Then
DataArr(15) = (-Val(Text1(4).Text) * 10 \ 256) Or &H80
DataArr(16) = -Val(Text1(4).Text) * 10 Mod 256
End If
Else
DataArr(15) = 0
DataArr(16) = 0
End If
If HardwareType = 7 Then
If Combo1(1).Text = "PT100" Then
DataArr(17) = 0
DataArr(18) = 0
ElseIf Combo1(1).Text = "PT50" Then
DataArr(17) = 0
DataArr(18) = 1
ElseIf Combo1(1).Text = "CU100" Then
DataArr(17) = 0
DataArr(18) = 2
ElseIf Combo1(1).Text = "CU50" Then
DataArr(17) = 0
DataArr(18) = 3
ElseIf Combo1(1).Text = "" Then
DataArr(17) = 0
DataArr(18) = 0
End If
If Text1(6).Text = "" Then Text1(6).Text = 0
DataArr(19) = 0
DataArr(20) = Val(Text1(6).Text)
If Text1(7).Text = "" Then Text1(7).Text = 0
DataArr(21) = 0
DataArr(22) = Val(Text1(7).Text)
Else
DataArr(17) = 0
DataArr(18) = 0
DataArr(19) = 0
DataArr(20) = 0
DataArr(21) = 0
DataArr(22) = 0
End If
If HardwareType = 0 Or HardwareType = 2 Or HardwareType = 3 Or HardwareType = 4 Or HardwareType = 6 Or HardwareType = 7 Then
DataArr(23) = Val(Text1(8).Text) \ 256
DataArr(24) = Val(Text1(8).Text) Mod 256
DataArr(25) = Val(Text1(9).Text) \ 256
DataArr(26) = Val(Text1(9).Text) Mod 256
DataArr(27) = 0
DataArr(28) = 0
DataArr(29) = 0
DataArr(30) = 0
DataArr(31) = 0
DataArr(32) = 0
DataArr(33) = 0
DataArr(34) = 0
DataArr(35) = Val(Text1(14).Text) * 10 \ 256
DataArr(36) = Val(Text1(14).Text) * 10 Mod 256
ElseIf HardwareType = 1 Or HardwareType = 5 Then
DataArr(23) = Val(Text1(8).Text) \ 256
DataArr(24) = Val(Text1(8).Text) Mod 256
DataArr(25) = Val(Text1(9).Text) \ 256
DataArr(26) = Val(Text1(9).Text) Mod 256
DataArr(27) = 0
DataArr(28) = 0
DataArr(29) = 0
DataArr(30) = 0
DataArr(31) = 0
DataArr(32) = 0
DataArr(33) = 0
DataArr(34) = 0
DataArr(35) = Val(Text1(14).Text) * 1000 \ 256
DataArr(36) = Val(Text1(14).Text) * 1000 Mod 256
ElseIf HardwareType = 8 Then
DataArr(23) = Val(Text1(8).Text) \ 256
DataArr(24) = Val(Text1(8).Text) Mod 256
DataArr(25) = Val(Text1(9).Text) \ 256
DataArr(26) = Val(Text1(9).Text) Mod 256
DataArr(27) = Val(Text1(10).Text) \ 256
DataArr(28) = Val(Text1(10).Text) Mod 256
DataArr(29) = Val(Text1(11).Text) \ 256
DataArr(30) = Val(Text1(11).Text) Mod 256
DataArr(31) = Val(Text1(12).Text) \ 256
DataArr(32) = Val(Text1(12).Text) Mod 256
DataArr(33) = Val(Text1(13).Text) \ 256
DataArr(34) = Val(Text1(13).Text) Mod 256
DataArr(35) = Val(Text1(14).Text) * 1000 \ 256
DataArr(36) = Val(Text1(14).Text) * 1000 Mod 256
ElseIf HardwareType = 9 Then
DataArr(23) = Val(Text1(8).Text) \ 256
DataArr(24) = Val(Text1(8).Text) Mod 256
DataArr(25) = Val(Text1(9).Text) \ 256
DataArr(26) = Val(Text1(9).Text) Mod 256
DataArr(27) = Val(Text1(10).Text) \ 256
DataArr(28) = Val(Text1(10).Text) Mod 256
DataArr(29) = Val(Text1(11).Text) \ 256
DataArr(30) = Val(Text1(11).Text) Mod 256
DataArr(31) = Val(Text1(12).Text) \ 256
DataArr(32) = Val(Text1(12).Text) Mod 256
DataArr(33) = Val(Text1(13).Text) \ 256
DataArr(34) = Val(Text1(13).Text) Mod 256
DataArr(35) = Val(Text1(14).Text) * 10 \ 256
DataArr(36) = Val(Text1(14).Text) * 10 Mod 256
ElseIf HardwareType = 10 Or HardwareType = 11 Then
DataArr(23) = Val(Text1(8).Text) \ 256
DataArr(24) = Val(Text1(8).Text) Mod 256
DataArr(25) = Val(Text1(9).Text) \ 256
DataArr(26) = Val(Text1(9).Text) Mod 256
DataArr(27) = 0
DataArr(28) = 0
DataArr(29) = 0
DataArr(30) = 0
DataArr(31) = 0
DataArr(32) = 0
DataArr(33) = 0
DataArr(34) = 0
DataArr(35) = Val(Text1(14).Text) \ 256
DataArr(36) = Val(Text1(14).Text) Mod 256
ElseIf HardwareType = 12 Then
DataArr(23) = Val(Text1(8).Text) \ 256
DataArr(24) = Val(Text1(8).Text) Mod 256
DataArr(25) = Val(Text1(9).Text) \ 256
DataArr(26) = Val(Text1(9).Text) Mod 256
DataArr(27) = Val(Text1(10).Text) \ 256
DataArr(28) = Val(Text1(10).Text) Mod 256
DataArr(29) = Val(Text1(11).Text) \ 256
DataArr(30) = Val(Text1(11).Text) Mod 256
DataArr(31) = Val(Text1(12).Text) \ 256
DataArr(32) = Val(Text1(12).Text) Mod 256
DataArr(33) = Val(Text1(13).Text) \ 256
DataArr(34) = Val(Text1(13).Text) Mod 256
DataArr(35) = Val(Text1(14).Text) \ 256
DataArr(36) = Val(Text1(14).Text) Mod 256
DataArr(37) = Val(Text1(15).Text) \ 256
DataArr(38) = Val(Text1(15).Text) Mod 256
End If
Flag_Set = True
Check1.Value = 0
Check1_Click
SendDataReady
Case 1
Timer1.Enabled = False
Flag_Simular = True
SendDataReady
FrmSysReg.MSComm.PortOpen = False
FrmSimularAdjust.Show 1
Case 2
Timer1.Enabled = False
Flag_Simular = True
SendDataReady
FrmSysReg.MSComm.PortOpen = False
FrmAdjust.Show 1
Case 3
Timer1.Enabled = False
If Text2.Text = "" Or Val(Text2.Text) * 10 <> CLng(Val(Text2.Text) * 10) Then
MsgBox "版本号输入错误", , "提示"
Exit Sub
Else
DataArr(0) = MTID
DataArr(1) = &H88
DataArr(2) = 1
DataArr(3) = 2
DataArr(4) = 3
DataArr(5) = Val(Text2.Text) * 10
End If
MSComm.RThreshold = 8
For i = 0 To 5
SendBuf(i) = DataArr(i)
Next i
temp = CRC16(6)
SendBuf(6) = CrcDataHI
SendBuf(7) = CrcDataLO
SendLen = 8
Flag_W_HT = True
ModbusTrans
Case 4
Timer1.Enabled = False
If Text3.Text = "" Then
MsgBox "运行时长输入错误", , "提示"
Exit Sub
Else
DataArr(0) = MTID
DataArr(1) = &H8A
DataArr(2) = Val(Text3.Text) \ 2 ^ 24
DataArr(3) = (Val(Text3.Text) \ 2 ^ 16) Mod 256
DataArr(4) = (Val(Text3.Text) \ 2 ^ 8) Mod 256
DataArr(5) = Val(Text3.Text) Mod 256
End If
MSComm.RThreshold = 8
For i = 0 To 5
SendBuf(i) = DataArr(i)
Next i
temp = CRC16(6)
SendBuf(6) = CrcDataHI
SendBuf(7) = CrcDataLO
SendLen = 8
Flag_W_RT = True
ModbusTrans
End Select
End Sub
Private Sub Form_Load()
Flag_Simular = False
Flag_Set = False
Combo1(0).AddItem "单极性"
Combo1(0).AddItem "双极性"
Combo1(1).AddItem "PT100"
Combo1(1).AddItem "PT50"
Combo1(1).AddItem "CU100"
Combo1(1).AddItem "CU50"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -