以文本方式查看主題 - 曙海教育集團(tuán)論壇 (http://www.hufushizhe.com/bbs/index.asp) -- 人機(jī)界面、數(shù)控系列 (http://www.hufushizhe.com/bbs/list.asp?boardid=61) ---- 基于西門子840D數(shù)控系統(tǒng)的錐齒輪研齒機(jī)的人機(jī)界面開發(fā) (http://www.hufushizhe.com/bbs/dispbbs.asp?boardid=61&id=2370) |
-- 作者:wangxinxin -- 發(fā)布時(shí)間:2010-12-9 13:54:20 -- 基于西門子840D數(shù)控系統(tǒng)的錐齒輪研齒機(jī)的人機(jī)界面開發(fā) 摘 要:以西門子840D數(shù)控系統(tǒng)為開發(fā)平臺(tái),利用OEM軟件為錐齒輪數(shù)控研齒機(jī)開發(fā)出符合設(shè)計(jì)要求的控制界面,利用VC 創(chuàng)建和西門子數(shù)控系統(tǒng)相聯(lián)系的語(yǔ)言動(dòng)態(tài)鏈接庫(kù),并利用西門子數(shù)控系統(tǒng)提供的開發(fā)環(huán)境和VB、VC 接口,將用戶的特殊界面及加工方法嵌入西門子系統(tǒng)中。介紹了OEM環(huán)境下界面的編制。 關(guān)鍵詞:人機(jī)界面;西門子840D;語(yǔ)言動(dòng)態(tài)鏈接庫(kù) 錐齒輪因傳動(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)編程語(yǔ)言編寫用于加工中的程序,并把程序存儲(chǔ)在840D數(shù)控系統(tǒng)中.將開發(fā)軟件OEM安裝在PC機(jī)上,在OEM環(huán)境下,利用VB進(jìn)行人機(jī)界面的設(shè)計(jì),利用VC++創(chuàng)建語(yǔ)言動(dòng)態(tài)鏈接庫(kù),按照OEM的說(shuō)明把所設(shè)計(jì)的界面嵌入840D系統(tǒng)中.語(yǔ)言動(dòng)態(tài)鏈接庫(kù)的作用是實(shí)現(xiàn)軟件文本的調(diào)用.軟件內(nèi)容可以從語(yǔ)言動(dòng)態(tài)鏈接庫(kù)中讀取,最后按照OEM的說(shuō)明,實(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專用鍵,顯示軟鍵文本,管理交互式提示行,提供語(yǔ)言支持.用戶需要在順序結(jié)構(gòu)的框架中植入在VB環(huán)境中已經(jīng)設(shè)計(jì)好的界面.描述順序控制最核心的元素是狀態(tài),每一個(gè)狀態(tài)有單獨(dú)狀態(tài)號(hào)碼,可以通過VB把設(shè)計(jì)好的窗體加到所在區(qū)域,軟件文本安裝到語(yǔ)言動(dòng)態(tài)鏈接庫(kù)里,水平和垂直軟件的內(nèi)容從語(yǔ)言動(dòng)態(tài)鏈接庫(kù)里讀取.所開發(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ù)無(wú)效.這種窗體的load事件在每次啟動(dòng)時(shí)被重新調(diào)用. OEMBSP20.ZUS文件中存放著所有的狀態(tài)矩陣,它也是用寫字板編輯的,狀態(tài)矩陣主要描述狀態(tài)中的軟件如何分配任務(wù),下面以其中1個(gè)狀態(tài)為例加以解釋說(shuō)明. 這是第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是語(yǔ)言動(dòng)態(tài)鏈接庫(kù)文件,它是用VC++編輯的,語(yǔ)言動(dòng)態(tài)鏈接庫(kù)文件主要用來(lá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ī)需要的專用加工界面. 3結(jié)束語(yǔ) 利用OEM軟件提供的順序控制,用VB把設(shè)計(jì)的人機(jī)界面嵌人到西門子系統(tǒng),并且利用VC++環(huán)境中建立的語(yǔ)言動(dòng)態(tài)鏈接庫(kù)實(shí)現(xiàn)軟件文本內(nèi)容的讀取,最終把特有的功能模塊集成到西門子系統(tǒng)中,形成了適合于錐齒輪研齒機(jī)的操作系統(tǒng).操作人員可以很方便地選擇加工程序,并進(jìn)行參數(shù)的編輯,無(wú)須修改工件加工程序,還可以隨時(shí)得到加工過程中的各種狀態(tài)信息,實(shí)現(xiàn)數(shù)控機(jī)床的監(jiān)控和操作.這樣,不僅擴(kuò)展了數(shù)控系統(tǒng)的使用范圍,簡(jiǎn)化了操作,提高了勞動(dòng)生產(chǎn)率,而且還可以為機(jī)床的維護(hù)提供大量有價(jià)值的 |