雷英棟
【摘要】本文介紹了SQLite數(shù)據(jù)庫(kù)的體系機(jī)構(gòu)和技術(shù)特點(diǎn),結(jié)合虛擬現(xiàn)實(shí)環(huán)境實(shí)時(shí)動(dòng)力學(xué)仿真平臺(tái)對(duì)模型進(jìn)行動(dòng)力學(xué)仿真所需信息的要求,建立綜合傳動(dòng)裝置模型數(shù)據(jù)庫(kù)。通過(guò)調(diào)用SQLite的API函數(shù),實(shí)現(xiàn)實(shí)時(shí)動(dòng)力學(xué)仿真平臺(tái)與SQLite模型數(shù)據(jù)庫(kù)的鏈接。使用準(zhǔn)備查詢的方式,實(shí)現(xiàn)平臺(tái)對(duì)模型數(shù)據(jù)庫(kù)信息的讀取和調(diào)用,為虛擬環(huán)境下模型的自動(dòng)裝配和實(shí)時(shí)動(dòng)力學(xué)仿真奠定基礎(chǔ)。
【關(guān)鍵詞】SQLite;綜合傳動(dòng)裝置;模型數(shù)據(jù)庫(kù);實(shí)時(shí)動(dòng)力學(xué)仿真
中圖分類號(hào): TP311.13 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 2095-2457(2018)30-0209-002
DOI:10.19694/j.cnki.issn2095-2457.2018.30.092
Development of a Real-time Dynamics Simulation Platform Model Database based on SQLite
LEI Ying-dong
(Jiaxing Vocational Technical College,Jiaxing Zhejiang 314036,China)
【Abstract】This paper introduces the system structure and technical characteristics of SQLite database,and establishes the comprehensive transmission model database by combining with the requirement of the real-time dynamic simulation platform of virtual reality environment for the model dynamic simulation.The real time dynamic simulation platform is connected to the SQLite model database by calling the API function of SQLite.The platform can read and invoke the information of the model database by means of the prepared query,which lays a foundation for the automatic assembly and real-time dynamic simulation of the model in the virtual environment.
【Key words】SQLite;Comprehensive transmission;Model database;Real-time dynamic simulation
0 前言
傳統(tǒng)的對(duì)車(chē)輛綜合傳動(dòng)裝置的動(dòng)力學(xué)研究,針對(duì)的主要是子系統(tǒng)或者零部件的動(dòng)力學(xué)模型的建立和求解,不涉及虛擬裝配的內(nèi)容,更不具備實(shí)時(shí)性和交互性等特點(diǎn)。基于虛擬裝配的實(shí)時(shí)動(dòng)力學(xué)仿真,除了考慮逼真的場(chǎng)景模型,還需要對(duì)綜合傳動(dòng)裝置進(jìn)行準(zhǔn)確的動(dòng)力學(xué)建模,該模型需要包含如零件幾何信息、基本物理屬性信息等多種信息,以滿足動(dòng)力學(xué)模型的準(zhǔn)確性,從而能夠?qū)崿F(xiàn)綜合傳動(dòng)裝置在實(shí)時(shí)動(dòng)力學(xué)仿真平臺(tái)下進(jìn)行實(shí)時(shí)動(dòng)力學(xué)仿真。
1 SQLite數(shù)據(jù)庫(kù)介紹
SQLite是由D.Richard Hipp采用C語(yǔ)言編寫(xiě)的一款開(kāi)源的、輕量級(jí)的、跨平臺(tái)的、嵌入式的關(guān)系型數(shù)據(jù)庫(kù)。它支持大部分SQL92標(biāo)準(zhǔn)(比如視圖、事務(wù)、觸發(fā)器、BLOB數(shù)據(jù)類型等),支持弱類型數(shù)據(jù)存儲(chǔ)。它的開(kāi)發(fā)在省去了專用于關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)的日常費(fèi)用的同時(shí),同樣可以為應(yīng)用軟件提供方便的數(shù)據(jù)管理。
SQLite擁有一個(gè)簡(jiǎn)潔的、模塊化的體系結(jié)構(gòu),并引進(jìn)了一些獨(dú)特的方法進(jìn)行關(guān)系型數(shù)據(jù)庫(kù)的管理。它由3個(gè)子系統(tǒng)中的8個(gè)獨(dú)立的模塊組成,如圖1所示。這個(gè)模塊將查詢過(guò)程劃分為幾個(gè)獨(dú)立的任務(wù)。在體系結(jié)構(gòu)棧的頂部編譯查詢語(yǔ)句,在中部執(zhí)行,在底部處理存儲(chǔ)并與操作系統(tǒng)交互。
SQLite具有如下特點(diǎn):(1)源代碼開(kāi)放,移植擴(kuò)展性好。(2)功能完善,自由共享。(3)簡(jiǎn)單易用,可靠性好。(4)字段創(chuàng)建無(wú)數(shù)據(jù)類型的限制。
2 實(shí)時(shí)動(dòng)力學(xué)仿真平臺(tái)
實(shí)時(shí)動(dòng)力學(xué)仿真平臺(tái)是基于MFC、Vortex、OSG開(kāi)發(fā)的,針對(duì)綜合傳動(dòng)裝置模型,在虛擬環(huán)境下能夠進(jìn)行實(shí)時(shí)動(dòng)力學(xué)仿真分析的一個(gè)平臺(tái)。該平臺(tái)實(shí)現(xiàn)的功能如下:綜合傳動(dòng)裝置的虛擬裝配,建立準(zhǔn)確真實(shí)的綜合傳動(dòng)裝置動(dòng)力學(xué)模型,對(duì)綜合傳動(dòng)裝置進(jìn)行實(shí)時(shí)交互的動(dòng)力學(xué)仿真。同時(shí)該平臺(tái)應(yīng)具有良好的開(kāi)放性,方便后續(xù)對(duì)不同型號(hào)綜合傳動(dòng)裝置模型的添加。
實(shí)時(shí)動(dòng)力學(xué)仿真平臺(tái)總體架構(gòu)如圖2所示:
在該平臺(tái)下,為了完成對(duì)綜合傳動(dòng)裝置的虛擬裝配以及準(zhǔn)確真實(shí)的實(shí)時(shí)動(dòng)力學(xué)仿真,需要建立包含多種信息,如零件幾何信息、拓?fù)湫畔ⅰ哟谓Y(jié)構(gòu)信息、裝配約束信息、基本物理屬性信息、工程設(shè)計(jì)信息等的實(shí)時(shí)動(dòng)力學(xué)仿真模型。這些信息通過(guò)Pro/E軟件的二次開(kāi)發(fā),集成SQLite數(shù)據(jù)庫(kù)來(lái)完成存儲(chǔ)和信息的傳遞。
3 實(shí)時(shí)動(dòng)力學(xué)仿真平臺(tái)模型數(shù)據(jù)庫(kù)開(kāi)發(fā)
充分運(yùn)用SQLite數(shù)據(jù)庫(kù)的功能,開(kāi)發(fā)適用于實(shí)時(shí)動(dòng)力學(xué)仿真平臺(tái)的模型數(shù)據(jù)庫(kù)。通過(guò)C-API與實(shí)時(shí)動(dòng)力學(xué)仿真平臺(tái)相連接,實(shí)現(xiàn)仿真平臺(tái)訪問(wèn)數(shù)據(jù)庫(kù),獲取零件幾何信息、基本物理屬性信息和裝配約束信息等,完成綜合傳動(dòng)裝置的虛擬裝配,保證動(dòng)力學(xué)模型的真實(shí)性。
3.1 模型數(shù)據(jù)庫(kù)體系結(jié)構(gòu)
模型數(shù)據(jù)庫(kù)采用標(biāo)準(zhǔn)的三層體系結(jié)構(gòu),由數(shù)據(jù)層、中間邏輯實(shí)現(xiàn)層(事務(wù)層)和應(yīng)用層(表示層)組成,如圖3所示。
圖3 模型信息數(shù)據(jù)庫(kù)體系結(jié)構(gòu)
數(shù)據(jù)層:存儲(chǔ)從Pro/E系統(tǒng)中讀取到的信息,包括零件幾何信息,基本物理屬性信息和裝配約束信息等。邏輯實(shí)現(xiàn)層:位于三層結(jié)構(gòu)的事務(wù)層,是整個(gè)系統(tǒng)的核心,響應(yīng)客戶端應(yīng)用程序的請(qǐng)求并進(jìn)行相應(yīng)處理,從數(shù)據(jù)層獲取數(shù)據(jù)再傳送給應(yīng)用程序進(jìn)行后續(xù)的設(shè)計(jì)或分析。應(yīng)用層:提供給用戶對(duì)模型數(shù)據(jù)庫(kù)進(jìn)行操作的交互界面,實(shí)時(shí)動(dòng)力學(xué)仿真平臺(tái)對(duì)數(shù)據(jù)層數(shù)據(jù)的讀取和調(diào)用。
3.2 模型數(shù)據(jù)庫(kù)信息描述
根據(jù)多屬性零件的信息結(jié)構(gòu)及綜合傳動(dòng)裝置的系統(tǒng)分類,在模型信息庫(kù)中建立型號(hào)信息表、模塊信息表、子裝配體信息表、零件信息表、約束類型信息表、零件基本物理屬性信息表、零件幾何及工程設(shè)計(jì)信息表和轉(zhuǎn)動(dòng)慣量信息表。下面以變速機(jī)構(gòu)模塊為例進(jìn)行說(shuō)明。數(shù)據(jù)表之間的相互關(guān)系通過(guò)主鍵和外鍵的建立來(lái)表示,如圖4所示。
3.3 數(shù)據(jù)表中信息的獲取
為了能夠獲取數(shù)據(jù)表中的信息,需要在VC環(huán)境下調(diào)用API連接數(shù)據(jù)庫(kù),并對(duì)數(shù)據(jù)信息進(jìn)行查詢篩選,以獲得進(jìn)行實(shí)時(shí)動(dòng)力學(xué)仿真所需的零件各類信息。SQLite提供了三種獲取表中數(shù)據(jù)的方法,分別是:①執(zhí)行查詢,回調(diào)方式獲得表中數(shù)據(jù)。②獲取表(下轉(zhuǎn)第215頁(yè))(上接第210頁(yè))查詢,獲得表中數(shù)據(jù)。③準(zhǔn)備查詢,獲得表中數(shù)據(jù)。本文采用準(zhǔn)備查詢獲得表中數(shù)據(jù),實(shí)現(xiàn)信息的傳遞。具體實(shí)現(xiàn)過(guò)程如下
首先,使用sqlite3_open()函數(shù),打開(kāi)數(shù)據(jù)庫(kù),創(chuàng)建一個(gè)連接對(duì)象;其次,使用sqlite3_prepare_v2()函數(shù),準(zhǔn)備一個(gè)statement,接收SQL語(yǔ)句,并將其編譯為虛擬數(shù)據(jù)庫(kù)引擎(VDBE)可讀的字節(jié)碼;接著,使用sqlite3_step()函數(shù),接收語(yǔ)句句柄并直接與VDBE通信,生成執(zhí)行SQL語(yǔ)句的一個(gè)有一個(gè)步驟的字節(jié)碼指令,直到游標(biāo)到達(dá)結(jié)果集末尾;完成執(zhí)行后,使用sqlite3_finalize()函數(shù),釋放資源;最后,由sqlite3_close()函數(shù)關(guān)閉數(shù)據(jù)庫(kù)連接。
4 結(jié)語(yǔ)
本文結(jié)合實(shí)時(shí)動(dòng)力學(xué)仿真平臺(tái),分析了實(shí)時(shí)動(dòng)力學(xué)仿真對(duì)模型信息的要求。同時(shí),介紹了SQLite數(shù)據(jù)庫(kù)的體系機(jī)構(gòu)和技術(shù)特點(diǎn),在此基礎(chǔ)上建立了綜合傳動(dòng)裝置模型數(shù)據(jù)庫(kù),在模型數(shù)據(jù)庫(kù)中建立了型號(hào)信息表、模塊信息表、子裝配體信息表、零件信息表、約束類型信息表、零件基本物理屬性信息表、零件幾何及工程設(shè)計(jì)信息表和轉(zhuǎn)動(dòng)慣量信息表。
通過(guò)調(diào)用SQLite的C-API函數(shù),實(shí)現(xiàn)了實(shí)時(shí)動(dòng)力學(xué)仿真平臺(tái)與SQLite模型數(shù)據(jù)庫(kù)的連接,并且使用準(zhǔn)備查詢的方式,實(shí)現(xiàn)平臺(tái)對(duì)模型數(shù)據(jù)庫(kù)信息的讀取和調(diào)用,為實(shí)現(xiàn)虛擬環(huán)境下模型的自動(dòng)裝配和實(shí)時(shí)動(dòng)力學(xué)仿真奠定了基礎(chǔ),為實(shí)時(shí)動(dòng)力學(xué)仿真提供了新思路。
【參考文獻(xiàn)】
[1]胡偉.SQLite在嵌入式系統(tǒng)上的實(shí)現(xiàn)研究[J].計(jì)算機(jī)與數(shù)字工程,2009(2),158-163.
[2](美)Grant Allen,Mike Owens.SQLite權(quán)威指南(第二版)[M]北京:電子工業(yè)出版社,2012,21-137http://www.sqlite.org,SQLite官方主頁(yè).
[3]王濤,李宏才.基于車(chē)輛傳動(dòng)系統(tǒng)虛擬裝配平臺(tái)的虛擬試驗(yàn)研究[J].機(jī)械設(shè)計(jì)與制造,2013(3):77-80.
[4]陳曉東,曹奇英.嵌入式數(shù)據(jù)庫(kù)Sqlite的遠(yuǎn)程可視化維護(hù)管理工具的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2011(8).
[5]韓善鋒,曹鳳海,易昌華.SQLite數(shù)據(jù)庫(kù)在嵌入式程序開(kāi)發(fā)中的應(yīng)用[J].物探裝備,2011,21(3):170-173.
[6]史建成,劉檢華,寧汝新,等.虛擬裝配系統(tǒng)中的模型數(shù)據(jù)管理與優(yōu)化[J].計(jì)算機(jī)集成制造系統(tǒng), 2010,16(11):2416-2422.
[7]李慎龍.基于液力變矩器的參數(shù)化設(shè)計(jì)及其虛擬裝配技術(shù)研究[D].北京:北京理工大學(xué),2006.
[8]路旋.嵌入式數(shù)據(jù)庫(kù)管理系統(tǒng)SQLite的設(shè)計(jì)與實(shí)現(xiàn)[D]. 西安電子科技大學(xué),2009.
[9]魏春雨,周曉軍,魏燕定,等.基于Vortex的6自由度平臺(tái)洗出運(yùn)動(dòng)仿真[J].浙江大學(xué)學(xué)報(bào)(工學(xué)版),2012,46(7):1390-1396.