楊 越,余 濤,過立松,陸劍峰,3,白 歐,胡覺成
(1.同濟大學電子與信息工程學院CIMS研究中心,上海 201804;2.智能云科信息科技有限公司,上海 200082;3.企業數字化技術教育部工程研究中心,上海 201804)
2016年,針對我國工業互聯網技術的迫切發展需求,工業互聯網產業聯盟(alliance of industrial Internet,AII)在參考美國工業互聯網參考架構(industrial Internet reference architecture,IIRA)、德國工業4.0參考架構模型(reference architecture model industry 4.0,RAMI4.0)以及日本工業價值鏈參考架構(industrial value reference architecture,IVRA)的基礎上,提出了以網絡、數據和安全為主要功能體系的工業互聯網體系架構1.0。2019年,為了更好地進行體系化的設計、新技術的融合以及實施的可行性,AII在體系架構1.0的基礎上結合新一代信息技術進行設計,推出了工業互聯網體系架構2.0[1]。在新的體系架構中,工業互聯網作為全新工業生態、關鍵基礎設施和新型應用模式,通過人、機、物的全面互聯,實現全要素、全產業鏈、全價值鏈的全面連接,不僅成為推動實體經濟數字化轉型的關鍵支柱,還是實現第四次工業革命的重要基石[2]。
數據是工業互聯網的核心。在工業制造過程中,機床監控、刀具數據分析、機器學習等都需要大量的數據。這些數據來源包含分布式傳感器、設備控制器、企業制造系統等[3]。基于對這些數據的分析,能夠監控設備的工作狀態。例如,以工業互聯網為平臺,通過對大量機床數據的采集、匯總、分析,開發了以機床性能檢測為結果的工業APP,從而實現對工業設備的監控[4]。
而如何實現對機床數據的高效采集,是完成機床大數據、工作狀態監控的首要條件。因此,工業界對機床數據十分重視,而相關數據采集方法也層出不窮[5-7]。但到目前為止,眾多方法都沒有同時兼顧機床工作高頻的要求,以及通過工業互聯網平臺將采集的數據進行高效共享。因此,本文提出一種基于邊云協同的數控機床高頻數據采集應用的方法。邊緣設備與網絡云平臺協同運行,既能充分利用邊緣計算的數據采集和局部數據處理能力。又能利用云平臺的大數據處理和數據共享能力。兩者協同運行能有效利用接入網絡的帶寬,實現高頻數據的傳輸和下載。同時,運用數控程序對采集起始條件進行靈活定義,能使邊緣設備進行機床數據采集的內容和時間可控,從而滿足不同的需求。
在當今萬物互聯的背景下,物聯網所產生的數據中有45%都將在網絡邊緣處理。由于云計算具有實時性不足、帶寬不足、能耗大、不利于數據隱私等缺陷,這類集中式處理數據的模式不能高效處理邊緣側的數據。為解決上述問題,面向海量邊緣設備數據計算的邊緣計算模型被廣泛應用。這些邊緣計算模型在網絡邊緣處理大量臨時數據,不需要再上傳云端處理,也不需要請求中心云端的響應,極大地減小了網絡帶寬的壓力,縮短了系統延遲,有利于更好的服務。同時,用戶隱私不再上傳,而是儲存在邊緣設備中,在一定程度上保護了用戶數據安全[8]。
狹義上,邊緣設備是指向企業或服務供應商提供核心網絡入口點的設備;廣義上,邊緣設備是指從數據源到云中心之間的所有資源,其操作對象包括云服務的下行數據及萬物互聯服務的上行數據[9]。邊緣設備集邊緣計算的數據、數據處理和應用程序于一體,并安裝在邊緣網絡中。邊緣設備包含邊緣網絡上的交換機、路由器、路由交換機、局域網(local area network,LAN)以及各種城域網(metropolitan area network,MAN)、廣域網(wide area network,WAN)設備。
邊緣計算及邊緣設備的發展得益于網絡、隔離技術、邊緣操作系統、數據處理平臺、數據安全和隱私等技術的綜合發展。鑒于此,一系列以邊緣計算進行的數據采集得以應用在各領域,包括智慧交通、智能家居、電子醫療、智能工廠[10]等。
內存數據庫是一種實時數據庫,可將數據直接放在內存中進行操作。相比于傳統的磁盤數據庫,內存數據庫的讀取存儲速度顯著提高。這是由于存儲媒介的不同。內存數據庫在索引結構、存儲管理、并發控制等技術方面有很大改進[11]。目前,常用的內存數據庫有SQList、eXtremeDB、Oracle TimesTen、Redis、Memcached等,具有成熟、易擴展、安全、穩定、支持多種兼容、易開發等優勢。
Redis是邊緣設備內存數據庫存儲的一種常見方案。它是一個Key-Value存儲系統,支持的存儲類型包括字符串、鏈表、集合、順序集合和哈希等。為保證效率,Redis將數據緩存在內存中。此外,Redis會周期性地把更新的數據寫入磁盤,或者把修改操作寫入追加的記錄文件,在此基礎上實現了主從同步。邊緣設備臨時存儲將存儲的數據從遠距離的云端遷移到邊緣設備或邊緣數據中心就近存儲,具有更低的網絡交互延遲、帶寬要求和通信成本,具備更高的自適應力。邊緣存儲為邊緣計算提供實時、可靠的數據存儲和訪問。文獻[12]提供了邊緣存儲層次結構,其由邊緣設備、邊緣數據中心和分布式數據中心三部分組成。頂層為分布式數據中心,與云中心共同執行數據存儲任務;中間為邊緣數據中心,部署在人流量大或蜂窩基站處,提供TB級存儲服務;底層由邊緣設備組成,將輸出采集后存入網絡。因此,邊緣存儲具備地理分布式、存儲設備異構性、支持存儲架構內部部署等優勢。
邊云協同是邊緣計算與云計算相結合的新的協同發展方向。邊緣計算在靠近物或數據源頭的網絡邊緣側,構建融合網絡、計算、存儲、應用核心能力的分布式開放體系,提供了設備之間互聯互通的機制,促進了新的生態模式。同時,邊緣計算能夠進行業務數據本地處理,對數據進行實時反饋,支持計算、存儲資源的彈性擴展、實施決策和優化[13]。云計算能夠將分散的計算機上的計算和存儲通過數據中心進行集中的數據處理。其本質上延續了大型主機的集中式處理特點[14]。邊云協同下,邊緣端靠近數據源,提供就近端服務,為云端傳輸高價值數據;云端為邊緣端提供數據持久化存儲,為邊緣端復雜計算的應用提供資源[15]。
在物聯網行業,文獻[16]提出了一種面向物聯網的邊云協同實體搜索方法。結合云計算與邊緣計算各自的優勢,通過實體識別算法完成實體識別搜索和實體識別分類,構建邊云協同實體搜索系統架構,從而提高物聯網的實體搜索速度。文獻[17]提出了一種應用于配電物聯網的邊緣計算標準架構,以及基于數據中心的邊云機制,解決了配電物聯網海量數據采集、傳輸、計算給通信信道及主站存儲計算系統帶來的巨大壓力。
為了解決機床工作時高頻數據采集會出現超過接入網絡帶寬的問題,在充分考慮工業互聯網、邊緣計算等新興IT技術的基礎上,本文提出了一種面向車間數控設備數據采集的總體架構。系統結構如圖1所示。

圖1 系統結構示意圖Fig.1 Schematic diagram of system structure
如圖1所示,整個系統由云平臺、邊緣設備和數控機床(采集對象)組成。其中,云平臺負責進行數據的深度處理和共享,有應用層、數據處理和管理層以及接入層這三層結構,包含業務管理模塊、數據采集管理模塊、通信模塊、機床數據處理模塊、用戶管理模塊、機床數據庫和內容分發網絡(content delivery network,CDN)云存儲模塊等。其中,CDN云存儲模塊結合了CDN技術。CDN是構建在現有網絡基礎之上的智能虛擬網絡,依靠部署在各地的邊緣服務器,通過中心云平臺的負載均衡、內容分發、調度等功能模塊,使用戶就近獲取所需內容,降低網絡擁塞,提高用戶訪問響應速度和命中率。高頻率采集后形成的數據文件通過CDN網絡傳輸,可以提高數據傳輸效率。邊緣設備負責數據的采集和臨時存儲,包括:①云平臺通信接口,負責和工業云平臺進行通信,形成高頻數據傳輸通道;②數據采集模塊,負責采集對象的數據采集;③本地數據處理模塊,負責數據的打包壓縮,并根據業務需要進行本地處理;④本地數據庫(Redis內存數據庫),負責數據的臨時存儲。采集對象一般為帶有不同數控系統的數控機床,包含通信接口和內存模塊等。數控機床的狀態通過內存模塊中某個地址的變量值表示,可以通過通信接口被邊緣設備讀取。
邊緣數據采集主要由邊緣設備完成。
第一步,邊緣設備的云平臺通信接口接收云平臺的數據采集定義文件。文件中包括采集對象、采集內容、采集頻率和采集起止條件。
第二步,數據采集模塊根據數據采集定義文件中的采集規則采集所設對象的數據,具體包括以下步驟。①根據采集起止條件,跟蹤采集對象的狀態變化。如果采集對象的狀態符合開始采集條件,則開始數據采集;如果采集對象的狀態符合停止采集條件,則停止數據采集。②數據采集模塊通過通信模塊獲取采集對象的相關數據內容,同時,這個數據連同數據采集時間(如時間戳)被一起記錄,存入Redis內存數據庫。Redis內存數據庫具備快速臨時存儲的能力。它將大量數據進行臨時存儲,等待本地數據處理模塊處理。③本地數據處理模塊在數據采集模塊采集數據的同時進行數據處理,或者在數據采集模塊采集結束后進行數據處理。
第三步,壓縮模塊將采集的數據壓縮成高頻數據文件。最后,云平臺通信接口將壓縮的高頻數據文件傳輸至工業云平臺的CDN云存儲模塊。
數控設備的數據采集,往往和數控程序的執行有密切關系。如果用戶想對數控機床動作的某個過程、某個內容或某段時間進行數據采集,就需要一種靈活的數據采集起止的定義方法。本文采用一種結合了數控程序指令來自由定義數據采集起止條件的方法,可以進行多個條件定義。其數控程序過程如下。
①程序開始。
②無需數據采集的程序段,可以是一行或多行數控程序。
③數據采集開始標志字。
④需要進行采集的程序段,可以是一行或多行數控程序。
⑤暫停采集開始標志字,根據需要,可以不包括暫停采集標志字。
⑥不需要采集的普通程序段,可以是一行或多行數控程序。
⑦恢復采集標志字。
⑧需要進行采集的程序段,可以是一行或多行數控程序。
⑨根據需要,插入步驟⑤~步驟⑦,暫停采集。
⑩采集結束標志字。
利用數據采集開始標志字、采集結束標志字、暫停采集標志字和恢復采集標志字,可以明確需要進行數據采集的區間。標志字是針對不同數控系統進行明確約定的某個字符串。使用該方法可以實現自由定義采集條件,適用于各種業務需求。
高頻數據采集流程如圖2所示。

圖2 高頻數據采集流程圖Fig.2 Flowchart of high-frequency data acquisition
首先,根據數據采集定義文件中的采集規則進行數據采集,即當數控程序檢測到采集開始標志字時開始采集數據,檢測到采集結束標志字時結束采集。采集后形成數據文件,存放在邊緣設備Redis內存數據庫中。采集過程中可以通過暫停采集標志字暫停采集、通過恢復采集標志字恢復采集,以此選擇需要采集的內容。接著,當數據文件達到設定的上傳條件或者采集已經結束,通過邊緣設備的本地數據處理模塊將采集的數據壓縮,存放在邊緣設備中;否則,繼續采集數據。最后,將壓縮的數據文件,通過云平臺通信接口與工業云平臺的 CDN云存儲模塊,高效傳輸和存儲數據文件,采集完成。
結合以上邊云協同技術以及所提出的系統方案,在面向實際數控系統業務場景(如數據采集、云端數據接收、數據運算處理等)中得到了應用。以智能云科公司的iSESOL BOX網關、iSESOL云平臺以及典型應用加工過程監控為例,“云-邊-端”高頻數據采集方法如圖3所示。

圖3 “云-邊-端”高頻數據采集方法Fig.3 “Cloud-edge -terminal” high-frequency data acquisition method
加工過程監控應用主要對加工過程中的實時數據進行高頻采集并記錄,用于加工質量一致性分析、加工過程監控等場景。加工過程監控應用采集的參數主要包括機床主軸負載、面板倍率、實際倍率、加工刀具數據以及對應時間戳等。在實際加工過程中,在iSESOL BOX端安裝加工過程監控APP后,邊緣側按照設定的采集參數和頻率進行數控機床的數據采集,采集的數據緩存到邊云設備側,以數據文件格式存儲;加工結束后,對數據文件進行壓縮,上傳至iSESOL平臺對應的CDN云存儲。iSESOL平臺對相應的加工過程數據進行數據處理以及可視化展示。通過該應用,工廠用戶可以實時監控設備加工運行過程,并通過加工原始數據下載,進行線下數據分析處理。同樣的采集方法可以應用在圍繞振動、噪音、電流等維度的數據采集場景。
隨著大數據、深度學習的不斷發展,對數據采集的需求越來越高,在工業領域尤其明顯。針對數控設備的數據采集,本文提出了適用于高頻數據采集的方法。該方法通過邊緣設備與云端的結合,可以有效完成大量的數據采集、處理和傳輸,契合當下發展的需要。實例證明,該方法不僅能夠在工業數控機床數據采集方面得以應用,還具有高效、可靠、靈活等優勢,能滿足各種業務需求。