謝仁栩,陳 丹,徐哲壯,劉 興,劉安國,高佩裕
(福州大學 電氣工程與自動化學院 自動化系,福建 福州 350108)
隨著工業物聯網等技術的快速發展[1-2],工業制造的信息化與智能化已成為工業發展的必然趨勢[3-6]。工業定制化生產作為智能制造的典型應用,能夠滿足用戶個性化定制產品的需求,已經得到了越來越多研究者的關注[7-9]。
然而工業定制化生產系統的實現仍面臨一系列挑戰。首先是定制生產訂單管理系統與生產控制系統的銜接問題,用戶的定制信息要能夠自動解析并直接傳輸至生產控制系統,實現從提交定制信息到定制化生產全流程的自動化。然而現有系統大多數仍需人工導入與確認[10],延長了生產周期,增加人力成本。另一方面,用戶提交定制信息亟需直觀高效的提交手段,現有方案仍需客服與用戶溝通確定定制信息,不僅效率低下,也很難達到所見即所得的效果。
針對上述需求和挑戰,本文設計了一套基于物聯網的工業定制化生產系統。該系統通過工業物聯網和云平臺等技術實現了終端用戶與定制生產控制系統的互聯互通,進而實現了定制化生產全流程的自動化。同時該系統還利用微信小程序為終端用戶提供了簡潔直觀的信息定制服務,讓用戶在提交定制信息的同時,也能夠實時看到定制產品的成品預覽圖與生產進度,提升了用戶體驗與產品制造的透明度。另外,小程序的定制模板可隨產品生命周期進行靈活調整。該系統以激光刻字定制產品為案例進行實驗,并對于該系統數據傳輸的實時性進行了分析。實驗結果證明,該系統能夠在10 s內完成從提交定制信息到啟動定制生產線的物聯網通信流程,具有可行性和良好的實時性;同時定制化生產全流程無需人員參與,能夠提高生產效率和降低人力成本。
基于物聯網的工業定制化生產系統框架如圖1所示,該系統主要由五部分組成:機械臂及工控機、可編程邏輯控制器(Programmable Logic Controller,PLC)、工業物聯網模塊、云平臺、微信小程序。其中微信小程序面向終端用戶,通過移動互聯網與定制生產云平臺相連,用于上傳定制信息與查詢生產狀態;云平臺則負責存儲定制訂單信息,并實時地將訂單生產任務進行分解,隨后將分解后的生產任務分別發送至工控機與工業物聯網模塊;工業物聯網模塊一方面通過4G或WiFi與云平臺建立數據連接,另一方面通過工業以太網或現場總線與PLC相連,由此實現了工業生產線與云平臺的數據直連;PLC根據云平臺分配的生產任務,完成物料進出倉與流水線運行等控制工作;機械臂則負責完成定制信息的激光雕刻工作,其中定制信息通過工控機從云平臺獲取,并通過工控機完成運動軌跡的解算。

圖1 工業定制化生產系統框架圖
該系統方案主要具備以下優勢:(1)能夠實現工業定制化生產全流程的自動化,無需人員參與;(2)與定制化生產相關的程序集中在云平臺端,無需修改現場控制程序,便于維護和更新;(3)基于微信小程序的定制信息服務與移動互聯網技術緊密結合,高效便捷。系統各模塊的詳細介紹如下。
本文使用的機械臂是一款具有3自由度的智能協作機械臂,可以通過更換不同的功能模塊來執行激光雕刻和蝕刻、3D打印、雕刻/研磨、取放等任務。在本文搭建的定制化生產演示系統中,其作為定制化生產的執行機構,主要作用為利用其軌跡規劃和激光雕刻功能,實現定制化產品的雕刻工作。
機械臂控制器通過USB接口與工控機相連,通過I/O口與控制生產線中PLC相連,并實時檢測實驗臺I/O信號,實現機械臂與生產線聯動的聯動控制。同時機械臂通過工控機定時獲取和處理云平臺中的定制產品的數據信息,以實現定制產品的生產。
PLC是工業現場控制執行機構的關鍵設備[11],在該定制化生產系統中使用Siemens的S7-300CPU315-2PN/DP作為主站的控制器,主要作用是控制各從站的生產狀態,負責收集各從站PLC的訂單狀態數據并通過以太網利用物聯網模塊將數據上傳至云平臺;使用S7-200CPU226CN作為從站的控制器,主要作用是響應主站PLC的控制指令,對各定制化生產流程執行器進行控制,同時將工業設備的狀態數據經由RS485總線發送至主站PLC中,實現定制化流程的訂單跟蹤。
工業物聯網模塊是連接工業現場總線與云平臺的核心設備,該模塊需要支持RS485、以太網、WiFi和4G等通信方式。工業物聯網模塊通過云平臺接收的定制化生產指令,并將其轉發至PLC執行;另一方面,工業物聯網模塊也要周期性地采集PLC各寄存器的數據,并將其通過WiFi/4G等通信方式發送到云端數據庫,移動設備再從云平臺數據庫中下載數據,從而將PLC采集的數據信息實時傳輸給移動設備。通過工業物聯網模塊實現云平臺與PLC的直連,縮減了訂單管理與生產流程銜接過程中的人工確認和分配環節,能有效減少人力和管理成本。
本系統所采用的云平臺搭建于華為云服務器上,主要用于定制化生產流程中的數據存儲、轉換和傳輸。云平臺接收小程序端發送的定制生產數據,并將其存入云平臺數據庫中。定制生產數據經過功能分解后,將分別發送生產指令信息至工控機和工業物聯網模塊,用于控制機械臂和生產線的工作。另一方面,云平臺也定時接收并保存工業物聯網模塊所獲取的生產線狀態數據,這些數據還可在小程序端發起訂單查詢時使用。重要的是,批量定制訂單生產的管理與優化僅需在云平臺修改即可實現,無需修改工業現場模塊,便于實施與推廣。
微信小程序[12]是騰訊公司開發的一種全新的連接用戶與服務方式。該系統中微信小程序完成兩大功能:1)作為定制化信息上傳與下載的可視化端口,通過移動設備可聯網的屬性,利用WiFi/4G通信進行數據傳輸,建立與云平臺的連接。(2)作為訂單查詢和監控生產線狀態信息的可視化端口。小程序將定制信息采用圖片的形式上傳給云平臺,并且將實時讀取的云平臺中的生產線狀態信息反饋給用戶,使得用戶能實時跟蹤到生產狀態信息。
工業定制化生產系統軟件設計主要為機械臂控制程序設計、PLC控制程序設計、工業物聯網模塊設計、云平臺設計、微信小程序設計。微信小程序作為系統的可視化入口,用于發送和接收云平臺中的定制信息;機械臂控制程序接收到云平臺的控制信息后進行定制信息的處理;同時由PLC控制的生產線系統接收到定制信息后啟動生產線,進行定制產品的生產。通過以上的物聯網通信和協同控制,完成定制化生產過程。
機械臂與工控機相連,當云平臺中有需要打印的信息時,云平臺客戶端會定時將需要雕刻的消息隊列保存到工控機本地日志中。機械臂開始工作后就開始檢測實驗臺I/O的輸入信號,接收到信號表示工件已經就位,并停止生產線的傳送電機。工控機從服務器讀取需要加工的圖片,獲得的圖片經過處理后進行激光雕刻。加工完輸出結束信號,并給生產線PLC發送信號,啟動該流程的傳送電機送走已加工完成的定制化工件,并等待下一個開始信號。其工作流程如圖2所示。

圖2 機械臂工作流程圖
機械臂控制程序定時訪問保存在本地的定制日志內容,獲取圖片并處理得出像素平滑輪廓,轉化成機械臂工作需要的路徑PVT點并優化后作為激光雕刻加工的實際路徑。圖3為測試文字經過處理后的激光雕刻路徑。

圖3 圖片軌跡優化界面
同時,機械臂通過輸入的軌跡試教點,利用插補算法獲得運動學逆解,通過關節角控制和激光雕刻模塊,實現激光雕刻工作。軌跡規劃的常規流程如圖4所示。

圖4 軌跡規劃常規流程
本文工業定制化生產系統中系統控制分為主從站控制和主從站之間的通信。主站和從站PLC之間采用工業總線進行通信[13],各從站通過V變量寄存器作為中間變量,實現生產線中從站與主站的連接與通信過程。
S7-300作為整個系統的主站,需要其做好對各個從站的聯調聯控以及數據采集中轉。當生產線開始工作時,主站會定時檢測訂單信號,當有訂單信號到達時,生產線自動開始工作,定制產品自動從物料倉庫出倉,同時檢測下一站是否正常工作,到達檢測站時,若無其他訂單信號則自動停止上一工作站,其他工作站的工作情況類似,工作站的工作均受主站控制。通過各站點之間的聯動控制,若有連續訂單信號,但下一站工作未完成時,上一站則不會放行工件,避免發生沖突。主站PLC控制程序流程如圖5所示。

圖5 S7-300程序流程圖
S7-200利用V變量作為中間變量,將從站程序中需要傳輸控制的變量賦給變量存儲器,再通過工業總線傳輸給主站;主站將該變量轉化成輸入量,執行程序后得到輸出量后再進行變量轉化,發送回從站程序中并進行控制。
站之間的通信程序也寫在主站PLC程序里面,例如物件檢測單元中檢測到托盤,在從站程序中I0.1的電位由‘0’變‘1’,V3.0的電位也由‘0’變‘1’。V3.0傳輸到主站程序中對應I5.0變量,執行程序段后,Q3.0的電位也由‘0’變‘1’,Q3.0對應的V1.0傳輸到物件檢測單元,電磁吸鐵Q0.2失電復位。這個通信過程的作用是當下一站在加工時,上一站不能往下一站傳送加工工件,必須將工件阻攔在上站。
工業物聯網模塊的軟件配置工作包含工業數據采集和工業遠程通信網關兩個部分。將工業物聯網模塊接入到電腦,在瀏覽器中登錄其默認地址192.168.23.1進入用戶界面,通過LAN配置中網關配置IP地址,選擇網管配置,點擊選擇啟用;上傳固件后打開采集器配置程序,選擇打開目標工程,就可以編輯配置物聯網模塊對應的采集器編號信息。相關參數配置如圖6所示。

圖6 采集器配置
工業數據采集模塊通過Modbus-TCP協議通信方式接入到定制生產線的PLC(S7-300)中,并實時讀取和采集定制生產線中PLC采集的各種信號。通過工業遠程通信模塊生成出對應的文本文件并將日志打包后發送到服務器中,利用HTTP協議與云平臺進行對接,通過WiFi/4G上傳到平臺服務器中。
云平臺從Web頁面登入后可以通過物聯通信網關對設備進行遠程控制。用戶連接后會在本地分配一張虛擬網卡的IP地址,同時創建VPN路由到服務器,再由服務器下發地址及路由信息到網關中,網關根據對應的信息與客戶端間搭建起對應的VPN通道。
構建好VPN通道后,平臺通過HTTP協議定時接收定制小程序端發送的JSON格式數據(數據包含了發送的訂單編號、文字、定制模板編號、用戶個人信息等數據),并將數據包解壓后存入云平臺的Oracle數據庫中。數據庫字段信息如圖7所示。

圖7 數據庫字段
同時,云平臺通過工控機的客戶端定時發送HTTP POST請求,獲取用戶的訂單信息,并下載到本地日志中,用于機械臂控制程序的讀取。
物聯網模塊中利用Modbus-TCP協議通信方式與S7-300 PLC進行在線通信,根據不同的訂單用戶獲取對應點位的數值,終端設備的程序會生成出對應的文本文件并將日志打包后發送到服務器中,服務器會將數據包處理完成后將數據入庫。當用戶在小程序監控頁面查詢相應訂單時,通過訂單號的匹配,實現生產線狀態和小程序端監測狀態的動態更新。
微信小程序是終端用戶提交定制信息的可視化入口,同時生產狀態也可以實時在微信小程序上顯示,圖8為小程序設計的框架圖。

圖8 定制化生產的小程序設計框架圖
如圖9所示,用戶利用微信“掃一掃”功能作為入口,掃描定制小程序二維碼,完成定制信息填寫后上傳。小程序將確認后的定制產品信息組成JSON格式,并寫入必要的參數(如URL、data、header等),由wx.request發起HTTP請求上傳到云平臺數據庫。

圖9 定制化生產信號流圖
小程序通過wx.uploadFile上傳定制信息,POST上傳的表單可包含文件及其他鍵值數據。小程序利用此方法將定制信息傳給后臺服務器,服務器則通過文件流獲取定制信息。
小程序提交定制信息界面如圖10所示。

圖10 小程序的定制信息界面
為了驗證本文所設計的工業定制化生產系統的可行性,該系統被部署于激光刻字定制產品的演示生產線中。終端用戶在微信小程序上選擇喜歡的模板、編輯個性定制的文字后,通過該系統物聯網通信和定制化控制程序的支持后,機械臂便能夠與生產線配合完成定制文字的雕刻工作。機械臂激光雕刻演示如圖11所示。

圖11 機械臂激光雕刻演示
另一方面,生產線的當前狀態能夠通過工業物聯網模塊上傳到云平臺,用戶可以通過小程序訂單查詢界面實時查看定制物品的生產狀態。小程序生產流程查詢頁面如圖12所示。

圖12 小程序生產流程查詢頁面
為了本系統數據傳輸的實時性,通過程序分別標記訂單信息上傳時間與生產線接收時間,兩者時間差就是該系統上傳定制信息的時延。在進行50次實驗條件下,獲取數據時延如圖13所示。

圖13 小程序發送定制數據時延
類似地,通過程序分別記錄訂單信息完成時間與生產線工作結束時間,兩者時間差就是該系統返回生產狀態數據的時延。在進行50次實驗條件下,獲得數據時延如圖14所示。

圖14 小程序接收生產狀態數據時延
從圖13和圖14中可以看出,本文所設計的工業定制化生產系統能夠在較短時延內完成定制信息上傳與生產狀態數據的反饋。具體而言,上傳定制信息的時延在3.5 s左右,而接收生產狀態的時延在7.5 s左右。
定制信息傳輸的時延受到以下三個因素的影響:網絡傳輸時延、數據處理時間、查詢等待時延。網絡傳輸時延則取決于物聯網通信的帶寬和數據擁塞情況;數據處理時延則取決于小程序和服務器的算法復雜度;查詢等待時延則受到數據查詢周期的影響,采用低查詢周期或主動推送的模式可以減少這部分時延。
本實驗中上傳定制信息和接收生產狀態的時延差異主要是受到查詢等待時延的影響。但整體而言,總體時延都被嚴格控制在12 s以內。現有大多數定制化生產方案需要人工介入,從提交定制信息到生產執行的等待時間通常長達數小時。相比之下,本文所述系統在實時性上具有明顯的優勢。
本文設計并實現了基于物聯網的工業定制化生產系統,該系統通過工業物聯網和云平臺等技術實現了終端用戶與定制生產控制系統的互聯互通;同時,利用微信小程序技術為終端用戶提供了簡潔直觀的信息定制服務,并能夠查看定制產品的成品預覽圖與生產進度。該系統以激光刻字定制產品為案例進行了實驗,通過實驗證明了該系統能夠在10 s內完成從提交定制信息到啟動定制生產線的物聯網通信流程,具有可行性和良好的實時性,能夠有效提高生產效率和降低人力成本。