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