專利名稱:機(jī)械液壓聯(lián)動(dòng)仿真參數(shù)的實(shí)時(shí)交互方法
技術(shù)領(lǐng)域:
本發(fā)明屬于機(jī)電液一體化技術(shù)領(lǐng)域,主要應(yīng)用于工業(yè)大型液壓系統(tǒng)與重型機(jī)械運(yùn) 動(dòng)構(gòu)件的組合運(yùn)動(dòng)仿真。
背景技術(shù):
大型液壓系統(tǒng)與重型機(jī)械運(yùn)動(dòng)構(gòu)件是冶金行業(yè)重載液壓裝備的基本要素,如重型 荒磨機(jī)床液壓支撐缸與磨削臂,自由鍛造壓機(jī)的液壓工作缸與動(dòng)梁。設(shè)計(jì)此類設(shè)備的控制 系統(tǒng)時(shí),必須考慮液壓與機(jī)械聯(lián)動(dòng)建模問題。目前,通用商業(yè)仿真軟件只能單獨(dú)提供液壓系 統(tǒng)建模平臺(Easy5、AMESim)、或者動(dòng)力學(xué)建模平臺(ADAMS),無法實(shí)現(xiàn)機(jī)、液交聯(lián)互動(dòng)的仿 真功能。若能解決經(jīng)典的機(jī)床動(dòng)力學(xué)仿真軟件與液壓動(dòng)力學(xué)仿真軟件之間的數(shù)據(jù)實(shí)時(shí)交互 問題,就可以在線實(shí)現(xiàn)液壓系統(tǒng)參數(shù)(各類閥、油缸、管道)、控制系統(tǒng)與機(jī)械構(gòu)件實(shí)體運(yùn)動(dòng) 的聯(lián)動(dòng)仿真,對一類工業(yè)大型裝備的設(shè)計(jì)具有重要的實(shí)際指導(dǎo)意義。中間件技術(shù)是上個(gè)世紀(jì)90年代興起的概念,它位于客戶機(jī)或服務(wù)器的操作系統(tǒng) 之上,管理計(jì)算資源和網(wǎng)絡(luò)通訊。中間件的特點(diǎn)包括滿足大量應(yīng)用的需要;運(yùn)行于多種硬 件和OS平臺;支持分布式計(jì)算,提供跨網(wǎng)絡(luò)、硬件和平臺的透明性的應(yīng)用或服務(wù)的交互功 能;支持標(biāo)準(zhǔn)的協(xié)議與接口。
發(fā)明內(nèi)容
為解決現(xiàn)有的應(yīng)用仿真軟件系統(tǒng)數(shù)據(jù)不能互聯(lián)的問題,本發(fā)明提供一種面向機(jī)床 動(dòng)力學(xué)仿真軟件(如ADAMS)和液壓系統(tǒng)仿真軟件(如EASY5)的中間件設(shè)計(jì),實(shí)現(xiàn)二者仿 真參數(shù)的即時(shí)交互,進(jìn)而達(dá)到機(jī)械液壓系統(tǒng)聯(lián)動(dòng)仿真的目的。本發(fā)明的特征在于,所述方法是借助于計(jì)算機(jī)聯(lián)動(dòng)仿真中間件依次按以下步驟實(shí) 現(xiàn)的步驟(1),初始化,建立—個(gè)在機(jī)械液壓聯(lián)動(dòng)仿真時(shí)實(shí)時(shí)交互機(jī)床動(dòng)力學(xué)參數(shù)和液壓動(dòng)力學(xué)參數(shù)的聯(lián)動(dòng) 仿真中間件,一個(gè)機(jī)床動(dòng)力學(xué)仿真軟件ADAMS模塊,以下簡稱ADAMS模塊,一個(gè)液壓動(dòng)力學(xué) 仿真軟件EASY5模塊,以下簡稱EASY5模塊,在所述的ADAMS模塊中,建立有輸出類型狀態(tài)變量和用于輸入機(jī)械交互參數(shù)的運(yùn) 動(dòng)激勵(lì)器,其中輸出類型狀態(tài)變量,設(shè)定為輸出到所述Easy5模塊的液壓缸活塞桿位移和活塞桿 速度,是一種機(jī)械交互參數(shù),當(dāng)輸出參數(shù)為所述液壓缸活塞桿位移時(shí),參數(shù)值定義為位移量 的Displacement Magnitude函數(shù),同時(shí)設(shè)定位移標(biāo)尺兩端的標(biāo)志量,當(dāng)輸出參數(shù)為所述活 塞桿速度時(shí),參數(shù)值定義為位移方向的Velocityalong Line-of-Sight函數(shù),同時(shí)設(shè)定速度 標(biāo)尺兩端的標(biāo)志點(diǎn)及速度方向的參考點(diǎn),作為運(yùn)動(dòng)激勵(lì)器驅(qū)動(dòng)參數(shù)的激勵(lì)力的大小設(shè)定為所述Easy5模塊的油缸輸出力, 一個(gè)運(yùn)動(dòng)激勵(lì)器只對應(yīng)一個(gè)驅(qū)動(dòng)參數(shù),當(dāng)一個(gè)驅(qū)動(dòng)方向有多個(gè)驅(qū)動(dòng)參數(shù)時(shí),只能在一個(gè)驅(qū)動(dòng)上設(shè)定約束,所述ADAMS模塊向所述聯(lián)動(dòng)仿真中間件輸出一個(gè)Control Plant文件,其中包括 所述輸入/輸出交互參數(shù),在所述Easy5模塊中,建立一個(gè)動(dòng)態(tài)鏈接庫dll文件,作為與所述聯(lián)動(dòng)仿真中間件 通信的中間文件,其中包括輸出到所述ADAMS模塊的油缸輸出力,以此來決定所述油缸的 活塞桿位置與速度,所述聯(lián)動(dòng)仿真中間件,包含有應(yīng)用功能實(shí)現(xiàn)層、中間件管理層和中間件功能實(shí)現(xiàn) 層,其中應(yīng)用功能實(shí)現(xiàn)層,設(shè)有人機(jī)操作界面,供用戶設(shè)置包括聯(lián)動(dòng)通信步長、機(jī)械液壓聯(lián) 動(dòng)仿真參數(shù)的交互關(guān)系在內(nèi)的中間件參數(shù),并以曲線形式實(shí)時(shí)顯示當(dāng)前仿真時(shí)刻下各聯(lián)動(dòng) 仿真的機(jī)液交互參數(shù)的具體數(shù)值,中間件管理層,包含負(fù)責(zé)參數(shù)對應(yīng)關(guān)系管理的OTataRelation類、負(fù)責(zé)時(shí)間管理 的CTimeManage類以及負(fù)責(zé)錯(cuò)誤捕捉的CErrorCatch類,其中參數(shù)對應(yīng)關(guān)系管理類⑶ataRelation,根據(jù)來自所述應(yīng)用功能實(shí)現(xiàn)層的機(jī)液交互 參數(shù)之間的連接關(guān)系,生成用于描述包括油缸的活塞桿位移和速度在內(nèi)的機(jī)床動(dòng)力學(xué)參數(shù) 和包括油缸輸出力在內(nèi)的液壓動(dòng)力參數(shù)之間的對應(yīng)關(guān)系,時(shí)間管理類CTimeManage,根據(jù)來自應(yīng)用功能實(shí)現(xiàn)層的聯(lián)動(dòng)仿真步長確定中間件 從所述ADAMS模塊和Easy5模塊的采樣時(shí)間點(diǎn),所述兩個(gè)模塊的仿真步長都小于聯(lián)動(dòng)仿真 步長,以保證聯(lián)動(dòng)仿真時(shí)機(jī)液交互參數(shù)的充分交互,中間件功能實(shí)現(xiàn)層,含有交互模塊、第一通信接口模塊⑴和第二通信接口模塊 ⑵,其中交互模塊中,描述聯(lián)動(dòng)仿真實(shí)時(shí)交互參數(shù)的CSimulationData類,根據(jù)來自所述 中間件管理層的參數(shù)對應(yīng)關(guān)系管理類⑶ataRelations類,建立包括向兩個(gè)聯(lián)動(dòng)仿真方向, 包括機(jī)械向液壓方向和液壓向機(jī)械方向,的實(shí)時(shí)對應(yīng)的聯(lián)動(dòng)仿真用的機(jī)械動(dòng)力學(xué)參數(shù)和液 壓動(dòng)力參數(shù)之間的具體對應(yīng)關(guān)系,第一通信接口模塊(1),負(fù)責(zé)與機(jī)床動(dòng)力學(xué)仿真軟件ADAMS之間的數(shù)據(jù)通信及數(shù) 據(jù)采樣,同時(shí)又從所述交互模塊接收液壓驅(qū)動(dòng)參數(shù)并傳遞給所述的機(jī)床動(dòng)力學(xué)仿真軟件 ADAMS,第二通信接口模塊(2),從液壓系統(tǒng)仿真軟件Easy5的實(shí)時(shí)仿真結(jié)果中采樣所述 液壓參數(shù)并轉(zhuǎn)發(fā)給所述交互模塊,同時(shí),又從所述交互模塊接收機(jī)械動(dòng)力參數(shù)并傳遞給所 述液壓液壓系統(tǒng)仿真軟件Easy5 ;步驟(2),在所述中間件管理層的作用下,所述聯(lián)動(dòng)仿真中間件按以下步驟實(shí)現(xiàn)機(jī) 械系統(tǒng)和液壓系統(tǒng)的機(jī)液交互參數(shù)的聯(lián)動(dòng)仿真步驟(2. 1),用戶通過所述應(yīng)用功能實(shí)現(xiàn)層中的人機(jī)操作界面設(shè)置聯(lián)動(dòng)仿真通信 步長和聯(lián)動(dòng)仿真用的機(jī)液交互參數(shù)之間的連接關(guān)系,步驟(2. 2),所述中間件管理層從所述應(yīng)用功能實(shí)現(xiàn)層輸入所述聯(lián)動(dòng)仿真用的機(jī) 液交互參數(shù)之間的連接關(guān)系和聯(lián)動(dòng)仿真通信步長并且執(zhí)行步驟(2. 3)和步驟(2. 4),步驟(2. 3),根據(jù)所述聯(lián)動(dòng)用的機(jī)液交互參數(shù)之間的連接關(guān)系生成用于描述 變量對應(yīng)關(guān)系的類CDataRelations,并傳遞到所述中間件功能實(shí)現(xiàn)層的交互模塊,類CSimulati。nData描述機(jī)液交互參數(shù),判定并分機(jī)械向液壓方向和液壓向機(jī)械方向兩個(gè)方向進(jìn)行參數(shù)傳遞,
步驟(2.4),當(dāng)步驟(2.3)中判定為液壓向機(jī)械方向參數(shù)傳遞時(shí),所述中間件管理層根據(jù)聯(lián)動(dòng)仿真步長和AI)AMS仿真步長決定的采樣間隔從所述AI)AMS模塊的C。ntr。lPlant中采樣,把AI)AMS模塊中包括油缸活塞桿位移和速度在內(nèi)的機(jī)械互動(dòng)參數(shù)打包成第一接收數(shù)據(jù)包ReCeiVing Data PaCkage(1),送往所述交互模塊,并傳遞到所述的EaSy5模塊中,同時(shí)又把交互模塊從所述EaSy5模塊中獲得的包括油缸輸出力在內(nèi)的液壓互動(dòng)參數(shù)的第一發(fā)送數(shù)據(jù)包Sending Data PaCkage(1)傳遞給所述的AI)AMS模塊的C。ntr。l Plant文件,接收與發(fā)送數(shù)據(jù)包中分別是含有仿真數(shù)據(jù)包生成時(shí)間節(jié)點(diǎn)信息的CReCeiVingData與CSendingData類的對象,
步驟(2.5),當(dāng)步驟(2.3)中判定為機(jī)械向液壓方向參數(shù)傳遞時(shí),所述中間件管理層根據(jù)聯(lián)動(dòng)仿真步長和EaSy5仿真步長決定的采樣間隔從所述d11文件中采樣,把包括油缸輸出力在內(nèi)的液壓互動(dòng)參數(shù)打包成第二接收數(shù)據(jù)包ReCeiVing Data PaCkage(2),通過所述交互模塊傳遞給所述AI)AMS模塊的C。ntr。l Plant中間文件,同時(shí)把交互模塊從所述AI)AMS模塊中獲得的包括油缸活塞桿位移和速度在內(nèi)的機(jī)液互動(dòng)參數(shù)的第二發(fā)送數(shù)據(jù)包Sending Data PaCkage(2)傳遞給所述的d11文件,接收與發(fā)送數(shù)據(jù)包中分別是含有仿真數(shù)據(jù)生成時(shí)間節(jié)點(diǎn)信息的CReCeiVingData與CSendingData類的對象。
發(fā)明優(yōu)點(diǎn)
本發(fā)明的優(yōu)點(diǎn)在于
1.本發(fā)明提出了一種基于雙工通訊中間件的、機(jī)床動(dòng)力學(xué)仿真軟件與液壓系統(tǒng)仿真軟件同步運(yùn)行的機(jī)液聯(lián)動(dòng)仿真平臺構(gòu)建方法,實(shí)現(xiàn)了液壓系統(tǒng)參數(shù)(各類閥、油缸、管道)、控制系統(tǒng)與機(jī)械構(gòu)件實(shí)體的組合運(yùn)動(dòng)仿真,對一類工業(yè)大型裝備的設(shè)計(jì)具有重要的實(shí)際指導(dǎo)意義。
2.中間件的設(shè)計(jì)思想確保了聯(lián)動(dòng)仿真平臺的普適性。簡單更改通訊接口模塊即能夠方便實(shí)現(xiàn)不同機(jī)床動(dòng)力學(xué)軟件與不同的液壓系統(tǒng)軟件之間的聯(lián)動(dòng)仿真。
3.中間件的結(jié)構(gòu)基于模塊化分層設(shè)計(jì)思路,應(yīng)用層與管理層功能明確切割,能夠方便的在不同的操作系統(tǒng)上移植,也能夠使用多種編程語言實(shí)現(xiàn)。
圖l,聯(lián)動(dòng)仿真中間件系統(tǒng)層次模塊圖。
圖2,第一通信接口模塊(1)與AI)AMS的通信。
其中,各參數(shù)含義如下
Simulati。n Step聯(lián)動(dòng)仿真步長
Simulati。n time聯(lián)動(dòng)仿真時(shí)間
R。d P。Siti。nl活塞缸位置l,機(jī)床動(dòng)力學(xué)參數(shù)
R。d P。Siti。n2活塞缸位置2,機(jī)床動(dòng)力學(xué)參數(shù)
R00一Vel。Cityl活塞缸速度l,機(jī)床動(dòng)力學(xué)參數(shù)
R00一Vel。City2活塞缸速度2,機(jī)床動(dòng)力學(xué)參數(shù)
DriVing—F。rCe l活塞缸驅(qū)動(dòng)力l,液壓動(dòng)力參數(shù)
Driving_Force2活塞缸驅(qū)動(dòng)力2,液壓動(dòng)力參數(shù)
Sampling Time采樣時(shí)間
Receiving Data第一接收數(shù)據(jù)包(1),打包ADAMS機(jī)床動(dòng)力
Packagel學(xué)參數(shù)
第一發(fā)送數(shù)據(jù)包(1),打包Easy5液壓動(dòng)力參
Sending Data Packagel
數(shù)
圖3,第二通信接口模塊(2)與Easy5的通信。
其中,各參數(shù)含義如下
Simulation_Step聯(lián)動(dòng)仿真步長
Simulation_Time聯(lián)動(dòng)仿真時(shí)間
Output—Forcel油缸輸出力1,液壓動(dòng)力參數(shù)
Output—Force2油缸輸出力2,液壓動(dòng)力參數(shù)
Rod—Positionl活塞缸位置1,機(jī)床動(dòng)力學(xué)參數(shù)
Rod—Position2活塞缸位置2,機(jī)床動(dòng)力學(xué)參數(shù)
Rod—Velocityl活塞缸速度1,機(jī)床動(dòng)力學(xué)參數(shù)
Rod—Velocity2活塞缸速度2,機(jī)床動(dòng)力學(xué)參數(shù)
Sampling Time采樣時(shí)間
Receiving Data第二接收數(shù)據(jù)包(2),打包Easy5液壓動(dòng)力
Package2數(shù)
第一發(fā)送數(shù)據(jù)包(1),打包ADAMS機(jī)床動(dòng)力
Sending Data Package2
學(xué)參數(shù)
圖4,交互模塊與中間件管理層。
其中,各參數(shù)含義如下
Error Catch錯(cuò)誤捕捉
Parameter Interactions參數(shù)交互關(guān)系
Interaction SimulationTime聯(lián)動(dòng)仿真時(shí)間管理
Manage
圖5,中間件主要類定義。
其中,各參數(shù)含義如下
CWinApp=Windows窗口句柄類
CErrorCatch錯(cuò)誤管理類
CTimeManage時(shí)間管理類
CDataRelations交互參數(shù)對應(yīng)關(guān)系管理類
CReceivingData:接收數(shù)據(jù)包類
CSendingData發(fā)送數(shù)據(jù)包類CSimulationData交互仿真管理類圖6,程序流程框圖。
具體實(shí)施例方式機(jī)液聯(lián)動(dòng)仿真中間件系統(tǒng)如圖1所示,該系統(tǒng)各模塊主要功能如下1.應(yīng)用功能實(shí)現(xiàn)層應(yīng)用功能實(shí)現(xiàn)層負(fù)責(zé)中間件參數(shù)的設(shè)置以及狀態(tài)的顯示。包括通信速率、聯(lián)動(dòng)仿 真交互參數(shù)的連接關(guān)系等聯(lián)動(dòng)仿真參數(shù)都可以通過本層提供的人機(jī)操作界面進(jìn)行設(shè)置。人 機(jī)界面也可以用曲線形式實(shí)時(shí)顯示當(dāng)前仿真時(shí)間下各聯(lián)動(dòng)交互參數(shù)的具體數(shù)值。2.中間件管理層中間件管理層是聯(lián)動(dòng)仿真中間件的核心,是應(yīng)用實(shí)現(xiàn)層和功能層之間的組織者與 管理者。向上,本層從應(yīng)用實(shí)現(xiàn)層接收聯(lián)動(dòng)仿真參數(shù),并將實(shí)時(shí)的仿真結(jié)果回傳給應(yīng)用實(shí)現(xiàn) 層;向下,本層管理中間件功能層的兩個(gè)通信接口模塊的通信步長與數(shù)據(jù)采樣方式,以及交 互模塊中聯(lián)動(dòng)參數(shù)之間的對應(yīng)關(guān)系。中間件管理層還負(fù)責(zé)監(jiān)控中間件功能層各模塊的運(yùn)行狀態(tài),捕捉錯(cuò)誤消息并做相 關(guān)處理,將處理結(jié)果報(bào)告給應(yīng)用功能實(shí)現(xiàn)模塊。3.中間件功能層(1)交互模塊交互模塊是聯(lián)動(dòng)仿真中間件的數(shù)據(jù)連接通道。本模塊從中間件管理層接收交互參 數(shù)對應(yīng)連接關(guān)系,將機(jī)床動(dòng)力學(xué)模型的機(jī)械參數(shù)與液壓系統(tǒng)模型的液壓驅(qū)動(dòng)參數(shù)建立實(shí)時(shí) 對應(yīng)關(guān)系,從而實(shí)現(xiàn)機(jī)液系統(tǒng)的聯(lián)動(dòng)仿真。(2)通信接口模塊通信接口模塊負(fù)責(zé)與機(jī)床動(dòng)力學(xué)仿真軟件和液壓系統(tǒng)仿真軟件之間的數(shù)據(jù)通信 以及采樣過程。第一通信接口模塊(1)從動(dòng)力學(xué)仿真軟件的實(shí)時(shí)仿真結(jié)果中采樣得到機(jī)械 動(dòng)力學(xué)交互參數(shù)并轉(zhuǎn)發(fā)給交互模塊,同時(shí),從交互模塊接收液壓驅(qū)動(dòng)參數(shù)并傳遞給動(dòng)力學(xué) 仿真軟件。第二通信接口模塊(2)從液壓系統(tǒng)仿真軟件的實(shí)時(shí)仿真結(jié)果中采樣得到液壓驅(qū) 動(dòng)參數(shù)并轉(zhuǎn)發(fā)給交互模塊,同時(shí)從交互模塊接受機(jī)械動(dòng)力學(xué)參數(shù)并傳遞給液壓系統(tǒng)仿真軟 件。本發(fā)明的三個(gè)層次的動(dòng)態(tài)工作過程如下1、機(jī)械一液壓方向中間件管理層根據(jù)應(yīng)用實(shí)現(xiàn)層設(shè)定的聯(lián)動(dòng)仿真通信步長,經(jīng)由中間件功能層的交 互模塊,向第一通信接口模塊(1)發(fā)布數(shù)據(jù)采樣命令,第一通信接口模塊(1)從機(jī)床動(dòng)力學(xué) 軟件采樣得到機(jī)械聯(lián)動(dòng)交互參數(shù),并封裝成一個(gè)數(shù)據(jù)包傳遞給交互模塊;交互模塊按照中 間件管理層給定的參數(shù)對應(yīng)關(guān)系,將包中數(shù)據(jù)與第二通信接口模塊(2)的接收參數(shù)適配對 應(yīng)后,打包成接收數(shù)據(jù)包并轉(zhuǎn)發(fā)給第二通信接口模塊(2);第二通信接口模塊(2)將機(jī)械聯(lián) 動(dòng)參數(shù)傳遞液壓系統(tǒng)仿真軟件。上述步驟即完成機(jī)械聯(lián)動(dòng)參數(shù)向液壓系統(tǒng)仿真軟件的傳 遞。2、液壓一機(jī)械方向
液壓聯(lián)動(dòng)參數(shù)向機(jī)械動(dòng)力學(xué)仿真軟件的傳遞過程與機(jī)械聯(lián)動(dòng)參數(shù)的傳遞類似,只 是方向相反。中間件管理層根據(jù)應(yīng)用實(shí)現(xiàn)層設(shè)定的聯(lián)動(dòng)仿真通信步長,經(jīng)由中間件功能層 的交互模塊向第二通信接口模塊(2)發(fā)布數(shù)據(jù)采樣命令,第二通信接口模塊(2)從液壓系 統(tǒng)仿真軟件采樣得到液壓聯(lián)動(dòng)交互參數(shù),并封裝成一個(gè)數(shù)據(jù)包傳遞給交互模塊;交互模塊 按照中間件管理層給定的參數(shù)對應(yīng)關(guān)系,將包中數(shù)據(jù)與第一通信接口模塊(1)的接收參數(shù) 適配對應(yīng)后,打包成接收數(shù)據(jù)包并轉(zhuǎn)發(fā)給第一通信接口模塊(1);第一通信接口模塊(1)將 液壓聯(lián)動(dòng)參數(shù)傳遞液壓系統(tǒng)仿真軟件。中間件管理層將實(shí)時(shí)監(jiān)控中間件功能層接口模塊的通信狀態(tài)與聯(lián)動(dòng)參數(shù)的交互 狀態(tài),及時(shí)發(fā)出采樣失敗等錯(cuò)誤信息并做相應(yīng)級別的響應(yīng)處理,直至中斷中間件的運(yùn)行。應(yīng) 用功能實(shí)現(xiàn)層負(fù)責(zé)人機(jī)界面的響應(yīng)與系統(tǒng)運(yùn)行狀態(tài)的顯示。以下結(jié)合附圖和實(shí)施例,對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。實(shí)施例以動(dòng) 力學(xué)仿真軟件ADAMS和液壓系統(tǒng)仿真軟件EASY5為例,描述二者在中間件的作用下聯(lián)動(dòng)仿 真的實(shí)施方法。附圖1說明了機(jī)液聯(lián)動(dòng)仿真中間件層次結(jié)構(gòu)。分別由上位的功能應(yīng)用層、中位的 中間件管理層和底層的中間件功能層組成。附圖2說明了通信接口 1與ADAMS聯(lián)動(dòng)仿真參數(shù)交互數(shù)據(jù)傳遞方式。即第一通 信接口模塊(1)與ADAMS的通信(液壓一機(jī)械)通道。首先,需要在ADAMS中定義輸出的機(jī)械交互參數(shù)。在ADAMS中建立輸出類型狀態(tài)變 量,并且將狀態(tài)變量的值設(shè)定為需要傳遞給液壓仿真軟件的機(jī)械交互參數(shù),通常是液壓缸 活塞桿的位移與速度。如果輸出參數(shù)為位移,則將參數(shù)值定義為ADAMS中的Displacement Magnitude函數(shù),同時(shí)選定位移標(biāo)尺兩端的標(biāo)記點(diǎn);如果輸出參數(shù)為速度,則將參數(shù)值定義 為Adams中的Velocity alongLine-of-Sight函數(shù),同時(shí)選定速度標(biāo)尺兩端的標(biāo)記點(diǎn)以及 速度方向的參考點(diǎn)。接著,在ADAMS模型中建立輸入交互參數(shù)運(yùn)動(dòng)激勵(lì)器。將ADAMS模型中相應(yīng)的機(jī) 械約束打開(De-activate),建立運(yùn)動(dòng)輸入控制的激勵(lì)器(ADAMSActuator),將激勵(lì)力大小 設(shè)定為輸入驅(qū)動(dòng)參數(shù),則該運(yùn)動(dòng)由液壓仿真軟件提供的輸入?yún)?shù)驅(qū)動(dòng)而不受ADAMS中的約 束控制。如果一個(gè)ADAMS模型中有多個(gè)輸入驅(qū)動(dòng)參數(shù),則對應(yīng)每個(gè)參數(shù)建立一個(gè)運(yùn)動(dòng)激勵(lì) 器,但是必須保證不能有冗余約束。比如,若同一運(yùn)動(dòng)方向上有5個(gè)油缸驅(qū)動(dòng)系統(tǒng)運(yùn)動(dòng),則 這只需要在這5個(gè)運(yùn)動(dòng)激勵(lì)器中的一個(gè)設(shè)置運(yùn)動(dòng)方向的約束即可,其他4個(gè)運(yùn)動(dòng)激勵(lì)器的 運(yùn)動(dòng)約束設(shè)定為自由。最后,將ADAMS的輸入/輸出交互參數(shù)以及仿真步長等參數(shù)打包,導(dǎo)出為一個(gè) Control Plant文件,作為與中間件通訊的媒介。中間件管理層根據(jù)聯(lián)動(dòng)仿真步長與ADAMS仿真步長決定通信接口模塊從ADAMS Control Plant中采樣的間隔。在采樣時(shí)間點(diǎn)將ADAMS機(jī)械聯(lián)動(dòng)參數(shù)從Control Plant中 采樣并打包成第一接收數(shù)據(jù)包Receiving Data Package (1),同時(shí)將從交互模塊獲得的液 壓聯(lián)動(dòng)參數(shù)第一接收數(shù)據(jù)包Sending Data Package (1)傳遞給ADAMS Control Plant中對 應(yīng)的接收變量。接收與發(fā)送數(shù)據(jù)包中分別是含有仿真數(shù)據(jù)生成時(shí)間節(jié)點(diǎn)信息的CReceivingData 與CSendingData類的對象,這兩個(gè)類都繼承于數(shù)據(jù)包類CDataPackage。
若通信失敗,則向中間件管理層發(fā)出通信錯(cuò)誤信息。附圖3說明了通信接口 2與Easy5聯(lián)動(dòng)仿真參數(shù)交互數(shù)據(jù)傳遞方式。也就是第二 通信接口模塊(2)與Easy5的通信(機(jī)械一液壓)通道。首先,將聯(lián)動(dòng)仿真的油缸設(shè)定為“活塞桿位置與速度輸入型”,即需要交互仿真的 油缸的活塞桿的位置與速度由機(jī)械聯(lián)動(dòng)參數(shù)決定,而液壓系統(tǒng)仿真軟件負(fù)責(zé)仿真得到聯(lián)動(dòng) 油缸的輸出驅(qū)動(dòng)力大小。接著,在Easy5中導(dǎo)出一個(gè)dll動(dòng)態(tài)鏈接庫文件作為接口模塊2與Easy5模型通 信的中間文件,導(dǎo)出時(shí)選擇聯(lián)動(dòng)仿真的油缸的活塞桿位置、活塞桿速度以及油缸輸出力作 為 Easy5 的外部系統(tǒng)變量(External System Variable)。中間件管理層根據(jù)聯(lián)動(dòng)仿真步長與Easy5仿真步長決定通信接口模塊從Easy5的 dll中采樣的間隔。在采樣時(shí)間點(diǎn)將Easy5液壓聯(lián)動(dòng)參數(shù)從dll文件中采樣并打包成第二 接收數(shù)據(jù)包Receiving Data Package (2),同時(shí)將從交互模塊獲得的機(jī)械聯(lián)動(dòng)參數(shù)第二發(fā) 送數(shù)據(jù)包Sending Data Package (2)傳遞給dll文件中對應(yīng)的接收變量。接收與發(fā)送數(shù)據(jù)包中分別是含有時(shí)間信息的CReceivingData與CSendingData類 的對象,這兩個(gè)類都繼承于數(shù)據(jù)包類⑶ataPackage。若通信失敗,則向中間件管理層發(fā)出通信錯(cuò)誤信息。附圖4說明了底層的交互模塊與中間件管理層互聯(lián)關(guān)系。即,聯(lián)動(dòng)參數(shù)的適配對 應(yīng)傳遞關(guān)系。交互模塊讀取兩個(gè)接口模塊中傳遞過來的數(shù)據(jù)包,檢查對應(yīng)的時(shí)間節(jié)點(diǎn)信息后, 按照中間管理層所描述的適配對應(yīng)關(guān)系進(jìn)行交叉賦值,并轉(zhuǎn)發(fā)給對等的接口模塊,如附圖4 所示。若時(shí)間信息校驗(yàn)失敗,則向中間件管理層發(fā)出錯(cuò)誤信息。描述變量對應(yīng)關(guān)系的類為⑶ataRelations,由中間件管理層根據(jù)應(yīng)用功能實(shí)現(xiàn)層 的設(shè)置生成。描述實(shí)時(shí)仿真交互參數(shù)的類為CSimulationData,由交互模塊負(fù)責(zé)生成與管理。附圖5說明了聯(lián)動(dòng)中間件的類定義關(guān)系。其中1.時(shí)間管理類中間件管理層的CTimeManage類管理聯(lián)動(dòng)仿真的時(shí)間運(yùn)行以及ADAMS和Easy5之 間的時(shí)間同步。聯(lián)動(dòng)仿真步長應(yīng)該大于或者等于ADAMS和Easy5的仿真步長,從而使得聯(lián) 動(dòng)參數(shù)充分交互。2.錯(cuò)誤捕捉類中間件管理層的CErrorCatch類捕捉中間件各層運(yùn)行過程中的錯(cuò)誤信息并做出 相應(yīng)處理。3.應(yīng)用功能層類應(yīng)用功能實(shí)現(xiàn)層通過繼承Windows窗口句柄類CWinApp實(shí)現(xiàn)操作界面的調(diào)用。該 模塊將人機(jī)界面中接受的聯(lián)動(dòng)仿真設(shè)置賦值給中間件管理層的對應(yīng)類對象,并從中間件管 理層獲取實(shí)時(shí)交互數(shù)據(jù)并顯示出來,從而實(shí)現(xiàn)與中間件的人機(jī)對話。附圖6說明了本專利的程序流程圖。程序的初始化過程設(shè)定機(jī)液聯(lián)動(dòng)仿真的仿 真時(shí)間、仿真步長以及聯(lián)動(dòng)仿真交互參數(shù)對應(yīng)關(guān)系等參數(shù)。初始化完成后開始聯(lián)動(dòng)仿真的 循環(huán)周期首先將仿真時(shí)間向前推進(jìn)一個(gè)仿真步長;接著對每個(gè)仿真交互參數(shù)進(jìn)行判定,
10對機(jī)床動(dòng)力學(xué)參數(shù),進(jìn)行機(jī)械向液壓參數(shù)傳遞操作,從ADAMS Control Plant中采樣ADAMS 軟件的機(jī)床動(dòng)力學(xué)仿真結(jié)果,否則進(jìn)行液壓向機(jī)械參數(shù)傳遞操作,從Easy5 dll文件中采 樣Easy5軟件的液壓系統(tǒng)仿真結(jié)果;交互模塊獲取實(shí)時(shí)仿真參數(shù)后,根據(jù)設(shè)定將參數(shù)對應(yīng) 賦值;最后,將實(shí)時(shí)交互后的參數(shù)賦值給Easy5 dll文件和ADAMS Control Plant的輸入?yún)?數(shù)。當(dāng)前循環(huán)周期結(jié)束后,判斷仿真時(shí)間是否結(jié)束,結(jié)束則退出仿真,否則進(jìn)行下一個(gè)循環(huán) 周期。
權(quán)利要求
機(jī)械液壓聯(lián)動(dòng)仿真參數(shù)的實(shí)時(shí)交互方法,其特征在于,所述方法是借助于計(jì)算機(jī)聯(lián)動(dòng)仿真中間件依次按以下步驟實(shí)現(xiàn)的步驟(1),初始化,建立一個(gè)在機(jī)械液壓聯(lián)動(dòng)仿真時(shí)實(shí)時(shí)交互機(jī)床動(dòng)力學(xué)參數(shù)和液壓動(dòng)力學(xué)參數(shù)的聯(lián)動(dòng)仿真中間件,一個(gè)機(jī)床動(dòng)力學(xué)仿真軟件ADAMS模塊,以下簡稱ADAMS模塊,一個(gè)液壓動(dòng)力學(xué)仿真軟件EASY5模塊,以下簡稱EASY5模塊,在所述的ADAMS模塊中,建立有輸出類型狀態(tài)變量和用于輸入機(jī)械交互參數(shù)的運(yùn)動(dòng)激勵(lì)器,其中輸出類型狀態(tài)變量,設(shè)定為輸出到所述Easy5模塊的液壓缸活塞桿位移和活塞桿速度,是一種機(jī)械交互參數(shù),當(dāng)輸出參數(shù)為所述液壓缸活塞桿位移時(shí),參數(shù)值定義為位移量的Displacement Magnitude函數(shù),同時(shí)設(shè)定位移標(biāo)尺兩端的標(biāo)志量,當(dāng)輸出參數(shù)為所述活塞桿速度時(shí),參數(shù)值定義為位移方向的Velocityalong Line of Sight函數(shù),同時(shí)設(shè)定速度標(biāo)尺兩端的標(biāo)志點(diǎn)及速度方向的參考點(diǎn),作為運(yùn)動(dòng)激勵(lì)器驅(qū)動(dòng)參數(shù)的激勵(lì)力的大小設(shè)定為所述Easy5模塊的油缸輸出力,一個(gè)運(yùn)動(dòng)激勵(lì)器只對應(yīng)一個(gè)驅(qū)動(dòng)參數(shù),當(dāng)一個(gè)驅(qū)動(dòng)方向有多個(gè)驅(qū)動(dòng)參數(shù)時(shí),只能在一個(gè)驅(qū)動(dòng)上設(shè)定約束,所述ADAMS模塊向所述聯(lián)動(dòng)仿真中間件輸出一個(gè)Control Plant文件,其中包括所述輸入/輸出交互參數(shù),在所述Easy5模塊中,建立一個(gè)動(dòng)態(tài)鏈接庫dll文件,作為與所述聯(lián)動(dòng)仿真中間件通信的中間文件,其中包括輸出到所述ADAMS模塊的油缸輸出力,以此來決定所述油缸的活塞桿位置與速度,所述聯(lián)動(dòng)仿真中間件,包含有應(yīng)用功能實(shí)現(xiàn)層、中間件管理層和中間件功能實(shí)現(xiàn)層,其中應(yīng)用功能實(shí)現(xiàn)層,設(shè)有人機(jī)操作界面,供用戶設(shè)置包括聯(lián)動(dòng)通信步長、機(jī)械液壓聯(lián)動(dòng)仿真參數(shù)的交互關(guān)系在內(nèi)的中間件參數(shù),并以曲線形式實(shí)時(shí)顯示當(dāng)前仿真時(shí)刻下各聯(lián)動(dòng)仿真的機(jī)液交互參數(shù)的具體數(shù)值,中間件管理層,包含負(fù)責(zé)參數(shù)對應(yīng)關(guān)系管理的CDataRelation類、負(fù)責(zé)時(shí)間管理的CTimeManage類以及負(fù)責(zé)錯(cuò)誤捕捉的CErrorCatch類,其中參數(shù)對應(yīng)關(guān)系管理類CDataRelation,根據(jù)來自所述應(yīng)用功能實(shí)現(xiàn)層的機(jī)液交互參數(shù)之間的連接關(guān)系,生成用于描述包括油缸的活塞桿位移和速度在內(nèi)的機(jī)床動(dòng)力學(xué)參數(shù)和包括油缸輸出力在內(nèi)的液壓動(dòng)力參數(shù)之間的對應(yīng)關(guān)系,時(shí)間管理類CTimeManage,根據(jù)來自應(yīng)用功能實(shí)現(xiàn)層的聯(lián)動(dòng)仿真步長確定中間件從所述ADAMS模塊和Easy5模塊的采樣時(shí)間點(diǎn),所述兩個(gè)模塊的仿真步長都小于聯(lián)動(dòng)仿真步長,以保證聯(lián)動(dòng)仿真時(shí)機(jī)液交互參數(shù)的充分交互,中間件功能實(shí)現(xiàn)層,含有交互模塊、第一通信接口模塊(1)和第二通信接口模塊(2),其中交互模塊中,描述聯(lián)動(dòng)仿真實(shí)時(shí)交互參數(shù)的CSimulationData類,根據(jù)來自所述中間件管理層的參數(shù)對應(yīng)關(guān)系管理類CDataRelations類,建立包括向兩個(gè)聯(lián)動(dòng)仿真方向,包括機(jī)械向液壓方向和液壓向機(jī)械方向,的實(shí)時(shí)對應(yīng)的聯(lián)動(dòng)仿真用的機(jī)械動(dòng)力學(xué)參數(shù)和液壓動(dòng)力參數(shù)之間的具體對應(yīng)關(guān)系,第一通信接口模塊(1),負(fù)責(zé)與機(jī)床動(dòng)力學(xué)仿真軟件ADAMS之間的數(shù)據(jù)通信及數(shù)據(jù)采樣,同時(shí)又從所述交互模塊接收液壓驅(qū)動(dòng)參數(shù)并傳遞給所述的機(jī)床動(dòng)力學(xué)仿真軟件ADAMS,第二通信接口模塊(2),從液壓系統(tǒng)仿真軟件Easy5的實(shí)時(shí)仿真結(jié)果中采樣所述液壓參數(shù)并轉(zhuǎn)發(fā)給所述交互模塊,同時(shí),又從所述交互模塊接收機(jī)械動(dòng)力參數(shù)并傳遞給所述液壓液壓系統(tǒng)仿真軟件Easy5;步驟(2),在所述中間件管理層的作用下,所述聯(lián)動(dòng)仿真中間件按以下步驟實(shí)現(xiàn)機(jī)械系統(tǒng)和液壓系統(tǒng)的機(jī)液交互參數(shù)的聯(lián)動(dòng)仿真步驟(2.1),用戶通過所述應(yīng)用功能實(shí)現(xiàn)層中的人機(jī)操作界面設(shè)置聯(lián)動(dòng)仿真通信步長和聯(lián)動(dòng)仿真用的機(jī)液交互參數(shù)之間的連接關(guān)系,步驟(2.2),所述中間件管理層從所述應(yīng)用功能實(shí)現(xiàn)層輸入所述聯(lián)動(dòng)仿真用的機(jī)液交互參數(shù)之間的連接關(guān)系和聯(lián)動(dòng)仿真通信步長并且執(zhí)行步驟(2.3)和步驟(2.4),步驟(2.3),根據(jù)所述聯(lián)動(dòng)用的機(jī)液交互參數(shù)之間的連接關(guān)系生成用于描述變量對應(yīng)關(guān)系的類CDataRelations,并傳遞到所述中間件功能實(shí)現(xiàn)層的交互模塊,類CSimulationData描述機(jī)液交互參數(shù),判定并分機(jī)械向液壓方向和液壓向機(jī)械方向兩個(gè)方向進(jìn)行參數(shù)傳遞,步驟(2.4),當(dāng)步驟(2.3)中判定為液壓向機(jī)械方向參數(shù)傳遞時(shí),所述中間件管理層根據(jù)聯(lián)動(dòng)仿真步長和ADAMS仿真步長決定的采樣間隔從所述ADAMS模塊的Control Plant中采樣,把ADAMS模塊中包括油缸活塞桿位移和速度在內(nèi)的機(jī)械互動(dòng)參數(shù)打包成第一接收數(shù)據(jù)包Receiving Data Package(1),送往所述交互模塊,并傳遞到所述的Easy5模塊中,同時(shí)又把交互模塊從所述Easy5模塊中獲得的包括油缸輸出力在內(nèi)的液壓互動(dòng)參數(shù)的第一發(fā)送數(shù)據(jù)包Sending Data Package(1)傳遞給所述的ADAMS模塊的Control Plant文件,接收與發(fā)送數(shù)據(jù)包中分別是含有仿真數(shù)據(jù)包生成時(shí)間節(jié)點(diǎn)信息的CReceivingData與CSendingData類的對象,步驟(2.5),當(dāng)步驟(2.3)中判定為機(jī)械向液壓方向參數(shù)傳遞時(shí),所述中間件管理層根據(jù)聯(lián)動(dòng)仿真步長和Easy5仿真步長決定的采樣間隔從所述dll文件中采樣,把包括油缸輸出力在內(nèi)的液壓互動(dòng)參數(shù)打包成第二接收數(shù)據(jù)包Receiving Data Package(2),通過所述交互模塊傳遞給所述ADAMS模塊的Control Plant中間文件,同時(shí)把交互模塊從所述ADAMS模塊中獲得的包括油缸活塞桿位移和速度在內(nèi)的機(jī)液互動(dòng)參數(shù)的第二發(fā)送數(shù)據(jù)包Sending Data Package(2)傳遞給所述的dll文件,接收與發(fā)送數(shù)據(jù)包中分別是含有仿真數(shù)據(jù)生成時(shí)間節(jié)點(diǎn)信息的CReceivingData與CSendingData類的對象。
全文摘要
機(jī)械液壓聯(lián)動(dòng)仿真參數(shù)的實(shí)時(shí)交互方法屬于機(jī)電一體化技術(shù)領(lǐng)域,其特征在于,基于機(jī)床動(dòng)力學(xué)仿真軟件(如ADAMS)和液壓動(dòng)力仿真軟件(如Easy5),在聯(lián)動(dòng)仿真中間件的作用下,依次通過其設(shè)有人機(jī)界面的應(yīng)用功能實(shí)現(xiàn)層,設(shè)有時(shí)間管理指令、用以確定機(jī)械液壓交互參數(shù)關(guān)系的數(shù)據(jù)管理指令和錯(cuò)誤捕獲指令的中間管理層,以及包含交互模塊和接口模塊的中間件功能層,根據(jù)設(shè)定的聯(lián)動(dòng)仿真步長和仿真時(shí)間在機(jī)床動(dòng)力學(xué)軟件與液壓動(dòng)力仿真軟件之間實(shí)現(xiàn)油缸活塞桿位置、速度以及輸出力等參數(shù)的實(shí)時(shí)交互,從而實(shí)現(xiàn)了機(jī)液液壓系統(tǒng)的聯(lián)動(dòng)仿真。
文檔編號G06F17/50GK101908089SQ201010239809
公開日2010年12月8日 申請日期2010年7月28日 優(yōu)先權(quán)日2010年7月28日
發(fā)明者李宛洲, 楊峰, 王京春, 鄒國斌 申請人:清華大學(xué)