生產排程系統是製造企業mes系統的重要組成部分,對應於生產管理系統的短期計畫安排,主要目標是通過良好的作業加工排序,最大限度減少生產過程中的準備時間,優化某一項或幾項生產目標,為生產計畫的執行和控制提供指導。在不同的問題環境中,生產排程的優化目標也不同。在生產製造企業中影響生產排程的因素很多(比如裝置、工人的生產技能等),這些因素樣式複雜,種類繁多,靈活多變。另外在不同的環境下,影響生產排程的規則數量、優先順序都會發生變化。
去生產排程系統將業務邏輯與主體**緊耦合,業務規則以:
if
的形式被硬編碼到**中去,結果是線性、確定的執行路由,所有的約束和判斷都按照建模時的約定執行。當業務規則發生變更時,唯一的途徑是修改**。這種形式無法適應制
造企業生產規則的頻繁變更,導致生產排程系統的開發、公升級和維護成本急劇增加,甚至生產排程系統完全無法適應企業的實際需求。因此生產排程系統在保證對目標優化的前提下,將業務邏輯與主體程式的分離,已成為生產排程系統首要解決的問題。本文著重闡述通過規則引擎技術將生產規則邏輯從生產排程系統分離,克服生產規則靈活變更導致生產排程系統無法適應企業生產策略變更的問題。
目前開源和商業的規則引擎產品有很多,其中開源的以drools為代表,商業的有ilog,viaualrules等,本文以商業規則引擎visualrules來說明。說句題外話,開源的產品有開源產品的優點,但是規則引擎作為乙個高階的應用來說,還是希望在售後服務,技術支援等方面能有商業化的保障。
在製造企業中,生產策略的變更非常頻繁並且影響生產排程系統的業務策略很多,而傳統的生產排程系統將業務邏輯與生產排程邏輯緊密耦合,導致高系統的開發,維護都變得異常艱難。因此如何將業務邏輯與主體程式分離,遮蔽業務策略變更對主體程式的影響,則成為生產排程系統的關鍵問題。
基於規則引擎的生產排程系統架構設計的核心是實現業務邏輯與應用程式解耦。它的實現方案可分為以下幾個步驟:
生成業務規則業務人員對影響生產排程的業務策略進行收集,抽象,歸納,按照規則檔案格式配置成業務規則。
業務規則管理業務人員通過規則管理平台實現對規則的儲存,版本,廢棄,凍結等一系列的管理
執行業務規則應用程式中啟動規則引擎(服務和介面)解析執行已經編輯配置好的規則檔案,然後將結果返回給應用程式。
通過以上步驟,能夠讓整個生產排程系統快速適應企業業務策略的頻繁變更,隔離策
略變更對應用程式的影響,同時又能與主體程式進行動態通訊。主體程式動態感知業務策略的變更,將變更結果推動執行和呈現。
在製造業企業中,制約生產排程的業務規則很多,在不同的場景中業務規則的組合形式多種多樣並且規則的執行先後順序對排程結果也起著制約作用,業務規則的表現形式也是多種多樣的,如何靈活易用的配置統一格式的規則是我們關注的重點。
visualrules
的規則主要由:條件,動作,屬性等組成,乙個規則中可以包含多個組合判斷條件,也可以完成多個不同的動作。
visualrules
的規則表現形式如下:
在生產排程系統中,所有的業務規則都可以抽象為這種格式,下面以工人的技能熟練程度為例來說明生產排程系統中的業務規則配置方式
從上圖可以看出,與傳統的生產排程系統相比,基於規則引擎的生產排程系統具有以下幾點優勢:
業務邏輯與主體邏輯的分離,模組之間更加鬆散耦合,已於開發,維護和公升級
遮蔽業務策略的變化,具有更強的靈活能力和使用能力,能有效的適應策略的變化。
有效的延長應用程式的生命週期。
開發過程更加離散,各個過程可由不同的開發者進行開發,測試和部署。
基於規則引擎的生產吊系統實現了主體應用程式與業務邏輯的分離,遮蔽了生產策略變更對系統的影響。能有效降低生產排程系統的開發,維護和公升級成本,延長軟體生命週期,降低企業資訊化成本。
規則引擎如何實現生產排程系統
生產排程系統是製造企業 系統的重要組成部分,對應於生產管理系統的短期計畫安排,主要目標是通過良好的作業加工排序,最大限度減少生產過程中的準備時間,優化某一項或幾項生產目標,為生產計畫的執行和控制提供指導。在不同的問題環境中,生產排程的優化目標也不同。在生產製造企業中影響生產排程的因素很多 比如裝置 ...
規則引擎實現
隨著業務的發展規則增加 隨著業務的複雜規則複雜 隨著業務的發展規則變化不會非常大 變化也存在侷限性 實現的解決的問題 高復用 高靈活 可擴充套件 基礎方法更加簡單,實現誤區就為了高靈活性犧牲介面的效能。建立 config package目錄,儲存每個規則對應的配置資訊,實現靈活性 data publ...
生產排程系統設計(二)設計思路
一 產能演算法模型 1.對ctp 印刷 復膜 裁切的裝置產能進行量化計算,提煉出演算法模型。二 流程配置 1.對各裝置的就緒時間以及工作狀態進行維護管理,支援可配置。2.對生產任務單進行模型分析,確定對各流程完工時間的約束,並編寫演算法支援計算。三 過程計算 1.對各裝置的生產任務單進行維護記錄,支...