📄 transmitkt.vb
字号:
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 + -