0 引言
凸輪軸是發動機的重要零件之一,它的加丁精度對發動機的性能有著十分重要的影響。由于凸輪軸是一種非圓類異形零件,利用傳統加工技術難以滿足需要的加工精度,隨動磨削技術是近年來發展起來的一種新型非圓類零件加工方法,指磨床砂輪架x軸根據指令跟隨工件旋轉軸C軸運動,進行磨削,這種方法既能加工圓形類工件,又能加工凸輪、曲軸、凸輪軸等非圓類工件,較傳統加工方法更易保證加工精度,因此,本文將開發利用隨動磨削技術,對凸輪軸進行加工的專用控制軟件,西門子標準數控系統顯然不能滿足加工的要求,采用對西門子840D數控系統進行二次開發的方法,既發揮了西門子數控系統的優良性能,也實現了凸輪軸的加工,具有重要的現實意義。
1 SINUMERIK 840D數控系統的OEM軟件開發包
SINUMERIK 840D主要由三部分構成:數控及驅動單元(CCU或NCU),人機通信(MMC),可編程邏輯控制器(PLC)。三部分以獨立的CPU單元出現,通過總線連接通訊,在功能上既相互分工,又互為支持。OEM軟件是西門子公司專門為機床制造商或第三方開發者提供的進行二次開發的軟件包,采用標準編程語言和標準接口進行數據傳遞,由840D數控系統實現控制。將OEM軟件開發包安裝于MMC上,在WINDOWS操作系統下,使用VB、VC++等編程語言,利用OEM提供的DDE接口,即可訪問NC、PLC、MMC變量及文件。因此,必須通過OEM軟件開發包將開發的軟件嵌入到840D數控系統中,才能實現軟件特殊的功能。
2 凸輪軸磨削軟件的設計
2.1 凸輪軸磨削軟件的框架設計
由于OEM軟件開發包支持VB、VC等語言編程,而VB編寫界面又十分方便且功能強大,所以采用VB編寫一個多窗儺程序來形成磨削軟件的框架。根據凸輪軸磨削加工的特殊要求及使用方便。設計了登錄、參數文件選擇等窗體來完成需要的功能。如圖1所示。
圖1凸輪軸磨削軟件框架凸輪軸磨削軟件框架凸輪軸磨削軟件框架凸輪軸磨削軟件框架 凸輪軸磨削軟件框架
2.2 數據庫的設計
為了使凸輪軸磨削軟件具有更好的通片1性,能夠方便地加工帶有多種類型凸輪片的凸輪軸,能夠采用切人磨、擺動磨等多種磨削方式進行磨削加工,研究采用數據庫來管理種類繁多的數據,使所有的數據層次分明,使用方便。提高軟件的穩定性和實用性。
對于該軟件的數據庫而言,軟件規模不大,數據總量較少,需要較短的開發周期。并且VB能夠訪問方便,所以選擇Access作為軟件的數據庫。結合凸輪軸的結構特點和隨動磨削的加T需要。考慮到用戶使用方便。筆者建立filename,camaxis。axis,csmpiece,llft—。table。compensate—tablet processdata,seqfile,sequence等9個表構建Access數據庫。為了使結構化查詢語言能夠迅速地從數據庫中查找到用戶需要的記錄集,另外在數據庫的9個表中都增加了filename字段,并在各表之間建立丁一對多的關系。
VB中具有豐富的數據庫訪問控件,支持多種數據庫訪問技術,其中ADO技術響應建度快。屬性、方法和事件多。支持多種數據源連接,所以選擇利用ADO技術訪問Access數據庫。井通過結構化查詢語言對數據庫進行查找、修改、保存等處理。具體流程如圖3所示。
3 凸輪軸磨削軟件的嵌入
利用OEM軟件開發包,將凸輪軸磨削軟件嵌人西門子840D數控系統,與其標準界面有機結合。井運行于MMC上,凸輪軸磨削軟件便可訪問NC、PLC、MMC的變量及文件,實現控制機床隨動磨削。加工凸輪軸的功能。
嵌人數控系統的凸輪軸磨削軟件稱為標準OEM區域應用程序。也可叫作順序控制模式的應用程序,只有符合順序控制模式,設計的軟件爿能被轉化為兩門子標準應用程序,也才能完全嵌入到西門子數控系統。
根據OEM軟件使用手冊的說明,順序控制的中心元素是狀態,每個狀態有自身唯一的狀態號,在每個狀態下可以顯示一系列窗體,而每個窗體所要顯示的軟鍵文本則位于相應的語言動態鏈接庫中。通過按下軟鍵的行為可以進行狀態的切換,從而達到軟件設計中窗體切換的效果。凸輪軸磨削軟件嵌人后,如圖4所示,軟件設計中的文件選擇窗體轉化成西門子標準界面。
如圖4所示,西門子標準界面分為五個部分:信息區域用來顯示機床狀態等參數。對話行用來顯示操作文本等信息,這兩部分大多可默認為西門子標準界面,不需毆計,區域應用為軟件要顯示的界面,水平軟鍵和垂直軟鍵則與軟件中的按鈕對應。因此,嵌入凸輪軸磨削軟件分為兩部分:一是將軟件中設計的窗休嵌人到區域應用部分,并完成窗體切換;二是將軟件中的按鈕對應到水平軟鍵和垂直軟鍵上。
從順序控制的定義可以看出,通過將設計的軟件轉化為順序控制模式的應用程序。能夠實現上述嵌入功能。實現順序控制模式的轉化需要使用六個文件:regie ini,mmc.ini,programname.ini。programham-e.mdi,programname.zus,languauge.dll。其中regie.ini和mmc ini是西門子數控系統本身存在的文件,regie-ini用來控制應用程序的初始化和啟動。以及動態鏈接庫的下載,多個應用程序的有序運行。它是一個控制、引導文件,可以用記事本編輯,嵌入設計的軟件只需在該文件的任務配置(TaskConfiguration)中添加自身的應用程序。mmc ini也可用記事本編輯,進行顏色、語言以及硬件配置等設定。此處大都沿用西門子的標準設定。不做修改。
Programname zus為狀態切換文件,programe.mdi為窗體列表文件,不難看出,這兩個文件用來實現嵌人的第一部分,languaage.dll為語言動態鏈接庫,用來實現嵌入的第二部分。而programname.ini為嵌人應用程序的引導文件。下面根據設計軟件(camshaft)的嵌入過程敘述以E四個文件的生成。在、oem下建立camshaft mdi和camshaft zus文件,camshaft mdi可用記事本編輯,包含子窗體名稱的列襲、子窗體的類型、預處理措施、注釋等。如:
由于窗體眾多且意義相近,這里僅列出部分示例。“logo”等為子窗體名稱,I指類型,子窗體共有6種類型,其他參數潑置為缺省值。
Camshaft zus也可用記事本編輯,它包含所有的狀態矩陣,處理所有的狀態切換,從而實現軟件中的窗體切換。根據OEM軟件包的規定,狀態矩陣一般是一個17×8的矩陣。每行由狀態/動作、人口等級、水平鍵文本、垂直鍵文本、子窗體名稱、返回值、標識符、注釋組成。由于每個矩陣意義相似,并且矩陣的3到17行意義跟第二行近似。在此僅列出置錄窗體logo所在狀態的狀態矩陣的前兩行加以說明。
第一行的[0]指狀態號,036分別表示水平軟鍵和垂直軟錘文本的起始地址。與軟件的語言動態鏈接庫對應,“logo”為此狀態下要顯示的子窗體名稱,接下來的“”是用來顯示多個窗體的,此處為空表示此狀態下僅顯示logo,“埃啊北表示返回值,最后一個0表示標識符。這里人口等級和注釋省略。
第二行中的0表示第一個水平軟鍵,標識符下面的1表示按下此鍵要到達的狀態。標識符有兩種含義。用作狀態描述時指是否要保存當前狀態下的設置(如軟鍵文本),用作行動描述時表示要到達的狀態。這里表示在狀態0下,當按下第一個水平軟鍵時。將跳轉到狀態1下的界面。
整個矩陣的第一列為0到16.0到7表示水平方向的8個軟鍵,8到15表示垂直方向的8個軟鍵。16表示返回鍵。這一列不需修改。
在眾多于窗體列表文件和狀態矩陣文件中。需要一個向導文件使開發的應用程序能找到對應的子窗體列表文件和狀態矩陣文件。這就是camshaft ini的作用,同樣在一、oem下建立camshaft ini,內容分為CONTROL和DEBUG兩部分,作如下設置即可:
[CONTROL] MDILIst=camshaft mdi ControlFile=eamshaft.zus [DEBUG]部分不用設置,系統默認即可。
而對于嵌入的第二部分,為了保證嵌^軟件界面語言的獨立性,同時也應該便于修改和轉換,研究采用VC++建立語言動態鏈接庫的方法。在VC十+中將每個狀態下各個軟鍵所對應的文本編輯成一個RC文件,再根據RC文件,即可建立語言動態鏈接庫。為了使regie ini能夠識別嵌^的應用程序,需要在VB程序的PRIVATE模塊中定義一個全局變量保存應用程序名camshaft,并將VB程序的執行文件camshaft exe也復制到..../oem下,這樣。整個凸輪軸磨削軟件的開發便完成了。
4 凸輪軸磨削軟件的實現
通過凸輪軸磨削軟件的設計和順序控制模式應用程序的轉化,實現了凸輪軸磨削軟件的嵌入。具備輪軸的功能,軟件運行情況如圖5所示。
5 結束語
本文采用VB編程語言和Micwsoft Access數據庫技術編寫了凸輪軸磨削軟件.運用VC++建立了軟件的語言動態鏈接庫,并通過OEM軟件開發包將其嵌人到西門子840D數控系統,達到了對數控系統進行二次開發的目的.實現了凸輪軸的磨削,滿足了用戶的需要,可應用到大型數控切點跟蹤曲軸磨床的研究中.具有非常積極的意義。
(審核編輯: 智匯胡妮)
分享