梅宏院士在他的《步入軟件定義的時代》一文中精辟地闡述了軟件技術的基礎支撐:“從使能技術的視角看,軟件技術在信息技術中則始終處于‘靈魂’地位,所有新的信息技術應用、平臺和服務模式,均離不開軟件技術作為基礎支撐;更為重要的是,在數字經濟時代,軟件技術已經成為企業的核心競爭力,不僅引領信息技術產業的變革,在很多傳統領域(如汽車、能源、制造、零售等)中的存在比重和重要性也在不斷加大,在支持這些傳統領域產業結構升級換代甚至顛覆式創新的過程中起到核心關鍵作用,并進一步加速重構了全球分工體系和競爭格局。”
當前,軟件正在向“基礎設施化”的趨勢發展。也就是說,軟件正在對傳統物理世界基礎設施進行重塑和重構,通過軟件定義的方式賦予其新的能力(尤其是靈活性),成為促進生產方式升級、產業升級、新興產業和價值鏈的誕生與發展的重要引擎。軟件“賦能、賦值、賦智”的作用正在被加速和加倍放大,對制造過程的數字化轉型起到重要支撐作用。
實現軟件定義一切(SDX)的技術途徑,就是把過去的一體化硬件設施打破,實現硬件資源的虛擬化和管理任務的可編程,也就是將傳統的一體式的硬件設施分解為基礎硬件虛擬化及其API和管控軟件兩部分。
軟件定義運動控制,不是宣揚軟件無所不能,而是告訴大家,我們可以運用軟件作為工具和載體,高效、準確地將運動控制多年來積累的工程原理、經驗和實踐,通過模塊化、結構化的軟件工程方法表達出來,為運動控制應用賦能、賦值和賦智,提供更多的新的能力,包括靈活性、復用性。毫無疑問,軟件定義運動控制,需要遵循一定的可行方法,結合其應用場景(如通用的運動控制、機器人、數控機床CNC等)進行合理的抽象和概括。PLCopen制定的運動控制規范是軟件定義運動控制的成功典范,獲得廣泛支持和實踐檢驗。盡管在啟動開發運動控制規范的當初,軟件定義一切的概念還沒有形成,但這并不妨礙規范沿著軟件技術和軟件工程的正確方向發展。
可是一篇在業界流傳很廣的微博指出:“PLCopen國際組織通過軟件定義運動控制規范在中國推廣,進展緩慢,許多中國用戶似乎聽不懂,反應不積極,其實很重要的一個原因是許多概念都是軟件工程的概念。聽眾往往是來自機電行業,不熟悉軟件工程,所以很難理解。但在歐洲就沒有問題。”其實懂軟件工程的人也未必弄得懂運動控制規范,只有懂得機械的基本知識又受過軟件工程訓練的人,才會理解運動控制規范。問題的癥結在于我們的知識需要更新,讓搞機械的人具有軟件和軟件工程的基礎。
(二)運動控制是智能制造裝備控制的重要基礎
運動控制技術是裝備領域和制造行業的核心技術。這是因為機械裝備的制造加工功能一般是通過其相關部件的運動來實現。盡管制造加工的原理常常有很大的差異,但是都離不開機械部件的運動。從這個意義上說,運動是機械裝備的本質特征。
運動控制泛指通過某種驅動部件(諸如液壓泵、直線驅動器,或電動機,通常是伺服電機)對機械設備或其部件的力或力矩、位置、速度、加速度和加速度變化率進行控制,從而達到預設的結果。由此可見,運動控制系統是確保數控機床、機器人及各種先進裝備高效運行的關鍵環節。而機器人和數控機床的運動控制要求更高,其運動軌跡和運動形態不同于其他行業專用的機械裝置(如包裝機械、印刷機械、紡織機械、裝配線、半導體生產設備)。而定位的精度、在確保運動軌跡的同時合理地選擇運動的速度和加速度以及過渡參數,不同機械部件運動的同步或配合,都使得運動控制的過程相當的復雜。
圖1 運動控制各基本要素間的關系
運動控制的基本要素之間的關系如圖1所示。不過由于運動部件都有一定質量,運動要素顯然會受到一定約束,加之滿足機械裝置的功能要求要考慮其運動學和動力學的限制,因此運動控制就不可能是僅僅滿足各種基本要素及其關系那么簡單,還要考慮許多復雜的邊界條件和約束,例如坐標系的變換和逆變換、運動的混成和緩沖等等。
長期以來,用戶可在很大范圍內選擇實現運動控制的硬件。不過,每種硬件都要求獨自而無法兼容的開發軟件。即使所要求的功能完全相同,在更換另一種硬件時,也需要重新編寫軟件。這一困擾運動控制用戶的問題,其實質就是如何實現運動控制軟件的標準化問題。PLCopen組織考慮到用戶存在運動控制軟件標準化的需求,從1996年就建立了運動控制規范工作組,歷時十多年完成了這一具有挑戰性的工作。
PLCopen開發運動控制規范目的在于: 在IEC 61131-3為基礎的編程環境下, 在開發、安裝和維護運動控制軟件的各個階段,協調不同的編程開發平臺,使它們都能滿足運動控制功能塊的標準化要求。換句話說, PLCopen在運動控制標準化方面所采取的技術路線是,在IEC 61131-3為基礎的編程環境下,建立標準的運動控制應用功能塊庫。這樣較容易讓運動控制軟件做到:開發平臺獨立于運動控制的硬件,具有良好的可復用性,以及在開發、安裝和維護等各個階段都能滿足運動控制功能塊的標準化要求。總而言之,IEC 61131-3為機械部件的運動控制提供一種良好的架構。
PLCopen為運動控制提供功能塊庫,最顯著的特點是:極大增強了運動控制應用軟件的可復用性,從而減少了開發、培訓和技術支持的成本;只要采用不同的控制解決方案,就可按照實際要求實現運動控制應用的可擴可縮;功能塊庫的方式保證了數據的封裝和隱藏,進而使之能適應不同的系統架構,譬如說集中的運動控制架構、分布式的運動控制架構,或者既有集中又有分散的集成運動控制架構;更值得注意的是,它不但服務于當前的運動控制技術,而且也能適應正在開發的或今后的運動控制技術。
所以我們說,IEC 61131-3與 PLCopen運動控制規范的緊密結合,提供了理想的機電一體化的解決方案。
(三)PLCopen運動控制規范概述
PLCopen國際組織制定的運動控制規范,現已成為國際公認的事實上的運動控制標準。表1給出規范的組成,經過歷次的修訂,現在第1和第2部分已合并。
基本上,每個規范都包含了3個內容:定義狀態機,定義單軸和多軸運動控制功能塊的基本集合,規定符合規則和語句。
(1)運動控制規范的核心技術及其詮釋
從技術上講,我們可以按其協調控制的結構把運動控制劃分為兩類:①主軸/從軸運動控制。即根據主軸的定位生成一個或多個從軸的定位命令。②多軸運動控制協調結構,其中沒有主軸從軸之分,只有由多個軸構成的集合,稱之為軸組(或軸集合)。只有這樣才可能進行更好的軌跡和路徑規劃,解決CNC、機器人等的復雜運動控制問題。
PLCopen運動控制規范針對形式各異的運動控制形態進行抽象,分別制定單軸和軸組的狀態圖,并闡明了他們之間的關系(見圖2和圖3)。該規范制定了一系列的基本功能塊,便于按運動控制的要求在各個狀態之間轉移。通過定義一組具有相關協調運動功能性的功能塊,以及定義一個高層級的狀態圖來鏈接該軸組內的多個單軸的狀態圖,達到多軸協調運動控制。圖4給出在主/從結構下單軸和軸組的協調運動控制示意圖。
圖2 主軸/從軸結構的運動控制規范的狀態圖
圖3 多軸(軸組)協調運動控制狀態圖與單軸狀態圖的關系
圖4 主/從結構下單軸和軸組的協調運動控制
運動控制最重要的是控制運動的軌跡,而軌跡控制的本質在于協調兩個或多個軸的運動,以指定的速度從某個起點沿著所規定的路徑到達某個目標點。所謂路徑可以是直線運動、圓周運動,或者是三維仿形運動。在三維空間中要規定一種路徑(或者任意位置信息)需要一種坐標系。
在PLCopen運動控制規范的第四部分,將坐標系定義為:軸坐標系ACS、機械坐標系MCS、和產品(或工件)坐標系PCS,詳見圖5。軸坐標系ACS是指相對于單電機和單驅動器構成的單軸系統所形成的坐標系。機械坐標系MCS是指相對于機械裝置的坐標系,這是一個原點為固定位置的直角坐標系,而原點則在機械裝置啟動時予以定義。通過前向和后向的運動學變換,可將多個單軸坐標系ACS與機械坐標系MCS連接起來。產品坐標系PCS在CNC中常稱為程序坐標系(或程序員坐標系)。通常情況下,PCS建立在MCS的基礎上,即通過MCS移位(也可旋轉)來建立PCS。PCS的零點與產品相關,在運行期間可用程序來改變零點。通過在PCS中指定一個軌跡就能準確描述該軌跡,而與機械裝置無關。通常進行直角或柱面變換,就可以將PCS映射為MCS,或者將MCS映射為PCS。
圖5 運動控制中的三個坐標系
為了解決數控機床和機器人實際應用中必須妥善處理的一些關鍵技術問題, PLCopen的運動控制規范第四部分給出了以下關鍵技術的描述,以及實施這些技術的功能塊和相應規則。它們是:坐標系變換和逆變換、運動學變換和逆變換、運動軌跡規劃、運動混成(blending)、速度和加速度平滑(buffering)。
以五軸聯動數控機床為例來說明為什么需要樣條路徑插補和加速度平滑。五軸線性刀具路徑由一系列的指令定義,每一個離散指令包含位置和方向信息,其中位置矢量描述刀尖點(TCP,Tool Central Point)的軌跡,方向矢量描述刀軸的方向。對這些離散指令進行線性插值,就獲得了刀具的連續運動。將數控指令發給數控系統后,數控系統將在機床動力學特性的約束下,實時規劃出每一個軸的位置、速度和加速度。可以看出刀具路徑將影響機床進給的動態特性,如果刀具路徑是線性的,刀具運動被定義為相鄰軌跡之間的直線段運動。而在線段連接點處,刀具估計的切向和曲率都是不連續的。考慮數控機床的最大加速度和加速度變化率(躍度)都是有限值,這種不連續往往導致進給速度產生波動,而這種波動將造成機床的真實進給速度要低于數控代碼中指定的進給速度。因此,用光滑的參數樣條曲線來取代線性刀具路徑,顯然是提高加工效率和加工表面質量的重要方法。由上分析可見,五軸樣條軌跡插補和加速度平滑是五軸聯動高速高精度軌跡跟蹤的關鍵技術。
插補型運動控制的基本部分是對軸組實施一連串連續、且具有緩沖的運動命令的混成。如果沒有混成,軸組的TCP會向前運動至命令所要求的位置附近,減速并精準地停在該位置不動,接下去的緩沖減速運動命令不會被激活。顯然,要運動到下一個點軸組必須再加速。在許多應用中,會要求TCP具有不同的行為特性,比如不停頓的連續運動,這樣可以減少加工處理的循環時間(例如抓取和放置);或者是為了減少機械應力,要生成平滑的運動;另外,有些應用要求TCP進行恒速運動(如噴涂、焊接、膠合等)。諸如此類的這些要求都可以用不同類型的運動混成加以滿足,其共同點是通過修正原始的路徑,從而得到平滑而沒有拐角的軌跡。
在多軸協調運動控制中對插補運動命令的混成不同于單軸運動中的混成。對單軸而言,命令所指定的位置總是可以達到的。在多軸協調運動中,到達(或經過)命令所指定位置的時刻,可以按照緩沖模式(BufferMode)的輸入參數來改變。插補運動控制中的運動混成類型與應用和過程相關,因此必須在插補運動控制中導入多種新的運動混成類型。不同的插補方法會使用不同的混成輸入參數,所以要按所采用的插補方法改變混成輸入參數。當然,運動控制器產品供應商可根據自己的訣竅和經驗來規定混成功能塊的輸入參數。
(2)管理類功能塊和運動類功能塊
PLCopen運動控制規范的第1部分和第4部分都把功能塊劃分為管理和運動兩大類。所謂管理類功能塊只對運動控制的程序執行一定的管理功能,便于實現管理任務的可編程,但不會引起軸的運動。例如上電功能塊MC_Power專門管理供電電源的狀態,讀取軸狀態信息的功能塊MC_ReadStatus專門讀取軸的狀態信息等等。所謂運動類功能塊顧名思義都是能引發軸運動的功能塊,是對運動控制硬件資源進行虛擬化的表達,如回原點功能塊MC_Home、停止功能塊MC_Stop、絕對運動功能塊MC_MoveAbsolute、相對運動功能塊MC_MoveRelative等等。盡管PLCopen運動控制規范是在十幾年前開發的,但這樣的分類完全符合近年來正在發展的軟件定義一切的原則,將傳統的一體式硬件設施分解為基礎硬件虛擬化和管控軟件兩個部分。
(3)坐標系及其變換
為了在空間規定一個點或一個方向,其所在位置總應該參照一個坐標系。通過變換,可將此坐標系變換為另外的坐標系。在PLCopen運動控制規范中,通過將這些對于編程員來說較復雜的變換封裝為功能塊,使他們在日常工作中進行這些變換時得心應手。
圖6 ACS、MCS和PCS坐標系變換舉例
給出一個坐標系變換的舉例。為表述處于一個2維工件(圖6中紅色的梯形)上的P點,可以等效的用PCS坐標系(藍色)、MCS坐標系(黑色)和ACS坐標系(綠色)予以定義。在PCS中,PPCS=(XPCS,YPCS);在MCS中, PMCS=(XMCS,YMCS);在ACS中,如果是一個具有兩個旋轉軸的SCARA機器人,則PACS=(f1,f2)。
如何簡單理解運動學變換問題呢?軸通過機械連接,使處在空間中的刀具中心點(即刀尖,或TCP)產生運動。TCP是機械裝置中一個很獨特的點,有時也稱它為操縱點(effector)。通過運動學變換將ACS與MCS之間建立對應關系,可把ACS中的一個位置變換為MCS中的一個位置,這叫做正向變換;反過來也可運用逆變換,把MCS中的一個位置轉換為ACS中的一個位置。圖7的左半邊是一個簡單的直角型機械結構,其軸正好對應MCS的3個坐標軸X、Y和Z,我們可以用X、Y和Z的坐標來直接定義其上的TCP,進行運動學變換很方便。在這種最簡單的情形下ACS等同于MCS。但在工業實際中,有許多非直角的結構,如SCARA機器人和三腳架,這時運動學變換就變得復雜了。
圖7 簡單直角機械結構的運動學變換舉例
在TCP必須跟隨一個運動目標時,完成這種運動就要進行動態坐標變換,使PCS相對于MCS運動。先要激活坐標系變換功能塊MC_SetDynCoordTransform,這樣該軸會跟隨該動態變換,或者停在靜態的ACS(或MCS)內。下面舉例:工件隨傳送帶運動過程中,用機器人從一個固定位置抓取一個螺釘,然后把螺釘固定在工件上,并擰緊。為了完成這個任務,我們可以將整個過程拆分為9步。列出每一步的運動命令以及軸(傳送帶)和軸組(機器人)的行為。圖8示出這9步動作及相應的說明。接著選擇合適的功能塊,定義輸入和輸出參數,便可完成可以執行的編程。
圖8 坐標系動態變換應用舉例
(四)PLC運動控制技術、機器人技術和CNC技術的融合發展
智能制造和智慧工廠正在全球蓬勃發展,一個首當其沖的關鍵就是CNC和機器人這些制造單元的開放架構問題。MES、ERP、CAM等管理和設計軟件都要求制造設備層能提供基于IT技術的軟硬件接口,而且智能制造技術的實現也要求CNC、機器人和其它制造單元和設備之間建立開放性的網絡和軟件接口。與此同時,由于驅動技術和機器人技術的發展,使得用機器人來控制CNC加工單元成為可能。以上這些都說明了智能制造最前沿的一個值得關注的動向,這就是PLC及運動控制技術、機器人技術和CNC技術正在呈現融合發展的趨勢。
不過,對于傳統的CNC和機器人廠商來說,至今為止對于開放架構并沒有非常方便和高效率的方案,他們要迅速適應變化也非駕輕就熟,因為這些傳統廠商的硬件絕大多數是基于RISC芯片。顯而易見,要實現更為開放的IT集成,采用Intel的CISC芯片會輕而易舉得多。
沿用傳統的概念,PLC承擔邏輯控制和順序控制的任務(完成通用運動控制任務的能力也在不斷加強),機器人控制器完成機器人運動規劃的任務,而CNC控制器負責數控機床的控制,要將這三個系統集成在一起,將面臨較高成本、難以達到同步運行、開發時間長等一系列的問題。為此,突破傳統思維,充分發揮PLCopen運動控制規范的作用,讓PLC及運動控制、機器人、CNC技術融合在一個系統中成為現實可用的解決方案,其范例就是由斯圖加特大學的ISG研究所開發的ISG Kernel。ISG-Kernel是一種涵蓋幾乎所有的CNC、機器人和運動控制的機械裝置控制軟件解決方案,它可以嵌入到基于IEC 61131-3的PLC編程平臺中,也可以作為一種獨立的具有高端功能性的控制軟件包。
(五)結束語
在PLCopen運動控制規范的語境中,軟件定義運動控制就是運用一系列預先定義好的功能塊對運動控制任務進行編程。然后在具有運動控制功能的PLC系統執行控制任務的過程中,按PLC運行的規則串行地調用運動控制功能塊的命令。由于PLC的編程符合IEC 61131-3編程語言國際標準,熟練掌握PLC編程的技術人員較多,特別是機械工程及其自動化專業的人由于有較好的機械工程基礎和專業知識,他們更容易理解PLCopen運動控制規范中所定義的功能塊的特性和行為,更容易接受軟件定義機器這一概念。
綜上所述,自動化領域十余年前就完成開發的PLCopen運動控制規范,就是對當今如日中天的軟件定義一切(SDX)概念在機械裝備運動控制領域的完美詮釋。對該規范的推廣,必將極大促進自動化技術和先進IT技術的融合,促進智能制造的落地實現。
作者:上海工業自動化儀表研究院,PLCopen中國組織 彭瑜
共0條 [查看全部] 網友評論