论文部分内容阅读
摘 要:物联网技术越来越多的用于工业检测系统中。然而,原有的物联网监测系统大多只注重传感器硬件的配置和监测指标的设计,却忽略了表现层的重要性,没有直观的数据展现方式和友好的用户交互界面。针对该问题,本文以一个物联网监测系统——桥梁监测系统为背景,针对其数据特点和监测需求,提出了一个基于WPF的具有良好交互性和数据直观展现的表现层设计方案,并结合数据可视化技术,给出了实现方法。
关键词:WPF,物联网监测系统,数据可视化
中图分类号: TP311.52 文献标识码:A DOI:10.3969/j.issn.1003-6970.2013.07.018
本文著录格式:[1]杨小芳,许可.基于WPF的物联网监测系统的表现层设计与实现[J].软件,2013,34(7):51-54
0 引言
隨着物联网技术的蓬勃发展,越来越多的工业监测系统将物联网技术融合到其中。利用物联网技术进行健康监测不仅给人们带来了极大的便利,而且大大提高了工作人员的工作效率。然而,传统的物联网监测系统仅有良好的监测系统整体设计和精准的硬件配置,却没有直观的数据展现方式和友好的用户交互界面。对此,本文以一个物联网监测系统——桥梁监测系统为背景,针对其数据特点和监测需求,提出了一个基于WPF的具有良好交互性和数据直观展现的表现层设计方案,并给出了实现方法。
1 背景
1.1 分析需求
本文研究的物联网系统是一个桥梁监测系统,此监测系统利用传感器对桥梁的受力情况进行定时采集,通过互联网有线或无线的传输方法,将采集的监测数据传输到服务器中存储和处理,并将结果根据客户端的请求展现给用户。物联网监测系统的整体架构如图1所示。
如图1所示,传感器安装在桥梁的桥墩上,可以随时采集桥梁的受力情况,通过互联网以有线或无线的形式传送到服务器进行处理并存储,用户通过客户端根据需要查看相应的数据。所以,用户最终看到的是物联网监测系统的表现层展示,所以表现层的设计直接影响着用户的体验和最终的监测效果。要使监测结果准确并且直观,不仅要有精准的传感器,更要有具有良好交互性和数据直观展现的表现层。本文中研究的物联网监测系统是一个桥梁实时在线监测预警系统,它能对桥梁建立长期连续的、可以实时获取监测数据并对数据进行分析处理的安全运营及监测系统[1]。本系统采用C/S架构,表现层以客户端的形式和用户进行交互。根据需求,客户端要实现以下功能:
1)用户输入和操作界面;
2)实时动态监测数据显示;
3)以图和表的形式对历史数据进行分析;
4)预报警功能。
1.2 开发平台的选择
目前Windows环境下的图形程序接口主要有GDI/GDI+、Direct3D、OpenGL、WPF四种。GDI/GDI+通常是一个静态的显示系统,只有有限的动画支持,此外GDI/CDI+只支持二维图形开发。OpenGL是一个开放的三维图形软件包,由于它是图形的底层图形库,没有提供几何实体图元,不能直接用以描述场景。Direet3D以COM接口形式提供,所以较为复杂,稳定性差。WPF是微软新一代图形系统,运行在NET Framework4.5架构下。WPF的核心是一个与分辨率无关并且基于向量的呈现引擎,旨在利用现代图形硬件的优势来最小化CPU使用率。在WPF中,底层的图形技术不再是GDI/GDI+,而是DirectX[2]。WPF包含内容、Items、Range和文本与水墨这四种类型的控件,可以完美地实现用户输入操作界面和相关监测数据的显示[3],而且所实现的界面比用GDI或GDI+技术的更加漂亮、可交互性更强。
另外,针对监测系统中数据量大,数据关系复杂的特点,为了让用户能更直观地看到监测的结果并分析其中的原因,在表现层设计和开发过程中采用了数据可视化的技术。数据可视化技术是利用计算机图形学和图像处理,将数据转换成图形或图像在屏幕上显示出来,并进行交互处理的理论、方法和技术。它涉及到计算机图形学、图像处理、计算机辅助设计、计算机视觉以及“人机交互”技术等多个领域[4]。利用数据可视化技术,将数据库中的一个数据作为单个图元元素,大量数据构成图元点集,从而生成图像,以便用户进行观察和分析。
2 系统表现层设计
通过对桥梁监测系统的需求分析,将系统的表现层划分为以下四个界面:桥梁基本信息输入界面,采集参数设置界面,实时数据监测界面,历史数据分析界面。
1) 基本信息输入和查询界面
在基本信息输入和查询界面,将桥梁的各项基本参数输入,包括项目概况、结构信息(中心里程、节段重量和中心位置等)和支座参数。项目概况用来追踪项目的负责人,结构信息可以用来构建桥式示意图,支座信息为后续的监测过程提供基本参数。
2) 采集参数设置
在采集参数设置界面,用户可以设置每座桥梁的采集时间、采集频率和阀值参数。采集方式有定点采集、定时采集和高频采集这三种方式,分别适用于不同的监测需要。这些设置的采集参数控制传感器的数据采集时间,采集的数据通过互联网以有线或无线的方式传送到服务器进行处理和存储,这些数据是实时数据监测界面和历史数据分析界面的基础。
3) 实时数据监测界面
实时数据监测界面反应最新的采集的桥梁受力情况的变化,随采集数据的更新来刷新图表。在实时数据分析界面,可以看到最新采集的桥梁的各支座的受力随时间的变化情况,也可以看到同一时刻同一桥梁的不同支座的受力的对比,还可以看到预警和报警信息。
4) 历史数据分析界面
历史数据分析界面将数据库中存储的桥梁的一段时间的受力情况进行分析,从而得出桥梁受力的变化趋势和规律,并从中预测出可能的风险,为桥梁的安全运营、日常养护管理提供准确的决策依据。 3 系统表现层实现
本系统的表现层的实现是基于WPF的,曲线图选用Visifire插件绘制。在实现过程中,不仅注重基本功能的实现,还注重界面的可交互性和易用性。
1) 基本信息输入和查询界面
基本信息输入和查询界面,项目概况单独以文本框形式输入,桥梁结构信息和支座参数都以表格形式输入和显示,使用 WPF的DataGrid控件来实现。DataGrid控件提供数据绑定功能,能很好地将各项参数直接映射到界面元素,同时还允许显示的数据对各列进行排序,代码如下:
项目概况、支座参数和桥梁结构信息界面分别如图3、图4、图5所示:
2) 采集参数设置界面
在采集参数设置界面,设置传感器的采集时间和频率。支座上的传感器根据设置的采集时间和频率对桥梁受力情况进行采集,如图6所示。用户还可以在该界面设置支座的阀值参数,作为以后监测过程中判断预警与报警的依据,如图7所示。
3) 实时数据监测界面
在实时数据监测界面,两种曲线图分别对桥梁的受力情况进行横向和纵向比较。时程曲线图随时间不断地刷新,反映各个支座最新一段时间的受力情况的动态变化。如下图8中四条曲线分别显示了四个支座瞬时值变化情况。瞬时反力图反映某一时刻一座桥梁上的所有支座的受力情况,如图9所示。
4) 历史数据分析界面
在历史数据分析界面,用户可以随意选择一段时间的数据来分析 ,用以观察桥梁比较长的一段时间内桥梁的受力趨势。界面同时显示支座反力时程曲线、墩总反力时程曲线和结构总反力时程曲线三个曲线图,支座反力时程曲线显示各个支座在一段时期内的受力情况,墩总反力图显示一个墩上的2个支座所受力之和的变化情况,结构总反力时程曲线显示整个桥梁的所有支座的受力之和的变化情况,三个曲线图一起形成对比,供用户查看。由于这三个图中的数据量比较大,界面上还对曲线图提供了放大缩小功能,让用户能收放自如地查看曲线图。受力分析界面的三个曲线图如图10所示。
4 结论
随着物联网技术的蓬勃发展,越来越多的工业监测系统将物联网技术融合到其中。本文以一个物联网监测系统——桥梁监测系统为背景,针对其数据特点和监测需求,提出了一个基于WPF的具有良好交互性和数据直观展现的表现层设计方案,并结合数据可视化技术,给出了实现方法。
参考文献
[1]吕惠卿,张湘伟,姜海波,等.重要公路桥梁安全运营的动态监控及预警研究[J].广东工业大学学报,2011,28(1):16-19.
[2]李成刚,冯静,凌玲,等.基于WPF的交互式绘图系统的开发[J].微型机与应用,2011,30(6):50-52.
[3]何英.基于WPF技术的典型工业检测系统上位机软件显示模块的开发[J].电脑知识与技术, 2010,06(18):4985-4986.
[4]钱肖鲁.可视化分析关键技术研究及系统实现[D].上海:复旦大学,2003.
关键词:WPF,物联网监测系统,数据可视化
中图分类号: TP311.52 文献标识码:A DOI:10.3969/j.issn.1003-6970.2013.07.018
本文著录格式:[1]杨小芳,许可.基于WPF的物联网监测系统的表现层设计与实现[J].软件,2013,34(7):51-54
0 引言
隨着物联网技术的蓬勃发展,越来越多的工业监测系统将物联网技术融合到其中。利用物联网技术进行健康监测不仅给人们带来了极大的便利,而且大大提高了工作人员的工作效率。然而,传统的物联网监测系统仅有良好的监测系统整体设计和精准的硬件配置,却没有直观的数据展现方式和友好的用户交互界面。对此,本文以一个物联网监测系统——桥梁监测系统为背景,针对其数据特点和监测需求,提出了一个基于WPF的具有良好交互性和数据直观展现的表现层设计方案,并给出了实现方法。
1 背景
1.1 分析需求
本文研究的物联网系统是一个桥梁监测系统,此监测系统利用传感器对桥梁的受力情况进行定时采集,通过互联网有线或无线的传输方法,将采集的监测数据传输到服务器中存储和处理,并将结果根据客户端的请求展现给用户。物联网监测系统的整体架构如图1所示。
如图1所示,传感器安装在桥梁的桥墩上,可以随时采集桥梁的受力情况,通过互联网以有线或无线的形式传送到服务器进行处理并存储,用户通过客户端根据需要查看相应的数据。所以,用户最终看到的是物联网监测系统的表现层展示,所以表现层的设计直接影响着用户的体验和最终的监测效果。要使监测结果准确并且直观,不仅要有精准的传感器,更要有具有良好交互性和数据直观展现的表现层。本文中研究的物联网监测系统是一个桥梁实时在线监测预警系统,它能对桥梁建立长期连续的、可以实时获取监测数据并对数据进行分析处理的安全运营及监测系统[1]。本系统采用C/S架构,表现层以客户端的形式和用户进行交互。根据需求,客户端要实现以下功能:
1)用户输入和操作界面;
2)实时动态监测数据显示;
3)以图和表的形式对历史数据进行分析;
4)预报警功能。
1.2 开发平台的选择
目前Windows环境下的图形程序接口主要有GDI/GDI+、Direct3D、OpenGL、WPF四种。GDI/GDI+通常是一个静态的显示系统,只有有限的动画支持,此外GDI/CDI+只支持二维图形开发。OpenGL是一个开放的三维图形软件包,由于它是图形的底层图形库,没有提供几何实体图元,不能直接用以描述场景。Direet3D以COM接口形式提供,所以较为复杂,稳定性差。WPF是微软新一代图形系统,运行在NET Framework4.5架构下。WPF的核心是一个与分辨率无关并且基于向量的呈现引擎,旨在利用现代图形硬件的优势来最小化CPU使用率。在WPF中,底层的图形技术不再是GDI/GDI+,而是DirectX[2]。WPF包含内容、Items、Range和文本与水墨这四种类型的控件,可以完美地实现用户输入操作界面和相关监测数据的显示[3],而且所实现的界面比用GDI或GDI+技术的更加漂亮、可交互性更强。
另外,针对监测系统中数据量大,数据关系复杂的特点,为了让用户能更直观地看到监测的结果并分析其中的原因,在表现层设计和开发过程中采用了数据可视化的技术。数据可视化技术是利用计算机图形学和图像处理,将数据转换成图形或图像在屏幕上显示出来,并进行交互处理的理论、方法和技术。它涉及到计算机图形学、图像处理、计算机辅助设计、计算机视觉以及“人机交互”技术等多个领域[4]。利用数据可视化技术,将数据库中的一个数据作为单个图元元素,大量数据构成图元点集,从而生成图像,以便用户进行观察和分析。
2 系统表现层设计
通过对桥梁监测系统的需求分析,将系统的表现层划分为以下四个界面:桥梁基本信息输入界面,采集参数设置界面,实时数据监测界面,历史数据分析界面。
1) 基本信息输入和查询界面
在基本信息输入和查询界面,将桥梁的各项基本参数输入,包括项目概况、结构信息(中心里程、节段重量和中心位置等)和支座参数。项目概况用来追踪项目的负责人,结构信息可以用来构建桥式示意图,支座信息为后续的监测过程提供基本参数。
2) 采集参数设置
在采集参数设置界面,用户可以设置每座桥梁的采集时间、采集频率和阀值参数。采集方式有定点采集、定时采集和高频采集这三种方式,分别适用于不同的监测需要。这些设置的采集参数控制传感器的数据采集时间,采集的数据通过互联网以有线或无线的方式传送到服务器进行处理和存储,这些数据是实时数据监测界面和历史数据分析界面的基础。
3) 实时数据监测界面
实时数据监测界面反应最新的采集的桥梁受力情况的变化,随采集数据的更新来刷新图表。在实时数据分析界面,可以看到最新采集的桥梁的各支座的受力随时间的变化情况,也可以看到同一时刻同一桥梁的不同支座的受力的对比,还可以看到预警和报警信息。
4) 历史数据分析界面
历史数据分析界面将数据库中存储的桥梁的一段时间的受力情况进行分析,从而得出桥梁受力的变化趋势和规律,并从中预测出可能的风险,为桥梁的安全运营、日常养护管理提供准确的决策依据。 3 系统表现层实现
本系统的表现层的实现是基于WPF的,曲线图选用Visifire插件绘制。在实现过程中,不仅注重基本功能的实现,还注重界面的可交互性和易用性。
1) 基本信息输入和查询界面
基本信息输入和查询界面,项目概况单独以文本框形式输入,桥梁结构信息和支座参数都以表格形式输入和显示,使用 WPF的DataGrid控件来实现。DataGrid控件提供数据绑定功能,能很好地将各项参数直接映射到界面元素,同时还允许显示的数据对各列进行排序,代码如下:
项目概况、支座参数和桥梁结构信息界面分别如图3、图4、图5所示:
2) 采集参数设置界面
在采集参数设置界面,设置传感器的采集时间和频率。支座上的传感器根据设置的采集时间和频率对桥梁受力情况进行采集,如图6所示。用户还可以在该界面设置支座的阀值参数,作为以后监测过程中判断预警与报警的依据,如图7所示。
3) 实时数据监测界面
在实时数据监测界面,两种曲线图分别对桥梁的受力情况进行横向和纵向比较。时程曲线图随时间不断地刷新,反映各个支座最新一段时间的受力情况的动态变化。如下图8中四条曲线分别显示了四个支座瞬时值变化情况。瞬时反力图反映某一时刻一座桥梁上的所有支座的受力情况,如图9所示。
4) 历史数据分析界面
在历史数据分析界面,用户可以随意选择一段时间的数据来分析 ,用以观察桥梁比较长的一段时间内桥梁的受力趨势。界面同时显示支座反力时程曲线、墩总反力时程曲线和结构总反力时程曲线三个曲线图,支座反力时程曲线显示各个支座在一段时期内的受力情况,墩总反力图显示一个墩上的2个支座所受力之和的变化情况,结构总反力时程曲线显示整个桥梁的所有支座的受力之和的变化情况,三个曲线图一起形成对比,供用户查看。由于这三个图中的数据量比较大,界面上还对曲线图提供了放大缩小功能,让用户能收放自如地查看曲线图。受力分析界面的三个曲线图如图10所示。
4 结论
随着物联网技术的蓬勃发展,越来越多的工业监测系统将物联网技术融合到其中。本文以一个物联网监测系统——桥梁监测系统为背景,针对其数据特点和监测需求,提出了一个基于WPF的具有良好交互性和数据直观展现的表现层设计方案,并结合数据可视化技术,给出了实现方法。
参考文献
[1]吕惠卿,张湘伟,姜海波,等.重要公路桥梁安全运营的动态监控及预警研究[J].广东工业大学学报,2011,28(1):16-19.
[2]李成刚,冯静,凌玲,等.基于WPF的交互式绘图系统的开发[J].微型机与应用,2011,30(6):50-52.
[3]何英.基于WPF技术的典型工业检测系统上位机软件显示模块的开发[J].电脑知识与技术, 2010,06(18):4985-4986.
[4]钱肖鲁.可视化分析关键技术研究及系统实现[D].上海:复旦大学,2003.