基于COM+技術(shù)的大型分布式網(wǎng)絡(luò)測(cè)控系統(tǒng)的設(shè)計(jì)與研究
成都理工大學(xué) 應(yīng)用核技術(shù)與自動(dòng)化工程學(xué)院 四川 成都 610059
覃章健
四川拓普數(shù)字設(shè)備有限公司 四川 成都 610031
楊珣 文彬 楊旻
摘要: 本文介紹了一種基于COM+技術(shù)的大型分布式網(wǎng)絡(luò)測(cè)控系統(tǒng)的設(shè)計(jì)方案。闡述了用COM+技術(shù)實(shí)現(xiàn)分布式網(wǎng)絡(luò)測(cè)控系統(tǒng)的適用性,闡明了系統(tǒng)設(shè)計(jì)思想和工作原理,并對(duì)系統(tǒng)的安全性機(jī)制和軟件設(shè)計(jì)作了具體論述。
關(guān)鍵詞: COM+ 測(cè)控系統(tǒng) 網(wǎng)絡(luò)測(cè)控系統(tǒng)
中圖分類號(hào): TP393
文獻(xiàn)標(biāo)識(shí)碼: B
Abstract: 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.
Key words: COM+ measurement and control system network measurement and control system
一.引言
隨著計(jì)算機(jī)技術(shù)的發(fā)展,基于PC的測(cè)控系統(tǒng)越來越廣泛地應(yīng)用在軍事、航空航天和工業(yè)自動(dòng)化的各個(gè)領(lǐng)域。并且,隨著網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,為了滿足測(cè)控系統(tǒng)互連、測(cè)試數(shù)據(jù)共享和提高測(cè)控系統(tǒng)工作的可靠性等方面的需要,網(wǎng)絡(luò)技術(shù)也逐漸地被應(yīng)用到了測(cè)控領(lǐng)域,從而為數(shù)據(jù)采集、數(shù)據(jù)分析和數(shù)據(jù)表達(dá)帶來了一些新的方法和途徑。應(yīng)運(yùn)而生,采用什么核心技術(shù),運(yùn)用哪些軟硬件設(shè)計(jì)思想,實(shí)現(xiàn)最優(yōu)的網(wǎng)絡(luò)測(cè)控系統(tǒng)成了測(cè)控技術(shù)中值得關(guān)注的問題。這里,我們基于COM+技術(shù),充分利用COM+的實(shí)現(xiàn)分布式應(yīng)用的功能,提出了一種大型分布式網(wǎng)絡(luò)測(cè)控系統(tǒng)的設(shè)計(jì)方案。
二.COM+特點(diǎn)及其對(duì)開發(fā)分布式網(wǎng)絡(luò)測(cè)控系統(tǒng)的適用性
過去,網(wǎng)絡(luò)測(cè)控系統(tǒng)多使用GPIB總線臺(tái)式儀器,采用單臺(tái)儀器設(shè)備與計(jì)算機(jī)連接,在局域網(wǎng)上組建測(cè)控網(wǎng)絡(luò)(其拓?fù)浣Y(jié)構(gòu)如下圖0)。其規(guī)模小,總線、設(shè)備單一,設(shè)計(jì)和實(shí)現(xiàn)都容易?,F(xiàn)在,多總線多種儀器在大至Internet的大型網(wǎng)絡(luò)上組建成遠(yuǎn)程網(wǎng)絡(luò)測(cè)控系統(tǒng)成為主要發(fā)展趨勢(shì)。面對(duì)如此龐大的系統(tǒng),必須采用大型分布式網(wǎng)絡(luò)技術(shù)來實(shí)現(xiàn)。因此,我們選擇了COM+技術(shù),利用其分布式應(yīng)用功能,實(shí)現(xiàn)我們的大型分布式網(wǎng)絡(luò)測(cè)控系統(tǒng)。
COM+是COM的新發(fā)展,是COM更高層次上的應(yīng)用。它不再局限于COM的組件技術(shù),而是更注重于分布式網(wǎng)絡(luò)應(yīng)用的設(shè)計(jì)和實(shí)現(xiàn),甚至是Microsoft系統(tǒng)平臺(tái)策略和軟件發(fā)展策略的一部分。COM+技術(shù)最鮮明的特點(diǎn)是它可以輕松方便地實(shí)現(xiàn)組件對(duì)象跨進(jìn)程、跨計(jì)算機(jī)、跨網(wǎng)絡(luò)甚至跨操作系統(tǒng)平臺(tái)地運(yùn)行,并且實(shí)現(xiàn)這種分布式結(jié)構(gòu)全依靠系統(tǒng)服務(wù)本身,開發(fā)人員不必考慮系統(tǒng)的基礎(chǔ)結(jié)構(gòu),只需把精力集中在業(yè)務(wù)邏輯的解決上,就能開發(fā)出規(guī)??勺儭⒖煽啃愿叩姆植际綉?yīng)用程序。這正是選擇COM+技術(shù)來設(shè)計(jì)和開發(fā)我們的大型分布式網(wǎng)絡(luò)測(cè)控系統(tǒng)的原因。
大型的網(wǎng)絡(luò)測(cè)控系統(tǒng)一般都是多總線多種儀器連在以太網(wǎng)上的遠(yuǎn)程測(cè)控網(wǎng)絡(luò)。比如:采用PXI總線儀器、VXI總線模塊儀器、GPIB總線臺(tái)式儀器、SCXI總線調(diào)理模塊、PC機(jī)板卡儀器等多種總線儀器混合互連,構(gòu)成示波器、信號(hào)源、計(jì)數(shù)器、多用表、數(shù)據(jù)采集及圖象采集等多種儀器的連接,組成集測(cè)量、控制和現(xiàn)場(chǎng)監(jiān)視于一體的Internet遠(yuǎn)程虛擬儀器網(wǎng)絡(luò)測(cè)控系統(tǒng)平臺(tái)。面對(duì)諸多的測(cè)控儀器設(shè)備,實(shí)現(xiàn)計(jì)算機(jī)對(duì)之的遠(yuǎn)程控制,遠(yuǎn)程數(shù)據(jù)采集,遠(yuǎn)程管理,較理想的方法是:運(yùn)用COM+技術(shù),編寫各類軟件組件分布式地運(yùn)行于網(wǎng)絡(luò)上的各服務(wù)器計(jì)算機(jī)上,服務(wù)器實(shí)現(xiàn)對(duì)各類儀器設(shè)備的測(cè)控,客戶機(jī)通過以太網(wǎng)向服務(wù)器提出請(qǐng)求訪問其控制的儀器設(shè)備,由服務(wù)器與客戶機(jī)之間的組件通信把數(shù)據(jù)或控制傳送于客戶機(jī)與儀器設(shè)備之間。
COM+技術(shù)應(yīng)用于大型分布式網(wǎng)絡(luò)測(cè)控系統(tǒng)中有其明顯的優(yōu)勢(shì)。首先,其可擴(kuò)展性強(qiáng):系統(tǒng)每增加一種子系統(tǒng)即是對(duì)主控臺(tái)增加一種組件,由它封裝數(shù)據(jù)及方法實(shí)現(xiàn)和其相關(guān)的控制功能,并對(duì)于子系統(tǒng)增減設(shè)備也即是增減該子系統(tǒng)組件服務(wù)器上的相應(yīng)組件,而對(duì)于控制系統(tǒng)的其它部分不用做任何的變化。其次,實(shí)時(shí)性可靠性好:網(wǎng)絡(luò)間控制流及數(shù)據(jù)流的傳輸相當(dāng)穩(wěn)定,一旦形成組件后,Microsoft便為COM+定義了一種訪問軟件服務(wù)的通用方法,也就是說數(shù)據(jù)及控制信息的傳遞全由Windows自身管理了起來。還有,可維護(hù)性高:COM+對(duì)象具有支持多個(gè)接口的能力,新增功能時(shí)可用添加新的接口的形式來實(shí)現(xiàn);因此在進(jìn)行軟件修改或升級(jí)時(shí),對(duì)已實(shí)現(xiàn)的軟件組件,只需修改增加相應(yīng)接口便可,且對(duì)原有的接口不會(huì)有任何的損害,因而對(duì)整個(gè)系統(tǒng)的其它程序也不會(huì)有任何的影響。
三.系統(tǒng)結(jié)構(gòu)及工作原理
設(shè)備管理服務(wù)器可分為域控制服務(wù)器和軟件組件服務(wù)器兩種。域控制服務(wù)器運(yùn)行Windows 2000 Server操作系統(tǒng),作為測(cè)控系統(tǒng)網(wǎng)絡(luò)主服務(wù)器,負(fù)責(zé)管理網(wǎng)絡(luò)中的所有TCP/IP與其他總線接口轉(zhuǎn)換器設(shè)備,如:分配IP地址等。軟件組件服務(wù)器運(yùn)行Windows 2000 Professional以上的操作系統(tǒng),其運(yùn)行控制各類測(cè)控設(shè)備儀器的軟件組件,用于為客戶機(jī)提供服務(wù)和控制網(wǎng)絡(luò)中的各類測(cè)控設(shè)備儀器。
客戶機(jī)運(yùn)行Windows 98以上的操作系統(tǒng),其通過向軟件組件服務(wù)器提出訪問測(cè)控設(shè)備儀器請(qǐng)求,由服務(wù)器從設(shè)備儀器中讀取數(shù)據(jù)傳給客戶機(jī),客戶機(jī)分析處理數(shù)據(jù)后再把控制或數(shù)據(jù)經(jīng)服務(wù)器回傳至測(cè)控設(shè)備儀器。當(dāng)客戶機(jī)向服務(wù)器發(fā)出請(qǐng)求訪問某臺(tái)測(cè)控設(shè)備時(shí),服務(wù)器端會(huì)自動(dòng)啟動(dòng)控制該設(shè)備的軟件組件,通過軟件組件實(shí)現(xiàn)客戶機(jī)與測(cè)控設(shè)備通信。
域控制服務(wù)器、軟件組件服務(wù)器、客戶機(jī)僅是邏輯概念,實(shí)際上,域控制服務(wù)器、軟件組件服務(wù)器、客戶機(jī)可以為同一物理設(shè)備。
TCP/IP與其他總線接口轉(zhuǎn)換器用于在網(wǎng)絡(luò)層完成以太網(wǎng)TCP/IP協(xié)議和測(cè)控設(shè)備現(xiàn)場(chǎng)總線RS-232、RS-485、GPIB、并口通信等協(xié)議之間的轉(zhuǎn)換,完成以太網(wǎng)和現(xiàn)場(chǎng)總線網(wǎng)絡(luò)間的互聯(lián),實(shí)現(xiàn)以太網(wǎng)和現(xiàn)場(chǎng)總線網(wǎng)絡(luò)之間的數(shù)據(jù)交換。這樣的設(shè)備很多,如實(shí)現(xiàn)臺(tái)式儀器GPIB接口與TCP/IP轉(zhuǎn)換的TEK AD-007,實(shí)現(xiàn)RS-232、RS-485、并口通信與TCP/IP轉(zhuǎn)換的“網(wǎng)絡(luò)通”等。
四.系統(tǒng)安全性機(jī)制
采用了COM+技術(shù),系統(tǒng)一般都跨網(wǎng)絡(luò)運(yùn)行,因此安全性尤為重要。實(shí)際上,COM+本身也有一套安全性機(jī)制。如,基于windows NT的鑒定服務(wù)(authentication service)機(jī)制。COM+采用基于角色的安全模型,根據(jù)用戶的角色訪問應(yīng)用的有關(guān)功能模塊。COM+可以為每個(gè)組件、每個(gè)接口或每個(gè)方法指定安全角色。
除此之外,也可以另外自行附加一些安全性機(jī)制,如采用數(shù)據(jù)庫(kù),在客戶端向測(cè)控設(shè)備通信的過程中,把訪問數(shù)據(jù)庫(kù)的訪問權(quán)限附加到此過程中來。設(shè)計(jì)思想如圖1,但還需另設(shè)一數(shù)據(jù)庫(kù)服務(wù)器。工作過程如下述:
當(dāng)客戶端向軟件組件服務(wù)器發(fā)出請(qǐng)求訪問之前,首先訪問服務(wù)器配置數(shù)據(jù)庫(kù),若有權(quán)訪問服務(wù)器配置數(shù)據(jù)庫(kù)的某服務(wù)器信息條目,就利用該條目信息訪問該服務(wù)器,否則,客戶端無(wú)權(quán)訪問此服務(wù)器。
當(dāng)服務(wù)器訪問測(cè)控設(shè)備之前,先得訪問測(cè)控設(shè)備配置數(shù)據(jù)庫(kù),若有權(quán)訪問測(cè)控設(shè)備配置數(shù)據(jù)庫(kù)的某測(cè)控設(shè)備信息條目,就利用該條目信息訪問該測(cè)控設(shè)備,否則,客戶端無(wú)權(quán)訪問此測(cè)控設(shè)備。
通過以上兩個(gè)過程,就給整個(gè)網(wǎng)絡(luò)測(cè)控系統(tǒng)再加了一道安全防線。
五.軟件系統(tǒng)設(shè)計(jì)
由于我們的網(wǎng)絡(luò)測(cè)控系統(tǒng)采用了COM+技術(shù),軟件系統(tǒng)開發(fā)必然分為服務(wù)器端軟件組件開發(fā)和客戶端應(yīng)用軟件開發(fā)兩個(gè)部分。
服務(wù)器端軟件開發(fā)包括兩方面的工作:COM組件開發(fā)和組件注冊(cè)安裝到COM+應(yīng)用程序中。
COM組件一般用visual c++6.0中的ATL COM AppWizard開發(fā),運(yùn)用它開發(fā)COM應(yīng)用是一件非常簡(jiǎn)單的事情。網(wǎng)絡(luò)測(cè)控系統(tǒng)中的軟件組件的接口有其共性,一般可按如下設(shè)計(jì):
為接口添加一個(gè)屬性RemoteIP,其用來指明測(cè)控設(shè)備所連接的TCP/IP與其他總線接口轉(zhuǎn)換器的IP地址。
為接口添加三個(gè)方法Link()、GetData()和SendData()。Link()方法用于連接服務(wù)器和轉(zhuǎn)接器設(shè)備。GetData()和SendData()方法分別用來服務(wù)器從測(cè)控設(shè)備接收數(shù)據(jù)和向測(cè)控設(shè)備發(fā)送數(shù)據(jù)。
為接口添加一個(gè)事件DataArrive(),該事件的觸發(fā)用于通知服務(wù)器,測(cè)控設(shè)備傳送過來的數(shù)據(jù)已到達(dá),服務(wù)器隨后接收數(shù)據(jù)并放入其緩存。
組件注冊(cè)安裝到COM+應(yīng)用程序中很簡(jiǎn)單。以DLL為擴(kuò)展名的組件注冊(cè)運(yùn)用regsvr32.exe命令行程序來完成;以EXE為擴(kuò)展名的組件注冊(cè)運(yùn)行該組件文件并帶上參數(shù)/RegServer(反注冊(cè)帶參數(shù)/UnRegServer)。組件安裝到COM+應(yīng)用程序中用“控制面板”中的“管理工具”中的“組件服務(wù)”圖形界面工具可輕松完成。
客戶端應(yīng)用軟件開發(fā)用于完成應(yīng)用層的用戶邏輯業(yè)務(wù)。其數(shù)據(jù)來源正是客戶機(jī)與激活的遠(yuǎn)程服務(wù)器上的軟件組件通信而傳回的數(shù)據(jù)。
六,結(jié)束語(yǔ)
基于COM+技術(shù)而設(shè)計(jì)的網(wǎng)絡(luò)測(cè)控系統(tǒng),通用性強(qiáng),可擴(kuò)展性好,此設(shè)計(jì)思想適用于大多數(shù)系統(tǒng)集成項(xiàng)目,可用于大部分網(wǎng)絡(luò)控制系統(tǒng)。特別是針對(duì)多總線多測(cè)控儀器設(shè)備的大型網(wǎng)絡(luò)測(cè)控系統(tǒng),用此技術(shù)和設(shè)計(jì)思想,可大大減小實(shí)現(xiàn)難度,縮短開發(fā)時(shí)間。運(yùn)用此設(shè)計(jì)思想和方案,我們?yōu)槟硢挝粚?shí)現(xiàn)了一套大型示波器測(cè)試系統(tǒng),其穩(wěn)定性、可靠性都很高,效果不錯(cuò)。
文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。