胡覺成 ,陸劍峰,2 ,余 濤 ,白 歐 ,楊 越
(1.同濟(jì)大學(xué)電子與信息工程學(xué)院CIMS研究中心,上海 201804;2.企業(yè)數(shù)字化技術(shù)教育部工程研究中心,上海 201804;3.智能云科信息科技有限公司,上海 200082)
隨著工業(yè)互聯(lián)網(wǎng)的發(fā)展,以及設(shè)備共享、遠(yuǎn)程維護(hù)需要的增長(zhǎng),數(shù)控機(jī)床數(shù)據(jù)采集與分享是一個(gè)關(guān)鍵點(diǎn)[1]。目前,數(shù)控機(jī)床數(shù)據(jù)采集和分享通用的兩個(gè)網(wǎng)絡(luò)數(shù)據(jù)傳送協(xié)議是MTConnect[2-7]與NCUC-Bus[8]。但是,這兩種協(xié)議還沒有針對(duì)每類機(jī)床的、細(xì)致的數(shù)據(jù)模型定義。然而,在實(shí)際生產(chǎn)過程中,因?yàn)槊總€(gè)數(shù)控機(jī)床的監(jiān)控和管理要素不同,需要有針對(duì)性地對(duì)每個(gè)機(jī)床進(jìn)行個(gè)性化數(shù)據(jù)采集。同時(shí),基于工業(yè)互聯(lián)網(wǎng)的網(wǎng)絡(luò)協(xié)同制造的需要,數(shù)控機(jī)床運(yùn)行狀態(tài)需要在不同企業(yè)之間共享。這要求每個(gè)數(shù)控機(jī)床的數(shù)據(jù)采集信息內(nèi)容和結(jié)構(gòu)能被相關(guān)企業(yè)理解以實(shí)現(xiàn)共享。針對(duì)以上問題,本文提出了一種基于報(bào)文的機(jī)床數(shù)據(jù)采集與分享方法,可將報(bào)文的靈活性和可靠性應(yīng)用到數(shù)控機(jī)床的數(shù)據(jù)采集與分享中。
基于報(bào)文的機(jī)床數(shù)據(jù)采集與分享系統(tǒng)包括網(wǎng)絡(luò)平臺(tái)(云端服務(wù)器或主機(jī))、邊緣設(shè)備和設(shè)備端三個(gè)部分。系統(tǒng)整體架構(gòu)如圖1所示。
圖1 系統(tǒng)整體架構(gòu)Fig.1 Overall structure of the system
整個(gè)系統(tǒng)內(nèi),網(wǎng)絡(luò)平臺(tái)是不可缺少的。網(wǎng)絡(luò)平臺(tái)可以是一個(gè)工業(yè)云平臺(tái)、公有的網(wǎng)絡(luò)平臺(tái)或者私有的企業(yè)平臺(tái)。如果網(wǎng)絡(luò)平臺(tái)是一個(gè)私有的企業(yè)平臺(tái),則只能進(jìn)行數(shù)據(jù)采集并且在企業(yè)內(nèi)部進(jìn)行數(shù)據(jù)共享,而不能和私有平臺(tái)之外的節(jié)點(diǎn)進(jìn)行數(shù)據(jù)共享。網(wǎng)絡(luò)平臺(tái)應(yīng)至少包括一個(gè)邊緣設(shè)備或可直接采集數(shù)據(jù)的數(shù)控系統(tǒng)。邊緣設(shè)備或數(shù)控系統(tǒng)的數(shù)量可以無限制。系統(tǒng)可以連接多個(gè)邊緣設(shè)備或數(shù)控系統(tǒng)。
在網(wǎng)絡(luò)平臺(tái)中,用戶可以根據(jù)需求,通過業(yè)務(wù)管理模塊明確數(shù)據(jù)采集的內(nèi)容和頻率。數(shù)據(jù)與報(bào)文管理層根據(jù)業(yè)務(wù)的需求檢索報(bào)文。若報(bào)文庫中沒有與該業(yè)務(wù)相關(guān)的報(bào)文,則報(bào)文管理模塊重新定義新的報(bào)文,并將新報(bào)文存入報(bào)文庫。接入層根據(jù)檢索結(jié)果確定數(shù)據(jù)采集報(bào)文,并將數(shù)據(jù)采集報(bào)文下發(fā)至邊緣設(shè)備或數(shù)控系統(tǒng),從而完成訂閱[9]。
有兩種典型的數(shù)據(jù)采集方式可以連接到服務(wù)器:一種是通過邊緣設(shè)備來連接,另一種是直接連接(即圖1中邊緣設(shè)備與設(shè)備端集成在一起)。如果數(shù)控系統(tǒng)具有報(bào)文解析功能并且支持基于本文所涉及的數(shù)據(jù)采集報(bào)文進(jìn)行數(shù)據(jù)采集,那么就可以直接和網(wǎng)絡(luò)平臺(tái)連接而不用邊緣設(shè)備。否則,數(shù)控系統(tǒng)需要通過邊緣設(shè)備來連接網(wǎng)絡(luò)平臺(tái)[10]。
對(duì)于通過邊緣設(shè)備連入網(wǎng)絡(luò)平臺(tái)的方式,邊緣設(shè)備需要具備報(bào)文解析功能。邊緣設(shè)備接收到來自網(wǎng)絡(luò)平臺(tái)的報(bào)文后,通過對(duì)報(bào)文的解析,明確數(shù)據(jù)采集要求;通過對(duì)數(shù)據(jù)采集報(bào)文的理解,對(duì)采集對(duì)象進(jìn)行數(shù)據(jù)采集;對(duì)采集到的數(shù)據(jù)進(jìn)行必要的轉(zhuǎn)換、清洗和預(yù)處理;最后將采集到的數(shù)據(jù)上傳至網(wǎng)絡(luò)平臺(tái)[11]。
對(duì)于直接連接的方式,數(shù)控系統(tǒng)本身需要具備報(bào)文解析和數(shù)據(jù)傳輸?shù)墓δ?,即?shù)控系統(tǒng)需要具備邊緣設(shè)備的功能,在數(shù)據(jù)采集過程中承擔(dān)邊緣設(shè)備的角色。
網(wǎng)絡(luò)平臺(tái)在獲取邊緣設(shè)備和數(shù)控設(shè)備上傳的數(shù)據(jù)后,由數(shù)據(jù)與報(bào)文管理層對(duì)已經(jīng)采集到的機(jī)床數(shù)據(jù)進(jìn)行管理,包括數(shù)據(jù)的存儲(chǔ)和共享等。
如果用戶需要和其他用戶進(jìn)行數(shù)據(jù)共享,將自己采集的數(shù)據(jù)共享給其他用戶,可利用本文所設(shè)計(jì)的報(bào)文進(jìn)行定義。用戶之間的數(shù)據(jù)共享只能在網(wǎng)絡(luò)平臺(tái)的范圍內(nèi)。如果沒有其他用戶接入網(wǎng)絡(luò)平臺(tái),就不能通過圖1所示的架構(gòu)訪問共享數(shù)據(jù)。一般而言,在數(shù)據(jù)共享過程中需要將數(shù)據(jù)結(jié)構(gòu)告知其他用戶,否則其他用戶就不能理解數(shù)據(jù)的含義。把報(bào)文定義信息傳遞給其他用戶后,其他用戶就可以很方便地根據(jù)這個(gè)報(bào)文定義信息來解讀數(shù)據(jù)含義。
根據(jù)不同的業(yè)務(wù)或者模型,形成的報(bào)文可以看作是對(duì)數(shù)據(jù)采集內(nèi)容和采集頻率的一個(gè)定義。一般報(bào)文可以基于可擴(kuò)展標(biāo)記語言(extensible markup language,XML)或JavaScript對(duì)象表示法(JavaScript object notcotion,JSON)來定義。
報(bào)文的定義應(yīng)該包含數(shù)據(jù)采集的內(nèi)容和頻率,以便邊緣設(shè)備和數(shù)控系統(tǒng)確定數(shù)據(jù)采集的要求。此外,報(bào)文的定義還應(yīng)該包含報(bào)文的類型,以明確是否能夠在不同企業(yè)間共享這個(gè)報(bào)文。因此,報(bào)文定義基本包括以下屬性:報(bào)文ID、報(bào)文名稱、采集規(guī)則(時(shí)間型、事件型)、采集頻率、報(bào)文類型(公有報(bào)文或私有報(bào)文)、報(bào)文所屬設(shè)備參數(shù)集(即采集內(nèi)容)[12]。
①報(bào)文ID:唯一標(biāo)識(shí)一個(gè)報(bào)文。
②報(bào)文名稱:便于報(bào)文的檢索。
③采集規(guī)則:規(guī)定數(shù)據(jù)采集方式是定時(shí)采集(時(shí)間型),還是在某個(gè)事件發(fā)生后采集(事件型)。
④采集頻率:每個(gè)時(shí)間間隔(例如每分鐘、每小時(shí)或每天)需要采集數(shù)據(jù)的次數(shù)。
⑤報(bào)文類型:分為公有報(bào)文和私有報(bào)文。公有報(bào)文又稱全局報(bào)文,可以被不同用戶共享。私有報(bào)文又稱局部報(bào)文,只能被定義這個(gè)報(bào)文的用戶自行使用。
⑥報(bào)文所屬設(shè)備參數(shù)集:報(bào)文定義需要采集的數(shù)據(jù)內(nèi)容。
技術(shù)人員可以在這個(gè)報(bào)文定義上疊加新的報(bào)文屬性內(nèi)容。
數(shù)控機(jī)床可以根據(jù)設(shè)備類別和系統(tǒng)類別進(jìn)行劃分。設(shè)備類別包括設(shè)備大類(如車床、銑床、刨床、磨床等)和設(shè)備小類(設(shè)備的具體型號(hào))。每個(gè)設(shè)備大類中包括幾個(gè)設(shè)備小類。系統(tǒng)類別分為系統(tǒng)大類和系統(tǒng)小類。系統(tǒng)大類是指數(shù)控機(jī)床所采用數(shù)控系統(tǒng)的生產(chǎn)廠商,如西門子、FANUC、i5等。系統(tǒng)小類是數(shù)控系統(tǒng)的具體型號(hào)。系統(tǒng)根據(jù)每個(gè)數(shù)控機(jī)床的設(shè)備類別和系統(tǒng)類別,定義了不同的參數(shù)集。
在定義報(bào)文的時(shí)候,可以根據(jù)設(shè)備對(duì)象所屬設(shè)備類別和系統(tǒng)類別,從對(duì)應(yīng)的參數(shù)集中選擇部分參數(shù),作為數(shù)據(jù)采集內(nèi)容。
用戶根據(jù)業(yè)務(wù)需要,通過網(wǎng)絡(luò)平臺(tái)上的業(yè)務(wù)管理模塊登記業(yè)務(wù)信息,明確數(shù)據(jù)采集內(nèi)容和頻率。網(wǎng)絡(luò)平臺(tái)上的報(bào)文管理模塊檢索是否有該業(yè)務(wù)相關(guān)的報(bào)文定義。這個(gè)過程就是檢索符合數(shù)據(jù)采集內(nèi)容和頻率的采集報(bào)文。如果以前沒有定義過這個(gè)報(bào)文,則定義新報(bào)文,并且將其存入報(bào)文庫;如果存在這個(gè)報(bào)文定義,則通過報(bào)文訂閱模塊來關(guān)聯(lián)業(yè)務(wù)和報(bào)文,也就是明確這個(gè)業(yè)務(wù)采用什么報(bào)文來采集數(shù)據(jù)。最后,網(wǎng)絡(luò)平臺(tái)把報(bào)文下傳到邊緣設(shè)備或者數(shù)控系統(tǒng)。
如果數(shù)控系統(tǒng)支持報(bào)文解析并且能根據(jù)報(bào)文采集數(shù)據(jù),就可以直接把報(bào)文傳遞給該設(shè)備的數(shù)控系統(tǒng),即將圖1中的邊緣設(shè)備和數(shù)據(jù)機(jī)床的功能結(jié)合在一起。如果數(shù)控系統(tǒng)不支持報(bào)文解析或者不能根據(jù)報(bào)文采集數(shù)據(jù),則將報(bào)文傳遞給連接這個(gè)設(shè)備的邊緣設(shè)備,通過邊緣設(shè)備進(jìn)行數(shù)據(jù)采集。最后,邊緣設(shè)備或者數(shù)控系統(tǒng)完成數(shù)據(jù)采集,并且上傳到網(wǎng)絡(luò)平臺(tái);數(shù)據(jù)存放到機(jī)床數(shù)據(jù)庫,供相關(guān)業(yè)務(wù)模塊訪問使用。數(shù)據(jù)采集流程如圖2所示。
圖2 數(shù)據(jù)采集流程圖Fig.2 Flowchart of data collection
數(shù)據(jù)分享流程如圖3所示。
圖3 數(shù)據(jù)分享流程圖Fig.3 Flowchart of data sharing
用戶可以通過業(yè)務(wù)管理模塊登記業(yè)務(wù)(或者檢索已有的業(yè)務(wù))、確定數(shù)據(jù)采集內(nèi)容和頻率。網(wǎng)絡(luò)平臺(tái)的報(bào)文管理模塊檢索是否有和這個(gè)業(yè)務(wù)相關(guān)的公有報(bào)文定義。公有報(bào)文是指可以被不同用戶共享的報(bào)文。如果沒有公有報(bào)文定義,則重新定義一個(gè)公有報(bào)文,并將其存入報(bào)文庫;如果有公有報(bào)文定義,則用戶根據(jù)公有報(bào)文采集數(shù)據(jù),并將其存儲(chǔ)到機(jī)床數(shù)據(jù)庫。用戶根據(jù)業(yè)務(wù)需要,利用用戶管理模塊中的權(quán)限設(shè)置功能把自己的數(shù)據(jù)共享給業(yè)務(wù)相關(guān)用戶。其他用戶可以根據(jù)公有報(bào)文結(jié)構(gòu),通過機(jī)床數(shù)據(jù)管理模塊訪問存放在機(jī)床數(shù)據(jù)庫中的共享數(shù)據(jù)。
本文以機(jī)床預(yù)防護(hù)維修為例,介紹通過基于報(bào)文方式的機(jī)床數(shù)據(jù)采集與分享方法的應(yīng)用。目前,業(yè)內(nèi)大多數(shù)機(jī)床裝備采用定期更換機(jī)械部件的維護(hù)策略。而導(dǎo)軌、軸承和絲杠等采用這種維護(hù)策略是不現(xiàn)實(shí)的,一旦精度下降或出現(xiàn)故障,根本無法修復(fù)。針對(duì)行業(yè)內(nèi)這種不科學(xué)、合理的維護(hù)策略,智能云科推出了機(jī)床體檢應(yīng)用。該應(yīng)用結(jié)合報(bào)文方式的機(jī)床數(shù)據(jù)采集方式,根據(jù)業(yè)務(wù)的需求,將需要采集的參數(shù)及所采集參數(shù)的頻率形成報(bào)文,從云平臺(tái)下發(fā)到邊緣設(shè)備或者數(shù)控系統(tǒng)。然后,根據(jù)報(bào)文定義采集數(shù)據(jù),并將采集到的數(shù)據(jù)送往云平臺(tái)進(jìn)行分析處理。
以西門子840D sl數(shù)控系統(tǒng)為例,通過邊緣設(shè)備進(jìn)行數(shù)據(jù)通信。根據(jù)機(jī)床體檢業(yè)務(wù)定義模型,制定了相關(guān)的參數(shù)化報(bào)文,并采用了JSON格式。機(jī)床體檢的業(yè)務(wù)報(bào)文包含高頻采集報(bào)文和低頻采集報(bào)文。
①高頻采集報(bào)文:通過高頻數(shù)據(jù)采集獲取西門子840D sl設(shè)備的主軸負(fù)載和主軸轉(zhuǎn)速等數(shù)據(jù)。報(bào)文定義如下。
{
"Id":2010,//報(bào)文ID
"name":"highFre",
//報(bào)文名稱,高頻采集
"rule":"time",
//報(bào)文規(guī)則,時(shí)間類型
"type":"local",
//報(bào)文類型,局部
"fre":50,
//采集頻率 50 ms
"paramSet":"siemens",
//所屬參數(shù)集
"para":[
"load",
//主軸負(fù)載
spindleSpeed
//主軸轉(zhuǎn)速
]
}
②低頻采集報(bào)文:通過低頻數(shù)據(jù)采集獲取西門子低頻采集840D sl機(jī)床狀態(tài)、進(jìn)給軸負(fù)載和進(jìn)給軸坐標(biāo)等數(shù)據(jù)。報(bào)文定義如下。
{
"Id":2011,
//報(bào)文ID
"name":"lowFre",
//報(bào)文名稱,低頻采集
"rule":"time",
//報(bào)文規(guī)則,時(shí)間類型
"type":"local",
//報(bào)文類型,局部
"fre":1000,
//采集頻率,1 000 ms
"paramSet":"siemens",
//所屬參數(shù)集
"para":[
"machineStatus",
//機(jī)床狀態(tài)
"axisLoad_X",
//X軸負(fù)載
"axisLoad_Y",
//Y軸負(fù)載
"axisLoad_Z",
//Z軸負(fù)載
"axisPos_X",
//X軸坐標(biāo)
"axisPos_Y",
//Y軸坐標(biāo)
"axisPos_Z"
//Z軸坐標(biāo)
]
}
將高頻、低頻采集報(bào)文下發(fā)到邊緣設(shè)備端,則邊緣設(shè)備端基于業(yè)務(wù)報(bào)文屬性采集西門子840D sl數(shù)控機(jī)床參數(shù)。將數(shù)據(jù)上報(bào)云平臺(tái)進(jìn)行數(shù)據(jù)分析處理,得到機(jī)床的體檢分析報(bào)告。西門子840D sl數(shù)控機(jī)床體檢分析結(jié)果如圖4所示。
圖4 西門子840D sl數(shù)控機(jī)床體檢分析結(jié)果Fig.4 Physical examination analysis results of siemens 840D sl CNC machine tool
本文介紹了一種基于報(bào)文的機(jī)床數(shù)據(jù)采集和分享方法。該方法定義了數(shù)據(jù)采集報(bào)文的內(nèi)容,并通過邊緣設(shè)備或數(shù)控機(jī)床來讀取報(bào)文,以此實(shí)現(xiàn)不同的數(shù)據(jù)采集與分享業(yè)務(wù)。本文闡述了本方法的系統(tǒng)架構(gòu)與報(bào)文的設(shè)計(jì)格式,描述了實(shí)現(xiàn)數(shù)控機(jī)床數(shù)據(jù)采集和數(shù)據(jù)
分享的流程,并以智能云科推出的機(jī)床體檢應(yīng)用對(duì)方法進(jìn)行了驗(yàn)證。該方法能夠更加靈活地對(duì)不同數(shù)控機(jī)床進(jìn)行有針對(duì)性的數(shù)據(jù)采集和分享。