裝配生產線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個生產事件計算,優化前平臺勉強能夠滿足企業的生產需要,但是在實際的生產中,這樣的性能是無法滿足企業要求的。現在將事件處理機制改為多線程併發處理機制後,性能有了明顯提高。在相同的測試環境下,平臺的響應時間有了明顯的縮短,能夠達到實際生產的需要。

七通智能成立於2007年,致力於為客戶提供企業智能應用產品,在工業互聯網+、智能製造等領域幫助企業全面整合資源,實現信息化改革,增強企業核心競爭力。

公司憑藉自身技術實力,已自主研發Q7企業智能平臺(包括智能製造MES、智能倉儲WMS等),獲得國家雙軟認定及國家高新技術企業認證。

目前已和多家知名企業建立合作關係,共同打造工業互聯網生態系統,推動企業智能製造創新變革。

Q7-企業智能管理系統V6.0包含:MES(生產製造執行)、WMS(倉儲物流管理)、APS(智能排產)、BI(大數據分析)及ERP(信息化管理)智能化工廠等五大組件,服務於企業智能化工廠,幫助中國企業實現管理升級,智能轉型。

產品覆蓋:食品製造業、服裝製造業、傢俱製造業、醫藥製造業、金屬製品業、汽車製造業、儀器儀表製造業、電商/服裝時尚、快消品、食品冷鏈、第三方物流等行業。


分享到:


相關文章: