本文來源(yuan)于:施(shi)家邦 工控邦
本文(wen)通過LXM28多圈電(dian)機(ji)位置(zhi)溢出補(bu)償(chang)功能(neng)(neng)塊在(zai)(zai)M262和(he)LMC078兩個(ge)伺服控制(zhi)系(xi)統中不同(tong)的(de)(de)(de)編程(cheng)應用(yong),展示了施耐德ESME和(he)SoMachine全集成(cheng)自動化編程(cheng)軟(ruan)件(jian)(jian)平(ping)臺的(de)(de)(de)高性能(neng)(neng),這兩款軟(ruan)件(jian)(jian)在(zai)(zai)完美的(de)(de)(de)支持(chi)了OEM PLC和(he)Motion等(deng)設備(bei)的(de)(de)(de)同(tong)時,還是一款能(neng)(neng)夠提供最佳解決方(fang)案的(de)(de)(de)軟(ruan)件(jian)(jian),可(ke)用(yong)于開發(fa)、配置(zhi)和(he)調試(shi)機(ji)器控制(zhi)器。
01.LXM28多圈電機的優勢
LXM28伺服電(dian)(dian)(dian)機(ji)的編碼(ma)器按(an)圈(quan)(quan)數(shu)類型分為(wei)單圈(quan)(quan)和多(duo)(duo)圈(quan)(quan)兩種,其中,28S多(duo)(duo)圈(quan)(quan)電(dian)(dian)(dian)機(ji)通(tong)過電(dian)(dian)(dian)池可(ke)以在伺服斷電(dian)(dian)(dian)再(zai)上(shang)電(dian)(dian)(dian)后,保持住斷電(dian)(dian)(dian)前的位置,在一(yi)些不方便安裝原(yuan)(yuan)點(dian)開(kai)關(guan)的復雜的機(ji)械設備上(shang),使(shi)用(yong)多(duo)(duo)圈(quan)(quan)伺服電(dian)(dian)(dian)機(ji)可(ke)以避(bi)免(mian)必須通(tong)過原(yuan)(yuan)點(dian)開(kai)關(guan)進(jin)行尋(xun)原(yuan)(yuan)點(dian)。另外,在一(yi)些因(yin)為(wei)特殊機(ji)械結(jie)構而(er)導(dao)致尋(xun)一(yi)次原(yuan)(yuan)點(dian)需要很長時間的應用(yong)場合,多(duo)(duo)圈(quan)(quan)電(dian)(dian)(dian)機(ji)因(yin)為(wei)不用(yong)上(shang)電(dian)(dian)(dian)每次都尋(xun)原(yuan)(yuan)在從而(er)提高(gao)了效率。
02.LXM28多圈位置溢出的分析
多圈伺(si)服(fu)電(dian)機只向(xiang)一個方向(xiang)旋轉(zhuan)時,因為伺(si)服(fu)位(wei)置的(de)值是(shi)32位(wei)的(de),范圍為-2,147,483,648到2,147,483,647,電(dian)機旋轉(zhuan)的(de)圈數(shu)經過一定時間的(de)累積,伺(si)服(fu)電(dian)機的(de)編(bian)碼器位(wei)置值就會發生溢出。
03.多圈伺服電機位置發生溢出后再次上電電機位置不能保持的原因
LXM28S多圈(quan)伺服(fu)(fu)電(dian)(dian)(dian)機(ji)位置(zhi)發(fa)生(sheng)溢出(chu)后,PLC的(de)(de)程(cheng)序會自動處理(li)這種溢出(chu),這樣,在不(bu)斷(duan)電(dian)(dian)(dian)源的(de)(de)情況(kuang)下,PLC內部的(de)(de)浮點數形(xing)式(shi)的(de)(de)位置(zhi)值(zhi)在伺服(fu)(fu)電(dian)(dian)(dian)機(ji)的(de)(de)編(bian)碼器位置(zhi)值(zhi)發(fa)生(sheng)溢出(chu)時也(ye)一直是正確的(de)(de),但是如果將設(she)備停機(ji)后斷(duan)電(dian)(dian)(dian)再次上電(dian)(dian)(dian),就有可能(neng)發(fa)生(sheng)斷(duan)電(dian)(dian)(dian)前的(de)(de)伺服(fu)(fu)電(dian)(dian)(dian)機(ji)的(de)(de)位置(zhi)值(zhi)和上電(dian)(dian)(dian)后位置(zhi)值(zhi)對應不(bu)起來的(de)(de)情況(kuang)。
也就(jiu)是說(shuo)再次上電(dian)(dian)電(dian)(dian)機位置(zhi)不能保持的(de)原因是因為PLC斷電(dian)(dian)再重新上電(dian)(dian)后沒(mei)有對LXM28S的(de)軸位置(zhi)的(de)溢出進(jin)行補償導(dao)致的(de)。
當電機往一個(ge)方(fang)向轉動(dong)的圈數足夠大(da)時,編碼器反(fan)饋的位(wei)(wei)置(zhi)值將超過 DINT 的限制。溢(yi)出是發生(sheng)在位(wei)(wei)置(zhi) 2,147,483,647跳變到(dao)-2,147,483,648(正向),或(huo)者-2,147,483,648到(dao)2,147,483,647(反(fan)向)。
對于(yu)模數軸來說,伺服的位置值(zhi)有一個變化周期 ,變化范圍(wei):0~模值(zhi)設定值(zhi)。
例如:LXM28S的模(mo)值設置(zhi)(zhi)為(wei)120,軸配置(zhi)(zhi)的齒(chi)輪比(bi)后對應的每圈位置(zhi)(zhi)的是340用戶單位,齒(chi)輪箱的減速(su)比(bi)分(fen)子GearIn為(wei)10,分(fen)母GearOut為(wei)1 ,如圖(tu)1所示。
圖 1 28S軸(zhou)的(de)配置(zhi)
在(zai)伺服(fu)電(dian)機的位(wei)置(zhi)(zhi)溢(yi)出一次(ci)后(hou)(hou),斷(duan)電(dian)前的軸位(wei)置(zhi)(zhi)(軸名稱.lrPosition)為43.6,如(ru)果不做補償,上(shang)電(dian)后(hou)(hou)的位(wei)置(zhi)(zhi)將(jiang)在(zai)83.6左右,這樣(yang),PLC上(shang)電(dian)后(hou)(hou)的位(wei)置(zhi)(zhi)值和斷(duan)電(dian)前的位(wei)置(zhi)(zhi)產生偏(pian)差(cha),上(shang)電(dian)后(hou)(hou)PLC的浮點數的位(wei)置(zhi)(zhi)值和機械位(wei)置(zhi)(zhi)直接發生了移動,如(ru)果不做修正,機器的生產將(jiang)因(yin)此而中斷(duan)。
04.LXM28S多圈位置溢出時補償值公式
我們(men)需要根據多圈(quan)編碼器(qi)的(de)溢出次(ci)數和軸機(ji)械(xie)相關(guan)的(de)參數設(she)置,包(bao)括減(jian)速機(ji)的(de)減(jian)速比、電(dian)(dian)機(ji)每圈(quan)旋轉時對(dui)應的(de)用戶單位,將補償值計(ji)算(suan)出來,在伺服(fu)斷電(dian)(dian)再上電(dian)(dian)后(hou),從而實現在伺服(fu)電(dian)(dian)機(ji)沒有移動的(de)情況下,斷電(dian)(dian)前后(hou)PLC的(de)位置相同。
例(li):電機(ji)每(mei)圈(quan)(quan)旋轉時對應的(de)(de)用(yong)(yong)戶單位PositionResolution等(deng)于340,減速機(ji)的(de)(de)GearIn等(deng)于 1,減速機(ji)的(de)(de)GearOut等(deng)于10,則LXM28S伺服電機(ji)每(mei)圈(quan)(quan)走過的(de)(de)距(ju)離是340.0*10/1,而28伺服電機(ji)每(mei)圈(quan)(quan)的(de)(de)脈沖數(shu)在PLC中(zhong)固定(ding)為131072,伺服位置變動范圍是:-2,147,483,648到(dao)(dao)2,147,483,647,即-16384圈(quan)(quan)*131072~16384圈(quan)(quan)*131072-1,也(ye)就是每(mei)次(ci)(ci)發生一次(ci)(ci)溢(yi)(yi)出需要補(bu)償32768圈(quan)(quan)對應的(de)(de)用(yong)(yong)戶單位,考慮溢(yi)(yi)出次(ci)(ci)數(shu),我們得到(dao)(dao)補(bu)償值的(de)(de)計(ji)算公式如下:
其中:
GearIn 和GearOut:是齒(chi)輪箱的(de)減速(su)比的(de)分(fen)子(zi)和分(fen)母;
PositionResolution:為(wei)伺服電機旋轉一(yi)圈對應(ying)位置值 ;
ModuloValue:模(mo)值;
MOD:將補償值轉換為(wei)模數(shu)軸位置值的(de)示意(yi)符號。
05.多圈位置移動溢出位置補償的三種方法
通過選擇固定的減速比和模數值解決溢出問題
由補(bu)(bu)(bu)償(chang)值(zhi)的(de)計算公(gong)式可知,在一些特殊(shu)的(de)條件下,可以不需(xu)要做補(bu)(bu)(bu)償(chang),例(li)如(ru),恰當(dang)的(de)選擇(ze)減速比,即減速機選型(xing)時(shi),將減速比固定為(wei)2的(de)n 次方,即4,8,16..,這樣32768除減速比就(jiu)可以除盡,同時(shi)選擇(ze)合適的(de)模數值(zhi),使每圈對應位(wei)置工程量(liang)PositionResolution是模值(zhi)ModuloValued 整(zheng)數倍(bei),例(li)如(ru)將每圈對應位(wei)置工程量(liang)和模數值(zhi)都設(she)為(wei)360,這樣補(bu)(bu)(bu)償(chang)值(zhi)就(jiu)始終為(wei)零。
這種方法(fa)可靠性最好,不需(xu)要在PLC中(zhong)對溢出編(bian)寫程序(xu)進(jin)行(xing)修(xiu)正,但是在實際工程項目中(zhong)選(xuan)擇(ze)減速箱的(de)減速比為2的(de)n次方往(wang)往(wang)因為機械速度、解決方案替(ti)換等的(de)限制(zhi)而變的(de)不可行(xing),模數值的(de)選(xuan)擇(ze)如(ru)果(guo)加上限制(zhi),在設計凸(tu)輪(lun)曲(qu)線(xian)時也會有很多不便之(zhi)處。
通過驅動器的內部功能進行補償
通過伺服驅動(dong)(dong)器的(de)(de)(de)內部功能,功能類似LXM32系列的(de)(de)(de)Modulo功能,是(shi)將伺服本(ben)身(shen)32位(wei)變(bian)動(dong)(dong)范圍的(de)(de)(de)位(wei)置(zhi)值生(sheng)成一個新(xin)的(de)(de)(de)坐標系和新(xin)的(de)(de)(de)位(wei)置(zhi)值),使(shi)得(de)新(xin)的(de)(de)(de)回授(shou)位(wei)置(zhi)不會產生(sheng)溢出,而(er)是(shi)保持一個范圍內的(de)(de)(de)數據變(bian)化。Modulo軸的(de)(de)(de)工作示(shi)意圖如(ru)圖2所示(shi)。當設(she)置(zhi)Modulo的(de)(de)(de)設(she)置(zhi)值后,驅動(dong)(dong)器的(de)(de)(de)位(wei)置(zhi)變(bian)動(dong)(dong)范圍將變(bian)成0~3600.
圖2 Modulo參數功能示意圖
伺服位(wei)(wei)置值變(bian)動范(fan)圍(wei)修改為模數值乘以減(jian)速比的整(zheng)數倍,每圈對(dui)應的工(gong)程量單位(wei)(wei),一般(ban)也采用固定值360,這樣在程序中也不需要做(zuo)補償,但(dan)是目前LXM28不支持此功能。
通過功能塊在PLC內部進行補償
如果機械(xie)不允許(xu)發生變化,或者根據工藝的變化需(xu)要使用(yong)不同的模數值,這時(shi),可以通過創建(jian)功能(neng)塊(kuai)并(bing)編寫程序來完成位置溢出的補償。
06.M262PLC系統中的LXM28S多圈位置溢出功能塊
在(zai)M262伺服(fu)控(kong)制系(xi)統中,采用的(de)是第(di)三種位置補償(chang)的(de)方法,即:通過創建新的(de)FB功能(neng)塊(kuai)在(zai)PLC內部進行補償(chang)的(de)方式。
(1)M262伺服控制系統中的工作過程
SERCOS通信工作(zuo)正常后,根據配置的(de)軸的(de)機(ji)械(xie)參(can)數(shu)(減(jian)速比、每圈(quan)對應的(de)用(yong)戶單位等等機(ji)械(xie)參(can)數(shu)),PLC會把(ba)讀取的(de)伺服電(dian)機(ji)編碼(ma)器的(de)位置值(zhi)翻譯(yi)成以(yi)浮點數(shu)形式的(de)軸的(de)位置值(zhi)。
無溢出(chu)時,FB功能塊的補償值為0。
有溢出時,FB功(gong)能塊(kuai)計算出補償(chang)值(zhi),使設備斷電再上電后的PLC內部位置值(zhi)與(yu)外部機械的位置值(zhi)保(bao)持正確的對應關系。
(2)創建FB多圈位置溢出補償功能塊
打開EcoStruxure軟件,單(dan)擊(ji)【應(ying)用(yong)程序樹】→【Application】,選(xuan)擇程序組織單(dan)元,如圖3所示。
圖(tu) 3 創建程序組織單元
創建名(ming)稱為【overflow_compensate】的FB多圈位置溢出補償功能(neng)塊,ST編(bian)程語(yu)言,如(ru)圖4所示(shi)。
圖 4 FB功能塊的創建