SCADA簡介
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)行通信。
1.3.3與外界通信
為了效率,服務(wù)器上的實(shí)時(shí)數(shù)據(jù)和歷史數(shù)據(jù)一般都以私有格式存放,實(shí)時(shí)數(shù)據(jù)駐留在內(nèi)存中,而歷史數(shù)據(jù)保存在磁盤中,事件記錄也可能以私有格式保存在磁盤中,但有些軟件可以將其直接存放到關(guān)系數(shù)據(jù)庫(如Ms SQL Server,ORACLE)中。由于無論采用直接方式還是ODBC與關(guān)系數(shù)據(jù)庫通訊,速度都是比較慢的,所以不可能將快速變化的數(shù)據(jù)都存放到關(guān)系數(shù)據(jù)庫中。那么服務(wù)器內(nèi)這些私有格式的數(shù)據(jù)是如何與外界聯(lián)系的呢,下面簡要說明。
SCADA通過多種方式與外界通信。如OPC,一般都會提供OPC客戶端,用來與設(shè)備廠家提供的OPC服務(wù)器進(jìn)行通訊。因?yàn)镺PC有微軟內(nèi)定的標(biāo)準(zhǔn),所以O(shè)PC客戶端無需修改就可以與各家提供的OPC服務(wù)器進(jìn)行通訊。現(xiàn)在國外的硬件廠商大多都能提供OPC服務(wù)器,而國內(nèi)的硬件廠商確很少。SCADA供應(yīng)商一般也會提供自己的OPC服務(wù)器,以便別人通過OPC訪問自己,這樣也實(shí)現(xiàn)了不同SCADA間的互聯(lián)。此外還有其他的一些通訊手段,如:
l ODBC,第三方程序通過ODBC訪問歷史數(shù)據(jù),事件記錄等。
l API接口:可以在編程環(huán)境(如VB,VC)中使用該接口。
l OLE控件:可以在各種編程環(huán)境下使用,也可以嵌入到支持OLE包容器的程序中,如Ms Word。
l DDE:微軟的動態(tài)數(shù)據(jù)交換協(xié)議。
2.整體構(gòu)架
由服務(wù)器,客戶端構(gòu)成了SCADA C/S結(jié)構(gòu),由服務(wù)器,Web服務(wù)器,Web客戶構(gòu)成了SCADA B/S結(jié)構(gòu)。服務(wù)器配置在不同的機(jī)器上,甚至不同的操作系統(tǒng)平臺上,彼此分工協(xié)作,形成統(tǒng)一整體,構(gòu)成了SCADA的分布式體系結(jié)構(gòu)。
為了增加系統(tǒng)的可靠性,服務(wù)器端允許雙機(jī)熱備,重要場合可以一機(jī)多備。服務(wù)器雙機(jī)熱備一般是將兩臺機(jī)器配置相同,一臺作為主站,另一臺機(jī)器作為副站,主站完成服務(wù)器的正常工作,另一臺與其同步。當(dāng)主站故障時(shí),副站接替主站的工作。主站與副站是相對的,可互換的。雙機(jī)熱備包含I/O通道的熱備。 由于多個(gè)客戶可以同時(shí)訪問一個(gè)服務(wù)器端,所以客戶端本來就是多重的。
一個(gè)系統(tǒng)
3.內(nèi)部組織概述
3.1 服務(wù)器內(nèi)部組織
服務(wù)器包括過程數(shù)據(jù)庫,I/O驅(qū)動,Web服務(wù)器等。服務(wù)器的核心是過程數(shù)據(jù)庫,下面對其內(nèi)部組織加以介紹。
過程數(shù)據(jù)庫是由完成各種特定功能的算法塊組成,這些算法塊也被稱為“內(nèi)部儀表”或“虛擬儀表”,更常用的稱呼是“點(diǎn)”。
點(diǎn)是組成過程數(shù)據(jù)庫的基本單位,點(diǎn)分為很多類型,每種類型的點(diǎn)完成一定的功能,如模擬I/O點(diǎn),專門用于對模擬I/O進(jìn)行處理,PID點(diǎn)完成PID控制運(yùn)算等。點(diǎn)由各種參數(shù)組成,不同的點(diǎn)有不同的參數(shù),如模擬I/O點(diǎn)有NAME,PV,LO,HI等參數(shù)??梢韵胂簏c(diǎn)類型相當(dāng)于關(guān)系數(shù)據(jù)庫中的表結(jié)構(gòu),參數(shù)相當(dāng)于字段。與表結(jié)構(gòu)不同的是,每種點(diǎn)類型有特定的內(nèi)部處理算法,參數(shù)間存在內(nèi)定的聯(lián)系,如LO是PV的低限報(bào)警值,PV低于LO將產(chǎn)生低限報(bào)警,報(bào)警檢查是點(diǎn)的內(nèi)置功能,不需要編寫另外的程序來實(shí)現(xiàn)。
參數(shù)是組成數(shù)據(jù)庫的最小單位。一般地,一個(gè)點(diǎn)只有一個(gè)參數(shù)與外界相連,通常稱其為測量值(PV)。其他參數(shù)作為PV的輔助參數(shù),如LO為PV的低限報(bào)警限值,HI為PV的高限報(bào)警限值,SP為PV的目標(biāo)值等。有的系統(tǒng)允許一個(gè)點(diǎn)有多個(gè)參數(shù)與外界相連。
點(diǎn)的測量值(PV)通常與控制器(如PLC)的輸入/輸出通道相連。PV值代表I/O量的大小或狀態(tài)。
按照裝置或場地可以將點(diǎn)邏輯的劃分為區(qū)域或單元。一般區(qū)域包括單元。
3.2 人機(jī)界面內(nèi)部組織
人機(jī)界面由很多窗口組成,窗口包含圖形和文字。文字和圖形可動態(tài)變化。如文字可顯示現(xiàn)場I/O量的大小,圖形的顏色變化表示現(xiàn)場狀態(tài)量的改變等。
同時(shí)顯示的窗口一般只有一個(gè),窗口間可以互相連接、跳轉(zhuǎn),也可以設(shè)立菜單或?qū)iT的窗口負(fù)責(zé)窗口間的切換。
人機(jī)界面開發(fā)環(huán)境中提供了各種繪畫工具,如畫矩形、橢圓、文字、位圖等工具。同時(shí)提供了動畫連接手段,使圖形、文字等與現(xiàn)場的數(shù)據(jù)相關(guān)聯(lián)。現(xiàn)場數(shù)據(jù)變化則畫面上圖形顏色、位置等也相應(yīng)改變,通過觀察畫面上的圖形文字就可以知曉現(xiàn)場的狀態(tài),并稱這種圖形文字與數(shù)據(jù)之間的聯(lián)系為“動畫鏈接”。
可以手工的繪制各種工藝對象,如罐、閥門、泵等。為了方便使用人機(jī)界面開發(fā)環(huán)境都提供了現(xiàn)成的小圖形,稱之為“子圖”。在子圖中可以找到各種現(xiàn)成的圖形,如各種形狀的閥門。有的子圖還與特定的動畫連接捆綁,更加方便使用。
趨勢圖人機(jī)界面不可缺少的組成部分。趨勢圖以曲線的形式顯示過程數(shù)據(jù)庫中實(shí)時(shí)數(shù)據(jù)或歷史數(shù)據(jù)。一般實(shí)時(shí)數(shù)據(jù)和歷史數(shù)據(jù)分別在不同的趨勢圖中顯示。一幅趨勢圖中通常最多顯示八條曲線,曲線可以放大、滾動。趨勢筆可以在開發(fā)環(huán)境中定義,也可以在運(yùn)行時(shí)動態(tài)指定。
報(bào)表是人機(jī)界面的重要組成部分。開發(fā)環(huán)境提供專門的報(bào)表生成工具,方便的形成各種報(bào)表。報(bào)表中的數(shù)據(jù)可以有瞬時(shí)值、歷史值、統(tǒng)計(jì)值。還可以讓報(bào)表定時(shí)打印。另外還可以利用SCADA的Excel插件,用Ms Excel生成報(bào)表。
此外,在人機(jī)界面中還有許多其它種類的組件,如XY曲線、報(bào)警瀏覽、總貌等。另外人機(jī)界面幾乎都是OLE容器,可以嵌入OLE對象,或ActiveX控件。
4.重要功能
過程報(bào)警
過程報(bào)警是過程數(shù)據(jù)庫的基本功能。報(bào)警是對測量值的范圍、變化速度的預(yù)警。報(bào)警包括限值報(bào)警,變化率報(bào)警,偏差報(bào)警,異常報(bào)警等。更復(fù)雜的報(bào)警可以通過對測量值進(jìn)行數(shù)學(xué)運(yùn)算,然后對運(yùn)算結(jié)果進(jìn)行報(bào)警檢查而產(chǎn)生。發(fā)生報(bào)警后,操作員可以通過報(bào)警畫面對報(bào)警進(jìn)行“確認(rèn)”,“確認(rèn)”就是告訴系統(tǒng)我知道了發(fā)生的事,以免系統(tǒng)再次提醒。報(bào)警信息,報(bào)警確認(rèn)信息,報(bào)警恢復(fù)(報(bào)警消除)等信息都可以被系統(tǒng)自動記錄下來。報(bào)警按照重要程度可分為多個(gè)優(yōu)先級,如低級、高級、緊急。
報(bào)警發(fā)生時(shí)系統(tǒng)可以通過多種方式通知用戶,如彈出報(bào)警窗、發(fā)出聲響,甚至可以發(fā)送短信或電子郵件。至于使用哪種方式,用戶可以自由指定。
歷史存儲
對實(shí)時(shí)數(shù)據(jù)可以進(jìn)行歷史存儲。歷史數(shù)據(jù)對于生產(chǎn)狀況分析、實(shí)現(xiàn)先進(jìn)/優(yōu)化控制、以及生產(chǎn)事故分析非常重要,所以將重要的工藝數(shù)據(jù)都會進(jìn)行長期歷史保存。為了節(jié)省存儲介質(zhì)空間,對保存的數(shù)據(jù)使用壓縮保存。常用的保存方式有周期性保存和變化保存(數(shù)據(jù)只有變化到一定程度才保存)。
腳本語言
除了固定格式的功能,如點(diǎn)內(nèi)部處理(能夠完成幾種固定形式的功能,如量程轉(zhuǎn)換
腳本與一般編程語言類似,在腳本中提供多種運(yùn)算操作(如賦值、數(shù)學(xué)運(yùn)算、邏輯運(yùn)算),控制語句(如條件判斷,循環(huán),分支),以及內(nèi)置函數(shù)等。有的SCADA還支持自定義函數(shù)。
腳本的觸發(fā)方式有多種:一次性執(zhí)行(如進(jìn)入窗口時(shí)執(zhí)行);周期執(zhí)行;事件觸發(fā)執(zhí)行(如數(shù)據(jù)改變時(shí)執(zhí)行,按鍵觸發(fā))。
腳本也能產(chǎn)生多種輸出動作:如向過程數(shù)據(jù)庫寫數(shù)據(jù);發(fā)送短信;調(diào)用窗口;產(chǎn)生聲響等。
5. SCADA的益處
使用SCADA軟件能夠帶來的好處可列舉如下:
l 提高效率。SCADA的開發(fā)一般需要20~100人年,并且不斷的采用新技術(shù),吸取用戶的經(jīng)驗(yàn),在使用中不斷提高。SCADA綜合用戶的需求,將工程中共性東西提煉出來,制成相應(yīng)的模式或模塊,以幫助用戶快速實(shí)現(xiàn)自己的工程。因此使用SCADA可以跟上時(shí)代的發(fā)展,并能提高自己的工作效率。
l 一致性。SCADA的提供固定的格式,讓用戶實(shí)現(xiàn)自己的工程,有的是填表式的,有的是向?qū)降?。無論是誰來組態(tài),同樣的工程要求,形成的組態(tài)結(jié)果都是相同的,或者差異很小。
l 可維護(hù)性。SCADA內(nèi)部功能強(qiáng)大,組織復(fù)雜,但是對用戶是透明的,所以用戶的組態(tài)工作量不大,或者只是重復(fù)性較大。因此工程易于維護(hù)。
l 使用SCADA能夠得到有效的技術(shù)支持。技術(shù)支持不但包括使用SCADA上的,也可能包括你工程上的。因?yàn)镾CADA技術(shù)支持人員經(jīng)常與各行業(yè)的人員交流,所以可以將你的同行經(jīng)驗(yàn)介紹給你。
pid控制器相關(guān)文章:pid控制器原理
評論