APP下载

基于SQLite的实时动力学仿真平台模型数据库开发

2018-01-31雷英栋

科技视界 2018年30期

雷英栋

【摘要】本文介绍了SQLite数据库的体系机构和技术特点,结合虚拟现实环境实时动力学仿真平台对模型进行动力学仿真所需信息的要求,建立综合传动装置模型数据库。通过调用SQLite的API函数,实现实时动力学仿真平台与SQLite模型数据库的链接。使用准备查询的方式,实现平台对模型数据库信息的读取和调用,为虚拟环境下模型的自动装配和实时动力学仿真奠定基础。

【关键词】SQLite;综合传动装置;模型数据库;实时动力学仿真

中图分类号: TP311.13 文献标识码: A 文章编号: 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 前言

传统的对车辆综合传动装置的动力学研究,针对的主要是子系统或者零部件的动力学模型的建立和求解,不涉及虚拟装配的内容,更不具备实时性和交互性等特点。基于虚拟装配的实时动力学仿真,除了考虑逼真的场景模型,还需要对综合传动装置进行准确的动力学建模,该模型需要包含如零件几何信息、基本物理属性信息等多种信息,以满足动力学模型的准确性,从而能够实现综合传动装置在实时动力学仿真平台下进行实时动力学仿真。

1 SQLite数据库介绍

SQLite是由D.Richard Hipp采用C語言编写的一款开源的、轻量级的、跨平台的、嵌入式的关系型数据库。它支持大部分SQL92标准(比如视图、事务、触发器、BLOB数据类型等),支持弱类型数据存储。它的开发在省去了专用于关系型数据库管理系统的日常费用的同时,同样可以为应用软件提供方便的数据管理。

SQLite拥有一个简洁的、模块化的体系结构,并引进了一些独特的方法进行关系型数据库的管理。它由3个子系统中的8个独立的模块组成,如图1所示。这个模块将查询过程划分为几个独立的任务。在体系结构栈的顶部编译查询语句,在中部执行,在底部处理存储并与操作系统交互。

SQLite具有如下特点:(1)源代码开放,移植扩展性好。(2)功能完善,自由共享。(3)简单易用,可靠性好。(4)字段创建无数据类型的限制。

2 实时动力学仿真平台

实时动力学仿真平台是基于MFC、Vortex、OSG开发的,针对综合传动装置模型,在虚拟环境下能够进行实时动力学仿真分析的一个平台。该平台实现的功能如下:综合传动装置的虚拟装配,建立准确真实的综合传动装置动力学模型,对综合传动装置进行实时交互的动力学仿真。同时该平台应具有良好的开放性,方便后续对不同型号综合传动装置模型的添加。

实时动力学仿真平台总体架构如图2所示:

在该平台下,为了完成对综合传动装置的虚拟装配以及准确真实的实时动力学仿真,需要建立包含多种信息,如零件几何信息、拓扑信息、层次结构信息、装配约束信息、基本物理属性信息、工程设计信息等的实时动力学仿真模型。这些信息通过Pro/E软件的二次开发,集成SQLite数据库来完成存储和信息的传递。

3 实时动力学仿真平台模型数据库开发

充分运用SQLite数据库的功能,开发适用于实时动力学仿真平台的模型数据库。通过C-API与实时动力学仿真平台相连接,实现仿真平台访问数据库,获取零件几何信息、基本物理属性信息和装配约束信息等,完成综合传动装置的虚拟装配,保证动力学模型的真实性。

3.1 模型数据库体系结构

模型数据库采用标准的三层体系结构,由数据层、中间逻辑实现层(事务层)和应用层(表示层)组成,如图3所示。

图3 模型信息数据库体系结构

数据层:存储从Pro/E系统中读取到的信息,包括零件几何信息,基本物理属性信息和装配约束信息等。逻辑实现层:位于三层结构的事务层,是整个系统的核心,响应客户端应用程序的请求并进行相应处理,从数据层获取数据再传送给应用程序进行后续的设计或分析。应用层:提供给用户对模型数据库进行操作的交互界面,实时动力学仿真平台对数据层数据的读取和调用。

3.2 模型数据库信息描述

根据多属性零件的信息结构及综合传动装置的系统分类,在模型信息库中建立型号信息表、模块信息表、子装配体信息表、零件信息表、约束类型信息表、零件基本物理属性信息表、零件几何及工程设计信息表和转动惯量信息表。下面以变速机构模块为例进行说明。数据表之间的相互关系通过主键和外键的建立来表示,如图4所示。

3.3 数据表中信息的获取

为了能够获取数据表中的信息,需要在VC环境下调用API连接数据库,并对数据信息进行查询筛选,以获得进行实时动力学仿真所需的零件各类信息。SQLite提供了三种获取表中数据的方法,分别是:①执行查询,回调方式获得表中数据。②获取表(下转第215页)(上接第210页)查询,获得表中数据。③准备查询,获得表中数据。本文采用准备查询获得表中数据,实现信息的传递。具体实现过程如下

首先,使用sqlite3_open()函数,打开数据库,创建一个连接对象;其次,使用sqlite3_prepare_v2()函数,准备一个statement,接收SQL语句,并将其编译为虚拟数据库引擎(VDBE)可读的字节码;接着,使用sqlite3_step()函数,接收语句句柄并直接与VDBE通信,生成执行SQL语句的一个有一个步骤的字节码指令,直到游标到达结果集末尾;完成执行后,使用sqlite3_finalize()函数,释放资源;最后,由sqlite3_close()函数关闭数据库连接。

4 结语

本文结合实时动力学仿真平台,分析了实时动力学仿真对模型信息的要求。同时,介绍了SQLite数据库的体系机构和技术特点,在此基础上建立了综合传动装置模型数据库,在模型数据库中建立了型号信息表、模块信息表、子装配体信息表、零件信息表、约束类型信息表、零件基本物理属性信息表、零件几何及工程设计信息表和转动惯量信息表。

通过调用SQLite的C-API函数,实现了实时动力学仿真平台与SQLite模型数据库的连接,并且使用准备查询的方式,实现平台对模型数据库信息的读取和调用,为实现虚拟环境下模型的自动装配和实时动力学仿真奠定了基础,为实时动力学仿真提供了新思路。

【参考文献】

[1]胡伟.SQLite在嵌入式系统上的实现研究[J].计算机与数字工程,2009(2),158-163.

[2](美)Grant Allen,Mike Owens.SQLite权威指南(第二版)[M]北京:电子工业出版社,2012,21-137http://www.sqlite.org,SQLite官方主页.

[3]王涛,李宏才.基于车辆传动系统虚拟装配平台的虚拟试验研究[J].机械设计与制造,2013(3):77-80.

[4]陈晓东,曹奇英.嵌入式数据库Sqlite的远程可视化维护管理工具的设计与实现[J].计算机应用与软件,2011(8).

[5]韩善锋,曹凤海,易昌华.SQLite数据库在嵌入式程序开发中的应用[J].物探装备,2011,21(3):170-173.

[6]史建成,刘检华,宁汝新,等.虚拟装配系统中的模型数据管理与优化[J].计算机集成制造系统, 2010,16(11):2416-2422.

[7]李慎龙.基于液力变矩器的参数化设计及其虚拟装配技术研究[D].北京:北京理工大学,2006.

[8]路旋.嵌入式数据库管理系统SQLite的设计与实现[D]. 西安电子科技大学,2009.

[9]魏春雨,周晓军,魏燕定,等.基于Vortex的6自由度平台洗出運动仿真[J].浙江大学学报(工学版),2012,46(7):1390-1396.