《中國(guó)制造2025》是國(guó)務(wù)院于2015年12月發(fā)布的制造業(yè)升級(jí)戰(zhàn)略,目標(biāo)是在未來(lái)三十年內(nèi)分三個(gè)階段將中國(guó)建設(shè)成為世界制造強(qiáng)國(guó)。該戰(zhàn)略的核心在于推動(dòng)制造業(yè)的轉(zhuǎn)型升級(jí),以創(chuàng)新為驅(qū)動(dòng)力,注重質(zhì)量、綠色發(fā)展和結(jié)構(gòu)優(yōu)化,同時(shí)強(qiáng)調(diào)人才培養(yǎng)。其行動(dòng)綱領(lǐng)著重于市場(chǎng)主導(dǎo)與政府引導(dǎo)相結(jié)合,著眼于長(zhǎng)遠(yuǎn)發(fā)展,強(qiáng)調(diào)整體推進(jìn)與重點(diǎn)突破,倡導(dǎo)自主發(fā)展與開(kāi)放合作。
智能制造是《中國(guó)制造2025》的重點(diǎn)之一,旨在通過(guò)新一代信息技術(shù)與制造技術(shù)的融合,發(fā)展智能裝備和產(chǎn)品,提升企業(yè)在研發(fā)、生產(chǎn)、管理和服務(wù)等方面的智能化水平,實(shí)現(xiàn)信息化與工業(yè)化的深度融合。
在運(yùn)動(dòng)控制領(lǐng)域,插補(bǔ)運(yùn)動(dòng)技術(shù)至關(guān)重要,它使得設(shè)備能夠按照預(yù)定軌跡精確移動(dòng)。這種技術(shù)在多個(gè)行業(yè)中得到應(yīng)用,如鋰電設(shè)備、汽車(chē)制造、罐裝機(jī)械、物流設(shè)備、機(jī)加工、橡膠行業(yè)、3C產(chǎn)品和數(shù)控機(jī)床等。特別是在橡膠行業(yè),利用G代碼和插補(bǔ)器的軌跡跟蹤功能可以高效完成點(diǎn)膠等精細(xì)作業(yè)。
機(jī)械裝備的制造加工功能通常通過(guò)部件的運(yùn)動(dòng)來(lái)實(shí)現(xiàn),無(wú)論是金屬切削、焊接、鍛造還是3D打印等工藝,都依賴(lài)于精確的運(yùn)動(dòng)控制。不同的工藝對(duì)運(yùn)動(dòng)控制有特定的需求,如機(jī)器人和數(shù)控機(jī)床側(cè)重于路徑規(guī)劃和運(yùn)動(dòng)參數(shù)的協(xié)調(diào),而印刷和包裝機(jī)械則更關(guān)注主軸與從軸的同步及工藝節(jié)拍。
運(yùn)動(dòng)控制系統(tǒng)是確保數(shù)控機(jī)床、機(jī)器人及其他先進(jìn)裝備高效運(yùn)行的關(guān)鍵。它不僅要求對(duì)設(shè)備的運(yùn)動(dòng)軌跡和形態(tài)有深入理解,還需解決復(fù)雜的機(jī)械運(yùn)動(dòng)學(xué)和動(dòng)力學(xué)問(wèn)題。
運(yùn)動(dòng)控制技術(shù)泛指在加工過(guò)程中,通過(guò)驅(qū)動(dòng)部件(如液壓泵、直線(xiàn)驅(qū)動(dòng)器或電動(dòng)機(jī))對(duì)機(jī)械設(shè)備或加工刀具的位置、速度、加速度、加速度變化率和轉(zhuǎn)矩等基本運(yùn)動(dòng)要素進(jìn)行控制。這一技術(shù)在國(guó)民經(jīng)濟(jì)的多個(gè)領(lǐng)域發(fā)揮著重要作用,并帶來(lái)了顯著的經(jīng)濟(jì)效益。運(yùn)動(dòng)控制技術(shù)是控制理論在機(jī)械和電力工程中的實(shí)際應(yīng)用,它綜合了微電子技術(shù)、電子電力技術(shù)、計(jì)算機(jī)信息技術(shù)、傳感檢測(cè)技術(shù)和電機(jī)學(xué)等多個(gè)領(lǐng)域的技術(shù),是一門(mén)高度綜合的技術(shù)學(xué)科。
以下為L(zhǎng)icOS PLC/PAC基于G代碼、插補(bǔ)器的插補(bǔ)運(yùn)動(dòng)功能詳細(xì)介紹與實(shí)現(xiàn)方法:
圖1 MC500系列PAC
圖2 MC600系列PAC
圖3 DIN66025 G代碼編程語(yǔ)言標(biāo)準(zhǔn)
圖4 G代碼實(shí)例
圖5 G代碼功能
圖6 通過(guò)G代碼實(shí)現(xiàn)飛機(jī)模型搭建
圖7 通過(guò)G代碼實(shí)現(xiàn)圓弧插補(bǔ)
圖8 通過(guò)G代碼實(shí)現(xiàn)直線(xiàn)插補(bǔ)
圖9 輔助軸
聯(lián)誠(chéng)PLC的CNC運(yùn)動(dòng)控制部分除了支持3軸插補(bǔ)運(yùn)動(dòng)外,另外還支持A/B/C/P/O/U/V/W 等8個(gè)輔助軸的定位控制,以便在機(jī)械設(shè)備的插補(bǔ)運(yùn)動(dòng)軸在運(yùn)動(dòng)過(guò)程中,讓輔助軸可以配合運(yùn)行,這些輔助軸的運(yùn)行起止時(shí)間可以由用戶(hù)G-Code代碼程序決定,但與XYZ軸運(yùn)動(dòng)并沒(méi)有完全同步關(guān)系。
圖10 輔助軸
用戶(hù)程序中,輔助軸運(yùn)動(dòng)的編程寫(xiě)法與XYZ 軸寫(xiě)法相同:其中跟隨A/B/C/P/Q/U/V/W等變量后邊的數(shù)值,就是對(duì)應(yīng)輔助軸的目標(biāo)位置。軌跡插補(bǔ)運(yùn)行時(shí),各輔助軸按定位運(yùn)行方式運(yùn)行,其執(zhí)行完成時(shí)間則與XYZ完成時(shí)間相同,如圖所示。
G代碼路徑可以實(shí)現(xiàn)直線(xiàn)路徑、圓弧路徑、曲線(xiàn)路徑、橢圓路徑。除了路徑規(guī)劃以外,可以通過(guò)G代碼是賦值,包括運(yùn)行速度、運(yùn)行加速度、運(yùn)行減速度等。實(shí)際上,G代碼是基于點(diǎn)的描述,插補(bǔ)器將G代碼描述的點(diǎn)混合成相應(yīng)路徑線(xiàn)段,并將這些混合而成的路徑線(xiàn)段存放在路徑規(guī)劃緩存區(qū),并按路徑堆載輸出路徑線(xiàn)段驅(qū)動(dòng)伺服系統(tǒng)運(yùn)行。
圖11 G代碼存儲(chǔ)的三種格式
編寫(xiě)的G-Code軌跡程序,是以文本字符串的形式存在的,其中有些軌跡信息是需要進(jìn)行上下文分析后才能準(zhǔn)確還原用戶(hù)所需的控制特性,為了提高軌跡插補(bǔ)的運(yùn)算效率,實(shí)現(xiàn)運(yùn)行軌跡的平穩(wěn)控制,需要將之編譯成適合處理器執(zhí)行的代碼序列,典型格式如OutOueue格式。
OutQueue格式是將G-Code源文件編譯成方便插補(bǔ)器執(zhí)行的數(shù)據(jù)表格,如軌跡的起止坐標(biāo)與線(xiàn)型、加減速參數(shù)、模式指令參數(shù)、輔助軸運(yùn)動(dòng)參數(shù)、M與H指令參數(shù),以及其他輔助信息等等,解析成有序的、無(wú)需前后文分析的正則表格數(shù)組。
插補(bǔ)器在執(zhí)行時(shí),按表格數(shù)據(jù)與線(xiàn)型直接插補(bǔ)輸出即可;根據(jù)這個(gè)表格數(shù)組,可以實(shí)現(xiàn)軌跡的雙向運(yùn)動(dòng)、多個(gè)連續(xù)線(xiàn)段的速度連續(xù)緩沖(Buffer))處理等。因此,OutQueue格式可以理解為正則的G代碼文件。正因OutQueue格式具有更完整的軌跡線(xiàn)段坐標(biāo)與線(xiàn)型信息,方便作軌跡的圓滑倒角處理(Smooth),運(yùn)行速度分析調(diào)整(CheckVelocity)、甚至是CNC加工軌跡控制所需的刀具補(bǔ)償(ToolCorrect),因而軌跡控制的預(yù)處理,一般都是基于軌跡的OutQueue格式進(jìn)行的。上述幾種預(yù)處理,在Smart Control系統(tǒng)中已提供對(duì)應(yīng)的FB功能塊,可以根據(jù)控制需要進(jìn)行實(shí)例化調(diào)用。
圖12 三種格式G代碼編譯過(guò)程
M指令(暫停功能):
聯(lián)誠(chéng)PLC支持G-Code程序的M輔助功能,可以在插補(bǔ)運(yùn)行中,按M指令要求暫停插補(bǔ)軌跡的運(yùn)行,待接到對(duì)應(yīng)的確認(rèn)信號(hào),才繼續(xù)執(zhí)行。
H指令(邏輯開(kāi)關(guān)功能):
支持G-Code程序的H輔助功能,可以在連續(xù)軌跡的插補(bǔ)運(yùn)行中,經(jīng)過(guò)H指令指定的軌跡點(diǎn),輸出指定的邏輯控制信號(hào),用于邏輯控制。H指令與M指令不同,經(jīng)過(guò)監(jiān)控點(diǎn)位置時(shí),輸出邏輯信號(hào),并不出現(xiàn)軌跡運(yùn)行的減速或暫停。借助這個(gè)功能,可以讓系統(tǒng)知悉軌跡運(yùn)行已到達(dá)特定位置,或用于觸發(fā)相應(yīng)的控制邏輯,如點(diǎn)膠機(jī)噴嘴的控制等。
軌跡的圓滑與倒角處理:
在實(shí)際應(yīng)用中,對(duì)于軌跡轉(zhuǎn)折處可能需要有倒角和圓滑處理,用G51/G52指令就可以啟動(dòng)圓滑路徑處理,將拐角處位置改為連續(xù)即可實(shí)現(xiàn)連續(xù)插補(bǔ)。
軌跡的刀具補(bǔ)償處理:
用戶(hù)一般設(shè)計(jì)所需工件外形或希望加工的圖案形狀,而設(shè)備控制的卻是加工工具的運(yùn)動(dòng)軌跡,加工工具一般都會(huì)有其外形尺寸,如鏜床、銑床、磨床的工具,因此加工工具的行走軌跡需要在工具軌跡的基礎(chǔ)上,考慮工具的尺寸,預(yù)留一個(gè)刀具半徑的偏移量,這就是刀具補(bǔ)償。G-Code指令集中的G41、G42、G40就分別是刀具半徑左補(bǔ)償、右補(bǔ)償和取消半徑補(bǔ)償.
圖13 G代碼的M功能
圖14 G代碼的M功能
圖15 G代碼的H功能
圖16 G代碼的H功能
運(yùn)動(dòng)系統(tǒng)的輪廓控制是根據(jù)已知運(yùn)動(dòng)軌跡的起點(diǎn)坐標(biāo)、終點(diǎn)坐標(biāo)、曲線(xiàn)類(lèi)型和走向,由運(yùn)動(dòng)控制系統(tǒng)實(shí)時(shí)計(jì)算各中間點(diǎn)的坐標(biāo)。這個(gè)中間點(diǎn)坐標(biāo)的插入和補(bǔ)充的技術(shù)稱(chēng)為插補(bǔ)技術(shù)。插補(bǔ)技術(shù)是運(yùn)動(dòng)控制器中的一種算法。它是在一條已知起點(diǎn)和終點(diǎn)的曲線(xiàn)之間進(jìn)行數(shù)據(jù)密集化的算法。按數(shù)學(xué)模型,可分為一次(直線(xiàn))插補(bǔ)、二次(圓弧、拋物線(xiàn)、圓、雙曲線(xiàn)、二次樣條)插補(bǔ)和高次(樣條)插補(bǔ)等。按插補(bǔ)方法,可分為脈沖增量插補(bǔ)和數(shù)字增量插補(bǔ)。
脈沖增量插補(bǔ)是控制單個(gè)脈沖輸出規(guī)律的插補(bǔ)方法。每輸出一個(gè)脈沖,移動(dòng)部件相應(yīng)移動(dòng)一定距離(稱(chēng)為脈沖當(dāng)量)。因此,它也稱(chēng)為行程標(biāo)量插補(bǔ)。常用的有逐點(diǎn)比較法、數(shù)字積分法等。
數(shù)字增量插補(bǔ)是在規(guī)定時(shí)間(稱(chēng)為插補(bǔ)時(shí)間)內(nèi),計(jì)算各坐標(biāo)方向的增量等數(shù)據(jù),同服
系統(tǒng)在下一插補(bǔ)時(shí)間內(nèi)走完插補(bǔ)計(jì)算給出的行程。它也稱(chēng)為時(shí)間標(biāo)量插補(bǔ)。直線(xiàn)插補(bǔ)的原理簡(jiǎn)單,控制誤差容易,通常用曲率圓弧近似估計(jì)誤差,以計(jì)算符合精度要求的插補(bǔ)直線(xiàn)段參數(shù)變量。但直線(xiàn)插補(bǔ)生成的逼近曲線(xiàn)不是一階連續(xù)的,在期望精度高的場(chǎng)合生成的插補(bǔ)點(diǎn)數(shù)過(guò)多,造成數(shù)據(jù)存儲(chǔ)和傳輸?shù)睦щy。
圓弧插補(bǔ)可在一定程度上彌補(bǔ)直線(xiàn)插補(bǔ)的不足,可生成一階幾何連續(xù)的逼近曲線(xiàn),生成的插補(bǔ)圓弧段數(shù)量較少。但插補(bǔ)圓弧控制誤差的計(jì)算復(fù)雜,難以解析求解出目標(biāo)曲線(xiàn)與逼近曲線(xiàn)之間距離,需用數(shù)值分析方法求解出滿(mǎn)足精度要求的插補(bǔ)圓弧參數(shù)。目前,插補(bǔ)一般用軟件實(shí)現(xiàn)。常用的插補(bǔ)是直線(xiàn)插補(bǔ)和圓弧插補(bǔ)。直線(xiàn)插補(bǔ)算法簡(jiǎn)單,誤差容易控制,通常采用曲率圓弧近似估計(jì)誤差的方法計(jì)算符合精度要求的插補(bǔ)直線(xiàn)段參數(shù)變量。但直線(xiàn)插補(bǔ)生成的逼近曲線(xiàn)不連續(xù),精度要求高時(shí)插補(bǔ)點(diǎn)數(shù)多,因此,數(shù)據(jù)存儲(chǔ)和傳輸負(fù)擔(dān)大。圓弧插補(bǔ)可生成一階幾何連續(xù)的逼近曲線(xiàn),生成的插補(bǔ)圓弧段數(shù)少,但計(jì)算圓弧插補(bǔ)的。
圖17 插補(bǔ)器MC Interpolator
MC Interpolator是CNC軌跡控制中最核心的插補(bǔ)功能塊,其功能強(qiáng)大,但使用簡(jiǎn)單。相比于以往脈沖控制方式的插值原理,基于EtherCAT控制方式的插值要簡(jiǎn)單許多,因?yàn)榭刂破髦恍枰獙⒅付ㄜ壽E曲線(xiàn)中,插補(bǔ)得到有限個(gè)離散的中間點(diǎn),用數(shù)學(xué)方法計(jì)算得到這些中間點(diǎn)的坐標(biāo)(dx,dz),讓合成軌跡能以設(shè)定的加速度、減速度、設(shè)定速度等運(yùn)行,插補(bǔ)器支持DIN66025標(biāo)準(zhǔn)中的所有G、M、H指令的解析執(zhí)行。
將這些中間點(diǎn)坐標(biāo)經(jīng)過(guò)必要的坐標(biāo)變換處理后,以位置命令方式發(fā)送給驅(qū)動(dòng)X、Y、Z軸的伺服,令三個(gè)軸同時(shí)運(yùn)動(dòng),這三個(gè)軸運(yùn)動(dòng)的合成軌跡即為所需運(yùn)動(dòng)軌跡。
左圖為一個(gè)直線(xiàn)線(xiàn)段CNC插值的原理圖,因?yàn)樵诰€(xiàn)段的軌跡運(yùn)動(dòng)中,存在加速和減速的過(guò)程,中間的插入的間距會(huì)有加速時(shí)間距逐漸加大、減速時(shí)間距逐漸減小的情況。
EtherCAT任務(wù)是按固定的周期執(zhí)行,如周期一般設(shè)為1ms/4ms等,插補(bǔ)周期與EtherCAT周期相同,開(kāi)始插值運(yùn)行后,每次EtherCAT中斷時(shí)執(zhí)行一次MC_Interpolator功能塊,該功能塊就以一個(gè)EtherCAT周期內(nèi),按照用戶(hù)設(shè)定的軌跡速度、允許的加減速時(shí)間,計(jì)算每個(gè)軸在下一個(gè)周期內(nèi),需要運(yùn)行的距離,以G代碼坐標(biāo)系為參考,按照垂直坐標(biāo)系目標(biāo)絕對(duì)位置坐標(biāo)(dx,dy,dz),作為伺服運(yùn)行的位置指令。在插補(bǔ)處理的同時(shí),對(duì) A B C P Q U V W 等輔助軸同時(shí)進(jìn)行對(duì)應(yīng)的定位控制處理。
圖18 插補(bǔ)器MC Interpolator
圖19 線(xiàn)段插補(bǔ)
插補(bǔ)功能塊SMC_Interpolator,按照一定的時(shí)間間隔,計(jì)算給定路徑的位置,對(duì)路徑進(jìn)行離散。通過(guò)piSetPosition輸出笛卡爾坐標(biāo)系的位置,單位為脈沖當(dāng)量。
常用的樣條曲線(xiàn)是三次B樣條曲線(xiàn)和三次非均勻有理B樣條曲線(xiàn)(NURBS曲線(xiàn))。樣條曲線(xiàn)是用多項(xiàng)式曲線(xiàn)段連接而成的曲線(xiàn)。每段曲線(xiàn)邊界處滿(mǎn)足特定的連續(xù)條件,其形狀由一組控制點(diǎn)決定。
樣條曲線(xiàn)可精確地表示解析曲線(xiàn)和自由曲線(xiàn),數(shù)控技術(shù)中,為加工復(fù)雜的流線(xiàn)型覆蓋件例如,飛機(jī)機(jī)翼和成形模具等需要高精度的數(shù)控加工。采用傳統(tǒng)曲面數(shù)控加工技術(shù)不僅處理數(shù)據(jù)量大,而且加工效率不高。因此,1991年國(guó)際標(biāo)準(zhǔn)化組織規(guī)定數(shù)控系統(tǒng)數(shù)據(jù)標(biāo)準(zhǔn)作為工業(yè)產(chǎn)品模型數(shù)據(jù)交換標(biāo)準(zhǔn),成為定義工業(yè)產(chǎn)品幾何形狀的唯一數(shù)學(xué)方法。按數(shù)控系統(tǒng)數(shù)據(jù)標(biāo)準(zhǔn)ISO14649,樣條曲線(xiàn)插補(bǔ)是將符合三維幾何模型加工信息直接作為數(shù)控系統(tǒng)輸入,即直接對(duì)參數(shù)曲線(xiàn)進(jìn)行插補(bǔ)。
圖20 G代碼解析
圖21 速度預(yù)處理
圖22 路徑預(yù)處理
圖23 預(yù)處理
圖24 樣條曲線(xiàn)路徑預(yù)處理
圖25 刀具預(yù)處理
圖26 預(yù)處理功能塊
圖27 管理功能塊
圖28 運(yùn)動(dòng)學(xué)轉(zhuǎn)換
圖29 支持的運(yùn)動(dòng)學(xué)模型
圖30 支持的運(yùn)動(dòng)學(xué)模型
圖31 五軸運(yùn)動(dòng)學(xué)模型
圖32 運(yùn)動(dòng)學(xué)模型對(duì)應(yīng)的算法功能塊
如前面所述,G-Code是以三維垂直坐標(biāo)系來(lái)描述空間位置和軌跡,下圖是簡(jiǎn)單的3軸垂直坐標(biāo)系統(tǒng)(也稱(chēng)龍門(mén)架結(jié)構(gòu))的插補(bǔ)執(zhí)行程序,以CFC圖形化語(yǔ)言給出,用戶(hù)的軌跡數(shù)據(jù)已編譯成SMC OutQueue格式,則最簡(jiǎn)化的插補(bǔ)控制程序如下圖: