鄭 良 苑明海 裴鳳雀 顧文斌
(河海大學(xué)機(jī)電工程學(xué)院,江蘇常州 213022)
新時代背景下,信息技術(shù)與制造的緊密融合是制造業(yè)邁向智能化的重要標(biāo)志[1]。智能制造的實現(xiàn)需要制造資源轉(zhuǎn)向智能化、信息化[2],而實現(xiàn)轉(zhuǎn)變的重要基礎(chǔ)就是車間現(xiàn)場多種類、多協(xié)議、多來源生產(chǎn)數(shù)據(jù)的互聯(lián)互通[3]。目前,產(chǎn)品設(shè)計日益復(fù)雜,涉及工藝環(huán)節(jié)繁多,多設(shè)備多車間協(xié)同加工,車間數(shù)據(jù)來源復(fù)雜且結(jié)構(gòu)不同,導(dǎo)致各加工過程數(shù)據(jù)難以及時獲取,加上數(shù)據(jù)采集方法的滯后以及車間設(shè)備數(shù)據(jù)共享困難,使得車間在實現(xiàn)智能化、信息化的過程中面臨窘境,企業(yè)難以快速高效完成生產(chǎn)需求。因此,有必要建立一套完整的數(shù)據(jù)采集和預(yù)處理框架,攻克車間制造過程中數(shù)據(jù)采集難、采集到的數(shù)據(jù)復(fù)雜等問題,實現(xiàn)制造車間生產(chǎn)數(shù)據(jù)標(biāo)準(zhǔn)化、智能化,提高智能制造企業(yè)的核心競爭力。
隨著車間不斷向智能化發(fā)展,傳統(tǒng)制造車間中依靠人工采集數(shù)據(jù)的方式已經(jīng)難以滿足智能制造車間中對數(shù)據(jù)的要求[4]。OPC統(tǒng)一框架(OPC unified architecture, OPCUA),是一種機(jī)器對機(jī)器網(wǎng)絡(luò)傳輸協(xié)議,被廣泛用于監(jiān)控系統(tǒng)[5]、制造執(zhí)行系統(tǒng)[6-7]等領(lǐng)域中,促進(jìn)各種類型網(wǎng)絡(luò)之間的信息交換[8]。同時,射頻識別技術(shù)(radio frequency identification,RFID)憑借其識別速度快、存儲信息量大等特點常被應(yīng)用于數(shù)據(jù)的采集[9]。數(shù)字孿生車間因其設(shè)備種類多、設(shè)備之間通信協(xié)議不統(tǒng)一,通過感知設(shè)備采集的數(shù)據(jù)往往不能直接用于分析計算,需要對其及進(jìn)行處理。Lee J等使用Node-RED對智能工廠注塑過程中的數(shù)據(jù)進(jìn)行采集、存儲、監(jiān)測和預(yù)處理[10]。Cho E等針對智能制造中數(shù)據(jù)缺失和不平衡等問題,采用生成式對抗網(wǎng)絡(luò)(generative adversarial network,GAN),對數(shù)據(jù)進(jìn)行預(yù)處理[11],但受限于數(shù)據(jù)集,并沒有得到令人滿意的結(jié)果。目前,國內(nèi)對智能制造車間數(shù)據(jù)預(yù)處理的研究尚不成熟,沒有形成完整統(tǒng)一的數(shù)據(jù)與處理方案。
綜上所述,智能制造車間數(shù)據(jù)采集及預(yù)處理是實現(xiàn)車間智能化、信息化的前提,在制造過程中起著關(guān)鍵性作用。然而,目前對于智能制造車間數(shù)據(jù)采集、預(yù)處理方法研究較少,對于車間數(shù)據(jù)多源異構(gòu)問題還沒有成熟的解決方案?;诖耍疚膹能囬g數(shù)據(jù)采集出發(fā),提出了智能制造車間設(shè)備數(shù)據(jù)采集框架和數(shù)據(jù)預(yù)處理方法。
傳統(tǒng)制造車間數(shù)據(jù)采集方案大多采取以半人工半自動的方法,采集到的數(shù)據(jù)大多不具備實時性和共享性,難以互聯(lián)互通。智能制造車間中的設(shè)備層及物料層存在大量智能感知設(shè)備,自動化智能化程度高,針對這兩個層次提出了設(shè)備資源數(shù)據(jù)及物料資源數(shù)據(jù)的具體采集方案。
智能制造車間中存在大量工業(yè)機(jī)器人、數(shù)控加工中心及智能檢測設(shè)備,設(shè)備種類繁多,設(shè)備間數(shù)據(jù)私有協(xié)議多樣繁復(fù)。目前主流的工業(yè)設(shè)備通信協(xié)議有數(shù)控設(shè)備互聯(lián)通訊協(xié)議(MTConnect)及OPCUA工控互聯(lián)協(xié)議[12]。
本文基于OPCUA工控互聯(lián)協(xié)議提出了一種智能工業(yè)設(shè)備數(shù)據(jù)采集方案,如圖1所示。TCP/IP協(xié)議作為最基本的互聯(lián)網(wǎng)協(xié)議[13],包含有多個用于物聯(lián)網(wǎng)通信架構(gòu)的基礎(chǔ)協(xié)議簇。首先利用TCP/IP協(xié)議將設(shè)備層與協(xié)議轉(zhuǎn)換模塊相連接,給每個數(shù)控加工中心及工業(yè)機(jī)器人均配備獨(dú)立的協(xié)議轉(zhuǎn)換模塊。接著,將采集來的私有協(xié)議數(shù)據(jù)輸入進(jìn)各自的協(xié)議轉(zhuǎn)換模塊中,建立數(shù)學(xué)模型并統(tǒng)一語義規(guī)范,然后連接到OPCUA服務(wù)器,在OPCUA服務(wù)器對應(yīng)的緩存位置進(jìn)行數(shù)據(jù)存儲以備后續(xù)HTTP服務(wù)器的調(diào)用。最后,基于HTTP協(xié)議與客戶層面進(jìn)行交互,客戶在交互界面下達(dá)指令給HTTP服務(wù)器,HTTP服務(wù)器尋址到對應(yīng)的OPCUA服務(wù)器,調(diào)用相應(yīng)緩存位置的數(shù)據(jù)呈現(xiàn)出來供客戶參考使用。由此全過程實現(xiàn)基于OPCUA的智能工業(yè)設(shè)備數(shù)據(jù)采集,為后續(xù)數(shù)據(jù)預(yù)處理提供了強(qiáng)有力的基礎(chǔ)。
圖1 基于OPCUA的智能工業(yè)設(shè)備數(shù)據(jù)采集方案
除了智能工業(yè)設(shè)備,智能檢測設(shè)備在智能制造車間中也占據(jù)了重要地位。如圖2,針對智能檢測設(shè)備提出了一種基于QIF 3.0的智能檢測設(shè)備數(shù)據(jù)采集方案,根據(jù)檢測設(shè)備的特點采用TCP/IP協(xié)議或USB端口將數(shù)據(jù)傳輸?shù)綑z測數(shù)據(jù)采集端,隨后通過格式轉(zhuǎn)換模塊將其轉(zhuǎn)換為統(tǒng)一的QIF格式數(shù)據(jù),使其能被XML同一框架處理,以備后續(xù)HTTP服務(wù)器對其進(jìn)行調(diào)用。最后,基于HTTP協(xié)議與客戶進(jìn)行交互,在接口上與智能工業(yè)設(shè)備數(shù)據(jù)采集方案達(dá)成統(tǒng)一。
圖2 基于QIF 3.0的智能檢測設(shè)備數(shù)據(jù)采集方案
結(jié)合上述智能工業(yè)設(shè)備及智能檢測設(shè)備的數(shù)據(jù)采集方案,提出了一種智能制造車間設(shè)備數(shù)據(jù)采集框架,如圖3所示。采取設(shè)備-服務(wù)器-交換機(jī)-客戶端的模式,利用OPCUA服務(wù)器與QIF服務(wù)器中的協(xié)議轉(zhuǎn)換模塊,將設(shè)備多種多樣的私有協(xié)議數(shù)據(jù)統(tǒng)一規(guī)范化,完成智能制造車間數(shù)據(jù)的采集、封裝、存儲。客戶端通過交換機(jī)對數(shù)據(jù)進(jìn)行調(diào)用,實現(xiàn)了車間中各類設(shè)備數(shù)據(jù)的實時高效采集。
圖3 智能制造車間設(shè)備數(shù)據(jù)采集框架
在新信息技術(shù)的發(fā)展過程中,射頻識別技術(shù)因具有良好的性能逐漸應(yīng)用到車間數(shù)據(jù)采集中[14-15]。依據(jù)車間物料的流動特征及RFID技術(shù)的工作原理,搭建了智能制造車間物料資源數(shù)據(jù)采集架構(gòu),如圖4所示。該系統(tǒng)分為設(shè)備層、感知層、通信層和服務(wù)層。
圖4 智能制造車間物料資源數(shù)據(jù)采集架構(gòu)
(1)設(shè)備層為各門類物料資源相關(guān)設(shè)備,例如:智能倉儲貨架、AGV小車、各門類物料、三維桁架、自動堆垛機(jī)以及RFID標(biāo)簽(與物料及工裝工具等綁定,跟隨其移動)。
(2)感知層主要包括RFID讀寫器、條碼掃描儀等智能感知設(shè)備,用來識別設(shè)備層的物料資源,傳輸射頻識別數(shù)據(jù)到通信端,同時可將上層發(fā)送的指令數(shù)據(jù)寫入到RFID卡內(nèi)。該層通過RS232接口與通信層相連。
(3)通信層主要采用ZigBee通信主副模塊。主副模塊分別負(fù)責(zé)數(shù)據(jù)的讀與寫的操作,采用單步、防碰撞、單標(biāo)簽等方式對RFID進(jìn)行識別。該層通過RS232接口或USB接口與服務(wù)層相連。
(4)服務(wù)層由數(shù)據(jù)庫服務(wù)器、RFID中間件服務(wù)器、企業(yè)物料管理系統(tǒng)、交換機(jī)組成,共同構(gòu)成車間局域網(wǎng)。讀寫RFID識別卡數(shù)據(jù)的具體功能封裝于RFID中間件服務(wù)器內(nèi)。
設(shè)備資源數(shù)據(jù)和物料資源數(shù)據(jù)采集完成之后,因車間智能感知設(shè)備采集的數(shù)據(jù)各自維度、種類不同,并且包含大量冗余及空值,因此,亟需提出一種數(shù)據(jù)預(yù)處理方法來保證采集數(shù)據(jù)的準(zhǔn)確可用。如圖5所示,提出了一種數(shù)據(jù)預(yù)處理方法。首先,通過預(yù)處理模塊調(diào)用采集的數(shù)據(jù);然后,通過改進(jìn)散列表對車間異常以及重復(fù)進(jìn)行清洗;接著,利用主成分分析法對清洗完成的數(shù)據(jù)進(jìn)行降維,最后將數(shù)據(jù)存儲在數(shù)據(jù)庫中以備之后對其進(jìn)行調(diào)用。
圖5 數(shù)據(jù)預(yù)處理方法主要流程
采用智能制造車間傳感器在采集方案對數(shù)據(jù)采集時,如果物料滯留,讀寫器頻繁閱讀此物料所帶RFID標(biāo)簽,就會產(chǎn)生大量冗余數(shù)據(jù);而當(dāng)射頻信號受到干擾或ZigBee主副模塊的通訊不穩(wěn)定時,就會產(chǎn)生漏讀錯讀現(xiàn)象,最終得到的數(shù)據(jù)會產(chǎn)生大量空值。因此感知設(shè)備直接采集到的數(shù)據(jù)往往不能直接用于分析計算,需要對其處理將其中的“臟數(shù)據(jù)”去除,得到干凈、可用的車間數(shù)據(jù)。如圖6所示,散列表是基于鍵值對的數(shù)據(jù)表結(jié)構(gòu),類似指針映射通過散列函數(shù)來快速訪問數(shù)據(jù)[16],很適合用于對車間數(shù)據(jù)進(jìn)行初步處理。
圖6 散列表結(jié)構(gòu)原理圖
本文研究了散列表結(jié)構(gòu)提出了一種改進(jìn)散列表的數(shù)據(jù)清洗算法。其具體操作流程如圖7所示,包含有如下幾個步驟:
圖7 改進(jìn)散列表數(shù)據(jù)清洗算法流程圖
步驟1:利用鏈表作為底層存儲結(jié)構(gòu),設(shè)計散列表的基本組成元素鍵值對Entry,Entry={TID,RID,C,P},TID為 數(shù)據(jù)標(biāo)簽的ID號,RID為數(shù)據(jù)采集器的ID號,C為數(shù)據(jù)采集器的時間戳,P為指針,P指向下一個Entry節(jié)點。
步驟2:設(shè)置散列表Table的長度Table.length,根據(jù)TID構(gòu)建合適的散列函數(shù)。
步驟3:對初次傳入的原始數(shù)據(jù)的數(shù)值進(jìn)行散列運(yùn)算,求解出數(shù)據(jù)標(biāo)簽Ex的TID對 應(yīng)的散列值hash,利用“與運(yùn)算”求出散列值hash對應(yīng)散列表Table的位置下標(biāo)index。
步驟4:對散列表Table的位置下標(biāo)為index的鏈表進(jìn)行檢測,如果散列表Table的位置下標(biāo)為index的鏈表為空,則表示散列表Table的位置下標(biāo)index對應(yīng)的TID數(shù) 據(jù)標(biāo)簽為新TID數(shù)據(jù)標(biāo)簽,將原始數(shù)據(jù)的這個數(shù)值直接傳出并更新鏈表信息,即將原始數(shù)據(jù)的這個數(shù)值存入下標(biāo)為index的鏈表;如果散列表Table的位置下標(biāo)為index的鏈表不為空,則對散列表Table的位置下標(biāo)為index的鏈表進(jìn)行遍歷操作:
(1)將原始數(shù)據(jù)作為一個數(shù)據(jù)標(biāo)簽,將原始數(shù)據(jù)依次輸入鏈表進(jìn)行數(shù)據(jù)清洗操作,構(gòu)建一個輔助對象用于記錄鏈表的尾節(jié)點,鍵值對Entry(k,v)e=Null。
(2)將散列表Table下標(biāo)為index的鏈表錄入下標(biāo)為s的鍵值對。
(3)判斷數(shù)據(jù)標(biāo)簽是否為新數(shù)據(jù)標(biāo)簽,若數(shù)據(jù)標(biāo)簽是新數(shù)據(jù)標(biāo)簽則將數(shù)據(jù)標(biāo)簽發(fā)出至原始數(shù)據(jù)。
(4)若數(shù)據(jù)標(biāo)簽不是新數(shù)據(jù)標(biāo)簽則判斷此數(shù)據(jù)標(biāo)簽的TID與 當(dāng)前TID是否相等,若此數(shù)據(jù)標(biāo)簽的TID與 當(dāng)前TID不相等則轉(zhuǎn)至(2)。
(5)若數(shù)據(jù)標(biāo)簽的TID與 當(dāng)前TID相等則判斷數(shù)據(jù)標(biāo)簽的TID與 當(dāng)前TID的時間差是否大于閾值,若數(shù)據(jù)標(biāo)簽的TID與 當(dāng)前TID的時間差不大于閾值則舍棄該數(shù)據(jù)標(biāo)簽并轉(zhuǎn)至(2),閾值為常數(shù)。
(6)若數(shù)據(jù)標(biāo)簽的與當(dāng)前TID的 時間差大于閾值則將數(shù)據(jù)標(biāo)簽發(fā)出至執(zhí)行數(shù)據(jù)清洗操作的原始數(shù)據(jù)并更新標(biāo)簽事件的時間戳與更新原始數(shù)據(jù)。
步驟5:散列表的非空位占比達(dá)到75%,則散列表Table進(jìn)行一次擴(kuò)容操作,擴(kuò)容操作長度為前一次散列表Table擴(kuò)容操作長度的2倍,將前一次散列表Table中的原始數(shù)據(jù)傳入擴(kuò)容操作后的散列表 Table中,繼續(xù)數(shù)據(jù)流的判定。
車間產(chǎn)生的數(shù)據(jù)經(jīng)過清洗之后,去除了數(shù)據(jù)中的空值等情況,但此時的數(shù)據(jù)維度過高,各類數(shù)據(jù)的屬性特征可能存在關(guān)聯(lián),從而影響最終的分析結(jié)果。因此,必須對數(shù)據(jù)進(jìn)行處理,降低數(shù)據(jù)維度的同時保證低維數(shù)據(jù)與原數(shù)據(jù)特征的最大相似。采用主成分分析法對數(shù)據(jù)進(jìn)行降維,具體步驟如下:
步驟0:首先將清洗后的實時車間數(shù)據(jù)建立原始數(shù)據(jù)矩陣X={x1,···,xn},X∈Rd×n,xi是一個列向量,矩陣的每一行代表車間資源的一個屬性字段。
步驟4:計算原始數(shù)據(jù)的每個數(shù)值在新的r維主成分子空間中的坐標(biāo),得到降維后的數(shù)據(jù)矩陣A∈Rr×n,公式中, Rr×n代表r×n維 的實數(shù)矩陣,R為實數(shù)集合,A∈Rr×n是 降維后的數(shù)據(jù)矩陣是r×n維的實數(shù)矩陣。
經(jīng)過以上步驟,就可以完成對數(shù)據(jù)樣本庫的清洗、降維,得到能夠直接用于分析計算的數(shù)據(jù),下面對提出的數(shù)據(jù)清洗和數(shù)據(jù)降維算法進(jìn)行驗證。
為了實現(xiàn)對本文數(shù)據(jù)預(yù)處理方法的應(yīng)用,以某企業(yè)制造車間的關(guān)聯(lián)數(shù)據(jù)挖掘過程為前提[17],通過是否在關(guān)聯(lián)數(shù)據(jù)挖掘前運(yùn)行本文預(yù)處理方法為變量進(jìn)行3次試驗。
圖8為測試效率結(jié)果比較圖,以規(guī)模增長度為變量,執(zhí)行時間為評估指標(biāo),方案1為未進(jìn)行預(yù)處理的關(guān)聯(lián)規(guī)則數(shù)據(jù)挖掘,方案2為僅進(jìn)行數(shù)據(jù)降維預(yù)處理后的關(guān)聯(lián)規(guī)則數(shù)據(jù)挖掘,方案3為采用本文數(shù)據(jù)預(yù)處理方法的關(guān)聯(lián)規(guī)則數(shù)據(jù)挖掘。從圖8可以看出,在設(shè)定相同的最小支持度時,采用本文提出的預(yù)處理方法的數(shù)據(jù)挖掘方案的折線圖始終位于其他兩種方案的折線下方,從而說明采用本文提出預(yù)處理方法的數(shù)據(jù)挖掘方案運(yùn)行速度快、挖掘能力強(qiáng),驗證了本文預(yù)處理方法的可行性。
圖8 測試效率結(jié)果的比較圖
在生成車間生產(chǎn)方案前,需要預(yù)先輸入每臺加工中心完成每道工序所需的加工時長。具體加工時長的預(yù)輸入通常由工藝工程師依據(jù)經(jīng)驗預(yù)估,或少批量試制及仿真軟件計算得出。
本文依托于某企業(yè)智能制造車間試驗本文數(shù)據(jù)采集及預(yù)處理方法,連續(xù)采集該車間1個月內(nèi)的工序預(yù)輸入加工時長數(shù)據(jù)與實際加工時長數(shù)據(jù)(由采集到的各工序的開工時刻完工時刻計算差值得出)。鑒于樣本數(shù)據(jù)的普適性,選定最大規(guī)模的樣本段t∈[5,35] min,共獲得3 012組對照數(shù)據(jù),利用上述數(shù)據(jù)預(yù)處理手段對該樣本庫進(jìn)行清洗去重。然后將樣本庫按t∈[5,15]、t∈[15,25]、t∈[25,35]進(jìn)行簡單分段,求取每個分段內(nèi)預(yù)輸入加工時長與實際加工時長各自的平均值,得到結(jié)果[11.2,20.8,29.6]與 [11.6,21.4,30.5],兩者差值為[0.4,0.6,0.9]。
下面進(jìn)行工序加工時長差值的擬合,方便后續(xù)車間資源調(diào)度時的預(yù)輸入加工時長的補(bǔ)差調(diào)整。分別利用線性擬合及二次擬合進(jìn)行對比,如圖9所示。發(fā)現(xiàn)二次擬合的殘差模更小,擬合效果更好,因此設(shè)置經(jīng)補(bǔ)差調(diào)整后的預(yù)輸入加工時長如下。
圖9 加工時長差值擬合圖
本文從智能制造車間數(shù)據(jù)采集方案出發(fā),分別基于OPCUA和QIF提出了智能工業(yè)設(shè)備數(shù)據(jù)采集和智能檢測設(shè)備采集方案,實現(xiàn)對智能制造車間智能多源感知設(shè)備數(shù)據(jù)的語義規(guī)范,完成了車間數(shù)據(jù)的采集、封裝和存儲,方便后續(xù)對數(shù)據(jù)的進(jìn)一步加工。接著,本文采用散列表和主成分分析法完成對車間數(shù)據(jù)的清洗及降維,簡化了后續(xù)數(shù)據(jù)分析的難度。最后,將提出的數(shù)據(jù)采集和預(yù)處理方法在智能制造車間中進(jìn)行驗證。試驗結(jié)果表明,與傳統(tǒng)數(shù)據(jù)降維和預(yù)處理方式相比,本文提出的數(shù)據(jù)處理方法運(yùn)行速度更快、挖掘能力更強(qiáng),具有可行性和優(yōu)越性。