摘 要:以西門子840D數(shù)控系統(tǒng)為開發(fā)平臺(tái),利用OEM軟件為錐齒輪數(shù)控研齒機(jī)開發(fā)出符合設(shè)計(jì)要求的控制界面,利用VC++創(chuàng)建和西門子數(shù)控系統(tǒng)相聯(lián)系的語言動(dòng)態(tài)鏈接庫,并利用西門子數(shù)控系統(tǒng)提供的開發(fā)環(huán)境和VB、VC++接口,將用戶的特殊界面及加工方法嵌入西門子系統(tǒng)中。介紹了OEM環(huán)境下界面的編制。
關(guān)鍵詞:人機(jī)界面;西門子840D;語言動(dòng)態(tài)鏈接庫
錐齒輪因傳動(dòng)平穩(wěn)可靠、承載能力高等優(yōu)點(diǎn)被廣泛應(yīng)用于車輛、機(jī)械等行業(yè).作為一種局部接觸的不完全共軛齒輪副,其嚙合質(zhì)量至關(guān)重要.研齒是為了降低齒面粗糙度、改善齒面接觸質(zhì)量,使齒輪副在傳動(dòng)時(shí)達(dá)到高平穩(wěn)和低噪聲.
為了適應(yīng)個(gè)性化市場(chǎng)的需要,錐齒輪的精加工需要使用先進(jìn)的數(shù)控系統(tǒng),而西門子公司提供的SINUMERIK 840D數(shù)控系統(tǒng)沒有專門針對(duì)錐齒輪研齒機(jī)的控制界面,它只提供了開發(fā)軟件OEM,用戶可以通過二次開發(fā)把自己的功能模塊集成到系統(tǒng)中.
1 OEM嵌入過程
本研究選用SINUMERIK 840D系統(tǒng)為開發(fā)平臺(tái),以錐齒輪數(shù)控研齒機(jī)為研究對(duì)象,在西門子標(biāo)準(zhǔn)界面下,用西門子840D數(shù)控系統(tǒng)提供的標(biāo)準(zhǔn)編程語言編寫用于加工中的程序,并把程序存儲(chǔ)在840D數(shù)控系統(tǒng)中.將開發(fā)軟件OEM安裝在PC機(jī)上,在OEM環(huán)境下,利用VB進(jìn)行人機(jī)界面的設(shè)計(jì),利用VC++創(chuàng)建語言動(dòng)態(tài)鏈接庫,按照OEM的說明把所設(shè)計(jì)的界面嵌入840D系統(tǒng)中.語言動(dòng)態(tài)鏈接庫的作用是實(shí)現(xiàn)軟件文本的調(diào)用.軟件內(nèi)容可以從語言動(dòng)態(tài)鏈接庫中讀取,最后按照OEM的說明,實(shí)現(xiàn)人機(jī)界面與數(shù)控系統(tǒng)的通訊.將PC機(jī)與西門子系統(tǒng)相連,系統(tǒng)再與研齒機(jī)相連,進(jìn)行調(diào)試,最終實(shí)現(xiàn)對(duì)研齒機(jī)的控制.利用所設(shè)計(jì)的界面不僅能改變各種參數(shù),而且可以將機(jī)床的運(yùn)行情況顯示在界面上,以監(jiān)視機(jī)床的運(yùn)行.
開發(fā)軟件OEM提供了順序控制結(jié)構(gòu),順序結(jié)構(gòu)可以為SINUMERIK的標(biāo)準(zhǔn)程序提供一個(gè)框架和兼容的OEM程序.順序控制包括:管理程序(順序)控制(菜單樹由狀態(tài)組成),查詢軟件(垂直和水平),查詢NC專用鍵,顯示軟鍵文本,管理交互式提示行,提供語言支持.用戶需要在順序結(jié)構(gòu)的框架中植入在VB環(huán)境中已經(jīng)設(shè)計(jì)好的界面.描述順序控制最核心的元素是狀態(tài),每一個(gè)狀態(tài)有單獨(dú)狀態(tài)號(hào)碼,可以通過VB把設(shè)計(jì)好的窗體加到所在區(qū)域,軟件文本安裝到語言動(dòng)態(tài)鏈接庫里,水平和垂直軟件的內(nèi)容從語言動(dòng)態(tài)鏈接庫里讀取.所開發(fā)的操作系統(tǒng)每一個(gè)界面對(duì)應(yīng)一個(gè)狀態(tài).
應(yīng)用程序OEMBSP20的順序控制包括6個(gè)文件,分別是REGIE.INI,MMC.OEMBSP20.INI,OEMBSP20.MDI,OEMBSP20.ZUS,LANGUAGE.DLL.
REGIE.INI是程序管理器文件,MMC.INI是全局初始化文件.OEMBSP20.INI是本工程的初始化文件,是用記事本編輯的,內(nèi)容為:
MDIList是子窗口的列表,所有的子窗口列表都在文件OEMBSP20.MDI中,ControFile表示控制的文件,如狀態(tài)和動(dòng)作都位于文件OEMBSP20.ZUS中.
OEMBSP20.MDI是子窗口列表所在文件,它是用寫字板編輯的,它的主要內(nèi)容為:
所開發(fā)的操作系統(tǒng)的1個(gè)界面只包含1個(gè)窗體,由于窗體較多,這里只列出了其中一部分,OEM1是第1個(gè)窗體,后面的序號(hào)1表示一種窗體類型.當(dāng)點(diǎn)擊其他軟件時(shí),這種類型的窗體,可以被刪除,其上的數(shù)據(jù)被刪除,當(dāng)再次啟動(dòng)后,上次的數(shù)據(jù)無效.這種窗體的load事件在每次啟動(dòng)時(shí)被重新調(diào)用.
OEMBSP20.ZUS文件中存放著所有的狀態(tài)矩陣,它也是用寫字板編輯的,狀態(tài)矩陣主要描述狀態(tài)中的軟件如何分配任務(wù),下面以其中1個(gè)狀態(tài)為例加以解釋說明.
此狀態(tài)對(duì)應(yīng)的狀態(tài)矩陣為:
這是第2個(gè)狀態(tài)的狀態(tài)矩陣,第1行中的[2]表示狀態(tài)的號(hào)碼,16表示水平軟鍵的起始地址,如要給每個(gè)界面上的軟鍵寫入文本,就要知道給哪個(gè)鍵寫入文本,這就要求給每個(gè)軟鍵編一個(gè)號(hào);17表示垂直軟鍵的起始地址;“OEM2”表示狀態(tài),顯示的哪個(gè)界面;“0”表示返回值;0表示標(biāo)志符.第2行中的0表示第1個(gè)水平軟鍵,0~7表示水平方向的8個(gè)軟鍵,8~15表示垂直的8個(gè)軟鍵;最后1列的參數(shù)0表示按下第1個(gè)水平軟鍵時(shí)將會(huì)顯示第0個(gè)狀態(tài).下列幾行的參數(shù)同第1行。
LANGUAGE.DLL是語言動(dòng)態(tài)鏈接庫文件,它是用VC++編輯的,語言動(dòng)態(tài)鏈接庫文件主要用來存儲(chǔ)軟件文本.順序控制提供了很多標(biāo)準(zhǔn)的模塊和窗體.用戶只能把實(shí)現(xiàn)自己程序的窗體和模塊嵌入到西門子提供的標(biāo)準(zhǔn)順序控制中,從而實(shí)現(xiàn)特殊功能.
2 錐齒輪數(shù)控研齒機(jī)的界面設(shè)計(jì)
圖1為基于西門子840D數(shù)控系統(tǒng)的研齒機(jī)主界面,從主界面的各種按鍵分別進(jìn)入到研齒機(jī)需要的專用加工界面.
圖2為錐齒輪研齒加工的參數(shù)輸入界面,可以看到其中包括小輪的旋向,小輪、大輪的齒數(shù),小輪、大輪的直徑,并且基于更加人性化和可操作性的理念,對(duì)單位也可以做出選擇,操作者可以選擇使用英制(英寸)和美制(毫米)單位.
從主界面可以清楚的看到水平軟鍵和豎直軟鍵的自定義按鈕(由于目前設(shè)計(jì)的界面數(shù)還不錯(cuò)暫時(shí)沒有定義豎直軟件的內(nèi)容),按下第3個(gè)水平軟鍵“研磨界面”就能進(jìn)入錐齒輪研磨設(shè)定界面,如圖3所示.
目前的研磨方式有2種模式選擇,一種為從錐齒輪齒頂?shù)烬X根的單軌跡研磨方式(圖3a),這種方式為最簡(jiǎn)單的研磨方式,對(duì)于數(shù)控程序的設(shè)計(jì)和編寫都比較容易,實(shí)現(xiàn)起來比較簡(jiǎn)單;一種為齒面的橢圓軌跡研磨方式(圖3b),這種方式綜合了從齒根到齒頂,錐齒輪大端到小端的V/H調(diào)整方面.對(duì)于這2種研磨方式都可以通過手動(dòng)輸人數(shù)據(jù)來實(shí)現(xiàn)操作,可以對(duì)具體的齒面位置研磨時(shí)間進(jìn)行設(shè)定,針對(duì)齒面接觸區(qū)不良的位置進(jìn)行專門研磨,達(dá)到更佳研磨效果.
3結(jié)束語
利用OEM軟件提供的順序控制,用VB把設(shè)計(jì)的人機(jī)界面嵌人到西門子系統(tǒng),并且利用VC++環(huán)境中建立的語言動(dòng)態(tài)鏈接庫實(shí)現(xiàn)軟件文本內(nèi)容的讀取,最終把特有的功能模塊集成到西門子系統(tǒng)中,形成了適合于錐齒輪研齒機(jī)的操作系統(tǒng).操作人員可以很方便地選擇加工程序,并進(jìn)行參數(shù)的編輯,無須修改工件加工程序,還可以隨時(shí)得到加工過程中的各種狀態(tài)信息,實(shí)現(xiàn)數(shù)控機(jī)床的監(jiān)控和操作.這樣,不僅擴(kuò)展了數(shù)控系統(tǒng)的使用范圍,簡(jiǎn)化了操作,提高了勞動(dòng)生產(chǎn)率,而且還可以為機(jī)床的維護(hù)提供大量有價(jià)值的參考信息。
參考文獻(xiàn):
[1]朱秀琳,文懷興,孫波.?dāng)?shù)控磨齒機(jī)人機(jī)界面的開發(fā)[J].制造技術(shù)與機(jī)床,2004(5):88-89.
[2]李旗號(hào),胡?。赪in95的車床數(shù)控界面系統(tǒng)的研究[J].機(jī)床與液壓,2000(1):27.
[3]李南,王剛,趙學(xué).開發(fā)軟件OEM下界面的編制[J].機(jī)床與液壓,2006(18).207-209
[4]高峰.西門子OEM軟件在數(shù)控凸輪軸磨床上的開發(fā)與應(yīng)用[J].制造技術(shù)與機(jī)床,2006(10):122-125.
[5]董因濤.法國(guó)NUM數(shù)控系統(tǒng)NC人機(jī)界面設(shè)計(jì)[J].2003(2):82.