1 引言
企業(yè)制造執(zhí)行系統(tǒng)(manufacturing execution system,MES)屬于生產(chǎn)過程與裝備信息化領(lǐng)域,是車間級(分廠級)管控系統(tǒng),是連接執(zhí)行層(作業(yè)設(shè)備、PCS)與管理層(ERP為代表)的橋梁。MES國際聯(lián)合會(MESA)定義:MES能通過信息傳遞對從訂單下達到產(chǎn)品完成的整個生產(chǎn)過程進行優(yōu)化管理。具體包括資源分配和狀態(tài)管理、工序詳細調(diào)度、生產(chǎn)單元分配、文檔控制、數(shù)據(jù)采集、勞動力管理、質(zhì)量管理、過程管理、維護管理、產(chǎn)品跟蹤管理、性能分析等11大基本功能以及運輸物流、優(yōu)化仿真、能源管理、客戶訂單管理、預(yù)先計劃功能、數(shù)據(jù)倉庫、無線通信與可移動訪問等7大支持功能。依據(jù)企業(yè)生產(chǎn)實際需求不同,各企業(yè)開發(fā)功能模塊各不相同。
甘肅某企業(yè)屬于有色冶煉企業(yè),公司致力于稀有金屬資源的開發(fā)和二次資源的再生利用2010年實現(xiàn)營業(yè)收入20億元,利潤1億元。2009年以前,生產(chǎn)管理自動化現(xiàn)狀:各生產(chǎn)車間雖然均已具備先進的PCS層控制系統(tǒng),但各控制系統(tǒng)相互獨立,生產(chǎn)信息分散;電話調(diào)度模式,信息傳遞滯后,生產(chǎn)數(shù)據(jù)人工核算、抄表統(tǒng)計為主,執(zhí)行效率質(zhì)量較低。
企業(yè)生產(chǎn)規(guī)模的不斷擴大、經(jīng)濟效益及行業(yè)地位的不斷提升,迫切需要采用兩化先進技術(shù)不斷提高勞動生產(chǎn)率,完善規(guī)范化扁平化管理,提升企業(yè)核心競爭實力。
2009年筆者所在團隊著手負責該企業(yè)MES整體規(guī)劃建設(shè)項目,該項目通過高速局域網(wǎng)絡(luò)實現(xiàn)各級生產(chǎn)管理部門對生產(chǎn)過程狀態(tài)信息的監(jiān)控。建立生產(chǎn)指揮中心,通過對各車間生產(chǎn)設(shè)備生產(chǎn)過程數(shù)據(jù)的實時采集和歷史存儲,將使整個公司的生產(chǎn)管理部門能夠?qū)崟r監(jiān)控生產(chǎn)現(xiàn)狀,追溯生產(chǎn)歷史,并可通過Internet/Intranet方式實現(xiàn)企業(yè)生產(chǎn)的遠程監(jiān)管。同時開發(fā)企業(yè)生產(chǎn)調(diào)度管理軟件。建立以生產(chǎn)運行管理為核心,以數(shù)據(jù)集成平臺為支撐,集物料信息管理,設(shè)備運行管理,生產(chǎn)運行管理和質(zhì)量管理等為一體的生產(chǎn)執(zhí)行系統(tǒng)(MES)。
2 設(shè)計要求
·系統(tǒng)功能滿足用戶實際需求。涵蓋系統(tǒng)管理數(shù)據(jù)、組織機構(gòu)、用戶管理、物料數(shù)據(jù)、質(zhì)量數(shù)據(jù)、金屬平衡數(shù)據(jù)、庫房數(shù)據(jù)、設(shè)備數(shù)據(jù)、生產(chǎn)過程數(shù)據(jù)、日志事件數(shù)據(jù)、產(chǎn)銷存數(shù)據(jù)、客戶關(guān)系數(shù)據(jù)、銷售數(shù)據(jù)等基礎(chǔ)數(shù)據(jù)及反映它們各自關(guān)系的相關(guān)數(shù)據(jù)。
·數(shù)據(jù)存取具備較高的安全性。存儲數(shù)據(jù)為企業(yè)核心業(yè)務(wù)數(shù)據(jù),必須具備較高的安全存儲及災(zāi)難恢復(fù)等級。
·較滿意的訪問速度。生產(chǎn)數(shù)據(jù)存儲量大,對數(shù)據(jù)庫性能有較高要求。必須從數(shù)據(jù)庫選型與技術(shù)手段多方面保證數(shù)據(jù)存取的訪問速度。
·適當?shù)娜嵝。用戶需求只能隨系統(tǒng)運行逐步明確,后期變化可能性較大。同時考慮后期企業(yè)EMS、ERP、CRM等系統(tǒng)接入問題,系統(tǒng)應(yīng)具備一定的柔性及可拓展能力,數(shù)據(jù)字典定義合理。
3 關(guān)鍵性問題及設(shè)計思路
依據(jù)項目實際情況,主體數(shù)據(jù)庫采用企業(yè)級Oracle9i關(guān)系數(shù)據(jù)庫系統(tǒng),同時用戶管理采用基于SQLServer的MicroSoft MemberShip管理機制。系統(tǒng)采用原型開發(fā)模式,靈活應(yīng)對變化。
數(shù)據(jù)庫柔性設(shè)計;數(shù)據(jù)操作CRUD及統(tǒng)計在數(shù)據(jù)庫內(nèi)部完成,系統(tǒng)只負責存。粩(shù)據(jù)存取訪問速度;
1、數(shù)據(jù)安全性
①登陸賬號與業(yè)務(wù)數(shù)據(jù)分開,分別采用SQLServer和Oracle9i關(guān)系型數(shù)據(jù)庫。登錄系統(tǒng)采用基于MicroSoft Membership Provider的安全存儲機制。相關(guān)部分的數(shù)據(jù)庫設(shè)計參考MemberShip建議規(guī)范。
②系統(tǒng)采用B/S瘦客戶端三層架構(gòu),選用服務(wù)器端程序開發(fā)語言及工具,同時服務(wù)器端程序與數(shù)據(jù)庫系統(tǒng)分開存放在兩臺服務(wù)器上,隔離其他非系統(tǒng)使用訪問,用戶只能通過服務(wù)器端程序訪問數(shù)據(jù)庫。
③數(shù)據(jù)庫訪問SQL語句盡量不在網(wǎng)絡(luò)中傳輸,數(shù)據(jù)庫操作在數(shù)據(jù)庫內(nèi)部完成(可封裝在PL/SQL程序中)。這樣數(shù)據(jù)庫的訪問,只是調(diào)用相應(yīng)的存儲過程,提高了網(wǎng)絡(luò)安全性。
2、訪問速度保證
①CRUD、常用統(tǒng)計、分頁語句、視圖查詢等數(shù)據(jù)庫操作PL/SQL程序封裝,降低網(wǎng)絡(luò)傳輸量的同時,提高批處理執(zhí)行能力。
②為耗時較多的大數(shù)據(jù)量計算編寫觸發(fā)器及相應(yīng)PL/SQL程序,選擇服務(wù)器閑時自動統(tǒng)計的方式。這樣用戶調(diào)用時,就不用再耗費臨時計算的時間了。
③為報表數(shù)據(jù)建立臨時表,需要調(diào)用時,將相應(yīng)數(shù)據(jù)先存至臨時表中,然后再統(tǒng)一發(fā)送至報表應(yīng)用程序中。減少網(wǎng)絡(luò)交互數(shù)據(jù)量,提高用戶體驗。
④為Oracle數(shù)據(jù)庫配置4G以上內(nèi)存,改善數(shù)據(jù)庫運行性能。
⑤在檢索數(shù)據(jù)時,多使用限制條件,明確查詢信息,提高命中率,改善存取性能。
3、適當?shù)娜嵝?/strong>
①數(shù)據(jù)庫模塊化設(shè)計,層次化,降低耦合性。每個功能做成單一模塊,模塊內(nèi)緊耦合,模塊間松散耦合。適當?shù)臄?shù)據(jù)冗余,減少表之間過度的關(guān)聯(lián)性。
②基礎(chǔ)常量字段采用Sequence自增序列方式建表,便于自拓展。
③部分表存在需求不確定性,設(shè)計時適當預(yù)留數(shù)據(jù)位,方便以后增加新的功能。
④使用PowerDesigner、Toad、StarUML等快速建模工具,做好數(shù)據(jù)庫設(shè)計思想及建庫代碼的備份,同時定期備份數(shù)據(jù)庫數(shù)據(jù),便于快速恢復(fù)及更新數(shù)據(jù)庫。
4 數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計
在明確設(shè)計思路及方法后,我們嚴格依據(jù)數(shù)據(jù)庫設(shè)計一般原則及項目特點,進行了數(shù)據(jù)庫的整體規(guī)范化設(shè)計。主要分為表結(jié)構(gòu)及其關(guān)聯(lián),視圖、存儲過程、觸發(fā)器等幾個主要方面。
涉及基礎(chǔ)物料的表有Tag(物料編號表)、Unit(物料單位表)、Section(物料階段表,原料、產(chǎn)品、中間料等)、Category(物料類別表)、State(物料狀態(tài)表)、Frequency(統(tǒng)計頻次表)、Statype(統(tǒng)計類型表)等。涉及化驗指標的表有Quatity(指標編碼表)、Q_unit(指標單位表)、Quacat(指標類別表)、Specifica(合格標準表)、Operator(操作符號表)等。其他關(guān)聯(lián)表還有Deptaginfo(部門車間物料信息表)、Deptagqua(部門車間指標信息表)、Quarecord(指標數(shù)據(jù)記錄表)、Tagrecord(物料數(shù)據(jù)記錄表)等。Deptaginfo表與Deptagqua表定義特定機構(gòu)的物料及化驗指標數(shù)據(jù)字典,與基礎(chǔ)數(shù)據(jù)表存在多項關(guān)聯(lián),方便減少冗余數(shù)據(jù),保證數(shù)據(jù)唯一性。Tagrecord表與Quarecord表讀取操作頻繁,而且隨日積月累數(shù)據(jù)行數(shù)量較大,應(yīng)盡量較少此類表查詢關(guān)聯(lián),適當增加字段冗余。同時為常用查詢功能建立關(guān)聯(lián)視圖,提高訪問效率。
5 存儲過程設(shè)計
數(shù)據(jù)庫表空間的CRUD(創(chuàng)建、檢索、更新、刪除)操作,分頁操作,自動統(tǒng)計(年、月、日頻次。求和、求平均、最大、最小、方差、盤庫等方式)等操作,統(tǒng)一封裝在PL/SQL存儲過程中,這樣不需要在程序中傳遞SQL語句。客戶端調(diào)用時,只需要程序傳遞至Oracle數(shù)據(jù)庫相應(yīng)的存儲過程名及運行參數(shù)信息,PL/SQL程序就會自動以批處理的執(zhí)行速度進行數(shù)據(jù)庫操作,并將操作結(jié)果統(tǒng)一發(fā)送至應(yīng)用程序。這樣,網(wǎng)絡(luò)交互次數(shù)及數(shù)據(jù)量大大減少,最大限度降低網(wǎng)絡(luò)傳輸冗余信息量。同時對于問題查找和后期維護都帶來方便。
僅以通過物料類別ID查找部門物料信息的PL/
這樣,應(yīng)用程序傳遞給數(shù)據(jù)庫的參數(shù)就只有PL/SQL程序名及p_CAT_ID一個參數(shù),數(shù)據(jù)庫處理后,就可以直接將查詢結(jié)果返回給應(yīng)用程序。數(shù)據(jù)交互變得簡單和高效率。筆者在該項目中,共建立了400多個不同功能的PL/SQL存儲過程序。降低了持久化層應(yīng)用程序與底層數(shù)據(jù)庫之間的耦合關(guān)系,使持久化層的編寫以及數(shù)據(jù)訪問、調(diào)用關(guān)系變得明了,簡單。其他PL/SQL程序類似,不在贅述。
6 觸發(fā)器設(shè)計(上圖、上代碼)
對于某些耗時較多的大數(shù)據(jù)量處理任務(wù),各自采用具備針對性的技術(shù)手段。例如大數(shù)據(jù)量報表檢索交互處理采用臨時表空間的方式,而大數(shù)據(jù)量計算統(tǒng)計處理,在項目中采用設(shè)計觸發(fā)器程序,并設(shè)定服務(wù)器閑時自動執(zhí)行計算的方式進行處理。這樣,客戶端訪問較為頻繁的時候,盡量使數(shù)據(jù)庫服務(wù)器資源僅供數(shù)據(jù)交互使用,降低服務(wù)器負載。而在基本無用戶訪問需求的時間段(比如凌晨),數(shù)據(jù)庫服務(wù)器在進行相應(yīng)的自計算、自統(tǒng)計處理,合理高效利用服務(wù)器資源。
僅以庫房自動盤點程序為例,首先將相應(yīng)分操作設(shè)計為不同的PL/SQL程序。例如DAILY_CLEAR STORE(V_DATE)負責進行每日庫存增量計算,MONTH_CLEAR_STORE(V_DATE,V_STARTDAY)負責進行每月庫存凈增量計算,MONTHTONOW_CLEAR_STORE(V_DATE,V_STARTDAY)負責進行月初至今庫增量計算,YART_CLEAR_CLEAR_STORE(V_DATE,V_STARTDAY),STORE_BALANCE(V_DATE,V_STARTDAY)負責將最終庫存盤點的結(jié)果寫會數(shù)據(jù)庫指定位置,供用戶調(diào)用。然后指定一段存儲過程統(tǒng)領(lǐng)這些PL/SQL程序段執(zhí)行數(shù)據(jù)及參變量。
然后就可以設(shè)定觸發(fā)器JOB程序定時調(diào)用DailyJob存儲過程程序。
這樣,每日凌晨四點,觸發(fā)器便可以自行調(diào)用相應(yīng)的存儲過程,在用戶早晨上班前,將需要處理的大量統(tǒng)計數(shù)據(jù)計算生成完畢,供用戶快速調(diào)用查看,從而滿足用戶對于較快人機交互體驗的需求。
7 實施效果
在該系統(tǒng)研發(fā)過程中,數(shù)據(jù)庫結(jié)構(gòu)合理,各模塊分工明確,有較好的可拓展性,滿足了原型化開發(fā)過程中,用戶需求的易變性與系統(tǒng)開發(fā)的連續(xù)性、穩(wěn)定性,收到較好效果。目前該項目已通過驗收,在數(shù)據(jù)安全性、系統(tǒng)穩(wěn)定性、訪問速度等方面用戶使用效果良好,項目團隊正在就進一步的推廣應(yīng)用總結(jié)經(jīng)驗,以期更好的貼合用戶實際需求,最大限度滿足企業(yè)用戶的需求。
8 結(jié)束語
當今企業(yè)越來越多的意識到企業(yè)制造執(zhí)行系統(tǒng)MES實施對于企業(yè)發(fā)展、扁平管理和效益提升的重要性與必要性。本文以實際MES項目為例,著重闡述了相關(guān)項目中關(guān)系數(shù)據(jù)庫設(shè)計的若干思路及解決辦法。存在較好的通用性和行業(yè)推廣價值,有著一定的實施借鑒意義。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.oesoe.com/
本文標題:有色冶化企業(yè)MES軟件開發(fā)中數(shù)據(jù)庫設(shè)計與應(yīng)用
本文網(wǎng)址:http://www.oesoe.com/html/solutions/1401934104.html