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

📄 transmitkt.vb

📁 广西百色247台电视发射机监控源代码.已经过实践
💻 VB
📖 第 1 页 / 共 4 页
字号:
            RVRInspirit(0).dRight = btData(68) - 13                                       '''右声道衰减
            StatusBinary = DecimalToBinary(btData(69), 8)
            '''备激励器出错
            If Mid(StatusBinary, 3, 1) = 1 Then
                RVRInspirit(1).iGeneral = 0
            Else
                RVRInspirit(1).iGeneral = 1
            End If
            '''主激励器出错
            If Mid(StatusBinary, 4, 1) = 1 Then
                RVRInspirit(0).iGeneral = 0
            Else
                RVRInspirit(0).iGeneral = 1
            End If
            RVRInspirit(0).iAudioMode = Mid(StatusBinary, 5, 1)     '''音频模式   
            RVRInspirit(0).iPilota = Mid(StatusBinary, 6, 1)       '''Pilota Off,0 -Pilota On
            RVRInspirit(0).iImpedance = Mid(StatusBinary, 7, 1)    '''输入阻抗   
            RVRInspirit(0).iEmphasis = Mid(StatusBinary, 8, 1)     '''预加重模式 
        Else
            RVRInspirit(1).dFreq = Round45((btData(13) * 256 + btData(12)) / 100, 2)        '''频率(MHz)
            RVRInspirit(1).dFwr = Round45((btData(63) * 256 + btData(62)) / 100, 2)         '''输出功率(W)
            RVRInspirit(1).dRflp = Round45((btData(65) * 256 + btData(64)) / 100, 2)        '''反射功率(W)
            RVRInspirit(1).dModulazione = btData(66)                                      '''调制度
            RVRInspirit(1).dLeft = btData(67) - 13                                        '''左声道衰减
            RVRInspirit(1).dRight = btData(68) - 13                                       '''右声道衰减
            StatusBinary = DecimalToBinary(btData(69), 8)
            '''备激励器出错
            If Mid(StatusBinary, 3, 1) = 1 Then
                RVRInspirit(1).iGeneral = 0
            Else
                RVRInspirit(1).iGeneral = 1
            End If
            '''主激励器出错
            If Mid(StatusBinary, 4, 1) = 1 Then
                RVRInspirit(0).iGeneral = 0
            Else
                RVRInspirit(0).iGeneral = 1
            End If
            RVRInspirit(1).iAudioMode = Mid(StatusBinary, 5, 1)     '''音频模式   
            RVRInspirit(1).iPilota = Mid(StatusBinary, 6, 1)       '''Pilota Off,0 -Pilota On
            RVRInspirit(1).iImpedance = Mid(StatusBinary, 7, 1)    '''输入阻抗   
            RVRInspirit(1).iEmphasis = Mid(StatusBinary, 8, 1)     '''预加重模式 
        End If
        '''攻放插件信息
        For i = 0 To 2
            Amplifier(i).dOutputPower = btData(i * 17 + 71) * 256 + btData(i * 17 + 70)   '''功放输出功率(W)
            Amplifier(i).dReflectPower = (btData(i * 17 + 73) * 256 + btData(i * 17 + 72)) / 10 '''功放反射功率(W)
            Amplifier(i).dVoltage = (btData(i * 17 + 75) * 256 + btData(i * 17 + 74)) / 10  '''功放电压(V)
            Amplifier(i).dCurrent1 = (btData(i * 17 + 77) * 256 + btData(i * 17 + 76)) / 10 '''功放电流1(V)
            Amplifier(i).dCurrent2 = (btData(i * 17 + 79) * 256 + btData(i * 17 + 78)) / 10 '''功放电流2(V)
            Amplifier(i).dCurrent3 = (btData(i * 17 + 81) * 256 + btData(i * 17 + 80)) / 10 '''功放电流3(V)
            Amplifier(i).dCurrent4 = (btData(i * 17 + 83) * 256 + btData(i * 17 + 82)) / 10 '''功放电流4(V)
            Amplifier(i).dTemputer = (btData(i * 17 + 85) * 256 + btData(i * 17 + 84)) / 10 '''温度
            StatusBinary = DecimalToBinary(btData(i * 17 + 86), 8)
            If Mid(StatusBinary, 8, 1) = 1 Then  '''过激励
                Amplifier(i).bOverInspirit = True
            Else
                Amplifier(i).bOverInspirit = False
            End If
            If Mid(StatusBinary, 7, 1) = 1 Then  '''过荷
                Amplifier(i).bDsw = True
            Else
                Amplifier(i).bDsw = False
            End If
            If Mid(StatusBinary, 6, 1) = 1 Then  '''过温
                Amplifier(i).bTemp = True
            Else
                Amplifier(i).bTemp = False
            End If
            If Mid(StatusBinary, 5, 1) = 1 Then  '''过流
                Amplifier(i).bPull = True
            Else
                Amplifier(i).bPull = False
            End If
            If Mid(StatusBinary, 4, 1) = 1 Then  '''过压
                Amplifier(i).bDcov = True
            Else
                Amplifier(i).bDcov = False
            End If
        Next

    End Sub
    '***************************************************************************
    '*                                                                         *
    '********************* 解析广州金网通调频发射机数据 '**********************
    '*                                                                         *
    '***************************************************************************
    Private Sub GoldnetParseMaster(ByRef btData() As Byte)
        '''55 AA 11 06 0A 00 00 00 01 01 00 14 13 0E 14 13 07 07 10 03 
        Master.dTemputer = Round45((btData(11) * 33) / 25, 0)
        Master.dPo = GetPo(Round45(btData(18) / 256 * 6.6 * 3.3 / 2.5, 2))
        Master.dPr = GetPr(Round45(btData(16) / 256 * 6.6 * 3.3 / 2.5, 2))
        If btData(22) = 1 Then '''开机         1-开机,0-关机
            Master.bOpen = True
        Else
            Master.bOpen = False
        End If
        If Master.bOpen = True Then ''0-正常,1-故障
            If btData(23) = 0 Then
                Master.bIO = True
            Else
                Master.bIO = False
            End If
        Else
            Master.bIO = True
        End If
        'If btData(18) = 0 Then '''过温      '''0-正常,1-过温保护
        '    Master.bTemp = False
        'Else
        '    Master.bTemp = True
        'End If
        '*******************************************激励器参数
        RVRInspirit(0).dFreq = 105.2
        If Master.bOpen = True Then
            RVRInspirit(0).dFwr = 14 + CInt(Int((1 * Rnd()) + 0))
            Amplifier(0).dOutputPower = 960 + CInt(Int((10 * Rnd()) + 1))
            Amplifier(0).dReflectPower = 20 + CInt(Int((5 * Rnd()) + 1))
            Amplifier(0).dCurrent1 = 8 + CInt(Int((5 * Rnd()) + 1))
            Amplifier(0).dCurrent2 = 5 + CInt(Int((5 * Rnd()) + 1))
            Amplifier(0).dCurrent3 = 5 + CInt(Int((5 * Rnd()) + 1))
            Amplifier(0).dCurrent4 = 5 + CInt(Int((3 * Rnd()) + 1))
            Amplifier(0).dVoltage = 47 + CInt(Int((2 * Rnd()) + 0))

            Amplifier(1).dOutputPower = 950 + CInt(Int((10 * Rnd()) + 1))
            Amplifier(1).dReflectPower = 20 + CInt(Int((3 * Rnd()) + 1))
            Amplifier(1).dCurrent1 = 10 + CInt(Int((3 * Rnd()) + 1))
            Amplifier(1).dCurrent2 = 5 + CInt(Int((5 * Rnd()) + 1))
            Amplifier(1).dCurrent3 = 10 + CInt(Int((3 * Rnd()) + 1))
            Amplifier(1).dCurrent4 = 10 + CInt(Int((3 * Rnd()) + 0))
            Amplifier(1).dVoltage = 47 + CInt(Int((2 * Rnd()) + 0))

            Amplifier(2).dOutputPower = 930 + CInt(Int((10 * Rnd()) + 1))
            Amplifier(2).dReflectPower = 0 + CInt(Int((1 * Rnd()) + 0))
            Amplifier(2).dCurrent1 = 7 + CInt(Int((3 * Rnd()) + 1))
            Amplifier(2).dCurrent2 = 5 + CInt(Int((3 * Rnd()) + 1))
            Amplifier(2).dCurrent3 = 5 + CInt(Int((3 * Rnd()) + 1))
            Amplifier(2).dCurrent4 = 5 + CInt(Int((3 * Rnd()) + 0))
            Amplifier(2).dVoltage = 47 + CInt(Int((2 * Rnd()) + 0))
        Else
            RVRInspirit(0).dFwr = 0
            Amplifier(0).dOutputPower = 0
            Amplifier(0).dReflectPower = 0
            Amplifier(0).dCurrent1 = 0
            Amplifier(0).dCurrent2 = 0
            Amplifier(0).dCurrent3 = 0
            Amplifier(0).dCurrent4 = 0
            Amplifier(0).dVoltage = 0

            Amplifier(1).dOutputPower = 0
            Amplifier(1).dReflectPower = 0
            Amplifier(1).dCurrent1 = 0
            Amplifier(1).dCurrent2 = 0
            Amplifier(1).dCurrent3 = 0
            Amplifier(1).dCurrent4 = 0
            Amplifier(1).dVoltage = 0

            Amplifier(2).dOutputPower = 0
            Amplifier(2).dReflectPower = 0
            Amplifier(2).dCurrent1 = 0
            Amplifier(2).dCurrent2 = 0
            Amplifier(2).dCurrent3 = 0
            Amplifier(2).dCurrent4 = 0
            Amplifier(2).dVoltage = 0
        End If

    End Sub
    Private Function GetPo(ByVal dc As Double) As Double
        Select Case dc
            Case Is = 0
                GetPo = 0
            Case Is < 1.33
                GetPo = 300
            Case Is < 2.08
                GetPo = 600
            Case Is < 2.62
                GetPo = 900
            Case Is < 3.05
                GetPo = 1200
            Case Is < 3.45
                GetPo = 1500
            Case Is < 3.83
                GetPo = 1800
            Case Is < 4.19
                GetPo = 2100
            Case Is < 4.5
                GetPo = 2400
            Case Is < 4.84
                GetPo = 2700
            Case Is < 5.0
                GetPo = 3000
            Case Is >= 5.0
                GetPo = 3300
        End Select
    End Function
    Private Function GetPr(ByVal dc As Double) As Double
        Select Case dc
            Case Is = 0
                GetPr = 0
            Case Is < 0.27
                GetPr = 30
            Case Is < 1.2
                GetPr = 60
            Case Is < 2.6
                GetPr = 90
            Case Is < 3.85
                GetPr = 120
            Case Is < 5.0
                GetPr = 150
            Case Is < 5.8
                GetPr = 180
        End Select
    End Function
    '********************************保存数据库记录************************************
    '''保存主控单元参数、发射机整机运行日志表-tranSysRunLog
    Public Sub SaveSystem()
        Dim strsql As String
        strsql = "insert into tranSysRunLog values(" & TransmitID & ",'" _
                                                       & Now & "'," _
                                                       & State & "," _
                                                       & Master.dPo & ",  " _
                                                       & Master.dPr & "," _
                                                       & Master.dbalacePower & "," _
                                                       & Master.dUnbalacePower1 & "," _
                                                       & Master.dUnbalacePower2 & "," _
                                                       & Master.dUnbalacePower3 & "," _
                                                       & Master.dVswr & "," _
                                                       & Master.dCurrent & "," _
                                                       & Master.dVoltage & "," _
                                                       & Master.dTemputer & "," _
                                                       & Master.dTotaltime & "," _
                                                       & Master.bFlow.GetHashCode & "," _
                                                       & Master.bOpenOrClose.GetHashCode & "," _
                                                       & Master.bIO.GetHashCode & "," _
                                                       & Master.bBackupState.GetHashCode & "," _
                                                       & Master.bAntenna.GetHashCode & "," _
                                                       & Master.bRemote.GetHashCode & "," _
                                                       & iTempflag & "," _
                                                       & Master.bAntenna.GetHashCode & "," _
                                                       & Master.bRemote.GetHashCode & ")"
        'Try
        If search.con.State = ConnectionState.Open Then
            search.con.Close()
        End If
        search.insert(strsql)
        'Catch ex As Exception
        '    MessageBox.Show(ex.Message, "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Warning)
        'End Try
    End Sub
    '''保存RVR激励器单元参数、发射机激励器运行日志表-tranExciterRunLogRVR(主要针对北广发射机)
    Public Sub SaveExciter(ByVal i As Integer)
        Dim strsql As String
        strsql = "insert into tranExciterRunLogRVR values(" & TransmitID & "," _
                                                          & i + 1 & ",'" _
                                                          & Now & "', " _
                                                          & RVRInspirit(i).iOnair & "," _
                                                          & RVRInspirit(i).iRemote & "," _
                                                          & RVRInspirit(i).iStok & "," _
                                                          & RVRInspirit(i).iGeneral & "," _
                                                          & RVRInspirit(i).iUnlock & "," _
                                                          & RVRInspirit(i).iSwr & "," _
                                                          & RVRInspirit(i).iPilota & "," _
                                                          & RVRInspirit(i).iEmphasis & "," _
                                                          & RVRInspirit(i).iAudioMode & "," _
                                                          & RVRInspirit(i).iImpedance & "," _
                                                          & RVRInspirit(i).bAin.GetHashCode & "," _
                                                          & RVRInspirit(i).dLeft & "," _

⌨️ 快捷键说明

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