0 引言
制造執(zhí)行管理系統(tǒng)(Manufacturing Execution Systerm,MES)是企業(yè)信息系統(tǒng)中十分重要的環(huán)節(jié),它是位于上層的計(jì)劃管理系統(tǒng)與底層的工業(yè)控制系統(tǒng)之間的紐帶,是實(shí)施企業(yè)敏捷制造戰(zhàn)略和實(shí)現(xiàn)車(chē)間生產(chǎn)敏捷化的基本技術(shù)手段。目前MES系統(tǒng)主要應(yīng)用于流程工業(yè)和大型離散制造企業(yè),在中小型離散制造企業(yè)中應(yīng)用比較缺乏和不成熟,其中MES系統(tǒng)的可配置性差、可復(fù)用和可重構(gòu)性不強(qiáng)是原因之一。而中小型離散制造企業(yè)普遍存在制造實(shí)力弱、資金不足、管理制度不完善、基礎(chǔ)落后、技術(shù)不強(qiáng)等不足。因此,中小型離散制造企業(yè)迫切需要一個(gè)能依據(jù)企業(yè)本身需求而自由配置所需功能的MES系統(tǒng)來(lái)提高企業(yè)的信息化程度和綜合競(jìng)爭(zhēng)力。
為此,本文根據(jù)某企業(yè)的車(chē)間制造流程的實(shí)際需求,在基于.NET中的反射機(jī)制以及組件復(fù)用技術(shù)的理論基礎(chǔ)上,提出了可供中小型離散制造企業(yè)自由配置的MES配置系統(tǒng)的概念,給出了MES配置系統(tǒng)實(shí)現(xiàn)的理論基礎(chǔ)、功能模型、實(shí)現(xiàn)流程和數(shù)據(jù)庫(kù)映射圖等關(guān)鍵技術(shù)。
1 理論基礎(chǔ)
本配置系統(tǒng)主要由.NET的反射機(jī)制和組件復(fù)用技術(shù)來(lái)作為技術(shù)支撐。
1.1 反射機(jī)制
Reflection(反射)是.NET中獲取運(yùn)行時(shí)類(lèi)型信息的方式,.NET的應(yīng)用程序由幾個(gè)部分:Assembly(程序集)、Module(模塊)、class(類(lèi)型)組成,而反射提供i一種編程的方式,讓程序員可以在程序運(yùn)行期獲得這幾個(gè)組成部分的相關(guān)信息。通過(guò)反射,可以在運(yùn)行時(shí)獲得.NET中每一個(gè)類(lèi)型(包括類(lèi)、結(jié)構(gòu)、委托、接口和枚舉等)的成員,包括方法、屬性、事件,以及構(gòu)造函數(shù)等。還可以獲得每個(gè)成員的名稱(chēng)、限定符和參數(shù)等。有了反射,就能對(duì)每一個(gè)類(lèi)型了如指掌。如果獲得了構(gòu)造函數(shù)的信息,就能直接創(chuàng)建對(duì)象,即使這個(gè)對(duì)象的類(lèi)型在編譯時(shí)還不知道。反射可以動(dòng)態(tài)地創(chuàng)建類(lèi)型的實(shí)例,將類(lèi)型綁定到現(xiàn)有對(duì)象,或從現(xiàn)有對(duì)象中獲取類(lèi)型。它作為一個(gè)強(qiáng)大的工具,使開(kāi)發(fā)者能夠更加靈活地創(chuàng)建代碼,為突破已有的設(shè)計(jì)模式、實(shí)現(xiàn)工廠類(lèi)和服務(wù)端解耦、構(gòu)建復(fù)用程度更好的系統(tǒng)提供了一個(gè)契機(jī)。本文則利用反射機(jī)制來(lái)構(gòu)建軟件框架。
1.2 基于組件的軟件復(fù)用技術(shù)
組件是指可復(fù)用的軟件單元,可以被用來(lái)構(gòu)造其他軟件,它可以是被封裝的對(duì)象類(lèi)、功能模塊、軟件框架、軟件系統(tǒng)模型、軟件的文檔等。組件具有平臺(tái)和語(yǔ)言無(wú)關(guān)性,支持即插即用,是支持軟件復(fù)用的核心技術(shù)。軟件復(fù)用是指在兩次或者多次不同的軟件開(kāi)發(fā)過(guò)程中重復(fù)使用相同或者相似元素的過(guò)程。軟件復(fù)用包括兩個(gè)相關(guān)的過(guò)程:可復(fù)用組件的開(kāi)發(fā)和基于可復(fù)用組件的應(yīng)用系統(tǒng)構(gòu)造。目前較流行的比較適用于復(fù)用的組件開(kāi)發(fā)模型有CORBA、Java Bean、COM以及.NET模型。經(jīng)過(guò)對(duì)這些組件模型的研究與對(duì)比,本文最終選定以.NET中Windows Forms作為本系統(tǒng)的組件模型。Windows Forms是Microsoft的.NET開(kāi)發(fā)框架的圖形用戶(hù)界面部分,這個(gè)組件通過(guò)將現(xiàn)有的Windows API(Win32 API)封裝為托管代碼,提供了對(duì)Windows native組件的訪問(wèn)方式。使用.NETFramework的公共語(yǔ)言運(yùn)行時(shí)(CLR),組件都建立在一個(gè)共同的底層基礎(chǔ)上,不再需要復(fù)雜的管道接口,對(duì)象可以直接交互訪問(wèn),這樣非常有利于組件的自由配置。
2 功能模型
本文選取某企業(yè)的車(chē)間制造流程作為配置系統(tǒng)的功能模型,主要包括基礎(chǔ)數(shù)據(jù)管理、車(chē)間計(jì)劃管理、工段作業(yè)管理、車(chē)間人事管理、車(chē)間成本管理、車(chē)間物料管理、車(chē)間質(zhì)量管理、制造資源管理、能力平衡管理、現(xiàn)場(chǎng)數(shù)據(jù)采集和輔助分析這些功能模塊。由于本文研究的重點(diǎn)是配置功能的實(shí)現(xiàn),所以?xún)H選取其中的車(chē)間人事管理、車(chē)間物料管理以及制作資源管理來(lái)作為可復(fù)用組件設(shè)計(jì)的模型來(lái)建立可復(fù)用組件庫(kù),具體情況如圖1所示。
圖1 可復(fù)用組件庫(kù)的建立
3 軟件設(shè)計(jì)
本系統(tǒng)主要由登陸界面、可復(fù)用組件選擇界面、主窗口以及重置功能組成。登陸界面用來(lái)分配用戶(hù)的管理權(quán)限;可復(fù)用組件選擇界面供用戶(hù)根據(jù)自己的實(shí)際需求來(lái)選擇相應(yīng)的功能模塊,如果組件庫(kù)中不包含用戶(hù)所需組件,用戶(hù)也可以提出定制要求,按客戶(hù)要求設(shè)計(jì)好的組件都會(huì)放入組件庫(kù)中,隨著組件庫(kù)日益擴(kuò)大,這種無(wú)法滿(mǎn)足客戶(hù)要求的情況將會(huì)越來(lái)越少地出現(xiàn);主界面則是把所選擇的功能模塊利用反射機(jī)制動(dòng)態(tài)生成一個(gè)UI菜單,供客戶(hù)使用;重置功能是為了滿(mǎn)足同一客戶(hù)在不同階段的不同要求而專(zhuān)門(mén)設(shè)計(jì)的,也是此配置系統(tǒng)的精髓所在。可復(fù)用組件選擇好之后有保持機(jī)制,只要用戶(hù)不使用重置功能,在本軟件以后的使用過(guò)程中均無(wú)需再繁瑣地選擇功能模塊。軟件實(shí)現(xiàn)的流程如圖2所示。
4 數(shù)據(jù)庫(kù)設(shè)計(jì)
本文采用SQL數(shù)據(jù)庫(kù)來(lái)管理和配置已經(jīng)設(shè)計(jì)好的可復(fù)用組件,通過(guò)反射機(jī)制將配置信息結(jié)合起來(lái)生成一套動(dòng)態(tài)的UI菜單來(lái)完成整個(gè)MES的配置過(guò)程。主數(shù)據(jù)庫(kù)的設(shè)計(jì)包括主Menu設(shè)計(jì)以及下拉Menu設(shè)計(jì)。
圖2 軟件流程
4.1 主Menu設(shè)計(jì)
主Menu的主要功能是為了配置管理諸如車(chē)間人事管理、車(chē)間物料管理和制造資源管理這些粒度較大的功能模塊。其關(guān)系模式為Menu(ID,Name,Display,Order),其中ID為標(biāo)識(shí),也是下拉Menu配置的參考內(nèi)容之一,Name是一個(gè)唯一標(biāo)識(shí),Display是菜單顯示名稱(chēng),Order是排序依據(jù),按照由小到大的順序自左至右排列。
4.2 下拉Menu設(shè)計(jì)
下拉Menu的主要功能是為了配置和管理諸如人員管理、去向管理、倉(cāng)庫(kù)管理、出入庫(kù)管理等這些粒度較小的功能模塊。其關(guān)系模式為Feature(ID,Name,Display,Assembly,MenuID,0rder,SubFeatureID),其中ID、Name、Display和Order與主Menu類(lèi)似,Assembly為對(duì)應(yīng)的可復(fù)用組件的dll或者exe的名字;Type Name則是Windows Form的名字,主要用來(lái)簡(jiǎn)單地描述組件內(nèi)部結(jié)構(gòu);Menu ID是主Menu前面的ID,ID為多少,可復(fù)用組件就會(huì)被配置到對(duì)應(yīng)的主Menu之中;SubFeaturelD任意指定兩個(gè)組件的ID,在他們之間建立通信。
4.3 數(shù)據(jù)映射關(guān)系
SQL的數(shù)據(jù)庫(kù)映射關(guān)系如圖3所示。
圖3 數(shù)據(jù)庫(kù)映射關(guān)系
5 結(jié)語(yǔ)
本系統(tǒng)以三層架構(gòu)為基準(zhǔn)進(jìn)行總體的架構(gòu)設(shè)計(jì),以,NET框架中的Windows Forms為組件模型來(lái)設(shè)計(jì)可復(fù)用組件庫(kù),結(jié)合SQL數(shù)據(jù)庫(kù)完成對(duì)組件的管理與配置,最后利用.NET中的反射機(jī)制來(lái)抓取SQL數(shù)據(jù)庫(kù)中的可復(fù)用組件信息使其實(shí)例化后生成一組動(dòng)態(tài)的UI菜單,完成了中小型離散制造企業(yè)MES系統(tǒng)的配置,解決中小型離散企業(yè)所面臨的困境。整套系統(tǒng)經(jīng)過(guò)一段時(shí)間的測(cè)試后,得出驗(yàn)證結(jié)果:整套系統(tǒng)性能穩(wěn)定、界面簡(jiǎn)潔、可擴(kuò)展性好、可配置性強(qiáng)、簡(jiǎn)單實(shí)用、成本較低、使用靈巧,可以推動(dòng)中小型離散制造企業(yè)的制造信息化發(fā)展,提高自身的競(jìng)爭(zhēng)力。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴(lài)品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.vmgcyvh.cn/
本文標(biāo)題:基于.NET反射機(jī)制和組件復(fù)用的中小型離散制造企業(yè)MES/ERP配置系統(tǒng)研究
本文網(wǎng)址:http://www.vmgcyvh.cn/html/consultation/1082057700.html