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

基于UDP通信的VPASXT人機界面工具與Simulink仿真工具的數(shù)據(jù)交互

2020-08-14 10:15:58石磊
科技資訊 2020年18期

石磊

摘 ?要:VAPS XT工具用于人機界面的快速設(shè)計仿真,開發(fā)出來的應(yīng)用程序主要提供操作人員的人機接口,需要第三方應(yīng)用將輸入指令轉(zhuǎn)換為顯示數(shù)據(jù),可以采用第三方應(yīng)用程序作為中繼,通過共享內(nèi)存和UDP的方式實現(xiàn)VAPS XT和Simulink端的數(shù)據(jù)交互。該文介紹了一種可以直接建立兩種工具通信的方式,不需要額外開發(fā)專門的中轉(zhuǎn)程序,易于實現(xiàn),可以用于人機界面聯(lián)合仿真。

關(guān)鍵詞:VAPS XT ?UDP ?Simulink ?nCOM

中圖分類號:TP391.9 ? 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-3791(2020)06(c)-0005-04

Abstract: VAPS XT tool is used for the rapid design and Simulation of human-machine interface.The developed application program mainly provides the human-machine interface of operators. It needs the third-party application to convert the input instructions into display data. It can use the third-party application program as the relay to realize VAPS by sharing memory and UDP,the data interaction between XT and Simulink is introduced in this paper, which can directly establish the interaction between the two tools.Develop of external data exchange application is not required, thus the communication is easy to be established, and can be used in the joint simulation of human-computer interface.

Key Words: VAPS XT; UDP; Simulink; nCOM

VAPS XT是一款人機界面設(shè)計工具,可以快速開展顯示畫面的設(shè)計,通過自帶的Code nGEN工具自動生成代碼,提升設(shè)計效率。VAPS XT還可以用于仿真和演示,可以利用nCOM接口很方便地實現(xiàn)與外部程序環(huán)境的數(shù)據(jù)交互。Simulink作為仿真平臺,可以接收來自VAPS XT的駕駛員操作指令,進行數(shù)據(jù)處理后,驅(qū)動VAPS XT顯示界面。VAPS XT實現(xiàn)外部通信必須通過nCOM接口,而外部應(yīng)用必須與nCOM接口定義的數(shù)據(jù)描述文件兼容,對于Simulink仿真工具來說,就有至少兩種方式:一種是將接口數(shù)據(jù)適配(數(shù)據(jù)包解析和打包)的模塊放到中間應(yīng)用中,另一種是直接在Simulink中進行數(shù)據(jù)包解析和打包。兩種方式可以需要采用UDP作為網(wǎng)絡(luò)傳輸協(xié)議。

1 ?軟件和工具介紹

1.1 VAPS XT人機界面設(shè)計工具

VAPS XT是一款用于人機界面設(shè)計的商用貨架軟件開發(fā)工具,由加拿大Presagis公司開發(fā)。目前該軟件的最新版本為4.2版。該軟件將開發(fā)人員的設(shè)計精力從編碼轉(zhuǎn)向了界面設(shè)計,通過一系列內(nèi)置的圖形界面對象、數(shù)據(jù)流映射、狀態(tài)機圖定義等功能,實現(xiàn)人機界面的快速設(shè)計,工具還提供自動代碼生成功能,可以快速地進行人機界面設(shè)計圖形轉(zhuǎn)換為代碼。通過與Simulink仿真工具配合使用,學(xué)術(shù)界和工業(yè)界已經(jīng)將該軟件應(yīng)用于人在環(huán)的人機界面仿真設(shè)計。VAPS XT提供了內(nèi)置的nCOM功能,可以實現(xiàn)其與外部應(yīng)用的雙向通信。

1.2 MATLAB Simulink仿真工具

Simulink工具一款用于動態(tài)系統(tǒng)建模、仿真、分析的工具,廣泛應(yīng)用于通信、電力、自動控制等多個領(lǐng)域,由Mathworks公司開發(fā),作為MATLAB可視化工具。該工具內(nèi)置了Aerospace Blockset模塊工具箱,可以進一步提供航空航天領(lǐng)域的建模、仿真和分析[1]。借助該模塊工具箱,可以對飛機的大氣、重力、風(fēng)、地形、磁場等運行環(huán)境、六自由度模型進行建模,結(jié)合Simulink模塊提供的駕駛桿接口模塊,以及FlightGear等飛行視景仿真工具[2],可以搭建出一整套用于對飛行器進行仿真的環(huán)境,驗證飛行器的操縱品質(zhì)和人機接口。雖然Simulink內(nèi)置有儀表界面,在實際應(yīng)用中使用VAPS XT作為專業(yè)的人機界面開發(fā)工具[3,4],創(chuàng)建向飛行員顯示飛行參數(shù)的應(yīng)用程序,這就需要VAPS XT建立與Simulink仿真工具的通信。

2 ?通過中轉(zhuǎn)程序?qū)崿F(xiàn)VAPS XT與Simulink的數(shù)據(jù)交互

2.1 nCOM的配置

nCOM接口與VAPS XT協(xié)同使用,可以用于實現(xiàn)兩個VAPS XT應(yīng)用程序之間,或者VAPS XT應(yīng)用與外部應(yīng)用程序之間的通信。例如,在一臺服務(wù)器上部署了VAPS XT開發(fā)的人機界面應(yīng)用程序,在另外一臺服務(wù)器上部署了STAGE場景仿真工具,通過nCOM接口,可以將VAPS XT采集到的用戶輸入傳輸給STAGE,再將STAGE端生成的數(shù)據(jù)返回到VAPS XT并顯示給用戶,具體如圖1所示。

為了建立通信,在nCOM使用過程中需要配置如下對象。

(1)Connections。連接配置文件,此XML文件包含所有連接配置及其屬性。當(dāng)用戶在VAPS XT中雙擊此文件時,可以顯示此配置文件的修改頁面。每個項目只允許此文件的一個副本,并且VAPS XT接口將對其進行修改。

(2)Mappings。映射配置文件,這個XML文件包含了每個VAPS XT圖形應(yīng)用中所有的描述Connections與I/O緩沖區(qū)的映射。請參閱配置nCOM映射。

(3)Data Description。數(shù)據(jù)定義文件,此數(shù)據(jù)描述文件(.dd)創(chuàng)建了一個結(jié)構(gòu)化類型,可用于描述I/O緩沖區(qū),構(gòu)建data sender和data receiver,這些緩沖區(qū)可以進一步與VAPS XT中的圖形對象交換數(shù)據(jù),最終實現(xiàn)VAPS XT與外部應(yīng)用程序的交換數(shù)據(jù)[5]。

nCOM需要設(shè)計者定義數(shù)據(jù)緩沖區(qū)、連接以及緩沖區(qū)和連接的映射,在VAPS XT軟件提供的支持文檔[6,7]中有關(guān)于nCOM配置和使用的詳細(xì)信息。

2.2 VAPS XT與第三方應(yīng)用之間的交互

nCOM通信包括3種類型,分別是共享內(nèi)存、TCP/IP和UDP方式,具體特點如下。

(1)共享內(nèi)存。在同一硬件平臺上運行應(yīng)用程序時使用此傳輸。在這種情況下,傳輸可以提高應(yīng)用程序之間的傳輸速度。

(2)TCP/IP。這是一種點對點協(xié)議,這意味著數(shù)據(jù)從網(wǎng)絡(luò)中的一個點傳輸?shù)搅硪粋€點或主機。

(3)UDP。該協(xié)議不將消息分成數(shù)據(jù)包并在另一端重新組裝。當(dāng)應(yīng)用程序具有非常小的數(shù)據(jù)單元進行交換時,這非常有用。

但是,最常用的通信類型是UDP和共享內(nèi)存。此節(jié)演示的基于nCom連接的架構(gòu)如圖2所示。

為了指導(dǎo)開發(fā)人員進行中轉(zhuǎn)應(yīng)用程序的編程,VAPS XT提供了一個模板C++工程和源代碼,位于安裝路徑的Tutorials\Using_nCOM目錄下,可以在此模板工程的基礎(chǔ)上,創(chuàng)建用戶自定義的支持nCOM通信的外部應(yīng)用程序,在VAPS XT提供的nCOM通信指南中對該模板和代碼的編譯和運行有詳細(xì)的說明,模板包括的幾個主要的文件說明如下。

(1)anim.cpp。存放包含第三方應(yīng)用程序特定代碼的源文件,用戶可以將包括純UDP通信的代碼放在這個文件中。

(2)nComApp.cpp。包含了所有nCOM函數(shù)功能的源文件,包括發(fā)送器、管理器、定義、初始化等,用戶可以對該文件的配置進行修改,如nCOM的連接、映射配置文件的本地存放位置。

(3)nComAppvc12.vcxproj。項目工程文件,該工程文件已經(jīng)完成了設(shè)置,添加了對VAPS XT提供的與nCOM通信相關(guān)的頭文件和靜態(tài)庫

3 ?通過直接方式實現(xiàn)VAPS XT與Simulink的數(shù)據(jù)交互

VAPS XT提供了專門用于Simulink通信的nCOM模塊,但此模塊不是軟件默認(rèn)提供的,而且可能存在與VAPS XT、Simulink版本不兼容的情況。該章介紹一種比較靈活、兼容性好的VAPX XT與Simulink通信的方案。該方案的通信基于UDP,基本原理就是在Simulink端做好發(fā)送給VAPS XT應(yīng)用的UDP數(shù)據(jù)包的封裝,以及來自VAPS XT應(yīng)用的UDP數(shù)據(jù)包的解包。

3.1 建立VAPS XT與Simulink之間的通信

通過中轉(zhuǎn)方式實現(xiàn)VAPS XT與Simulink的數(shù)據(jù)交互,需要單獨定義第三方應(yīng)用,在這個第三方應(yīng)用中,引用了nCOM庫文件,第三方應(yīng)用可以與VAPS XT進行通信,而第三方應(yīng)用程與Simulink之間的數(shù)據(jù)交換格式是可以預(yù)先定義兼容的。如果要取消第三方中轉(zhuǎn)程序,則必須讓Simulink打包發(fā)送到UDP的數(shù)據(jù)符合數(shù)據(jù)描述文件(.dd)的要求,能夠被nCOM識別,并且還要按照數(shù)據(jù)描述文件定義的格式,對nCOM發(fā)出的數(shù)據(jù)進行解析。最終用到了兩個數(shù)據(jù)緩沖區(qū),具體見圖3。

3.2 VAPS XT中的nCOM接口數(shù)據(jù)包解析

由于VAPS XT將根據(jù)數(shù)據(jù)描述文件中的定義打包將通過UDP傳輸?shù)臄?shù)據(jù),因此應(yīng)以相同的方式打包Simulink UDP數(shù)據(jù)以建立通信,否則,VAPS XT和Simulink之間將無法識別對方發(fā)送的數(shù)據(jù)。

由于通過UDP連接從/到VASP XT的數(shù)據(jù)是以前綴和特定格式打包的,在研究VAPS-XT-UDP緩沖區(qū)數(shù)據(jù)樣本的基礎(chǔ)上,得出數(shù)據(jù)打包的原則如下。

如果VAPS XT通過UDP連接發(fā)送50個浮點類型的數(shù)據(jù),則發(fā)送到UDP緩沖區(qū)的最終包應(yīng)為:

VAPS XT利用nCOM的UDP模式通信時,會根據(jù)數(shù)據(jù)描述文件(*.dd)的內(nèi)容,對發(fā)送至UDP端口的數(shù)據(jù)進行封裝,可以使用UDP端口測試工具,對VAPS XT的nCOM通信數(shù)據(jù)進行分析,以VAPS XT預(yù)定義的50組浮點數(shù)據(jù)格式為例,其封裝格式如圖4所示。

如圖5所示,UDP包由三部分組成:前綴1表示數(shù)據(jù)描述類型,總長度為32字節(jié);前綴2表示發(fā)送方/接收方對象,總長度為36字節(jié),如果內(nèi)容較短,則前綴的其余部分將填充零。數(shù)據(jù)字節(jié)將從第69個字節(jié)開始,數(shù)據(jù)部分的總長度取決于數(shù)據(jù)的類型和數(shù)量。例如,50個浮點類型的數(shù)據(jù)將覆蓋50×4字節(jié)。

如果Simulink要與VAPS XT通信,將考慮相同的數(shù)據(jù)打包協(xié)議,否則將不接收/發(fā)送數(shù)據(jù),或出現(xiàn)錯誤的數(shù)據(jù)。

在Simulink中,采用UDP發(fā)送/接收模塊建立UDP緩沖區(qū)到Simulink的連接。模塊應(yīng)根據(jù)VAPS XT中的配置進行配置。

Simulink中的UDP接收模塊應(yīng)使用VAPS XT中的UDP發(fā)送緩沖區(qū),而Simulink中的UDP發(fā)送模塊應(yīng)在VAPS XT中應(yīng)用UDP接收緩沖區(qū)。

在將數(shù)據(jù)發(fā)送到UDP緩沖區(qū)之前,應(yīng)該將其與前綴部分打包在一起。數(shù)據(jù)描述文件名和緩沖區(qū)對象名應(yīng)翻譯成ASCII碼,例如,“FLOAT50”應(yīng)翻譯成“70108111971165348”。

3.3 在Simulink中搭建數(shù)據(jù)匹配通信模塊

在分析出VAPS XT的nCOM通信的數(shù)據(jù)打包規(guī)則后,只需要在Simulink中創(chuàng)建一個用于適配VAPS XT的接口模塊就可以實現(xiàn)數(shù)據(jù)交互。圖5為該文創(chuàng)建的用于從Simulink向VAPS XT發(fā)送數(shù)據(jù)的模塊在仿真工程中的連接。

圖6為在Simulink中實現(xiàn)的nCOM發(fā)送模塊的具體細(xì)節(jié),該模塊通過總線合并的方式,按照nCOM數(shù)據(jù)打包的要求,將nCOM數(shù)據(jù)包的字符所對應(yīng)的16進制ASCII碼進行組裝,與模塊接收到的數(shù)據(jù)一同發(fā)送至Simulink自帶的UDP通信模塊。該模塊的設(shè)置與VAPS XT中的nCOM通信的UDP設(shè)置匹配即可,包括IP地址、端口、廣播方式等。

4 ?結(jié)語

該文介紹了VAPS XT人機界面設(shè)計工具與Simulink仿真工具進行數(shù)據(jù)通信的實現(xiàn)方式,在介紹nCOM端口的配置方法和通信類型的基礎(chǔ)上,給出了用中轉(zhuǎn)應(yīng)用程序間VAPS XT與Simulink間接通信,以及通過在Simulink端創(chuàng)建適配模塊實現(xiàn)VAPS XT與Simulink直接通信的兩種方式,從實現(xiàn)原理和操作流程方面給出了示例,可作為飛行仿真環(huán)境搭建過程中,建立人機界面端與模型仿真端雙向通信的一般參考。

參考文獻(xiàn)

[1] Chaturvedi D K.Modeling and simulation of systems using MATLAB and Simulink[M].CRC press,2017.

[2] 董鷹.基于Simulink/FlightGear的直升機飛行仿真系統(tǒng)設(shè)計[C]//中國航空學(xué)會.2019年(第四屆)中國航空科學(xué)技術(shù)大會論文集.中國航空學(xué)會:中國航空學(xué)會,2019:806-819.

[3] Fedele A,Genito N,Garbarino L,et al.A pilot-in-the-loop facility for avionic concept development[J].Journal of Automation and Control Engineering,2016,4(4):290-294.

[4] Zheng LIU,F(xiàn)ei LI,NIU X.Modular Simulation Design of Human-machine Interaction for Civil Aircraft Cockpit[C]//DEStech Transactions on Computer Science and Engineering,2018.

[5] 秦正運,葛晨,程新滿.基于VAPS XT的座艙顯示設(shè)計與實現(xiàn)[J].電子技術(shù)與軟件工程,2019(6):75-76.

[6] Presagis Canada Inc.VAPS XT User Guide[Z].2016.

[7] Presagis Canada Inc.VAPS XT Using nCOM Tutorial[Z].2016.

主站蜘蛛池模板: 福利视频99| 国产在线97| 伊人成人在线视频| 免费无码AV片在线观看中文| 免费AV在线播放观看18禁强制| 久久精品这里只有精99品| 好紧好深好大乳无码中文字幕| 丝袜久久剧情精品国产| 亚洲日韩在线满18点击进入| 免费不卡在线观看av| 亚洲精品视频免费观看| 国产成人精品高清在线| 99热这里只有精品免费| 国内精品久久久久久久久久影视| 高清亚洲欧美在线看| 99re热精品视频国产免费| 欧美精品黑人粗大| 免费不卡视频| 伊人天堂网| 国产呦精品一区二区三区网站| 亚洲综合激情另类专区| 欧美综合激情| 国产精品私拍在线爆乳| 六月婷婷综合| 亚洲精品国产乱码不卡| 国产成人亚洲精品无码电影| 国产小视频a在线观看| 91午夜福利在线观看| 色偷偷男人的天堂亚洲av| 欧美不卡二区| 男人天堂伊人网| 日韩中文字幕免费在线观看| 国产一区免费在线观看| 久久久久无码国产精品不卡| 久久久受www免费人成| 亚洲天堂首页| 91年精品国产福利线观看久久| 极品尤物av美乳在线观看| 九九久久精品国产av片囯产区| 免费看一级毛片波多结衣| 国产你懂得| 一级做a爰片久久免费| av在线手机播放| 精品亚洲国产成人AV| 丰满人妻被猛烈进入无码| 国产精品爽爽va在线无码观看 | 国产亚洲精品无码专| 色欲不卡无码一区二区| 99资源在线| 国产91精品最新在线播放| 国产91丝袜在线播放动漫 | 国产资源站| 欧美色图久久| 九色在线观看视频| 日韩东京热无码人妻| 精品福利一区二区免费视频| 精品国产成人a在线观看| 亚洲欧洲自拍拍偷午夜色| 999在线免费视频| 国产在线视频导航| 无码内射中文字幕岛国片| 91精品国产无线乱码在线| 亚洲国产成人无码AV在线影院L | 无码免费的亚洲视频| 国产精品美女免费视频大全 | 无码粉嫩虎白一线天在线观看| 精品人妻无码中字系列| 亚洲无码精彩视频在线观看| 久久精品无码一区二区国产区| 欧美福利在线观看| 亚洲资源站av无码网址| 人妻丰满熟妇av五码区| 国产成人无码久久久久毛片| 国语少妇高潮| 天天综合网站| 国产免费羞羞视频| 亚洲AV无码不卡无码| 国产小视频a在线观看| 精品免费在线视频| 永久天堂网Av| 国内精品久久九九国产精品| 国产特一级毛片|