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

滾動軸承選型設計程序開發(fā)探析

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

滾動軸承選型設計程序開發(fā)探析

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

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

0引言

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

1編寫預處理

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

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

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

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

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

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

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

5結(jié)論

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

參考文獻:

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

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

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

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

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

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

作者:蔚福強 楊文超 羅霽 單位:南通理工學院