发射机实时应播情况LED显示系统

  • 优秀论文奖
  • 文章作者:中国新闻技术工作者联合会 2021/12/30-04:43 阅读: loading...

    王冰

    (国家广播电影电视总局六四一台)

    摘要:本文详细介绍了采用Visual Basic6.0作为开发平台,选用Microsoft Access作为后台数据库,开发的一个利用LED显示屏显示发射机实时应播情况的系统。系统主要由通信链接,运行图接收,运行图存储,屏幕管理与系统设置,数据库等几个部分组成。

    关键词:LED显示屏 通信协议 实时应播情况 Visual Basic

    1 引言 本系统利用了LED这种性能优良的显示媒介,旨在醒目指示各部发射机实时应播情况(即当下发射机实际播出频率、方向、节目源等信息),方便值班人员对照着进行监测、监听及调度执行情况的核对,亦免去了填写临时调度提示牌这一流程,有利于减轻机房人员的工作负担,提高监测效率及准确性,为安全播出保驾护航。

    2 硬件系统 在本系统中,上位机采用一台标配的计算机,下位机是由DSP数字信号处理器TMS 300及其外围和附属电路组成的控制卡,通过RS-232C串行通信方式交换上位机下发的控制命令,并返回控制卡的工作状态,控制卡要对接收到的控制信号进行检测,然后再通过驱动电路对LED显示屏点阵的行、列进行驱动,继而控制点阵显示屏做出相应的显示。 硬件系统的结构框图,如图1所示:

    2.1 本系统使用的LED 本系统使用的是单基色,纯文本信息显示的显示屏。它由32×64象素的显示屏象素模块组成,采用“级联”的方式组成任意点阵的大屏幕显示屏,采用74HC138芯片进行行扫描,74HC595芯片为列信号发送器,并用MOS管来驱动点亮屏幕。

    2.2 本系统使用的控制卡 为了二次开发及显示内容的需要,系统选择了支持VB、VC、Delphi开发、可划分区域、支持文本显示、支持时间显示、有计时功能、通讯波特率可支持9600~115200的控制卡。控制卡的作用主要是将计算机发送的内容采集下来,进行数据处理和变换,转换成为大屏幕显示所需要的数据格式,并将信号进行功率放大,以发送给远处的大屏幕。

    3 系统软件部分 系统采用Visual Basic进行程序设计,Visual Basics是由微软公司开发的可视化编程语言,它源自于Basic编程语言,拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,从VB3.0开始,微软将Access的数据库驱动集成到了VB中,这使得VB的数据库编程能力大大提高,从VB4.0开始,VB也引入了面向对象的程序设计思想和“控件”的概念,使得大量已经编好的VB程序可以被我们直接拿来使用。通过几年的发展,它已成为一种专业化的开发语言和环境。它的最大优势在于它的易用性,可以让经验丰富的程序员或是刚刚懂得皮毛的人都能用自己的方式快速开发程序。因此,笔者运用该软件作为系统的开发平台。 软件部分按功能来分,主要分为:与发射机自动化通讯的建立、运行图的接收和存储、数据库、显示屏的控制等几个部分。

    3.1系统与发射机自动化通讯的建立 系统使用Winsock控件,建立与发射机自动化的通讯。发射机自动化端(即服务器端)在通讯控件事件中要有接收指定IP地址客户端连接请求的语句,例:Winsock1.Accept RequestID。发射机自动化端采用的是TCP网络传输控制协议,所以本系统的传输控制协议属性要设置成TCP, Winsock属性的RemoteHost和传输控制协议Protocol也要和服务器端一致,窗体程序中要有连接服务器端的语句,例:Winsock1.Connect。 为了在服务器端或客户端重启后,两者的连接不至于中断,在客户端添加了Timer控件,不断检查服务器和客户端的连接状态,断开后自动重新建立连接。

    3.2 运行图的接收和存储 服务器端和客户端的连接建立以后,客户端就能接收来自服务器端的信息了,根据无线局自动化平台设计标准,编写运行图接收程序,按格式要求解包所接收到的信息,并将解包后的信息存入数据库相应的字段中,如调度令号、发射机号、天线、节目等。

    3.3 数据库 系统中有为数不多的数据库应用需求,由于并不涉及海量数据的运算及查询优化处理,只是简单的数据库信息管理及运行图的存储功能,遵循简单易用方便的原则,系统采用了Access数据库。 Access是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS,即Relational Database Management system),是Office系列应用软件之一。Access数据库能够进行数据表设计、可视查询设计,为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。 该系统有两个数据库文件,一个用来存储从发射机自动化接收到的运行图信息,另一个用来存储手动输入的运行图信息。增加手动输入运行图功能,可在系统与发射机自动化通讯故障,或局端运行图发送出现问题,采用电话、传真调度时,应急采用人工方式录入运行图,使得系统仍能正常显示发射机实时的播出情况。

    3.4 显示屏的控制 显示屏自带的控制软件,只有文字的输入和发送功能,为使屏幕自动显示发射机实时应播信息,应将上述通讯、接收/存储运行图,选取符合时间条件的运行图等程序添加进其所提供的软件二次开发包中,并根据显示的需要进行一些必要的设置。

    1. 1. 扫描方式的设置:

    控制卡一般可以在不同的显示屏上通用,但象素模块大小不同的显示屏,由于驱动模块数量的不同,扫描方式也有可能不同,因此有时需要进行扫描方式的设置,扫描参数有:控制器(即所选用控制卡的型号)、扫描方式、扫描输出、打折点数、行顺序、列顺序等,这些参数可以根据显示屏及控制卡进行人工设定,也可由系统进行自动检测,系统检测到正确的扫描方式后,会将数据存入扫描参数中,并自动使用该扫描方式对屏幕进行扫描。

     2. 屏幕参数的设置: 根据控制卡的型号、通讯方式、使用的串口、波特率、屏幕的尺寸等设置屏幕参数,例如:该系统使用的控制卡是EQ2010-1/2,通讯方式是串行传输,串口号是控制卡与PC机实际连接时使用的端口等,上述数据必须依据实际使用的情况,写入软件二次开发包的动态库参数配置文件中,该文件的扩展名一般为.ini,软件系统在运行过程中,会自动调用这些参数,实现与控制卡和显示屏之间的数据传输。

    3. 屏幕的分区及字体设置: 显示屏的分区和文字显示方式,也必须根据二次开发包所提供模块的格式按需要进行改写。 4. 系统时钟 为实时显示发射机的应播情况,系统需要一个较准确的时钟,控制卡上有自带计时器,但这个计时器准确度不高,就本系统使用的控制卡来说,每天会快6秒左右,为获得更为准确的时间,添加了一段校时程序,每天用计算机时间来校准控制卡时间一次,时间的准确性有了较大的提高。

    4 软件测试结果

    4.1 服务器端(Server)与客户端(Client)通讯测试 由于在试验阶段,无法与发射机自动化直接进行通讯测试,笔者做了一个模拟服务器端的软件(Server),服务器端与客户端软件运行结果如图3所示: 图中数字7是Winsock.State 的参数,7表示连接成功。

    4.2 运行图的接收和存储 运行图的发送如图4所示,图中文本框内的数据是符合局自动化平台设计标准的运行图信息,首先,是32个字节的方法名称,声明了此次通讯传输的信息的种类,例如图中是“d1order”表示下发运行图;其次,是运行图的内容,内容中的各个数据项之间用“︱”分隔,这些数据项依次是:调度命令文号、发射机代码、下发时间、下发条数、调度令性质、开始播音时间、结束播音时间,开始执行日期、截止执行日期(可为空)、周期、频率、天线编号、天线方向、天线程式、节目代码、播出功率、调制方式、调度任务类型;最后,是结束符号END。 客户端接收到数据后,先查验是否接收到结束符号,有的话说明接收到完整的数据信息(没有的话,报错,检查连接及数据传输情况),然后对数据进行判,确定是运行图信息后,解包数据,将运行图内容各数据项放入数组,存入数据库Plantable的相应字段中,如图5所示,如不是运行图信息则舍弃,继续等待接收下面地数据。

    4.3 读取符合实时条件运行图并显示 进行读取试验的时间是16:17,图5是进行读取试验时,符合实时条件的运行图信息,图6是程序运行中,读取并发送运行图成功,图7是运行图发送成功后,显示屏的显示情况。

    5 总结与展望 经过一阶段的工作,该系统基本实现预期的几项基本功能,当然还需发射机自动化方面提供通讯接口,进行实际测试和试运行。目前,该系统还存在一些不完善的地方有待继续研究。

    需要完善的方面如下:

    1)系统时间使用计算机时间进行校准,还是不够精确,日后可将计算机与GPS相连接,读取GPS时间,再以GPS时间来校准控制卡时钟; 2)文字与时间同时显示,在分区和文字显示方式的设置方面还存在一些问题没有解决;

    3)可以根据运行图信息,做一些算法,统计每月的监测数据,省去每月报表统计的麻烦。

    4)根据需要对系统进行扩展,实现一台计算机,一套控制软件,对多个显示屏的显示控制,就可以实现在多个机房显示各机房发射机的播出情况,或在每部发射机上加装显示屏,显示本发射机的播出情况。

    编辑:中国新闻技术工作者联合会

    评论 点击评论