林志偉, 傅建中, 吳森洋, 錢 俊
(浙江大學 a.機械工程學院,浙江省三維打印工藝與裝備重點實驗室, 杭州 310027; b.工程訓練(金工)中心, 杭州 310058)
三維打印是一種以數字模型為基礎,運用粉末或流體等可黏合材料,通過逐層堆積的方式來構造實體的技術[1-2]。經過30多年的發展,三維打印出現了選擇性激光燒結(SLS)[3]、光固化(SLA)[4]和熔融沉積制造(FDM)[5]等工藝,為零件原型制作、新設計思想校驗等方面提供了一種高效低沉本的實現手段[6]。三維打印集成了CAD/CAM、機械、電子、計算機、控制等技術,非常適合學生綜合能力培養。目前,國內很多高校已將三維打印引入實驗教學環節[7-9],成為技術支持教育應用創新不可或缺的元素[10-11]。
盡管如此,三維打印在向學生課堂推廣過程中仍然存在一些問題。首先,相對普通機加工,三維打印涉及的工藝參數更多且設置更為復雜。以FDM為例,它在模型切片過程中涉及的工藝參數多達60多個,包括層高、填充率、速度、壁厚、噴頭溫度等。其次,三維打印逐層堆積的工藝特性決定了制造工時一般較長。對一普通鼠標大小的模型,打印時間短則0.5 d,長則1 d,這樣的工時在課堂環境下一般是無法容忍的。
目前,針對三維打印的研究主要集中在工藝、材料及單機打印設備開發上[12-14],而針對三維打印網絡互連及無人車間構建等方面的研究較少。孟炯等[15]研究了三維打印分布式智能制造創新模式,揭示了三維打印分布式智能制造模式的管理特征。劉利釗等[16]針對三維打印設備、三維相關設備和運行數據的統一建模問題,建立了三維網絡系統合成模型,實現了三維打印設備與相關設備間的互操作、信息共享、協同工作。
本文開發了一套面向網絡制造的三維打印無人車間實驗平臺。該平臺可以理解為一種三維打印服務,無論何時何地,用戶只需在網頁上上傳或在模型庫中選擇模型,設置簡單的工藝參數,便可下單打印。訂單在打印過程中,用戶還可在網頁上查看打印進度,查詢相關打印參數。車間端主要由三維打印機群、立體倉庫、工業機器人、工控機(IPC)等硬件設備組成,能夠實現自動接單、自動上下料、自動打印、自動出入庫等功能。
三維打印無人車間總體布局如圖1所示,實物展示如圖2所示,主要包括三維打印機群、工業機器人、直線導軌、立體倉庫等制造執行單元,其中三維打印機群組成車間制造系統,機器人和導軌組成搬運系統,立體倉庫為倉儲系統。這些單元以直線導軌為中心布置在一長方形周邊,導軌總長8 m,水平安裝在地面上。6自由度工業機器人安裝在導軌滑塊上,一方面可隨導軌滑塊做直線運動;另一方面可在其自身坐標系內自由運動。三軸并聯式FDM三維打印機位于導軌兩側,左右各5臺,呈線型固定在工作臺上,左右工作臺間距約6 m。立體倉庫及各電氣機柜位于導軌兩端,其中倉庫位于導軌下端,主要包含堆垛機和立體貨架。電氣機柜包括倉儲系統控制柜、機器人控制柜、導軌控制柜、搬運系統總控柜、主控機柜以及Web服務器機柜等。
無人車間中,制造、倉儲、搬運各系統功能如下。三維打印機是最終制造執行單元,負責將用戶網絡訂單轉化成實體模型。FDM三維工藝將工件打印在底部臺面(熱床)上,打印完成后,工件與臺面存在一定的黏附力,一般需要借助專用工具才能將工件剝離。由于三維打印個性化程度高,工件形狀各異,設計夾具直接在產線上夾取工件并使其剝離工作臺面難度較大。為此,本文從打印機工作臺面互換的角度出發,將臺面看成工件載具(如圖1所示的六邊形鋼化玻璃盤),即打印開始前,在打印機上放置空盤,打印結束后,將粘附工件的成品盤從打印機取出。倉儲系統用于存儲托盤載具,包括空盤和成品盤,包含3個進出口,分別為空盤出口、成品進口以及成品出口。機器人及導軌銜接倉儲系統和打印機,負責上下料,搬運空盤和成品盤。在機器人的末端法蘭上,安裝了為本項目專門設計的U形夾具,夾具上裝有4個吸盤,這些吸盤可利用負壓抓取或釋放載具。

圖1 三維打印無人車間總體布局示意

圖2 三維打印無人車間實物展示
制造、倉儲、搬運各系統在主控IPC協調下有序工作,三維打印無人車間整體工作流程如下:首先,用戶在遠端電腦上通過網頁訪問三維打印云平臺網站,選擇或上傳模型并設置簡單的打印參數,包括精度、強度、顏色等,完成下單操作。工廠端在接收打印訂單后,首先調動倉儲系統中的堆垛機從空盤出口出一空盤;隨后調動機器人及導軌運行至倉庫附近抓取空盤,并將空盤搬運至某一空閑打印機上;打印機接收打印指令后,自動下載模型文件,開始切片、打印;打印完成后,機器人及導軌運行至打印機附近抓取成品盤,并將其搬運至倉庫成品進口;倉儲系統在感知成品進口的載具后,自動啟動堆垛機將成品盤收納進倉庫空倉位。與此同時,用戶可通過云平臺網站隨時查看訂單打印進度。
需要指出的是,以上介紹是在單個訂單任務下,三維無人車間從訂單下達到完成打印、搬運、倉儲的簡單流程;事實上,當訂單數量增加,無人車間在運行過程中還會涉及訂單分配、設備調度等優化問題。
本文選用的三維打印機為三軸并聯式FDM打印機,外觀呈三棱柱形,兩端截面為正三角形。該打印機噴頭直徑為0.4 mm,最小打印層高為0.1 mm,最大打印尺寸為φ650 mm×1 250 mm,適用材料包括PLA、ABS、人造橡膠等。打印機各軸運動、送絲以及噴頭熱床溫度調節等由基于單片機的運動控制卡控制,該控制卡運行開源Marlin固件。每臺打印機配備一臺專用IPC,IPC和打印機控制卡通過USB(轉串口)線連接,具體通訊協議可參見Marlin固件中對G代碼的定義。每臺IPC上安裝由項目組自主研發的三維打印控制軟件,可實現三維模型編輯、打印代碼生成、本地及網絡打印控制等功能,并提供遠程操控打印機相關接口函數(API)。
為適應無人車間機器人自動上下料需求,本項目對打印機底部工作臺面進行改造,從原來一體的三角形鋼化玻璃臺面掏出一個六邊形可互換托盤,作為工件載具,如圖3所示。托盤底部裝有圓形鐵塊,打印機底座裝有電磁鐵,電磁鐵和工業機器人IO相連,信號通斷通過機器人示教得到,即:當機器人向打印機放置空盤后,電磁鐵通電從而固定托盤;當機器人過來從打印機抓取成品盤時,電磁鐵斷電,釋放托盤。
相對來說,倉儲系統是無人車間最為獨立的智能制造執行單元,主要由立體貨架系統、堆垛機系統、輸送機系統和倉儲控制系統等組成,可獨立實現物料自動化供應、庫存管理等功能。如圖4所示,立體貨架包含左右兩排貨架,每排4層,每層7個倉位,共計56個倉位,其中首層有3個倉位用作載具進出口,分別為空盤出口、成品進口以及成品出口,實際有效倉位為53個。三軸堆垛機位于兩排貨架中間,可在貨倉之間點對點運動,搬運載具實現進庫、移庫、出庫等功能。載具進出口處各裝有一套皮帶輸送系統,當有載具靠近時,輸送系統自動啟動輸送電機。其中空盤出口裝有RFID寫卡器,可將當前打印訂單號寫入載具RFID芯片,從而實現倉儲訂單追溯。

圖4 智能倉儲系統
上述堆垛機、輸送機系統在倉儲PLC統一控制下運行。PLC和倉儲系統IPC通過以太網相連,共同組成倉儲控制系統。IPC上運行智能倉儲系統人機界面,同時提供外部設備操作倉儲系統的API,通過調用該API可以查詢各個倉位存儲狀態,如空倉、空盤、成品盤等,此外,通過外部調用API還可實現進出庫、移庫等功能。
無人車間選用的工業機器人為柯馬(COMAU)NJ60型機器人,該機器人末端最大承重60 kg,最大工作半徑為2 258 mm,重復定位精度為0.06 mm,滿足三維打印載具搬運需求。為擴大機器人活動范圍,將機器人安裝在直線導軌滑塊上,如圖5所示。直線導軌總長8 m,由兩段導軌無縫拼接而成,最大載重量可達2 t,最大運行速度1 m/s,重復定位精度為0.05 mm。

圖5 工業機器人及直線導軌
機器人和導軌分別由兩個控制系統獨立控制,其中機器人由柯馬自帶的機器人控制器控制,直線導軌則由PLC實現簡單的點位控制。機器人上下料路徑由機器人示教器示教得到,對當前包含10臺打印機及1套倉儲系統的無人車間而言,共需示教得到22套程序,包括20套分別給各臺打印機的上料和下料程序,以及從倉庫空盤出口抓取空盤程序和向倉庫成品進口放置成品盤程序。與之配套的直線導軌共需示教保存12個點位坐標,包括10個打印機點位及2個倉庫取、放盤點位。導軌坐標點示教可在導軌控制柜的人機界面完成。
機器人控制器和導軌PLC經以太網相連后通過組態軟件和另一PLC組態,建立相關寄存器地址相互映射關系,該PLC作為機器人及導軌系統總控PLC,位于搬運系統總控柜內,如圖1所示。總控柜內的IPC上運行一套API程序,該API內部通過TCP/IP協議和總控PLC通訊,外部程序通過調用該API可實現機器人及導軌狀態查詢、示教程序選擇及執行等功能。
無人車間各制造執行單元主要通過以太網實現內部及外部通訊。如圖6所示,每臺打印機首先通過串口和對應的IPC通訊,每臺IPC則直接通過網線連接至車間局域網。倉儲系統的PLC和IPC首先連接至該系統專用交換機,然后通過該交換機連接至車間局域網,通過該交換機,倉儲IPC上的智能倉儲人機界面可直接訪問倉儲PLC數據。與此類似,對機器人及導軌組成的搬運系統,機器人控制器、導軌PLC、總控PLC以及IPC首先連接至該系統專用交換機,然后通過該交換機連接至車間局域網,通過該交換機,一方面總控PLC可通過組態軟件和機器人控制器及導軌PLC組態;另一方面,IPC可直接訪問總控PLC。

圖6 制造執行系統物理通訊框架
主控IPC和Web服務器直接和工廠局域網相連,其中Web服務器又和外網相連,上面運行三維打印云平臺網站,用戶可在外網完成打印訂單下達。主控IPC是無人車間控制的核心單元。在此通訊框架下,主控IPC可直接訪問各臺打印機IPC、倉儲IPC、倉儲PLC、搬運IPC、搬運總控PLC、機器人控制器、導軌PLC以及Web服務器等。為降低各控制單元耦合程度,如圖7所示,邏輯上主控IPC僅和打印機IPC、倉儲IPC以及搬運IPC通訊,通過間接調用這些IPC上的API實現和下位設備通訊。

圖7 制造執行系統邏輯通訊框架
傳統的生產線大都將PLC為主控單元,其優勢在于來自不同設備的PLC可以組態,易于協調各設備工作節拍。然而對于本文三維打印無人車間,完全依靠PLC實現車間控制難度較大。這是因為打印機的控制程序運行在IPC上,很難和機器人、導軌以及倉儲系統的PLC直接組態;另一方面,以PLC為車間主控的架構也很難實現云平臺訂單數據下載。本文開發的三維打印無人車間以IPC為主控單元,通過主控程序及設備狀態表協調各制造執行單元有序工作。
無人車間制造執行系統控制軟件架構如圖8所示,包括一個云平臺網站、一套主控程序、一套駐留程序、兩個數據庫以及三套下位控制程序,其中運行于主控IPC上的主控程序和設備狀態表為控制核心,駐留程序為通訊核心,云平臺網站為用戶接口,用于生成打印訂單,運行于下位IPC上的各控制程序一方面負責收集設備狀態,另一方面負責和駐留程序通訊。
駐留程序使用WCF(Windows Communication Foundation)庫開發,WCF是由微軟開發的一系列支持數據通信的應用程序框架。駐留程序和狀態數據庫相連,該數據庫包含3張設備狀態表,分別為打印機狀態表、倉儲系統狀態表、搬運系統狀態表,其中打印狀態表包含10條記錄,分別對應10臺打印機,倉儲和搬運系統狀態表各僅包含1條記錄。駐留程序對外僅提供HTTP訪問接口,外部程序使用POST方法封裝SQL語句和駐留程序通訊,間接完成對各狀態表讀寫。如某臺打印機需要向狀態表更新自身運行數據,則它首先需要封裝一條以“UPDATE”開頭的SQL更新語句,然后使用POST方法將其發送至駐留程序,完成狀態更新。類似地,如果某臺打印機需要獲取狀態表數據,則它需向駐留程序POST一條以“SELECT”開頭的SQL查詢語句。

圖8 制造執行系統控制軟件架構
主控程序通過改寫狀態表間接操控各下位控制程序及設備。以下以打印機狀態表為例說明,倉儲和搬運系統狀態表類似。打印機狀態表包含的主要字段如表1所示,表中ID字段為打印機編號,因有10臺打印機,故取值為1~10;OrderID為打印機當前打印的訂單編號。Emergency字段用于控制打印機急停,當打印機控制程序讀取到該字段為true時,則急停打印機。LayerCount和LayerIndex為打印過程狀態參數,由打印機控制程序寫入,通過這兩個字段可計算當前打印進度。LastUpdateTime為打印機控制程序最后讀寫狀態表時間戳,主控程序通過對比時間戳和當前系統時間判斷打印機是否仍然在線。

表1 打印機狀態表設計
State為打印機控制的關鍵字段。State為0表示打印機處于空閑狀態。State為1須由主控程序寫入,表示開始打印任務,當打印機控制程序掃描到State為1時,則從ModelPath指示的遠程FTP路徑下載模型文件,開始切片、打印過程。當打印機進入打印狀態時,其控制程序將State寫為2,表示打印任務正在執行中。當打印完成后,打印控制程序將State寫為3,表示打印任務完成;當主控程序讀取到State為3時,將其重置為0,即恢復打印機空閑狀態,等待下一次打印任務。
主控程序通過不斷讀寫狀態表實現各制造執行單元的生產調度以及運行節拍控制,其基本工作循環如圖9所示。循環開始為延時子程序,避免主控程序對狀態數據庫頻繁訪問而致其奔潰。本文設定主控程序循環延時為1 s,即循壞周期為1 s。延時后,主控程序將打印機、倉儲系統以及搬運系統3張狀態表中的所有數據讀入內存,根據這些數據,首先判斷所有打印機中是否有打印機的State為3。

圖9 主控程序基本工作循環
如果存在至少一臺打印機State為3,表示有打印機已完成打印,則進一步檢查倉儲和搬運系統是否處于空閑狀態。如果這兩系統均空閑,則在兩系統狀態表中寫入控制下料的相關字段,最后將該打印機State重置為0,表示該打印機進入空閑狀態,主控程序返回循環開始。如果倉儲和搬運系統處于忙碌狀態,則直接返回循環開始,如此往復,直至兩系統空閑,完成下料。
如果所有打印機State都不為3,則進一步檢查是否有打印機State為0。如果有空閑打印機,則再進一步檢查倉儲和搬運系統是否空閑。如果兩系統空閑,則主控程序向Web服務器打印訂單數據庫下載訂單信息,包括訂單號、模型文件等,然后寫倉儲及搬運系統上料相關字段,以及該空閑打印機ModelPath等相應字段,最后將打印機State寫為1,表示開始打印,主控程序返回循環開始。在這一過程中,如果無空閑打印機或倉儲、搬運系統處于忙碌狀態,則直接返回循環開始。
近年來,三維打印已逐漸進入了教育培訓領域,但較長的工時和復雜的工藝在一定程度上限制了三維打印課程的深化和進一步推廣。據此,本文開發了一套面向網絡制造的三維打印無人車間實驗平臺,其技術特點包括:
(1) 面向網絡化制造。三維打印無人車間通過云平臺網站向用戶提供打印服務,用戶只需在網站上上傳或選擇所需模型,完成下單操作,便可將打印任務下達至制造車間,并可通過云平臺查看打印進度。
(2) 打印托盤互換性設計。通過對打印機底部工作臺面的改造,以六邊形鋼化玻璃托盤替代原本一體的工作臺面,并使用電磁鐵固定托盤,解決了因三維打印模型個性化程度高、形狀各異造成的夾具設計困難、脫料困難等問題。
(3) 基于狀態表的生產線控制方法。以主控IPC上的WCF駐留程序為通訊核心,以主控程序及設備狀態表為控制核心,主控程序及下位IPC控制程序通過HTTP協議間接讀寫設備狀態表,實現下位制造執行單元有序工作。