吳永正
(玉門油田機械廠技術部)
壓力容器制造工藝過程卡是針對容器零件加工、部件裝配、總體組裝及容器出廠檢驗等過程,按加工、組裝工序編制的用于指導加工過程、組裝過程和質量檢查的技術文件,也是記錄實施加工、組裝、質量檢查部門、操作人員、檢查人員和實施日期的重要質量記錄文件[1]。因此,壓力容器制造工藝過程卡應按臺進行編制,對主要受壓元件應做到“一件一卡”。
制造工藝過程卡由主管工藝人員編制,工藝責任工程師審核后發至生產班組,隨零部件的加工工序流轉[2]。但是,壓力容器屬于單件小批量生產,因此編制壓力容器制造工藝過程卡和焊接工藝規程的工作量大且效率低。
VB.net是基于微軟.net Framework上的面向對象的編程語言,其界面友好,可通過簡單輸入參數引用Word類型庫進行聯合編程,并自動生成所需文件。
由于各制造廠制造工藝有較大區別(如有些制造廠對公稱直徑大于800mm的筒體選用內坡口,有些廠家選用外坡口;有些廠家對封頭外協采購,只需編制外購件檢驗卡,有些廠家自行制造則需編制制造過程工藝卡),目前尚無統一且適合多數廠家使用的壓力容器制造工藝編制軟件。雖然一些研究者給出了計算機軟件編程技術在壓力容器制造工藝編制中的應用,但其僅限于框架或組織結構性內容,不便于實際操作[3,4]。為此,筆者提出將VB.net編程技術應用于壓力容器制造工藝編制中,以便工藝人員能夠快速上手開發出適合本廠使用的工藝編制軟件。
1.1設計文檔模板
利用VB.net控制Word既可以在Word中通過錄制宏后使VB.net和VBA聯合編程生成所需的Word文檔;也可以先將通用性內容設計成Word文檔模板,然后通過代碼操作模板文件來生成所需的文檔[5]。相對來說,設計模板的方法具有代碼數量少和操作簡單的特點。
1.2界面設計
在Windows編程中,窗體是界面設計的基礎,也是最終用戶的操作對象。
啟動Visual Studio 2010,新建項目Visual Basic>Windows>Windows窗體應用程序,即可進行界面設計。
1.3編寫代碼
將所需表達的內容按照一定的語法和算法組合即構成代碼。代碼是計算機能識別的語言,也是編程的核心部分。
在編寫代碼前需要先添加Word應用程序對象庫:單擊菜單中的“項目”>”添加引用”菜單項,在彈出的對話框中選擇COM菜單下的“Microsoft Word X Object Library”(注:Word 2003中X為11.0,Word 2007中X為12.0)。
VB.net操作Word編程時常用的代碼如下:
Dim wrdApp As Word.Application‘定義Word對象變量;
Dim wrdDoc As Word._Document‘定義文檔實例對象變量;
wrdApp = CreateObject("Word.Application")‘創建Word對象;
wrdApp.Visible = True‘設置Word對象可見;
wrdDataDoc1 = wrdApp.Documents.Add(Template:=Application.StartupPath & "文檔名稱.dot")‘打開對象模板;
wrdDataDoc1.Bookmarks.Item("書簽名稱").Range.Text = “要插入的內容”‘替換書簽內容;
wrdDataDoc1.Tables(1).Cell(6,2).Range.InlineShapes.AddPicture(FileName:=(Application.StartupPath & "圖片.jpg"))‘將圖片插入到第一個表格的第6行、第2列;
wrdApp.Selection.GoTo(Word.WdGoToItem.wdGoToLine, Word.WdGoToDirection.wdGoToLast)‘移至文檔結尾;
myrange = wrdDataDoc6.Range‘選擇對象;
myrange.Copy()‘復制對象;
myrange.Paste()‘粘貼對象;
wrdDataDoc.Activate()‘文檔激活;
myrange = Nothing‘清除選擇對象;
wrdDoc = Nothing‘清除實例對象;
wrdApp = Nothing‘清除Word對象;
以浮頭式換熱器制造工藝編制軟件為例進行說明。浮頭式換熱器制造工藝卡主要包括封頭制造過程卡、管箱短節制造工藝過程卡、管箱部件組裝過程檢驗卡及換熱器總裝過程檢驗卡等。
2.1設計文檔模板
打開Microsoft Word 2003軟件,新建Word文檔,將相同部分設計成文檔模板(管箱短節制造工藝模板如圖1所示)。在需要變動的部分依次插入書簽,如產品名稱、產品工號、厚度及長度等。將設計好的文檔另存為“浮頭制造工藝卡.dot”,模板文件另存為.dot格式后可以在對模板文件進行寫入編輯操作時不破壞原文件的內容和格式,僅相當于操作復制的文件。
2.2界面設計
啟動Visual Studio 2010,新建項目Visual Basic>Windows>Windows窗體應用程序,即可進行界面設計。界面內容應包括各受壓元件參數,同時也可以將數據保存到Access數據庫中,浮頭式換熱器制造工藝編制軟件界面如圖2所示。

圖1 管箱短節制造工藝模板

圖2 浮頭式換熱器制造工藝編制軟件界面
2.3主要源代碼
主要源代碼如下:
Imports Microsoft.Office.Interop
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click‘生成制造工藝卡
Dim wrdApp As Word.Application
wrdApp = CreateObject("Word.Application")
wrdApp.Visible = True‘對象可見
Dim wrdDataDoc As Word._Document
wrdDataDoc = wrdApp.Documents.Add(Template:=Application.StartupPath & "浮頭制造工藝卡.dot")‘打開模板
wrdDataDoc.Bookmarks.Item("產品編號").Range.Text = "TextBox1.Text"‘替換標簽內容
……
wrdApp = Nothing‘清除Word對象
wrdDataDoc= Nothing‘清除實例對象
End Sub
調查結果顯示(表2),施肥能明顯提高四方竹的出筍量,施用的肥料類型不同,對出筍的影響不同,但出筍量均明顯高于對照。其中,施用有機肥的處理(處理Ⅲ)出筍量最多,施用氮肥、磷肥和鉀肥的2個處理(處理Ⅰ和處理Ⅱ)間施肥效果十分接近。試驗結果表明,施有機肥更能促進竹林發筍[3-4],可能是由于谷殼覆蓋,改善了土壤的水熱條件,從而促進了發筍行為,且發筍時間相對其他幾種處理都更早一些。
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click‘將數據保存到數據庫中
Dim cn1 As ADODB.Connection
Dim rs1 As ADODB.Recordset
Dim sql1 As String
cn1 = New ADODB.Connection
cn1.Open("PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "zhizao.mdb;")‘打開數據庫
rs1 = New ADODB.Recordset
rs1.Open(sql1, cn1, ADODB.CursorTypeEnum.adOpenKeyset, ADODB.LockTypeEnum.adLockOptimistic)
rs1.AddNew()
rs1("產品編號").Value = TextBox1.Text
rs1("管程試驗壓力").Value = TextBox2.Text
……
rs1.Update()
cn1.Close()
cn1 = Nothing
rs1 = Nothing
sql1 = Nothing
End Class
從數據庫中讀取文件與將數據保存到數據庫中代碼類似,此處不再贅述。
先設計Word模板,然后使用VB.net開發制造工藝編制軟件,能夠大幅提高壓力容器制造工藝編制的效率,使工藝編制人員從繁雜重復的勞動中解脫出來,以便從事更多計算機無法替代的設計工作。
[1] GB 150-2011,壓力容器[S].北京:中國標準出版社,2011.
[2] 王春林,龐春虎.化工設備制造技術[M].北京:化學工業出版社,2009:34~37.
[3] 慕仁社,岳玉鳳,秦彥斌.壓力容器計算機輔助工藝設計與管理系統軟件的開發及應用[J].壓力容器,2000,17(3):81~83.
[4] 黃志勇.壓力容器制造CAPP系統的研究開發[J].化工設備與管道,2007,44(3):19~22.
[5] 彭顯鋒.用VB6.0控制Word創建規范性文檔[J].貴州氣象,2008,32(2):40~42.