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