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