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