SCADA是Supervisory Control And Data Acquisition的英文縮寫,,國內(nèi)流行叫法為監(jiān)控組態(tài)軟件,。從字面上講,它不是完整的控制系統(tǒng),,而是位于控制設(shè)備之上,,側(cè)重于管理的純軟件。SCADA所接的控制設(shè)備通常是PLC(可編程控制器),,也可以是智能表,,板卡等。
早期的SCADA運(yùn)行與DOS,UNIX,VMS.現(xiàn)在多數(shù)運(yùn)行在Windows操作系統(tǒng)中,,有的可以運(yùn)行在Linux系統(tǒng),。
SCADA不只是應(yīng)用于工業(yè)領(lǐng)域,如鋼鐵,、電力,、化工,還廣泛用于食品,,醫(yī)藥,、建筑、科研等行業(yè),。其連接的I/O通道數(shù)從幾十到幾萬不等,。下面就其結(jié)構(gòu)、功能、接口,、開發(fā)工具等方面予以介紹,。
一、SCADA體系結(jié)構(gòu)
1.1 硬件結(jié)構(gòu)
通常SCADA系統(tǒng)分為兩個(gè)層面,,即客戶/服務(wù)器體系結(jié)構(gòu),。服務(wù)器與硬件設(shè)備通信,進(jìn)行數(shù)據(jù)處理何運(yùn)算,。而客戶用于人機(jī)交互,,如用文字、動畫顯示現(xiàn)場的狀態(tài),,并可以對現(xiàn)場的開關(guān),、閥門進(jìn)行操作。近年來又出現(xiàn)一個(gè)層面,,通過Web發(fā)布在Internat上進(jìn)行監(jiān)控,,可以認(rèn)為這是一種"超遠(yuǎn)程客戶".
硬件設(shè)備(如PLC)一般既可以通過點(diǎn)到點(diǎn)方式連接,也可以以總線方式連接到服務(wù)器上,。點(diǎn)到點(diǎn)連接一般通過串口(RS232),,總線方式可以是RS485,以太網(wǎng)等連接方式??偩€方式與點(diǎn)到點(diǎn)方式區(qū)別主要在于:點(diǎn)到點(diǎn)是一對一,,而總線方式是一對多,或多對多,。
在一個(gè)系統(tǒng)中可以只有一個(gè)服務(wù)器,,也可以有多個(gè),客戶也可以一個(gè)或多個(gè),。只有一個(gè)服務(wù)器和一個(gè)客戶的,,并且二者運(yùn)行在同一臺機(jī)器上的就是通常所說的單機(jī)版。服務(wù)器之間,,服務(wù)器與客戶之間一般通過以太網(wǎng)互連,,有些場合(如安全性考慮或距離較遠(yuǎn))也通過串口、電話撥號或GPRS方式相連,。
1.2 軟件體系結(jié)構(gòu)
SCADA有很多任務(wù)組成,,每個(gè)任務(wù)完成特定的功能。位于一個(gè)或多個(gè)機(jī)器上的服務(wù)器負(fù)責(zé)數(shù)據(jù)采集,,數(shù)據(jù)處理(如量程轉(zhuǎn)換,、濾波、報(bào)警檢查,、計(jì)算,、事件記錄、歷史存儲、執(zhí)行用戶腳本等),。服務(wù)器間可以相互通訊,。有些系統(tǒng)將服務(wù)器進(jìn)一步單獨(dú)劃分成若干專門服務(wù)器,如報(bào)警服務(wù)器,,記錄服務(wù)器,,歷史服務(wù)器,登錄服務(wù)器等,。各服務(wù)器邏輯上作為統(tǒng)一整體,,但物理上可能放置在不同的機(jī)器上。分類劃分的好處是可以將多個(gè)服務(wù)器的各種數(shù)據(jù)統(tǒng)一管理,、分工協(xié)作,,缺點(diǎn)是效率低,,局部故障可能影響整個(gè)系統(tǒng),。
典型的硬件配置圖如下:
1.3 通信
1.3.1內(nèi)部通信
客戶與服務(wù)器間以及服務(wù)器與服務(wù)器間一般有三種通信形式,請求式,,訂閱式與廣播式,。請求式:客戶周期性向服務(wù)器發(fā)出請求,然后服務(wù)器為客戶準(zhǔn)備數(shù)據(jù),,傳送給客戶,。
訂閱式:客戶向服務(wù)器注冊所關(guān)心數(shù)據(jù),服務(wù)器記錄每個(gè)用戶關(guān)心的數(shù)據(jù),。當(dāng)數(shù)據(jù)變化通知相應(yīng)的用戶,。
廣播式:當(dāng)數(shù)據(jù)的變化時(shí),服務(wù)器向所有客戶發(fā)出通知,。
1.3.2與I/O設(shè)備通信
1) 通信模式
設(shè)備驅(qū)動程序與I/O設(shè)備通訊一般采用請求式,,大多數(shù)設(shè)備都支持這種通訊方式,當(dāng)然也有的設(shè)備支持主動發(fā)送方式,。主動發(fā)送方式即I/O設(shè)備在數(shù)據(jù)改變時(shí)主動向外界報(bào)告數(shù)據(jù),。有的設(shè)備也支持訂閱式通信。設(shè)備驅(qū)動程序應(yīng)該能夠支持各種通信模式,。
2) 通信協(xié)議
通信協(xié)議即與設(shè)備間的會話格式,,可以理解為一種簡單的交流語言。這些語言有一定的地方性,,尤其是國產(chǎn)的PLC,智能儀表,。常見的協(xié)議有Modbus, Profibus等。設(shè)備驅(qū)動程序必須為每種協(xié)議編制相應(yīng)的代碼,。開發(fā)一設(shè)備驅(qū)動一般為1~5周,,這要根據(jù)協(xié)議的復(fù)雜程度決定。軟件商一般將該部分做成標(biāo)準(zhǔn)開發(fā)包,用戶可以自己開發(fā),。
服務(wù)器可同時(shí)帶有多個(gè)不同種類的驅(qū)動程序,,這樣服務(wù)器就可以同時(shí)跟多種設(shè)備進(jìn)行通信。