李輝 劉亞 陳政 張潤(rùn)濤
摘? ? 要:分析了船舶設(shè)計(jì)過(guò)程中各專業(yè)生產(chǎn)設(shè)計(jì)物量統(tǒng)計(jì)工作的內(nèi)容及要求,針對(duì)統(tǒng)計(jì)工作項(xiàng)目較多、分類較細(xì)、表格數(shù)量龐大、手動(dòng)處理表格操作繁瑣易出錯(cuò)等問(wèn)題,開(kāi)發(fā)了基于Excel軟件的生產(chǎn)設(shè)計(jì)物量自動(dòng)統(tǒng)計(jì)程序。實(shí)現(xiàn)了生產(chǎn)設(shè)計(jì)托盤(pán)表讀取、各專業(yè)生產(chǎn)設(shè)計(jì)物量自動(dòng)分類計(jì)算及匯總、生產(chǎn)設(shè)計(jì)物量報(bào)表自動(dòng)生成等工作的自動(dòng)化,有效地減少了設(shè)計(jì)工作量,提高了工作效率,實(shí)現(xiàn)了生產(chǎn)設(shè)計(jì)物量數(shù)據(jù)統(tǒng)計(jì)信息化管理。
關(guān)鍵詞:生產(chǎn)設(shè)計(jì)物量; 數(shù)據(jù)統(tǒng)計(jì); VBA程序設(shè)計(jì)
中圖分類號(hào):U662.9? ??? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
Development and Application of Automatic Statistical Program for Ship Production Design Amount
LI Hui,? LIU Ya,? CHEN Zheng,? ZHANG Runtao
( CSSC Huangpu Wenchong Shipbuilding Co., Ltd.,? Guangzhou 511462 )
Abstract: This paper analyzes the content and requirements of production design amount statistics for various specialties in the process of ship design. A production design amount automatic statistics program based on Excel software has been developed to address the issues of numerous statistical work projects, detailed classification, large number of tables, and cumbersome and error prone manual processing of tables. The automation of production design tray table reading, automatic classification calculation and summary of production design quantities for various specialties, and automatic generation of production design quantity reports has been achieved, which effectively reduces the design workload, improves the work efficiency, and achieves the information management of production design amount data statistics.
Key words: production design amount; data statistics; VBA programming
1? ? ?生產(chǎn)設(shè)計(jì)統(tǒng)計(jì)數(shù)據(jù)
隨著市場(chǎng)競(jìng)爭(zhēng)的日趨激烈,對(duì)船舶制造成本的精細(xì)化管理成為各船廠十分重要的一項(xiàng)工作。其中,生產(chǎn)設(shè)計(jì)物量的統(tǒng)計(jì)與匯總成為了船廠管理中不可缺少的重要一環(huán),其對(duì)生產(chǎn)計(jì)劃的管理具有指導(dǎo)作用,對(duì)成本預(yù)估也具有重要意義。目前,我司船舶生產(chǎn)設(shè)計(jì)物量各類報(bào)表的生成,基于SPD三維設(shè)計(jì)軟件對(duì)模型信息的提取,由于SPD三維設(shè)計(jì)軟件本身開(kāi)發(fā)不夠成熟,系統(tǒng)無(wú)法自動(dòng)輸出各專業(yè)生產(chǎn)設(shè)計(jì)物量統(tǒng)計(jì)匯總表,只能以分段和托盤(pán)為單位輸出約1000個(gè)Excel物量明細(xì)表。按照我司的管理要求,生產(chǎn)設(shè)計(jì)物量需按專業(yè)分為船體結(jié)構(gòu)、管子、鐵舾件、風(fēng)管、電舾件、電纜、設(shè)備、內(nèi)裝八大專業(yè),按區(qū)域分為機(jī)艙、主船體和上建三大區(qū)域,按施工階段分為C、B、U、P和D五個(gè)船舶生產(chǎn)階段,而現(xiàn)有軟件輸出的物量明細(xì)表顯然無(wú)法滿足要求,因此需要投入大量的人力、時(shí)間對(duì)軟件輸出的物量明細(xì)表進(jìn)行手動(dòng)分類和匯總,數(shù)據(jù)的錄入難免會(huì)出現(xiàn)錯(cuò)漏之處,因此迫切需要一款能夠自動(dòng)提取物量明細(xì)表信息并匯總數(shù)據(jù)的程序。
為此,本文研究和分析了生產(chǎn)設(shè)計(jì)物量統(tǒng)計(jì)內(nèi)容及方法,并采用Excel VBA編程,設(shè)計(jì)了一款生產(chǎn)設(shè)計(jì)物量自動(dòng)統(tǒng)計(jì)與匯總的程序。該程序?qū)崿F(xiàn)了自動(dòng)讀取SPD三維設(shè)計(jì)軟件輸出的各專業(yè)物量明細(xì)表,通過(guò)程序的后臺(tái)運(yùn)行和計(jì)算,完成產(chǎn)品八大類的設(shè)計(jì)物量明細(xì)表的統(tǒng)計(jì)與匯總工作,并輸出為全船生產(chǎn)設(shè)計(jì)物量統(tǒng)計(jì)表,將繁瑣且易出錯(cuò)的Excel工作表手動(dòng)統(tǒng)計(jì)與匯總轉(zhuǎn)化為程序的自動(dòng)化處理,大幅度地減少了生產(chǎn)設(shè)計(jì)物量統(tǒng)計(jì)時(shí)間,提高工作效率,確保生產(chǎn)設(shè)計(jì)物量表的完整性和準(zhǔn)確性。
2? ? 自動(dòng)統(tǒng)計(jì)程序分析
船舶生產(chǎn)設(shè)計(jì)物量數(shù)據(jù)表格繁雜,需要統(tǒng)計(jì)的物量數(shù)據(jù)種類多、數(shù)量大,設(shè)計(jì)一款實(shí)用可靠的物量統(tǒng)計(jì)程序,首先需要根據(jù)不同專業(yè)物量數(shù)據(jù)的特點(diǎn),分析其主要數(shù)據(jù)來(lái)源及需要統(tǒng)計(jì)輸出的匯總數(shù)據(jù),按專業(yè)統(tǒng)計(jì)內(nèi)容,可以將船舶生產(chǎn)設(shè)計(jì)物量分為以下八類:結(jié)構(gòu)物量、管子物量、鐵舾件物量、風(fēng)管物量、電舾件物量、電纜物量、設(shè)備物量、內(nèi)裝物量。
2.1? ?船體結(jié)構(gòu)設(shè)計(jì)物量
船體結(jié)構(gòu)設(shè)計(jì)物量統(tǒng)計(jì)數(shù)據(jù),取自各分段《零件明細(xì)表》 、《材料匯總表》和《套料板信息匯總表》,其統(tǒng)計(jì)的分項(xiàng)數(shù)據(jù)項(xiàng)目,如表1所列。
2.2? ?船舶管子設(shè)計(jì)物量
船舶管子設(shè)計(jì)物量統(tǒng)計(jì)數(shù)據(jù),取自各階段《管子制作托盤(pán)表》 、《安裝圖托盤(pán)表》和《開(kāi)孔清冊(cè)》 ,其統(tǒng)計(jì)的分項(xiàng)數(shù)據(jù)項(xiàng)目,如表2所列。
2.3? ?電纜和電舾件設(shè)計(jì)物量
電纜設(shè)計(jì)物量統(tǒng)計(jì)數(shù)據(jù),提取自各區(qū)域 《分支電纜冊(cè)》和《主干電纜冊(cè)》;電舾件設(shè)計(jì)物量統(tǒng)計(jì)數(shù)據(jù),取自《電舾件安裝托盤(pán)表》。電纜和電舾件統(tǒng)計(jì)的分項(xiàng)數(shù)據(jù)項(xiàng)目,如表3所列。
2.4? ?內(nèi)裝設(shè)計(jì)物量
內(nèi)裝設(shè)計(jì)物量統(tǒng)計(jì)數(shù)據(jù),取自《內(nèi)裝托盤(pán)表》 ,其統(tǒng)計(jì)的分項(xiàng)數(shù)據(jù)項(xiàng)目,如表4所列。
2.5? ?設(shè)備設(shè)計(jì)物量
設(shè)備設(shè)計(jì)物量統(tǒng)計(jì)數(shù)據(jù),取自各階段 《設(shè)備安裝托盤(pán)表》中備注設(shè)備的數(shù)量和重量,按輪機(jī)、船裝、電氣和暖通專業(yè)分別統(tǒng)計(jì)。
2.6? ?風(fēng)管設(shè)計(jì)物量
風(fēng)管設(shè)計(jì)物量統(tǒng)計(jì)數(shù)據(jù),取自各階段《風(fēng)管安裝托盤(pán)表》中方風(fēng)管數(shù)量和重量、螺旋風(fēng)管長(zhǎng)度、風(fēng)管吊架的數(shù)量和重量。
通過(guò)對(duì)船舶各專業(yè)生產(chǎn)設(shè)計(jì)物量統(tǒng)計(jì)表分類分項(xiàng),統(tǒng)計(jì)數(shù)據(jù)來(lái)源和各項(xiàng)統(tǒng)計(jì)要求的整理和分析,總結(jié)出各類物量統(tǒng)計(jì)的計(jì)算方法,并對(duì)各分類分項(xiàng)統(tǒng)計(jì)源工作表進(jìn)行分類,為程序設(shè)計(jì)和開(kāi)發(fā)做好前期準(zhǔn)備工作。
2.7? ?鐵舾件設(shè)計(jì)物量
鐵舾設(shè)計(jì)物量統(tǒng)計(jì)數(shù)據(jù)提取自各階段的《鐵舾件安裝托盤(pán)表》中踏步、欄桿、人孔蓋等鐵舾件的數(shù)量和重量。
通過(guò)對(duì)船舶各專業(yè)生產(chǎn)設(shè)計(jì)物量統(tǒng)計(jì)表分類分項(xiàng),統(tǒng)計(jì)數(shù)據(jù)來(lái)源和各項(xiàng)統(tǒng)計(jì)要求的整理和分析,總結(jié)出各類物量統(tǒng)計(jì)的計(jì)算方法,并對(duì)各大分類分項(xiàng)統(tǒng)計(jì)源工作表進(jìn)行分類,為程序設(shè)計(jì)和開(kāi)發(fā)做好前期準(zhǔn)備工作。
3? ? 自動(dòng)統(tǒng)計(jì)程序設(shè)計(jì)
本程序設(shè)計(jì)是利用Excel辦公軟件,運(yùn)用其自帶的宏模塊和VBA開(kāi)發(fā)環(huán)境進(jìn)行二次開(kāi)發(fā),根據(jù)前期梳理的各分類分項(xiàng)統(tǒng)計(jì)方法和內(nèi)容,設(shè)計(jì)出多個(gè)Excel表數(shù)據(jù)自動(dòng)篩選計(jì)算匯總統(tǒng)計(jì)的程序,最終輸出全船生產(chǎn)設(shè)計(jì)物量統(tǒng)計(jì)報(bào)表。
3.1? ?開(kāi)發(fā)流程
船舶生產(chǎn)設(shè)計(jì)物量自動(dòng)統(tǒng)計(jì)程序開(kāi)發(fā)的主要流程,如圖1所示。
1)選擇需要統(tǒng)計(jì)的專業(yè),打開(kāi)存放該專業(yè)數(shù)據(jù)的文件夾;
2)判斷該文件夾是否包含Excel文件,如果包含則需要選擇文件(默認(rèn)為全選);
3)逐個(gè)打開(kāi)Excel文件,根據(jù)工作表名稱或表頭信息判斷統(tǒng)計(jì)哪些類別的物量,并執(zhí)行代碼,將物量統(tǒng)計(jì)結(jié)果寫(xiě)入對(duì)應(yīng)的匯總表。
3.2? ?關(guān)鍵代碼
本程序應(yīng)用條件語(yǔ)句、正則表達(dá)式、數(shù)組、通配符以及函數(shù)等解決關(guān)鍵技術(shù)難點(diǎn)。
1)關(guān)鍵代碼1
判斷管子專業(yè)文件夾中每個(gè)文件需要統(tǒng)計(jì)哪些物資類別,首先通過(guò)判斷SPD導(dǎo)出的Excel工作表名稱實(shí)現(xiàn),具體代碼因篇幅所限,略。
2)關(guān)鍵代碼2
在結(jié)構(gòu)材料匯總表中,區(qū)分鋼板、型材、管材,僅通過(guò)名稱無(wú)法準(zhǔn)確區(qū)分,而其規(guī)格型號(hào)卻有一定規(guī)律,因此需要用正則表達(dá)式來(lái)解決,具體代碼因篇幅所限,略。
3)關(guān)鍵代碼3
統(tǒng)計(jì)設(shè)備數(shù)量時(shí),需要將所有設(shè)備明細(xì)都體現(xiàn)在匯總表上,此時(shí)只有數(shù)組才能解決該問(wèn)題,將需要匯總的項(xiàng)目先存在數(shù)組中,然后再寫(xiě)入對(duì)應(yīng)的匯總表,具體代碼因篇幅所限,略。
3.3? ?操作方法
通過(guò)VBA編程,設(shè)計(jì)出簡(jiǎn)潔易懂的程序操作界面,本程序主要操作流程如下:
1)打開(kāi)Excel生產(chǎn)設(shè)計(jì)物量自動(dòng)統(tǒng)計(jì)程序,自動(dòng)彈出操作窗口,此時(shí)Excel處于不能編輯狀態(tài),如需編輯則關(guān)閉窗口,切換工作表時(shí)會(huì)再次彈出操作窗口;
2)在最上方的標(biāo)簽中選擇一個(gè)專業(yè);
3)點(diǎn)擊選擇一個(gè)文件夾按鈕,在待選擇文件和已選擇文件中顯示當(dāng)前選中的文件夾中所有文件;
4)根據(jù)需要?jiǎng)h減文件數(shù)量;
5)點(diǎn)擊右下角匯總XX專業(yè)物量;
6)匯總完成后,會(huì)彈出提示XX物量匯總完畢,點(diǎn)擊確定;
7)結(jié)構(gòu)物量多次統(tǒng)計(jì)是在原有數(shù)據(jù)上更新,其他專業(yè)點(diǎn)擊匯總后會(huì)將原有數(shù)據(jù)刪除,只顯示本次選擇的文件數(shù)據(jù)。
3.4? ?使用要求
在產(chǎn)品設(shè)計(jì)服務(wù)器建立共享文件夾,用于存放各產(chǎn)品船各專業(yè)生產(chǎn)設(shè)計(jì)托盤(pán)表,要求各設(shè)計(jì)人員在完成生產(chǎn)設(shè)計(jì)圖紙下發(fā)后及時(shí)將Excel表文件要求存放在相應(yīng)文件夾。
SPD導(dǎo)出格式或者PDM導(dǎo)入格式,不要隨意增加、刪減單元格列,管子各類表格SPD生成的工作表名稱不允許更改;各類設(shè)備安裝托盤(pán)表中,要統(tǒng)計(jì)的設(shè)備項(xiàng)需在備注中注明設(shè)備二字,且設(shè)備的重量要填寫(xiě)準(zhǔn)確;風(fēng)管安裝托盤(pán)表,需在表中部件類別中正確區(qū)分方風(fēng)管、螺旋風(fēng)管、風(fēng)管吊架。
3.5? ?輸出結(jié)果
通過(guò)程序匯總輸出生產(chǎn)設(shè)計(jì)物量表格。
4? ? 程序應(yīng)用及成果
本文開(kāi)發(fā)的生產(chǎn)設(shè)計(jì)物量統(tǒng)計(jì)程序,已在我司海工廠區(qū)多個(gè)產(chǎn)品的設(shè)計(jì)物量統(tǒng)計(jì)工作中推廣應(yīng)用,優(yōu)化了設(shè)計(jì)管理工作,將原來(lái)由各分段、總段設(shè)計(jì)人員的生產(chǎn)設(shè)計(jì)物量統(tǒng)計(jì)工作,調(diào)整到項(xiàng)目主管統(tǒng)一管理和輸出,有效地減少了各產(chǎn)品生產(chǎn)設(shè)計(jì)人員的工作量,確保了生產(chǎn)設(shè)計(jì)物量統(tǒng)計(jì)的完整性和準(zhǔn)確性,提高了工作效率,減少了設(shè)計(jì)工時(shí)。
5? ? 結(jié)論
本文運(yùn)用Excel軟件結(jié)合VBA應(yīng)用,開(kāi)發(fā)了生產(chǎn)設(shè)計(jì)物量統(tǒng)計(jì)程序,有效地實(shí)現(xiàn)了生產(chǎn)設(shè)計(jì)物量統(tǒng)計(jì)工作的自動(dòng)化,對(duì)提高生產(chǎn)設(shè)計(jì)物量的準(zhǔn)確性,減少設(shè)計(jì)工人員非設(shè)計(jì)工時(shí)具有很大的幫助。因本文作者水平所限,現(xiàn)階段只能做到各專業(yè)物量明細(xì)表按指定位置存放再用程序處理物量明細(xì)表的程度,但本次開(kāi)發(fā)積累了相當(dāng)?shù)慕?jīng)驗(yàn),為我們下一步的研究指明了方向。根據(jù)對(duì)業(yè)內(nèi)一些從業(yè)人員的了解,基于三維設(shè)計(jì)軟件的嵌入式程序的開(kāi)發(fā)是業(yè)內(nèi)的主流,因此未來(lái)將結(jié)合我司實(shí)際情況,進(jìn)行基于SPD三維設(shè)計(jì)軟件的嵌入式物量統(tǒng)計(jì)程序開(kāi)發(fā),更好的服務(wù)于公司的生產(chǎn)與管理。
參考文獻(xiàn)
[1] 羅剛君. Excel 2010 VBA編程與實(shí)踐[M]. 北京:電子工業(yè)出版社,2010.