河南中光學集團有限公司 (南陽 473006) 胡飛嘉
配算機床交換齒輪是機械加工中經(jīng)常遇到的計算工作,在車削非標準螺紋、磨螺紋和滾齒工作中均會遇到。傳統(tǒng)的計算方法有輾轉(zhuǎn)相除法、分數(shù)歸一法等,這些方法步驟多、計算容易出錯。由于目前計算機已經(jīng)非常普及,因而可考慮編程讓計算機自動搜索。這樣可迅速求得最優(yōu)結(jié)果,還可給出不同的選配方式供選擇,快捷方便。
選配交換齒輪程序是一個比較簡單的計算類程序,其實質(zhì)是根據(jù)已知傳動比 (一個正實數(shù))和若干齒輪齒數(shù) (均為不大于127的整數(shù)),要求用Z1/Z2×Z3/Z4的形式表示出傳動比,其中Z1~Z4是已知的齒數(shù)中的4個。
要編程實現(xiàn)這一功能,可把這些齒數(shù)的所有搭配都計算一遍,然后選出最接近傳動比的搭配。為了有可選性,不能只輸出最接近的一組傳動比,而應(yīng)當按照誤差從小到大排序,給出若干組結(jié)果供選擇。為了適應(yīng)各種不同的機床,齒輪齒數(shù)不能只用事先給定的默認值,而應(yīng)當能讓用戶自設(shè)。為了讓用戶的選擇有針對性,程序還應(yīng)當提供嚙合性校驗、優(yōu)先選擇單列交換齒輪等功能。
有了這樣的思路,就可以著手編程了。下面是用Delphi軟件編程的過程。當然,讀者也可以根據(jù)自己的習慣選用其他的編程工具。
圖1
運行 Delphi,新建一個 project(工程),在主form(窗體)中放入如下控件 (見圖1),其中的LabelEdit用于輸入傳動比,StringGrid用于顯示計算結(jié)果,memo用于設(shè)置齒輪齒數(shù)。最下面放一個Pro-gressBar用于顯示計算進度。圖1中的幾個方塊形標記 (如labelTitle等)是為了說明控件名稱,不是程序界面的一部分。
源程序代碼如下 (摘取部分):
程序運行前,需在對象檢視器中把CheckBox2、CheckBox3、CheckBox4這三個復(fù)選按鈕對應(yīng)的On-Click事件都設(shè)為CheckBox1Click。程序運行結(jié)果如圖2所示。
圖2
運行程序,在“傳動比”輸入框中打入傳動比,單擊“計算”,程序就開始搜索,待下方的進度條跑完后 (幾秒鐘即可完成),表格中就顯示出來搜索結(jié)果了。拖動右側(cè)滾動條可顯示出前100組結(jié)果。例如圖2中傳動比是0.88379790,程序搜索的結(jié)果中第2組是Z1=60,Z2=65,Z3=45,Z4=47,其傳動比是0.88379705,精度達到了小數(shù)點后6位,完全能夠滿足加工需要。搜索結(jié)果中的第1組前面有個叉,表示這組結(jié)果被過濾掉了。過濾掉的原因是Z3過大,無法嚙合。如果操作者使用的機床齒數(shù)和程序中預(yù)設(shè)的不同,可自行設(shè)置齒輪齒數(shù)。設(shè)置齒數(shù)時不需要修改源程序,在程序運行時單擊“交換齒輪齒數(shù)設(shè)置”即可修改齒數(shù)。設(shè)置完成后,程序會自動保存,下次再運行時直接使用的就是修改后的齒數(shù)。
通過編程來實現(xiàn)選配交換齒輪,計算快速、準確度高,避免了人工計算的繁瑣過程和出錯的可能。而且能夠一勞永逸地解決問題。因為源程序只需編寫一次,編譯成的可執(zhí)行程序則一直可用。通過這個例子可以看出,對于一些簡單而實用的軟件,自己編寫的程序和從網(wǎng)上下載的相比,能夠避免注冊、軟件試用期和廣告等一系列問題,而且能夠根據(jù)自己的意愿編寫軟件的功能,更加切合實際需要。這也說明根據(jù)工作需要編寫實用的小軟件是一種新的工作思路,這種工作思路的推廣比軟件本身的推廣更有意義。