資源描述:
《半實物仿真平臺中RPC的設(shè)計實現(xiàn).pdf》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、第6期(總第199期)機械工程與自動化No.62016年12月MECHANICALENGINEERING&AUTOMATIONDec.文章編號:1672-6413(2016)06-0061-02半實物仿真平臺中RPC的設(shè)計實現(xiàn)﹡劉小舟1,龍辛2,劉智磊1,朱方鎮(zhèn)3(1.湖南省風(fēng)電裝備與電能變換協(xié)同創(chuàng)新中心(湘潭大學(xué)),湖南湘潭411105;2.湘電風(fēng)能有限公司,湖南湘潭411105;3.湖南優(yōu)利泰克自動化系統(tǒng)有限公司,湖南長沙410005)摘要:基于分布式網(wǎng)絡(luò)設(shè)計的半實物仿真平臺需要在上位機與底層硬件中實現(xiàn)實時通信任務(wù),基于Simulink建模環(huán)境的特殊性以及底層嵌入式操作系統(tǒng)的特點,提
2、出一種采用遠(yuǎn)程網(wǎng)絡(luò)過程調(diào)用(RPC)的設(shè)計方式,在建模環(huán)境和底層嵌入式操作系統(tǒng)中分別設(shè)計了客戶端與服務(wù)端,通過對AIO模塊的IO功能測試驗證了本方法的可行性。關(guān)鍵詞:RPC服務(wù);Simulink;跨平臺通信;半實物仿真中圖分類號:TP391.9文獻(xiàn)標(biāo)識碼:A0引言用戶而言,其函數(shù)調(diào)用表面上就與傳統(tǒng)的函數(shù)調(diào)用一對于半實物仿真平臺而言,數(shù)學(xué)建模的便利性是樣,只是執(zhí)行的本體從本地轉(zhuǎn)移到了遠(yuǎn)程端。RPC服務(wù)其核心指標(biāo)之一,Simulink自身提供了強大的仿真功總共包含10個步驟,其遠(yuǎn)程過程調(diào)用流程如圖2所示。能,可以便捷地實現(xiàn)數(shù)學(xué)模型的構(gòu)建與仿真,但是其與硬件的交互有一定的局限性。因此如果能夠提
3、高Simulink與硬件IO模塊交互的便利性,發(fā)揮其在數(shù)學(xué)建模方面的優(yōu)勢,將Simulink作為半實物仿真平臺的上位機建模環(huán)境是一個值得探討的技術(shù)方案。在MATLAB/Simulink平臺上搭建半實物仿真系統(tǒng),其關(guān)鍵之處在于MATLAB/Simulink與硬件實物之間[1-3]如何接口。本文利用遠(yuǎn)程網(wǎng)絡(luò)過程調(diào)用(RPC)功能實現(xiàn)了Simulink中Lib庫與底層硬件IO的直接數(shù)據(jù)交互,通過此方法可以較為方便地實現(xiàn)Simulink與硬件IO數(shù)據(jù)的交互,可以以此為基礎(chǔ)構(gòu)建半實物仿真系統(tǒng)的建模環(huán)境。1半實物仿真平臺的結(jié)構(gòu)圖1半實物仿真平臺總體結(jié)構(gòu)圖2RPC遠(yuǎn)程過程調(diào)用流程本文中的半實物仿真平臺
4、基于分布式網(wǎng)絡(luò)架構(gòu)實3半實物仿真平臺中RPC的實現(xiàn)現(xiàn),結(jié)構(gòu)上可以分為底層軟硬件系統(tǒng)與上位機建模環(huán)3.1MIO模塊功能境。其中底層硬件系統(tǒng)包括內(nèi)核為PowerPC的CPU半實物仿真平臺中RPC最主要實現(xiàn)的功能為模塊、底板模塊以及IO模塊;軟件方面由VxWorksMIO模塊,它基于底層MIOLIB庫設(shè)計,是將底層IO操作系統(tǒng)以及IO模塊驅(qū)動程序組成;上位機建模環(huán)模塊庫函數(shù)提供給RPC調(diào)用的封裝層,主要用于提供境為Simulink,連接上位機環(huán)境與底層軟硬件系統(tǒng)的統(tǒng)一的底層模塊操作接口函數(shù)給上位機建模環(huán)境使紐帶為RPC服務(wù),該服務(wù)通過Simulink中編寫的Lib用,支持上位機對IO模塊的控制
5、、管理以及監(jiān)控,包庫進(jìn)行封裝。半實物仿真平臺總體結(jié)構(gòu)如圖1所示。括模塊配置信息的讀取更換、IO通道數(shù)據(jù)的設(shè)定以及2RPC介紹獲取、運行狀態(tài)監(jiān)測等。該模塊最上層是RPC調(diào)用接RPC是一種基于C/S模式的遠(yuǎn)程過程調(diào)用,它將口,客戶端調(diào)用服務(wù)器的RPC服務(wù)后,查找對應(yīng)的一個服務(wù)的請求和執(zhí)行分散在客戶和服務(wù)器之[4-5]MIO封裝庫函數(shù)后調(diào)用底層的驅(qū)動函數(shù),獲取模塊參間??蛻舳耸紫仍诒镜剡M(jìn)程中將RPC系統(tǒng)服務(wù)數(shù)。MIO庫調(diào)用流程如圖3所示。其中,封裝的mio程序需要的參數(shù)進(jìn)行打包,然后通過網(wǎng)絡(luò)調(diào)用程序向庫中包括:mio_getvalue(),mio_setvalue(),mio_ge-服務(wù)器請求
6、過程調(diào)用服務(wù),最后進(jìn)入等待過程。而服terro(),mio_getcardinfo(),mio_getchan_data()。務(wù)端程序接收到一個遠(yuǎn)程過程調(diào)用請求后,從休眠狀3.2服務(wù)端實現(xiàn)態(tài)進(jìn)入工作狀態(tài),解析遠(yuǎn)程數(shù)據(jù)包,還原客戶端的本地RPC服務(wù)端運行在底層操作系統(tǒng)VxWorks上調(diào)用過程,然后將得到的運算結(jié)果返回給客戶端,完成面,作為一個任務(wù)被執(zhí)行。RPC服務(wù)啟動步驟如下:一次完整的RPC調(diào)用過程。在這個操作過程中,對于﹡國家“863”計劃項目(2006AA05Z401)收稿日期:2016-03-24;修訂日期:2016-09-29作者簡介:劉小舟(1991-),男,湖南邵陽人,在讀碩
7、士研究生,主要研究方向為新能源風(fēng)電控制系統(tǒng)?!?2·機械工程與自動化2016年第6期①在VxWorks中啟動RPC服務(wù);②初始化必要的參……數(shù);③需要注銷系統(tǒng)中的同名任務(wù),這一步是為了保證data=mio_prog_(handle,name,format,card,chan);//填充參數(shù),獲取模塊數(shù)據(jù)系統(tǒng)的穩(wěn)定;④注冊網(wǎng)絡(luò)通信方式,這里有UDP與……TCP/IP兩種通信方式;⑤處理RPC服務(wù)請求,這一y0[0]=data;//模塊