李志洲,鄭民欣,王錦錦,鄭安平
(1.鄭州輕工業(yè)學(xué)院a.電氣信息工程學(xué)院;b.機電工程學(xué)院,鄭州 450002 2.重慶大學(xué)自動化學(xué)院,重慶 400030)
基于EtherCAT網(wǎng)絡(luò)的三軸伺服控制系統(tǒng)設(shè)計*
李志洲1a,鄭民欣1b,王錦錦2,鄭安平1a
(1.鄭州輕工業(yè)學(xué)院a.電氣信息工程學(xué)院;b.機電工程學(xué)院,鄭州 450002 2.重慶大學(xué)自動化學(xué)院,重慶 400030)
文章以實時以太網(wǎng)EtherCAT技術(shù)為基礎(chǔ)構(gòu)建網(wǎng)絡(luò)結(jié)構(gòu),組建了一個三軸并聯(lián)高性能伺服控制系統(tǒng)。硬件設(shè)計方面選用了施耐德Ser系列伺服電機和Lexium17D系列伺服驅(qū)動器,以及德國倍福公司的ET1100設(shè)備系列的運動控制器。軟件方面使用Unilink和TwinCat提供運動控制程序運行平臺。此系統(tǒng)實時性好、組網(wǎng)簡單,可用于復(fù)雜加工控制領(lǐng)域中的高性能三軸聯(lián)動伺服控制。
EtherCAT;三軸伺服控制;空間直線插補;軟邏輯控制
隨著計算機、電力電子、自動化控制等技術(shù)的發(fā)展,對于伺服電機較難控制、調(diào)節(jié)速度性能差等伺服系統(tǒng)中常見問題的解決,均取得了很大的成果?;诠I(yè)以太網(wǎng)的運動控制器在工業(yè)器人、數(shù)控機床、機電一體化加工和測試設(shè)備中獲得廣泛應(yīng)用;以太網(wǎng)通信速度快、數(shù)據(jù)量大等特點使運動控制性能得到了極大的提升。但是傳統(tǒng)的以太網(wǎng)存在著一定的缺陷,不能滿足工業(yè)控制現(xiàn)場對實時性的要求。這是由于其介質(zhì)訪問方式CSMA/CD(即帶有沖突檢測的載波偵聽多路訪問機制)是一種非確定的介質(zhì)訪問機制,在節(jié)點數(shù)增多,數(shù)據(jù)量大的情況下通信效率很低[1]。2003 年,德國 BECKHOFF(倍福)自動化公司提出EtherCAT(Ethernet for Control Automation Technology)技術(shù),這是一種新的實時以太網(wǎng)技術(shù)。它基于標(biāo)準(zhǔn)的以太網(wǎng)技術(shù),采用靈活的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),具有實時性高、系統(tǒng)配置簡單、數(shù)據(jù)傳輸率高等優(yōu)勢[2],并且能很好的體現(xiàn)全雙工特性。2007年12月EtherCAT被IEC制定為IEC61158和IEC61784中定義的第12種通信協(xié)議標(biāo)準(zhǔn),而后EtherCAT技術(shù)在國外得到快速發(fā)展,但國內(nèi)尚處于起步階段。
在此,將EtherCAT網(wǎng)絡(luò)引入三軸伺服控制系統(tǒng)中,由EtherCAT數(shù)據(jù)幀進行主站、控制器和伺服驅(qū)動器之間的數(shù)據(jù)通信;在實現(xiàn)三軸同步動作的同時,大幅提高PC主站、控制器及驅(qū)動器之間的數(shù)據(jù)的可靠性和傳輸速度,從而可用于高性能、實時性要求高的遠(yuǎn)程控制加工領(lǐng)域。
EtherCAT使用標(biāo)準(zhǔn)的IEEE802.3以太網(wǎng)幀結(jié)構(gòu),因此不需要在控制器中附加其他硬件來實現(xiàn)通信,它可以與遵守其他協(xié)議的以太網(wǎng)在同一網(wǎng)絡(luò)中并行。但是又由于EtherCAT的數(shù)據(jù)幀中使用了一個特殊的幀類型0X88A4,使得它突破了其他以太網(wǎng)的系統(tǒng)限制,可以直接將控制數(shù)據(jù)寫入以太網(wǎng)幀中[3],圖1表明了EtherCAT數(shù)據(jù)幀與標(biāo)準(zhǔn)IEEE802.3以太網(wǎng)幀結(jié)構(gòu)之間的聯(lián)系。每一個數(shù)據(jù)幀包含許多個子報文,報文具體結(jié)構(gòu)如圖2,其中子報文中的命令表示讀寫方式和尋址方式;索引號即是幀編碼;子報文地址代表從站地址;長度是報文數(shù)據(jù)區(qū)長度;Res即保留位;M和狀態(tài)位分別表示后續(xù)到來和中斷到來標(biāo)志。
圖1 EtherCAT與IEEE802.3以太網(wǎng)幀結(jié)構(gòu)之間區(qū)別和聯(lián)系
圖2 EtherCAT報文與子報文的具體結(jié)構(gòu)及關(guān)系
EtherCAT技術(shù)采用的是主站——從站結(jié)構(gòu),包含所有從站數(shù)據(jù)的數(shù)據(jù)幀被主站控制和發(fā)送,它依次經(jīng)過每一個從站,從站在其傳輸?shù)倪^程中讀出相應(yīng)的報文數(shù)據(jù),當(dāng)?shù)竭_最后一個從站時,從站將處理過的數(shù)據(jù)幀返回到主站,這樣完成一次通信,歷時即為一個通信周期。整個通信過程只有幾納秒的延遲,借助于主站中DMA技術(shù)和從站中的EtherCAT專用芯片,EtherCAT系統(tǒng)可以在30微妙內(nèi)交換一幀多達1486個字節(jié)的協(xié)議數(shù)據(jù),并且它直達底層I/O設(shè)備,充分利用了 I/O帶寬,數(shù)據(jù)傳輸率高達90%[2]。
本設(shè)計為基于EtherCAT網(wǎng)絡(luò)的三軸伺服控制系統(tǒng),硬件系統(tǒng)總體結(jié)構(gòu)如圖3。以PC機為主建立通信主站,從站控制單元包括通信控制器和運動控制卡。通信控制器選用的是倍福公司開發(fā)的ASC從站專用網(wǎng)絡(luò)接口控制芯片ET1100,它具有兩個MII接口,可連接到EtherCAT網(wǎng)絡(luò),用于和主站進行數(shù)據(jù)交換;控制卡選自瑞泰公司的控制板ICETEK-F28335-A,它是使用TI公司的TMS320F28335系列芯片開發(fā)的DSP控制卡,支持 CAN總線、串口,并且有AD、PWM輸出、擴展引腳等接口。DSP芯片TMS320F28335系列具有32位浮點,具有數(shù)字信號處理、強大的事件管理和嵌入式控制等功能。ICETEK-F28335-A控制卡主要用于對電機的運動控制和接收電機編碼器的反饋信號,并利用SPI接口模塊和從站控制器ET1100進行數(shù)據(jù)交換,控制卡中26LS31芯片把PWM輸出信號轉(zhuǎn)換成驅(qū)動器可以接收的差分信號,26LS32芯片把反饋差分信號轉(zhuǎn)換成TTL信號送給QEP接口,通過這兩個接口實現(xiàn)控制卡與驅(qū)動器的數(shù)據(jù)傳輸。伺服驅(qū)動器采用了施耐德公司的Lexium17D系列交流伺服驅(qū)動器,具有速度環(huán)、位置環(huán)和電流環(huán)三種調(diào)節(jié)功能,用來控制電機的力矩、速度和位置。這些伺服單元常用在高動態(tài)特性和高精密位置定位等高性能應(yīng)用場合。驅(qū)動器支持RS232、CAN總線、Modbus Plus網(wǎng)絡(luò)、Fipio總線等通信方式,在此可以使用CAN與控制卡實現(xiàn)通信。電機使用SER/Lexium BHP系列三相同步伺服電機,帶有鑲嵌式傳感器。它與編碼器共同完成系統(tǒng)中的執(zhí)行和反饋功能。
圖3 EtherCAT三軸伺服控制硬件總體結(jié)構(gòu)
系統(tǒng)軟件設(shè)計方面主要涉及到驅(qū)動器配置、從站控制器軟件、上位機主站配置及程序。使用Unilink軟件對伺服驅(qū)動器進行配置和調(diào)試:包括對三軸電機分別進行地址分配,設(shè)置通信速率以及Lexium 17D的功能設(shè)置(最大電流、電壓、速度等參數(shù)的設(shè)置,對PID參數(shù)進行調(diào)節(jié),使電機平穩(wěn)旋轉(zhuǎn))和實現(xiàn)對單臺電機的正反轉(zhuǎn)控制以及對機床等的回零操作??刂破鲬?yīng)用層程序定義了自己的兩種數(shù)據(jù)模塊結(jié)構(gòu):控制指令數(shù)據(jù)模塊和狀態(tài)反饋數(shù)據(jù)模塊。這兩個模塊主要是實現(xiàn)與主站通過EtherCAT網(wǎng)絡(luò)交換數(shù)據(jù)幀,并把數(shù)據(jù)寫入DPRAM中,同時DPRAM中保存的狀態(tài)數(shù)據(jù)可以插進傳輸過程的數(shù)據(jù)幀中進行反饋。從站控制器譯碼出主站控制數(shù)據(jù)并向三軸伺服電機驅(qū)動器發(fā)送具體值,對伺服電機進行位置控制。主站接收到從站反饋數(shù)據(jù)顯示編碼器實際位置或錯誤信號。
上位機主站側(cè)主要通過倍福公司提供的Twin-CAT PLC(The Windows Control and Automation Technology PLC)軟件編寫程序。該軟件可代替常規(guī)的邏輯可編程控制器(PLC),由系統(tǒng)管理器(TwinCAT System Manager)來實現(xiàn)主站功能,負(fù)責(zé)計算和管理同步單元,連接主站與現(xiàn)場總線以及底層I/O設(shè)備。它所提供的公共數(shù)據(jù)緩存區(qū)可實現(xiàn)對PLC變量和數(shù)據(jù)映像區(qū)的數(shù)據(jù)進行連接并互相交換。TwinCAT PLC可在一臺PC機上建立四個虛擬PLC CPU,每一個虛擬單元均可以建立四個用戶任務(wù)。本系統(tǒng)的運行狀態(tài),利用TwinCAT PLC軟件的結(jié)構(gòu)文本語言,通過編程方式測試。由于TwinCATPLC符合IEC61131-3標(biāo)準(zhǔn),它可以兼容 LD(梯形圖)、FBD/CFC(功能塊圖)、IL(指令表)、ST(結(jié)構(gòu)化文本)、SFC(順序功能圖)等多種語言[4],編程方式包括本地、通過TCP/IP以及通過現(xiàn)場總線三種。
軟件設(shè)計編程中的重點是在TwinCAT PLC中編程實現(xiàn)三軸伺服控制的運行。編程之前先要了解其運行控制原理,總體的控制方法如圖4示,主站的指令信號發(fā)送到控制模塊,控制模塊把它當(dāng)做給定信號與反饋信號共同對電流、位置、速度實現(xiàn)閉環(huán)控制,最后環(huán)節(jié)PWM輸出信號給功率模塊來控制電機的運轉(zhuǎn)。
圖4 三環(huán)伺服控制原理
程序設(shè)計的核心是基于TwinCAT PLC平臺的空間直線插補算法。此算法以逐點比較法為基礎(chǔ),首先推出預(yù)設(shè)空間直線的偏差計算公式,然后由偏差計算公式得出所在坐標(biāo)點位于直線的方位及偏差,進而決定下一次的給進點(Xi,Yj,Zk)[5]。推導(dǎo)過程如下:
如圖5所示:OA為空間坐標(biāo)系里以原點O為起始點,A(Xa,Ya,Za)為終點的直線。設(shè) Xa> Ya,Xa>Za且 Xa,Ya,Za>0;在 XY坐標(biāo)平面內(nèi)利用平面偏差公式Pi,j=xayj-xiya(xa和ya為OA在XY坐標(biāo)系的倒影oa'的終點a'的坐標(biāo)值,(xi,yj)為某一時刻所在點坐標(biāo))可得出下一點的偏差公式:
圖5 空間直線插補
在(Pi,j<0)時可得到:
同理在XZ坐標(biāo)平面中,可得出偏差計算公式:
由上述的兩個坐標(biāo)平面的偏差公式對下一步的進給進行判別和計算,其插補程序流程如圖6所示。
圖6 空間直線插補程序流程圖
其中 ΔX、ΔZ、ΔY分別是給 X、Y、Z 各個軸方向的脈沖量;Jx、Jy、Jz、Je分別是存放 X、Y、Z 終點坐標(biāo)以及加工需要的總步數(shù)E的寄存器;JP存放的是XY平面的偏差計算結(jié)果Pi,j;Jq存放的是XZ平面的偏差計算結(jié)果Qi,K。
程序運行時,首先由計算程序得出 X、Y、Z三軸的給進脈沖量ΔX、ΔZ、ΔY;給進量通過EtherCAT網(wǎng)絡(luò)傳輸?shù)綇恼究刂乞?qū)動設(shè)備,與實時的伺服電機的反饋量進行比較,產(chǎn)生偏差量;偏差信號經(jīng)過控制計算程序的校正、調(diào)節(jié)、放大后,發(fā)送給伺服電機完成消除偏差的進一步給進,使電機向著終點坐標(biāo)平穩(wěn)快速的運動。
目前,在制造控制領(lǐng)域的機電控制設(shè)備中如CNC等完成的工作量及其復(fù)雜度在逐步提高,對電機控制的實時性、穩(wěn)定性、快速性等性能要求也越來越嚴(yán)格,因此發(fā)展新的控制技術(shù)變得尤為重要。EtherCAT技術(shù)有著傳輸速率高、可靠性強、拓?fù)浣Y(jié)構(gòu)靈活等優(yōu)勢,解決了伺服控制系統(tǒng)在傳輸數(shù)據(jù)量大時實時性控制難的問題,并配合快速、高效的算法實現(xiàn)高精度同步控制。采用性能優(yōu)越的軟邏輯控制,使得軟硬件結(jié)合的更加緊密并且成本低廉,為伺服電機在加工制造領(lǐng)域中的應(yīng)用提供了可靠的支持。
[1]單春榮,劉艷強,郇極.工業(yè)以太網(wǎng)現(xiàn)場總線EtherCAT及驅(qū)動程序設(shè)計[J].制造業(yè)自動化,2007(7):79-82.
[2]劉艷強,黃帥,馬秋霞.基于工業(yè)以太網(wǎng)EtherCAT的DCS控制系統(tǒng)設(shè)計[J].制造業(yè)自動化,2010(11):21-23.
[3]阮倩茹,王輝,施大發(fā),等.基于EtherCAT的高性能交流伺服控制系統(tǒng)設(shè)計[J].科技導(dǎo)報,2010(20):58-61.
[4]德國倍福電氣有限公司.TwinCAT編程手冊2.0版本[z].2005.
[5]李占斌,萬長慶.實現(xiàn)數(shù)控機床三軸聯(lián)動的逐點比較法[J]. 機床與液壓,2004(7):64-65,22.
Design of Triaxial Motion Servo Control Systems Based on EtherCAT
LI Zhi-zhou1a,ZHENG Min-xin1b,WANG Jin-jin2,ZHENG An-ping1a
(1a.School of Electrical and Information Engineering;1b.School of Mechanical& Electrical Engineering,Zhengzhou University of Light Industry,Zhengzhou 450002,China;2.School of Automation,Chongqing University,Chongqing 400030,China)
In this paper,a network structure based on the technology of EtherCAT(the real-time Ethernet)was constructed and a high-performance servo control system of three axis parallel has been formed.On hardware design it chose Schneider ser series servo motor、Lexium17D series servo drive modules and Beckhoff company’s motion controller-ET1100 series equipments.The Softwares such as Unilink and TwinCat were used to support the motion control application.Because of its good real-time and simply networking,The system can be used for high-performance triaxial linkage servo control in complex processing control area.
EtherCAT;triaxial motion servo control;space linear interpolation;soft logic control
TH16;TG65
A
1001-2265(2012)02-0063-03
2011-06-17
校博士科研基金資助項目(2007BSJJ003)
李志洲(1987—),男,河南人,鄭州輕工業(yè)學(xué)院電氣信息工程學(xué)院碩士研究生,研究方向為伺服控制與現(xiàn)場總線技術(shù),(E-mail)lizhizhou508@163.com。
(編輯 李秀敏)