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

📄 frmsr3.frm

📁 加上一个GSM模块
💻 FRM
📖 第 1 页 / 共 3 页
字号:
        txtCID2.Text = "E1"
        txtLEN.Text = "0000"
        txtINFO.Text = ""
        
        cmbSon.Clear
        
        txtINFO.Text = InputBox("请输入4位逆变输出电压,字母大写", "调节UPS逆变输出电压")
    End If
    If cmbSR2.Text = "设置调试级校正系数" Then
        txtCID2.Text = "E4"
        txtLEN.Text = "0000"
        txtINFO.Text = ""
        
        cmbSon.Clear
        cmbSon.AddItem "参考电压校正系数"
        cmbSon.AddItem "逆变电压监测校正系数"
        cmbSon.AddItem "旁路电压监测校正系数"
        cmbSon.AddItem "负载电流监测校正系数"
        txtLEN.Text = "A006"
        
    End If
    
End Sub

Private Sub cmbSR2_Click()
Dim i As Integer
    If cmbSR2.Text = "获取模拟量量化数据(浮点数)" Then
        txtCID2.Text = "41"
        txtLEN.Text = "0000"
        txtINFO.Text = ""
        
        cmbSon.Clear
    End If
    If cmbSR2.Text = "获取模拟量量化数据(定点数)" Then
        txtCID2.Text = "42"
        txtLEN.Text = "0000"
        txtINFO.Text = ""
        
        cmbSon.Clear
    End If
    If cmbSR2.Text = "获取开关量输入状态" Then
        txtCID2.Text = "43"
        txtLEN.Text = "0000"
        txtINFO.Text = ""
        
        cmbSon.Clear
    End If
    If cmbSR2.Text = "获取告警状态" Then
        txtCID2.Text = "44"
        txtLEN.Text = "0000"
        txtINFO.Text = ""
        
        cmbSon.Clear
    End If
    
    If cmbSR2.Text = "遥控" Then
        txtCID2.Text = "45"
        txtINFO.Text = ""
        txtLEN.Text = "0000"
        cmbSon.Clear
        
        cmbSon.AddItem "切旁路(切到旁路)"
        cmbSon.AddItem "切旁路(切离旁路)"
        cmbSon.AddItem "报警消音"
        cmbSon.AddItem "报警声测试"
        cmbSon.AddItem "电池自检"
        cmbSon.AddItem "取消遥控关机"
        cmbSon.AddItem "取消电池自检"
        cmbSon.AddItem "遥控开机"
        cmbSon.AddItem "遥控立即关机(不关旁路)"
        cmbSon.AddItem "遥控延迟关机(不关旁路)"
        cmbSon.AddItem "遥控紧急关机(关旁路,保留)"
        txtLEN.Text = "C004"
    End If
    If cmbSR2.Text = "获取系统参数(浮点数)" Then
        txtCID2.Text = "46"
        txtLEN.Text = "0000"
        txtINFO.Text = ""
        
        cmbSon.Clear
    End If
    If cmbSR2.Text = "获取系统参数(定点数)" Then
        txtCID2.Text = "47"
        txtLEN.Text = "0000"
        txtINFO.Text = ""
        
        cmbSon.Clear
    End If
    If cmbSR2.Text = "设定系统参数(浮点数)" Then
        txtCID2.Text = "48"
        txtLEN.Text = "0000"
        txtINFO.Text = ""
        
        cmbSon.Clear
        
        cmbSon.AddItem "设置蓄电池总电压上限" '1
        cmbSon.AddItem "设置蓄电池总电压下限" '2
        cmbSon.AddItem "设置蓄电池单体电压上限" '3
        cmbSon.AddItem "设置蓄电池单体电压下限" '4
        cmbSon.AddItem "电池自检时间长度" '5
        cmbSon.AddItem "遥控关机延迟时间" '6
        cmbSon.AddItem "UPS恢复延迟时间" '7
        cmbSon.AddItem "是否自动重启机" '8
        cmbSon.AddItem "是否允许均充设置" '9
        cmbSon.AddItem "主/从/单机设置" '10
        cmbSon.AddItem "主从机交替工作时间" '11
        cmbSon.AddItem "UPS工作模式设置" '12
        cmbSon.AddItem "UPS告警继电器设置" '13
        txtLEN.Text = "600A"
    End If
    If cmbSR2.Text = "设定系统参数(定点数)" Then
        txtCID2.Text = "49"
        txtLEN.Text = "0000"
        txtINFO.Text = ""
        
        cmbSon.Clear
    End If
    If cmbSR2.Text = "获取系统历史数据(浮点数)" Then
        txtCID2.Text = "4A"
        txtLEN.Text = "0000"
        txtINFO.Text = ""
        
        cmbSon.Clear
    End If
    If cmbSR2.Text = "获取系统历史数据(定点数)" Then
        txtCID2.Text = "4B"
        txtLEN.Text = "0000"
        txtINFO.Text = ""
        
        cmbSon.Clear
    End If
    If cmbSR2.Text = "获取历史告警" Then
        txtCID2.Text = "4C"
        txtLEN.Text = "0000"
        txtINFO.Text = ""
        
        cmbSon.Clear
        
        cmbSon.AddItem "获取第一条历史告警命令"
        cmbSon.AddItem "收到历史告警正确,要求上送下一条"
        cmbSon.AddItem "接收历史告警错误,重发上一条"
        txtLEN.Text = "E002"
    End If
    If cmbSR2.Text = "获取监控模块时间" Then
        txtCID2.Text = "4D"
        txtLEN.Text = "0000"
        txtINFO.Text = ""
        
        cmbSon.Clear
    End If
    If cmbSR2.Text = "设定监控模块时间" Then
        txtCID2.Text = "4E"
        txtLEN.Text = "0000"
        txtINFO.Text = ""
        
        cmbSon.Clear
    End If
    If cmbSR2.Text = "获取通信协议版本号" Then
        txtCID2.Text = "4F"
        txtLEN.Text = "0000"
        txtINFO.Text = ""
        
        cmbSon.Clear
    End If
    If cmbSR2.Text = "获取设备地址" Then
        txtCID2.Text = "50"
        txtLEN.Text = "0000"
        txtINFO.Text = ""
        
        cmbSon.Clear
    End If
    If cmbSR2.Text = "获取设备(监控模块)厂家信息" Then
        txtCID2.Text = "51"
        txtLEN.Text = "0000"
        txtINFO.Text = ""
        
        cmbSon.Clear
    End If
    If cmbSR2.Text = "获取DSP某内存单元数据" Then
        txtCID2.Text = "E0"
        txtLEN.Text = "0000"
        txtINFO.Text = ""
        
        cmbSon.Clear
        
        txtINFO.Text = InputBox("请输入4位数内存单元地址,字母大写", "内存地址输入")
    End If
    If cmbSR2.Text = "调节UPS输出电压范围" Then
        txtCID2.Text = "E1"
        txtLEN.Text = "0000"
        txtINFO.Text = ""
        
        cmbSon.Clear
        
        txtINFO.Text = InputBox("请输入4位逆变输出电压,字母大写", "调节UPS逆变输出电压")
    End If
    If cmbSR2.Text = "设置调试级校正系数" Then
        txtCID2.Text = "E4"
        txtLEN.Text = "0000"
        txtINFO.Text = ""
        
        cmbSon.Clear
        cmbSon.AddItem "参考电压校正系数"
        cmbSon.AddItem "逆变电压监测校正系数"
        cmbSon.AddItem "旁路电压监测校正系数"
        cmbSon.AddItem "负载电流监测校正系数"
        txtLEN.Text = "A006"
        
    End If
    
End Sub

Private Sub cmdCHK_Click()
Dim chksum As Long
Dim length As Integer
Dim i As Integer
txtCHK.Text = ""
    If cmbSR1.Text <> "" And cmbSR2.Text <> "" Then
        chksum = 0
        chksum = Asc(Left(txtVER.Text, 1)) + Asc(Right(txtVER.Text, 1))
        chksum = chksum + Asc(Left(cmbADR.Text, 1)) + Asc(Right(cmbADR.Text, 1))
        chksum = chksum + Asc(Left(txtCID1.Text, 1)) + Asc(Right(txtCID1.Text, 1))
        chksum = chksum + Asc(Left(txtCID2.Text, 1)) + Asc(Right(txtCID2.Text, 1))
        chksum = chksum + Asc(Mid(txtLEN.Text, 1, 1)) + Asc(Mid(txtLEN.Text, 1, 2)) + Asc(Mid(txtLEN.Text, 1, 3)) + Asc(Mid(txtLEN.Text, 1, 4))
        If txtINFO.Text <> "" Then
            length = Len(txtINFO.Text)
            For i = 1 To length Step 1
                chksum = chksum + Asc(Mid(txtINFO.Text, i, 1))
            Next i
        End If
        chksum = chksum Mod 65535
        chksum = Not chksum
        chksum = chksum + 1
        txtCHK.Text = Right(Hex(chksum), 4)
        cmdSend.Enabled = True
    Else
        If cmbSR2.Text = "" Then
            MsgBox "请选择命令类型", vbOKOnly, "通知"
        ElseIf cmbSR1.Text = "" Then
            MsgBox "请选择远端SIM卡号码", vbOKOnly, "通知"
        End If
    End If
End Sub

Private Sub cmdEnd_Click()
    Unload Me
End Sub



Private Sub cmdProcess_Click()
    frmFind.Adodc1.Recordset.AddNew
    frmFind.txtSIM.Text = phoneNum
    frmFind.txtTime.Text = phoneTime
    frmFind.txtData.Text = receiveStr
    frmFind.Adodc1.Recordset.Update
End Sub

Private Sub cmdReceive_Click()
    frmFind.Show
End Sub

Private Sub cmdSend_Click()
    tiSR1.Enabled = False
    tisr2.Enabled = False
    tiSR3.Enabled = False
    tiSR4.Enabled = False
    Unload frmFind
    sendStr = txtSOH.Text + txtVER.Text + cmbADR.Text + txtCID1.Text + txtCID2.Text
    sendStr = sendStr + txtLEN.Text + txtINFO.Text + txtCHK.Text + txtEOH.Text
    'txtOutput.Text = sendStr
    If Not frmMDI.comm.PortOpen Then
        frmMDI.comm.PortOpen = True
    End If
    txtczxs.Text = ""
    txtBack.Text = ""
    frmMDI.comm.Output = "AT+CMGS=" + cmbSR1.Text + Chr(13) + Chr(10)
    tiSR1.Enabled = True
    intall = 0
End Sub

Private Sub Form_Load()
    cmdSend.Enabled = False
    cmbSR2.AddItem "获取模拟量量化数据(浮点数)" '1
    cmbSR2.AddItem "获取模拟量量化数据(定点数)" '2
    cmbSR2.AddItem "获取开关量输入状态" '3
    cmbSR2.AddItem "获取告警状态" '4
    cmbSR2.AddItem "遥控" '5
    cmbSR2.AddItem "获取系统参数(浮点数)" '6
    cmbSR2.AddItem "获取系统参数(定点数)" '7
    cmbSR2.AddItem "设定系统参数(浮点数)" '8
    cmbSR2.AddItem "设定系统参数(定点数)" '9
    cmbSR2.AddItem "获取系统历史数据(浮点数)" '10
    cmbSR2.AddItem "获取系统历史数据(定点数)" '11
    cmbSR2.AddItem "获取历史告警" '12
    cmbSR2.AddItem "获取监控模块时间" '13
    cmbSR2.AddItem "设定监控模块时间" '14
    cmbSR2.AddItem "获取通信协议版本号" '15
    cmbSR2.AddItem "获取设备地址" '16
    cmbSR2.AddItem "获取设备(监控模块)厂家信息" '17
    cmbSR2.AddItem "获取DSP某内存单元数据" '18
    cmbSR2.AddItem "调节UPS输出电压范围" '19
    cmbSR2.AddItem "设置调试级校正系数" '20
    cmbSR1.AddItem "13696923761"
    cmbSR1.AddItem "13194095731"
    cmbSR1.AddItem "13159200196"
    cmbSR1.AddItem "13950001407"
    cmbSR1.AddItem "13459209241"
    cmbSR1.AddItem "13459209249"
    For n = 1 To 254 Step 1
        If n < 16 Then
            cmbADR.AddItem CStr(0 & Hex(n))
        Else
            cmbADR.AddItem CStr(Hex(n))
        End If
    Next n
    
End Sub

Private Sub tiSR1_Timer()
    Dim buf$
    Dim count2 As Integer
    Dim lastChr As String
    count2 = 0
    If frmMDI.comm.InBufferCount > 0 Then
        tiSR1.Enabled = False
        frmMDI.comm.InputLen = 0
        buf = Trim(frmMDI.comm.Input)
        lastChr = Right(buf, 1)
        If lastChr = ">" Then
            frmMDI.comm.Output = sendStr + Chr(26)
            txtOutput.Text = sendStr
            txtczxs.Text = "短信发送中"
            tisr2.Enabled = True
        Else
            'If Count2 < 3 Then
                txtczxs.Text = txtczxs.Text + Chr(13) + Chr(10) + "短信发送失败,等待!"
                frmMDI.comm.Output = "AT+CMGS=" + cmbSR1.Text + Chr(13) + Chr(10)
                'Count2 = Count2 + 1
                'tiSR1.Enabled = True
            'Else
                tiSR1.Enabled = False
                'txtczxs.Text = txtczxs.Text + Chr(13) + Chr(10) + "数据传送失败,请重传!"
            'End If
        End If
    End If
End Sub

Private Sub tisr2_Timer()
If frmMDI.comm.InBufferCount > 0 Then
    tisr2.Enabled = False
    Call GetData1
    If arr_return(UBound(arr_return) - 4) = "O" And arr_return(UBound(arr_return) - 3) = "K" Then
        txtczxs.Text = txtczxs.Text + Chr(13) + Chr(10) + "短信发送成功"
        tiSR3.Enabled = True
    Else
        txtczxs.Text = txtczxs.Text + Chr(13) + Chr(10) + "短信发送失败,请重发!"
    End If
End If
End Sub

Private Sub tiSR3_Timer()
    If frmMDI.comm.InBufferCount > 0 Then
        intall = intall + 1
        If intall = 1 Then
            txtczxs.Text = txtczxs.Text + Chr(13) + Chr(10) + "有数据到了"
            Call ReadNo
        End If
        If intall = 2 Then
            Flag = False
            tiSR3.Enabled = False
            Call GetData
            txtBack.Text = "接受到短信"
            txtBack.Text = txtBack.Text + Chr(13) + Chr(10) + "SIM卡号码:" + phoneNum
            txtBack.Text = txtBack.Text + Chr(13) + Chr(10) + "收到时间:" + phoneTime
            txtBack.Text = txtBack.Text + Chr(13) + Chr(10) + "短信内容:" + receiveStr
            If (mess_index(0) = Hex(7) And mess_index(1) = Hex(14)) And (mess_index(UBound(mess_index) - 1) = "0" And mess_index(UBound(mess_index)) = "D") Then
                Flag = True
                txtczxs.Text = txtczxs.Text + Chr(13) + Chr(10) + "接收到的数据正确"
                frmMDI.comm.Output = "AT+CMGD=" + Hex(Count4) + Chr(13) + Chr(10)
                tiSR4.Enabled = True
            Else
                intall = 0
                txtczxs.Text = txtczxs.Text + Chr(13) + Chr(10) + "接收到错误的数据"
                frmMDI.comm.Output = "AT+CMGD=" + Hex(Count4) + Chr(13) + Chr(10)
                tiSR4.Enabled = True
            End If
        End If
    End If
End Sub

Private Sub tiSR4_Timer()
    If frmMDI.comm.InBufferCount > 0 Then
        tiSR4.Enabled = False
        Call GetData1
        If arr_return(UBound(arr_return) - 4) = "O" And arr_return(UBound(arr_return) - 3) = "K" Then
            txtczxs.Text = txtczxs.Text + Chr(13) + Chr(10) + "SIM卡上的短信已删除"
            cmdSend.Enabled = True
        Else
            tiSR4.Enabled = True
            frmMDI.comm.Output = "AT+CMGD=" + Hex(Count4) + Chr(13) + Chr(10)
        End If
    End If
End Sub

⌨️ 快捷键说明

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