MCGS之構造實時數據庫_第1頁
MCGS之構造實時數據庫_第2頁
MCGS之構造實時數據庫_第3頁
MCGS之構造實時數據庫_第4頁
MCGS之構造實時數據庫_第5頁
已閱讀5頁,還剩6頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選優質文檔-傾情為你奉上構造實時數據庫本章介紹MCGS中數據對象和實時數據庫的基本概念,從構成實時數據庫的基本單元數據對象著手,詳細說明在組態過程中,構造實時數據庫的操作方法,主要包括以下幾個方面:l 數據對象的定義l 數據對象的類型l 數據對象的屬性l 數據對象的作用域l 內部數據對象和系統函數l 數據對象的瀏覽、查詢和檢查概述重點:1 介紹兩個重要概念;數據對象和實時數據庫 數據對象的概念在MCGS中,數據不同于傳統意義的數據或變量,以數據對象的形式來進行操作與處理。數據對象它不僅包含了數據變量的數值特征,還將與數據相關的其它屬性(如數據的狀態、報警限值等)以及對數據的操作方法(如存盤處

2、理、報警處理等)封裝在一起,作為一個整體,以對象的形式提供服務,這種把數值、屬性和方法定義成一體的數據稱為數據對象。在MCGS中,用數據對象表示數據,可以把數據對象認為是比傳統變量具有更多功能的對象變量,象使用變量一樣來使用數據對象,大多數情況下只需使用數據對象的名稱來直接操作數據對象。 實時數據庫的概念在MCGS中,用數據對象來描述系統中的實時數據,用對象變量代替傳統意義上的值變量,把數據庫技術管理的所有數據對象的集合稱為實時數據庫。實時數據庫是MCGS系統的核心,是應用系統的數據處理中心。系統各個部分均以實時數據庫為公用區交換數據,實現各個部分協調動作。設備窗口通過設備構件驅動外部設備,將

3、采集的數據送入實時數據庫;由用戶窗口組成的圖形對象,與實時數據庫中的數據對象建立連接關系,以動畫形式實現數據的可視化;運行策略通過策略構件,對數據進行操作和處理。如下圖所示:定義數據對象重點:1 定義數據對象的方法定義數據對象的過程,就是構造實時數據庫的過程。定義數據對象時,在組態環境工作臺窗口中,選擇“實時數據庫”標簽,進入實時數據庫窗口頁,顯示已定義的數據對象,如下圖所示。對于新建工程,窗口中顯示系統內建的四個字符型數據對象,分別是InputETime、InputSTime、InputUser1和InputUser2。當在對象列表的某一位置增加一個新的對象時,可在該處選定數據對象,鼠標單擊

4、“新增對象”按鈕,則在選中的對象之后增加一個新的數據對象;如不指定位置,則在對象表的最后增加一個新的數據對象。新增對象的名稱以選中的對象名稱為基準,按字符遞增的順序由系統缺省確定。對于新建工程,首次定義的數據對象。缺省名稱為Data1。需要注意的是,數據對象的名稱中不能帶有空格,否則會影響對此數據對象存盤數據的讀取。為了快速生成多個相同類型的數據對象,可以選擇“成組增加”按鈕,彈出“成組增加數據對象”對話框,一次定義多個數據對象,如上圖所示。成組增加的數據對象,名稱由主體名稱和索引代碼兩部分組成。其中,“對象名稱”一欄,代表該組對象名稱的主體部分,而“起始索引值”則代表第一個成員的索引代碼,其

5、它數據對象的主體名稱相同,索引代碼依次遞增。成組增加的數據對象,其他特性如數據類型、工程單位、最大最小值等都是一致的。數據對象的類型重點:1 數據對象的類型和特點在MCGS中,數據對象有開關型、數值型、字符型、事件型和組對象等五種類型。不同類型的數據對象,屬性不同,用途也不同。開關型數據對象記錄開關信號(0或非0)的數據對象稱為開關型數據對象,通常與外部設備的數字量輸入輸出通道連接,用來表示某一設備當前所處的狀態。開關型數據對象也用于表示MCGS中某一對象的狀態,如對應于一個圖形對象的可見度狀態。開關型數據對象沒有工程單位和最大最小值屬性,沒有限值報警屬性,只有狀態報警屬性。數值型數據對象在M

6、CGS中,數值型數據對象的數值范圍是:負數是從 -3.E38 到 -1.E-45,正數是從 1.E-45 到 3.E38。數值型數據對象除了存放數值及參與數值運算外,還提供報警信息,并能夠與外部設備的模擬量輸入輸出通道相連接。數值型數據對象有最大和最小值屬性,其值不會超過設定的數值范圍。當對象的值小于最小值或大于最大值時,對象的值分別取為最小值或最大值。數值型數據對象有限值報警屬性,可同時設置下下限、下限、上限、上上限、上偏差、下偏差等六種報警限值,當對象的值超過設定的限值時,產生報警;當對象的值回到所有的限值之內時,報警結束。字符型數據對象字符型數據對象是存放文字信息的單元,用于描述外部對象

7、的狀態特征,其值為多個字符組成的字符串,字符串長度最長可達64KB。字符型數據對象沒有工程單位和最大、最小值屬性,也沒有報警屬性。事件型數據對象事件型數據對象用來記錄和標識某種事件產生或狀態改變的時間信息。例如,開關量的狀態發生變化,用戶有按鍵動作,有報警信息產生等,都可以看作是一種事件發生。事件發生的信息可以直接從某種類型的外部設備獲得,也可以由內部對應的策略構件提供。事件型數據對象的值是19個字符組成的定長字符串,用來保留當前最近一次事件所產生的時刻:“年,月,日,時,分,秒”。年用四位數字表示,月、日、時、分、秒分別用兩位數字表示,之間用逗號分隔。如“1997,02,03,23,45,5

8、6”,即表示該事件產生于1997年2月3日23時45分56秒。當相應的事件沒有發生時,該對象的值固定設置為“1970,01,01,08,00,00”。事件型數據對象沒有工程單位和最大最小值屬性,沒有限值報警,只有狀態報警,不同于開關型數據對象,事件型數據對象對應的事件產生一次,其報警也產生一次,且報警的產生和結束是同時完成的。數據組對象數據組對象是MCGS引入的一種特殊類型的數據對象,類似于一般編程語言中的數組和結構體,用于把相關的多個數據對象集合在一起,作為一個整體來定義和處理。例如在實際工程中,描述一個鍋爐的工作狀態有溫度、壓力、流量、液面高度等多個物理量,為便于處理,定義“鍋爐”為一個組

9、對象,用來表示“鍋爐”這個實際的物理對象,其內部成員則由上述物理量對應的數據對象組成,這樣,在對“鍋爐”對象進行處理(如進行組態存盤、曲線顯示、報警顯示)時,只需指定組對象的名稱“鍋爐”,就包括了對其所有成員的處理。組對象只是在組態時對某一類對象的整體表示方法,實際的操作則是針對每一個成員進行的。如在報警顯示動畫構件中,指定要顯示報警的數據對象為組對象“鍋爐”,則該構件顯示組對象包含的各個數據對象在運行時產生的所有報警信息。注意:數據組對象是多個數據對象的集合,應包含兩個以上的數據對象,但不能包含其它的數據組對象。一個數據對象可以是多個不同組對象的成員。把一個對象的類型定義成組對象后,還必須定

10、義組對象所包含的成員及其“存盤屬性”。如下圖所示,在“組對象屬性設置”對話框內,專門有“組對象成員”窗口頁,用來定義組對象的成員。圖中左邊為所有數據對象的列表,右邊為組對象成員列表。利用屬性頁中的“增加”按鈕,可以把左邊指定的數據對象增加到組對象成員中;“刪除”按鈕則把右邊指定的組對象成員刪除。組對象沒有工程單位、最大值、最小值屬性,組對象本身沒有報警屬性。數據對象的屬性設置重點:1 數據對象的基本屬性、存盤屬性和報警屬性數據對象定義之后,應根據實際需要設置數據對象的屬性。在組態環境工作臺窗口中,選擇“實時數據庫”標簽,從數據對象列表中選中某一數據對象,鼠標單擊“對象屬性”按鈕,或者鼠標雙擊數

11、據對象,即可彈出如下圖所示的“數據對象屬性設置”對話框。對話框設有三個窗口頁:基本屬性、存盤屬性和報警屬性?;緦傩詳祿ο蟮幕緦傩灾邪瑪祿ο蟮拿Q、單位、初值、取值范圍和類型等基本特征信息。在基本屬性設置頁的“對象名稱”一欄內輸入代表對象名稱的字符串,字符個數不得超過32個(漢字16個),對象名稱的第一個字符不能為“!”、“$”符號或09的數字,字符串中間不能有空格。用戶不指定對象的名稱時,系統缺省定為“DATAX”,其中X為順序索引代碼(第一個定義的數據對象為DATA0)。數據對象的類型必須正確設置。不同類型的數據對象,屬性內容不同,按所列欄目設定對象的初始值、最大值、最小值及工程單

12、位等。在內容注釋一欄中,輸入說明對象情況的注釋性文字。警告:在MCGS實時數據庫中,采用了“使用計數”的機制來描述數據庫中的一個數據對象是否被MCGS中的其他部分使用,也就是說該對象是否與其他對象建立了連接關系。采用這種機制可以避免因對象屬性的修改而引起已組態完好的其它部分出錯。一個數據對象如果已被使用,則不能隨意修改對象的名稱和類型,此時可以執行“工具”菜單中“數據對象替換”命令,對數據對象進行改名操作,同時把所有的連接部分也一次改正過來,避免出錯。執行“工具”菜單中的“檢查使用計數”命令,可以查閱對象被使用的情況,或更新使用計數。存盤屬性MCGS把數據的存盤處理作為數據對象的一個屬性,封裝

13、在數據對象的內部,由實時數據庫根據預先設定的要求,自動完成數據的存盤操作,現場操作人員不必過問數據如何存盤以及存在什么地方等具體問題。MCGS把數據對象的存盤屬性分為三部分:對象值的存盤、存盤時間的設置和報警數值的存盤。對基本類型(包括數值型、開關型、字符型及事件型)的數據對象,可以設置為按數值的變化量方式存盤,如左圖所示。變化量是指對象的當前值與前一次存盤值的差值。當對象值的變化量超過設定值時,實時數據庫自動記錄下該對象的當前值及其對應的時刻。如果變化量設為0,則表示只要數據對象的值發生了變化就進行存盤操作。對開關型、字符型、事件型數據對象,系統內部自動定義變化量為0。如果選擇了“退出時,自

14、動保存數據對象的當前值為初始值”一項,則MCGS運行環境退出時,把數據對象的初始值設為退出時的當前值,以便下次進入運行時,恢復該數據對象退出時的值。對數據組對象,只能設置為定時方式存盤,如右圖所示。實時數據庫按設定的時間間隔,定時存儲數據組對象的所有成員在同一時刻的值。如果定時間隔設為0秒,則實時數據庫不進行自動存盤處理,只能用其它方式處理數據的存盤,例如可以通過MCGS中稱為“數據對象操作”的策略構件來控制數據對象值的帶有一定條件的存盤,也可以在腳本程序內用系統函數!SaveData來控制數據對象值的存盤。注意:基本類型的數據對象既可以按變化量方式存盤,又可以作為組對象的成員定時存盤,它們各

15、自互不相關,在存盤數據庫中位于不同的數據表內。對組對象的存盤,MCGS還增加了加速存盤和自動改變存盤時間間隔的功能,加速存盤一般用于當報警產生時,加快數據記錄的頻率,以便事后進行分析。改變存盤時間間隔是為了在有限的存盤空間內,盡可能多保留當前最新的存盤數據,而對于過去的歷史數據,通過改變存盤數據的時間間隔,減少歷史數據的存儲量。在數據對象和數據組對象的存盤屬性中,都有“存盤時間設置”一項,選擇“永久存儲”,則保存系統自運行時開始整個過程中的所有數據,選擇后者,則保存從當前開始指定時間長度內的數據。后者較前者相比,減少了歷史數據的存儲量。對于數據對象發出的報警信息,實時數據庫進行自動存盤處理,但

16、也可以選擇不存盤。存盤的報警信息有:產生報警的對象名稱、報警產生時間、報警結束時間、報警應答時間、報警類型、報警限值、報警時數據對象的值、用戶定義的報警內容注釋等。如需要實時打印報警信息,則應選取對應的選項。報警屬性MCGS把報警處理作為數據對象的一個屬性,封裝在數據對象內部,由實時數據庫判斷是否有報警產生,并自動進行各種報警處理。如下圖所示,用戶應首先設置“允許進行報警處理”選項,才能對報警參數進行設置。不同類型的數據對象,報警屬性的設置各不相同。數值型數據對象最多可同時設置六種限值報警;開關型數據對象只有狀態報警,按下的狀態(“開”或“關”)為報警狀態,另一種狀態即為正常狀態,當對象的值變

17、為相應的值(0或1)時,將觸發報警;事件型數據對象不用設置報警狀態,對應的事件產生一次,就有一次報警,且報警的產生和結束是同時的;字符型數據對象和數據組對象,沒有報警屬性。數據對象的屬性和方法在MCGS組態軟件系統中,每個數據對象都是由系統的屬性和方法構成。使用操作符“.”,可以在腳本程序或使用表達式的地方,調用數據對象相應的屬性和方法。例如:Data00.Value可以取得數據對象Data00的當前值;Data00.Min則可以獲得數據對象的最小值。數據對象屬性屬性名類型操作方式意義Value同數據對象類型讀寫數據對象中的值Name字符型只讀數據對象中的名字Min浮點型讀寫數據對象的最小值M

18、ax浮點型讀寫數據對象的最大值Unit字符型讀寫數據對象的工程單位Comment字符型讀寫數據對象的注釋InitValue字符型讀寫數據對象的初值Type浮點型只讀數據對象的類型State浮點型讀寫數據對象的工作狀態AlmEnable浮點型讀寫數據對象的啟動報警標志AlmSave浮點型讀寫數據對象的報警存盤標志AlmPrint浮點型讀寫數據對象的報警打印標志AlmHH浮點型讀寫數值型報警的上上限值或開關型報警的狀態值AlmH浮點型讀寫數值型報警的上限值AlmL浮點型讀寫數值型報警的下限值AlmLL浮點型讀寫數值型報警的下下限制值AlmV浮點型讀寫數值型偏差報警的基準值AlmVH浮點型讀寫 數值

19、型偏差報警的上偏差值AlmVL浮點型讀寫 數值型偏差報警的下偏差值AlmFlagHH浮點型讀寫允許上上限報警,或允許開關量報警AlmFlagH浮點型讀寫允許上限報警,或允許開關量跳變報警AlmFlagL浮點型讀寫允許下限報警,或允許開關量正跳變報警AlmFlagLL浮點型讀寫允許下下限報警,或允許開關量負跳變報警AlmFlagVH浮點型讀寫允許上偏差報警AlmFlagVL浮點型讀寫允許下偏差報警AlmComment字符型讀寫報警信息注釋AlmDelay浮點型讀寫報警延時次數AlmPriority浮點型讀寫報警優先級AlmState浮點型只讀報警狀態AlmType浮點型只讀報警類型數據對象方法S

20、aveData保存數據對象。返回值:浮點型,=0為操作成功,<>0為操作失敗。操作失敗的原因包括此數據對象沒有組態存盤屬性。SaveDataInitValue保存數據對象的當前值為初始值。返 回 值:浮點型,=0為操作成功,<>0為操作失敗。SaveDataOnTime(參數1,參數2)按照指定時間保存數據對象的值。返 回 值:浮點型,=0為操作成功,<>0為操作失敗。參 數1:整型,使用時間函數轉換出的時間量。時間精度到秒。參 數2:整型,指定存盤時間的毫秒數。AnswerAlm應答當前報警。返 回 值:浮點型,=0為操作成功,<>0為操作失敗

21、。數據對象的作用域重點:1 數據對象的全局性、數據對象的操作方式 數據對象的全局性實時數據庫中定義的數據對象都是全局性的,MCGS各個部分都可以對數據對象進行引用或操作,通過數據對象來交換信息和協調工作。數據對象的各種屬性在整個運行過程中都保持有效。 數據對象的操作MCGS中直接使用數據對象的名稱進行操作,在用戶應用系統中,需要操作數據對象的有如下幾個地方:l 建立設備通道連接。在設備窗口組態配置中,需要建立設備通道與實時數據庫的連接,指明每個設備通道所對應的數據對象,以便通過設備構件,把采集到的外部設備的數據送入實時數據庫。l 建立圖形動畫連接。在用戶窗口創建圖形對象并設置動畫屬性時,需要將圖形對象指定的動畫動作與數據對象建立連接,以便能用圖形方式可視化數據。l 參與表達式運算。類似于傳統的變量用法,對數據對象賦

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論