時(shí)間:2025-04-11 13:58:00來源:深圳市雷賽智能控制股份有限公司
在工業(yè)自動(dòng)化生產(chǎn)中,高精度運(yùn)動(dòng)控制是實(shí)現(xiàn)生產(chǎn)效率提升和產(chǎn)品質(zhì)量保障的關(guān)鍵。以五軸聯(lián)動(dòng)加工中心為例,設(shè)備需要同時(shí)控制多個(gè)運(yùn)動(dòng)軸按照復(fù)雜曲線路徑精準(zhǔn)運(yùn)動(dòng),這對(duì)于傳統(tǒng)的點(diǎn)到點(diǎn)移動(dòng)模式來說,難以滿足高精度和高效率的要求。特別是在加工圓弧型工件時(shí),如何實(shí)現(xiàn)平滑的曲線插補(bǔ)、多軸同步運(yùn)動(dòng)以及高效的過渡控制,成為工控工程師面臨的常見難題。
本篇文章以雷賽全自主開發(fā)PLC編程軟件平臺(tái)LeadStudio為例,詳細(xì)介紹了軸組插補(bǔ)功能的實(shí)際應(yīng)用,通過直線插補(bǔ)和圓弧插補(bǔ)功能,幫助開發(fā)者輕松實(shí)現(xiàn)多軸協(xié)同運(yùn)動(dòng)控制,解決復(fù)雜曲線路徑下的高精度運(yùn)動(dòng)要求。
01、軸組插補(bǔ)功能介紹
LeadStudio支持直線插補(bǔ)和圓弧插補(bǔ),插補(bǔ)功能以軸組方式實(shí)現(xiàn)。
1)每個(gè)軸組最多可控制4個(gè)運(yùn)動(dòng)控制軸,包括X、Y、Z三個(gè)坐標(biāo)軸和一個(gè)輔助軸;
2)支持最多8個(gè)軸組,每一個(gè)軸組可以設(shè)置為2軸(XY軸),3軸(XYZ)和4軸(XYZ和輔助軸);
3)直線插補(bǔ)和圓弧插補(bǔ)支持緩沖模式,每一個(gè)軸組最多可以緩沖8條曲線,曲線之間的過渡模式可以單獨(dú)設(shè)置;
4)直線插補(bǔ)時(shí),代表x、y、z三個(gè)坐標(biāo)軸的運(yùn)動(dòng)控制軸沿坐標(biāo)軸運(yùn)動(dòng),輔助軸從起點(diǎn)位置沿直線運(yùn)動(dòng)到終點(diǎn)位置;
5)圓弧插補(bǔ)時(shí),可以選擇xy軸平面、yz軸平面、xz軸平面中的一個(gè)平面做圓弧插補(bǔ),此時(shí)如果軸組中還配置了其他軸,則其他的軸從起點(diǎn)位置沿直線運(yùn)動(dòng)到終點(diǎn)位置。
以下是PLC軸組(插補(bǔ))的應(yīng)用示例。
02、軸組指令介紹
功能塊MC_MoveLinear:直線插補(bǔ)指令
本功能塊用于控制軸組執(zhí)行直線插補(bǔ)功能,上升沿有效。
功能塊MC_MoveLinear如下圖所示:
注意:
1)只有調(diào)用MC_Power指令將軸組中所有軸切換到StandStill狀態(tài)才可以觸發(fā)本指令。在單軸運(yùn)動(dòng)期間(例如正在做點(diǎn)位運(yùn)動(dòng)、回原、停止等)觸發(fā)本指令無效;
2)觸發(fā)本指令后單軸的PLCOpen狀態(tài)機(jī)處于同步運(yùn)動(dòng)模式,運(yùn)動(dòng)期間不可以用單軸運(yùn)動(dòng)類指令打斷,插補(bǔ)曲線完成后單軸的PLCOpen狀態(tài)機(jī)進(jìn)入StandStill狀態(tài),此時(shí)可以執(zhí)行單軸的運(yùn)動(dòng)類指令;
3)Position用于設(shè)定目標(biāo)位置或移位,Position[0]表示x軸的位置位移分量,Position[1]表示y軸的位置位移分量,Position[2]表示z軸的位置位移分量,Position[3]表示輔助軸的位置位移分量。Velocity表示插補(bǔ)器的目標(biāo)速率,其中坐標(biāo)軸的目標(biāo)速度按照公式(1)、(2)、(3)分解;
4)輔助軸的插補(bǔ)速度分兩種情況:
?、佼?dāng)坐標(biāo)軸上的點(diǎn)不動(dòng)而單獨(dú)移動(dòng)輔助軸時(shí),輔助軸按照Velocity設(shè)定的目標(biāo)速度運(yùn)動(dòng);
?、诋?dāng)坐標(biāo)軸上的點(diǎn)移動(dòng)時(shí),輔助軸將和坐標(biāo)軸上的點(diǎn)同時(shí)到達(dá)目標(biāo)位置;假設(shè)插補(bǔ)直線的長度為L1,輔助軸的目標(biāo)位移為L2,某一個(gè)時(shí)刻插補(bǔ)直線的速率為V0,則輔助軸的速度Va計(jì)算方式如下:
Va=V0*L2/L1
5)移動(dòng)方法MoveMode選擇:
MoveMode=0表示絕對(duì)定位模式,觸發(fā)本指令后三個(gè)坐標(biāo)軸軸組最終運(yùn)動(dòng)到(Position[0],Position[1],Position[2])指定的位置,輔助軸運(yùn)動(dòng)到Position[3]指定的位置;
MoveMode=1表示相對(duì)定位模式,設(shè)軸組的三個(gè)坐標(biāo)軸的位置為(Px,Py,Pz),輔助軸當(dāng)前位置為Pa,觸發(fā)本指令后三個(gè)坐標(biāo)軸最終運(yùn)動(dòng)到(Px+Position[0],Py+Position[1],Pz+Position[2]),輔助軸最終位置為Pa+Position[3]。
6)緩沖模式BufferMode
當(dāng)選擇1、2、3、4、5、10這六種緩沖模式時(shí),插補(bǔ)指令最多允許緩沖8條曲線。當(dāng)指令進(jìn)入緩沖狀態(tài)時(shí),Busy信號(hào)有效,當(dāng)本條指令開始執(zhí)行時(shí),Active輸出有效,當(dāng)指令執(zhí)行完成時(shí),Done信號(hào)輸出有效;當(dāng)新加入的插補(bǔ)指令選擇0(打斷+無過渡)模式時(shí),本條指令將打斷正在執(zhí)行的和處于緩沖的所有插補(bǔ)指令,被打斷的插補(bǔ)指令CommandAborted輸出有效。
緩沖方式是指同時(shí)啟動(dòng)多條插補(bǔ)指令時(shí)指令執(zhí)行的流程,過渡方式是指多段曲線相互切換時(shí)的方式。
功能塊MC_MoveCircular:圓弧插補(bǔ)指令
本功能塊用于控制軸組執(zhí)行圓弧插補(bǔ)功能,上升沿有效。
功能塊MC_MoveCircular如下圖所示:
注意:
1)只有調(diào)用MC_Power指令將軸組中所有軸切換到StandStill狀態(tài)才可以觸發(fā)本指令。在單軸運(yùn)動(dòng)期間(例如正在做點(diǎn)位運(yùn)動(dòng)、回原、停止等)觸發(fā)本指令無效;2)觸發(fā)本指令后單軸的PLCOpen狀態(tài)機(jī)處于同步運(yùn)動(dòng)模式,運(yùn)動(dòng)期間不可以用單軸運(yùn)動(dòng)類指令打斷,插補(bǔ)曲線完成后單軸的PLCOpen狀態(tài)機(jī)進(jìn)入StandStill狀態(tài),此時(shí)可以執(zhí)行單軸的運(yùn)動(dòng)類指令;3)圓弧軸的指定
CircAxes指定坐標(biāo)軸平面,意義如下:CircAxes=0代表選擇x-y坐標(biāo)軸平面,AxisID_x和AxisID_y指定的運(yùn)動(dòng)軸執(zhí)行圓弧插補(bǔ),AxisID_z和AxisID_a指定的軸為輔助軸,執(zhí)行跟隨運(yùn)動(dòng),從起點(diǎn)位置沿直線運(yùn)動(dòng)到終點(diǎn)位置;
4)插補(bǔ)模式選擇
?、貱ircMode=0代表根據(jù)通過點(diǎn)進(jìn)行圓弧插補(bǔ):
以x-y平面為例,x軸的起始位置為Px,y軸的起始位置為Py,觸發(fā)指令后將執(zhí)行以(Px,Py)為起點(diǎn),以(EndPoint[0],EndPoint[1])為終點(diǎn)并通過點(diǎn)(AuxPoint[0],(AuxPoint[1])的圓弧插補(bǔ);
當(dāng)起點(diǎn)和終點(diǎn)為同一點(diǎn)時(shí),以起點(diǎn)(Px,Py)和通過點(diǎn)(AuxPoint[0],(AuxPoint[1])為直徑繪制正圓。這種情況下,通過PathChoice(路徑選擇)指定圓弧的旋轉(zhuǎn)方向;
當(dāng)起點(diǎn)、通過點(diǎn)與終點(diǎn)在同一條直線上時(shí)不能構(gòu)成圓,指令報(bào)錯(cuò),停止插補(bǔ)指令的執(zhí)行;
當(dāng)通過點(diǎn)與終點(diǎn)為同一點(diǎn)或者起點(diǎn)和通過點(diǎn)位置為同一點(diǎn)時(shí),指令報(bào)錯(cuò),停止插補(bǔ)指令的執(zhí)行;
?、贑ircMode=1代表根據(jù)中心點(diǎn)進(jìn)行圓弧插補(bǔ):
以x軸和z軸為例,x軸的起始位置為Px,z軸的起始位置為Pz,觸發(fā)指令后將執(zhí)行以(Px,Pz)為起點(diǎn),以(AuxPoint[0],(AuxPoint[2])為圓心,以(EndPoint[0],EndPoint[2])為終點(diǎn)的圓弧插補(bǔ),圓弧的繪制旋轉(zhuǎn)方向由PathChoice決定;
?、跜ircMode=2代表根據(jù)指定半徑進(jìn)行圓弧插補(bǔ):
不管選擇哪個(gè)平面,圓弧的半徑大小始終由|AuxPoint[0]|決定;
以y軸和z軸為例,y軸的起始位置為Py,z軸的起始位置為Pz,y軸和z軸執(zhí)行以(Py,Pz)為起點(diǎn),以|AuxPoint[0]|為半徑,以(EndPoint[1],EndPoint[2])為終點(diǎn)的圓弧插補(bǔ);
半徑符號(hào)為負(fù)時(shí),繪制出較長的圓弧;半徑符號(hào)為正時(shí),繪制出較短的圓弧;圓弧的旋轉(zhuǎn)方向通過PathChoice(路徑選擇)指定;
5)移動(dòng)方法選擇
①M(fèi)oveMode=0表示絕對(duì)定位模式:
當(dāng)選擇通過點(diǎn)時(shí),輔助點(diǎn)和終點(diǎn)代表坐標(biāo)系中的絕對(duì)點(diǎn);
當(dāng)選擇中心點(diǎn)時(shí),中心點(diǎn)和終點(diǎn)代表坐標(biāo)系中的絕對(duì)點(diǎn);
當(dāng)選擇半徑時(shí),終點(diǎn)代表坐標(biāo)系中的絕對(duì)點(diǎn);
?、贛oveMode=1表示相對(duì)定位模式:
當(dāng)選擇通過點(diǎn)時(shí),輔助點(diǎn)和終點(diǎn)代表相對(duì)于起始點(diǎn)的相對(duì)點(diǎn);
當(dāng)選擇中心點(diǎn)時(shí),中心點(diǎn)和終點(diǎn)代表相對(duì)于起始點(diǎn)的相對(duì)點(diǎn);
當(dāng)選擇半徑時(shí),終點(diǎn)代表相對(duì)于起始點(diǎn)的相對(duì)點(diǎn);
6)緩沖模式BufferMode
參考直線插補(bǔ)指令緩沖模式;
功能塊MC_GroupStop:軸組停止運(yùn)動(dòng)指令
本功能塊用于軸組實(shí)現(xiàn)運(yùn)動(dòng)停止功能,上升沿有效。
功能塊MC_GroupStop如下圖所示:
注意:
1)MC_GroupStop指令僅能暫停插補(bǔ)類指令(如MC_MoveLinear),不能停止單軸運(yùn)動(dòng)類指令(如MC_MoveAbsolute);2)狀態(tài)轉(zhuǎn)換
在Execute的上升沿,插補(bǔ)器根據(jù)StopMode設(shè)置的停機(jī)方式執(zhí)行停機(jī),并打斷所有處于緩沖狀態(tài)的插補(bǔ)指令,停機(jī)完成后Done信號(hào)輸出有效,單軸的PLCOpen狀態(tài)機(jī)仍處于SynchronizedMotion狀態(tài)。在Execute=ON期間,插補(bǔ)器一直處于停止?fàn)顟B(tài),此時(shí)觸發(fā)新的插補(bǔ)指令無效。在Execute的下降沿,插補(bǔ)器將切換到非停止?fàn)顟B(tài),單軸進(jìn)入StandStill狀態(tài),此時(shí)可以觸發(fā)新的插補(bǔ)指令;
3)停止模式
StopMode設(shè)置為0時(shí),將按照Deceleration設(shè)定的減速度減速停機(jī);StopMode設(shè)置為1時(shí),將立即停機(jī),無減速過程;
功能塊MC_GroupPause:軸組暫停運(yùn)動(dòng)指令
本功能塊用于軸組實(shí)現(xiàn)運(yùn)動(dòng)暫停功能,上升沿有效。
功能塊MC_GroupPause如下圖所示:
注意:
1)MC_GroupPause指令僅能暫停插補(bǔ)類指令(如MC_MoveLinear),不能停止單軸運(yùn)動(dòng)類指令(如MC_MoveAbsolute);2)狀態(tài)轉(zhuǎn)換
?、佼?dāng)軸組內(nèi)的軸都處于StandStill狀態(tài)時(shí):
將Enable設(shè)置為ON,此時(shí)軸組內(nèi)的軸仍處于StandStill狀態(tài),如果此時(shí)觸發(fā)直線插補(bǔ)指令或者圓弧插補(bǔ)指令,軸組內(nèi)的軸將切換到SynchronizedMotion狀態(tài),但是處于暫停狀態(tài),不執(zhí)行插補(bǔ)算法。只有MC_GroupPause指令的Enable信號(hào)設(shè)置為OFF時(shí)才開始執(zhí)行插補(bǔ)算法。
?、诋?dāng)軸組內(nèi)的軸都處于SynchronizedMotion狀態(tài)時(shí):
在Enable的上升沿,插補(bǔ)器根據(jù)Deceleration設(shè)置的減速度執(zhí)行減速過程,減速完成后Done信號(hào)輸出有效,單軸的PLCOpen狀態(tài)機(jī)仍處于SynchronizedMotion狀態(tài),暫停期間正在執(zhí)行的插補(bǔ)指令的Busy信號(hào)和Active信號(hào)保持輸出有效;在Enable=ON期間,插補(bǔ)器一直處于暫停狀態(tài),此時(shí)觸發(fā)新的插補(bǔ)指令新的插補(bǔ)指令處于緩沖狀態(tài);在Enable的下降沿,插補(bǔ)器重新開始執(zhí)行之前被暫停的插補(bǔ)指令;
03、操作步驟
PC的IP地址,192.168.1.132(與PLC同一網(wǎng)段即可);
SC2-C的IP地址,192.168.1.3;
操作步驟如圖所示:
(1)新建工程
打開LeadStudio軟件,新建工程“例_SC2C_AxisGroup”,如下圖所示:
(2)軸組設(shè)置1)脈沖軸創(chuàng)建及參數(shù)配置請(qǐng)參考“本地脈沖軸_例程”,此處不再贅述;2)右鍵單擊左側(cè)設(shè)備樹的【運(yùn)動(dòng)控制軸組配置】,選擇【添加軸組】,新建軸組【MC_Group0】,雙擊打開軸組【MC_Group0】,設(shè)置軸組軸構(gòu)成,及相關(guān)參數(shù),如下圖所示:
注意:
最大速度:直線插補(bǔ)模式表示空間直線的插補(bǔ)最大速度;圓弧插補(bǔ)表示圓弧的最大線速度;
最大加速度:直線插補(bǔ)模式表示空間直線的插補(bǔ)最大加速度;圓弧插補(bǔ)表示圓弧的最大線加速度;
停止方式:指在軸組發(fā)生故障時(shí)的停止方式。
(3)軸組(插補(bǔ))程序編寫
1)變量定義如下圖所示;
2)編寫程序如下圖所示:
(4)軸組(插補(bǔ))功能測(cè)試
1)打開LeadStudio軟件,打開工程“例_SC2C_AxisGroup”,編譯無誤后,將工程下載到SC2-C中,點(diǎn)擊運(yùn)行,如下圖所示:
2)雙擊左側(cè)設(shè)備樹的“Trace0”,選擇“跟蹤配置”,添加變量如下圖所示,右鍵空白處,選擇“下載跟蹤”;
3)雙擊打開軸組演示程序【AxisGroup_Demo】,將“iState”值置為1,開始執(zhí)行“軸組演示程序”,觸發(fā)一段直線插補(bǔ)運(yùn)動(dòng),緩沖一段圓弧插補(bǔ)運(yùn)動(dòng),如下圖所示:
4)等待程序執(zhí)行完成,監(jiān)控顯示“iState”值為5,表明直線插補(bǔ)與圓弧插補(bǔ)運(yùn)動(dòng)完成,如下圖所示:
5)雙擊左側(cè)設(shè)備樹的“Trace0”,可以看到軸組中兩軸在直線插補(bǔ)與圓弧插補(bǔ)過程中的位置、速度變化曲線,如下圖所示:
中國傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動(dòng)網(wǎng)(www.connectcrack.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>2025-04-30
性能躍升20%!維宏NK300CX Plus數(shù)控系統(tǒng)...
2025-04-11
rpi-image-gen:樹莓派軟件鏡像構(gòu)建的終...
2025-04-08
【產(chǎn)品解讀】全面提升精密制造檢測(cè)節(jié)拍...
2025-03-31
激光閃耀 智慧引領(lǐng) | WISE MASER 黑武士...
2025-03-20