目前,西門子數(shù)控系統(tǒng)在我國機床行業(yè)中使用得非常廣泛,但主要限于簡單地使用西門子標準數(shù)控系統(tǒng)和淺層次的應(yīng)用。全數(shù)控凸輪軸磨床是用于凸輪軸凸輪片磨削加丁的專用機床,標準數(shù)控系統(tǒng)的應(yīng)用不僅不能充分發(fā)揮西門子數(shù)控系統(tǒng)的性能,同時也使得全數(shù)控凸輪軸磨床的效益得不到充分發(fā)揮。開放式數(shù)控系統(tǒng)的二次開發(fā)能適用個性化市場的需要,具有很大的現(xiàn)實意義,本文介紹開發(fā)出的能滿足特殊控制需求的全數(shù)控凸輪軸磨床OEM軟件。
1 SINUMERIK 840D系統(tǒng)的結(jié)構(gòu)分析
SINUMERIK 840D運動控制系統(tǒng),建立在綜合的系統(tǒng)平臺上,通過系統(tǒng)設(shè)定功能而適用幾乎所有的控制系統(tǒng),840D與SIMODRIVE611數(shù)字驅(qū)動系統(tǒng)和SI—MAllCS7可編程序控制器一起,構(gòu)成了一個全數(shù)字控制系統(tǒng),可用于各種復雜零件的加工。西門子840D數(shù)控系統(tǒng)可將整個數(shù)控系統(tǒng)分為數(shù)控單元NCU,人機交互接口MMC,可編程控制器PLC三個主要區(qū)域,各項任務(wù)在三個區(qū)域中獨立完成,通過三者的協(xié)調(diào)工作來完成整個數(shù)控系統(tǒng)的控制功能。
SINUMERIK 840D數(shù)控系統(tǒng)的CNC控制功能和人機界面(Human Machine Interface,HMI)功能一起都在PC處理器上運行,包含帶接口卡的工業(yè)PC機、Windows NT操作系統(tǒng)、OPC應(yīng)用接口和NC控制軟件等標準化部件。通過OPC和Sinumerik—COM接口,能實現(xiàn)軟件程序和NC/PLC之間的通訊,從而提供了數(shù)控系統(tǒng)的二次開發(fā)的可能。
2 SINUMEⅪK 840D數(shù)控系統(tǒng)的軟件框架
SINUMERIK 840D數(shù)控系統(tǒng)提供了標準的西門子應(yīng)用框架和原始設(shè)備制造商(Original Equipment Manufacturer,OEM)應(yīng)用框架,其中在MMC2文件夾中的標準用戶界面是不允許修改的,OEM中包含的是進行二次開發(fā)的文件集合,他們與數(shù)據(jù)管理文件DH、頭文件HD、臨時文件夾ALTMP、用戶修改信息USER和其他信息ADD ON等文件夾一起構(gòu)成了SINUMERIK 840D系統(tǒng)文件結(jié)構(gòu)。通過編輯OEM文件夾中的文件,把自己的界面及控制管理嵌入到整個系統(tǒng),即達到系統(tǒng)二次開發(fā)的目的。
3 OEM結(jié)構(gòu)及軟件開發(fā)過程
開發(fā)軟件提供了順序控制結(jié)構(gòu),順序結(jié)構(gòu)提供了標準的西門子應(yīng)用框架兼容OEM應(yīng)用程序。圖1為順序控制界面示意圖,由連續(xù)的狀態(tài)數(shù)字、狀態(tài)界面、軟鍵文本、返回鍵和標志符等組成。用戶需在順序結(jié)構(gòu)的框架中移植VB環(huán)境中設(shè)計好的界面,將其窗體加到狀態(tài)1所在的區(qū)域,軟鍵等其他文本信息從語言動態(tài)鏈接庫中讀取。每一界面對應(yīng)一個狀態(tài),通過軟鍵、返回鍵、鼠標點擊、操作模式的改變和狀態(tài)控制矩陣等來控制界面的切換,實現(xiàn)特殊的狀態(tài)功能,從而構(gòu)成OEM的運行模式,實現(xiàn)順序控制。
全數(shù)控凸輪軸磨床OEM軟件的開發(fā)分三部分來進行:滿足全數(shù)控凸輪軸磨床特殊控制要求的VB多窗體操作界面的設(shè)計、語言動態(tài)庫的設(shè)計以及界面的嵌入控制。
3.1 操作界面的設(shè)計
操作界面的設(shè)計完全在VB下進行,其過程實際上是編寫一個VB多窗體程序。每一個窗口作為單獨的子功能,以子窗口的形式分別被調(diào)用,多個窗體一起組成整個界面功能。根據(jù)全數(shù)控凸輪軸磨床的功能要求,同時考慮到軟件良好的人機交互功能,將軟件的功能分為狀態(tài)顯示、凸輪參數(shù)的設(shè)置、磨削加工參數(shù)的設(shè)置、升程表的編輯和加工程序的生成等功能模塊,通過合理的設(shè)計和規(guī)劃,來完成每個子窗口的設(shè)計,進而完成整個界面的整體設(shè)計。
順序控制提供了很多標準的模塊和窗體,只有使用完整的順序控制,HMI軟件包才支持程序,否則不能進行程序的運行。標準模塊和窗體是不能修改的,除標準模塊和窗體外,程序還有可自己定義的模塊。在VB環(huán)境中,把全數(shù)控凸輪軸磨床數(shù)控控制程序的窗體和模塊,嵌入到西門子提供的標準順序控制中,編輯其中可自已定義的模塊實現(xiàn)某些特殊的應(yīng)用和功能,最后編譯生成可執(zhí)行文件tulun.exe,然后再應(yīng)用于HMI環(huán)境中。
3.2 語言動態(tài)鏈接庫的創(chuàng)建
為了保持全數(shù)控凸輪軸磨床數(shù)控界面語言的獨立性,及其便于修改和變換,除了對各種顯示文本有最小位數(shù)的規(guī)定的要求,還需能夠修改和轉(zhuǎn)換這些獨立的代碼;為滿足這些要求,采用從動態(tài)鏈接庫(DLL)中調(diào)用這些獨立文本的方法非常合適。DLL是共享函數(shù)庫的可執(zhí)行文件,通過對其中的信息進行檢索來使用,從而實現(xiàn)語言的切換。
創(chuàng)建動態(tài)鏈接庫之前,先建立一個RC源文件,RC文件中的文本與軟鍵等控件有一一對應(yīng)的關(guān)系。利用VC++,根據(jù)RC文件,創(chuàng)建語言DLL。然后為每個語言DLL創(chuàng)建相同名字的初始化文件languagename.ini。languagename,ini包含了軟鍵文本,要使HSK6的顯示文本為tulun,可進行如下設(shè)置: [HSofikeyTexts] [HSK6=”tulun”]
3.3 界面的嵌入及順序控制過程
OEM軟件順序控制主要有以下六個文件:regie.ini,mmc.ini,progname.ZUS,progname.ini,progname.mdi和language.dll。下面通過全數(shù)控凸輪軸磨床控制界面的嵌入實現(xiàn)過程,來說明整個順序控制的結(jié)構(gòu)和各文件之間的功能和關(guān)系。
1)建立程序管理文件regie.ini,將其移至?/OEM/下。regie.ini是一個對基本模塊、應(yīng)用程序、動態(tài)鏈接庫和VBX文件的柔性管理的控制文件,可用文本進行編輯。各應(yīng)用是由regie開始管理啟動,其信息一起置于regie.ini中,構(gòu)成程序管理文件。
在MMC2中,regie.ini已經(jīng)進行了標準化的設(shè)置,在全數(shù)控凸輪軸磨床的OEM軟件設(shè)計中,大部分可沿用標準界面框架控制,只需修改少許特殊設(shè)置。由于HSK0-HSK5為數(shù)控系統(tǒng)標準控制界面按鍵,一般從HSK6進入全數(shù)控凸輪軸磨床的OEM軟件控制,響應(yīng)極限時間為60s。在.../OEM/下的regie.ini中,進行如下設(shè)置:
[TaskConfiguration] Task6=tuhn=wp,Timeout:=60000
mmc.ini文件包含所有的用戶特定設(shè)定,能在此設(shè)定顏色和語言(依賴于硬件的具體情況和相關(guān)配置),如果NCU沒有被連接,能在這里找到各種規(guī)格。在此凸輪軸的OEM軟件開發(fā)中,沿用標準用戶界面MMC2中的ininc.ini,不再另進行設(shè)置。
2)在.../OEM/下建立新的文件夾tulun,創(chuàng)建子窗口列表文件tulun.mdi及控制文件tulun.ZUS,并將其復制到此文件夾中。
tulun.mdi用寫字板編輯,包含了各子窗口的名字、子窗口的類型、預處理措施和注釋等信息。本磨床的磨削控制軟件中,主要包含主界面、狀態(tài)顯示、凸輪參數(shù)的設(shè)置、加工參數(shù)的設(shè)置、升程表的編輯和加工程序的生成等功能模塊子窗口,可進行如下設(shè)置:
其中,OEMO、OEMl等表示子窗體名稱表示子窗體當點擊其他軟件被覆蓋時將被刪除,PreloadTrue表示將對OEM2進行預下載處理,“//”后面為注釋文字。
tulun.Zus也是用寫字板編輯的,存放著所有的狀態(tài)矩陣,狀態(tài)矩陣描述著狀態(tài)中的軟件如何分配任務(wù)。
tulun.ZUS中的狀態(tài)表記錄著應(yīng)用程序的所有狀態(tài)和行為,通過狀態(tài)量的設(shè)置來對其進行控制。每一個狀態(tài)的結(jié)構(gòu)一般是一個17×8的矩陣表,每行對應(yīng)著一個狀態(tài)序號,由狀態(tài)/動作、人口等級、水平鍵文本、垂直鍵文本、子窗口、返回值、標識符和注釋組成。由于篇幅的關(guān)系,在此僅列出OEM主界面的狀態(tài)矩陣。
第一行中的[0]表示狀態(tài)的號碼,0 0分別表示水平軟鍵和垂直軟鍵的起始地址,"OEMO"表示顯示OEM0窗口對應(yīng)的主界面,"0"表示返回值,最后一個0表示標志符(FLAG),標志符表示各狀態(tài)控制子界面的序號。入口等級在此省略,表示為默認等級,無注釋?! 〉诙兄惺孜坏?表示第一個水平軟鍵,向下0~7表示水平方向的8個軟鍵,8~15表示垂直方向的8個軟鍵,16表示返回鍵,返回值下面的數(shù)字表示按下鍵時將要返回的狀態(tài)。其他幾行的參數(shù)同第一行對應(yīng)。
3)編輯本工程的引導文件tulun.ini,將其移至.../OEM/下。tulun.ini是OEM界面控制的向?qū)募?,它控制著子窗口和控制文件的管理,文件名字由程序模塊PRIVATE.BAS中作為一個常量來定義。tulun.ini可用文本進行編輯,其內(nèi)容分為CONTROL與DEBUG兩大部分,分設(shè)如下:
[CONTROL] //定義控制文件、幫助文件及用戶圖片的路徑 MDIList=tuhn.mdi ControlFile:tuhn.ZUS SKPlCTO=../skpicto/1 1.jpg [DEBUG]//設(shè)置系統(tǒng)的DEBUG支持
4)嵌入前兩步生成的VB多窗體執(zhí)行文件tulun.exe及語言DLL與ini文件。將tulun.exe移至.../OEM/下,并在.../OEM/下建立新的文件夾language,將多種語言的language.dll、language.ini復制到此文件夾中。至此,完成了整個OEM的設(shè)計過程,其OEM文件框架結(jié)構(gòu)可總結(jié)。
4 OEM軟件的運行
完成了OEM的設(shè)計后,運行MMC2中系統(tǒng)模擬數(shù)控通訊服務(wù)器NCDDE.EXE,可模擬啟動NCDDEServer,進行OEM軟件模擬調(diào)試。啟動HMI&mdash,進入HMI標準界面。點擊tulun軟鍵,即可進入OEM軟件主界面,進行滿足特殊需求的軟件控制。系統(tǒng)本身的技術(shù)復雜性,OEM的設(shè)計難度較大,效率較低。本文系統(tǒng)地總結(jié)了OEM軟件的設(shè)計方法,把全數(shù)控凸輪軸磨床磨削的專用控制界面集成到西門子系統(tǒng)中,形成應(yīng)用于全數(shù)控凸輪軸磨床磨削的數(shù)控系統(tǒng)軟件。這樣,在自己的專用界面下,操作人員可以很方便地對西門子數(shù)控系統(tǒng)特有的算術(shù)參數(shù)R參數(shù)進行保存和管理,進行加工程序的編制和保存,簡化了操作,節(jié)省加工時間,提高生產(chǎn)率,滿足了自身的特殊需要,取得良好的效果。
(審核編輯: 智匯胡妮)
分享