1 引言
隨著企業(yè)與研究機構中信息化技術應用的不斷深入,要求研發(fā)單位對產品設計生產具有高速、高效的響應。在復雜機械產品設計過程中,需要對其各個零部件進行運動規(guī)律、動力學特性、結構強度以及可靠性等多種類型的仿真分析,仿真報告通過傳統(tǒng)報表的形式對仿真計算產生的數(shù)據(jù)進行統(tǒng)計、查詢、檢查以及分析,為設計工程師提供直觀、綜合的方式來獲取有關信息,實現(xiàn)快速的產品設計改型和資源配置優(yōu)化。
復雜機械產品的仿真分析過程中,會產生大量的、形式各異的數(shù)據(jù),常見的數(shù)據(jù)有:幾何模型與結構參數(shù)、網(wǎng)格模型、載荷工況、邊界條件、計算結果等,仿真結束后這些數(shù)據(jù)都會成為仿真報告的重要組成部分。在一些仿真分析軟件中,雖然都有自帶的報告生成工具,如ANSYS、ADAMS等,但所生成的報告只是針對單一計算條件的分析結果,這種單工況報告不能給決策者提供全局信息;此外,商業(yè)軟件由于設計開發(fā)公司和團隊的不同使得其自帶報告存在信息壁壘,無法實現(xiàn)有效整合。實際上,仿真分析人員一般都通過二次挖掘數(shù)據(jù)、設計表格、寫說明文字等步驟重新完成報告的撰寫,如何從海量數(shù)據(jù)中獲取有用信息并實現(xiàn)有效、準確重組成為仿真分析人員的重要工作。因此,能夠快速、準確查詢數(shù)據(jù),研究能夠進行多維度數(shù)據(jù)分析的性能仿真報告管理體系對于縮短研發(fā)周期、提供有效決策顯得尤為重要。
將J2EE與Ajax(Asynchronous JavaScript and XML)相結合,采用關系數(shù)據(jù)庫與Java內容倉庫聯(lián)合工作機制,構建基于SOA(Service-Oriented Architecture)的復雜機械產品性能仿真報告管理系統(tǒng)技術架構。通過分析性能仿真報告的內容并進行分類,利用商業(yè)智能報表工具BIRT(Business Intelligence and Reponing Tools),實現(xiàn)仿真報告系統(tǒng)基于Web的應用,提供一個可操作、易使用的報告設計環(huán)境,進一步提升企業(yè)在機械產品設計方面的信息自動化程度。
2 建立仿真報告管理系統(tǒng)的關鍵技術
2.1 面向服務的體系架構
面向服務架構SOA是指為了解決在Internet及分布式環(huán)境下業(yè)務集成的需要,通過連接能完成特定任務的獨立功能實體的一種軟件系統(tǒng)架構。SOA是一個組件模型,它將應用程序的不同功能單元通過良好的接口和契約聯(lián)系起來。接口是采用中立的方式進行定義的,它應該獨立于實現(xiàn)服務的硬件平臺、操作系統(tǒng)和編程語言。這使得構建在各種這樣的系統(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ù)據(jù)源提取數(shù)據(jù)、處理數(shù)據(jù)并顯示數(shù)據(jù)。BIRT以ROM(ReporL Object Model)作為基礎模型,主要用在基于Java與J2EE的Web應用程序上。BIRT最核心的部分是各種引擎,BIRT基于引擎實現(xiàn)報表的創(chuàng)建,如圖1所示。BIRT主要包括報表設計引擎(Design Engine)、報表引擎(Report Engine)、圖表引擎(Chart engine)、腳本引擎(Scriptengine)、數(shù)據(jù)引擎(Dataengine)等。其中報表設計引擎主要用于生成—個報表設計文件,支持報表設計器,保存報表設計器的結果;報表引擎包括報表生成引擎和報表展示引擎兩部分,即通過讀取制定的文件運行并實施報表,然后根據(jù)讀取的數(shù)據(jù)將報表輸出,起到生成展示的作用;報表展示引擎能夠提供HTML與PDF兩種標準報告,也可以自定不同格式的報告。圖表引擎則主要應用于圖表的創(chuàng)建及一些相關的操作;數(shù)據(jù)引擎主要完成獲取數(shù)據(jù)和數(shù)據(jù)轉換工作。

圖1 BIRT組件及其關系圖
2.3 信息管理系統(tǒng)
在復雜機械產品的仿真過程中,產生結構化數(shù)據(jù)同時也伴隨有大量的非結構或半結構化信息,如文字、網(wǎng)頁、圖片、音頻視頻等。結構化數(shù)據(jù)可以通過目前主流的關系數(shù)據(jù)庫系統(tǒng)進行管理,半結構化信息既可轉化處理也有專用數(shù)據(jù)庫,采用最近較為廣泛應用的Java內容倉庫能夠解決非結構化信息的管理問題。因此數(shù)據(jù)管理系統(tǒng)由數(shù)據(jù)庫和內容倉庫兩部分構成,其中數(shù)據(jù)庫對用戶信息、流程信息、仿真組件信息和系統(tǒng)環(huán)境信息進行存儲管理;內容倉庫對仿真元數(shù)據(jù)和仿真結果數(shù)據(jù)文件進行存儲管理。
Java內容倉庫是—個高級的信息管理系統(tǒng),該系統(tǒng)是傳統(tǒng)的數(shù)據(jù)倉庫的擴展,它提供了相應的內容服務包括版本控制、全文檢索、內容分類、訪問控制、內容事件監(jiān)視等。Java內容倉庫模型是一個樹狀緒構,樹上的元素分為兩類:節(jié)點(node)和屬性(property)。倉庫模型是由單一內容倉庫構成,有—個或多個工作區(qū)。每個工作區(qū)都包含—個項目樹,項目用節(jié)點的方式來表達,節(jié)點可以有零個或多個子節(jié)點以及零個或多個相關屬性,每個屬性有且僅有—個父節(jié)點,不能有子元素,而實際的內容保存在節(jié)點的屬性中。這種樹狀結構的特點,非常有利于機械產品性能仿真結果通過節(jié)點屬性逐層展現(xiàn),同時也能夠利用節(jié)點存儲較大規(guī)模的計算結果文件。
3 基于SOA的復雜機械產品性能仿真報告管理系統(tǒng)
3.1 復雜機械產品性能仿真報告設計
為了設計出符合機械產品性能仿真的報告管理系統(tǒng),需要針對報告的內容形式進行具體的設計。在不同的研究所、企業(yè)都有—套行業(yè)或部門通用的文檔標準規(guī)范。比如表頭和內容書寫順序,此時可以利用BIRT的手動生成功能進行詳細的格式和內容定義!┫到y(tǒng)信息如軟件版本、操作人、操作時間,以及性能仿真的類型等基本信息已經存儲在關系數(shù)據(jù)庫中,生成報告時可以自動提取。而對于大塊的性能仿真內容,則可以通過信息的分類進行模塊化的處理。
對于常用的性能仿真報告可以進行一個大體的劃分:原始模型信息、仿真模型信息、仿真邊界條件信息、仿真結果。原始模型信息實際上是由CAD提供的,給出模型的幾何信息、單位制、坐標系等仿真必需的信息。此外,為了保證任務的可追溯還需要采集軟件版本、軟件操作人和操作時間等系統(tǒng)信息。仿真模型信息主要包括建立模型時的相關信息,如單元類型、材料屬性、環(huán)境屬性等。仿真邊界條件信息包括各零件約束關系、載荷條件等。仿真結果包括計算輸出的過程文件、應力應變、位移、速度、加速度等數(shù)據(jù)圖形結果。性能仿真報告需要將以上信息進行整合,為決策者提供一個能給出有效評估參考意見的文檔。
根據(jù)以上四大類信息的劃分,可以設計出性能仿真報告的基本格式,限于篇幅僅列出主要內容,如表1所示。四大類信息又根據(jù)數(shù)據(jù)類型的不同劃分為模型信息、模型圖、模型描述。用戶在生成報告時,主要對這幾類信息進行適當取舍(采用勾選方式),以形成所需的性能仿真報告。如對原始模型信息中的模型信息內容進行勾選,相對應的零件名稱、密度、質量等信息就將被選中。在勾選模型圖后,還可以適當添加相關的描述信息便于用戶理解。
表1 性能仿真報告的基本內容

3.2 基于SOA的復雜機械產品性能仿真報告管理系統(tǒng)架構
基于SOA的機械產品性能仿真報告管理系統(tǒng)架構如圖2所示。用戶通過仿真門戶(Portal)可視化界面對報告創(chuàng)建系統(tǒng)發(fā)出創(chuàng)建報告的命令。報告創(chuàng)建系統(tǒng)中的報表引擎根據(jù)命令調用表模板庫中相應的模板,并根據(jù)模板從仿真數(shù)據(jù)庫中提取相應的仿真數(shù)據(jù),產生XML報表文件并把文件傳遞給仿真門戶,通過仿真門戶處理后以PDF、Word或者HTML格式等輸出各種仿真對象的報告。

圖2 產品性能仿真報告管理系統(tǒng)架構圖
產品性能仿真報告管理系統(tǒng)由Web層J2EE服務層和數(shù)據(jù)服務層構成。Weh層頁面由HTML+CSS實現(xiàn),同時使用Ajax技術來具體實現(xiàn)Web瀏覽器端的動態(tài)顯示及交互動作。J2EE服務層是連接客戶端與數(shù)據(jù)庫的橋梁,該層封裝了報告管理服務、數(shù)據(jù)管理服務以及各類工作引擎。結合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服務器。整個技術架構通過后臺程序處理把創(chuàng)建報告所需的數(shù)據(jù)源的建立、數(shù)據(jù)集的選取、報告基本版式與格式的選擇等幾個步驟進行了封裝,讓用戶只需要簡單地選擇或者填寫一些參數(shù)與文本就能自動生成相應的仿真報告。
4 復雜機械產品性能仿真報告管理系統(tǒng)的應用
選取某型導彈彈射裝置在協(xié)同仿真環(huán)境中進行分析,該裝置系統(tǒng)較為復雜,包含許多典型機械零件。整個設計過程涉及多學科仿真,包括結構靜力學與動力學、多體動力學與運動學,其性能仿真報告具有一定代表性。在生成詳細性能仿真報告前,采用級聯(lián)菜單形式用戶可以直接選擇關系數(shù)據(jù)庫中已經存儲完備的系統(tǒng)信息,包括項目、仿真分析類型、分析對象以及單個或多個工況的選擇。由于基本參數(shù)來源于關系數(shù)據(jù)庫,能夠保證獲得較快的數(shù)據(jù)讀取速度。所有報告內容的選項都與關系數(shù)據(jù)庫保持相同的結構,每級菜單的選項都與上級菜單關聯(lián),實現(xiàn)報告內容的動態(tài)級聯(lián)。
生成報告時用戶選擇項目、仿真分析類型、分析對象等基本信息后,客戶端將向服務器發(fā)送一個請求,服務器根據(jù)所選的這些參數(shù)從Java內容倉庫讀出相應的內容,以XML格式返回相應的內容,然后由客戶端的JavaScript進行XML文檔的處理并以一定的格式組織好,通過Web頁面給出創(chuàng)建報告命令,系統(tǒng)會調用BIRT引擎,根據(jù)參數(shù)創(chuàng)建出相應的性能仿真報告。圖3(a)為單工況下的詳細性能仿真報告,所顯示的相關內容包括仿真過程中存儲在關系數(shù)據(jù)庫中的結構化信息以及存儲在內容倉庫節(jié)點中的圖片信息。報告管理系統(tǒng)通過關系數(shù)據(jù)庫獲得仿真任務信息,經由仿真任務信息獲取內容倉庫中的屬性節(jié)點。由于圖幅所限僅列出了仿真模型的相關信息,包括材料的牌號、彈性摸量、密度、泊松比,以及進行有限元劃分采用的單元類型、單元數(shù)量以及節(jié)點數(shù)量等。圖3(b)為多工況對比報告的載荷分配情況,數(shù)據(jù)對比圖由圖表引擎自動生成。通過這種對比報告的結果,仿真分析人員能夠很快的獲得決策輔助信息,從而為進一步改型設計提供有益幫助。

圖3 自動生成的性能仿真報告
5 結論
通過對復雜機械產品性能仿真過程中各類數(shù)據(jù)信息的特點進行分析和分類,構建了面向復雜機械產品基于SOA的性能仿真報告管理系統(tǒng)技術架構。整個管理系統(tǒng)采用關系數(shù)據(jù)庫與Java內容倉庫協(xié)同的數(shù)據(jù)管理系統(tǒng),既能保證結構數(shù)據(jù)的快速存取又能管理種類繁多的非結構化數(shù)據(jù)。利用智能商業(yè)報表BIRT引擎封裝創(chuàng)建報告步驟,通道Web瀏覽器自動生成單工況詳細報告和多工況對比報告。最后,通過對某型導彈彈射裝置多學科性能仿真分析報告的創(chuàng)建表明了解決方案的有效性與實用性。
隨著機械產品設計模式的不斷轉變,數(shù)字化信息管理技術的大量應用將為提高產品質量、縮短產品設計生產周期做出重要的貢獻。
核心關注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務領域、行業(yè)應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業(yè)務領域的管理,全面涵蓋了企業(yè)關注ERP管理系統(tǒng)的核心領域,是眾多中小企業(yè)信息化建設首選的ERP管理軟件信賴品牌。
























