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

搭建基于labview的xPC目標實時仿真系統控制平臺

2015-01-25 10:50:56顏艷騰
電子設計工程 2015年3期
關鍵詞:程序設置信號

顏艷騰 , 葉 周 , 張 銳

(1.中國科學院 上海微系統與信息技術研究所,上海 200050;2.上海微小衛星工程中心 上海 201203)

xPC目標是MathWorks公司提供和發行的一個基于RTW體系框架的附加產品,可將Intel80x86/Pentium計算機或PC兼容機轉變為一個實時系統,而且支持許多類型的I/O設備,用戶只需安裝相關的軟件、一個編譯器和I/O設備板,就可將一個PC兼容機作為實時系統,來實現控制系統或DSP系統的快速原型化、硬件在回路中的測試和配備實時系統的功能[1-2]。xPC目標通過以太網連接或串口線連接來實現宿主機和目標機之間的通信[3]。然而xPC目標機顯示界面單一,基本不能人為操作,大大降低了目標程序的可操作性。而labview作為圖形化編程語言,具有編程效率高界面友好直觀的特點[4],LabVIEW能夠提供強大的外部接口能力,可以調用xPC目標的API實現對目標程序的操作,可以利用labview來編制宿主機的控制界面,具有一定的工程意義。

1 xPC目標機

xPC目標是一種用于產品原型開發,測試和配置實時系統的PC機解決途徑。xPC目標采用了宿主機-目標機的技術途徑,即“雙機”模式,宿主機和目標機可以是不同類型的計算機。其中,宿主機用于運行Simulink,而目標PC機則用于執行所生成的代碼。xPC目標提供了一個高度減縮型的實時操作核,運行在目標PC機上,該實時核采用了32位保護模式。xPC目標通過以太網連接或串口線連接來實現宿主機和目標機之間的通信。顯示了快速原型化環境中xPC目標的使用情況。

圖1 雙機模式的xPC目標Fig.1 Dual mode of xPCtarget

xPC可實現在宿主機上設計、創建目標應用程序,然后在目標機上運行并測試目標應用程序。xPC目標的功能包括可對目標應用程序進行交互式的控制、獲取信號數據和實時地調整參數。

xPC目標實時仿真的基本步驟:

1)通過xPCTarget Explorer設置宿主機和目標機的通信機制,如通信協議設為TCP/IP,設置目標機的IP地址、子網掩碼、端口號等。

2)根據配置的xPC目標運行環境制作目標啟動盤,最為方便的是U盤啟動盤,引導成功后即可啟動xPC Target的實時內核。

3)設置Simulink仿真模型的仿真參數,其中必須設置的是Solver options為固定步長,在Real-Time Workshop中系統目標文件為xpctarget.tlc。編譯模型,得到后綴名為.dlm的已編譯文件。

4)啟動連接xPC目標,下載執行應用程序。在宿主機使用xPCTarget Explorer或調用xPCTarget API函數連接目標機,下載已編譯的.dlm文件,啟動應用程序,即可實現宿主機對目標機的控制與遙測,如設置模塊參數和讀取輸出信號等。

2 labview與xPC目標接口設計

2.1 xPC目標API函數分析

2.1.1 API函數介紹

xPC目標為用戶創建自己的宿主機圖形界面程序提供了一組API函數,這組API函數包括:處理宿主機/目標機通信的函數;目標機程序管理函數;數據記錄函數;示波器管理函數;信號監視和參數調整函數;錯誤處理和其他用途函數。xPC目標的API函數以兩種方式提供給用戶,動態鏈接庫(dynamic link library,DLL),對象組件模塊(component object model,COM)[5]。任何一種方式都可以用于創建控制目標機實時程序的用戶界面。

根據xPC外部接口程序調用流程可做如下歸類分析:

1)建立宿主機和目標機的通信連接。我們采用TCP/IP協議進行通信,通信函數為:int xPCOpenTcpIpPort(const char*ipAddress,const char*ipPort);注意函數返回一個正整數值,稱為port,若port值為非負整數,則表明宿主機與目標機連接成功,并且作為連接句柄,后面的API函數都要用到該port值作為傳入參數;若port值為-1,則表明連接失敗。

2)下載目標應用程序到目標機上。函數為:void xPCLoadApp(int port, const char*pathstr, const char*filename)。

3)啟動目標機上的目標應用程序。函數為:void xPCS tartApp(int port)。

4)監控并記錄目標應用程序在目標機上的運行情況。這里包括設置目標應用程序運行參數,監測目標應用程序中信號,使用文件系統函數保存記錄數據等一系列函數。

2.1.2 設置目標機上應用程序參數

xPC目標為目標應用程序中每個可調的參數分配唯一的ID值,可以根據Simulink模型中參數所在的模塊名以及參數名獲取該參數在目標應用程序中分配的ID值。獲取指定參數 ID 值的函數為:int xPCGetParamIdx (int port,const char*blockName,const char*paramName)。得到參數的ID值后就可以調用函數 void xPCSetParam(int port, int paramIdx, const double*paramValue)完成目標應用程序參數的設置。

2.1.3 監測目標機上應用程序中的信號

信號在Simulink模型中主要體現在輸出上,獲取目標機上目標應用程序信號的方法和調整參數類似,也需要獲得目標應用程序中指定信號的唯一ID值,調用的函數為int xPCGetSignalIdx(int port, const char*sigName)。 讀取單個信號值的函數為 double xPCGetSignal (int port, int sigNum),值得一提的是,信號可以批量獲取,對應函數為int xPCGetSignals(int port, int numSignals, const int*signals, double*values),此時應該傳入信號集ID的數組。

2.2 labview調用xPC目標API函數

2.2.1 創建初始化DLL動態鏈接庫

xPC目標API是以DLL文件的形式提供的,所有的API函數都封裝在xpcapi.dll中,因此在調用API函數之前必須正確加載xpcapi.dll。xPC目標提供了在C程序中加載xpcapi.dll的C代碼源程序xpcinitfree.c,在該源程序中定義了初始化函數int xPCInitAPI(void)用于顯示加載 xPC目標 API DLL。程序在設計時需在初始化階段調用該函數加載DLL,結束時則需要釋放DLL,同樣在xpcinitfree.c中提供了釋放DLL的函數 int xPCFreeAPI(void)。

Matlab只提供了用于初始化加載和釋放xPC目標API DLL的C語言接口頭文件xpcapi.h和C源代碼xpcinitfree.c,并沒有提供可供LabVIEW直接調用的DLL文件,因此我們首先需要利用現有資源編寫生成能夠實現初始化加載和釋放xPC目標API DLL的DLL文件xPCInitFree.dll。本文在Visual C++6.0環境下建立支持xPC目標API調用初始化與資源釋放的動態鏈接庫。使用Visual C++6.0創建DLL的一般步驟為:新建一個MFC AppWizard(dll)工程,定義外部接口,編寫外部接口函數的實現。參考在源文件xpcinitfree.c中分別用于實現xpcapi.dll的加載和卸載函數int xPCInitAPI(void)和 void xPCFreeAPI(void),定義 2 個主要的動態鏈接庫接口xPCInitAPI和xPCFreeAPI。執行加載操作的同時初始化xPC目標API定義的的常量,映射xPC目標API與C程序之間的數據類型,定義API中使用的數據結構;執行卸載操作時恢復xPC目標API使用的常量的初始值,并注銷所使用的數據結構類型。

2.2.2 啟動xPC目標

在使用xPC目標前,需要啟動xPC目標,一般通過USB啟動[6],在 Matlab命令行中鍵入 xpcexplr進入 xPC Target Explorer進行配置,如通信、多核支持等,生成DOS啟動鏡像,通過DOS啟動盤進行引導啟動。

圖示采用TCP/IP通信協議,IP地址和端口即為xPC目標啟動的IP地址和端口。

3 利用labview創建宿主機控制界面

下面我們依照xPC調用API流程來設計labview程序。首先鏈接xPC目標,此時我們需要知道xPC目標機的IP及端口值(可以在制作xPC目標機啟動盤時設置)。

圖2 配置xPC目標Fig.2 Configuration of xPCtarget

圖3 xPC目標運行界面Fig.3 xPCtarget running interface

在labview面板找到調用庫函數節點,查找路徑互連接口→庫與可執行程序→調用庫函數節點。設計連接xPC目標機的labview程序,如圖4所示。

圖4 連接xPC目標Fig.4 Connect the xPCtarget

依次設計下載目標應用程序、啟動目標應用程序、卸載目標應用程序、關閉xPC目標連接、釋放資源的基本流程實現LabVIEW調用xPC目標API函數,并將各個流程模塊打包設計成子vi,完整labview程序設計如圖5所示。

此時便設計完成了一個基于labview的宿主機控制平臺。經過實驗測試,完全可以實現來控制xPC目標程序的鏈接、下載、運行、信號監測等一些列功能,并且可以在此基礎上通過調用不同API函數來實現對xPC目標程序更多的控制。

軟件的基本運行流程為:

1)配置目標機IP地址和端口,連接網絡

根據xPC目標機的IP地址及其端口,可以執行連接網絡和斷開網絡的操作。首先確保上位機和下位機網絡接口的連接,并設置上位機IP地址和xPC目標IP地址在同一個局域網內,然后才能進行TCP/IP連接操作。后面涉及xPC目標的所有操作必須建立在宿主機和目標機的連接基礎上。

圖5 基于labview的宿主機控制程序Fig.5 Labview-based host control program

2)選擇待下載應用程序(.dlm),下載程序

Simulink實時框架模型通過C編譯會生成后綴名為dlm的編譯文件,目標機連接成功后,可選擇待下載的已編譯程序,執行下載程序、運行程序、停止程序和卸載程序操作。

3)設置參數并運行程序

設置參數和獲取信號是xPC目標API提供的核心功能,調用相應的API函數,我們只需要傳入參數模塊在Simulink程序模型中的路徑和參數值。可以在軟件中設置路徑常量,也可以通過UI輸入路徑。

4)數據遙測

數據遙測的方式包括讀取信號和示波器控制。獲取信號也是需要傳入參數模塊在Simulink程序模型中的路徑,遙測的數據可以通過文本和數據圖表實時顯示。示波器控制可為xPC目標添加目標示波器觀察信號,基本步驟為添加示波器、

添加新號和啟用示波器。

5)卸載程序并斷開網絡

在程序運行結束后,可以選擇卸載程序和斷開網絡。

4 結束語

該測試系統采用具有高速數據采集卡的便攜式測試計算機為硬件平臺,軟件設計采用模塊化設計思想本文介紹了xPC目標的雙機模式,以及模型仿真的具體步驟。詳細分析了xPC目標API函數的結構與用途,研究了labview與xPC的接口問題,實現了通過labview調用xPC目標API函數的目的,并基于labview[7]設計某模型的xPC目標程序的控制軟件,實現了宿主機對目標機的遠程控制。這樣也彌補了xPC目標界面單一操作不友好的問題,可以充分有效的發揮xPC目標實時仿真系統的優勢。

[1]吳劍,孫秀霞.采用MATLAB中的xPCTarget對硬件進行操作[J].現代電子技術,2002(4):59-60.WU Jian,SUN Xiu-xia.Hardware practised with matlab of xPCtarget[J].Modern Electronics Technique,2002(4):59-60.

[2]張江濱,姚輝,楊曉萍.構建基于XPC目標的實時仿真測試系統[J].水利水電技術,2005,36(1)70-72.ZHANG Jiang-bing,YAO Hui,YANG Xiao-Ping.A real-time simulation testing systembased on XPC target[J].Water Resources And Hydropower Engineering,2005,36(1)70-72.

[3]王超,王仕成,劉志國.基于Matlab/xPC Target的實時仿真系統研究[J].控制工程,2007(7):165-167.WANG Chao,WANG Shi-cheng,LIU Zhi-guo.Research on beal time simulation system based on matlab/xPC target[J].Control Engineering of China,2007(7):165-167.

[4]侯國屏,王坤,葉齊鑫,等.labview7.1編程與虛擬儀器設計[M].北京:清華學出版社,2005.

[5]朱野,王旭永,陶劍峰,等.實時控制系統平臺xPC與labview接口分析及應用[J].上海交通大學學報,2008,42(2):266-269.ZHU Ye,WANGXu-yong,TAO Jian-feng,et al.Analysis and utilization of interface between xPC target and LabVIEW[J].Journalof ShangHaiJiaoTongUniversity,2008,42(2):266-269.

[6]江紹明,畢效輝.采用U盤制作xPC目標啟動盤[J].自動化與儀表,2008(6):53-56.JIANG Shao-ming,BI Xiao-Hui.Creation of an xPC target boot based on USB flash disk[J].Process Automation Instrumentation,2008(6):53-56.

[7]姚麗,劉東東.基于LabVIEW的數據采集與信號處理系統設計[J].電子科技,2012(5):79-81.YAO Li,LIU Dong-dong.Design of the data acquisition and signal processing system based on LabVIEW[J].Electronic Science and Technology,2012(5):79-81.

猜你喜歡
程序設置信號
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
基于FPGA的多功能信號發生器的設計
電子制作(2018年11期)2018-08-04 03:25:42
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
基于LabVIEW的力加載信號采集與PID控制
本刊欄目設置說明
中俄臨床醫學專業課程設置的比較與思考
主站蜘蛛池模板: 国产精品手机在线观看你懂的| 毛片一级在线| a级毛片视频免费观看| 91免费在线看| 国产成年女人特黄特色大片免费| 日韩人妻无码制服丝袜视频| 亚洲精品欧美日本中文字幕| 成年人视频一区二区| 欧美啪啪视频免码| 亚洲视频欧美不卡| 亚洲二三区| 91小视频在线观看免费版高清| 精品成人一区二区| 日韩欧美国产三级| 欧美在线视频不卡第一页| 国产乱子伦精品视频| 日韩精品久久无码中文字幕色欲| 亚洲清纯自偷自拍另类专区| 麻豆国产原创视频在线播放| 2020国产在线视精品在| 在线亚洲精品福利网址导航| 99在线观看精品视频| 高潮爽到爆的喷水女主播视频| 色综合久久无码网| 中文字幕在线看| 亚洲香蕉久久| 日韩福利视频导航| 色综合中文字幕| 五月婷婷激情四射| 国产亚洲精久久久久久无码AV | 91青青视频| 亚洲精品在线观看91| 国产精品亚欧美一区二区三区| 国产视频只有无码精品| 欧美成人免费午夜全| 99精品免费在线| 97青青青国产在线播放| 亚洲欧美在线综合图区| 全午夜免费一级毛片| 国产成人久视频免费| 国产日韩精品一区在线不卡| 久久青草热| 男女性色大片免费网站| 有专无码视频| 欧美日韩v| 国产三级a| 四虎永久在线精品国产免费| 中国国产高清免费AV片| 国产高清又黄又嫩的免费视频网站| 欧美日韩一区二区在线播放| 亚洲中文制服丝袜欧美精品| 国产精品yjizz视频网一二区| 99精品欧美一区| AV在线天堂进入| 无码中文字幕乱码免费2| 久久久精品无码一区二区三区| 免费看a级毛片| 99精品热视频这里只有精品7| 拍国产真实乱人偷精品| 国产二级毛片| 美女无遮挡拍拍拍免费视频| 国产在线观看精品| 日韩精品一区二区三区中文无码| 无码日韩人妻精品久久蜜桃| 国产精品视频观看裸模| 99精品这里只有精品高清视频| 欧美国产日韩在线| 2021国产乱人伦在线播放| 91无码国产视频| 成人亚洲天堂| 国产一区二区三区在线无码| 国产91线观看| 国产无码网站在线观看| 亚洲精品视频免费| 97视频在线精品国自产拍| 超碰91免费人妻| 日韩小视频在线播放| 天堂va亚洲va欧美va国产| 日韩欧美网址| 成人免费网站久久久| 在线观看欧美国产| 97久久免费视频|