薛迪杰 忽曉偉 刁夢夢
摘? 要:針對工業(yè)運動控制系統(tǒng)中,傳統(tǒng)的現(xiàn)場總線技術(shù)實時性差、容量小等缺點,研究了運動控制系統(tǒng)特點,并將EtherCAT通信技術(shù)引入其中,利用STM32F427主控芯片、AX58100從站控制器和JY02電機驅(qū)動芯片,開發(fā)了EtherCAT從站運動控制器的硬件。實驗表明,開發(fā)的從站控制系統(tǒng)和主站TwinCAT 3通信完全兼容,通信速度和可靠性較傳統(tǒng)總線通信技術(shù)大幅度提高,可以更好地滿足智能化和柔性生產(chǎn)的發(fā)展需求。
關(guān)鍵詞:EtherCAT協(xié)議;TwinCAT 3;運動控制系統(tǒng);工業(yè)通信系統(tǒng)
中圖分類號:TP273? 文獻(xiàn)標(biāo)識碼:A? 文章編號:2096-4706(2023)04-0064-04
Design of a Slave Motion Control System Based on EtherCAT Protocol
XUE Dijie, HU Xiaowei, DIAO Mengmeng
(School of Electronics and Information Engineering, SIAS University, Zhengzhou? 451150, China)
Abstract: Aiming at the shortcomings of the traditional field bus technology in industrial motion control systems, such as poor real-time performance and small capacity, the characteristics of the motion control system are studied and EtherCAT communication technology is introduced into industrial motion control systems. The hardware of the EtherCAT slave motion controller is developed using STM32F427 master controller chip, AX58100 slave controller and JY02 motor driver chip. The experimental results show that the developed slave control system is fully compatible with the master TwinCAT 3 communication, and the communication speed and reliability are greatly improved compared with the traditional bus communication technology, which can better meet the development needs of intelligent and flexible production.
Keywords: EtherCAT protocol; TwinCAT 3; motion control system; industrial communication system
0? 引? 言
近年來,各國都興起了制造業(yè)的技術(shù)變革。一個國家的制造業(yè)技術(shù)水平與國家的經(jīng)濟發(fā)展息息相關(guān),制造業(yè)就是國家經(jīng)濟的命脈,強大的制造業(yè)技術(shù)可以帶動國內(nèi)經(jīng)濟的高速發(fā)展。因此,發(fā)展制造業(yè)技術(shù)具有重要實際意義。為了推動我國制造業(yè)技術(shù)的發(fā)展,國家機關(guān)部門提出了“中國制造2025”的技術(shù)發(fā)展目標(biāo),為發(fā)展高集成化、柔性化、網(wǎng)絡(luò)化的制造業(yè)提供了有力的保障[1]。運動控制系統(tǒng)是制造業(yè)技術(shù)的核心,制造業(yè)的智能化發(fā)展,要求其中的運動控制系統(tǒng)必須網(wǎng)絡(luò)化、模塊化。傳統(tǒng)的運動控制系統(tǒng)往往比較局限,并且在運動控制精度及自動化程度方面比較落后。隨著計算機測控技術(shù)的發(fā)展,運動控制系統(tǒng)正向開放的體系結(jié)構(gòu)發(fā)展,但在網(wǎng)絡(luò)實時性方面,運動控制系統(tǒng)仍存在一定短板。傳統(tǒng)的現(xiàn)場總線技術(shù)通信速率低,兼容性差。而實時工業(yè)以太網(wǎng)技術(shù)則完全克服了傳統(tǒng)現(xiàn)場總線的缺點,正逐步取代現(xiàn)場總線技術(shù)并應(yīng)用在工業(yè)應(yīng)用控制領(lǐng)域。
EtherCAT技術(shù)是在以太網(wǎng)基礎(chǔ)上進行修改,以適應(yīng)工業(yè)控制系統(tǒng)需求的工業(yè)以太網(wǎng)技術(shù)。目前是工業(yè)控制領(lǐng)域較為流行的通信網(wǎng)絡(luò)技術(shù)。本文將對EtherCAT網(wǎng)絡(luò)技術(shù)進行研究,結(jié)合多軸運動控制系統(tǒng)的特點,分析EtherCAT的工作原理,并對EtherCAT的從站控制器進行開發(fā),完成EtherCAT的主站和從站通信。然后將EtherCAT技術(shù)應(yīng)用在多軸運動控制系統(tǒng)中,實現(xiàn)對設(shè)備實時、高速控制的目標(biāo)[2]。
1? EtherCAT總線技術(shù)
EtherCAT最早是由德國BECKHOFF自動化公司開發(fā)出來的,是在以太網(wǎng)技術(shù)基礎(chǔ)上修改開發(fā)出來的適用于工業(yè)網(wǎng)絡(luò)技術(shù)的新型工業(yè)以太網(wǎng)總線,充分繼承了以太網(wǎng)全雙工特性[3]。EhterCAT在傳輸數(shù)據(jù)過程中,無需對數(shù)據(jù)進行加密和解碼,EtherCAT從站接收在EtherCAT報文通過該從站時,直接進行數(shù)據(jù)的交換,將接收數(shù)據(jù)讀取下來,并將要發(fā)送的數(shù)據(jù)傳送的報文中,報文中數(shù)據(jù)的獲取和發(fā)送,僅需數(shù)納秒,能夠極大的提個數(shù)據(jù)傳輸?shù)膶崟r性。
EtherCAT主站一般可直接選PC,利用以太網(wǎng)網(wǎng)卡實現(xiàn),從站選用EtherCAT從站控制器,從站主要完成報文中數(shù)據(jù)的接收,并實現(xiàn)對設(shè)備層設(shè)備的控制。EtherCAT主站發(fā)送數(shù)據(jù)到從站,從站從報文中獲取數(shù)據(jù)后,將發(fā)送給本從站的數(shù)據(jù)接收進來,同時將需要發(fā)送給主站的數(shù)據(jù)嵌入報文中。接下來,從站將修改后的報文傳送至下一個從站,執(zhí)行同樣的操作。如此重復(fù),最終末位的EtherCAT將完成數(shù)據(jù)交換的報文,由逐個從站返回至第一個從站,并最終發(fā)送給主站[4]。EtherCAT工作原理如圖1所示。
2? 運動控制系統(tǒng)的設(shè)計
運動控制系統(tǒng)硬件總體分為主站和從站兩部分。主站一般按照需求,使用配置有以太網(wǎng)網(wǎng)卡的PC。從站需使用兼容EtherCAT協(xié)議的控制器,控制器一般由通信接口電路,控制電路和伺服驅(qū)動電路三部分組成。EtherCAT運動控制系統(tǒng)框圖如圖2所示。
2.1? 主站選擇
使用的EtherCAT主站為普通的個人PC,主機使用英特爾I3處理器,配置4 GB內(nèi)存,500 GB硬盤,配置千兆以太網(wǎng)網(wǎng)卡,完全可以支持EtherCAT通信。除了硬件支持,PC主機作為主站,還需要安裝相關(guān)的軟件。EtherCAT主站軟件部分直接采用TwinCAT 3,首先需要安裝網(wǎng)卡,將網(wǎng)卡添加到TwinCAT 3的設(shè)備當(dāng)中;然后需要對TwinCAT 3進行激活,由于在實驗室中使用的是DEMO版本,需要激活才能有七天的使用,找到TwinCAT 3的驗證碼,輸入即可激活;最后,需要建立項目文件,添加軟件自帶的PLC電機運動控制TC2_MC2庫文件,實現(xiàn)對電機的控制[5]。由于使用的軟件自帶的庫文件,可以縮短開發(fā)周期,降低開發(fā)難度。本項目主要實現(xiàn)對主站對電動機的基本控制功能,包括點動、連續(xù)轉(zhuǎn)動、停止、反轉(zhuǎn)等功能。主站TwinCAT 3上還繪制了HMI界面,用來反映電動機的運行情況,并用曲線進行顯示。
2.2? EtherCAT從站設(shè)計
2.2.1? 從站控制器方案
目前,全球多家公司均可以提供ESC控制芯片,但這些芯片的內(nèi)部IP內(nèi)核均由德國倍福公司授權(quán)。市場上常用的有ASIX的AX58100、BECKHOFF公司的ET1100和MICROCHIP公司的LAN9252芯片。
ET1100芯片價格昂貴,芯片內(nèi)資源較少,性價比較低,并且其芯片上不含物理層端口,需要自行擴展。LAN9252則主要因其芯片自身不含電機驅(qū)動,在開發(fā)過程中,會增加開發(fā)難度。因此,本系統(tǒng)從站選用ASIX公司的AX58100作為EtherCAT從站控制的ESC。AX58100是專為EtherCAT通信設(shè)計的ESC芯片,內(nèi)部直接附帶兩個物理層接口,在使用的時候,無需額外增加外圍的PHY,因此可以更加方便設(shè)計使用。此外,AX58100的內(nèi)部還集成了PWM輸出接口和霍爾編碼器,可以和伺服電機組成伺服電機閉環(huán)控制系統(tǒng),直接對伺服電機進行精準(zhǔn)控制,實現(xiàn)EtherCAT主站對從站設(shè)備的精確控制[3]。
EtherCAT從站采用微控制與ESC組合形式。微控制器使用32位的處理器STM32F427,其采用ARM-Cotex4內(nèi)核,處理速度快,且具有豐富的接口資源;搭配ESC控制芯片AX58100,組成EtherCAT的復(fù)雜從站結(jié)構(gòu)。從站組成結(jié)構(gòu)圖如圖3所示。
根據(jù)從站的功能,硬件部分可分為以下三部分:
(1)EtherCAT數(shù)據(jù)通信部分。從站EtherCAT數(shù)據(jù)通信主要由AX58100完成,其功能是負(fù)責(zé)主站TwinCAT 3和微控制器STM32F427之間數(shù)據(jù)交換。在和上位機主站進行通信時,AX58100完成物理層和數(shù)據(jù)鏈路層進行數(shù)據(jù)交換時的相關(guān)功能。AX58100在和微控制器STM32F427進行數(shù)據(jù)交換時,可使用其芯片自帶的SPI Slave總線和Local Bus總線,但由于在進行運動控制時,數(shù)據(jù)量較大,要求的實時速度較快,因此,采用AX58100的Local Bus總線與微控制連接,將STM32芯片上的FSMC外設(shè)與AX58100的本地總線相連,采用16位異步通信模式,保證兩者之間的通信速率。此外,為了主站可以識別從站設(shè)備的信息,采用了存儲容量大小為32 KB的AT24C32存儲芯片和AX58100連接,并在其中保存了從站的設(shè)備描述信息。
(2)微控制器數(shù)據(jù)處理部分。微控制器數(shù)據(jù)處理部分主要由STM32F427構(gòu)成,用來處理和EtherCAT主站通信的相關(guān)數(shù)據(jù)。本方案中STM32F427采用了EtherCAT協(xié)議進行通信。在進行電機控制時,為了讀寫AX58100內(nèi)部數(shù)據(jù),并將數(shù)據(jù)發(fā)送給主站,供主站在TwinCAT 3顯示控制電機的狀態(tài)和設(shè)置電機的參數(shù),STM32F427使用了為其配置的CoE協(xié)議及CiA 401運動控制的子協(xié)議。STM32F427通過從協(xié)議上獲取的數(shù)據(jù),轉(zhuǎn)換成PWM通過驅(qū)動板對電機進行控制,并根據(jù)電機連接的霍爾編碼器,將電機的運行狀態(tài)反饋,最終通過AX58100傳送至主站。
(3)電機驅(qū)動部分。主站TwinCAT 3軟件上有配套的直流電機運動控制模塊,為了配套主站進行電機運動的閉環(huán)控制,方案選用直流無刷電機作為控制對象,相比于有刷電機,無刷電機沒有電刷,在轉(zhuǎn)動的過程中不會出現(xiàn)電刷損耗及電刷摩擦大量發(fā)熱的現(xiàn)象;無刷電機上還配備有反饋無刷電機位置的霍爾傳感器,可以通過霍爾傳感器編碼接口反饋出無刷電機的運動位置信息。無刷單機的驅(qū)動電路,選用國產(chǎn)的JY02無刷電機驅(qū)動芯片,JY02驅(qū)動芯片只需在外部利用MOS管擴展六臂全橋電路,即可實現(xiàn)對無刷電機的控制,并且輸出功率取決于MOS管功率的大小。因此,可方便控制大功率無刷電機,實現(xiàn)對電機的精確控制。
2.2.2? 從站軟件部分設(shè)計
從站軟件部分的設(shè)計采用STM32F427自帶的HAL庫文件進行開發(fā),從而實現(xiàn)在EtherCAT協(xié)議下進行通信。AX58100和主站通過EtherCAT進行通過通信,將接收的數(shù)據(jù)通過Local Bus總線的FSMC接口從STM32的存儲其中拷貝出來,并根據(jù)EtherCAT的相關(guān)協(xié)議進行數(shù)據(jù)的解析。這些數(shù)據(jù)通過EtherCAT協(xié)議棧應(yīng)用層的接口函數(shù)進行數(shù)據(jù)的映射,映射的數(shù)據(jù)最終會根據(jù)CiA401運動控制的子協(xié)議對電動機進行控制。
從站運行程序流程圖如圖4所示。STM32上電后首先執(zhí)行HW_Iint()函數(shù),對STM32的GPIO及總線進行初始化配置,同時對EtherCAT的協(xié)議下的相關(guān)寄存器進行初始化。然后Main_Init()函數(shù)對AX58100的初始化,需要對其I/O口、模數(shù)轉(zhuǎn)換等進行配置,根據(jù)EEPROM中的從站設(shè)備描述信息,對EtherCAT的協(xié)議棧進行初始化配置,并且建立AX58100與STM32的總線連接。接下來,通過CiA_Init()初始化函數(shù),完成直流電機的參數(shù)和對象字典的配置,得到其控制入口的相關(guān)地址。最后,需要把從站設(shè)置成輪詢模式,STM32不斷查詢事件請求寄存器。根據(jù)寄存器查詢的狀態(tài),從站在主循環(huán)體中不斷地實現(xiàn)周期性以及非周期性過程的數(shù)據(jù)交換。周期性事件中的數(shù)據(jù),轉(zhuǎn)到PDI_I ()函數(shù)處理;非周期性事件的數(shù)據(jù),轉(zhuǎn)到ECAT_M()函數(shù)進行數(shù)據(jù)的處理。程序處理完周期性事件和非周期事件的數(shù)據(jù)后,返回繼續(xù)查詢事件請求寄存器。
在進行STM32的HAL庫文件開發(fā)的時候,將一些無關(guān)的接口函數(shù)去掉,保留EtherCAT通信協(xié)議棧使用的接口函數(shù),EtherCAT協(xié)議棧構(gòu)架主要包括應(yīng)用層的CoE協(xié)議框架和EtherCAT協(xié)議??蚣?,EtherCAT協(xié)議棧使用ecatslv.c文件、ecatcoe.c文件、mailbox.c文件、objdef.c文件和sdoserv.c文件。應(yīng)用層CoE協(xié)議使用coeappl.c文件、ecatappl.c文件和cia401appl.c文件。
3? 測試過程及分析
采用兩個實驗對EtherCAT的主從站通信和電機控制進行測試。
為了測試EtherCAT主從站的通信,采用Wireshark軟件進行抓包實驗。通過以太網(wǎng)網(wǎng)線將主站PC的網(wǎng)卡和從站AX58100的網(wǎng)口進行連接,在TwinCAT 3中找到從站控制器,進行聯(lián)機,聯(lián)機成功后,打開Wireshark軟件,使用抓包工具截取連接過程中的數(shù)據(jù)包。最終聯(lián)機成功后,從站聯(lián)機狀態(tài)燈亮起,從站轉(zhuǎn)為進入操作狀態(tài),激活從站狀態(tài)機啟動,可以隨時被主站控制。Wireshark抓取的報文如圖5所示。
從Wireshark抓取的報文中可分析,報文完全符合EtherCAT協(xié)議數(shù)據(jù)幀的格式,主從站已經(jīng)建立了通信。從圖5底部狀態(tài)欄可以看出,通信報文長度一共60個字節(jié),分為以太網(wǎng)數(shù)據(jù)幀頭(前14個字節(jié))、EtherCAT幀頭(2個字節(jié))、EtherCAT數(shù)據(jù)(由2個子報文組成,每個子報文由10字節(jié)報文頭,16字節(jié)的數(shù)據(jù),2字節(jié)的工作計數(shù)器組成)。
在電機運動控制測試部分,主要通過TwinCAT 3主站將指令發(fā)送給從站,經(jīng)過電機驅(qū)動電路,驅(qū)動電動機進行基本控制。經(jīng)測試,主站上發(fā)送的點動、連續(xù)運轉(zhuǎn)、反轉(zhuǎn)等指令可以被從站接收,并對電動機進行實時控制,驗證了EtherCAT運動控制的實時性和準(zhǔn)確性。
4? 結(jié)? 論
本文研究了EtherCAT總線技術(shù),并將EtherCAT技術(shù)應(yīng)用于傳統(tǒng)工業(yè)運動控制系統(tǒng)中,重點設(shè)計了從站運控控制系統(tǒng)。測試表明,設(shè)計的從站實現(xiàn)了和主站的通信,完成了對運動控制系統(tǒng)中電動機的基本控制,可以應(yīng)用在基本的EtherCAT運控控制系統(tǒng)中。
參考文獻(xiàn):
[1] 李益,王成杰,史世友,等.基于ZYNQ處理器的EtherCAT從站通信系統(tǒng)設(shè)計 [J].控制與信息技術(shù),2022(1):59-63.
[2] 欒偉.基于EtherCAT總線的多軸運動控制系統(tǒng)研究與開發(fā) [D].廣州:廣東工業(yè)大學(xué),2017.
[3] 馬志航.基于嵌入式的工業(yè)以太網(wǎng)EtherCAT從站研究與實現(xiàn) [D].銀川:北方民族大學(xué),2021.
[4] 陳志軍,韓利峰,黃麗.一種EtherCAT從站的硬件設(shè)計 [J].儀器儀表用戶,2021,28(12):6-10.
[5] 孟另偉,鄭永軍.基于EtherCAT的分布式測控系統(tǒng)設(shè)計與實現(xiàn) [J].儀表技術(shù)與傳感器,2020(6):73-78.
作者簡介:薛迪杰(1987—),男,漢族,河南焦作人,講師,碩士,研究方向:工業(yè)通信網(wǎng)絡(luò)、工業(yè)檢測技術(shù)。
收稿日期:2022-10-24
基金項目:鄭州西亞斯學(xué)院校級項目(2022-D70)