午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

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

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

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



背景技術(shù):

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

附圖說明

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

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

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

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

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

具體實施方式

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

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

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

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

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

當(dāng)未進(jìn)行同步操作前,SYNC同步對象的到達(dá)時刻與伺服位置環(huán)時刻之間的偏移量是隨機(jī)的,不同從節(jié)點的位置環(huán)觸發(fā)時刻偏差也是隨機(jī)的,即輸出數(shù)據(jù)在不同的時刻被執(zhí)行。為解決各從節(jié)點在不同時刻接收到SYNC同步對象的問題,需要根據(jù)SYNC同步對象到達(dá)時的位置環(huán)時刻和目標(biāo)位置環(huán)時刻之間的偏差調(diào)整位置環(huán)周期,使得各節(jié)點都在目標(biāo)位置環(huán)時刻同步更新和執(zhí)行插補(bǔ)位置。調(diào)整的目的是當(dāng)同步對象到來時,位置環(huán)恰好處于新的插補(bǔ)周期的開始,在本實施例中為位置環(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比默認(rèn)位置環(huán)周期Tperiod要短。從節(jié)點1將位于序號為16的當(dāng)前位置環(huán)之后的連續(xù)20個位置環(huán)的周期均要調(diào)整為0.84*Tperiod,即從序號為17的位置環(huán)開始一直到下一個序號為16的位置環(huán)的周期均調(diào)整為0.84*Tperiod。可以通過調(diào)整定時器的值達(dá)到調(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比默認(rèn)位置環(huán)周期Tperiod要長。從節(jié)點2要將位于序號為1的當(dāng)前位置環(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又會重復(fù)前述的步驟a至步驟c。

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

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

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

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