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

📄 transmitkt.vb

📁 广西百色247台电视发射机监控源代码.已经过实践
💻 VB
📖 第 1 页 / 共 4 页
字号:
                        Else
                            CommStatus = 2
                            bOpenClose = False
                        End If
                    Case 4 '''关机(延时5s)
                        If btData(2) = 129 And btData(6) = Val(strTransmitAddr) And btData(7) = 132 And btData(8) = 0 Then
                            CommStatus = 0
                            bOpenClose = True
                        Else
                            CommStatus = 2
                            bOpenClose = False
                        End If
                    Case 5 '''模块更新
                        If btData(2) = 133 Then '''更新主控单元
                            KTParseMaster(btData)
                        ElseIf btData(2) = 129 Then
                            Select Case btData(8)
                                Case 10   '''功放单元1
                                    KTParseAmplifier(0, decData(btData, 5, 42))
                                Case 11   '''功放单元2
                                    KTParseAmplifier(1, decData(btData, 5, 42))
                                Case 12   '''功放单元3
                                    KTParseAmplifier(2, decData(btData, 5, 42))
                                Case 13   '''功放单元4
                                    KTParseAmplifier(3, decData(btData, 5, 42))
                                Case 100  '''激励器单元
                            End Select
                        End If
                    Case 6 '''数据召唤
                        If btData(2) = 129 And btData(6) = Val("&H" + strTransmitAddr) And btData(7) = 134 And btData(8) = 6 Then
                            CommStatus = 0
                            KTParseMaster(decData(btData, 11, 32))
                            SaveSystem()
                            '  SysAlarm()
                            tempData = decData(btData, 33, i * 38 + 32)
                            For i = 0 To iAmpCount - 1
                                KTParseAmplifier(i, tempData)
                                SavePA(i)
                                ' AmpAlarm(i)
                            Next
                            ' SMSalarm(CommStatus)
                        End If
                End Select
            Case 4 '''北广
                If btData(0) <> 62 Then Exit Sub '''''报头&H7E
                'If btData(2) <> Val(strTransmitAddr) Then Exit Sub '''''发射机地址
                Select Case btData(2)  '''''命令类型
                    Case 1    '''''数据召唤
                        CommStatus = 0
                        GoldBEEFParse(btData)
                        SaveSystem()
                        ' SysAlarm()
                        For i = 0 To iAmpCount - 1
                            SavePA(i)
                            ' AmpAlarm(i)
                        Next
                        SaveExciter(0)
                        SaveExciter(1)
                        ' SMSalarm(CommStatus)
                    Case 10
                        bOpenClose = True
                End Select
            Case 5 '''金网通goldnet
                If btData(0) <> 85 Or btData(1) <> 170 Then Exit Sub '''''同步字节
                Select Case btData(3)  '''''命令类型
                    Case 6    '''''数据召唤
                        CommStatus = 0
                        GoldnetParseMaster(btData)
                        SaveSystem()
                        'SysAlarm()
                        For i = 0 To 2
                            SavePA(i)
                        Next
                        SaveExciter(0)
                        'SMSalarm(CommStatus)
                    Case 3, 4
                        CommStatus = btData(12)
                        '''0--成功
                        '''0--本控状态
                        '''0--参数错误
                        If CommStatus = 0 Then
                            bOpenClose = True
                        Else
                        End If
                End Select
        End Select
        'Catch ex As Exception
        '    MessageBox.Show(ex.Message, "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Warning)
        'End Try
    End Sub
    '***************************************************************************
    '*                                                                         *
    '********************* 解析凯腾(KT)发射机数据 '***************************
    '*                                                                         *
    '***************************************************************************
    '7E A0 81 21 CC 7E A0 86 06 20 CC 
    '7E A0 86 00 F7 05 12 00 00 00 00 00 00 00 00 00 F4 01 10 00 23 CC 
    '7E A0 86 0A 77 01 01 00 1D 00 D0 0C 96 00 82 00 B4 00 B4 00 B4 00 B4 00 8C 00 82 00 B4 00 AA 00 28 00 00 00 B6 CC 
    '7E A0 86 0B 45 01 01 00 1A 00 80 0C 8C 00 82 00 FA 00 B4 00 BE 00 B4 00 A0 00 AA 00 AA 00 A0 00 32 00 00 00 86 CC 
    '7E A0 86 0C DB 01 01 00 1D 00 70 0D A0 00 8C 00 C8 00 D2 00 C8 00 AA 00 C8 00 BE 00 B4 00 C8 00 1E 00 00 00 D1 CC 
    '7E A0 86 0D 45 01 00 00 1A 00 80 0C 82 00 78 00 A0 00 AA 00 A0 00 BE 00 A0 00 A0 00 A0 00 8C 00 1E 00 00 00 25 CC 
    '7E A0 86 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 42 CC 
    '***********************解析主控单元数据************************************
    ' 更新主控单元应答:
    '7E A0 86 00 00 00 00 00 00 00 00 00 00 00 00 00 F4 01 02 00 D1 CC
    Private Sub KTParseMaster(ByRef btData() As Byte)
        Dim StatusBinary As String
        Dim i As Integer
        Master.dPo = btData(5) * 256 + btData(4)                                      '''总功率(W)
        Master.dPr = btData(7) * 256 + btData(6)                                      '''总反射功率(W)
        Master.dUnbalacePower1 = btData(9) * 256 + btData(8)                           '''不平衡功率1(KW)
        Master.dUnbalacePower2 = btData(11) * 256 + btData(10)                        '''不平衡功率2(KW)
        Master.dUnbalacePower3 = btData(13) * 256 + btData(12)                        '''不平衡功率3(KW)
        Master.dTemputer = Round45((btData(15) * 256 + btData(14)) / 100, 0)          '''环境温度
        Master.dVswr = Round45(Master.dPr / Master.dPo, 2) + 1                          '''驻波比
        Master.dVoltage = Round45((btData(17) * 256 + btData(16)) / 100, 0)           '''电源电压
        StatusBinary = DecimalToBinary(btData(18), 8)
        '''不平衡功率,0-正常,1-不正常
        If Mid(StatusBinary, 1, 1) = 1 Then '
            Master.bBalance = True
        Else
            Master.bBalance = False
        End If
        '''过温保护,0-正常,1-不正常
        If Mid(StatusBinary, 2, 1) = 1 Then '
            Master.bTemp = True
        Else
            Master.bTemp = False
        End If
        '''过荷保护,0-正常,1-不正常
        If Mid(StatusBinary, 3, 1) = 1 Then '
            Master.bDsw = True
        Else
            Master.bDsw = False
        End If
        '''主备激励器,0-主,1-备
        If Mid(StatusBinary, 4, 1) = 1 Then '
            Master.bBackupState = True
        Else
            Master.bBackupState = False
        End If
        '''假负载、天线,0-负载,1-天线
        If Mid(StatusBinary, 5, 1) = 1 Then '
            Master.bAntenna = True
        Else
            Master.bAntenna = False
        End If
        '''本控/遥控,0-本控,1-遥控
        If Mid(StatusBinary, 7, 1) = 1 Then '
            Master.bRemote = True
        Else
            Master.bRemote = False
        End If
        '''开/关机,0-关机,1-开机
        If Mid(StatusBinary, 8, 1) = 1 Then '
            Master.bOpen = True
        Else
            Master.bOpen = False
        End If
        StatusBinary = DecimalToBinary(btData(19), 8)
        '''各接口保护功能,0-正常,1-不正常
        If Mid(StatusBinary, 8, 1) = 1 Then '
            Master.bInterface = True
        Else
            Master.bInterface = False
        End If
    End Sub
    '***********************解析功放单元数据*************************************
    '7E A0 86 0A 77 01 01 00 1D 00 D0 0C 96 00 82 00 B4 00 B4 00 B4 00 B4 00 8C 00 82 00 B4 00 AA 00 28 00 00 00 B6 CC 
    '7E A0 86 0B 45 01 01 00 1A 00 80 0C 8C 00 82 00 FA 00 B4 00 BE 00 B4 00 A0 00 AA 00 AA 00 A0 00 32 00 00 00 86 CC 
    '7E A0 86 0C DB 01 01 00 1D 00 70 0D A0 00 8C 00 C8 00 D2 00 C8 00 AA 00 C8 00 BE 00 B4 00 C8 00 1E 00 00 00 D1 CC 
    '7E A0 86 0D 45 01 00 00 1A 00 80 0C 82 00 78 00 A0 00 AA 00 A0 00 BE 00 A0 00 A0 00 A0 00 8C 00 1E 00 00 00 25 CC
    '更新功放模块数据:
    '7E A0 86 0A 00 00 00 00 19 00 80 0C 78 00 78 00 28 00 28 00 28 00 32 00 1E 00 28 00 28 00 28 00 1E 00 00 00 8B CC 
    '7E A0 86 0B 00 00 00 00 17 00 80 0C 6E 00 5A 00 28 00 28 00 28 00 28 00 28 00 28 00 32 00 28 00 1E 00 00 00 86 CC 
    '7E A0 86 0C 00 00 00 00 18 00 80 0C 6E 00 6E 00 32 00 32 00 28 00 28 00 1E 00 28 00 28 00 28 00 1E 00 00 00 96 CC 
    '7E A0 86 0D 00 00 00 00 19 00 80 0C 5A 00 78 00 28 00 00 00 28 00 28 00 28 00 1E 00 28 00 28 00 14 00 00 00 96 CC
    Private Sub KTParseAmplifier(ByVal i As Integer, ByRef btData() As Byte)
        Dim StatusBinary As String
        Amplifier(i).dOutputPower = btData(5) * 256 + btData(4)
        '''总功率(W)
        Amplifier(i).dReflectPower = btData(7) * 256 + btData(6)                     '''总反射功率(W)
        Amplifier(i).dTemputer = btData(9) * 256 + btData(8)                         '''温度
        Amplifier(i).dVoltage = Round45((btData(11) * 256 + btData(10)) / 100, 0)    '''工作电压
        Amplifier(i).dCurrent = Round45((btData(13) * 256 + btData(12)) / 100, 1)    '''放大器电流1
        Amplifier(i).dTCurrent = Round45((btData(15) * 256 + btData(14)) / 100, 1)   '''放大器电流2
        Amplifier(i).dCurrent1 = Round45((btData(17) * 256 + btData(16)) / 100, 1)   '''放大器电流3
        Amplifier(i).dCurrent2 = Round45((btData(19) * 256 + btData(18)) / 100, 1)   '''放大器电流4
        Amplifier(i).dCurrent3 = Round45((btData(21) * 256 + btData(20)) / 100, 1)   '''放大器电流5
        Amplifier(i).dCurrent4 = Round45((btData(23) * 256 + btData(22)) / 100, 1)   '''放大器电流6
        Amplifier(i).dCurrent5 = Round45((btData(25) * 256 + btData(24)) / 100, 1)   '''放大器电流7
        Amplifier(i).dCurrent6 = Round45((btData(27) * 256 + btData(26)) / 100, 1)   '''放大器电流8
        Amplifier(i).dCurrent7 = Round45((btData(29) * 256 + btData(28)) / 100, 1)   '''放大器电流9
        Amplifier(i).dCurrent8 = Round45((btData(31) * 256 + btData(30)) / 100, 1)   '''放大器电流10
        Amplifier(i).dDrivePower = Round45((btData(33) * 256 + btData(32)) / 100, 1) '''推动功率
        StatusBinary = DecimalToBinary(btData(34), 8)
        ''热插拔,0-正常,1-不正常
        If Mid(StatusBinary, 5, 1) = 1 Then '
            Amplifier(i).bPnP = True
        Else
            Amplifier(i).bPnP = False
        End If
        '''过激励,0-正常,1-不正常
        If Mid(StatusBinary, 6, 1) = 1 Then '
            Amplifier(i).bOverInspirit = True
        Else
            Amplifier(i).bOverInspirit = False
        End If
        '''过温保护,0-正常,1-不正常
        If Mid(StatusBinary, 7, 1) = 1 Then '
            Amplifier(i).bTemp = True
        Else
            Amplifier(i).bTemp = False
        End If
        ''驻波保护,0-正常,1-不正常
        If Mid(StatusBinary, 8, 1) = 1 Then '
            Amplifier(i).bDsw = True
        Else
            Amplifier(i).bDsw = False
        End If
    End Sub
    '***************************************************************************
    '*                                                                         *
    '********************* 解析北广3KW调频发射机数据 '**************************
    '*                                                                         *
    '***************************************************************************
    Private Sub GoldBEEFParse(ByRef btData() As Byte)
        Dim i As Integer
        Dim StatusBinary As String
        '''整机信息
        Master.dPo = btData(7) * 256 + btData(6)                                      '''输出功率(W)
        Master.dPr = btData(9) * 256 + btData(8)                                      '''反射功率(W)
        Master.dUnbalacePower1 = btData(11) * 256 + btData(10)                        '''不平衡功率(W)
        Master.dTemputer = Round45((btData(15) * 256 + btData(14)) / 10, 0)             '''温度
        StatusBinary = DecimalToBinary(btData(18), 8)
        '''开机/待机
        If Mid(StatusBinary, 5, 1) = 1 Then
            Master.bOpen = True
        Else
            Master.bOpen = False
        End If
        ''' 天线/负载
        If Mid(StatusBinary, 6, 1) = 1 Then
            Master.bAntenna = False
        Else
            Master.bAntenna = True
        End If
        '''主/备激励器
        If Mid(StatusBinary, 7, 1) = 1 Then
            Master.bBackupState = False
        Else
            Master.bBackupState = True
        End If
        ''' 本控/遥控
        If Mid(StatusBinary, 8, 1) = 1 Then
            Master.bRemote = False
        Else
            Master.bRemote = True
        End If
        '''激励器信息
        If Master.bBackupState = False Then '''主激励器
            RVRInspirit(0).dFreq = Round45((btData(13) * 256 + btData(12)) / 100, 2)        '''频率(MHz)
            RVRInspirit(0).dFwr = Round45((btData(63) * 256 + btData(62)) / 100, 2)         '''输出功率(W)
            RVRInspirit(0).dRflp = Round45((btData(65) * 256 + btData(64)) / 100, 2)        '''反射功率(W)
            RVRInspirit(0).dModulazione = btData(66)                                      '''调制度
            RVRInspirit(0).dLeft = btData(67) - 13                                        '''左声道衰减

⌨️ 快捷键说明

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