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