机动式测控检测终端能够模拟测控指挥中心,直接与测量设备进行有线连接,对测量设备和被测目标进行数据接收及遥控处理,这样可以脱离对通信设备和测控指挥中心的依赖进行测控设备检测,节省大量物资消耗和设备检测周期。除此之外,系统也可通过通信设备与测控指挥中心相连,通过重放数据文件模拟设备工作状态,协助通信设备及测控指挥中心进行通信自检,避免测控设备反复加电开机,节约成本,提高检测效率。
1、系统组成
1.1、系统框图
如图 1 所示,系统可实时接收多路测量数据,通过同步串口和 IP 网两种接口接收,遥控指令通过异步串口和 IP 网两种接口收发,数据回放通过上述三种接口与指挥中心进行数据交互。
图 1 机动式测控检测终端信息流程图
1.2、硬件支持
系统硬件主要包括工控机一台、同步串口卡 2 块、网线一根。其中,工控机采用便携式工业控制计算机,方便携带,适用于机动式测控终端任意转移测控站点的特点。同步串口卡采用 MOXAC502 卡。同步串口卡在安装前需要确定中断号和基址,通过设置每块卡上的跳线来实现。设置跳线,首先要寻找一个系统可用的中断号,有 9 个中断号可供选择。如果系统中用到多块多串口卡,它们的中断号应设置成相同。选择一个基址(占 16KB 空间)没有被扩展内存或其它板卡使用,有 6 种选择。如果系统中用到多块多串口卡,每块板卡必须有自己独立的地址。
1.3、软件开发平台
系 统 在 Windows 2000 操 作 系 统 支 持 下,利 用 VisualC++6.0 编程语言实现,轨迹显示基于 GIS 平台。
2、主要功能
2.1、数据通信
测控检测终端的数据通信功能主要有以下三项 :
(1)通过同步串口实时接收多路测量数据,并发送引导数据;(2)通过 IP 网实时接收多路测量数据,并发送引导数据 ;(3)通过异步串口收发遥控指令。用户需要同时监测上述数据,所有数据需同屏显示,系统同时提供十进制和十六进制转换功能,同步串口收发数据时钟方向缺省值为发时钟。
2.2、轨迹显示
地理信息系统(Geographic Infor- mation System, 简称 GIS),是处理地理数据的输入、输出、管理、查询、分析和辅助决策的计算机系统。轨迹显示基于 GIS 平台,可将实时收到的测量数据在地图上进行逐点定位显示。系统具有以下功能 :
(1)地图编辑 :地图编辑旨在通过扫描地图(BMP)获得矢量地图 ( 自定义格式 ),首先在扫描地图上确定基准点,根据基准点计算出扫描地图上每点的经纬度,这样就可在扫描地图的背景上,描绘出矢量地图,矢量地图保存在地图文件中。
(2)地图相关信息显示 ;
(3)地图显示 :能够显示扫描地图和矢量地图。可对矢量图地图能够进行放大、缩小、平移等操作。能够全屏显示。
(4)显示比例尺 :地图严格按照比例尺进行缩放。比例尺的显示要显眼精确,不可因屏幕分辨率和缩放比例的改变而出现偏差。
(5)漫游地图 :能够自动锁定指定的目标,使指定的目标在地图上始终可见。此时地图进行平移漫游。
(6)航迹显示和存储功能 :能显示动态目标的航行轨迹,并能将轨迹矢量图保存。
(7)地标点检索和查询功能 :输入要查找的地点合法名称,数据库完成相关搜索,并把相应的地理信息显示出来。
2.3、数据回放
数据回放功能是通过读取数据文件来实现的。系统从数据文件中逐帧读取数据并输出到测控指挥中心,用以模拟工作状态的测量设备,供通信系统及测控指挥中心进行通信检测。数据回放的同时,系统根据读取的数据描绘轨迹并显示当前数据内容。
2.4、数据存储
数据存储为二进制文件,提供二进制到十进制和十六进制格式转换功能,便于事后数据分析。
3、主要编程方法
3.1、串口通信
系统通过 MOXA 公司提供的 API 函数调用来实现串口通信。由于需要接收四路同步数据,系统采用了 2 块 C502 卡,共四个端口,端口号为 0 ~ 3。系统采用了工控机提供的两个异步串口,端口号分别为 0 和 1。通过对 API 函数的调用即可实现同步串口和异步串口数据的收发功能。
3.2、网络通信
套接字(SOCKET)是一种网络编程接口,它是对通信端点的一种抽象,提供了一种发送和接收数据的机制。为了简化 WinSock网络编程,使用户专注于应用程序算法的设计,Microsoft 的基本类库(Microsoft Foundation Class 或 MFC)提供了两个用于WinSock 编程的类 :CAsyncSocket 类和 CSocket 类。CSocket 类是从 CAsyncSocket 类派生而来的,它提供了高一级的抽象处理套接字通信。系统采用三种网络通信方式 :组播、广播、点播。在数据接收时采用组播,数据发送时,部分采用广播,部分采用点播。
3.3、多线程及同步
每一个应用程序可以包含多个线程,也就是说每个进程可以同时完成多个任务。CPU 分配的基本单元是线程,线程的多少直接影响进程的执行性能。一个进程可以通过创建多线程来占用更多的 CPU 时间片。多线程可以弥补顺序执行的缺点,提高执行性能、增加吞吐量和提高相应能力。多线程编程必须涉及到线程的同步问题,当多个线程试图同时操作同一共享资源时,可能引发冲突。
在同步串口通信中,系统实时接收测量数据的同时,也向测量设备发送引导数据,因为数据接收和发送是各自独立的线程,所以对同一端口进行数据收发时,必须解决线程同步问题,否则系统会中途停止运行。
3.4、定时器
在同步数据收发和界面数据显示时需要用到定时器。定时功能的实现方法有很多,在实时条件下,常用的有以下几种 :WINDOWS 系统定时器、多媒体定时器、利用外部硬件的定时器。经过比较,实时定时效果最好的是利用时码板提供定时功能,多媒体定时器次之,最差的是 WINDOWS 系统定时器。由于便携式工控机主板插槽有限,无法再添加时码板,检测终端主要用来检测数据质量,对时延没有严格要求,因此系统采用了多媒体定时器。
TAG标签: 代写工程论文