SCADA簡介 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,以太網等連接方式。總線方式與點到點方式區別主要在於:點到點是一對一,而總線方式是一對多,或多對多。
在(zai)一(yi)個(ge)係(xi)統(tong)中(zhong)可(ke)以(yi)隻(zhi)有(you)一(yi)個(ge)服(fu)務(wu)器(qi),也(ye)可(ke)以(yi)有(you)多(duo)個(ge),客(ke)戶(hu)也(ye)可(ke)以(yi)一(yi)個(ge)或(huo)多(duo)個(ge)。隻(zhi)有(you)一(yi)個(ge)服(fu)務(wu)器(qi)和(he)一(yi)個(ge)客(ke)戶(hu)的(de),並(bing)且(qie)二(er)者(zhe)運(yun)行(xing)在(zai)同(tong)一(yi)台(tai)機(ji)器(qi)上(shang)的(de)就(jiu)是(shi)通(tong)常(chang)所(suo)說(shuo)的(de)單(dan)機(ji)版(ban)。服(fu)務(wu)器(qi)之(zhi)間(jian),服(fu)務(wu)器(qi)與(yu)客(ke)戶(hu)之(zhi)間(jian)一(yi)般(ban)通(tong)過(guo)以(yi)太(tai)網(wang)互(hu)連(lian),有(you)些(xie)場(chang)合(he)(如安全性考慮或距離較遠)也通過串口、電話撥號或GPRS方式相連。典型的硬件配置圖如下:
1.2 軟件體係結構
SCADA有很多任務組成,每個任務完成特定的功能。位於一個或多個機器上的服務器負責數據采集,數據處理(如量程轉換、濾波、報警檢查、計算、事件記錄、曆史存儲、執行用戶腳本等)。服(fu)務(wu)器(qi)間(jian)可(ke)以(yi)相(xiang)互(hu)通(tong)訊(xun)。有(you)些(xie)係(xi)統(tong)將(jiang)服(fu)務(wu)器(qi)進(jin)一(yi)步(bu)單(dan)獨(du)劃(hua)分(fen)成(cheng)若(ruo)幹(gan)專(zhuan)門(men)服(fu)務(wu)器(qi),如(ru)報(bao)警(jing)服(fu)務(wu)器(qi),記(ji)錄(lu)服(fu)務(wu)器(qi),曆(li)史(shi)服(fu)務(wu)器(qi),登(deng)錄(lu)服(fu)務(wu)器(qi)等(deng)。各(ge)服(fu)務(wu)器(qi)邏(luo)輯(ji)上(shang)作(zuo)為(wei)統(tong)一(yi)整(zheng)體(ti),但(dan)物(wu)理(li)上(shang)可(ke)能(neng)放(fang)置(zhi)在(zai)不(bu)同(tong)的(de)機(ji)器(qi)上(shang)。分(fen)類(lei)劃(hua)分(fen)的(de)好(hao)處(chu)是(shi)可(ke)以(yi)將(jiang)多(duo)個(ge)服(fu)務(wu)器(qi)的(de)各(ge)種(zhong)數(shu)據(ju)統(tong)一(yi)管(guan)理(li)、分工協作,缺點是效率低,局部故障可能影響整個係統。
典型的硬件配置圖如下:
1.3 通信
1.3.1內部通信
客戶與服務器間以及服務器與服務器間一般有三種通信形式,請求式,訂閱式與廣播式。請求式:客戶周期性向服務器發出請求,然後服務器為客戶準備數據,傳送給客戶。
訂閱式:客戶向服務器注冊所關心數據,服務器記錄每個用戶關心的數據。當數據變化通知相應的用戶。
廣播式:當數據的變化時,服務器向所有客戶發出通知。
1.3.2與I/O設備通信
1) 通信模式
設備驅動程序與I/O設備通訊一般采用請求式,大多數設備都支持這種通訊方式,當然也有的設備支持主動發送方式。主動發送方式即I/O設備在數據改變時主動向外界報告數據。有的設備也支持訂閱式通信。設備驅動程序應該能夠支持各種通信模式。
2) 通信協議
通信協議即與設備間的會話格式,可以理解為一種簡單的交流語言。這些語言有一定的地方性,尤其是國產的PLC,智能儀表。常見的協議有Modbus, Profibus等。設備驅動程序必須為每種協議編製相應的代碼。開發一設備驅動一般為1~5周,這要根據協議的複雜程度決定。軟件商一般將該部分做成標準開發包,用戶可以自己開發。
服務器可同時帶有多個不同種類的驅動程序,這樣服務器就可以同時跟多種設備進行通信。
1.3.3與外界通信
為wei了le效xiao率lv,服fu務wu器qi上shang的de實shi時shi數shu據ju和he曆li史shi數shu據ju一yi般ban都dou以yi私si有you格ge式shi存cun放fang,實shi時shi數shu據ju駐zhu留liu在zai內nei存cun中zhong,而er曆li史shi數shu據ju保bao存cun在zai磁ci盤pan中zhong,事shi件jian記ji錄lu也ye可ke能neng以yi私si有you格ge式shi保bao存cun在zai磁ci盤pan中zhong,但dan有you些xie軟ruan件jian可ke以yi將jiang其qi直zhi接jie存cun放fang到dao關guan係xi數shu據ju庫ku(如Ms SQL Server,ORACLE)中。由於無論采用直接方式還是ODBCyuguanxishujukutongxun,sududoushibijiaomande,suoyibukenengjiangkuaisubianhuadeshujudoucunfangdaoguanxishujukuzhong。namefuwuqineizhexiesiyougeshideshujushiruheyuwaijielianxidene,xiamianjianyaoshuoming。
SCADA通過多種方式與外界通信。如OPC,一般都會提供OPC客戶端,用來與設備廠家提供的OPC服務器進行通訊。因為OPC有微軟內定的標準,所以OPC客戶端無需修改就可以與各家提供的OPC服務器進行通訊。現在國外的硬件廠商大多都能提供OPC服務器,而國內的硬件廠商確很少。SCADA供應商一般也會提供自己的OPC服務器,以便別人通過OPC訪問自己,這樣也實現了不同SCADA間的互聯。此外還有其他的一些通訊手段,如:
l ODBC,第三方程序通過ODBC訪問曆史數據,事件記錄等。
l API接口:可以在編程環境(如VB,VC)中使用該接口。
l OLE控件:可以在各種編程環境下使用,也可以嵌入到支持OLE包容器的程序中,如Ms Word。
l DDE:微軟的動態數據交換協議。
2.整體構架
由服務器,客戶端構成了SCADA C/S結構,由服務器,Web服務器,Web客戶構成了SCADA B/S結構。服務器配置在不同的機器上,甚至不同的操作係統平台上,彼此分工協作,形成統一整體,構成了SCADA的分布式體係結構。
weilezengjiaxitongdekekaoxing,fuwuqiduanyunxushuangjirebei,zhongyaochanghekeyiyijiduobei。fuwuqishuangjirebeiyibanshijiangliangtaijiqipeizhixiangtong,yitaizuoweizhuzhan,lingyitaijiqizuoweifuzhan,zhuzhanwanchengfuwuqidezhengchanggongzuo,lingyitaiyuqitongbu。dangzhuzhanguzhangshi,fuzhanjietizhuzhandegongzuo。zhuzhanyufuzhanshixiangduide,kehuhuande。shuangjirebeibaohanI/O通道的熱備。 由於多個客戶可以同時訪問一個服務器端,所以客戶端本來就是多重的。
一個係統中,可以有多個服務器,每個服務器可帶有多個I/O設備。客戶端可以訪問一台或多台服務器。Web服務器可以作為多個服務器的代理,將Web客戶與各服務器連接起來,這就構成了如下圖所示的體係結構:
3.內部組織概述
3.1 服務器內部組織
服務器包括過程數據庫,I/O驅動,Web服務器等。服務器的核心是過程數據庫,下麵對其內部組織加以介紹。
過程數據庫是由完成各種特定功能的算法塊組成,這些算法塊也被稱為“內部儀表”或“虛擬儀表”,更常用的稱呼是“點”。
點是組成過程數據庫的基本單位,點分為很多類型,每種類型的點完成一定的功能,如模擬I/O點,專門用於對模擬I/O進行處理,PID點完成PID控製運算等。點由各種參數組成,不同的點有不同的參數,如模擬I/O點有NAME,PV,LO,HI等(deng)參(can)數(shu)。可(ke)以(yi)想(xiang)象(xiang)點(dian)類(lei)型(xing)相(xiang)當(dang)於(yu)關(guan)係(xi)數(shu)據(ju)庫(ku)中(zhong)的(de)表(biao)結(jie)構(gou),參(can)數(shu)相(xiang)當(dang)於(yu)字(zi)段(duan)。與(yu)表(biao)結(jie)構(gou)不(bu)同(tong)的(de)是(shi),每(mei)種(zhong)點(dian)類(lei)型(xing)有(you)特(te)定(ding)的(de)內(nei)部(bu)處(chu)理(li)算(suan)法(fa),參(can)數(shu)間(jian)存(cun)在(zai)內(nei)定(ding)的(de)聯(lian)係(xi),如(ru)LO是PV的低限報警值,PV低於LO將產生低限報警,報警檢查是點的內置功能,不需要編寫另外的程序來實現。
參數是組成數據庫的最小單位。一般地,一個點隻有一個參數與外界相連,通常稱其為測量值(PV)。其他參數作為PV的輔助參數,如LO為PV的低限報警限值,HI為PV的高限報警限值,SP為PV的目標值等。有的係統允許一個點有多個參數與外界相連。
點的測量值(PV)通常與控製器(如PLC)的輸入/輸出通道相連。PV值代表I/O量的大小或狀態。
按照裝置或場地可以將點邏輯的劃分為區域或單元。一般區域包括單元。
3.2 人機界麵內部組織
人機界麵由很多窗口組成,窗口包含圖形和文字。文字和圖形可動態變化。如文字可顯示現場I/O量的大小,圖形的顏色變化表示現場狀態量的改變等。
同時顯示的窗口一般隻有一個,窗口間可以互相連接、跳轉,也可以設立菜單或專門的窗口負責窗口間的切換。
人機界麵開發環境中提供了各種繪畫工具,如畫矩形、橢圓、文字、位圖等工具。同時提供了動畫連接手段,使圖形、文字等與現場的數據相關聯。現場數據變化則畫麵上圖形顏色、位置等也相應改變,通過觀察畫麵上的圖形文字就可以知曉現場的狀態,並稱這種圖形文字與數據之間的聯係為“動畫鏈接”。
可以手工的繪製各種工藝對象,如罐、閥門、泵等。為了方便使用人機界麵開發環境都提供了現成的小圖形,稱之為“子圖”。在子圖中可以找到各種現成的圖形,如各種形狀的閥門。有的子圖還與特定的動畫連接捆綁,更加方便使用。
qushiturenjijiemianbukequeshaodezuchengbufen。qushituyiquxiandexingshixianshiguochengshujukuzhongshishishujuhuolishishuju。yibanshishishujuhelishishujufenbiezaibutongdequshituzhongxianshi。yifuqushituzhongtongchangzuiduoxianshibatiaoquxian,quxiankeyifangda、滾動。趨勢筆可以在開發環境中定義,也可以在運行時動態指定。
報表是人機界麵的重要組成部分。開發環境提供專門的報表生成工具,方便的形成各種報表。報表中的數據可以有瞬時值、曆史值、統計值。還可以讓報表定時打印。另外還可以利用SCADA的Excel插件,用Ms Excel生成報表。
此外,在人機界麵中還有許多其它種類的組件,如XY曲線、報警瀏覽、總貌等。另外人機界麵幾乎都是OLE容器,可以嵌入OLE對象,或ActiveX控件。
4.重要功能
過程報警
過程報警是過程數據庫的基本功能。報警是對測量值的範圍、變bian化hua速su度du的de預yu警jing。報bao警jing包bao括kuo限xian值zhi報bao警jing,變bian化hua率lv報bao警jing,偏pian差cha報bao警jing,異yi常chang報bao警jing等deng。更geng複fu雜za的de報bao警jing可ke以yi通tong過guo對dui測ce量liang值zhi進jin行xing數shu學xue運yun算suan,然ran後hou對dui運yun算suan結jie果guo進jin行xing報bao警jing檢jian查zha而er產chan生sheng。發fa生sheng報bao警jing後hou,操cao作zuo員yuan可ke以yi通tong過guo報bao警jing畫hua麵mian對dui報bao警jing進jin行xing“確認”,“確認”就是告訴係統我知道了發生的事,以免係統再次提醒。報警信息,報警確認信息,報警恢複(報警消除)等信息都可以被係統自動記錄下來。報警按照重要程度可分為多個優先級,如低級、高級、緊急。
報警發生時係統可以通過多種方式通知用戶,如彈出報警窗、發出聲響,甚至可以發送短信或電子郵件。至於使用哪種方式,用戶可以自由指定。
曆史存儲
對實時數據可以進行曆史存儲。曆史數據對於生產狀況分析、實現先進/優化控製、以(yi)及(ji)生(sheng)產(chan)事(shi)故(gu)分(fen)析(xi)非(fei)常(chang)重(zhong)要(yao),所(suo)以(yi)將(jiang)重(zhong)要(yao)的(de)工(gong)藝(yi)數(shu)據(ju)都(dou)會(hui)進(jin)行(xing)長(chang)期(qi)曆(li)史(shi)保(bao)存(cun)。為(wei)了(le)節(jie)省(sheng)存(cun)儲(chu)介(jie)質(zhi)空(kong)間(jian),對(dui)保(bao)存(cun)的(de)數(shu)據(ju)使(shi)用(yong)壓(ya)縮(suo)保(bao)存(cun)。常(chang)用(yong)的(de)保(bao)存(cun)方(fang)式(shi)有(you)周(zhou)期(qi)性(xing)保(bao)存(cun)和(he)變(bian)化(hua)保(bao)存(cun)(數據隻有變化到一定程度才保存)。
腳本語言
除了固定格式的功能,如點內部處理(能夠完成幾種固定形式的功能,如量程轉換、報警檢查、PID運算),動畫連接(能夠完成幾種固定形式的動畫,如顏色、位置改變)等,SCADA還允許用戶定義特殊的邏輯、運算,這是通過SCADA的內置編程語言實現的。SCADA的提供的編程環境有的是內嵌VBA編譯器,有的是自定義的類似BASIC或類似C語言的編譯器。無論是哪種編程環境SCADA都要提供很多訪問自身數據的屬性、方法,以便在編程環境中與SCADA係統交互。這種內置的編程語言經常稱作“動作”,現在更多的稱呼是“腳本”。這裏的腳本與Excel中的“宏”類似。通過腳本用戶可以自由擴展係統功能。
腳本與一般編程語言類似,在腳本中提供多種運算操作(如賦值、數學運算、邏輯運算),控製語句(如條件判斷,循環,分支),以及內置函數等。有的SCADA還支持自定義函數。
腳本的觸發方式有多種:一次性執行(如進入窗口時執行);周期執行;事件觸發執行(如數據改變時執行,按鍵觸發)。
腳本也能產生多種輸出動作:如向過程數據庫寫數據;發送短信;調用窗口;產生聲響等。
5. SCADA的益處
使用SCADA軟件能夠帶來的好處可列舉如下:
l 提高效率。SCADA的開發一般需要20~100人年,並且不斷的采用新技術,吸取用戶的經驗,在使用中不斷提高。SCADA綜合用戶的需求,將工程中共性東西提煉出來,製成相應的模式或模塊,以幫助用戶快速實現自己的工程。因此使用SCADA可以跟上時代的發展,並能提高自己的工作效率。
l 一致性。SCADA的(de)提(ti)供(gong)固(gu)定(ding)的(de)格(ge)式(shi),讓(rang)用(yong)戶(hu)實(shi)現(xian)自(zi)己(ji)的(de)工(gong)程(cheng),有(you)的(de)是(shi)填(tian)表(biao)式(shi)的(de),有(you)的(de)是(shi)向(xiang)導(dao)式(shi)的(de)。無(wu)論(lun)是(shi)誰(shui)來(lai)組(zu)態(tai),同(tong)樣(yang)的(de)工(gong)程(cheng)要(yao)求(qiu),形(xing)成(cheng)的(de)組(zu)態(tai)結(jie)果(guo)都(dou)是(shi)相(xiang)同(tong)的(de),或(huo)者(zhe)差(cha)異(yi)很(hen)小(xiao)。
l 可維護性。SCADA內部功能強大,組織複雜,但是對用戶是透明的,所以用戶的組態工作量不大,或者隻是重複性較大。因此工程易於維護。
l 使用SCADA能夠得到有效的技術支持。技術支持不但包括使用SCADA上的,也可能包括你工程上的。因為SCADA技術支持人員經常與各行業的人員交流,所以可以將你的同行經驗介紹給你。
以上是對SCADA的一些總結。有問題請mailto:.
版權所有