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

📄 frmmain.frm

📁 电动机监控应用系统的编程实现
💻 FRM
📖 第 1 页 / 共 3 页
字号:
         
    '用于发送的变量
    Dim tmpCmdCode As String
    Dim Command_Buf(2) As String
    Dim TXData(2) As Byte
     


Private Sub cmdCfgSPort_Click()
    frmInitPort.Show 1, frmZong
End Sub

Private Sub CmdClear_Click()
    frmZong.RTBCmdLine.Text = strTipChar
    frmZong.RTBCode.Text = ""
    frmZong.LstCode.Clear
    frmZong.RTBCmdLine.SelStart = Len(Me.RTBCmdLine.Text)
End Sub

Private Sub cmdEdit_Click()
    frmZong.RTBCode.Visible = True
    frmZong.LstCode.Visible = False
    frmZong.cmdEdit.Enabled = False
    frmZong.cmdImport.Enabled = True
    frmZong.MNU_Run_Run.Enabled = False
End Sub

Private Sub cmdExit_Click()
    Unload frmZong
End Sub

Private Sub cmdImport_Click()
    '将RichTextBox中的命令加入到listbox中
    frmZong.MNU_Run_Run.Enabled = True
    MoveRtoL
    frmZong.RTBCode.Visible = False
    frmZong.LstCode.Visible = True
    frmZong.cmdImport.Enabled = False
    frmZong.cmdEdit.Enabled = True
End Sub
Private Sub ComboCmd_Click()
If ComboCmd.Text = "停机" Then
    TextPara.Enabled = False
    LabelPara.Enabled = False
    Else
    TextPara.Enabled = True
    LabelPara.Enabled = True
    End If
If ComboCmd.Text = "查询电压" Then
    TextPara.Enabled = False
    LabelPara.Enabled = False
    'Else
    'TextPara.Enabled = True
    'Label2.Enabled = True
    End If
If ComboCmd.Text = "查询电流" Then
    TextPara.Enabled = False
    LabelPara.Enabled = False
    'Else
    'TextPara.Enabled = True
    'Label2.Enabled = True
    End If
If ComboCmd.Text = "查询转矩" Then
    TextPara.Enabled = False
    LabelPara.Enabled = False
    End If
If ComboCmd.Text = "开始转矩传感" Then
    TextPara.Enabled = False
    LabelPara.Enabled = False
    End If
End Sub


Private Sub Comm_OnComm()
        OK = &HFFAA0
    Dim message As String
    Dim X As Integer
    Dim RX_Index As Integer
    X = Comm.InBufferCount
    
    For RX_Index = 0 To X - 1
        tmpAnswerCode = Comm.Input(0)
        
        If Answer_Index > 2 Or Answer_Index < 0 Then
            Answer_Index = 0
        End If
        
        AnswerCode(Answer_Index) = tmpAnswerCode
        tmpAnswerStr = tmpAnswerStr + Hex(AnswerCode(Answer_Index))
        tmpAnswerVal = Val("&H" + tmpAnswerStr)
        message = ("RX---" + Hex(AnswerCode(Answer_Index))) & Chr(13) & Chr(10)
        DisplayInfor message
       
        Answer_Index = Answer_Index + 1
        tmpAnswerStr = ""
     
    Next RX_Index
    
  
        If (OK = tmpAnswerVal) Then
            RXCorrectFlag = True
            tmRX.Enabled = False
        Else
            RXCorrectFlag = False
        End If
    

End Sub

Private Sub command1_Click()
 frmEdit.Show 1, frmZong
End Sub

Private Sub Command2_Click()
 frmsee.Show 1, frmZong
End Sub

Private Sub Command3_Click()
Unload Me

End Sub

Private Sub CommandCode_Click()
    frmChangClCode.Show 1, frmZong
End Sub

Private Sub CommandAdd_Click()
     frmEdit.RTBCode.Visible = True
   frmEdit.LstCode.Visible = False
   frmZong.CommandAdd.Enabled = False
   frmZong.CommandAddOk.Enabled = True
   frmZong.ComboCmd.Enabled = True
   frmZong.LabelCmd.Enabled = True
    frmZong.TextPara.Enabled = True
    frmZong.TextDelay.Enabled = True
    frmZong.LabelPara.Enabled = True
    frmZong.LabelDelay.Enabled = True
   frmZong.CommandFinish.Enabled = False
   CommandRun.Enabled = False
   CommandAddCalcel.Enabled = True
   End Sub

Private Sub CommandAddCalcel_Click()
    frmZong.CommandAdd.Enabled = True
    frmZong.CommandAddOk.Enabled = False
    frmZong.ComboCmd.Enabled = False
    frmZong.LabelCmd.Enabled = False
    frmZong.TextPara.Enabled = False
    frmZong.TextDelay.Enabled = False
    frmZong.LabelPara.Enabled = False
    frmZong.LabelDelay.Enabled = False
    frmZong.CommandFinish.Enabled = True
    TextPara.Text = ""
    TextDelay.Text = ""
    ComboCmd.Text = ""
End Sub

Private Sub CommandAddOk_Click()
    Dim Command As String
    Dim Cmd As String
    Dim Para As String
    Dim Tim As String
    Dim Text As String
    Cmd = ComboCmd.Text
    Para = TextPara.Text
    Tim = TextDelay.Text
 
    If ComboCmd.Text = "" Then
    MsgBox "缺少命令!", vbOKOnly, "错误警告!"
    Exit Sub
    End If
    If TextPara.Enabled = True Then
    If TextPara.Text = "" Then
    MsgBox "缺少参数!", vbOKOnly, "错误警告!"
    Exit Sub
    End If
   
    If Para > 255 Then
   MsgBox "参数越限!", vbOKOnly, "错误警告!"
    Exit Sub
    End If
    If Para < 0 Then
    MsgBox "错误参数!", vbOKOnly, "错误警告!"
    Exit Sub
    End If
     End If
    If TextDelay.Text = "" Then
    MsgBox "缺少延时!", vbOKOnly, "错误警告!"
    Exit Sub
    End If
    frmEdit.RTBCode.Visible = True
    frmEdit.LstCode.Visible = False
    Text = frmEdit.RTBCode.Text
    If frmEdit.RTBCode.Text <> "" Then
    frmEdit.RTBCode.Text = Text & vbCrLf & ComboCmd.Text & " " & TextPara.Text & " " & TextDelay.Text
    Else
    frmEdit.RTBCode.Text = ComboCmd.Text & " " & TextPara.Text & " " & TextDelay.Text
    End If
    
   
    frmZong.CommandAdd.Enabled = True
   frmZong.CommandAddOk.Enabled = False
    frmZong.ComboCmd.Enabled = False
    frmZong.LabelCmd.Enabled = False
    frmZong.TextPara.Enabled = False
    frmZong.TextDelay.Enabled = False
    frmZong.LabelPara.Enabled = False
    frmZong.LabelDelay.Enabled = False
    frmZong.CommandFinish.Enabled = True
    CommandAddCalcel.Enabled = False
    TextPara.Text = ""
    TextDelay.Text = ""
    ComboCmd.Text = ""
    
End Sub

Private Sub CommandCurrent_Click()
    Dim Current As String
    If CommandCurrent.Caption = "查询结果" Then
    CommandCurrent.Caption = "查询电流"
    TextI.Text = "RX"
    Exit Sub
    End If
    
    Current = "查询电流 1000"
    RunCommand (Current)
    CommandCurrent.Caption = "查询结果"
    TextI.Text = ""
    
        
End Sub

Private Sub CommandFinish_Click()
   '完成对输入控制命令的添加
    Me.MNU_Run_Run.Enabled = True
    MoveRtoL
    frmEdit.RTBCode.Visible = False
    frmEdit.LstCode.Visible = True
    frmEdit.cmdImport.Enabled = False
    frmEdit.cmdEdit.Enabled = True
  '  frmsee.CommandFinish.Enabled = False
      CommandRun.Enabled = True
End Sub

Private Sub CommandRun_Click()
 blSingleStep = False
    frmZong.Timer.Interval = 1
    frmZong.Timer.Enabled = True
    nCodeIndex = -1 '从第一条指令开始执行
End Sub

Private Sub CommandSingleStep_Click()
    Dim SingleSend As String
    Dim Send As String
    SingleSend = TextSingleSend.Text
    Send = "SETBYTE" + " " + SingleSend + " " + "1000"
    RunCommand (Send)
    TextSingleSend.Text = ""
End Sub

Private Sub CommandTorque_Click()
    Dim Torque As String
    If CommandTorque.Caption = "查询结果" Then
    CommandTorque.Caption = "查询转矩"
    TextT.Text = "RX"
    Exit Sub
    End If
    
    Torque = "查询转矩 1000"
    RunCommand (Torque)
    CommandTorque.Caption = "查询结果"
    TextI.Text = ""
End Sub

Private Sub CommandVoltage_Click()
Dim Voltage As String
If CommandVoltage.Caption = "查询结果" Then
CommandVoltage.Caption = "查询电压"
TextU.Text = "RX"
Exit Sub
End If

Voltage = "查询电压 1000"
RunCommand (Voltage)
CommandVoltage.Caption = "查询结果"
TextU.Text = ""

End Sub



Private Sub Form_Load()
    'Initial Global Varieties
    Code1 = "0x11"
    Code2 = "0x22"
    Code3 = "0x66"
    Code4 = "0x88"
    Code5 = "0x99"
    Code6 = "0xCC"
    Code7 = "0xDD"
    Code8 = "0x33"
    Code9 = "0x44"
    Code10 = "0x55"
    Code11 = "0xBB"
    Code12 = "0x77"
    strStepCode = "0xFF"
    blSingleStep = True
    InitialCodeMap
    'frmZong.RTBCmdLine.Text = strTipChar
   ' frmZong.RTBCode.Visible = False
   ' frmZong.LstCode.Visible = True
   'frmZong.cmdImport.Enabled = False
    frmZong.cmdCfgSPort.Enabled = True
    'frmZong.cmdEdit.Enabled = True
   ' frmZong.MNU_Run_Run.Enabled = False
    frmZong.MNU_File_Close.Enabled = False
    frmZong.CommandAddOk.Enabled = False
    CommandAddCalcel.Enabled = False
    
    frmZong.ComboCmd.Enabled = False
    frmZong.LabelCmd.Enabled = False
    frmZong.TextPara.Enabled = False
    frmZong.TextDelay.Enabled = False
    frmZong.LabelPara.Enabled = False
    frmZong.LabelDelay.Enabled = False

    'Me.WindowState = 2 '窗口最大化
    'Me.MNU_File_Save.Enabled = False
    'Me.RTBCmdLine.UpTo Chr(13), True, False
    'frmZong.RTBCmdLine.SelStart = Len(Me.RTBCmdLine.Text) '将插入点移动到末尾
    '设置字体
    
    '打开串口
    Comm.CommPort = 1
    Comm.PortOpen = True
    Comm.Settings = "2400,O,8,1"
    '设置接受正确标志
    RXCorrectFlag = False

    
 ComboCmd.AddItem ("正转")
 ComboCmd.AddItem ("反转")
 ComboCmd.AddItem ("停机")
 ComboCmd.AddItem ("设定定子电阻")
 ComboCmd.AddItem ("设定转子电阻")
 ComboCmd.AddItem ("设定定子电感")
 ComboCmd.AddItem ("设定转子电感")
 ComboCmd.AddItem ("负载转矩传感")
 ComboCmd.AddItem ("查询电压")
 ComboCmd.AddItem ("查询电流")
 ComboCmd.AddItem ("查询转矩")
 ComboCmd.AddItem ("开始转矩传感")
     
End Sub
Private Function WhetherInLastLine() As Boolean '判断光标是不是在最后一行
    Dim curInsPos As Integer 'current Insertion point
    Dim LastLine As Integer 'start Point of Last Line "?"的位置
    Dim strTemp As String
    curInsPos = Me.RTBCmdLine.SelStart
    frmZong.RTBCmdLine.SelStart = Len(Me.RTBCmdLine.Text)
    frmZong.RTBCmdLine.UpTo Chr(13), False, False
    If Me.RTBCmdLine.SelStart = 0 Then '如果只有一行,则不用加3
        LastLine = Me.RTBCmdLine.SelStart + 1
    Else
        LastLine = Me.RTBCmdLine.SelStart + 3
    End If
    strTemp = Mid(Me.RTBCmdLine.Text, LastLine, 1)
    If curInsPos >= LastLine Then
        WhetherInLastLine = True
        frmZong.RTBCmdLine.SelStart = curInsPos
    Else
        WhetherInLastLine = False
        frmZong.RTBCmdLine.SelStart = curInsPos
    End If
End Function

Private Sub Form_Unload(Cancel As Integer)
    Comm.PortOpen = False
    
End Sub

Private Sub LstCode_DblClick()
Dim Index As Integer
    blSingleStep = True
    Index = Me.LstCode.ListIndex
    RunCommand (Me.LstCode.List(Index))
End Sub
Private Sub MNU_About_Click()
    frmAbout.Show 1, Me
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -