7
厦门西门子授权代理商变频器供应商
1引言
自来水是城市经济发展和人民生活的重要基础设施,是城市繁荣发展、人民生活以及发展国民经济不可缺少的先决条件。从另一个方面来说,我国是一个高度缺水的发展中国家,随着的不断深入和发展以及人口数量的不断增长,无论从自来水产量和质量上,社会都对城市供水提供了高的要求。而实现水厂与供水调度系统的自动化,是保证自来水、与供水生产调度的科学性、性以及合理性的有效措施,现在已经逐步发展为以提高供水质量,提高供水系统,降低人耗、物耗、水耗这一综合效益为目标。为了达到这一目标,要求供水调度系统从设计和选型上就考虑到水厂、管网和管理信息系统的一体化和配套完整性。本文介绍的就是某自来水公司供水自动监控及调度系统的设计与实现方法。
2 系统功能分析与设计
2.1项目背景
此自来水公司现拥有自来水厂三个,加压站两个及遍布全城的供水管网。自来水厂拟完成绝大部分工艺参数的自动检测及部分参数的自动控制,取水、制水及送水实现自动程控。水厂参数应实时传送至公司总调度室,并能接收并执行总调度室指令。加压站及管网全部纳入系统,加压站实现自动化,管网全部压力、流量等数据实时传送至总调度室。
2.2调度控制的基本功能
(1) 数据通讯采集:接收水厂和管网测压点的压力、流量、泵运行参数、耗电量等信息。对的数据进行统计和处理,提供对整个系统的网络数据库管理。
(2) 画面显示:厂站、管网的运行图、实时趋势图、棒图、运行报表、及其其他自定义画面。还可显示日期、时间、报警、数据、工艺流程、设备状态、趋势、操作指导、调度指令等。
(3) 报警管理:提供的报警功能,可在多种画面中以直观方式通知调度人员系统发生异常。不同级别的报警可在所有操作站上接收,报警没有确认时保持闪光。报警内容有:实际值和偏差值报警、给定值限值报警、系统自诊断报警、识别变送器运行在4~20mA范围以外的报警、输出限幅报警、电源故障报警、模板故障报警、通信故障报警等等。
(4) 统计计算和分析:系统能对供水量、供水总量等进行统计计算,并具有数据存储、查询、建帐等功能,供管理人员进行分析。
根据以上功能分析,可以将系统设计为C/S(客户/服务器)模式,各水厂和加压站设立下位机,负责预处理现场测量点传感器采集的数据,然后通过RS-232将预处理数据传送给监控的上位机。上位机对接收到的数据进一步判断,存在越限报警的便启动报警处理方案,并对采集的所有数据分类存储到数据库中。图1是监控网络的组成结构示意图。
3 串口通信的实现
各测量点测得的数据的是通过RS-232标准串行接口传送到监控的,因为RS-232驱动能力太低,所以使用了MODEM作为中继器。监控读取到这些数据之后,再根据预定义好的规约分析数据,做出报警判断及进行数据存储。软件运行在bbbbbbs 2000操作系统下,为了方便对数据库编程,可以采用Delphi(bbbbbbs平台下的可视化软件开发工具)作为软件的开发工具。在Delphi中编写串口读写程序的方法基本可以分为两种,一是采用封装了串口读写方法的控件,二是直接调用Win32 API。使用已有控件可以提高编程效率,只需要几条简洁的语句就可以实现串口的读写,但是灵活性太差,不能按照个人意愿读写串口,并且有些控件的健壮性也没有得到充分的验证,所以本系统程序编写采用Win32 API(应用编程适配器:bbbbbbs的32位应用程序编程接口,一组调用操作系统或其他程序而获得访问服务的例行程序)完成。
API函数不仅提供了打开和读写通讯端口的操作方法,还提供了名目繁多的函数以支持对串行通讯的各种操作。下面以处理串口接收数据的子程序为例介绍一下本系统的串口通信程序。接收消息之前应该先用bbbbbcommerror函数处理串口通信错误并报告当前串口状态,如果出现错误向用户发出提示并退出此子程序,如果没有错误就再判断串口接收的数据数是否过预定以缓冲区的大小。限于篇幅,本文略过这段语句,直接给出读取并处理数据的主体程序,并给出程序的注释。
procedure TMainbbbb.WMCOMMNOTIFY(var message:tmessage);
var
Temp : bbbbbb; bbbbbbuffer: array[0..4000]of Char;
nBytesRead, dwError:DWORD ; showReceive:bbbbbb;
commstate:TCOMSTAT;//存放串口状态的结构体
begin
//略过预处理程序……
//使用readfile函数读取串口数据;在win32 API中使用文件操作函数操作串口
if(not readfile(hcomm,bbbbbbuffer,commstate.cbInQue,nbytesread,@read_os)) then
begin
if(dwerror<>0)and(dwerror<>error_io_pending) then
begin//读取串口错误,则提示用户,并关闭所有相关句柄
messagebox(0,'readfile error','notice',mb_ok);
stop:=true;
closehandle(read_os.hEvent);
closehandle(post_event);
closehandle(hcomm);
exit;
end
else
begin
waitforsinglebbbbbb(hcomm,infinite);
getoverlappedresult(hcomm,read_os,nbytesread,false);
end;
end;
if nbytesread>0 then
begin
temp:=system.copy(bbbbbbuffer,1,commstate.cbinque);
receivebuffer:=receivebuffer+temp;
buffer:=receivebuffer;
if (temp[length(temp)]=#13)or(temp[length(temp)]=#10)or (length(receivebuffer)>128)
//上位机和下位机定义通信规约为以ASCII的13或者10作为帧结束标志
then
begin
//若处于显示接收内容模式,显示接收到的内容
if NShowRecerve.Checked then
begin
showreceive:=buffer;
StatusBar1.Panels[2].Text:='接受内容:'+showreceive;
end
else
StatusBar1.Panels[2].Text:='接受内容:';
//分析故障信息
if temp[length(temp)]=#10 then
failureinfoparse(buffer);//条用故障处理子程序,此子程序分析故障类型,判断故障设备,并把故障信息记录到数据库
receivebuffer:='';//处理完一帧数据就清空缓冲区,为下一次读取做准备
end; end; end;
setevent(post_event);
end;
上位机的图形化软件完成调度控制的基本功能。上位机网络由一个应用程序服务器、两个监控工作站、一个模拟屏控制机和数据库服务器组成。上述串口读写程序就工作在应用程序服务器上。
4 结束语
本文介绍了一个供水自动监控及调度系统的设计和实现,采用了分布式控制结构,使系统处理事故和进行调度的效率有所改善和提高。但因为考虑设计成本等因素,这种设计方案并不是优的,在以后的实践研究中会做出进一步改进
(3) 酒店的塔楼部分包括七至二十七层, 按东西向划分为立的两个部分, 东侧是酒店客房, 西侧为供出售的公寓。
由于一般酒店住客对客房环境要求的个性化, 故BA系统设计上可以不考虑各客房风机盘管的控制, 只需对楼层走道的新风机进行监控。而客房照明的开关规律性很强, 基本上按照时段来划分, 可有规律地布置DDC设备, 使系统简单明了。公寓内部照明基本属于私人空间, 故只需对楼道和电梯间的照明进行控制。
(4)大楼的屋面部分主要设备是冷却塔和排风机。
出于同地下室的冷水机组一样的考虑, 对冷却塔采用单的DDC控制, 并
留有一定的余量, 同时充分考虑到冷水机组与冷却塔的联动控制。
(5)电梯系统是大楼设备中比较特殊的部分, 根据功能和行程的不同, 十几
部电梯分布于大楼的多个楼层上。
由于BA系统一般对电梯只监视不控制, 其监视内容也较简单, 因此可以根据各电梯机房的位置将各台电梯监控点分别接入附近的DDC中即可。
2.2 网络控制器NCU和操作站OWS的配置
在配置BA系统的NCU(Network Control Unit)时应严格按照其允许带的I/O点范围来进行选择, 对于需完成冷冻站联动控制的NCU还应留有一定的点位余量, 供设定程序时的软件点使用。同时应使NCU尽量均匀地承担计算负荷。
操作站OWS(Operator Work Station)的运行软件中包括了系统图形界面, 通常配置21英寸的显示器, 以方便操作人员的监控; 为了保证系统的稳定性, 一般OWS不宜配置光碟驱动器, 以免人为装入过多与系统无关的软件, 导致BA系统不能正常运行。
OWS和NCU设置在中控室, 通常BA系统可与安防系统共用同一机房。
3 BA系统的设备安装问题
根据BA系统中各种监控设备的不同特性, 在设备安装时应注意以下几方面的问题。
3.1空调机和新风机监控设备
在空调和新风系统中采用的传感器种类繁多, 安装位置的分布也很广, 通常要求传感器设备直接安装在风管、风门或阀门上, 这就要求安装人员在熟悉传感设备的同时还应对暖通的基本知识有一定的了解。
(1)在风管上安装温度传感器或风流开关时应尽量不破坏原有的风管保温
层, 所开的孔槽应为能保证传感器正常安装的小尺寸。
(2)安装风流开关时, 应安装在出风管的垂直段, 以便在风机停止运行时风
流开关的弹簧片能依靠重力自然回落, 恢复到静止状态。如果机房内的风管只有水平管段, 则需在适当位置增加负压管, 通过相对压力确认管内风流状态。
(3) 空调机回风温度传感器的安装位置应能反映室内温度的实际情况, 该温湿度数值应与所控房间的温湿度相同或相近。如果空调机位于受室外参数影响较大的房间内, 则回风温度与受控房间实际回风温度相比会向室外温度偏离。在这种条件下, 应尽可能将温度传感器安装位置靠近受控房间的回风口, 并在对应控制回路的PID运算中考虑室外参数的影响, 调整有关设定值, 以实现控制理论值与实际效果的吻合。
(4) 滤网压差开关状态一般可直接由监视吸风口负压与设定值比较的结果来体现。只需在吸风口的适当位置开一个与负压管大小一致的小孔, 将负压管插入适当深度即可。
(5) 空调机监控设备中重要的无非是水调节阀和风门驱动器的安装。由于调节阀是BA系统自动控制结果的直接执行者, 通常还要考虑其电气接口的适配问题, 所以建议该设备由自控来选配。但鉴于阀门在空调系统中的重要作用,其安装宜由暖通施工队进行。调节阀的驱动电源和控制回路通常共用一根控制电缆, 所以在接线时要注意区分电缆各芯线的用途, 避免烧毁设备的情况发生。风门驱动器也同样存在类似的问题, 在接线时应给予足够的重视。
3.2照明系统配电控制设备
照明系统中的控制回路形式根据照明配电箱的设计而不同。一般由BA系统提供24V交流电源来控制照明回路继电器的通断, 这种形式避免220V电压信号进入DDC箱, 有利于BA系统的。另一种形式是强电将220V电压信号直接接入DDC箱, 由DDC箱内的继电器触点动作来控制照明回路的通断, 这时在DDC箱内应有强弱电的隔离措施。 3.3冷冻站监控设备 冷冻站的设备安装中主要应注意冷冻水总管上的压力和流量传感器的正确安装。 尤其是电磁流量计的安装位置要保证在5~10D的直管段上, 才能准确地测量流量。事先应由暖通施工队预留出传感器的安装位置, 安装时请暖通人员到场, 并确认相关管路中的冷冻水已排出, 以免高压水流对人员和设备造成破坏。由于流量传感器的电源电压一般为交流220V, 在接线时要注意区分电源和控制回路, 避免烧毁设备。应该强调的是, 整个冷冻站的监控设备安装过程都需要暖通人员的配合, 其中涉及到压力参数的设定、设备联锁控制关系等重要问题。
3.4 给排水监控设备
给排水系统中的水位开关应具有良好的密封性能, 如出现漏水将导致开关信号不能正常为1或归0;通常水位开关容易出现漏水的地方是接线端口, 所以导线的对接处应水面; 安装时应将水位开关悬空吊装在水池侧壁旁, 但切不可直接靠在侧壁上; 此外对于水位开关是水平或垂直安装方式, 在同一系统中应有相同的标准定义, 以便为操作人员统一的操作模式。
3.5屋面排风系统监控设备
屋面排风系统风流开关的安装应充分考虑到室外恶劣环境对设备的影响, 例如将设备牢固安装, 做好措施, 预防台风或雨水导致设备的损坏。
4 BA系统的调试问题
在进行BA系统调试时, 应检查各控制回路的接线是否正确, 这是调试工作能否顺利的前提, 有条件的话可在初步检查后再复查一次。
调试前应熟悉各被控设备的接线原理和内部结构, 确定有关监控点的各项参数, 注意排除各种不因素。每个监测点调试完成后应做好记录, 避免遗漏或重复劳动。由于调试过程中经常需要移动被控设备的外部防护装置, 故应在每个设备调试完成后及时恢复原状, 避免造成二次破坏。整个调试阶段均应请相关人员配合, 尤其是为建设单位的有关维护人员熟悉BA系统的机会, 以利于日后系统的正常运行。以下是调试过程应注意的主要问题:
4.1空调机和新风机的调试
在设定空调机和新风机温度与水调节阀的联动控制时, 应考虑到空调机组所对应场所的实际温度需求。对人员流动不大的场合, 如茶坊和会议室等, 温度设定不能过低; 而餐饮、、迪吧等人流活动大的区域, 可适当降低温度设定值。原则上应做到模拟输出调节阀具有0.1%的调节精度。
4.2照明回路的调试
在调试照明回路时, 应先将照明配电箱的电源断开, 依次接通BA系统中为各照明控制回路提供的24V AC电源, 观察照明配电箱内的继电器的动作是否正确; 然后再使照明配电箱通电, 进一步核对照明回路与控制回路是否一致。
4.3冷冻站的单台设备调试
冷冻站的调试应在暖通的配合下完成, 因为冷冻站设备有严格的开停机顺序, 根据暖通人员确定的顺序开停机, 调试人员不得擅自启动或停止冷冻站设备。
4.4冷冻水出水温度的调试
空调系统是整个大楼的能耗大户,所以是BA系统控制的节能对象。空调系统是否能运行, 与冷冻水出水温度的高低密切相关, 冷冻水温度越低, 制冷效果就越好。因此, 合理降低冷冻水出水温度, 通过BA系统的来协调相应冷水机组的运行, 可明显达到节能之目的。另一方面, 通过操作站按日程和时间表规定工作与值班时间, 并对工作时间和非工作时间设定不同的环境舒适指标, 同样也能减少能耗。
4.5冷冻站的调试
冷冻站的调试中, 可以在合理范围内适当增加单台冷水机组的制冷负荷, 因为合理的负荷运行也不失为一种有效的节能手段。
由于调试需要停止冷冻站的运行, 而且调试周期也较长。因此应避免在冷冻站满载运行的季节进行调试, 以免影响酒店大楼的正常运作。
5 结束语
随着信息技术的发展, 人们对建筑物的使用功能要求越来越高, 楼宇自控(BA)系统已发展为范畴广泛、内容丰富的科学技术。
楼宇自控(BA)系统的整体功能可以归纳为:对建筑设备实现过程控制自动化;对大楼实现设备管理自动化;实现以节能运行为的能量管理自动化。
为了确保实现上述功能, 对BA系统工程设计和实施的各个环节都不能忽视。通过本工程实践, 从中体会深的是: BA系统是一项涉及多、多方面的工程, 需要业主的理解和支持; 需要与暖通、给排水、电气等人员的密切配合; 需要与各工程承包商之间的密切配合; 需要与设备供货商的密切配合。因此, 在加工订货与BA系统相关的设备之定要考虑周全, 确定好各方所承担的工作以及接口的交界面, 避免出现遗漏而无法连接的情况, 同时也要避免多方重复设置和几方重叠的交叉控制。总之, 只有各方协调配合, 精心设计、精心施工、精心管理, 才能使BA系统工程实施中的损失和遗憾减少到小, 才能充分体现BA系统的优点和发挥其应有的作用。




1 引言
智能建筑集成管理系统(以下简称为IBMS)作为一个典型的分布式系统,系统环境复杂,缺乏统一的规范和标准,它涉及到多种平台和多种协议间的通信与联接,需要与三方应用软件接口。Java 语言是基于网络开发、面向对象的新一代计算机编程语言。它具有对象封装、多态性和继承性等面向对象语言的基本特征,具有跨平台、可移植的特性,支持 Internet/Intranet网络模式下的数据分布与计算分布。由于 Java 所具有的这些功能特点,使其成为实现智能建筑集成管理系统的理想开发语言。
实时数据库RTDB(Real-Time Database)是实时软件的。实时数据库常常在动态环境下使用,用来监控现实世界对象的状态和发现所关注事件的发生[1]。实时数据库及时准确地现场数据是整个控制系统正常工作的基本前提。同时实时数据库子系统是联系图形子系统、历史数据库子系统、报表子系统、报警系统的桥梁和纽带。实时数据库系统结构的规划和管理系统具体的实现方法
是设计组态软件的和难点。实时数据库构建的合理性直接影响到整个系统的性能。目前,市场行的实时数据库产品主要有PI系统(适用于流程工业:国外),Info-Plus.21(主要在石油化工方面:国外),力控系统(主要用于控制领域:国内),SuPerlnfo(主要用于电力调度、石油、化工等领域:国内)等等。这些产品都是面向工业控制应用的,而且其产品的价格都比较昂贵,一般中小型系统不可能用此方式进行集成。
本文详细介绍如何利用Java的集合框架及其本身的语言特点开发面向智能集成系统的轻量级实时数据库。与其他的实时数据库相比,该实时数据库具有跨平台,简单易用及的特点,并且能够满足智能建筑集成管理系统的实时性的要求。非常适用于一般中小型系统,具有很好的实用及经济效益。
2实时数据库的特点
内存系统与磁盘系统具有不同的特性,主要表现在以下几个方面[2]:内存和磁盘在存取时间上有若干数量级的差别,内存的存取时间在10-8s的数量级而磁盘在5x10-3s数量级;内存是易失性的,而磁盘是性的存储器;当系统断电时,前者所存的信息立即消失,通电后也不会恢复;后者则反之,断电时保持信息不会消失,通电后即原样可使用存储格式不同。内存是字节或字编址的,而磁盘是块存储设备;数据的存储组织方法对性能影响不同。不同的组织方式对磁盘的性能影响远比对内存影响大,如顺序存取与随机存取的时间对内存没有什么变化,而对磁盘则有数量级的差别;存取方式不同。内存可由处理机直接存取磁盘则不能,内存比磁盘易于受到来自程序错误的直接数据破坏;
监控组态软件的实时数据库属于实时数据库中的一种,它具备实时数据库 的基本特征和属性,但和的实时数据库相比,它并不严格要求具备实时数 据库在理论上所要求的所有模型特征。近年来计算机技术的发展使存储器单位容量的价格不断下降,在现有条件下,单机上的工作内存已经很容易达到GB数量级。在这种条件下,利用实时数据库开发IBMS系统的实时数据管理模块是一个非常好的解决方案。
3 IBMS系统实时数据操作过程分析
一般来说BMS系统对实时数据的操作包括并发的多用户查询操作和实时数据的新操作。一般来说一万个监控点的值的刷新在0.5秒内完成才能满足工程上的需要,而实时数据到达客户端的时延一般也不能过一秒。所以内存数据库的提供紧凑的数据结构和的空间利用率以及各种对各种实时数据操作的高速执行。
对于IBMS系统的监控量,可以分为模拟量和监控量两种,而且监控点的信息也有静态信息和动态信息之分。由于数据点的类型不同,数据处理的方式也不同。我们分别定义它们的数据结构,分别进行存取。同时把数据点的静态信息和动态的变化值分别采用不同的储存和管理方式,以达到理想的性能并且实时数据库的设计也比较紧凑。
因为实时数据的组态信息在系统运行之前已经配置好了,对实时数据的插入及删除操作频率不是很高,相反对实时数据的写操作和读操作则非常频繁,数据库初始化时把相应的子系统的信息和监控点的名称,编号,计量单位,扫描周期等不会随时间变化的静态信息和随时间变化的实时监控数据分别用不同的变量中储存。因为所有的模拟量是按照固定设置的扫描周期刷新监控值的,所以模拟量的测量值采用的ArrayList数据结构进行储存,以实现较的刷新操作。在智能建筑的数字量型监控点一般来说是一些开关量,变化频率一般不会很高,有的监控点状态甚至是一个月之内都不会变化,所以数字量型监控点的监控值采用bbbb表储存以实现率的随机刷新的性能。
4实时数据库的设计
实时数据库与外部系统的典型互交如图1所示:监控客户端通过数据输出接口实时数据,不同的外部数据源通过数据输入接口输入实时数据。实时数据库则负责管理实时数据,为监控客户端提供统一的数据源视图,实现实时数据的高速访问及数据储存策略。
在DataManager的全局实时数据缓存中analogyPointCache和digitalPointValue也保存着和子系统缓存一样的信息,以便实现较好速度的全局查找。
由以上的说明可知在实时数据的存储方式中充分利用了Java语言的对象引用机制的特点来设计实时数据的储存。在因为DataSource对象和DataManager对象的缓存都只是保存了监控点实时值的引用,实际保存监控点实时值的是ArrayList类。但ArrayList容器里的监控点实时值被新后,通过DataSource对象和DataManager对象缓存中的bbbbMap的实时值便自动为新的了。
4.4 实时数据处理过程
外部系统通过DataSource对象的updateAache ()方法新实时数据库内模拟量的高速缓存,如果方法传入的参数为bbbbMap,则不要求按照缓存储存顺序传入数据,如果方法传入的参数为List,则按照缓存储存顺序传入数据,后者新数据的速度大约是前者的2~3倍。数字量的新方法和模拟量相识,每个数字量的新记录都被保存到digStabbbogger,以方便查询其状态的变化情况。这功能对于监控系统是很有必要的。应用系统通过每隔一定时间间隔把digStabbbogger的内容储存到外存并清空digStabbbogger。同时利用Observer 的设计模式把DataManager对象注册为DataSource的观察者,如果数字量的实时数据有变化,DataManager就马上自动新相应的clientCache。
通过调用DataManager的getPoints()函数可以获得相应监控页面的实时数据。具体的流程为:根据pageID通过analogyPointCache模拟量数据,再根据pageID通过clientCache数字量数据,然后把所有数据组装为一个bbbbMap返回给调用者,后清空clientCache中相应的缓存。这里之所以没有简单的把所有的数字量数据返回是考虑到数字量相对来说变化速度不是很高,如一般的报警或设备开关状态的数字量在甚至一个月之内都不会改变,通过以上的处理方法可以实现只有但状态改变才把新信息传到客户端,优化了数据的传输过程,并有效地减低了服务器端的负载。
5 结束语
本文在分析智能建筑集成系统的实时数据存储过程的基础上,详细介绍了如何设计基于Java语言的面向智能建筑集成系统的轻量级实时数据库设计。对如何对智能建筑集成系统实时数据的管理进行了有益的探讨。本文所讨论的实时数据库技术已经应用到了大型的级智能化商城-广州轻纺城IBMS集成系统,该系统满足了现代智能建筑管控一体化的需求, 实现“信息孤岛”及统一调度,优化物业投运成本的目的。为智能建筑的优化管理和合理利用提供了切实可行的方案。