田 禛,王明睿,劉振國,郭 瑞,呂開旺
(1.北京機械工業自動化研究所,北京 100120;2.北京機械工業自動化研究所有限公司,北京 100120)
CPS在工業軟件方面要求實現企業全生命周期的模塊化、代碼化、工具化,打造可復制的解決方案。以微服務架構為基礎的MES,可實現不同的應用使用相同的微服務,模塊化、組件化的微服務使得MES具有可移植、可擴展、快速部署、成本低以及各階段可迭代開發等優勢,適用于需求不斷增加的制造業企業。
MES主要負責監控車間的生產情況和車間生產的調度執行,其屬于執行層,在計劃層和現場自動化系統之間。所以MES既可以對其上層(計劃管理層)系統進行連接,比如與ERP、APS相連接,也可以與下層的生產設備聯機。由于MES的居中控制與協調,實現了其上層和下層的雙向信息流通,形成了一條完整的信息流,實現了把各個系統的調度命令傳達到設備端,而且設備端的數據和狀態也能反饋給相應系統,使企業實現完整的閉環生產。
本文以筆筒智能裝配生產線為例展開MES建模、排產和接口研究,系統主要包括對金屬筆筒和活性炭筆筒兩種筆筒進行裝配生產,裝配流程主要有激光打碼、壓裝、拼接和包裝4種工序。根據兩種筆筒的原材料、工序流程、裝配設備進行MES的建模,根據兩種筆筒的訂單需求安排合理的排產方案,根據智能裝配生產線的業務要素設計出MES與SCADA的接口方案。
首先在MES系統訂單明細頁面中錄入產品(筆筒)、數量、交貨日期等信息,然后確認信息。ERP系統生成筆筒生產的任務,自動列出加工筆筒所需工序及需要原材料的數量,將執行任務下達,自動完成有限能力計劃編制與下發。
在有限能力計劃下發時,MES系統自動生成工序領料單、生產領料單,同時產生配送單。生產領料單產生后,MES自動編制車間生產領料出庫單,觸發接口將出庫數據(出入庫標記為O、出入庫狀態標記為N、貨位、出庫單號、托盤號)發送給SCADA。SCADA收到出庫數據后,執行機械手動作,將原材料托盤從緩存庫中取出放置于工作臺上,此時完成出庫操作,將出庫狀態改為Y,調用MES出庫記賬程序。
隨后PLC識別托盤上的RFID,把讀取的數據傳遞給MES,MES執行分揀程序。執行完分揀程序,觸發接口將配送數據發送給SCADA。SCADA收到配送信息后指揮機械手自動執行分揀作業,將原材料放置在AGV小車上,AGV依照SCADA傳輸的指令進行配送。當AGV小車到達指定工作中心時,調用MES物料送達確認程序。
完成裝配后進行質檢,當各工作中心完成生產作業后,將數據傳入MES自動報工表,后續由MES生成報工單,記錄托盤號、任務號、工序號、設備、報工信息。
最后終檢,AGV將產成品送至指定位置就位,人工取下產品進行終檢作業,做外觀與標簽檢測,在MES中記錄終檢結果并完工入庫。任務工序流程圖如圖1所示。

圖1 任務工序流程圖
創建設備模型,設備模型信息包括設備類型、設備編碼、名稱、所屬工作中心。按照實驗室規劃,定義激光雕刻設備、壓裝設備、拼接設備、包裝設備4個設備臺套,設備模型如表1所示。

表1 設備模型
物料是MES系統的基本管理對象,物料建模包含物料編碼、物料名稱、基本計量單位、專用分類、普通分類、有效標記、工藝號、排工序計劃、質量跟蹤方式等內容,如表2所示。

表2 物料表
對金屬筆筒及活性炭筆筒的制造BOM進行建模,分別定義兩類筆筒的制造BOM結構,并根據制造BOM結構,結合生產工藝過程,定義產品生產線工序物料清單與領料BOM,描述產成品與生產線上各工序裝配零部件直接的關系、各零部件定額等。金屬筆筒及活性炭筆筒的BOM結構如圖1、圖2所示,工藝路線詳細描述每一種物料制造過程的文件,包括要進行的加工及其順序,具體包含生產工序、加工路徑、加工方法等,其工藝路線及模型如圖3~圖5所示。

圖2 金屬筆筒BOM圖

圖3 活性炭筆筒BOM圖

圖4 金屬筆筒工藝路線圖

圖5 活性炭工藝路線圖
緩存庫分為成品庫和原材料庫,有4個貨區,一共16個貨位,有A、B、C、D四個貨區定義、托盤定義及庫存實際物理存儲模型如表3所示。

表3 立體庫實際物理存儲圖
2.5.1 基于生產節拍的準時生產算法
因為本系統的產品類型相對固定,生產線自動化程度及生產節拍高,原材料由AGV直接配送到每個加工工位,生產過程嚴格按照生產節拍生產,所以采用了基于生產節拍的準時生產計劃算法。
準時制生產的特點是在有任務需求時,按需要的量,生產需要的產品。期望達到零庫存、低成本的理想管理模式,在生產過程中前一個工序的任務是按照后面工序的需求確定的,每個工序緊密相連,系統沒有等待加工的人工和設備。此方法壓縮了生產周期,提高了生產效率。具體步驟如下:
設n為要生產的產品總數,dp,p=1,2,…,n為第p個產品的交貨期,產品p在工序i的裝配時間為tplk,i=1,2,…,m,任務同時到達。決策內容是確定產品p的完成時間Fp。設Ep和Tp分別為任務p的提前時間和拖延時間,則Ep和Tp定義為:

令αp,βp分別為產品因提前生產而導致庫存費用和拖期生產而帶來的懲罰費用,則對于任意排產方式,E/T問題的目標函數為:

通過最小化目標函數的取值,即:

就可以找到對應的排產方式s以最大化做到準時生產。
本系統為解決以上問題,設計了相應的遺傳算法,采用基于產品編號隨機全排列的編碼方法,和相應的解碼方法,基于目標函數設計相應的適應度函數,采用個體隨機配對的方式進行交叉操作和變異操作,并采用輪盤賭的方式來選擇個體,通過多次迭代輸出最優結果,具體步驟如圖6所示:

圖6 基于遺傳算法的準時生產排產步驟
綜上算法流程圖如圖7所示。

圖7 算法流程圖
2.5.2 基于有限資源的單件柔性裝配算法
單件柔性裝配適合產品單件裝配的生產方式,本系統生產線即為每次完成單個筆筒的加工和裝配。為了滿足生產線適應多變的生產計劃以及通過系統控制程序切換和工藝自動調整來實現個性定制產品生產,故采用了基于有限資源的單件柔性裝配算法。
進行柔性裝配的目的是將幾個獨立的生產單元聯合起來,在產品裝配過程中能夠根據實際生產能力靈活調整生產計劃實現單間產品在各個工位有序的流轉,達到提升裝配產能、縮短裝配周期的目的。
在裝配車間,最終產品A-金屬筆筒出廠之前需要由部件B-金屬圓管、C-金屬方管和D-金屬底板經過A10-激光打碼、A20-壓裝、A30-包裝三個裝配工位進行組裝,每個加工工位有其固定的生產節拍。所以部件B和C也按照其相應的裝配節拍進行加工,這樣產品A的產出就能保持一個固定的節拍。以產品A的產出時間進行倒推就可以制作出各部件在每個工位上的裝配計劃。圖8所示為本系統柔性裝配現場模擬示意圖,每個訂單產品以“一個流”的生產模式在各工位上以固定的節拍順序流轉。

圖8 柔性裝配現場模擬示意圖
本系統為了實現對多條生產線之間的關聯及每條生產線的不同裝配工位數量,尋找每條生產線的最優開始加工時間方案使得最終排產后時間最小。選擇采用遺傳算法計算最佳的排產方案。具體步驟如圖9所示,流程圖如圖10所示。

圖9 基于遺傳算法的單件柔性生產排產算法步驟

圖10 基于遺傳算法的單件柔性生產排產算法流程圖
智能裝配生產線通過系統集成,形成系統對業務層的實時控制,打通系統之間的壁壘,實現數據在MES系統與智能產線之間的交流與傳遞,從而達到計劃、物料、控制、反饋和調整的完整閉環管理作用。
MES系統與其他系統間接口集成采用成熟穩定的數據傳輸技術與DBLINK數據庫連接,MES系統向對方提供一個接口,用于存放生產線向MES提供的XML(JSON)格式數據,系統再對接收到的XML格式數據進行解析、處理并備份。
3.1.1 出入庫集成解決方案
入庫時首先錄入出入庫單信息(接收單號、托盤號、批號),貨區、貨位由MES系統根據當前庫存中空著的貨區、貨位自動帶出。然后通過web-service接口觸發物料機器人執行出入庫操作,將出入庫信息(出入庫標記、出入庫狀態、貨區、貨位、入庫單號、托盤號)傳遞給SCADA系統。
物料機器人完成出入庫作業后,恢復到原點位置,物料機器人按數據先后順序掃描出入庫接口表單,找到出入庫狀態為未執行的入庫指令時,指示燈閃爍提示當前物料機器人等待放置原材料出入庫,待工作人員將原材料放置于物料機器人工作臺上,物料機器人通過RFID識別到有托盤,啟動堆垛動作。
物料機器人完成入庫操作后,通過連接MES數據庫,執行入庫記賬程序:根據臨時流水調用現有ERP記賬邏輯完成倉庫正式流水記賬,托盤定義中該倉儲托盤狀態更新為占用。
出庫時,MES系統自動執行工序領料單生成,產生生產領料單,同時產生物料配送單。
生產領料單產生后,MES自動編制車間生產領料出庫,產生出庫單,觸發接口將出庫數據發送給SCADA,SCADA收到出庫數據后,執行機械手動作,將原材料托盤從立體庫中取出放置于工作臺上,此時完成出庫操作將出庫狀態改為Y,調用MES出庫記賬程序,倉儲托盤狀態釋放。
3.1.2 出入庫集成接口方案
通過web-service方式,數據傳遞方向為MES系統→SCADA系統,SCADA系統發布數據接口,MES系統接收接口,將出庫指令傳給SCADA系統。
當MES自動編制生成出入庫單時,MES系統觸發調用SCADA接口,向SCADA系統傳輸出入庫數據。MES系統,調用SCADA接口,寫入給SCADA系統出入庫標記、出入庫狀態、貨位、出庫單號、托盤號,SCADA系統識別出庫指令后,機械手執行出庫操作。接口內容如表4所示。

表4 出入庫接口內容
3.1.3 出入庫記賬程序
通過數據庫直連,執行MES系統采購接收出入庫記賬程序,更新庫存信息完成出入庫記賬。物料機器人將原材料放置指定的貨區貨位中就位后,調用MES記賬程序。
入庫時,觸發inv_keep_accounts_cps_sp進行記賬:inv_keep_accounts_cps_sp(‘項目號’,‘當前操作人身份’,‘流水單號’),各參數要求如表3-2所示:
出庫時,執行原材料入庫記賬SP:inv_keep_accounts_curbill_sp('項目號','倉庫編碼','日期','人員編碼','默認值為Y',出庫單號(讀取生產領料單調用sp自動產生生產領料出庫單,含出庫單號))。參數要求如表5所示。

表5 入庫參數要求

表6 出庫參數要求
入庫搜索流水表程序如圖5所示。
SELECT BILL_NO為入庫單號,OTHER_BILL_NO為采購訂單號。
出庫搜索流水表程序如圖11所示。

圖11 入庫搜索流水表程序
3.2.1 分揀配送集成解決方案
PLC讀取托盤RFID后,調用MES分揀程序(寫入配送單信息:托盤號、數量、單據狀態)。MES執行完分揀程序,觸發接口將配送數據(配送單號、托盤號、目的工作中心)發送給SCADA。

圖12 出庫搜索流水表程序
SCADA收到配送信息后指揮機械手自動執行分揀作業,將原材料放置AGV小車上,AGV依照SCADA傳輸的指令進行配送,當AGV小車到達指定工作中心時,調用MES物料送達確認程序。
3.2.2 分揀配送作業邏輯
物料分揀裝盤邏輯SP:mem_send_confirm_sp (‘產品號’,’用戶號’,’配送單號’,)。
物料分揀裝盤邏輯:配送單的默認單據狀態為N。當配送單的分揀數量小于需求數量時,將單據狀態由N變為S,并且按照SP中的規則產生新的配送單號,新的配送單的單據狀態為N。若配送單上的分揀數量大于或等于需求數量,那么將單據狀態變更為S后,不再產生新的配送單。
分揀程序:讀取托盤RFID后,SCADA調用MES分揀程序,將工序領料生成產生的配送單進行處理,分揀程序參數獲取如表7所示。

表7 分揀程序參數
MES執行完物料分揀程序后,觸發接口將配送數據發送給SCADA.當AGV小車到達指定工作中心時,調用MES物料送達確認程序,配送托盤狀態被釋放。調用物料送達確認SP存儲程序 mem_send_confirm_sp (‘項目號’,’用戶唯一碼’,’配送單號’)。接口內容如表8所示。

表8 分揀配送接口內容
搜索流水表程序如圖13所示。

圖13 搜索流水表程序
由智能裝配生產線的運行流程結合筆筒的生產,設定裝配生產線的仿真運行實驗,首先使用ERP系統進行筆筒的下單,下單后把生產計劃發送至MES系統,MES系統中任務來自于任務接收如圖14所示。

圖14 生產線任務接收
MES系統中物料分揀配送查詢于工序領料單明細頁面,如圖15所示。顯示詳細物料配送信息包含配送的物料、工作中心、工序和數量等。

圖15 生產線作業物料揀選單
精整工藝路線工序明細如圖16所示。此處以該工序為例,展示工序的基礎數據定義,包括報工方式、加工資源、定額工時等。

圖16 工藝路線工序明細
MES系統中任務優先級計算及調整于有限能力參數設置頁面中,有限能力參數設置如圖17所示。根據任務的優先級參數排任務的優先排產順序,本次模擬的任務第一優先級為按任務的計劃完工日期,第二優先級為具備相同的工藝路線號,第三優先級為具備相同的成組工藝,第四優先級為按任務數量大優先。

圖17 有限能力參數設置
MES系統中模擬有限能力計劃編制如圖18所示。先按照任務優先級級、工作中心生產資源編制模擬有限能力計劃。

圖18 模擬有限能力計劃編制
MES系統中模擬有限能力計劃確認如圖19所示。將模擬計劃進行確認,產生確認的模擬計劃,刪除未確認的模擬計劃。

圖19 模擬有限能力計劃確認
物料出入庫及配送情況如圖20所示。物料的分揀作業情況如圖21所示。

圖20 物料出入庫及配送情況

圖21 物料的分揀作業情況
通過結果可以看出,本系統實現了由MES一鍵下單進行智能出入庫管理和進行金屬筆筒及活性炭筆筒兩種不同物料的排產作業。MES系統提高了車間各系統之間的連通性及各系統之間數據傳輸的實時性,實現了生產線的流程化、智能化、信息化水平提升,同時強化了產品的品質管控。