于波



摘要:隨著科技的不斷進(jìn)步,主要依賴(lài)機(jī)械技術(shù)和電子技術(shù)的傳統(tǒng)機(jī)電支架力學(xué)性能分析系統(tǒng)已經(jīng)不能滿(mǎn)足日益增長(zhǎng)的需求,無(wú)法進(jìn)行更為龐大的計(jì)算及精確的控制能力,鑒于此,通過(guò)計(jì)算機(jī)技術(shù),提出基于MFC框架的機(jī)電支架力學(xué)性能分析系統(tǒng)。系統(tǒng)開(kāi)發(fā)利用Visual Studio 2015開(kāi)發(fā)平臺(tái),Access數(shù)據(jù)庫(kù),軟件采用MFC框架。系統(tǒng)經(jīng)過(guò)測(cè)試驗(yàn)證,運(yùn)行穩(wěn)定,使用效果良好,方便了工程設(shè)計(jì)人員使用。
關(guān)鍵詞:MFC;機(jī)電支架;力學(xué)性能分析系統(tǒng);數(shù)據(jù)庫(kù);Excel
中圖分類(lèi)號(hào):TP311? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A? ? ? 文章編號(hào):1009-3044(2018)35-0053-02
Abstract: According to the actual needs of engineers in daily work, the mechanical properties analysis system of mechanical and electrical support is designed. With the computer technology as the leading factor and the efficient Microsoft Foundation Classes(MFC) software framework, the problems of low efficiency, large data calculation and precise control ability in traditional electromechanical technology are solved.
Key words: MFC; mechanical and electrical support; mechanical performance analysis system; database; Excel
1 背景
機(jī)電技術(shù)作為現(xiàn)階段我國(guó)市場(chǎng)經(jīng)濟(jì)進(jìn)步的關(guān)鍵支撐點(diǎn)之一,其運(yùn)行現(xiàn)狀與發(fā)展趨勢(shì)對(duì)于社會(huì)各個(gè)產(chǎn)業(yè)都具有重要作用。當(dāng)代計(jì)算機(jī)技術(shù)作為現(xiàn)階段的高新科技,其如何引入并有效應(yīng)用于至機(jī)電領(lǐng)域已經(jīng)成為相關(guān)學(xué)術(shù)界和一線(xiàn)操作技術(shù)人員的熱點(diǎn)課題。基于此,該文以計(jì)算機(jī)技術(shù)和機(jī)電中的具體力學(xué)性能分析問(wèn)題兩項(xiàng)內(nèi)容為研究對(duì)象,設(shè)計(jì)出以MFC為架構(gòu)的機(jī)電支架力學(xué)性能分析系統(tǒng)。該系統(tǒng)功能全面,可進(jìn)行龐大的科學(xué)計(jì)算,擁有精確的控制能力。
2 機(jī)電支架力學(xué)性能分析系統(tǒng)模型技術(shù)分析
MFC設(shè)計(jì)框架是微軟公司提供的一個(gè)類(lèi)庫(kù)(class libraries),以C++類(lèi)的形式封裝了Windows API,并且包含一個(gè)應(yīng)用程序框架,以減少應(yīng)用程序開(kāi)發(fā)人員的工作量。對(duì)于該機(jī)電支架力學(xué)性能分析系統(tǒng)桌面應(yīng)用程序來(lái)說(shuō),可用資源多,各種控件和已有的代碼,各種參考資料,只要會(huì)C++就能上手。如果對(duì)MFC的基礎(chǔ)類(lèi)不滿(mǎn)意,還可以自己繼承添加新的成員。使用起來(lái)非常地靈活,執(zhí)行效率很高,比較適合做大型工程。
3 機(jī)電支架力學(xué)性能分析系統(tǒng)總體設(shè)計(jì)
3.1 系統(tǒng)流程設(shè)計(jì)
系統(tǒng)主要功能通過(guò)選擇機(jī)電支架種類(lèi),選擇并輸入載荷類(lèi)別和大小以及選擇支架零部件型號(hào)規(guī)格,依據(jù)這些參數(shù),后臺(tái)自動(dòng)選擇相應(yīng)的計(jì)算模型,進(jìn)行數(shù)據(jù)處理和判斷,輸出對(duì)應(yīng)數(shù)據(jù)及圖表,并根據(jù)使用者需求確認(rèn)是否將本次所有記錄及結(jié)果存進(jìn)Excel文檔中。基于以上需求,該機(jī)電支架力學(xué)性能分析系統(tǒng)基本流程如圖1所示。
3.2 系統(tǒng)功能模塊設(shè)計(jì)
系統(tǒng)功能模塊結(jié)構(gòu)包括數(shù)據(jù)參數(shù)輸入模塊、數(shù)據(jù)及圖表輸出模塊,報(bào)表功能模塊等,以此為核心,根據(jù)設(shè)計(jì)模型中的外觀模式,設(shè)計(jì)多個(gè)接口供客戶(hù)端調(diào)用,系統(tǒng)模塊如圖2所示,下面簡(jiǎn)要闡述各模塊的功能。
3.2.1 數(shù)據(jù)參數(shù)輸入模塊
使用者需按照規(guī)范輸入數(shù)據(jù)參數(shù),首先選取機(jī)電支架種類(lèi),分為普通支架和抗震支架兩類(lèi),共有 7 種:直角懸臂支架、直角斜撐懸臂支架、圓弧懸臂支架、圓弧斜撐懸臂支架、側(cè)向抗震支架、縱向抗震支架、側(cè)縱兩向抗震支架,接著輸入支架零部件型號(hào)規(guī)格參數(shù),支架組件由 4 種零部件組成:懸臂支架、T 型螺栓、預(yù)埋槽道、錨桿,最后是選取載荷種類(lèi)并輸入大小。
3.2.2 數(shù)據(jù)及圖表輸出模塊
根據(jù)前面的計(jì)算條件參數(shù),依據(jù)相應(yīng)的力學(xué)計(jì)算模型,輸出懸臂支架支撐點(diǎn)作用力大小,并進(jìn)行懸臂支架最大撓度校核和懸臂支架、 T 型螺栓、預(yù)埋槽道、錨桿的強(qiáng)度校核,判斷能否滿(mǎn)足要求,進(jìn)行輸出。根據(jù)計(jì)算結(jié)果動(dòng)態(tài)輸出演示懸臂支架的彎矩圖、剪力圖、撓曲線(xiàn)圖,給用戶(hù)直觀的感受。
3.2.3 報(bào)表模塊
將用戶(hù)的輸入?yún)?shù),計(jì)算模型公式,數(shù)據(jù)輸出結(jié)果和圖表等元素進(jìn)行整理,統(tǒng)一輸出到Excel文件中,保存本次計(jì)算結(jié)果,進(jìn)行統(tǒng)計(jì)以及方便今后的查詢(xún)和統(tǒng)計(jì)。
3.3 數(shù)據(jù)庫(kù)設(shè)計(jì)
該系統(tǒng)基本實(shí)體類(lèi)基于主要業(yè)務(wù)的系統(tǒng)需求,需要以下數(shù)據(jù)表類(lèi):懸臂支架表,預(yù)埋槽道表,T型螺栓表,錨桿表,以上實(shí)體類(lèi)用于對(duì)數(shù)據(jù)參數(shù)的處理。除此之外,根據(jù)業(yè)務(wù)需要還有相關(guān)的支架材料表,用于強(qiáng)度校核,方便系統(tǒng)擴(kuò)展。從輕便易用的角度出發(fā),該系統(tǒng)采用的是體積最小相關(guān)配置最少的Access數(shù)據(jù)庫(kù)。鑒于篇幅有限,以下只給出懸臂支架類(lèi)和支架材料類(lèi)的核心字段。
4 系統(tǒng)實(shí)現(xiàn)
4.1 界面布局
MFC框架自帶控件,包括Button,Static Text,List Control,Picture Control等,結(jié)合這些控件可以十分方便地建立可視化界面,將這些控件與對(duì)應(yīng)的數(shù)據(jù)輸入?yún)?shù)對(duì)應(yīng)起來(lái),變量名參照基本原則:變量名=屬性+類(lèi)型+對(duì)象描述來(lái)命名參數(shù)。為了更好地布局,更完善的用戶(hù)體驗(yàn),還需引入外部控件,包括繪圖控件TeeChart.ocx及表格控件GridControl控件。
4.2 數(shù)據(jù)參數(shù)輸入模塊
支架種類(lèi),載荷種類(lèi)等需要選擇的參數(shù)采用Combox控件,輸入?yún)?shù)采用Text控件,對(duì)照?qǐng)D采用Picture Control控件,根據(jù)面向?qū)ο笤O(shè)計(jì)原則,將這些參數(shù)設(shè)計(jì)成對(duì)應(yīng)的實(shí)體類(lèi),包括T型螺栓類(lèi),錨桿類(lèi)等。
4.3 數(shù)據(jù)及圖標(biāo)輸出模塊
數(shù)據(jù)輸出包括數(shù)據(jù)大小輸出以及數(shù)據(jù)是否滿(mǎn)足校驗(yàn)強(qiáng)度,同時(shí)對(duì)于這些輸出的數(shù)據(jù)還要進(jìn)行判斷是否進(jìn)行報(bào)表輸出到Excel文件中,所以每個(gè)輸出數(shù)據(jù)還要有個(gè)單選框與之對(duì)應(yīng),用戶(hù)輸出時(shí)通過(guò)點(diǎn)擊單選框判斷是否輸出這些數(shù)據(jù),第三方控件GridControl很好的貼切這些需求,能完美的完成上述功能。
繪圖采用第三方提供的TeeChart的ActiveX控件,該控件需要注冊(cè),注冊(cè)方法為以管理員身份打開(kāi)cmd命令行,輸入regsvr32? [fileAddressName]/TeeChart.ocx,這樣即可注冊(cè)成功。
4.4 報(bào)表模塊
在完成報(bào)表模塊之前需確保客戶(hù)端運(yùn)行有Microsoft的Excel軟件,wps是不行的,因?yàn)橹挥蠱icrosoft的Excel軟件才提供了有關(guān)的類(lèi)庫(kù),滿(mǎn)足該條件后即可調(diào)用Excel提供的接口,能滿(mǎn)足該系統(tǒng)需要的類(lèi)就只有5個(gè)類(lèi)CApplication, CWorkBook,CWorkSheet,CWorkBooks, CWorkSheets, CRange,選擇接口時(shí)分別_Application,_WorkBook, _WorkSheet,, Range, WorkBooks, WorkSheets,選擇好后點(diǎn)確定,接下來(lái)即可在MFC框架程序中調(diào)用這些接口。需注意的是每次調(diào)用完這些接口需提供關(guān)閉方法,否則會(huì)造成內(nèi)存泄漏,造成不必要的資源浪費(fèi)。
4.5 數(shù)據(jù)庫(kù)實(shí)現(xiàn)
關(guān)系型數(shù)據(jù)庫(kù)采用ADO來(lái)訪問(wèn)數(shù)據(jù)庫(kù),ADO編程的一般步驟:創(chuàng)建一個(gè)Connection對(duì)象,打開(kāi)數(shù)據(jù)源,建立同數(shù)據(jù)源的連接,執(zhí)行一個(gè)SQL命令,使用結(jié)果集,終止連接。ADO最重要的三個(gè)對(duì)象:連接對(duì)象(Connection),命令對(duì)象(Command),記錄集對(duì)象(RecordSet)。在使用這三個(gè)對(duì)象的時(shí)候,需要定義與之相對(duì)應(yīng)的智能指針:_ConnectionPtr、_CommandPtr、_RecordsetPtr,使用智能指針要:定義指針變量、創(chuàng)建其實(shí)例(實(shí)例化)、調(diào)用方法和屬性。該智能指針在析構(gòu)對(duì)象時(shí),自動(dòng)調(diào)用Release方法,即使用后不需要手動(dòng)釋放內(nèi)存,代碼更加簡(jiǎn)潔。但需要調(diào)用Close方法,關(guān)閉連接Connection或者記錄集RecordSet。
4.6 MFC界面美化
使用第三方的MFC界面UI庫(kù):SkinMagic。動(dòng)態(tài)庫(kù)DLL使用.皮膚格式:.smf,可使用SkinBuilder工具進(jìn)行自制皮膚。
5 測(cè)試結(jié)果
系統(tǒng)開(kāi)發(fā)完成后軟件測(cè)試人員通過(guò)白盒測(cè)試,一共測(cè)試了7個(gè)用例:直角懸臂支架、直角斜撐懸臂支架、圓弧懸臂支架、圓弧斜撐懸臂支架、側(cè)向抗震支架、縱向抗震支架、側(cè)縱兩向抗震支架,每個(gè)支架均能完整走完測(cè)試流程,各個(gè)功能模塊一切運(yùn)行正常。接著利用visual studio開(kāi)發(fā)工具自帶的installshield打包插件,將機(jī)電支架力學(xué)性能分析系統(tǒng)打包成安裝包,在客戶(hù)機(jī)上安裝運(yùn)行。在50名工程設(shè)計(jì)人員的測(cè)試使用下進(jìn)行黑盒測(cè)試,通過(guò)數(shù)據(jù)比照,發(fā)現(xiàn)功能一切運(yùn)行正常,并且數(shù)據(jù)精確度比人工計(jì)算更精確。
綜上,無(wú)論白盒測(cè)試還是黑盒測(cè)試,操作流程里,所有主要模塊穩(wěn)定運(yùn)行,各項(xiàng)功能都能正常使用。
6 結(jié)束語(yǔ)
該系統(tǒng)采用MFC框架開(kāi)發(fā)實(shí)現(xiàn)了機(jī)電支架力學(xué)性能分析系統(tǒng),該系統(tǒng)是傳統(tǒng)機(jī)電技術(shù)與現(xiàn)代計(jì)算機(jī)技術(shù)的有機(jī)結(jié)合,解決了傳統(tǒng)力學(xué)分析中無(wú)法進(jìn)行龐大數(shù)據(jù)計(jì)算和精確控制過(guò)程的問(wèn)題,方便了工程設(shè)計(jì)人員使用,極大地提高了工作效率。在系統(tǒng)設(shè)計(jì)方面,對(duì)數(shù)據(jù)庫(kù)設(shè)計(jì)和系統(tǒng)流程設(shè)計(jì)進(jìn)行了討論。該系統(tǒng)經(jīng)過(guò)測(cè)試,能夠穩(wěn)定運(yùn)行,功能全部達(dá)到預(yù)期設(shè)計(jì)要求,不但滿(mǎn)足了機(jī)電支架力學(xué)性能分析系統(tǒng)的實(shí)際需要,而且在穩(wěn)定性和擴(kuò)展性上都具有很大的操作性,有很廣的應(yīng)用前景。
參考文獻(xiàn):
[1] 張宇明. 計(jì)算機(jī)技術(shù)在機(jī)電一體化進(jìn)程中的應(yīng)用研究[J]. 數(shù)字技術(shù)與應(yīng)用, 2016(3).
[2] 袁建新, 朱躍峰. 淺談?dòng)?jì)算機(jī)與機(jī)電一體化技術(shù)的整合[J]. 裝備制造技術(shù), 2007(5).
[3] 王林. 基于 SOA的生產(chǎn)運(yùn)行管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[M]. 北京: 電子工業(yè)出版社, 2015.
[通聯(lián)編輯:謝媛媛]