SCADA是Supervisory Control And Data Acquisition的英文縮寫,國內流行叫法為監控組態軟件。從字面上講,它不是完整的控制系統,而是位于控制設備之上,側重于管理的純軟件。SCADA所接的控制設備通常是PLC(可編程控制器),也可以是智能表,板卡等。
早期的SCADA運行與DOS,UNIX,VMS.現在多數運行在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周,這要根據協議的復雜程度決定。軟件商一般將該部分做成標準開發包,用戶可以自己開發。
服務器可同時帶有多個不同種類的驅動程序,這樣服務器就可以同時跟多種設備進行通信。