歡迎您訪(fǎng)問(wèn)河南省天天综合7799自動化係統有限公司官(guān)方(fāng)網站! 控製工程、物聯網、機器人、智能製造
谘詢熱線(xiàn):0371-60298207 13383812899

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

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

本文來源於:施家邦 工控邦

 

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

 

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

 

(1)LMC078伺服(fú)控製係(xì)統中的工作過(guò)程

 

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

 

(2)SMC3_PersistPositionSingleturn功能塊說明

 

Codesys中對SMC3_PersistPositionSingleturn功能塊的說明,如圖7所示。

 

SMC3_PersistPositionSingleturn功能塊的位置補償是在LXM28通信正常後,伺服軸無使能(néng)條(tiáo)件下自(zì)動進行(háng)補(bǔ)償的(de),如果補償時電機軸發生了移動,會導致位(wèi)置補(bǔ)償精度降低,甚至出現位置錯誤的(de)情況(kuàng)。

圖(tú)片

圖7  SMC3_PersistPositionSingleturn功能塊的說明

 

(3)SMC3_PersistPositionSingleturn添加(jiā)過程

 

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

圖8  創建SMC3_PersistPositionSingleturn功能塊

 

(4)POU的管腳設置(zhì)

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

圖9  SMC3_PersistPositionSingleturn功能塊(kuài)

 

在PersistentVars創建的用於保持(chí)軸位置變量名,如(rú)圖10所示。

圖10  在PersistentVars創建斷電保持變量

 

最後在Motion task中調用persisPositionAxis的POU,完成編(biān)程。

 

(5)FB_OverFlowPositionRetore的(de)管腳

LMC078伺服控製器中,溢出位置補償功(gōng)能(néng)塊FB_OverFlowPositionRetore的管(guǎn)腳定義,如圖11所示。

圖11  管腳定義

 

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

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

 

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

 

如(rú)果發生(shēng)反向溢出,使用斷電前的位置值減(jiǎn)去-2147483648,再加上2147483647減去當前使能的位置值,調整符(fú)號後,再使用機械參數計算出(chū)位置偏差。

 

當(dāng)電機的旋轉方向一直是反轉時,計算位置偏差值的方法與此類似(sì),不(bú)再贅述,FB_OverFlowPositionRetore的程序和注釋,如圖(tú)12所示。

圖12  FB_OverFlowPositionRetore的程序和注釋

 

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

圖13  上電前的軸的位置值

 

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

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

 

 

08.總   結

 

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

 

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

 

往期回顧

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

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

 

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

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

相關(guān)推薦

天天综合7799|AV熟女网址|日本人人操|日本人人干人人操蜜臀69A|7799看看在线视频播放|日本在线久久久久99人妻一区二区三区四区