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