專利名稱:一種組態(tài)軟件的畫面設(shè)計方法
技術(shù)領(lǐng)域:
本發(fā)明涉及組態(tài)軟件領(lǐng)域中一種人機(jī)界面(HMI)設(shè)計方法,可廣泛用于各種組態(tài) 或監(jiān)控軟件的人機(jī)界面(HMI)構(gòu)建過程。
背景技術(shù):
在各種監(jiān)控軟件使用場合中,以畫面設(shè)計為中心的HMI被廣泛應(yīng)用,監(jiān)控系統(tǒng)的 進(jìn)步也促使HMI設(shè)計在發(fā)生巨大的變化,監(jiān)控系統(tǒng)的發(fā)展已經(jīng)越來越向大型化,柔性需求, 專業(yè)化,多系統(tǒng)集成,開放性,可定制,過程化的趨勢發(fā)展,此趨勢也決定了現(xiàn)有監(jiān)控系統(tǒng)領(lǐng) 域發(fā)展的兩種模式一種模式為組態(tài)軟件廠商在組態(tài)軟件基礎(chǔ)上開發(fā)專用組態(tài)軟件功能, 另一種模式為原有的監(jiān)控軟件生產(chǎn)商慢慢向通用的監(jiān)控系統(tǒng)中滲透;從表面上來看,各個 廠商HMI系統(tǒng)的功能是在不斷地拓展改進(jìn)和進(jìn)行大規(guī)模的專用功能集成,本質(zhì)上HMI之爭 已演變?yōu)閷S煤屯ㄓ弥疇帲_放與封閉之爭?,F(xiàn)有的組態(tài)軟件和監(jiān)控軟件產(chǎn)品設(shè)計的HMI資源,尤其是畫面資源基本不兼容, 即使是有極少數(shù)軟件系統(tǒng)提供了標(biāo)準(zhǔn)的SVG畫面方式的導(dǎo)出,但對于動態(tài)畫面部分,事件 處理部分,控件部分仍然不具有任何開放性,這種現(xiàn)狀嚴(yán)重阻礙了大型監(jiān)控系統(tǒng)的系統(tǒng)集 成(尤其是與老系統(tǒng)和其他廠家系統(tǒng))實(shí)施。本系統(tǒng)提供的一致化的開放式系統(tǒng)描述可以 有效消除資源的格式障礙,實(shí)現(xiàn)整個設(shè)計模型的完全開放?,F(xiàn)在的工程實(shí)施講求更高的工作效率和系統(tǒng)對柔性需求的適應(yīng)能力,一個大型監(jiān) 控系統(tǒng)涉及的畫面資源和數(shù)據(jù)資源非常巨大,工程實(shí)施時間卻非常緊迫,對一般的監(jiān)控系 統(tǒng)和組態(tài)系統(tǒng)來說,更大的挑戰(zhàn)來自于各種資源建立后對資源內(nèi)容的動態(tài)修改和臨時的應(yīng) 用擴(kuò)充,本發(fā)明提供的復(fù)用機(jī)制可以有效應(yīng)對資源內(nèi)容的頻繁更改引起的工程實(shí)施難度增 加,自定義的插件機(jī)制則可以輕松應(yīng)對各種各樣應(yīng)用的不斷擴(kuò)充。監(jiān)控軟件或組態(tài)軟件廠商一般在自己的產(chǎn)品中均提供可復(fù)用的元件庫,但是對于 大部分系統(tǒng)來說,元件庫的擴(kuò)充通常需要專業(yè)的編程人員來實(shí)現(xiàn),本發(fā)明提出的可復(fù)用元 件設(shè)計方法降低了這類元件建立的門檻,任何工程人員均可輕松已可視化的方式建立專業(yè) 的元件加入系統(tǒng)內(nèi)使用。
發(fā)明內(nèi)容
1.定義了一種HMI畫面模型的構(gòu)建方式;即使用畫面和元件建立畫面模型;該模 型簡化了 HMI畫面模型傳統(tǒng)的畫面/圖層/圖素結(jié)構(gòu)方式,將圖層控制功能放到了每個元 件的控制字中,簡化了畫面結(jié)構(gòu),同時對元件提供了更為精細(xì)的控制;建立圖形模型的畫面 本身和畫面元素均是可描述的,可以通過屬性描述符描述這兩各組成部分的完整特性,從 而使整個畫面具有完全的開放性、可讀性和可擴(kuò)充特性。2.本發(fā)明定義了 HMI畫面模型構(gòu)成元素的描述模型,即使用屬性、驅(qū)動、事件三要 素對構(gòu)成元素進(jìn)行描述的方式。其中屬性用來描述畫面各元素的特征定義;驅(qū)動用來實(shí)現(xiàn) 各元素的動態(tài)特性;事件則用來定義元素生存期行為以及與元素外界的交互過程。
3.本發(fā)明同時定義了各種典型的HMI元件驅(qū)動模式和不同驅(qū)動模式下的驅(qū)動配 置狀況,這些典型的元件驅(qū)動模式包括1)模擬量輸出驅(qū)動用來顯示一個變量/對象屬性/表達(dá)式的值。2)動畫驅(qū)動用變量/對象屬性/表達(dá)式來驅(qū)動一個動畫元件動畫的啟停,用另 一個變量/對象屬性/表達(dá)式來驅(qū)動動畫速度。3)旋轉(zhuǎn)動畫驅(qū)動用變量/對象屬性/表達(dá)式來控制一個元件進(jìn)行旋轉(zhuǎn)。4)閃爍驅(qū)動用變量/對象屬性/表達(dá)式來控制一個元件進(jìn)行閃爍。5)顏色驅(qū)動用變量/對象屬性/表達(dá)式來控制一個元件的線色/填充色或文本 顏色。6)條件驅(qū)動用變量/對象屬性/表達(dá)式的真假值來控制元件的顏色。7)數(shù)字量驅(qū)動用變量/對象屬性/表達(dá)式的真假來控制元件顯示內(nèi)容。8)元件允許驅(qū)動用變量/對象屬性/表達(dá)式的真假來控制元件是否有效。9)填充驅(qū)動用變量/對象屬性/表達(dá)式的計算結(jié)果來控制一個幾何圖形的填充 比例。10)水平/垂直移動驅(qū)動用變量/對象屬性/表達(dá)式的計算結(jié)果來控制一個元 件在畫面上的位置。11)水平/垂直移動縮放用變量/對象屬性/表達(dá)式的計算結(jié)果來控制一個元 件在畫面上的縮放程度。12)流動驅(qū)動用幾個變量/對象屬性/表達(dá)式的計算結(jié)果來分別控制一個線型 元件或一個幾何元件邊緣的流動效果,流動速度,流動方向。13)多條件顏色驅(qū)動用一組變量/對象屬性/表達(dá)式序列來控制不同表達(dá)式成 立的情況下元素的線色,填充色或文本顏色。14)多條件內(nèi)容驅(qū)動用一組變量/對象屬性/表達(dá)式序列來控制不同表達(dá)式成 立的情況下元素所顯示的不同內(nèi)容。15)旋轉(zhuǎn)驅(qū)動用變量/對象屬性/表達(dá)式的計算結(jié)果來控制一個元件在畫面上 的旋轉(zhuǎn)角度。16)離散量輸出驅(qū)動用變量/對象屬性/表達(dá)式的計算結(jié)果控制特定結(jié)果對應(yīng) 的特定內(nèi)容輸出。17)透明度驅(qū)動用變量/對象屬性/表達(dá)式的計算結(jié)果來控制一個元件在畫面 上的透明度。18)單元循環(huán)填充驅(qū)動用變量/對象屬性/表達(dá)式的計算結(jié)果來控制一系列帶 有填充屬性的元件,使他們在計算結(jié)果為真的情況下逐個填充指定的填充色。19)單元循環(huán)可視驅(qū)動用變量/對象屬性/表達(dá)式的計算結(jié)果來控制一系列元 件,使他們在計算結(jié)果為真的情況下逐個進(jìn)行顯示/隱藏。20)變量輸出驅(qū)動輸出一個變量、屬性或表達(dá)式的值。21)可視驅(qū)動用變量/對象屬性/表達(dá)式的真假來控制元件是否可視。4.本發(fā)明定義了事件模型和事件的典型響應(yīng)模型;這些典型的響應(yīng)模型包括1)變量設(shè)置給指定變量賦指定的數(shù)據(jù)。2)發(fā)送一個脈沖到指定變量對于上升沿脈沖給指定變量先賦一個零值,延時指定的時間后,給指定變量先賦一個一值;對于下降沿脈沖給指定變量先賦一個一值,延 時指定的時間后,給指定變量先賦一個零值;以上延時時間即為脈沖寬度。3)打開一幅畫面調(diào)用系統(tǒng)的畫面打開服務(wù)打開一幅畫面,畫面服務(wù)需要有監(jiān)控 系統(tǒng)提供。4)模擬量輸入彈出一個計算器方式的交互窗口,讓用戶輸入一個指定的模擬量 值,確定后將此值賦給指定的變量。5)執(zhí)行程序執(zhí)行一個指定的程序。6)變量取反腳本獲得指定變量的值,取反后重新賦給指定變量。5.本發(fā)明為整個畫面模型定義了一套完整的復(fù)用模型及每種復(fù)用模型的應(yīng)用原 理,復(fù)用模型中包含下列組成元件樣式、驅(qū)動樣式、畫面樣式和可重用元件;其中元件樣 式解決了不同元件元件一級的風(fēng)格重用,驅(qū)動樣式解決了不同類型元件的驅(qū)動重用,畫面 樣式解決了畫面一級的風(fēng)格重用,可重用元件解決了同一類元件的統(tǒng)一風(fēng)格;6.本發(fā)明提供了一套可重用元件的定義機(jī)制,可重用元件的構(gòu)建模型由元件組 合,屬性映射,可重用元件事件模型三部分組成,其中元件組合描述了可重用元件的外觀 形狀;屬性映射用來為可重用元件建立自定義的屬性,這些屬性是到元件組合中各個子元 件屬性的映射;事件模型則定義了可重用元件事件的可重用層次,可重用元件的事件模型 包括子元件事件模型、可重用元件事件模型、可重用元件實(shí)例事件模型三種事件模型方 式。7.本發(fā)明提供的方法了實(shí)現(xiàn)整個HMI畫面模型的可描述特性和格式的開放性;定 義了使用屬性描述符描述屬性項,使用屬性項構(gòu)建屬性表的方法,定義了使用屬性表對HMI 設(shè)計中的畫面元素進(jìn)行表達(dá)的方法;發(fā)明同時提供了一套標(biāo)準(zhǔn)的屬性描述符并提供用戶對 屬性描述符的擴(kuò)充機(jī)制。
圖1可描述的模型實(shí)現(xiàn)圖2畫面模型構(gòu)建方式圖3元件模型構(gòu)成圖4元件模型中的動態(tài)驅(qū)動設(shè)計圖5可重用元件模型圖6元件樣式模型圖7驅(qū)動樣式模型圖8畫面樣式模型
具體實(shí)施例方式1.如圖1所示,為了實(shí)現(xiàn)HMI畫面模型的可描述,需要為HMI畫面模型的各個 元素制定統(tǒng)一的描述方法,為每個畫面模型涉及到的元素建立屬性表可以實(shí)現(xiàn)統(tǒng)一的模型 描述方法,屬性表包含了一系列屬性條目,每一條屬性條目可以確定元素的一個特征,屬性 條目包含了元素一個特征的文字表述,此特征的屬性描述符和一些屬性控制字構(gòu)成,其中 屬性描述符用于說明此屬性的類型,屬性描述符在HMI整個設(shè)計中具有一致的含義,屬性描述符使每一個屬性值具有可復(fù)制性和可序列化特性,并可以將屬性條目導(dǎo)出為XML格式 文檔。使用屬性表定義畫面元素的方式使畫面模型包含的各種元素都可訪問性和可設(shè)置, 屬性的訪問和設(shè)置均可以通過一個通用的屬性訪問和設(shè)置接口來完成。2.畫面模型構(gòu)成和元件模型構(gòu)成本發(fā)明對畫面模型的設(shè)計分為兩個部分,即畫面組成模型和對各畫面元素的描述 模型,如圖2所示。a)畫面組成模型分為兩種元素,即畫面自身和元件;畫面是元件的容器,元件是 畫面的組成部分;b)對于這兩個要素的描述模型,使用屬性/驅(qū)動/事件三個要素來確定,其中驅(qū)動 僅在元件中包含;c)圖形元素的屬性包括畫面尺寸,畫面名稱屬性;圖形的事件定義包括圖形載入 事件,圖形銷毀事件,圖形活動期間事件。d)元件模型的三個要素中元件屬性定義了元件的外觀和尺寸大小以及專屬于特 定元件的配置,如圖片控件的圖片資源屬性;驅(qū)動則定義了元件的動態(tài)特性;元件的事件 定義和事件相應(yīng)包括如下幾種i.生存期事件包括圖形元素的對象創(chuàng)建,對象銷毀,對象活動期間的事件;生存 期事件對于畫面來講包含畫面的載入和銷毀,畫面活動期間的定時事件;對于元件包含元 件的初始化和銷毀,元件活動期間的定時器事件;ii.交互事件包括鼠標(biāo)事件和鍵盤事件,鼠標(biāo)事件包括左鍵,中鍵,右鍵的彈起, 按下,持續(xù)按下,點(diǎn)擊,雙擊,鼠標(biāo)拖動元件事件(垂直或水平方向);鍵盤事件包含對系統(tǒng) 鍵盤按鍵和各種組合鍵產(chǎn)生的按鍵事件;iii.控件事件每種窗口控件具有不同的控件事件;3.元件模型中的動態(tài)驅(qū)動設(shè)計元件模型中的動態(tài)驅(qū)動要素用于實(shí)現(xiàn)元件的動態(tài)特征,動態(tài)驅(qū)動的原動力是數(shù) 據(jù),數(shù)據(jù)可以是取自監(jiān)控系統(tǒng)平臺或組態(tài)軟件系統(tǒng)數(shù)據(jù)庫提供的變量數(shù)據(jù),每一類驅(qū)動通 過制定一類驅(qū)動規(guī)則來對元件的特定外觀進(jìn)行控制,這些控制包括改變元件位置和尺寸, 改變元件顏色或元件顯示的內(nèi)容,控制元件的顯示和隱藏等;4.可重用元件模型本設(shè)計提供一種完全基于屬性映射和事件模型的可重用元件定義方法,此方法適 用于一類具有相同行為的畫面元素,它們的外觀相同,并且驅(qū)動特性和事件響應(yīng)特性也完 全相同,屬性映射性可以實(shí)現(xiàn)可重用元件的定制,事件模型則定義了一個可重用元件在使 用時的事件產(chǎn)生和響應(yīng)模式,本設(shè)計定義了三種事件模型供使用者按照不同的適用場合下 選取。這三種事件模型定義如下a)子元件事件模型指可重用元件的事件來自于包含在可重用元件中的子元件;b)可重用元件的事件模型是指可重用元件的事件來自于可重用軟件整體,但所 有可重用元件事件實(shí)例均共享此事件模型;c)實(shí)例模型是指可重用元件只有在實(shí)例化時才可以進(jìn)行的事件設(shè)置的模式;5.元件樣式模型元件樣式用于控制整個畫面系統(tǒng)所有元件的統(tǒng)一風(fēng)格;這些風(fēng)格包含元件的外觀屬性,如線色,填充色,文本色,文本字體等;此樣式用來控制系統(tǒng)的整個顯示風(fēng)格,或統(tǒng)一 系統(tǒng)的字體相關(guān)設(shè)置,樣式內(nèi)容的改變會引起引用此樣式的元件渲染效果發(fā)生變化,但是 不需要修改任何元件。6.驅(qū)動樣式模型如圖7所示,驅(qū)動樣式用于控制具有相同行為的不同元件;驅(qū)動樣式為一組元 件變化的規(guī)則(序列),每條規(guī)則表述為一個條件對應(yīng)一個外觀變化集合,外觀變化集合 包括顏色變化,元件內(nèi)容變化,元件顯示隱藏,元件閃爍;規(guī)則是一個邏輯表達(dá)式;驅(qū)動樣 式適用于對象驅(qū)動和分類驅(qū)動兩種驅(qū)動方式,其中對象驅(qū)動用于處理面向?qū)ο蟮姆绞?,?類驅(qū)動用于處理面向變量的組態(tài)方式;工作方式為驅(qū)動定時逐條計算變化規(guī)則條目中的 表達(dá)式項,當(dāng)計算結(jié)果為真時,根據(jù)預(yù)設(shè)的元件外觀變化配置驅(qū)動元件改變外觀,顯示/隱 藏,或閃爍。7.圖形樣式模型如圖8所示,畫面復(fù)用通過圖形樣式來實(shí)現(xiàn),圖形樣式可以是一幅包含任何元素 的普通畫面,系統(tǒng)提供一個全局的圖形樣式庫對用戶建立的圖形樣式進(jìn)行管理;圖形樣式 作為一個畫面的屬性存在,當(dāng)設(shè)置了圖形樣式的畫面被圖形渲染器時,圖形渲染器將首先 渲染圖形樣式,然后才繪制畫面內(nèi)容,畫面樣式的改變不需要改變引用此樣式的畫面,因此 可以為系統(tǒng)的畫面資源添加一種統(tǒng)一的顯示風(fēng)格。
1權(quán)利要求
一種組態(tài)軟件畫面設(shè)計方法定義了一套用于HMI模型設(shè)計的模型描述方式,本方式使用屬性描述符來描述HMI模型構(gòu)建過程中各個元素的特性和行為;屬性描述符被屬性描述符庫統(tǒng)一管理,屬性描述符庫包含HMI通用的屬性描述符列表,并可以進(jìn)行擴(kuò)充;一個模型的所有特性可以通過一個屬性表描述,一個屬性表包含一系列屬性條目,每個條目描述一個特性,一個屬性表條目由屬性組、屬性名稱、屬性類型描述符和一些屬性控制字組成;通過特定的屬性訪問和設(shè)置接口可以訪問這個屬性表,并對屬性進(jìn)行設(shè)置。
2.如權(quán)利要求1所述的方法,屬性描述符用于定義一類屬性特征,通過如下要素確定1)全局唯一的一個屬性描述符名稱,必須具有明確的字面含義,字符長度不超過48字 符,任何屬性類型均通過此屬性描述符定義;2)與編程語言相關(guān)的基本數(shù)據(jù)類型,此項用于完成屬性描述符定義的具體數(shù)據(jù)類型操作;3)屬性約束,用于屬性范圍進(jìn)行約束;4)對象類名,當(dāng)數(shù)據(jù)類型為對象時,此要素提供一個類標(biāo)示名稱或一個類工廠接口; 如果所選用的編程語言支持從名稱生成類實(shí)例,則此要素是一個類名稱,否則這里是一個 類工廠名稱,用于在需要獲得類實(shí)例時創(chuàng)建對應(yīng)的類實(shí)例;無論哪一種方式,所生成的類對 象必須支持可復(fù)制接口和序列化接口。
3.如權(quán)利要求2所述的方法,屬性描述符對應(yīng)的編程語言相關(guān)的基本數(shù)據(jù)類型是下列 值,但不限于下列類型中的一個基礎(chǔ)數(shù)據(jù)類型C++數(shù)據(jù)類型含義.Net數(shù)據(jù)類型含義Java數(shù)據(jù)類型含義基礎(chǔ)數(shù)據(jù)類型鍵值IntegerIntintint1FloatFloatfloatfloat2Doubledoubledoubledouble3Stringchar 氺stringString4BooleanBoolbooleanBoolean5ByteBytebytebyte6ShortShortshortshort7LongLonglonglong8TimeSYSTEMTIMEDateTimeCalender9Facadevoid 氺objectObject10Objectvoid 氺ObjectObject11Object Refvoid 氺objectObject12
4.如權(quán)利要求1所述的方法,系統(tǒng)屬性描述符庫包含HMI通用的屬性描述符列表如下 但不限于列表中所示的內(nèi)容
5.如權(quán)利要求2所述的方法,屬性描述符包含的屬性約束可能是下列約束中的一個1)文件類型約束本約束針對File,ImageFile描述符修飾的屬性,用于指定文件的過 濾類型;2)字符串長度約束本約束針對String描述符修飾的屬性,用于指定字符串的長度限制;3)整數(shù)范圍約束本約束針對Integer,Short,Long描述符修飾的屬性,用于指定一個 數(shù)值區(qū)間;4)浮點(diǎn)數(shù)范圍約束本約束針對Float描述符修飾的屬性,用于指定一個數(shù)值區(qū)間;5)雙精度浮點(diǎn)數(shù)約束本約束針對Double描述符修飾的屬性,用于指定一個數(shù)值區(qū)間;6)元件外觀約束本約束針對Facade描述符修飾的屬性,用于指定Fapde屬于哪一種 類型;7)整型枚舉約束本約束針對Integer,Short,Long描述符修飾的屬性,用于約束整數(shù) 只能從一個給定的整數(shù)隊列中進(jìn)行選取;8)字符串枚舉約束本約束針對String描述符修飾的屬性,用于約束字符串只能從一 個給定的字符串隊列中進(jìn)行選取一個;9)整型與邏輯約束本約束針對Integer,Short,Long描述符修飾的屬性,用于約束整 數(shù)只能是一個給定的整數(shù)隊列中若干整數(shù)的與運(yùn)算值;其中運(yùn)算結(jié)果不允許超過平臺對整 數(shù)類型的長度限制;10)字符串與邏輯約束本約束針對String描述符修飾的屬性,用于約束字符串只能 從一個給定的字符串隊列中進(jìn)行選取一個或多個。
6.如權(quán)利要求1所述的方法,允許用戶或開發(fā)者自定義基礎(chǔ)數(shù)據(jù)類型為對象類型的屬 性描述符,以使屬性描述符符合特定的使用需求;其中用戶自定義屬性描述符包含的類定 義對象必須實(shí)現(xiàn)一個復(fù)制接口和一個序列化接口 ;復(fù)制接口功能用于在屬性值復(fù)制時進(jìn)行 調(diào)用;接口定義方式按照下面的形式(Java編程環(huán)境下,其他編程語言可參照此定義)public interface IClone{ public Object CloneO ;ι序列化接口功能用于實(shí)現(xiàn)屬性值持久化存儲;接口定義方式按照下面的形式(Java編程環(huán)境下,其他編程語言可參照此定義)public interface ISerializeProperty{/ *持久化屬性值到一個序列化存儲器中,需要指定對象版本格式* / void save (Object Serialize!*,int ver,int mver); / *從一個序列化存儲器中讀入一個屬性值,需要指定對象版本格式* / void load (Object Serialize!*,int ver, int mver);ιISerializeProperty接口的序列化函數(shù)中的Serializer對象是由用戶提供的序列 化存儲器,該存儲器隨不同的編程語言而不同,支持寫入和讀取相匹配編程語言的基礎(chǔ)數(shù) 據(jù)類型,該序列化存儲器滿足如下接口方式(Java編程環(huán)境下,其他編程語言可參照此定 義)public interface Serializer{ /*存儲一個對象值*/ void write (Object obj); /*讀取一個對象值*/ Object read ();}o
7.如權(quán)利要求1所述的方法,一個屬性條目中包含的屬性控制字確定如下屬性特征1)唯一性控制字,確定此屬性在一類元素中具有唯一的屬性值,此控制字控制的屬性常常作為元素的鍵值使用;2)僅讀控制字,此控制字確定該屬性僅可以被讀取,不可以進(jìn)行設(shè)置;3)關(guān)鍵字控制字,包含此控制字的屬性必須具有初始化值;4)內(nèi)部約束控制字,包含此控制字的屬性值只能由包含此屬性的對象自身提供。
8.如權(quán)利要求1所述的方法,通過屬性訪問接口可以訪問任何元素的任何特征,屬性 訪問接口可以獲取屬性列表,通過屬性名稱獲取或設(shè)置屬性,并進(jìn)行屬性拷貝;屬性訪問接 口定義如下(Java編程環(huán)境下,其他編程語言可參照此定義)public interface PropertyAccess{ /*獲取元素的屬性表*/ Object getPropertyTable(); /*獲取屬性分組中指定屬性項的值*/ Object getProp (String strGroup,String strProp); /*設(shè)置指定屬性分組中指定屬性項的值*/boolean setProp (String strGroup, String strProp,Object oval);
9.一種組態(tài)軟件畫面設(shè)計方法,實(shí)現(xiàn)了一套HMI畫面模型的構(gòu)建方式和此構(gòu)建方式下 個組成元素的模型描述,畫面模型構(gòu)建方式采用單一的畫面/元件結(jié)構(gòu),取消了傳統(tǒng)構(gòu)建 方式的畫面/圖層/元件構(gòu)建方式,將圖層控制功能放到了每個元件的控制字中,簡化了畫 面結(jié)構(gòu),同時對元件提供了更為精細(xì)的控制。本發(fā)明定義了使用屬性,驅(qū)動和事件三個要素 描述畫面結(jié)構(gòu)包含的各個元素的方法,其中1)屬性用來描述畫面各元素的特征定義;2)驅(qū)動用來實(shí)現(xiàn)各元素的動態(tài)特性;其實(shí)現(xiàn)方法是,建立一個變化數(shù)據(jù)(此變化數(shù)據(jù) 可以是一個監(jiān)控系統(tǒng)中提供的的一個變量數(shù)據(jù),也可以是由變量數(shù)據(jù),常數(shù)和運(yùn)算符組成 的算術(shù)或邏輯表達(dá)式,算術(shù)表達(dá)式可以包含+、_、X、/、=、彡、彡、<、>、&&、I I、!、 、 (、)等算術(shù)和邏輯運(yùn)算符)與元件外觀屬性值的對應(yīng)關(guān)系,此對應(yīng)關(guān)系可以是線性關(guān)系,也 可以是離散關(guān)系,或是一個簡單的值對應(yīng)關(guān)系;當(dāng)數(shù)據(jù)變化時,驅(qū)動將按照指定的邏輯規(guī)則 改變元件的外觀和屬性;本設(shè)計方法提供了一套完整的驅(qū)動模型,可以完成大部分監(jiān)控系 統(tǒng)對動態(tài)數(shù)據(jù)表現(xiàn)的要求,這些驅(qū)動方式如下表所示5 3)事件則用來定義元素生存期行為以及與元素外界的交互過程,本事件定義方法中的 畫面元素事件分為如下幾類i.生存期事件包括圖形元素的對象創(chuàng)建,對象銷毀,對象活動期間的事件;生存期事 件對于畫面來講包含畫面的載入和銷毀,畫面活動期間的定時事件;對于元件包含元件的 初始化和銷毀,元件活動期間的定時器事件; 交互事件包括鼠標(biāo)事件和鍵盤事件,鼠標(biāo)事件包括左鍵,中鍵,右鍵的彈起,按下,持續(xù)按下,點(diǎn)擊,雙擊,鼠標(biāo)拖動元件事件(垂直或水平方向);鍵盤事件包含對系統(tǒng)鍵盤按 鍵和各種組合鍵產(chǎn)生的按鍵事件;iii.控件事件每種窗口控件具有不同的控件事件;元素生存期行為和元素與外界的交互過程可以是系統(tǒng)設(shè)計的內(nèi)置行為或是完全由使 用者書寫的一段腳本,內(nèi)置行為有涉及到對監(jiān)控系統(tǒng)數(shù)據(jù)進(jìn)行操作,這些行為實(shí)現(xiàn)要求用 戶提供一個對監(jiān)控系統(tǒng)數(shù)據(jù)進(jìn)行操作和訪問的接口,此接口通過變量方式提供數(shù)據(jù)訪問和 設(shè)置功能,接口具有如下格式(Java編程環(huán)境下,其他編程語言可參照此定義) public interface DataOperator{ /*獲取指定變量的值*/ Object getVarValue(String varnme); /*設(shè)置指定變量的值*/
10. 一種組態(tài)軟件畫面設(shè)計方法,涉及為整個畫面模型定義的一套復(fù)用模型,該復(fù)用模 型涵蓋了畫面?zhèn)€元素和它們的描述要素,該復(fù)用模型包含如下組成1)畫面復(fù)用模型此復(fù)用模型適用于為一組畫面建立統(tǒng)一風(fēng)格;畫面復(fù)用通過圖形樣式來實(shí)現(xiàn),圖形樣 式可以是一幅包含任何元素的普通畫面,系統(tǒng)提供一個全局的圖形樣式庫對用戶建立的圖 形樣式進(jìn)行管理;2)元件樣式用于控制整個畫面系統(tǒng)所有元件的統(tǒng)一風(fēng)格;這些風(fēng)格包含元件的外觀屬性,如線色, 填充色,文本色,文本字體等;此樣式用來控制系統(tǒng)的整個顯示風(fēng)格,或統(tǒng)一系統(tǒng)的字體相 關(guān)設(shè)置,樣式內(nèi)容的改變會引起引用此樣式的元件渲染效果發(fā)生變化,但是不需要修改任 何元件;3)驅(qū)動樣式驅(qū)動樣式用于控制具有相同行為的不同元件;驅(qū)動樣式為一組元件變化的規(guī)則(序 列),每條規(guī)則表述為一個條件對應(yīng)一個外觀變化集合,外觀變化集合包括顏色變化,元件 內(nèi)容變化,元件顯示隱藏,元件閃爍;規(guī)則是一個邏輯表達(dá)式;驅(qū)動樣式適用于對象驅(qū)動和分類驅(qū)動兩種驅(qū)動方式,其中對象驅(qū)動用于處理面向?qū)ο蟮姆绞?,分類?qū)動用于處理面向 變量的組態(tài)方式;工作方式為驅(qū)動定時逐條計算變化規(guī)則條目中的表達(dá)式項,當(dāng)計算結(jié) 果為真時,根據(jù)預(yù)設(shè)的元件外觀變化配置驅(qū)動元件改變外觀,顯示/隱藏,或閃爍;4)可重用元件可復(fù)用元件用于控制同一類元件的統(tǒng)一風(fēng)格;元件可復(fù)用部分包括屬性,事件,驅(qū)動, 可復(fù)用元件可以由用戶來定制,可重用元件模型由三部分構(gòu)成,元件組合,屬性映射,可重 用元件事件模型;元件組合描述了可重用元件的外觀形狀,屬性映射用來為可重用元件建 立自定義的屬性,這些屬性是到元件組合中各個子元件屬性的映射。
11.如權(quán)利要求10所述的可重用元件定義,可重用元件的事件模型包括子元件事件 模型、可重用元件事件模型、可重用元件實(shí)例事件模型三種事件模型方式;這三種事件模型 含義如下1)子元件事件模型是指可重用元件的事件來自于包含在可重用元件中的子元件;2)可重用元件的事件模型是指可重用元件的事件來自于可重用軟件整體,但所有可重 用元件事件實(shí)例均共享此事件模型;3)實(shí)例模型是指可重用元件只有在實(shí)例化時才可以進(jìn)行的事件設(shè)置的模式。
全文摘要
本發(fā)明涉及一種組態(tài)軟件畫面設(shè)計方法,本方法定義了一套人機(jī)界面(HMI)畫面模型的構(gòu)建方式。本發(fā)明涉及為整個畫面模型定義的一套復(fù)用模型,這些復(fù)用模型包括針對畫面模型中不同構(gòu)成元素的復(fù)用。本發(fā)明為系統(tǒng)的可描述特性實(shí)現(xiàn)創(chuàng)建了一套屬性描述方法,此描述方法的核心是建立了一種屬性描述語法,通過全局的屬性描述符庫來對屬性進(jìn)行描述,屬性描述符可以使以上所有涉及元素的屬性具有確定語義和可訪問,可復(fù)制,可序列化特性。該設(shè)計方法涉及的HMI設(shè)計模型與傳統(tǒng)HMI設(shè)計相比,增加了畫面開放性和完整的可復(fù)用特性,因此非常適合于現(xiàn)有監(jiān)控系統(tǒng)高度開放性、標(biāo)準(zhǔn)化、可擴(kuò)展、柔性組態(tài)的發(fā)展趨勢。
文檔編號G06F9/44GK101882071SQ200910083649
公開日2010年11月10日 申請日期2009年5月7日 優(yōu)先權(quán)日2009年5月7日
發(fā)明者劉剛, 徐延明, 焦邵華, 黃磊 申請人:北京四方繼保自動化股份有限公司;北京四方博能自動化設(shè)備有限公司