近幾年來,為了適應中國經濟的快速發展,電力行業進一步提高了全廠綜合自動化水平,注重信息化的建設,特別是各地的火電廠紛紛提出適合自己工廠的廠級監控信息系統(也就是現在所說的SIS系統)以提高生產效率,實現電廠管理信息系統與各種分散控制系統之間的數據交換。廠級實時監控信息系統以分散控制系統為基礎,以經濟運行和提高發電企業整體效益為目的,采用先進、適用、有效的專業計算方法,實現整個電廠范圍內信息共享,廠級生產過程的實時信息監控和調度,同時又提高了機組運行的可靠性。它為電廠管理層的決策提供真實、可靠的實時運行數據,為市場運作下的企業提供科學、準確的經濟性指標。但是SIS系統的開發往往不僅需要有一定的計算機知識,還需要了解自動化常識以及對電廠實時生產過程管理有比較深刻的理解。如果單純依靠軟件開發人員開發,則很難完成如此艱巨而又責任重大的任務,即使完成了也已經耗費了大量的人力和時間。
目前電廠SIS系統主要實現的功能有:
1.監視、指導機組的運行
2.降低發電企業的火電煤耗
3.主機和主要輔機故障診斷
4.科學分配機組負荷
5.降低成本、提高效益
6.管控一體化
針對目前各個電廠生產管理的目標以及火電廠運行期間的各個特點,我們推出了一系列的解決方案,其主要核心是實時數據庫。雖然目前市面上有很多關系數據庫,但是均不能滿足電廠的需求,我們需要建立一個實時/歷史數據庫并具有如下特點:
●為生產和管理獲取所有的相關信息,可以生成過去和現在的所有操作情況畫面,以足夠的信息供用戶以不同的視角在統一的數據倉庫訪問相同的信息,獲得不同的應用。目前電廠需要查看的數據大于有兩三萬點。
●在線存儲多年的工藝數據,即以用戶或應用的要求,包括毫秒級的數據存儲歷史數據,以利于工藝和設備的運行狀況分析。電廠需要分析的數據跨度大概需要兩年或更多。
●以數據的原型存貯,即數據的采集與存貯保持原有的采樣間隔和采樣精度而不必考慮將來如何用,但這需要占用大量的磁盤空間,采用先進的壓縮技術和保持原有精度的還原技術是可取的。
●數據只存貯一次,以數據的基本形式存貯,并可對數據進行任何格式的計算和歸納處理。支持過程優化、先進控制、專家系統和其它復雜計算功能,以滿足不同用戶或應用程序的要求。
●數據庫是一個全廠范圍內的統一數據平臺,是用來在不同廠商的產品間傳送信息。因此,必須具有開放性,例如采用分布結構的計算機環境,Client/Server結構,可在多種系統配置下運行,在客戶端產品底層采用Windows技術和Windows化的界面,有豐富的商業化數據處理工具,對不同的DCS、PLC、工控機等廠商產品有豐富的接口經驗。
●數據采集和存儲的可靠性。采用分布式結構進行數據采集和存儲,接口能支持網絡節點之間的容錯技術,當發生故障時仍可繼續采集網絡節點式接口設備的數據,采用分布式數據存貯數據暫時保存在該節點上,保證數據在節點上的故障數據不丟失。
由于實時/歷史數據庫采集的速度快,數據量大,精度要求高,并且帶有時標,便于分析和生成報表,因此十分適合目前電廠的數據采集和分析,而常規的關系數據庫則在這些方面都相距甚遠。
鑒于以上的這些原因,市場上也出現了許多不同級別的實時/歷史數據庫,目前最經濟且性價比最優的則是美國Wonderware軟件公司的IndustrialSQL Server(以下簡稱為InSQL)。
InSQL是一套基于Client/Server結構的商品化軟件應用平臺。它是時間序列的數據庫,最適合處理過程數據。她有六大特點:
1.數據采集
InSQL可以實現快速數據采集。而在電廠內是不是需要這樣快速的數據采集呢?1分鐘的數據,能夠滿足ASME標準與國標的有關性能分析,也能產生許多報告及表示某些主要流程狀態。但是對于過程診斷而言,則是不足的,有相當多的過程快于一分鐘,對模擬量,根據Shannon 采樣定理,選擇采樣周期T至少應是過程周期的1/2。事實上,工業上常用的是1/10~1/20。以爐膛負壓為例,在對應的送引風機作用下,其過程一般為以40~60 秒為自然周期,考慮到實際過程中噪聲與各次諧波的再現,實際采樣周期不應高于2 秒。對開關量過程,前一秒的因可能是后一秒的果,某泵的出口門關就會引發保護跳閘。電站中不論是電量保護還是非電量保護,往往是多個原因觸發唯一的結果(跳閘),而且結果發生后會使原來的多個原因迅速發生變化。要對這樣的過程進行追溯以查找因果,1 分鐘的采樣周期顯然是不能勝任的,可以認為越快越好。對當前的電廠,對于少量特別重要的順序關系開關量,一般使用毫秒級的SOE(Sequence of events)系統進行記錄,而對少量特別重要的模擬量,則用專用的故障錄波儀系統進行記錄。但是多余的采樣會使信號過于冗余,產生顯示與分析障礙。對于實際的采樣記錄計算機設備,會造成資源的浪費與可靠性下降。InSQL提供毫秒級的數據采集,最快的數據采集速率為3毫秒,大大超出電廠的需要。電廠內有大量的DCS,而大多數DCS中的開關量的周期為0.1秒,模擬量大約為500毫秒,很顯然,超過這個限度是不明智的,所以當過程記錄達到1秒時,應能滿足96%的過程監視、追溯與診斷要求。
2.數據壓縮
有了毫秒級的數據采集,硬盤就成為數據存儲的最大瓶頸,InSQL內有一個稱之為Loss-Less的壓縮算法來實現數據存放的問題。她的壓縮率非常的高,可以達到90%以上,且是無損壓縮,整個過程對用戶完全透明。那么電廠的實時數據究竟需要存放多久呢?我們認為最好能存2年或更多,因為目前機組的檢修周期一般是一年至一年半,工程師應能與去年同期或修前的數據進行分析比較。有了這樣的一個壓縮率,就有可能在硬盤上存儲足夠多的數據以便查詢。
3.實時查詢
有了海量的存儲,有了壓縮算法,我們還需要有一個便捷的查詢手段。InSQL雖然是一個實時數據庫,但是她也兼顧關系型的優點。除了直接支持用標準的SQL語句查詢數據,還對現有的SQL語言做了一定的擴展,提供了專用的關鍵字,用來實現返回等間隔的數據。查詢的速度也非常的快,主要是因為InSQL每天都存儲一個目錄,所以在查詢時的效率會提高。
4.事件系統
雖然InSQL提供快速的數據采集,也有相當優秀的數據壓縮率,也支持實時查詢,但是InSQL所能做的還不只是這些,她還內嵌了一個便捷的事件系統。一旦系統有故障產生,系統就會觸發數據庫中的事件,事件系統會依據不同的情況執行不同的動作。比如當每天早上八點鐘時就計算昨天的產量和消耗,再比如當某個開關量從0變為1時,系統就記錄幾個相關的模擬量值,做一個快照功能等等。
利用事件用戶可以方便的從數據庫中直接獲取需要的相關數據,簡單的統計數據或是提醒機制(Email方式)。只要配置事件系統就可以診斷狀態和機組分析,達到事半功倍的效果。
5.內嵌MS SQL Server
InSQL是一個實時數據庫,但是她還兼有關系型數據庫的特點,因為內嵌了一個MS SQL Server數據庫。InSQL數據庫把所有的配置信息,所有的事件信息等都存儲在MS SQL Server數據庫中。一旦需要訪問數據的時候,用戶可以直接訪問MS SQL Server來獲得數據,也可通過OLE-DB的方式訪問InSQL數據庫。從下圖中可以看出InSQL Server和MS SQL Server之間的架構關系,也體現出InSQL是一個實時關系型數據的全新特性。兩者缺一不可,相輔相成。有了內嵌的MS SQL Server,還可以和其他數據庫實現連接,為用戶編程提供了方便。

6.支持冗余
InSQL支持冗余,并且提供多種不同的冗余方案。通過內部的IDAS(IndustrialSQL Data Acquisition Server)服務實現。一種方式稱為失效切換:當有一組數據源出現問題時,InSQL會自動找到備用數據源,并把所有測點全部切換到備用節點上去。另一種方法稱為存儲轉寄:當現場只有一組數據源,而其中的網絡又由于某種原因斷開了,系統會在數據源上自動緩存數據,當網絡再次連通時,再把損失的數據傳回InSQL數據庫中,以保證數據庫的完整性。
對于有些特別的情況,整個系統需要有一定的備用余量,則以上兩種冗余方案則都不能滿足需要。用戶還可以調用InSQL的存儲過程來實現復雜的冗余,整個過程也相當的容易,只要有一定數據常識的人員就可以完成。從整體上來說InSQL的冗余還是考慮的相當細致和周到,為用戶提供了許多的訪問和切換的手段。
InSQL不僅支持數據的冗余,還支持自身的冗余,兩個InSQL之間也能通過軟件配置達到數據庫的同步,的確為用戶提供了諸多的方便。
總體上來說InSQL是一個相當優秀的實時關系型數據庫軟件,這不僅體現在性能上,在價格上也有一定的優勢。對于25000點的數據庫與20個客戶端而言,InSQL只需花費其他軟件的25%,而且接口友好,不僅支持OPC/Suitelink,ODBC,還支持MS SQL編程接口。
下面針對電廠的具體情況,我們提出兩個不同的系統架構。一是InSQL+InTouch的架構,這也是目前最為流行的架構;另一個是Application+InSQL的架構,這是Wonderware公司建立在ArchestrA工業平臺上的全新架構,具有更多更靈活的優點。
InSQL+InTouch系統架構

考慮到很多電廠已經是運行了許多年了,期間的DCS設備可能由數個品牌所構成,又或者上位機監控軟件也已經有幾個不同的廠家所提供,鑒于大多數這樣的情況,我們建議使用InSQL+InTouch的系統解決方案。
(1)網絡結構
采用分層的網絡架構,SIS網絡以InSQL為核心,遵循開放的TCP/IP協議。通過雙網卡的結構分割了MIS系統SIS系統。對于MIS系統的人員來說只能查詢到InSQL內的數據,而不能對SIS系統上的測點進行控制。另外SIS系統還為MIS系統提供了多種查詢方式,支持實時數據的顯示方式,也支持標準客戶端的歷史數據訪問,還可以通過Web服務器實現網絡瀏覽等。由于InSQL同時兼有關系型的特點,所以還可以方便的和其他的數據庫進行連接,為用戶的開發也提供了良好的接口。
(2)軟件配置
如果用戶使用的監控軟件是InTouch,那么我們只要添加InSQL數據庫服務器在一級網絡上就可以方便的導入InTouch的測點,無需編程就可實現和DCS設備通訊;假如用戶使用的是其他的監控軟件,那么我們也提供手工建點的方式連接測點;或者我們也可直接和OPC Server實現通訊,把所需要的DCS數據導入到InSQL服務器中。
(3)數據管理
具有良好的性能,比一般關系型數據的數據存儲快100倍,提供毫秒級的數據采集。
支持標準的SQL查詢,并可根據需要返回等間隔的數據,或返回一定數量的數據。
數據備份極為方便,一天生成一個目錄來存儲數據,也可使用內置的策略方式來定義循環存儲數據。
對不能自動采集的數據,利用InSQL內的MDAS(Manual Data Acquisition Service)服務實現多種手工導入。
能夠實現事件觸發的功能,一旦條件滿足,則會快速記錄所有相關測點的信息,或者執行一些相關的語句。
提供手工加測點的方法,隨時都可以增減數據測點。在修改完畢后,不需要重新起停數據采集服務。
對于數據源的冗余提供了多種方案,保證最大程度的數據完整性。
(4)數據壓縮
InSQL的數據壓縮性能是非常令人振奮的,她不僅具有非常優秀的壓縮率,而且這個壓縮算法還是無損壓縮,為電廠海量存儲提供了最有力的支持。
我們以每個數值占4個字節,時標占8個字節,1個為質量字節計算,共有22000點,2秒周期的循環方式存儲:
每日數據=13×200000×(60/2)×60×24=11,232,000,000≈11G
再加上索引文件和日志文件就更大了。但是InSQL實際只占用了1G,并且時無損壓縮,壓縮率大于90%。如果采用Delta的存儲方式,即狀態變化時才存放,文件至少可以再減少70%。
(5)性能優越
占用CPU的資源比較少,一般的負荷僅為5%-10%,如果有20個用戶同時訪問,也能很好的運作,CPU的最高負荷為70%。
除了提供歷史數據還提供實時數據,并且可以使用28.8K的Modem進行遠程監控查詢。
(6)強大的客戶端
提供多種客戶端連接方式,最優秀的是有一個專門的ActiveFactory客戶端軟件。包含了趨勢工具,查詢工具,以及和Excel,Word連接的工具集,使用非常的方便,整個過程不需要編寫任何一句代碼。
用戶如果需要自行編寫程序,也可直接使用OLE-DB的方式連接到數據庫,然后就和其他標準的關系型數據庫一樣使用SQL查詢。
對于實時數據的查看,可以通過InSQL內的一個專用服務,再連接到FactoryFocus(InTouch只監視不控制的版本)上進行顯示,速度和效率都和現場的操作員看到完全一樣。
Application Server + InSQL系統架構

對于電廠另外一個更好的選擇則是采用Application + InSQL的系統架構。整個方案和上面的方案最大的不同就在于我們采用了Wonderware公司新的ArchestrA工業平臺來解決整個電廠的信息系統。
(1)網絡結構
由兩臺Industrial Application Server作為主服務器,整個系統中所有的通訊均由這兩臺Server來實現。并且運行所有相關的腳本,實現所有的報警信息。由于在Industrial Application Server中采用了Microsoft. Net框架,使Industrial Application Server的應用可以靈活地在多個計算機中部署,實現多個計算機分布式協調工作。因此,在此架構中,Industrial Application Server的應用可以分布在一個或多個計算機中,它們共同組成了工業自動化應用和實時數據的公共平臺。而InTouch仍然是重要的可視化界面,它將生產過程如實反映給操作員和工程師,并執行來自他們的操作和指令。作為實時/歷史數據庫IndustrialSQL Server依然在SIS的核心部件,它收集來自本系統和外系統的數據并存儲,從而為整個企業提供海量的歷史數據,為生產,維護,質量等多個部門提供強大的過程數據支撐,使他們可以實現優化,分析,質量判斷等更高級的分析和決策。通過兩臺服務器把需要存儲的數據以主動的方式發送到InSQL服務器中,整個過程InSQL服務器不需要做任何的操作。可以InSQL說和DCS系統沒有直接的連接關系,從而實現了SIS的獨立完整性。
一旦采用了這個架構,用戶就可以方便的根據電網中調所下達的全廠發電總負荷,對各機組出力實施不同的負荷分配方式,為發電企業帶來的效益。通過Industrial Application Server和InSQL的組合判斷,進行科學合理的負荷分配,在滿足廠級總負荷時,以大偏差優先,小偏差負荷優化為原則,同時,根據各單元機組負荷響應性能,盡可能滿足單元機組負荷優化操作條件,最終獲取整體的最大經濟效益。
(2)軟件配置
我們需要安裝配置好Industrial Application Server,因為所有的配置都在服務器配置就可以了,我們可以通過配置來分攤網絡系統中的負載。也可以指定任意一臺機器做數據源,并且在后臺已經為指定的機器安裝好了通訊成訊,負責采集數據。
(3)數據管理
標準的TCP/IP網絡。
工程開發周期大大縮短。
完全基于面向對象的開發策略,大大提高編程效率。
當整個系統配置完畢的時候,還可使用"部署"的方式確認配置信息。而且可以支持在網絡上多個人員分布式開發,分布式"部署"。這樣使得開發周期大大縮短。
支持用戶自定義屬性,極為靈活方便。
Industrial Application Server是一個完全面向對象的軟件,她可以把整個工廠的設備抽象為若干個對象,再通過繼承的方式衍生出其他特別的對象以供使用。另外,整個系統還可把這些對象通過導出導入的方式再應用到其他相關系統中,為開發提供了全新的途徑。
支持CSV文件的導入導出,為數據備份提供了方便。
隔絕了SIS與DCS系統之間的連接,提供了更加安全的控制手段。
以Industrial Application Server和InSQL為核心的SIS系統,繼承了原有架構無與倫比的設備連接能力,利用傳統的IOServer和新一代的DAServer,用戶可以連接成百上千的控制系統和設備,并統一地集成到Industrial Application Server中,以過程對象的方式來描述控制設備和過程,并在InTouch上實現監控和操作的目的。
增加了更多安全性的配置,完善了安全體系,能保證系統合適的操作權限和安全。
(4)功能模塊
對于SIS的計算模型和功能,我們大致分為兩類,一類基于實時數據的,比如設備狀態的在線計算,能耗的統計等;另一類基于歷史數據的,比如生產運營指標,經濟指標等。由于Industrial Application Server提供了強大的腳本能力,用戶可以基于Industrial Application Server的QuickScript.Net來進行實時模型的計算,并可將這樣的計算集成在你的對象模板中成為標準的SIS對象,并可實現重用。
另一方面,你可基于InSQL實時數據庫來實現基于大量歷史數據的計算模型,這些模型可能基于對歷史數據的查詢,基于統計的計算等等。由于InSQL是標準SQL訪問,所以功能擴展和計算都變得相對容易。
下面也羅列出一些具體的模塊功能:
過程信息管理模塊
性能計算模塊
電廠負荷優化調度軟件模塊
鍋爐清潔模塊
汽機壽命管理模塊
鍋爐壽命管理模塊
輔機壽命管理模塊
診斷功能系統
電廠設備測試模塊
數據調整模塊
優化控制模塊
維修、備件管理模塊
文檔、工程管理、環保管理模塊
經營計劃管理、技術經濟分析、報價支持高層軟件模塊
這些功能模塊有些是可以直接使用InSQL來實現,有些則需要通過專業軟件來實現。
總體來說,Wonderware 的ArchestrA架構采用全新的技術,為自動化和信息化系統構筑了優秀的平臺,同時為發電企業的SIS系統的構筑提供了強大的可擴展的靈活架構,并提供了靈活便捷的應用擴展能力。通過Industrial Application Server, InTouch, IndustrialSQL Server, Suitevoyager等系列產品,具備可視化,數據收集,數據存儲,信息發布等完整的解決方案,非常適合于構筑發電企業SIS系統的應用平臺。