趙福春,李沛卿,趙萬生,顧 琳
(上海交通大學(xué)機(jī)械與動(dòng)力工程學(xué)院機(jī)械系統(tǒng)與振動(dòng)國家重點(diǎn)實(shí)驗(yàn)室,上海 200240)
作為一種重要的特種加工技術(shù),電火花線切割加工被廣泛應(yīng)用于模具、難切削導(dǎo)電材料及精密零部件制造等領(lǐng)域[1]。電火花線切割機(jī)床分為往復(fù)走絲型和單向走絲型,其中單向走絲型線切割機(jī)床的加工質(zhì)量高,但設(shè)備及運(yùn)行成本也較高,主要用于精密產(chǎn)品的加工[2];往復(fù)走絲型線切割機(jī)床結(jié)構(gòu)簡單、成本低,在中低端市場應(yīng)用廣泛。
數(shù)控系統(tǒng)作為線切割機(jī)床的重要組成部分,其性能優(yōu)劣直接影響機(jī)床的加工精度和效率[3]。當(dāng)前基于PC 的數(shù)控系統(tǒng)主要分為兩大類:一類是PC 用于處理人機(jī)交互等非實(shí)時(shí)任務(wù),專用的運(yùn)動(dòng)控制器完成運(yùn)動(dòng)控制等實(shí)時(shí)任務(wù);另一類是基于PC 的全軟件數(shù)控系統(tǒng),所有與數(shù)控相關(guān)的工作都由PC 完成。隨著計(jì)算機(jī)技術(shù)的快速發(fā)展,基于PC 的全軟件數(shù)控系統(tǒng)因?yàn)榫哂谐杀镜?、靈活性高及開放性好等優(yōu)勢,越來越受歡迎。
近年來,PC 從單一的臺(tái)式機(jī)向一體機(jī)、筆記本電腦、平板電腦等多種類方向發(fā)展,很多PC 都不再預(yù)留PCI 接口,因此傳統(tǒng)的基于PCI 的運(yùn)動(dòng)控制器受到PC 類型的限制。與此同時(shí),憑借著高傳輸速度、通用性和開放性的優(yōu)勢,以太網(wǎng)已從傳統(tǒng)商業(yè)領(lǐng)域進(jìn)入工業(yè)領(lǐng)域,形成了當(dāng)前最重要的工業(yè)通信技術(shù)——工業(yè)實(shí)時(shí)以太網(wǎng)。其中,Ethernet POWERLINK(簡稱EPL)因?yàn)槠洳捎脴?biāo)準(zhǔn)以太網(wǎng)硬件,通過軟件實(shí)現(xiàn)硬實(shí)時(shí)通信而得到了最廣泛的使用,并成為我國工業(yè)以太網(wǎng)推薦性標(biāo)準(zhǔn)。
本文以開放式全軟件數(shù)控系統(tǒng)EMC2和實(shí)時(shí)以太網(wǎng)EPL 為基礎(chǔ),設(shè)計(jì)了新一代開放式線切割加工數(shù)控系統(tǒng)。該系統(tǒng)采用主站和從站分開的模塊化設(shè)計(jì),結(jié)構(gòu)靈活,開放性好。對于提高往復(fù)走絲電火花線切割加工數(shù)控系統(tǒng)的兼容性、通用性有很好的借鑒作用。
EMC2[4]是Enhanced Machine Controller 的 簡稱,目前已更名為LinuxCNC。它是由美國NIST 主導(dǎo)開發(fā)的基于Linux 平臺(tái)的開放源代碼的數(shù)控系統(tǒng)平臺(tái)。因?yàn)槠淞己玫哪K化機(jī)制及開源的特性,引起了國內(nèi)外學(xué)者的關(guān)注,并已發(fā)展到了2.5.1 的最新版本。
EMC2 可用于數(shù)控機(jī)床、機(jī)器人及其他自動(dòng)化設(shè)備的運(yùn)動(dòng)控制和過程控制等。它采用模塊化的結(jié)構(gòu),主要包括一個(gè)硬件抽象層(HAL),一個(gè)軟PLC組件(ClassieLadder)。其四大模塊分別是GUI 模塊、運(yùn)動(dòng)控制器模塊EMCMOT、離散IO 控制器模塊EMCIO和任務(wù)執(zhí)行器模塊EMCTASK。EMC2 系統(tǒng)的模塊化機(jī)制,使系統(tǒng)結(jié)構(gòu)非常靈活,用戶可根據(jù)實(shí)際需要增加或刪減模塊。EMC2 最初應(yīng)用于控制數(shù)控銑床,上海交通大學(xué)基于EMC2 成功開發(fā)了單向走絲型線切割加工數(shù)控系統(tǒng)原型,獲得了良好的加工效果,且具有出色的穩(wěn)定性與可靠性[5]。但目前EMC2 接口設(shè)備擴(kuò)展普遍采用ISA、PCI 等接口,隨著很多PC 都不再預(yù)留PCI 接口,此種結(jié)構(gòu)的擴(kuò)展方式受到一定的限制。隨著工業(yè)實(shí)時(shí)以太網(wǎng)的快速發(fā)展,開發(fā)EMC2 的工業(yè)實(shí)時(shí)以太網(wǎng)接口設(shè)備擴(kuò)展具有非常重要的意義。
EPL 是一個(gè)基于標(biāo)準(zhǔn)以太網(wǎng)的三層通信網(wǎng)絡(luò),它規(guī)定了物理層、數(shù)據(jù)鏈路層和應(yīng)用層。EPL 的物理層采用標(biāo)準(zhǔn)以太網(wǎng),無需專用芯片,因此無論主站、從站都可在PC、ARM、DSP 及FPGA 等有以太網(wǎng)接口的硬件平臺(tái)上實(shí)現(xiàn),而不受任何芯片供應(yīng)商的限制。通過修改數(shù)據(jù)鏈路層,采用SCNM(時(shí)間槽網(wǎng)絡(luò)通信管理)來對通信進(jìn)行實(shí)時(shí)調(diào)度,解決了傳統(tǒng)以太網(wǎng)CSMA/CD 沖突解決算法導(dǎo)致的網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)姆菍?shí)時(shí)性問題。同時(shí),通過NMT 網(wǎng)絡(luò)管理狀態(tài)機(jī)來實(shí)現(xiàn)通信事件的狀態(tài)管理。應(yīng)用層采用CANopen 通過對象字典對網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行統(tǒng)一管理,其中PDO 為過程數(shù)據(jù)對象用于傳輸實(shí)時(shí)數(shù)據(jù),SDO為服務(wù)數(shù)據(jù)對象用于傳遞配置信息等服務(wù)數(shù)據(jù)[6]。CANopen 的采用保證了EPL 設(shè)備的一致性和通用性,使EPL 應(yīng)用也變得靈活、簡潔。
openPOWERLINK 是EPL 的開源應(yīng)用,包括基于標(biāo)準(zhǔn)C 語言的EPL 協(xié)議棧代碼和用FPGA 實(shí)現(xiàn)的openMac和openHub等,也包括在Windows、Linux、Vxworks 等操作系統(tǒng)下的應(yīng)用程序代碼。openPOWERLINK 當(dāng)前最新的版本為1.08.1,協(xié)議棧的軟件結(jié)構(gòu)見圖1[7]。
圖1 EPL 軟件結(jié)構(gòu)
本開放式數(shù)控系統(tǒng)以臺(tái)式機(jī)作為硬件平臺(tái),運(yùn)行EMC2 及EMC2 所需的實(shí)時(shí)Linux 環(huán)境,EMC2實(shí)現(xiàn)圖形化界面(GUI),G 代碼解釋與插補(bǔ),運(yùn)動(dòng)控制,IO 控制,EPL 主站模塊及任務(wù)調(diào)度等所有數(shù)控系統(tǒng)運(yùn)動(dòng)控制相關(guān)的任務(wù)與功能。EMC2 的各個(gè)模塊通過共享內(nèi)存(SHM)和中性消息語言(NML)進(jìn)行通信。運(yùn)動(dòng)控制模塊把插補(bǔ)完的運(yùn)動(dòng)控制指令存到SHM,EPL 主站模塊周期性地讀取SHM 數(shù)據(jù),并把數(shù)據(jù)通過以太網(wǎng)發(fā)送到從站。同時(shí),周期性地把加工檢測信號(hào)傳送給上位機(jī)系統(tǒng)。FPGA 從站則實(shí)現(xiàn)檢測控制數(shù)據(jù)的數(shù)字信號(hào)與物理信號(hào)的轉(zhuǎn)換,并實(shí)現(xiàn)與EPL 主站模塊對象字典數(shù)據(jù)周期性同步。系統(tǒng)的體系架構(gòu)見圖2。
圖2 線切割加工數(shù)控系統(tǒng)體系架構(gòu)
EMC2 的外部設(shè)備驅(qū)動(dòng)是通過硬件抽象層HAL 來實(shí)現(xiàn)的。HAL 提供了虛擬的硬件平臺(tái),隱藏了特定平臺(tái)的硬件接口細(xì)節(jié),無論是PCI、ISA 還是以太網(wǎng)設(shè)備,只需更改HAL 配置文件,編寫設(shè)備的驅(qū)動(dòng)程序即可,因此無需修改EMC2 的其他模塊程序。
基于HAL 的EMC2 設(shè)備驅(qū)動(dòng)[8]主要完成設(shè)備的初始化、底層硬件驅(qū)動(dòng)、驅(qū)動(dòng)退出時(shí)的資源釋放等工作。為了實(shí)現(xiàn)EMC2 的EPL 設(shè)備驅(qū)動(dòng),本文參考o(jì)penPOWERLINK 的Linux 內(nèi)核態(tài)開源應(yīng)用。具體的工作原理為:首先,為模塊申請ID 號(hào),其后對該模塊的操作都是通過該ID 號(hào)索引來實(shí)現(xiàn)的;其次,申請共享內(nèi)存用于EPL 主站模塊與EMC2 其他模塊之間通信。此外,為了提高通信穩(wěn)定性,網(wǎng)卡驅(qū)動(dòng)使用RTAI 的中斷函數(shù)取代Linux 的中斷,以使EPL 可及時(shí)響應(yīng)網(wǎng)絡(luò)中斷[9];最后,根據(jù)需要初始化EPL 通信參數(shù),連接變量與對象字典,修改同步回調(diào)函數(shù),使其可周期性地向從站發(fā)送數(shù)據(jù)和處理接收由從站發(fā)來的數(shù)據(jù)。
基于CANopen 的EPL 應(yīng)用層定義的對象字典用于主站與從站數(shù)據(jù)周期性同步,連接對象字典與用戶變量,可實(shí)現(xiàn)用戶變量周期性更新,因此對主站的變量操作等同于對從站變量的操作。用戶變量、對象字典、EPL 協(xié)議棧的對等數(shù)據(jù)傳輸見圖3。
圖3 EPL 數(shù)據(jù)傳輸示意圖
本線切割加工數(shù)控系統(tǒng)中,在PC 端實(shí)現(xiàn)了所有數(shù)控系統(tǒng)的相關(guān)功能,包括運(yùn)動(dòng)控制及短路回退等功能。其工作流程見圖4。
圖4 中的虛線框表示從站或信號(hào)來自從站。EPL 主站模塊周期性地取出控制指令,并把控制指令與對象字典連接,通過以太網(wǎng)傳遞到從站,從站把控制指令轉(zhuǎn)換為物理信號(hào)進(jìn)行電機(jī)控制。取指令或短路回退功能控制由EPL 主站模塊進(jìn)行控制,并由放電檢測信號(hào)決定正常進(jìn)給或進(jìn)行短路回退等功能。特別的,EPL 周期性地發(fā)送運(yùn)動(dòng)控制指令,如果需要暫停進(jìn)給時(shí),則需發(fā)送的控制指令必須是0,即控制字對應(yīng)的對象字典要賦值為0x00。
圖4 線切割加工數(shù)控系統(tǒng)工作流程
FPGA(現(xiàn)場可編程邏輯門陣列)因其具有豐富的引腳資源,引腳功能可靈活定義,且具有高性能的并行處理能力,因而得到了廣泛的應(yīng)用?;贔PGA 的EPL 從站是EPSG 官方推薦的EPL 通信解決方案。基于FPGA 的EPL 從站方案有多種,既可將EPL和用戶的應(yīng)用集成在同一個(gè)FPGA,也可將FPGA 僅用于EPL 通信,F(xiàn)PGA 與用戶MCU 之間通過并行16/8 bits 接口或SPI 接口通信。由于在本線切割加工數(shù)控系統(tǒng)中從站僅作為PC 的接口擴(kuò)展功能使用,因此采用第一種方式實(shí)現(xiàn)FPGA 從站。從站使用一個(gè)RPDO(接收過程數(shù)據(jù)對象)用于接收主站的運(yùn)動(dòng)控制指令,2 個(gè)TPDO(發(fā)送過程數(shù)據(jù)對象)用于向主站發(fā)送間隙放電狀態(tài)檢測信號(hào),以及電極絲狀態(tài)等其他IO 信號(hào)。
基于Alter FPGA 的EPL 從站設(shè)計(jì)主要包括兩部分:一部分為Quartus II 工程設(shè)計(jì),用于建立NIOS II 軟核,添加CPU、POWERLINK 等組件,定制外設(shè),引腳配置等;另一部分為NIOS II 軟件工程,通過C 語言實(shí)現(xiàn)控制指令物理控制信號(hào)轉(zhuǎn)換算法。
為了驗(yàn)證開發(fā)的數(shù)控系統(tǒng)的功能和穩(wěn)定性,在數(shù)控電火花線切割加工機(jī)床上用本文研制的基于PC+EPL 從站的線切割加工數(shù)控系統(tǒng)替代原有的BKDF 型線切割加工數(shù)控系統(tǒng),并利用原有的高頻脈沖電源、運(yùn)絲控制、沖液系統(tǒng)等控制功能。新研制的線切割加工數(shù)控原型系統(tǒng)與機(jī)床連接見圖5。
圖5 線切割加工數(shù)控系統(tǒng)加工實(shí)驗(yàn)現(xiàn)場
數(shù)控系統(tǒng)的GUI和G 代碼解釋、插補(bǔ)、軌跡規(guī)劃等部分采用了上海交通大學(xué)完成的且應(yīng)用于國家863 計(jì)劃重點(diǎn)項(xiàng)目及04 國家重大專項(xiàng)“高效精密單向走絲線切割加工技術(shù)與裝備”的數(shù)控系統(tǒng)中的相關(guān)模塊[5]。系統(tǒng)的運(yùn)行界面見圖6。
圖6 線切割加工數(shù)控系統(tǒng)運(yùn)行界面
選用10 mm 厚的模具鋼作為工件材料,脈沖電源的脈寬為24 μs,脈間為72 μs,加工的樣件實(shí)物見圖7,加工時(shí)間為60 min。加工過程平穩(wěn),能實(shí)現(xiàn)長時(shí)間的穩(wěn)定加工。電火花線切割加工所產(chǎn)生的高頻電磁干擾對網(wǎng)絡(luò)傳輸無影響。
圖7 加工樣件實(shí)物
本文將EMC2和openPOWERLINK 等開源技術(shù)引入電火花線切割加工的數(shù)控系統(tǒng),并研發(fā)出基于EPL 實(shí)時(shí)以太網(wǎng)通訊的線切割加工數(shù)控系統(tǒng)。該系統(tǒng)以PC 作為主控制器運(yùn)行EMC2,基于FPGA 的從站用于擴(kuò)展PC 主站的接口能力,與主站相關(guān)變量同步,并實(shí)現(xiàn)數(shù)字信號(hào)與物理信號(hào)的轉(zhuǎn)換。主站與從站通過EPL 進(jìn)行實(shí)時(shí)通信。實(shí)際加工實(shí)驗(yàn)驗(yàn)證了該方案的可行性。
全軟件數(shù)控是數(shù)控系統(tǒng)的發(fā)展方向,由于EMC2和EPL 都為開源技術(shù),且基于PC和標(biāo)準(zhǔn)以太網(wǎng)等通用設(shè)備或芯片,可提供成本低、結(jié)構(gòu)靈活的開放式數(shù)控系統(tǒng)開發(fā)平臺(tái),并為進(jìn)一步研發(fā)新一代體系架構(gòu)的線切割加工數(shù)控系統(tǒng)提供了參考。
[1]趙萬生.先進(jìn)電火花加工技術(shù)[M].北京:國防工業(yè)出版社,2003.
[2]宣仲義.高速快走絲電火花線切割機(jī)床數(shù)控系統(tǒng)設(shè)計(jì)與開發(fā)[D].杭州:浙江工業(yè)大學(xué),2009.
[3]邵昌旭,陳默,趙萬生.嵌入式電火花線切割加工數(shù)控系統(tǒng)原型[J].電加工與模具,2012(2):17-20.
[4]The EMC Team.User Manual V2.5,[DB/OL].http∶//www.linuxcnc.org.2012-08.
[5]豆尚成,陳成細(xì),奚學(xué)程,等.基于Linux 的線切割加工全軟數(shù)控系統(tǒng)[C]//第14 屆全國特種加工學(xué)術(shù)會(huì)議論文集[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2011.
[6]張小強(qiáng).工業(yè)以太網(wǎng)的時(shí)鐘同步及實(shí)時(shí)傳輸實(shí)現(xiàn)技術(shù)研究[D].廣州:華南理工大學(xué),2011.
[7]Krüger D.OpenPOWERLINK∶ Ethernet POWERLINK Protocol Stack Software Manual [J].SYS TEC electronic GmbH.2010.8∶4.
[8]The EMC Team.HAL Manual V2.5.http∶//www.linuxcnc.org.2011-05.
[9]Erwinski K,Paprocki M,Grzesiak L,et al.Application of ethernet powerlink for communication in a Linux RTAI open CNC control system [J].Industrial Electronics,2013,60(2):628-636.