文章來源:/tec/scada.htm
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,以太網等連接方式。總線方式與點到點方式區別主要在于:點到點是一對一,而總線方式是一對多,或多對多。
在一個系統中可以只有一個服務器,也可以有多個,客戶也可以一個或多個。只有一個服務器和一個客戶的,并且二者運行在同一臺機器上的就是通常所說的單機版。服務器之間,服務器與客戶之間一般通過以太網互連,有些場合(如安全性考慮或距離較遠)也通過串口、撥號或GPRS方式相連。
1.2 軟件體系結構
SCADA有很多任務組成,每個任務完成特定的功能。位于一個或多個機器上的服務器負責數據采集,數據處理(如量程轉換、濾波、報警檢查、計算、事件記錄、歷史存儲、執行用戶腳本等)。服務器間可以相互通訊。有些系統將服務器進一步單獨劃分成若干專門服務器,如報警服務器,記錄服務器,歷史服務器,登錄服務器等。各服務器邏輯上作為統一整體,但物理上可能放置在不同的機器上。分類劃分的好處是可以將多個服務器的各種數據統一管理、分工協作,缺點是效率低,局部故障可能影響整個系統。
典型的硬件配置圖如下:
1.3 通信
1.3.1內部通信
客戶與服務器間以及服務器與服務器間一般有三種通信形式,請求式,訂閱式與廣播式。請求式:客戶周期性向服務器發出請求,然后服務器為客戶準備數據,傳送給客戶。
訂閱式:客戶向服務器注冊所關心數據,服務器記錄每個用戶關心的數據。當數據變化通知相應的用戶。
廣播式:當數據的變化時,服務器向所有客戶發出通知。
1.3.2與I/O設備通信
1) 通信模式
設備驅動程序與I/O設備通訊一般采用請求式,大多數設備都支持這種通訊方式,當然也有的設備支持主動發送方式。主動發送方式即I/O設備在數據改變時主動向外界報告數據。有的設備也支持訂閱式通信。設備驅動程序應該能夠支持各種通信模式。
2) 通信協議
通信協議即與設備間的會話格式,可以理解為一種簡單的交流語言。這些語言有一定的地方性,尤其是國產的PLC,智能儀表。常見的協議有Modbus, Profibus等。設備驅動程序必須為每種協議編制相應的代碼。開發一設備驅動一般為1~5周,這要根據協議的復雜程度決定。軟件商一般將該部分做成標準開發包,用戶可以自己開發。
服務器可同時帶有多個不同種類的驅動程序,這樣服務器就可以同時跟多種設備進行通信。
1.3.3與外界通信
為了效率,服務器上的實時數據和歷史數據一般都以私有格式存放,實時數據駐留在內存中,而歷史數據保存在磁盤中,事件記錄也可能以私有格式保存在磁盤中,但有些軟件可以將其直接存放到關系數據庫(如Ms SQL Server,ORACLE)中。由于無論采用直接方式還是ODBC與關系數據庫通訊,速度都是比較慢的,所以不可能將快速變化的數據都存放到關系數據庫中。那么服務器內這些私有格式的數據是如何與外界的呢,下面簡要說明。
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的分布式體系結構。
為了增加系統的可靠性,服務器端允許雙機熱備,重要場合可以一機多備。服務器雙機熱備一般是將兩臺機器配置相同,一臺作為主站,另一臺機器作為副站,主站完成服務器的正常工作,另一臺與其同步。當主站故障時,副站接替主站的工作。主站與副站是相對的,可互換的。雙機熱備包含I/O通道的熱備。 由于多個客戶可以同時訪問一個服務器端,所以客戶端本來就是多重的。
一個系統中,可以有多個服務器,每個服務器可帶有多個I/O設備。客戶端可以訪問一臺或多臺服務器。Web服務器可以作為多個服務器的代理,將Web客戶與各服務器連接起來.
3.內部組織概述
3.1 服務器內部組織
服務器包括過程數據庫,I/O驅動,Web服務器等。服務器的核心是過程數據庫,下面對其內部組織加以介紹。
過程數據庫是由完成各種特定功能的算法塊組成,這些算法塊也被稱為“內部儀表”或“虛擬儀表”,更常用的稱呼是“點”。
點是組成過程數據庫的基本單位,點分為很多類型,每種類型的點完成一定的功能,如模擬I/O點,專門用于對模擬I/O進行處理,PID點完成PID控制運算等。點由各種參數組成,不同的點有不同的參數,如模擬I/O點有NAME,PV,LO,HI等參數。可以想象點類型相當于關系數據庫中的表結構,參數相當于字段。與表結構不同的是,每種點類型有特定的內部處理算法,參數間存在內定的,如LO是PV的低限報警值,PV低于LO將產生低限報警,報警檢查是點的內置功能,不需要編寫另外的程序來實現。
參數是組成數據庫的zui小單位。一般地,一個點只有一個參數與外界相連,通常稱其為測量值(PV)。其他參數作為PV的輔助參數,如LO為PV的低限報警限值,HI為PV的高限報警限值,SP為PV的目標值等。有的系統允許一個點有多個參數與外界相連。
點的測量值(PV)通常與控制器(如PLC)的輸入/輸出通道相連。PV值代表I/O量的大小或狀態。
按照裝置或場地可以將點邏輯的劃分為區域或單元。一般區域包括單元。
3.2 人機界面內部組織
人機界面由很多窗口組成,窗口包含圖形和文字。文字和圖形可動態變化。如文字可顯示現場I/O量的大小,圖形的顏色變化表示現場狀態量的改變等。
同時顯示的窗口一般只有一個,窗口間可以互相連接、跳轉,也可以設立菜單或專門的窗口負責窗口間的切換。
人機界面開發環境中提供了各種繪畫工具,如畫矩形、橢圓、文字、位圖等工具。同時提供了動畫連接手段,使圖形、文字等與現場的數據相關聯。現場數據變化則畫面上圖形顏色、位置等也相應改變,通過觀察畫面上的圖形文字就可以知曉現場的狀態,并稱這種圖形文字與數據之間的為“動畫鏈接”。
可以手工的繪制各種工藝對象,如罐、閥門、泵等。為了方便使用人機界面開發環境都提供了現成的小圖形,稱之為“子圖”。在子圖中可以找到各種現成的圖形,如各種形狀的閥門。有的子圖還與特定的動畫連接捆綁,更加方便使用。
趨勢圖人機界面*的組成部分。趨勢圖以曲線的形式顯示過程數據庫中實時數據或歷史數據。一般實時數據和歷史數據分別在不同的趨勢圖中顯示。一幅趨勢圖中通常zui多顯示八條曲線,曲線可以放大、滾動。趨勢筆可以在開發環境中定義,也可以在運行時動態。
報表是人機界面的重要組成部分。開發環境提供專門的報表生成工具,方便的形成各種報表。報表中的數據可以有瞬時值、歷史值、統計值。還可以讓報表定時打印。另外還可以利用SCADA的Excel插件,用Ms Excel生成報表。
此外,在人機界面中還有許多其它種類的組件,如XY曲線、報警瀏覽、總貌等。另外人機界面幾乎都是OLE容器,可以嵌入OLE對象,或ActiveX控件。
4.重要功能
過程報警
過程報警是過程數據庫的基本功能。報警是對測量值的范圍、變化速度的預警。報警包括限值報警,變化率報警,偏差報警,異常報警等。更復雜的報警可以通過對測量值進行數學運算,然后對運算結果進行報警檢查而產生。發生報警后,操作員可以通過報警畫面對報警進行“確認”,“確認”就是告訴系統我知道了發生的事,以免系統再次提醒。報警信息,報警確認信息,報警恢復(報警消除)等信息都可以被系統自動記錄下來。報警按照重要程度可分為多個優先級,如低級、、緊急。
報警發生時系統可以通過多種方式通知用戶,如彈出報警窗、發出聲響,甚至可以發送短信或電子郵件。至于使用哪種方式,用戶可以自由。
歷史存儲
對實時數據可以進行歷史存儲。歷史數據對于生產狀況分析、實現*/優化控制、以及生產事故分析非常重要,所以將重要的工藝數據都會進行長期歷史保存。為了節省存儲介質空間,對保存的數據使用壓縮保存。常用的保存方式有周期性保存和變化保存(數據只有變化到一定程度才保存)。
腳本語言
除了固定格式的功能,如點內部處理(能夠完成幾種固定形式的功能,如量程轉換、報警檢查、PID運算),動畫連接(能夠完成幾種固定形式的動畫,如顏色、位置改變)等,SCADA還允許用戶定義特殊的邏輯、運算,這是通過SCADA的內置編程語言實現的。SCADA的提供的編程環境有的是內嵌VBA編譯器,有的是自定義的類似BASIC或類似C語言的編譯器。無論是哪種編程環境SCADA都要提供很多訪問自身數據的屬性、方法,以便在編程環境中與SCADA系統交互。這種內置的編程語言經常稱作“動作”,現在更多的稱呼是“腳本”。這里的腳本與Excel中的“宏”類似。通過腳本用戶可以自由擴展系統功能。
腳本與一般編程語言類似,在腳本中提供多種運算操作(如賦值、數學運算、邏輯運算),控制語句(如條件判斷,循環,分支),以及內置函數等。有的SCADA還支持自定義函數。
腳本的觸發方式有多種:一次性執行(如進入窗口時執行);周期執行;事件觸發執行(如數據改變時執行,按鍵觸發)。
腳本也能產生多種輸出動作:如向過程數據庫寫數據;發送短信;調用窗口;產生聲響等。
5. SCADA的益處
使用SCADA軟件能夠帶來的好處可列舉如下:
提率。SCADA的開發一般需要20~100人年,并且不斷的采用新技術,吸取用戶的經驗,在使用中不斷提高。SCADA綜合用戶的需求,將工程中共性東西提煉出來,制成相應的模式或模塊,以幫助用戶快速實現自己的工程。因此使用SCADA可以跟上時代的發展,并能提高自己的工作效率。
一致性。SCADA的提供固定的格式,讓用戶實現自己的工程,有的是填表式的,有的是向導式的。無論是誰來組態,同樣的工程要求,形成的組態結果都是相同的,或者差異很小。
可維護性。SCADA內部功能強大,組織復雜,但是對用戶是透明的,所以用戶的組態工作量不大,或者只是重復性較大。因此工程易于維護。
使用SCADA能夠得到有效的。不但包括使用SCADA上的,也可能包括你工程上的。因為SCADA人員經常與各行業的人員交流,所以可以將你的同行經驗介紹給你。
以上是對SCADA的一些總結。有問題請mailto:support@.
上一篇:怎樣提高485總線的可靠性
免責聲明
- 凡本網注明"來源:智能制造網"的所有作品,版權均屬于智能制造網,轉載請必須注明智能制造網,http://m.xashilian.com。違反者本網將追究相關法律責任。
- 企業發布的公司新聞、技術文章、資料下載等內容,如涉及侵權、違規遭投訴的,一律由發布企業自行承擔責任,本網有權刪除內容并追溯責任。
- 本網轉載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品來源,并自負版權等法律責任。
- 如涉及作品內容、版權等問題,請在作品發表之日起一周內與本網聯系,否則視為放棄相關權利。
IOTE 2025第二十四屆國際物聯網展·深圳站
展會城市:深圳市展會時間:2025-08-27