在CIMS體系的三層結(jié)構(gòu)中,MES系統(tǒng)軟件作為聯(lián)系制造行業(yè)管理層與過程控制層之間的紐帶,在提高企業(yè)生產(chǎn)效率和管理水平,、改善產(chǎn)品質(zhì)量,、降低生產(chǎn)損耗和節(jié)能減排等方面起著至關(guān)重要的作用,。在近十幾年,,MES系統(tǒng)軟件在國(guó)外的大中小企業(yè)中得到了很快的推廣和應(yīng)用,,特別是一些大型的跨國(guó)企業(yè),,已經(jīng)有了非常成熟的產(chǎn)品和應(yīng)用經(jīng)驗(yàn),。國(guó)內(nèi)在MES系統(tǒng)軟件的研究與應(yīng)用方面起步較晚,,但受到ERP等思想廣泛推廣的影響,很多企業(yè)已經(jīng)注意到了它對(duì)生產(chǎn)的重大影響力,,所以目前在國(guó)內(nèi)發(fā)展迅速,,特別在流程等行業(yè)已經(jīng)有了突破性的發(fā)展。
MES系統(tǒng)軟件平臺(tái)是以裝配生產(chǎn)線為背景而開發(fā)的MES系統(tǒng)軟件通用軟件,,以現(xiàn)有的MES系統(tǒng)軟件平臺(tái)的經(jīng)驗(yàn)及我們?cè)谘b配制造系統(tǒng)開發(fā)方面的經(jīng)驗(yàn),,實(shí)現(xiàn)裝配車間的數(shù)字化管理。平臺(tái)的核心是基于事件的處理機(jī)制,,所有的生產(chǎn)過程,、生產(chǎn)環(huán)節(jié)、操作都被描述成事件,,通過對(duì)事件的處理來(lái)實(shí)現(xiàn)車間生產(chǎn)過程的管理,。目前平臺(tái)已經(jīng)基本開發(fā)完成,但是性能尚不能滿足企業(yè)的實(shí)際需要,,需要對(duì)平臺(tái)優(yōu)化,,達(dá)到進(jìn)行實(shí)際應(yīng)用的目的。因此,,本文針對(duì)MES系統(tǒng)軟件平臺(tái)性能問題,,引入并發(fā)處理機(jī)制對(duì)平臺(tái)的核心功能進(jìn)行優(yōu)化,,為MES系統(tǒng)軟件的實(shí)際應(yīng)用打下基礎(chǔ),。
平臺(tái)架構(gòu)以及關(guān)鍵服務(wù)
MES系統(tǒng)軟件平臺(tái)由基礎(chǔ)服務(wù)、模型創(chuàng)建,、生產(chǎn)管理套件,、質(zhì)量分析套件、效率分析套件,、報(bào)表統(tǒng)計(jì)套件等模塊構(gòu)成,。MES系統(tǒng)軟件體系結(jié)構(gòu)中所有的功能都是以平臺(tái)服務(wù)為基礎(chǔ)運(yùn)行的,實(shí)現(xiàn)生產(chǎn)事件到客戶端的發(fā)布,。平臺(tái)服務(wù)是整個(gè)平臺(tái)的核心,,是平臺(tái)設(shè)計(jì)與開發(fā)的重點(diǎn)。車間生產(chǎn)過程中的事件按照類型被分成四大類:計(jì)劃類,、生產(chǎn)類,、報(bào)警類、廢品類,具體包括上線事件,、下線事件,、缺料事件、廢料事件,、廢品事件,、異常事件。
信息網(wǎng)關(guān)服務(wù)(Gate Way),、服務(wù)事件監(jiān)控服務(wù)(Event Man.ager),、數(shù)據(jù)采集服務(wù)(Data Reader)為平臺(tái)的關(guān)鍵服務(wù),其它服務(wù)都是構(gòu)建在這三個(gè)服務(wù)之上進(jìn)行擴(kuò)展后得到的,,這三個(gè)關(guān)鍵服務(wù)間的通信均采用消息總線進(jìn)行信息交換,。整個(gè)服務(wù)的運(yùn)行機(jī)制是以事件觸發(fā)機(jī)制為基礎(chǔ)的,,并通過實(shí)時(shí)監(jiān)測(cè)特定數(shù)據(jù)源的標(biāo)簽值的變化來(lái)感知事件的發(fā)生,,并利用信息網(wǎng)關(guān)服務(wù)將事件發(fā)布到事件的訂閱方。其中服務(wù)事件監(jiān)控服務(wù)為事件處理的關(guān)鍵服務(wù),。事件管理服務(wù)通過事件模型的配置信息,,獲得相關(guān)的事件觸發(fā)條件及事件發(fā)生時(shí)調(diào)用的業(yè)務(wù)處理過程,,并通過數(shù)據(jù)讀取服務(wù)采用多線程技術(shù)動(dòng)態(tài)監(jiān)測(cè)相關(guān)標(biāo)簽的變化,當(dāng)滿足事件觸發(fā)條件后,,觸發(fā)相應(yīng)的業(yè)務(wù)處理過程,。業(yè)務(wù)處理過程根據(jù)生產(chǎn)的狀態(tài)及業(yè)務(wù)規(guī)則進(jìn)行業(yè)務(wù)處理,同時(shí)為了通知MES系統(tǒng)軟件的客戶端,,將信息發(fā)布到消息隊(duì)列中,然后等待其它處理過程,。
平臺(tái)優(yōu)化的實(shí)現(xiàn)
目前MES系統(tǒng)軟件平臺(tái)的處理機(jī)制在MES系統(tǒng)軟件平臺(tái)的關(guān)鍵服務(wù)中,,事件的處理機(jī)制為順序處理,所有事件排隊(duì),,遵循FIFO原則,。在平臺(tái)建立企業(yè)的產(chǎn)品模型、工廠模型及生產(chǎn)事件模型后,,進(jìn)行生產(chǎn)計(jì)劃接收,、生產(chǎn)指令下達(dá),這個(gè)過程的完成觸發(fā)了相應(yīng)的生產(chǎn)事件,,接下來(lái)就由服務(wù)事件監(jiān)控服務(wù)進(jìn)行處理,。如果一個(gè)生產(chǎn)事件被觸發(fā),服務(wù)事件監(jiān)控服務(wù)將會(huì)通過數(shù)據(jù)采集服務(wù)獲得這一事件,。經(jīng)過判斷,,如果滿足某些事件觸發(fā)條件,則進(jìn)入事件處理流程。
在事件處理流程中,,事件相關(guān)數(shù)據(jù)首先將進(jìn)入一個(gè)列表中,,和其它事件一起按順序被取出,事件的排列順序完全遵守平臺(tái)的配置順序,。在接下來(lái)的處理過程中,,這些事件被逐一取出,按照不同的事件類型分類,,進(jìn)行不同的處理,,而所有的處理過程全部由主線程來(lái)完成,處理完成后,,平臺(tái)繼續(xù)監(jiān)測(cè)生產(chǎn)事件的發(fā)生,,重復(fù)整個(gè)處理過程。因?yàn)橹挥幸粋€(gè)線程在處理數(shù)據(jù),,所以數(shù)據(jù)等待的時(shí)間很長(zhǎng),,這就是影響平臺(tái)性能的主要問題。如果引入多線程并發(fā)處理機(jī)制,,一定能夠大幅度提高平臺(tái)性能,。
性能優(yōu)化方案
并發(fā)的概念很早就已經(jīng)出現(xiàn)(尤其是多任務(wù)操作系統(tǒng)的出現(xiàn)),并發(fā)在提高系統(tǒng)資源的有效利用率和改進(jìn)軟件的性能方面具有較大的優(yōu)勢(shì),。相對(duì)于順序結(jié)構(gòu),,并發(fā)結(jié)構(gòu)可以同時(shí)進(jìn)行多項(xiàng)工作,加快處理速度,,在更短的時(shí)間內(nèi)或在相同的時(shí)間內(nèi)解決更多的問題,。而且并發(fā)結(jié)構(gòu)節(jié)省投入,可以以較低的投入完成順序計(jì)算的任務(wù),。在某些情況下,,也只有采用并發(fā)結(jié)構(gòu)才能達(dá)到目標(biāo)要求。但是并發(fā)結(jié)構(gòu)的執(zhí)行必須要考慮同步,、沖突等問題,,因此,如何實(shí)現(xiàn)進(jìn)程間相互作用控制,,例如對(duì)共享資源存取的同步控制及通訊控制便成為一個(gè)關(guān)鍵問題,。
目前并發(fā)處理系統(tǒng)的構(gòu)架主要采用基于線程的并發(fā)控制技術(shù),其中包括同步多線程技術(shù)和異步多線程技術(shù),?;谕蕉嗑€程的并發(fā)結(jié)構(gòu)主要有主/從(Boss/WoOer)、對(duì)等(Peer)和流水線(Pipene)三種,。多線程也帶來(lái)了線程同步,、上下文切換等開銷,,基于事件的并發(fā)控制,即異步多線程技術(shù),,可以省去這些開銷,,它利用操作的異步執(zhí)行來(lái)提高系統(tǒng)并發(fā)性。然而,,大多數(shù)操作系統(tǒng)都沒有很好的異步L/0支持,,而且異步操作會(huì)使得程序難于編寫和維護(hù)。
對(duì)于MES系統(tǒng)軟件平臺(tái)的事件處理,,因?yàn)樘幚頃r(shí)采用相同的方法,,所以比較適合采用對(duì)等結(jié)構(gòu)的并發(fā)處理方法,同時(shí)根據(jù)平臺(tái)的實(shí)際處理情況加入一定的規(guī)則,。例如,,對(duì)現(xiàn)在的平臺(tái)可以根據(jù)事件的類型分別建立對(duì)應(yīng)的線程:計(jì)劃事件、生產(chǎn)事件,、廢品事件,、報(bào)警事件。各類事件可以定義優(yōu)先級(jí)來(lái)避免沖突,,如報(bào)警事件應(yīng)該先處理,,所以定義為高優(yōu)先級(jí),生產(chǎn)事件數(shù)量大,,可以定義為一般優(yōu)先級(jí),,等等。在生產(chǎn)的過程中也有一些生產(chǎn)規(guī)則需要遵守,,例如,,車間實(shí)際生產(chǎn)時(shí),首先要建立生產(chǎn)計(jì)劃,,然后才能進(jìn)行生產(chǎn)操作,。所以,首先出發(fā)的應(yīng)該是計(jì)劃事件,,計(jì)劃事件進(jìn)程應(yīng)該擁有高的優(yōu)先級(jí)。在生產(chǎn)過程中,,出現(xiàn)廢品和報(bào)警事件時(shí)需要及時(shí)處理,,降低對(duì)生產(chǎn)的影響。所以,,廢品和報(bào)警事件的線程優(yōu)先級(jí)要高于生產(chǎn)事件的線程,。
優(yōu)化方案應(yīng)用
根據(jù)以上制訂的優(yōu)化策略,將原來(lái)平臺(tái)的事件處理主線程分為幾個(gè)線程,,分別處理不同工位產(chǎn)生的事件,。事件隸屬的工位可以在事件初始化時(shí)獲得,。實(shí)際上相當(dāng)于首先獲取工位數(shù),以結(jié)構(gòu)為驅(qū)動(dòng),,中心詞的作用不太明顯,。然后進(jìn)行分組。有需要處理的數(shù)據(jù)時(shí),,根據(jù)產(chǎn)生數(shù)據(jù)的工位確定調(diào)用哪一個(gè)線程進(jìn)行處理,。同時(shí)建立一個(gè)線程池,保證只有一個(gè)線程讀寫數(shù)據(jù)庫(kù)核心數(shù)據(jù),,防止產(chǎn)生沖突和錯(cuò)誤,。在平臺(tái)優(yōu)化的過程中,只有事件處理的部分進(jìn)行了修改,,保證了平臺(tái)其他部分的穩(wěn)定性,,在系統(tǒng)調(diào)試的過程中減少了很大的工作量,也防止出現(xiàn)修改錯(cuò)誤,,提高了工作效率,。
盡管采用線程池并增加線程的個(gè)數(shù)可以提高系統(tǒng)的性能。但是線程的數(shù)量并不是說越多越好,,因?yàn)槿绻€程數(shù)量過多,,會(huì)造成CPU不停地中斷,反而影響速度,。已有研究給出了并發(fā)用戶數(shù)為N時(shí),,線程池性能達(dá)到大值時(shí)的線程數(shù)n滿足下列公式:
其中,設(shè)定每一個(gè)用戶具有同等的概率去發(fā)送同樣多的請(qǐng)求數(shù),,C1為創(chuàng)建一個(gè)線程的開銷,,C:為單個(gè)線程的管理開銷??紤]到一個(gè)線程能夠使用的虛擬內(nèi)存空間以及線程占用的??臻g大小和其他資源,很多時(shí)候是不會(huì)使線程數(shù)達(dá)到線程數(shù)n,,而且系統(tǒng)支持的線程數(shù)是有限的,。
通過上面的公式,考慮到平臺(tái)性能測(cè)試的數(shù)據(jù),,以及實(shí)施的環(huán)境,,得出線程數(shù)不需要超過10個(gè)。因?yàn)槠脚_(tái)首先要保證運(yùn)行穩(wěn)定,,性能只要能夠達(dá)到用戶實(shí)際生產(chǎn)要求就可以,,所以選擇線程數(shù)為5。這時(shí)平臺(tái)的性能既有很大的提高,,同時(shí)也能穩(wěn)定運(yùn)行,。
平臺(tái)應(yīng)用
MES系統(tǒng)軟件平臺(tái)是以裝配生產(chǎn)線為背景而開發(fā)的MES系統(tǒng)軟件通用軟件,,按照裝配線的生產(chǎn)節(jié)拍為3分鐘,150個(gè)工位,,每個(gè)工位同時(shí)產(chǎn)生lO個(gè)生產(chǎn)事件計(jì)算,,優(yōu)化前平臺(tái)勉強(qiáng)能夠滿足企業(yè)的生產(chǎn)需要,但是在實(shí)際的生產(chǎn)中,,這樣的性能是無(wú)法滿足企業(yè)要求的?,F(xiàn)在將事件處理機(jī)制改為多線程并發(fā)處理機(jī)制后,性能有了明顯提高,。在相同的測(cè)試環(huán)境下,,平臺(tái)的響應(yīng)時(shí)間有了明顯的縮短,能夠達(dá)到實(shí)際生產(chǎn)的需要,。
效率解決方案覆蓋了全面的企業(yè)生產(chǎn),、管理與決策信息,涵蓋內(nèi)容豐富,,其中生產(chǎn)制造執(zhí)行系統(tǒng)(E-MES),,倉(cāng)庫(kù)管理系統(tǒng)(E-WMS),SMT防錯(cuò)料系統(tǒng)與SMT智能首件檢測(cè)儀是信息核心軟硬件產(chǎn)品,。除此之外,,還為客戶提供電子工票管理系統(tǒng)、電子標(biāo)簽揀貨系統(tǒng)等各項(xiàng)服務(wù),。公司以中小型制造企業(yè)作為主要服務(wù)對(duì)象,,業(yè)務(wù)涉及汽車整車行業(yè),汽車零配件行業(yè),、IT產(chǎn)品,、家電裝配、電子產(chǎn)品,、裝備制造等眾多行業(yè),。