999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

VXI?11協議的完整開發與庫的實現

2020-07-14 08:35:56韓旭宋華軍王躍宗
現代電子技術 2020年10期
關鍵詞:功能系統

韓旭 宋華軍 王躍宗

摘? 要: 針對現有VXI?11協議在Windows下的開發都過于簡單,功能嚴重不完整,且儀器在啟動VXI?11服務時需要引入很多代碼,操作過于繁瑣等問題,完成了VXI?11協議在Windows下完整功能的開發。在此基礎上,將所有的代碼封裝成庫的形式,并且給使用者提供一些必要的接口,讓使用者可以方便快捷地在儀器上啟動VXI?11服務而且更加靈活地使用該服務。實驗結果證明,該系統的服務端程序可以正確地響應客戶端的VXI?11協議,并且可以通過VXI?11協議穩定地進行數據傳輸。

關鍵詞: VXI?11協議; 功能開發; 代碼封裝; 網絡儀器; 端口映射; 儀器測試

中圖分類號: TN915.04?34; TP336? ? ? ? ? ? ? ?文獻標識碼: A? ? ? ? ? ? ? ? ? ? ? 文章編號: 1004?373X(2020)10?0086?03

Complete development of VXI?11 protocol and implementation of library

HAN Xu, SONG Huajun, WANG Yuezong

(School of Information and Control Engineering, China University Of Petroleum, Qingdao 266580, China)

Abstract: As the existing development of VXI?11 protocol is too simple in Windows, the function is severe incomplete, the instrument needs to introduce a lot of codes when starting the VXI?11 service, the operation is too cumbersome and other problems, the development of the complete function of VXI?11 protocol in Windows is completed. On this basis, all the codes are packaged as the form of the library, and users are provided with some necessary interfaces, so that users can convenient and efficient start the VXI?11 service on the instrument and use the service more flexible. The experimental results show that the server?side program of the system can respond to the client′s VXI?11 protocol correctly, and can transmit data stably through the VXI?11 protocol.

Keywords: VXI?11 protocol; functional development; code packaging; network instrument; port mapping; instrument test

0? 引? 言

LXI的推出為構建分布式測試系統提供了更好的手段,同時LXI儀器也成為測試儀器發展的新方向[1]。VXI?11協議是LXI儀器中的關鍵標準之一,為了在網絡中發現并使用LXI儀器,必須實現VXI?11協議開發[2]。近些年,VXI?11協議在Windows下的開發已經取得了一定進展,但實現的功能還不夠完整,僅有部分功能函數可以使用。在現代科技迅速發展的情況下,這僅有的部分功能函數難以滿足人們對儀器功能日益增長的需求。此外,現有對VXI?11協議的開發使用起來十分不便,需要向儀器中引入大量代碼,這對一些沒有接觸源代碼的使用者很不友好。因此,VXI?11協議在Windows下完整功能的開發以及更為方便的使用成了人們的迫切需求。

1? 開發原理

RPC(Remote Procedure Call)即遠程過程調用,它是一種通過網絡從遠程計算機程序上請求服務,而不需要了解底層網絡技術的協議[3]。

VXI?11協議定義了三個通道:核心通道(Core Channel)、中止通道(Abort? Channel)和中斷通道(Interrupt Channel)[4]。三個通道函數的調用均采用RPC方式進行。VXI?11協議所包含的通道及通道調用方向關系如圖1所示。

VXI?11整體的通信包括三個部分:客戶端、服務器端和Portmap端口映射程序。客戶端的作用是根據需要向服務器端發起遠程調用請求。服務器端在儀器上運行,對客戶端發送過來的請求進行解析處理并將解析結果返回客戶端。 Portmap端口映射程序功能是把RPC進程標識號轉化為Internet的端口號[5]。

下面從VXI?11協議完整功能的開發以及庫和接口的實現兩個方面進行介紹。

2? VXI?11協議完整功能的開發

2.1? VXI?11協議開發

VXI?11協議開發的流程如圖2所示。

首先在Linux系統下使用rpcgen命令(該命令可以生成RPC服務器程序的代碼,它的輸入為一個規格說明文件,輸出為一個C語言的源程序[6])生成VXI?11協議的框架,然后將其導出至Windows系統中。之后,在Windows系統里新建工程,將導出的文件加入工程并調試?,F有對VXI?11開發的功能函數僅有2~3個,本系統復現了現有的功能函數后,補充完善并實現所有的功能函數。

2.2? VXI?11協議功能函數

完整的VXI?11協議共17個功能函數。其中,核心通道定義了15個函數,通過這15個函數完成對網絡儀器的大部分控制任務[7],比如向儀器寫入數據的寫入函數和可以讀取儀器狀態字的讀狀態字函數;中止通道定義了1個函數,用于儀器控制端對儀器優先級較高或緊急的控制任務;中斷通道定義了1個函數,用于儀器向控制器反饋信息。

在17個功能函數中,核心通道的讀取儀器函數最為復雜,下面以讀取儀器函數device_read的開發為例做介紹。

device_read函數用于將數據從儀器讀取到客戶端??蛻舳税l送的數據結構體代碼如下:

struct Device_ReadParms {

Device_Link lid;? ? ? ? ? ? ? ? ? ? ? ? ? //來自客戶端的鏈接ID

unsigned long requestSize;

//客戶端一次能接收的最大字節數

unsigned long io_timeout;? ? ? ? ? ? ? ? ?//I/O最多傳輸的時間

unsigned long lock_timeout;? ? ? ? ? ? ?//最多等待解鎖的時間

Device_Flags flags;

char termChar;

//termChar和flags里的termchrset一起使用,當termchrset的字符

與termChar匹配時,該字符被傳輸

};

儀器返回給客戶端的數據結構體代碼如下:

struct Device_ReadResp {

Device_ErrorCode error;? ? ? ? ? ? ? //讀取失敗的原因標志位

long reason;? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//讀取完成的原因標志位

opaque data<>;? ? ? ?//返回給客戶端的數據長度和具體數據

};

device_read函數的流程圖如圖3所示。

首先,客戶端發送讀請求后,運行服務器端的儀器會根據客戶端發送的lid判斷是否可以連接,若不能連接,則返回Error=4;若可以,則判斷其他連接是否有鎖定。如果沒有鎖定,判斷要讀的數據是否大于requestSize;若有鎖定,則等待Lock_timeout毫秒的時間。若在該時間內未解鎖,則返回Error=11、data.data_len=0;否則,判斷要讀的數據是否大于RequestSize,若小于則返回Reason=4,若大于則判斷返回的緩沖區是否已滿,如果已滿,則返回Reason=0,否則繼續讀。最后判斷是否讀完,若讀完則返回Reason=1,否則繼續判斷返回的緩沖區是否滿,直到讀完為止。

3? VXI?11庫及接口的實現

雖然已將VXI?11協議開發完整,但使用起來仍不方便,因此系統將完整開發的VXI?11協議封裝成庫,只需在儀器里調用這個庫就可以成功啟動VXI?11服務,使用起來更為便捷、快速。

此外,系統還提供眾多獨立封裝接口函數,可滿足大多數儀器的需求,使用起來更為靈活。其包括1個服務啟動函數、1個可以完成緩沖區的初始化的緩沖初始函數和10個接口函數。在10個接口函數中,讀取數據接口較為復雜,以此函數為例對接口函數做介紹。

讀取數據接口定義如下:

typedef struct InputdData{char* DataVal; u_int DataLen;}

InputData;

typedef int (CALLBACK * RdDevice)(InputData data);

RdDevice funcRe;

void ReadVXI11Device(RdDevice func);

{

funcRe = func;

}

首先,定義InputData結構體和一個回調函數類型RdDevice,此回調函數的輸入參數類型為InputData型,返回參數為int型。通過RdDevice即可創建此類型的回調函數指針。ReadVXI11Device函數為庫的導出函數,此函數功能是將一個庫外的回調函數指針傳遞給VXI?11庫內事先定義好的回調函數指針funcRe,庫內便可以通過指針funcRe調用到庫外的回調函數。

4? 測? 試

本文測試使用的是Keysight Connection Expert軟件。在儀器中調用該系統的VXI?11庫,通過簡單的幾個庫函數便可以成功啟動VXI?11服務。

以大數據傳輸為例,在對儀器進行訪問時,不可避免地要對大量數據進行傳輸,但由于受客戶端單次最大可接收字節數限制,通常無法通過單次操作完成傳輸,而使用本系統的庫,可通過一次讀操作直接完成傳輸,測試結果如圖4所示。

當儀器(服務器端)接收到測試軟件(客戶端)發出的測試命令后,會判斷要讀的數據是否大于測試軟件一次能接收的最大字節數,測試軟件默認設置1 024 B,而本次要接收的數據為3 000 B,所以讀完1 024 B數據后,將繼續讀1 024 B數據,直至3 000 B全部讀完,一共讀三次,然后將結果返回至測試軟件。從圖4可以看出,通過讀操作,客戶端成功接收了服務器端的3 000 B數據。

5? 結? 語

本文完成了VXI?11協議在Windows下完整功能的開發,并且做成庫的形式,給使用者提供接口,解決了現有VXI?11協議在Windows下開發的功能還不夠完整、使用起來不方便等問題。經驗證,功能開發完整的服務端程序可以正確響應客戶端的VXI?11協議,并且可以穩定地傳輸數據。

參 考 文 獻

[1] 沈建飛.基于LXI的數據鏈端機自動測試系統[J].現代導航,2019,10(1):56?59.

[2] 尹洪偉,孫美美,張樹團.基于VXI?11的LXI儀器發現技術研究[J].電子設計工程,2011,19(18):18?20.

[3] 邱暢,李龍,鄭艷梅.基于LXI總線PCI接口的軟件設計[J].國外電子測量技術,2016,35(5):100?103.

[4] 翟龍軍,曲洪東,高山,等.基于DSP和VXI?11協議的LXI儀器控制與實現[J].計算機測量與控制,2014,22(11):3691?3693.

[5] 田丹丹.PortMap端口映射器[J].網絡安全和信息化,2017(2):161.

[6] 耿建平,鄧力.通過VXI?11協議控制LXI儀器[J].微計算機信息,2011,27(10):39?41.

[7] 龐新法.網絡化儀器儀表協議客戶端設計與實現[J].現代電子技術,2015,38(18):122?124.

[8] 李延峰,李宥謀,閆海卿,等.LXI網絡儀器后臺處理的設計與實現[J].計算機技術與發展,2019,29(3):159?163.

[9] 鄧茂林,姚靜波,解維奇.基于航天測試技術的LXI多功能接口板卡設計[J].現代電子技術,2014,37(21):94?97.

[10] 鄭馥薇,沈卓煒.基于數據分發服務的遠程過程調用系統[J].計算機應用,2018,38(z2):239?242.

[11] 張波,萬麗.基于端口映射NAT網絡方案分析與實施[J].軟件工程師,2015,18(3):12?13.

猜你喜歡
功能系統
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
關于非首都功能疏解的幾點思考
懷孕了,凝血功能怎么變?
媽媽寶寶(2017年2期)2017-02-21 01:21:24
“簡直”和“幾乎”的表達功能
主站蜘蛛池模板: 色婷婷狠狠干| 免费中文字幕在在线不卡| 国产欧美亚洲精品第3页在线| 国产精品久线在线观看| 91久久国产成人免费观看| 久操线在视频在线观看| 黄色网页在线播放| 久久91精品牛牛| 在线视频亚洲欧美| 国产AV无码专区亚洲精品网站| 无码一区中文字幕| 伦精品一区二区三区视频| 亚洲精品黄| 国产成人久久综合777777麻豆 | 日a本亚洲中文在线观看| 国产一级毛片yw| 嫩草在线视频| 国产一级在线观看www色| 国产粉嫩粉嫩的18在线播放91| 亚洲第一精品福利| 中国一级毛片免费观看| 久热99这里只有精品视频6| 狠狠综合久久| 亚洲国产成人无码AV在线影院L| 国产在线一区二区视频| 777午夜精品电影免费看| 茄子视频毛片免费观看| 免费人成又黄又爽的视频网站| 精品人妻无码中字系列| 综合色区亚洲熟妇在线| 欧美人人干| 在线日韩日本国产亚洲| 亚洲第一中文字幕| 99伊人精品| 无码视频国产精品一区二区| 青青国产成人免费精品视频| 天天综合网色中文字幕| 免费看一级毛片波多结衣| 国产精品无码久久久久久| 国产主播喷水| 国产一区二区精品福利| 91在线播放免费不卡无毒| 国产91丝袜在线观看| 日日拍夜夜操| 欧美色综合网站| 幺女国产一级毛片| 综合色婷婷| 国产精品福利导航| 国产免费羞羞视频| 欧美在线三级| 婷婷成人综合| 欧美精品伊人久久| 亚洲第一黄色网| 亚洲AV无码久久精品色欲| 九月婷婷亚洲综合在线| 在线无码九区| 精品无码人妻一区二区| 亚洲精品无码在线播放网站| 精品丝袜美腿国产一区| 日本91在线| 91久久精品国产| 久久6免费视频| 真实国产乱子伦高清| 久久精品人人做人人| 思思热在线视频精品| 永久免费精品视频| 国产爽妇精品| 中文字幕精品一区二区三区视频 | 国产亚洲精品yxsp| 久久久久久高潮白浆| 伊人欧美在线| 亚洲AV色香蕉一区二区| 国产迷奸在线看| 九九视频免费看| 亚洲不卡网| 人妖无码第一页| 欧美啪啪精品| h网址在线观看| 无码福利日韩神码福利片| 亚洲综合国产一区二区三区| 永久在线精品免费视频观看| 久久性妇女精品免费|