高速公路结冰检测系统上位机软件实现*

2015-11-10 07:10陈俊良葛俊锋
网络安全与数据管理 2015年14期
关键词:机软件结冰控件

陈俊良,叶 林,葛俊锋,桂 康

(华中科技大学 自动化学院,湖北 武汉 430074)

0 引言

高速公路交通气象观测主要包括能见度观测、路面气象条件观测、气象环境观测、视频实景观测4个主要方面。路面气象条件观测内容主要包括路温、路面状况、冰点温度以及融雪剂浓度等方面。路面状况泛指路面处于干燥、(潮)湿、积水、积雪(霜)、结冰等状态,也包括水层、雪层、冰层的厚度情况。

结冰造成路面抗滑能力显著降低,增加了汽车制动距离,容易使车辆发生打滑和侧翻。据统计,在所有的交通安全事故中,路面结冰时的事故是干燥路面的10倍[1]。因此,路面结冰自动监测和及时预警对于保障行车安全、减少交通事故具有重要意义。

从20世纪50年代开始,欧美一些发达国家开始进行结冰传感器的研究。目前,国外结冰探测的方法以及相应的结冰传感器已发展到十几种,包括压差式、障碍式、振动式、潜热式等[2-4]。国内方面对结冰检测技术的研究起步比较晚,资料显示只有少数的高校与研究机构在研究相关的结冰检测技术,如华中科技大学的光纤式结冰传感器[5-6]。

为适应高速公路气象观测系统自动化、智能化和网络化的发展趋势,作者所在的团队设计和开发了基于多传感器数据融合的高速公路结冰检测预警系统。

结冰检测系统总体结构示意图如图1所示。该系统主要由传感器网络、数据采集传输模块、光纤通信链路和软件组成,实现了区域路面结冰状态的检测和预警。

图1 高速公路结冰检测系统示意图

图1所示为常见的双向四车道高速公路中单侧车道。图中虚线箭头所指示方向即为相应车道的行车方向。为了不影响正常的行车,减小行车中产生的灰尘等因素对传感器产生的不利影响,同时又能够获得相对准确的结冰信息,传感器安装在行车较少的硬路肩与无行车的路缘带交界处。

传感机箱在获取摄像机视频信号的同时,获取各点传感器的信号值,并采用TCP/IP网络传输协议将经过处理的编码信号发送至高速公路监控中心,由专用的上位机软件完成解析处理和实时显示。

为了实现对传感器的工作状态进行实时监测、传感器数据的采集、组织和处理,以及路面结冰状态的检测和预警,在Windows操作系统下Microsoft Visual Studio 2010编程环境中设计和开发了高速公路结冰检测系统的上位机软件。

1 上位机软件的架构和功能

上位机和下位机通信,进行系统的参数设置、数据采集、显示、存储、查询以及视频监控等功能。上位机软件初始界面如图2所示。

图2 上位机软件初始界面

2 上位机软件功能的实现

从架构上讲,上位机软件主要由图形用户界面、数据分析与处理、数据库和后台软件4部分组成。

从功能上讲,上位机软件主要包含5个功能模块,分别为参数设置模块、数据通信模块、数据管理模块、视频监控模块和控制输出模块,如图3所示。

图3 上位机软件功能架构

2.1 通信处理模块

通信建立上下位机之间的连接,连接成功后,上位机方可进行实时检测、数据传输和视频监控等操作。高速公路结冰检测系统中采用网络通信的方式,实现远距离的数据传输。

套接字(Socket)是为了方便网络编程开发的程序接口,Socket是在应用层和传输层之间的一个抽象层,将TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用以实现进程在网络中通信[7]。

上下位机的以太网通信是基于异步非阻塞Socket封装类中的函数实现的。上位机以客户端的身份向服务端(下位机)发送数据请求,当服务器确认数据请求后返回数据,客户端读取下位机返回的数据,具体流程如图4所示。

图4 上下位机Socket通信流程图

2.2 数据管理模块

数据管理模块主要实现上位机收到数据的解析,逻辑判断,实时的数值显示和曲线绘制,数据库存储和历史数据查询等功能。

上位机软件将收到的数据按照指定的规则解析为传感器的实时数据,即电流、电压、温度等,然后通过传感器的冰厚模型计算当前传感器的冰厚。上位机界面上将显示实时的冰厚值并绘制冰厚曲线,同时将数据存储在数据库中。

2.2.1 曲线绘制

上位机软件中采用TeeChart控件实现实时冰厚、电压、温度曲线的显示功能。TeeChart Pro是一款图表图形组件,支持 Windows和 Linux系统平台,使用方便,有利于产品集成。

Teechart控件的操作流程包括:注册控件、添加控件、初始化控件和刷新数据。初始化控件时,主要使用AddSeries()函数添加曲线系列,设置坐标轴的范围、曲线的样式、颜色等。在定时器中刷新数据,根据实际需求选择刷新数据的时间间隔,本上位机中采用500 ms。将实时数据存储在CList中,在绘制曲线时,使用AddXY()函数刷新数据。

TeeChart控件除了完成基本的图形曲线绘制外,用户可根据需要开发注释、多Y轴多量程、Y轴量程实时自适应等功能。

2.2.2 数据存储

上位机软件将传感器原始数据和处理后的数据存储在Access数据库中,为后期数据维护、查询和分析以及故障分析等提供真实可靠的数据。VC++通过ADO(ActiveX数据对象)的方式来访问 Access数据库,实现对数据的存储和查询等操作。在VC中,使用ADO之前必须在工程stdafx.h里添加对ADO的支持代码,使用#import指令引入ADO动态链接库文件,编译器才能正确编译。

ADO访问数据库,首先要创建数据库(Connection)对象建立与数据源的连接,然后创建记录集(Recordest)对象,实现对数据库的访问。向数据库中的数据表写入数据的代码如下:

2.2.3 历史数据查询

历史数据查询的结果以曲线和列表两种形式显示。曲线显示通过TeeChart控件实现,直观抽象,如图 5所示。列表显示通过List Control控件实现,具体详细。二者都是通过ADO方式对数据库进行操作,查询符合条件的目标数据,获取数据结果在界面上呈现。

图5 历史数据查询结果

2.3 视频监控模块

系统中为了实时监测传感器工作的路面状态,在应用现场安装海康威视网络摄像机。上位机软件中对海康威视SDK进行二次开发,集成了网络摄像机图像的实时预览、录像存储、录像回放和云台控制等功能。

利用海康威视SDK实现视频监控模块的功能调用顺序如图6所示,视频预览和录像功能调用的具体流程如图7所示。

图6 视频监控模块功能

图7 视频预览和录像功能调用流程

在上位机界面上添加一个静态文本框作为视频预览窗口,此静态文本框的句柄作为视频预览接口NET_DVR_RealPlay中预览参数的播放窗口句柄。

在预览成功的前提下,调用录像存储模块实现网络摄像机实时数据流的存储。开发过程中主要涉及录像存储路径、录像文件的命名格式、录像文件的时长、循环录像等,可根据需求自由选择。

调用海康威视SDK中的接口录制的视频文件,必须使用海康威视的解码器解码后才能播放。本文利用系统控件和海康威视播放库SDK中的播放函数,开发了一个视频播放器实现录像的回放。

云台控制模块实现云台转动、调焦、调整光圈等基本操作。用户可以在监控中心操作云台来远程控制摄像机来观察传感器的工作状态和路面的结冰状态。

3 结论

本文介绍了高速公路结冰检测系统上位机软件的开发。上位机软件在高速公路监管部门监控中心长时间不间断运行,界面友好,操作简便,数据传输稳定;实现了传感器数据和监控图像的采集、显示、存储和查询功能,能准确地判断路面是否结冰,若结冰能及时预警。本方法对其他实时测控系统的上位机软件编写具有一定的借鉴意义。

[1]张爱英,丁德平,李迅,等.相似离度在北京市道面结冰预报中的初步应用[J].气象科技进展,2012,2(1):36-38.

[2]冯金龙.高度公路路面结冰检测系统的研究[D].南京:南京信息工程大学,2011.

[3]欧彦.路面结冰监测技术研究进展[J].公路,2013(4):191-195.

[4]孟遂珍.国外高速公路的管理和气象信息[J].气象科技,2000(4):60-62.

[5]邹建红,叶林,葛俊锋,等.一种用于气象观测的的光纤结冰探测仪的研制[J].仪表技术与传感器,2012(4):15-18.

[6]禹迅,叶林.机场地面结冰检测系统的上位机软件实现[J].计算机与数字工程,2013,41(6):993-995.

[7]孙海民.精通Windows Sockets网络开发:基于Visual C++实现[M].北京:人民邮电出版社,2008.

猜你喜欢
机软件结冰控件
通体结冰的球
基于.net的用户定义验证控件的应用分析
冬天,玻璃窗上为什么会结冰花?
关于.net控件数组的探讨
鱼缸结冰
小水电站计算机监控系统上位机软件的开发
道岔监测系统上位机软件设计
小型磁偏转质谱计上位机软件的设计与实现
基于嵌入式MINIGUI控件子类化技术的深入研究与应用
不会结冰的液体等