于普松, 王文利
1 前言
供水管網作為城市供水的基礎設施,擔負著為城市居民和企、事業單位供水的重要任務,安全、優質、可靠地供水一直是供水人追求的目標。采用計算機等高科技手段對管網的壓力進行實時監測早已成為現實,而且已成為現代供水企業調度的一種不可缺少的手段。近年來,由于計算機軟、硬件技術的發展突飛猛進,對調度系統實時、多任務的性能要求越來越強。秦皇島自來水總公司綜合自動化系統經過多年的運行,原有監測系統的軟、硬件配置已很難滿足生產調度的需要,大部分設備已超過正常使用年限,可靠性、穩定性都不同程度地有所降低,系統維護量增大,為此,需對原系統進行大規模的改造和擴充,以滿足現代供水企業發展的需要。從2000年開始該公司對其測控系統進行了改造,新系統除兼容原系統所有功能外,主要特點是它工作在網絡環境下,通過內部的NT網絡和SQL數據庫平臺,使監測到的數據得以共享和發布。另外,新系統還增加了系統組態和后期的數據處理、歷史曲線、數據分析等功能。
2 系統的構成及功能
新建監測系統分為三層結構:調度中心、二級主站和現場RTU。
(1) 調度中心
由測控前端機、國產WSW數傳電臺、美國產MDS-2710數傳電臺、四屏顯示系統、大屏幕背投、模擬屏、工程師站、報表打印及引青流量接收系統等組成。
(2) 二級主站
山海關公司和北戴河公司,它們具有相對獨立的管網和監測系統,與調度中心的數據傳輸采用無線和有線并存的方式。
(3) 市區測點
分為水廠、測點級兩種現場RTU。
① 水廠級站由研華IPC-610工控機、WSW數傳電臺、數據采集卡等構成。
② 測點級站分為新舊兩種型號:一種是DWY-98型,由WSW數傳電臺、單板機等構成;另一種為新型RTU,由MDS-2710數傳電臺、研華ADAM4500和ADAM4017模塊等構成。
新建供水管網監測和數據采集系統(Supervision Control And Data Acquisition)主體框圖如圖1所示。
圖1 測控系統主體框圖
新系統水廠級測點和新增測壓點RTU結構如圖2、圖3所示。
圖2 水廠級測點示意圖
圖3 新測點級RTU結構圖
3 系統中軟硬件的選擇
本次系統改造在軟、硬件選擇方面充分考慮了與原系統的兼容性,本著充分發揮原有設備潛力,減少投資的原則,保證了系統建設效益的充分發揮。
(1) 軟件選擇
對于測控軟件的選擇,首先本著新老系統要平穩過渡的原則,其次注重軟件的實用、易用和穩定性。設計人員在總結了以往運行經驗并徹底分析了原軟件及部分商用軟件的基礎上,決定以Windows98為系統平臺,Visual Basic 6.0、C++、Visual C++及部分圖形軟件為開發工具,開發出適用于本公司的測控系統。
(2) 硬件配置
原系統中的RTU采用的是DWY-98型,主要由8098單板機和WSW數傳電臺構成,電臺與單板機接口采用TTL標準通信。對于原系統的硬件部分,本著節約資金,物盡其用的原則,不做大的改動,只將其中水廠級測點調整為研華IPC-610工控機、宏拓PC-7488采集卡和新型WSW數傳電臺的構成形式,采集卡為32路光電隔離,電臺與工控機采用RS-232串口通信。新增的4個測壓點RTU利用研華生產的ADAM4500作為通訊控制器,ADAM4017作為數據采集器,美國MDS-2710數傳電臺作為數據傳輸工具組成。其中ADAM4500是基于PC的程序控制器,它內置ROM-DOS系統、256K的RAM和256K的ROM、具有標準的RS-232和RS-485通訊接口及看門狗定時器(WDT)等。編程工具為C及C++語言,運行程序可固化在FLASH ROM內。
新建系統的二級站改造方面,首先對山海關二級站進行了試驗,其構成形式為主站、水廠內部小型SCADA系統和測壓點系統。
主站采用研華IPC-610工控機、WSW數傳電臺、ADAM4520和天線,水廠內部SCADA系統采用RS-485工業網絡,主要由ADAM4017和ADAM4520組成,通信協議轉換器ADAM4520,完成RS232-RS485或RS232-RS422的雙向協議轉換,具有自動判斷處理數據的流向等功能。它與主機串口連接,可通過主機直接向ADAM4017發布數據采集指令,采集出廠壓力、清水池水位和源水流量。山海關區二級站示意圖如圖4所示。
圖4 山海關區二級站示意圖
4 系統的實施及主要研究內容
系統建設可分為硬件安裝,軟件開發和系統聯調三部分。在此僅對幾個測控系統建設中比較關鍵的問題進行重點分析。
(1) 硬件安裝
硬件安裝主要是公司調度中心、水廠級測壓點和新增4個測壓點的安裝,在安裝過程中遇到幾個關鍵問題。
① 新、老WSW數傳電臺帶寬問題
雖然是同一廠家生產,但它們屬于兩代產品,因國標要求的變更,造成新、老設備帶寬不同,使數據無法正確傳輸,查清問題后,筆者與電臺的生產廠家對WSW電臺進行了統一的調試,使其工作在同一帶寬上,保證了數據傳輸的正確性和穩定性。
② 調度中心與二級主站的通訊問題
由西南至東北四十余公里范圍內分布著秦皇島市的3個區,總公司所在的海港區居中,山海關公司在東北方15公里之外,由于距離、方位及山丘、建筑物阻擋的關系,直接與山海關通訊存在一定的困難,所以選擇距離山海關較近的柳村水廠作為插轉站,由它協調調度中心與山海關二級主站的數據接收和傳送工作。
③ 國產WSW數傳電臺與美國MDS-2710數傳電臺的兼容問題
系統新增測點選用的是美國MDS-2710數傳電臺,它采用二進制CPFSK的調制類型,而WSW數傳電臺采用的則是單一的調頻調制類型,因調制類型不同,所以雖然它們工作在同一頻率下(總公司無線頻點為234.5MHz),但彼此并不能通訊。為解決此問題,可增加一塊多串口卡,將不同類型的電臺分別連接到不同的串口上與主機通訊,而在軟件上采用分時、分段與不同電臺通訊的方式,效果良好。而采用多串口卡工作的形式也解決了主機串口少的缺點,使主機與模擬屏等外設通訊更為方便、靈活。
(2) 軟件編制
軟件部分主要完成調度主控軟件、水廠級站測點數據采集和傳輸軟件、新增測壓點(ADAM4000系列)下位機的數據采集與傳輸軟件及山海關二級主站主控軟件的編制。這里主要針對以下幾點做一詳細說明。
① 軟件可靠性的研究
對于調度系統,對其實時性、可靠性和穩定性的要求較高。由于無線傳輸受到外界干擾的情況很多,更由于前端測控主機的多任務(分時段巡檢、與110指揮中心和四屏顯示系統實時通訊、驅動模擬屏顯示、大屏幕投影演示等),所以如何保證系統的穩定性和可靠性對于調度主控軟件是一個考驗。筆者分別從操作系統和開發平臺兩方面入手,排除隱患、優化算法。由于Visual Basic的局限性,所以軟件開發的過程中大量采用了WINDOWS的API函數,以增加軟件的功能和性能。同時采用了CRC冗余校驗、誤碼重發等一系列方法來增加無線數據傳輸的準確性和穩定性。
② 數據的共享
前端測控機負責采集、存儲實時數據。為了使其它用戶共享該數據以達到測控系統與OA系統有機結合的目的,這里采用技術較為成熟的SQL Server數據庫為平臺,將實時數據分類、定時地存入指定的數據庫中,將一部分后期的數據處理工作交由SQL完成。這樣,網絡上的任何終端都可根據不同的權限查詢、共享數據,另外,對于四屏顯示系統和110指揮中心兩個特殊用戶,采用內部局域網絡通訊方法,實時傳送數據,減少了數據傳輸的中間環節,從而提高了數據傳輸的實時性和穩定性。
③ 串口死機的問題
在調度主控軟件開發調試的過程中,筆者發現一個令人頭痛的問題,串口非周期性地停止工作。表現為電臺發送、接收都正常,然而,計算機并不能收到數據。最初只有關機重啟才能恢復正常。通過對16550UART收發器的詳細研究發現,當發生這種情況時,線狀態寄存器并未產生接收數據中斷,所以,無論采用查詢還是中斷方式,此時都無法收到數據,針對這種現象,采用定時重置的方法,可徹底解決這一問題。
5 結語
這套系統的一期工程從設計、施工到峻工,歷時8個月,完全由該公司人員自主完成,其中也確實遇到很多問題。作為一套系統應本著實用的觀點,通過自己的力量建設,一方面鍛煉了自己的隊伍,另一方面也省去了維護、修理方面的許多問題,保證了投資的長久性和有效性。相信隨著科技的發展進步,該系統的功能必將日臻完善,向著靈活型、智能型方向發展。