天天看點

智能制造以及IEC61499 ,docker技術的應用

智能制造

智能制造(Intelligent manufacture)是相對與批量制造(mass manufacture)而言的。将近一個世紀以來,專業化分工,大批量制造的生産方式已經被全球制造業廣泛地采納,西方先進的制造業國家面臨了來自開發中國家,特别是亞洲國家(比如中國)低成本,大批量制造業的挑戰。它們一方面為了提升本國制造業的競争能力,另一方面也是為了解決批量制造(Mass Production)中存在的問題,提出了智能制造和工業4.0的概念。西方國家學者提出的智能制造的核心是将M大批量制造(Mass production)轉變稱為大批量定制(mass customize)。他們憧憬能夠根據客戶的需求,即時生産出各種定制化的産品。比如一下子推出幾十種不同配置的汽車。或者是為客戶定制各種硬體配置和預裝軟體的筆記本電腦。

由此可見,智能化制造并不是簡單地“機器換人”-在生産線中增加機器人,提高制造業的自動化能力。汽車生産線就是一個典型的例證,在汽車生産線上已經采用的大量的機械手和自動機。但是目前的汽車制造生産線仍然是為大批量制造而設計的。并不适合大批量定制的要求。

   智能化制造的目的是滿足柔性化生産(flexible production)的要求,而柔性化制造的實作方式是子產品化生産線(modular production line)。子產品化生産線是由多個制造子產品構成,每個子產品都能夠更加生産,工藝的要求,靈活地配置。

  作為制造子產品中的各種控制器,構成了分布式系統。許多情況下,他們是異構的計算機網絡。他們有的可能是PLC 裝置,inux工業電腦,Windows  PC。為子產品化生産線建構一個靈活配置的分布式系統是一個不小的挑戰。在工業4.0 的概念下,它們被稱為資訊實體系統(Cyber-Physical System),制造系統中的CPS 稱為CPS生産線(Cyber-Physical Production system or CPPS)。建構這樣一種創新的CPS生産線是智能化制造的目标。

     從資訊技術的角度看,CPPS 和傳統的生産線控制系統相比的不同點在于,CPPS 需要根據生産計劃,制定高層的規劃和排程,動态地配置(或者在配置)資源。針對特定生産量身定制工藝。修改制造單元的參數和加工程式。

容器技術和IEC61499 在智能制造系統中的應用

   在異構的分布式智能制造網絡中,情況變的異常的複雜。不同的裝置采取了不同的網絡協定和控制方式,如果采用傳統的集中控制方法,不同協定需要各種的協定轉換裝置,裝置廠商往往各自為政,在系統內建過程中,有時候為了控制一個裝置而配一台PC,軟體“硬化”現象嚴重。增加了成本不說,還增加了系統的複雜性。即使如此,中心控制程式也會變得十分龐大,研發,維護和系統更新的效率低下,開發一個穩定運作的系統成本高昂。

  解決的方法可以采用IT 技術中軟體解耦的理念,采用容器和微服務技術。将各種協定轉換,控制程式放置在不同的容器之中。它們互相不受幹擾。可以獨立的開發,部署和更新。比如在機械加工業内,生産線上有各種CNC 裝置,它們可能使用不同的控制協定,FUNC 是自己的協定,也可能是MT-Link 協定。或者國産機床可能使用Modbus 協定。同樣地,不同廠商的機械臂(robot arm)的控制方式也是各行其道,互不相容。在傳統的控制系統中會增加許多的程式庫來應付不同廠商的裝置。或者使用各種的網關裝置。如果采取了容器方式,我們使用一台邊緣伺服器裝置,将不同廠商的協定轉換程式部署在容器之中。

  當然,将各種協定轉換和控制放置在容器中,并沒有完全解決相容性問題。友善地使用它們來編寫和修改應用程式才是關鍵。這些容器中的微服務需要有一種統一的封裝和呈現方式供控制工程師使用。IEC61499 标準是一個好的選擇。

   IEC61499 是分布式工業測量和控制系統的功能塊程式設計方式。并且采取了事件驅動的同步方式。我們可以為容器中的每個微服務封裝成為一個或者多個IEC61499 功能塊。

智能制造以及IEC61499 ,docker技術的應用

圖-1是一個示意圖,實際的功能塊會複雜的多。

         從上面的示意圖我們可以看出,每個FUNC CNC 被描述成為一個IEC61499 的功能塊。其實,它是實體CNC 的數字化抽象。它通過docker 中的FUNC CNC 微服務與實體CNC裝置連接配接。類似地,ROBOT ARM 功能塊是FUNC 機械臂的數字化模型,背後通過docker 中的ARM 微服務與實體FUNC ARM 連接配接。

控制工程師主要是利用CNC 和ARM 功能塊,編寫TASK 功能塊(它也可以是一個子應用(sub Application)。

 在這裡我們省略了人機互動接口(HMI)的功能塊。

邊緣伺服器内部的軟體架構

智能制造以及IEC61499 ,docker技術的應用

圖-2  邊緣伺服器軟體架構

從上圖可見,這是一個Client/Server 架構。邊緣伺服器是伺服器端。加工資訊下發,系統監控和生産排程通過用戶端軟體完成。Docker 容器映像可以使用docker 用戶端程式完成。

控制工程師編寫的IEC611499應用軟體在IEC61499 運作時執行。

執行個體 :智能CNC生産單元

  在這裡我們以機械行業的智能制造生産線為例,描述CPPS 的工作流程和架構。

裝置

 假設一個機械加工廠由多台CNC 機床構成。加工一個機械零部件大約需要4道工序完成。為了向智能制造方式轉移,公司将每4 台CNC 加一台FUNC 的機械臂建構成為一個制造單元。FUNC 機械臂完成CNC 機床的上下料。

   在這樣的制造單元中,涉及不同裝置的不同控制器。主要包括

  1. CNC 控制器,大多數是FUNC 公司提供的CNC 控制器。
  2. CNC中執行部件,包括軸伺服驅動器,PLC 等
  3. FUNC 機械臂控制器。
  4. 零部件托盤,AGV 搬運小車,或者傳輸帶。

流程

     1 根據零部件的CAD 資訊,工廠中的房間工藝設計工程師設計CNC 加工程式。通常是G code 編寫的CNC 程式。生産計劃編寫派工單。

     2   生産排程下發工單,工程部将G code 下載下傳到相關的CNC 控制器中。

    3 工藝人員要制定好4 台CNC的加工順序,和相關工藝資訊。

資訊系統架構

      每個制造單元配置一個邊緣控制器(edge controller)。該控制器接受高層軟體發送的G Code, 加工資訊,控制該生産單元的加工過程。邊緣控制器通過以太網和CNC ,機械臂,以及用戶端計算機連接配接。

智能制造以及IEC61499 ,docker技術的應用

圖-3 一個CNC 制造單元由4台Harting CNC和一台FUNC 機械臂構成

邊緣伺服器的支撐服務

      邊緣伺服器采取與圖-2類似基于docker微服務架構。主要的支援子產品包括:

-FUNC CNC控制服務

-FUNC ROBOT 控制服務

-人機互動服務

-Restfull API 服務,

負責将CAD 檔案以及加工單等檔案下發到内部資料庫。

-資料庫服務

-加工單服務

    讀取資料庫中的加工單。

結束語

          基于docker容器技術的智能制造軟體比傳統集中式單一控制軟體更加适合靈活開發和快速部署,更新。減少了各種協定轉換和網關。使分布式制造系統裝置統一成為一台基于LInux平台的開放型系統。,利于系統擴充,維護和備份。IEC611499 功能塊程式設計适合作為微服務的封裝和呈現。滿足生産線 OT 工程師的二次開發。

文章中提及的CNC 制造單元項目需要進一步深化。目前難免有錯誤。