在MCGS嵌入式組態軟件中的數據不同于傳統意義的數據或變暈,它不只包含了變暈的數值特征,還將與數據相關的其他屬性(如數據的狀態、報警限值等)以及對數據的操作方法(如存盤處理、報警處理等)封裝在一起,以對象的形式提供服務。這種把數值、屬性和方法定義成一體的數據稱為數據對象。本章介紹MCGS嵌入版中數據對象和實時數據庫的基本概念,從構成實時數據庫的基本單元數據對象著手, 構造實時數據庫的操作方法。實時數據庫主要包括 數據對象的定義、數據對象的類型、數據對象的屬性等內容。
10.1實時數據庫的概述
MCGS嵌入式組態軟件用數據對象來表述系統中的實時數 據,用對象變暈代替傳統意義的值變暈。用數據庫技術管理的所有數據對象的集合稱為實時數據庫。實時數據庫是MCGS嵌入式組態軟件的核心,是應用系統的數據處理中心。據庫為公用區交換數據,實現各個部分協調動作。設備窗口通過設備構件驅動外部設 備,將采集的數據送入實時數據庫;由用戶窗口組成的圖形對象,與實時數據庫中的數據對象建立連接關系,以動畫形式實現數據的可視化;運行策略通過策略構件,對數據進行操作和處理。MCGS嵌入式組態軟件實時數據庫的作用示意圖如圖10-1所示。
圖10-1MCGS實時數據庫的作用示意圖
10.2數據對象的類型在MCGS嵌入式組態軟件數據對象有開關型、數值型、字符型、事件型、組對象等五種類型。不同類型的數據對象,屬性和用途也不同。
01開關型數據對象記錄開關信號(0或非0)的數據對象稱為開關型數據對象。通常與外部設備的數字量輸入輸出通道連接,用來表示某一設備當前所處的狀態。開關型數據對象也用于表示MCGS嵌入式組態軟件中某一對象的狀態,如對應于一個圖形對象的可見度狀態。開關型數據對象沒有工程單位、最大值、最小值屬性和限值報警屬性,只有狀態報警屬性。
02數值型數據對象MCGS嵌入式組態軟件的數值型數據對象除了存放數值及參與數值運算外,還提供報警信息和外部設備的模擬量輸入輸出通道連接。數值型數據對象有限值報警屬性,可以設置下下限、下限、上限、上上限、上偏差、下偏差等六種報警限值,當對象的值超過設定的限值時,產生報警;當對象的值回到所有限值之內時報警結束。數值型數據對象的數值范圍是 負數是從-3.402823E38 到-1.401298E-45,正數是從 1.401298E-45 到 3.402823E38。
03字符型數據對象字符型數據對象是存放文字信息的單元它用于描述外部對象的狀態特征,其值為多個字符組成的字符串,字符串長度最長可達64KB。字符型數據對象沒有工程單位和最大、最小值屬性和有報警屬性。
04事件型數據對象事件型數據對象用來記錄和標識某種事件產生或狀態改變的時間信息。例如,開關暈的狀態發生變化,用戶有按鍵動 作,有報警信息產生等,都可以看作是一種事件發生。事件發生的信息可以直接從某種類型的外部設備獲得,也可以由內部對應的功能構件提供。
事件型數據對象的值是19個字符 組成的定長字符串,用來保留當前最近一次事件所產生的時刻 “年,月,日,時, 分,秒”。年用四位數字表示,月、日、時、分、秒分別用兩位數字表示,之間用逗號分隔。如“1997,02,03,23,45,56”,即表示該事件產生于1997年2月3日23時45分56秒。相應的事件沒有發生時,該對象的值固定 設置為“1970,01,01,08,00”。事件型數據對象沒有工程單位、最大值和最小值屬性,沒有限值報警,只有狀態報警,不同于開關型數據對象,事件型數據對象對應的事件產生一次其報警也產生一次,且報警的產生和結束是同時完成的。
05數據組型對象數據組對象是MCGS嵌入式組態軟件引入的一種特殊類型的數據對象,數據組對象類似于一般編程語言中的數組和結構體。用于把相關的多個數據對象集合在一起,作為一個整體來定義和處理。例如描述循環水控制系統的工作狀態有液位1、液位2、液位3物理暈時為便于處理,定義“液位組”為一個組對象,用來表示“液位”這個實際的物理對象,其內部成員則由上述物理暈對應的數據對象組成。對“液位”對象進行處理(如 組態存盤、曲線顯示、報警顯示)時,只需指定組對象的名稱“液位組”包括了對其所有成員的處理。
組對象只是在組態時對某一類對象的整體表示方法,實際的操作則是針對每一個成員進行的。如在報警顯示動畫構件 中,指定要顯示報警的數據對象為組對象的“液位組”,構件顯示針對組對象包含的數據對象在運行時產生的所有報警信息。
數據組對象是單一數據對象的集合,一個數據對象可以是多個不同組對象的成員。把一個對象的類型定義為組對象后,還須定義組對象所包含的成員, 如圖10-2所示。在“組對象屬性設置”對話框內,專門有“組對象成員”窗口頁用來定義組對象的成員。圖中左邊為所有數據對象的列表,右邊為組對象成員列表。利用屬性頁中的“增加”按鈕,把左邊指定的數據對象增加到組對象成員中;“刪除”按鈕則把右邊指定的組對象成員刪除。組對象沒有工程單位 最大值和最小值的屬性,組對象本身沒有報警屬性。
圖10-2在組對象的屬性設置
10.3 數據對象的屬性設置數據對象定義完成后,應根據實際需要設置數據對象的屬性。在組態環境工作臺窗口選擇“實時數據庫”標簽,從數據對象 列表中選中某一數據對象,單擊“對象屬性”應用按鈕,或者 鼠標雙擊數據對象,即可彈出如下圖所示的“數據對象屬性設置”對話框。對話框設有三個窗口頁 基本屬性、存盤屬性和報警屬性。
01數據對象的基本屬性數據對象的基本屬性中包含數據對象的名稱、單位、初值、取值范圍和類型等基本特征信息。在基本屬性設置頁的“對 象名稱”一欄內輸入代表對象名稱的字符串,字符個數不得超過32個(漢字16個),對象名稱的第一個字符不能為“!”、“$”符號或0~9的數字,字符串中間不能有空格。用戶不指定對象的名稱時系統默認定為“DataX”,其中X為順序索引代碼(第一個定義的數據對象為Data0)。
數據對象的類型必須正確設置。不同類型的數據對象和屬性內容不同,按所列欄目設定對象的初始值、最大值、最小值及工程單位等。在內容注釋一欄中,輸入說明對象情況的注釋性文字。數據對象的基本屬性提示框如圖10-3所示。
02數據對象的存盤屬性MCGS嵌入版組態軟件普通的數據對象沒有存盤屬性。只有組對象才有存盤屬性。對數據組對象,只能設置為定時方式 存盤。實時數據庫按設定的時間間隔,定時存儲數據組對象 的所有成員在同一時刻的值。設定時間隔設為0秒,則實時 數據庫不進行自動存盤處理,只能用其他方式處理數據的存 盤,例如可以通過MCGS嵌入版中稱為“數據對象操作”的策 略構件來控制數據對象值的帶有一定條件的存盤,也可以在 腳本程序內用系統函數!SaveData來控制數據對象值的存盤。注意在MCGS嵌入版組態軟件中,此函數僅對數據組對象有 效。數據對象的存盤屬性如圖10-4所示。
圖10-3、4數據對象的基本屬性提示框數據組對象的存盤屬性
03數據對象的報警屬性MCGS嵌入版組態軟件把報警處理作為數據對象的一個屬 性,封裝在數據對象內部實時數據庫判斷是否有報警產生, 自動進行各種報警處理。用戶應首先設置“允許進行報警處 理”選項,才能對報警參數進行設置。不同類型的數據對象,報警屬性的設置各不相同。數值型數據對象最多可同時設置六種限值報警;開關型數據對象只有狀態報警,按下的狀態(“開”或“關”)為報警狀態,另一種狀態即為正常狀態,當對象的值變為相應的值(0或1)時。將觸發報警;事件型數據對象不用設置報警狀態,對應的事件產生一次報警,且報警的產生和結束是同時的;字符型數據對象和數據組對象,沒有報警屬性。數據對象的報警屬性如圖10-5所示。
圖10-5數據對象的報警屬性
總結:重點介紹了MCGS嵌入版組態軟件的中數據對象和實時數據庫的基本概念,從構成實時數據庫的基本單元數據對象著手,詳細說明在組態過程中,構造實時數據庫的操作方法,主要包括以下幾個方面 數據對象的定義、數據對象的類型、數據對象的屬性等內容。
來源:網絡,版權歸原作者所有,如有侵權請聯系刪除