鐘世春,馬 敏,王厚軍
(電子科技大學(xué)自動化工程學(xué)院 成都 610054)
LXI儀器中VXI-11協(xié)議的研究與實(shí)現(xiàn)
鐘世春,馬 敏,王厚軍
(電子科技大學(xué)自動化工程學(xué)院 成都 610054)
LXI儀器作為基于網(wǎng)絡(luò)通信的新型儀器,為構(gòu)建分布式測試系統(tǒng)和混合測試系統(tǒng)提供了基礎(chǔ),如果要在網(wǎng)絡(luò)上發(fā)現(xiàn)LXI儀器,則要求LXI儀器實(shí)現(xiàn)VXI-11協(xié)議。VXI-11協(xié)議要求利用ONC/RPC來實(shí)現(xiàn)。針對在Windows或WinCE操作系統(tǒng)平臺下開發(fā)ONC/RPC程序的庫缺乏問題,該文通過分析VXI-11協(xié)議與RPC的關(guān)系,提出了基于套接字的RPC來實(shí)現(xiàn)VXI-11協(xié)議的方案,從而解決了由Windows或WinCE系統(tǒng)平臺構(gòu)建的LXI儀器的網(wǎng)絡(luò)發(fā)現(xiàn)問題。該方案具有軟件源代碼級共享,便于向不同操作系統(tǒng)平臺移植的優(yōu)點(diǎn)。
Agilent I/O 庫; LXI儀器; 遠(yuǎn)程過程調(diào)用; VXI-11發(fā)現(xiàn)協(xié)議
2004年9月,Agilent公司和VXI科技公司聯(lián)合成立LXI聯(lián)盟,并推出了新一代模塊化儀器總線——LXI。LXI使用計(jì)算機(jī)的LAN接口和Web瀏覽器組建自動測試系統(tǒng),該系統(tǒng)具有向后兼容性、成本低廉、互操作性強(qiáng)等特點(diǎn)[1]。LXI儀器總線的推出,為構(gòu)建分布式測試系統(tǒng)提供了更加有效的手段,LXI儀器成為了測試儀器發(fā)展的新方向,也成為業(yè)內(nèi)研究的重點(diǎn)。為在網(wǎng)絡(luò)上發(fā)現(xiàn)LXI儀器,本文提出了利用套接字實(shí)現(xiàn)VXI-11服務(wù)器程序,以解決VXI-11服務(wù)器程序向不同操作系統(tǒng)平臺移植和LXI儀器網(wǎng)絡(luò)發(fā)現(xiàn)的問題。
一般來說,將儀器驅(qū)動分層是為了利用分層的復(fù)雜性換取整個儀器驅(qū)動的靈活性。LXI儀器驅(qū)動采用分層的體系結(jié)構(gòu),VXI-11協(xié)議處于儀器分層的最底層。VXI-11在LXI儀器中的作用如圖1所示。
圖1 客戶端和儀器端函數(shù)調(diào)用關(guān)系圖
圖中,IVI-COM內(nèi)部采用儀器驅(qū)動分層換取儀器的可互換性,并且在其分層的最底層調(diào)用VISA函數(shù)控制儀器。VISA函數(shù)內(nèi)部通過RPC調(diào)用儀器端的VXI-11函數(shù),而VXI-11函數(shù)調(diào)用底層的儀器專用驅(qū)動程序以控制儀器。
基于套接字開發(fā)VXI-11的設(shè)計(jì)包括端口映射程序和VXI-11服務(wù)器程序的設(shè)計(jì)。
端口映射程序提供4個函數(shù)分別完成RPC服務(wù)器程序注冊;刪除已注冊RPC服務(wù)器的信息;查詢指定RPC服務(wù)器程序的端口號;查詢已注冊的 所有RPC服務(wù)器程序的信息。端口映射程序本身也是一個RPC服務(wù)器程序。
用鏈表實(shí)現(xiàn)對已注冊RPC服務(wù)器程序信息的管理。鏈表元素的數(shù)據(jù)結(jié)構(gòu)如下:
RPC服務(wù)程序注冊時,調(diào)用PMAPPROC_SET函數(shù)。PMAPPROC_SET函數(shù)動態(tài)分配上述數(shù)據(jù)結(jié)構(gòu)并按照相應(yīng)規(guī)則插入到上述鏈表中??蛻舳顺绦蛟L問端口映射程序查詢指定RPC服務(wù)器程序的端口號時,端口映射程序在上述鏈表中查詢是否存在指定RPC服務(wù)器程序的信息,若有,返回端口號。
客戶端調(diào)用RPC服務(wù)器程序中的函數(shù)時,僅發(fā)送該函數(shù)的程序號、版本號和過程號。因此,需要在端口映射程序中將上述3個號碼與函數(shù)實(shí)現(xiàn)動態(tài)綁定,從而解析數(shù)據(jù)包后可以立即調(diào)用相應(yīng)的函數(shù)過程。實(shí)現(xiàn)動態(tài)綁定可以借助C語言中的函數(shù)指針完成。因此定義以下數(shù)據(jù)結(jié)構(gòu):
端口映射程序初始化時將其所提供的4個函數(shù)的信息分別填入4個function結(jié)構(gòu)中,而函數(shù)指針分別指向4個標(biāo)準(zhǔn)接口函數(shù)。然后通過鏈表將4個function結(jié)構(gòu)聯(lián)系起來,這樣端口映射程序要查詢相應(yīng)的函數(shù)信息,僅需通過函數(shù)指針調(diào)用標(biāo)準(zhǔn)接口函數(shù)即可。4個標(biāo)準(zhǔn)接口函數(shù)內(nèi)部主要完成將數(shù)據(jù)包中的參數(shù)提取出來并轉(zhuǎn)化為本地變量;然后調(diào)用相應(yīng)函數(shù);再將函數(shù)執(zhí)行的結(jié)果添加到回應(yīng)數(shù)據(jù)包中并發(fā)送回客戶端。
VXI-11服務(wù)器程序開發(fā)類似于端口映射程序的開發(fā)。在VXI-11服務(wù)器程序初始化時,將VXI-11函數(shù)的function信息通過鏈表聯(lián)系起來,然后向端口映射程序發(fā)送給RPC請求數(shù)據(jù)包調(diào)用端口映射程序的PMAPPROC_SET函數(shù),向端口映射程序注冊。注冊成功后等待客戶端的遠(yuǎn)程調(diào)用請求。
下面是LXI邏輯分析儀網(wǎng)絡(luò)發(fā)現(xiàn)測試的結(jié)果。利用Agilent IO Libraries Suite軟件作為測試LXI發(fā)現(xiàn)協(xié)議的客戶端測試軟件。
圖2為通過網(wǎng)絡(luò)搜索到的LXI邏輯分析儀,圖3為向LXI邏輯分析儀發(fā)送*IDN?命令的結(jié)果。
圖2 添加到Agilent Connection Experter
圖3 發(fā)送IDN的結(jié)果
針對LXI儀器需要在網(wǎng)絡(luò)上被發(fā)現(xiàn)的問題,本文提出基于套接字的RPC實(shí)現(xiàn)VXI-11協(xié)議,解決了LXI儀器網(wǎng)絡(luò)發(fā)現(xiàn)問題?;谔捉幼值腞PC實(shí)現(xiàn)VXI-11協(xié)議提供的全部源代碼,可以方便地移植到其他架構(gòu)的Windows或WinCE操作系統(tǒng)平臺下。
[1] 馬 敏, 陳光礻禹. 一種基于以太網(wǎng)的新型儀器平臺——LXI[J]. 電測與儀表, 2006, 43(1): 57-59.
MA Min, CHEN Guang-ju. A new instrument platform based on ethernet technology—— LXI[J]. Electrical Measurement& Instrumentation, 2006, 43(1): 57-59.
[2] 趙 濤, 于月芬, 李建剛. LXI總線網(wǎng)絡(luò)發(fā)現(xiàn)機(jī)制研究[J].電測與儀表, 2008, 45(6): 31-34.
ZHAO Tao, YU Yue-fen, LI Jian-gang. Research on network discovery mechanism of LXI standard[J]. Electrical Measurement & Instrumentation, 2008, 45(6): 31-34.
[3] 張麗花, 馬捷中, 翟正軍. 基于VXI、PXI和LXI的網(wǎng)絡(luò)化混合測試系統(tǒng)設(shè)計(jì)[J]. 計(jì)算機(jī)測量與控制, 2008, 16(8):1059-1061.
ZHANG Li-hua, MA Jie-zhong, QU Zheng-jun. Network hybrid test system based on VXI, PXI and LXI[J]. Computer Measurement & Control, 2008, 16(8): 1059-1061.
[4] WUNNAVA S V, HOO P. Remote instrumentation access&control (RIAC) through Inter-NetWorking[C]//Proceedings of the 1999 IEEE SoutheastcCON. Lexington,KY, USA: IEEE, 1999: 116-121.
[5] FRANKLIN P, CREQUE A, REDDY R. Exploring LXI’s advanced capabilities[C]//AUTOTESTCON 2005 Proceedings. Washington: IEEE, 2005: 61-67.
[6] PLEASANT D. Lan-based measurement triggering using LXI instrumentation[C]// AUTOTESTCON 2005 Proceedings. Washington: IEEE, 2005: 44-48.
[7] SARFI T. LXI class a applications[J]. Evaluation Engineering, 2009, 48(2): 32-36.
[8] QIU Chang-quan, QIN Hong-lei, CHEN Yang. Creating hybrid test and measurement system based on LAN/LXI[C]//Proceedings of 9th International Conference on Electronic Measurement and Instruments. Beijing, China:IEEE, 2009: 1960-1963.
[9] PETERSON. Making the case for LXI[J]. New Electronics,2006, 39(21): 39-40.
[10] YUAN M, WANG Da-hai. LXI class device design in LAN based ATE[C]//2006 IEEE International Conference on Industrial Informatics. Singapore: IEEE, 2007: 995-999.
Research and Realization of VXI-11 in LXI Instrument
ZHONG Shi-chun, MA Min, and WANG Hou-jun
(School of Automation Engineering, University of Electronic Science and Technology of China Chengdu 610054)
The LAN eXtensions for instruments (LXI) instrument is a new LAN-based instrument. The emergence of LXI instruments provides a foundation for building a distributed testing system or hybrid testing system. If LXI instrument can be discovered by LAN, it must realize VXI-11 protocol which requires using open network computing/remote procedure call (ONC/RPC) to achieve VXI-11 protocol. Because Windows or WinCE is lack of libraries for developing ONC/RPC, through analyzing the relationship between VXI-11 protocol and RPC,a solution is presented to solve LXI LAN discovery, which is based on Socket to realize RPC and VXI-11 protocol.This solution can be easy to transplant the program to different OS platforms.
Agilent I/O library; LXI instrument; RPC; VXI-11 discovery protocol
TP393.11
A
10.3969/j.issn.1001-0548.2010.z1.016
2009 ? 11 ? 15
鐘世春(1984 ? ),男,碩士,主要從事自動測試系統(tǒng)集成方面的研究.
編 輯 張 俊