趙向偉
(安百拓(南京)建筑礦山設備有限公司,南京 400713)
液壓系統管路設計選型工作包括過渡接頭的選型組合和管路總成的設計等內容。新產品試制過程中,由于過渡接頭的種類、規格繁多(尤其是需要非標、不常用接頭),導致其供貨周期較長,加之液壓設計工作量大,一定程度上延長了新產品的試制周期。為了準確表達過渡接頭的組合,目前有兩種做法。第一種做法是在三維造型軟件中,根據閥塊油口尺寸、管路尺寸以及空間要求,選擇相應的過渡接頭,之后通過圖紙表達過渡接頭的組合。第二種做法是在Excel中,根據閥塊油口尺寸、管路尺寸以及空間要求,選擇相應的過渡接頭。前者較后者更為直觀,便于指導裝配人員裝配。后者相對前者更高效,便于迅速響應市場。為兼顧直觀和高效的特點,設計人員一般結合上述兩種方式進行液壓過渡接頭組合設計,即前期在Excel 中完成過渡接頭的組合設計工作,之后統計其類型數量,以便提前備貨、采購,待機器量產后,再通過圖紙表達某一閥塊過渡接頭的組合形式。
在設計前期,設計人員采用人工的方式統計接頭類型與數量。由于工程機械產品中過渡接頭種類和數量龐大,人工統計不僅工作量大,而且增加了錯誤概率。為有效節省處理數據的時間,提高工作效率,減輕設計人員的勞動強度,提出了“.NET Framework+VSTO”技術解決方案。一方面,利用VSTO(Visual Studio Tools for Office)開發工具對Excel 進行客戶化定制,有效提高在新產品研發過程中過渡接頭統計的效率,并減少非設計因素導致的錯誤;另一方面,依托.NET Framework 可以極大地簡化開發工作,簡化開發過程中基本函數的構架,縮短開發時間。
.NET 是微軟用來實現XML、Web services,面向服務體系結構(Service-Oriented Architecture,SOA)與敏捷性的新技術,為敏捷商務環境構建互聯互通的應用系統。這些系統是基于標準的、自適應的、穩定的且高性能的[1]。通過.NET 框架,可以給用戶提供全新體驗。通過快速迅捷的計算能力,它可為軟件開發人員提供一種高效的開發工具[2]。
.NET Frame是.NET最重要的部分。.NET Framework是微軟開發應用程序新的軟件平臺。在.NET Framework 下,可以應用多種編程語言。應用這些編程語言創建的應用程序,可以方便地建立網絡應用服務。.NET Framework 的出現,使得原來需要通過編程語言實現的工作轉由.NET Framework 來完成。此外,操作系統可以通過提供一些.NET Framework 不支持的功能,降低程序間通信的復雜性與局限性。這些程序可以是相同語言編寫的,也可以是不同語言編寫的[3]。
目前,Excel提供VBA(Visual Basic for applications)和VSTO(Visual Studio Tools for Office)兩種客戶化定制技術。
VBA 是VB 的一種宏語言,主要用來擴展Windows應用程序的功能,特別是Office 軟件。VBA 具有易使用的特點,同時存在用戶界面、布署、功能實現和安全性等方面的限制[4]。
VSTO 是一套用于創建自定義Office 應用程序的Visual Studio 工具包[5]。相對于傳統的VBA 開發,VSTO 為中高級開發人員提供了更加強大的開發平臺和語言,并部分解決了傳統Office 開發中的諸多問題(如難于更新、可擴展性差、難以維護以及安全性低等),使得開發人員可以使用熟悉的技術構建更加靈活的、強大的、跨平臺的企業級解決方案[6]。
鑒于VSTO 的技術優勢,本文采用VSTO 并結合定制Excel,實現接頭統計模塊的開發。
過渡接頭統計的處理對象如表1 所示。該表描述了液壓元部件、油口、油口尺寸以及過渡接頭組合等信息。
人工統計過渡接頭過程中,先以某一過渡接頭為參考,統計同參考接頭相同的接頭數量,并在接頭規格數量明細表中記錄該類型的過渡接頭的種類和數量,刪除參考類型的過渡接頭[7-9]。重復上述操作,直至將所有待統計的對象統計完畢。
可見,過渡接頭的選用和統計均為有規則的、重復性的工作,可借助計算機完成。
過渡接頭統計交互界面,如圖1 所示。統一設計樣式是實現計算機統計的前提。結合設計人員的設計習慣,定制的設計模板具備表頭“元部件”“油口”“油口尺寸”“接頭組合”。設計人員設計時可將相關信息填入相應的單元格,并且約定接頭的組合字符為“+”。
根據表1,同一油口過渡接頭以字符“+”連接。參照人工統計過渡接頭的過程,確定過渡接頭統計的算法,用高級語言對其描述如下:讀取液壓油口過渡接頭表中過渡接頭所在列,將所有過渡接頭組合收集于列表類CList,其中列表中的一個元素對應過渡接頭設計表中的一個單元格。為簡化拆分字符串算法,先將元素添加一個字符,如“A+B”添加連接字符“+”后,元素內容為“A+B+”。將添加字符“+”后的元素,以字符“+”為標識符,拆分為“A”“B”兩個元素,并收集于列表[10-11]。

表1 液壓油口過渡接頭表
重復上述操作,將上述所有過渡接頭組合拆分為獨立的過渡接頭,以存儲過渡接頭的列表第一個元素為參考收集于接頭類型列表,然后遍歷列表,判斷待比較元素是否同參考元素相同。如果相同,則該接頭數量加1;如果不同,則該接頭數量不變。
重復上述操作,直至遍歷完列表,將該接頭數量收集于過渡接頭數量列表。
由于待處理元素個數未知,VSTO 中沒有具有動態添加、移除以及統計功能的類。為提高程序效率,減少開發工作量,借助MFC 提供列表類CList 實現動態添加、移除以及統計元素的功能,在動態鏈接庫完成主要算法的實現,并在所定制的插件Addin 相應的事件響應函數中調用相關動態鏈接庫。
調用語句如下:Integer
在統計過渡接頭型號及數量時,點擊圖1 中的“統計接頭”按鈕,模塊自動創建表“接頭規格明細”并將其激活,將統計結果寫入表格。
在研制2 m 銑刨機SM200M-3 過程中,采用人工統計過渡接頭。開發該模塊后,在研制1m 銑刨機SM100M-3 過程中,采用快速統計模塊統計過渡接頭。兩者所處理的對象和所需時間如表2 所示。

表2 統計時間對照表
經驗證,過渡接頭快速統計模塊較人工統計效率顯著提高,一定程度上規避了人為因素導致的錯誤,減少了設計人員的工作量,使其可以將精力放在更有價值的工作上。
后期將結合液壓設計工作需求,利用本文介紹的技術,將液壓系統設計知識集成于設計平臺,如過渡接頭型號的查詢、管路通徑的計算等。另外,本文對于重復性強的Excel 數據處理工作也具有一定的參考價值。