可视化实验室能源管理系统

来源 :城市建设理论研究 | 被引量 : 0次 | 上传用户:chen20080310
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:本文是以北京化工大学实验室能源计量管理为依据,本文分章节的详细的讲述了如何采用数据库软件开发工具Visual Foxpro进行系统的设计和开发,利用图形、颜色、字体等多种可视化元素来描述实验室的结构、计量器具、计量信息等,并采用组态技术进行空间的描述和单元的定义。
  
  关键词:可视化;数据库系统;可视化抽象表示
  中图分类号:TP31文献标识码:A 文章编号:
  
  1 可视化技术
  可视化(Visualization)是利用计算机图形学和图像处理技术,将数据转换成图形或图像在屏幕上显示出来,并进行交互处理的理论、方法和技术。可视化并非是一个新的概念,其使用面也非常广。但它作为一门新学科和技术领域出现的标志是1987年美国科学基金会(NSF)组织召开的“科学计算机可视化”专题研讨会,以及会后Mrcomick等人所发表的“科学计算可视化”报告,现在也称为科学可视化(Scientific Visualization),或简称为可视化(Visualization) [1]。
  1.1.1软件的可视化界面
  可视化交互界面将客观世界中抽象的事物转变为形象、生动和直观的方式展示给用户,使他们更容易理解事物的内涵和事物间的联系,根据自己的爱好,以自然、直观的方式输入需要查询地图的内容特征[2]。可视化界面是一类表示方法的总合,包括图形、线条(包括曲線)、颜色、文字、字体、动画等等,都属于可视化界面的范畴。可视化表示及操作的最大的优势在于直观,可以最大限度的得到不同的信息、将抽象的作操实例化,而且不死板,对于操作人员而言不显得枯燥,通过“看得见的操作”完成一系列抽象数据的记录,这就是“所见即所得”。
  可视化表示在信息表达方面应用的非常广,可以说是遍及我们的生活各个角落。例如,在公共卫生间的门上用不同颜色的小人来区分性别;公共汽车上用不同的颜色来表示特殊人群专用座位;公路上各种各样的指示牌、警示牌等等,都是可视化表示的应用。正是由于可视化表示的亲和力,所以非常容易被人们所接受。
  1.1.2可视化操作在计算机操作中的应用
  将计算机实现可视化操作的最成功者非微软莫属,从黑白界面的DOS系统到非常人性化、直观化的Windows视窗系统,微软在可视化操作方面取得了巨大的成功。随着视窗系列的不断升级,许多应用软件也在改变着自己的操作界面,经过装饰过的按钮、互动的操作过程,这些都是成功的案例。
  在应用软件中专门有一类就是绘图软件和图形处理软件,它们都在开发、处理图形方面有强大的处理功能。不过一方面这些软件对于操作者的要求比较高,要熟练的操作它们决非易事,另一方面这些软件制作、处理后的可视化图形基本上是“静态的”,也就是无法(或不易)同数据库中的数据相结合,一旦数据改变后原有的可视化图形要重新制作。
  1.1.3用可视化表示数据库中的数据
  数据库是存放数据的软件,也是数据处理、查询的主要依据,但一直以来数据库中的数据表示能力被我们所忽略,我们更关心的是数据访问的能力、查询的速度、数据库的安全性等等。虽然有的数据库软件具有数据分析的能力,如利用曲线图、柱状图、饼状图来表示数据间的关系,但总的表现形式过于单一,基本表现形式仍为普通的表格,缺乏表示的手段,给人一种千人一面的感觉。
  可视化图形表示方法与数据库相结合,会使原来单一的数据以不同的形式表现出来,给人一种耳目一新的感觉,当后台的数据改变时,不用修改源程序就可以显示出其中的变化,在国内将这种理念付诸实际的要算是GIS(Geographical Information System,地理信息系统)了,还有就是谷歌的“电子地图”了。
  1.2 课题来源
  1.2.1 实际工作中所遇见的问题
  随着我国对能源使用管理的加强,各单位也在寻找适合各自的能源管理的方法。为了提高教学、科研能源使用效率,加强科研用能成本核算,许多高校都在每间实验室、办公室里安装了计量器具,将能源统计、考核落实到每一间房间。面对如此大量的能源计量器具信息的管理、计量数据的审计,如何管理好计量器具和计量数据就成为了能源管理工作中的重点,在管理工作中不仅要记录每一块计量器具的记录数据,还要记录计量器具的型号、规格、安装的位置(房间号)及房间内的具体安装位置等信息。
  对于高校中建设时间比较早的建筑而言,在房间的管理、供电线路、供水线路的铺设方面都存在许多问题,原来单纯依靠简单文记录的方式不能满足对这些数据的记录。其次能源管理所涉及的数据种类比较杂、信息量比较大,很难利单一的数据表格来记录如上信息。
  1.2.2 引入可视化技术,提高管理水平
  可视化技术在能源管理中已经被许多管理部门所采用,如“电力系统运行状态可视化”就是一个很好的例子[3],可视化技术作为能源管理具体非常直观、可靠等特点,是今后发展的方向。
  2 开发工具介绍
  2.1 Visual Foxpro9.0(简称VFP9.0)的简单介绍
  Visual FoxPro的前身是FoxBase,是美国Fox Software公司推出的数据库产品,在DOS上运行,与xBase系列相容。Fox Software被微软收购后,加以发展, 使其可以在 Windows 上运行, 并且更名为 Visual FoxPro,目前最新版为 Visual FoxPro 9.0,提供多种可视化编程控件,是面向对象编程数据库应用软件。[4]
  
  2.2 VFP9.0的可视化编程
  2.2.1 VFP9.0的控件介绍
  VFP9.0具有非常丰富的基本控件,如文本框、按钮、列表框等,用户还可以在基本控件的基础上生成自己的“类库”,调用自己设计的专用控件,这些控件也是我们用来可视化表示与操作的最基本的元素。
  2.2.2 VFP9.0的程序语言介绍
  VFP9.0的程序语言无论在语法上,还是结构上与BASIC语言都极为相似,并且有许多专门的指令、函数来操作数据库,非常适合初学者学习。VFP9.0的开发过程是面向对象的,用户可以编写、调用自己定义的类来完成相应的操作。
  2.2.3 VFP9.0的程序构架
  VFP9.0的程序可以分三个层次,最上面的是表单,表单由一系列控件组成;中层是报表,是将查询的数据打印输出的工具;下层是数据库及库中的数据表。作为使用方通常只能接触到最上层的表单,一切操作是通过表单完成的。没有数据库的支持,VFP9.0的功能将大打折扣。
  
  3数据的可视化抽象
  3.1数据的可视化抽象定义
  3.1.1常见的可视化抽象
  什么是可视化抽象?简单一点说就是通过一些符号来表示具体的事物。其实可视化抽象对我们而言并不陌生,比如在地图中的河流被抽象为曲线、城市被抽象为圆圈等;不仅仅是实物,许多抽象的含义也可以用可视化的方法进行表示,比如用箭头表示方向、用酒杯表示易碎、用雨伞表示防潮等等。在可视化抽象时,对于我们生活中习以为常的符号最好不要改变其代表的含义,否则会产生不必要的误解。
  3.1.2应用数据的可视化抽象
  在我的研究课题中,应用数据的可视化抽象占了很大的比重,用适当的表现方式来表达更多的信息是本课题一直追求的目标。通常我们处理的数据中有两种类型,一种是实在的客观实体(实物),另一类则是实物的某些性质。举个例子,在国资处的房屋及仪器设备管理中,房屋、仪器这些属于客观实体,而房屋的使用单位、房屋的房间号、房屋的使用性质等则是房屋的某些属性。
  在本系统中,客观实体用某种控件,或某几种控件组合后来表示;而对于实体的属性则通过颜色、字体、线条粗细这些控件的属性来表示。采用矩形“容器”控件作为房屋;用按钮表示房间号(如果没有该房間的数据,按钮及房间的背景用白色来表示);用“房屋”的背景色表示使用单位;用按钮的背景色表示用房性质;用按钮的字体加粗表示该房间装有空调等等。通过简单的可视化抽象,完成了信息的转换显示,让可视化的界面更具有亲和力与表现力。
  3.2数据可视化显示与可视化操作的实现
  3.2.1数据可视化显示的静态实现
  在软件设计开发阶段,根据数据种类的不同,按照事先规定好的可视化抽象表示方法,将数据的抽象表示直接以图形的方式或以色彩、形状等有效方式体现,就是数据可视化的静态实现。
  静态实现的优点是避免了程序设计的复杂性,设计界面与运行界面相一致,程序设计过程简单,开发周期短。但静态实现具有一个非常致命的缺点,就是可视化表示无法与数据库相结合,整个程序操作界面更像是一幅图画,一旦数据发生变化时,需要修改原代码、改变各控件的属性,这在实际应用中是非常不方便的[5]。在本系统开发的初始阶段,我曾经尝试过静态的方法,但很快就意识到了它的不足,转而开始了摸索动态实现的方法。
  
  3.2.2数据可视化显示的动态实现
  让控件自动的与数据库中的数据相结合,当数据变化时,控件的属性、位置、大小也自动的发生变化,这就是数据可视化的动态实现。
  动态实现的优点显而易见,它可以与数据库中的数据直接对应,实时的反应数据库中数据的状态。动态实现的难点在于如何将控件及其属性与数据相对应;如何减少前台程序代码的维护工作与后台数据库的信息传递量;如何减少编程中的代码维护工作量等等。
  3.2.3数据可视化显示的动态实现方法
  数据的可视化的动态实现是指当程序运行时,控件自动显示与数据相对应的颜色、大小、字体粗细等属性,而这个功能是利用控件init事件来完成的。在控件的init事件中写入代码,当系统动行时该代码自动运行,同时读取数据库中的数据,并根据数据的不同,设置相应的属性值。
  以某一房间为例,标识这一房间的数据有两个,一是该房间所在的楼名,二是该房间的房间号,“楼名”由该表单的caption属性表示,“房间号”由该房间按钮的caption属性表示,将“楼名+房间”号便可唯一标识该房间的信息,每个房间号对应一块电表,如果安装了两块以上的电表,该房间会有两个以上的“电表控件”与之对应;楼名+房间号在数据表中的信息是唯一的,检索到该房间的信息后,按照约定好的格式,将该房间的相关信息表示出来,如房间按钮的名称为command1,则
  ·This.parent.backcolor (按钮控件的父类控件的背景色)用来表示“使用单位”
  ·This.backcolor (按钮控件的背景色)用来表示使用性质,主要表示的有
   红色——科研(性质为2,7,8);
  绿色——分析测试中心(性质为5)
  黄色——引进人才(性质为2,“引进人才”字段为‘.T.’真);
  蓝色——非科研
   白色——没有该房间的信息
  ·This.forecolor (按钮控件的前景色,即按钮文字的颜色)用来表示是否有该房间,主要表示的有
  红色——没有该房间;黑色——有该房间的数据
  ·This.fontbold(按钮字体粗细)、This.fontstrikethru(按钮字体删除线)、This.fontunderline(按钮字体下划线)三个属性来表示是否安装了空调、空调是否安装电表等信息;
  3.2.4数据可视化操作实现方法
  数据的可视化操作是指在程序操作中,对于数据的选择、实物的生成、位置的确定等具有操作性的数据,在操作界面中直接利用鼠标、键盘等外设直接点击操作完成。以房间水表位置确定为例,当选择了水表编号、确定了水表后,用鼠标直接点击水表控件拖至适当位置后,松开鼠标即可。整个操作完全可视化,操作者不必考虑水表位置是如何获取的,只要拖至合适的位置就行了,减小了操作的难度。
  
  3.2.5表示实物(实体)的可视化图形控件的自动生成
  当利用控件的属性表示相应数据时,控件的位置基本上是保持不变的,但如果利用控件表示实物(实体)时,控件的位置要随实体位置的变化而变化。有的实体在程序设计之时无法确定是否存在,需要在程序运行之时根据提供的数据自动生成,为了解决以上两个问题,我在程序设计之时引入了“自动生成控件”与“自动调整控件位置”两种技巧。
  自动生成控件,是指系统在设计阶段没有设计控件,而是在运行状态下,根据系统提供的数据自动生成代表某一实物的控件,如电表、水表,具体实现过程请参见后面的程序清单。自动调整控件位置,是指在不修改源程序的前提下,通过数据的调整自动调整其在显示界面上的位置,在实现方法上我采用了“12点定位法”和“坐标定位法”两种方法。
  以房间电表的“12点定位法”为例,电表在安装时通常上是紧贴墙安装的,将房间按上北下南(特殊情况除外)方向定位后,四周分为12个点,就好像是钟表的表盘,电表安装位置就记录为1-12点位,当电表安装位置改变时,只需要将数据库中的数据修改后,系统在加载控件的时候会自动更新控制的位置,实现了图形控件的动态定位。除了电表之外,日光灯的安装、门的位置、窗户的位置等等这些有规律的实体都可以利用可视化图形控件自动生成
  
  
  
  4可视化实验室能源管理系统的组成
  4.1 可视化实验室能源管理系统的构架
  4.1.1程序设计构架
  为了提高程序的使用效率,该系统的设计构架为C/S结构。C/S结构的程序可以让几名操作共享后台数据,独立完成各自的操作,提高了数据的使用效率。程序前台采用Visual FoxPro 9.0开发,后台数据库采用SQL Server 2000作为远程数据支持,二者之间利用微软的ODBC数据源进行联接。[10]
  4.1.2 可视化管理系统的组成构架
  学校实验室房间能源管理系统的组成构架主要分为四个层次,第一层是学校整体平面图,图中分布着化工大学东校区的所有实验楼的位置;第二层是该实验楼建筑的整体情况及该实验楼建筑的分层平面图;第三层是建筑物配电室布局图和每个房间的详细数据、电表安装情况、水表安装情况、空调安装情况等等,第四层是对第三层的水表、电表安装情况的详细说明。如下图
  
  
  图4.1.1 系统构架
  Figure4.1.1System structure
  在建筑分层平面图中,保留有数据扩展功能,为以后的数据扩展留下了空间。
  
  4.2 可视化实验室能源管理系统的组成
  4.2.1 可视化实验室能源管理系统的数据库组成
  按照系统的组成构架,系统的数据库组成也分成了两大类、三个层次共十三个数据表,
  从数据库的设计上,本系统采用了“房间”数据与“计量器具”分开设置的原则,以房间作为主要数据联系,依靠“房间号”作为数据库的主关键字,记录安装电表与水表等计量器具的信息。这样的分开设置可以解决一个房间安装两块以上的电表或水表时,系统无法标识的问题,并且分开设置减少了数据的交叉,化简了数据表的结构,加快了数据查询的速度。4.2.2 可视化实验室能源管理系统的数据关系
  整个系统的数据是按照各自对应的“主关键字”进行联系的。比如房间数据以“楼名+房间号”作为关键字,电表信息、水表信息、空调信息等等都是以这个关键字进行数据联系的;而建筑物相关数据则以该建筑物的“名称”作为主关键字。下图就是整个系统的数据关联图:
  4.3 可视化实验室能源管理系统的数据表示
  4.3.1 可视化实验室能源管理系统的表示方式
  可视化实验室能源管理系统采用的是“单独设计、统一表示”的方法,单独设计每栋楼的“按钮控件”,点击楼名后将详细数据在另一个统一的界面上显示出来,依靠该建筑的主关键字(该建筑物的名称)作为数据传递的句柄,完成该建筑的数据检索及显示的过程。与之相类似的还有房间详细数据的表示方法、水表安装情况、空调安装情况都是利用这样的方法进行表示的。这种表示方式只有在设计过程时完成了主关键字的传递,在运行时不涉及到主关键字的修改,保证了数据的前后一致性及完整性。
  为了减少代码的维护工作量,每类按钮(建筑按钮和房间号按钮)中所包含的代码均完全相同,所以在设计程序的时候我引入了“类”的设计方法,将具有相同性质的控件单独设成一个类,在编写程序时利用新类生成的控件,还可以使操作界面整齐划一。[11](具体代码请参见代码表)
  4.3.2 可视化实验室能源管理系统的表示过程
  将数据库中的数据以不同的方式显示出来,以可视化的形式供使用者操作是本课题研究的重点,在前面一章讲述的过程中只是涉及到了如何将不同的数据以不同的形式显示出来,但没有详细说明具体是如何表示的,本节将以建筑物平面图为重点介绍数据表示的具体过程。
  在研发过程中,将使用类别相同的表单,如建筑物平面图表单设定为一个表单类buildsurface,以该表单的标题(Caption)作为该建筑的名称传递数据,在Load事件里,根据Caption属性的不同,利用SQL语句生成要用到的远程数据表,如:电表安装表、空调使用表、水表安装表,为了减少数据的传递量、加快程序运行速度,返回的数据只是与该建筑有关的数据。在设计新建筑平面图时,只需利用buildsurface表单类生成一个新表单,将新表单的Caption改成该建筑物的名称,在该表单加载时,符合该建筑的远程数据表已经下载到本地的临时表中,为以后的操作提供了方便。[12]
  在该表单中添加一个由“页框”为表示方法的分层结构,页框的每一页代表该建筑的每一层,再在该层上用“容器”表示房间,将该层的平面图按比例画出来,房间号用roombutton按钮类生成,与建筑表单类相似,房间号按钮类也是统一的编码、统一实现功能。每个按钮只需将“房间号”作为按钮的Caption属性,而点击后的代码已经在类设计时编写好了。
  当房间按钮在生成时(init事件触发),此时完成的动作包括各种可视化的背景色、前景色、字体粗细、字体颜色等的实现,每个按钮跟据房间号的不同,对应各自数据库中的数据改变其显示属性,以完成可视化的数据表示功能。
  當房间按钮在点击时(Click事件触发),此时完成的动作包括显示各房间详细数据、电表安装数据、水表安装数据及扩展数据,这个功能在按钮的Click事件中只需将按钮的Caption属性与表单的Caption属性传给两个全局变量,再调用“房间详细数据”表单即可,接下的任务交由“房间详细数据”表单来处理。
  房间详细数据表单是一个单独的表单,用来显示某房间的详细数据、电表安装数据、水表安装数据及扩展数据,在该表单中设有扩展数据按钮,完成扩展的空调安装情况、房间隔墙情况的显示,其原理与房间详细数据相类似,也是以全局变量作为数据传递的载体,完成了数据的可视化显示及操作的作用。除了各楼的平面图需要单独制作外,其余的表单均是通用的,这样不但可以保证可视化表示的一贯性、统一性,还可以减少程序开发的难度,减少代码的维护
  5可视化实验室能源管理系统功能及实现
  5.1 可视化实验室能源管理系统的功能
  5.1.1 可视化实验室能源管理系统的功能介绍
  可视化实验室能源管理系统是将若干与能源管理相关的、彼此之间没有直接联系的数据在一个统一的平台上联合表示出来,为使用者提供相关数据查询的一个数据库管理系统。系统以能源使用的主要载体“建筑物”为依拖,将建筑能耗的“细胞”——房间作为能源数据统计的基本点,将房屋性质、房屋面积、用电情况、用水情况、空调安装情况等相关数据,利用可视化表示的方法来显示数据,利用可视化操作的方法来修改数据,最后形成了一个实验室能源管理的体系。
  系统中所有相关的数据都是现实中测量、整理、统计的数据,是对现实情况的真实反映,随着现实工作中管理任务的变化,该系统也会随之提供新的数据查询功能,数据更新与现实同步,随时反映实验室能源使用的实际情况。该系统的投入使用,为高校实验室能源管理提供了信息查询的平台,同时也提高了高校实验室能源管理的水平。[13]
  5.1.2 可视化实验室能源管理系统的数据分类
  可视化实验室能源管理管理所提供的查询数据可以分为三类:
  1、能源计量统计数据。如每个房间的电表领、购电记录,水表查表记录等;
  2、能源计量器具数据。如每个房间安装的电表、水表的信息等;
  3、与能源管理相关的数据。如房间的使用性质、房间的面积、
  5.2 可视化实验室能源管理系统的程序使用
  5.2.1 可视化实验室能源管理系统的主要界面
  程序的主要界面,由一个页框组成,共有五个页面,其中第一个页面是“北京化工大学东校区电计量分布图”也是整个主界面的重点。主界面是整个校区的平面图及各楼之间供电管网的分布,按钮代表建筑物、实线条代表供电线路,细实线用不同颜色代表不同的供电区域,便可得知是否有自己想要操作的数据,减少了不必要的查询[14]。对于该界面的主要操作是点击建筑物的按钮进行下一步的操作。
  
  
  是点击按钮后的选择分支,查询基本数据按“是”,进入平面图按“否”。由于这部分的代码比较简单,就不再解释了。如果用户点击是,则进入了该建筑物的详细数据表单。
  
  
  建筑物详细数据,包括基本数据、计量器具数据、计量数据等多项数据。对于所有的建筑其详细数据表单均为一个,在表单的Load事件中添加以下代码
  从程序上看出表单加载时,通过_BUILD变量的检索,从远程下载该建筑的详细资料到“建筑表”,同时生成“计量器具表”。在该表单的右下角有一个“进入建筑物配电室(柜)平面图...”按钮,点击后可以自动进入该建筑物的配电室平面图,如果该图不存在,系统会发出提示[15]。其主要代码如下:
  建筑物详细数据表单中还包括了“计量器具数据”与“详细计量数据”功能,是为了实现建筑分类计量而提供的。
  5.2.2 可视化实验室能源管理系统的建筑分层平面图界面
  在系统中建筑物分层平面图都是按照基建处档案室的竣工图纸按比例缩小、简化后得到的,由于不是每栋建筑都有竣工图纸,所以在系统中有的建筑物是没有平面图的。下面以综合楼为例来介绍一下分层平面图的主要功能。
  综合楼4层的平面图,由于该层表示的信息比较丰富,所以用该层举例说明。与主界面相类似,分布平面图也是以一个页框控件代表该楼的分层情况,每个页是该楼的一层,最后一页是该楼电表安装的汇总情况。通过图例的介绍,我们可以直接获得使用单位、科研用房、引进人才用房、分析测试中心用房、非科研用房、是否安装了空调等信息,分别由各房间的图形颜色、字体粗细来表示,可以说是一目了然。所有以上可视化的效果都是依靠“房间按钮”的init事件中的代码,在按钮“生成”时完成的,详细代码如下:
  从按钮的init事件中可以看出在这个事件里要完成两类任务:一是将房间的基本属性如“使用院系”、“科研用房”等以可视化的手段在表单里显示出来,其次是自动生成了电表、水表、隔墙的控件。由于在按钮的init事件中要完成的任务是最多的,所以这段代码在整个系统中是最长的、最复杂的。在该段代码中要利用到两个自定义函数Auto_add_image_top和Auto_add_image_left,是获取电表控件的显示位置[16],具体代码如下:
  
  由于每个房间按钮的动作全是相同的,所以在这里我编制了一个“roombutton”按钮类,再用这个“roombutton”生成了每个房间的按钮,按钮类的使用统一了按钮的外观与动作,减少了代码的维护工作。点击按钮后,弹出该房间的详细数据,包括房间详细属性及该房间电表安装情况、水表安装情况和扩展数据。
  
  在房间详细数据表单的页框init事件中加入了以下代码,为的是从远程数据库中下载一个与该楼、该房间有关的“房间表”、“电表情况”、“水表情况”,方便后面的数据存取。
  最后一个页面是房间扩展数据,目前有“空调安装情况”与“房间隔墙情况”两个数据,以后还可以继续扩展数据。
  5.2.3 可视化实验室能源管理系统的房间数据扩展界面
  本系统的房间扩展数据有“空调安装情况”与“隔墙安装情况”两个数据,分别存放该房间空调安装情况与隔墙安装情况,这两个数据表与房间基本数据表中“房间号”为主要索引建立数据联接,具体界面请见下图。
  在空调安装情况表单中如果该房间没有安装过空调,表单加载时直接转到添加空调安装信息页面,与此类似隔墙安装情况也是如此。数据扩展界面对于丰富房间的数据信息量、添加新的显示信息数据起到很好的支持。
  5.2.4可视化实验室能源管理系统的建筑物配电室平面图
  在主界面点击建筑物按钮选择“是”后,进入了建筑物详细数据表单,该表单首页面的右下角有一个“进入该建筑物配电室(柜)平面图”按钮,点击后入配电室平面图(如果该平面图存在)新食堂配电室正面一部分为例,
  配电室的数据主要有三个方面:计量器具、配电闸具和闸具出线规格,单击某一块计量电表,可以弹出详细的说明,闸具也是如此
  该界面将配电室的结构、组成元件、负载范围标注的一清二楚,为建筑物总计量数据提供了很好的说明。
  5.3 可视化实验室能源管理系统的可视化操作特点
  5.3.1 数据显示内容可视化
  在系统中,除了各别数据以表格的形式(如购电记录)表现外,其余数据的表示方法均以可视化作为表示的手段,让数据成为“看得见”的元素,提高了数据表示的能力,增加了系统的亲和力。
  5.3.2 数据修改操作可视化
  在系统中,主要的计量器具的数据修改,如水表的位置、电表的位置均做到了数据修改操作可视化,将操作后的结果直接显示出来,直观、方便。
  房间内由于各种原因需要调整电表、水表安装的位置,如果一旦位置修改,在系統中要有反应,该系统不用修改原代码、原文件,在系统上可以直接进行数据的修改。
  1)电表位置的修改。在前文已经介绍过了,系统采用“12点定位法”作为电表的位置记录,只要修改了某房间的电表位置数据,再次打开该建筑的平面图时,电表的位置已经自动修改完了。在修改电表位置时,系统在旁边给了一个图例,方便使用者确定新电表的位置
  2)水表位置的修改。由于水表安装位置的不固定性,所以它的定位要比电表定位复杂一些。在水表安装情况数据表中存放的是水表安装的“坐标”,即水表控件在其父控件“房间”中的相对位置。
  为了方便房间水表的定位,在水表安装信息界面的左侧有一个与实际房间大小一样的房间示意图,在这个图上显示的位置与实际平图面上显示的位置是完全一样的。在点击了安装水表一览列表中的某一块水表后(右边红圈处),在左边的房间平面图上会出现一个水表的图标,用鼠标在房间上点击,水表图标会跟着鼠标移动,当达到新的水表位置后,点击“获取水表新坐标”按钮,就会获得新的水表坐标了,点击“修改水表信息”按钮,新坐标将被记录。
  有的房间安装了不止一块水表,,对于每块水表位置的修改一定要先选择水表编号再进行修改,这样就不会出错了。
  水表坐标法的另一个难点是如何确定坐标的值,直接用鼠标返回的位置坐标不行,因为这个坐标是鼠标对于整个表单的位置,而不是水表对于房间的位置,其获取水表坐标代码如下:
  
  THIS.Watermeter1.Top=nYCoord-THIS.TOP-THISFORM.Pageframe1.TOP-5-25
  THIS.Watermeter1.LEFT=nXCoord-THIS.LEFT-THISFORM.Pageframe1.LEFT-5
  nYCoord、nXCoord是鼠标与表单顶部的距离和与表单左端的距离,在分别减去页框的顶点与左端点后,再减去5个像素(水表的半径)才是水表的顶点与左端点(顶点再减25个像素是页框的标题高度)。[17]
  水表与电表的位置修改可视化大大提高了系统的可操作性和直观性,为实现系统的可视化操作提供了非常有效的手段。
  5.3.3 房间属性修改结果直接化
  在房间详细表单中可以修改数据存,在修改完毕后,回到该房间所在层,发现修改后的数据并没有显示出来,而对于操作者而言看到自己修改后的结果比什么都重要,本系统将“可视化”的概念在这里充分的体现出来,一定要让操作者“看到”数据的变化。
  此时只要将鼠标放到该房间的按钮上,单击右键,系统会自动修改相应数据所对应的表示结果,另一种方法是关闭表单,重新点击进行分层平面图也会看到修改后的结果。修改结果直接化是通过在按钮的RightClick事件中加入了“生成远程数据”、“修改基本属性”两段代码(这里就不再重复代码了),完成了修改数据的直接化功能,让使用者在第一时间轻松看到修改后的结果。[18]
  至于为什么要加入“生成远程数据”这段代码,原因是表单在加载时已经预先生成了远程数据表,但在修改完远程数据后,这个事先生成的数据表中的数据并没有修改,所以要再次下载新的数据表,完成数据的更新。
  5.3.4 电表、水表控件隐形化
  在建筑物平面图的某一层上,标有“显示电表”、“显示新水表”两个复选按钮,点击后,可以显示房间安装电表、水表的具体位置,为了不使整个界面看起来过于复杂,当系统自动绘制电表、水表控件时,将二者的Visible属性设为“假”,即是不可见的,这样在查看水表情况时,可以屏蔽电表的情况,保证了查看的清晰度,不受其它因素的影响。[19]
  5.3.5 多元信息显示整体化
  在建筑物平面图中,显示了整个一层房间的基本信息,这给操作者一个整体化的效果,例如查看“使用院系”,从房间的颜色上就一目了然,比起查看表格数据要清楚的多;再有对于是否安装有空调、水表、电表信息更是具有整体化的效果,比一个一个单独查找要简单的多、直观的多。对于信息显示整体化的最好举例是2009年夏天在主教学楼安装空调的反映,
  
  可以看出每个房间安装了什么类型空调、安装了几台,比起数据表格的表示效果,这种可视化的表示方法显得更有整体化。
  5.3.6 可视元件标准化
  在系统可视化表示过程中,系统用到了各种控件:有按钮、形状、图像框等等,为了保证在显示数据的一致性,系统将所有显示的控件均设定为单独的“类”,一来可以统一代码,二来可以统一显示效。例如:电表控件就是统一的标准,否则控件尺寸大小不一,看上去也不整齐,不仅影响到视觉,还对操作者产生误解:这大小不同的控件是不是代表不同的含义呢?所以可视元件标准化在整个系统中是随处可见的。例如:水表图标,除了类型不同颜色不同外,大小尺寸都是完全一样的。[20]
  5.3.7可视操作统一化
  在系统中所有可视化操作都是通过“类”来完成的,“类”操作具有完全相同的代码,避免了因代码前后修改导致的操作不统一,给操作者带来的困惑。例如:不同建筑平面图的房间详细情况表单都是一致的,只是在背景颜色上以示区别。可视操作统一化是可视化操作必不可少的特点,在该系统设计过程中始终保持一致,起到了最好的可视化效果。
  5.3.8系统表示与实物一致化
  在系统中,所有的可视元素,无论是建筑物的位置、房间的大小、电表、水表的安装位置,还是配电室的布图、闸具的大小、闸具的排列等等均与实物相一致,从系统表示图上可以找到与实物相对应的符号元素,是现实状态的实际反映。
  6可视化实验室能源管理系统存在的问题及改进方法
  6.1 可视化实验室能源管理系统存的问题
  6.1.1由于开发环境的限制,可视化抽象与实际存在偏差
  Visual FoxPro 9.0是一款非常好的数据库开发软件,提供了非常丰富的控件供可视化选择,但由于软件自身的限制,有些可视化手段无法实现。例如:“房间”控件——容器,就只能是标准的长方形,对于不规则的房间、套间的可视化表示就无能为力了。在科技大厦主楼某些房间在南面有一个圆弧形的突出部,这在系统中是无法表示的。
  6.1.2由于开发环境的限制,可视化手段不足以表示更多的数据
  在建筑物平面图上,现有的表示数据几乎占用了全部可以利用到表示方式,但仍有一些数据没法在平面图上直接表示出来,再要显示新的数据将会增加程序的复杂性。
  
  6.1.3由于开发环境的限制,可视化操作仍显不足,许多操作无法进行可视化
  在系统中许多元素是无法可视化操作的,例如某一房间因工作需要增加房间内的用电容量,并新加一块电表,而此时只能修改源文件在原平面图上添加一个电表按钮,除此别无它法。再例如一个大房间中间打了隔段,成为两个房间,原来的平面图无法进行可视化修改,只能是修改源文件,这些都是该系统的不足之处。
  6.2可视化实验室能源管理系统存的问题的改进方法
  6.2.1对可视化抽象与实际存在偏差,要改进可视化表示的方法
  对于不规则的房间,今后可以尝试用几个控件相互套用来实现不规则的形状,并修改部分代码,实现表示的统一。对于有的特殊形状房间,将偿试用几个控件组合后来表示。
  6.2.2可视化手段不足以表示更多的数据,要尝试引入新的表示手段
  对于丰富表示手段的问题,在今后的修改中逐渐尝试新的可视化表示手段,例如:文字的闪烁、图标的振动、自动弹出提示窗、颜色的渐变、插入动画效果等等[21],将开发环境所能表示的所有方法、方式都用到可视化表示中来,表示更加丰富的数据内容。
  6.2.3对于有些仍无法进行可视化操作的问题,要从系统结构上进行修改
  对于无法可视化操作的内容,要改变程序的整体结构,从源文件的生成入手,虽然可视化操作的简化后面是更加复杂的研发、编码工作,但可视化操作的便捷性是有目共睹的,也是今后软件业发展的方向。
  7 结论
  随着信息技术的迅猛发展,其应用范畴已经扩展到多个领域,本论文将信息技术、数据库技术和软件开发技术应用于实验室能源管理,将自己学习到的计算机技术与实际工作相结合,是计算机技术应用于实践工作的完美体现。
  论文采用数据库软件开发工具Visual Foxpro进行系统的设计和开发,采用图形、颜色、字体等多种可视化元素描述实验室的结构、计量器具信息等,并采用组态技术进行空间的描述和单元的定义,提出了加强能源管理的新方法,能够为单位的“节能减排工作”创造一定的经济效益和社会效益。
  可视化技术不但可以应用于能源使用管理领域,在物业管理、网络管理等领域也具有很高的使用价值。本论文研究的方法将成为高校行政管理方面的新手段,为提高行政管理水平进行新的尝试
  参考文献:
  [1] 刘孟仁,刘海庆《软件可视化技术及其应用研究》[M],计算机应用研究,2002年
  [2] 贾克斌,《用于地图内容查询的可视化交互界面的设计》[J],计算机辅助设计与图形学学报,2002,11(5):460—463
  [3] 汪地、陈一民、方明伦,《微机环境中OpenGL多视窗技术》[J],电脑技术,1998.10,31
  [4] 潘琦《基于MapX组件的油藏动态管理GIS系统》[J],江汉石油科技 第14卷 第4期 2004.12
  [5] 北京师范大学《落实科学发展观,建设绿色大学》[R],2009年全国高校节能工作交流研讨会资料汇编,208-209
  [6] 刘娆,李卫东,吕阳 《电力系统运行状态可视化技术综述》[J],电力系统自动化,第28卷第8期,2004年4月25日,92
  [7] 张洪举著《Visual FoxPro 权威指南》[M],电子工业出版社,2007.8,3-4
  [8] 张洪举著《Visual FoxPro 权威指南》[M],电子工业出版社,2007.8,465-466
  [9] 《Visual C++编程技巧典型案例解析:图形图像处理与数据库篇》[M],中国电力出版社 ,2005,109-111
  [10] Mark Linsenbardt,Shane Stigier 著;呂静桦,施妍然 译,《SQL Server2000管理指南》[M],清华大学出版社,2002,9-10
  [11] 合力工作室《中文Visual FoxPro 6.0高级编程》[M],清华大学出版社,1999,55-57
  [12] 李春葆《 Visual FoxPro 6.0高级编程(控件篇)》[M],科学出版社,2001,179-180
  [13] 高伟《高校能源管理模式及方法的探讨》[J],制业自动化,第30卷,第9期,2008
  [14] 傅翠娇《Visual FoxPro典型系统实战与解析》[M],电子工业出版社,2007,111-114
  [15] 张洪举著《Visual FoxPro 权威指南》[M],电子工业出版社,2007.8,74-77
  [16] 陈中亮编著《Visual FoxPro9.0数据库开发实用教程》[M],华东理工大学出版社,2009,88-90
  [17] 彭勇《VFP应用系统对控件拖动的实现》[N],成都纺织高等专科学校学报,2003年03期
  [18] 黄天良《基于VFP的动态可修改多媒体课件的设计方法》[J],中国科技信息,2006年04期
  [19] 肖敏《如何实现VFP控件的动态控制》[J],电脑技巧与维护,2005.8,89-90
  [20] 何胜利编著《Visual FoxPro 9.0数据库应用技术与程序设计(21世纪高等学校电子信息类专业规划教材)》[M],北方交通大学出版社,2006
  [21] 张巍《在VFP6.0程序设计中使用动画效果》[J/OL],中国教育文摘,2006.12.13
其他文献
摘要:基坑工程具有难度大、投资大、风险大等特点,深基坑支护结构的优化设计关系到支护工程的安全和投资大小这两方面的根本问题。选择合理的、经济的支护结构体系和正确的计算方法,一直是深基坑支护问题研究的一个重要内容。本文结合工程实例对深基坑支护结构优化设计进行了探讨。  关键词:深基坑;基坑支护;优化设计  中图分类号:TV551.4文献标识码: A 文章编号:  深基坑支护是一个集岩土工程和结构工程于
结合多年从事测量工作总结出的一些操作经验,从安放三脚架、安放经纬仪、对中、粗平、精平等方面就经纬仪的安置方法和技巧作了论述,从而保证经纬仪整平和对中的正确性,满足
目的 分析我国肝源性溃疡的临床特点.方法 分析98例病理学确诊的肝源性溃疡患者临床资料、诊疗措施和预后等多临床因素特点,为临床诊疗提供依据.结果 肝源性溃疡好发于中老年患者,临床表现多样,缺乏特异性.溃疡部位以胃溃疡多见,幽门螺杆菌感染阳性率高,肝功能损害程度严重,加强系统性抗溃疡和抗幽门螺杆菌治疗疗效满意.结论 肝源性溃疡的临床特点复杂多样,有针对性的预防和治疗措施具有积极的意义。
骨形态发生蛋白属转化生长因子β超家族成员,参与众多器官的发生与形成.近年研究发现,骨形态发生蛋白及其受体不仅在眼部组织的发育过程中有表达,而且还参与眼部疾病的发生过程,如角膜疾病、视网膜疾病和青光眼等,表明骨形态发生蛋白在眼部发育和眼病发生中可能具有一定的作用。
摘要 目的 临床观察碘伏预防下颌阻生智齿拔除后干槽症的效果。方法 实验组术前、术后使用0.5%碘伏原液作口腔内及拔牙区消毒数分钟,并用浸有碘伏原液的棉(纱)球压迫拔牙创面30min。对照组术后使用1%碘酊消毒口内及拔牙区,术后常规用消毒干棉(纱)球压迫拔牙窝30min止血。结果 实验组有1颗(例)发生干槽症,发生率为0.31%(1/321),而对照组有15颗(例)发生干槽症,发生率为4.72%(1
目的探讨提高护理病历书写质量与防范护理纠纷发生的关系。方法分析提高护理病历存在的问题,对防范护理纠纷的作用。结果通过提高护理人员的自身素质及自我保护意识,护理病历
大豆肽是由大豆蛋白经水解所得到的由3~6个氨基酸残基组成的低分子肽混合物,分子量以低于1000 Da的为主.介绍了大豆肽的营养价值及其分离纯化方法包括离子交换色谱法、凝胶过
目的 了解青海省西宁市高一新生对防灾应急知识的认知现状,为进一步开展中学生防灾应急知识普及教育提供参考.方法 自行设计调查问卷,用整群抽样法对西宁市三所中学的670名高
目的探讨尼尔雌醇联合米索前列醇用于绝经后取出宫内节育器的临床效果。方法选取中江县计划生育服务站妇科门诊就诊自愿要求取器的绝经后妇女共90例,分为两组,观察组45例,取
摘要:本文主要结合自己的工作实践,分析了建筑装饰工程造价管理中存在的问题,并就加强建筑装饰工程造价管理措施提出了自己点看法,以供广大装饰工程造价管理人员参考。  关键词:建筑装饰工程;造价;管理  中图分类号: TU238 文献标识码: A 文章编号:  随着我国经济发展越来越快,人民生活水平也不断提高,人们对衣食住行也有了更高的要求,在改革开放和全社会进步的新形势下,不仅城市大中型公共建筑的装饰