国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

監(jiān)控組態(tài)軟件關(guān)鍵技術(shù)研究

2009-10-11 07:28:24
電腦知識(shí)與技術(shù) 2009年14期
關(guān)鍵詞:控件線程組態(tài)

方 琳

摘要:該文主要探討了監(jiān)控組態(tài)軟件設(shè)計(jì)與開發(fā)中六大關(guān)鍵技術(shù),具有一定的實(shí)踐意義。

關(guān)鍵詞:監(jiān)控組態(tài)軟件;關(guān)鍵技術(shù)

中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2009)14-3706-02

Configuration Software to Monitor the Research of Key Technologies

FANG Lin

(Tianhe college of Guangdong polytechnical normal university,Guangzhou 510540,China)

Abstract: This paper mainly discusses the design and configuration software to monitor the development of six key technologies, with a certain degree of practical significance.

Key words: Monitor configuration software; Key technologies

1 引言

監(jiān)控組態(tài)軟件設(shè)計(jì)與開發(fā)是一項(xiàng)十分復(fù)雜的工程任務(wù),涉及到面向?qū)ο蠹夹g(shù)、圖形技術(shù)、數(shù)據(jù)庫訪問技術(shù)、網(wǎng)絡(luò)通信技術(shù)、組件技術(shù)、多線程技術(shù)等相關(guān)理論與技術(shù)。

2 面向?qū)ο蠹夹g(shù)

當(dāng)前,許多設(shè)計(jì)監(jiān)控組態(tài)軟件的開發(fā)者采用了面向?qū)ο缶幊?Object Oriented Programming)技術(shù),通過對(duì)監(jiān)控組態(tài)軟件的各功能模塊的分析、抽象,提煉出具體的操作行為及屬性,構(gòu)建出基本類庫,當(dāng)需要時(shí),可以從基本類庫中派生出新類并實(shí)例化,從而可以方便地在通用的開發(fā)平臺(tái)上建立有自己獨(dú)特功能的監(jiān)控組態(tài)軟件。這種導(dǎo)出式的開發(fā)方式具有較高的軟件重用性,避免了軟件模塊的重復(fù)開發(fā),是一種比較成熟的方法。

面向?qū)ο蟮某绦蛟O(shè)計(jì)的本質(zhì)是把數(shù)據(jù)和處理數(shù)據(jù)的過程當(dāng)成一個(gè)整體,即對(duì)象。面向?qū)ο蟪绦蛟O(shè)計(jì)的實(shí)現(xiàn)需要封裝和數(shù)據(jù)隱藏技術(shù),需要繼承和多態(tài)技術(shù)。所謂封裝和數(shù)據(jù)隱藏指的是控制對(duì)象數(shù)據(jù)訪問的特定規(guī)則。將數(shù)據(jù)和操作這些數(shù)據(jù)的代碼包裝成一個(gè)對(duì)象,而將數(shù)據(jù)和操作細(xì)節(jié)隱藏起來,這一過程叫做封裝。封裝的基本思想是:如果增加某些限制,使得對(duì)數(shù)據(jù)的訪問可按照統(tǒng)一的方式進(jìn)行,那就比較容易產(chǎn)生更為強(qiáng)壯的代碼。繼承機(jī)制指建立子類或派生類的能力,使面向?qū)ο筌浖苋菀走m應(yīng)不同的應(yīng)用而不用修改其原始設(shè)計(jì)。在重用原始設(shè)計(jì)的同時(shí),增加新的功能或遺棄不必要的功能。多態(tài)性通過繼承的方法構(gòu)造類,采用多態(tài)性為每個(gè)類指定表現(xiàn)行為。繼承性和多態(tài)性的組合,可以輕易地生成一系列雖類似但獨(dú)一無一的對(duì)象。由于繼承性,這些對(duì)象共享許多相似的特征。但由于多態(tài)性,一個(gè)對(duì)象可以有獨(dú)特的表現(xiàn)方式,而對(duì)另一個(gè)對(duì)象有另一種表現(xiàn)形式。

3 圖形技術(shù)

監(jiān)控系統(tǒng)需要在遠(yuǎn)離現(xiàn)場(chǎng)的控制室對(duì)系統(tǒng)的各狀態(tài)進(jìn)行監(jiān)控,逼真地反映現(xiàn)場(chǎng)的真實(shí)運(yùn)行狀態(tài)和設(shè)備的運(yùn)行狀態(tài),這就要求監(jiān)控組態(tài)軟件具有良好的圖形監(jiān)控畫面,豐富強(qiáng)大的圖形組態(tài)功能,從而能夠達(dá)到再現(xiàn)現(xiàn)場(chǎng)實(shí)況,為管理人員提供簡(jiǎn)單方便的操作的效果。監(jiān)控組態(tài)軟件具有友好的人機(jī)界面和強(qiáng)大的組態(tài)能力,其人機(jī)界面不再是單一的文字,而是文字和圖形的綜合處理,除了具有菜單式的操作方法外,一般都采用圖形化、儀表化的操作界面,提供趨勢(shì)圖、報(bào)警等常用過程控制中的監(jiān)控乎段。充分利用圖形技術(shù),可將界面設(shè)計(jì)的非常友好,方便操作人員使用。

4 數(shù)據(jù)庫訪問技術(shù)

監(jiān)控系統(tǒng)的處理過程其實(shí)就是數(shù)據(jù)采集、數(shù)據(jù)傳遞和數(shù)據(jù)處理的過程,其中對(duì)于數(shù)據(jù)的處理難免要用到數(shù)據(jù)庫。監(jiān)控系統(tǒng)由于其應(yīng)用場(chǎng)合的特殊性,它的數(shù)據(jù)處理與一般的商業(yè)軟件有著明顯的區(qū)別,前者需要處理最多的是實(shí)時(shí)更新現(xiàn)場(chǎng)數(shù)據(jù),即處理一些實(shí)時(shí)的不斷變化的數(shù)據(jù),數(shù)據(jù)與時(shí)間因素緊密相關(guān);而后者這種實(shí)時(shí)的因素相對(duì)較弱,主要是處理一些靜態(tài)的數(shù)據(jù)。在監(jiān)控系統(tǒng)中涉及到兩種數(shù)據(jù)庫:實(shí)時(shí)數(shù)據(jù)庫和歷史數(shù)據(jù)庫。

數(shù)據(jù)庫是組態(tài)軟件的重要組成部分,其它組件模塊經(jīng)常要對(duì)數(shù)據(jù)庫進(jìn)行讀寫、創(chuàng)建、刪除等操作。比如歷史控件需要查詢、讀取歷史數(shù)據(jù),硬件I/O模塊需要將從外圍設(shè)備中取得的數(shù)據(jù)定時(shí)寫入數(shù)據(jù)庫中等。因此數(shù)據(jù)庫訪問技術(shù)是組態(tài)軟件開發(fā)中經(jīng)常要設(shè)計(jì)的一項(xiàng)技術(shù)之一。微軟提供了一個(gè)通用解決方案——OLE DB,它是一組COM(Component Object Model,組件對(duì)象模型)接口的集合,提供了統(tǒng)一的方法以訪問存儲(chǔ)在不同信息源中的數(shù)據(jù)。但是,由于OLEDB API是為了給盡可能多的不同應(yīng)用提供最佳功能而設(shè)計(jì)的,因此不符合使用簡(jiǎn)便這一要求。所以,我們需要一個(gè)介于OLE DB和實(shí)際應(yīng)用之間的橋梁,而ADO正是這座橋梁。

ADO是為Microsoft最新和最強(qiáng)大的數(shù)據(jù)訪問接口OLE DB而設(shè)計(jì)的,是一個(gè)便于使用的應(yīng)用程序?qū)?。OLE DB為任何數(shù)據(jù)源都提供了高性能的訪問,這些數(shù)據(jù)源包括關(guān)系和非關(guān)系數(shù)據(jù)庫、電了郵件、文件系統(tǒng)、文本和圖形以及自定義業(yè)務(wù)對(duì)象等。ADO在關(guān)鍵的Internet方案中使用最少的網(wǎng)絡(luò)流量,并且在前端和數(shù)據(jù)源之間使用最少的層數(shù),所有這些都是為了提供高性能的接口。同時(shí)ADO使用了與DAO相似的約定和特性,使得它更易于學(xué)習(xí)。

5 網(wǎng)絡(luò)通信技術(shù)

網(wǎng)絡(luò)程序的實(shí)現(xiàn)可以有多種方式,Windows Socket就是其中一種比較簡(jiǎn)單的實(shí)現(xiàn)方法。Socket是連接應(yīng)用程序與網(wǎng)絡(luò)驅(qū)動(dòng)程序的橋梁,Socket在應(yīng)用程序中創(chuàng)建,通過綁定操作與驅(qū)動(dòng)程序建立關(guān)系。此后,應(yīng)用程序送給Socket的數(shù)據(jù),由Socket交給驅(qū)動(dòng)程序向網(wǎng)絡(luò)上發(fā)送出去。計(jì)算機(jī)從網(wǎng)絡(luò)上收到與該Socket綁定的IP地址和端口號(hào)相關(guān)的數(shù)據(jù)后,由驅(qū)動(dòng)程序交給Socket,應(yīng)用程序便可以從該Socket中提取接收到的數(shù)據(jù)。網(wǎng)絡(luò)應(yīng)用程序就是這樣通過Socket進(jìn)行數(shù)據(jù)的發(fā)送和接收的。

在TCP/IP網(wǎng)絡(luò)應(yīng)用中,通信的兩個(gè)進(jìn)程間相互作用的主要模式是客戶機(jī)/服務(wù)器模式(client/server),即客戶向服務(wù)器提出請(qǐng)求,服務(wù)器接收到請(qǐng)求后,提供響應(yīng)的服務(wù)。監(jiān)控組態(tài)軟件在建立客戶機(jī)/服務(wù)器模式時(shí)主要基于以下兩點(diǎn):首先,建立網(wǎng)絡(luò)的起因是網(wǎng)絡(luò)中軟硬件資源、運(yùn)算能力和信息不均等,需要共享,從而造就擁有眾多資源的主機(jī)提供服務(wù),資源較少的客戶請(qǐng)求服務(wù)這一非對(duì)等作用。其次,網(wǎng)間進(jìn)程通信完全是異步的,相互通信的進(jìn)程間既不存在父子關(guān)系,又不共享內(nèi)存緩沖區(qū)。

6 組件技術(shù)

組件是一種可重復(fù)調(diào)用的軟件塊,它把維護(hù)及操作某一類信息的程序集中在一起獨(dú)立成塊。應(yīng)用系統(tǒng)通過預(yù)先定義好的界面來調(diào)用執(zhí)行組件。組件可以簡(jiǎn)單如一個(gè)類,也可以復(fù)雜如完整的應(yīng)用服務(wù)處理。組件與調(diào)用它的應(yīng)用環(huán)境一起構(gòu)成容器系統(tǒng),它提供了一種執(zhí)行服務(wù)器組件的運(yùn)行環(huán)境。常用的組態(tài)軟件控件為ActiveX控件。

ActiveX是Microsoft的一個(gè)術(shù)語,是基于組件對(duì)象模型(COM - Component Object Model)的一種技術(shù),是一組包括控件、Dll和ActiveX文檔的組件,它通常是以動(dòng)態(tài)鏈接庫的形式存在,因此必須在一個(gè)叫容器的獨(dú)立執(zhí)行軟件中運(yùn)行。ActiveX技術(shù)的核心是ActiveX控件。事實(shí)上,ActiveX控件是OLE控件的一個(gè)新的稱呼。以前所創(chuàng)建的OLE控件自然而然地成為ActiveX控件,并且可以在ActiveX應(yīng)用程序中使用。原有的OLE控件的最大問題是過于笨重。這主要因?yàn)樗鼈兠嫦蜃烂鎽?yīng)用,實(shí)現(xiàn)了完整的 OLE控件標(biāo)準(zhǔn)接口集。而ActiveX控件,主要是在Internet環(huán)境下應(yīng)用,所以必須做到盡可能的小。ActiveX控件的一個(gè)特點(diǎn)是能夠自動(dòng)下載。支持ActiveX控件的瀏覽器如果發(fā)現(xiàn)正在瀏覽的頁面中用到某個(gè)ActiveX控件是它所沒有的,便會(huì)自動(dòng)從服務(wù)器端下載ActiveX控件并安裝它。ActiveX控件的數(shù)據(jù)輸入和函數(shù)功能的執(zhí)行都必須通過容器,因此ActiveX控件和容器都必須支持一些特定的接口協(xié)議。

目前使用的大多數(shù)監(jiān)控組態(tài)軟件都提供了使用ActiveX控件的能力。程序員可以利用自己熟悉的開發(fā)語言來開發(fā)ActiveX控件,任何能通過編程來完成的任務(wù)都可寫成一個(gè)或多個(gè)ActiveX控件。用戶不僅可以自己創(chuàng)建ActiveX控件,也可以直接使用第三方程序開發(fā)者提供的ActiveX控件例如微軟的MSCOMM控件,用戶利用它可以輕松完成利用串口通訊的程序;又如Tide Stone公司的Formulate0ne控件可以完成各種較為復(fù)雜的報(bào)表。控件的使用大大增強(qiáng)了組態(tài)軟件的靈活性。

7 多線程技術(shù)

多線程技術(shù)也是組態(tài)軟件中普遍使用的技術(shù)之一。為了實(shí)現(xiàn)程序的實(shí)時(shí)性、并發(fā)性,防止因?yàn)閱蝹€(gè)線程而阻塞整個(gè)程序運(yùn)行,畫面線程和操作線程往往需要分開。另外,為了提高CPU執(zhí)行效率,也常常使用多線程技術(shù),比如監(jiān)控組態(tài)軟件中的硬件讀寫模塊為每一個(gè)I/O設(shè)備開辟一個(gè)線程,以加快程序執(zhí)行速度以及網(wǎng)絡(luò)通信過程中為每個(gè)客戶端請(qǐng)求開辟一個(gè)響應(yīng)線程。雖然線程確實(shí)非常有用,但使用線程時(shí)可能產(chǎn)生新的問題。比如線程間的通信和同步問題,這也是我們?cè)谑褂枚嗑€程時(shí)最需要注意的問題。線程需要在下面兩種情況下互相進(jìn)行通信:

第一,當(dāng)有多個(gè)線程訪問共享資源而不使用資源被破壞時(shí)。

第二,當(dāng)一個(gè)線程需要將某個(gè)任務(wù)已經(jīng)完成的情況通知另外一個(gè)或多個(gè)線程時(shí)。

Windows提供了許多方法,可以非常容易地實(shí)現(xiàn)線程的同步。這些方法包括:臨界區(qū)、信號(hào)量、互斥體、事件對(duì)象等。

參考文獻(xiàn):

[1] 王亞民,陳青,劉暢生,等.組態(tài)軟件設(shè)計(jì)與開發(fā)[M].陜西:西安電子科技大學(xué)出版社,2003.

[2] 馬國華.監(jiān)控組態(tài)軟件及其應(yīng)用[M].北京:清華大學(xué)出版社,2001.

[3] 王海瑞.ActiveX技術(shù)在組態(tài)軟件中的應(yīng)用研究[J].計(jì)算機(jī)測(cè)量與控制,2002(6).

猜你喜歡
控件線程組態(tài)
基于PLC及組態(tài)技術(shù)的恒溫控制系統(tǒng)開發(fā)探討
關(guān)于.net控件數(shù)組的探討
軟件(2018年7期)2018-08-13 09:44:42
基于PLC和組態(tài)的智能電動(dòng)擰緊系統(tǒng)
淺談linux多線程協(xié)作
PLC組態(tài)控制在水箱控制系統(tǒng)的應(yīng)用
鑄造行業(yè)三維組態(tài)軟件的應(yīng)用
Linux線程實(shí)現(xiàn)技術(shù)研究
就這樣玩會(huì)VBA中常見的自定義控件
電腦迷(2012年24期)2012-04-29 00:44:03
么移動(dòng)中間件線程池并發(fā)機(jī)制優(yōu)化改進(jìn)
在PowerBuUder中利用WinSock控件制作簡(jiǎn)單的Web服務(wù)器
汾西县| 新沂市| 醴陵市| 吉林省| 嘉义市| 洛宁县| 潢川县| 咸阳市| 化州市| 海安县| 益阳市| 剑阁县| 瓮安县| 洱源县| 长春市| 漳平市| 玉林市| 南木林县| 潼关县| 饶阳县| 灵丘县| 陵川县| 桓仁| 吴忠市| 中宁县| 舞阳县| 敖汉旗| 来宾市| 秭归县| 漳浦县| 松原市| 永登县| 蕲春县| 林西县| 乐平市| 简阳市| 合水县| 且末县| 滦南县| 河西区| 广河县|