朱弘峰
(上海第二工業(yè)大學(xué)機(jī)電工程學(xué)院,上海 201209)
截至2009年上半年,全國機(jī)床保有總量為700萬臺,其中普通機(jī)床為300萬臺,數(shù)控設(shè)備約70萬臺[1]。我國已成為世界上機(jī)床保有量最大的國家,但機(jī)床整體水平仍然比較落后。數(shù)控系統(tǒng)的應(yīng)用水平大多停留在基本功能應(yīng)用的層面上。據(jù)統(tǒng)計(jì),目前我國役齡10年以上的機(jī)床占60 %以上。這些機(jī)床在未來5~10年都可能面臨大修甚至功能性報(bào)廢或技術(shù)性淘汰的問題[1]。這些問題可以通過數(shù)控化改造來解決。老舊的問題機(jī)床形成了相當(dāng)可觀的可循環(huán)利用的再制造潛在資源。專業(yè)從事設(shè)備數(shù)控化再制造的綠色制造產(chǎn)業(yè)逐漸興起。
從理論上講,機(jī)床再制造是運(yùn)用先進(jìn)制造技術(shù)、數(shù)控及自動(dòng)化技術(shù)等高新技術(shù)對老舊機(jī)床進(jìn)行精度修復(fù)與功能改造的過程。業(yè)內(nèi)專家指出,針對不同類型的機(jī)床和不同的工藝要求,機(jī)床再制造方案都是不同的。所以,機(jī)床再制造既要深入了解原有設(shè)備的結(jié)構(gòu)性能,又要切實(shí)理解用戶新的工藝要求,并結(jié)合機(jī)床的實(shí)際結(jié)構(gòu)和系統(tǒng)的軟硬件資源情況,通過恰當(dāng)?shù)募夹g(shù)應(yīng)用手段,使符合條件的舊機(jī)床經(jīng)過設(shè)計(jì)、改造后,在可靠性、工藝性、經(jīng)濟(jì)性和環(huán)保性等方面超越新造機(jī)床。應(yīng)該注意到,如果僅僅對設(shè)備機(jī)械部分進(jìn)行大修,加裝或更新數(shù)控系統(tǒng),而不針對新工藝要求進(jìn)行必要的二次開發(fā),所謂的綠色制造就只能停留在修復(fù)層面上,新的工藝要求可能不會(huì)實(shí)現(xiàn)。而且,修復(fù)的設(shè)備很快又會(huì)面臨功能性報(bào)廢或技術(shù)性淘汰的局面,達(dá)不到提高精度、增強(qiáng)功能、降低成本和可持續(xù)利用的目的。
本文以西門子公司生產(chǎn)的數(shù)控系統(tǒng)Sinumerik 840D的HMI(人機(jī)接口或人機(jī)操作界面)二次開發(fā)為例,結(jié)合一個(gè)實(shí)驗(yàn)程序,解析系統(tǒng)架構(gòu)、資源和功能調(diào)用方法,闡明數(shù)控機(jī)床二次開發(fā)在綠色制造領(lǐng)域應(yīng)用的一般方法。
如圖1所示,Sinumerik 840D 數(shù)控系統(tǒng)是西門子公司的高端數(shù)控系統(tǒng),主要由可編程邏輯控制器 (PLC)、計(jì)算機(jī)數(shù)字控制 (NCK) 和HMI三個(gè)部分組成。核心硬件為數(shù)控單元 (NCU),其中包括PLC、NCK和COM(NCDDE提供的一種數(shù)據(jù)服務(wù)) 三部分。HMI包括計(jì)算機(jī)單元(PCU)和機(jī)床控制面板 (MCP) 兩個(gè)部分。
NCU和PCU通過帶寬為1.5 MBps的OPI (西門子840/810數(shù)控系統(tǒng)采用的一種通訊總線) 總線連接,由西門子或用戶開發(fā)的HMI應(yīng)用程序通過NCDDE Server (基于NC的動(dòng)態(tài)數(shù)據(jù)交換服務(wù)) 提供的DCTL (用于NCDDE的控件) 或OPC (有關(guān)過程控制和描述的連接的嵌入對象,微軟公司的通訊協(xié)議) 服務(wù),從OPI總線上共享或處理來自NCK的BTSS (西門子840/810/FM NC的數(shù)據(jù)接口規(guī)范) 數(shù)據(jù),從而實(shí)現(xiàn)具有不同用途的監(jiān)控功能[2]。
圖1 系統(tǒng)結(jié)構(gòu)Tab.1 System diagram
611D (西門子數(shù)字驅(qū)動(dòng)) 伺服驅(qū)動(dòng)器通過驅(qū)動(dòng)總線和NCK緊密連接,按照NCK的指令精確地控制著伺服電機(jī)和機(jī)床軸的位置、速度和輸出功率[3]。各控制環(huán)的動(dòng)態(tài)數(shù)據(jù),甚至包括電源饋入模塊和伺服電機(jī)的各種狀態(tài)數(shù)據(jù)全部被采集并整理為BTSS數(shù)據(jù)以供實(shí)時(shí)監(jiān)控。
PLC一方面通過一組DB (PLC中的數(shù)據(jù)塊) 數(shù)據(jù)塊調(diào)用NCK的功能,同時(shí)通過另一組DB數(shù)據(jù)讀取來自NCK的信息[4];另一方面也像普通自動(dòng)控制裝置一樣,通過IM (接口模塊) 連接本地I/O (輸入/輸出),或通過Profi Bus DP (西門子公司的現(xiàn)場總線接口) 連接遠(yuǎn)程I/O,然后通過這些I/O信號,處理來自操作面板MCP的操作信息和來自機(jī)床的邏輯事件。值得一提的是,PLC也將其掌握的所有數(shù)據(jù)全部整理為BTSS數(shù)據(jù),這樣無論是本地HMI還是遠(yuǎn)程的NCDDE訪問者都可以通過BTSS數(shù)據(jù)掌握系統(tǒng)的所有狀態(tài)。
PCU其實(shí)就是一臺裝有MPI (西門子840/810數(shù)控系統(tǒng)采用的一種通訊總線)適配器的電腦,和普通臺式電腦一樣,也具有 PCI (工業(yè)標(biāo)準(zhǔn)局部總線規(guī)范) 擴(kuò)展插槽,并且已裝有以太網(wǎng)卡。用戶可以像使用普通電腦一樣,按照TCP/IP (一種以太網(wǎng)通訊規(guī)范) 規(guī)范使用網(wǎng)卡,因此可以輕易地將數(shù)控系統(tǒng)連接到一臺PC (個(gè)人電腦) 或PG (西門子公司PLC專用編程電腦) 甚至局域網(wǎng)上,并通過TCP/IP通訊應(yīng)用程序?qū)崿F(xiàn)遠(yuǎn)程操作、診斷或監(jiān)控。同時(shí)PC或PG也可以通過PC-MPI適配器利用OPC協(xié)議進(jìn)行遠(yuǎn)程訪問。另外,NCU還具有強(qiáng)大的高速I/O處理能力和豐富的基礎(chǔ)軟件供二次開發(fā)使用。
綜上所述,我們已經(jīng)了解到在840D系統(tǒng)的總體框架中所有部件的數(shù)據(jù)連接都遵循BTSS數(shù)據(jù)接口規(guī)范。只要按照其規(guī)范,針對具體的工藝要求,組織資源進(jìn)行二次開發(fā),便能夠真正地發(fā)揮數(shù)控系統(tǒng)潛在的工藝處理能力,達(dá)到提高精度、增強(qiáng)功能、降低成本和可持續(xù)利用的目的。
HMI由OP、PCU和MCP組成。OP上一般有10.4 "以上LCD顯示屏、縱向和橫向各八個(gè)功能鍵和一個(gè)簡化的PS2鍵盤。PCU就是一臺電腦,配置略亞于市場主流PC,具有USB、以太網(wǎng)卡、5611卡等豐富的通訊接口,PCU50配有80 G以上硬盤,裝有Windows操作系統(tǒng)。在默認(rèn)條件下,HMI僅僅用于常規(guī)的操作、顯示、設(shè)置、故障診斷和數(shù)據(jù)管理,因此有相當(dāng)可觀的富余硬件資源,可把它改造成一個(gè)功能強(qiáng)勁的數(shù)據(jù)處理中心,服務(wù)于并行輔助高級控制。
傳統(tǒng)的按鈕面板已經(jīng)被MCP取代。MCP面板上有急停按鈕、各種操作按鍵、程序保護(hù)鑰匙開關(guān)、格雷碼倍率開關(guān)、18個(gè)自定義操作鍵和指示燈,可通過用戶PLC程序支配。
圖2 標(biāo)準(zhǔn)應(yīng)用程序界面Tab.2 Interface of a standard application
HMI主程序 Regie_Cmd的界面布局如圖 2所示。HMI Programming Package提供了兩個(gè)功能:第一,用高級HMI的標(biāo)準(zhǔn)軟件創(chuàng)建應(yīng)用程序;第二,通過用 “Regie” 程序和Siemens標(biāo)準(zhǔn)應(yīng)用程序框架 “Sequence Control” 嵌入應(yīng)用程序,以便通過功能軟鍵在標(biāo)準(zhǔn)程序界面內(nèi)打開用戶程序,并且訪問NC/PLC數(shù)據(jù)。
2.2.1 程序嵌入工具
“Regie” 是用來嵌入應(yīng)用程序的,類似于Windows的任務(wù)管理器。它確保系統(tǒng)初始化、系統(tǒng)上電、裝載動(dòng)態(tài)連接庫和MMC、以正確的次序啟動(dòng)應(yīng)用、系統(tǒng)配置和切換區(qū)域?!癛egie” 從一個(gè)由配置工具編輯的初始化文件中得到參數(shù)。使得嵌入應(yīng)用變得簡單[2]。
2.2.2 界面設(shè)置工具
“Sequence Control” 是西門子標(biāo)準(zhǔn)應(yīng)用程序的框架和相關(guān)OEM程序。它提供以下功能:制作程序結(jié)構(gòu)(狀態(tài)菜單樹)、管理軟鍵 (縱向和橫向)、管理NC特殊鍵、顯示軟鍵文字、管理對話行和語言支持。
2.2.3 “HMI Programming Package” 提供的數(shù)據(jù)服務(wù)
“HMI Programming Package” 提供了以下服務(wù):OPC報(bào)警服務(wù)、OPC事件服務(wù)、OPC數(shù)據(jù)(參數(shù))服務(wù)和COM服務(wù)。COM服務(wù)集成在NCU的系統(tǒng)軟件中。
2.2.4 “NCDDE Server” 提供的服務(wù)
“NCDDE Server” 為應(yīng)用程序開發(fā)提供了以下三種服務(wù):
1) 通過OPC數(shù)據(jù)訪問或DCTL控件訪問NC或PLC控件的 “Variable Service”;
2) 通過數(shù)據(jù)管理工具在HMI和NCK之間復(fù)制程序的 “Domain Service”;
3) 用來激活數(shù)控程序的數(shù)控調(diào)用服務(wù)——PI Service。
2.2.5 “HMI Programming Package” 提供的控件
DCTL.OCS、FileViewer控件、ASCIIEditor控件、McEdit控件、McOption控件、McCheck控件、McCombo控件、McToggle控件和McScroll控件。這些控件和Windows控件類似,所不同的是,它們支持OP鍵盤上一些特殊的按鍵。
BTSS是西門子840/810/FM NC的數(shù)據(jù)接口規(guī)范。該規(guī)范將系統(tǒng)中的所有數(shù)據(jù)劃分成8個(gè)區(qū)域,90多個(gè)數(shù)據(jù)模塊,數(shù)千條數(shù)據(jù)記錄,其內(nèi)容包括機(jī)床配置、方式組數(shù)據(jù)、通道數(shù)據(jù)、主軸數(shù)據(jù)、MMC數(shù)據(jù)、NC數(shù)據(jù)、刀具數(shù)據(jù)、驅(qū)動(dòng)數(shù)據(jù),覆蓋840D系統(tǒng)全部功能。通過讀寫B(tài)TSS數(shù)據(jù),可以實(shí)現(xiàn)各種用常規(guī)手段難以實(shí)現(xiàn)的控制功能。
圖3 是用加載了HMI Programming Package的用Visual Basic 開發(fā)的示教軟件運(yùn)行界面的截圖。界面中的公司LOGO通過配置或編程,可以指定自定義開機(jī)畫面,在信息區(qū)定制自己的狀態(tài)圖標(biāo)[5],在對話區(qū)制作自己的提示信息,在交互操作區(qū)安排自己的操作軟鍵。由于系統(tǒng)平臺為Windows系統(tǒng),所以Windows的資源和程序開發(fā)方法都可以使用。
本程序通過 NCDDE數(shù)據(jù)訪問得到真實(shí)的系統(tǒng)數(shù)據(jù),然后驅(qū)動(dòng)屏幕中用簡圖繪制的虛擬機(jī)床。當(dāng)機(jī)床模型移動(dòng)到超程位置、參考點(diǎn)或干涉位置時(shí),能夠?qū)嶋H觸發(fā)一個(gè)PLC接口信號。這時(shí)PLC中的機(jī)床控制程序真實(shí)響應(yīng),實(shí)現(xiàn)機(jī)床模型參考點(diǎn)返回、軟限位、過行程保護(hù)、手動(dòng)控制、執(zhí)行加工程序、急停、診斷監(jiān)控等基本功能。此外還可以在右上方的輸入框中輸入PLC I/O地址、R參數(shù)名等PLC或 NC數(shù)據(jù)地址或賦值數(shù)據(jù)。通過選擇按鍵選擇數(shù)據(jù)格式,輸入框下會(huì)返回變量值,LOGO下的標(biāo)簽會(huì)返回 BTSS變量名和數(shù)據(jù)格式字符串。程序可以滿足西門子基本安裝調(diào)整課程的實(shí)驗(yàn)和BTSS數(shù)據(jù)訪問演示的需要。
3.11 程序編制
HMI Programming Package通過范例 “OEMBSP0” 提供了一個(gè)空白的應(yīng)用程序,可以作為開發(fā)OEM項(xiàng)目的模板。一個(gè)MMC OEM應(yīng)用程序由標(biāo)準(zhǔn)的MDI子窗口組成。子窗口數(shù)量原則上不受任何限制。每個(gè)MDI子窗口都包含 “Sequence Control” 的軟鍵。從“OEMBSP0” 可見,標(biāo)準(zhǔn)程序框架在VB中被完全實(shí)現(xiàn),其實(shí)質(zhì)是一系列西門子定義的函數(shù)和程序。
按照HMI Programming Package Part 1 §7.2.3的說明,將 “OEMBSP0” 改編成 “BSP_1”,然后在新的基礎(chǔ)上用VB開發(fā)示教程序的主界面,其窗體大小為560 × 320像素。編寫參數(shù)訪問子程序、機(jī)床模型驅(qū)動(dòng)子程序和診斷服務(wù)演示子程序。
圖3 示教軟件啟動(dòng)界面Tab.3 Start up interface of the demo program
表1 典型參數(shù)讀寫程序案例Fig.1 An example of a typical parameter read/write program
3.12 嵌入編譯好的程序
將編好的程序編譯成 bsp_1.exe并拷入 PCU的 F:HMI-advancedOEM目錄中,并在該目錄下的REGIE.INI 中下添加
[TaskConfiguration]
Task6 = name:=BSP_1, Timeout:=50000
在該目錄下RE_UK.ini中添加
HSK6= ”BSP_1”
啟動(dòng)Regie ( REG_CMD.EXE ),發(fā)現(xiàn)最后第二個(gè)軟鍵變?yōu)?“BSP_1”,按下該軟鍵(F7),BSP_1.exe被激活。
本案例所描述的只是一些最基本的應(yīng)用方法。在機(jī)床再制造過程中,還可以利用Windows資源進(jìn)一步增強(qiáng)設(shè)備的功能。例如可以利用WinSock控件實(shí)現(xiàn)TCP/IP通訊功能,使其具備遠(yuǎn)程管理和診斷的功能;又如,利用Matlab開發(fā)并編譯可脫離Matlab環(huán)境運(yùn)行的數(shù)據(jù)分析程序,嵌入到HMI,并利用數(shù)據(jù)分析結(jié)果動(dòng)態(tài)調(diào)整相應(yīng)的控制補(bǔ)償參數(shù),使系統(tǒng)具有特殊的工藝控制能力;還可以建立毛坯模型,通過分析機(jī)床模型和毛坯模型的相對位置,結(jié)合加工參數(shù)作出切削合理性分析或干涉預(yù)警,使設(shè)備更可靠、更安全。
數(shù)控設(shè)備由多個(gè)領(lǐng)域的先進(jìn)產(chǎn)品組合而成。各種高新技術(shù)在數(shù)控設(shè)備中交匯融合,其使用要求和面向的工藝對象各不相同,同樣部件組成的數(shù)控設(shè)備發(fā)揮的作用也是不同的。因此,數(shù)控機(jī)床的設(shè)計(jì)是一項(xiàng)系統(tǒng)工程。必須從全局出發(fā),通過軟件方法,調(diào)用一切優(yōu)勢資源,把數(shù)控系統(tǒng)的優(yōu)勢柔性地集中在一個(gè)解決方案中,才能設(shè)計(jì)出最優(yōu)秀的數(shù)控設(shè)備。
本文以 SIEMENS 840D HMI二次開發(fā)項(xiàng)目為背景,介紹了該項(xiàng)目應(yīng)用 HMI二次開發(fā)技術(shù)訪問與操作NC、PLC接口數(shù)據(jù),成功地實(shí)現(xiàn)虛擬機(jī)床控制的方法。由于虛擬機(jī)床采用的接口信號與真正的數(shù)控機(jī)床完全一樣,因此該項(xiàng)目所用的方法完全可以用于現(xiàn)實(shí)的機(jī)床數(shù)控化改造或數(shù)控機(jī)床再制造。這種方法在國內(nèi)機(jī)床再制造行業(yè)中尚未得到推廣,采用國產(chǎn)數(shù)控系統(tǒng)的機(jī)床也沒有一例集成二次開發(fā)產(chǎn)品的案例,而目前進(jìn)口機(jī)床不管采用何種系統(tǒng)都已集成了各種用途的二次開發(fā)產(chǎn)品,機(jī)床的工藝功能大大增強(qiáng)。因此該項(xiàng)目選擇SIEMENS 840D數(shù)控系統(tǒng),從面向整體的視角系統(tǒng)架構(gòu)創(chuàng)意性地解釋了系統(tǒng)構(gòu)架,在機(jī)床功能化改造方面邁出了全新的一步,為實(shí)現(xiàn)真正的綠色制造找到了一條寬闊大道。
[1]南通雙利剪床有限公司.機(jī)床再制造營造數(shù)控系統(tǒng)商機(jī) [EB/OL].(2009-07-11)[2010-04-20].http://www.hasljc.com/ShowNews.asp?id=30.
[2]SIEMENS.HMI Programming Package Part 1 (BN) [CD].-- 02.2004 Edition, 8-336, 4-147.
[3]SIEMENS. Function Manual [CD].11/2006, 6FC5397-0BP10-2BA0, 18.
[4]王茲宜.數(shù)控系統(tǒng)調(diào)整與維修實(shí)訓(xùn)[M].北京:機(jī)械工業(yè)出版社, 2010.
[5]SIEMENS. HMI-Advanced Commissioning Manual[CD].11/2006, 6FC5397-0DP10-0BA0, 105.