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

📄 frmsr3.frm

📁 加上一个GSM模块
💻 FRM
📖 第 1 页 / 共 3 页
字号:
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   255
         Left            =   2160
         TabIndex        =   14
         Top             =   3360
         Width           =   375
      End
      Begin VB.Label Label11 
         Caption         =   "子命令"
         BeginProperty Font 
            Name            =   "宋体"
            Size            =   12
            Charset         =   134
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   255
         Left            =   5040
         TabIndex        =   13
         Top             =   360
         Width           =   735
      End
   End
End
Attribute VB_Name = "frmSR"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim E As Double
Dim m As Double
Public Function ChToFl(n As String) As Double
    E = Val(n) \ (2 ^ 23)
    m = Val(n) And &H7FFFFF
    If E >= 256 Then
        E = E - 256
        backValue = -(1 + m * (2 ^ (-23))) * (2 ^ (E - 127))
    Else
        backValue = (1 + m * (2 ^ (-23))) * (2 ^ (E - 127))
    End If
End Function
Public Function RecTemp() As String
    Dim buf$
    If frmMDI.comm.InBufferCount > 0 Then
        frmMDI.comm.InputLen = 0
        buf = frmMDI.comm.Input
    End If
End Function
Public Function GetData() As String
    Dim Count As Integer
    Dim Count1 As Integer
    Dim count2 As Integer
    Dim flag1 As Boolean
    Dim flag2 As Boolean
    flag1 = False
    flag2 = False
    Count = 0
    Count1 = 0
    count2 = 0
    phoneNum = ""
    phoneTime = ""
    receiveStr = ""
    frmMDI.comm.InputLen = 1
    While frmMDI.comm.InBufferCount > 0
        ReDim Preserve arr_return(Count + 1)
        arr_return(Count) = frmMDI.comm.Input
        If Count > 3 Then
            If arr_return(Count - 3) = "+" And arr_return(Count - 2) = "8" And arr_return(Count - 1) = "6" Then
                flag2 = True
            End If
        End If
        If flag2 = True Then
            If count2 < 11 Then
                phoneNum = phoneNum + arr_return(Count)
                'count2 = count2 + 1
            ElseIf count2 >= 15 And count2 < 32 Then
                phoneTime = phoneTime + arr_return(Count)
            ElseIf count2 >= 32 Then
                flag2 = False
            End If
            count2 = count2 + 1
        End If
        If Count > 0 Then
            If arr_return(Count - 1) = "7" And arr_return(Count) = "E" Then
                flag1 = True
                receiveStr = receiveStr + "7"
                mess_index(0) = "7"
            End If
        End If
        If flag1 = True Then
            ReDim Preserve mess_index(Count1 + 1)
            mess_index(Count1 + 1) = arr_return(Count)
            receiveStr = receiveStr + arr_return(Count)
            If arr_return(Count - 1) = "0" And arr_return(Count) = "D" Then
                flag1 = False
            End If
            Count1 = Count1 + 1
        End If
        Count = Count + 1
    Wend
End Function

Public Function GetData1() As String
    Dim Count As Integer
    Count = 0
    frmMDI.comm.InputLen = 1
    While frmMDI.comm.InBufferCount > 0
        ReDim Preserve arr_return(Count + 1)
        arr_return(Count) = frmMDI.comm.Input
        Count = Count + 1
    Wend
End Function
Public Function ReadNo() As String
    receiveStr6 = ""
    Dim guoDu As Integer
    On Error Resume Next
    If frmMDI.comm.InBufferCount > 0 Then
        Dim Count As Integer
        Count = 0
        frmMDI.comm.InputLen = 1
        While frmMDI.comm.InBufferCount > 0
            ReDim Preserve mess_index(Count + 1)
            'mess_index(Count) = Hex(frmMDI.comm.Input)
            mess_index(Count) = frmMDI.comm.Input
            receiveStr6 = receiveStr6 + mess_index(Count)
            Count = Count + 1
        Wend
        Count = UBound(mess_index)
        'no = Val("&H" + mess_index(Count - 3))
        no = mess_index(Count - 3)
        Count4 = Val("&H" + mess_index(Count - 3))
        txtczxs.Text = txtczxs.Text + Chr(13) + Chr(10) + "新短信编号:" & no
        frmMDI.comm.Output = "AT+CMGR=" + Hex(no) + Chr(13) + Chr(10)
    End If
End Function
Private Sub cmbSon_Click()
    If cmbSon.Text = "设置蓄电池总电压上限" Then
        txtINFO.Text = "000080FFFF"
    End If
    If cmbSon.Text = "设置蓄电池总电压下限" Then
        txtINFO.Text = "000081FFFF"
    End If
    If cmbSon.Text = "设置蓄电池单体电压上限" Then
        txtINFO.Text = "000082FFFF"
    End If
    If cmbSon.Text = "设置蓄电池单体电压下限" Then
        txtINFO.Text = "000083FFFF"
    End If
    If cmbSon.Text = "电池自检时间长度" Then
        txtINFO.Text = "0000E0FFFF"
    End If
    If cmbSon.Text = "遥控关机延迟时间" Then
        txtINFO.Text = "0000E1FFFF"
    End If
    If cmbSon.Text = "UPS恢复延迟时间" Then
        txtINFO.Text = "0000E2FFFF"
    End If
    If cmbSon.Text = "是否自动重启机" Then
        txtINFO.Text = "0000E3FFFF"
    End If
    If cmbSon.Text = "是否允许均匀设置" Then
        txtINFO.Text = "0000E4FFFF"
    End If
    If cmbSon.Text = "主/从/单机设置" Then
        txtINFO.Text = "0000E5FFFF"
    End If
    If cmbSon.Text = "主从机交替工作时间" Then
        txtINFO.Text = "0000E6FFFF"
    End If
    If cmbSon.Text = "UPS工作模式设置" Then
        txtINFO.Text = "0000E7FFFF"
    End If
    If cmbSon.Text = "UPS告警继电器设置" Then
        txtINFO.Text = "0000E8FFFF"
    End If
    
    
    If cmbSon.Text = "切旁路(切到旁路)" Then
        txtINFO.Text = "1001"
    End If
    If cmbSon.Text = "切旁路(切离旁路)" Then
        txtINFO.Text = "1002"
    End If
    If cmbSon.Text = "报警消音" Then
        txtINFO.Text = "2000"
    End If
    If cmbSon.Text = "报警声测试" Then
        txtINFO.Text = "4000"
    End If
    If cmbSon.Text = "电池自检" Then
        txtINFO.Text = "5000"
    End If
    If cmbSon.Text = "取消遥控关机" Then
        txtINFO.Text = "6000"
    End If
    If cmbSon.Text = "取消电池自检" Then
        txtINFO.Text = "7000"
    End If
    If cmbSon.Text = "遥控开机" Then
        txtINFO.Text = "3001"
    End If
    If cmbSon.Text = "遥控立即关机(不关旁路)" Then
        txtINFO.Text = "3002"
    End If
    If cmbSon.Text = "遥控延迟关机(不关旁路)" Then
        txtINFO.Text = "3003"
    End If
    If cmbSon.Text = "遥控紧急关机(关旁路,保留)" Then
        txtINFO.Text = "3004"
    End If
    
    If cmbSon.Text = "获取第一条历史告警命令" Then
        txtINFO.Text = "00"
    End If
    If cmbSon.Text = "收到历史告警正确,要求上送下一条" Then
        txtINFO.Text = "01"
    End If
    If cmbSon.Text = "接收历史告警错误,重发上一条" Then
        txtINFO.Text = "02"
    End If
    If cmbSon.Text = "参考电压校正系数" Then
        txtINFO.Text = "A1" + InputBox("请输4位十六进制参考电压校正系数,字母大写", "参考电压校正系数")
    End If
    If cmbSon.Text = "逆变电压监测校正系数" Then
        txtINFO.Text = "A2" + InputBox("请输4位十六进制逆变电压监测校正系数,字母大写", "逆变电压监测校正系数")
    End If
    If cmbSon.Text = "旁路电压监测校正系数" Then
        txtINFO.Text = "A3" + InputBox("请输4位十六进制旁路电压监测校正系数,字母大写", "旁路电压监测校正系数")
    End If
    If cmbSon.Text = "负载电流监测校正系数" Then
        txtINFO.Text = "A4" + InputBox("请输4位十六进制负载电流监测校正系数,字母大写", "负载电流监测校正系数")
    End If
    
    
End Sub

Private Sub cmbSR2_Change()
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

⌨️ 快捷键说明

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