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