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