技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 應(yīng)用方案 > 持久對(duì)象在人機(jī)界面開(kāi)發(fā)中的應(yīng)用

持久對(duì)象在人機(jī)界面開(kāi)發(fā)中的應(yīng)用

時(shí)間:2008-03-24 15:47:00來(lái)源:mawei

導(dǎo)語(yǔ):?面向?qū)ο蠓椒ㄖ械念?、封裝以及繼承等機(jī)制為軟件的設(shè)計(jì)與復(fù)用帶來(lái)了便利,從而可提高軟件生產(chǎn)率
1. 自八十年代以來(lái),面向?qū)ο蟮姆椒ê图夹g(shù)已受到人們的廣泛重視,越來(lái)越多的人開(kāi)始采用面向?qū)ο蟮姆椒▉?lái)設(shè)計(jì)與開(kāi)發(fā)軟件[1,2,4]。計(jì)算機(jī)軟件的一個(gè)主要功能是用于刻劃和模擬客觀世界中的某些活動(dòng),而面向?qū)ο蠓椒ㄖ械膶?duì)象正是對(duì)客觀世界的一種直接模擬。因此,用面向?qū)ο蠓椒ㄩ_(kāi)發(fā)軟件就顯得比較自然,設(shè)計(jì)出的軟件結(jié)構(gòu)與問(wèn)題結(jié)構(gòu)有較好的對(duì)應(yīng),使得軟件對(duì)問(wèn)題的變化有較好的適應(yīng)性,從而易于修改與擴(kuò)充(維護(hù))。另外,面向?qū)ο蠓椒ㄖ械念?、封裝以及繼承等機(jī)制為軟件的設(shè)計(jì)與復(fù)用帶來(lái)了便利,從而可提高軟件生產(chǎn)率。 在面向?qū)ο蠓椒ㄖ?,持久?duì)象概念的引入,使得對(duì)象可以穿越時(shí)間和空間,即對(duì)象在其創(chuàng)建者消亡后還可以繼續(xù)存在,并且可以從一個(gè)地址空間(內(nèi)存)轉(zhuǎn)移到另一個(gè)地址空間(磁盤(pán))。本文根據(jù)對(duì)象的這一特征,提出了開(kāi)發(fā)控制系統(tǒng)人機(jī)界面的一種策略,在該策略中,人機(jī)界面中的畫(huà)面被看成是由一組持久對(duì)象構(gòu)成,它們分別對(duì)應(yīng)于一些實(shí)際受控設(shè)備,人機(jī)界面的功能由畫(huà)面中的這些對(duì)象來(lái)完成。畫(huà)面中的對(duì)象在畫(huà)面設(shè)計(jì)時(shí)被創(chuàng)建,然后,這些對(duì)象可以脫離其創(chuàng)建者(畫(huà)面設(shè)計(jì)工具)而繼續(xù)存在,并從內(nèi)存轉(zhuǎn)移到磁盤(pán)。實(shí)施系統(tǒng)控制時(shí),設(shè)計(jì)好的畫(huà)面從磁盤(pán)裝入內(nèi)存,其中的對(duì)象就開(kāi)始對(duì)受控系統(tǒng)實(shí)施控制。 本文首先介紹利用持久對(duì)象概念開(kāi)發(fā)人機(jī)界面的主要思想,然后對(duì)人機(jī)界面中畫(huà)面對(duì)象的設(shè)計(jì)進(jìn)行考慮,最后以電力控制系統(tǒng)人機(jī)界面的開(kāi)發(fā)為例,給出這一策略的具體應(yīng)用描述。 2. 在整個(gè)軟件系統(tǒng)的開(kāi)發(fā)中,人機(jī)界面的開(kāi)發(fā)往往要占很大一部分工作,并且人機(jī)界面的好壞直接影響整個(gè)系統(tǒng)的可用性和其它性能。這里,我們提出了一種基于持久對(duì)象概念的控制系統(tǒng)人機(jī)界面開(kāi)發(fā)策略,在該策略中,把人機(jī)界面中的畫(huà)面看成是某個(gè)受控系統(tǒng)的一個(gè)抽象,一個(gè)畫(huà)面代表了一個(gè)受控系統(tǒng),畫(huà)面中的每個(gè)元素(稱為畫(huà)面元素)對(duì)應(yīng)于一個(gè)受控對(duì)象(設(shè)備),整個(gè)畫(huà)面是由一組抽象對(duì)象(畫(huà)面元素)構(gòu)成,他們的屬性與操作反映了各受控對(duì)象的特征。因此,這里的畫(huà)面不再是一些被動(dòng)的圖形,而是體現(xiàn)系統(tǒng)行為,并參與系統(tǒng)各項(xiàng)活動(dòng)的一組對(duì)象。 采用本文提出的策略,可把控制系統(tǒng)人機(jī)界面的開(kāi)發(fā)分為兩個(gè)階段:離線階段(off-line)和在線階段(on-line)。1)離線階段提供一個(gè)畫(huà)面設(shè)計(jì)工具,用于對(duì)控制系統(tǒng)人機(jī)界面中的畫(huà)面進(jìn)行設(shè)計(jì),設(shè)計(jì)的畫(huà)面作為一組持久對(duì)象存入磁盤(pán)(文件或數(shù)據(jù)庫(kù));2)在線階段裝入由(1)設(shè)計(jì)的畫(huà)面,作為控制系統(tǒng)的人機(jī)界面,這時(shí),該畫(huà)面中的對(duì)象與控制系統(tǒng)其他部分共同構(gòu)成一個(gè)完整的系統(tǒng),對(duì)受控系統(tǒng)實(shí)施控制。 從上述描述中可看出,畫(huà)面中的對(duì)象具有兩種角色(圖1):在離線階段,一旦被創(chuàng)建,這些對(duì)象就作為畫(huà)面設(shè)計(jì)工具的一部分,與其他部分一起共同完成畫(huà)面的設(shè)計(jì)工作;在在線階段,一旦被裝入,這些對(duì)象就作為控制系統(tǒng)的一部分,參與系統(tǒng)的控制。畫(huà)面中的對(duì)象由畫(huà)面設(shè)計(jì)工具創(chuàng)建,但它們可以脫離畫(huà)面設(shè)計(jì)工具而繼續(xù)存在,并從內(nèi)存轉(zhuǎn)移到磁盤(pán)。在控制階段的某一時(shí)刻,畫(huà)面也可被存入磁盤(pán),這時(shí)存入磁盤(pán)的對(duì)象的狀態(tài)就反映受控系統(tǒng)那一時(shí)刻的狀態(tài),是系統(tǒng)狀態(tài)的歷史記錄。 采用上述人機(jī)界面開(kāi)發(fā)策略所帶來(lái)的好處有以下幾點(diǎn): ·用戶可以利用提供的工具自己設(shè)計(jì)所需畫(huà)面,而不是被動(dòng)地接受開(kāi)發(fā)人員為之開(kāi)發(fā)的固定畫(huà)面。 ·隨著受控系統(tǒng)規(guī)模的變化,畫(huà)面可以很方便地被修改(重新設(shè)計(jì))。 ·當(dāng)受控系統(tǒng)增加新類型的受控對(duì)象時(shí),由于系統(tǒng)采用面向?qū)ο蟮脑O(shè)計(jì)方法,一般只需增加新的類定義,系統(tǒng)擴(kuò)充比較容易,并且新類可以繼承已有類的很多特征,便于復(fù)用。 ·受控系統(tǒng)的狀態(tài)可以隨時(shí)作為一組(持久)對(duì)象保存起來(lái),需要時(shí),重新調(diào)入它們即可再現(xiàn)受控系統(tǒng)的歷史狀態(tài)。 ·用本策略設(shè)計(jì)的開(kāi)發(fā)工具可作為一種通用的工具,用于開(kāi)發(fā)某一類系統(tǒng)的人機(jī)界面,如各個(gè)地區(qū)(或部門(mén))的電力控制系統(tǒng)。 3. 如上所述,在控制系統(tǒng)人機(jī)界面中,受控系統(tǒng)可由一個(gè)畫(huà)面來(lái)抽象表示,畫(huà)面中包含了若干畫(huà)面元素,這些畫(huà)面元素作為對(duì)象代表了一些實(shí)際受控對(duì)象。由于這些對(duì)象(畫(huà)面元素)作用于畫(huà)面設(shè)計(jì)與系統(tǒng)控制兩種環(huán)境,因此在設(shè)計(jì)這些對(duì)象的屬性與操作時(shí),必須考慮他們?cè)谶@兩種不同環(huán)境中的作用。 首先,一個(gè)畫(huà)面本身就是一個(gè)對(duì)象,它是整個(gè)受控系統(tǒng)的一個(gè)抽象表示。 其特征可由一個(gè)<畫(huà)面類>來(lái)描述,它由屬性與操作構(gòu)成。其中屬性包括畫(huà)面元素集、背景顏色、縮放率等等;操作有畫(huà)面的存/取、縮放、畫(huà)面元素的增加/刪除及畫(huà)面顯示等等。 其次,畫(huà)面元素可分成兩部分:一部分是與受控對(duì)象無(wú)關(guān)的輔助元素,其作用主要是加強(qiáng)畫(huà)面的生動(dòng)性,對(duì)畫(huà)面作補(bǔ)充說(shuō)明,如:文字、各種靜止圖形(矩形、橢圓、線等),它們主要參與畫(huà)面設(shè)計(jì)工作;另一部分是與受控對(duì)象有關(guān)的畫(huà)面元素,它們分別對(duì)應(yīng)于一個(gè)受控對(duì)象,除了具有輔助畫(huà)面元素的特征外,這些畫(huà)面元素還反映了受控對(duì)象的狀態(tài),它可參與畫(huà)面設(shè)計(jì)與系統(tǒng)控制兩方面的工作。 根據(jù)畫(huà)面元素在不同環(huán)境中的作用,其屬性主要包括圖形信息和受控對(duì)象狀態(tài)信息。圖形信息由一組或幾組圖形對(duì)象構(gòu)成,它們用于畫(huà)面元素的顯示。這里,輔助畫(huà)面元素只包含一組圖形對(duì)象,即只有一種顯示狀態(tài);其他畫(huà)面元素可以包含幾組圖形對(duì)象,在系統(tǒng)控制時(shí)它們根據(jù)受控對(duì)象的狀態(tài),顯示其中的一組圖形。受控對(duì)象狀態(tài)信息包括受控對(duì)象標(biāo)識(shí)、受控對(duì)象狀態(tài)數(shù)據(jù)等。其中受控對(duì)象標(biāo)識(shí)是在畫(huà)面設(shè)計(jì)時(shí)定義,用于標(biāo)識(shí)相應(yīng)的受控對(duì)象;受控對(duì)象狀態(tài)數(shù)據(jù)是在實(shí)時(shí)采集數(shù)據(jù)時(shí),根據(jù)受控對(duì)象標(biāo)識(shí)從相應(yīng)設(shè)備中獲取,它反映了受控對(duì)象在某一時(shí)刻的狀態(tài),其主要作用是用于決定顯示畫(huà)面元素的哪一組圖形。 畫(huà)面元素的操作也分成兩個(gè)部分:畫(huà)面設(shè)計(jì)與系統(tǒng)控制。畫(huà)面設(shè)計(jì)操作主要有顯示、移動(dòng)、縮放、改變顏色/字體、定義受控對(duì)象標(biāo)識(shí)等等。系統(tǒng)控制操作有數(shù)據(jù)采集、由采集到的數(shù)據(jù)決定顯示狀態(tài)(變換圖形、改變顏色、閃爍等)、協(xié)助操作員進(jìn)行系統(tǒng)控制操作等等。這里,畫(huà)面元素的數(shù)據(jù)采集與控制操作不必直接與具體受控設(shè)備打交道,可通過(guò)一個(gè)數(shù)據(jù)庫(kù)來(lái)完成(圖2)。實(shí)時(shí)采集系統(tǒng)把采集到的數(shù)據(jù)存入數(shù)據(jù)庫(kù),畫(huà)面元素定期從數(shù)據(jù)庫(kù)中獲取數(shù)據(jù);同樣,控制數(shù)據(jù)由畫(huà)面元素放入數(shù)據(jù)庫(kù),設(shè)備控制系統(tǒng)從數(shù)據(jù)庫(kù)存中獲取控制信息對(duì)設(shè)備進(jìn)行控制。畫(huà)面元素的特征可由<畫(huà)面元素類>來(lái)描述,它與<畫(huà)面類>之間構(gòu)成部分與整體關(guān)系。 最后,在設(shè)計(jì)畫(huà)面元素的圖形信息時(shí),可采用一個(gè)類層次結(jié)構(gòu)來(lái)描述各圖形對(duì)象類之間的關(guān)系。畫(huà)面元素所包含的圖形對(duì)象可以是正文、矩形、橢圓、線等一般圖形,也可以是:時(shí)間、數(shù)值、坐標(biāo)軸、儀表表針、儀表表盤(pán)、直方圖以及曲線等具有實(shí)際意義的圖形。他們分別屬于不同的類,其父類可用一個(gè)<圖形類>來(lái)描述,各種圖形對(duì)象類之間構(gòu)成一般與特殊的層次關(guān)系(圖3)。一組圖形對(duì)象表示受控對(duì)象的一種狀態(tài),根據(jù)受控對(duì)象的可能狀態(tài),相應(yīng)畫(huà)面元素可包含一組或幾組圖形對(duì)象。 畫(huà)面元素由畫(huà)面設(shè)計(jì)工具創(chuàng)建,設(shè)計(jì)的畫(huà)面作為一組持久對(duì)象存入磁盤(pán)。在控制系統(tǒng)中裝入它們實(shí)施對(duì)受控系統(tǒng)的控制。在實(shí)施控制的某一時(shí)刻,畫(huà)面也可存盤(pán),這時(shí),存盤(pán)的對(duì)象的狀態(tài)就代表了受控系統(tǒng)那一時(shí)刻的狀態(tài),可作為受控系統(tǒng)的歷史記錄。作為一組持久對(duì)象,這些畫(huà)面元素可獨(dú)立于創(chuàng)建者而存在,其存在的空間可以是內(nèi)存,也可以是磁盤(pán),并且可以在這兩者之間轉(zhuǎn)移。 4. 電力系統(tǒng)是一個(gè)龐大而復(fù)雜的系統(tǒng),電力系統(tǒng)控制是客觀世界的一種活動(dòng),其中涉及許多受控對(duì)象,如開(kāi)關(guān)、刀閘、和變壓器等等,每個(gè)受控對(duì)象又有其自身的狀態(tài)和對(duì)事件的響應(yīng)能力。對(duì)電力系統(tǒng)進(jìn)行控制,除了要有良好的控制算法外,還必須要有友好、方便的人機(jī)界面。因?yàn)殡娏ο到y(tǒng)控制過(guò)程中許多參數(shù)的設(shè)置,實(shí)時(shí)采集數(shù)據(jù)及各受控對(duì)象狀態(tài)的顯示等,都是通過(guò)人機(jī)界面進(jìn)行的,因此,對(duì)于電力控制系統(tǒng)來(lái)說(shuō),人機(jī)界面直接反映了受控系統(tǒng)的行為。 基于上述的控制系統(tǒng)人機(jī)界面開(kāi)發(fā)策略,我們?cè)赪indows 95環(huán)境中,利用Visual C++所提供的MFC基礎(chǔ)類庫(kù)設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)電力控制系統(tǒng)人機(jī)界面開(kāi)發(fā)工具,它包括畫(huà)面設(shè)計(jì)工具和畫(huà)面使用工具。這里的畫(huà)面主要是指電力系統(tǒng)的接線圖,其中主要包括母線、開(kāi)關(guān)、刀閘、變壓器、遙測(cè)值、儀表圖、直方圖、曲線圖及一些輔助畫(huà)面元素。這些畫(huà)面元素中,有一些是用不同的圖形來(lái)表示受控對(duì)象的狀態(tài),如開(kāi)關(guān)、刀閘等,根據(jù)這些畫(huà)面元素所表示的受控對(duì)象的可能狀態(tài),一般可把它們分為單值、雙值、三值及四值元素,它們分別包含一組、二組、三組及四組圖形對(duì)象。 每組圖形對(duì)象反映了受控對(duì)象的一種狀態(tài),在系統(tǒng)控制時(shí),由受控對(duì)象的實(shí)際狀態(tài)決定顯示畫(huà)面元素的哪一組圖形;畫(huà)面中的另一些畫(huà)面元素是用數(shù)值來(lái)表示受控對(duì)象的狀態(tài),如遙測(cè)值、儀表圖、直方圖及曲線圖等,它們把受控對(duì)象的狀態(tài)數(shù)據(jù)(電流、電壓等)用文字、儀表或曲線等形式顯示出來(lái)。另外,畫(huà)面中還包括一些輔助畫(huà)面元素,它們不涉及受控對(duì)象,主要用于對(duì)畫(huà)面進(jìn)行補(bǔ)充說(shuō)明,如正文及各種靜止圖形。 當(dāng)畫(huà)面過(guò)大以至不能在一屏中顯示時(shí),可把它分成幾個(gè)畫(huà)面來(lái)設(shè)計(jì),在主畫(huà)面中用<畫(huà)面引用>來(lái)代表其它畫(huà)面。<畫(huà)面引用>作為一種畫(huà)面元素,用于標(biāo)識(shí)其它畫(huà)面,通過(guò)它可以從一個(gè)畫(huà)面察看其它畫(huà)面。這樣,當(dāng)受控系統(tǒng)規(guī)模較大時(shí),界面操作人員不至于一下陷入過(guò)多的細(xì)節(jié)之中,可以分片、分段地顯示受控系統(tǒng)的狀態(tài),并對(duì)其實(shí)施控制。這進(jìn)一步體現(xiàn)了人機(jī)界面的抽象功能。 畫(huà)面設(shè)計(jì)工具主要用于創(chuàng)建畫(huà)面元素及它們所包含的圖形對(duì)象。其中提供了一個(gè)圖形對(duì)象編輯器,用于根據(jù)一些標(biāo)準(zhǔn)圖形元素來(lái)構(gòu)造圖形對(duì)象組,一個(gè)圖形對(duì)象組表示了某個(gè)受控對(duì)象的一種狀態(tài)。利用圖形對(duì)象編輯器設(shè)計(jì)的圖形對(duì)象組可作為一些標(biāo)準(zhǔn)圖形對(duì)象組保存起來(lái)。在創(chuàng)建畫(huà)面元素時(shí),可利用一個(gè)標(biāo)準(zhǔn)圖形對(duì)象組選擇器獲取所需的圖形信息,標(biāo)準(zhǔn)圖形對(duì)象組選擇器將列出所有由圖形對(duì)象編輯器設(shè)計(jì)的標(biāo)準(zhǔn)圖形對(duì)象組。畫(huà)面元素的受控對(duì)象標(biāo)識(shí)也在畫(huà)面設(shè)計(jì)時(shí)定義,受控對(duì)象標(biāo)識(shí)實(shí)際上代表了數(shù)據(jù)庫(kù)中的一個(gè)位置,該位置用于存放受控對(duì)象的狀態(tài)數(shù)據(jù)及一些管理信息(如設(shè)備的容量及地理位置等),通過(guò)用戶界面可以獲得這些信息。在存儲(chǔ)畫(huà)面時(shí),畫(huà)面元素的狀態(tài)被存進(jìn)磁盤(pán),其類定義存放在類庫(kù)中。這里的畫(huà)面設(shè)計(jì)工具是一個(gè)開(kāi)放式工具,畫(huà)面及標(biāo)準(zhǔn)圖形對(duì)象組均可由用戶自己設(shè)計(jì)。 畫(huà)面使用工具作為控制系統(tǒng)的一部分,主要完成以下工作:從磁盤(pán)裝入畫(huà)面;根據(jù)定時(shí)器消息,向各個(gè)畫(huà)面元素發(fā)送數(shù)據(jù)更新消息;各畫(huà)面元素在收到數(shù)據(jù)更新消息后,根據(jù)受控對(duì)象標(biāo)識(shí)從數(shù)據(jù)庫(kù)中獲取相應(yīng)受控對(duì)象的狀態(tài)數(shù)據(jù),以決定其顯示狀態(tài)。另外,各畫(huà)面元素還可接收人工干預(yù)消息,如參數(shù)設(shè)置等,對(duì)數(shù)據(jù)庫(kù)中的相應(yīng)數(shù)據(jù)作修改,以控制實(shí)際受控對(duì)象的行為。在系統(tǒng)控制的某一時(shí)刻,也可把畫(huà)面存盤(pán),這時(shí),存入磁盤(pán)的對(duì)象的狀態(tài)就反應(yīng)了受控系統(tǒng)那一時(shí)刻的狀態(tài),作為受控系統(tǒng)的歷史記錄。 5. 本文提出了一種基于持久對(duì)象概念的控制系統(tǒng)人機(jī)界面開(kāi)發(fā)策略,該策略把人機(jī)界面中的畫(huà)面看成是由一組持久對(duì)象構(gòu)成,人機(jī)界面的功能由這些對(duì)象來(lái)完成。畫(huà)面由設(shè)計(jì)工具創(chuàng)建,在控制系統(tǒng)中使用。這種人機(jī)界面開(kāi)發(fā)策略不限于電力控制系統(tǒng)人機(jī)界面的開(kāi)發(fā),在其它類似系統(tǒng)的開(kāi)發(fā)中也能使用。

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:偉創(chuàng)空壓機(jī)變頻節(jié)能改造方案

下一篇:微能WIN-V63矢量控制變頻器在...

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

相關(guān)資訊

網(wǎng)站簡(jiǎn)介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見(jiàn)反饋|sitemap

中國(guó)傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購(gòu)咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書(shū) | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)