siemens x
傳感器

供水自動(dòng)監(jiān)控調(diào)度系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2025China.cn   2008年08月05日
1引言
自來水是保障城市經(jīng)濟(jì)發(fā)展和人民生活的重要基礎(chǔ)設(shè)施,是保障城市繁榮發(fā)展、人民生活以及發(fā)展國民經(jīng)濟(jì)不可缺少的先決條件。從另一個(gè)方面來說,我國是一個(gè)高度缺水的發(fā)展中國家,隨著改革開放的不斷深入和發(fā)展以及人口數(shù)量的不斷增長,無論從自來水產(chǎn)量和質(zhì)量上,社會(huì)都對(duì)城市供水提供了更高的要求。而實(shí)現(xiàn)水廠與供水調(diào)度系統(tǒng)的自動(dòng)化,是保證自來水安全、優(yōu)質(zhì)與供水生產(chǎn)調(diào)度的科學(xué)性、高效性以及合理性的有效措施,現(xiàn)在已經(jīng)逐步發(fā)展為以提高供水質(zhì)量,提高供水系統(tǒng)安全,降低人耗、物耗、水耗這一綜合效益為目標(biāo)。為了達(dá)到這一目標(biāo),要求供水調(diào)度系統(tǒng)從設(shè)計(jì)和選型上就必須考慮到水廠、管網(wǎng)和管理信息系統(tǒng)的一體化和配套完整性。本文介紹的就是某自來水公司供水自動(dòng)監(jiān)控及調(diào)度系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)方法。
2 系統(tǒng)功能分析與設(shè)計(jì)
2.1項(xiàng)目背景
此自來水公司現(xiàn)擁有自來水廠三個(gè),加壓站兩個(gè)及遍布全城的供水管網(wǎng)。自來水廠擬完成絕大部分工藝參數(shù)的自動(dòng)檢測及部分參數(shù)的自動(dòng)控制,取水、制水及送水實(shí)現(xiàn)自動(dòng)程控。水廠參數(shù)應(yīng)實(shí)時(shí)傳送至公司總調(diào)度室,并能接收并執(zhí)行總調(diào)度室指令。加壓站及管網(wǎng)全部納入系統(tǒng),加壓站實(shí)現(xiàn)自動(dòng)化,管網(wǎng)全部壓力、流量等數(shù)據(jù)實(shí)時(shí)傳送至總調(diào)度室。
2.2調(diào)度控制中心的基本功能
(1) 數(shù)據(jù)通訊采集:接收水廠和管網(wǎng)測壓點(diǎn)的壓力、流量、泵運(yùn)行參數(shù)、耗電量等信息。對(duì)采集的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)和處理,提供對(duì)整個(gè)系統(tǒng)的網(wǎng)絡(luò)數(shù)據(jù)庫管理。
(2) 畫面顯示:廠站、管網(wǎng)的動(dòng)態(tài)運(yùn)行圖、實(shí)時(shí)趨勢圖、棒圖、運(yùn)行報(bào)表、及其其他自定義畫面。還可顯示日期、時(shí)間、報(bào)警、數(shù)據(jù)、工藝流程、設(shè)備狀態(tài)、趨勢、操作指導(dǎo)、調(diào)度指令等。
(3) 報(bào)警管理:提供全方位的報(bào)警功能,可在多種畫面中以直觀方式通知調(diào)度人員系統(tǒng)發(fā)生異常。不同級(jí)別的報(bào)警可在所有操作站上接收,報(bào)警沒有確認(rèn)時(shí)保持閃光。報(bào)警內(nèi)容有:實(shí)際值和偏差值報(bào)警、給定值限值報(bào)警、系統(tǒng)自診斷報(bào)警、識(shí)別變送器運(yùn)行在4~20mA范圍以外的報(bào)警、輸出限幅報(bào)警、電源故障報(bào)警、模板故障報(bào)警、通信故障報(bào)警等等。
(4) 統(tǒng)計(jì)計(jì)算和分析:系統(tǒng)能對(duì)供水量、供水總量等進(jìn)行統(tǒng)計(jì)計(jì)算,并具有數(shù)據(jù)存儲(chǔ)、查詢、建帳等功能,供管理人員進(jìn)行分析。
根據(jù)以上功能分析,可以將系統(tǒng)設(shè)計(jì)為C/S(客戶/服務(wù)器)模式,各水廠和加壓站設(shè)立下位機(jī),負(fù)責(zé)預(yù)處理現(xiàn)場測量點(diǎn)傳感器采集的數(shù)據(jù),然后通過RS-232將預(yù)處理數(shù)據(jù)傳送給監(jiān)控中心的上位機(jī)。上位機(jī)對(duì)接收到的數(shù)據(jù)進(jìn)一步判斷,存在越限報(bào)警的便啟動(dòng)報(bào)警處理方案,并對(duì)采集的所有數(shù)據(jù)分類存儲(chǔ)到數(shù)據(jù)庫中。圖1是監(jiān)控網(wǎng)絡(luò)的組成結(jié)構(gòu)示意圖。


3 串口通信的實(shí)現(xiàn)
各測量點(diǎn)測得的數(shù)據(jù)的是通過RS-232標(biāo)準(zhǔn)串行接口傳送到監(jiān)控中心的,因?yàn)镽S-232驅(qū)動(dòng)能力太低,所以使用了MODEM作為中繼器。監(jiān)控中心讀取到這些數(shù)據(jù)之后,再根據(jù)預(yù)定義好的規(guī)約分析數(shù)據(jù),做出報(bào)警判斷及進(jìn)行數(shù)據(jù)存儲(chǔ)。監(jiān)控中心軟件運(yùn)行在Windows 2000操作系統(tǒng)下,為了方便對(duì)數(shù)據(jù)庫編程,可以采用Delphi(Windows平臺(tái)下的可視化軟件開發(fā)工具)作為監(jiān)控軟件的開發(fā)工具。在Delphi中編寫串口讀寫程序的方法基本可以分為兩種,一是采用封裝了串口讀寫方法的控件,二是直接調(diào)用Win32 API。使用已有控件可以提高編程效率,只需要幾條簡潔的語句就可以實(shí)現(xiàn)串口的讀寫,但是靈活性太差,不能完全按照個(gè)人意愿讀寫串口,并且有些控件的健壯性也沒有得到充分的驗(yàn)證,所以本系統(tǒng)程序編寫采用Win32 API(應(yīng)用編程適配器:Windows的32位應(yīng)用程序編程接口,一組調(diào)用操作系統(tǒng)或其他程序而獲得訪問服務(wù)的例行程序)完成。
API函數(shù)不僅提供了打開和讀寫通訊端口的操作方法,還提供了名目繁多的函數(shù)以支持對(duì)串行通訊的各種操作。下面以處理串口接收數(shù)據(jù)的子程序?yàn)槔榻B一下本系統(tǒng)的串口通信程序。接收消息之前應(yīng)該先用clearcommerror函數(shù)處理串口通信錯(cuò)誤并報(bào)告當(dāng)前串口狀態(tài),如果出現(xiàn)錯(cuò)誤向用戶發(fā)出提示并退出此子程序,如果沒有錯(cuò)誤就再判斷串口接收的數(shù)據(jù)數(shù)是否超過預(yù)定以緩沖區(qū)的大小。限于篇幅,本文略過這段語句,直接給出讀取并處理數(shù)據(jù)的主體程序,并給出程序的注釋。
procedure NOTIFY(var message:tmessage);
var
Temp : string; inputbuffer: array[0..4000>of Char;
nBytesRead, dwError:DWORD ; showReceive:string;
commstate:TCOMSTAT;//存放串口狀態(tài)的結(jié)構(gòu)體
begin
//略過預(yù)處理程序……
//使用readfile函數(shù)讀取串口數(shù)據(jù);在win32 API中使用文件操作函數(shù)操作串口
if(not readfile(hcomm,inputbuffer,e,nbytesread,@read_os)) then
begin
if(dwerror<>0)and(dwerror<>error_io_pending) then
begin//讀取串口錯(cuò)誤,則提示用戶,并關(guān)閉所有相關(guān)句柄
messagebox(0,'readfile error','notice',mb_ok);
stop:=true;
closehandle();
closehandle(post_event);
closehandle(hcomm);
exit;
end
else
begin
waitforsingleobject(hcomm,infinite);
getoverlappedresult(hcomm,read_os,nbytesread,false);
end;
end;
if nbytesread>0 then
begin
temp:=(inputbuffer,1,e);
receivebuffer:=receivebuffer+temp;
buffer:=receivebuffer;
if (temp[length(temp)>=#13)or(temp[length(temp)>=#10)or (length(receivebuffer)>128)
//上位機(jī)和下位機(jī)定義通信規(guī)約為以ASCII的13或者10作為幀結(jié)束標(biāo)志
then
begin
//若處于顯示接收內(nèi)容模式,顯示接收到的內(nèi)容
if d then
begin
showreceive:=buffer;
[2>.Text:='接受內(nèi)容:'+showreceive;
end
else
[2>.Text:='接受內(nèi)容:';
//分析故障信息
if temp[length(temp)>=#10 then
failureinfoparse(buffer);//條用故障處理子程序,此子程序分析故障類型,判斷故障設(shè)備,并把故障信息記錄到數(shù)據(jù)庫
receivebuffer:='';//處理完一幀數(shù)據(jù)就清空緩沖區(qū),為下一次讀取做準(zhǔn)備
end; end; end;
setevent(post_event);
end;
上位機(jī)的圖形化監(jiān)控軟件完成調(diào)度控制中心的基本功能。上位機(jī)網(wǎng)絡(luò)由一個(gè)應(yīng)用程序服務(wù)器、兩個(gè)監(jiān)控工作站、一個(gè)模擬屏控制機(jī)和數(shù)據(jù)庫服務(wù)器組成。上述串口讀寫程序就工作在應(yīng)用程序服務(wù)器上。
4 結(jié)束語
本文介紹了一個(gè)供水自動(dòng)監(jiān)控及調(diào)度系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn),采用了分布式控制結(jié)構(gòu),使系統(tǒng)處理事故和進(jìn)行調(diào)度的效率有所改善和提高。但因?yàn)榭紤]設(shè)計(jì)成本等因素,這種設(shè)計(jì)方案并不是最優(yōu)的,在以后的實(shí)踐研究中會(huì)做出進(jìn)一步改進(jìn)。

(轉(zhuǎn)載)

標(biāo)簽:供水自動(dòng)監(jiān)控 調(diào)度系統(tǒng) 設(shè)計(jì) 實(shí)現(xiàn) 我要反饋 
2024世界人工智能大會(huì)專題
即刻點(diǎn)擊并下載ABB資料,好禮贏不停~
優(yōu)傲機(jī)器人下載中心
西克
2024全景工博會(huì)
專題報(bào)道