黃云鷹 翁師道 邱明勇
(1.沈機(jī)(上海)智能系統(tǒng)研發(fā)設(shè)計(jì)有限公司 上海市 200433)
(2.沈陽(yáng)機(jī)床(集團(tuán))設(shè)計(jì)研究院有限公司上海分公司 上海市 200433)
很多工業(yè)設(shè)備只能獨(dú)立運(yùn)行,缺乏能夠接入的工業(yè)互聯(lián)網(wǎng)平臺(tái),也缺乏支持接入平臺(tái)的模塊,無法在設(shè)備間的實(shí)現(xiàn)協(xié)同工作,同時(shí)也拒絕了很多在聯(lián)網(wǎng)情況下才能實(shí)現(xiàn)的擴(kuò)展應(yīng)用。沈機(jī)智能在i5OS系統(tǒng)上針對(duì)這些問題開發(fā)了和iSesol工業(yè)物聯(lián)網(wǎng)云平臺(tái)之間聯(lián)網(wǎng)的基礎(chǔ)服務(wù)并拓展了聯(lián)網(wǎng)應(yīng)用。
配備采用J1900主板的工控機(jī),安裝支持Ethercat現(xiàn)場(chǎng)總線的傳感器接入到i5OS工業(yè)操作系統(tǒng),支持各種工業(yè)應(yīng)用APP。
i5OS 就是基于i5運(yùn)動(dòng)控制核心技術(shù)的智能化操作系統(tǒng),是基于 Linux系統(tǒng)的Ubuntu發(fā)行版進(jìn)行開發(fā)、擁有運(yùn)動(dòng)控制核心技術(shù)的工業(yè)軟件操作系統(tǒng);它將i5運(yùn)動(dòng)控制核心技術(shù)進(jìn)行模塊化封裝,形成標(biāo)準(zhǔn)的API,以軟件平臺(tái)的形式向裝備制造業(yè)提供運(yùn)動(dòng)控制核心技術(shù),幫助用戶專注高價(jià)值應(yīng)用開發(fā)。
在工控機(jī)上安裝i5OS系統(tǒng)鏡像,然后根據(jù)實(shí)際的機(jī)床型號(hào)以及機(jī)床類型配置實(shí)際的CNC運(yùn)行模式。為便于開發(fā)工業(yè)互聯(lián)網(wǎng)協(xié)議棧以及工業(yè)APP,在本地開發(fā)環(huán)境中部署i5OS虛擬機(jī),在開發(fā)完成后再部署到實(shí)際的工控機(jī)中運(yùn)行。
2.2.1 iPORT簡(jiǎn)介
iPORT作為一套開放的標(biāo)準(zhǔn)協(xié)議,需要對(duì)其標(biāo)準(zhǔn)及其規(guī)范做出一些說明和限制。通過iPORT協(xié)議,iSESOL平臺(tái)可以實(shí)現(xiàn)廣泛的接入能力,同時(shí)對(duì)接入的各類設(shè)備進(jìn)行監(jiān)控和管理。
2.2.2 iPORT組成結(jié)構(gòu)
2.2.2.1 主體
iPORT通信系統(tǒng)由Agent、Adapter和Machine三個(gè)基本部分組成。Agent代表服務(wù)端,負(fù)責(zé)與設(shè)備端的交互,是應(yīng)用與設(shè)備通信的主要節(jié)點(diǎn),在本案例中部署在工業(yè)云平臺(tái)。Adapter是iPORT的適配器,用于連接Agent和Machine,存在于Machine內(nèi),也是需要開發(fā)的主要內(nèi)容之一。Machine指設(shè)備端,部署了i5OS工控操作系統(tǒng)的設(shè)備。
2.2.2.2 通信流程
在本案例中iPORT采用了直連模式。通信的主要流程:設(shè)備認(rèn)證:設(shè)備攜帶設(shè)備信息向iSESOL發(fā)送HTTPS請(qǐng)求申請(qǐng)認(rèn)證。申請(qǐng)成功后獲取認(rèn)證Token和建立MQTT通信連接的用戶名和密碼以及AES密鑰。認(rèn)證失敗后,設(shè)備會(huì)重新發(fā)起認(rèn)證申請(qǐng)。建立通信連接:在設(shè)備認(rèn)證通過的前提下,通過獲取的用戶名和密碼向iSESOL工業(yè)互聯(lián)網(wǎng)平臺(tái)申請(qǐng)建立MQTT連接,初始化訂閱、啟動(dòng)監(jiān)聽服務(wù)。啟動(dòng)心跳機(jī)制:發(fā)送心跳包,并實(shí)時(shí)監(jiān)聽心跳狀態(tài)。心跳異常會(huì)重新發(fā)起認(rèn)證申請(qǐng),保障通信連接的穩(wěn)定。發(fā)布注冊(cè)消息:向iSESOL工業(yè)互聯(lián)網(wǎng)平臺(tái)發(fā)送設(shè)備注冊(cè)信息,包含認(rèn)證Token和設(shè)備版本信息。接收訂閱命令:?jiǎn)?dòng)MQTT監(jiān)聽線程,等待處理iSESOL工業(yè)互聯(lián)網(wǎng)平臺(tái)下發(fā)的訂閱命令或其他命令。發(fā)布采集消息:訂閱命令接收成功后,設(shè)備按照訂閱內(nèi)容進(jìn)行數(shù)據(jù)采集,按要求向iSESOL工業(yè)互聯(lián)網(wǎng)平臺(tái)發(fā)送采集結(jié)果。斷開連接:設(shè)備與MQTT Broker之間連接斷開,Broker會(huì)將遺言發(fā)送給iSESOL工業(yè)互聯(lián)網(wǎng)平臺(tái)。
2.2.3 協(xié)議棧實(shí)現(xiàn)
iPORT協(xié)議底層是基于MQTT協(xié)議的,其通信過程是通過MQTT通信實(shí)現(xiàn)的。MQTT包含兩個(gè)角色,一個(gè)是MQTT Client,一個(gè)是MQTT Broker。 Client根據(jù)消息的處理方式不同分為Producer和Consumer。 Client之間通過Topic向Broker進(jìn)行發(fā)布和訂閱,Broker根據(jù)Topic進(jìn)行轉(zhuǎn)發(fā)。Client內(nèi)部都具有一個(gè)MQTT Listener的實(shí)例,用于發(fā)布消息和監(jiān)聽Broker轉(zhuǎn)發(fā)過來的消息。
2.2.4 iPORT服務(wù)APP
2.2.4.1 http通信模塊該模塊主要通過http請(qǐng)求和通信,獲取建立常連接所需的驗(yàn)證信息并進(jìn)行文件的上傳下載時(shí)使用。
2.2.4.2 mqtt通信模塊
該模塊主要通過調(diào)用mqtt通信接口建立常連接進(jìn)行通信,隨時(shí)接收服務(wù)器發(fā)來的命令對(duì)機(jī)頭數(shù)據(jù)和狀態(tài)信息進(jìn)行采集和操控并即時(shí)將信息上報(bào)至服務(wù)器。
2.2.4.3 sqlite數(shù)據(jù)處理模塊該模塊主要以庫(kù)的形式對(duì)外提供接口,完成數(shù)據(jù)庫(kù)數(shù)據(jù)的記錄,更新,修改和刪除操作。在離線情況下確保數(shù)據(jù)的不丟失。
2.2.4.4 CNC數(shù)據(jù)處理模塊
由于iPORT服務(wù)是運(yùn)行在i5OS操作系統(tǒng)中,所以需要建立和i5OS系統(tǒng)的數(shù)據(jù)交互通道,轉(zhuǎn)換成iPORT協(xié)議定義的數(shù)據(jù)格式,最終形成報(bào)文和iSESOL工業(yè)云平臺(tái)進(jìn)行交互。CNC數(shù)據(jù)處理模塊處理的數(shù)據(jù)分為三類:i5CNC數(shù)據(jù),i5OS系統(tǒng)數(shù)據(jù),用戶自定義數(shù)據(jù)。i5CNC根據(jù)i5OS提供的接口進(jìn)行讀寫訪問。
2.2.4.5 消息處理模塊
該模塊為APP的核心控制模塊,負(fù)責(zé)各種消息的處理和任務(wù)的執(zhí)行以及數(shù)據(jù)的采集周期控制,該模塊詳細(xì)功能如下:
(1)初始化APP連接所需各種數(shù)據(jù),調(diào)用通信庫(kù)創(chuàng)建長(zhǎng)連接;
(2)檢測(cè)連接狀態(tài),在連接異常時(shí)不斷進(jìn)行重連嘗試;
圖1
(3)接收服務(wù)器發(fā)來的不同消息,對(duì)不同消息進(jìn)行響應(yīng);
(4)對(duì)傳輸?shù)南?bào)文進(jìn)行加解密;
(5)在程序啟動(dòng)時(shí)初始化需記錄和采樣的數(shù)據(jù)信息,按照規(guī)則向本地?cái)?shù)據(jù)庫(kù)中記錄采樣的數(shù)據(jù)內(nèi)容;
(6)對(duì)于記錄的業(yè)務(wù)數(shù)據(jù)進(jìn)行周期性發(fā)送,并在未收到服務(wù)器應(yīng)答的情況下對(duì)數(shù)據(jù)進(jìn)行重發(fā)直至收到服務(wù)器回復(fù)確認(rèn)為止;
(7)控制文件上傳、下載進(jìn)程。
在搭建了iPORT通信APP的基礎(chǔ)上,可以開發(fā)面向行業(yè)應(yīng)用的工業(yè)APP,例如實(shí)現(xiàn)了一個(gè)在線的主軸功率的自適應(yīng)加工APP。
3.1.1 APP運(yùn)行環(huán)境
所有搭載i5OS系統(tǒng)的機(jī)床,主軸需支持采集功率信號(hào),或通過外接ADC模塊及傳感器采集主軸電壓及電流信號(hào)??紤]到進(jìn)給倍率變化對(duì)加工表面的影響,在精加工階段不建議使用該功能,同時(shí)使用攻絲功能時(shí)不能使用該功能。
3.1.2 背景以及功能簡(jiǎn)介
通過iSESOL云平臺(tái)對(duì)i5OS系統(tǒng)中的加工過程進(jìn)行負(fù)載監(jiān)控,對(duì)加工過程中的主軸功率數(shù)據(jù)進(jìn)行記錄、學(xué)習(xí),同時(shí)調(diào)整機(jī)床倍率,獲得加工中合適的動(dòng)態(tài)倍率,以提高加工效率。
3.1.3 整體功能流程
3.1.3.1 對(duì)iSESOL下發(fā)的高頻采集策略的接收及數(shù)據(jù)上傳
該部分使用已有高頻采集策略,不做單獨(dú)說明,采集標(biāo)識(shí)符采用TRGFDSCLTRM [0]參數(shù),在AON,AOFF,CON,COFF和AINI子程序中分別對(duì)TRGFDSCLTRM [0]進(jìn)行賦值。在高頻采集條件中,當(dāng)TRGFDSCLTRM [0] > 0時(shí)進(jìn)行采集。
由于在最開始時(shí)iSESOL端無法獲知將要執(zhí)行的程序名稱,因此在高頻采集策略中的“target file name”字段,約定使用“anyprogram”,cnc端收到“target file name”字段為“anyprogram”時(shí),在開始采集前不對(duì)程序名進(jìn)行校驗(yàn)。
高頻采集的采樣通道暫定為:實(shí)際功率
在實(shí)施自適應(yīng)加工時(shí),實(shí)施自適應(yīng)加工的程序段,同樣要滿足采集時(shí)的條件,即TRGFDSCLTRM [0] > 0。
3.1.3.2 對(duì)iSESOL下發(fā)的結(jié)果即目標(biāo)功率及其他信息的接收
iSESOL將要下發(fā)的內(nèi)容通過203報(bào)文傳入機(jī)頭,具體的內(nèi)容包括:
(1)程序名稱;
(2)刀具編號(hào);
(3)與刀號(hào)對(duì)應(yīng)的目標(biāo)功率;
在接收到203報(bào)文后,cnc向iSESOL發(fā)送203以確定接收到學(xué)習(xí)結(jié)果。
3.1.3.3 i5OS本地與iSESOL端APP關(guān)于模式201報(bào)文的交互
當(dāng)前在APP端點(diǎn)擊進(jìn)行模式選擇后,iSESOL將選擇的模式向cnc發(fā)送201報(bào)文,在i5本地根據(jù)201報(bào)文內(nèi)容進(jìn)行模式判斷,準(zhǔn)備進(jìn)行相關(guān)操作。如圖1所示。
3.1.4 自適應(yīng)模式
根據(jù)模式201報(bào)文中的“索引模式”,可以將實(shí)時(shí)倍率修調(diào)的模式分為3種——不干預(yù),單件模式和批量模式,其中批量模式包含“批量學(xué)習(xí)”和“(批量)優(yōu)化加工”兩個(gè)子模式。其中“不干預(yù)”為不對(duì)倍率進(jìn)行調(diào)整,即FEEDSCALETRIM參數(shù)一直為1。
APP在i5OS本地上進(jìn)行模式選擇時(shí),只根據(jù)201報(bào)文中的“索引模式”對(duì)模式進(jìn)行選擇。如在本地沒有對(duì)應(yīng)的結(jié)果203報(bào)文參數(shù)時(shí),使FEEDSCALETRIM參數(shù)一直為1。
3.1.5 單件模式
當(dāng)在iSESOL端APP上選擇“單件學(xué)習(xí)”,即使用單件模式。在單件模式中,在程序的單次運(yùn)行中,結(jié)果報(bào)文203中的目標(biāo)功率值會(huì)被多次下載(每次覆蓋原來的)。在該模式下,iSESOL下發(fā)的“高頻采集”要求按照一定固定時(shí)間間隔將數(shù)據(jù)上傳,并隨后更新讀取結(jié)果203報(bào)文中的目標(biāo)功率及其他內(nèi)容。
3.1.6 批量模式
批量模式包含“批量學(xué)習(xí)”和“加工優(yōu)化”兩部分,其中“批量學(xué)習(xí)”階段只進(jìn)行數(shù)據(jù)的采集及上傳;“加工優(yōu)化”階段則按照下發(fā)的結(jié)果203報(bào)文中的目標(biāo)功率(對(duì)應(yīng)程序,對(duì)應(yīng)刀具號(hào))在含有標(biāo)識(shí)的程序段進(jìn)行倍率調(diào)整。
由于取消了在選擇模式后iSESOL和i5OS本地的通訊,因此在進(jìn)行“優(yōu)化加工”時(shí),并不能保證有對(duì)應(yīng)的結(jié)果203報(bào)文,這時(shí)將倍率調(diào)修參數(shù)FEEDSCALETRIM置為1,即不對(duì)倍率進(jìn)行調(diào)整。
3.1.7 對(duì)加工效率的實(shí)時(shí)調(diào)整
目前i5OS上獲取實(shí)時(shí)功率有兩種方式,一是直接讀取驅(qū)動(dòng)器的負(fù)載引腳;二是讀取adc卡上電流電壓傳感器的數(shù)值再進(jìn)行計(jì)算,APP根據(jù)目標(biāo)功率,依據(jù)一定的算法對(duì)倍率進(jìn)行實(shí)時(shí)調(diào)整。
在安裝了i5OS系統(tǒng)的工控機(jī)中安裝打包好的iPORT通信客戶端APP以及自適應(yīng)加工APP,在APP正確運(yùn)行后測(cè)試和iSESOL平臺(tái)的網(wǎng)絡(luò)服務(wù)。在iSESOL工業(yè)云平臺(tái)上實(shí)時(shí)監(jiān)控i5OS工控系統(tǒng)的運(yùn)行狀態(tài),并測(cè)試遠(yuǎn)程運(yùn)行自適應(yīng)加工APP的加工效果。經(jīng)過多次切削加工的結(jié)果為:由于毛坯表面深淺不一,效率提高各有區(qū)別,總體在25%左右。
在i5OS工業(yè)操作系統(tǒng)中成功搭建安裝了有連接iSESOL工業(yè)互聯(lián)網(wǎng)平臺(tái)的客戶端APP,為用戶提供在線的實(shí)時(shí)監(jiān)控功能,并且通過聯(lián)網(wǎng)服務(wù)可以利用云平臺(tái)的大數(shù)據(jù)計(jì)算能力,在相關(guān)應(yīng)用的支持下提高加工性能,優(yōu)化加工過程。