歡(huān)迎您訪問河南省鲁大师官方网站自動化係統有限公司官方(fāng)網站! 控製工程、物聯網、機器人、智能製(zhì)造
谘詢熱線(xiàn):0371-60298207 13383812899
您的位置:首頁 > 新聞動態 > 行業動態

LXM28多圈位置溢出功(gōng)能塊的編程與現場調試(三)

發(fā)布日期(qī):2022-12-17 17:23:11   來源:行業動態   瀏覽量:

本文(wén)來源於:施家邦 工控邦

 

07.LMC078伺服控製係統中的LXM28S多圈位置溢出功能塊

 

LMC078控(kòng)製係統與M262PLC係統中的LXM28S多圈位(wèi)置溢出功能塊的編程思路有所不(bú)同,采(cǎi)用了(le)兩個功能塊來實現多圈編碼器在溢出後進行位置補償,第一個是codesys提供的功能塊SMC3_PersistPositionSingleturn,第二個是編(biān)製了一個新的功能塊FB_OverFlowPositionRetore,這個功能塊(kuài)用於(yú)位置恢複前(qián)的(de)雙重驗證。 

 

(1)LMC078伺服控製係統中的工作過程

 

SERCOS通信工作正常後,LMC078將LXM28S伺服編碼器位置值翻譯成以浮點數形(xíng)式的軸的位置值時會出現問題,它不像M262那樣翻(fān)譯(yì)成一個固定的值(zhí),所以,筆者采用了另外的編程(chéng)思路,新創建的功能塊FB_OverFlowPositionRetore先記錄斷電前(qián)的伺服編碼器位置和LMC078中的軸位置,上電後記錄伺服LXM28S的伺服位(wèi)置,得(dé)到(dào)伺服軸位置的變化量,同時檢查在(zài)機器斷電期間是否發生了新的溢出,將位置變化值和溢出根據機械參數計算出總的位置補償(cháng)值,當LXM28S伺服使能後,伺服軸處於靜止的情況下,與SMC3_PersistPositionSingleturn功能塊比較,偏差(chà)值小(xiǎo)於(yú)一個很小的門檻值後,SMC3_PersistPositionSingleturn功能塊的位置補償值才被認為是正確的,如(rú)果大於這個門檻值,則輸出報警,這樣就保證了上電後LMC078中LXM28的軸位置值與機械位置保持正確的對應關係。

 

(2)SMC3_PersistPositionSingleturn功能塊(kuài)說明

 

Codesys中(zhōng)對SMC3_PersistPositionSingleturn功能塊的說(shuō)明,如圖7所示。

 

SMC3_PersistPositionSingleturn功能塊的位置補償是在LXM28通信正常後,伺服軸無使能(néng)條件下(xià)自動進行補償的,如果補償時電機軸發生了移(yí)動,會導致位置補償精度降低,甚(shèn)至出現位置錯誤的情況。

圖片(piàn)

圖7  SMC3_PersistPositionSingleturn功能塊(kuài)的說明

 

(3)SMC3_PersistPositionSingleturn添加過程

 

在SoMachine軟件中 創建一個POU,在【輸入助手(shǒu)】中輸入SMC3_PersistPositionSingleturn,如圖8所示。

圖8  創建SMC3_PersistPositionSingleturn功能塊

 

(4)POU的管腳設置

Axis管腳輸入要(yào)保持位置的(de)軸名(míng)稱,PersistentData管腳輸入在PersistentVars創(chuàng)建的用於保持軸位置的(de)變量名,bEnable管(guǎn)腳設為true,usiNumberOfAbsoluteBits管腳輸入32,完成後程序如圖9所示。

圖9  SMC3_PersistPositionSingleturn功能塊

 

在PersistentVars創建的用於保持軸位置變量名,如圖10所示。

圖(tú)10  在PersistentVars創建斷電(diàn)保持(chí)變量

 

最後在Motion task中調用persisPositionAxis的POU,完成編程。

 

(5)FB_OverFlowPositionRetore的管腳

LMC078伺服控製器中,溢出位置補償功能塊FB_OverFlowPositionRetore的管腳定義,如圖11所(suǒ)示。

圖11  管(guǎn)腳定義

 

(6)FB_OverFlowPositionRetore補償量的計算和編程

程序根據正轉和反(fǎn)轉兩種情況,同時考慮溢出,以電機的旋轉方向一直是正轉為例,沒有溢出時位置(zhì)偏差等於當前位(wèi)置反饋值減去斷電前的位置。

 

如果正(zhèng)向溢出,則用2147483647減去斷(duàn)電前位置值,再加上當前位置值減去-2147483648,再使(shǐ)用(yòng)機械參數(shù)計算出位置偏差。

 

如果發生反向溢出,使(shǐ)用斷電前的位置值減去-2147483648,再加上2147483647減去當前(qián)使能的位(wèi)置值,調整符號(hào)後,再使用機械參數計算出位置偏差。

 

當電機的旋轉方(fāng)向一直是(shì)反轉時,計算位置偏差值的方法(fǎ)與此類似,不再(zài)贅述,FB_OverFlowPositionRetore的程序和(hé)注釋,如圖12所示。

圖12  FB_OverFlowPositionRetore的程序(xù)和注釋

 

使用功能塊補償後,軸位(wèi)置值在發生溢出後是可以正常保持的,值得注意的是A3軸的模(mó)值是120,所以0.00113到119.896跳動是正(zhèng)常的。HMI顯示的上電前的軸的位(wèi)置值,如圖13所(suǒ)示。

圖13  上電前的軸的位置值

 

HMI顯示的上電後的軸的位置(zhì)值,如圖14所示。

圖(tú)14  加入(rù)功能塊後斷電(diàn)前後即使溢出位置依(yī)然保持

 

 

08.總   結(jié)

 

本文從提出問題(tí)、分析(xī)原因、到解決思路、方案論(lùn)證、計算公式、伺服驅動器的調試和(hé)參(cān)數設置等諸多方麵,詳細說明了創建客(kè)戶(hù)專屬的POU功能塊的設計方法、程序編製和管腳(jiǎo)定義。掌握了這兩種LXM28S多圈電機位置溢(yì)出補償功能(néng)塊的原(yuán)理之後,大家就可以參照此功能塊的編程思路在不同的網絡或平台中進行調用和移植,例如LMC058的CANMotion和PacDrive3平台。

 

LXM28S多(duō)圈電機位置溢出補償功能塊,在張江研發實驗室經過一個多月的測試後,又在多個客戶的現場進行了實驗,其(qí)中,江蘇常州客戶現場就(jiù)運行了四個多月,證明了這個功能塊的開發是成功而且是十分有效的,讀者(zhě)可以將這個FB功能塊程序(xù)中的軸配(pèi)置的模(mó)值、每圈脈衝數、減速比的分子和分母,通過ifscaling.Scaling的(de)成員變量來獲取,伺服軸的圈數等信息也可以全部在功能塊內完成,這樣功能塊的接口變量就會顯得簡潔。筆者保(bǎo)留了這些變量是為了方便大家跨平台進行(háng)程序的移植,在倍福+LXM28E的伺(sì)服控製係統(tǒng)中,使用此功能塊的編程思路(lù)在東南區的客戶現場進行編程和調試,高效而(ér)實用。

 

往期回顧

LXM28多圈位置溢出功能塊的編程(chéng)與現場調(diào)試(shì)(一)

LXM28多圈(quān)位置溢出功能塊的編程與現場調試(二)

 

上一篇:工程師的21個瞬間!

下一篇:LXM28多圈位置溢出功能塊的編程(chéng)與(yǔ)現場(chǎng)調試(二(èr))

相關推薦

鲁大师官方网站-鲁大师免费观看日韩-鲁大师免费mv在线观看网站-鲁大师APP免费下载