供水自动监控调度系统设计方案_第1页
供水自动监控调度系统设计方案_第2页
供水自动监控调度系统设计方案_第3页
供水自动监控调度系统设计方案_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、供水自动监控调度系统设计方案    摘要:实现了一种全集成可变带宽中频宽带低通滤波器,讨论分析了跨导放大器-电容(OTAC)连续时间型滤波器的结构、设计和具体实现,使用外部可编程电路对所设计滤波器带宽进行控制,并利用ADS软件进行电路设计和仿真验证。仿真结果表明,该滤波器带宽的可调范围为126 MHz,阻带抑制率大于35 dB,带内波纹小于05 dB,采用18 V电源,TSMC 018m CMOS工艺库仿真,功耗小于21 mW,频响曲线接近理想状态。关键词:Butte1 引言本文介绍的就是某自来水公司供水自动监控及调度系统的设计与实现方法。自来水是保障城

2、市经济发展和人民生活的重要基础设施,是保障城市繁荣发展、人民生活以及发展国民经济不可缺少的先决条件。从另一个方面来说,我国是一个高度缺水的发展中国家,随着改革开放的不断深入和发展以及人口数量的不断增长,无论从自来水产量和质量上,社会都对城市供水提供了更高的要求。而实现水厂与供水调度系统的自动化,是保证自来水安全、优质与供水生产调度的科学性、高效性以及合理性的有效措施,现在已经逐步发展为以提高供水质量,提高供水系统安全,降低人耗、物耗、水耗这一综合效益为目标。为了达到这一目标,要求供水调度系统从设计和选型上就必须考虑到水厂、管网和管理信息系统的一体化和配套完整性。2  系统功能分析与设

3、计2.1项目背景此自来水公司现拥有自来水厂三个,加压站两个及遍布全城的供水管网。自来水厂拟完成绝大部分工艺参数的自动检测及部分参数的自动控制,取水、制水及送水实现自动程控。水厂参数应实时传送至公司总调度室,并能接收并执行总调度室指令。加压站及管网全部纳入系统,加压站实现自动化,管网全部压力、流量等数据实时传送至总调度室。2.2调度控制中心的基本功能(1) 数据通讯采集:接收水厂和管网测压点的压力、流量、泵运行参数、耗电量等信息。对采集的数据进行统计和处理,提供对整个系统的网络数据库管理。(2) 画面显示:厂站、管网的动态运行图、实时趋势图、棒图、运行报表、及其其他自定义画面。还可显示日期、时间

4、、报警、数据、工艺流程、设备状态、趋势、操作指导、调度指令等。(3) 报警管理:提供全方位的报警功能,可在多种画面中以直观方式通知调度人员系统发生异常。不同级别的报警可在所有操作站上接收,报警没有确认时保持闪光。报警内容有:实际值和偏差值报警、给定值限值报警、系统自诊断报警、识别变送器运行在420mA范围以外的报警、输出限幅报警、电源故障报警、模板故障报警、通信故障报警等等。(4) 统计计算和分析:系统能对供水量、供水总量等进行统计计算,并具有数据存储、查询、建帐等功能,供管理人员进行分析。根据以上功能分析,可以将系统设计为C/S(客户/服务器)模式,各水厂和加压站设立下位机,负责预处理现场测

5、量点传感器采集的数据,然后通过RS-232将预处理数据传送给监控中心的上位机。上位机对接收到的数据进一步判断,存在越限报警的便启动报警处理方案,并对采集的所有数据分类存储到数据库中。图1是监控网络的组成结构示意图。3 串口通信的实现各测量点测得的数据的是通过RS-232标准串行接口传送到监控中心的,因为RS-232驱动能力太低,所以使用了MODEM作为中继器。监控中心读取到这些数据之后,再根据预定义好的规约分析数据,做出报警判断及进行数据存储。监控中心软件运行在Windows 2000操作系统下,为了方便对数据库编程,可以采用Delphi(Windows平台下的可视化软件开发工具)作为监控软件

6、的开发工具。在Delphi中编写串口读写程序的方法基本可以分为两种,一是采用封装了串口读写方法的控件,二是直接调用Win32 API。使用已有控件可以提高编程效率,只需要几条简洁的语句就可以实现串口的读写,但是灵活性太差,不能完全按照个人意愿读写串口,并且有些控件的健壮性也没有得到充分的验证,所以本系统程序编写采用Win32 API(应用编程适配器:Windows的32位应用程序编程接口,一组调用操作系统或其他程序而获得访问服务的例行程序)完成。API函数不仅提供了打开和读写通讯端口的操作方法,还提供了名目繁多的函数以支持对串行通讯的各种操作。下面以处理串口接收数据的子程序为例介绍一下本系统的

7、串口通信程序。接收消息之前应该先用clearcommerror函数处理串口通信错误并报告当前串口状态,如果出现错误向用户发出提示并退出此子程序,如果没有错误就再判断串口接收的数据数是否超过预定以缓冲区的大小。限于篇幅,本文略过这段语句,直接给出读取并处理数据的主体程序,并给出程序的注释。procedure TMainForm.WMCOMMNOTIFY(var message:tmessage);varTemp : string; inputbuffer: array0.4000>of Char;nBytesRead, dwError:DWORD ; showReceive:string;

8、commstate:TCOMSTAT;/存放串口状态的结构体begin/略过预处理程序/使用readfile函数读取串口数据;在win32 API中使用文件操作函数操作串口if(not readfile(hcomm,inputbuffer,commstate.cbInQue,nbytesread,read_os) thenbeginif(dwerror<>0)and(dwerror<>error_io_pending) thenbegin/读取串口错误,则提示用户,并关闭所有相关句柄messagebox(0,'readfile error','n

9、otice',mb_ok);stop:=true;closehandle(read_os.hEvent);closehandle(post_event);closehandle(hcomm);exit;endelsebeginwaitforsingleobject(hcomm,infinite);getoverlappedresult(hcomm,read_os,nbytesread,false);end;end;if nbytesread>0 thenbegintemp:=system.copy(inputbuffer,1,commstate.cbinque);receiveb

10、uffer:=receivebuffer+temp;buffer:=receivebuffer;if (templength(temp)>=#13)or(templength(temp)>=#10)or (length(receivebuffer)>128)/上位机和下位机定义通信规约为以ASCII的13或者10作为帧结束标志thenbegin/若处于显示接收内容模式,显示接收到的内容if NShowRecerve.Checked thenbeginshowreceive:=buffer;StatusBar1.Panels2>.Text:='接受内容:'+showreceive;endelseStatusBar1.Panels2>.Text:='接受内容:'/分析故障信息if templength(temp)>=#10 thenfailureinfoparse(buffer);/条用故障处理子程序,此子程序分析故障类型,判断故障设备,并把故障信息记录到数据库receivebuffer:=''/处理完一帧数据就清空缓冲区,为下一次读取做准备end; end; end;setevent(post_event);end;上位机的图形化监控软件完成调度控制中心的基本功能

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论