徐 錚,孫 哲,張義順
(沈陽工業(yè)大學材料科學與工程學院,遼寧沈陽110178)
在壓力容器的焊接制造中,合理的焊接工藝是保證產(chǎn)品焊接質(zhì)量的關鍵,但由于焊接過程比較復雜,影響焊接工作條件和焊接過程工藝參數(shù)的因素較多,因此工藝參數(shù)的制定在很大程度上取決于國家標準及有經(jīng)驗的焊接專家共同合作,焊接工藝的制定直接影響到生產(chǎn)效率和生產(chǎn)成本。將CAPP系統(tǒng)應用到焊接領域,充分利用計算機和經(jīng)驗知識,通過較為合理的邏輯思維推理來解決實際問題,減少人為失誤,縮短生產(chǎn)準備周期,對提高生產(chǎn)效率、保證焊接質(zhì)量十分有利[1]。
壓力容器焊接工藝專家系統(tǒng)是根據(jù)國家和行業(yè)的相關標準以及焊接專家的經(jīng)驗而開發(fā)的,因此系統(tǒng)的體系結(jié)構和知識庫結(jié)構決定了使用的后臺數(shù)據(jù)庫和用戶界面開發(fā)工具。根據(jù)系統(tǒng)的設計要求,后臺數(shù)據(jù)庫的設計分為兩個部分:一部分用于存取和管理問題求解所需的焊接工藝知識和專家經(jīng)驗的知識庫;另一部分是用于制定焊接過程中所需的原始數(shù)據(jù)和推理過程中的中間信息的動態(tài)數(shù)據(jù)庫。
系統(tǒng)知識庫的設計主要功能包括將標準上的數(shù)據(jù)結(jié)合專家知識記錄的輸入和知識庫記錄信息的查找、修改和擴充等。
知識庫系統(tǒng)所需數(shù)據(jù)的實體-關系模型如圖1所示。模型是數(shù)據(jù)庫結(jié)構設計常用的方法,它描述數(shù)據(jù)庫的一種物理結(jié)構。根據(jù)系統(tǒng)的實體-關系模型可以設計系統(tǒng)數(shù)據(jù)庫的邏輯模型,分析其間蘊含的物理邏輯關系[2]。
圖1中,焊接參數(shù)閾值與焊接規(guī)則庫構成一對多關系,特征提取規(guī)則與焊接規(guī)則庫構成一對多關系,而焊接參數(shù)閾值與特征提取規(guī)則構成一對一關系,這三者通過數(shù)據(jù)表進行聯(lián)系。
根據(jù)知識庫系統(tǒng)設計的需要,知識庫需要三個模塊來實現(xiàn)其功能維護,分別是創(chuàng)建方法類型模塊、信息輸入模塊、查詢修改模塊。在創(chuàng)建方法類型模塊中包含創(chuàng)建焊接工藝類型。焊接工藝類型就是焊接工藝中會用到的多種焊接方法和焊接接頭類型,這些方法和接頭都可歸結(jié)為幾大類。只有創(chuàng)建一種焊接方法后,才能創(chuàng)建相應的焊接參數(shù)子集,每種焊接方法有自己的一組焊接參數(shù)閾值。信息輸入模塊將專家知識輸入到知識庫中,作為用戶選擇的基準,保證系統(tǒng)的完整性。查詢修改模塊實現(xiàn)對數(shù)據(jù)庫的查詢,這部分可以實現(xiàn)數(shù)據(jù)庫單個表的字段查詢,也可將數(shù)據(jù)庫中各表結(jié)合起來復合查詢。
圖1 實體-關系模型
動態(tài)數(shù)據(jù)庫是問題求解過程中數(shù)據(jù)的集合,它用于存放所需的原始數(shù)據(jù)和調(diào)用過程中的中間信息,包括原始信息、調(diào)用的中間結(jié)果、推理過程記錄等。在程序運行時,存放的數(shù)據(jù)是動態(tài)變化的,數(shù)據(jù)庫進行大量的讀、寫、刪除操作。
數(shù)據(jù)庫流程是系統(tǒng)邏輯模型的主要組成部分,它可以反映出系統(tǒng)的主要功能、系統(tǒng)外部環(huán)境的輸入輸出、系統(tǒng)內(nèi)部處理、數(shù)據(jù)存儲等情況[3]。系統(tǒng)數(shù)據(jù)流程如圖2所示。面向焊接CAPP數(shù)據(jù)庫系統(tǒng)可以管理焊接接頭、坡口圖形、不同焊接方法對應的焊接工藝參數(shù)等多維表格數(shù)據(jù)。開發(fā)壓力容器焊接CAPP系統(tǒng)需要選擇一種后臺數(shù)據(jù)庫。Access數(shù)據(jù)庫是Microsoft公司開發(fā)的一套桌面數(shù)據(jù)庫系統(tǒng),提供了數(shù)據(jù)庫最常用的功能,系統(tǒng)資源占用低,與SQL Server無縫集成,且具有良好的使用界面和數(shù)據(jù)快速交換,因此作為專家系統(tǒng)的后臺數(shù)據(jù)庫支撐。
圖2 系統(tǒng)數(shù)據(jù)流程
Visual Basic是一種由微軟公司開發(fā)的包含協(xié)助開發(fā)環(huán)境的事件驅(qū)動編程語言。因其簡單易用、靈活多變、界面友好等優(yōu)點,所以選擇其作為專家系統(tǒng)的前端開發(fā)工具,并且與后端的Access數(shù)據(jù)庫相結(jié)合,形成一種高效率的管理信息系統(tǒng)解決方案。
根據(jù)給定條件篩選符合條件的數(shù)據(jù)是總體設計階段非常重要的環(huán)節(jié)。數(shù)據(jù)庫結(jié)構可以簡化開發(fā)過程,使系統(tǒng)功能更加準確清晰。在此根據(jù)HG20583-1998《鋼制化工容器結(jié)構設計》和JB/T 4709《鋼制壓力容器焊接規(guī)程》以及一些經(jīng)驗因素進行壓力容器焊接CAPP系統(tǒng)的設計。
系統(tǒng)的建立包含著后臺數(shù)據(jù)庫的支撐以及擁有面向用戶的良好界面。
在設計的系統(tǒng)程序中,由于焊接工藝的復雜性,對后臺的數(shù)據(jù)庫進行細分,針對每種焊接方法建立三個子數(shù)據(jù)表,每個表的數(shù)據(jù)之間聯(lián)系緊密,但是表與表之間卻沒有必然的聯(lián)系,這樣建立有助于后期的修改和補充,修改其中一個表的數(shù)據(jù)不會影響其他子數(shù)據(jù)表的聯(lián)系,避免了大量重復性的操作。以焊條電弧焊為例,SMAW1中包含母材的牌號和對應的焊條牌號。一旦母材確定以后,那么對應可行的焊條型號范圍也就選定。用戶可以根據(jù)需要進行選擇,如圖3所示。SMAW2包含不同的焊條直徑對應的焊接電流、焊接電壓、焊接速度。由于不同的焊條直徑對應的焊接參數(shù)不同,所以這個庫中將其中的對應關系清晰地羅列出來,如圖4所示。SMAW3包含不同壁厚范圍對應的坡口形式及其參數(shù),根據(jù)用戶的實際壁厚搜索對應的壁厚有效范圍,同時連帶著對應的坡口示意圖及有效參數(shù),如圖5所示。根據(jù)實際情況,調(diào)用不同庫中的參數(shù),做出合理的選擇。
圖3 SMAW1
圖4 SMAW2
圖5 SMAW3
在前臺程序開發(fā)方面,首先對壓力容器制造過程中的四種接頭形式進行分類,針對每種接頭形式進行相關的設計,運行的窗體如圖6所示。壓力容器制造過程中焊接多選用同種材料作為母材,因而在此研究同種材料之間的焊接。確定焊接接頭種類之后,根據(jù)壓力容器制造的材料和板材厚度,確定焊接的坡口類型和焊接層數(shù)。為了結(jié)合實際,板厚采用由用戶自行輸入的方式。當查詢符合條件的結(jié)果有多種時,將查詢結(jié)果用列表的形式排列出來,只要選擇表中的選項,就可顯示對應的坡口形式及其參數(shù)和焊接層數(shù)。焊接層數(shù)是根據(jù)經(jīng)驗公式計算得到的,窗體如圖7所示。
圖6 選擇焊接接頭形式的窗體
圖7 確定坡口形式及焊接層數(shù)窗體
篩選完焊接板材的坡口形式和對應的參數(shù)后,針對每一層,可以選用不同的焊接方法,用戶根據(jù)自己的實際情況選擇每一層使用的焊接方法,對應的焊條型號和焊條直徑也可以由用戶指定,一旦用戶確定了上述數(shù)據(jù),那么對應的焊接電流、焊接電壓、焊接速度也就隨之確定,用戶窗體如圖8所示。這樣的設計充分結(jié)合了使用者的自身情況,可篩選出更有針對性的方案。當用戶選定每一層后,將選定的數(shù)據(jù)填入壓力容器制造的焊接工藝卡中,最后對焊接工藝卡進行輸出打印。
圖8 每層的焊接工藝窗體
運用ADO數(shù)據(jù)庫連接和SQL查詢相結(jié)合的機制實現(xiàn)上述的篩選功能。
ADO是微軟推出的最為成熟的數(shù)據(jù)庫開發(fā)技術,利用ADO對象,用戶能夠很方便地在Visual Basic中使用[4]。利用ADO控件把所要連接的Access數(shù)據(jù)庫與系統(tǒng)連接起來,實現(xiàn)這部分的關鍵語句如下:
結(jié)構化查詢語言SQL(Structured QueryLanguage)是數(shù)據(jù)查詢時十分有效的一種查詢工具[5]。通過語句SELECT fields FROM lists WHERE*AND*(*表示查詢的條件)可以選擇查詢多個領域,并且可以同時搜索若干個獨立的數(shù)據(jù)表,查詢的條件也多種多樣,可以判斷相等、比較、范圍等。
SQL與數(shù)據(jù)庫的結(jié)合。應用SQL的查詢機理作為打開動態(tài)集表的工具。在動態(tài)集的創(chuàng)建中,應用SQL中的SELECT命令語句,創(chuàng)建符合選擇條件的表記錄,它不僅可以打開一個表中的記錄,還能創(chuàng)建多個表中的記錄,從而實現(xiàn)數(shù)據(jù)庫中各表之間的通訊。本系統(tǒng)的數(shù)據(jù)庫中,每種焊接方法都需要從數(shù)據(jù)庫中的三個表中調(diào)用所需的項如SMAW1、SMAW2、SMAW3,這樣在選定母材型號、焊條型號及尺寸的情況下,可以通過動態(tài)集表調(diào)用相對應的信息。使用如下判斷條件就可以查詢焊接材料的信息:select SMAW1鋼號;SMAW1焊條型號;SMAW2 kind;SMAW2焊條直徑;SMAW2焊接電流;SMAW2焊接電壓;SMAW2焊接速度;SMAW3最小壁厚;SMAW3 最大壁厚 from SMAW1;SMAW2,SMAW3 where SMAW1 鋼號=‘"+Text16.Text+"’and SMAW2.kind=‘"+Text18.Text+"’。
使用上述錄入與查詢模塊,可以實現(xiàn)數(shù)據(jù)庫中各表之間的數(shù)據(jù)通信,通過查詢條件調(diào)用相關的信息并交互地形成相應的工藝卡片。
根據(jù)企業(yè)的實際生產(chǎn)需要,針對壓力容器行業(yè)建立一個實用的焊接工藝專家系統(tǒng),該專家系統(tǒng)具有智能的用戶界面、專業(yè)針對性強、易于操作、可以更新和補充數(shù)據(jù)并能有效篩選數(shù)據(jù),提高了數(shù)據(jù)管理和分析效率。為壓力容器焊接專家系統(tǒng)的研究提供了有效的數(shù)據(jù)積累平臺。
[1]韓夏蓓.壓力容器焊接質(zhì)量管理[J].石油化工設備,2011,40(3):61-62.
[2]王永慶.人工智能原理與方法[M].北京:北京航空大學出版社,1998:121
[3]尹朝慶,尹 浩.人工智能與專家系統(tǒng)[M].北京:中國水利水電出版社,2001:87.
[4]孟德欣,謝 婷,王先花.VB程序設計[M].北京:清華大學出版社,2009:122.
[5]高春艷,安 劍,張逸溦.VB程序開發(fā)[M].北京:人民郵電出版社,2009:1.