蘇小立,趙公旗,劉 楨
(長(zhǎng)城汽車(chē)股份有限公司技術(shù)中心 河北省汽車(chē)工程技術(shù)研究中心,河北 保定 071000)
隨著汽車(chē)復(fù)雜程度的提高,作為汽車(chē)重要有機(jī)組成部分的電氣系統(tǒng)的成本在整車(chē)中的比例也越來(lái)越大。為了提高電氣系統(tǒng)的性價(jià)比,各個(gè)主機(jī)廠都在極力變革電氣系統(tǒng)的設(shè)計(jì)方法,使之從傳統(tǒng)的設(shè)計(jì)方法轉(zhuǎn)變?yōu)橄仍O(shè)計(jì)多個(gè)備選方案,待評(píng)估后選擇最優(yōu)方案的優(yōu)化設(shè)計(jì)方法。在采取這種設(shè)計(jì)方法后,因?yàn)樵u(píng)估考慮的面廣,既要考慮市場(chǎng)的需求滿足程度,又要與所涉及到的物理系統(tǒng)設(shè)計(jì)的多個(gè)專(zhuān)業(yè)部門(mén)溝通、確認(rèn)信息;然后還要將功能滿足程度的數(shù)據(jù)與經(jīng)濟(jì)性數(shù)據(jù)進(jìn)行歸納和匯總;最后要進(jìn)行大量計(jì)算,得出各方案的優(yōu)劣結(jié)果,導(dǎo)致方案的評(píng)估工作比例驟增。據(jù)統(tǒng)計(jì),電氣系統(tǒng)設(shè)計(jì)工程師在架構(gòu)設(shè)計(jì)階段處理該過(guò)程的時(shí)間占整個(gè)設(shè)計(jì)時(shí)間的20%左右,既耗時(shí)又費(fèi)力,這種工作模式制約著設(shè)計(jì)的效率。本文對(duì)基于價(jià)值工程理論進(jìn)行評(píng)估的評(píng)估過(guò)程加以分析,歸納出一套電氣系統(tǒng)多方案評(píng)估流程,并基于高級(jí)語(yǔ)言C#,編制了一套自動(dòng)評(píng)估軟件,旨在解決上述問(wèn)題。
目前,要完成上述評(píng)估工作,通常要進(jìn)行5個(gè)計(jì)算處理過(guò)程(圖1),每個(gè)過(guò)程的計(jì)算占用設(shè)計(jì)人員大量的精力和時(shí)間。尤其對(duì)于“計(jì)算處理①”,為了消除評(píng)估過(guò)程中由人為因素造成的偏差,往往采取多位工程師參與評(píng)估,然后將其評(píng)估結(jié)果一一處理,最后得到“各個(gè)功能評(píng)估指標(biāo)權(quán)重系數(shù)”的方法,其數(shù)據(jù)處理量非常多;類(lèi)似地,為了獲得“各方案的滿足程度”這一參數(shù),也要經(jīng)過(guò)一個(gè)同樣的過(guò)程。這2個(gè)過(guò)程的計(jì)算量最大、耗時(shí)最長(zhǎng),制約設(shè)計(jì)效率最嚴(yán)重。
圖1 汽車(chē)電氣系統(tǒng)評(píng)估流程圖
C#由微軟(Microsoft)開(kāi)發(fā)和發(fā)布,并且經(jīng)Ecma與ISO核準(zhǔn)和認(rèn)可,是一種完全支持面向?qū)ο箝_(kāi)發(fā)的編程語(yǔ)言;它繼承了較為成熟的C語(yǔ)言的優(yōu)秀功能和C++語(yǔ)言的高效率性能,同時(shí)摒棄二者內(nèi)部的“宏”批量處理和多重繼承等復(fù)雜特性;另外,它還繼承了VB的可視化操作風(fēng)格,因而具有更好的操作性能,同時(shí),較為智能的輸入語(yǔ)法功能使得編程效率進(jìn)一步提高,目前已經(jīng)成為.Net開(kāi)發(fā)的首選語(yǔ)言。
1)C#的一些重要的功能:①自動(dòng)垃圾回收功能(Garbage Collecting Automatically);②豐富的標(biāo)準(zhǔn)庫(kù)(Abundant Standard Library);③委托和事件管理(Delegates and Events Management);④泛型變量的使用(Generics Variables)等。
2)C#的主要特點(diǎn):①完全地面向?qū)ο螅?];②較高的安全性:表現(xiàn)在C#代碼通過(guò)編譯后存儲(chǔ)為IL(Intermediate Language)這種中間語(yǔ)言,達(dá)到代碼與平臺(tái)、特定的CPU的無(wú)關(guān)性,通過(guò).Net平臺(tái)提供的類(lèi)型安全檢查功能防止類(lèi)型錯(cuò)誤,對(duì)代碼的安全加以保證;③個(gè)性化組件的開(kāi)發(fā):根據(jù)解決方案和程序架構(gòu)的需求可以自定義開(kāi)發(fā)專(zhuān)用組件,該組件的開(kāi)發(fā)語(yǔ)言可以是.Net平臺(tái)所支持的任何語(yǔ)言,開(kāi)發(fā)后的組件集成在.Net中[2]供團(tuán)隊(duì)共享,可實(shí)現(xiàn)開(kāi)發(fā)團(tuán)隊(duì)的分工協(xié)作和效率的提升。
方案評(píng)估軟件的模塊及軟件架構(gòu)設(shè)計(jì)如圖2所示。
圖2 評(píng)估軟件架構(gòu)
為了便于對(duì)設(shè)計(jì)信息進(jìn)行管理,在汽車(chē)電氣系統(tǒng)設(shè)計(jì)過(guò)程中輸出的交流文件、發(fā)布文件等技術(shù)文件,大多數(shù)都采用Excel文件格式。若要實(shí)現(xiàn)本軟件進(jìn)行自動(dòng)評(píng)估,就需要實(shí)現(xiàn)軟件與Excel平臺(tái)的信息交互。因此,解決2個(gè)工作平臺(tái)之間的信息交互是本次設(shè)計(jì)的關(guān)鍵環(huán)節(jié),現(xiàn)就其中關(guān)鍵的解決方法和技術(shù)加以闡述。
3.2.1 添加com組件(Microsoft Office 11.0 Object Library)
在所建立的項(xiàng)目中,需要引用下述組件,方法如圖3所示。
圖3 .Net平臺(tái)的部分com組件顯示圖
3.2.2 在項(xiàng)目中引用Excel命名空間
使用using指令,引用Excel的命名空間,方法如圖4所示。
圖4 .Net平臺(tái)實(shí)現(xiàn)引用Excel命名空間的代碼
3.2.3 建立信息交互通道代碼
1)引用Excel對(duì)象
Excel.Application excel = new Excel.Application();
2)引用Excel工作簿
excel.Application.Workbooks.Add(true);
Excel.Workbook xBook = excel.Workbooks._Open(FilPath+"功能指標(biāo)權(quán)重?cái)?shù)打分+ i+".xls");
Excel.Worksheet xSheet = (Excel.Worksheet)xBook.Sheets[1];
excel.Visible = false;//使Excel可視
其中,“FilPath”是Excel文件的路徑,如:E:ScheamEvalue
3)每個(gè)單元格的定位代碼
excel.Cells[Row, Column]).Text
經(jīng)過(guò)如上操作,建立并完成了2個(gè)平臺(tái)的信息交互通道,實(shí)現(xiàn)數(shù)據(jù)通信。
根據(jù)需要解決問(wèn)題的分析,形成圖5所示的編程思路。
圖5 程序流程圖
基于上述流程圖,筆者編制了各個(gè)模塊的程序,并對(duì)軟件代碼進(jìn)行了整體調(diào)試。為了了解軟件的運(yùn)行情況,基于以下案例進(jìn)行了驗(yàn)證。案例假設(shè)有待評(píng)方案A、B、C,評(píng)估指標(biāo)為F1、F2、F3,設(shè)其成本分別為CA、CB、CC。再由不同專(zhuān)業(yè)的工程師(5位)對(duì)各方案進(jìn)行評(píng)估打分,受篇幅所限,這里僅僅給出其中一位評(píng)估人員的數(shù)據(jù),即功能指標(biāo)權(quán)重打分表、各方案的功能滿足程度打分表和各個(gè)方案的成本數(shù)據(jù)表,分別如表1、表2、表3所示,從而獲得評(píng)估數(shù)據(jù)。
表1 功能指標(biāo)權(quán)重打分表
表2 各方案的功能滿足程度打分表
表3 各方案的成本數(shù)據(jù)表
按照傳統(tǒng)的人工計(jì)算方法,方案A、B、C的功能價(jià)值系數(shù)分別為0.333、0.329、0.325。軟件計(jì)算結(jié)果如圖6所示。
圖6 評(píng)估軟件界面
從上述驗(yàn)證可知,軟件能夠順利地實(shí)現(xiàn)與Excel的信息交互,計(jì)算結(jié)果與人工計(jì)算一致。人工計(jì)算時(shí)間約為10min,軟件從啟動(dòng)到計(jì)算,再到結(jié)果的顯示,總用時(shí)約為2.5s,同時(shí)不用反復(fù)翻閱資料,核對(duì)數(shù)據(jù)。這些區(qū)別充分證明了該軟件不僅能消除人工枯燥的計(jì)算工作,還能提高評(píng)估效率,且評(píng)估工作越多,這種的效果將越明顯。
本文首先闡述了汽車(chē)電氣系統(tǒng)設(shè)計(jì)過(guò)程中各個(gè)方案評(píng)估工作中所遇到的耗時(shí)長(zhǎng)、工作量大等問(wèn)題,然后介紹了.Net平臺(tái)下的C#語(yǔ)言及其特點(diǎn),探索了將傳統(tǒng)的評(píng)估工作需求與C#的優(yōu)點(diǎn)進(jìn)行結(jié)合的可能性,設(shè)計(jì)了評(píng)估軟件架構(gòu),給出了流程圖,探索并給出了軟件與Excel之間的信息交互模塊的代碼,最后對(duì)軟件進(jìn)行了驗(yàn)證,結(jié)果表明:軟件能夠準(zhǔn)確地計(jì)算出評(píng)估結(jié)果。這不僅能提高整車(chē)電氣系統(tǒng)評(píng)估工作的效率,還較大程度上將工程師從枯燥的計(jì)算工作中解放出來(lái)。同時(shí),該專(zhuān)用軟件設(shè)計(jì)方法對(duì)類(lèi)似的其他專(zhuān)用分析軟件的開(kāi)發(fā)具有一定的指導(dǎo)意義和工程參考價(jià)值。
[1] 丁貴廣.ASP及ASP.NET編程基礎(chǔ)與實(shí)例(第2版)[M].北京:機(jī)械工業(yè)出版社,2004.
[2] 張固.ASP網(wǎng)絡(luò)應(yīng)用系統(tǒng)典型模塊開(kāi)發(fā)實(shí)例解析[M].北京:人民郵電出版社,2004.