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