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