技術頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網 > 技術頻道 > 技術百科 > 驅動器集成多種工業(yè)實時總線的方法

驅動器集成多種工業(yè)實時總線的方法

時間:2018-03-09 13:21:39來源:中國傳動網

導語:?本文提出了一種驅動器(如伺服、變頻器)集成多種工業(yè)總線(ETHERNETPowerlink,EtherCAT,CANOpen)的方法,主要解決多總線統(tǒng)一、多軸在驅動控制級別(如PWM中斷)的同步問題。

摘要:隨著工業(yè)4.0的提出,網絡化是工業(yè)產品發(fā)展的必然趨勢。本文提出了一種驅動器(如伺服、變頻器)集成多種工業(yè)總線(ETHERNETPowerlink,EtherCAT,CANOpen)的方法,主要解決多總線統(tǒng)一、多軸在驅動控制級別(如PWM中斷)的同步問題。與采用多個總線并行實現(xiàn)的方法不同,本文提供了一種基于IEC61800-7的統(tǒng)一架構和接口。該架構的通信模型分為物理層、協(xié)議層、接口層和驅動應用層。協(xié)議層主要基于IEC61800-7-301標準,它是一種基于對象字典、包含周期數(shù)據(PDO)、非周期數(shù)據(SDO)等數(shù)據交換的協(xié)議;接口層則對協(xié)議層進行封裝,提供面向驅動的、統(tǒng)一的函數(shù)接口、對象集合和對象字典,最關鍵的是多軸驅動的同步接口;驅動應用層用于實現(xiàn)IEC61800-7-201協(xié)議的功能,并以該協(xié)議作為驅動開發(fā)的核心,而不僅僅作為數(shù)據接口。然后,本文在驅動器上實現(xiàn)了上述多工業(yè)總線的集成功能,它具有較高的靈活性和可擴展性。最后,通過實驗驗證了該方法的可行性,以及多軸的同步性能。

1引言

網絡化是工業(yè)發(fā)展的重要方向之一。工業(yè)4.0發(fā)展戰(zhàn)略,對網絡化產品提出了更高的要求。網絡型驅動器,包含網絡型伺服、網絡型變頻器,是運動控制發(fā)展的重要方向,它可以提高系統(tǒng)的擴展性、減少布線,通訊速率高、信息量大等特點。

為了統(tǒng)一工業(yè)控制網絡,IEC組織推出了IEC61158/ISASP50.02標準。該標準由于市場應用、廠商推廣等原因并沒給出統(tǒng)一的網絡標準,第四版限定了主流的20個總線。顯然多種網絡接口阻礙了工業(yè)運動控制的發(fā)展,一方面,驅動制造商需要支持多種總線接口、服務與支持;另一方面,控制器制造商以及系統(tǒng)集成者要考慮如何集成,而同一個網絡接口也有不同的應用層控制協(xié)議。因此,催生了IEC61800-7標準,該標準定義描述了電驅動系統(tǒng)(PowerDriveSystems)在工業(yè)自動化中統(tǒng)一的網絡映射層規(guī)范IEC61800-7-300和應用層規(guī)范IEC61800-7-200,如圖1所示。

該標準給出了4大類應用協(xié)議Cia402,CIPMotion,PROFIdrive,SERCOS。雖不是一個協(xié)議,但依然極大地方便了驅動、控制器、系統(tǒng)集成三者交互。其中Cia402協(xié)議由于其歷史、開放性,在運動控制器應用廣泛。它最早由CANinAutomation(CiA)組織制定,是CANOpen眾多應用協(xié)議里的一種,早期依賴于CAN總線,現(xiàn)在由IEC61800-7-201收錄并擴展使其支持工業(yè)實時以太網,如ETHERNETPowerlink(以下簡稱Powerlink)、EtherCAT。網絡型伺服可以分為兩類接口,一類是傳統(tǒng)的現(xiàn)場總線,一類是較新的實時以太網。實時以太網則是近年來現(xiàn)場總線的新發(fā)展方向,是工業(yè)以太網中實時性最好的工業(yè)網絡。在運動控制領域中,Powerlink和EtherCAT市場占有率和通用性較好。

網絡型伺服對主站的依賴度較高,由于行業(yè)、市場等原因,市場上有各種控制器,很難一種總線可以適應所有應用,因此集成Powerlink、EtherCAT、CANOpen的驅動產品,更能滿足市場的需求,也是本文研究的重點。另外,傳統(tǒng)的脈沖型伺服已很難應對現(xiàn)代控制系統(tǒng)的要求,比如工業(yè)機器人擁有多個伺服,其脈沖布線會很復雜,無法傳輸報警、力矩等高級信息。

國內還沒有同時集成Powerlink、EtherCAT、CANOpen的驅動器,國外伺服產品如倫茨伺服采用插通訊卡的方式,支持多種總線。JuKyungLee給出了基于IEC61800及EtherCAT的實現(xiàn)方式,其控制器及驅動均按標準實現(xiàn),但只一種實時以太網的應用接口。山東大學丁信忠給出了一種基于EtherMAC總線的伺服,其采用的自定義、未標準化的控制協(xié)議。一些總線的廠商給出了各自的集成方法,有的是對硬件和協(xié)議的簡單集成(如PORTING、IXXAT公司的總線產品),有的面向通信提供了統(tǒng)一的接口(如Softing公司、赫優(yōu)訊),而沒有面向驅動應用提供統(tǒng)一接口,并且由于各總線差異較大,配置和使用過程依然較繁瑣。通常,一種集成總線的驅動器的實現(xiàn)都采用并行方法,如圖2所示。圖中的API代表函數(shù)應用接口。

該解決方案的缺點是:每種工業(yè)總線協(xié)議都要有自己的對象字典與對象、需要協(xié)議轉換,并且需要各自的協(xié)議棧運行接口??梢娖浣粨Q過程復雜,而且沒有為驅動專門提供同步接口。

介于當前還沒有面向驅動的、同時支持Powerlink、EtherCAT、CANOpen總線的統(tǒng)一接口架構的論述,本文將闡述解決方法。本項目的驅動應用層不進行Cia402的轉換,直接以它作為開發(fā)指南,規(guī)劃內部的狀態(tài)機與控制接口,同時對多總線以及多軸同步提供協(xié)議和接口。標準中只有通訊級同步報文,本文將通訊級的同步上升到驅動控制中斷(PWM中斷)的同步上。

2系統(tǒng)結構

本文將基于IEC61800-7針對驅動封裝底層通訊,并提供統(tǒng)一的驅動應用層接口。其通訊模型架構和硬件平臺如下文所示。

2.1通訊模型架構

該驅動器的通信模型分為物理層、協(xié)議層、接口層和驅動應用層。整體的架構圖如圖3所示。

物理層位于最底層,包括以太網硬件接口(如PHY芯片)和CAN硬件接口,用于將總線數(shù)據通過網線硬件與協(xié)議棧交互。

協(xié)議層位于物理層與接口層之間,包括Powerlink、EtherCAT和CANOpenCia301協(xié)議棧。該層將上層對象集合按照各自的協(xié)議進行打包發(fā)送給物理層,并將物理層的數(shù)據解包后發(fā)送給接口層;提供接口層可以訪問的接口。在報文解析上,三個總線各不相同,需要針對驅動進行一定的裁剪和統(tǒng)一,比如EtherCAT支持多種通訊協(xié)議,如SERCOSonEtherCAT(SOE)、EthernetOnEtherCAT、CANOpenonEtherCAT(簡稱COE)、FileOnEtherCAT(FOE)。這里選擇Cia301為上層通訊協(xié)議。IEC61800-7-301對Cia301的映射有詳細描述,它包括對象字典、周期通訊對象PDO、非周期通訊對象SDO以及它們的鏈路定義等,這是統(tǒng)一應用層協(xié)議Cia402的基礎。

接口層包括函數(shù)接口、對象集合和對象字典。函數(shù)接口用于實現(xiàn)對通信類型的設置,訪問協(xié)議層,進而進行通信參數(shù)的配置、對象字典的訪問與管理、對協(xié)議棧的狀態(tài)進行管理以及對同步中斷和異步中斷進行處理。對象字典主要分為IEC61800-7-301和IEC61800-7-201定義。

驅動應用層位于接口層的上方,用于實現(xiàn)IEC61800-7-201協(xié)議。應用協(xié)議的統(tǒng)一是驅動器集成多種工業(yè)總線的最終目的。IEC61800-7-201定義了驅動的10種工作模式、核心控制狀態(tài)機。其中同步周期位置/速度/轉矩模式為后來新增,由于Powerlink和EtherCAT接口的同步性較好,這些模式應用廣泛。而CANOpen接口,因其通訊速度以及同步精度的原因,不適合同步周期模式,但可以用插補位置模式替換。各種模式均由主站配置使用。

2.2平臺搭建

本系統(tǒng)采用基于ZynQ硬件平臺搭建,如圖4所示。ZynQ是一款集成了ARMcortexA9和FPGA的芯片,比較適合做帶總線通訊的應用。Powerlink與EtherCAT的網絡硬件可統(tǒng)一(均支持MII、RMII接口)。三種總線從站均采用FPGA實現(xiàn)。其中,CANOpen只用了FPGA中的軟核Microblaze,并未用FPGA資源;Powerlink則即使用FPGA實現(xiàn)OpenHUB轉發(fā)以太網報文和OpenMAC管理MAC的功能,又使用軟核Microblaze實現(xiàn)報文解析;EtherCATIP則通過FPGA實現(xiàn)分布時鐘DC、地址映射管理FMMU、同步管理器SM等功能。各總線需要提供符合AXI的接口供ARM使用。

ARMCortexA9中,則包括:用來實現(xiàn)伺服應用程序ServoApp;封裝隔離總線的接口層Interface;三種總線的庫如CANOpenLib等,則提供了協(xié)議棧相關的處理以及對FPGA接口的訪問。該方案可使用單芯片即實現(xiàn)了常用總線的集成并可根據現(xiàn)場應用來切換。

3接口定義

根據以上技術方案,本節(jié)對接口層實施進行詳細說明。接口層是本方案的重要組成部分,可分為數(shù)據接口與函數(shù)接口。

3.1對象字典與對象集合

數(shù)據接口包括前述的對象字典和對象集合,對象集合是對象字典的實例。其中對象字典主要包括對象定義,如類型、索引、長度、讀寫屬性等。如前所述,包括Cia301和Cia402兩大類對象定義,前者和通訊參數(shù)、映射相關,后者和驅動應用相關。IEC61800-7-301基于Cia301針對

CANOpen、Powerlink、EtherCAT總線分別提供了更具體的映射定義,如DeviceType定義、數(shù)據類型定義等。本文在實例化對象時,Cia301中的對象按三種總線中子索引最多的定義;Cia402對象則直接可以統(tǒng)一的。Cia402中的對象由主站決定哪些映射到PDO哪些可以被SDO訪問。

伺服驅動所用到的Cia402對象集合,如圖5所示,它不包含速度模式(VelocityMode)。對象字典定義為結構體類型,其主要的大結構體均參照Cia402中的分類。

其中,

(1)DeviceControl包含了控制字與狀態(tài)字,以控制設備的主狀態(tài)機;

(2)CSP_Mode為周期位置模式相關對象;

(3)CSV_Mode為周期速度模式相關對象;

(4)CST_Mode為周期轉矩模式相關對象;

(5)FactorGroup即比例因子的換算相關對象;

(6)GeneralInfo為伺服、電機信息的相關對象;

(7)HommingMode為回零模式相關對象;

(8)InterpolatedPostionMode為插補位置模式相關對象;

(9)PorfilePositionMode為輪廓位置模式相關對象,跟周期位置比,它還包含、軌跡控制和加減速控制;

(10)PositionControlFunction為內部位置控制功能,對位置環(huán)加以檢測和限制。

(11)ProfileTorqueMode為輪廓轉矩控制,對轉矩加減速曲線控制;

(12)ProfileVelocityMode為輪廓速度控制,對速度曲線控制。

此外,需要在IEC61800-7-201中自定義對象(0x2000為起始地址)增加了通信類型對象、系統(tǒng)配置和同步延遲補償對象。系統(tǒng)配置對象主要有節(jié)點號(只Powerlink、CANOpen有用)、軟件版本號、VendorID、ProductID等。

3.2函數(shù)接口

函數(shù)接口對底層協(xié)議棧進行封裝管理,屏蔽驅動不用的接口,如Ethernet、SOE協(xié)議、FOE協(xié)議等,以及EtherCAT的自由運行模式等。并增加驅動同步接口。歸納并統(tǒng)一的驅動用到的接口(為簡化忽略數(shù)據參數(shù))。

(1)CommHwInit():負責通信類型設置,以及通信相關硬件的設定與初始化;

(2)CommStackInit():負責協(xié)議棧初始化,比如對象字典、狀態(tài)機、通信相關參數(shù)的設定、伺服配置參數(shù)等;

(3)CommProcess():維護協(xié)議棧狀態(tài),如網絡狀態(tài)機、SDO狀態(tài)機、出錯處理等;

(4)CommExit():退出協(xié)議,清除資源;

(5)CommSyncHdl():同步中斷;

(6)CommSyncCompensation():同步中斷中告知驅動同步補償;

(7)CommPDOCallback():同步中斷中交換生效周期性控制數(shù)據;

(8)CommAsyncHdl():異步中斷,包含異步事件,如周期性控制數(shù)據就緒、非周期SDO事件;

(9)CommSDOCallback():異步中斷中,非周期控制數(shù)據交換成功后的回調;

(10)CommState():獲取通訊狀態(tài)。

實施時,CANOpen、Powerlink、EtherCAT均需要把上面的接口按照自己的協(xié)議和硬件實現(xiàn)一遍。驅動器整體初始化流程示意圖如圖6所示。首先通過接口CommHwInit初始化通信類型及相關硬件接口,使能同步中斷和異步中斷。接著,通過函數(shù)接口CommStackInit初始化協(xié)議棧相關參數(shù)、狀態(tài)、對象字典。然后,函數(shù)接口CommProcess在后臺周期性地執(zhí)行維護網絡狀態(tài)機,并等待中斷。主站可通過數(shù)據幀切換從站的網絡狀態(tài)機、配置要使用的對象集合。若出現(xiàn)協(xié)議棧規(guī)定的應用錯誤,則將錯誤的數(shù)據對象(0x603F對象)反饋給主站,從站進入相應的Cia402狀態(tài);若是通訊錯誤,則網絡狀態(tài)機退出操作狀態(tài);若是無法恢復的系統(tǒng)錯誤,則需調用CommExit函數(shù)接口。

驅動需要通過CommState監(jiān)視通訊狀態(tài)。三種協(xié)議都有兩個核心狀態(tài)機,一個是網絡狀態(tài)機,一個是Cia402應用狀態(tài)機。它們的網絡狀態(tài)機由主站進行切換,包括4個主要狀態(tài)組成,如表1所示。應用層的接口狀態(tài)則可簡化為初始化狀態(tài)、預操作狀態(tài)和操作狀態(tài)。驅動應用層周期地查詢狀態(tài),并做相應的操作。初始化狀態(tài)可初始化協(xié)議棧,驅動應用層可進行自身初始化并等待協(xié)議棧成功返回。在預操作狀態(tài)可通過非周期通信對驅動進行配置,在操作狀態(tài)時則可進行應用層操作、運行驅動。通訊出錯時,若是操作狀態(tài),則協(xié)議層切換狀態(tài)為非操作狀態(tài),驅動應用層檢測到變化則會進入應用狀態(tài)機的錯誤狀態(tài)。SDO狀態(tài)機和出錯處理還是保留原來各協(xié)議棧自己的處理方法,但需要向驅動應用層提供對象操作完成的事件和信息。

3.3同步及中斷處理

在多個軸通訊時,需要在通訊層將數(shù)據同步,然后將PWM輸出與通訊同步起來。如圖7所示,通訊中斷通常包含兩個中斷,一個是同步中斷,一個是異步中斷。PWM中斷是伺服控制電機的核心中斷,中斷優(yōu)先級最高,且周期最短,比如50us。通訊同步中斷周期長點,優(yōu)先級次之,周期較長如1ms。同步中斷用來將各個從站的數(shù)據同步。對于Powerlink總線和CANOpen總線而言,該信號由同步數(shù)據包(Powerlink中的SOC報文、CANOpen中的Sync報文)產生,對于EtherCAT總線而言是由分布時鐘DC產生,它由帶時間戳的報文調整。其中Powerlink和EtherCAT的通訊層同步精度<1μs。

異步中斷主要由一定的事件觸發(fā),Powerlink、EtherCAT均可靈活配置,這里配置為典型的接收到數(shù)據的事件,即收到周期數(shù)據觸發(fā)異步中斷。

接口層中斷函數(shù)的處理,三種總線一致。主站下發(fā)數(shù)據時,從站在異步中斷中收到數(shù)據,若是周期數(shù)據(RxPDO)則放入應用層緩沖區(qū),否則提供非周期控制數(shù)據(SDO)并對驅動應用層提供回調接口,告知驅動應用層異步數(shù)據就緒;當同步中斷到達時,將數(shù)據拷給應用層并生效。從站上發(fā)數(shù)據時,則在同步中斷里,把反饋數(shù)據拷貝到協(xié)議棧緩沖區(qū);協(xié)議棧在上發(fā)下一個數(shù)據幀時(EtherCAT的上發(fā)數(shù)據幀與下發(fā)數(shù)據幀可為同一幀)從協(xié)議棧緩存區(qū)中讀出該周期性反饋數(shù)據,并進行封裝處理后送到網絡硬件接口。

驅動器的驅動應用層并不需要知道太多通信的細節(jié),只需要在需要時調用上面的接口即可。實施時的中斷示意圖如圖8所示。

同步中斷信號到達時,系統(tǒng)進入中斷處理函數(shù)CommSyncHdl。為考慮通信中斷被PWM中斷打斷的情況,驅動應用層需要在此通過CommSyncCompensation讀取同步補償值,該同步補償值即協(xié)議棧收到同步中斷信號的時刻與驅動器進入同步中斷服務程序的時刻之間的差值。驅動應用層用該同步補償值調整PWM周期,以使同步中斷在PWM中斷的空閑時間的中間,同時該PWM中斷為整個電流環(huán)的起始周期。這樣網絡內多個軸的同步依賴于PWM中斷的同步,而PWM中斷又同步于通訊同步中斷函數(shù),從而可以達到多軸的同步執(zhí)行。圖中,CommPDOCallBack負責同步交換數(shù)據。

異步中斷比同步中斷優(yōu)先級低,異步中斷數(shù)據幀到達時,進入異步中斷處理函數(shù)CommAsyncHdl,對異步事件處理,異步事件包括異步數(shù)據接收開始、接收完成等事件,異步數(shù)據接收完成修改Cia402對象,并調用CommSDOCallback通知驅動應用層。

3.4實驗

平臺搭建:貝加萊控制器(Powerlink主站)、倍??刂破鳎‥therCAT主站)、臺達控制器(CANOpen主站)分別連接6臺伺服,每臺伺服將PWM中斷從IO1引腳同步輸出。

以倍??刂破鳛槔?,在測試過程中,用示波器探頭分別測試伺服的IO1輸出,查看伺服PWM同步偏差,如圖9、圖10分別為2臺和6臺伺服驅動器的測試波形圖,每張圖的上部為PWM中斷,高電平為進入PWM中斷并處理,下部為上升沿放大后的圖形。可見PWM級別的同步分別為±200ns和±800ns。Powerlink總線和Canopen總線測試過程與之相同。

匯總測試數(shù)據如表2所示:

通過測試數(shù)據可以看出,在本方法下,所集成的三種工業(yè)總線的同步精度都達到了很高的水平,完全可以滿足工業(yè)級控制要求。也滿足6軸的工業(yè)機器人應用。

4結論

在工業(yè)網絡化發(fā)展的背景下,多種總線并存增加了驅動器網絡化的阻力,將多種總線集成到一個驅動器內就顯得非常必要。本文在伺服驅動器中將常用的Powerlink總線、EtherCAT總線和CANOpen總線集成,使單一產品可以應對多種主站控制器。在特定的應用場合可以發(fā)揮各自的優(yōu)勢,從而能夠更加方便的完成控制任務。

本文提供基于IEC61800-7-301、IEC61800-7-201的統(tǒng)一架構。也驗證了基于標準實現(xiàn)的伺服狀態(tài)機、各種模式控制的可行性。最終通過實驗證明,該面向驅動的架構,具有很好的PWM同步性能。此技術方案具有以下優(yōu)點:

(1)針對Powerlink總線、EtherCAT總線和CANOpen總線采用了統(tǒng)一的對象字典與對象、提供了統(tǒng)一的函數(shù)接口,隔離了通訊協(xié)議;

(2)使得驅動器可以同時支持多種工業(yè)總線,擴展了應用領域,并可加快開發(fā)流程,降低開發(fā)成本;

(3)基于標準開發(fā)驅動器,驅動應用層直接采用Cia402對象及狀態(tài)機作為其核心結構,使得開發(fā)維護成本大大降低,可根據Cia402的應用標準做驅動的各種應用,如狀態(tài)機、位置、速度、轉矩模式的運行,而不是只作為驅動的數(shù)據接口,從而規(guī)避了協(xié)議轉換的麻煩,同時傳輸效率更高;

(4)面向驅動器的應用層提供了同步中斷處理和異步中斷處理的函數(shù)接口,支持多個驅動的同步;

(5)統(tǒng)一Powerlink總線和EtherCAT總線的網絡硬件接口,并驗證可行。從而可重用硬件接口。

標簽:

點贊

分享到:

上一篇:伺服控制系統(tǒng)在數(shù)控機床中的...

下一篇:Q 240超高頻RFID讀寫頭在一汽...

中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.connectcrack.com)獨家所有。如需轉載請與0755-82949061聯(lián)系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯(lián)網或業(yè)內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網站簡介|會員服務|聯(lián)系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網-工業(yè)自動化與智能制造的全媒體“互聯(lián)網+”創(chuàng)新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號