歡迎您訪問河南省天天综合7799自動化係統有限公司官方網站! 控(kòng)製工(gōng)程、物聯網、機器人、智能製造(zào)
谘詢熱(rè)線:0371-60298207 13383812899

LXM28多圈(quān)位置溢(yì)出功能塊的編(biān)程與現場調(diào)試(三)

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

本文來源於:施家邦(bāng) 工控邦

 

07.LMC078伺服(fú)控製係統中的LXM28S多圈位置溢出功能塊(kuài)

 

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

 

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

 

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

 

(2)SMC3_PersistPositionSingleturn功能塊說明

 

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

 

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

圖片

圖7  SMC3_PersistPositionSingleturn功能塊的說明

 

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

 

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

圖(tú)8  創建SMC3_PersistPositionSingleturn功能塊

 

(4)POU的管腳設置

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

圖9  SMC3_PersistPositionSingleturn功能(néng)塊

 

在PersistentVars創建的用於保持軸(zhóu)位置變量(liàng)名,如圖10所示。

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

 

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

 

(5)FB_OverFlowPositionRetore的管腳

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

圖11  管腳定義

 

(6)FB_OverFlowPositionRetore補償量的計(jì)算和編(biān)程

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

 

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

 

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

 

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

圖12  FB_OverFlowPositionRetore的程序和注釋

 

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

圖13  上電前的軸的位置值

 

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

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

 

 

08.總   結

 

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

 

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

 

往期回顧

LXM28多(duō)圈位置溢(yì)出功能塊的編程與現場調試(一)

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

 

上一篇:工程師的(de)21個瞬間(jiān)!

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

相關推薦

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