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