SCADA簡介
SCADA是Supervisory Control And Data Acquisition的英文縮寫,國內流行叫法為監控組態軟件。從字面上講,它不是完整的控制系統,而是位于控制設備之上,側重于管理的純軟件。SCADA所接的控制設備通常是PLC(可編程控制器),也可以是智能表,板卡等。
早期的SCADA運行與DOS,UNIX,VMS?,F在多數運行在Windows操作系統中,有的可以運行在Linux系統。
SCADA不只是應用于工業領域,如鋼鐵、電力、化工,還廣泛用于食品,醫藥、建筑、科研等行業。其連接的I/O通道數從幾十到幾萬不等。下面就其結構、功能、接口、開發工具等方面予以介紹。
SCADA體系結構
1.1 硬件結構
通常SCADA系統分為兩個層面,即客戶/服務器體系結構。服務器與硬件設備通信,進行數據處理何運算。而客戶用于人機交互,如用文字、動畫顯示現場的狀態,并可以對現場的開關、閥門進行操作。近年來又出現一個層面,通過Web發布在Internat上進行監控,可以認為這是一種“超遠程客戶”。
硬件設備(如PLC)一般既可以通過點到點方式連接,也可以以總線方式連接到服務器上。點到點連接一般通過串口(RS232),總線方式可以是RS485,以太網等連接方式??偩€方式與點到點方式區別主要在于:點到點是一對一,而總線方式是一對多,或多對多。
在一個系統中可以只有一個服務器,也可以有多個,客戶也可以一個或多個。只有一個服務器和一個客戶的,并且二者運行在同一臺機器上的就是通常所說的單機版。服務器之間,服務器與客戶之間一般通過以太網互連,有些場合(如安全性考慮或距離較遠)也通過串口、撥號或GPRS方式相連。
1.2 軟件體系結構
SCADA有很多任務組成,每個任務完成特定的功能。位于一個或多個機器上的服務器負責數據采集,數據處理(如量程轉換、濾波、報警檢查、計算、事件記錄、歷史存儲、執行用戶腳本等)。服務器間可以相互通訊。有些系統將服務器進一步單獨劃分成若干專門服務器,如報警服務器,記錄服務器,歷史服務器,登錄服務器等。各服務器邏輯上作為統一整體,但物理上可能放置在不同的機器上。分類劃分的好處是可以將多個服務器的各種數據統一管理、分工協作,缺點是效率低,局部故障可能影響整個系統。
1.3 通信
1.3.1內部通信
客戶與服務器間以及服務器與服務器間一般有三種通信形式,請求式,訂閱式與廣播式。請求式:客戶周期性向服務器發出請求,然后服務器為客戶準備數據,傳送給客戶。
訂閱式:客戶向服務器注冊所關心數據,服務器記錄每個用戶關心的數據。當數據變化通知相應的用戶。
廣播式:當數據的變化時,服務器向所有客戶發出通知。
1.3.2與I/O設備通信
1) 通信模式
設備驅動程序與I/O設備通訊一般采用請求式,大多數設備都支持這種通訊方式,當然也有的設備支持主動發送方式。主動發送方式即I/O設備在數據改變時主動向外界報告數據。有的設備也支持訂閱式通信。設備驅動程序應該能夠支持各種通信模式。
2) 通信協議
通信協議即與設備間的會話格式,可以理解為一種簡單的交流語言。這些語言有一定的地方性,尤其是國產的PLC,智能儀表。常見的協議有Modbus, Profibus等。設備驅動程序必須為每種協議編制相應的代碼。開發一設備驅動一般為1~5周,這要根據協議的復雜程度決定。軟件商一般將該部分做成標準開發包,用戶可以自己開發。
服務器可同時帶有多個不同種類的驅動程序,這樣服務器就可以同時跟多種設備進行通信。
1.3.3與外界通信
為了效率,服務器上的實時數據和歷史數據一般都以私有格式存放,實時數據駐留在內存中,而歷史數據保存在磁盤中,事件記錄也可能以私有格式保存在磁盤中,但有些軟件可以將其直接存放到關系數據庫(如Ms SQL Server,ORACLE)中。由于無論采用直接方式還是ODBC與關系數據庫通訊,速度都是比較慢的,所以不可能將快速變化的數據都存放到關系數據庫中。那么服務器內這些私有格式的數據是如何與外界的呢,下面簡要說明。
SCADA通過多種方式與外界通信。如OPC,一般都會提供OPC客戶端,用來與設備廠家提供的OPC服務器進行通訊。因為OPC有微軟內定的標準,所以OPC客戶端無需修改就可以與各家提供的OPC服務器進行通訊?,F在國外的硬件廠商大多都能提供OPC服務器,而國內的硬件廠商確很少。SCADA供應商一般也會提供自己的OPC服務器,以便別人通過OPC訪問自己,這樣也實現了不同SCADA間的互聯。此外還有其他的一些通訊手段,如:
ODBC,第三方程序通過ODBC訪問歷史數據,事件記錄等。
API接口:可以在編程環境(如VB,VC)中使用該接口。
OLE控件:可以在各種編程環境下使用,也可以嵌入到支持OLE包容器的程序中,如Ms Word。
DDE:微軟的動態數據交換協議。
2.整體構架
由服務器,客戶端構成了SCADA C/S結構,由服務器,Web服務器,Web客戶構成了SCADA B/S結構。服務器配置在不同的機器上,甚至不同的操作系統平臺上,彼此分工協作,形成統一整體,構成了SCADA的分布式體系結構。
為了增加系統的可靠性,服務器端允許雙機熱備,重要場合可以一機多備。服務器雙機熱備一般是將兩臺機器配置相同,一臺作為主站,另一臺機器作為副站,主站完成服務器的正常工作,另一臺與其同步。當主站故障時,副站接替主站的工作。主站與副站是相對的,可互換的。雙機熱備包含I/O通道的熱備。 由于多個客戶可以同時訪問一個服務器端,所以客戶端本來就是多重的。
一個系統中,可以有多個服務器,每個服務器可帶有多個I/O設備??蛻舳丝梢栽L問一臺或多臺服務器。Web服務器可以作為多個服務器的代理,將Web客戶與各服務器連接起來.