• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于有限狀態(tài)機的數(shù)字化加工單元管控系統(tǒng)研究與應(yīng)用

      2024-05-07 09:12:06陳加才張虎文紹華劉永坡陳勇
      機床與液壓 2024年6期
      關(guān)鍵詞:狀態(tài)機工件調(diào)度

      陳加才,張虎,文紹華,劉永坡,陳勇

      (四川航天長征裝備制造有限公司,四川成都 610100)

      0 前言

      加工單元是一種能獨立完成特定生產(chǎn)任務(wù)的制造系統(tǒng)[1]。隨著物聯(lián)網(wǎng)、信息物理系統(tǒng)等技術(shù)的發(fā)展,單元的生產(chǎn)效率不斷提高[2]。然而,一方面,現(xiàn)有單元數(shù)字化程度仍不高;另一方面,企業(yè)生產(chǎn)模式正由單品種大批量向多品種變批量過渡。為提升產(chǎn)能,企業(yè)必須提升對生產(chǎn)過程信息的掌控能力。加工單元作為企業(yè)實現(xiàn)智能制造、數(shù)字化決策等目標的數(shù)據(jù)源,其數(shù)字化程度直接影響生產(chǎn)效率。因此為解決上述問題,有必要針對加工單元的管控系統(tǒng)進行研究,實現(xiàn)單元全流程數(shù)字化管控與面向多品類產(chǎn)品的柔性制造[3]。

      加工單元的控制核心在于PLC,而RFID是實現(xiàn)數(shù)字化追蹤的關(guān)鍵[4]。根據(jù)PLC控制策略,王元生等[5-7]實現(xiàn)了單元自動裝卸、機床控制。通過對加工流程進行分析,何佩云等[8-9]利用RFID研究了單元柔性控制系統(tǒng)??字緦W(xué)等[10-11]利用基于PLC的過程控制算法,開發(fā)了設(shè)備通信上位機程序。上述研究內(nèi)容一定程度上實現(xiàn)了單元數(shù)字化控制,但仍存在如下不足:(1)設(shè)備覆蓋管控與采集難。基于PLC的設(shè)計控制策略解決了機床、機器人的管控問題,NC程序傳輸,RFID讀寫等均無法通過PLC完成,且缺少可視化界面。(2)系統(tǒng)維護擴展難。一些研究實現(xiàn)了單元可視化管控,但生產(chǎn)業(yè)務(wù)與程序代碼高度耦合,難以應(yīng)對業(yè)務(wù)變動造成的控制邏輯變化。(3)系統(tǒng)響應(yīng)慢。現(xiàn)有管控軟件采用面向生產(chǎn)過程的流程化設(shè)計,無法做到對設(shè)備/設(shè)施的狀態(tài)實時響應(yīng)。

      基于上述問題,本文作者以某車削單元為研究對象,分析單元生產(chǎn)流程,研究單元信息架構(gòu)、異構(gòu)數(shù)據(jù)采集以及基于有限狀態(tài)機的生產(chǎn)調(diào)度策略等內(nèi)容,利用面向?qū)ο笳Z言C#開發(fā)響應(yīng)式管控系統(tǒng),以實現(xiàn)單元數(shù)字化柔性生產(chǎn)、可視化/自動化監(jiān)控。

      1 加工單元總體設(shè)計

      整個單元由4臺數(shù)控機床、1臺工業(yè)機器人、裝卸臺、暫存工件/托盤的線邊倉、1臺采集數(shù)據(jù)的總控PLC、管控系統(tǒng)及相應(yīng)配套設(shè)備組成。為減少占地面積,保證作業(yè)安全的同時便于觀測生產(chǎn),單元采用封閉式、單側(cè)布局的方式,將機床與線邊倉布置在兩側(cè)。為了減少重復(fù)搬運、提升運行效率,將工件進出單元的操作布置在同一裝卸臺上,實現(xiàn)裝置復(fù)用。單元的整體布局如圖1所示。

      單元生產(chǎn)流程的物料流如圖2所示。生產(chǎn)流程分為入庫(工件從裝卸臺運至線邊倉)、上料(工件從線邊倉運至機床)、加工、下料(工件從機床運至線邊倉)、出庫(工件從線邊倉運至裝卸臺)。機器人負責(zé)機床加工外的全部流程。為提升柔性生產(chǎn)能力,由托盤裝載工件進行加工,托盤采用RFID作為唯一標識。入庫后,工件會綁定托盤,因此追蹤托盤RFID即可實時監(jiān)控工件。為保證數(shù)據(jù)安全,入庫與上料時會校驗RFID,校驗失敗會執(zhí)行回滾。根據(jù)業(yè)務(wù)需求,在進行生產(chǎn)調(diào)度時,出入庫優(yōu)先級高于上下料。

      圖2 加工單元物料流

      2 多源異構(gòu)實時數(shù)據(jù)流構(gòu)建

      2.1 多源異構(gòu)數(shù)據(jù)的實時采集

      管控系統(tǒng)控制下的生產(chǎn)調(diào)度是一個數(shù)據(jù)密集型過程,系統(tǒng)需通過不同通信協(xié)議和數(shù)據(jù)結(jié)構(gòu)與各設(shè)備實時進行數(shù)據(jù)流、控制流交互,同時系統(tǒng)內(nèi)還存在大量維護業(yè)務(wù)運行的基礎(chǔ)數(shù)據(jù)。圖3所示為單元信息互通架構(gòu),考慮到動態(tài)業(yè)務(wù)數(shù)據(jù)與靜態(tài)基礎(chǔ)信息“動靜分離”管理及后續(xù)擴展,根據(jù)業(yè)務(wù)特點與用戶權(quán)限分割需求,將管控系統(tǒng)分為基于B/S架構(gòu)的Web端單元管理平臺和基于C/S架構(gòu)的調(diào)度服務(wù)程序。前者部署于Web服務(wù)器,負責(zé)基礎(chǔ)數(shù)據(jù)/生產(chǎn)任務(wù)管理、看板展示;后者部署于調(diào)度服務(wù)器,負責(zé)讀取任務(wù)并執(zhí)行生產(chǎn)調(diào)度、設(shè)備通信。為提升系統(tǒng)性能與數(shù)據(jù)安全性,在二者間部署數(shù)據(jù)庫/ FTP服務(wù)器,存儲運行數(shù)據(jù)與機床NC程序。

      圖3 加工單元信息互通架構(gòu)

      管控系統(tǒng)采用“設(shè)備-以太網(wǎng)-client”的三層結(jié)構(gòu)與設(shè)備進行通信,將采集數(shù)據(jù)封裝處理后存儲到數(shù)據(jù)庫中,以實現(xiàn)單元生產(chǎn)調(diào)度與信息展示。為降低數(shù)據(jù)復(fù)雜度,提升通信效率,采用PLC作為數(shù)據(jù)主源,將單元大部分數(shù)據(jù)集中采集后過濾、驗證、打包,并利用TCP/IP協(xié)議傳輸給系統(tǒng),其他不能集成通信的數(shù)據(jù)則以各設(shè)備協(xié)議進行傳遞,如RFID數(shù)據(jù)(TCP/IP、串口)、NC程序等(FOCAS協(xié)議)。

      2.2 異構(gòu)數(shù)據(jù)的封裝與處理

      硬件設(shè)備運行數(shù)據(jù)是管控系統(tǒng)進行生產(chǎn)調(diào)度的邏輯依據(jù)[12]。為屏蔽異構(gòu)數(shù)據(jù)的多樣性,在管控系統(tǒng)內(nèi)構(gòu)建了針對底層硬件的通信模塊。模塊數(shù)據(jù)流如圖4所示。

      模塊介于上層業(yè)務(wù)代碼與底層設(shè)備間,包括API、異常處理、數(shù)據(jù)處理、緩沖區(qū)、硬件通信等子模塊。在系統(tǒng)進行硬件通信時,考慮到可能存在因車間生產(chǎn)現(xiàn)場業(yè)務(wù)需求的變化而造成的硬件設(shè)備變更,管控系統(tǒng)應(yīng)盡量減少與硬件設(shè)備的耦合程度,并具備可擴展的通信能力。根據(jù)上述需求,將通信配置信息(報文結(jié)構(gòu)、通信地址、通信協(xié)議等)以JSON字串的形式在數(shù)據(jù)庫/配置文件中持久化存儲,由該模塊利用數(shù)據(jù)讀取技術(shù)加載到內(nèi)存后,生成數(shù)據(jù)映射字典。模塊在與設(shè)備數(shù)據(jù)進行交互時,利用數(shù)據(jù)映射字典,根據(jù)通信數(shù)據(jù)字節(jié)索引、比特索引、對象類名、屬性名、對象編號等配置內(nèi)容進行數(shù)據(jù)映射,實現(xiàn)非結(jié)構(gòu)化字節(jié)數(shù)據(jù)和系統(tǒng)使用的結(jié)構(gòu)化對象數(shù)據(jù)雙向映射。

      為提升系統(tǒng)的響應(yīng)能力,減少無效請求,模塊在進行數(shù)據(jù)映射后,采用事件響應(yīng)完成數(shù)據(jù)傳遞,上層則通過調(diào)用API將控制數(shù)據(jù)注入模塊,實現(xiàn)系統(tǒng)與底層硬件雙向通信。

      3 基于有限狀態(tài)機的生產(chǎn)調(diào)度設(shè)計

      有限狀態(tài)機(Finite State Machine,F(xiàn)SM)也稱有限狀態(tài)自動機,是一種面向事件驅(qū)動型系統(tǒng)的建模工具[13]。對于適用FSM建模的系統(tǒng),其只有有限狀態(tài),且始終處于某行為確定狀態(tài)。系統(tǒng)下個狀態(tài)是當前狀態(tài)和輸入內(nèi)容的函數(shù)。系統(tǒng)會響應(yīng)外部/內(nèi)部事件,并進行狀態(tài)跳轉(zhuǎn)或維持當前狀態(tài)。

      由于設(shè)備/設(shè)施行為可預(yù)測,因此可利用FSM對單元關(guān)鍵調(diào)度對象進行建模,控制其狀態(tài)轉(zhuǎn)移,并基于異步編程與事件驅(qū)動設(shè)計構(gòu)建響應(yīng)式系統(tǒng),從而避免無效等待,實現(xiàn)有序調(diào)度,增強可重構(gòu)能力。

      3.1 生產(chǎn)調(diào)度過程建模

      為優(yōu)化建模過程,提出以下對象選擇原則:(1)應(yīng)滿足FSM特征;(2)生命周期應(yīng)盡量覆蓋單元生產(chǎn)流程;(3)狀態(tài)轉(zhuǎn)換應(yīng)盡量多地調(diào)動設(shè)備運轉(zhuǎn),從而提高效率?;谏鲜鲈瓌t,由于搬運任務(wù)均由機器人完成,而工件生命周期內(nèi)系統(tǒng)對各設(shè)備均有調(diào)用,但對二者單獨建模均無法覆蓋整個生產(chǎn)流程,因此文中分別對機器人及工件進行FSM建模。

      3.1.1 機器人調(diào)度對象運行建模

      機器人調(diào)度對象由機器人設(shè)備及其任務(wù)信息組成。任務(wù)類型包括入庫、出庫、上料、下料、回滾。單個任務(wù)包含一或多條原子級機器人指令,并可能涉及其他設(shè)備的調(diào)用、數(shù)據(jù)庫的讀寫等操作。根據(jù)任務(wù)類型和優(yōu)先級,對象狀態(tài)如表1所示。

      機器人調(diào)度對象由用戶/硬件觸發(fā)的外部事件驅(qū)動。為體現(xiàn)出入庫優(yōu)先級高于上下料的業(yè)務(wù)需求,依據(jù)任務(wù)區(qū)分了驅(qū)動事件,包括:鎖定機器人C0、添加入庫C1、添加出庫C2、裝卸臺/線邊倉未就緒C3、校驗失敗C4、檢驗成功C5、上料請求C6、下料請求C7、任務(wù)完成C8、硬件故障C9、硬件恢復(fù)C10、窗口關(guān)閉C11、運行調(diào)試C12。

      用戶點擊出入庫或調(diào)試機器人時,若機器人空閑,系統(tǒng)會將它鎖定,并僅響應(yīng)出入庫/機器人調(diào)試而忽略上下料,否則系統(tǒng)會待其執(zhí)行完當前任務(wù)再鎖定。當未添加任務(wù)并關(guān)閉窗口時,機器人回到空閑狀態(tài),可響應(yīng)上下料。校驗RFID時,若校驗失敗,會執(zhí)行回滾(將工件退回裝卸臺/線邊倉)??紤]到系統(tǒng)的安全性,機器人硬件故障時,無論當前處于何種狀態(tài),系統(tǒng)將跳轉(zhuǎn)到故障并報警。檢測到機器人正常后,系統(tǒng)跳轉(zhuǎn)到之前狀態(tài)并繼續(xù)執(zhí)行?;谏鲜隽鞒蹋{(diào)度對象狀態(tài)轉(zhuǎn)移過程如圖5所示。

      圖5 機器人調(diào)度對象狀態(tài)遷移過程

      3.1.2 工件調(diào)度對象運行建模

      工件調(diào)度對象面向單元內(nèi)工件建模,其運行狀態(tài)由工件位置、托盤綁定、機床狀態(tài)等信息決定。根據(jù)工件生命周期中加工、流轉(zhuǎn)過程,可得其狀態(tài)如表2所示。

      表2 工件調(diào)度對象狀態(tài)

      工件調(diào)度對象由機器人/機床觸發(fā)的外部事件驅(qū)動。通過分析加工流程,總結(jié)出如下事件:運至裝卸臺C0、運至線邊倉C1、運至機床C2、機床確定C3、NC程序傳輸完成C4、機床加工完成C5、讀取到RFID C6、取消綁定C7。

      用戶將工件安裝在托盤并固定于裝卸臺后,點擊入庫,指定加工任務(wù)。入庫流程中,系統(tǒng)讀取RFID,使工件綁定托盤。監(jiān)測到有機床空閑時,系統(tǒng)在倉內(nèi)找到匹配工件,傳輸/校驗NC程序并啟動機床。機床請求上下料時,系統(tǒng)自動響應(yīng)請求。工件在線邊倉時(處于S2、S3、S4或S7),用戶點擊出庫,系統(tǒng)調(diào)度機器人搬運,同時解綁托盤,并終結(jié)該對象。據(jù)此可得工件狀態(tài)遷移過程如圖6所示。

      圖6 工件狀態(tài)遷移過程

      3.2 基于事件驅(qū)動的FSM程序設(shè)計

      FSM的實現(xiàn)模式有過程模式、狀態(tài)模式等[14]。過程模式利用嵌套條件語句實現(xiàn)事件觸發(fā)/狀態(tài)跳轉(zhuǎn)。狀態(tài)模式將控制邏輯基于狀態(tài)拆分,能避免過程模式維護困難的問題,但狀態(tài)間切換無明確表達,沒有體現(xiàn)事件的驅(qū)動特性,不利于擴展。

      由于上述問題的存在,文中基于狀態(tài)模式改進了面向生產(chǎn)調(diào)度過程的狀態(tài)機結(jié)構(gòu)??紤]到同時調(diào)度多個對象的需求,簡化了調(diào)度對象的數(shù)據(jù)結(jié)構(gòu),將狀態(tài)/行為分離,由調(diào)度對象動態(tài)保存狀態(tài),由狀態(tài)處理程序靜態(tài)保存對象跳轉(zhuǎn)策略。圖7所示為狀態(tài)機結(jié)構(gòu)及該結(jié)構(gòu)下實現(xiàn)機器人/工件調(diào)度的程序類圖,展示了以下關(guān)鍵類部分屬性、函數(shù)和關(guān)系。

      圖7 狀態(tài)機的類

      IStateMachineContext接口:狀態(tài)機調(diào)度對象,保存了狀態(tài)變量與運行信息。

      泛型T:調(diào)度對象類型約束,約束為實現(xiàn)IStateMachineContext接口的類。

      IStateHandler接口:泛型狀態(tài)處理程序,聲明了處理的狀態(tài)(CurrentState)、狀態(tài)輸出(DoStateAction)、跳轉(zhuǎn)事件監(jiān)測(GetEvent)和跳轉(zhuǎn)邏輯(GetNext)。

      IDriveData接口:驅(qū)動數(shù)據(jù),由外部系統(tǒng)注入,包含了外部系統(tǒng)觸發(fā)的事件及調(diào)度對象標識,如工件/機器人編號等。該數(shù)據(jù)是狀態(tài)轉(zhuǎn)移驅(qū)動源。

      StateMachine類:泛型狀態(tài)機,由調(diào)度對象集合ContextList、處理程序集合HandlerList、驅(qū)動管道DriveQueue、驅(qū)動函數(shù)DriveMachine、數(shù)據(jù)注入函數(shù)InsertDrive、調(diào)度對象注冊/取消函數(shù)RegContext/UnregContext等組成。

      WorkpieceContext類:實現(xiàn)IStateMachineContext接口的工件調(diào)度對象。

      RobotContext類:實現(xiàn)IStateMachineContext接口的機器人調(diào)度對象。

      其余為機器人運行狀態(tài)(S0-S12)與工件運行狀態(tài)(S0-S9)對IStateHandler實現(xiàn)類(限于篇幅未完全畫出)。

      當系統(tǒng)需調(diào)度新工件/機器人時(如新工件入庫),調(diào)用狀態(tài)機RegContext即注冊調(diào)度對象。這使系統(tǒng)分別對WorkpieceContext類與RobotContext類創(chuàng)建一個狀態(tài)機實例,并以較小的數(shù)據(jù)結(jié)構(gòu)便可生產(chǎn)調(diào)度。當業(yè)務(wù)變動導(dǎo)致對象調(diào)度邏輯新增/變更時,僅需創(chuàng)建IStateHandler對應(yīng)實現(xiàn)類,或?qū)σ延袑崿F(xiàn)類進行少量修改,保證了系統(tǒng)可擴展性。

      圖8所示為狀態(tài)機的程序流程。當事件觸發(fā)時,系統(tǒng)執(zhí)行InsertDrive注入數(shù)據(jù)。狀態(tài)機內(nèi)由單獨線程執(zhí)行DriveMachine。

      圖8 事件驅(qū)動流程

      該函數(shù)從DriveQueue獲取驅(qū)動,依據(jù)標識找到調(diào)度對象后,由其狀態(tài)獲取對應(yīng)IStateHandler實例并執(zhí)行DoStateAction完成狀態(tài)輸出,隨后執(zhí)行GetEvent判斷跳轉(zhuǎn)事件是否觸發(fā),若觸發(fā),則根據(jù)事件id執(zhí)行GetNext,更新調(diào)度對象狀態(tài),實現(xiàn)狀態(tài)跳轉(zhuǎn)。

      4 實現(xiàn)與驗證

      4.1 系統(tǒng)技術(shù)實現(xiàn)

      考慮到編碼時調(diào)用多方dll的需求,文中采用面向?qū)ο笳Z言C#編程,以SqlServer2018為系統(tǒng)數(shù)據(jù)庫,利用FTP進行文件傳輸,并用IIS管理器完成服務(wù)(Web/FTP服務(wù))部署。

      圖9所示為管控系統(tǒng)軟件架構(gòu)。單元管理平臺為B/S架構(gòu)。為降低耦合度,基于.NET Core技術(shù),采用Vue +WebAPI前后端分離方案。單元管理平臺處于系統(tǒng)上層,還負責(zé)與外部MES數(shù)據(jù)通信,該方案保證在已有代碼基礎(chǔ)上,對MES開放指定接口即可通信,提升了系統(tǒng)動態(tài)集成能力。

      圖9 管控系統(tǒng)軟件架構(gòu)

      調(diào)度服務(wù)程序采用C/S架構(gòu),由于它直接與硬件設(shè)備通信,因此技術(shù)方案應(yīng)具備快速開發(fā)調(diào)試、易于部署的能力。據(jù)此,采用了Winform+MVC的方案,利用Winform控件庫進行程序界面的迅捷設(shè)計,通過MVC模式實現(xiàn)了UI與數(shù)據(jù)的解耦。

      4.2 運行驗證

      文中將開發(fā)的管控系統(tǒng)部署在四川航天長征裝備制造有限公司某車間車削單元,圖10所示為管控系統(tǒng)程序界面與單元運行展示。該系統(tǒng)實現(xiàn)了基于生產(chǎn)現(xiàn)場運行事件的自動響應(yīng)與調(diào)度控制,能根據(jù)生產(chǎn)任務(wù)自動控制相關(guān)設(shè)備實現(xiàn)物料轉(zhuǎn)運、倉儲管理、生產(chǎn)加工、日志記錄。使用該管控系統(tǒng)后,加工單元對工件實現(xiàn)了100%的狀態(tài)追蹤,形成了面向單元生產(chǎn)現(xiàn)場的實時可視化/自動化化監(jiān)控、異常處理、設(shè)備保護、數(shù)據(jù)統(tǒng)計與分析一體化系統(tǒng)。

      圖10 單元運行展示

      5 結(jié)語

      文中針對加工單元數(shù)字化管控所需解決的設(shè)備管控與采集難、數(shù)字化程度低、系統(tǒng)響應(yīng)慢等問題,利用.NET技術(shù),設(shè)計并開發(fā)了基于FSM的數(shù)字化管控系統(tǒng)。該管控系統(tǒng)的特點如下:(1)通過B/S與C/S架構(gòu)的組合設(shè)計,將基礎(chǔ)數(shù)據(jù)與生產(chǎn)數(shù)據(jù)動靜分離,與硬件設(shè)備組成了單元信息互聯(lián)互通架構(gòu)。(2)構(gòu)建了可配置通信格式的設(shè)備通信模塊,實現(xiàn)多源異構(gòu)設(shè)備實時數(shù)據(jù)采集與封裝處理。(3)基于響應(yīng)式系統(tǒng)設(shè)計,利用FSM對生產(chǎn)調(diào)度進行行為建模,能夠依據(jù)生產(chǎn)事件驅(qū)動單元自動化生產(chǎn)調(diào)度與設(shè)備管控。

      此管控系統(tǒng)已在公司某車削單元完成了測試與部署。經(jīng)測試,在系統(tǒng)控制下,此單元實現(xiàn)了全流程數(shù)字化自動生產(chǎn)調(diào)度,為后續(xù)數(shù)字孿生車間、數(shù)字工廠的建設(shè)提供了數(shù)據(jù)基礎(chǔ)。

      猜你喜歡
      狀態(tài)機工件調(diào)度
      《調(diào)度集中系統(tǒng)(CTC)/列車調(diào)度指揮系統(tǒng)(TDCS)維護手冊》正式出版
      基于有限狀態(tài)機的交會對接飛行任務(wù)規(guī)劃方法
      一種基于負載均衡的Kubernetes調(diào)度改進算法
      考慮非線性誤差的五軸工件安裝位置優(yōu)化
      虛擬機實時遷移調(diào)度算法
      三坐標在工件測繪中的應(yīng)用技巧
      焊接殘余形變在工件精密裝配中的仿真應(yīng)用研究
      焊接(2015年9期)2015-07-18 11:03:52
      一種非圓旋轉(zhuǎn)工件支撐裝置控制算法
      SVC的RTP封裝及其在NS2包調(diào)度中的應(yīng)用研究
      FPGA設(shè)計中狀態(tài)機安全性研究
      井研县| 利津县| 兴安盟| 甘肃省| 金寨县| 琼中| 黑龙江省| 昌乐县| 武功县| 甘肃省| 泗洪县| 新乡市| 高台县| 瓦房店市| 新化县| 峨眉山市| 平乐县| 谷城县| 潮州市| 武汉市| 紫金县| 观塘区| 石泉县| 哈尔滨市| 德令哈市| 龙州县| 连云港市| 南昌市| 阿克苏市| 马关县| 泗阳县| 孟州市| 略阳县| 咸宁市| 永宁县| 穆棱市| 沐川县| 信宜市| 兰考县| 高密市| 海门市|