作者:劉彤輝(1980-),男,遼寧人,本科,現就職于北京和利時智能技術有限公司,主要研究方向為智能制造、平臺開發、云原生應用。
摘要:圍繞食品醫藥行業的工業自動化、信息化、智能化現狀,結合當前面向開源、云原生的技術背景。討論具有食品、醫藥行業特點的MES系統的基礎框架如何設計與實現。通過了解制造強國戰略與食品醫藥生產的合法合規要求,結合MES系統的特點,討論食品醫藥行業MES基礎框架的實現目標、包含的功能范圍、設計原理和實現方法。討論從技術角度對模型驅動、前后端分離、流程編排、云原生部署方面進行了設計實踐。最終目標是能設計實現可用的基礎框架,為開發食品醫藥行業行的MES系統實現快速實施、靈活擴展的產品研發目標。
關鍵詞:基礎框架;模型驅動;流程編排;云原生
Abstract: In this paper, focusing on the status quo of industrial automation, informatization, and intelligence in the food and pharmaceutical industry, combined with the current open source, cloud-native technology background, we discuss how to design and implement the basic framework of the MES system with the characteristics of the food and pharmaceutical industries. By understanding the "Made in China 2025" strategy and the legal compliance requirements of food and pharmaceutical production, combined with the characteristics of the MES system, we discuss the realization goals, scope of functions, design principles and realization methods of the basic framework of MES in the pharmaceutical and medicine industry. We also discuss the design practice of modeldriven, front-end separation, process orchestration, and cloud native deployment from a technical perspective. Our goal is to design and implement a usable basic framework to achieve rapid implementation and flexible expansion of product development goals for the development of MES systems in the food and pharmaceutical industry.
Key words: Basic framework; Model-driven; Process orchestration; Cloud native
隨著國家對食品制藥行業的強制性規范,將會加速MES系統在食品制藥行業中的普及。由于食品制藥行業MES系統的特殊性,相對其他行業MES系統食藥MES更需要通過收集和合并來自各種生產系統的信息,面向生產車間作業執行層,在充分滿足制藥GMP規范化管理的基礎上,實現對工藝配方管理、生產指令下發和執行、物料流轉、設備狀況的實時跟蹤等,來達到生產過程可追溯、質量可監控以及車間管控流程的可視化管理目標。保證制藥生產過程的數據完整性、可靠性。
相對在系統基礎框架設計上也需要在滿足制藥GMP規范化上做出區別于傳統MES系統的設計考慮。其中重點目標以可溯合規為基礎,在易用性、通用性、高可擴展、可客制化等方向進行設計與應用。
1 基礎框架
1.1 研發方向
作為基礎框架的產品設計,研發在平臺化、工具化、業務化的多個方向上尋找共性,基礎框架與核心組件是核心基礎。
圖1 研發方向
基礎框架在產品發展的初期階段,可以說每個產品發展方向中都有最基本的運行框架。對于是面向為生產企業提供生產管理應用軟件的服務商,基礎框架具有鮮明的企業應用軟件的業務屬性。基礎框架包含:生產指導、工廠模型、制程模型、流程建模、業務建模、班組&班次&排班、條碼&標簽&外設等業務基礎功能組成。
圖2 為生產企業提供生產管理應用軟件的核心組件建設方向
相對的產品核心組件更貼近于技術研發,組件研發的技術能力也是產品核心競爭力的體現。業務熟練程度是公司能力的外顯、核心組件的技術能力是公司實力與競爭力的內在。如圖2所示,為生產企業提供生產管理應用軟件的核心組件建設方向包括:流程編排、業務建模、后端服務、前端服務、集成接入。無論是平臺化、工具化還是業務化方向的核心組件,對于有用、可用、易用是核心組件的差異化競爭的目標。
1.2 設計原則
基礎框架是一個產品中的核心組成部分。在設計原則上遵循正在開發和已經開發的產品是否可被管理為原則。可通過對比產品與管理合作、產品與平臺運營、產品與開發者、產品與用戶的關系中得出。
圖3 設計原則
(1)管理與合作
從管理上通過公司的規劃管理、標準規范的制定、協同各產品線產品間的可復用可合作關系。從技術工具上提供個產品線的開發組、開發者、管理者以簡單有效的支撐。實現管理減負、溝通高效。
(2)平臺運營
推動各產品線產品真正運行在云平臺之上,為平臺的成熟發展提供事實上的檢驗標準。借助云平臺的整合能力,實現產品之間的有效界面切分,總結可復用工具。
(3)開發者
對于開發人員需要了解公司產品線的整體規劃來提升每個開發組內負責產品的認同和理解。通過云原生技術的學習和理解,促進產品開發方法和過程趨同于同一種開發模式。
(4)應用用戶
公司產品賦能業務部門服務于企業用戶,明確公司產品的用戶是業務部門或集成商。
推動方向:
用戶需求和產品目標匹配;
鼓勵用戶使用產品。
1.3 功能范圍
MES系統需要實現企業生產過程的可視化,生產產品質量的可追溯,對產品的質量進行管控,提高企業的生產效率以及產品品質,降低成本,提高客戶的滿意度。如圖4所示,食品醫藥行業MES系統主要包括生產管理、倉儲管理、質量管理、設備管理等核心業務模塊;同時有別于其他傳統MES,食品醫藥行業MES更重視生產指導、電子簽名、審計追溯、條碼管理、標簽管理功能;從基礎框架通用應用設計上還包括:系統管理、數據管理、流程控制、訪問控制、工廠模型、制程模型、集成擴展等。
圖4 食品醫藥行業MES系統
功能范圍按基礎框架和醫藥應用兩大方向進行劃分,分別包括:
(1)基礎框架
系統管理:產品必備功能,包括登錄、主頁、菜單、用戶、角色、部門、人員、系統字典、運行參數配置等;
數據管理:提供數據存儲及使用支撐。對管理數據、工廠建模、業務建模等數據進行管理,并以統一的標準接口,實現與上層信息系統的數據交互;
流程控制:流程是產品生產的過程,流程可編排可組態是基礎框架的重點,根據物料配方和生產工藝的要求,通過流程組態適配不同產品的生產過程管控;
訪問控制:功能安全和數據安全通過訪問控制功能進行約束。功能包括準入管理、鑒權管理、認證管理等組成;
生產指導:將工業數據進行預處理與分析,輔助生產管理的決策;
電子簽名:用于身份認證,包含密碼式、卡式兩種方式。常用于操作的確認、問題的確認、偏差及批記錄的復核;
審計追溯:查詢和打印各類業務的審計追溯信息。提供從初始值到當前值的完整追溯,以及業務操作的操作人、所在工作中心、工作站、簽名信息等;
工廠模型:以ISA-95標準為參考對工廠進行信息化建模,建模對象包括:企業、廠區、區域、工作中心、位置、資源等;
制程模型:對產品生產的制作過程進行建模,建模對象包括:產品、配方、生產工作流、工序步驟、操作指導,為產品生產的操作執行準備;
標簽管理:用來管理生產過程中需要的標簽模板。標簽模板的設計借助第三方工具完成,設計完成的模板可以在系統中管理;
接口管理:設定采集設備數據的接口,通過OPC UA協議,與OPC Server通訊,將設備的關鍵參數/點位值,綁定到設備屬性上,為設備數據的自動采集提供通道;外系統集成:集成包括功能集成和數據集成兩個方面,功能集成可以通過添加外系統菜單進行鏈接集成。數據集成系統開放標準API接口,實現外系統互聯。
(2)食藥應用
物料管理:用于原材料、包材、半成品、成品的管理,設定物料的基礎信息,包括與庫存、批次、稱量、危險防范相關的信息設定。使用該模塊可以進行物料的查看、物料的維護、狀態的管理、取樣規則的配置等功能;
配方管理:對物料合法性驗證的核心標準,分為研發/測試、生產/臨床兩種類型。功能包括配方的創建、配方組分的維護、批準、驗證、發布、修訂、失效等功能;
工單管理: 工單是產品生產的任務單、生產指令單,是生產管理的主要維度。工單管理是對生產任務的管理,包括工單的開立、編輯、發布、完成、關閉,以及附加工單的開立、管理等;
稱量管理:產品生產中的關鍵工序。使用已校驗的衡器、選定的稱量模式、對工單組分中可稱量的物料進行稱量。稱量中會按照物料批次,進行物料效價折算,并驗證物料是否可用、稱量值是否滿足公差要求,以及其他稱量校驗。稱量會扣除物料庫存;
工藝管理:管理產品生產所需的工藝路線,包括工藝路線的添加、編輯、刪除、批準、發布、升級等功能。通過工藝用來控制生產的工序流程,及各工序的任務。可限定重要工序的生產地點和物料,再結合處方來進行精細的生產控制;
倉儲管理:用來對車間庫進行管理。包括來料的接收、成品、半成品的入庫等;
質量管理:主要用來進行批次質檢結果的維護,以及對偏差的處理;
設備管理:對生產過程中用到的設備進行管理,主要關注與生產相關的設備動態屬性。
2 技術研究
2.1 模型驅動
模型驅動在不同的領域,有不同的含義。模型是對“事物”的一種抽象和表達,在MES領域把模型繼續細分可為兩個方面:數據模型與業務模型。數據模型一般多指在設計和建立數據庫時,用于提供數據結構表示和數據訪問的形式構架。業務模型主要解決MES包含的各個業務模塊的功能問題以及描述生產流程的形式。從編程技術模型驅動在基礎框架設計與開發中如何體現,如圖5 所示。
圖5 業務模型
面向生產企業的行業軟件開發模式分為三個優先:
(1)數據優先
數據優先,在系統設計與開發過程第一步進行數據庫設計,通過數據庫的表結構描述來完成數據建模過程;第二步結合業務分析對數據庫表進行數據操作完成邏輯組裝;第三步進行編碼實現。數據優先面向數據庫設計、編程是最常用的面向企業業務系統開發手段。而面向企業業務系統設計開發的一個特點是,業務總會適應用戶需求而改變,變就意味數據模型的改變,就會牽涉到業務組裝和代碼實現的改變。影響路徑長、工作量大。
(2)模型優先
模型優先第一步是根據業務需求進行模型構建,在業務模型構建完成后往往會自動生成數據模型完成第二步的自動化。第三步進行代碼實現。同樣面對業務需求變化,第一步變更的是業務建模,數據模型會自動維護。這樣適應了面向企業業務系統開發的業務變化,可以快速響應。
(3)代碼優先
從圖5中可以看出,代碼優先是通過直接編寫代碼來實現業務邏輯的過程。業務系統歸到底最后是由代碼來實現的。代碼優先是程序員友好的開發模式。優點是當業務發生變化時直接修改代碼。缺點是代碼優先的開發模式要求整個團隊對需求管理、系統基礎框架、編碼規范需要有一定核心輸出能力才能很好的掌控。
2.2 前后分離
前后端分離已經成為業界互聯網項目開發的標準選項,在MES企業業務軟件開發中也同樣發揮著重要作用。
前后端分離(解耦)的核心思想是:前端html頁面通過Ajax調用后端的RestFul API并使用Json數據進行交互。架構上通過Ngnix+Node.js等有效地進行解耦。前后端分離會為以后的大型分布式架構、彈性計算架構、微服務架構、多端化服務、多種客戶端(瀏覽器,安卓、iOS等)打下堅實的基礎。
前后端分離的關鍵任務是如何建立前后端分離機制,前后端分離后通過什么樣共同語言完成可交互。技術上以基于Http協議的RestFul為主,同時新興的GraphQL協議占有重要位置,技術上稱GraphQL為RestFul2.0,也是技術上前后端協同的未來方向。此外,開發管理上如何實現前后端分離,這方面和模型驅動結合更能發揮其管理上通達全局的作用。
典型的MES業務應用系統開發一定會經歷幾個階段,需求、設計、開發、測試、發布。結合前后端分離和模型驅動來實現產品如圖6所示。
圖6 典型的MES業務應用系統開發
業務需求來自多個方面,用戶調用、市場分析、工程反饋等。
業務設計是根據業務需求進一步細化成可實施可編碼的過程。
業務建模可以作為業務設計的輸出成果,如果業務需求和業務設計是文檔描述,業務建模是需要工具化輔助的業務建模結果。
前端開發、后端開發、編碼實現、數據模型都圍繞業務建模結果來構建并完成各自領域的任務。業務建模結果就是各自的共同交流語言,方向驅動的標準。以業務建模為中心后端實現數據模型并提供服務,前端通過變化或工具輔助實現功能交互界面。
集成及測試也同樣可以參考業務建模結果進行梳理自身的任務項。
測試復核出口標準后發布產品為用戶所用。
2.3 流程編排
食藥MES管理系統的主線是以處方為核心,通過工單發布、生產指導、生產記錄來完成生產任務的過程。生產過程在流程編排上解決問題包含:
(1)處方物料合法性驗證,用處方作為基礎標準來驗證物料使用及流轉是否正確合理;
(2)通過流程工藝編排來控制生產的工序流轉,控制工序的生產地點和物料,再結合處方來進行精細的生產控制;
(3)生產成品后提供從原材料進入生產車間到成品入庫的全過程物料追溯信息;包括的物料接收、存儲、使用、產品的產出、包裝等生產信息;如實記錄產品生產的完整過程信息。
圖7 生產指導功能
生產指導功能從技術研究上工藝流程可編排是關鍵點。如圖7所示生產指導在技術上實現工藝流程可組態、流程過程可控制。可編排的流程節點實例包括:稱量、配置、轉移、集中、釋放、灌裝、配料、移動、腳本等,同時在已有的工藝實例還不能滿足編排需求,需要提供自定義工藝實例的能力。
3 部署應用
伴隨制造強國的推進步伐,企業上云成為企業集成發展的趨勢,國內外很多企業相繼投入了云的懷抱。作為食藥行業MES系統軟件基礎框架設計,能夠支持云化部署運行已經是不可缺少的必要能力。同時作為生產管理軟件上云的同時也能在邊緣側運行是區別于互聯網軟件的重要特點。從應用部署上既能上云也能獨立部署是架構設計關鍵點。
圖8 容器編排技術
隨著容器技術的出現,徹底改變了應用的部署和運行方式。不論是在本地邊緣側或是云端都可以用統一的容器化方式進行管理運行。同時在云端生產環境中成功部署和操作容器的關鍵是容器編排技術,市場上有各種各樣的容器編排工具,其中谷歌公司開發的Kubernetes得到開源社群的全力支援,成為容器編排事實上的標準。
參考文獻:
[1] 中國軟件網. 2020中國制藥MES十大發展趨勢[EB/OL]. 2020.
[2] ANSI/ISA95. Enterprise-Control System Integration [S]. 2010.
摘自《自動化博覽》2020年11月刊