规则引擎实现生产调度系统
??? 生產(chǎn)調(diào)度系統(tǒng)是制造企業(yè)MES系統(tǒng)的重要組成部分,對(duì)應(yīng)于生產(chǎn)管理系統(tǒng)的短期計(jì)劃安排,主要目標(biāo)是通過良好的作業(yè)加工排序,最大限度減少生產(chǎn)過程中的準(zhǔn)備時(shí)間,優(yōu)化某一項(xiàng)或幾項(xiàng)生產(chǎn)目標(biāo),為生產(chǎn)計(jì)劃的執(zhí)行和控制提供指導(dǎo)。在不同的問題環(huán)境中,生產(chǎn)調(diào)度的優(yōu)化目標(biāo)也不同。在生產(chǎn)制造企業(yè)中影響生產(chǎn)調(diào)度的因素很多(比如設(shè)備、工人的生產(chǎn)技能等),這些因素樣式復(fù)雜,種類繁多,靈活多變。另外在不同的環(huán)境下,影響生產(chǎn)調(diào)度的規(guī)則數(shù)量、優(yōu)先級(jí)都會(huì)發(fā)生變化。
????? 去生產(chǎn)調(diào)度系統(tǒng)將業(yè)務(wù)邏輯與主體代碼緊耦合,業(yè)務(wù)規(guī)則以:
?????????????????????? IF ELSETHEN
?
的形式被硬編碼到代碼中去,結(jié)果是線性、確定的執(zhí)行路由,所有的約束和判斷都按照建模時(shí)的約定執(zhí)行。當(dāng)業(yè)務(wù)規(guī)則發(fā)生變更時(shí),唯一的途徑是修改代碼。這種形式無法適應(yīng)制
造企業(yè)生產(chǎn)規(guī)則的頻繁變更,導(dǎo)致生產(chǎn)調(diào)度系統(tǒng)的開發(fā)、升級(jí)和維護(hù)成本急劇增加,甚至生產(chǎn)調(diào)度系統(tǒng)完全無法適應(yīng)企業(yè)的實(shí)際需求。因此生產(chǎn)調(diào)度系統(tǒng)在保證對(duì)目標(biāo)優(yōu)化的前提下,將業(yè)務(wù)邏輯與主體程序的分離,已成為生產(chǎn)調(diào)度系統(tǒng)首要解決的問題。本文著重闡述通過規(guī)則引擎技術(shù)將生產(chǎn)規(guī)則邏輯從生產(chǎn)調(diào)度系統(tǒng)分離,克服生產(chǎn)規(guī)則靈活變更導(dǎo)致生產(chǎn)調(diào)度系統(tǒng)無法適應(yīng)企業(yè)生產(chǎn)策略變更的問題。
??? 目前開源和商業(yè)的規(guī)則引擎產(chǎn)品有很多,其中開源的以Drools為代表,商業(yè)的有ILog,ViaualRules等,本文以商業(yè)規(guī)則引擎VisualRules來說明。說句題外話,開源的產(chǎn)品有開源產(chǎn)品的優(yōu)點(diǎn),但是規(guī)則引擎作為一個(gè)高端的應(yīng)用來說,還是希望在售后服務(wù),技術(shù)支持等方面能有商業(yè)化的保障。
?
??? 在制造企業(yè)中,生產(chǎn)策略的變更非常頻繁并且影響生產(chǎn)調(diào)度系統(tǒng)的業(yè)務(wù)策略很多,而傳統(tǒng)的生產(chǎn)調(diào)度系統(tǒng)將業(yè)務(wù)邏輯與生產(chǎn)調(diào)度邏輯緊密耦合,導(dǎo)致高系統(tǒng)的開發(fā),維護(hù)都變得異常艱難。因此如何將業(yè)務(wù)邏輯與主體程序分離,屏蔽業(yè)務(wù)策略變更對(duì)主體程序的影響,則成為生產(chǎn)調(diào)度系統(tǒng)的關(guān)鍵問題。
?
??? 基于規(guī)則引擎的生產(chǎn)調(diào)度系統(tǒng)架構(gòu)設(shè)計(jì)的核心是實(shí)現(xiàn)業(yè)務(wù)邏輯與應(yīng)用程序解耦。它的實(shí)現(xiàn)方案可分為以下幾個(gè)步驟:
?
?
通過以上步驟,能夠讓整個(gè)生產(chǎn)調(diào)度系統(tǒng)快速適應(yīng)企業(yè)業(yè)務(wù)策略的頻繁變更,隔離策
?
略變更對(duì)應(yīng)用程序的影響,同時(shí)又能與主體程序進(jìn)行動(dòng)態(tài)通信。主體程序動(dòng)態(tài)感知業(yè)務(wù)策略的變更,將變更結(jié)果推動(dòng)執(zhí)行和呈現(xiàn)。
?
??? 在制造業(yè)企業(yè)中,制約生產(chǎn)調(diào)度的業(yè)務(wù)規(guī)則很多,在不同的場(chǎng)景中業(yè)務(wù)規(guī)則的組合形式多種多樣并且規(guī)則的執(zhí)行先后順序?qū)φ{(diào)度結(jié)果也起著制約作用,業(yè)務(wù)規(guī)則的表現(xiàn)形式也是多種多樣的,如何靈活易用的配置統(tǒng)一格式的規(guī)則是我們關(guān)注的重點(diǎn)。
?
??? VisualRules的規(guī)則主要由:條件,動(dòng)作,屬性等組成,一個(gè)規(guī)則中可以包含多個(gè)組合判斷條件,也可以完成多個(gè)不同的動(dòng)作。
??? VisualRules的規(guī)則表現(xiàn)形式如下:
?
??? 在生產(chǎn)調(diào)度系統(tǒng)中,所有的業(yè)務(wù)規(guī)則都可以抽象為這種格式,下面以工人的技能熟練程度為例來說明生產(chǎn)調(diào)度系統(tǒng)中的業(yè)務(wù)規(guī)則配置方式
?
?
從上圖可以看出,與傳統(tǒng)的生產(chǎn)調(diào)度系統(tǒng)相比,基于規(guī)則引擎的生產(chǎn)調(diào)度系統(tǒng)具有以下幾點(diǎn)優(yōu)勢(shì):
?
?
?
基于規(guī)則引擎的生產(chǎn)吊系統(tǒng)實(shí)現(xiàn)了主體應(yīng)用程序與業(yè)務(wù)邏輯的分離,屏蔽了生產(chǎn)策略變更對(duì)系統(tǒng)的影響。能有效降低生產(chǎn)調(diào)度系統(tǒng)的開發(fā),維護(hù)和升級(jí)成本,延長(zhǎng)軟件生命周期,降低企業(yè)信息化成本。
?
總結(jié)
以上是生活随笔為你收集整理的规则引擎实现生产调度系统的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 可编程SoC(SoPC),什么是可编程S
- 下一篇: HarmonyOS应用开发系列课(进阶篇