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

📄 send.vb

📁 广西百色247台电视发射机监控源代码.已经过实践
💻 VB
📖 第 1 页 / 共 2 页
字号:
'**********************发送下行命令***************************
'***********编写时间:2007年8月6日
'***********编写人:鲍辉
'***********针对与广西联正达合作的机房远控系统

'1、********测试  适用:凯腾、吉兆
'2、********复位  适用:凯腾、空调监控设备
'3、********开机  适用:所有发射机,包括环境设备
'4、********关机  适用:所有发射机,包括环境设备
'5、********模块更新                        适用:凯腾
'6、********数据召唤                        适用:所有发射机,包括环境设备
'7、********发射机工作累计时清零            适用:吉兆
'8、********校准发射机系统时间              适用:吉兆
'9、********设置发射机工作状态 本控/遥控    适用:吉兆
'10、*******接收系统备注表                  适用:吉兆
'11、*******设置空调参数                    适用:空调监控设备

'***编码	说明
'1	Sync	同步字节,2个字节,0x55、0xAA。
'2	Length	数据报长度,2个字节。
'3	CommandType	命令类型,1个字节。
'4	DeviceType  设备类型,1字节。
'5	DeviceAddr	设备地址,4字节。
'6	SerialNumber串口号,1字节。
'7	CommandCode	命令码:待定。可变长字节。默认0x00。

''DeviceType:发射机类型,1个字节。
''编码	说明
''0x01	康特,
''0x02	凯腾
''0x03	吉兆
''0x04	北广
''0x05	广州金网通
''0x06	其他环境监控设备
Imports TransmitTV.PublicClass
Public Class Send
    Public Shared strSendData As String
    Public Shared Function freMod(ByVal cmd As String) As Byte() '''修改频率指令
        Dim databuf(3) As Byte
        Dim temp As String
        temp = Hex(Int(Val(cmd)))
        Select Case Len(temp)
            Case 1, 2
                databuf(0) = Val("&H" + temp)
                databuf(1) = 0
                databuf(2) = 0
                databuf(3) = 0
            Case 3
                databuf(0) = Val("&H" + Mid(temp, 2, 2))
                databuf(1) = Val("&H" + Mid(temp, 1, 1))
                databuf(2) = 0
                databuf(3) = 0
            Case 4
                databuf(0) = Val("&H" + Mid(temp, 3, 2))
                databuf(1) = Val("&H" + Mid(temp, 1, 2))
                databuf(2) = 0
                databuf(3) = 0
            Case 5
                databuf(0) = Val("&H" + Mid(temp, 4, 2))
                databuf(1) = Val("&H" + Mid(temp, 2, 2))
                databuf(2) = Val("&H" + Mid(temp, 1, 1))
                databuf(3) = 0
            Case 6
                databuf(0) = Val("&H" + Mid(temp, 5, 2))
                databuf(1) = Val("&H" + Mid(temp, 3, 2))
                databuf(2) = Val("&H" + Mid(temp, 1, 2))
                databuf(3) = 0
            Case 7
                databuf(0) = Val("&H" + Mid(temp, 6, 2))
                databuf(1) = Val("&H" + Mid(temp, 4, 2))
                databuf(2) = Val("&H" + Mid(temp, 2, 2))
                databuf(3) = Val("&H" + Mid(temp, 1, 1))
            Case 8
                databuf(0) = Val("&H" + Mid(temp, 7, 2))
                databuf(1) = Val("&H" + Mid(temp, 5, 2))
                databuf(2) = Val("&H" + Mid(temp, 3, 2))
                databuf(3) = Val("&H" + Mid(temp, 1, 2))
        End Select
        freMod = databuf
        'If freMod.Length < 4 Then Exit Function
    End Function
    Public Shared Function SendData(ByVal CommandType As Integer, ByVal DeviceType As Integer, _
    ByVal DeviceAddr As String, ByVal SerialNumber As String, ByVal SetSettings As String _
    , ByVal CommandCode As String, ByVal state As String, ByVal TraType As Integer) As Byte()
        '''CommandType  --命令类型
        '''DeviceType   --设备类型
        '''DeviceAddr   --设备地址
        '''SerialNumber --串口号
        '''SetSettings  --通讯参数
        '''CommandCode  --命令码
        ''' state       --二级命令码
        ''' TraType     --电视、调频、电视发射机
        Dim databuf() As Byte
        Dim tempbuf() As Byte
        Dim DevaddrArray() As String
        'Dim tempbuf(1) As Byte
        Dim i As Integer
        strSendData = ""
        'Try
        Select Case DeviceType
            Case 1  '''康特发射机
                DevaddrArray = GetDevaddrArray(DeviceAddr, ".")
                Select Case CommandType
                    Case 3, 4, 6  '''开机、关机、召唤
                        ReDim databuf(10)
                        databuf(0) = &H55
                        databuf(1) = &HAA
                        databuf(2) = 0
                        databuf(3) = 7
                        databuf(4) = CommandType
                        databuf(5) = Val(DevaddrArray(0))
                        databuf(6) = Val(DevaddrArray(1))
                        databuf(7) = Val(DevaddrArray(2))
                        databuf(8) = Val(DevaddrArray(3))
                        databuf(9) = 0
                        databuf(10) = 0
                    Case 14  '''修改激励器频率0x0E(主要针对康特3KW调频发射机-备机的RVR激励器)
                        tempbuf = freMod(CommandCode)
                        If tempbuf.Length < 4 Then Exit Function
                        ReDim databuf(16)
                        databuf(0) = &H55
                        databuf(1) = &HAA
                        databuf(2) = 0
                        databuf(3) = 7
                        databuf(4) = &HB
                        databuf(5) = Val(DevaddrArray(0))
                        databuf(6) = Val(DevaddrArray(1))
                        databuf(7) = Val(DevaddrArray(2))
                        databuf(8) = Val(DevaddrArray(3))
                        databuf(9) = 0
                        databuf(10) = &H11
                        databuf(11) = tempbuf(0)
                        databuf(12) = tempbuf(1)
                        databuf(13) = tempbuf(2)
                        databuf(14) = tempbuf(3)
                        Select Case Val(CommandCode)
                            Case 9060
                                databuf(15) = &HAA
                                databuf(16) = &H0
                            Case 10080
                                databuf(15) = &HE2 ' &H2C
                                databuf(16) = &H0 ' &H1
                            Case 10520
                                databuf(15) = &HE2 '&H2C
                                databuf(16) = &H0 ' &H1
                            Case 10700
                                databuf(15) = &H0  '&H54
                                databuf(16) = &H1  '&H1
                        End Select
                End Select
            Case 2  '''凯腾发射机
                Select Case CommandType
                    Case 1 '''测试
                        ReDim databuf(5)
                        databuf(0) = &H7E
                        databuf(1) = Val("&H" + DeviceAddr)
                        databuf(2) = 1
                        databuf(3) = 1
                        databuf(4) = databuf(1) Xor databuf(2) Xor databuf(3)
                        databuf(5) = &HCC
                    Case 2, 3, 4, 6 '''复位、开机、关机、召唤--开机、关机延时5S
                        ReDim databuf(4)
                        databuf(0) = &H7E
                        databuf(1) = Val("&H" + DeviceAddr)
                        databuf(2) = CommandType
                        databuf(3) = databuf(1) Xor databuf(2)
                        databuf(4) = &HCC
                    Case 5  '''模块更新
                        '模块更新对应的命令码为模块代码(1个字节)
                        '代码         模块                         
                        '0~9	     主控单元
                        '10~99	     功放单元
                        '100~109	 激励器
                        '110~255	 备用
                        ReDim databuf(5)
                        databuf(0) = &H7E
                        databuf(1) = Val("&H" + DeviceAddr)
                        databuf(2) = 5
                        databuf(3) = Val("&H" + CommandCode)
                        databuf(4) = databuf(1) Xor databuf(2) Xor databuf(3)
                        databuf(5) = &HCC
                End Select
            Case 3 '''吉兆发射机
                Select Case TraType
                    Case 1 '''吉兆电视发射机
                        Select Case CommandType
                            Case 1  '''测试
                                ReDim databuf(4)
                                databuf(0) = Val("&H" + DeviceAddr)
                                databuf(1) = &H3F
                                databuf(2) = 0
                                databuf(3) = 0
                                databuf(4) = databuf(0) Xor databuf(1) Xor databuf(2) Xor databuf(3)
                            Case 3  '''开机
                                ReDim databuf(4)
                                databuf(0) = Val("&H" + DeviceAddr)
                                databuf(1) = &H3C
                                databuf(2) = 0
                                databuf(3) = 0
                                databuf(4) = databuf(0) Xor databuf(1) Xor databuf(2) Xor databuf(3)
                            Case 4  '''关机
                                ReDim databuf(4)
                                databuf(0) = Val("&H" + DeviceAddr)
                                databuf(1) = &H3E
                                databuf(2) = 0
                                databuf(3) = 0
                                databuf(4) = databuf(0) Xor databuf(1) Xor databuf(2) Xor databuf(3)
                            Case 6  '''召唤
                                ReDim databuf(4)
                                databuf(0) = Val("&H" + DeviceAddr)
                                databuf(1) = &H27
                                databuf(2) = 0
                                databuf(3) = 2
                                databuf(4) = databuf(0) Xor databuf(1) Xor databuf(2) Xor databuf(3)
                        End Select
                    Case 2 '''吉兆调频发射机
                        Select Case CommandType
                            Case 1  '''测试
                                ReDim databuf(4)
                                databuf(0) = Val("&H" + DeviceAddr)
                                databuf(1) = &H3F
                                databuf(2) = 0
                                databuf(3) = 0
                                databuf(4) = databuf(0) Xor databuf(1) Xor databuf(2) Xor databuf(3)
                            Case 3  '''开机
                                ReDim databuf(4)
                                databuf(0) = Val("&H" + DeviceAddr)
                                databuf(1) = &H3C
                                databuf(2) = 0
                                databuf(3) = 0
                                databuf(4) = databuf(0) Xor databuf(1) Xor databuf(2) Xor databuf(3)
                            Case 4  '''关机
                                ReDim databuf(4)
                                databuf(0) = Val("&H" + DeviceAddr)
                                databuf(1) = &H3E
                                databuf(2) = 0
                                databuf(3) = 0

⌨️ 快捷键说明

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