广电发射台集中监控系统设计与实现
2020-07-31于坚
于 坚
(陕西广播电视台,陕西 西安 710061)
0 引 言
随着计算机通信技术的高速发展,广播电视发射机监控技术正朝着数字化、网络化、智能化方向发展,从原先的单台设备监控,已发展到对整个发射台播出设备、配电系统、机房环境的实时监测和运行管理。
陕西广播电视发射塔负责8 套调频广播和3 套电视节目的无线播出工作,根据广电总局《广播电视安全播出管理规定》中关于自台监控的要求,需建立一套统一的集中监控系统,以实现对发射台播出系统的全面监控。
1 SNMP 协议
SNMP(Simple Network Management Protocol)即 简单网络管理协议[1⁃3],为网络和系统管理提供了底层框架,使得网络和系统管理员能够远程监测和配置管理其网络设备、操作系统、应用系统等[4],该协议目前已经成为使用最广泛的网络管理标准协议。
SNMP 是一种应用层的网络协议,基于管理工作站(NMS)/代理模式,传输层使用无连接服务的用户数据报协议UDP,实现了不同厂商设备与网络管理系统的互联互通。SNMP 共有8 个版本,在实际应用中SNMPv1,SNMPv2,SNMPv3 这3 个版本应用最为广泛[5]。
SNMP 协议簇由管理信息结构和标识(SMI)、管理信息库(MIB)、SNMP 协议构成[6]。SMI 定义了SNMP 框架中可用的管理信息的类型和语法;MIB 描述了代理能够为管理工作站提供的信息,以及管理工作站对这些信息的操作权限(查询或设置);SNMP 协议是管理工作站与代理之间的通信协议。RFC1157 中定义了SNMPv1中规定的5 种操作,每种操作对应一个协议数据单元(PDU)类型的定义:get,get⁃next,set,get⁃response,trap。
由于SNMP 协议在工业领域的广泛应用,广播电视发射机的遥控接口从早期的采用RS 232/RS 485 串行通信,通过串口服务器将发射机接入网络[7⁃8],逐渐转至采用SNMP 通过以太网进行远程监控[9⁃10]。利用以太网在组网方式上的便利性,使得多台发射机、配电系统以及机房环境等关键数据的集中监控更容易实现和扩展,本文将重点介绍基于SNMP 的发射台集中监控系统的开发。
2 Harris 发射机协议分析
目前播出使用的Harris FAX10 型调频发射机和SIEL 电视发射机均采用SNMP 协议,这里以Harris FAX10 型发射机为例,对其SNMP 展开具体分析。
2.1 Harris MIBs
MIB 是一种“标准”,使用ASN.1 语言定义被管理对象。网络管理者通过SNMP查询设备信息时,必须查询设备的MIB,以确定是否有对应的被管理对象定义。MIB是以层次化的方式组织设备管理信息,树中的每一个节点都代表着该设备的某项运行状态数据,都有其唯一的对象标识符(OID),管理工作站可以通过OID 指定要访问的数据项。
根据Harris 公司提供的MIB,可通过MIB 浏览器进行调试。MIB 浏览器的功能是使用搜索目录树的方法,定位和显示MIB 中被管理对象的值,可通过向管理对象发送操作请求,接收和显示变量绑定表中的内容。
这里以接收发射机基础数据为例,通过MIB 浏览器调试结果如图1 所示。右侧即为查询指定OID(1.3.6.1.4.1.290.9.2.1.1.5.1.9.0)的返回值,包括paVoltage(PA 平均电压)、paCurrent(PA 总电流)、outForwardPower(整机输出功率)、outReflectedPower(整机反射功率)等以及一些发射机状态开关量信息。Harris 发射机采用SNMPv2,支持get⁃bulk 操作,即一次获得表中多个变量值,减少了查询大量管理信息时所进行的协议交换次数,便于数据采集。
发射机的使能控制主要包括开机、关机、升功率、降功率,通过set 操作改变SetValue 的值,即可远程控制发射机完成相应的操作。如图2 所示,TXBaseControl 的OID 为:1.3.6.1.4.1.290.9.2.1.1.5.3.1,set 值可以设为1(开机)、2(关机)、3(升功率)、4(降功率)。在理解了Harris发射机的MIB 库后,便可以进行SNMP 报文分析,只有理解报文结构才能编写应用程序,实现对发射机状态监测和远程控制。
图1 Harris MIB 调试结果
图2 MIB 中TXBaseControl 调试结果
2.2 SNMP 报文分析
2.2.1 BER 编码
SNMP 使用BER(Basic Encoding Rules)作为传输语法,它将数据按ASN.1 定义的数据类型格式进行二进制编解码和传输。BER 的基本思想是将数据表示成标志、长度、内容(T,L,V),即传输数据的类型(Tag)、大小(Length)和值(Value)。如图3 所示,BER 约定字节的最高有效位在最左边(bit7),最低有效位在最右边(bit0)。
以对象标识符OID(1.3.6.1.4.1.290.9.2.1.1.2.2)为例,Tag 为06H,长度L 为0DH(13 个字节),V 值为2B 06 01 04 01 82 22 09 02 01 01 02 02。其中,2B 十进制为43,说明第一、第二个整数分别为1 和3。由于每个字节可以表示整数的范围是0~127,而290 大于127,其二进制表示为1 0010 0010,因此使用2 个字节表示,第1 个字节最高位为“1”,表示有后续字节,后7 位为000 0010;第2 个字节的最高位为“0”,表示本字节为最后1 个字节,后7 位为010 0010,这2 个字节最终的编码为1000 0010 0010 0010,十六进制表示为82 22。
2.2.2 SNMP 报文分析
为了理解Harris 发射机SNMP 的报文结构,这里采用抓包软件获取SNMP 数据包,如图4 所示。图4 中,阴影部分以上是IP,UDP 的相关信息,阴影区报文是一个ASN.1 序列结构,是根据BER 规则对数据进行编码的信息,这里以框内数据为例,具体解析如表1所示。
图3 BER 的基本结构和字节顺序
图4 捕获的SNMP 数据包
表1 报文分析
从表1 的分析可知,GetResponse⁃PDU 返回了发射机实时参数PA 平均电压值,以及其他一系列发射机运行参数和状态开关量信息,因此通过对SNMP 报文PDU数据包内容的解析即可获得相应的Harris 发射机运行参数。
3 发射台集中监控系统的设计与实现
3.1 应用需求
陕西塔调频机房共有Harris 发射机Z10CD 型4 台,FAX10 型4 台,备机2 台。除FAX10 型发射机外,其 余均采用RS 232 通信。电视机房有6 台发射机,其中2 台SIEL 发射机为SNMP 通信,其他均采用RS 232/RS 485通信。当这些设备出现功率降低、模块故障或驻波比增大的情况时,传统的人工巡检方式不能及时发现问题并处理,因此需开发一套集中数据采集和远程监控系统,实现对全部发射机的集中监控,并集成电力、环境监测功能。
3.2 监控系统结构
3.2.1 系统硬件结构
调频发射机通过2 台倒备控制器完成底层数据采集和控制,电视发射机通过3 台采集控制器完成数据采集和控制,机房温湿度和烟感信息通过环境采集器进行数据采集,配电柜电压电流参数通过电力采集器采集。这些下位机通过以太网交换机,将实时数据通过TCP 连接方式传送给台站服务器,由服务器完成采集数据的处理、存储和控制指令的发送,并进行远程控制,该系统硬件结构图如图5 所示。
图5 系统硬件结构图
3.2.2 系统软件功能
在本次发射台集中监控系统的设计中,其软件应具备以下功能:
1)系统能够采集模拟电视发射机、调频广播发射机等设备运行参数并实时显示。
2)系统具备定时开关机、远程遥控、启用/禁止自动倒备机、升降功率等功能。
3)支持显示电力、环境监测参数并实时显示,可设置报警门限,故障时发出告警。
4)支持实时声光报警,并可以通过配置不同的用户组实现报警发送。
5)支持通过图形曲线和表格等显示形式,对监测数据、报警信息等进行分析处理,具备抄表、自动记录和网络化传输等功能。
3.3 集中监控软件设计和实现
由于本系统涉及的硬件设备较多,包括调频发射机、电视发射机、温湿度传感器、烟感探头、电力采集器等,软件系统分为下位机软件和上位机软件,下位机软件负责对管理的设备进行数据采集和控制,上位机软件负责可视化操作、图形界面生成、数据库管理和软件功能模块的实现,系统软件结构示意图如图6 所示。由于篇幅有限,本文将重点介绍数据通信核心部分,即下位机基于SNMP 的发射机数据采集和控制软件的开发,串行通信部分可参考文献[11⁃12]。
图6 系统软件结构示意图
3.3.1 发射机结构体
由于采集的发射机运行数据的数量较大,为了设计方便,建立数据结构体,将从发射机上采集的数据放入结构体中,其代码如下:
3.3.2 SNMP 类
SNMP 通信软件的开发主要完成以下两个内容:构造正确的PDU,组成SNMP 报文;对发送或接收的SNMP报文进行BER 编解码。为了便于程序开发,可以通过编写SNMP 类来完成SNMP 报文的封装,SNMP 类主要完成BER 编解码,从PDU 中获取将Vb 对象或将Vb 对象绑定到PDU。其中,Vb 对象是封装了一个对象标识符和一个ASN.1 值的数据结构。
SNMP 类的成员函数主要包括:
3.3.3 下位机主程序
下位机主程序完成采集器与发射机之间的SNMP通信,并将实时采集数据发送给上位机,同时接收上位机的控制信息,对发射机进行开关机和升降功率操作。Harris发射机每1 s采集一次数据,SIEL 发射机每600 ms采集一次数据。以Harris 发射机数据采集为例,核心代码如下:
对于接收的数据通过数据解析函数(bool DataAnaly(unsigned char*Dat,unsigned int num))处理,首先对GetResponse⁃PDU 或Trap⁃PDU 内容进行BER 解码,再将对应OID 的变量值逐一取出,根据发射机实际运行数据做相应换算得到电压、电流、功率等实时数据,并将实时采集数据和状态开关量存入transmitter 结构体中,最后将这些数据发送给上位机。
3.3.4 上位机系统界面和功能
上位机服务器端集中监控系统采用B/S 架构,具有系统登录、基本信息、电力监测、环境监测、动态浏览、发射机监控、播出统计、报警查询和报警分析9 个功能模块,其主界面如图7 所示。
主界面中上部显示10 台调频发射机的实时运行参数,左侧为3 台配电箱的电压电流参数,下部为调频机房实时温湿度和烟感信息。此外,播出统计、报警查询和分析、发射机开关机和功率调整等功能也集成在系统子菜单中,以方便值班和技术人员查看和操作。
4 结 语
本系统开发过程中的难点是实现与多台多型号发射机之间的可靠通信,由于不同发射机各自通信方式和协议上的差异,需进行大量的调试工作,因此深入理解设备的SNMP 等相关协议是系统实现的基础。本系统后期仍需继续开发,完善N+1 切换功能模块,集成视频监控模块,开发移动终端监控模块,以实现智能手机终端随时随地对台站运行情况的实时监控,从而进一步提高发射台站自动化监控水平。
图7 调频发射机实时数据监控界面