基於COM+技術的大型分布式網絡測控係統的設計與研究 成都理工大學 應用核技術與自動化工程學院 四川 成都 610059 覃章健 四川拓普數字設備有限公司 四川 成都 610031 楊珣 文彬 楊旻
摘要: 本文介紹了一種基於COM+技術的大型分布式網絡測控係統的設計方案。闡述了用COM+技術實現分布式網絡測控係統的適用性,闡明了係統設計思想和工作原理,並對係統的安全性機製和軟件設計作了具體論述。關鍵詞: COM+ 測控係統 網絡測控係統 中圖分類號: TP393 文獻標識碼: 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
一.引言 隨著計算機技術的發展,基於PC的測控係統越來越廣泛地應用在軍事、航空航天和工業自動化的各個領域。並且,隨著網絡技術的迅猛發展,為了滿足測控係統互連、測試數據共享和提高測控係統工作的可靠性等方麵的需要,網絡技術也逐漸地被應用到了測控領域,從而為數據采集、數(shu)據(ju)分(fen)析(xi)和(he)數(shu)據(ju)表(biao)達(da)帶(dai)來(lai)了(le)一(yi)些(xie)新(xin)的(de)方(fang)法(fa)和(he)途(tu)徑(jing)。應(ying)運(yun)而(er)生(sheng),采(cai)用(yong)什(shen)麼(me)核(he)心(xin)技(ji)術(shu),運(yun)用(yong)哪(na)些(xie)軟(ruan)硬(ying)件(jian)設(she)計(ji)思(si)想(xiang),實(shi)現(xian)最(zui)優(you)的(de)網(wang)絡(luo)測(ce)控(kong)係(xi)統(tong)成(cheng)了(le)測(ce)控(kong)技(ji)術(shu)中(zhong)值(zhi)得(de)關(guan)注(zhu)的(de)問(wen)題(ti)。這(zhe)裏(li),我(wo)們(men)基(ji)於(yu)COM+技術,充分利用COM+的實現分布式應用的功能,提出了一種大型分布式網絡測控係統的設計方案。
二.COM+特點及其對開發分布式網絡測控係統的適用性 過去,網絡測控係統多使用GPIB總線台式儀器,采用單台儀器設備與計算機連接,在局域網上組建測控網絡(其拓撲結構如下圖0)。其規模小,總線、設備單一,設計和實現都容易。現在,多總線多種儀器在大至Internet的(de)大(da)型(xing)網(wang)絡(luo)上(shang)組(zu)建(jian)成(cheng)遠(yuan)程(cheng)網(wang)絡(luo)測(ce)控(kong)係(xi)統(tong)成(cheng)為(wei)主(zhu)要(yao)發(fa)展(zhan)趨(qu)勢(shi)。麵(mian)對(dui)如(ru)此(ci)龐(pang)大(da)的(de)係(xi)統(tong),必(bi)須(xu)采(cai)用(yong)大(da)型(xing)分(fen)布(bu)式(shi)網(wang)絡(luo)技(ji)術(shu)來(lai)實(shi)現(xian)。因(yin)此(ci),我(wo)們(men)選(xuan)擇(ze)了(le)COM+技術,利用其分布式應用功能,實現我們的大型分布式網絡測控係統。 COM+是COM的新發展,是COM更高層次上的應用。它不再局限於COM的組件技術,而是更注重於分布式網絡應用的設計和實現,甚至是Microsoft係統平台策略和軟件發展策略的一部分。COM+技術最鮮明的特點是它可以輕鬆方便地實現組件對象跨進程、跨計算機、kuawangluoshenzhikuacaozuoxitongpingtaidiyunxing,bingqieshixianzhezhongfenbushijiegouquanyikaoxitongfuwubenshen,kaifarenyuanbubikaolvxitongdejichujiegou,zhixubajinglijizhongzaiyewuluojidejiejueshang,jiunengkaifachuguimokebian、可靠性高的分布式應用程序。這正是選擇COM+技術來設計和開發我們的大型分布式網絡測控係統的原因。 大型的網絡測控係統一般都是多總線多種儀器連在以太網上的遠程測控網絡。比如:采用PXI總線儀器、VXI總線模塊儀器、GPIB總線台式儀器、SCXI總線調理模塊、PC機板卡儀器等多種總線儀器混合互連,構成示波器、信號源、計數器、多用表、數據采集及圖象采集等多種儀器的連接,組成集測量、控製和現場監視於一體的Internet遠程虛擬儀器網絡測控係統平台。麵對諸多的測控儀器設備,實現計算機對之的遠程控製,遠程數據采集,遠程管理,較理想的方法是:運用COM+技(ji)術(shu),編(bian)寫(xie)各(ge)類(lei)軟(ruan)件(jian)組(zu)件(jian)分(fen)布(bu)式(shi)地(di)運(yun)行(xing)於(yu)網(wang)絡(luo)上(shang)的(de)各(ge)服(fu)務(wu)器(qi)計(ji)算(suan)機(ji)上(shang),服(fu)務(wu)器(qi)實(shi)現(xian)對(dui)各(ge)類(lei)儀(yi)器(qi)設(she)備(bei)的(de)測(ce)控(kong),客(ke)戶(hu)機(ji)通(tong)過(guo)以(yi)太(tai)網(wang)向(xiang)服(fu)務(wu)器(qi)提(ti)出(chu)請(qing)求(qiu)訪(fang)問(wen)其(qi)控(kong)製(zhi)的(de)儀(yi)器(qi)設(she)備(bei),由(you)服(fu)務(wu)器(qi)與(yu)客(ke)戶(hu)機(ji)之(zhi)間(jian)的(de)組(zu)件(jian)通(tong)信(xin)把(ba)數(shu)據(ju)或(huo)控(kong)製(zhi)傳(chuan)送(song)於(yu)客(ke)戶(hu)機(ji)與(yu)儀(yi)器(qi)設(she)備(bei)之(zhi)間(jian)。 COM+技術應用於大型分布式網絡測控係統中有其明顯的優勢。首先,其可擴展性強:xitongmeizengjiayizhongzixitongjishiduizhukongtaizengjiayizhongzujian,youtafengzhuangshujujifangfashixianheqixiangguandekongzhigongneng,bingduiyuzixitongzengjianshebeiyejishizengjiangaizixitongzujianfuwuqishangdexiangyingzujian,erduiyukongzhixitongdeqitabufenbuyongzuorenhedebianhua。qici,shishixingkekaoxinghao:網絡間控製流及數據流的傳輸相當穩定,一旦形成組件後,Microsoft便為COM+定義了一種訪問軟件服務的通用方法,也就是說數據及控製信息的傳遞全由Windows自身管理了起來。還有,可維護性高:COM+對象具有支持多個接口的能力,新增功能時可用添加新的接口的形式來實現;yincizaijinxingruanjianxiugaihuoshengjishi,duiyishixianderuanjianzujian,zhixuxiugaizengjiaxiangyingjiekoubianke,qieduiyuanyoudejiekoubuhuiyourenhedesunhai,yinerduizhenggexitongdeqitachengxuyebuhuiyourenhedeyingxiang。
三.係統結構及工作原理 設備管理服務器可分為域控製服務器和軟件組件服務器兩種。域控製服務器運行Windows 2000 Server操作係統,作為測控係統網絡主服務器,負責管理網絡中的所有TCP/IP與其他總線接口轉換器設備,如:分配IP地址等。軟件組件服務器運行Windows 2000 Professional以上的操作係統,其運行控製各類測控設備儀器的軟件組件,用於為客戶機提供服務和控製網絡中的各類測控設備儀器。 客戶機運行Windows 98yishangdecaozuoxitong,qitongguoxiangruanjianzujianfuwuqitichufangwencekongshebeiyiqiqingqiu,youfuwuqicongshebeiyiqizhongduqushujuchuangeikehuji,kehujifenxichulishujuhouzaibakongzhihuoshujujingfuwuqihuichuanzhicekongshebeiyiqi。dangkehujixiangfuwuqifachuqingqiufangwenmoutaicekongshebeishi,fuwuqiduanhuizidongqidongkongzhigaishebeideruanjianzujian,tongguoruanjianzujianshixiankehujiyucekongshebeitongxin。 域控製服務器、軟件組件服務器、客戶機僅是邏輯概念,實際上,域控製服務器、軟件組件服務器、客戶機可以為同一物理設備。 TCP/IP與其他總線接口轉換器用於在網絡層完成以太網TCP/IP協議和測控設備現場總線RS-232、RS-485、GPIB、並(bing)口(kou)通(tong)信(xin)等(deng)協(xie)議(yi)之(zhi)間(jian)的(de)轉(zhuan)換(huan),完(wan)成(cheng)以(yi)太(tai)網(wang)和(he)現(xian)場(chang)總(zong)線(xian)網(wang)絡(luo)間(jian)的(de)互(hu)聯(lian),實(shi)現(xian)以(yi)太(tai)網(wang)和(he)現(xian)場(chang)總(zong)線(xian)網(wang)絡(luo)之(zhi)間(jian)的(de)數(shu)據(ju)交(jiao)換(huan)。這(zhe)樣(yang)的(de)設(she)備(bei)很(hen)多(duo),如(ru)實(shi)現(xian)台(tai)式(shi)儀(yi)器(qi)GPIB接口與TCP/IP轉換的TEK AD-007,實現RS-232、RS-485、並口通信與TCP/IP轉換的“網絡通”等。
四.係統安全性機製 采用了COM+技術,係統一般都跨網絡運行,因此安全性尤為重要。實際上,COM+本身也有一套安全性機製。如,基於windows NT的鑒定服務(authentication service)機製。COM+采用基於角色的安全模型,根據用戶的角色訪問應用的有關功能模塊。COM+可以為每個組件、每個接口或每個方法指定安全角色。 chucizhiwai,yekeyilingwaizixingfujiayixieanquanxingjizhi,rucaiyongshujuku,zaikehuduanxiangcekongshebeitongxindeguochengzhong,bafangwenshujukudefangwenquanxianfujiadaociguochengzhonglai。shejisixiangrutu1,但還需另設一數據庫服務器。工作過程如下述: dangkehuduanxiangruanjianzujianfuwuqifachuqingqiufangwenzhiqian,shouxianfangwenfuwuqipeizhishujuku,ruoyouquanfangwenfuwuqipeizhishujukudemoufuwuqixinxitiaomu,jiuliyonggaitiaomuxinxifangwengaifuwuqi,fouze,kehuduanwuquanfangwencifuwuqi。 dangfuwuqifangwencekongshebeizhiqian,xiandefangwencekongshebeipeizhishujuku,ruoyouquanfangwencekongshebeipeizhishujukudemoucekongshebeixinxitiaomu,jiuliyonggaitiaomuxinxifangwengaicekongshebei,fouze,kehuduanwuquanfangwencicekongshebei。 通過以上兩個過程,就給整個網絡測控係統再加了一道安全防線。
五.軟件係統設計 由於我們的網絡測控係統采用了COM+技術,軟件係統開發必然分為服務器端軟件組件開發和客戶端應用軟件開發兩個部分。 服務器端軟件開發包括兩方麵的工作:COM組件開發和組件注冊安裝到COM+應用程序中。 COM組件一般用visual c++6.0中的ATL COM AppWizard開發,運用它開發COM應用是一件非常簡單的事情。網絡測控係統中的軟件組件的接口有其共性,一般可按如下設計: 為接口添加一個屬性RemoteIP,其用來指明測控設備所連接的TCP/IP與其他總線接口轉換器的IP地址。 為接口添加三個方法Link()、GetData()和SendData()。Link()方法用於連接服務器和轉接器設備。GetData()和SendData()方法分別用來服務器從測控設備接收數據和向測控設備發送數據。 為接口添加一個事件DataArrive(),該事件的觸發用於通知服務器,測控設備傳送過來的數據已到達,服務器隨後接收數據並放入其緩存。 組件注冊安裝到COM+應用程序中很簡單。以DLL為擴展名的組件注冊運用regsvr32.exe命令行程序來完成;以EXE為擴展名的組件注冊運行該組件文件並帶上參數/RegServer(反注冊帶參數/UnRegServer)。組件安裝到COM+應用程序中用“控製麵板”中的“管理工具”中的“組件服務”圖形界麵工具可輕鬆完成。 客戶端應用軟件開發用於完成應用層的用戶邏輯業務。其數據來源正是客戶機與激活的遠程服務器上的軟件組件通信而傳回的數據。
六,結束語 基於COM+jishuershejidewangluocekongxitong,tongyongxingqiang,kekuozhanxinghao,cishejisixiangshiyongyudaduoshuxitongjichengxiangmu,keyongyudabufenwangluokongzhixitong。tebieshizhenduiduozongxianduocekongyiqishebeidedaxingwangluocekongxitong,yongcijishuheshejisixiang,kedadajianxiaoshixiannandu,suoduankaifashijian。yunyongcishejisixianghefangan,womenweimoudanweishixianleyitaodaxingshiboqiceshixitong,qiwendingxing、可靠性都很高,效果不錯。
參考文獻
[1] 餘英 梁剛 編著 Visual C++實踐與提高――COM和COM+篇 中國鐵道出版社,2001 [2] 王 承 何誌偉 基於虛擬儀器的網絡化自動測試係統的構架及實現 [3] 潘仕彬 何 錚 用於單片機的以太網網關--網絡通 [4] Tektronix TDS500D,TDS600B & TDS700D Digitizing Oscilloscopes User Manual 071-0130-03 [5] Tektronix TLS216 Logic Scope Programmer Manual 070-8835-00 [6] the DSA 601A, DSA 602A Digitizing Signal Analyzers Programmer Reference
作者簡介:
覃章健 (1975 - ),男,湖北鬆滋人,成都理工大學應用核技術與自動化工程學院測試計量及儀器專業碩士生,研究方向:圖像通信。 楊珣 (1978 - ),男,成都人,蘭州大學信息工程專業畢業,現任四川拓普數字設備有限公司係統工程師,主要從事測控係統及數據庫軟件研發工作。 文彬 (1977 - ),男(nan),成(cheng)都(dou)人(ren),成(cheng)都(dou)電(dian)子(zi)科(ke)技(ji)大(da)學(xue)計(ji)算(suan)機(ji)應(ying)用(yong)專(zhuan)業(ye)畢(bi)業(ye),現(xian)任(ren)四(si)川(chuan)拓(tuo)普(pu)數(shu)字(zi)設(she)備(bei)有(you)限(xian)公(gong)司(si)軟(ruan)件(jian)工(gong)程(cheng)師(shi),主(zhu)要(yao)從(cong)事(shi)有(you)關(guan)數(shu)據(ju)采(cai)集(ji)與(yu)信(xin)號(hao)處(chu)理(li)軟(ruan)件(jian)研(yan)發(fa)工(gong)作(zuo)。 楊旻 (1969 - ),男,成都人,高級工程師,1991年畢業於浙江大學信息與電子工程學院,現任四川拓普數字設備有限公司總工,主要從事測控係統硬件及軟件的總體設計及研發工作。