胡覺醒 喬 慧 李瑞方 呂 穎
(吉利汽車集團(tuán)有限公司智能制造部,浙江 慈溪 315300)
隨著汽車行業(yè)智能制造向著信息化和智能化[1]的發(fā)展趨勢,智能生產(chǎn)過程中智能裝備之間,智能裝備與智能化產(chǎn)品、物流系統(tǒng)、檢測系統(tǒng)、工業(yè)軟件、工業(yè)云平臺之間數(shù)據(jù)共享和互聯(lián)互通[2-3]的需求越來越迫切。工業(yè)機(jī)器人在各行業(yè)應(yīng)用越來越廣泛,采集工業(yè)機(jī)器人智能數(shù)據(jù)并對其進(jìn)行高精度分析逐漸成為智能制造環(huán)節(jié)中必要的技術(shù)手段。通過機(jī)器人高級編程,統(tǒng)一管理和記錄信息數(shù)據(jù);再通過物聯(lián)網(wǎng)平臺進(jìn)行信息采集和可視化展示,統(tǒng)一管理和記錄信息數(shù)據(jù),并按照多個維度,對數(shù)據(jù)進(jìn)行分析;通過監(jiān)控運(yùn)行時間,提升產(chǎn)能潛力,成為工業(yè)機(jī)器人App效率統(tǒng)計的主要研究方向和目標(biāo)。
通過車身VIN號與工業(yè)機(jī)器人效率數(shù)據(jù)綁定,可以清楚地了解現(xiàn)場機(jī)器人的情況;利用率、過程空閑占比、故障停機(jī)率等是關(guān)鍵的考核指標(biāo),對研究人員分析機(jī)器人在工業(yè)生產(chǎn)中的移動時間、等待時間、故障時間、抓放件時間有很大幫助,同時通過異常報警可以追溯具體機(jī)器人具體時間,具體車身號來查詢具體問題。前提是定義各項(xiàng)指標(biāo)的內(nèi)涵。
1.1.1 利用率
機(jī)器人在生產(chǎn)循環(huán)過程中實(shí)際使用時間與規(guī)劃好計劃時間的百分比是機(jī)器人的使用效率,可以反映機(jī)器人工作狀態(tài)及生產(chǎn)效率的技術(shù)經(jīng)濟(jì)指標(biāo)。
1.1.2 過程空閑占比
過程空閑占比是指機(jī)器人在生產(chǎn)循環(huán)過程中因條件不滿足而產(chǎn)生等待時間與生產(chǎn)循環(huán)過程中實(shí)際使用時間的百分比。
1.1.3 故障停機(jī)率
故障停機(jī)率是指機(jī)器人在生產(chǎn)循環(huán)過程中因故障而產(chǎn)生的時間與生產(chǎn)循環(huán)過程中實(shí)際使用時間的百分比。
通過軟件開發(fā)工具包(SDK)和OPC等技術(shù),從工業(yè)機(jī)器人控制器中,獲取機(jī)器人自身源數(shù)據(jù),然后利用機(jī)器人高級編程進(jìn)行效率統(tǒng)計開放接口,最后通過平臺獲取接口的技術(shù)路線進(jìn)行畫面展示。實(shí)例:機(jī)器人插件 + 開源項(xiàng)目+ ThingWorx(平臺)軟件開發(fā)包。通過機(jī)器人插件開放機(jī)器人控制器中的數(shù)據(jù)接口。由開源項(xiàng)目提供的Java方法調(diào)用全局變量,通過ThingWorx(平臺)軟件開發(fā)包封裝數(shù)據(jù),由Edge MicroServer將數(shù)據(jù)通過Always on 協(xié)議回傳ThingWorx(平臺),圖1為 KUKA機(jī)器人效率統(tǒng)計技術(shù)方案。
圖1 KUKA機(jī)器人效率統(tǒng)計技術(shù)方案
機(jī)器人本身接口角度:主流機(jī)器人都是國外進(jìn)口,其核心技術(shù)和數(shù)據(jù)相對封鎖,接口開放有限。軟件平臺計算角度:從機(jī)器人本身獲取信息,到平臺展示會受到元數(shù)據(jù)傳輸影響,對時間效率本身精度有一定影響。具體工業(yè)機(jī)器人App效率統(tǒng)計有以下幾個方面。
2.1.1 設(shè)備層到車間環(huán)網(wǎng)層
因網(wǎng)線長度、材質(zhì)、設(shè)備數(shù)量等因素影響速率。
2.1.2 車間環(huán)網(wǎng)到辦公網(wǎng)絡(luò)
因交換機(jī)屬性和無線路由等因素影響速率。
工業(yè)機(jī)器人自身時間類的系統(tǒng)變量,可采集數(shù)據(jù)有限。
可采集數(shù)據(jù)信息:系統(tǒng)時鐘、系統(tǒng)運(yùn)行時間、程序運(yùn)行發(fā)生器時間。
對目前市場上工業(yè)機(jī)器人時間統(tǒng)計計算方法。
2.3.1 邊緣網(wǎng)關(guān)推送平臺計算法
由邊緣網(wǎng)關(guān)提取機(jī)器人信息,再將信息推送平臺,計算時間結(jié)果,元數(shù)據(jù)有1次網(wǎng)絡(luò)傳輸(SDK →平臺),計算存在誤差。
2.3.2 平臺訪問計算法
由平臺對機(jī)器人進(jìn)行計時,再通過變量觸發(fā)來計算結(jié)果,元數(shù)據(jù)有兩次網(wǎng)絡(luò)傳輸(設(shè)備→邊緣網(wǎng)關(guān)→平臺),計算存在誤差,特別是無線網(wǎng)絡(luò)傳輸誤差更大。
2.4.1 計時器數(shù)量有限
機(jī)器人廠家設(shè)定系統(tǒng)時鐘,系統(tǒng)變量計時器數(shù)量為32個且程序后臺已經(jīng)使用了部分計時器,無法滿足大批量計時。
2.4.2 軌跡卡頓
系統(tǒng)計時器編程邏輯中有預(yù)停止功能,其目的是為了計時準(zhǔn)確,高頻率使用系統(tǒng)計時器會影響機(jī)器人運(yùn)行軌跡連續(xù)性,影響生產(chǎn)節(jié)拍。
2.4.3 低頻計時
機(jī)器人計時器不適合高頻率短周期計時,高頻率計時時間無法獲取。
針對以上存在的問題,可采用以下改進(jìn)措施,不同品牌工業(yè)機(jī)器人,可根據(jù)自身編程語言在基礎(chǔ)上進(jìn)行拓展完善,達(dá)到有效提高工業(yè)機(jī)器人效率統(tǒng)計的目的。
由傳統(tǒng)軟件通過獲取相應(yīng)變量信息計時,改為機(jī)器人自身計時換算時間。根據(jù)機(jī)器人的程序執(zhí)行指令條數(shù)和執(zhí)行動作的類別數(shù)定義二維數(shù)組行數(shù)和列數(shù);將全部程序執(zhí)行指令以橫向排列的方式設(shè)置到二維數(shù)組的行中,將不同類型的執(zhí)行動作以縱向排列的方式設(shè)置到二維數(shù)組的列中,形成數(shù)據(jù)存儲功能規(guī)避網(wǎng)絡(luò)間數(shù)據(jù)計算延時。
工業(yè)機(jī)器人在正常生產(chǎn)過程中,有很多時間類數(shù)據(jù)沒有開放接口,需要通過機(jī)器人自身的高級編程來獲取想要的關(guān)鍵信息,通過機(jī)器人自身邏輯獲取循環(huán)時間數(shù)據(jù),并利用新計時算法將時間信息存儲到二維數(shù)組里。
3.2.1 二維數(shù)組定義
通過定義全局?jǐn)?shù)組屬性當(dāng)前數(shù)組(MTIME2)和歷史數(shù)組(MTIME)將時間存入數(shù)組見圖2二維數(shù)組圖。
圖2 高級編程計時圖
DECL GLOBAL INT MTIME[1000,4] :DECL GLOBAL INT MTIME2[1000,4]。
3.2.2 主循環(huán)時間獲取
通過定義全局指令CT顯示循環(huán)時間,圖 3為高級編程計時圖,邏輯如下:先提前定義啟動時間變量StartTimer;再判斷StartTimer狀態(tài),(TRUE時邏輯為計時器 2 停止→計時器 2 清 0 →計時器 2 計時開始。FALSE時邏輯為計時器2計時停止→計時器 2 值賦值給計時器 1→計時結(jié)束);結(jié)束判斷。
圖3 二維數(shù)組圖
在機(jī)器人啟動時,機(jī)器人根據(jù)程序執(zhí)行指令的先后順序來執(zhí)行動作,并由程序時鐘發(fā)生器($ROB_TIMER)記錄每個程序執(zhí)行指令的開始和結(jié)束時間,將結(jié)束時間和開始時間進(jìn)行差值計算獲得每個程序執(zhí)行指令的運(yùn)行時間,見圖4創(chuàng)新計時算法圖。
圖4 創(chuàng)新計時算法圖
3.3.1 移動時間算法邏輯
通過記錄進(jìn)出移動指令程序運(yùn)行發(fā)生器時間來計算并存儲。
3.3.1.1 進(jìn)移動指令
判斷機(jī)器人進(jìn)入的是否為移動指令;移動變量狀態(tài)為TRUE;數(shù)組第二至四列時間為0;然后將程序運(yùn)行發(fā)生器時間賦值到定義的移動時間介質(zhì)中;結(jié)束判斷。
3.3.1.2 出移動指令
機(jī)器人進(jìn)入的是否為移動指令且移動變量狀態(tài)是否為TRUE ;將程序發(fā)生器前后時間差值存入二維數(shù)組第一列中;行數(shù)+1;移動變量狀態(tài)為;結(jié)束判斷。
3.3.2 焊接時間算法邏輯
通過記錄進(jìn)出焊接指令程序運(yùn)行發(fā)生器時間來計算并存儲。
3.3.2.1 進(jìn)焊接指令
判斷機(jī)器人進(jìn)入的是否為焊接指令;焊接變量狀態(tài)為TRUE;數(shù)組第一、三、四列時間為0;將程序運(yùn)行發(fā)生器時間賦值到定義的焊接時間介質(zhì)中;結(jié)束判斷。
3.3.2.2 出焊接指令
機(jī)器人進(jìn)入的是否為焊接指令且焊接變量狀態(tài)是否為TRUE確認(rèn)后;將程序發(fā)生器前后時間差值存入二維數(shù)組第二列中;行數(shù)+1;焊接變量狀態(tài)為;結(jié)束判斷。
3.3.3 等待時間邏輯
通過記錄進(jìn)出等待指令程序運(yùn)行發(fā)生器時間來計算并存儲。
3.3.3.1 進(jìn)等待指令
判斷機(jī)器人是否等待PLC信號和自身速度是否為0是否在原位指令中 ;定義好的等待變量狀態(tài)為TRUE;數(shù)組第一、二、四列時間為0;程序運(yùn)行發(fā)生器時間賦值到定義的等待時間介質(zhì)中;結(jié)束判斷。
3.3.3.2 出等待指令
判斷機(jī)器人是否不等待PLC信號和自身速度不為0;程序發(fā)生器前后時間差值存入二維數(shù)組第三列中;等待變量狀態(tài)為;行數(shù)+1;結(jié)束判斷。
3.3.4 抓手抓放件時間邏輯
通過記錄進(jìn)出抓手動作指令程序運(yùn)行發(fā)生器時間來計算并存儲。
3.3.4.1 進(jìn)抓件動作指令
判斷程序中計時指令(StartTimer)是否為TRUE;定義好的抓手變量狀態(tài)為TRUE;數(shù)組第一至三列時間為0;程序運(yùn)行發(fā)生器時間賦值到定義的抓件時間介質(zhì)中;結(jié)束判斷。
3.3.4.2 出抓件動作指令
判斷程序中計時指令(StartTimer)是否為;程序發(fā)生器前后時間差值存入二維數(shù)組第四列中;抓手變量狀態(tài)為;行數(shù)+1;結(jié)束判斷。
3.3.5 新算法初始化邏輯
定義全局屬性初始化指令前提條件指令行數(shù)(K)在1到400 ;判斷指令行數(shù)是否不為0;當(dāng)前數(shù)組MTIME2的400行對應(yīng)的四列全部清0;結(jié)束判斷;指令行數(shù)K=1。
3.3.6 初次運(yùn)行指令和末次運(yùn)行判斷賦值
3.3.6.1 初次運(yùn)行指令計時
進(jìn)指令時定義局部變量整型數(shù)據(jù)類型行數(shù)ROW,列數(shù)CLOUMN;初次運(yùn)行時原點(diǎn)信號變量狀態(tài)為TRUE;當(dāng)前數(shù)組MTIME2的第二到第四列全部清0;程序運(yùn)行發(fā)生器時間賦值到首次運(yùn)行定義好的介質(zhì)中;出指令時將程序發(fā)生器前后時間差值存入二維數(shù)組第一列中。
3.3.6.2 末次次運(yùn)行指令判斷賦值
判斷是否是首次進(jìn)初次指令如果不是繼續(xù)執(zhí)行 ;運(yùn)行定義好的ROW和CLOUMN;把當(dāng)前數(shù)組記錄時間賦值按照行和列存儲到另一個數(shù)組中作為歷史數(shù)組(MTIME)存儲 ;結(jié)束判斷;指令行數(shù)K=K+1。
通過機(jī)器人自身計算進(jìn)行存儲,圖5為二維數(shù)組效率統(tǒng)計展示原理圖,平臺獲取時間數(shù)組信息后,再進(jìn)行圖表展示。
圖5 二維數(shù)組效率統(tǒng)計展示原理圖
通過發(fā)明新的計時算法獲取機(jī)器人關(guān)鍵時間信息,并利用工業(yè)物聯(lián)網(wǎng)平臺,對機(jī)器人效率數(shù)據(jù)進(jìn)行充分計算和展示分析。與傳統(tǒng)獲取機(jī)器人時間方案相比,它的優(yōu)點(diǎn)和帶來必要的改善如下。
①二維數(shù)組存儲法是將關(guān)鍵時間數(shù)據(jù),通過系統(tǒng)時鐘發(fā)生器(精度在微秒)進(jìn)行計算并存儲,不存在介質(zhì)傳輸規(guī)避網(wǎng)絡(luò)延遲。②可以存儲當(dāng)前和歷史數(shù)據(jù)進(jìn)行追溯分析。③不存在造假可能性,全程都是機(jī)器人系統(tǒng)計算。
新計時算法優(yōu)點(diǎn)如下:①自由定義想要獲取時間,應(yīng)用靈活方法簡單。②計時數(shù)量不受限制,可以將機(jī)器人每行語句進(jìn)行計時并存儲。③適合高頻率短周期計時不影響機(jī)器人正常運(yùn)行節(jié)拍且精度在微秒級。
根據(jù)設(shè)備的新舊程度,停機(jī)時間每年可減少75h,每年可避免損失112萬元。
可在不增加設(shè)備情況下增加0.5JPH產(chǎn)能,即增加3000輛車,帶來利潤增加300萬元。
可節(jié)省人力一次性收益30萬元,每年節(jié)省26萬元。
綜上所述,我們在對機(jī)器人效率統(tǒng)計數(shù)據(jù)提取中,需要提前在機(jī)器人系統(tǒng)環(huán)境中做好高級編程,避免后期現(xiàn)場修改程序影響生產(chǎn),將該技術(shù)路線所述的功能,作為機(jī)器人標(biāo)準(zhǔn)軟件擴(kuò)展功能以及機(jī)器人框架協(xié)議前提條件,約束設(shè)備廠家前期做好封裝,為機(jī)器人數(shù)據(jù)采集效率統(tǒng)計提供基礎(chǔ)數(shù)據(jù)支撐,同時也進(jìn)一步開放了有效的數(shù)據(jù)接口,降低數(shù)據(jù)采集額外的開發(fā)成本,做到不依賴線體商和廠家,通過自主開發(fā)的智能制造平臺,監(jiān)控機(jī)器人的關(guān)鍵數(shù)據(jù),利用機(jī)器人自身數(shù)據(jù)自動計算的途徑,規(guī)避中介傳輸帶來的延時性,為工業(yè)機(jī)器人提供高精準(zhǔn)的效率統(tǒng)計效果。