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

📄 transmitktd.vb

📁 广西百色247台电视发射机监控源代码.已经过实践
💻 VB
📖 第 1 页 / 共 4 页
字号:
                If btData(i + 9) * 10 > a Then
                    Amplifier(j).dTCurrent = Round(((btData(i + 9) * 10 - a) * 1.2) / b, 1)       '''''前级电流
                Else
                    Amplifier(j).dTCurrent = 0
                End If
                Amplifier(j).dVoltage = Round45(btData(i + 15) * 16 / 100, 1)                          '''''电压
            Case 48
                If btData(i + 2) * 10 > a Then
                    Amplifier(j).dCurrent2 = Round(((btData(i + 2) * 10 - a) * 0.875) / b, 1)   '''''电流2
                Else
                    Amplifier(j).dCurrent2 = 0
                End If
                If btData(i + 3) * 10 > a Then
                    Amplifier(j).dCurrent1 = Round(((btData(i + 3) * 10 - a) * 0.875) / b, 1)      '''''电流1
                Else
                    Amplifier(j).dCurrent1 = 0
                End If
                If btData(i + 4) * 10 > a Then
                    Amplifier(j).dTCurrent = Round(((btData(i + 4) * 10 - a) * 0.875) / b, 1)   '''''电流4
                Else
                    Amplifier(j).dTCurrent = 0
                End If
                If btData(i + 5) * 10 > a Then
                    Amplifier(j).dCurrent3 = Round(((btData(i + 5) * 10 - a) * 0.875) / b, 1)      '''''电流3
                Else
                    Amplifier(j).dCurrent3 = 0
                End If
                Amplifier(j).dVoltage = Round45(btData(i + 15) * 21 / 100, 1)                          '''''电压
            Case Else
                If btData(i + 2) * 10 > a Then
                    Amplifier(j).dCurrent2 = Round(((btData(i + 2) * 10 - a) * 1.2) / b, 1)   '''''电流2
                Else
                    Amplifier(j).dCurrent2 = 0
                End If
                If btData(i + 3) * 10 > a Then
                    Amplifier(j).dCurrent1 = Round(((btData(i + 3) * 10 - a) * 1.2) / b, 1)      '''''电流1
                Else
                    Amplifier(j).dCurrent1 = 0
                End If
                If btData(i + 4) * 10 > a Then
                    Amplifier(j).dCurrent4 = Round(((btData(i + 4) * 10 - a) * 1.2) / b, 1)   '''''电流4
                Else
                    Amplifier(j).dCurrent4 = 0
                End If
                If btData(i + 5) * 10 > a Then
                    Amplifier(j).dCurrent3 = Round(((btData(i + 5) * 10 - a) * 1.2) / b, 1)      '''''电流3
                Else
                    Amplifier(j).dCurrent3 = 0
                End If
                If btData(i + 7) * 10 > a Then
                    Amplifier(j).dTCurrent = Round(((btData(i + 7) * 10 - a) * 1.2) / b, 1)       '''''前级电流
                Else
                    Amplifier(j).dTCurrent = 0
                End If
                Amplifier(j).dVoltage = Round45(btData(i + 15) * 16 / 100, 1)                          '''''电压
        End Select
        Amplifier(j).dOutputPower = Po(btData, 40 + 20 * j)                          '''''输出功率(W)
        Amplifier(j).dReflectPower = expPr(Amplifier(j).dOutputPower, btData(i + 10) * 3, btData(i + 11))   '''''反射功率(W)
        Amplifier(j).dVswr = expDswr(btData(i + 10), btData(i + 11))
        If btData(i + 12) > 1000 Then                                  '''''过温保护
            Amplifier(j).bTemp = True
        Else
            Amplifier(j).bTemp = False
        End If
        If btData(i + 13) > 1000 Then                                  '''''过荷保护
            Amplifier(j).bDsw = True
        Else
            Amplifier(j).bDsw = False
        End If
        If btData(i + 14) > 1000 Then                                  '''''过流保护
            Amplifier(j).bPull = True
        Else
            Amplifier(j).bPull = False
        End If
        Amplifier(j).dCurrent = Amplifier(j).dCurrent1 + Amplifier(j).dCurrent2 + Amplifier(j).dCurrent3 _
        + Amplifier(j).dCurrent4 + Amplifier(j).dCurrent5 + Amplifier(j).dCurrent6 + Amplifier(j).dCurrent7 + _
        Amplifier(j).dCurrent8 + Amplifier(j).dTCurrent                    '''''电流
        Amplifier(j).dTemputer = btData(i + 17)                               '''''模块温度
    End Sub
    '********************解析KTD激励器数据(预留20个字节) '*******************************康特激励器
    Private Sub ParseInspirit(ByRef btData() As Byte, ByVal i As Integer)
        ' btData(242)''激励器类型
        'If btData(244 + 20 * i) = 136 Then Exit Sub
        If btData(243 + 30 * i) = 136 Then
            If btData(243 + 30 * i) = 1 Then
                Insprt(i).bRemote = False
            Else
                Insprt(i).bRemote = True
            End If
            Insprt(i).dRFOutput = 0
            Insprt(i).dFrequency = 0
            Insprt(i).dAudioMod = 0
            Insprt(i).dVideoMod = 0
            Insprt(i).dTVPercent = 0
            Insprt(i).dIncidencePower = 0
            Insprt(i).dTemputer = 0
            Insprt(i).dCurrent = 0
            Insprt(i).dWorkVol = 0
            Insprt(i).dAGCLevel = 0
            Insprt(i).dVoltage = 0
        Else
            Insprt(i).dRFOutput = (btData(244 + 30 * i) / 2 - 2) * 10                               '''''电平
            If btData(249) = 0 Then
                Insprt(i).dFrequency = CStr(btData(245 + 30 * i)) + CStr(btData(226 + 30 * i)) + _
                                    CStr(btData(247 + 30 * i)) + "." + CStr(btData(248 + 30 * i)) + "0"   '''''频率
            Else
                Insprt(i).dFrequency = CStr(btData(245 + 30 * i)) + CStr(btData(246 + 30 * i)) + _
                                    CStr(btData(247 + 30 * i)) + "." + CStr(btData(248 + 30 * i)) + "5"   '''''频率
            End If
            Insprt(i).dAudioMod = btData(250 + 30 * i)                                            '''''音频调制度
            Insprt(i).dVideoMod = btData(251 + 30 * i)                                            '''''视频调制度
            If btData(252) > 0 Then                                                       '''''图像伴音比
                Insprt(i).dTVPercent = -(btData(252 + 30 * i) - 8)
            Else
                Insprt(i).dTVPercent = 0
            End If
            Insprt(i).dIncidencePower = Round45(btData(253 + 30 * i) / 25, 2)                   ''''''入射功率
            Insprt(i).dRFOutput = Insprt(i).dIncidencePower
            Insprt(i).dTemputer = btData(254 + 30 * i) - 20                                      ''''''温度
            Insprt(i).dCurrent = Round45(btData(255 + 30 * i) / 50, 0)                           ''''''电流  
            Insprt(i).dWorkVol = Round45(4 * btData(256 + 30 * i) / 25, 0)                       ''''''工作电压
            Insprt(i).dAGCLevel = 4 - Round45(btData(257 + 30 * i) / 100, 0)                     ''''''AGC电平
            Insprt(i).dVoltage = btData(261 + 30 * i) / 10                                       ''''''电压
            If btData(264 + 30 * i) = 1 Then                                                     ''''''有无视频输入
                Insprt(i).bVideoInput = False
                Master.bOpenOrClose = False
            ElseIf btData(264 + 30 * i) = 0 Then
                Insprt(i).bVideoInput = True
                Master.bOpenOrClose = True
            End If
            If btData(265 + 30 * i) = 1 Then
                Insprt(i).bAGCorMGC = True                                               '''''MGC
            Else
                Insprt(i).bAGCorMGC = False
            End If
        End If

    End Sub
    '********************解析开关控制单元数据(预留10个字节)***************************************
    Private Sub ParseSwitch(ByRef btData() As Byte)
        Dim StatusBinary As String
        If btData(202) = 1 Then                             ''''''远程(x01)/人工状态(x10)
            Switch.bRemote = True
        Else
            Switch.bRemote = False
        End If
        If btData(205) = 1 Then                             ''''''主激烈(x01)/备激励状态(x10)
            Switch.bInspirit = True
            Master.bBackupState = False
        Else
            Master.bBackupState = True
            Switch.bInspirit = False
        End If
        'If Amplifier8.dVoltage > 0 Then                     '''''''判断发射机是否是10KW,只有10KW采用联锁
        If strTransmitPower = "10KW发射机" Then
            If btData(207) = 1 Then                             ''''''负载联锁开(x01)/关(x10)
                Switch.bFzls = True
            Else
                Switch.bFzls = False
            End If
            If btData(206) = 1 Then                             ''''''同轴联锁开(x01)/关(x10)
                Switch.bTzls = True
            Else
                Switch.bTzls = False
            End If
            ''''''''开关负载时判断负载联锁btData(204) = 1 And
            If btData(207) = 1 Then               ''''''负载开(x01)/负载关状态(x10)
                Switch.bLoad = True
            Else
                Switch.bLoad = False
            End If
            '''''''''切换天线负载时判断同轴开关联锁
            If btData(203) = 1 And btData(206) = 1 Then             ''''''天线位(x01)/负载位状态(x10)
                Switch.bSwitch = True
                Master.bAntenna = False
            ElseIf btData(203) = 16 And btData(206) = 1 Then
                Switch.bSwitch = False
                Master.bAntenna = True
            End If
        Else
            If btData(203) = 1 Then                              ''''''天线位(x01)/负载位状态(x10)
                Switch.bSwitch = True
                Master.bAntenna = False
            Else
                Switch.bSwitch = False
                Master.bAntenna = True
            End If
            If btData(204) = 1 Then                             ''''''负载开(x01)/负载关状态(x10)
                Switch.bLoad = True
            Else
                Switch.bLoad = False
            End If
            If btData(206) = 1 Then                             ''''''同轴联锁开(x01)/关(x10)
                Switch.bTzls = True
            Else
                Switch.bTzls = False
            End If
        End If
    End Sub
    ''''''''解析激励器数据'**********************************RVR激励器
    Private Sub ParseRVRInspirit(ByRef btData() As Byte, ByVal i As Integer)
        RVRInspirit(i).dFreq = (btData(246 + 30 * i) * (16 ^ 8) + btData(245 + 30 * i) * (16 ^ 4) _
                              + btData(244 + 30 * i) * (16 ^ 2) + btData(243 + 30 * i))             '''''频率
        RVRInspirit(i).dFwr = btData(248 + 30 * i) * (16 ^ 2) + btData(247 + 30 * i)                '''''输出功率
        SaveRVRExciter(i)
    End Sub
    ''''''''解析激励器数据 '*********************************EKA激励器

    '********************************保存数据库记录************************************
    '''保存主控单元参数、发射机整机运行日志表-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
    '''保存激励器单元参数、发射机激励器运行日志表-tranExciterRunLog
    Public Sub SaveExciter(ByVal i As Integer)
        Dim strsql As String
        strsql = "insert into tranExciterRunLog values(" & TransmitID & "," _
                                                          & i + 1 & ",'" _
                                                          & Now & "', " _

⌨️ 快捷键说明

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