⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmsysreg.frm

📁 应用研究计算上的许多地方上用的到的算法
💻 FRM
📖 第 1 页 / 共 3 页
字号:
         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 + -