1 引言
隨著企業(yè)與研究機(jī)構(gòu)中信息化技術(shù)應(yīng)用的不斷深入,要求研發(fā)單位對(duì)產(chǎn)品設(shè)計(jì)生產(chǎn)具有高速、高效的響應(yīng)。在復(fù)雜機(jī)械產(chǎn)品設(shè)計(jì)過(guò)程中,需要對(duì)其各個(gè)零部件進(jìn)行運(yùn)動(dòng)規(guī)律、動(dòng)力學(xué)特性、結(jié)構(gòu)強(qiáng)度以及可靠性等多種類型的仿真分析,仿真報(bào)告通過(guò)傳統(tǒng)報(bào)表的形式對(duì)仿真計(jì)算產(chǎn)生的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)、查詢、檢查以及分析,為設(shè)計(jì)工程師提供直觀、綜合的方式來(lái)獲取有關(guān)信息,實(shí)現(xiàn)快速的產(chǎn)品設(shè)計(jì)改型和資源配置優(yōu)化。
復(fù)雜機(jī)械產(chǎn)品的仿真分析過(guò)程中,會(huì)產(chǎn)生大量的、形式各異的數(shù)據(jù),常見(jiàn)的數(shù)據(jù)有:幾何模型與結(jié)構(gòu)參數(shù)、網(wǎng)格模型、載荷工況、邊界條件、計(jì)算結(jié)果等,仿真結(jié)束后這些數(shù)據(jù)都會(huì)成為仿真報(bào)告的重要組成部分。在一些仿真分析軟件中,雖然都有自帶的報(bào)告生成工具,如ANSYS、ADAMS等,但所生成的報(bào)告只是針對(duì)單一計(jì)算條件的分析結(jié)果,這種單工況報(bào)告不能給決策者提供全局信息;此外,商業(yè)軟件由于設(shè)計(jì)開(kāi)發(fā)公司和團(tuán)隊(duì)的不同使得其自帶報(bào)告存在信息壁壘,無(wú)法實(shí)現(xiàn)有效整合。實(shí)際上,仿真分析人員一般都通過(guò)二次挖掘數(shù)據(jù)、設(shè)計(jì)表格、寫(xiě)說(shuō)明文字等步驟重新完成報(bào)告的撰寫(xiě),如何從海量數(shù)據(jù)中獲取有用信息并實(shí)現(xiàn)有效、準(zhǔn)確重組成為仿真分析人員的重要工作。因此,能夠快速、準(zhǔn)確查詢數(shù)據(jù),研究能夠進(jìn)行多維度數(shù)據(jù)分析的性能仿真報(bào)告管理體系對(duì)于縮短研發(fā)周期、提供有效決策顯得尤為重要。
將J2EE與Ajax(Asynchronous JavaScript and XML)相結(jié)合,采用關(guān)系數(shù)據(jù)庫(kù)與Java內(nèi)容倉(cāng)庫(kù)聯(lián)合工作機(jī)制,構(gòu)建基于SOA(Service-Oriented Architecture)的復(fù)雜機(jī)械產(chǎn)品性能仿真報(bào)告管理系統(tǒng)技術(shù)架構(gòu)。通過(guò)分析性能仿真報(bào)告的內(nèi)容并進(jìn)行分類,利用商業(yè)智能報(bào)表工具BIRT(Business Intelligence and Reponing Tools),實(shí)現(xiàn)仿真報(bào)告系統(tǒng)基于Web的應(yīng)用,提供一個(gè)可操作、易使用的報(bào)告設(shè)計(jì)環(huán)境,進(jìn)一步提升企業(yè)在機(jī)械產(chǎn)品設(shè)計(jì)方面的信息自動(dòng)化程度。
2 建立仿真報(bào)告管理系統(tǒng)的關(guān)鍵技術(shù)
2.1 面向服務(wù)的體系架構(gòu)
面向服務(wù)架構(gòu)SOA是指為了解決在Internet及分布式環(huán)境下業(yè)務(wù)集成的需要,通過(guò)連接能完成特定任務(wù)的獨(dú)立功能實(shí)體的一種軟件系統(tǒng)架構(gòu)。SOA是一個(gè)組件模型,它將應(yīng)用程序的不同功能單元通過(guò)良好的接口和契約聯(lián)系起來(lái)。接口是采用中立的方式進(jìn)行定義的,它應(yīng)該獨(dú)立于實(shí)現(xiàn)服務(wù)的硬件平臺(tái)、操作系統(tǒng)和編程語(yǔ)言。這使得構(gòu)建在各種這樣的系統(tǒng)中的服務(wù)可以以一種統(tǒng)一和通用的方式進(jìn)行交互。
SOA通過(guò)發(fā)布或可發(fā)現(xiàn)的接口,給客戶端用戶程序或其他服務(wù)程序提供服務(wù),實(shí)際上是服務(wù)的集合。這些服務(wù)相互通信,可以是簡(jiǎn)單數(shù)據(jù)的交互,也可以是兩個(gè)或多個(gè)服務(wù)的協(xié)作。Web服務(wù)(Websewices)是描述—組操作的接口,這些操作可以通過(guò)標(biāo)準(zhǔn)的XML消息訪問(wèn)!獋(gè)Weh服務(wù)執(zhí)行一個(gè)或一組特定的任務(wù)。Web服務(wù)用—套標(biāo)準(zhǔn)的XML注釋描述,稱為服務(wù)描述。它說(shuō)明了與服務(wù)交互所需的所有細(xì)節(jié),包括消息格式,傳輸協(xié)議及位置。
2.2 商業(yè)智能報(bào)表工具BIRT
BIRT是一款具有代表性的開(kāi)源報(bào)表設(shè)計(jì)軟件,其功能集中在從數(shù)據(jù)源提取數(shù)據(jù)、處理數(shù)據(jù)并顯示數(shù)據(jù)。BIRT以ROM(ReporL Object Model)作為基礎(chǔ)模型,主要用在基于Java與J2EE的Web應(yīng)用程序上。BIRT最核心的部分是各種引擎,BIRT基于引擎實(shí)現(xiàn)報(bào)表的創(chuàng)建,如圖1所示。BIRT主要包括報(bào)表設(shè)計(jì)引擎(Design Engine)、報(bào)表引擎(Report Engine)、圖表引擎(Chart engine)、腳本引擎(Scriptengine)、數(shù)據(jù)引擎(Dataengine)等。其中報(bào)表設(shè)計(jì)引擎主要用于生成—個(gè)報(bào)表設(shè)計(jì)文件,支持報(bào)表設(shè)計(jì)器,保存報(bào)表設(shè)計(jì)器的結(jié)果;報(bào)表引擎包括報(bào)表生成引擎和報(bào)表展示引擎兩部分,即通過(guò)讀取制定的文件運(yùn)行并實(shí)施報(bào)表,然后根據(jù)讀取的數(shù)據(jù)將報(bào)表輸出,起到生成展示的作用;報(bào)表展示引擎能夠提供HTML與PDF兩種標(biāo)準(zhǔn)報(bào)告,也可以自定不同格式的報(bào)告。圖表引擎則主要應(yīng)用于圖表的創(chuàng)建及一些相關(guān)的操作;數(shù)據(jù)引擎主要完成獲取數(shù)據(jù)和數(shù)據(jù)轉(zhuǎn)換工作。
圖1 BIRT組件及其關(guān)系圖
2.3 信息管理系統(tǒng)
在復(fù)雜機(jī)械產(chǎn)品的仿真過(guò)程中,產(chǎn)生結(jié)構(gòu)化數(shù)據(jù)同時(shí)也伴隨有大量的非結(jié)構(gòu)或半結(jié)構(gòu)化信息,如文字、網(wǎng)頁(yè)、圖片、音頻視頻等。結(jié)構(gòu)化數(shù)據(jù)可以通過(guò)目前主流的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行管理,半結(jié)構(gòu)化信息既可轉(zhuǎn)化處理也有專用數(shù)據(jù)庫(kù),采用最近較為廣泛應(yīng)用的Java內(nèi)容倉(cāng)庫(kù)能夠解決非結(jié)構(gòu)化信息的管理問(wèn)題。因此數(shù)據(jù)管理系統(tǒng)由數(shù)據(jù)庫(kù)和內(nèi)容倉(cāng)庫(kù)兩部分構(gòu)成,其中數(shù)據(jù)庫(kù)對(duì)用戶信息、流程信息、仿真組件信息和系統(tǒng)環(huán)境信息進(jìn)行存儲(chǔ)管理;內(nèi)容倉(cāng)庫(kù)對(duì)仿真元數(shù)據(jù)和仿真結(jié)果數(shù)據(jù)文件進(jìn)行存儲(chǔ)管理。
Java內(nèi)容倉(cāng)庫(kù)是—個(gè)高級(jí)的信息管理系統(tǒng),該系統(tǒng)是傳統(tǒng)的數(shù)據(jù)倉(cāng)庫(kù)的擴(kuò)展,它提供了相應(yīng)的內(nèi)容服務(wù)包括版本控制、全文檢索、內(nèi)容分類、訪問(wèn)控制、內(nèi)容事件監(jiān)視等。Java內(nèi)容倉(cāng)庫(kù)模型是一個(gè)樹(shù)狀緒構(gòu),樹(shù)上的元素分為兩類:節(jié)點(diǎn)(node)和屬性(property)。倉(cāng)庫(kù)模型是由單一內(nèi)容倉(cāng)庫(kù)構(gòu)成,有—個(gè)或多個(gè)工作區(qū)。每個(gè)工作區(qū)都包含—個(gè)項(xiàng)目樹(shù),項(xiàng)目用節(jié)點(diǎn)的方式來(lái)表達(dá),節(jié)點(diǎn)可以有零個(gè)或多個(gè)子節(jié)點(diǎn)以及零個(gè)或多個(gè)相關(guān)屬性,每個(gè)屬性有且僅有—個(gè)父節(jié)點(diǎn),不能有子元素,而實(shí)際的內(nèi)容保存在節(jié)點(diǎn)的屬性中。這種樹(shù)狀結(jié)構(gòu)的特點(diǎn),非常有利于機(jī)械產(chǎn)品性能仿真結(jié)果通過(guò)節(jié)點(diǎn)屬性逐層展現(xiàn),同時(shí)也能夠利用節(jié)點(diǎn)存儲(chǔ)較大規(guī)模的計(jì)算結(jié)果文件。
3 基于SOA的復(fù)雜機(jī)械產(chǎn)品性能仿真報(bào)告管理系統(tǒng)
3.1 復(fù)雜機(jī)械產(chǎn)品性能仿真報(bào)告設(shè)計(jì)
為了設(shè)計(jì)出符合機(jī)械產(chǎn)品性能仿真的報(bào)告管理系統(tǒng),需要針對(duì)報(bào)告的內(nèi)容形式進(jìn)行具體的設(shè)計(jì)。在不同的研究所、企業(yè)都有—套行業(yè)或部門(mén)通用的文檔標(biāo)準(zhǔn)規(guī)范。比如表頭和內(nèi)容書(shū)寫(xiě)順序,此時(shí)可以利用BIRT的手動(dòng)生成功能進(jìn)行詳細(xì)的格式和內(nèi)容定義!┫到y(tǒng)信息如軟件版本、操作人、操作時(shí)間,以及性能仿真的類型等基本信息已經(jīng)存儲(chǔ)在關(guān)系數(shù)據(jù)庫(kù)中,生成報(bào)告時(shí)可以自動(dòng)提取。而對(duì)于大塊的性能仿真內(nèi)容,則可以通過(guò)信息的分類進(jìn)行模塊化的處理。
對(duì)于常用的性能仿真報(bào)告可以進(jìn)行一個(gè)大體的劃分:原始模型信息、仿真模型信息、仿真邊界條件信息、仿真結(jié)果。原始模型信息實(shí)際上是由CAD提供的,給出模型的幾何信息、單位制、坐標(biāo)系等仿真必需的信息。此外,為了保證任務(wù)的可追溯還需要采集軟件版本、軟件操作人和操作時(shí)間等系統(tǒng)信息。仿真模型信息主要包括建立模型時(shí)的相關(guān)信息,如單元類型、材料屬性、環(huán)境屬性等。仿真邊界條件信息包括各零件約束關(guān)系、載荷條件等。仿真結(jié)果包括計(jì)算輸出的過(guò)程文件、應(yīng)力應(yīng)變、位移、速度、加速度等數(shù)據(jù)圖形結(jié)果。性能仿真報(bào)告需要將以上信息進(jìn)行整合,為決策者提供一個(gè)能給出有效評(píng)估參考意見(jiàn)的文檔。
根據(jù)以上四大類信息的劃分,可以設(shè)計(jì)出性能仿真報(bào)告的基本格式,限于篇幅僅列出主要內(nèi)容,如表1所示。四大類信息又根據(jù)數(shù)據(jù)類型的不同劃分為模型信息、模型圖、模型描述。用戶在生成報(bào)告時(shí),主要對(duì)這幾類信息進(jìn)行適當(dāng)取舍(采用勾選方式),以形成所需的性能仿真報(bào)告。如對(duì)原始模型信息中的模型信息內(nèi)容進(jìn)行勾選,相對(duì)應(yīng)的零件名稱、密度、質(zhì)量等信息就將被選中。在勾選模型圖后,還可以適當(dāng)添加相關(guān)的描述信息便于用戶理解。
表1 性能仿真報(bào)告的基本內(nèi)容
3.2 基于SOA的復(fù)雜機(jī)械產(chǎn)品性能仿真報(bào)告管理系統(tǒng)架構(gòu)
基于SOA的機(jī)械產(chǎn)品性能仿真報(bào)告管理系統(tǒng)架構(gòu)如圖2所示。用戶通過(guò)仿真門(mén)戶(Portal)可視化界面對(duì)報(bào)告創(chuàng)建系統(tǒng)發(fā)出創(chuàng)建報(bào)告的命令。報(bào)告創(chuàng)建系統(tǒng)中的報(bào)表引擎根據(jù)命令調(diào)用表模板庫(kù)中相應(yīng)的模板,并根據(jù)模板從仿真數(shù)據(jù)庫(kù)中提取相應(yīng)的仿真數(shù)據(jù),產(chǎn)生XML報(bào)表文件并把文件傳遞給仿真門(mén)戶,通過(guò)仿真門(mén)戶處理后以PDF、Word或者HTML格式等輸出各種仿真對(duì)象的報(bào)告。
圖2 產(chǎn)品性能仿真報(bào)告管理系統(tǒng)架構(gòu)圖
產(chǎn)品性能仿真報(bào)告管理系統(tǒng)由Web層J2EE服務(wù)層和數(shù)據(jù)服務(wù)層構(gòu)成。Weh層頁(yè)面由HTML+CSS實(shí)現(xiàn),同時(shí)使用Ajax技術(shù)來(lái)具體實(shí)現(xiàn)Web瀏覽器端的動(dòng)態(tài)顯示及交互動(dòng)作。J2EE服務(wù)層是連接客戶端與數(shù)據(jù)庫(kù)的橋梁,該層封裝了報(bào)告管理服務(wù)、數(shù)據(jù)管理服務(wù)以及各類工作引擎。結(jié)合Hibemate的輕量級(jí)ORM(Object Relational Mapping)模型進(jìn)行數(shù)據(jù)持久化,利用DAO(Database Access Object)接口與CAO(Content Access Object)接口通過(guò)JDBC與JCR訪問(wèn)數(shù)據(jù)庫(kù),保證系統(tǒng)的安全性能。數(shù)據(jù)庫(kù)管理系統(tǒng)便用MySQL服務(wù)器和Jackrabbit服務(wù)器。整個(gè)技術(shù)架構(gòu)通過(guò)后臺(tái)程序處理把創(chuàng)建報(bào)告所需的數(shù)據(jù)源的建立、數(shù)據(jù)集的選取、報(bào)告基本版式與格式的選擇等幾個(gè)步驟進(jìn)行了封裝,讓用戶只需要簡(jiǎn)單地選擇或者填寫(xiě)一些參數(shù)與文本就能自動(dòng)生成相應(yīng)的仿真報(bào)告。
4 復(fù)雜機(jī)械產(chǎn)品性能仿真報(bào)告管理系統(tǒng)的應(yīng)用
選取某型導(dǎo)彈彈射裝置在協(xié)同仿真環(huán)境中進(jìn)行分析,該裝置系統(tǒng)較為復(fù)雜,包含許多典型機(jī)械零件。整個(gè)設(shè)計(jì)過(guò)程涉及多學(xué)科仿真,包括結(jié)構(gòu)靜力學(xué)與動(dòng)力學(xué)、多體動(dòng)力學(xué)與運(yùn)動(dòng)學(xué),其性能仿真報(bào)告具有一定代表性。在生成詳細(xì)性能仿真報(bào)告前,采用級(jí)聯(lián)菜單形式用戶可以直接選擇關(guān)系數(shù)據(jù)庫(kù)中已經(jīng)存儲(chǔ)完備的系統(tǒng)信息,包括項(xiàng)目、仿真分析類型、分析對(duì)象以及單個(gè)或多個(gè)工況的選擇。由于基本參數(shù)來(lái)源于關(guān)系數(shù)據(jù)庫(kù),能夠保證獲得較快的數(shù)據(jù)讀取速度。所有報(bào)告內(nèi)容的選項(xiàng)都與關(guān)系數(shù)據(jù)庫(kù)保持相同的結(jié)構(gòu),每級(jí)菜單的選項(xiàng)都與上級(jí)菜單關(guān)聯(lián),實(shí)現(xiàn)報(bào)告內(nèi)容的動(dòng)態(tài)級(jí)聯(lián)。
生成報(bào)告時(shí)用戶選擇項(xiàng)目、仿真分析類型、分析對(duì)象等基本信息后,客戶端將向服務(wù)器發(fā)送一個(gè)請(qǐng)求,服務(wù)器根據(jù)所選的這些參數(shù)從Java內(nèi)容倉(cāng)庫(kù)讀出相應(yīng)的內(nèi)容,以XML格式返回相應(yīng)的內(nèi)容,然后由客戶端的JavaScript進(jìn)行XML文檔的處理并以一定的格式組織好,通過(guò)Web頁(yè)面給出創(chuàng)建報(bào)告命令,系統(tǒng)會(huì)調(diào)用BIRT引擎,根據(jù)參數(shù)創(chuàng)建出相應(yīng)的性能仿真報(bào)告。圖3(a)為單工況下的詳細(xì)性能仿真報(bào)告,所顯示的相關(guān)內(nèi)容包括仿真過(guò)程中存儲(chǔ)在關(guān)系數(shù)據(jù)庫(kù)中的結(jié)構(gòu)化信息以及存儲(chǔ)在內(nèi)容倉(cāng)庫(kù)節(jié)點(diǎn)中的圖片信息。報(bào)告管理系統(tǒng)通過(guò)關(guān)系數(shù)據(jù)庫(kù)獲得仿真任務(wù)信息,經(jīng)由仿真任務(wù)信息獲取內(nèi)容倉(cāng)庫(kù)中的屬性節(jié)點(diǎn)。由于圖幅所限僅列出了仿真模型的相關(guān)信息,包括材料的牌號(hào)、彈性摸量、密度、泊松比,以及進(jìn)行有限元?jiǎng)澐植捎玫膯卧愋、單元?shù)量以及節(jié)點(diǎn)數(shù)量等。圖3(b)為多工況對(duì)比報(bào)告的載荷分配情況,數(shù)據(jù)對(duì)比圖由圖表引擎自動(dòng)生成。通過(guò)這種對(duì)比報(bào)告的結(jié)果,仿真分析人員能夠很快的獲得決策輔助信息,從而為進(jìn)一步改型設(shè)計(jì)提供有益幫助。
圖3 自動(dòng)生成的性能仿真報(bào)告
5 結(jié)論
通過(guò)對(duì)復(fù)雜機(jī)械產(chǎn)品性能仿真過(guò)程中各類數(shù)據(jù)信息的特點(diǎn)進(jìn)行分析和分類,構(gòu)建了面向復(fù)雜機(jī)械產(chǎn)品基于SOA的性能仿真報(bào)告管理系統(tǒng)技術(shù)架構(gòu)。整個(gè)管理系統(tǒng)采用關(guān)系數(shù)據(jù)庫(kù)與Java內(nèi)容倉(cāng)庫(kù)協(xié)同的數(shù)據(jù)管理系統(tǒng),既能保證結(jié)構(gòu)數(shù)據(jù)的快速存取又能管理種類繁多的非結(jié)構(gòu)化數(shù)據(jù)。利用智能商業(yè)報(bào)表BIRT引擎封裝創(chuàng)建報(bào)告步驟,通道Web瀏覽器自動(dòng)生成單工況詳細(xì)報(bào)告和多工況對(duì)比報(bào)告。最后,通過(guò)對(duì)某型導(dǎo)彈彈射裝置多學(xué)科性能仿真分析報(bào)告的創(chuàng)建表明了解決方案的有效性與實(shí)用性。
隨著機(jī)械產(chǎn)品設(shè)計(jì)模式的不斷轉(zhuǎn)變,數(shù)字化信息管理技術(shù)的大量應(yīng)用將為提高產(chǎn)品質(zhì)量、縮短產(chǎn)品設(shè)計(jì)生產(chǎn)周期做出重要的貢獻(xiàn)。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:復(fù)雜機(jī)械產(chǎn)品性能仿真報(bào)告管理系統(tǒng)研究