葉李鋒,林高基,歐陽軍,顏野迪,毛軍輝
(1.凈化控股集團股份有限公司,浙江 臺州 317605;2.西安財經大學商學院,陜西 西安 710000)
隨著我國水資源浪費和水源污染日趨嚴重,水資源保護和凈化處理勢在必行。2015年開始,國家鼓勵水行業發展智慧水務,旨在采用信息化手段進行節水凈水。在此背景下,水廠的運營目標已不僅局限于單純的供水量及水質達標率,更致力于通過大數據和建模,結合人工智能算法,解決日?!叭摹?水耗、藥耗、電耗)過高及設備使用壽命低的問題。由于部分水處理設施建設運行年代久遠,供水系統存在不同程度的數據不完整、功能不充分的問題,使得必要信息不能相互流通,變成“信息孤島”,即使在同一網絡環境下也不能實現實時數據共享,更無法實現智慧應用。對標完整的智慧供水信息系統,現有水務信息化程度仍有較大提升空間。在水廠供水系統現有基礎上對水務系統進行改造升級,使其從信息化邁向智慧化。即在“互聯網+水務”的思維下,運用先進計算機和互聯網技術,對供水生產、管網運行過程的海量數據進行感知、分析、處理與挖掘,增強對供水系統的可控性和可預測性,充分發揮其輔助決策作用,以智慧指導生產、輸配、管理和服務。
水廠的數據安全需要得到重視。2000年澳大利亞馬魯基多爾污水處理廠SCADA系統遭受非法入侵攻擊,發生46次控制設備功能異常事件,導致數百萬公升的污水進入了地區供水系統。2007年加拿大某水利SCADA控制系統被入侵者故意安裝破壞軟件致使控制薩克拉門托河水調度系統失靈[6]。2012年美國污水SCADA系統受網絡攻擊,PLC關閉泵站失敗,導致2百萬加侖未經處理污水直接排入提華納河,最后花費9200萬美元治理污染;2019年我國多地污水處理SCADA系統遭受不同程度的WannaCry和挖礦病毒攻擊,導致許多污水處理廠的工業主機出現藍屏、反復重啟、數據被加密勒索等情況;2020年以色列國家排水管網系統遭受境外網絡攻擊,以色列水利局告知企業“重點更改運營系統和液氯控制設備”的密碼。這兩類系統遭受的攻擊最多,特別是Stuxnet病毒,這種病毒是首個專門針對工業控制系統編寫的破壞性病毒,其中含有Fanny蠕蟲病毒的漏洞入侵技術,它無需借助網絡連接便能夠利用對電腦操作系統和上位機組態軟件平臺系統的7個漏洞進行攻擊并控制操作設備運行開關[7]。
本研究以智慧水務平臺建設為目標構建水廠的數據體系,針對各類水廠不同方式的自控系統提出對應的數據采集流程,最終建立通用的實時數據采集方法,該方法已在福建、安徽、湖北等地區的多個水廠進行實際應用,有效性得到充分檢驗。
數據采集工作需要按照水廠的基本工藝結構進行確定。目前絕大多數水廠工藝結構如圖1所示,主要工藝點包括取水泵站、平流沉淀池、濾池、清水池、加藥(PAC)間、加氯間、送水泵房等。主要流程為原水通過泵站從水源地輸送至沉淀池,經加藥絮凝沉淀和加氯消毒后流向濾池,濾池過濾流到清水池,最后通過送水泵和配水管網輸送到千家萬戶。

圖1 水廠工藝結構圖
采集的數據主要分為儀表數據和設備數據,儀表數據主要包括進出水水質、流量、壓力、加藥流量、濾池清水池液位等,設備數據主要包括電流、電壓、故障信號等泵類數據和開度、狀態、故障等閥門類數據。具體數據及單位見表1。

表1 常見水廠運行數據單位
水廠數據來源主要包括各種儀表和設備,數據采集通過通訊協議方式連接PLC或單片機,再經過網絡傳輸至上位機。還有一部分儀表和設備直接通過本體通訊協議配合工業網關進行數據傳輸,水廠網絡系統架構如圖2所示。

圖2 水廠網絡系統架構
由圖2可知,水廠數據由廠區內數據、廠區外管網數據、末端或中端的增壓泵站數據三大基本功能塊構成。廠區內數據通過PLC進行采集和控制,數據傳輸網絡采用內部以太網,屬于生產控制系統;廠區外管網數據包括管網壓力流量等,這部分數據通過儀表自帶的傳輸單元傳輸到公有云或本地私有云;末端或中端的增壓泵站數據,主要包括壓力、濁度及余氯等,這部分數據通過以太網上傳到公有云或本地私有云。
常見的水廠數據通訊協議包括OPC通訊協議及延展OPC UA通訊協議、Modbus通訊協議和CAN總線通訊協議。
(1)OPC通訊協議是為自動化行業不同廠家的設備和應用程序能相互交換數據而定義的通用接口函數。有了OPC就可以使用統一的方式去訪問不同設備廠商的產品數據[1]。OPC UA協議是在OPC基礎上制定的新OPC標準,只使用一個地址空間就能訪問之前所有的對象,而且不受操作系統類型限制。由于OPC UA是從傳輸層Scoket以上進行改進,使得協議靈活性和安全性比OPC都有較大程度提升[2]。
(2)Modbus是一個工業通訊協議,通過公用線路或局部專用線路連接而成。其系統結構既包括硬件也包括軟件[3],不僅是一個請求/應答協議,還提供功能碼規定的服務。
(3)CAN總線通訊協議是ISO國際標準化的串行通訊協議,是一種有效支持分布式控制或實時控制的串行通信網絡[4]。具體分類包括CANopen協議、SAEJ1939協議和devicenet協議等。
水廠數據采集方式大致分為PLC硬件采集、PLC軟件直采、上位機軟件采集(本身自帶歷史數據庫存儲)3類。
水廠自動化控制和數據讀取絕大多數使用PLC進行操作,每個功能單元由獨立的PLC系統控制。水廠設備硬件狀態接入DI模塊(即數字信號輸入模塊),設備啟動與停止控制命令接入DO模塊(即數字信號輸出模塊),水泵變頻器指定頻率接入AO模塊(即模擬信號輸出模塊),儀表數據和水泵變頻器反饋頻率接入AI模塊(即模擬信號輸入模塊)。有些儀表和水泵變頻器通過485協議直接與PLC通訊端口進行通訊,少數水廠生產系統通過DCS系統進行控制,兩者主要區別在于分散獨立控制和集中控制(也可以按照控制點位數量進行區分)。
2.1.1PLC硬件采集
PLC硬件采集不需要編程,通過外部訪問協議連接同品牌PLC或通過多功能網關盒子連接PLC進行采集。最常見的品牌例如西門子,其中各種大中微型不同型號PLC之間可以通過同一環網進行雙邊S7通訊,如圖3所示。S7通訊的特點是:用于西門子S7系列PLC之間的通信,不能用于與非西門子的設備通信;S7支持多個S7系列PLC之間的通信;除了適用于西門子S7系列PLC之間的通信外,還可用于與上位機的通信。此時就可以搭建同品牌PLC進行統一采集,通過工業網關匯總后將整個自動化運營設備IO狀態和儀表數據寫入數據庫。其優點在于數據匯總于同一PLC,不僅方便管理數據,還不影響整個環網正常運行。在現實水廠自動化系統中S7通訊應用廣泛,例如絕大部分濾池單池體控制是通過小型PLC S7-200CN獨立運行,只需調用PUT/GET指令就可以與總柜互相傳送數據,無需額外編寫程序。且PUT/GET指令并不需要在兩端PLC內進行部署,只需要在專門采集數據的PLC硬件上面調用GET指令即可,指令簡單且傳輸穩定。AB的PLC可以建立Produce/Consume(生產者/消費者)標簽進行數據交互。其特點包括:生產者就是需要采集的PLC變量數據,用于發送變量數據給消費者(接受者);無需編寫程序,只需建立標簽變量即可進行數據交互;可以通過背板傳送,也可以通過ControNet網絡和EtherNet/IP網絡傳送,但傳輸工作只能在同一背板或網絡中進行;標簽變量必須創建在控制器區域,且Produce標簽和Consume標簽數據格式必須一致;標簽變量的類型只支持單個DINT或DINT數組、單個REAL或REAL數組,或者UDT(用戶自定義結構數據),也可以進行MSG指令進行采集[5]。同樣,大多數品牌PLC都能通過Modbus TCP主從站功能進行數據采集,統一采集匯總到一臺PLC就可以通過網關存入數據庫。日系PLC有MC協議FINS UDP/TCP協議,松下有松下以太網協議,施耐德可以用DTM協議或調用read_var,write_var功能塊。

圖3 S7通信模型
除使用廠家PLC通信來進數據采集外,還可以添加工業網關進行采集數據轉存。工業網關作為工業物聯網解決方案中的數據采集模塊,其主要功能就是采集設備的相關參數信息,通過現場網絡(如4G、3G網卡、wifi、有線以太網)來實現數據的傳輸,最終實現對設備全流程的監測及數據采集。
2.1.2PLC軟件直采
PLC軟件直采通過中間通信軟件進行數據中轉,最大特點是無需編程或在PLC里調用功能塊。其中最典型的就是OPC軟件,它具有兩端接口,一端訪問數據源頭PLC,另一端對外提供數據。OPC軟件因簡單易用而應用廣泛。但隨著工業技術發展,從便捷性、安全性、系統兼容性及效率性上來說,OPC軟件總體性能已逐漸落后,在局部領域中也不再具有經濟性。除了OPC通信軟件外,還有一些專業的中間通信軟件對比傳統OPC軟件增加了許多便捷功能,如自帶驅動、多樣采集、運行穩定、縮放運算、轉存功能、安全兼容等。中間通信軟件運用最多的功能就是自帶驅動采集PLC數據,目前市場上PLC且品類繁多及地區使用習慣導致通信驅動各有不同,本體軟件自帶驅動能夠很大程度上解決這個問題,再加上轉存功能,基本滿足采集需求。
2.1.3上位機軟件采集
上位機軟件采集通過上位組態軟件自帶的通信功能對軟件內的數據變量進行采集,其中最直接的方法就是通過OPC軟件的端口讀取其內部變量,大部分上位組態軟件是OPC服務器端口默認打開,或者需要在上位組態軟件里設置下OPC服務器端口啟動權限。上位機組態軟件具有實時數據轉發功能,用來采集并儲存水廠實時數據,并響應SQL請求提供歷史數據報告。實時數據庫是使用Microsoft SQL Server作為數據庫引擎,不需要操作人員熟練掌握SQL語句即可將數據儲存和采集分開,且能夠在異地部署,從本地儲存轉發到遠程InSQL儲存,采集過程如圖4所示。另外可以在上位機組態軟件內進行腳本編寫,將數據變量直接寫進數據庫里。以INTOUCH舉例,第一步新建配置參數,在數據庫里新建一張數據表然后將需要報表記錄的變量和定義參數全部建立;第二步建立鏈接關系,在INTOUCH里對應SQL的數據表進行配置關系鏈接和腳本編寫;第三步寫入時間條件,在編輯條件腳本里以SECOND或HOUR寫入。一小時插入一條數據的示例如圖5所示。

圖4 Historian采集數據

圖5 腳本每小時寫入數據
除上述3種方法采集外,還有一種PLC編程與外部建立以太網連接、通過收發指令進行數據交換的方法。實現這種方法需要通過硬件配置建立通信通道,然后編程進行收發。這類方式需要采集人員同時具備計算機編程和PLC調試能力,難度較大;在調試完成后,增加變量則需要從上到下全部更改,實務中不常使用這種方法。
對于水廠數據變量的采集,如何保障數據采集和傳輸過程的網絡安全至關重要。首先要對水廠現場網絡結構、主體設備、系統軟件、網間連接器等運行狀況進行安全調研和分析,分析出系統內部網絡的關鍵節點,確定水廠現場采集存在的安全隱患和安全防護問題。水廠系統是一個以PLC控制為基礎的控制系統,為規避水廠及管路數據采集中的聯網安全風險,需要針對PLC通訊所使用的Modbus TCP協議內容進行深度解析和防護,預防工業網絡安全生產事故的發生。調度中心操作員站、數據采集服務器、歷史數據服務器等采用Windows操作系統,在勒索、蠕蟲等病毒的攻擊防護層面存在不足,需要針對工業主機的安全性進行專項加強。現提出如下解決方案。
(1)部署站點防火墻。在現場調度中心和各個子站之間部署防火墻進行網絡安全隔離和防護,提升各個子站的安全防護能力。
(2)設置安全區域。將每個子站作為單獨安全域,在各個子站PLC/采集儀等工控設備的網絡端口部署防火墻進行訪問嚴格控制,提升對重要控制設備的安全防護等級。
(3)提升主機防護。在現場調度中心、各子站、現場操作員站、數據采集服務器、工程師站上部署工控主機衛士,對各個廠區自動化控制的主機進行安全防護。
(4)加強安全協同。在現場調度中心統一部署安全管理平臺,對整個廠區自動化控制系統網絡進行統一管理配置及維護,便于消息匯總及故障解決。
本方案下的水廠安全防護網絡架構如圖6所示,該方案提升了數據采集過程安全性,減少了被入侵風險,可以有效防止來自內部誤操作和外部惡意干擾。

圖6 安全防護示意圖
上述方法都是借助成熟的軟件和驅動進行數據采集,靈活配置即可安全快速地將水廠生產數據采集到所指定的數據庫里。具有在各種復雜工況環境簡單易操作、安全可靠等優勢。
案例一為在福建某市的智慧水務系統建設過程中,需要對3個自來水廠進行數據采集來達到數據集成目的。3個水廠的自動化系統各不相同,其中A水廠是新建的集成一體化自來水廠,B水廠是新建的常規工藝的自來水廠,C水廠建成投產時間較長并在不斷升級改造。
A水廠一體化設備采用Siemens S7-200smart系列PLC,上位機組態軟件采用北京亞控組態王品牌,總體結構簡單,但在前期運營過程中業主并未保存PLC變量點位表和IP地址表,通過運行組態王軟件OPC服務端則可以使用采集軟件讀取OPC內數據,變量名可以對照組態軟件的顯示內容進行辨別和分類,然后利用采集軟件轉發SQL功能將變量數據儲存在數據庫里。B水廠設備采用Siemens S7系列PLC,上位機組態軟件采Wonderware品牌,由于其已編寫腳本將數據存入SQL數據庫里,只需讀取即可。C水廠設備采用Siemens S7系列PLC,上位機組態軟件采Wonderware品牌,但其存在三期建設時間跨度較長,其中一期工程于1998年5月建成投產,二期擴建工程于2009年建成投產,三期工程于2018建成投產。Siemens老式設備存在連接端口有接入端臺數限制問題,使得無法接入更多端口進行數據采集,還同時存在取水泵站沒有連接到廠區環網的問題,相關解決方案為:在取水泵端加設工業網關盒子進行采集數據,老式設備通過組態軟件寫入數據庫來進行采集,其余設備則通過采集軟件驅動采集,全部儲存到統一數據庫里。
數據采集前,已在各個PLC端及上位機上加裝了工業防火墻保證采集數據中的安全,還將原來端口映射采集全部改為主動發送數據。這樣保證了3個水廠的數據采集安全又高效。
案例二為西安某老舊水廠自動化系統改造過程中需要進行數據采集。現場只有1臺工控主機為Windows XP系統,控制設備采用老式且已經停產的200 CN PLC,上位機組態軟件采用組態王。本工程中由于設備過于陳舊,引起了以下3個問題:PLC端口IP網口點位使用情況不明,工控柜不方便添加工業盒子,工控主機配置較低無法安裝本地數據庫。采取的解決方案是在工控主機上設置odbc連接遠程數據庫,通過采集軟件OPC讀取組態王數據,再進行odbc數據轉發,數據類型與名字通過組態畫面進行識別和分類。
經過上述操作將采集來的數據存入數據庫,接著可以依靠HTML+css+javascript的方法將數據庫里的水廠數據進行可視化操作,這樣一個基礎的智慧水廠系統如圖7所示。

圖7 智慧水廠系統
本文通過對現有水廠的工藝流程、自動化系統和通訊協議進行描述,針對水廠復雜自控系統的數據采集和集成提出了軟硬件相結合的方法,該方法將數據采集從傳統編寫端口程序采集轉換到利用現代工具進行采集。通過將多種工具組合使用和在數據采集和集成過程中添加工業防火墻的措施,完成了各種復雜情況下快速安全地進行水廠數據采集任務,并將所提方法在福建、陜西等地水廠進行實際運用,驗證了該方法的可行性。相比于傳統方法,本文所提方法具備安全和高效等優點,為智慧水務建設過程中的數據采集和數據集成相關發展提供了有價值的參考。在接下來的研究中,將從降低數據獲取成本以及節約數據采集時間的角度出發作進一步的探究。