微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 基于以太网的桥梁健康监测系统的软件设计

基于以太网的桥梁健康监测系统的软件设计

时间:11-06 来源:互联网 点击:

近年来,随着桥梁安全事故的不断增多,桥梁健康监测技术逐渐成为学术界、工程界的一个研究热点,与此同时,也开发出了许多用于桥梁健康监测的系统软件。目前桥梁健康监测系统软件开发主要有两种方式,一种是利用高级语言编程工具,主要有VB,VC,Delphi;另一种是利用专业化的图形化编程语言Lab-VIEW。利用高级语言编程,不受开发工具的限制,可以根据开发者自身的设计开发出比较友好美观的界面程序,但是对软件人员的要求较高;利用LabVIEW进行二次开发,虽然能够在短时间内开发出比较实用的软件,但是软件开发容易受限于开发工具。这两种开发方式各有利弊,应根据实际情况选择使用。本文软件编程采用的是面向对象的可视化编程语言VC++6.0,充分利用VC++自带的MFC类库,开发出了界面友好美观的桥梁健康监测系统软件。

1 基于以太网的桥梁健康监测系统概述
桥梁健康监测技术是在桥梁体的关键部位安装一些传感器件,实时在线监测这些监测点所采集的结构参数在桥梁运营过程中的变化,通过对这些结构参数的分析和处理,综合评定桥梁的安全服役状况。因此,桥梁健康监测系统基本应该包含以下功能:
(1)各种传感器信号的采集和处理;
(2)将采集到的数据变送至上位机控制单元;
(3)上位机实时信号的监控、分析和处理;
(4)历史数据的保存和查阅。
随着通信技术的发展,网络技术也正逐步应用在国内外许多大型桥梁监测系统中。将监测仪通过以太网连接到中央控制机,可以实现采集数据的远程传输和共享,从而在监控中心就可以对桥梁各项结构参数的实时在线监测。
基于以太网的桥梁健康监测系统的框架结构如图1所示。其中,监测仪主要完成数据的采集和变送,由于桥梁监测系统采集和处理的数据量非常大,实时性要求非常高,以单片机实现的嵌入式系统难以满足要求,本次设计的监测仪主板的设计充分利用了DSP的强大数据处理能力和FPGA的时序逻辑功能,因此,可以满足大数据量、实时监测的系统需求。

中央控制机实时显示当前监测的各项性能指标,同时能够自行分析桥梁是否处在安全服役状态,当出现突发情况下桥梁的损伤、安全性能下降的情况下能提示安全警报,避免发生重大的恶习安全事故。


2 基于以太网的桥梁健康监测系统的软件设计
2.1 软件设计需求分析
现场监测仪将采集到的信号通过以太网传送到上位机PC,在PC机上实时显示、保存、分析采集数据信息,既能够充分利用了DSP在现场高速采集处理数据的能力,又能够充分利用了上位PC机在绘制图像和保存数据方面的优势。因此,一个完整的桥梁健康监测系统在中央监控部分应该完成以下几个功能:
(1)每台监测仪IP地址、MAC地址、Port端口等网络地址信息、运行模式以及系统采样时间的设定;
(2)监测仪8个通道的采样频率、放大倍数、采样保存时间的设定以及每个通道对应传感器类型的选择;
(3)动态实时显示数据曲线。数据的显示可以以原始数据和FFT两种格式,并且可以调整采样时间设定一帧采集的数据量的大小;
(4)八个通道数据采集数据的长度、采集的时间能够同步实时显示在中央控制机上;
(5)越限报警。当采集到的数据出现异常,超出正常的数据范围的时候,能够向中央控制单元报警,便于工作人员及时查找出现的故障和损伤;
(6)能够对采集到的数据进行实时分析。
2.2 软件系统整体设计和流程
软件设计核心部分主要有两个,一个是中央控制单元向监测仪发送命令参数,另一个是中央控制单元接收监测仪发送回来的采集数据信息。PC机接收到采集的数据信息后,还需要根据系统要求绘制出数据曲线图,便于对采集到的数据进行分析,同时为了历史数据信息的查阅,还必须将采集到的数据保存到Excel文件,其流程图如图2所示。根据软件设计的整体设计和流程,采用了四个线程:
线程1:UINT SendCMDToDSP(LPVOID IParam),完成向DSP发送在主程序设定的命令参数;
线程2:UINT、RecieveData(LPVOID IParam),完成接收采集的数据信息;
线程3:UINT DrawCurve(LPVOID IParam),将采集到的数据绘制成曲线图像;
线程4:UINT StoreToExcel(LPVOID IParam),将采集到的数据保存到Excel文件,便于查阅分析历史数据。
其中,由于PC是被动接收监测仪采集的数据,为了保证在接收数据时没有数据丢失,要把RecieveData线程的优先级设为最高。
Windows本身采用的是消息驱动机制,当一个线程发出一条消息时,操作系统首先接收到该消息,然后把该消息转发给目标线程。所以可以自定义消息,然后通过操作系统来实现一个线程向另一个线程发送消息。

首先SendCMDToDSP线程发送参数命令

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top