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,以太網等連接方式。總線方式與點到點方式區別主要在於:點到點是一對一,而總線方式是一對多,或多對多。 zaiyigexitongzhongkeyizhiyouyigefuwuqi,yekeyiyouduoge,kehuyekeyiyigehuoduoge。zhiyouyigefuwuqiheyigekehude,bingqieerzheyunxingzaitongyitaijiqishangdejiushitongchangsuoshuodedanjiban。fuwuqizhijian,fuwuqiyukehuzhijianyibantongguoyitaiwanghulian,youxiechanghe(如安全性考慮或距離較遠)也通過串口、電話撥號或GPRS方式相連。 1.2 軟件體係結構 SCADA有很多任務組成,每個任務完成特定的功能。位於一個或多個機器上的服務器負責數據采集,數據處理(如量程轉換、濾波、報警檢查、計算、事件記錄、曆史存儲、執行用戶腳本等)。fuwuqijiankeyixianghutongxun。youxiexitongjiangfuwuqijinyibudanduhuafenchengruoganzhuanmenfuwuqi,rubaojingfuwuqi,jilufuwuqi,lishifuwuqi,denglufuwuqideng。gefuwuqiluojishangzuoweitongyizhengti,danwulishangkenengfangzhizaibutongdejiqishang。fenleihuafendehaochushikeyijiangduogefuwuqidegezhongshujutongyiguanli、分工協作,缺點是效率低,局部故障可能影響整個係統。 典型的硬件配置圖如下:
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間的互聯。此外還有其他的一些通訊手段,如: ODBC,第三方程序通過ODBC訪問曆史數據,事件記錄等。 API接口:可以在編程環境(如VB,VC)中使用該接口。 OLE控件:可以在各種編程環境下使用,也可以嵌入到支持OLE包容器的程序中,如Ms Word。 DDE:微軟的動態數據交換協議。 2.整體構架 由服務器,客戶端構成了SCADA C/S結構,由服務器,Web服務器,Web客戶構成了SCADA B/S結構。服務器配置在不同的機器上,甚至不同的操作係統平台上,彼此分工協作,形成統一整體,構成了SCADA的分布式體係結構。 為wei了le增zeng加jia係xi統tong的de可ke靠kao性xing,服fu務wu器qi端duan允yun許xu雙shuang機ji熱re備bei,重zhong要yao場chang合he可ke以yi一yi機ji多duo備bei。服fu務wu器qi雙shuang機ji熱re備bei一yi般ban是shi將jiang兩liang台tai機ji器qi配pei置zhi相xiang同tong,一yi台tai作zuo為wei主zhu站zhan,另ling一yi台tai機ji器qi作zuo為wei副fu站zhan,主zhu站zhan完wan成cheng服fu務wu器qi的de正zheng常chang工gong作zuo,另ling一yi台tai與yu其qi同tong步bu。當dang主zhu站zhan故gu障zhang時shi,副fu站zhan接jie替ti主zhu站zhan的de工gong作zuo。主zhu站zhan與yu副fu站zhan是shi相xiang對dui的de,可ke互hu換huan的de。雙shuang機ji熱re備bei包bao含hanI/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量的大小,圖形的顏色變化表示現場狀態量的改變等。 同時顯示的窗口一般隻有一個,窗口間可以互相連接、跳轉,也可以設立菜單或專門的窗口負責窗口間的切換。 人機界麵開發環境中提供了各種繪畫工具,如畫矩形、橢圓、文字、位圖等工具。同時提供了動畫連接手段,使圖形、文字等與現場的數據相關聯。現場數據變化則畫麵上圖形顏色、位置等也相應改變,通過觀察畫麵上的圖形文字就可以知曉現場的狀態,並稱這種圖形文字與數據之間的聯係為“動畫鏈接”。 可以手工的繪製各種工藝對象,如罐、閥門、泵等。為了方便使用人機界麵開發環境都提供了現成的小圖形,稱之為“子圖”。在子圖中可以找到各種現成的圖形,如各種形狀的閥門。有的子圖還與特定的動畫連接捆綁,更加方便使用。 趨qu勢shi圖tu人ren機ji界jie麵mian不bu可ke缺que少shao的de組zu成cheng部bu分fen。趨qu勢shi圖tu以yi曲qu線xian的de形xing式shi顯xian示shi過guo程cheng數shu據ju庫ku中zhong實shi時shi數shu據ju或huo曆li史shi數shu據ju。一yi般ban實shi時shi數shu據ju和he曆li史shi數shu據ju分fen別bie在zai不bu同tong的de趨qu勢shi圖tu中zhong顯xian示shi。一yi幅fu趨qu勢shi圖tu中zhong通tong常chang最zui多duo顯xian示shi八ba條tiao曲qu線xian,曲qu線xian可ke以yi放fang大da、滾動。趨勢筆可以在開發環境中定義,也可以在運行時動態指定。 報表是人機界麵的重要組成部分。開發環境提供專門的報表生成工具,方便的形成各種報表。報表中的數據可以有瞬時值、曆史值、統計值。還可以讓報表定時打印。另外還可以利用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軟件能夠帶來的好處可列舉如下: 提高效率。SCADA的開發一般需要20~100人年,並且不斷的采用新技術,吸取用戶的經驗,在使用中不斷提高。SCADA綜合用戶的需求,將工程中共性東西提煉出來,製成相應的模式或模塊,以幫助用戶快速實現自己的工程。因此使用SCADA可以跟上時代的發展,並能提高自己的工作效率。 一致性。SCADAdetigonggudingdegeshi,rangyonghushixianzijidegongcheng,youdeshitianbiaoshide,youdeshixiangdaoshide。wulunshishuilaizutai,tongyangdegongchengyaoqiu,xingchengdezutaijieguodoushixiangtongde,huozhechayihenxiao。 可維護性。SCADA內部功能強大,組織複雜,但是對用戶是透明的,所以用戶的組態工作量不大,或者隻是重複性較大。因此工程易於維護。 使用SCADA能夠得到有效的技術支持。技術支持不但包括使用SCADA上的,也可能包括你工程上的。因為SCADA技術支持人員經常與各行業的人員交流,所以可以將你的同行經驗介紹給你。 以上是對SCADA的一些總結。有問題請mailto:. 版權所有