基於MES的生產管理系統應用
隨著資訊科技的發展和應用,資訊系統在企業中的使用也越來越廣泛。不僅可以使企業內部和企業間的資訊流通更為便捷和頻繁,同時可以提高管理的水平,有助於提高企業的生產效益。
企業資訊系統主要涉及三個層面:計劃層、執行層和控制層。在計劃層上,各類企業資源計劃ERP(Enterprise ResourcesPlanning)系統迅速普及;在控制層可程式設計控制器PLC(Programmable LogicController),集散型控制系統DCS(Distributed ControlSystem)得到大量應用。但是在執行層,生產過程中無法得到切實可行的作業計劃做指導;工廠管理人員和操作人員難以在生產過程中跟蹤產品的狀態資料、不能有效地控制在製品庫存,而使用者在交貨之前無法瞭解定單的執行狀況。針對這種狀況,1990年11月,美國的調查諮詢公司AMR(AdvancedManufacturing Research)首次提出製造執行系統MES(Manufacturing Execution System)的概念。
1 MES系統
1.1 MES的概念
MES是美國管理界20世紀90年代提出的新概念。美國先進製造研究機構AMR通過對大量企業的調查發現於1992年提出的三層的企業資訊系統整合模型(如圖1)。
圖1 AMR的三層企業整合模型
MES國際聯合會對MES的定義:MES能通過資訊傳遞對從訂單下達到產品完成的整個生產過程進行優化管理。當工廠發生實時事件時,MES能對此及時作出反應、報告,並用當前的準確資料對它們進行指導和處理。這種對狀變化的迅速響應使MES能夠減少企業內部沒有附加值的活動,有效地指導工廠的生產運作過程,從而使其既能提高工廠及時交貨能力,改善物料的流通效能,又能提高生產回報率。MES還通過雙向的直接通訊在企業內部和整個產品供應鏈中提供有關產品行為的關鍵任務資訊。
1.2 MES的功能
MES的各功能模型與企業其它資訊化系統的關係如圖2。
圖2 MES的各功能模型與企業其他資訊化系統的關係
實際的ME5產品可能同時包含了其中一個或幾個功能模組。
我國對MES的研究開發起步較晚,目前主要停留在MES思想、內涵及體系結構方面的研究上,應用系統開發一般侷限於MES單一功能。
1.3 基於MES的生產管理系統
通過對某航空企業車間生產管理特點和MES功能本質的分析,提出了企業資訊系統的三層結構(企業資源計劃、製造執行系統、現場控制系統)的資訊化管理方案。
控制層:主要負責生產過程的自動控制與現場資料的採集與初步分析。以PLC作為過程狀態和工藝、質量引數採集的基本單元,以AS2I匯流排和工業現場匯流排構成基本網路。
執行層:主要功能是動態的生產排程、生產過程實時監控和現場資料的分析。MES系統主要由MES軟體、MES資料庫伺服器、MES排程臺、車間作業資訊顯示屏等構成,採用星型拓撲結構的工業乙太網絡聯接;該網路連線集中於中央節點,便於網路維護和資源配置,當網路中一個節點出現故障時,易於進行隔離檢測和維護,不會對其他節點造成很大影響,不會導致整個網路的崩潰。同時網路節點的接線方式也便於系統的監控和管理。
計劃層:即企業資源計劃,主要進行管理決策與生產計劃,重點突出ERP管理平臺的建設。
從企業資訊化構架上來說,MES作用於上層的ERP管理系統與現場控制系統之間;在功能上,MES要實現生產管理和協調的目的。
通過對某航空企業車間生產管理特點的分析,採用H/5模式以及ASP. NET C#SQLServer2000設計開發基於MES的生產管理系統。介紹該系統的設計原理、軟硬體結構圖,著重分析說明計劃管理系統的開發過程、技術關健及具體實現方法和執行結果。該系統為某航空企業的車間實施計算機管理、提高生產效率提供了有效的工具。
2 系統設計
目前,企業資訊系統一般採用C/S(Client/Server)和B/S(Brower/Server)兩種架構模式。由於生產現場條件的限制,採用Cl5模式對系統硬體的配置要求高、成本大;同時C/S較B/S相比維護工作量大、系統升級麻煩、系統開發維護成本較高,因此係統採用了B/S體系結構,以C#和.NET作為主要開發工具,後臺資料庫採用SQLServer。開發完成的系統及資料庫安裝在WEB伺服器,通過IIS釋出到網際網路上,生產車間和上層管理人員在辦公室通過企業內部網路瀏覽器向WEB伺服器發出請求,WEB伺服器上的IIS服務再根據使用者請求,執行相應的操作,並將結果生成HTML檔案傳送到客戶端(如圖3)。
圖3 Web應用程式響應客戶端請求過程圖
2.1 硬體環境
根據某研究所對資料處理和資料傳輸的要求,及資料處理量的要求結合企業實際資料處理量、現有的硬體資源和部門特點,為企業設計的系統硬體結構(如圖4)。系統部署在管理大樓的系統伺服器上。管理大樓內的終端使用者可通過中心交換機直接訪問系統伺服器,廠房內的終端使用者通過前置交換級與中心交換機進行級聯,從而訪問系統伺服器。
圖4 系統硬體結構圖
該系統通過對各個生產單元的資料採集和反饋,組成覆蓋全部門的滿足閉環管理需要的開放式乙太網絡。系統以資料庫伺服器為核心,進行實時資料存取和比照,產生各類統計分析報表,實現生產資訊的監視、控制和生產過程的管理,提供標準網際網路的瀏覽查詢和資料索取。
2.2 軟體架構
系統採用基於.NET的B/S軟體構架進行開發故整個系統採用標準的三層體系架構(WEB表示層、業務邏輯層、資料訪問層)以實現軟體功能模組化、模組介面標準化、資料格式統一化。
圖5 系統軟體架構
WEB表現層是系統功能的顯示介面,同時提供系統與使用者互動的介面。表示層主要包括安全認證模組和頁面顯示模組。安全認證模組主要對使用者的身份和訪問許可權進行認證,確保使用者不能越界工作;頁面顯示模組由ASPX或HTML頁面組成,負責接收使用者的請求與輸入資料。整個表示層採用XML描迷,程式執行時進行解析,方便以後進行修改。業務邏輯層的控制機制引人了有限狀態自動機,通過狀態機來控制業務流的流動執行,有效控制了業務流的邏輯性和順序性。它是製造執行系統的重要組成部分,具體實現產品生產計劃的制訂、執行以及對產品資料的跟蹤與處理。資料訪問層主要完成系統與後臺資料庫之間的互動,該層由資料訪問模組和業務資料組成。資料訪問模組封裝對資料庫的具體操作,接收業務處理模組的資料訪問請求,並將操作結果以業務資料的形式返還給業務處理模組。
根據某航空研究所某部門的實際需求,採用了基於XML介面自動生成技術。即採用介面解析器解析介面描述XML文件。介面解析器是一種事件驅動的用來解析XML文件的程式設計介面。圖6闡述了從介面解析器事件建立.net使用者自定義元件物件的過程。
圖6 一個介面解析器向用戶介面傳送事件
Framwork類實現了錯誤處理和文件處理的介面,提供了一種更簡單的方式處理介面事件。FramworkDescriptor類中build方法負責初始化XML文件的解析,初始化過程又將引發一系列的事件發生,這些事件將引導介面元件的構造過程。在build方法中,先將介面解析器的內容處理介面設定為FramworkDescriptor類,由此指示解析器向這個類傳送所有事件。再通過呼叫該解析器的parse()方法初始化XML文件的解析過程。在parse()方法中用建構函式中指定的XML檔案建立一個XmlDocument物件,然後再建立一個XmlNodeReader用它來讀入介面描述XML文件。當文件的解析過程開始時,事件將被逐個啟用。當遇到每一個元素時,就呼叫已經重寫的startElement方法,訪問元素的名稱以及附加在元素上的屬性列表。
基於XML介面自動生成技術不僅實現了表現層和業務層的分離,提高了程式的可維護性和可重用性,而且通過修改介面描述的XML文件,可以在不重新編譯的情況下實現對使用者介面的修改,同時減少了介面開發中重複性的工作,提高效率。
2.3 資料訪問
系統中所有的資料都儲存在資料庫SQLServer2000中,採用ADO. NET訪問和操作資料庫。ADO.NET用於多層應用程式,實當今資訊系統應用程式最常見的體系結構。與傳統的ADO資料訪問方式有本質區別,ADO使用OLEDB介面並基於COM技術,而ADO. NET擁有自己的ADO. NET介面,基於Microsoft公司的.NET體系架構。組成ADO.NET的類分為兩大型別,即為.NET資料提供物件和使用者物件。其中,提供物件用於完成資料從資料來源的讀取和寫入等實際操作,當資料被讀到儲存介質後,再由使用者物件完成資料的訪問和操作等。提供物件包括Connection、Command、CommandBuilder、DataReader和DataAdapter等,使用者物件包括DataSet、DataTable、DataColumn、Datallow和DataRelation等。Dataset類是ADO. NET斷開式結構的核心元件,用來實現獨立於任何資料來源的資料訪問。
關係模型是目前最流行的資料庫模型,下面介紹目前關係資料庫持久化物件資料的結構。
圖7中所採用的方法是在SQL程式碼是嵌入在domain/business類中,這種策略是針對小型系統能快速開發。但是它的缺點也是很顯然的,SQL程式碼是寫在原始碼中,這就意味著任何一個簡單的改變例如改變資料庫中表的一個列名,則必須修改原始碼。這種修改對於一個小型系統尚可接受,如果對於大中型系統,這種缺陷是極為嚴重的。
圖7 SQL程式碼嵌在業務邏輯中
結合某航空研究所某部門的實際需要,採用圖8的方法,即將business類的sqL程式碼寫在獨立的一個或多個數據類中或在儲存過程中。這種方法相對於把SQL程式碼嵌入在domain/business類中有了很大的進步,但是這種方法同樣也只適用於busines,類小於40至50個左右的中小型系統。這種方法做到了壓縮原始碼,而把處理SQL放置在了資料層。
圖8 SQL與業務邏輯的分離
2.4 報表設計
CrystalReports可以快速方便的建立複雜且具有專業外觀和簡報質量的互動式報表,具有功能強大、效能穩定、操作便捷等特點。通過將CrystalReports報表處理功能整合到系統的資料庫應用程式中,應用程式節省開發時間並滿足使用者的需求。在VisualStudio. NetIDE中,Crystal報表專家可以基於實際需要方便快捷地設計報表。用Crystal ReportsDesigner設計報表,首先,要確定報表的資料來源,通過報表設計選項卡對報表中要顯示的資料進行佈局設定,並將報表儲存為報表檔案(.rpt);其次,在頁面上需要顯示報表的地方新增CrystalReportViewer控制元件;最後,在需要顯示報表的時候,用程式程式碼將控制元件與要顯示的報表繫結起來。Crystal Reports的使用簡化了系統報表設計的過程,且通過使用CrystalReports提供的其它功能,便於實現報表列印、頁面導航等。
2.5 許可權的設計
根據系統模組,將系統角色進行劃分。設定系統管理員維護使用者表,使用者表中有設定每個使用者的使用者名稱、密碼。使用者名稱和密碼提供系統安全性,即使用者登入時要提供合法帳號。同時系統管理員來分配使用者所具有的角色,不同的角色具有不同的功能,系統會根據使用者擁有的角色自動載入使用者具有的選單,選單代表著不同的功能許可權,從而達到許可權控制的目的。
3 系統功能實現
下面以某航空研究所某部門專案為例,提供一個基於XML的介面自動生成的實現方案。
生產計劃制定功能模組主要完成生產計劃的制定。該計劃包含8個子計劃,子計劃有一定的順序。
在“生產計劃制定”介面上提供了10個與子計劃相關的元件,其中8個元件都是筆者自定義的Tri-Table元件。position屬性值是盛放元件的容器名。使用XML語言描述的“生產計劃制定”使用者介面如圖9所示:
圖9 生產計劃制定介面
4 結 論
結合某航空研究所某部門的實際需要,採用.NET和SQL Server2000資料庫技術設計開發的基於MES的生產管理系統,基本上滿足了企業的需求。其不僅有助於不斷完善企業的資訊化建設,更為有效的是提高了車間的生產效率,節省原料和能源量消耗,並降低產成品庫存量,提高產能。
MES研究開發和應用在國內還處於起步階段,選擇合適的MES開發工具,開發出適應於我國企業的MES軟體產品,實現企業資訊系統的緊密整合,進而提出我國企業MES的技術規範與實施標準,對提升我國企業資訊化的水平,增強與國際先進企業的競爭力,都具有著重要的意義。