歡迎您訪(fǎng)問河南省猫咪官网社区自動化係統有限公司官方(fāng)網站! 控製工程、物聯網、機(jī)器人、智能製造
谘(zī)詢熱線:0371-60298207 13383812899
您的位置:首頁 > 新聞動態 > 行業動態

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

發布日期:2022-12-17 17:23:11   來源:行業動態   瀏覽量:

本文來(lái)源於:施家邦 工控邦

 

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

 

LMC078控製係統(tǒng)與M262PLC係(xì)統(tǒng)中的LXM28S多圈位置溢(yì)出功能塊的編程思路(lù)有所不同,采用了兩個功能塊來實現多圈編碼器在溢出後進行位置補(bǔ)償,第一個(gè)是codesys提供的功能(néng)塊SMC3_PersistPositionSingleturn,第二個是編製了一個新的功(gōng)能塊FB_OverFlowPositionRetore,這個功能塊用於位置恢複前的雙(shuāng)重驗證。 

 

(1)LMC078伺服控製係統中的(de)工(gōng)作(zuò)過程

 

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

 

(2)SMC3_PersistPositionSingleturn功能塊說明

 

Codesys中對SMC3_PersistPositionSingleturn功能塊(kuài)的說明,如(rú)圖7所示。

 

SMC3_PersistPositionSingleturn功能塊的位置補償是在LXM28通信正常後,伺服軸無使(shǐ)能條(tiáo)件下自動(dòng)進行補償(cháng)的,如果補償(cháng)時電機軸發生了移動,會導致位置補償精度降低,甚至出現位置錯誤的(de)情況。

圖片

圖7  SMC3_PersistPositionSingleturn功(gōng)能塊的說明

 

(3)SMC3_PersistPositionSingleturn添加過程

 

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

圖8  創建SMC3_PersistPositionSingleturn功能塊

 

(4)POU的管腳設置

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

圖9  SMC3_PersistPositionSingleturn功能塊

 

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

圖10  在PersistentVars創(chuàng)建(jiàn)斷電保持變量(liàng)

 

最後(hòu)在Motion task中調用persisPositionAxis的POU,完成編程。

 

(5)FB_OverFlowPositionRetore的管腳

LMC078伺(sì)服控製器中,溢出(chū)位置補償功能塊FB_OverFlowPositionRetore的管腳定(dìng)義,如圖11所示。

圖11  管腳(jiǎo)定義

 

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

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

 

如果正向溢出,則用2147483647減去斷電前位置值,再加(jiā)上當前位置值減去-2147483648,再(zài)使用機械參數計算出位置偏差。

 

如果發(fā)生反向(xiàng)溢(yì)出,使用斷(duàn)電前的位置值(zhí)減去-2147483648,再(zài)加(jiā)上2147483647減去當前使(shǐ)能的位置值,調整符號後,再使用機(jī)械參數計算出位置偏差。

 

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

圖12  FB_OverFlowPositionRetore的(de)程序和注釋

 

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

圖13  上電前的軸的位置值

 

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

圖14  加入功(gōng)能塊後斷電前後即使溢出位置依然保持

 

 

08.總   結

 

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

 

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

 

往期(qī)回顧

LXM28多(duō)圈位(wèi)置溢(yì)出(chū)功能塊的(de)編程與(yǔ)現場(chǎng)調試(一)

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

 

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

下一篇:LXM28多圈位置溢出(chū)功能塊的編程與現場調試(二)

相關(guān)推薦(jiàn)

猫咪官网社区-成版人猫咪APP-猫咪社区在线观看-猫咪社区在线入口