<P align=center>基于COM+技術(shù)的大型分布式網(wǎng)絡(luò)測控系統(tǒng)的設(shè)計與研究<BR><BR>成都理工大學(xué) 應(yīng)用核技術(shù)與自動化工程學(xué)院 四川 成都 610059<BR>覃章健<BR>四川拓普數(shù)字設(shè)備有限公司 四川 成都 610031<BR>楊珣 文彬 楊旻 </P> <P></P> <P><STRONG>摘要:</STRONG> 本文介紹了一種基于COM+技術(shù)的大型分布式網(wǎng)絡(luò)測控系統(tǒng)的設(shè)計方案。闡述了用COM+技術(shù)實現(xiàn)分布式網(wǎng)絡(luò)測控系統(tǒng)的適用性,闡明了系統(tǒng)設(shè)計思想和工作原理,并對系統(tǒng)的安全性機制和軟件設(shè)計作了具體論述。<BR><STRONG>關(guān)鍵詞:</STRONG> COM+ 測控系統(tǒng) 網(wǎng)絡(luò)測控系統(tǒng)<BR>中圖分類號: TP393<BR>文獻標識碼: B</P> <P><STRONG>Abstract:</STRONG> It gives you a design project of system for large-scale distributed network measurement and control based on COM+. Applicability of using COM+ in design the system is told, thought about the design and the working principle are clarified, and both the security mechanism about the system and the software design are discussed.<BR><STRONG>Key words:</STRONG> COM+ measurement and control system network measurement and control system </P> <P><STRONG>一.引言<BR></STRONG>隨著計算機技術(shù)的發(fā)展,基于PC的測控系統(tǒng)越來越廣泛地應(yīng)用在軍事、航空航天和工業(yè)自動化的各個領(lǐng)域。并且,隨著網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,為了滿足測控系統(tǒng)互連、測試數(shù)據(jù)共享和提高測控系統(tǒng)工作的可靠性等方面的需要,網(wǎng)絡(luò)技術(shù)也逐漸地被應(yīng)用到了測控領(lǐng)域,從而為數(shù)據(jù)采集、數(shù)據(jù)分析和數(shù)據(jù)表達帶來了一些新的方法和途徑。應(yīng)運而生,采用什么核心技術(shù),運用哪些軟硬件設(shè)計思想,實現(xiàn)最優(yōu)的網(wǎng)絡(luò)測控系統(tǒng)成了測控技術(shù)中值得關(guān)注的問題。這里,我們基于COM+技術(shù),充分利用COM+的實現(xiàn)分布式應(yīng)用的功能,提出了一種大型分布式網(wǎng)絡(luò)測控系統(tǒng)的設(shè)計方案。</P> <P><STRONG>二.COM+特點及其對開發(fā)分布式網(wǎng)絡(luò)測控系統(tǒng)的適用性</STRONG><BR>過去,網(wǎng)絡(luò)測控系統(tǒng)多使用GPIB總線臺式儀器,采用單臺儀器設(shè)備與計算機連接,在局域網(wǎng)上組建測控網(wǎng)絡(luò)(其拓撲結(jié)構(gòu)如下圖0)。其規(guī)模小,總線、設(shè)備單一,設(shè)計和實現(xiàn)都容易。現(xiàn)在,多總線多種儀器在大至Internet的大型網(wǎng)絡(luò)上組建成遠程網(wǎng)絡(luò)測控系統(tǒng)成為主要發(fā)展趨勢。面對如此龐大的系統(tǒng),必須采用大型分布式網(wǎng)絡(luò)技術(shù)來實現(xiàn)。因此,我們選擇了COM+技術(shù),利用其分布式應(yīng)用功能,實現(xiàn)我們的大型分布式網(wǎng)絡(luò)測控系統(tǒng)。<BR>COM+是COM的新發(fā)展,是COM更高層次上的應(yīng)用。它不再局限于COM的組件技術(shù),而是更注重于分布式網(wǎng)絡(luò)應(yīng)用的設(shè)計和實現(xiàn),甚至是Microsoft系統(tǒng)平臺策略和軟件發(fā)展策略的一部分。COM+技術(shù)最鮮明的特點是它可以輕松方便地實現(xiàn)組件對象跨進程、跨計算機、跨網(wǎng)絡(luò)甚至跨操作系統(tǒng)平臺地運行,并且實現(xiàn)這種分布式結(jié)構(gòu)全依靠系統(tǒng)服務(wù)本身,開發(fā)人員不必考慮系統(tǒng)的基礎(chǔ)結(jié)構(gòu),只需把精力集中在業(yè)務(wù)邏輯的解決上,就能開發(fā)出規(guī)模可變、可靠性高的分布式應(yīng)用程序。這正是選擇COM+技術(shù)來設(shè)計和開發(fā)我們的大型分布式網(wǎng)絡(luò)測控系統(tǒng)的原因。<BR>大型的網(wǎng)絡(luò)測控系統(tǒng)一般都是多總線多種儀器連在以太網(wǎng)上的遠程測控網(wǎng)絡(luò)。比如:采用PXI總線儀器、VXI總線模塊儀器、GPIB總線臺式儀器、SCXI總線調(diào)理模塊、PC機板卡儀器等多種總線儀器混合互連,構(gòu)成示波器、信號源、計數(shù)器、多用表、數(shù)據(jù)采集及圖象采集等多種儀器的連接,組成集測量、控制和現(xiàn)場監(jiān)視于一體的Internet遠程虛擬儀器網(wǎng)絡(luò)測控系統(tǒng)平臺。面對諸多的測控儀器設(shè)備,實現(xiàn)計算機對之的遠程控制,遠程數(shù)據(jù)采集,遠程管理,較理想的方法是:運用COM+技術(shù),編寫各類軟件組件分布式地運行于網(wǎng)絡(luò)上的各服務(wù)器計算機上,服務(wù)器實現(xiàn)對各類儀器設(shè)備的測控,客戶機通過以太網(wǎng)向服務(wù)器提出請求訪問其控制的儀器設(shè)備,由服務(wù)器與客戶機之間的組件通信把數(shù)據(jù)或控制傳送于客戶機與儀器設(shè)備之間。<BR>COM+技術(shù)應(yīng)用于大型分布式網(wǎng)絡(luò)測控系統(tǒng)中有其明顯的優(yōu)勢。首先,其可擴展性強:系統(tǒng)每增加一種子系統(tǒng)即是對主控臺增加一種組件,由它封裝數(shù)據(jù)及方法實現(xiàn)和其相關(guān)的控制功能,并對于子系統(tǒng)增減設(shè)備也即是增減該子系統(tǒng)組件服務(wù)器上的相應(yīng)組件,而對于控制系統(tǒng)的其它部分不用做任何的變化。其次,實時性可靠性好:網(wǎng)絡(luò)間控制流及數(shù)據(jù)流的傳輸相當穩(wěn)定,一旦形成組件后,Microsoft便為COM+定義了一種訪問軟件服務(wù)的通用方法,也就是說數(shù)據(jù)及控制信息的傳遞全由Windows自身管理了起來。還有,可維護性高:COM+對象具有支持多個接口的能力,新增功能時可用添加新的接口的形式來實現(xiàn);因此在進行軟件修改或升級時,對已實現(xiàn)的軟件組件,只需修改增加相應(yīng)接口便可,且對原有的接口不會有任何的損害,因而對整個系統(tǒng)的其它程序也不會有任何的影響。</P> <P><STRONG>三.系統(tǒng)結(jié)構(gòu)及工作原理</STRONG><BR>設(shè)備管理服務(wù)器可分為域控制服務(wù)器和軟件組件服務(wù)器兩種。域控制服務(wù)器運行Windows 2000 Server操作系統(tǒng),作為測控系統(tǒng)網(wǎng)絡(luò)主服務(wù)器,負責(zé)管理網(wǎng)絡(luò)中的所有TCP/IP與其他總線接口轉(zhuǎn)換器設(shè)備,如:分配IP地址等。軟件組件服務(wù)器運行Windows 2000 Professional以上的操作系統(tǒng),其運行控制各類測控設(shè)備儀器的軟件組件,用于為客戶機提供服務(wù)和控制網(wǎng)絡(luò)中的各類測控設(shè)備儀器。<BR>客戶機運行Windows 98以上的操作系統(tǒng),其通過向軟件組件服務(wù)器提出訪問測控設(shè)備儀器請求,由服務(wù)器從設(shè)備儀器中讀取數(shù)據(jù)傳給客戶機,客戶機分析處理數(shù)據(jù)后再把控制或數(shù)據(jù)經(jīng)服務(wù)器回傳至測控設(shè)備儀器。當客戶機向服務(wù)器發(fā)出請求訪問某臺測控設(shè)備時,服務(wù)器端會自動啟動控制該設(shè)備的軟件組件,通過軟件組件實現(xiàn)客戶機與測控設(shè)備通信。<BR>域控制服務(wù)器、軟件組件服務(wù)器、客戶機僅是邏輯概念,實際上,域控制服務(wù)器、軟件組件服務(wù)器、客戶機可以為同一物理設(shè)備。<BR>TCP/IP與其他總線接口轉(zhuǎn)換器用于在網(wǎng)絡(luò)層完成以太網(wǎng)TCP/IP協(xié)議和測控設(shè)備現(xiàn)場總線RS-232、RS-485、GPIB、并口通信等協(xié)議之間的轉(zhuǎn)換,完成以太網(wǎng)和現(xiàn)場總線網(wǎng)絡(luò)間的互聯(lián),實現(xiàn)以太網(wǎng)和現(xiàn)場總線網(wǎng)絡(luò)之間的數(shù)據(jù)交換。這樣的設(shè)備很多,如實現(xiàn)臺式儀器GPIB接口與TCP/IP轉(zhuǎn)換的TEK AD-007,實現(xiàn)RS-232、RS-485、并口通信與TCP/IP轉(zhuǎn)換的“網(wǎng)絡(luò)通”等。</P> <P><STRONG>四.系統(tǒng)安全性機制</STRONG><BR>采用了COM+技術(shù),系統(tǒng)一般都跨網(wǎng)絡(luò)運行,因此安全性尤為重要。實際上,COM+本身也有一套安全性機制。如,基于windows NT的鑒定服務(wù)(authentication service)機制。COM+采用基于角色的安全模型,根據(jù)用戶的角色訪問應(yīng)用的有關(guān)功能模塊。COM+可以為每個組件、每個接口或每個方法指定安全角色。<BR>除此之外,也可以另外自行附加一些安全性機制,如采用數(shù)據(jù)庫,在客戶端向測控設(shè)備通信的過程中,把訪問數(shù)據(jù)庫的訪問權(quán)限附加到此過程中來。設(shè)計思想如圖1,但還需另設(shè)一數(shù)據(jù)庫服務(wù)器。工作過程如下述:<BR>當客戶端向軟件組件服務(wù)器發(fā)出請求訪問之前,首先訪問服務(wù)器配置數(shù)據(jù)庫,若有權(quán)訪問服務(wù)器配置數(shù)據(jù)庫的某服務(wù)器信息條目,就利用該條目信息訪問該服務(wù)器,否則,客戶端無權(quán)訪問此服務(wù)器。<BR>當服務(wù)器訪問測控設(shè)備之前,先得訪問測控設(shè)備配置數(shù)據(jù)庫,若有權(quán)訪問測控設(shè)備配置數(shù)據(jù)庫的某測控設(shè)備信息條目,就利用該條目信息訪問該測控設(shè)備,否則,客戶端無權(quán)訪問此測控設(shè)備。<BR>通過以上兩個過程,就給整個網(wǎng)絡(luò)測控系統(tǒng)再加了一道安全防線。</P> <P><STRONG>五.軟件系統(tǒng)設(shè)計</STRONG><BR>由于我們的網(wǎng)絡(luò)測控系統(tǒng)采用了COM+技術(shù),軟件系統(tǒng)開發(fā)必然分為服務(wù)器端軟件組件開發(fā)和客戶端應(yīng)用軟件開發(fā)兩個部分。<BR>服務(wù)器端軟件開發(fā)包括兩方面的工作:COM組件開發(fā)和組件注冊安裝到COM+應(yīng)用程序中。<BR>COM組件一般用visual c++6.0中的ATL COM AppWizard開發(fā),運用它開發(fā)COM應(yīng)用是一件非常簡單的事情。網(wǎng)絡(luò)測控系統(tǒng)中的軟件組件的接口有其共性,一般可按如下設(shè)計:<BR>為接口添加一個屬性RemoteIP,其用來指明測控設(shè)備所連接的TCP/IP與其他總線接口轉(zhuǎn)換器的IP地址。<BR>為接口添加三個方法Link()、GetData()和SendData()。Link()方法用于連接服務(wù)器和轉(zhuǎn)接器設(shè)備。GetData()和SendData()方法分別用來服務(wù)器從測控設(shè)備接收數(shù)據(jù)和向測控設(shè)備發(fā)送數(shù)據(jù)。<BR>為接口添加一個事件DataArrive(),該事件的觸發(fā)用于通知服務(wù)器,測控設(shè)備傳送過來的數(shù)據(jù)已到達,服務(wù)器隨后接收數(shù)據(jù)并放入其緩存。<BR>組件注冊安裝到COM+應(yīng)用程序中很簡單。以DLL為擴展名的組件注冊運用regsvr32.exe命令行程序來完成;以EXE為擴展名的組件注冊運行該組件文件并帶上參數(shù)/RegServer(反注冊帶參數(shù)/UnRegServer)。組件安裝到COM+應(yīng)用程序中用“控制面板”中的“管理工具”中的“組件服務(wù)”圖形界面工具可輕松完成。<BR>客戶端應(yīng)用軟件開發(fā)用于完成應(yīng)用層的用戶邏輯業(yè)務(wù)。其數(shù)據(jù)來源正是客戶機與激活的遠程服務(wù)器上的軟件組件通信而傳回的數(shù)據(jù)。</P> <P><STRONG>六,結(jié)束語</STRONG><BR>基于COM+技術(shù)而設(shè)計的網(wǎng)絡(luò)測控系統(tǒng),通用性強,可擴展性好,此設(shè)計思想適用于大多數(shù)系統(tǒng)集成項目,可用于大部分網(wǎng)絡(luò)控制系統(tǒng)。特別是針對多總線多測控儀器設(shè)備的大型網(wǎng)絡(luò)測控系統(tǒng),用此技術(shù)和設(shè)計思想,可大大減小實現(xiàn)難度,縮短開發(fā)時間。運用此設(shè)計思想和方案,我們?yōu)槟硢挝粚崿F(xiàn)了一套大型示波器測試系統(tǒng),其穩(wěn)定性、可靠性都很高,效果不錯。</P> <P><STRONG>參考文獻</STRONG></P> <P>[1] 余英 梁剛 編著 Visual C++實踐與提高――COM和COM+篇 中國鐵道出版社,2001<BR>[2] 王 承 何志偉 基于虛擬儀器的網(wǎng)絡(luò)化自動測試系統(tǒng)的構(gòu)架及實現(xiàn)<BR>[3] 潘仕彬 何 錚 用于單片機的以太網(wǎng)網(wǎng)關(guān)--網(wǎng)絡(luò)通<BR>[4] Tektronix TDS500D,TDS600B & TDS700D Digitizing Oscilloscopes<BR>User Manual 071-0130-03<BR>[5] Tektronix TLS216 Logic Scope Programmer Manual 070-8835-00<BR>[6] the DSA 601A, DSA 602A Digitizing Signal Analyzers Programmer Reference</P> <P><STRONG>作者簡介:</STRONG></P> <P>覃章健 (1975 - ),男,湖北松滋人,成都理工大學(xué)應(yīng)用核技術(shù)與自動化工程學(xué)院測試計量及儀器專業(yè)碩士生,研究方向:圖像通信。<BR>楊珣 (1978 - ),男,成都人,蘭州大學(xué)信息工程專業(yè)畢業(yè),現(xiàn)任四川拓普數(shù)字設(shè)備有限公司系統(tǒng)工程師,主要從事測控系統(tǒng)及數(shù)據(jù)庫軟件研發(fā)工作。<BR>文彬 (1977 - ),男,成都人,成都電子科技大學(xué)計算機應(yīng)用專業(yè)畢業(yè),現(xiàn)任四川拓普數(shù)字設(shè)備有限公司軟件工程師,主要從事有關(guān)數(shù)據(jù)采集與信號處理軟件研發(fā)工作。<BR>楊旻 (1969 - ),男,成都人,高級工程師,1991年畢業(yè)于浙江大學(xué)信息與電子工程學(xué)院,現(xiàn)任四川拓普數(shù)字設(shè)備有限公司總工,主要從事測控系統(tǒng)硬件及軟件的總體設(shè)計及研發(fā)工作。 </P>