发射机房运行监控系统设计与实现

时间:2022-10-02 07:46:42

发射机房运行监控系统设计与实现

摘要:针对发射台发射机房现有运行情况,为了实现机房的信息化建设,实现机房内各应用系统间网络互通、资源共享,利用现有计算机软件技术和网络接口技术,开发设计了发射机房运行监控系统。本文深入系统内部结构,主要阐述了系统开发设计与关键技术的实现方法,有利于大家使用和维护,从而更好的为安全播出服务。

关键词:发射机房 运行监控 软件技术 网络接口

中图分类号:TN948.53 文献标识码:A 文章编号:1007-9416(2013)04-0009-02

1 前言

目前,国内很多发射台发射机房已有发射机自动控制系统和天线自动交换系统,而且大多数发射机已经具有了按运行图自动开关机、自动倒激励器的功能,机房内天线交换开关也具备了按运行图自动倒换的功能;但各应用系统都处于独立运行状态,没有发挥自动化和信息化改造的巨大优势只有把整个机房的设备有效统一的管理起来,才能充分发挥各应用系统的信息和资源,才能组建全台的信息化平台,才能使信息化平台发挥更大的作用。

为了实现对整个机房的信息化管理,为了能使机房内所有发射机自动化系统与天线自动交换系统、台站运行管理系统互联互通,实现信息资源共享;为了能实现机房“有人留守、无人值班”的奋斗目标;我们设计开发了此套系统。下面我将介绍本系统的设计思路、方法和主要功能,并详细介绍本系统中关键技术的实现过程和方法,便于大家使用和维护,也希望能给开发相关系统的人员一些启发。

2 系统需求设计

2.1 系统需求分析

本系统的主要目标就是实现机房内各应用系统的信息交流,通过本系统即可全面了解整个机房各种设备的运行状态,使得信息互通、资源共享;并把机房内重要信息上传给台站平台应用系统。

2.2 系统开发环境和网络结构

开发环境是指系统在开发时所采用的技术及软件。在选择系统开发环境时,由于本系统要求较高的稳定性,且需要与多个应用系统接口,所以运行开发平台选用了,这是微软最新最稳定的一个开发平台;编程语言选用了2005,这是开发效率很高的编程语言;它可以很方便的开发多线程、多接口、高效率的应用软件。由于数据量比较大,系统要求稳定可靠,所以网络数据库选择了兼容性很好的SQL Server 2000数据库用作数据存储。

2.3 系统功能模块设计

为实现系统需求,本系统主要分为界面显示模块、多线程与接口模块、调度管理模块、系统参数设置模块四大功能模块,开发的重点与难点都在这四大功能模块中。

界面显示模块的主要功能:用于界面控件的生成和接收数据的显示与监测,其中主界面和运行图显示界面都是通过程序动态生成的。设备采集的数据通过机房内各发射机自动化系统和天线自动交换系统上传给本系统,通过本系统集中显示并处理,然后上传给台站运行管理系统。台站运行管理系统下发运行图给本系统,由本系统进行接收、分发和显示;通过直观清晰的显示,才能时刻了解当前的播音任务,更好的监控机房内播音设备的运行状态。

多线程和接口模块的主要功能:用于系统内的时钟控制和与外界系统的接口通讯,通过多线程的控制,合理的安排时间和顺序,确保程序能高效及时的正常运行;由于本系统涉及到与多个应用系统之间的数据接口,而且各个应用系统都是由不同的公司开发的,所以接口的设计与调试就变得复杂。为了确保各接口数据都能及时准确的处理,我们选用了多线程处理技术,提高CPU的使用率,把繁忙的数据处理和接口通讯变成流畅及时的界面显示和后台处理。

调度管理模块也即运行图管理模块,属于本系统的专有功能,它涉及到运行图的接收、分发、修改和保存,也是我们最主要的业务和功能。本系统分为手动和自动两种模式接收和处理运行图,由于此功能的特殊性和重要性,设计时既考虑到安全性和可靠性,也考虑到人操作时的方便性和实用性;我们尽量做到精简流程、简化操作,并尽可能的显示直观、操作方便。

参数设置模块在很多应用系统都有,但本系统为了一次开发、全局通用,提高通用性和可维护性,所以使用了很多内部和外部参数,这些都是我们在使用和开发中不断发现和摸索出来的。下面我将对本系统中的一些关键技术做详细的介绍和说明。

3 关键技术实现

3.1 界面动态生成

一般的发射台机房的发射机数量从1至10部不等;各机房天线数量也不同,但每部发射机播出时只能上一副天线;为了能够使程序有很好的通用性,所以我使用了界面动态生成的方法,使得程序一次开发,所有机房都适用。

系统主界面,一个界面显示的是4部发射机,且不是按顺序排列的;另一个界面显示的是6部发射机,且按顺序排列;各发射机的功率、天线、节目源、频率等信息显示在对应发射机的框架内;这样就能基本满足我们发射台所有发射机房的各种情况。实现这两种界面的切换只需要修改一些外部参数即可,不需要进行多次开发。界面的上部是菜单栏,左边为信息提示,这些信息是固定的;中间大部分区域就是通过程序动态生成的。这样的一个结构,可以满足机房内多部发射机的显示,并能根据需要变换机房内发射机的数量和显示位置,可按个人爱好更换界面颜色和图案,做到了一次开发、全局通用。

运行图的显示界面也是通过程序动态生成的。由于各个机房的发射机数量不同,每部发射机的运行图也不同,所以绘制运行图时必须要通过程序动态生成。动态生成运行图的方法有很多种,在此介绍我在编程中使用的一种简捷且又高效的编程方法,可以使运行图的显示变得简单明了。

很多编程软件都有画图函数,可以通过简单的打印文字、画直线和画矩形等函数便可实现运行图的动态生成绘制,任何时候都可以查询当前机房运行图,实时修改实时更新,可以查询并显示任何一天的机房运行图;只需通过一段近百行的代码,十分简洁、高效。

3.2 多线程与接口

由于本系统需要与机房内各发射机自动化系统、天线自动交换系统和台站运行管理系统通讯,所以必须使用多线程才能确保通讯的及时与通畅,目前采用2005语言开发是最方便最稳定的。Visaul Basic语言在6.0版本之前,对多线程并没有提供一个很好的支持,而微软的.NET框架提供了新的类库,从而可以方便地创建多线程应用程序。采用多线程技术的应用程序可以更好地利用系统资源,由于同一进程的所有线程是共享同一内存,所以不需要特殊的数据传送机制,不需要建立共享存储区或共享文件,从而使得不同任务之间的协调操作与运行、数据的交互、资源的分配等问题更加易于解决。

本系统共有十几个线程在同时作业,对机房内各发射机自动化系统接口均开通了一个线程,对天线开关自动交换系统接口开通了一个线程,对台站运行管理系统接口也开通了一个单独的线程进行数据通讯,还有时钟线程、声音报警线程等。正是有了这么多线程的实时处理,才使得这么多系统之间数据的交换与处理、显示与存储,变得有张有弛、井然有序。在主界面中,你根本无法体会到后台数据处理的繁忙。其实,每一秒钟各发射机自动化系统和天线自动交换系统都要把采集的所有表值和状态上传给本系统,本系统要对这些数据进行显示、处理和存储,并要把处理的数据上传给台站运行管理系统;而期间随时可能会有重要的调度任务,系统通过优先调度处理线程,保证了重要任务的准确及时处理。不同机房的接口参数都不相同,接口参数均可以通过系统设置界面进行设置,方便各机房的使用和升级。

系统设置界面中,机房信息界面主要设置机房内发射机数量、接口信息等,其中就有与数据库接口、与台站运行管理系统接口、与天线自动交换系统接口的参数设置。通过设置这些信息,重启程序后,整个界面和内部数据就会焕然一新;从而适应各个机房不同的运行环境,最终实现一次开发,全台通用的效果。

3.3 机房调度管理

机房调度包括了对运行图的接收、分发、修改和保存。调度令从频调处下发,台站运行管理系统接收到调度令后生成运行图,并下发运行图给本系统。本系统有两种方式接收运行图,全自动方式和人工处理方式。全自动方式:本系统接收到运行图后,立即更新机房运行图数据库,并自动分发给机房内的发射机自动化系统和天线自动交换系统,无需人工干预,操作完成有提示信息,可随时查看。人工处理方式:接收到运行图后,系统提示并报警,等待人工处理,机房人员需到本系统运行图界面接收运行图,经过在界面上比对、更新操作后,通过本系统下发给机房内的发射机自动化系统和天线自动交换系统。

4 系统应用情况

系统的投入使用,实现了机房内各应用系统的互联互通,实现了全自动调度,实现了机房内的信息资源整合,使机房人员可以通过本系统,直观清晰的了解整个机房所有发射机和天线的运行状态,做到了一目了然;并实现了自动监控,及时发现问题并告警,为安全播出提供了强有力的保障,为实现“有人留守,无人值班”的工作模式提供了可靠的技术保障。

参考文献

[1](美)艾文铮(Evjen,B.),(美)赫利斯(Hollis,B.)著,杨浩,翻译高级编程(第三版).清华大学出版社,2005.

[2]章立民研究室.Visual Basic 2005程序开发与界面设计秘诀.机械工业出版社,2006.

上一篇:忍者当道! 下一篇:3G应用VPN与VPDN解决方案