田 禛,王明睿,劉振國,郭 瑞,呂開旺
(1.北京機(jī)械工業(yè)自動(dòng)化研究所,北京 100120;2.北京機(jī)械工業(yè)自動(dòng)化研究所有限公司,北京 100120)
CPS在工業(yè)軟件方面要求實(shí)現(xiàn)企業(yè)全生命周期的模塊化、代碼化、工具化,打造可復(fù)制的解決方案。以微服務(wù)架構(gòu)為基礎(chǔ)的MES,可實(shí)現(xiàn)不同的應(yīng)用使用相同的微服務(wù),模塊化、組件化的微服務(wù)使得MES具有可移植、可擴(kuò)展、快速部署、成本低以及各階段可迭代開發(fā)等優(yōu)勢(shì),適用于需求不斷增加的制造業(yè)企業(yè)。
MES主要負(fù)責(zé)監(jiān)控車間的生產(chǎn)情況和車間生產(chǎn)的調(diào)度執(zhí)行,其屬于執(zhí)行層,在計(jì)劃層和現(xiàn)場(chǎng)自動(dòng)化系統(tǒng)之間。所以MES既可以對(duì)其上層(計(jì)劃管理層)系統(tǒng)進(jìn)行連接,比如與ERP、APS相連接,也可以與下層的生產(chǎn)設(shè)備聯(lián)機(jī)。由于MES的居中控制與協(xié)調(diào),實(shí)現(xiàn)了其上層和下層的雙向信息流通,形成了一條完整的信息流,實(shí)現(xiàn)了把各個(gè)系統(tǒng)的調(diào)度命令傳達(dá)到設(shè)備端,而且設(shè)備端的數(shù)據(jù)和狀態(tài)也能反饋給相應(yīng)系統(tǒng),使企業(yè)實(shí)現(xiàn)完整的閉環(huán)生產(chǎn)。
本文以筆筒智能裝配生產(chǎn)線為例展開MES建模、排產(chǎn)和接口研究,系統(tǒng)主要包括對(duì)金屬筆筒和活性炭筆筒兩種筆筒進(jìn)行裝配生產(chǎn),裝配流程主要有激光打碼、壓裝、拼接和包裝4種工序。根據(jù)兩種筆筒的原材料、工序流程、裝配設(shè)備進(jìn)行MES的建模,根據(jù)兩種筆筒的訂單需求安排合理的排產(chǎn)方案,根據(jù)智能裝配生產(chǎn)線的業(yè)務(wù)要素設(shè)計(jì)出MES與SCADA的接口方案。
首先在MES系統(tǒng)訂單明細(xì)頁面中錄入產(chǎn)品(筆筒)、數(shù)量、交貨日期等信息,然后確認(rèn)信息。ERP系統(tǒng)生成筆筒生產(chǎn)的任務(wù),自動(dòng)列出加工筆筒所需工序及需要原材料的數(shù)量,將執(zhí)行任務(wù)下達(dá),自動(dòng)完成有限能力計(jì)劃編制與下發(fā)。
在有限能力計(jì)劃下發(fā)時(shí),MES系統(tǒng)自動(dòng)生成工序領(lǐng)料單、生產(chǎn)領(lǐng)料單,同時(shí)產(chǎn)生配送單。生產(chǎn)領(lǐng)料單產(chǎn)生后,MES自動(dòng)編制車間生產(chǎn)領(lǐng)料出庫單,觸發(fā)接口將出庫數(shù)據(jù)(出入庫標(biāo)記為O、出入庫狀態(tài)標(biāo)記為N、貨位、出庫單號(hào)、托盤號(hào))發(fā)送給SCADA。SCADA收到出庫數(shù)據(jù)后,執(zhí)行機(jī)械手動(dòng)作,將原材料托盤從緩存庫中取出放置于工作臺(tái)上,此時(shí)完成出庫操作,將出庫狀態(tài)改為Y,調(diào)用MES出庫記賬程序。
隨后PLC識(shí)別托盤上的RFID,把讀取的數(shù)據(jù)傳遞給MES,MES執(zhí)行分揀程序。執(zhí)行完分揀程序,觸發(fā)接口將配送數(shù)據(jù)發(fā)送給SCADA。SCADA收到配送信息后指揮機(jī)械手自動(dòng)執(zhí)行分揀作業(yè),將原材料放置在AGV小車上,AGV依照SCADA傳輸?shù)闹噶钸M(jìn)行配送。當(dāng)AGV小車到達(dá)指定工作中心時(shí),調(diào)用MES物料送達(dá)確認(rèn)程序。
完成裝配后進(jìn)行質(zhì)檢,當(dāng)各工作中心完成生產(chǎn)作業(yè)后,將數(shù)據(jù)傳入MES自動(dòng)報(bào)工表,后續(xù)由MES生成報(bào)工單,記錄托盤號(hào)、任務(wù)號(hào)、工序號(hào)、設(shè)備、報(bào)工信息。
最后終檢,AGV將產(chǎn)成品送至指定位置就位,人工取下產(chǎn)品進(jìn)行終檢作業(yè),做外觀與標(biāo)簽檢測(cè),在MES中記錄終檢結(jié)果并完工入庫。任務(wù)工序流程圖如圖1所示。
圖1 任務(wù)工序流程圖
創(chuàng)建設(shè)備模型,設(shè)備模型信息包括設(shè)備類型、設(shè)備編碼、名稱、所屬工作中心。按照實(shí)驗(yàn)室規(guī)劃,定義激光雕刻設(shè)備、壓裝設(shè)備、拼接設(shè)備、包裝設(shè)備4個(gè)設(shè)備臺(tái)套,設(shè)備模型如表1所示。
表1 設(shè)備模型
物料是MES系統(tǒng)的基本管理對(duì)象,物料建模包含物料編碼、物料名稱、基本計(jì)量單位、專用分類、普通分類、有效標(biāo)記、工藝號(hào)、排工序計(jì)劃、質(zhì)量跟蹤方式等內(nèi)容,如表2所示。
表2 物料表
對(duì)金屬筆筒及活性炭筆筒的制造BOM進(jìn)行建模,分別定義兩類筆筒的制造BOM結(jié)構(gòu),并根據(jù)制造BOM結(jié)構(gòu),結(jié)合生產(chǎn)工藝過程,定義產(chǎn)品生產(chǎn)線工序物料清單與領(lǐng)料BOM,描述產(chǎn)成品與生產(chǎn)線上各工序裝配零部件直接的關(guān)系、各零部件定額等。金屬筆筒及活性炭筆筒的BOM結(jié)構(gòu)如圖1、圖2所示,工藝路線詳細(xì)描述每一種物料制造過程的文件,包括要進(jìn)行的加工及其順序,具體包含生產(chǎn)工序、加工路徑、加工方法等,其工藝路線及模型如圖3~圖5所示。
圖2 金屬筆筒BOM圖
圖3 活性炭筆筒BOM圖
圖4 金屬筆筒工藝路線圖
圖5 活性炭工藝路線圖
緩存庫分為成品庫和原材料庫,有4個(gè)貨區(qū),一共16個(gè)貨位,有A、B、C、D四個(gè)貨區(qū)定義、托盤定義及庫存實(shí)際物理存儲(chǔ)模型如表3所示。
表3 立體庫實(shí)際物理存儲(chǔ)圖
2.5.1 基于生產(chǎn)節(jié)拍的準(zhǔn)時(shí)生產(chǎn)算法
因?yàn)楸鞠到y(tǒng)的產(chǎn)品類型相對(duì)固定,生產(chǎn)線自動(dòng)化程度及生產(chǎn)節(jié)拍高,原材料由AGV直接配送到每個(gè)加工工位,生產(chǎn)過程嚴(yán)格按照生產(chǎn)節(jié)拍生產(chǎn),所以采用了基于生產(chǎn)節(jié)拍的準(zhǔn)時(shí)生產(chǎn)計(jì)劃算法。
準(zhǔn)時(shí)制生產(chǎn)的特點(diǎn)是在有任務(wù)需求時(shí),按需要的量,生產(chǎn)需要的產(chǎn)品。期望達(dá)到零庫存、低成本的理想管理模式,在生產(chǎn)過程中前一個(gè)工序的任務(wù)是按照后面工序的需求確定的,每個(gè)工序緊密相連,系統(tǒng)沒有等待加工的人工和設(shè)備。此方法壓縮了生產(chǎn)周期,提高了生產(chǎn)效率。具體步驟如下:
設(shè)n為要生產(chǎn)的產(chǎn)品總數(shù),dp,p=1,2,…,n為第p個(gè)產(chǎn)品的交貨期,產(chǎn)品p在工序i的裝配時(shí)間為tplk,i=1,2,…,m,任務(wù)同時(shí)到達(dá)。決策內(nèi)容是確定產(chǎn)品p的完成時(shí)間Fp。設(shè)Ep和Tp分別為任務(wù)p的提前時(shí)間和拖延時(shí)間,則Ep和Tp定義為:
令αp,βp分別為產(chǎn)品因提前生產(chǎn)而導(dǎo)致庫存費(fèi)用和拖期生產(chǎn)而帶來的懲罰費(fèi)用,則對(duì)于任意排產(chǎn)方式,E/T問題的目標(biāo)函數(shù)為:
通過最小化目標(biāo)函數(shù)的取值,即:
就可以找到對(duì)應(yīng)的排產(chǎn)方式s以最大化做到準(zhǔn)時(shí)生產(chǎn)。
本系統(tǒng)為解決以上問題,設(shè)計(jì)了相應(yīng)的遺傳算法,采用基于產(chǎn)品編號(hào)隨機(jī)全排列的編碼方法,和相應(yīng)的解碼方法,基于目標(biāo)函數(shù)設(shè)計(jì)相應(yīng)的適應(yīng)度函數(shù),采用個(gè)體隨機(jī)配對(duì)的方式進(jìn)行交叉操作和變異操作,并采用輪盤賭的方式來選擇個(gè)體,通過多次迭代輸出最優(yōu)結(jié)果,具體步驟如圖6所示:
圖6 基于遺傳算法的準(zhǔn)時(shí)生產(chǎn)排產(chǎn)步驟
綜上算法流程圖如圖7所示。
圖7 算法流程圖
2.5.2 基于有限資源的單件柔性裝配算法
單件柔性裝配適合產(chǎn)品單件裝配的生產(chǎn)方式,本系統(tǒng)生產(chǎn)線即為每次完成單個(gè)筆筒的加工和裝配。為了滿足生產(chǎn)線適應(yīng)多變的生產(chǎn)計(jì)劃以及通過系統(tǒng)控制程序切換和工藝自動(dòng)調(diào)整來實(shí)現(xiàn)個(gè)性定制產(chǎn)品生產(chǎn),故采用了基于有限資源的單件柔性裝配算法。
進(jìn)行柔性裝配的目的是將幾個(gè)獨(dú)立的生產(chǎn)單元聯(lián)合起來,在產(chǎn)品裝配過程中能夠根據(jù)實(shí)際生產(chǎn)能力靈活調(diào)整生產(chǎn)計(jì)劃實(shí)現(xiàn)單間產(chǎn)品在各個(gè)工位有序的流轉(zhuǎn),達(dá)到提升裝配產(chǎn)能、縮短裝配周期的目的。
在裝配車間,最終產(chǎn)品A-金屬筆筒出廠之前需要由部件B-金屬圓管、C-金屬方管和D-金屬底板經(jīng)過A10-激光打碼、A20-壓裝、A30-包裝三個(gè)裝配工位進(jìn)行組裝,每個(gè)加工工位有其固定的生產(chǎn)節(jié)拍。所以部件B和C也按照其相應(yīng)的裝配節(jié)拍進(jìn)行加工,這樣產(chǎn)品A的產(chǎn)出就能保持一個(gè)固定的節(jié)拍。以產(chǎn)品A的產(chǎn)出時(shí)間進(jìn)行倒推就可以制作出各部件在每個(gè)工位上的裝配計(jì)劃。圖8所示為本系統(tǒng)柔性裝配現(xiàn)場(chǎng)模擬示意圖,每個(gè)訂單產(chǎn)品以“一個(gè)流”的生產(chǎn)模式在各工位上以固定的節(jié)拍順序流轉(zhuǎn)。
圖8 柔性裝配現(xiàn)場(chǎng)模擬示意圖
本系統(tǒng)為了實(shí)現(xiàn)對(duì)多條生產(chǎn)線之間的關(guān)聯(lián)及每條生產(chǎn)線的不同裝配工位數(shù)量,尋找每條生產(chǎn)線的最優(yōu)開始加工時(shí)間方案使得最終排產(chǎn)后時(shí)間最小。選擇采用遺傳算法計(jì)算最佳的排產(chǎn)方案。具體步驟如圖9所示,流程圖如圖10所示。
圖9 基于遺傳算法的單件柔性生產(chǎn)排產(chǎn)算法步驟
圖10 基于遺傳算法的單件柔性生產(chǎn)排產(chǎn)算法流程圖
智能裝配生產(chǎn)線通過系統(tǒng)集成,形成系統(tǒng)對(duì)業(yè)務(wù)層的實(shí)時(shí)控制,打通系統(tǒng)之間的壁壘,實(shí)現(xiàn)數(shù)據(jù)在MES系統(tǒng)與智能產(chǎn)線之間的交流與傳遞,從而達(dá)到計(jì)劃、物料、控制、反饋和調(diào)整的完整閉環(huán)管理作用。
MES系統(tǒng)與其他系統(tǒng)間接口集成采用成熟穩(wěn)定的數(shù)據(jù)傳輸技術(shù)與DBLINK數(shù)據(jù)庫連接,MES系統(tǒng)向?qū)Ψ教峁┮粋€(gè)接口,用于存放生產(chǎn)線向MES提供的XML(JSON)格式數(shù)據(jù),系統(tǒng)再對(duì)接收到的XML格式數(shù)據(jù)進(jìn)行解析、處理并備份。
3.1.1 出入庫集成解決方案
入庫時(shí)首先錄入出入庫單信息(接收單號(hào)、托盤號(hào)、批號(hào)),貨區(qū)、貨位由MES系統(tǒng)根據(jù)當(dāng)前庫存中空著的貨區(qū)、貨位自動(dòng)帶出。然后通過web-service接口觸發(fā)物料機(jī)器人執(zhí)行出入庫操作,將出入庫信息(出入庫標(biāo)記、出入庫狀態(tài)、貨區(qū)、貨位、入庫單號(hào)、托盤號(hào))傳遞給SCADA系統(tǒng)。
物料機(jī)器人完成出入庫作業(yè)后,恢復(fù)到原點(diǎn)位置,物料機(jī)器人按數(shù)據(jù)先后順序掃描出入庫接口表單,找到出入庫狀態(tài)為未執(zhí)行的入庫指令時(shí),指示燈閃爍提示當(dāng)前物料機(jī)器人等待放置原材料出入庫,待工作人員將原材料放置于物料機(jī)器人工作臺(tái)上,物料機(jī)器人通過RFID識(shí)別到有托盤,啟動(dòng)堆垛動(dòng)作。
物料機(jī)器人完成入庫操作后,通過連接MES數(shù)據(jù)庫,執(zhí)行入庫記賬程序:根據(jù)臨時(shí)流水調(diào)用現(xiàn)有ERP記賬邏輯完成倉庫正式流水記賬,托盤定義中該倉儲(chǔ)托盤狀態(tài)更新為占用。
出庫時(shí),MES系統(tǒng)自動(dòng)執(zhí)行工序領(lǐng)料單生成,產(chǎn)生生產(chǎn)領(lǐng)料單,同時(shí)產(chǎn)生物料配送單。
生產(chǎn)領(lǐng)料單產(chǎn)生后,MES自動(dòng)編制車間生產(chǎn)領(lǐng)料出庫,產(chǎn)生出庫單,觸發(fā)接口將出庫數(shù)據(jù)發(fā)送給SCADA,SCADA收到出庫數(shù)據(jù)后,執(zhí)行機(jī)械手動(dòng)作,將原材料托盤從立體庫中取出放置于工作臺(tái)上,此時(shí)完成出庫操作將出庫狀態(tài)改為Y,調(diào)用MES出庫記賬程序,倉儲(chǔ)托盤狀態(tài)釋放。
3.1.2 出入庫集成接口方案
通過web-service方式,數(shù)據(jù)傳遞方向?yàn)镸ES系統(tǒng)→SCADA系統(tǒng),SCADA系統(tǒng)發(fā)布數(shù)據(jù)接口,MES系統(tǒng)接收接口,將出庫指令傳給SCADA系統(tǒng)。
當(dāng)MES自動(dòng)編制生成出入庫單時(shí),MES系統(tǒng)觸發(fā)調(diào)用SCADA接口,向SCADA系統(tǒng)傳輸出入庫數(shù)據(jù)。MES系統(tǒng),調(diào)用SCADA接口,寫入給SCADA系統(tǒng)出入庫標(biāo)記、出入庫狀態(tài)、貨位、出庫單號(hào)、托盤號(hào),SCADA系統(tǒng)識(shí)別出庫指令后,機(jī)械手執(zhí)行出庫操作。接口內(nèi)容如表4所示。
表4 出入庫接口內(nèi)容
3.1.3 出入庫記賬程序
通過數(shù)據(jù)庫直連,執(zhí)行MES系統(tǒng)采購接收出入庫記賬程序,更新庫存信息完成出入庫記賬。物料機(jī)器人將原材料放置指定的貨區(qū)貨位中就位后,調(diào)用MES記賬程序。
入庫時(shí),觸發(fā)inv_keep_accounts_cps_sp進(jìn)行記賬:inv_keep_accounts_cps_sp(‘項(xiàng)目號(hào)’,‘當(dāng)前操作人身份’,‘流水單號(hào)’),各參數(shù)要求如表3-2所示:
出庫時(shí),執(zhí)行原材料入庫記賬SP:inv_keep_accounts_curbill_sp('項(xiàng)目號(hào)','倉庫編碼','日期','人員編碼','默認(rèn)值為Y',出庫單號(hào)(讀取生產(chǎn)領(lǐng)料單調(diào)用sp自動(dòng)產(chǎn)生生產(chǎn)領(lǐng)料出庫單,含出庫單號(hào)))。參數(shù)要求如表5所示。
表5 入庫參數(shù)要求
表6 出庫參數(shù)要求
入庫搜索流水表程序如圖5所示。
SELECT BILL_NO為入庫單號(hào),OTHER_BILL_NO為采購訂單號(hào)。
出庫搜索流水表程序如圖11所示。
圖11 入庫搜索流水表程序
3.2.1 分揀配送集成解決方案
PLC讀取托盤RFID后,調(diào)用MES分揀程序(寫入配送單信息:托盤號(hào)、數(shù)量、單據(jù)狀態(tài))。MES執(zhí)行完分揀程序,觸發(fā)接口將配送數(shù)據(jù)(配送單號(hào)、托盤號(hào)、目的工作中心)發(fā)送給SCADA。
圖12 出庫搜索流水表程序
SCADA收到配送信息后指揮機(jī)械手自動(dòng)執(zhí)行分揀作業(yè),將原材料放置AGV小車上,AGV依照SCADA傳輸?shù)闹噶钸M(jìn)行配送,當(dāng)AGV小車到達(dá)指定工作中心時(shí),調(diào)用MES物料送達(dá)確認(rèn)程序。
3.2.2 分揀配送作業(yè)邏輯
物料分揀裝盤邏輯SP:mem_send_confirm_sp (‘產(chǎn)品號(hào)’,’用戶號(hào)’,’配送單號(hào)’,)。
物料分揀裝盤邏輯:配送單的默認(rèn)單據(jù)狀態(tài)為N。當(dāng)配送單的分揀數(shù)量小于需求數(shù)量時(shí),將單據(jù)狀態(tài)由N變?yōu)镾,并且按照SP中的規(guī)則產(chǎn)生新的配送單號(hào),新的配送單的單據(jù)狀態(tài)為N。若配送單上的分揀數(shù)量大于或等于需求數(shù)量,那么將單據(jù)狀態(tài)變更為S后,不再產(chǎn)生新的配送單。
分揀程序:讀取托盤RFID后,SCADA調(diào)用MES分揀程序,將工序領(lǐng)料生成產(chǎn)生的配送單進(jìn)行處理,分揀程序參數(shù)獲取如表7所示。
表7 分揀程序參數(shù)
MES執(zhí)行完物料分揀程序后,觸發(fā)接口將配送數(shù)據(jù)發(fā)送給SCADA.當(dāng)AGV小車到達(dá)指定工作中心時(shí),調(diào)用MES物料送達(dá)確認(rèn)程序,配送托盤狀態(tài)被釋放。調(diào)用物料送達(dá)確認(rèn)SP存儲(chǔ)程序 mem_send_confirm_sp (‘項(xiàng)目號(hào)’,’用戶唯一碼’,’配送單號(hào)’)。接口內(nèi)容如表8所示。
表8 分揀配送接口內(nèi)容
搜索流水表程序如圖13所示。
圖13 搜索流水表程序
由智能裝配生產(chǎn)線的運(yùn)行流程結(jié)合筆筒的生產(chǎn),設(shè)定裝配生產(chǎn)線的仿真運(yùn)行實(shí)驗(yàn),首先使用ERP系統(tǒng)進(jìn)行筆筒的下單,下單后把生產(chǎn)計(jì)劃發(fā)送至MES系統(tǒng),MES系統(tǒng)中任務(wù)來自于任務(wù)接收如圖14所示。
圖14 生產(chǎn)線任務(wù)接收
MES系統(tǒng)中物料分揀配送查詢于工序領(lǐng)料單明細(xì)頁面,如圖15所示。顯示詳細(xì)物料配送信息包含配送的物料、工作中心、工序和數(shù)量等。
圖15 生產(chǎn)線作業(yè)物料揀選單
精整工藝路線工序明細(xì)如圖16所示。此處以該工序?yàn)槔?,展示工序的基礎(chǔ)數(shù)據(jù)定義,包括報(bào)工方式、加工資源、定額工時(shí)等。
圖16 工藝路線工序明細(xì)
MES系統(tǒng)中任務(wù)優(yōu)先級(jí)計(jì)算及調(diào)整于有限能力參數(shù)設(shè)置頁面中,有限能力參數(shù)設(shè)置如圖17所示。根據(jù)任務(wù)的優(yōu)先級(jí)參數(shù)排任務(wù)的優(yōu)先排產(chǎn)順序,本次模擬的任務(wù)第一優(yōu)先級(jí)為按任務(wù)的計(jì)劃完工日期,第二優(yōu)先級(jí)為具備相同的工藝路線號(hào),第三優(yōu)先級(jí)為具備相同的成組工藝,第四優(yōu)先級(jí)為按任務(wù)數(shù)量大優(yōu)先。
圖17 有限能力參數(shù)設(shè)置
MES系統(tǒng)中模擬有限能力計(jì)劃編制如圖18所示。先按照任務(wù)優(yōu)先級(jí)級(jí)、工作中心生產(chǎn)資源編制模擬有限能力計(jì)劃。
圖18 模擬有限能力計(jì)劃編制
MES系統(tǒng)中模擬有限能力計(jì)劃確認(rèn)如圖19所示。將模擬計(jì)劃進(jìn)行確認(rèn),產(chǎn)生確認(rèn)的模擬計(jì)劃,刪除未確認(rèn)的模擬計(jì)劃。
圖19 模擬有限能力計(jì)劃確認(rèn)
物料出入庫及配送情況如圖20所示。物料的分揀作業(yè)情況如圖21所示。
圖20 物料出入庫及配送情況
圖21 物料的分揀作業(yè)情況
通過結(jié)果可以看出,本系統(tǒng)實(shí)現(xiàn)了由MES一鍵下單進(jìn)行智能出入庫管理和進(jìn)行金屬筆筒及活性炭筆筒兩種不同物料的排產(chǎn)作業(yè)。MES系統(tǒng)提高了車間各系統(tǒng)之間的連通性及各系統(tǒng)之間數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性,實(shí)現(xiàn)了生產(chǎn)線的流程化、智能化、信息化水平提升,同時(shí)強(qiáng)化了產(chǎn)品的品質(zhì)管控。