黃旭釗
摘 要:PLC在自動(dòng)化設(shè)備中有著廣泛的應(yīng)用,其中運(yùn)動(dòng)控制在制造業(yè)中的應(yīng)用十分普遍,但一般的PLC沒(méi)有插補(bǔ)指令,對(duì)于要兩軸聯(lián)動(dòng)走斜線或圓弧的地方限制了使用,利用公式推導(dǎo),在PLC上開(kāi)發(fā)簡(jiǎn)單的插補(bǔ)程序,擴(kuò)大了其使用范圍和降低設(shè)備的開(kāi)發(fā)和制造成本。
關(guān)鍵詞:可編程序控制器;插補(bǔ);運(yùn)動(dòng)控制;數(shù)控
中圖分類號(hào): TP273 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1673-1069(2016)24-182-2
0 引言
可編程序控制器(簡(jiǎn)稱PLC)以其通用性強(qiáng)、可靠性高、指令簡(jiǎn)單等一系列優(yōu)點(diǎn), 被廣泛應(yīng)用于工業(yè)自動(dòng)控制中。在運(yùn)動(dòng)控制上,可以控制伺服和步進(jìn)電機(jī)實(shí)現(xiàn)定位、直線運(yùn)動(dòng)等。可是沒(méi)有插補(bǔ)指令,如果進(jìn)行兩軸聯(lián)動(dòng)的斜線進(jìn)給或圓弧,要使用比較貴的運(yùn)動(dòng)控制模塊或使用專用的運(yùn)動(dòng)控制器,但專用運(yùn)動(dòng)控制器單純?yōu)槎噍S運(yùn)動(dòng)控制而設(shè),沒(méi)有了PLC邏輯、順序控制。使用CNC數(shù)控系統(tǒng)其價(jià)格更加貴。
現(xiàn)在主流的小型PLC一般都具有3個(gè)以上的高速脈沖輸出(稱之為軸),而且每個(gè)軸都能獨(dú)立控制,通過(guò)自己編寫(xiě)插補(bǔ)算法,可以在要求不太高的數(shù)控機(jī)床上使用。如在涂膠、火焰切割、打磨拋光、普通焊接等對(duì)插補(bǔ)的精度和速度要求是不太高的地方確實(shí)是較好的選擇。
1 實(shí)現(xiàn)直線插補(bǔ)的方法
PLC控制運(yùn)動(dòng)主要是發(fā)脈沖,為了能提高精度,要選擇比較小的脈沖當(dāng)量(每一個(gè)脈沖行走的距離),但也不能太小,否則電機(jī)進(jìn)給速度太慢。一般選擇1個(gè)脈沖當(dāng)量是1μm或0.5μm,會(huì)方便計(jì)算且能兼顧速度。確定好脈沖當(dāng),就可以推導(dǎo)直線插補(bǔ)的算式。由于計(jì)算插補(bǔ)段距離都是相對(duì)于當(dāng)前所在點(diǎn)而言,所以在執(zhí)行插補(bǔ)運(yùn)動(dòng)時(shí)PLC的定位脈沖指令只能使用相對(duì)定位。
在運(yùn)行OA段斜線時(shí),實(shí)際是在同一時(shí)間內(nèi)移動(dòng)Xa和Ya段,它們的合成軌跡斜率是
tanα=Ya/Xa,或者tanβ=Xa/Ya,
那么當(dāng)知道其中一邊的長(zhǎng)度和X軸/Y軸的夾角角度時(shí),可計(jì)算出另一邊的長(zhǎng)度;
如知道斜線段總長(zhǎng)度和X軸的夾角角度可以根據(jù)
Sinα=Ya/OA,cosα=Xa/OA
計(jì)算出Xa和Ya的長(zhǎng)度;
而驅(qū)動(dòng)伺服電機(jī)走這段路程的脈沖個(gè)數(shù)就是:長(zhǎng)度/脈沖當(dāng)量,計(jì)算出的實(shí)數(shù)經(jīng)過(guò)四舍五入取整,求出需要發(fā)的脈沖數(shù)量。
走這段斜線的效果就是在同一時(shí)間內(nèi)X軸和Y軸同時(shí)勻速走完Xa和Ya段路程,這就要求控制軸進(jìn)給速度,即脈沖頻率。
根據(jù):速度=路程/時(shí)間
可知,脈沖頻率=脈沖個(gè)數(shù)/時(shí)間
速度的設(shè)定,可以是設(shè)定X軸/Y軸其中一軸,通過(guò)三角函數(shù)技術(shù)出另外一軸;也可以是設(shè)定需運(yùn)動(dòng)的斜線的合速度,利用三角函數(shù)計(jì)算出兩軸分別的進(jìn)給速度。
每次加工完畢后要用絕對(duì)指令或者回原點(diǎn)指令回零,以消除累積誤差。
2 實(shí)現(xiàn)圓弧插補(bǔ)的方法
從CAD等繪圖軟件的計(jì)算機(jī)圖形學(xué)畫(huà)圓的原理可知道,圓可由很多段首尾相連的微小直線段組成,利用這個(gè)特點(diǎn)可以把每一段直線設(shè)置為1μm或一個(gè)脈沖來(lái)描繪,按實(shí)現(xiàn)方法可稱之為逐點(diǎn)比較法。
設(shè)加工半徑為R,在第一象限順時(shí)針加工AB段弧,Pi是AB段上的加工動(dòng)點(diǎn),圓的原點(diǎn)設(shè)(0,0),由勾股定理可知:R2=X2+Y2
由A向B畫(huà)圓弧,首先是X軸向正方向走一步或者是Y軸向負(fù)方向走一步;
假設(shè)當(dāng)前動(dòng)點(diǎn)動(dòng)點(diǎn)Pi(Xi,Yi),那走下一點(diǎn)Pi+1的要求是;
當(dāng)F(Xi,Yi)≤0時(shí),取Xi+1=Xi+1,Yi+1=Yi,即向+X走一步,由圓內(nèi)走到圓上或者圓外。
當(dāng)F(Xi,Yi)>0時(shí),取Xi+1=Xi,Yi+1=Yi-1,即向-Y走一步,由圓外走到圓上或者圓內(nèi)。
每運(yùn)行一步,需要重新計(jì)算一次當(dāng)前動(dòng)點(diǎn)是在圓的什么地方,從而判斷下一步的進(jìn)給方向,直至到達(dá)目標(biāo)點(diǎn)附近(如B點(diǎn)),根據(jù)產(chǎn)品工藝的要求和誤差數(shù)據(jù)大小,決定插補(bǔ)過(guò)程的終止數(shù)值。需要注意,上例是在第一象限、順時(shí)針生成圓時(shí)的計(jì)算方法,在圓的生成方向
不同、不同象限時(shí),下一動(dòng)點(diǎn)的獲取要求是不同的。
3 總結(jié)
以上插補(bǔ)算法都是運(yùn)用中學(xué)數(shù)學(xué)中的勾股定理和三家函數(shù),原理簡(jiǎn)明,公式簡(jiǎn)單,編程容易,大多數(shù)技術(shù)人員都能理解和應(yīng)用,可讓小型PLC成為中低檔次的數(shù)控系統(tǒng)核心,同時(shí)兼具高檔數(shù)控系統(tǒng)的雙通道功能。
參 考 文 獻(xiàn)
[1] 李恩林.插補(bǔ)原理[M].北京:機(jī)械工業(yè)出版社,1984.
[2] 孫家廣,胡事民.計(jì)算機(jī)圖形學(xué)基礎(chǔ)教程(第2版)[M].北京:清華大學(xué)出版社,2009.
[3] 汪小澄,等.可編程序控制器運(yùn)動(dòng)控制技術(shù)[M].北京:機(jī)械工業(yè)出版社,2006.