本文來源於:施家邦 工控邦
本(běn)文通過LXM28多圈電機位置溢出補償功能塊在M262和(hé)LMC078兩個伺服控製係統中不同的編(biān)程應用,展示了施耐德ESME和SoMachine全(quán)集成自動化編程軟件平台的高(gāo)性能(néng),這(zhè)兩(liǎng)款軟件在完(wán)美的支持了OEM PLC和Motion等設備(bèi)的同時,還是一款能(néng)夠提供最佳解(jiě)決方案的(de)軟件,可(kě)用於開發、配置和調試機器控製器。
01.LXM28多圈電機的優勢
LXM28伺服(fú)電機的編碼器按圈數類型(xíng)分為單圈和多(duō)圈兩種(zhǒng),其中,28S多圈電(diàn)機通過電池可以(yǐ)在(zài)伺服斷(duàn)電再上電後,保持住斷(duàn)電前的位(wèi)置,在一些不(bú)方便(biàn)安裝原點開關的複雜(zá)的機械設備上,使用多圈伺(sì)服電機可以避(bì)免必須通過原點開關進行尋原(yuán)點。另外,在一些因為特殊機械結構而導致尋一(yī)次原(yuán)點需要很長時間(jiān)的應用場合,多圈電機因為不(bú)用上電(diàn)每次都尋原在從而提高了效率。
02.LXM28多圈位置溢出的分析
多(duō)圈伺服電(diàn)機隻向一個方向旋轉時,因為伺服位置的值是32位的,範圍為-2,147,483,648到2,147,483,647,電機旋轉的(de)圈數經過一定時間的累積,伺服電機的編碼器位置值就會發生(shēng)溢出。
03.多圈(quān)伺服電(diàn)機位置(zhì)發生溢出後再次(cì)上電(diàn)電機位置不能(néng)保持的原因(yīn)
LXM28S多圈伺服電機位置發生溢出後,PLC的程序會自動(dòng)處理這種(zhǒng)溢出(chū),這樣,在不斷(duàn)電源的情況下,PLC內部的浮點數形式的位置值在伺服電機的編碼(mǎ)器位置值發(fā)生溢出(chū)時也一直是正確的,但是(shì)如果將設備停機後斷電再次上電,就(jiù)有可能發生斷電前的伺服電機的位置值和上電後位置值對應不起來的情況。
也就是說(shuō)再次上電電機位置不能保持的原因是因為PLC斷電(diàn)再(zài)重新上電後沒有對LXM28S的軸位置的溢出進行補償導致的。
當電機(jī)往一個方向轉動的圈數足夠大時,編碼(mǎ)器反饋的位置值將(jiāng)超過 DINT 的限製。溢出是發生在位置 2,147,483,647跳變到-2,147,483,648(正向(xiàng)),或者-2,147,483,648到2,147,483,647(反向)。
對於模數軸來說,伺服的位置(zhì)值(zhí)有一個變化周期 ,變化範圍:0~模值設定值。
例如:LXM28S的模值設置為(wéi)120,軸配置的齒輪比後對應的每圈位置的是340用戶單位,齒輪箱的減速比分子(zǐ)GearIn為10,分母GearOut為1 ,如圖1所示。
圖 1 28S軸的配置(zhì)
在伺服電機(jī)的位置溢出一次後,斷電前的軸位置(軸名稱.lrPosition)為43.6,如果不做補償,上電後的(de)位(wèi)置(zhì)將(jiāng)在83.6左右,這樣,PLC上電後的位置值和斷電前的位置產生偏差,上電後PLC的浮點(diǎn)數的位置(zhì)值和機械位置直接(jiē)發生了移(yí)動,如果不做修正,機器的生產將因此而中斷。
04.LXM28S多圈位置溢出時補償值公式
我們(men)需(xū)要根據多圈編碼器的溢出次數和軸機械(xiè)相關的參數設置(zhì),包括減速機的減速(sù)比、電機每圈旋轉時(shí)對應的用戶單位,將補償值計算出來(lái),在伺服斷電再(zài)上電後(hòu),從而實現在伺服電機沒有移動的情況下,斷電前後PLC的(de)位置相同。
例(lì):電機每圈旋轉時對應的用(yòng)戶單位PositionResolution等於340,減(jiǎn)速機的GearIn等於 1,減速機的GearOut等於10,則LXM28S伺服電機每圈走過的距離是340.0*10/1,而28伺服電機每(měi)圈的脈衝數在PLC中固定為131072,伺(sì)服(fú)位置變動範(fàn)圍是:-2,147,483,648到(dào)2,147,483,647,即-16384圈*131072~16384圈*131072-1,也就(jiù)是每次發生一次溢出需要補償32768圈(quān)對應的用戶單位,考(kǎo)慮溢出次數,我們得到(dào)補償值的計算公式如下:
其中:
GearIn 和GearOut:是齒輪箱的減速比的分(fèn)子和分(fèn)母;
PositionResolution:為伺服電機旋轉一圈對應位置值 ;
ModuloValue:模值;
MOD:將補償值(zhí)轉換為模數軸位置值的示意符(fú)號。
05.多圈位置移動溢出位置補償的三種方法
通過選擇固(gù)定的減速比和模數值(zhí)解決溢出問題
由補償值的計算公式可知,在一些特殊的條件下,可以不需要做補償,例如,恰當的選擇減速(sù)比,即減速機選型時,將減速比固定為(wéi)2的n 次方,即4,8,16..,這樣32768除減速比就可以除盡,同時選擇合適的模數(shù)值,使每圈對應位(wèi)置工程量PositionResolution是模值ModuloValued 整數倍,例如將每(měi)圈對應位(wèi)置工程(chéng)量和模(mó)數(shù)值都設為360,這樣補(bǔ)償值就始終為零。
這種方(fāng)法可靠性(xìng)最好,不需要在PLC中對溢出編寫程序進行修正,但是在實際工程項目中選擇減(jiǎn)速箱的減速比為2的n次方往往因(yīn)為機械速度、解決方案替換等的限製而變的不可行,模數值的選擇如(rú)果加上限製,在設計(jì)凸輪曲線時也會有很多不便之處。
通過驅動器的內部功能進行補償(cháng)
通過伺服驅動(dòng)器的內(nèi)部功能(néng),功能類似LXM32係列的Modulo功能,是將伺服本身32位變動範圍(wéi)的位置值生成一個新(xīn)的坐標係和新的位置值),使得新的(de)回授位置不會產生溢出,而是(shì)保持一個(gè)範圍內的數據變化(huà)。Modulo軸的工作示意圖如圖2所示。當設置Modulo的(de)設置(zhì)值後,驅動(dòng)器的(de)位置變動範圍將變成0~3600.
圖2 Modulo參數功能示意圖
伺服位置值變動範圍修改(gǎi)為模數值乘以減速比的整數倍,每圈對應的工程(chéng)量單位,一般也采用固定值360,這樣在程序中也不需(xū)要做補償,但是目前LXM28不支持此功能。
通過功(gōng)能塊在PLC內部進(jìn)行補償
如果機械不允許發生變化,或者根據工藝的變化需要使用不同的模數值,這時,可以(yǐ)通過創建功能塊並編寫程序來完成位置溢出的補償。
06.M262PLC係(xì)統中的LXM28S多圈位置溢出功能塊
在(zài)M262伺服控製係統中,采用的(de)是(shì)第三種位置補償的方法,即:通過創建新的FB功能塊在PLC內部(bù)進行補償(cháng)的方式。
(1)M262伺服控製(zhì)係統中的工作過程
SERCOS通信工(gōng)作正常(cháng)後,根據配置的軸(zhóu)的機械參數(減速比、每圈對應的用(yòng)戶單位等等機械(xiè)參數),PLC會把讀(dú)取的伺服電(diàn)機(jī)編碼器的位置值翻譯成以(yǐ)浮點(diǎn)數形式的軸的位置值。
無溢(yì)出(chū)時,FB功能塊的補償值為0。
有溢出時,FB功(gōng)能塊計算出補償值,使設備斷(duàn)電再上電後的PLC內部位置值與外部機械(xiè)的位置值保持正確的對應關係。
(2)創建FB多圈位置溢出補償功能塊
打開EcoStruxure軟件,單擊【應用程序樹】→【Application】,選(xuǎn)擇程序組(zǔ)織(zhī)單元,如圖(tú)3所示(shì)。
圖 3 創建(jiàn)程序組織單元
創(chuàng)建名稱(chēng)為【overflow_compensate】的FB多(duō)圈位置(zhì)溢出補償功能塊,ST編程語言(yán),如圖4所示。
圖 4 FB功能(néng)塊的創建
下(xià)一篇(piān):2022年(nián)客戶常問問題係列之Tesys Giga係列產品基礎(chǔ)知識32問(3)