1 引言
随着企业与研究机构中信息化技术应用的不断深入,要求研发单位对产品设计生产具有高速、高效的响应。在复杂机械产品设计过程中,需要对其各个零部件进行运动规律、动力学特性、结构强度以及可靠性等多种类型的仿真分析,仿真报告通过传统报表的形式对仿真计算产生的数据进行统计、查询、检查以及分析,为设计工程师提供直观、综合的方式来获取有关信息,实现快速的产品设计改型和资源配置优化。
复杂机械产品的仿真分析过程中,会产生大量的、形式各异的数据,常见的数据有:几何模型与结构参数、网格模型、载荷工况、边界条件、计算结果等,仿真结束后这些数据都会成为仿真报告的重要组成部分。在一些仿真分析软件中,虽然都有自带的报告生成工具,如ANSYS、ADAMS等,但所生成的报告只是针对单一计算条件的分析结果,这种单工况报告不能给决策者提供全局信息;此外,商业软件由于设计开发公司和团队的不同使得其自带报告存在信息壁垒,无法实现有效整合。实际上,仿真分析人员一般都通过二次挖掘数据、设计表格、写说明文字等步骤重新完成报告的撰写,如何从海量数据中获取有用信息并实现有效、准确重组成为仿真分析人员的重要工作。因此,能够快速、准确查询数据,研究能够进行多维度数据分析的性能仿真报告管理体系对于缩短研发周期、提供有效决策显得尤为重要。
将J2EE与Ajax(Asynchronous JavaScript and XML)相结合,采用关系数据库与Java内容仓库联合工作机制,构建基于SOA(Service-Oriented Architecture)的复杂机械产品性能仿真报告管理系统技术架构。通过分析性能仿真报告的内容并进行分类,利用商业智能报表工具BIRT(Business Intelligence and Reponing Tools),实现仿真报告系统基于Web的应用,提供一个可操作、易使用的报告设计环境,进一步提升企业在机械产品设计方面的信息自动化程度。
2 建立仿真报告管理系统的关键技术
2.1 面向服务的体系架构
面向服务架构SOA是指为了解决在Internet及分布式环境下业务集成的需要,通过连接能完成特定任务的独立功能实体的一种软件系统架构。SOA是一个组件模型,它将应用程序的不同功能单元通过良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。
SOA通过发布或可发现的接口,给客户端用户程序或其他服务程序提供服务,实际上是服务的集合。这些服务相互通信,可以是简单数据的交互,也可以是两个或多个服务的协作。Web服务(Websewices)是描述—组操作的接口,这些操作可以通过标准的XML消息访问。—个Weh服务执行一个或一组特定的任务。Web服务用—套标准的XML注释描述,称为服务描述。它说明了与服务交互所需的所有细节,包括消息格式,传输协议及位置。
2.2 商业智能报表工具BIRT
BIRT是一款具有代表性的开源报表设计软件,其功能集中在从数据源提取数据、处理数据并显示数据。BIRT以ROM(ReporL Object Model)作为基础模型,主要用在基于Java与J2EE的Web应用程序上。BIRT最核心的部分是各种引擎,BIRT基于引擎实现报表的创建,如图1所示。BIRT主要包括报表设计引擎(Design Engine)、报表引擎(Report Engine)、图表引擎(Chart engine)、脚本引擎(Scriptengine)、数据引擎(Dataengine)等。其中报表设计引擎主要用于生成—个报表设计文件,支持报表设计器,保存报表设计器的结果;报表引擎包括报表生成引擎和报表展示引擎两部分,即通过读取制定的文件运行并实施报表,然后根据读取的数据将报表输出,起到生成展示的作用;报表展示引擎能够提供HTML与PDF两种标准报告,也可以自定不同格式的报告。图表引擎则主要应用于图表的创建及一些相关的操作;数据引擎主要完成获取数据和数据转换工作。
图1 BIRT组件及其关系图
2.3 信息管理系统
在复杂机械产品的仿真过程中,产生结构化数据同时也伴随有大量的非结构或半结构化信息,如文字、网页、图片、音频视频等。结构化数据可以通过目前主流的关系数据库系统进行管理,半结构化信息既可转化处理也有专用数据库,采用最近较为广泛应用的Java内容仓库能够解决非结构化信息的管理问题。因此数据管理系统由数据库和内容仓库两部分构成,其中数据库对用户信息、流程信息、仿真组件信息和系统环境信息进行存储管理;内容仓库对仿真元数据和仿真结果数据文件进行存储管理。
Java内容仓库是—个高级的信息管理系统,该系统是传统的数据仓库的扩展,它提供了相应的内容服务包括版本控制、全文检索、内容分类、访问控制、内容事件监视等。Java内容仓库模型是一个树状绪构,树上的元素分为两类:节点(node)和属性(property)。仓库模型是由单一内容仓库构成,有—个或多个工作区。每个工作区都包含—个项目树,项目用节点的方式来表达,节点可以有零个或多个子节点以及零个或多个相关属性,每个属性有且仅有—个父节点,不能有子元素,而实际的内容保存在节点的属性中。这种树状结构的特点,非常有利于机械产品性能仿真结果通过节点属性逐层展现,同时也能够利用节点存储较大规模的计算结果文件。
3 基于SOA的复杂机械产品性能仿真报告管理系统
3.1 复杂机械产品性能仿真报告设计
为了设计出符合机械产品性能仿真的报告管理系统,需要针对报告的内容形式进行具体的设计。在不同的研究所、企业都有—套行业或部门通用的文档标准规范。比如表头和内容书写顺序,此时可以利用BIRT的手动生成功能进行详细的格式和内容定义。—些系统信息如软件版本、操作人、操作时间,以及性能仿真的类型等基本信息已经存储在关系数据库中,生成报告时可以自动提取。而对于大块的性能仿真内容,则可以通过信息的分类进行模块化的处理。
对于常用的性能仿真报告可以进行一个大体的划分:原始模型信息、仿真模型信息、仿真边界条件信息、仿真结果。原始模型信息实际上是由CAD提供的,给出模型的几何信息、单位制、坐标系等仿真必需的信息。此外,为了保证任务的可追溯还需要采集软件版本、软件操作人和操作时间等系统信息。仿真模型信息主要包括建立模型时的相关信息,如单元类型、材料属性、环境属性等。仿真边界条件信息包括各零件约束关系、载荷条件等。仿真结果包括计算输出的过程文件、应力应变、位移、速度、加速度等数据图形结果。性能仿真报告需要将以上信息进行整合,为决策者提供一个能给出有效评估参考意见的文档。
根据以上四大类信息的划分,可以设计出性能仿真报告的基本格式,限于篇幅仅列出主要内容,如表1所示。四大类信息又根据数据类型的不同划分为模型信息、模型图、模型描述。用户在生成报告时,主要对这几类信息进行适当取舍(采用勾选方式),以形成所需的性能仿真报告。如对原始模型信息中的模型信息内容进行勾选,相对应的零件名称、密度、质量等信息就将被选中。在勾选模型图后,还可以适当添加相关的描述信息便于用户理解。
表1 性能仿真报告的基本内容
3.2 基于SOA的复杂机械产品性能仿真报告管理系统架构
基于SOA的机械产品性能仿真报告管理系统架构如图2所示。用户通过仿真门户(Portal)可视化界面对报告创建系统发出创建报告的命令。报告创建系统中的报表引擎根据命令调用表模板库中相应的模板,并根据模板从仿真数据库中提取相应的仿真数据,产生XML报表文件并把文件传递给仿真门户,通过仿真门户处理后以PDF、Word或者HTML格式等输出各种仿真对象的报告。
图2 产品性能仿真报告管理系统架构图
产品性能仿真报告管理系统由Web层J2EE服务层和数据服务层构成。Weh层页面由HTML+CSS实现,同时使用Ajax技术来具体实现Web浏览器端的动态显示及交互动作。J2EE服务层是连接客户端与数据库的桥梁,该层封装了报告管理服务、数据管理服务以及各类工作引擎。结合Hibemate的轻量级ORM(Object Relational Mapping)模型进行数据持久化,利用DAO(Database Access Object)接口与CAO(Content Access Object)接口通过JDBC与JCR访问数据库,保证系统的安全性能。数据库管理系统便用MySQL服务器和Jackrabbit服务器。整个技术架构通过后台程序处理把创建报告所需的数据源的建立、数据集的选取、报告基本版式与格式的选择等几个步骤进行了封装,让用户只需要简单地选择或者填写一些参数与文本就能自动生成相应的仿真报告。
4 复杂机械产品性能仿真报告管理系统的应用
选取某型导弹弹射装置在协同仿真环境中进行分析,该装置系统较为复杂,包含许多典型机械零件。整个设计过程涉及多学科仿真,包括结构静力学与动力学、多体动力学与运动学,其性能仿真报告具有一定代表性。在生成详细性能仿真报告前,采用级联菜单形式用户可以直接选择关系数据库中已经存储完备的系统信息,包括项目、仿真分析类型、分析对象以及单个或多个工况的选择。由于基本参数来源于关系数据库,能够保证获得较快的数据读取速度。所有报告内容的选项都与关系数据库保持相同的结构,每级菜单的选项都与上级菜单关联,实现报告内容的动态级联。
生成报告时用户选择项目、仿真分析类型、分析对象等基本信息后,客户端将向服务器发送一个请求,服务器根据所选的这些参数从Java内容仓库读出相应的内容,以XML格式返回相应的内容,然后由客户端的JavaScript进行XML文档的处理并以一定的格式组织好,通过Web页面给出创建报告命令,系统会调用BIRT引擎,根据参数创建出相应的性能仿真报告。图3(a)为单工况下的详细性能仿真报告,所显示的相关内容包括仿真过程中存储在关系数据库中的结构化信息以及存储在内容仓库节点中的图片信息。报告管理系统通过关系数据库获得仿真任务信息,经由仿真任务信息获取内容仓库中的属性节点。由于图幅所限仅列出了仿真模型的相关信息,包括材料的牌号、弹性摸量、密度、泊松比,以及进行有限元划分采用的单元类型、单元数量以及节点数量等。图3(b)为多工况对比报告的载荷分配情况,数据对比图由图表引擎自动生成。通过这种对比报告的结果,仿真分析人员能够很快的获得决策辅助信息,从而为进一步改型设计提供有益帮助。
图3 自动生成的性能仿真报告
5 结论
通过对复杂机械产品性能仿真过程中各类数据信息的特点进行分析和分类,构建了面向复杂机械产品基于SOA的性能仿真报告管理系统技术架构。整个管理系统采用关系数据库与Java内容仓库协同的数据管理系统,既能保证结构数据的快速存取又能管理种类繁多的非结构化数据。利用智能商业报表BIRT引擎封装创建报告步骤,通道Web浏览器自动生成单工况详细报告和多工况对比报告。最后,通过对某型导弹弹射装置多学科性能仿真分析报告的创建表明了解决方案的有效性与实用性。
随着机械产品设计模式的不断转变,数字化信息管理技术的大量应用将为提高产品质量、缩短产品设计生产周期做出重要的贡献。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:复杂机械产品性能仿真报告管理系统研究