金航數(shù)碼科技有限責(zé)任公司 程思遙 張倫彥
針對(duì)目前航空制造企業(yè)MES系統(tǒng)現(xiàn)場(chǎng)執(zhí)行過(guò)程管理存在的問題,從可配置性、控制邏輯和操作便捷性等方面對(duì)工序流引擎的需求進(jìn)行了分析,給出了工序流引擎的基于組件化的體系結(jié)構(gòu)設(shè)計(jì)、工序流轉(zhuǎn)的控制邏輯及管理工具設(shè)計(jì)方案,并對(duì)工序流引擎在某數(shù)字化COE項(xiàng)目中的應(yīng)用情況進(jìn)行了介紹。
航空制造企業(yè)車間生產(chǎn)管理本身的復(fù)雜性和多變性,決定了開發(fā)與實(shí)施MES時(shí),須解決數(shù)據(jù)量大、業(yè)務(wù)流程多樣化、用戶差異性顯著以及二次開發(fā)量大等問題。目前MES大都強(qiáng)調(diào)了生產(chǎn)現(xiàn)場(chǎng)的即時(shí)數(shù)據(jù)采集、監(jiān)督及控制,但在進(jìn)行系統(tǒng)開發(fā)時(shí),程序控制邏輯和業(yè)務(wù)流程綁定過(guò)于緊密,這導(dǎo)致了系統(tǒng)不夠靈活,難以及時(shí)響應(yīng)需求變更,這一問題在大量涉及工序流轉(zhuǎn)邏輯控制的計(jì)劃執(zhí)行主線部分尤為明顯。
為了解決目前MES開發(fā)中存在的問題,本文提出了一種工序流引擎技術(shù),為車間現(xiàn)場(chǎng)執(zhí)行過(guò)程中的工序流轉(zhuǎn)提供底層支撐,同時(shí)作為一個(gè)開放式可定制的平臺(tái)提供給用戶,使其具有通過(guò)配置工藝路線模型來(lái)靈活調(diào)整工序流轉(zhuǎn)控制邏輯的能力,從而適應(yīng)現(xiàn)代企業(yè)經(jīng)營(yíng)過(guò)程管理的持續(xù)改善對(duì)MES功能的需求。
1.MES在現(xiàn)場(chǎng)執(zhí)行管理中存在的問題
作為典型的離散型制造企業(yè),航空制造企業(yè)的MES需要針對(duì)不同生產(chǎn)方式的車間和多種類零部件的生產(chǎn)過(guò)程進(jìn)行管理,面向的是復(fù)雜的工藝路線和多變的現(xiàn)場(chǎng)執(zhí)行業(yè)務(wù)控制邏輯。航空制造企業(yè)現(xiàn)場(chǎng)制造執(zhí)行過(guò)程的復(fù)雜性和多變性表現(xiàn)在以下幾方面。
(1)生產(chǎn)零部件種類及其工藝路線眾多,由于車間生產(chǎn)現(xiàn)場(chǎng)管理流程和工序工藝要求的差異,對(duì)各工序的派工、開完工數(shù)據(jù)采集和質(zhì)量檢驗(yàn)條件的控制需求也是不同的,主要包括:①工作下達(dá)和分派策略不同,例如按工序順序派工、按流卡多工序批量派工等;②工序間約束關(guān)系不同,例如有些簡(jiǎn)單的、加工周期短的工序,在進(jìn)行開完工采集時(shí)可批量采集,以減輕工人錄入采集數(shù)據(jù)的工作量,而對(duì)一些關(guān)鍵工序,則要求其完工檢驗(yàn)之后,才允許后續(xù)工序進(jìn)行開完工;③質(zhì)量控制要求不同,例如一些普通工序不需檢驗(yàn),而有些關(guān)鍵工序可能需要工長(zhǎng)、檢驗(yàn)員甚至駐廠軍代表等的多次檢驗(yàn)和確認(rèn)等。
(2)執(zhí)行過(guò)程中的變化和例外情況多,其生產(chǎn)狀態(tài)受到外部需求的影響更為明顯,主要包括零組件在管理方式不同的分廠、車間和工段間的周轉(zhuǎn)、外協(xié);一些工序?qū)υ牧线M(jìn)行切分(截料)導(dǎo)致的加工數(shù)量變化;以及質(zhì)量問題導(dǎo)致的報(bào)廢、降級(jí)使用,停工待處理以及返工返修;計(jì)劃變更導(dǎo)致的流水卡片拆分合并、零件號(hào)變更等,這些都有可能導(dǎo)致執(zhí)行控制邏輯的變化、工藝路線的調(diào)整和加工數(shù)量的變化。
以傳統(tǒng)模式開發(fā)的MES在不同車間、不同企業(yè)進(jìn)行實(shí)施時(shí),以上差異和變化帶來(lái)了大量的二次定制化開發(fā)工作,降低了對(duì)需求變更的響應(yīng)速度,造成了MES產(chǎn)品難以推廣,系統(tǒng)模塊復(fù)用率低,實(shí)施周期長(zhǎng)、成本高等弊端。
為了解決這些問題,離散制造業(yè)的制造執(zhí)行系統(tǒng)應(yīng)具有更高的適應(yīng)性和可配置性。然而,目前相關(guān)研究尚未受到足夠重視。近年來(lái),國(guó)內(nèi)外研究者在如何提高M(jìn)ES組件化、可配置方面開展了部分研究,包括采用基于CORBA的分布式技術(shù)來(lái)提高M(jìn)ES與其他系統(tǒng)的互操作性,提出基于組件的可重構(gòu)執(zhí)行系統(tǒng)、可適應(yīng)制造執(zhí)行系統(tǒng)、基于構(gòu)件復(fù)用技術(shù)的MES體系結(jié)構(gòu),以及結(jié)合組件技術(shù)、SOA和BPM技術(shù)的開放式MES集成體系等。這些研究大部分著眼于通過(guò)信息技術(shù)改善MES的可集成性和模塊級(jí)的可重構(gòu)性, 而缺少對(duì)MES現(xiàn)場(chǎng)執(zhí)行的核心業(yè)務(wù)過(guò)程的提煉,難以對(duì)工藝路線乃至工序?qū)哟蔚臉I(yè)務(wù)需求差異和變化提供幫助。歐洲著名技術(shù)服務(wù)企業(yè)Logica CMG對(duì)MES的調(diào)查報(bào)告也顯示,盡管國(guó)內(nèi)外眾多MES廠商針對(duì)不同的行業(yè)和生產(chǎn)模式提出了各自的解決方案,但當(dāng)前主流MES系統(tǒng)的可適應(yīng)性絕大多數(shù)體現(xiàn)在諸如報(bào)表定制等非核心業(yè)務(wù)環(huán)節(jié),對(duì)生產(chǎn)需求和工藝流程變化的支持非常有限。
目前在航空制造企業(yè)實(shí)施的MES中,一般通過(guò)在數(shù)據(jù)庫(kù)表中定義大量的現(xiàn)場(chǎng)控制策略(進(jìn)度采集影響策略、派工影響策略等)對(duì)工序流轉(zhuǎn)進(jìn)行控制,通過(guò)策略的組合應(yīng)對(duì)不同的現(xiàn)場(chǎng)執(zhí)行控制需求,這種方式雖然初步實(shí)現(xiàn)了控制邏輯的可配置性,但其邏輯十分繁瑣,配置項(xiàng)互相依賴,理解和開發(fā)維護(hù)較為困難,一旦新增配置項(xiàng),原有控制邏輯均需要進(jìn)行修改;且在面向大量工序時(shí),配置工作量大,在實(shí)施時(shí)為了減少維護(hù)工作量,最終往往簡(jiǎn)化為整個(gè)車間用統(tǒng)一的控制策略進(jìn)行控制,不能滿足精細(xì)化管理的需要。
2.工序流引擎的設(shè)計(jì)目標(biāo)
針對(duì)上述現(xiàn)狀,本文對(duì)具有能夠應(yīng)對(duì)客戶需求和工藝路線變化的可配置的工序流引擎技術(shù)進(jìn)行了研究。為彌補(bǔ)現(xiàn)有制造執(zhí)行系統(tǒng)的不足,工序流引擎主要是為車間現(xiàn)場(chǎng)執(zhí)行過(guò)程提供支持,其設(shè)計(jì)應(yīng)滿足以下要求。
(1)在可配置性方面,通過(guò)對(duì)工序內(nèi)部工作流程及工序和工序之間的關(guān)系分析,抽取其中的內(nèi)在邏輯,建立完備的工藝路線模型,力求以較少的獨(dú)立的配置項(xiàng)組合出較多的適用場(chǎng)景??筛鶕?jù)現(xiàn)場(chǎng)實(shí)際業(yè)務(wù),通過(guò)靈活便捷配置控制工序流轉(zhuǎn)過(guò)程。當(dāng)現(xiàn)場(chǎng)的控制邏輯改變,或者應(yīng)對(duì)不同實(shí)施單位對(duì)控制邏輯的不同要求時(shí),只需通過(guò)改變工序的配置即可滿足新的需求,避免直接對(duì)系統(tǒng)代碼進(jìn)行修改,這是工序流引擎設(shè)計(jì)的根本目標(biāo)。
(2)在操作便捷性方面,在工序流數(shù)據(jù)準(zhǔn)備階段,為了避免工藝路線多、工序數(shù)量巨大導(dǎo)致配置工作量大的情況,引擎需提供通過(guò)預(yù)置的常用工序模板對(duì)工序進(jìn)行一次性批量配置的功能,快速建立工序流。在引擎與MES結(jié)合運(yùn)行的過(guò)程中,引擎用對(duì)相應(yīng)角色推送待辦的方式實(shí)現(xiàn)對(duì)工序派工、采集等各環(huán)節(jié)的控制,使各角色明確自己需要完成的工作,減少冗余信息,方便客戶使用。
(3)在功能設(shè)計(jì)方面,工序流引擎除了通過(guò)底層的邏輯控制工序流轉(zhuǎn)外,還應(yīng)與MES中的工藝路線管理模塊相結(jié)合,為用戶提供工序流維護(hù)功能,使用戶的主工藝路線在引擎中均有對(duì)應(yīng)的工序流描述信息并保證數(shù)據(jù)同步。為了方便引擎的開發(fā)維護(hù)和測(cè)試,還需提供設(shè)計(jì)器,可通過(guò)易于理解的、圖形化的方式展示和調(diào)整工序流的配置。
總之,通過(guò)一系列豐富的控制功能,工序流引擎可用靈活直觀的方式為不斷變化的工序流轉(zhuǎn)控制需求提供支持,當(dāng)業(yè)務(wù)需求出現(xiàn)變化時(shí),用戶只需改變工序流配置即可滿足新的需求,不需對(duì)數(shù)據(jù)庫(kù)結(jié)構(gòu)或系統(tǒng)代碼進(jìn)行任何新的修改及開發(fā)。
工序流引擎依托的MES產(chǎn)品采用組件化形式進(jìn)行設(shè)計(jì)開發(fā),每個(gè)業(yè)務(wù)模塊為一個(gè)組件,組件運(yùn)行時(shí)調(diào)用的后臺(tái)控制邏輯封裝為邏輯單元,展示頁(yè)面封裝為頁(yè)面單元,工序流引擎為MES現(xiàn)場(chǎng)執(zhí)行過(guò)程的控制提供支持,其體系結(jié)構(gòu)如圖1所示。為了便于與業(yè)務(wù)組件之間進(jìn)行交互,工序流引擎提供了多個(gè)接口函數(shù)供邏輯單元進(jìn)行訪問。組件運(yùn)行時(shí),通過(guò)執(zhí)行邏輯單元將發(fā)生的事件及產(chǎn)生的數(shù)據(jù)(參數(shù))發(fā)送至工序流引擎,引擎將相應(yīng)的執(zhí)行新建和啟動(dòng)實(shí)例、基于業(yè)務(wù)控制邏輯啟動(dòng)工序并向特定人員發(fā)送派工、采集或檢驗(yàn)待辦等操作。同時(shí),頁(yè)面單元將展示出工序流引擎產(chǎn)生的派工待辦或采集待辦等信息,在對(duì)待辦進(jìn)行操作后,調(diào)用邏輯單元與引擎進(jìn)行交互,繼續(xù)驅(qū)動(dòng)工序流向下流轉(zhuǎn)。
圖1 工序流引擎的體系結(jié)構(gòu)
1.工序信息的描述
工序流描述信息以配置項(xiàng)的形式展示給用戶,信息以xml文件形式進(jìn)行存儲(chǔ),包括基本信息、啟動(dòng)條件信息、群組信息、業(yè)務(wù)信息四部分。
(1)基本信息定義了工序名稱、投入產(chǎn)出比、工序內(nèi)容等屬性。
(2)啟動(dòng)條件信息定義了工序啟動(dòng)的控制邏輯。工序的啟動(dòng)通過(guò)監(jiān)聽其前道工序的開完工事件和自定義的其他監(jiān)聽條件(如生產(chǎn)準(zhǔn)備檢查等其他業(yè)務(wù)需求)來(lái)完成。當(dāng)滿足用戶配置的事件觸發(fā)條件時(shí),引擎將啟動(dòng)工序并向指定用戶發(fā)送派工或采集待辦。因此在啟動(dòng)條件中,包含了以下5部分信息。①是否監(jiān)聽:定義工序是否對(duì)其緊前工序進(jìn)行監(jiān)聽,對(duì)于不進(jìn)行監(jiān)聽的工序,將無(wú)條件啟動(dòng),這種情況在工藝路線較短,用時(shí)較少,允許工人不按順序采集的零件加工中較為常見。②監(jiān)聽事件:定義工序啟動(dòng)的觸發(fā)事件,包括其緊前工序的開始事件或緊前工序的完成事件。在實(shí)際業(yè)務(wù)中,開始事件可能是派工或開工,完成事件可能是完工或檢驗(yàn)等,這取決于工序的群組信息配置。③監(jiān)聽數(shù)量:定義在監(jiān)聽事件上的發(fā)生數(shù)量,包括全部數(shù)量、任意數(shù)量和指定數(shù)量。選擇“全部數(shù)量”則上一道工序開始或完成全部數(shù)量時(shí),工序啟動(dòng);選擇“任意數(shù)量”則上一道工序開始或完成任意數(shù)量時(shí),工序啟動(dòng);選擇“指定數(shù)量”則可根據(jù)具體業(yè)務(wù)來(lái)設(shè)置特定的數(shù)量,當(dāng)上一道工序開始或完成該指定數(shù)量時(shí),工序啟動(dòng)。④人工監(jiān)聽:設(shè)置工序啟動(dòng)監(jiān)聽人。設(shè)置人工監(jiān)聽后,工序啟動(dòng)前需要給設(shè)定的監(jiān)聽人發(fā)出待辦,監(jiān)聽人同意后將啟動(dòng)工序,否則不啟動(dòng)工序。在實(shí)際業(yè)務(wù)中,這類工序可能是關(guān)鍵工序、中轉(zhuǎn)工序等,需要在啟動(dòng)前進(jìn)行人工審批確認(rèn)等操作。⑤自定義其他監(jiān)聽:通過(guò)編寫腳本的形式,定義其他非通用的監(jiān)聽事件。
(3)群組信息用于控制每道工序本身派工、采集、檢驗(yàn)的工作流程,主要定義了待辦的接收人,包括是否派工、派工人、執(zhí)行人、是否檢驗(yàn)以及檢驗(yàn)人信息。此外,定義了工作項(xiàng)分派模式,有協(xié)同和競(jìng)爭(zhēng)兩種。協(xié)同即該工序由多人共同協(xié)作完成。競(jìng)爭(zhēng)即該工序由多人互相競(jìng)爭(zhēng)派工的數(shù)量。
(4)業(yè)務(wù)信息則包含工序的設(shè)備、工時(shí)、工裝目錄等信息。
可以看出,工序流的流轉(zhuǎn)方式主要由啟動(dòng)條件和群組信息進(jìn)行定義,是工序流實(shí)例運(yùn)行時(shí)決定控制邏輯的關(guān)鍵配置項(xiàng)。啟動(dòng)條件定義了工序間的流轉(zhuǎn)邏輯,即工序節(jié)點(diǎn)的監(jiān)聽事件及工序啟動(dòng)時(shí)需要達(dá)到的數(shù)據(jù)狀態(tài),而群組則定義了工序內(nèi)部的工作流程,包括是否派工,是否檢驗(yàn)及接收待辦的人員及人員之間的關(guān)系。其對(duì)工序流轉(zhuǎn)的控制邏輯流程如圖2所示。
圖2 工序流轉(zhuǎn)的控制邏輯流程
2.工序間流轉(zhuǎn)數(shù)量控制邏輯
工序的啟動(dòng)條件信息定義了工序啟動(dòng)的監(jiān)聽事件和監(jiān)聽數(shù)量,而工序啟動(dòng)時(shí)的可開始數(shù)量受到其監(jiān)聽的前一道工序的事件上發(fā)生的數(shù)量的限制。當(dāng)監(jiān)聽“開始”事件時(shí),如果達(dá)到了工序的啟動(dòng)條件,工序的可開始數(shù)量為其前一道工序的開始數(shù)量;當(dāng)監(jiān)聽“完成”事件時(shí),工序的可開始數(shù)量為其前一道工序完成(完工或檢驗(yàn))的合格數(shù)量,工序流中的合格數(shù)量可能包括實(shí)際業(yè)務(wù)中工人自檢合格數(shù)量、檢驗(yàn)合格數(shù)量及讓步使用、降級(jí)使用等可視作合格并繼續(xù)向下流轉(zhuǎn)的零件數(shù)量,可根據(jù)需求將相應(yīng)數(shù)量作為參數(shù)傳入工序流引擎。
例如,某工序監(jiān)聽其緊前工序的“開始”事件,數(shù)量限制為“任意數(shù)量”,則當(dāng)上一道工序的開始(派工或開工)數(shù)量為5時(shí),達(dá)到當(dāng)前工序的啟動(dòng)條件,啟動(dòng)數(shù)量(可派工或可完工采集數(shù)量)為5,在用戶進(jìn)行派工或完工采集時(shí),數(shù)量不能大于5,如圖3所示。
圖3 工序流轉(zhuǎn)數(shù)量控制邏輯
3.示例
基于以上分析,以圖4所示的某工藝路線為例,說(shuō)明工序流的控制邏輯配置與實(shí)際業(yè)務(wù)中對(duì)現(xiàn)場(chǎng)執(zhí)行過(guò)程的控制需求之間的關(guān)系。
圖4 工藝路線圖例
假設(shè)該工藝路線中20工序?yàn)殛P(guān)鍵工序,40工序?yàn)楣に嚩问坠ば颉?/p>
對(duì)20的要求為:不派工,在前工序開始任意數(shù)量后即可生成采集待辦,完工采集后需要進(jìn)行檢驗(yàn),檢驗(yàn)人為檢驗(yàn)員A。
對(duì)30工序的要求為:不派工,20工序(因?yàn)槭顷P(guān)鍵工序)完成全部數(shù)量后才能開工,不需檢驗(yàn)。由于20工序需要檢驗(yàn),因此20工序的完成事件在檢驗(yàn)采集時(shí)觸發(fā)。
對(duì)40的要求為:派工,且必須前一工序完成全部數(shù)量后,40工序才能派工。派工人為工長(zhǎng)B。派工前,需工段計(jì)劃員C確認(rèn),不需檢驗(yàn)。
對(duì)其余工序的要求均為不派工,前工序開始任意數(shù)量后即可開工。不派工的工序采集人均為工人D,不需檢驗(yàn)。
對(duì)應(yīng)配置為如表1所示。
表1 工序節(jié)點(diǎn)配置示例
為了便于對(duì)工序流進(jìn)行管理和維護(hù),并以圖形化的方式編輯工序模板并對(duì)工序流及其實(shí)例運(yùn)行情況進(jìn)行直觀的展示,產(chǎn)品中為工序流引擎開發(fā)了設(shè)計(jì)工具,包括工序流模板設(shè)計(jì)器、工序流設(shè)計(jì)器及工序流實(shí)例設(shè)計(jì)器,用戶可通過(guò)這些工具方便的完成配置工作。
1.工序流模板設(shè)計(jì)器
在工序流模板設(shè)計(jì)器中,用戶可根據(jù)實(shí)施單位的具體業(yè)務(wù)預(yù)設(shè)多種類型的常用工序模板,如不派工任意采集工序、派工順序采集工序、中轉(zhuǎn)工序、檢驗(yàn)工序和工藝段首工序等。預(yù)設(shè)好的工序模板可在維護(hù)工藝路線時(shí)批量生成工序流的各工序節(jié)點(diǎn),以節(jié)省大量工序時(shí)的配置工作量,新生成的工序節(jié)點(diǎn)將完全繼承模板的屬性信息。設(shè)計(jì)器界面如圖5所示。
圖5 工序流模板設(shè)計(jì)器
2.工序流設(shè)計(jì)器
在生成工藝路線后,即可在工序流設(shè)計(jì)器中以圖形化的方式查看各工藝路線對(duì)應(yīng)的工序流信息,并對(duì)工序流屬性進(jìn)行編輯,可查看和調(diào)整工序流及各工序節(jié)點(diǎn)的屬性。
3.工序流實(shí)例設(shè)計(jì)器
MES系統(tǒng)建立流卡時(shí),將基于工藝路線版本對(duì)應(yīng)的工序流生成工序流實(shí)例,工序流實(shí)例及其各工序節(jié)點(diǎn)完全繼承來(lái)源工序流的屬性,可在工序流實(shí)例設(shè)計(jì)器中查看和調(diào)整工序流實(shí)例及工序節(jié)點(diǎn)的屬性,并進(jìn)行分卡、合卡等單獨(dú)針對(duì)實(shí)例的操作。
除設(shè)計(jì)器外,還對(duì)MES中的工藝路線管理模塊進(jìn)行了針對(duì)工序流的適應(yīng)性修改,除了原有的對(duì)工藝路線及其各工序信息的維護(hù)功能外,增加了為各工序設(shè)定工序模板和生成工藝路線對(duì)應(yīng)工序流的功能,同時(shí)該模塊可鏈接到各設(shè)計(jì)器,是工藝路線和工序流引擎的綜合管理入口。
我公司在某航空發(fā)動(dòng)機(jī)制造企業(yè)實(shí)施的數(shù)字化COE(Center of Excellence,優(yōu)良加工中心)項(xiàng)目是MES6.0產(chǎn)品的首個(gè)應(yīng)用項(xiàng)目。作為平臺(tái)級(jí)支撐,工序流引擎在COE項(xiàng)目中進(jìn)行了驗(yàn)證。與工序流結(jié)合的業(yè)務(wù)組件包括投料建卡、多種類型的分合卡、本地工序維護(hù)、在制品派工、開完工采集等,通過(guò)對(duì)工序流的靈活配置,滿足了不同車間多種零組件的現(xiàn)場(chǎng)執(zhí)行控制需求,取得了良好效果。
目前在航空制造企業(yè)MES的實(shí)施過(guò)程中,由于車間現(xiàn)場(chǎng)執(zhí)行管理的復(fù)雜性以及不同產(chǎn)品、不同車間、不同企業(yè)對(duì)工序流轉(zhuǎn)控制邏輯需求的差異性帶來(lái)了大量二次開發(fā)測(cè)試工作,而傳統(tǒng)的通過(guò)數(shù)據(jù)庫(kù)定義控制邏輯的方式缺乏靈活性,且理解和維護(hù)難度較大,這些問題的存在降低了項(xiàng)目開發(fā)和實(shí)施效率。工序流引擎作為MES系統(tǒng)執(zhí)行主線部分的重要支撐,通過(guò)圖形化、可配置的方式,較好地解決這一問題,實(shí)現(xiàn)了對(duì)需求變更的快速響應(yīng),并在某航空制造企業(yè)中的應(yīng)用中進(jìn)行了驗(yàn)證。