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