歐陽森山,雷 浩,陳 琛,彭 春
(航空工業成都飛機工業(集團)有限責任公司,成都 610092)
以德國“工業4.0”、美國工業互聯網為代表的新工業革命席卷全球,智能制造成為中國制造的主攻方向。中國制造業從手工作坊、大批量流水線到精益制造高速發展,批量定制成為下一階段制造業的關鍵特征。基于大數據的自適應加工、精益為導向的自主化裝配、以人為本的智能人工增強成為新工業革命下制造過程的典型場景,傳統的加工和裝配模式被顛覆,操作人員的角色被徹底改變,與之相適應的MES系統(Manufacturing execution system)已不能勝任新的模式。
MES系統在制造企業的產品供需鏈中起到了承上啟下的作用,是生產活動與管理活動信息溝通的橋梁,同時也是貫通虛擬空間與物理空間的使能器。產品、資源、流程的模型在MES系統中關聯,進一步去引導真實世界;人、機器、物料之間相互操作,各種數據通過MES系統采集、存儲、轉換、互通;數據反饋至模型在MES系統中仿真迭代,人類智慧與人工智能相結合共同實現對制造過程的持續優化。
德國人工智能研究中心提出“工業4.0”的三大特征:智能產品、智能機床、增強的操作員。美國GE公司提出工業互聯網的三大特征:智能設備、先進分析、與人的連接。中國航空工業提出智能制造的四大特征:動態感知、實時分析、自主決策、精準執行。
綜合各方觀點,在新的制造模式下,下一代的MES系統應具備以下特征。
(1)模型驅動。
隨著設計、工藝、管理與信息化的深度融合,生產的各個要素均實現了在虛擬世界的建模并開始整合,它們開始相互關聯,快速迭代,進一步影響物理世界。流水線生產催生了產業工人,精益生產壯大了設計師規模,而批量定制將以模型構建人員為中心。設計、工藝人員構建產品模型,生產管理人員構建計劃模型,檢驗人員構建質量模型,倉儲人員構建資源模型,經營人員構建流程模型等,這些模型被整合為一個覆蓋企業全領域、產品全生命周期的超級模型,以智能化為主線,驅動人員、設備、資源高效配置,更加精益、柔性、敏捷。
(2)數字孿生。
數據采集的完整性和精度是決定模型是否具備智能的關鍵,制造業大數據就是在某種程度上能真實反映實際生產制造過程的數據集,“Digital twin”是智能制造相關新技術的基礎也是核心[1],其主要對人、機器、物料、環境的大數據采集。隨著工控網的建立,對機器的數據采集日趨成熟,物聯網的發展使得對物料的數據采集逐步完善,而對人的數據采集尚需突破,音頻、視頻等流式數據將成為重點。
(3)智能規劃。
批量定制模式下,產品小批量、混線生產常態化,研制周期大幅度縮減,加上對插單、各類型變更的快速響應,需要作業計劃根據數據復現的仿真模型即時做出調整應對各種變化,賦予算法智能以尋求最優解[2]。就像導航軟件,即時根據路況調整路線,代替了人腦尋路的這部分智能。
(4)自主保障。
設備、工裝、工具、物料能自主與MES系統交互,實時反饋狀態信息,通過“物–物”直接交互,消除人工環節,實現定期保養和故障處理自主化。同時讓智能物流成為可能,為排程規劃提供可靠的基礎數據。結合多維度數據進行自主分析決策,提前預警自身故障缺陷,確保資源的“7d×24h”的高可靠保障。
(5)人機增強。
鼠標和鍵盤成為人機交互的備選工具,音視頻或者傳感器成為主要交互途徑,不同工種不同角色將配備專用界面和智能設備,并提供具有初級智能的助手,為一線員工提供培訓、答疑、信息檢索等服務[3]。
(6)AI認知。
構建可自主優化的智能算法,結合資深業務專家的經驗,利用不斷擴充的大數據進行訓練,通過持續、高效的迭代讓產品制造過程信息模型快速進化,促進模型與真實世界融合,在虛擬世界中快速地仿真推演,賦予信息系統真正的人工智能。
為了應對顛覆式的業務變革對信息系統提出的挑戰,MES系統需要重新定位,成為智能制造建設方案的中心,其總體設計和技術架構也將發生巨大變化,具體體現為以下幾個方面。
(1)灰度平臺。
MES與企業資源管理系統(ERP)、工藝設計系統(CAPP)的界線更加模糊,它變成一個開放的平臺,整合各相關應用系統的服務,與眾多新技術集成,為生產制造一線提供統一的入口和IT能力。
MES作為一個軟件產品的定義也變得模糊,MES將變成眾多軟件產品和IT能力的綜合體,由不同專業的供應商共同建設和維護。
軟件研發與實施應用的階段劃分不再清晰,各制造企業的用戶不僅是使用者,更是設計者。平臺為用戶提供了80%的軟件,剩下的20%由用戶使用二次開發工具完成,對基礎服務進行組合、配置,提供自定義的個性化功能,如設計流程、設計界面、設計報表等。
(2)多態感知。
平臺以服務的方式為用戶提供豐富的數據感知接口,如DNC、音視頻識別、流式數據計算、傳感器接口適配、GPS數據采集、外部數據接入等,并且提供大數據存儲、計算、展示等能力。
平臺實現應用與數據的解耦,數據作為虛擬世界感知真實世界的結果提供給用戶分析利用,數據的質量和分析能力成為評價企業能力的關鍵指標,但數據的安全保密管理還存在技術瓶頸。
(3)流式進化。
就像手機APP一樣,平臺為不同的用戶提供個性化的功能組合,每一個小的功能模塊成為獨立生命周期的微應用,通過DevOps(Development operations)統一管理,支撐平臺、研發團隊、運行維護靈活配置,橫向擴展。MES平臺將進入流式進化階段,成為一個微觀的互聯網生態。
(1)系統耦合度高,維護成本高,新業務交付周期長。
隨著MES系統功能的不斷增加,代碼量也大幅度增加,開發人員越來越難以對全局有深入的了解,出現缺陷時分析、定位、修復的時間成本高。由于系統部署在同一進程內,每次新業務的推出都需要整體上線,不同功能之間存在干擾,為避免問題就要投入更多的回歸測試,導致交付周期長。
(2)系統可擴展性差,優化困難。
單體應用架構業務邏輯運行在同一進程中,數據存放在同一個數據庫中,水平擴展難。如MES系統中計劃生成屬于CPU密集型,而物料查詢屬于IO密集型,水平擴展需要服務器同時具備足夠的CPU和內存來滿足要求,且服務器資源不能按需分配。
(3)難以滿足復雜的系統內外部集成。
MES系統必須快速與新技術、新供應商的業務進行集成對接,目前的集成往往通過企業服務總線(ESB)完成,ESB實現了系統間解耦的目的,但是增加了交易鏈路長度,產生了新的瓶頸,降低了系統性能,同時集成邏輯與業務邏輯分離有可能降低業務交付效率。
微服務架構(Microservice architecture,MSA)[4]是一種架構模式,旨在通過將功能分解到各個離散的服務中以實現對解決方案的解耦。它將單體架構的系統劃分成多組小的服務,每組服務運行在獨立的進程中,采用獨立的數據庫存儲數據,可以獨立地部署在生產環境中。每組服務圍繞具體的業務進行構建,服務與服務之間采用輕量級的通訊模式,可以互相配合、互相協調。單體架構系統到微服務架構系統的演進方式如圖1所示。

圖1 單體架構系統到微服務架構系統的演進方式Fig.1 Evolution from single architecture system to microservice architecture system
微服務架構本質是將應用系統在物理上、邏輯上同時拆分,優勢在于:(1)單個微服務業務可以獨立開發、部署,縮短了新業務上線時間;(2)單個微服務業務可以獨立維護,降低單業務本身的維護難度;(3)獨立分配資源,水平擴展能力增強。劣勢在于:各服務之間的數據一致性差和服務聯動的統一運維難度高兩大問題,必須采用支撐微服務全生命周期的平臺來解決。
3.1 總體架構
MES–MSA架構如圖2所示,由交互層、決策層、數據層、感知層4個層次構成,由事件中心連接各個層次,由IT模型和支撐平臺提供基礎設施。

圖2 MES–MSA架構Fig.2 MES–MSA architecture
3.2 設計原則
MES–MSA架構引入擴展立方體[5]的概念使應用系統具備良好的水平擴展能力,又避免出現數據不一致、可靠性低等問題。如圖3所示,擴展立方體的起始點是一個單體應用,每一個軸線表示擴展的一個維度,每個維度的擴展不影響其他維度。

圖3 擴展立方體Fig.3 Scale cube
X軸表示水平復制,即無差別地復制處理節點,例如進行并行的數值計算。X軸擴展方式通過負載均衡方式進行服務處理節點的定位。
Y軸表示按功能、職責拆分應用系統[6],不同功能的業務邏輯運行在不同的進程中,具有獨立的數據庫,提高應用系統的水平擴展能力。例如即時規劃屬于非實時批量型,物料查詢屬于準實時交易型。Y軸的拆分方式通過服務路由進行服務處理節點的定位。
Z軸是按數據切分應用系統,在保證完整性的前提下根據業務相關性進行數據拆分。例如冷熱數據分離[7]方式,頻繁使用的數據和歷史數據保存在不同數據庫中。Z軸的切分方式通過數據路由進行服務處理節點的定位。
3.3 MES四層架構設計
(1)交互層。
交互層是虛擬世界與物理世界的連接器,除了傳統的鼠標、鍵盤、顯示器以外,攝像頭、揚聲器、智能終端將成為主要的交互途徑,不同工種不同角色將配備專用界面和智能設備。服務網關支持可擴展接口并提供集中式管控,包括訪問控制、服務鑒權、服務路由、流量控制、訪問日志、數據脫敏、內容緩存、服務編排等多種管控能力。
交互層主要采用X軸的水平復制模式進行擴展,通過對等復制、部署多進程的方式提高處理能力。
(2)決策層。
決策層負責業務邏輯的實現,并通過人工智能輔助決策。根據技術特征,決策層服務主要分為實時業務服務、準實時業務服務、非實時業務服務、準實時決策服務、非實時決策服務5種類型,每種類型的服務部署在獨立進程中,擁有獨立的處理資源和數據庫,實現進程與數據的隔離,防止服務間干擾。
決策層主要采用Y軸的功能劃分進行擴展,按需分配硬件提高資源利用率。
(3)數據層。
數據層負責多態數據的存儲和計算,實現數據與應用的解耦。采用冷熱數據分離方式進行拆分,把歷史大數據、讀頻繁數據、寫頻繁數據、流式數據獨立存儲,形成緩存、查詢數據庫、寫數據庫(交易數據)和大數據庫四級的數據存儲體系。
數據層主要采用Z軸的數據劃分進行擴展,針對不同數據特點制定策略,兼顧了數據的可靠性和效率。
(4)感知層。
感知層負責連接、采集來自環境中的所有人、設備、傳感器信息,實現在任意時段對任意信息的復刻,是虛擬世界描述物理世界的基本前提。感知層的數據采集包括接口服務、數據復制、消息訂閱和流式處理4種方式。
3.4 IT模型
IT模型是對MES–MSA系統的建模,通過對技術元信息的控制實現對復雜IT系統的管理,與之相對應的是業務模型(產品模型、資源模型、流程模型等)。IT模型是業務模型在軟件系統實現時的載體,確保業務模型可以基于統一架構進行設計、開發、集成、交付、運行和維護。
IT模型描述的元信息包括靜態與動態兩部分,其中靜態模型描述系統各層次中的組成部分、各部分之間的依賴與調用關系,如業務語義、通信協議、對外接口、處理流程、安全認證與授權方式。動態模型是系統運行時靜態模型實例化后的描述,即靜態模型產生的運行實例、實例之間的關系以及實例與物理資源之間的映射,如應用拓撲圖、服務拓撲圖、數據血緣關系圖等。
3.5 支撐平臺
采用MES–MSA架構后,MES系統從一個巨石型系統發展到分布式系統,支撐平臺負責將需求、設計、開發、交付、運維的過程緊密協同與配合,以解決交付與運維復雜度呈指數級增加的問題。
支撐平臺基于DevOps理念[8],DevOps是一組過程、方法與系統的統稱,用于促進應用開發、技術運營和質量保障各職能之間的溝通、協作與整合。它通過更好的優化開發(DEV)、測試(QA)、運維(OPS)的流程,使開發運維一體化,通過高度自動化的工具與流程使軟件的構建、測試、發布更加快捷、頻繁和可靠,可以說支撐平臺是MES系統自身的生產線,其具備以下4點優勢。
(1)互聯網生態。
項目不再采用瀑布式的模式,而是被切分成多個子項目,各個子項目的成果都經過測試,具備可視、可集成及可運行的特征。MES–MSA架構讓交互層、決策層、數據層、感知層的各種應用都可以獨立發布、部署、運行,使MES系統被分為多個相互聯系但可以獨立運行的APP。系統的升級優化無時無刻不在發生,而在此過程中系統一直處于可使用的狀態。
(2)即時集成。
高質量的軟件項目要求每個IT研發人員每天至少集成一次,也就意味著每天會發生多次集成,因此支撐平臺必須具備自動化構建能力(編譯、發布、自動化測試)。即時集成有利于自動化檢查缺陷,實時掌握軟件健康狀況,減少代碼編譯、數據庫集成、測試、審查、部署及反饋中的重復勞動,支撐快速迭代、高可靠性要求的MES系統研發。
(3)一鍵式部署與持續交付。
復雜IT系統研發過程中,往往存在多個環境,包括開發環境、測試環境、準生產環境、性能測試環境、生產環境等,研發人員需要將代碼、配置、類庫等部署到多個環境中,遇到問題需要回退到前一個狀態,手工操作繁瑣,且效率低下。
支撐平臺提供自定義部署過程,一鍵部署、一鍵供應、一鍵創建環境。一鍵式部署讓持續交付成為可能,通過更頻繁的自動化部署,讓新上線的功能可以盡快地呈現在用戶面前,并能在一定的時間里從用戶處獲得盡可能多的反饋。根據反饋更快速地對新業務功能進行調整,從而加快交付速度,適應裂變式的業務需求變化。
(4)智能監控。
智能制造下的MES系統已經與生產過程密不可分、融為一體,IT系統需要為業務提供毫秒級不間斷服務,IT系統的故障率成為制造缺陷率的關鍵制約因素。支撐平臺必須提供秒級的修復能力,基于IT運維大數據結合人工智能即時產生問題處理策略或修復方案,實現彈性伸縮與故障自愈,實現MES系統的高可用性。
4.1 系統微服務技術架構
如圖4所示,整個微服務體系基于云平臺[9],基礎設施層提供IAAS(Infrastructure as a service),容器平臺、基礎服務、研發效能平臺、中臺層共同構成了PAAS(Platform as a service)層,其中基礎服務的數據庫與緩存模塊,構成MES–MSA架構的數據層,其余PAAS層的模塊組成一套完整優化開發、測試、運維的流程體系,實現支撐平臺的功能。用戶層與API網關功能構建系統的交互層。基于PAAS提供的服務進行開發,通過API網關層與基礎服務層,完成感知層的構建,同時以上述功能為基礎,基于研發效能平臺完成決策層的應用開發,實現業務邏輯。

圖4 系統微服務技術架構圖Fig.4 Technical architecture diagram of system microsevices
4.2 系統部署模式
MES–MSA系統架構基于容器平臺進行部署[10],如圖5所示,“容器實例”與“微服務治理中間件”已經全面“Docker化”;基于Kubernetes進行容器管理,基于Jenkins、Nexus、Harbor、SonarQube,Gitlab共同實現CI/CD功能,快速實現基于應用能力的橫向擴展,基于服務能力的縱向升級。

圖5 系統部署模式圖Fig.5 System deployment mode diagram
4.3 系統應用拓撲
如圖6所示,MES–MSA架構系統中的各個模塊以“Rest”風格對外提供服務,以前后端分離、應用與數據解耦的模式部署。每個模塊對應一個數據庫實例,將數據進一步解耦,實現更細化的服務拆分。

圖6 系統應用拓撲圖Fig.6 System application topology diagram
4.4 系統模塊簡介
基于模塊化、組件化的思想,如圖7所示,將整個系統劃分為資源管理、用戶行為、計劃/庫存管理、數據字典、平臺問題協同解決、執行管理、文件服務管理7個模塊,通過數據字典設計方法將各個模塊下的組件串聯起來,提高數據可用性,形成一個完整的系統。

圖7 系統模塊圖Fig.7 System module diagram
4.5 系統–執行管理微服務實現
如圖8所示,執行管理服務,采用微服務架構的設計理念,將執行管理業務與整個的MES業務進行剝離,通過“Rest”風格的服務接口與計劃、資源、庫存、數據字典等服務進行數據交互。

圖8 前后端開發Fig.8 Development of front-end and back-end
執行管理服務實現采用前后端分離的開發模式。如圖8(a)所示,前端基于Vue-element-admin,實現執行管理服務前端頁面的快速開發。后端采用Spring cloud技術體系,如圖8(b)所示,將計劃執行所需的制造大綱工序、草圖等信息的查詢,單元計劃查詢,單元計劃執行開工、完工、實測記錄等業務操作,通過服務的方式注冊到網關中,并統一開放給前端提供服務。
執行服務基于容器平臺進行部署,實現應用的自動構建、發布及上線。
4.6 系統功能頁面展示
如圖9所示,系統以每個執行單元為最小單位進行管理,通過各類微服務的組合,形成部件、系統組件兩大專業化MES應用APP。各個模塊分為:

圖9 系統應用架構圖Fig.9 System application architecture diagram
(1)單元計劃管理。單元計劃管理分為訂單管理、投產管理、計劃管理。
(2)單元資源管理。單元資源管理模塊由產線配置、工位管理、人員管理、設備管理、工裝管理、工具管理組成。
(3)單元庫存管理。單元庫存管理模塊由物料主數據、物料配送、資源配套功能組成。
(4)單元執行管理。單元執行管理模塊由現場執行、故障處理、制造大綱功能組成。
在智能制造趨勢下,現有MES系統在技術和業務上難以滿足企業需求,下一代MES系統需要從各方面適應新變化。本文通過分析現有MES系統架構的問題,提出了基于微服務的MES系統架構(MES–MSA),并給出了架構的設計原則和功能概述,在有效解決了現有系統架構耦合度高、擴展性不強、集成困難等技術問題的同時,滿足了智能制造對MES系統業務上的新要求。該體系架構的實現方法和實施模式將在后續的實踐中得到進一步完善和驗證。