專利名稱:一種多設(shè)備管理方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及自動化控制領(lǐng)域,具體涉及一種用于控制多個設(shè)備的管理方法和裝置。
背景技術(shù):
目前,在許多生產(chǎn)制造等領(lǐng)域中,往往由多個不同的設(shè)備有機(jī)地結(jié)合在一起構(gòu)成一個被控系統(tǒng),因此,需要對這些設(shè)備進(jìn)行聯(lián)動控制,其中通常會涉及到許多個技術(shù)領(lǐng)域, 包括電子、物理、化學(xué)、機(jī)械以及軟件等技術(shù)。同時,在現(xiàn)有主流系統(tǒng)架構(gòu)中,不同設(shè)備之間的互連存在著多種物理鏈路途徑,即使是使用同一物理鏈路,不同的設(shè)備也可以使用完全不同的通信協(xié)議,而且,不同的設(shè)備對于消息的響應(yīng)速度也不一樣,從而導(dǎo)致多設(shè)備的管理非常冗繁復(fù)雜。如何便捷有效地管理和維護(hù)所有設(shè)備是設(shè)計系統(tǒng)控制時所需要解決的重要問題。比如,對于典型的數(shù)字噴墨印刷系統(tǒng),通常包括機(jī)械走紙平臺、供墨系統(tǒng)、烘干設(shè)備和主控制器等,其中,供墨系統(tǒng)用于給噴墨頭提供墨水,烘干設(shè)備用于提供UV烘干固化功能,也稱為UV固化設(shè)備。在機(jī)械走紙平臺正常聯(lián)機(jī)的情況下,如果主控制器啟動打印,那么機(jī)械走紙平臺需要立刻開始運動。在機(jī)械走紙平臺的運轉(zhuǎn)速度達(dá)到一定的設(shè)定值之后, 主控制器通知烘干設(shè)備點亮UV燈。在印刷作業(yè)結(jié)束,即,作業(yè)輸出完成時,主控制器通知烘干設(shè)備關(guān)閉UV燈,并通知機(jī)械走紙平臺停止運動。在整個控制過程中,對于供墨系統(tǒng),除了需要關(guān)注其運轉(zhuǎn)是否正常之外,還需要關(guān)注剩余的墨量是否滿足特定要求。因此,在軟件管理層次上,需要在系統(tǒng)生命周期中不斷地查詢和更新這個墨量信息。而對于UV烘干設(shè)備, 在它啟動之外,不再需要太多的細(xì)節(jié)狀態(tài)的管理。從此可看出,在噴墨印刷系統(tǒng)中,需要按照一定的流程對各個設(shè)備進(jìn)行聯(lián)動控制,而且對于各個設(shè)備的處理是有差別的,需要分別進(jìn)行管理和維護(hù)。此外,如上所述,主控制器和其它設(shè)備之間的互連存在著多種物理鏈路途徑,以普通PC馮 諾依曼物理架構(gòu)為例,常見的鏈路包括PCI、PCIe、USB、RS232、RS485等。即使是同一物理鏈路,不同的設(shè)備也可以使用完全不同的通信協(xié)議,常見的工業(yè)用協(xié)議包括M0DBUS、 proforbus等,這些協(xié)議都支持以太網(wǎng)的鏈路。而且,不同的設(shè)備對于消息的響應(yīng)速度也完全不一樣。這些原因都導(dǎo)致了多設(shè)備的管理非常冗繁復(fù)雜。目前,在大多數(shù)印刷企業(yè)中,通常采用主控制器和設(shè)備分離管理的操作方式。具體地講,一套噴墨印刷系統(tǒng)由多個操作人員操作,其中一個操作人員管理主控制器,其他操作人員分別負(fù)責(zé)管理機(jī)械走紙平臺等空間上分離的各個被控設(shè)備。在啟動設(shè)備、關(guān)閉設(shè)備以及出現(xiàn)異常情況時,操作人員需要來回地跑動,逐個地處理在空間上分離的各個設(shè)備。而且,各個被控設(shè)備的狀態(tài)往往不能及時更新到主控制器的用戶界面上,從而使得管理主控制器的操作人員無法隨時獲知每個設(shè)備的當(dāng)前狀態(tài),不能及時處理設(shè)備故障等異常問題。 這種操作方式導(dǎo)致生產(chǎn)效率非常低下,而且很容易發(fā)生某些事故。比如,由于某些固化設(shè)備需要很大的能量,如果機(jī)械走紙平臺先停車而固化設(shè)備尚未關(guān)閉時,極易出現(xiàn)紙張著火的情況,此時就變得非常危險。因此,對于噴墨印刷系統(tǒng)而言,需要非常嚴(yán)格的生產(chǎn)流程管理, 必須及時了解設(shè)備的當(dāng)前狀態(tài)并作出適當(dāng)?shù)奶幚?,而目前這種分離操作方式并不能做到很好的集成控制,自動化程度不高。
發(fā)明內(nèi)容
為了解決上述問題,本發(fā)明提供一種多設(shè)備的管理方法和裝置,以實現(xiàn)對多個設(shè)備的便捷有效的自動化控制,簡化操作流程,提高控制效率。為了實現(xiàn)以上目的,本發(fā)明提供的多設(shè)備管理方法包括以下步驟消息發(fā)送步驟, 用于發(fā)送用戶通過用戶界面輸入的設(shè)備控制消息或者基于時間片發(fā)送設(shè)備狀態(tài)查詢消息; 消息傳送步驟,用于將發(fā)送的設(shè)備狀態(tài)查詢消息或設(shè)備控制消息轉(zhuǎn)換為被查詢或被控設(shè)備能夠識別的數(shù)據(jù)流,并將該數(shù)據(jù)流發(fā)送到該設(shè)備所用物理鏈路上;消息執(zhí)行步驟,用于從相應(yīng)物理鏈路上接收到數(shù)據(jù)流的設(shè)備判斷該數(shù)據(jù)流是否是發(fā)送給自己,如果是發(fā)送給自己的,則將數(shù)據(jù)流解析為命令,執(zhí)行該命令,并返回相應(yīng)的反饋數(shù)據(jù);消息反饋步驟,用于將設(shè)備返回的反饋數(shù)據(jù)經(jīng)由其所用物理鏈路反饋到用戶界面。其中,按照設(shè)備的特性(比如,設(shè)備響應(yīng)速度)及其狀態(tài)信息重要性以及用戶界面的響應(yīng)速度等標(biāo)準(zhǔn)劃分時間片。相應(yīng)地,本發(fā)明提供一種多設(shè)備管理裝置,包括用戶界面模塊,接收用戶輸入,顯示各個設(shè)備的狀態(tài)信息,并將用戶輸入的設(shè)備控制消息發(fā)送給消息解析模塊;全局設(shè)備監(jiān)控模塊,基于時間片將設(shè)備狀態(tài)查詢消息發(fā)送給消息解析模塊,并將返回的反饋數(shù)據(jù)更新到用戶界面模塊,必要時提供報警信息;消息解析模塊,對從全局設(shè)備監(jiān)控模塊接收的設(shè)備狀態(tài)查詢消息或者從用戶界面模塊接收的設(shè)備控制消息進(jìn)行解析,并將解析得到的數(shù)據(jù)流分發(fā)到該設(shè)備的設(shè)備控制模塊;m個設(shè)備控制模塊,分別對應(yīng)于所述多個設(shè)備,用于將從消息解析模塊接收的相應(yīng)設(shè)備的特定數(shù)據(jù)流轉(zhuǎn)換為該設(shè)備能夠識別的數(shù)據(jù)流,其中,m^ 1 ; η個鏈路通信和管理模塊,分別對應(yīng)于所述多個設(shè)備所使用的η條物理鏈路,用于對相應(yīng)物理鏈路上的設(shè)備進(jìn)行監(jiān)控和協(xié)調(diào),并將數(shù)據(jù)流發(fā)送到相應(yīng)物理鏈路上,接收設(shè)備返回的反饋數(shù)據(jù)并將其返回到全局設(shè)備監(jiān)控模塊,其中,η ^ 1 ;?。€系統(tǒng)設(shè)備集,分別與η個鏈路通信和管理模塊對應(yīng),每個系統(tǒng)設(shè)備集中包括相應(yīng)物理鏈路上的所有設(shè)備,從其所在物理鏈路上接收到數(shù)據(jù)流的設(shè)備判斷該數(shù)據(jù)流是否是發(fā)送給自己的,如果是發(fā)送給自己的,則將數(shù)據(jù)流解析為命令,執(zhí)行該命令,并經(jīng)由該物理鏈路將相應(yīng)的反饋數(shù)據(jù)返回到相應(yīng)的鏈路通信和管理模塊。在本發(fā)明中,作為主控制層的全局設(shè)備監(jiān)控模塊基于時間片查詢設(shè)備狀態(tài),使得快速響應(yīng)設(shè)備和慢速響應(yīng)設(shè)備能夠保持一定程度上的并行兼容。按照不同的物理鏈路劃分鏈路接口模塊,各個模塊獨立工作,并行處理,從而便捷高效地處理同一鏈路上的不同設(shè)備的競爭和同步。在傳送各種消息時,將消息分別轉(zhuǎn)換為其設(shè)備能夠識別的數(shù)據(jù)流,從而實現(xiàn)多種通信協(xié)議的兼容。通過這些方式,本發(fā)明提供了一種兼容各種不同物理鏈路、通信協(xié)議和不同響應(yīng)速度的設(shè)備的多設(shè)備綜合管理方法,使得多個設(shè)備能夠更容易地集成,達(dá)到聯(lián)動控制的需求,促進(jìn)生產(chǎn)流程的簡化和生產(chǎn)效率的提高。
圖1是根據(jù)本發(fā)明的第一實施例的多設(shè)備管理方法的流程圖2是根據(jù)本發(fā)明的第一實施例的多設(shè)備管理裝置的框圖;圖3是根據(jù)本發(fā)明的第二實施例的多設(shè)備管理裝置的流程圖;圖4是噴墨印刷系統(tǒng)的示意圖;圖5是設(shè)備類定義;圖6是設(shè)備控制消息處理流程圖;圖7是時間片設(shè)置的示意圖;圖8是消息處理線程和總線讀取線程的示意圖。
具體實施例方式本發(fā)明方法適用于具有多個設(shè)備的被控系統(tǒng),尤其是對于多個設(shè)備之間以多種物理鏈路和通信協(xié)議連接的系統(tǒng)具有良好的控制效果。以下,將結(jié)合附圖和實施例對本發(fā)明進(jìn)行詳細(xì)說明。(第一實施例)圖1是根據(jù)本發(fā)明的第一實施例的多設(shè)備管理方法的流程圖,在該流程圖中,按照消息處理流程來進(jìn)行說明。參照圖1,該方法包括以下步驟步驟1、消息發(fā)送步驟在本發(fā)明中,所述消息包括設(shè)備狀態(tài)查詢消息和設(shè)備控制消息,設(shè)備狀態(tài)查詢消息用于查詢設(shè)備的當(dāng)前狀態(tài)信息,設(shè)備控制消息用于控制設(shè)備執(zhí)行相應(yīng)的命令,一般由用戶根據(jù)用戶界面中當(dāng)前更新的設(shè)備狀態(tài)信息輸入。對于設(shè)備狀態(tài)查詢消息,考慮到在需要維護(hù)數(shù)量比較多的設(shè)備的情況下,如果每次都將所有的設(shè)備遍歷查詢一遍,那么不僅每次查詢的時間會比較長,而且在多數(shù)情況下, 大多數(shù)的高頻率查詢也是不必要的,即,并不是每個設(shè)備都需要不間斷地查詢,所以可建立一個時間片,按照該時間片發(fā)送設(shè)備狀態(tài)查詢消息。對于時間片設(shè)置,可根據(jù)設(shè)備的特性 (比如,設(shè)備響應(yīng)速度)及其狀態(tài)信息重要性、以及用戶界面響應(yīng)速度等標(biāo)準(zhǔn)來進(jìn)行劃分, 即,以設(shè)備的特性及其狀態(tài)信息重要性和用戶界面響應(yīng)速度等作為時間片劃分策略參數(shù)來確定每個設(shè)備的查詢頻率。只有當(dāng)某一特定設(shè)備的時間片到來時,才發(fā)送對該設(shè)備的狀態(tài)查詢消息。通過根據(jù)設(shè)備響應(yīng)速度等標(biāo)準(zhǔn)而建立的時間片的分配機(jī)制,使得快速響應(yīng)設(shè)備和慢速響應(yīng)設(shè)備能夠保持一定程度上的并行兼容,有效地協(xié)調(diào)響應(yīng)速度不同的設(shè)備,從而可根據(jù)不同的設(shè)備特性以適當(dāng)?shù)念l率更新所有設(shè)備的當(dāng)前狀態(tài)。此外,為了能夠提高用戶對發(fā)生異常情況的設(shè)備的關(guān)注程度以增強(qiáng)安全性,時間片支持動態(tài)調(diào)整,即,在某設(shè)備出現(xiàn)異常情況需要進(jìn)行報警時,增加該設(shè)備的查詢頻率,督促用戶盡快進(jìn)行處理,而在該設(shè)備恢復(fù)正常之后,減少或恢復(fù)該設(shè)備的查詢頻率,以有效地減輕系統(tǒng)負(fù)荷。步驟2、消息轉(zhuǎn)換和傳送步驟在該步驟中,將發(fā)送的設(shè)備狀態(tài)查詢消息或設(shè)備控制消息轉(zhuǎn)換為被查詢或被控設(shè)備能夠識別的數(shù)據(jù)流,并將該數(shù)據(jù)流發(fā)送到該設(shè)備所用物理鏈路上。這里指出,為了能夠兼容不同設(shè)備所使用的不同協(xié)議,將發(fā)送給各個設(shè)備的消息轉(zhuǎn)換為該設(shè)備能夠識別的數(shù)據(jù)流,數(shù)據(jù)流可以是二進(jìn)制,也可以是ASCII字符,根據(jù)該設(shè)備所用的通信協(xié)議而定。比如,在某設(shè)備使用標(biāo)準(zhǔn)工業(yè)協(xié)議MODBUS的情況下,將發(fā)送給該設(shè)備的消息轉(zhuǎn)換為該設(shè)備能夠識別的二進(jìn)制數(shù)據(jù)流。步驟3、消息執(zhí)行步驟在該步驟中,從相應(yīng)物理鏈路上接收到數(shù)據(jù)流的設(shè)備判斷該數(shù)據(jù)流是否是發(fā)送給自己,如果是發(fā)送給自己的,則將數(shù)據(jù)流解析為命令,執(zhí)行該命令,并返回相應(yīng)的反饋數(shù)據(jù)。 這里,反饋數(shù)據(jù)包括該設(shè)備的狀態(tài)信息和/或命令執(zhí)行結(jié)果。步驟4、消息反饋步驟在該步驟中,將設(shè)備返回的反饋數(shù)據(jù)經(jīng)由其所用物理鏈路反饋到用戶界面。以上概括性地對一條消息的處理流程進(jìn)行了描述。但是,在實際的多設(shè)備管理過程中,往往需要同時對不同物理鏈路上的多個設(shè)備進(jìn)行狀態(tài)查詢和控制。因此,在將多個消息轉(zhuǎn)換為數(shù)據(jù)流向物理鏈路發(fā)送的過程中,需要考慮設(shè)備的競爭問題以及對于不同響應(yīng)速度的設(shè)備的協(xié)調(diào)問題。具體地講,如何保證多個設(shè)備同時發(fā)送消息時不導(dǎo)致物理鏈路擁堵; 如何保證設(shè)備返回的數(shù)據(jù)能夠在正確的時間點反饋到正確的目標(biāo)上;如何處理設(shè)備響應(yīng)時間過程或者無響應(yīng),等等。在本發(fā)明中,針對多個設(shè)備的競爭問題,可使用類似于操作系統(tǒng)的“非優(yōu)先權(quán)式的多任務(wù)”處理方式,即,協(xié)作式多任務(wù)處理方式。具體地講,建立多個線程用于消息處理,并在競爭資源“鏈路通道”處設(shè)置臨界區(qū)域,使用鏈路的各個設(shè)備平等享有鏈路占有權(quán),在任意時刻只允許一個消息處理線程對臨界區(qū)域中的共享資源進(jìn)行訪問,而其它試圖進(jìn)入臨界區(qū)域的線程將被掛起,即,放入到消息隊列中,一直持續(xù)到進(jìn)入臨界區(qū)域的線程離開,從而保證任意時刻各個設(shè)備對鏈路的獨占特性。臨界區(qū)域的設(shè)置和使用屬于本領(lǐng)域編程人員公知的技術(shù),因此,省略其詳細(xì)描述。當(dāng)然,還可采用本領(lǐng)域技術(shù)人員公知的其它多任務(wù)處理方式來解決多個設(shè)備的競爭問題。此外,除了以上步驟之外,本發(fā)明方法還可包括其它優(yōu)化步驟。比如,為了支持設(shè)備的即插即用以提高整個系統(tǒng)對設(shè)備進(jìn)行維護(hù)和管理的靈活性,可允許插入新的設(shè)備或者拆除其中任一設(shè)備。此時,在時間片中增加或刪除用于查詢該設(shè)備狀態(tài)的時間片,并基于修改的時間片發(fā)送設(shè)備狀態(tài)查詢消息。為了實現(xiàn)以上方法,本發(fā)明提供如圖2所示的裝置。在圖2中,假設(shè)在被控系統(tǒng)中存在m個設(shè)備,按照這m個設(shè)備所使用的η條物理鏈路將這m個設(shè)備劃分為η個設(shè)備集,其中,m > 1, η > 1。參照圖2,該裝置包括用戶界面(UI)模塊10、全局設(shè)備監(jiān)控模塊20、消息解析模塊30、m個設(shè)備控制模塊40、n個鏈路通信和管理模塊50以及η個系統(tǒng)設(shè)備集60。具體地講,各個模塊如下操作UI模塊10接收用戶輸入,顯示各個設(shè)備的狀態(tài)信息,并將用戶輸入的設(shè)備控制消息發(fā)送給消息解析模塊30 ;全局設(shè)備監(jiān)控模塊20基于時間片將設(shè)備狀態(tài)查詢消息發(fā)送給消息解析模塊30, 并將返回的反饋數(shù)據(jù)更新到UI模塊10,必要時提供報警信息;消息解析模塊30對從全局設(shè)備監(jiān)控模塊20接收的設(shè)備狀態(tài)查詢消息或者從UI 模塊10接收的設(shè)備控制消息進(jìn)行解析,并將解析得到的數(shù)據(jù)流分發(fā)到該設(shè)備的設(shè)備控制模塊40,該數(shù)據(jù)流主要包含軟件層次定義的消息ID以及各消息所需的結(jié)構(gòu)體,所述消息ID 表示對整個設(shè)備集的所有命令的統(tǒng)一編碼;
設(shè)備控制模塊40將從消息解析模塊30接收的相應(yīng)設(shè)備的特定數(shù)據(jù)流轉(zhuǎn)換為該設(shè)備能夠識別的數(shù)據(jù)流;鏈路通信和管理模塊50主要用于處理同一物理鏈路上不同設(shè)備之間的競爭問題以及響應(yīng)速度不同的設(shè)備的協(xié)調(diào)問題,具體地講,對相應(yīng)物理鏈路上的設(shè)備進(jìn)行監(jiān)控和協(xié)調(diào),并將數(shù)據(jù)流發(fā)送到相應(yīng)物理鏈路上,接收設(shè)備返回的反饋數(shù)據(jù)并將其返回到全局設(shè)備監(jiān)控模塊20 ;系統(tǒng)設(shè)備集60中從其所在物理鏈路上接收到數(shù)據(jù)流的設(shè)備判斷該數(shù)據(jù)流是否是發(fā)送給自己的,如果是發(fā)送給自己的,則將數(shù)據(jù)流解析為命令,執(zhí)行該命令,并經(jīng)由該物理鏈路將相應(yīng)的反饋數(shù)據(jù)返回到相應(yīng)的鏈路通信和管理模塊50。為了支持設(shè)備的即插即用,在插入新的設(shè)備或刪除其中任一設(shè)備時,全局設(shè)備監(jiān)控模塊20在時間片中增加或刪除用于查詢該設(shè)備狀態(tài)的時間片,并基于修改的時間片發(fā)送設(shè)備狀態(tài)查詢消息。從圖2可看出,本發(fā)明裝置將管理層次分為主控制層和鏈路控制層。作為主控制層的全局設(shè)備監(jiān)控模塊20逐個掃描監(jiān)控所有的設(shè)備,將所有設(shè)備的反饋信息更新到用戶界面,同時處理新的設(shè)備插入或設(shè)備刪除請求。在主控制層的下層,即,鏈路控制層,以物理鏈路為單位,即,按照不同的鏈路接口劃分多個鏈路通信和管理模塊50,各個鏈路通信和管理模塊50獨立工作,并行地對各個物理鏈路上的設(shè)備進(jìn)行監(jiān)控和協(xié)調(diào),處理使用同一鏈路的多個設(shè)備的競爭和同步。通過這樣的模塊劃分,按照不同的任務(wù)分配抽象了多個管理層次,具有很好的擴(kuò)展性。(第二實施例)第二實施例與第一實施例的不同之處在于對設(shè)備狀態(tài)查詢消息的處理。在第二實施例中,為了提高設(shè)備狀態(tài)查詢的快速反應(yīng)能力,減輕信道負(fù)荷,提高處理效率,基于第一時間片不斷讀取設(shè)備狀態(tài),并將讀取的設(shè)備狀態(tài)緩存,其中,第一時間片主要根據(jù)設(shè)備的特性(比如,設(shè)備的響應(yīng)速度)及其狀態(tài)信息重要性等而設(shè)置。同時,基于第二時間片從緩存直接讀取設(shè)備狀態(tài)信息返回到用戶界面。第二時間片主要根據(jù)設(shè)備的特性(比如,設(shè)備響應(yīng)速度)及其狀態(tài)信息重要性以及UI的響應(yīng)速度等而設(shè)置,第一時間片與第二時間片之間最好相差一個預(yù)定時間片間隔。這樣,可通過直接讀取預(yù)先緩存的設(shè)備狀態(tài)信息,而不必占用信道,就可迅速地獲取設(shè)備狀態(tài)。為了實現(xiàn)以上方法,本發(fā)明提供如圖3所示的裝置。圖3所示裝置與圖2所示裝置的不同之處在于增加了一個設(shè)備狀態(tài)緩存70。鏈路通信和管理模塊50基于第一時間片不斷讀取設(shè)備狀態(tài),并將各個設(shè)備反饋的狀態(tài)信息緩存在設(shè)備狀態(tài)緩存70中。同時,全局設(shè)備監(jiān)控模塊20基于第二時間片從設(shè)備狀態(tài)緩存70中直接讀取所查詢的設(shè)備的狀態(tài)信息, 并將該狀態(tài)信息更新到UI模塊10。此時,全局設(shè)備監(jiān)控模塊20不必將設(shè)備狀態(tài)查詢消息發(fā)送到消息解析模塊30進(jìn)行解析,然后發(fā)送到相應(yīng)的物理鏈路等待消息返回,而是直接從預(yù)先存儲的設(shè)備狀態(tài)緩存70中讀取設(shè)備狀態(tài),可極大地提高狀態(tài)查詢的反應(yīng)能力。以下,為了更進(jìn)一步說明本發(fā)明方法及其技術(shù)效果,將以圖4所示以數(shù)字噴墨印刷系統(tǒng)作為示例對第二實施例進(jìn)行闡述。在圖4所示的數(shù)字噴墨印刷系統(tǒng)中,存在多個輔助設(shè)備,每個設(shè)備之間具有很大的差異性,它們和作為主控制器的圖3所示多設(shè)備管理裝置的數(shù)據(jù)鏈路存在多種方式,比如,它們可能直接連接至主控制器,但更多情況是采用總線方式和主控制器連接。在噴墨印刷系統(tǒng)的典型應(yīng)用中,4色供墨系統(tǒng)和UV固化設(shè)備這5個設(shè)備使用工業(yè)控制常用的RS485 接口協(xié)議,并且按照總線網(wǎng)的拓?fù)浣Y(jié)構(gòu)連接在一起,然后通過RS485轉(zhuǎn)換芯片連接到圖3所示多設(shè)備管理裝置上。眾所周知,總線網(wǎng)具有如下特點多臺設(shè)備公用一條傳輸信道,信道利用率較高;同一時刻只能有兩臺設(shè)備進(jìn)行通信,即,只能有兩個設(shè)備占用總線;某個節(jié)點的故障不影響整個網(wǎng)絡(luò)的工作。在該示例中,使用面向?qū)ο蠓椒?,封裝設(shè)備特性,區(qū)別處理噴墨印刷系統(tǒng)的輔助設(shè)備的共性和個性。圖5是設(shè)備類的定義。如圖5所示,噴墨印刷系統(tǒng)的輔助設(shè)備主要包括以下幾個共性判定是否打開或聯(lián)機(jī)(IsOpen());打開設(shè)備(OpenO);關(guān)閉設(shè)備(CloseO);復(fù)位設(shè)備(ResetO);查詢設(shè)備狀態(tài)(QueryStatusO);顯示設(shè)備的特有界面(ShowUlO)0而對于設(shè)備的個性部分,建立了一個特殊接口⑴serCmdO),通過該接口發(fā)送對特定設(shè)備的控制消息,從而單獨對設(shè)備的特性進(jìn)行操作。在實際實現(xiàn)中,通過如此封裝定義的設(shè)備類實例中的 QueryStatus ()和^erCmdO接口發(fā)送設(shè)備查詢消息和設(shè)備控制消息。以下,將參照圖6對該示例中的設(shè)備控制消息處理流程進(jìn)行描述。首先,在步驟601中,UI模塊10將用戶輸入的設(shè)備控制消息通過設(shè)備類實例發(fā)送到消息解析模塊30。接著,在步驟602中,消息解析模塊30對接收的設(shè)備控制消息進(jìn)行解析,并將解析得到的數(shù)據(jù)流發(fā)送給設(shè)備控制模塊40,設(shè)備控制模塊40將該數(shù)據(jù)流轉(zhuǎn)換為被控設(shè)備能夠識別的數(shù)據(jù)流,然后將轉(zhuǎn)換的數(shù)據(jù)流發(fā)送到相應(yīng)的鏈路通信和管理模塊50。接著,在步驟S603中,相應(yīng)的鏈路通信和管理模塊50將轉(zhuǎn)換的數(shù)據(jù)流通過RS485 轉(zhuǎn)換芯片發(fā)送到總線上。接著,在步驟S604中,相應(yīng)鏈路上的設(shè)備從總線讀取數(shù)據(jù)流,并分析該數(shù)據(jù)流是否是給自己的。如果發(fā)現(xiàn)是發(fā)送給自己的,則在步驟S605中獲取令牌,并將該數(shù)據(jù)流解析為命令,執(zhí)行該命令,返回相應(yīng)的反饋數(shù)據(jù)。如果發(fā)現(xiàn)不是發(fā)送給自己的,則不進(jìn)行后續(xù)處理。最后,在步驟606中,將消息反饋逐層向上返回到全局設(shè)備監(jiān)控模塊20。以下,將參照圖7對該示例中的設(shè)備狀態(tài)查詢消息處理流程進(jìn)行描述。在該示例中,建立主監(jiān)控線程用于基于上述第二時間片從存儲設(shè)備狀態(tài)的設(shè)備狀態(tài)緩存中讀取設(shè)備狀態(tài),建立多個鏈路線程分別用于順序處理相應(yīng)鏈路上的所有設(shè)備的狀態(tài)查詢和緩存。對于圖4所示的4色供墨系統(tǒng)和UV LED固化系統(tǒng),由于這5個設(shè)備共同使用RS485鏈路,因此,建立RS485線程,在RS485線程中,基于根據(jù)4色供墨系統(tǒng)和UV固化系統(tǒng)的響應(yīng)速度等而建立的第一時間片依次向這5個設(shè)備發(fā)出設(shè)備狀態(tài)查詢消息并將返回的狀態(tài)緩存。在主監(jiān)控線程中,首先如圖7所示,按照設(shè)備的特性(包括設(shè)備響應(yīng)速度的快慢) 及其狀態(tài)信息重要性以及UI的響應(yīng)速度等標(biāo)準(zhǔn)劃分第二時間片,對于需要給予重點關(guān)注的設(shè)備,為其分配更短的時間片間隔,以增加查詢頻率。具體地講,主監(jiān)控線程包括以下步驟步驟1、在主監(jiān)控線程中確定一個固定的時間片間隔,定義為T,典型地,T的值設(shè)為 IOOms ;步驟2、根據(jù)設(shè)備的特性及其狀態(tài)信息重要性以及UI的響應(yīng)速度等標(biāo)準(zhǔn)設(shè)置每個設(shè)備對應(yīng)的時間片間隔權(quán)值,定義為WW,…,i,"·η],其中,W[i]表示第i設(shè)備的時間片間隔權(quán)值;在本示例中,由于供墨系統(tǒng)的液位狀態(tài)信息的重要性比UV固化設(shè)備的狀態(tài)信息重要性高,而機(jī)械走紙平臺一般非常穩(wěn)定,所以其查詢頻率不必過高,所以如圖8所示設(shè)置各個設(shè)備的時間片間隔權(quán)值,其中,W[供墨系統(tǒng)]=7,W[固化系統(tǒng)]=12,W[機(jī)械走紙平臺]=16 ;步驟3、在主監(jiān)控線程中每隔時間片間隔T將時間片計數(shù)值C自動加1 ;步驟4、遍歷所有的設(shè)備,將時間片計數(shù)值C與W[i]求模,只有當(dāng)C mod ff[i] =0 時,才執(zhí)行查詢此設(shè)備的操作,即,從設(shè)備狀態(tài)緩存中讀取該設(shè)備的狀態(tài)。在使用求模的方式來確定是否進(jìn)行查詢時,非常有可能出現(xiàn)“沖突”的情況,即,同時對幾個設(shè)備都在同一個計數(shù)值C產(chǎn)生查詢請求。此時,可選擇W值較大的設(shè)備進(jìn)行查詢。 并且,為了盡可能地減少沖突的情況,可將W[i]都設(shè)置為質(zhì)數(shù)。比如,令W[固化系統(tǒng)]= 13,W[機(jī)械走紙平臺]=17。此外,如上所述,本發(fā)明還支持動態(tài)變化的時間片查詢。即,在設(shè)備出現(xiàn)異常情況時,可動態(tài)地調(diào)整時間片,以增加對該設(shè)備的查詢頻率。比如,可將時間片間隔權(quán)值調(diào)整為 W’[i] =W[i]/2+l。例如,當(dāng)固化系統(tǒng)處于過熱等狀態(tài)需要進(jìn)行報警時,需要更頻繁地關(guān)注其狀態(tài),督促用戶盡快進(jìn)行處理,因此,如上調(diào)整其時間片間隔權(quán)值,而在其處于正常工作狀態(tài)下時則減少查詢頻率,以有效地減輕系統(tǒng)負(fù)荷。以上分別對設(shè)備控制消息和設(shè)備狀態(tài)查詢消息的處理流程進(jìn)行了描述,以下將參照圖8對每條消息占用鏈路時的消息處理線程進(jìn)行描述。如上所述,為了解決多個線程對鏈路共享資源的競爭問題,將鏈路“數(shù)據(jù)發(fā)送”和“數(shù)據(jù)反饋”這個“共享資源”設(shè)置為臨界區(qū)域,從而保證任意時刻每個設(shè)備對鏈路的獨占性。順序處理消息隊列中的消息,以使同一時刻只有一條消息的線程占用鏈路,而其它消息線程將被掛起而進(jìn)入等待狀態(tài),并一直持續(xù)到進(jìn)入臨界區(qū)域的線程離開。如圖8所示,每條消息占用鏈路時的處理線程包括以下步驟步驟801、加入共享鎖,鎖定臨界區(qū)域中的代碼段;步驟802、將命令返回事件對象重置為無信號狀態(tài);步驟803、將消息轉(zhuǎn)換為數(shù)據(jù)流,發(fā)送到總線上;步驟804、循環(huán)等待命令返回事件對象,并判斷是否超時,這里,設(shè)置一個超時時間 (比如,5秒),防止系統(tǒng)假死;步驟805、如果超時,則表示本條命令執(zhí)行失敗,有可能目標(biāo)設(shè)備已斷開連接或處于不正常狀態(tài),則將此時的設(shè)備狀態(tài)返回到全局設(shè)備監(jiān)控模塊20,如果在沒有超時的情況下返回命令事件對象,則將此時的命令執(zhí)行結(jié)果返回到全局設(shè)備監(jiān)控模塊20 ;步驟806、解除共享鎖,釋放本代碼段。此時,鏈路通信和管理模塊能夠明確地得到設(shè)備的命令執(zhí)行結(jié)果以及設(shè)備的連接狀態(tài)等信息。與此同時,如圖8所示,另外建立一個總線讀取線程用于使各個鏈路上的設(shè)備不斷讀取總線數(shù)據(jù)流并進(jìn)行相應(yīng)處理。在該示例中,采用各種類型的設(shè)備都能很好地支持的循環(huán)查詢的方式進(jìn)行讀取,具體包括以下步驟步驟807、讀取總線,一旦發(fā)現(xiàn)總線上有數(shù)據(jù)流,分析該數(shù)據(jù)流是否是發(fā)送給自己的,如果是發(fā)送給自己的,則執(zhí)行步驟808,否則繼續(xù)等待;步驟808、獲取令牌,將數(shù)據(jù)流解析為消息;步驟809、對消息進(jìn)行合法性檢查,排除臟數(shù)據(jù)和錯數(shù)據(jù);步驟810、將命令返回事件對象設(shè)置為有信號狀態(tài),并向消息處理線程通知此事件,消息處理線程檢測到此事件之后認(rèn)為等待命令返回事件對象結(jié)束,執(zhí)行步驟804,設(shè)備讀取線程則返回到步驟807繼續(xù)監(jiān)聽總線數(shù)據(jù)流。以下,將以UV固化系統(tǒng)的啟動和狀態(tài)維護(hù)為例進(jìn)行說明。當(dāng)噴墨印刷系統(tǒng)處于未打印狀態(tài)的空閑時,圖3所示多設(shè)備管理裝置需要提供完整的監(jiān)視固化系統(tǒng)的工作情況。鏈路通信和管理模塊50基于第一時間片不斷向UV固化系統(tǒng)發(fā)送狀態(tài)查詢消息,并將UV固化系統(tǒng)返回的狀態(tài)緩存在設(shè)備狀態(tài)緩存70中。全局設(shè)備監(jiān)控模塊20基于第二時間片不斷從設(shè)備狀態(tài)緩存70中讀取設(shè)備狀態(tài)并將其更新到UI模塊10。當(dāng)噴墨印刷系統(tǒng)即將開始打印需要啟動UV固化系統(tǒng)進(jìn)行工作時,將控制消息, 即,“啟動”命令消息發(fā)送到消息解析模塊30進(jìn)行解析。然后,將解析的數(shù)據(jù)流發(fā)送到固化系統(tǒng)的設(shè)備控制模塊40,設(shè)備控制模塊40將該數(shù)據(jù)流轉(zhuǎn)換為固化系統(tǒng)能夠識別的二進(jìn)制數(shù)據(jù)流。其后,與該設(shè)備控制模塊40相應(yīng)的鏈路通信和管理模塊50將該數(shù)據(jù)流發(fā)送到相應(yīng)的物理鏈路上。從物理鏈路上接收到該數(shù)據(jù)流的固化系統(tǒng)執(zhí)行啟動命令,點亮UV燈,同時將命令執(zhí)行結(jié)果返回到全局設(shè)備監(jiān)控模塊20,以更新到UI模塊10。在執(zhí)行“啟動”命令的同時,有可能還會發(fā)出對UV固化系統(tǒng)的又一次的狀態(tài)查詢消息。此時,在“啟動”命令處理線程進(jìn)入臨界區(qū)域時,該狀態(tài)查詢消息線程將被掛起而進(jìn)入等待狀態(tài),直到“啟動”命令返回反饋數(shù)據(jù)或者超時時臨界區(qū)域才被釋放,該狀態(tài)查詢消息線程才能進(jìn)入臨界區(qū)域,完成數(shù)據(jù)發(fā)送和反饋。從上可看出,在該示例中,通過多線程管理,實現(xiàn)了發(fā)送給多個設(shè)備的多條消息的并行處理,并能保證對所有設(shè)備的安全管理。在以上示例中,根據(jù)總線網(wǎng)的拓?fù)浣Y(jié)構(gòu)對本發(fā)明進(jìn)行了說明,但是本發(fā)明還可應(yīng)用于其它拓?fù)浣Y(jié)構(gòu)。以上結(jié)合示例對本發(fā)明方法和裝置進(jìn)行了詳細(xì)描述??煽闯觯景l(fā)明抽象了多個管理層次,每個管理層次分別負(fù)責(zé)不同的任務(wù),擴(kuò)展性和靈活性高。具體地講,作為主控制層的全局設(shè)備監(jiān)控模塊基于時間片查詢設(shè)備狀態(tài),使得快速響應(yīng)設(shè)備和慢速響應(yīng)設(shè)備能夠保持一定程度上的并行兼容,從而能夠根據(jù)不同的設(shè)備響應(yīng)速度等特性以合適的頻率更新所有設(shè)備的當(dāng)前狀態(tài)并作出適當(dāng)?shù)奶幚怼VС謺r間片動態(tài)調(diào)整,以增加對出現(xiàn)異常情況的設(shè)備的查詢頻率,督促用戶盡快進(jìn)行處理,從而提高安全性。按照不同的物理鏈路劃分鏈路接口模塊,各個模塊獨立工作,并行處理,從而便捷高效地處理同一鏈路上的不同設(shè)備的競爭和同步。在傳送各種消息時,將消息分別轉(zhuǎn)換為設(shè)備能夠識別的數(shù)據(jù)流,從而實現(xiàn)多種通信協(xié)議的兼容。此外,通過設(shè)備狀態(tài)查詢緩存,提高了設(shè)備查詢的反應(yīng)能力,通過對設(shè)備即插即用功能的支持,提高了整個系統(tǒng)的管理和維護(hù)的靈活性。通過這些方式,本發(fā)明提供了一種兼容各種不同物理鏈路、通信協(xié)議和不同響應(yīng)速度的設(shè)備的多設(shè)備綜合管理方法,使得多個設(shè)備能夠更容易地集成,達(dá)到聯(lián)動控制的需求,促進(jìn)生產(chǎn)流程的簡化和生產(chǎn)效率的提尚。 應(yīng)該理解,本發(fā)明并不限于以上所公開的具體實施例,任何本領(lǐng)域的技術(shù)人員在此基礎(chǔ)之上容易想到的修改和變型都應(yīng)包括在本發(fā)明的保護(hù)范圍內(nèi)。比如,時間片的設(shè)置和動態(tài)調(diào)整方法不局限于以上示例中的方法,基于任何時間片進(jìn)行查詢的方法都應(yīng)包括在本發(fā)明的保護(hù)范圍內(nèi)。此外,本發(fā)明所述多設(shè)備管理裝置的模塊劃分不限于圖2和圖3所示劃分結(jié)構(gòu),任何可實現(xiàn)本發(fā)明方法的模塊劃分結(jié)構(gòu)都應(yīng)包括在本發(fā)明的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種多設(shè)備管理方法,包括以下步驟消息發(fā)送步驟,用于發(fā)送用戶通過用戶界面輸入的設(shè)備控制消息或者基于時間片發(fā)送設(shè)備狀態(tài)查詢消息;消息傳送步驟,用于將發(fā)送的設(shè)備狀態(tài)查詢消息或設(shè)備控制消息轉(zhuǎn)換為被查詢或被控設(shè)備能夠識別的數(shù)據(jù)流,并將該數(shù)據(jù)流發(fā)送到該設(shè)備所用物理鏈路上;消息執(zhí)行步驟,用于從相應(yīng)物理鏈路上接收到數(shù)據(jù)流的設(shè)備判斷該數(shù)據(jù)流是否是發(fā)送給自己,如果是發(fā)送給自己的,則將數(shù)據(jù)流解析為命令,執(zhí)行該命令,并返回相應(yīng)的反饋數(shù)據(jù);消息反饋步驟,用于將設(shè)備返回的反饋數(shù)據(jù)經(jīng)由其所用物理鏈路反饋到用戶界面。
2.根據(jù)權(quán)利要求1所述的多設(shè)備管理方法,其特征在于,按照設(shè)備的特性及其狀態(tài)信息重要性以及用戶界面的響應(yīng)速度等標(biāo)準(zhǔn)劃分時間片。
3.根據(jù)權(quán)利要求2所述的多設(shè)備管理方法,其特征在于,以分配給每個設(shè)備的時間片間隔權(quán)值表示查詢每個設(shè)備狀態(tài)的時間間隔,并且,在對幾個設(shè)備都產(chǎn)生查詢請求時,選擇時間片間隔權(quán)值較大的設(shè)備進(jìn)行查詢。
4.根據(jù)權(quán)利要求3所述的多設(shè)備管理方法,其特征在于,所述時間片間隔權(quán)值以質(zhì)數(shù)表不。
5.根據(jù)權(quán)利要求4所述的多設(shè)備管理方法,其特征在于,在設(shè)備出現(xiàn)異常情況下,動態(tài)調(diào)整該設(shè)備的時間片間隔權(quán)值,以增加對該設(shè)備的查詢頻率。
6.根據(jù)權(quán)利要求1所述的多設(shè)備管理方法,其特征在于,在插入新的設(shè)備或拆除其中任一設(shè)備時,在時間片中增加或刪除用于查詢該設(shè)備狀態(tài)的時間片,并基于修改的時間片發(fā)送設(shè)備狀態(tài)查詢消息。
7.根據(jù)權(quán)利要求1所述的多設(shè)備管理方法,其特征在于,對于設(shè)備狀態(tài)查詢消息,執(zhí)行以下步驟基于第一時間片不斷讀取設(shè)備狀態(tài),并將讀取的狀態(tài)緩存; 同時,基于第二時間片從緩存直接讀取狀態(tài)信息返回到用戶界面, 其中,基于設(shè)備響應(yīng)速度等特性及其狀態(tài)信息重要性建立第一時間片,基于設(shè)備相應(yīng)速度等特性及其狀態(tài)信息重要性以及用戶界面的響應(yīng)速度等建立第二時間片,第一時間片和第二時間片相差預(yù)定時間片間隔。
8.一種多設(shè)備管理裝置,包括用戶界面模塊,接收用戶輸入,顯示各個設(shè)備的狀態(tài)信息,并將用戶輸入的設(shè)備控制消息發(fā)送給消息解析模塊;全局設(shè)備監(jiān)控模塊,基于時間片將設(shè)備狀態(tài)查詢消息發(fā)送給消息解析模塊,并將返回的反饋數(shù)據(jù)更新到用戶界面模塊,必要時提供報警信息;消息解析模塊,對從全局設(shè)備監(jiān)控模塊接收的設(shè)備狀態(tài)查詢消息或者從用戶界面模塊接收的設(shè)備控制消息進(jìn)行解析,并將解析得到的數(shù)據(jù)流分發(fā)到該設(shè)備的設(shè)備控制模塊;m個設(shè)備控制模塊,分別對應(yīng)于所述多個設(shè)備,用于將從消息解析模塊接收的相應(yīng)設(shè)備的特定數(shù)據(jù)流轉(zhuǎn)換為該設(shè)備能夠識別的數(shù)據(jù)流,其中,m > 1 ;η個鏈路通信和管理模塊,分別對應(yīng)于所述多個設(shè)備所使用的η條物理鏈路,用于對相應(yīng)物理鏈路上的設(shè)備進(jìn)行監(jiān)控和協(xié)調(diào),并將數(shù)據(jù)流發(fā)送到相應(yīng)物理鏈路上,接收設(shè)備返回的反饋數(shù)據(jù)并將其返回到全局設(shè)備監(jiān)控模塊,其中,η > 1 ;η個系統(tǒng)設(shè)備集,分別與所述η個鏈路通信和管理模塊對應(yīng),每個系統(tǒng)設(shè)備集中包括相應(yīng)物理鏈路上的所有設(shè)備,從其所在物理鏈路上接收到數(shù)據(jù)流的設(shè)備判斷該數(shù)據(jù)流是否是發(fā)送給自己的,如果是發(fā)送給自己的,則將數(shù)據(jù)流解析為命令,執(zhí)行該命令,并經(jīng)由該物理鏈路將相應(yīng)的反饋數(shù)據(jù)返回到相應(yīng)的鏈路通信和管理模塊。
9.根據(jù)權(quán)利要求8所述的多設(shè)備管理裝置,其特征在于,按照設(shè)備的特性及其狀態(tài)信息重要性以及用戶界面模塊的響應(yīng)速度等標(biāo)準(zhǔn)劃分時間片。
10.根據(jù)權(quán)利要求9所述的多設(shè)備管理裝置,其特征在于,以每個設(shè)備的時間片間隔權(quán)值表示查詢每個設(shè)備狀態(tài)的時間間隔,并且,在對幾個設(shè)備都產(chǎn)生查詢請求時,全局設(shè)備監(jiān)控模塊選擇時間片間隔權(quán)值較大的設(shè)備進(jìn)行查詢。
11.根據(jù)權(quán)利要求10所述的多設(shè)備管理裝置,其特征在于,所述時間片間隔權(quán)值以質(zhì)數(shù)表示。
12.根據(jù)權(quán)利要求10所述的多設(shè)備管理裝置,其特征在于,在設(shè)備出現(xiàn)異常情況下,全局設(shè)備監(jiān)控模塊動態(tài)調(diào)整該設(shè)備的時間片間隔權(quán)值,以增加對該設(shè)備的查詢頻率。
13.根據(jù)權(quán)利要求8所述的多設(shè)備管理裝置,其特征在于,在插入新的設(shè)備或刪除其中任一設(shè)備時,全局設(shè)備監(jiān)控模塊在時間片中增加或刪除用于查詢該設(shè)備狀態(tài)的時間片,并基于修改的時間片發(fā)送設(shè)備狀態(tài)查詢消息。
14.根據(jù)權(quán)利要求8所述的多設(shè)備管理裝置,其特征在于,還包括設(shè)備狀態(tài)緩存,此時,對于設(shè)備狀態(tài)查詢消息,執(zhí)行以下操作鏈路通信和管理模塊基于第一時間片不斷讀取設(shè)備狀態(tài),并將各個設(shè)備反饋的狀態(tài)信息緩存在設(shè)備狀態(tài)緩存中,同時,全局設(shè)備監(jiān)控模塊基于第二時間片從設(shè)備狀態(tài)緩存中直接讀取所查詢的設(shè)備的狀態(tài)信息,并將該狀態(tài)信息更新到用戶界面模塊,其中,基于設(shè)備響應(yīng)速度等特性及其狀態(tài)信息重要性建立第一時間片,基于設(shè)備相應(yīng)速度等特性及其狀態(tài)信息重要性以及用戶界面的響應(yīng)速度等建立第二時間片,第一時間片和第二時間片相差預(yù)定時間片間隔,第一時間片和第二時間片相差預(yù)定時間片間隔。
全文摘要
本發(fā)明提供一種多設(shè)備管理方法,包括發(fā)送用戶通過用戶界面輸入的設(shè)備控制消息或者基于時間片發(fā)送設(shè)備狀態(tài)查詢消息;將消息轉(zhuǎn)換為設(shè)備能夠識別的數(shù)據(jù)流,并將數(shù)據(jù)流發(fā)送到相應(yīng)物理鏈路上;從物理鏈路上接收到數(shù)據(jù)流的設(shè)備將數(shù)據(jù)流解析為命令,執(zhí)行命令,并返回反饋數(shù)據(jù);將反饋數(shù)據(jù)經(jīng)由其所用物理鏈路反饋到用戶界面。相應(yīng)地,提供一種多設(shè)備管理裝置,包括UI模塊、全局設(shè)備監(jiān)控模塊、消息解析模塊、設(shè)備控制模塊、鏈路通信和管理模塊以及系統(tǒng)設(shè)備集。本發(fā)明基于時間片進(jìn)行設(shè)備狀態(tài)查詢,按照不同物理鏈路劃分多個鏈路接口模塊,各個模塊獨立工作,并行處理,從而提供了一種兼容各種不同物理鏈路、通信協(xié)議和不同響應(yīng)速度的設(shè)備的多設(shè)備綜合管理方法。
文檔編號G05B19/418GK102236340SQ20101015910
公開日2011年11月9日 申請日期2010年4月26日 優(yōu)先權(quán)日2010年4月26日
發(fā)明者劉志紅, 張興華, 陳 峰, 黃渭平 申請人:北京方正數(shù)字印刷技術(shù)有限公司, 北大方正集團(tuán)有限公司