公務(wù)員期刊網(wǎng) 論文中心 正文

滾動(dòng)軸承選型設(shè)計(jì)程序開(kāi)發(fā)探析

前言:想要寫(xiě)出一篇引人入勝的文章?我們特意為您整理了滾動(dòng)軸承選型設(shè)計(jì)程序開(kāi)發(fā)探析范文,希望能給你帶來(lái)靈感和參考,敬請(qǐng)閱讀。

滾動(dòng)軸承選型設(shè)計(jì)程序開(kāi)發(fā)探析

摘要:計(jì)算機(jī)程序輔助機(jī)械師設(shè)計(jì),高效、準(zhǔn)確、全面、經(jīng)濟(jì)的完成設(shè)計(jì)。機(jī)械設(shè)計(jì)分為條件輸入、信息檢索及處理、輸出三個(gè)過(guò)程,旨在降低手冊(cè)對(duì)機(jī)械設(shè)計(jì)的約束、降低新產(chǎn)品設(shè)計(jì)周期進(jìn)而提高企業(yè)競(jìng)爭(zhēng)力。通過(guò)對(duì)滾動(dòng)軸承選型實(shí)驗(yàn),其能高效且準(zhǔn)確的得到的軸承代號(hào)解集。本設(shè)計(jì)思想能夠解決軸承選型設(shè)計(jì)的一般問(wèn)題,能給后續(xù)基礎(chǔ)工業(yè)軟件的開(kāi)發(fā)者提供一些解決問(wèn)題的方法和途徑。

關(guān)鍵詞:機(jī)械設(shè)計(jì);滾動(dòng)軸承;模塊化程序設(shè)計(jì);三大結(jié)構(gòu)

0引言

傳統(tǒng)機(jī)械設(shè)計(jì)過(guò)程過(guò)于繁瑣、于設(shè)計(jì)者設(shè)計(jì)門(mén)檻高、于企業(yè)市場(chǎng)競(jìng)爭(zhēng)力低、于產(chǎn)品資源浪費(fèi)較多等。過(guò)去強(qiáng)大全球制造業(yè)基礎(chǔ)給計(jì)算機(jī)的普及提供了可能,今天迅猛發(fā)展的電腦技術(shù)也再次給制造業(yè)注入新的血液。CAD、ANSYS、UG等軟件如雨后春筍般,計(jì)算機(jī)助力機(jī)械設(shè)計(jì)已成了大趨勢(shì),對(duì)于基礎(chǔ)機(jī)械設(shè)計(jì)程序的開(kāi)發(fā)對(duì)于一個(gè)國(guó)家的重要性就不言而喻了。軟件開(kāi)發(fā)的難點(diǎn)主要集中在問(wèn)題的轉(zhuǎn)換、防御系統(tǒng)的搭建、數(shù)據(jù)庫(kù)的建立、算法設(shè)計(jì)、代碼的后期維護(hù)上。針對(duì)問(wèn)題轉(zhuǎn)換:不同設(shè)計(jì)內(nèi)容,從細(xì)節(jié)來(lái)講不盡相同,但從宏觀上來(lái)講大致可以看作:初始邊界工況和期望參數(shù)的輸入、中間數(shù)據(jù)庫(kù)檢索及邏輯處理分流、最后工程結(jié)果的輸出。問(wèn)題轉(zhuǎn)換困難主要在中間環(huán)節(jié),邏輯與數(shù)據(jù)庫(kù)用C語(yǔ)言實(shí)現(xiàn)。但基于任何事件都可以用選擇、循環(huán)、順序來(lái)實(shí)現(xiàn)的理論之上,這個(gè)問(wèn)題是解的。防御性系統(tǒng):將不合法、不符設(shè)計(jì)的輸入清除,并在人機(jī)交互界面提示重新輸入。防御性設(shè)計(jì)用以保證程序的健壯性;數(shù)據(jù)庫(kù)建立及圖表查詢實(shí)現(xiàn):在讀寫(xiě)文件的時(shí),考慮數(shù)表的復(fù)雜性,采用結(jié)構(gòu)體數(shù)組來(lái)存儲(chǔ)。特殊的某些圖表查詢,用SPSS軟件擬合曲線將信息方程化,進(jìn)而完成讀圖。

1編寫(xiě)預(yù)處理

滾動(dòng)軸承PAD圖為整個(gè)程序編寫(xiě)核心之所在,可以更加直觀地展示。由圖1可以得出,已經(jīng)把復(fù)雜的軸承設(shè)計(jì)過(guò)程轉(zhuǎn)化成了一個(gè)由選擇、循環(huán)、順序問(wèn)題。

2機(jī)械設(shè)計(jì)程序?qū)崿F(xiàn)的基本思想

機(jī)械設(shè)計(jì)程序是一個(gè)復(fù)雜的系統(tǒng),可以將其劃分成若干個(gè)層次,各層次分別獨(dú)立的完成各自層級(jí)的功能,同類層與同類子層之間進(jìn)行信息交換,高層向次高層發(fā)送命令,次高層為對(duì)應(yīng)的高層服務(wù)并返回執(zhí)行結(jié)果,通過(guò)“定義主程序”將各層“定義子程序”聯(lián)動(dòng)起來(lái),實(shí)現(xiàn)程序功能。具體而言,劃分層次依次是主程序?qū)?、功能模塊層、工況期望儲(chǔ)備層、邏輯判斷層、中央數(shù)據(jù)庫(kù)調(diào)用層、工程結(jié)果輸出層。以軸承為例,主程序選擇軸承功能,提示用戶輸入相應(yīng)軸承的邊界工況以及用戶期望的軸承期望壽命等參數(shù),邏輯判斷層通過(guò)工況期望儲(chǔ)備層里的信息進(jìn)行邏輯判斷調(diào)用相應(yīng)數(shù)據(jù)庫(kù)并進(jìn)行運(yùn)算,得到結(jié)果。關(guān)系示意如圖2所示。為保證代碼的一致性,舍棄使用return語(yǔ)句來(lái)實(shí)現(xiàn)主要數(shù)據(jù)交流,有破則必有立,核心數(shù)據(jù)的交流它法有二,一喚指針,二曰引用。這里指針包括函數(shù)指針、指針函數(shù)、結(jié)構(gòu)體指針等。引用在代碼簡(jiǎn)化上有很大的作用。以指針為例,程序通過(guò)地址讀改數(shù)據(jù)。在僅希望數(shù)據(jù)被閱讀,也對(duì)應(yīng)的采用了常量指針。另外return一般只做運(yùn)行狀態(tài)反饋用。程序?qū)ν獍l(fā)展的基本原則:其一,必須符合我國(guó)基本國(guó)情,符合我國(guó)的相關(guān)法律。其二,始終堅(jiān)持以需求驅(qū)動(dòng)、效益驅(qū)動(dòng)的雙驅(qū)原則?;脭?shù)、宏定義、const常量及其代碼的可讀性:設(shè)計(jì)過(guò)程中,難免會(huì)遇到類似的常量,其復(fù)用性高。若代碼里直接出現(xiàn),久而久之,就演變成了幻數(shù)。在這里我們采用宏定義或const常量。宏定義:使用實(shí)例:另外為了保證函數(shù)名與宏定義有別,一般宏定義均為全大寫(xiě)字符,加下劃線組合單詞。高層與次高層函數(shù)名的定義:由于每一模塊的程序內(nèi)部交流的信息不盡相同,故特定模塊的高層與次高層的函數(shù)名應(yīng)當(dāng)也有一定繼承性。模塊主函數(shù):模塊子函數(shù):有部分功能在各模塊都會(huì)用到,我們把它們列入通用函數(shù)之列,具體而言有緩存區(qū)清除函數(shù)、數(shù)據(jù)合法性函數(shù)判斷函數(shù)等。函數(shù)聲明的后面有詳細(xì)的函數(shù)功能說(shuō)明。另外有數(shù)字編號(hào),可以把它們理解成函數(shù)的別名,在程序運(yùn)行時(shí)其不起任何作用,但在代碼編寫(xiě)時(shí),它的存在會(huì)方便檢索。

3建立程序防御性系統(tǒng)及增強(qiáng)程序健壯性的途徑

考慮到用戶不免會(huì)輸入失誤,所以在程序架構(gòu)時(shí),為保證程序的健壯性,我們有必要對(duì)程序進(jìn)行防御性設(shè)計(jì)。用戶的指令先進(jìn)入的是防御性系統(tǒng),在判斷其合法的情況下才會(huì)調(diào)用指定執(zhí)行函數(shù),執(zhí)行函數(shù)在用戶指令或數(shù)據(jù)庫(kù)的共同作用下執(zhí)行命令之后進(jìn)行下一步,否則就會(huì)把判定攻擊指令進(jìn)行清除,并在人機(jī)交互界面打印出提示語(yǔ),讓用戶重新輸入指令。其工作機(jī)理由圖3所示。防御性系統(tǒng)是防御性函數(shù)和防御性代碼的有機(jī)結(jié)合。緩存區(qū)清除主要用于規(guī)避錯(cuò)誤指令進(jìn)入程序,程序的異常執(zhí)行和意外崩潰死循環(huán)等。函數(shù)核心代碼:菜單指令捕捉函數(shù):菜單有諸多的選項(xiàng),但是選項(xiàng)是特定的,如若鍵入失誤,得不到正確的進(jìn)程,故而采用以下代碼設(shè)計(jì)防止非法字符的進(jìn)入。函數(shù)核心代碼:防御性不拘于獨(dú)立存在,有時(shí)復(fù)用性地就零散幾條代碼,復(fù)用性高就獨(dú)立于成函數(shù)。

4數(shù)據(jù)庫(kù)的讀取實(shí)現(xiàn)

數(shù)據(jù)庫(kù)背景及數(shù)表的讀取:數(shù)據(jù)庫(kù)是機(jī)械設(shè)計(jì)電算的基礎(chǔ)。數(shù)表讀取的方法:困難在于讀取表格的多樣性。對(duì)于讀取函數(shù),考慮到一類數(shù)據(jù)具有很大的相似性,所以我們統(tǒng)一定義一個(gè)最大的結(jié)構(gòu)體,其結(jié)構(gòu)體成員是各類型數(shù)表屬性的并集。結(jié)構(gòu)體成員名與機(jī)械設(shè)計(jì)參數(shù)有差異,是因C/C++本身對(duì)變量名的定義有限定所致。取讀取函數(shù)成員集合為READ;對(duì)于數(shù)據(jù)庫(kù)本身,將數(shù)表本身也要進(jìn)行特殊處理,由于讀取的函數(shù)和數(shù)據(jù)庫(kù)有差別,但我們可以通過(guò)在數(shù)據(jù)庫(kù)里加入一列列的“-1”數(shù)據(jù)來(lái)占位,來(lái)使數(shù)據(jù)庫(kù)可以統(tǒng)一用一個(gè)讀取函數(shù)來(lái)實(shí)現(xiàn),降低了編程難度,如圖4所示。取數(shù)據(jù)庫(kù)成員集合依次為A、B、C,。解析識(shí)圖的實(shí)現(xiàn),可將其轉(zhuǎn)換成一個(gè)數(shù)學(xué)問(wèn)題。即通過(guò)識(shí)取圖上的特別點(diǎn),將點(diǎn)的坐標(biāo)進(jìn)行數(shù)據(jù)擬合,得到其表達(dá)式,再通過(guò)特定的判別式來(lái)判斷其點(diǎn)的位置,最后得到需要的過(guò)程參數(shù)。圖5是傳統(tǒng)機(jī)械設(shè)計(jì)過(guò)程中需要算公式查數(shù)表讀圖的過(guò)程,圖6則是我們現(xiàn)在用程序思維進(jìn)行機(jī)械設(shè)計(jì)的過(guò)程。

5結(jié)論

傳統(tǒng)的機(jī)械設(shè)計(jì),需要查閱大量的圖表及繁雜的運(yùn)算以試錯(cuò)的方式來(lái)進(jìn)行設(shè)計(jì),時(shí)常運(yùn)算到最后由于初始參數(shù)選擇失誤導(dǎo)致設(shè)計(jì)失敗。本設(shè)計(jì)程序整體充分運(yùn)用模塊化程序設(shè)計(jì)思想,程序代碼具有很好的可維護(hù)性及可讀性,方便后期程序升級(jí)及程序兼容;在問(wèn)題分解與轉(zhuǎn)換上以三大結(jié)構(gòu)為落腳點(diǎn),面對(duì)數(shù)據(jù)庫(kù)的建立問(wèn)題,我們采用外置的.txt來(lái)實(shí)現(xiàn),適當(dāng)?shù)摹?1”列可作為未來(lái)國(guó)標(biāo)更新的預(yù)改空間,使用文件讀取,結(jié)構(gòu)體數(shù)組儲(chǔ)存來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)的建立,最后實(shí)現(xiàn)計(jì)算機(jī)輔助設(shè)計(jì)的目的;防御性系統(tǒng)設(shè)計(jì)讓程序的健壯性及穩(wěn)定性得到了很大的提高;運(yùn)用軟件將一些數(shù)據(jù)進(jìn)行擬合,可以簡(jiǎn)化編程難度或?qū)崿F(xiàn)計(jì)算機(jī)識(shí)圖;現(xiàn)目前軸承選型設(shè)計(jì)已經(jīng)可以完全不用翻閱設(shè)計(jì)手冊(cè)、資料,只需鍵入邊界條件便可以完成設(shè)計(jì),并且充分的考慮到了工廠的需求,可以選擇現(xiàn)有的資源進(jìn)行設(shè)計(jì)。與傳統(tǒng)的設(shè)計(jì)相比,其可更快、更方便地幫助設(shè)計(jì)者進(jìn)行設(shè)計(jì)。本機(jī)械設(shè)計(jì)程序思想能夠解決軸承選型設(shè)計(jì)的一般問(wèn)題,目前在指導(dǎo)帶傳動(dòng)設(shè)計(jì)、齒輪設(shè)計(jì)、軸設(shè)計(jì)、鍵連接設(shè)計(jì)已經(jīng)取得階段性成果,能夠給后續(xù)基礎(chǔ)工業(yè)軟件的開(kāi)發(fā)提供一些解決問(wèn)題的方法和途徑。

參考文獻(xiàn):

[1]鄧祁曾.計(jì)算機(jī)輔助機(jī)械設(shè)計(jì)注意事項(xiàng)及其程序編制技巧[J].現(xiàn)代機(jī)械,1988(02):11-14.

[2]游敏,劉更新.適于機(jī)械圖剖面線繪制的通用程序設(shè)計(jì)[J].三峽大學(xué)學(xué)報(bào)(自然科學(xué)版),1993(01):11-17.

[3]張益,殷愛(ài)華,薛淑琴,馮中鍙.機(jī)床零件的袖珍計(jì)算機(jī)計(jì)算程序(四)機(jī)械設(shè)計(jì)程序編制的一般方法[J].機(jī)床,1987(02):43-46.

[4]吳軍,陳鵬慧,王飛,郭鵬武.基于VB6.0的機(jī)械工時(shí)定額計(jì)算程序設(shè)計(jì)[J].中州煤炭,2014(09):85-87,107.

[5]沈元元,于晨斯.基于Matlab的機(jī)械設(shè)計(jì)方法研究[J].科技創(chuàng)新導(dǎo)報(bào),2015,12(18):63.

[6]楊元慧.C語(yǔ)言在機(jī)械設(shè)計(jì)數(shù)表程序化中的應(yīng)用[J].煤礦機(jī)械,2010,31(01):223-224.

作者:蔚福強(qiáng) 楊文超 羅霽 單位:南通理工學(xué)院