亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

基于CANopen的伺服驅(qū)動器位置控制同步方法與流程

文檔序號:11153420閱讀:3460來源:國知局
基于CANopen的伺服驅(qū)動器位置控制同步方法與制造工藝

本發(fā)明涉及基于CANopen的伺服驅(qū)動器位置控制同步方法。



背景技術:

運動控制系統(tǒng)的發(fā)展水平?jīng)Q定了一個國家裝備制造業(yè)的水平。隨著現(xiàn)場總線和網(wǎng)絡技術的發(fā)展,分布式運動控制系統(tǒng)是數(shù)控系統(tǒng)的重要發(fā)展方向。高水平的分布式運動控制系統(tǒng)需要實現(xiàn)高精度的電流、速度及位置全閉環(huán)控制,需要實現(xiàn)高效、高速的信息交互。

傳統(tǒng)伺服驅(qū)動器接口需配備額外的運動控制卡,運動控制卡和伺服驅(qū)動器之間以脈沖命令和模擬信號連接。這種方法布線復雜、通信速率低、集中控制方式復雜、可擴展性差,嚴重制約了中高檔伺服技術的發(fā)展和應用。

工業(yè)上廣泛采用的伺服接口總線有CANopen、EtherCAT、Powerlink等,這些方案通過全數(shù)字式信息傳輸可以實現(xiàn)分布式多軸控制,降低了系統(tǒng)的復雜性且易于擴展。EtherCAT、Powerlink等工業(yè)以太網(wǎng)雖然具有通信速率高、傳輸數(shù)據(jù)量大的優(yōu)點,但是,其多采用專有硬件或者大容量FPGA實現(xiàn),具有較高的硬件成本和最大傳輸距離僅為100m等不可忽視的缺陷。然而,目前絕大多數(shù)的MCU都含有CAN外設,可以通過此外設實現(xiàn)CANopen網(wǎng)絡,不僅可以降低系統(tǒng)的成本,而且增加了系統(tǒng)的抗干擾能力,最大傳輸距離增加到5000m。

CiA402(Device Profile Drives and Motion Control)協(xié)議支持同步的插補位置模式,結合CANopen的同步機制,在多軸位置控制應用場合,實現(xiàn)各軸同步輸出控制器下發(fā)的位置給定。插補位置模式多用于多軸控制或?qū)υO定點進行實踐插補的單軸系統(tǒng),以SYNC同步幀作為時間同步基準,對驅(qū)動單元進行時間統(tǒng)一。圖1示出了CANopen總線實現(xiàn)多軸伺服系統(tǒng)的連接結構示意圖。

CANopen總線的同步原理如圖2所示,同步對象在每個同步周期的開始被發(fā)送,各個具有同步PDO的主從節(jié)點在接收到同步對象后開始同步PDO數(shù)據(jù)傳輸。同步PDO不一定要在同步窗口內(nèi)完成數(shù)據(jù)交換,通常以同步時間窗口長度等于循環(huán)周期為考慮問題的出發(fā)點。在現(xiàn)有解決方案中,CANopen伺服要么沒有插補位置模式,要么采用同步方式的插補位置模式?jīng)]有給出其同步方法。在CANopen網(wǎng)絡中,影響同步的因素主要有:

1.同步生產(chǎn)者(通常是CANopen主節(jié)點)發(fā)送同步幀的抖動,不同節(jié)點基于各自的時鐘運行等原因,導致從節(jié)點的MCU在不同的時刻接收到同步對象;

2.伺服中斷直接控制功率模塊,對獨立性和周期精度要求較高,因此具有較高的優(yōu)先級。但是,伺服中斷可能打斷通信同步中斷,無法同步執(zhí)行數(shù)據(jù)。



技術實現(xiàn)要素:

本發(fā)明所要解決的技術問題在于提供一種基于CANopen的伺服驅(qū)動器位置控制同步方法,其能實現(xiàn)各通信從節(jié)點同步對象接收時刻的抖動補償,確保位置數(shù)據(jù)同步更新。

本發(fā)明所要解決的又一技術問題在于提供一種基于CANopen的伺服驅(qū)動器位置控制同步方法,其在伺服中斷打斷通信同步中斷的情況下,也能保證插補位置的同步性。

為解決上述技術問題,本發(fā)明所采用的技術方案是:

一種基于CANopen的伺服驅(qū)動器位置控制同步方法,所述的伺服驅(qū)動器設有基于CANopen總線的從節(jié)點,該基于CANopen的伺服驅(qū)動器位置控制同步方法包括:

a、從節(jié)點每次在SYNC同步對象到來時獲取當前位置環(huán)的序號Psync以及當前位置環(huán)的位置環(huán)時刻Csync,并計算出當前位置環(huán)與預設的目標位置環(huán)之間的時間偏移量Toffset,其中,當Psync*Tperiod+Csync-(Ptarget*Tperiod+Ctarget)≤Tsync/2時,Toffset=Psync*Tperiod+Csync-(Ptarget*Tperiod+Ctarget),當Psync*Tperiod+Csync-(Ptarget*Tperiod+Ctarget)>Tsync/2時,Toffset=Psync*Tperiod+Csync-(Ptarget*Tperiod+Ctarget)-Tsync;Tsync為同步周期,Tperiod為默認位置環(huán)周期,Ptarget為所述目標位置環(huán)的序號,Ctarget為預先設定的、目標位置環(huán)在SYNC同步對象到來時的位置環(huán)時刻;

b、從節(jié)點根據(jù)步驟a計算出的時間偏移量Toffset計算要調(diào)整后的位置環(huán)周期Tperiod_new,Tperiod_new=Tperiod+Tcompensation,其中,Tcompensation為位置環(huán)周期補償值,Tcompensation=Toffset/N,N=Tsync/Tperiod;

c、從節(jié)點將位于當前位置環(huán)之后、并緊鄰當前位置環(huán)的連續(xù)N個位置環(huán)的周期均調(diào)整為Tperiod_new。

本發(fā)明具有以下優(yōu)點和特點:

1、本發(fā)明通過對從節(jié)點位于當前位置環(huán)之后、并緊鄰當前位置環(huán)的連續(xù)N個位置環(huán)的位置環(huán)周期進行調(diào)整,使從節(jié)點可以在SYNC同步對象到來的時刻處于任何預定的目標位置環(huán),進而能夠使通信網(wǎng)絡中的各個從節(jié)點在相同的時刻接收到同步對象,實現(xiàn)了位置數(shù)據(jù)同步更新,提高了CANopen伺服插補位置模式的同步性能;

2、本發(fā)明在每一同步周期內(nèi)的多個位置環(huán)周期內(nèi)均勻地補償時間偏差,提高了數(shù)據(jù)傳輸?shù)耐叫阅?,對于高速、高精度分布式運動控制系統(tǒng)的位置控制具有重要意義;

3、本申請不是將插補周期的起始位置環(huán)作為SYNC同步對象到來時刻的目標位置環(huán),而是將比插補周期的起始位置環(huán)早幾個位置環(huán)周期的位置環(huán)作為目標位置環(huán),這樣即使SYNC同步對象的接收被打斷,依然有足夠的時間余量,保證插補周期開始時插補位置已經(jīng)準備好,從而保證插補位置的同步性,實現(xiàn)數(shù)據(jù)的同步執(zhí)行。

附圖說明

圖1示出了CANopen總線實現(xiàn)多軸伺服系統(tǒng)的連接結構示意圖。

圖2示出了CANopen總線的同步原理示意圖。

圖3示出了根據(jù)本發(fā)明一個具體應用實施例的兩個從節(jié)點的位置環(huán)周期在調(diào)整前和調(diào)整后的比較示意圖。

圖4示出了根據(jù)本發(fā)明一實施例的使同步周期與插補周期錯開的原理示意圖。

圖5示出了根據(jù)本發(fā)明一實施例的一個同步周期的流程示意圖。

具體實施方式

根據(jù)本發(fā)明一實施例的一種基于CANopen的伺服驅(qū)動器位置控制同步方法,伺服驅(qū)動器設有基于CANopen總線的從節(jié)點,該基于CANopen的伺服驅(qū)動器位置控制同步方法包括以下步驟:

a、從節(jié)點每次在SYNC同步對象到來時獲取當前位置環(huán)的序號Psync以及當前位置環(huán)的位置環(huán)時刻Csync,并計算出當前位置環(huán)與預設的目標位置環(huán)之間的時間偏移量Toffset,其中,當Psync*Tperiod+Csync-(Ptarget*Tperiod+Ctarget)≤Tsync/2時,Toffset=Psync*Tperiod+Csync-(Ptarget*Tperiod+Ctarget),當Psync*Tperiod+Csync-(Ptarget*Tperiod+Ctarget)>Tsync/2時,Toffset=Psync*Tperiod+Csync-(Ptarget*Tperiod+Ctarget)-Tsync。Tsync為同步周期,Tperiod為默認位置環(huán)周期,Ptarget為目標位置環(huán)的序號,Ctarget為預先設定的、目標位置環(huán)在SYNC同步對象到來時的位置環(huán)時刻。

b、從節(jié)點根據(jù)步驟a計算出的時間偏移量Toffset計算要調(diào)整后的位置環(huán)周期Tperiod_new,Tperiod_new=Tperiod+Tcompensation,其中,Tcompensation為位置環(huán)周期補償值,Tcompensation=Toffset/N,N=Tsync/Tperiod。

c、從節(jié)點將位于當前位置環(huán)之后、并緊鄰當前位置環(huán)的連續(xù)N個位置環(huán)的周期均調(diào)整為Tperiod_new。

圖3示出了根據(jù)本發(fā)明一個具體應用實施例的兩個從節(jié)點的位置環(huán)周期在調(diào)整前和調(diào)整后的比較示意圖,以下結合圖3對本發(fā)明的工作原理和過程做更加詳細的介紹。在圖3中,兩條位于SYNC下方的豎直線代表SYNC同步對象到來的時刻,該兩條豎線之間的間距代表兩個SYNC同步對象到來時刻的差值,也即同步周期。每一個矩形框代表一個位置環(huán),每個矩形框中的數(shù)字代表位置環(huán)的序號,矩形框的寬度為位置環(huán)周期。同步周期Tsync=4毫秒,默認位置環(huán)周期Tperiod=200微秒。N=Tsync/Tepriod=20,即,一個同步周期Tsync的大小為1個位置環(huán)周期的20倍?,F(xiàn)有技術中,同步周期Tsync的大小必定是位置環(huán)周期的整數(shù)倍。在圖中的示例中,位置環(huán)的序號按照從0到19排列,但不限于此,例如也可以是1到20,或2到21等等,只要按順序用自然數(shù)連續(xù)編號就可以。圖3中,節(jié)點1和節(jié)點2是兩個不同的從節(jié)點。調(diào)整前,節(jié)點1在圖3中所示的左邊一個SYNC同步對象到來時的當前位置環(huán)的序號Psync為16,當前位置環(huán)的位置環(huán)時刻Csync為160微秒。位置環(huán)時刻是位置環(huán)定時器的計時時刻,位置環(huán)定時器以位置環(huán)周期作為計時循環(huán)周期,在每個計時循環(huán)周期從零開始計時一直計時到達位置環(huán)周期。例如,默認的位置環(huán)周期為200微秒時,那么位置環(huán)定時器就在計時達到200微秒時從0開始重新計時。節(jié)點2在圖3中所示的左邊一個SYNC同步對象到來時的當前位置環(huán)的序號Psync為1,當前位置環(huán)的位置環(huán)時刻Csync為20微秒。本實施例中,將目標位置環(huán)的序號Ptarget設為0,Ctarget設為0微秒。

當未進行同步操作前,SYNC同步對象的到達時刻與伺服位置環(huán)時刻之間的偏移量是隨機的,不同從節(jié)點的位置環(huán)觸發(fā)時刻偏差也是隨機的,即輸出數(shù)據(jù)在不同的時刻被執(zhí)行。為解決各從節(jié)點在不同時刻接收到SYNC同步對象的問題,需要根據(jù)SYNC同步對象到達時的位置環(huán)時刻和目標位置環(huán)時刻之間的偏差調(diào)整位置環(huán)周期,使得各節(jié)點都在目標位置環(huán)時刻同步更新和執(zhí)行插補位置。調(diào)整的目的是當同步對象到來時,位置環(huán)恰好處于新的插補周期的開始,在本實施例中為位置環(huán)0的開始。

對節(jié)點1來說,Psync*Tperiod+Csync-(Ptarget*Tperiod+Ctarget)=16.8*Tperiod,由于其大于10*Tperiod(即Tsync/2),因此Toffset=16.8*Tperiod-20*Tperiod=-3.2*Tperiod。Tperiod_new=Tperiod+Tcompensation=Tperiod-0.16*Tperiod=0.84*Tperiod。也就是說,調(diào)整后的位置環(huán)周期Tperiod_new比默認位置環(huán)周期Tperiod要短。從節(jié)點1將位于序號為16的當前位置環(huán)之后的連續(xù)20個位置環(huán)的周期均要調(diào)整為0.84*Tperiod,即從序號為17的位置環(huán)開始一直到下一個序號為16的位置環(huán)的周期均調(diào)整為0.84*Tperiod??梢酝ㄟ^調(diào)整定時器的值達到調(diào)整位置環(huán)周期的目的。

對節(jié)點2來說,Psync*Tperiod+Csync-(Ptarget*Tperiod+Ctarget)=1.2*Tperiod,由于其小于等于10*Tperiod,因此Toffset=1.2*Tperiod。也就是說,調(diào)整后的位置環(huán)周期Tperiod_new比默認位置環(huán)周期Tperiod要長。從節(jié)點2要將位于序號為1的當前位置環(huán)之后的連續(xù)20個位置環(huán)的周期均要調(diào)整為1.2*Tperiod,即從序號為2的位置環(huán)開始一直到下一個序號為1的位置環(huán)的周期均調(diào)整為1.2*Tperiod。

完成上述調(diào)整后,在下一個SYNC同步對象到來時,如圖3中的下方兩幅圖所示,節(jié)點1和節(jié)點2均在位置環(huán)0的0時刻接收到SYNC同步對象,即節(jié)點1和節(jié)點2在相同的時刻接收到了SYNC同步對象,從而可實現(xiàn)位置數(shù)據(jù)同步更新。而在該下一個SYNC同步對象到來時,節(jié)點1和節(jié)點2又會重復前述的步驟a至步驟c。

為了防止補償值過大,引起伺服出現(xiàn)其他問題,最好是對Tcompensation加一個限幅,從而保證位置環(huán)周期的波動不超過2%。正常周期通信后,主從節(jié)點都基于各自的時鐘運行,且時鐘是有漂移的,因此本實施例采用了動態(tài)調(diào)整的方式,即在每個同步周期內(nèi)都對位置環(huán)周期做出調(diào)整。

伺服電流環(huán)定時器具有較高的優(yōu)先級,可能打斷SYNC同步對象的接收中斷,造成同步抖動和延遲。根據(jù)本發(fā)明一實施例的一種基于CANopen的伺服驅(qū)動器位置控制同步方法為了在同步對象的接收被打斷時還能夠保證插補位置的同步性,采用了同步周期和插補周期錯位的方法解決上述問題。具體而言,在本實施例中,將比插補周期的起始位置環(huán)早n個位置環(huán)周期的位置環(huán)作為前述預設的目標位置環(huán);n為大于等于1小于等于4的整數(shù)。圖4示出了這種方法的工作原理。如圖4所示,插補周期的起始位置環(huán)是序號為0的位置環(huán),即位置環(huán)0。在圖4所示的實施例中,不采用位置環(huán)0作為調(diào)整目標,而是采用提前位置環(huán)0兩個位置環(huán)周期的位置環(huán)18作為調(diào)整目標,這樣即使SYNC同步對象的接收被打斷,依然有足夠的時間余量,保證插補周期開始時插補位置已經(jīng)準備好。

根據(jù)本發(fā)明一實施例的一種基于CANopen的伺服驅(qū)動器位置控制同步方法可通過從節(jié)點的MUC的同步程序來實現(xiàn)。如圖5所示,從節(jié)點至少包含兩個任務,一個是定時器觸發(fā)的按照插補周期周期性運行的插補位置模式任務,一個是中斷觸發(fā)的CANopen數(shù)據(jù)處理任務。在通信過程中,從節(jié)點首先接收到SYNC同步對象,再接收到過程數(shù)據(jù)對象。當接收到SYNC同步對象時,從節(jié)點根據(jù)當前插補周期處于的位置環(huán)時刻和調(diào)整目標位置環(huán)時刻計算出同步偏差,計算出調(diào)整位置環(huán)周期的補償值,并微調(diào)位置環(huán)周期;然后將上個周期接收到的過程數(shù)據(jù)更新到插補模塊;最后觸發(fā)TPDO(發(fā)送過程數(shù)據(jù)對象)發(fā)送輸入過程數(shù)據(jù)。當接收到過程數(shù)據(jù)對象時,解析數(shù)據(jù)到對象字典中,在下個同步對象到來時更新到插補模塊。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1