蒿麗萍,田朝平
(1.內蒙古廣播電視大學,內蒙古 呼和浩特 010011;2.內蒙古工業大學,內蒙古 呼和浩特 010051)
Research and Exploration | 研究與探索·探討與創新
異構環境下的機械產品協同設計關鍵技術研究
蒿麗萍1,田朝平2
(1.內蒙古廣播電視大學,內蒙古 呼和浩特 010011;2.內蒙古工業大學,內蒙古 呼和浩特 010051)
異構環境下的協同設計存在著錯綜復雜的數據交換及信息共享需求。文章針對機械產品協同設計特點及過程,研究了基于Web技術的三層C/S結構的協同設計系統體系結構、STEP標準和XML相結合的動態數據交換機制、分布式異構數據庫系統模型及操作過程,以及機械產品遠程協同設計系統功能模塊。
機械產品;協同設計;體系結構;數據交換;數據庫模型
隨著計算機技術、網絡技術的發展以及市場競爭的需求,傳統的機械設計已經不能滿足現代機械設計和產品開發的需求,機械可靠性優化設計愈來愈多地應用于機械產品設計中,傳統的串行產品設計模式正在向并行協同模式轉變,基于網絡環境遠程協同設計是當今機械現代設計領域的研究熱點。協同設計中分布于異地的設計主體通常采用異構的CAD系統,系統的異構性妨礙協同設計過程中的數據交換與共享。研究異構環境下的機械產品遠程協同設計過程的數據交換共享機制、異構數據庫管理系統模型及操作過程等技術,開發協同設計系統,為處于不同地域的設計主體提供異構的協作環境。
1.1 網絡協同設計概念
協 同 設 計CACD是 以CSCW(Computer Supported Cooperation Work)和并行工程為基礎的機械產品設計技術,其概念可以從概念模型、層次模型和過程模型三方面理解。概念模型是對協同設計過程中的設計對象、設計活動以及設計環境相互關系的描述,層次模型將協同設計過程描述為層次維、對象維、周期維和約束維等多維活動空間,過程模型是在不確定狀態下設計主體所進行的實現設計目標的活動和決策。機械產品網絡協同設計是多學科群組,在跨時空異構的網絡環境下,應用現代機械設計理論和計算機輔助設計工具,針對機械產品設計目標,基于設計產品全生命周期的信息需求,通過設計數據交換、共享和相互協調機制,遠程協作的開放式設計模式。
1.2 網絡協同設計特點
設計主體多元性。協同設計由分布于不同地域、不同企業的具有不同知識背景和專業特長的多學科設計主體遠程協作完成;層次角色性。機械產品設計的復雜性和產品結構層次性等,需要針對設計任務進行結構化分解、角色分配和授權,設計主體的層次結構與產品設計分解后的層次結構對應;并發控制和進程管理性。由于協同設計的多主體性和設計任務的可分解性,協同設計往往是多個任務并行執行,通過設計任務的分配與調度,設計數據動態交換以及動態訪問控制等進行進程管理;異構性。各設計主體CAD系統很可能執行不同的企業標準、使用不同的操作系統、采用不同的數據模型。
2.1 協同設計系統體系結構
基于Web的三層C/S結構的協同設計系統體系結構如圖1所示,包括客戶端服務層、應用服務層和數據庫服務層。

圖1 協同設計系統體系結構
客戶端服務層:客戶端服務層由設計主體(Web客戶端)和異構應用程序接口組成,設計主體通過客戶端與應用服務層進行動態交互,完成客戶端和服務器端的信息集成。
應用服務層:應用服務層在協同設計中負責業務處理,由多服務器管理系統、Web/Corba服務器、多Agent服務器、協同數據庫服務器等組成。多服務器管理系統起“橋梁”作用,不僅為單個服務器提供服務,而且當多個協同用戶協作時,負責管理和協調協同用戶間的并發請求;Web/Corba服務器包括基于HTTP協議的Web服務器和基于IIOP協議的CORBA服務器,Web負責接收本地或協同用戶的請求并進行分析,驅動多服務器管理系統進行數據處理,然后將結果反饋給用戶。CORBA提供面向對象的分布式應用平臺,自動調用和共享異構資源;多Agent服務器進行信息處理和轉發,由WebAgent、ApplicationAgent和數據庫接口Agent等構成,對用戶、數據、控制等進行管理;協同數據庫服務器通過數據庫接口Agent對所有數據庫進行連接。應用服務層分為業務處理層、多服務器層和系統服務層等,業務處理層針對具體問題進行業務處理,全面實現系統功能。多服務器層為協同設計提供多服務器管理系統、協同數據庫管理系統、Web服務器以及輔助設計工具等。系統服務層為業務處理層和數據庫服務層提供設計信息交換接口。
數據庫服務層:數據庫服務層是協同用戶訪問數據庫的接口,與應用服務層共同完成協同設計過程的業務處理。數據庫按分類、分布存儲方式進行設計。
2.2 工作原理
用戶通過Web客戶端提出任務申請,Web服務器收到申請后對其進行分析,并將申請發送給ApplicationAgent;ApplicationAgent收到消息后,將任務申請轉化為應用服務器可以執行的命令,若符合執行要求,應用程序執行任務并將執行結果反饋給Web服務器;數據庫服務器接受Web服務器對數據庫操作請求,對數據庫進行相應操作,調用Web數據庫中的數據;Web服務器將執行結果反饋給Web客戶端。
通過動態數據交換機制使異構系統按一定的應用需求對設計資源進行有效地組織和管理,滿足協同設計中分布式異構環境中各異構系統間的信息交換與共享。
3.1 XML信息交換語言
XML是Internet環境下通用的信息交換語言,它用統一的方法來描述和交換獨立于各應用程序的結構化數據,能在Web客戶端上以特定的格式顯示設計信息,本系統利用XML作為異構環境中的文檔交換格式。XML信息交換過程:①協同用戶從本地應用系統提取共享信息,將其轉換為XML文檔格式,提交給Web/Corba服務器。②Web/Corba服務器利用XML格式轉換器將其轉換為系統可接收的XML文檔格式,通過XML與數據庫間的轉換接口將共享信息存儲到共享數據庫中。③Web/ Corba服務器也可從共享數據庫中提取協同用戶需要的共享信息,進行相應的轉換后發送給協同用戶。
3.2 STEP動態數據交換標準
STEP是獨立于任何CAD系統的中性數據交換機制,能夠描述機械產品設計整個生命周期的數據交換與共享的國際標準。STEP動態數據交換格式由數據段和控制段組成。其中,數據段中只包含被更新數據,數據格式是STEP數據格式;控制段包含UserID、實體序列號和編輯命令名等必要的控制信息。
3.3 動態數據交換機制
由于Internet客戶端解析STEP中性文件格式非常困難,也就是說,STEP不能很好的支持異構環境下的數據交換和跨領域跨企業的產品信息集成。因此,本文將XML語言和STEP標準結合起來[7],建立動態數據交換機制,解決STEP在Internet中顯示問題。動態數據交換機制數據轉換過程:本地CAD用戶使用自已的CAD系統基于網絡進行產品設計;通過STEP/XML數據轉換機制將本地CAD系統數據格式轉換為XML數據格式,通過ECAMediator識別更新數據,把更新數據生成XML動態數據交換格式并傳送給協同用戶;服務器收到異構系統提交的XML文檔后,利用XMLSchema將XML文檔轉換為系統能接收的文檔格式,通過XML與數據庫的轉換接口將數據存入共享數據庫中;協同用戶收到服務器發送的XML格式共享文檔后,轉換為應用系統可接受的數據格式,實現產品數據的共享和集成。
4.1 協同數據庫管理系統模型
機械產品協同設計數據具有多樣性、分布性、數據交換和并發訪問頻繁等特點,這些特點決定了協同數據庫系統是分布式異構數據庫系統,需通過數據庫管理系統對其進行管理。協同數據庫管理系統是在原數據庫管理系統的基礎上,通過Web服務建立各數據庫間的Agent訪問代理,實現協同設計中的數據共享。協同數據庫管理系統模型如圖2。
(1)應用層:由管理員、項目負責人、設計主體及審定專家等組成,通過Agent進行異步或同步數據訪問。(2)業務層:通過協同數據庫服務器進行業務處理,協同數據庫服務器可以是一臺單獨的服務器,也可以由多臺服務器組合。(3)數據庫層:由數據庫接口Agent和數據庫集組成。Agent接口負責訪問數據庫、本地用戶權限檢查,將遠程查詢語句轉換成本地數據庫語言格式等;數據庫集是由分布于協同工作各方的多個數據庫構成的集合。

圖2 協同數據庫管理系統模型
4.2 協同數據庫操作過程
為確保異構數據庫系統數據的一致性和完整性,通常只允許協同用戶遠程查詢本地數據庫,不允許對本地數據庫進行更新(刪除、插入和修改等)。
查詢過程:(1)協同用戶通過客戶端向協同數據庫服務器提交查詢語句;(2)協同數據庫服務器進行用戶身份驗證和Agent注冊;(3)服務器接收查詢語句并將查詢語句轉換成本地數據庫語言格式,進行語法檢驗,檢驗正確后,進行查詢分解、查詢優化和執行查詢;(4)將查詢結果轉換成統一格式(XML格式),合并子查詢結果并將最終的全局查詢結果返回協同用戶。
5.1 系統主要功能模塊
機械可靠性優化協同設計系統的主要功能模塊包括:(1)項目任務管理。對產品設計項目的任務創建、任務分解、任務分配和設計進程等進行管理。設計主體在權限范圍內進行設計并向項目組提交設計方案、上傳設計信息,也可以通過此模塊查詢協同用戶提交的設計方案;項目負責人通過此模塊進行任務分配和跟蹤。(2)產品數據管理。產品數據管理是通過協同數據庫管理系統對設計過程產生的各種數據信息進行有效管理。產品數據包括設計產品零部件設計信息、零部件裝配結構和關系以及產品模型數據等,所有數據按照一定的數據模型進行描述和訪問控制。(3)客戶端CAD系統設計。客戶端基于Matlab進行CAD系統設計,客戶端插件將Matlab軟件與協同設計系統進行有效集成,調用協同設計系統提供的服務(登錄服務、查看任務列表服務),實現Matlab之間的協同開發。(4)訪問控制管理。協同設計過程涉及到多個設計主體的遠程協作,每個設計主體在設計過程的不同階段擔當不同的角色,具有不同的訪問權限。訪問控制管理就是在協同設計過程中進行用戶訪問管理和角色權限管理,防止非法用戶入侵或合法用戶越權操作。不僅考慮訪問數據的安全問題,而且還需考慮權限的周期時間約束、權限的激活次數限制、動態授權控制等等。(5)協同交流。為設計主體提供交流環境,項目負責人或系統管理員發通知、召開視頻電話會議、進行設計方案研討等;設計主體針對設計主題發表意見或建議,獲取自己需要的信息或提出求助需求等;課題組通過系統內設電子郵箱進行交流。
5.2 協同設計系統設計
協同設計系統采用Java語言開發,使用SQLServer做數據庫管理系統;客戶端使用Matlab進行優化設計系統設計。
5.3 協同設計系統運行
(1)用戶身份驗證。設計主體登錄系統主界面,輸入用戶名和密碼,進行身份驗證;身份驗證后,系統根據用戶授權進入相應的操作界面,進行相應操作。(2)客戶端CAD系統。由于機械產品可靠性協同設計過程復雜、任務量大,目前只實現了斜齒輪減速器中的“齒輪”可靠性優化設計。在本地計算機上安裝Matlab插件,用戶在本地計算機上調用協同設計系統所提供的服務,進行優化設計。設計完成后,將實體模型轉換成STEP格式,再進一步轉換為XML格式后,上傳至服務器,服務器將設計結果發送給本地用戶和協同用戶。客戶端同時顯示:本地設計模型窗口、其他用戶模型窗口、服務器裝配窗口等3個窗口。
研究異構環境下協同設計系統體系結構、動態數據交換機制、異構數據庫系統模型及操作過程,為解決異構環境下協同設計過程的數據交換與共享提供有效的理論方法和技術手段。
[1]王志剛,張均富,等.齒輪減速器的多目標可靠性優化設計[J].機械設計與研究,2011,29(6):44~47.
[2]張蘭挺.復雜產品協同設計信息集成與共享技術研究[J].機械設計與制造,2014(2):259~261.
[3]郭銀章.機械產品協同設計過程的建模控制與管理研究[D].太原:太原科技大學,2011:3~7.
[4]謝列衛,程耀東.集成化產品設計多信息流過程建模研究[J].中國機械工程,2000,11(12):1370~1373.
TH12
A
1671-0711(2016)11(上)-0168-03
2015年度內蒙古自治區高等學校科學研究項目“異構環境下的機械可靠性優化協同設計系統關鍵技術研究”(項目編號:NJZY292)成果之一。