基于VC++的卫星通信地球站监控系统

摘  要 车载静中通监控系统采用面向对象技术,选中Visual Stdio 2005做为开发工具,C++作为开发语言,SQL Server 2000作为后台参数存储的数据库。采用模块化的软件设计方法,将系统按照功能模块进行划分和定义,实现了卫星数据库维护、参数管理、自动对星、手动对星、以及天线收藏等功能。通过友好的人机交互接口,更好更稳定更方便地实现了对卫星天线的监控。

关键词 C++ 面向对象卫星天线 监控系统 SQL Server 2000

1 引言

车载静中通,顾名思义,就是在车上实时对准卫星,实现语音、数据、视频等信息的传输。快速跟踪和准确定位是伺服系统的两个重要技术指标。监控系统通过友好的人机交互接口,实现对卫星天线的监控。MFC(Microsoft Foundation Class)是微软公司提供的一个类库,以C++类的形式封装了Windows的API,并且包含了一个应用程序框架,以减少应用程序开发人员的工作量。

MSComm是Microsoft公司提供的一个ActiveX控件,用于简化串口程序开发,该控件是采用Visual Basic进行开发的,但是作为ActiveX控件,它可以应用于Visual C++、Delphi等多种开发环境中。

SQL Server是Microsoft推出的大型数据库管理系统,建立在成熟而强大的关系模型基础上,可以很好地支持客户机/服务器网络模式,能够满足各种类型的企事业单位对构建网络数据库的需求,并且在易用性、可拓展性、可靠性以及数据仓库等方面确立了世界领先的地位。

2 系统设计及与实现

   监控系统采用二级结构,主要包括登陆设置和主功能界面。所有监控功能的操作都可以在功能模块中完成。该系统分为五个模块,分别是登陆模块、卫星参数设置模块、天线数据显示模块、对星操作模块以及卫星数据库模块。

后台数据库采用Sqlserver 2000,数据库的建立分为两部分:一是概念模型的分析;二是逻辑模型的分析,即表与字段的分析。卫星天线数据库表字段为:卫星名称、卫星经度、垂直信标频率、垂直DVB频率、水平信标频率和水平DVB频率。经过计算可以得到地球站对上星后理论的方位、俯仰和极化角度,并在天线对星过程中实时获取当前的位置信息。手动对星和自动对星均可实现对星过程。

本系统使用Visual C++的MFC(MicrosoftFoundation Class)进行开发,其开发环境采用Visual Studio 2005。VisualStdio包含基于组件的开发工具,增强IDE,切实提高程序员开发效率。

    地面监控系统由两部分组成,一个是硬件部分,主要是受控设备(卫星天线地球站),完成监视,控制和管理功能。另一个是监控计算机,监控计算机通过串口与受控设备上的单片机进行通信,对地球站进行统一管理。整个对星过程为:卫星通信地球站通电后,天线控制器首先控制驱动电机使天线自动展开,进入初始化模式。在这个过程中,控制器通过GPS接收机获取卫星通信地球站所在地的经纬度信息,再结合监控计算机所设置的卫星经度信息,计算出天线所需对准卫星的方位和俯仰角度,同时计算出最佳的极化匹配角,控制极化电机使天线的极化角与卫星波速的极化角匹配。

完成初始化后,天线进入搜索模式,天线控制器控制俯仰电机使天线上抬到计算得到的对准卫星的理论俯仰角度,然后控制方位电机使天线走到理论方位位置附近进行搜索,通过跟踪接收机接收到的信号强弱来判断是否对准卫星。若天线在位置附近搜索一圈后,信号电平仍低于门限值,则调整俯仰角度继续在方位位置上搜索,如此反复,直至接收到卫星信号才进入跟踪模式。在跟踪模式中,天线按照一定的自动跟踪策略,保持最佳的接收性能。

 


作者简介:薛少佳(1988 ~ ),南京邮电大学硕士研究生,主要研究领域信息与通信系统、卫星通信

 

 基于VC++的卫星通信地球站监控系统_第1张图片

图1 系统功能模块

 

    关于串口通信,部分源码如下:

EnableShouDong(0);

 if(m_com.GetPortOpen())

        m_com.SetPortOpen(FALSE);

 m_com.SetCommPort(com);   //设置端口

    if(!m_com.GetPortOpen())

        m_com.SetPortOpen(TRUE);   //打开串口

     else

        AfxMessageBox("cannotopen serial port");

     m_com.SetSettings("9600,n,8,1"); //设置波特率,校验,数据位,停止位

     m_com.SetInputMode(0);  //以文本方式捡取数据

    m_com.SetRThreshold(1);  //参数1表示每当串口接收缓冲区中有多于或者等于1个字符时将引发一个接收数据的OnComm事件

  m_com.SetInputLen(0);  //设置当前接收区数据长度为0

关于数据库操作,部分源码如下:

ADOConn m_ado;

    m_ado.OnnitADOConn();

    _RecordsetPtr m_pRecordSet;

    CString s="select * from SateNumber";

    _RecordsetPtr m_precord;

    m_precord=m_ado.GetRecordSet((_bstr_t)s);

    while (m_ado.m_pRecordSet->adoEOF==0)

    {

        m_list.InsertItem(0,"");

        m_list.SetItemText(0,0,(char*)(_bstr_t)m_precord->GetCollect("SateName"));

        m_list.SetItemText(0,1,(char*)(_bstr_t)m_precord->GetCollect("SateLong"));

        m_list.SetItemText(0,2,(char*)(_bstr_t)m_precord->GetCollect("VDVBFre"));

        m_list.SetItemText(0,3,(char*)(_bstr_t)m_precord->GetCollect("VDVBSymbol"));

        m_list.SetItemText(0,4,(char*)(_bstr_t)m_precord->GetCollect("HDVBFreq"));

        m_list.SetItemText(0,5,(char*)(_bstr_t)m_precord->GetCollect("HDVBSymbol"));

        m_list.SetItemText(0,6,(char*)(_bstr_t)m_precord->GetCollect("BoDuan"));

        m_precord->MoveNext();

    }

    m_ado.ExitConnect();

2.1 系统登陆模块

进入系统后需要进行串口信息设置,该设置必须与伺服控制系统相一致。测试时选择串口1,波特率:9600,校验位:无,数据位8,停止位1.点击登陆后,系统将根据配置信息,进入主功能界面。

图2 登陆模块

 

2.2卫星参数设置模块

该页面包含了所跟踪的卫星经度、罗盘方位和DVB接收机的接收频率、极化方式、跟踪门限以及天线所处地理位置的经纬度。卫星下拉框显示数据库中编辑保存卫星参数;卫星极化下拉框显示“水平”和“垂直”两种方式;卫星经度输入有效值为0~180度;DVB频率输入有效值为950.000~1450.000MHz;天线位置下拉框显示数据库中编辑保存地理参数信息;门限的有效值在0~1V之间(Ku一般设置在0.3V,C波段一般设为0.1V)。

 

2.3天线数据显示及对星操作模块

按照卫星参数和天线参数设置信息,点击“对星计算”按钮,计算结果显示栏显示纯理论对星参数,以指导用户全手动对星。门限用来设定跟踪接收机灵敏度,当接收到的信号强度与门限满足特定公式时,则认为天线已经大体对准卫星,伺服由搜索状态进入跟踪状态。

设置完参数后,点击“自动对星:按钮,天线将开始进入搜索状态。此时,所有显示参数不可编辑;用户可以在“天线参数”栏中看到天线对星的实时参数及相关工作参数,当锁定卫星时,会显示“锁定”,否则会显示“搜索。

当由于某些原因(接收机故障、信标强度弱等),天线不能自动对上卫星时,应使用手动对星;点击“手动对星”按钮后,手动对星状态栏将可以进行操作。这时包含了天线实时状态参数、理论对星参数和手动控制按钮等,用户可根据理论对星参数,通过控制按钮调整天线极化、俯仰、方位角度到大概理论位置后,再依据接收设备实际信号强度再进一步细调,直到完全对上卫星。用户可以通过单选框设置极化、俯仰和方位控制的步长与速度”

按下收藏键后,天线进行收藏。在此过程中,系统自动将方位、俯仰、极化调到一定天线前面,然后天线自动转动到水平收藏位置。此时,用户可以断开天线电源。

 

2.4卫星数据库管理模块

    点击“卫星数据库”按钮,会弹出数据库维护界面,会在一个表格中显示当前卫星数据库中的数据信息,下面的添加,修改和删除按钮,分别实现数据的添加、修改和删除等操作。在参数设置模块,调用的就是数据库中的信息,在数据维护界面中,各种所需填入的参数都已经设置了保护,只能输入正确范围内的数字,防止用户误操作。


图3 数据库管理模块

 

 

3 结束语

本文介绍了车载静中通监控系统的设计与实现,并详细阐述了PC主机监控终端软件系统的总体设计,融合了计算机技术,数据库技术,串口通信技术和卫星通信技术。在实际应用中,可以完成卫星天线的自动对星、手动对星、极化切换和天线收藏等功能,并通过友好的人机交互接口实现了对卫星数据的管理和维护。该系统经过较为严格的软件测试,保证了系统的稳定性,可靠性和使用的方便性。

参 考 文 献

[1] 张维杰.基于Web的卫星通信地球站集中监控系统的研究与实现.国防工业大学研究生院,2006年9月

[2] 张涌.面向对象软件测试技术[D].上海.复旦大学博士学位论文.2002年5月

[3] 李稚萱.卫星通信地球站(监控MAC)系统研究与设计.南京邮电大学硕士学位论文.2007年3月

[4] 车载静中通天线控制协议说明书

 

 

monitoring system design and implementation of in-vehicle communications

XUE Shaojia

College ofCommunication & Information Engineering Nanjing University ofPost&Telecommunition,Nanjing 210003

Abstract themonitoring system of in-vehicle communications uses objectoriented technology, selects Visual Stdio 2005 as a development tool, C++ as adevelopment language, SqlServer 2000 as the background parameter storagedatabase. Using modularized software design method, we divides and defines thesystem by the function module ,realizes the satellite database maintenance,parameter management, automatic, manual, as well as the star of star antennacollection and other functions.Through the friendly man-machine interactiveinterface, better and more stable and more easily to achieve the monitoring ofsatellite antenna

Keywords  C++  objectoriented technology   satellite antenna  monitoringsystem sqlserver 2000

你可能感兴趣的:(基于VC++的卫星通信地球站监控系统)