《工業(yè)機器人現(xiàn)場編程》課件-任務4.碼垛工作站_第1頁
《工業(yè)機器人現(xiàn)場編程》課件-任務4.碼垛工作站_第2頁
《工業(yè)機器人現(xiàn)場編程》課件-任務4.碼垛工作站_第3頁
《工業(yè)機器人現(xiàn)場編程》課件-任務4.碼垛工作站_第4頁
《工業(yè)機器人現(xiàn)場編程》課件-任務4.碼垛工作站_第5頁
已閱讀5頁,還剩179頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

一、認識碼垛工作站工程現(xiàn)場工業(yè)機器人現(xiàn)場編程3421課堂導入新知學習訓練鞏固評價總結知識目標1.了解碼垛機器人行業(yè)布局2.掌握碼垛機器人工作站工藝流程技能目標1.能繪制碼垛機器人工作站思維導圖;碼垛機器人工作站廠家送貨到客戶指定場地現(xiàn)場設備清點、簽收,拆包機器人底座、托盤底座及周邊設備定位安裝氣路、電路定位安裝機器人與碼垛夾具、周邊設備、總控制柜之間I/O連接機器人通電測試、碼垛夾具安裝總控制柜PLC編程與信號測試工作站所有信號聯(lián)調測試機器人編程與信號測試碼垛工作站聯(lián)動運行測試示教產(chǎn)品碼垛軌跡并保存碼垛工作站碼垛測試滿足現(xiàn)場自動化生產(chǎn)要求,進行正式生產(chǎn)根據(jù)碼垛工作站生產(chǎn)情況調整碼垛參數(shù)及碼垛程序優(yōu)化1碼垛工作站2碼垛周邊設備3碼垛工藝認識4碼垛工件坐標系5碼垛機器人有效載荷6機器人與PLC通信7碼垛程序常用指令8編輯功能程序說明2碼垛周邊設備1碼垛工作站4計時指令應用3碼垛工藝認識6數(shù)組的應用5軸配置指令應用8動作觸發(fā)指令7中斷程序應用9復雜程序數(shù)據(jù)賦值二、認識碼垛機器人工作站組成工業(yè)機器人現(xiàn)場編程3421課堂導入新知學習訓練鞏固評價總結知識目標掌握工業(yè)機器人碼垛工作站布局技能目標能熟知工業(yè)機器人碼垛相關設備重點難點1.根據(jù)現(xiàn)場產(chǎn)品生產(chǎn)情況,能夠對碼垛工作站布局2.對碼垛工藝的理解1.理解碼垛程序結構與編程技巧,熟練示教碼垛目標點如圖所示,機器人碼垛工作站,在碼垛過程中,最為關注的是每一個運行周期的節(jié)拍。碼垛節(jié)拍應該怎么調節(jié)優(yōu)化?1.機器人在碼垛過程中,碼垛產(chǎn)品為什么分不同的個數(shù)進行抓取與擺放?2.此視頻中的碼垛工作站應該怎么樣優(yōu)化工作節(jié)拍及優(yōu)化工作站布局?碼垛應用碼垛仿真工作站布局如下所示:典型碼垛機器人硬件組成如下所示:ABB碼垛機器人控制選項配置(可選項)如下所示:碼垛機器人分類碼垛垛型設計碼垛垛型指的是:碼垛時工件堆疊的方式方法。在考慮碼垛垛型時,需要對生產(chǎn)中的大部分工件堆疊方法進行考慮。根據(jù)碼垛時工件姿態(tài)是否發(fā)生變化而將碼垛垛型分為兩類:矩陣垛型(姿態(tài)不變)和全點垛型(姿態(tài)可變)。同時考慮到生產(chǎn)中會出現(xiàn)的一些常用的垛型,在矩陣和全點垛型的基礎上,又補充了兩種標準工件垛型:回行垛型和縱橫垛型碼垛類型:

矩陣垛型:矩陣垛型指的是:碼垛工件在堆放時,姿態(tài)固定,工件之間的距離一定,且堆疊時的底面形狀呈矩形的一種堆疊方式。

點垛型:點垛型是碼垛垛型中較為基礎的一種垛型,該垛型的特點是:在工件不干涉的前提下,垛中所有工件的位置、姿態(tài)是任意的,且每層工件的排放都可以不一致擴充工件垛型

標準垛型是在矩陣和全點垛型的基礎上,綜合考慮生產(chǎn)中常見的應用而設計的垛型。標準垛型中,工件的姿態(tài)并不完全相同,可以劃分為2-4個部分,這些部分中,工件的姿態(tài)相同,且排列方式和矩陣垛型相同,因此每一部分中工件位置的計算和矩陣垛型相同。標準垛型又包含有兩種垛型:回行垛型和縱橫垛型。XXYYOOllww奇層排樣偶層排樣XXYYlwOO回行垛型縱橫垛型碼垛點位計算碼垛應用

碼垛點位位置計算是碼垛控制軟件的核心部分。碼垛中,機器人實際位置計算是在工件序號的基礎上進行的。在計算實際位置之前,需先讀取當前碼垛工件的序號,然后根據(jù)碼垛垛型的不同,判斷該工件在垛中所處的位置,計算出該工件相對于參考點的位置、姿態(tài)偏移,最后結合示教得到的關鍵點位的數(shù)據(jù),計算出當前工件的位置坐標。在程序中,當前工件序號存儲在碼垛寄存器中,寄存器中存儲有兩個數(shù)據(jù),第一位表示工件所屬的層數(shù),第二位表示工件在該層中的序號。書本中對不同碼垛垛型中工件序號的定義及其工件實際位置的計算進行了一一闡述,請參考教材。碼垛基本參數(shù)

碼垛功能中,需要設計一些基本的尺寸參數(shù),用以描述碼垛中工件和碼盤的尺寸和方位。其中主要包含以下三部分參數(shù):工件尺寸參數(shù)、碼盤參數(shù)以及機器人末端執(zhí)行器參數(shù)。

工件尺寸參數(shù)用來描述碼垛工件的尺寸。在本文設計的碼垛功能中,為使使用方便,將所有規(guī)則或不規(guī)則的工件都定義為長方體。通過虛擬一個合適的長方體將工件包圍,并將此長方體的長、寬、高作為工件的尺寸參數(shù)。因此工件的尺寸參數(shù)即為工件的長度、寬度和高度。

碼盤參數(shù)指的是用來描述碼盤位置的參數(shù)。碼盤參數(shù)分為兩部分:碼盤尺寸參數(shù)和碼盤姿態(tài)參數(shù)。碼盤尺寸參數(shù)主要是為了描述碼盤平面的大小,分為長度參數(shù)和寬度參數(shù)。碼盤姿態(tài)參數(shù)則使用機器人控制系統(tǒng)中的工件坐標系來描述。通過標定碼盤工件坐標系,可以得出碼盤在機器人坐標系中位置和方位。

末端執(zhí)行器坐標系

機器人末端執(zhí)行器坐標系類似于碼盤工件坐標系,主要是用來描述機器人末端執(zhí)行器在機器人坐標中的位姿。使用機器人控制系統(tǒng)中的工具坐標系來描述末端執(zhí)行機構相對于機器人末端法蘭的方位。在碼垛之前,需要先進行末端執(zhí)行機構的標定,然后與工具坐標系編號進行對應。項次參數(shù)名參數(shù)功能工件尺寸參數(shù)長度×寬度×高度描述工件的大小碼盤參數(shù)長度×寬度描述碼盤大小工件坐標系描述碼盤位姿末端執(zhí)行器坐標系參數(shù)工具坐標系描述末端執(zhí)行器的位1.2碼垛周邊設備

倒袋機,是將輸送機送來的料袋按預定的編組程序對料袋進行輸送、倒袋和轉位,流轉到下道工序。

整形機,包裝袋經(jīng)過輸送線后,須經(jīng)過輥子的壓緊、整形,將包裝袋內可能存在的積聚物均勻散開后才可以送至待碼輥道輸送機上。1.2碼垛周邊設備

待碼輸送機,與機械手爪配套,方便抓取。

輥子傳動,應用其特殊的結構,可讓抓手穿過包裝袋底部、主要用于機械手取袋。

自動托盤庫有托盤輸送機、碼垛位輸送機及垛盤輸送機構成。本系統(tǒng)廣泛用于各種包裝線成品碼垛,配合碼垛機械手可以大幅提高自動化程度及減輕工人勞動強度。1.3碼垛夾具碼垛應用氣動吸盤:用于整箱或規(guī)則盒裝包裝物品的碼放,可用于各種行業(yè)??梢砸淮未a一箱

網(wǎng)格川字形卡板卡板規(guī)格:1200mm×1000mm×85mm

傳送帶,便于物料輸送過程中的轉彎,以及與下一工序的對接。

托盤纏繞機是將包裝物放到托盤上,通過膜架機構,將纏繞薄膜按照預先設定好的阻拉伸或預拉伸后裹繞到托盤貨物之上。1.4碼垛工藝認識碼垛應用

所謂碼垛就是按照集成單元化的思想,將一件件的物料按照一定的模式堆碼成垛,以便使單元化的物垛實現(xiàn)物料的存儲、搬運、裝卸運輸?shù)任锪骰顒?。作為物流自動化領域的一門新興技術,近年來,碼垛技術獲得了飛速的發(fā)展。碼垛有人工碼垛和自動碼垛之分,人工碼垛應用在物料輕便、尺寸和形狀變化大、吞吐量小的場合,當碼垛吞吐量在10件/min以上,采用人工碼垛方案需要較多工人時,采用自動碼垛方案會帶來一系列的效果,不僅可以加快物流速度,保護工人的健康和安全,而且可以獲得整齊一致的物垛,減少物料的損傷,提高叉車的搬運效率,增強處理的柔性。人工碼垛

人工碼垛:在物料輕便、尺寸和形狀變化大、吞吐量小的場合,采用人工碼垛方案,常常是經(jīng)濟可取的,特別是在人力資源豐富的我國,這些應用場合基本上都是采用人工碼垛的。然而,在吞吐量恒定的情況下,長時間地進行人工碼垛作業(yè)常常會造成彎腰疲勞和重復勞動疲勞,從人機工程學的角度考慮,需要增加一些符合人機工程學方面的設施,例如托盤操縱機、剪式升降臺、工業(yè)操作機械手等。在線式碼垛機

在線式碼垛機在工作時,通過排層輸送機成排。一般地,每層由兩排組成,推板先將第一排推到中部緩沖區(qū),然后推板回到起點等待,當?shù)诙判纬珊?推動第二排前進,當?shù)诙排龅降谝慌藕?第一排受推,直到整層送到滑板門或升降車上。之后,通過一定的裝置將成層物料疊放在托盤上或其他層料上。根據(jù)進料位置的高低,可將在線式碼垛機分為高位式和低位式兩種。機器人碼垛機

近年來,機器人碼垛技術發(fā)展甚為迅猛,這種發(fā)展趨勢是和當今制造領域出現(xiàn)的多品種少批量的發(fā)展趨勢相適應的,機器人碼垛機以其柔性工作能力和小占地面積,能夠同時處理多種物料和碼垛多個料垛,愈來愈受到廣大用戶的青睞并迅速占據(jù)碼垛市場。根據(jù)機械結構的不同,機器人碼垛機包括如下三種形式:笛卡耳式、旋轉關節(jié)式和龍門起重架式。三、碼垛機器人工作站實訓任務書工業(yè)機器人現(xiàn)場編程3421課堂導入新知學習訓練鞏固評價總結知識目標1.理解碼垛機器人工作站實訓任務書技能目標1.能完成碼垛機器人工作站任務奇數(shù)層放置方式

偶數(shù)層放置方式產(chǎn)品箱長度600mm、寬度400mm、高度200mm;產(chǎn)品箱之間的擺放間隔10mm,產(chǎn)品要求奇數(shù)層、偶數(shù)層交替放置;碼垛樣式及產(chǎn)品規(guī)格如圖實訓目的(1)掌握碼垛機器人的操作方法,能夠獨立完成基本操作。(2)能夠運用編程語言進行簡單的編程與調試,實現(xiàn)碼垛機器人的基本功能。(3)了解碼垛機器人的常見故障及排除方法,具備一定的故障診斷能力。(4)掌握碼垛機器人的日常維護和保養(yǎng)技能,保障設備的正常運行。實訓要求(1)核查工程清單,了解箱體尺寸、箱體重量、工具重量等參數(shù)(2)分析任務,繪制機器人碼垛程序流程圖:(3)創(chuàng)建機器人工具數(shù)據(jù),應用在機器人碼垛程席的恰當位置(4)配置相應的信號,列出信號清單(5)設計機器人碼垛程序,并對其進行調試:(6)機器人碼垛過程能夠自動完成,無需人為干預。注意事項(1)嚴格遵守實驗室的安全規(guī)定,注意自身及他人安全。(2)避免對設備造成不必要的損壞。(3)在進行故障排除時,應在教師的指導下進行,注意正確的操作方法。(4)設備清理和保養(yǎng)。碼垛機器人工作站序號考核內容評分要求分值得分1機器人手動操作機器人發(fā)生碰撞,扣10分。102工具、工件數(shù)據(jù)設定少設置一個扣5分,本項分值扣完為止。103運動控制指令應用在原點位置沒有使用MoveAbsj指令,扣5分。在大范圍空間中,沒有使用Movej指令,扣5分;錯誤使用指令,1處扣2分:本項分值扣完為止。10碼垛機器人工作站序號考核內容評分要求分值得分4I/0指令應用在使用IO指令取放物體時,若不能正確取放,1次扣1分,本項分值扣完為止。在使用IO指令取放物體時,若不能輕取輕放原則,扣5分。55流程控制指令應用沒使用while或if循環(huán)指令實現(xiàn)碼垛功能,扣5分。沒使用for或test循環(huán)指令實現(xiàn)碼垛功能,扣5分。5序號考核內容評分要求分值得分6功能應用沒使用數(shù)組功能的實現(xiàn)碼垛工作站點位,扣2分。沒使用中斷指令實現(xiàn)碼垛工作站中切換垛盤,扣2分。在程序恰當?shù)奈恢檬褂胦ffs功能,滿分,扣1分;1次功能都沒使用,扣5分。57機器人程序設計與調試沒有繪制程序流程圖,扣5分。程序流程圖繪制不規(guī)范,扣2分:機器人點位示教精度差,超過士3mm,1個點位扣1分。機器人運行姿態(tài)不規(guī)范(難看),1段軌跡扣1分:機器人程序沒有按照結構化進行設計,扣5分。程序中的點位數(shù)量超過20個,每超過1個扣1分,本項分值扣完為止。30序號考核內容評分要求分值得分8機器人程序自動執(zhí)行程序不能自動運行,扣10分。程序開始未經(jīng)過慢速調速,直接100%速度運行,扣10分。自動運行時,手動干預一次扣5分,本項分值扣完為止。109工作素養(yǎng)工作臺不整潔,扣1分。踩踏導線,1次扣1分。示教器數(shù)據(jù)線在考核結束后,雜亂無章,扣1分??己私Y束后,機器人沒有回到原點位置(1、2、3、4、6軸位于0°,5軸位于90°),扣1分。著裝不整潔(穿拖鞋),扣1分。5配置碼垛機器人工作環(huán)境(一)工業(yè)機器人現(xiàn)場編程3421課堂導入新知學習訓練鞏固評價總結知識目標掌握工具坐標系的設定和變換掌握工件坐標系的設定和變換掌握有效載荷的設定方法了解碼垛工作站配置掌握配置碼垛機器人工程數(shù)據(jù)的方法掌握配置碼垛程序結構表的方法理解碼垛工藝流程技能目標能熟練使用示教器操縱機器人,完成工具坐標系設定能熟練使用示教器操縱機器人,完成工件坐標系設定能設定有效載荷能配置碼垛機器人工程數(shù)據(jù)能配置碼垛程序結構表重點難點1.自動測定機械臂上的載荷2.配置碼垛點位數(shù)據(jù)表;3.分析碼垛程序結構;1.掌握配置碼垛機器人工程數(shù)據(jù)的方法;2.掌握配置碼垛程序結構表的方法;工具坐標系將工具中心點設為零點,它會由此定義工具的位置和方向。工具坐標系經(jīng)??s寫為TCPF(toolcenterpointframe),而工具坐標中心縮寫為TCP(toolcenterpoint)執(zhí)行程序時,就是將TCP移至編程位置,這就意味者,如果要更改工具(或工具坐標系),機器人的移動將隨之變更,以便新的TCP達到目標所有的機器人在手腕處都有一個預定義的坐標系tool0。這就可以將一個或者多個工具的坐標系定義為tool0的位移值。工具坐標系位置示意圖默認工具(tool0)的工具中心點A是原始的TCP1、創(chuàng)建碼垛工作站工具坐標系工具坐標系設定工具數(shù)據(jù)tooldata用于描述安裝在機器人第六軸上的工具的TCP、質量、重心等參數(shù)數(shù)據(jù)。

一般不同的機器人應用配置不同的工具,以如說弧焊的機器人就使用弧焊槍作為工具,而用于搬運板材的機器就會使用吸盤式的夾具作為工具,如圖所示。工具坐標系中的參數(shù)釋義注:工具坐標的以上全部程序數(shù)據(jù)在示教器中的程序數(shù)據(jù)中實時顯示,可隨時查看,無需自行計算。工具坐標系的變換工具坐標系的設定TCP的設定原理如下:(1)在定義工業(yè)機器人工作范圍內找一個非常精確的固定點作為參考(2)在工具上確定一個參考點(最好是工具的中心點)(3)前面介紹的手動操縱工業(yè)機器人的方法移動工具上的參考點,將四種不同的工業(yè)機器人姿態(tài)盡可能與固定點剛好碰上(4)工業(yè)機器人通過這四個位置點的位置數(shù)據(jù)計算求得TCP數(shù)據(jù),然后TCP數(shù)據(jù)保存在tooldata程序數(shù)據(jù)中被程序調用固定點定義工具坐標系定義工具坐標系時可使用三種不同的方法,所有這三種方法都需要您定義工具中心點的笛卡爾坐標,不同的方法對應不同的方向定義方式。方法定義方向TCP(默認方向)將方向設置為與機器人安裝平臺相同的方向TCP&Z設立Z軸方向TCP&Z,X設立X軸和Z軸方向TCP取點數(shù)量的區(qū)別:

4點法,不改變tool0的坐標方向。

5點法,改變tool0的Z方向。

6點法,改變tool0的X和Z方向(在焊接應用最為常用)

前三個點的姿態(tài)相差盡量大些,這樣有利于TCP精度的提高。(1)四點法01四點法:TCP(默認方向)移動工具上的參考點,以四種不同的姿態(tài)(P1-P4)盡可能的與固定點剛好碰上1.四點法只轉換坐標系位置,不改變坐標系方向2.接近參考點時,降低速度以防碰撞1243(2)五點法該標定方法用于,對工具的工作方向在定位和操作有要求。例如:MIG/MAG焊接,激光或者水切割等。1.第四點與固定參考點的軸線在一條直線上2.Z方向為從延伸點指向原點五點法:TCP&Z0112延伸點Z原點43+Z(3)六點法該方法用于,如果在定位和操作時,對坐標的3個軸的方向有要求,例如:焊接槍和夾具等。

實際X、Z方向為從延伸點指向原點六點法:TCP&Z、X0112延伸點Z延伸點X原點43+Z+X自動測定機械臂上載荷LoadIdentify是ABB機器人開發(fā)的用于自動識別安裝于機器人之上的載荷數(shù)據(jù),如重量,以及重心的例行程序。(前面介紹到,設置tooldata和loaddata是手動輸入數(shù)據(jù),這樣會有一定的不準確性)負載數(shù)據(jù)定義不正確可能會導致機械臂機械結構過載。1:使用手動操縱功能,把機器人回到機械原點位置。2:進入“手動操縱”界面,進入“工具坐標”界面,選取需要測量的工具數(shù)據(jù)(如果有載荷,選擇測量的載荷)。3:進入“程序編輯器”畫面,單擊【調試】,選擇“調用例行程序”,選擇“LoadIdentity”(此程序為標準程序)-單擊【轉到】。4:按下使能鍵,點擊示教器右下側的播放鍵運行程序,在彈出的對話框中點擊【OK】。5:點擊【OK】。6:根據(jù)提示選擇“Tool”(即選擇要測量的是工具還是工具加負載)。7:確認六軸是否在合適位置(不必為機械原點)。8:確認工具數(shù)據(jù)名稱。9:選擇工具質量是否已知。10:調整旋轉角度(如果工具不能進行90度旋轉,要進行設置)。11:點擊【MOVE】,進行慢速測試12:等待機器人完成測試步驟,觀察機器人動作是否有被干涉,一直按住使能鍵(使能鍵如果斷開,需要重新開始測試過程)。13:切換到自動狀態(tài),點擊播放鍵,重新進入識別程序畫面,點擊“MOVE”。14:完成后跳到畫面,切換為手動,顯示測量結果(包括重量、重心、準確度等),確認無誤后,點擊“Yes”將結果寫入工具數(shù)據(jù)。焊接機器人碼垛機器人還有哪些地方用到工具坐標?如果在工件坐標B中對A對象進行了軌跡編程,若要在工件坐標D中的C位置加工一個相同的A對象,在不需要重新編程的情況下如何實現(xiàn)該功能呢?轉換坐標系,將工件坐標B”變“為工件坐標D(新建坐標D)工件坐標系的建立方法?工件坐標系參數(shù)含義、工件坐標使用環(huán)境什么是工件坐標系?2、創(chuàng)建碼垛工作站工件坐標系1.機器人在碼垛時,為什么能找到準確的位置?除了需要建立工具坐標系外,還需要哪些必要的編程環(huán)境?(1)工件坐標系工件坐標系對應工件,它定義工件相對于大地坐標系(或其他坐標系)的位置。工件坐標系可以定義兩個框架:用戶框架(與大地基座相關)和工件框架(與用戶框架相關)。工業(yè)機器人可以擁有若干個工件坐標系,或表示不同工件,或表示同一工件在不同位置的若干副本。對工業(yè)機器人進行編程時,就是在工件坐標系中創(chuàng)建目標和路徑。這具有很多優(yōu)點:(1)重新定義工作站中的工件時,只需要更改工件坐標系的位置,所有路徑即刻隨之更新;(2)允許操作以外軸或傳送導軌移動的工件,因為整個工件可以連同路徑一起移動。A.大地坐標B.工件坐標系1C.工件坐標系2大地坐標與工件坐標間的關系(2)工件坐標系設定在進行所有示教工作之前,必須先建立對應的工件坐標。工件坐對應工件,它定義工件相對于大地坐標(或其它坐標)的位置。機器人可以擁有若干工件坐標系,或者表示不同工件,或者表示同一工件在不同位置的若干副本。

對機器人進行編程時就是在工件坐標中創(chuàng)建目標和路徑。這帶來很多優(yōu)點:

1)重新定位工作站中的工件時,只需要更改工件坐標的位置,所有路徑將即刻隨之更新。

2)允許操作以外軸或傳送導軌移動的工件,因為整個工件可連同其路徑一起移動。如圖1所示,A是機器人的大地坐標,為了方便編程,給第一個工件建立了一個工件坐標B,并在這個工件坐標B中進行軌跡編程。如果臺子上還有一個一樣的工件需要走一樣的軌跡,那只需建立一個工件坐標C,將工件坐標B中的軌跡復制一份,然后將工件坐標從B更新為C,則無需對一樣的軌跡再編程。圖1如果在工件坐標B中對A對象進行了軌跡編程,當工件坐標的位置變化成工件坐標D后,只需在機器人系統(tǒng)重新定義工件坐標D,則機器人的軌跡就自動更新到C了。不需要再次軌跡編程了。因A相對于B、C相對于D的關系是一樣,并沒有因為整體偏移而發(fā)生變化。

在對象的平面上,只需要定義三個點,就可以建立一個工件坐標。

▼X1點確定工件坐標的原點。

▼X1、2點確定工件坐標X正方向。

▼Y1確定工件坐標Y正方向。

工件坐標等符合右手定則。+Z+X+Y(3)工件坐標系中的參數(shù)釋義(4)工件坐標系的變換1:在“手動操縱”界面,點擊【工件坐標】2:在“工件”界面,根據(jù)實際需要和已設置的工件坐標系選擇工件坐標系,比如“wobj1”,單擊【確定】。3:工件坐標系變換完畢。1:在“手動操縱”界面,點擊【工件坐標】2:在工件頁面,單擊【新建】。3:對工件坐標數(shù)據(jù)屬性進行設定后,單擊“確定”。4:打開編輯菜單,單擊【定義】。5:將用戶方法設定為“3點”。6:手動操作機器人的工具參考點靠近定義工件坐標的X1點。單擊“修改位置”,將X1記錄下來。

用戶坐標系的設定方法7:手動操作機器人的工具參考點靠近定義工件坐標的X2點。單擊“修改位置”,將X2點記錄下來。8:手動操作機器人的工具參考點靠近定義工件坐標的Y1點。單擊“修改位置”,將Y1點記錄下來。單擊“確定”。9:對自動生成的工件坐標數(shù)據(jù)進行確認后,單擊“確定”。10:工件坐標wobj1創(chuàng)建完畢,單擊【確定】。3、編輯碼垛機器人有效載荷對于搬運應用的機器人,應該正確設定夾具的質量、重心tooldata以及搬運對象的質量和重心數(shù)據(jù)loaddata。負載數(shù)據(jù)定義不正確可能會導致機械臂機械結構過載。搬運機器人有效載荷質量(kg)有效載荷的轉動慣量(載荷尺寸比較大時才需要定義)有效載荷重心力矩軸方向loaddata

loadName:=[mass

,

cogof[x,y,z],

aomof

[q1、q2、q3、q4],

ix,iy,iz

]注:負載的以上全部程序數(shù)據(jù)可通過調用例行程序,利用機器人自行運作運算得到,在RAPID編程中,需要對有效載荷的情況進行實時的調整。載荷的參數(shù)釋義1:在“手動操縱”界面,點擊【有效載荷】。2:在“有效荷載”界面,點擊【新建...】。3:對有效載荷數(shù)據(jù)屬性進行設定單,擊【初始值】。4:對有效載荷的數(shù)據(jù)根據(jù)實際的情況進行設定,各參數(shù)代表的含義請參考下面的有效載荷參數(shù)表。單擊“確定”。有效載荷設定方法ACDB配置機器人與PLC通信碼垛工作站配置碼垛點位數(shù)據(jù)表碼垛程序結構表碼垛工藝流程4、配置碼垛機器人工程數(shù)據(jù)碼垛工作站配置序號名稱型號及配置數(shù)量單位備注機器人系統(tǒng)1碼垛機器人本體IRB76001個

2控制柜

1個

3示教器

1個

4連接電纜總成

1套

碼垛設備裝置1氣動吸盤600mm*400mm1個

2自動托盤庫2m1個

3傳送帶5m1個

4網(wǎng)格川字形卡板1200mm*1000mm*85mm5個

產(chǎn)品規(guī)格1碼垛產(chǎn)品600mm*400mm*200mm25箱

2碼垛產(chǎn)品重量25kg

碼垛點位數(shù)據(jù)表程序數(shù)據(jù)說明序號名稱存儲類型數(shù)據(jù)類型內容說明1Wobj1_PalletPERSwobjdata工件座標:以垛盤的一個直角來創(chuàng)建工件座標(當垛盤重新定位后,只需重定義工件座標,不用重新示教目標點)2Tool1_GripPERStooldata工具座標:以吸盤夾具的中心點位置來創(chuàng)建的吸盤夾具工具數(shù)據(jù)碼垛點位數(shù)據(jù)表3LoadFullPERSloaddata載荷:當機器人吸盤吸取物料時要加載物料的重量,當機器人放置完成物料時加載原有數(shù)據(jù)load0(load0的物料重量是0)4pHomeCONSTrobtarget目標點:機器人原位點(這個目標點相對周邊設備來說比較安全,不會干涉5pPlace1{5}PERSrobtarget目標點:奇數(shù)層數(shù)組6pPlace2{5}PERSrobtarget目標點:偶數(shù)層數(shù)組碼垛點位數(shù)據(jù)表7pPick_BasePERSrobtarget目標點:具體抓取點根據(jù)基準點進行計算偏移8pPlace_BasePERSrobtarget目標點:具體放置點根據(jù)基準點進行計算偏移9nCycleTimePERSnum數(shù)字:產(chǎn)品生產(chǎn)時間10nCountPERSnum數(shù)字:垛盤碼垛計數(shù)碼垛點位數(shù)據(jù)表11nPickHPERSnum數(shù)字:拾取點Z值偏移高度12nPlaceHPERSnum數(shù)字:碼垛放置點Z值偏移高度13nBoxLPERSnum數(shù)字:方塊物料長度14nBoxWPERSnum數(shù)字:方塊物料寬度15nBoxHPERSnum數(shù)字:方塊物料高度16Clock1PERSclock時鐘:計時時鐘碼垛點位數(shù)據(jù)表17bReadyOKPERSbool布爾量:機器人準備好狀態(tài)18bPalletFullokPERSbool布爾量:碼垛盤狀態(tài),碼垛盤滿垛時為TRUE,反之為FALSE19iPalletVARintnum中斷:碼垛盤切換20vMinEmptyPERSspeeddata機器工具上空載運行的最低速度21vMidEmptyPERSspeeddata機器工具上空載運行的中等速度碼垛點位數(shù)據(jù)表22vMaxEmptyPERSspeeddata機器工具上空載運行的最高速度23vMinLoadPERSspeeddata機器工具上帶載荷運行的最低速度24vMidLoadPERSspeeddata機器工具上帶載荷運行的中等速度25vMaxLoadPERSspeeddata機器工具上帶載荷運行的最高速度碼垛程序結構表序號程序名稱類型內容備注1mainPROC例行程序:主程序

2rInitallPROC例行程序:初始化程序

3rPickPROC例行程序:物料抓取程序

4rPlacePROC例行程序:物料放置程序

5rCycleTimePROC例行程序:計算生產(chǎn)節(jié)拍程序

碼垛程序結構表6rCycleCheckPROC例行程序:循環(huán)檢查機器人準備狀態(tài)

7rCalculatePosPROC例行程序:計算產(chǎn)品碼垛位置程序

8rCheckHomePosPROC例行程序:檢測原點位置例行程序

9tPalletTRAP中斷程序

10CurrentposFUNC功能程序:檢測原點位置被調用功能程序

碼垛工藝流程碼垛工作站工藝流程步驟作業(yè)名稱作業(yè)內容備注第1步作業(yè)準備系統(tǒng)啟動①工作前的準備(首次啟動前,人工將運行條件準備好)人工作業(yè)第2步輸送線開始動作①輸送線開始向末端輸送產(chǎn)品②該輸送線的產(chǎn)品到位后發(fā)出到位信號給機器人設備作業(yè)第3步機器人開始拾取物料①機器人回原位(通過檢測是否需要回原位),然后計算碼垛位置②機器人根據(jù)對應到位信號開始到對應輸送線末端拾取產(chǎn)品③機器人拾取產(chǎn)品后運動到安全高度設備作業(yè)

碼垛工藝流程碼垛工作站工藝流程第4步機器人開始物料碼垛①機器人從拾取安全點運動到碼垛放置安全點②機器人開始到對應垛盤碼垛③機器人碼垛完成回碼垛安全點設備作業(yè)第5步循環(huán)工作①機器人判斷垛盤情況,對應處理②機器人重復步驟1-50102030405分析工具TCP點的目標位置(參考方向移植到TCP點)創(chuàng)建工具數(shù)據(jù)校準點示教、觀察平均誤差是否達到要求重定位驗證定義工具數(shù)據(jù)STEP1分析工具TCP的位置

首先要在機器人工作范圍找一個非常精確的固定點做參考點在工具上找一個參考點(最好在工具中心)碼垛機器人工作站STEP3定義工具數(shù)據(jù)碼垛機器人工作站STEP4校對目標點、觀察平均誤差碼垛機器人工作站STEP5重定位驗證

操縱搖桿改變機器人姿態(tài),測試工具的重定位精度碼垛機器人工作站如果使用搬運的夾具,一般工具數(shù)據(jù)的設定方法如下:以圖中搬運薄板的真空吸盤夾具為例,質量是25kg,重心在默認tool0的Z正方向偏移250mm,TCP點設定在吸盤的接觸面上,從默認tool0上的Z正方向偏移了300mm。碼垛機器人工作站Z=3001:在“手動操縱”界面,點擊【工具坐標】2:單擊“新建…”。3:在“新建”頁面,單機“初始值”。4:TCP點設定在吸盤的接觸面上,從默認tool0上的Z正方向偏移了300mm,在此畫面中設定對應的數(shù)值。5:此工具質量是25kg,重心在默認tool0的Z正方向偏移250mm,在畫面中設定對應的數(shù)值,然后單擊“確定”,設定完成。序號考核內容考核分數(shù)備注1應用TCP默認方向法,標定末端操作器頂點定義TCP,平均誤差少于0.5mm,并通過重定位運動檢驗TCP標定的正確性30分需將工具坐標的定義結果拍照2應用TCP&Z,X法,標定末端操作器頂點定義TCP,創(chuàng)建的工具坐標方向如圖1所示,平均誤差少于0.5mm,并通過重定位運動檢驗TCP中心點標定的正確性25分3將坐標系變換至工具坐標下,檢驗工具坐標方向的正確性25分4提交實踐報告:1)報告中附定義的工具坐標定義完后的計算結果2)實踐總結和心得20分總計100分碼垛機器人工作站配置碼垛機器人工作環(huán)境(二)工業(yè)機器人現(xiàn)場編程3421課堂導入新知學習訓練鞏固評價總結知識目標掌握配置機器人與PLC通信方法熟悉ABB機器人系統(tǒng)信號關聯(lián)方法技能目標能將數(shù)字輸入信號與系統(tǒng)的控制信號關聯(lián)起來能通過ProfiBus與PLC數(shù)據(jù)通訊。能將數(shù)字輸入信號與系統(tǒng)的控制信號關聯(lián)起來重點難點1.配置機器人與PLC通信方法2.將數(shù)字輸入信號與系統(tǒng)的控制信號關聯(lián)起來3.將數(shù)字輸入輸出信號與系統(tǒng)的控制信號關聯(lián)起來1.能通過ProfiBus與PLC數(shù)據(jù)通訊2.能應用外部信號驅動機器人電機上電ACDB配置機器人與PLC通信網(wǎng)絡拓撲及硬件說明連接電纜PROFINET網(wǎng)絡配置PROFINET信號配置1、配置機器人與PLC通訊工業(yè)機器人現(xiàn)場通信配置ABBIRB1410與西門子S7-1200PLCPN網(wǎng)絡拓撲圖碼垛機器人工作站控制系統(tǒng)是由IRB7600本體和IRC5控制柜組成,其中完成通訊數(shù)據(jù)交互功能的硬件是IRC5控制柜。其中,機器人的系統(tǒng)選項配置如下: ①Chinese②709-1DeviceNetMaster/Slave③888-2PROFINETController/DeviceS7-1200PLC的CPU為6ES7212-1AE40-0XB075KB工作存儲器;24VDC電源,板載DI8x24VDC漏型/源型,DQ6x24VDC和AI2;板載4個高速計數(shù)器;4路脈沖輸出;信號板擴展板載I/O;多達3個用于串行通信的通信模塊;多達2個用于I/O擴展的信號模塊;0.04ms/1000條指令;PROFINET接口,用于編程、HMI和PLC間數(shù)據(jù)通信。機器人PROFINET配置過程如下:1:在“控制面板-配置-主題”選擇Communication;2:

選擇“IP

Setting”顯示全部;3:設置IP地址和子網(wǎng),此處的IP地址和子網(wǎng)一定要和TIA軟件組態(tài)一致IP:192.168.0.2;Subnet:255.255.255.0確定后不重啟;4:

在Communication界面下選擇“StaticVLAN”;5:在StaticVLAN界面設置X5為“LAN”確定后不重啟6:切換至“控制面板-配置-I/O”界面7:切換至“控制面板-配置-I/O-IndustrialNetwork-PROFINET”界面8:編輯“PROFINETStationName”為irc5_pnio_device次站名一定要和TIA軟件組態(tài)PROFINET設備名稱一致單擊確定不重啟9:切換至“控制面板-配置-I/O”界面選擇“PROFINETInternalDevice”創(chuàng)建PLC對應虛擬IO板10:確認InputSize和Output的數(shù)據(jù)寬度和TIA組態(tài)一致輸入輸出數(shù)據(jù)寬度相同

機器人PROFINET信號配置機器人輸入ABB機器人PLC備注di00_VacuumOkQ0.0真空夾具反饋信號di01_BoxInPosQ0.1工件到位信號di02_PalletInPosQ0.2碼盤到位信號di03_RepairStartQ0.3維修開始按鈕di04_RepairokQ0.4維修OK按鈕Di05_ReadyokQ0.5機器人準備OK按鈕di06_StartQ0.6外接“開始”di07_StopQ0.7外接“停止”di08_MotorOnQ1.0外接“馬達上電”di09_StartAtMainQ1.1外接“從主程序開始”di10_EstopResetQ1.2外接“急停復位”機器人PROFINET信號配置機器人輸出ABB機器人PLC備注do00_VacuumOpenI0.0打開真空夾具do01_PalletFullI0.1碼盤滿載發(fā)送給PLCdo02_CycleOnI0.2外接“循環(huán)開始”do03_ErrorI0.3外接“執(zhí)行錯誤”do04_AutoOnI0.4外接“自動運行”do05_EstopI0.5外接“緊急停止”在ProfiNet網(wǎng)絡中定義機器人部分的信號操作步驟如下1:切換至“控制面板-配置-I/O”界面選擇Signal2:編輯信號名稱和選擇信號類型(機器人的輸出型號對應PLC的輸入信號)選擇信號從屬于的IO板3:選擇“DeviceMapping”配置地址為04:單擊“確認”重啟生效2、編輯調試碼垛機器人信號系統(tǒng)ABB工業(yè)機器人系統(tǒng)信號是ABB工業(yè)機器人預制的功能信號。輸入I/O信號時可指定具體的系統(tǒng)輸入項,比如Start或MotorsOn。該輸入項會在不使用示教器或其他硬件裝置的情況下觸發(fā)一項交由系統(tǒng)處理的系統(tǒng)行動,或者一項具體的系統(tǒng)行動指定輸出I/O信號。當出現(xiàn)相應的系統(tǒng)行動時,系統(tǒng)便會在無用戶輸入項的情況下自動設置這些I/O信號。這些系統(tǒng)輸出的I/O信號即可以是數(shù)字信號,也可以是模擬信號。當然,這些信號應用的前提是和用戶配置的I/O信號相關聯(lián)。ABB機器人中,可將數(shù)字輸入信號與系統(tǒng)的控制信號關聯(lián)起來,對系統(tǒng)進行控制(例如電動機的開啟、程序啟動等)。系統(tǒng)的狀態(tài)信號也可以與數(shù)字輸出信號關聯(lián)起來,將系統(tǒng)的狀態(tài)輸出給外圍設備,以作控制之用。系統(tǒng)輸入信號系統(tǒng)輸入信號系統(tǒng)輸出信號系統(tǒng)輸出信號碼垛工作站系統(tǒng)信號列表系統(tǒng)輸入輸出關聯(lián)配置表系統(tǒng)信號種類信號名稱SignalName功能/狀態(tài)Action/StatusArgumentSystemInputdi06_StartStartContinuousSystemInputdi07_StopStopSystemInputdi08_MotorOnMotorsOnSystemInputdi09_StartAtMainStartatMainContinuous碼垛工作站系統(tǒng)信號列表系統(tǒng)輸入輸出關聯(lián)配置表系統(tǒng)信號種類信號名稱SignalName功能/狀態(tài)Action/StatusArgumentSystemInputdi10_EstopResetResetEmergencyStop

SystemOutputdo02_CycleOnCycleOn

SystemOutputdo03_ErrorErrorT_ROB1SystemOutputdo04_AutoOnAutoOn

SystemOutputdo05_EstopEmStop介紹建立系統(tǒng)輸入/輸出與I/O信號關聯(lián)的操作步驟:建立系統(tǒng)輸入“電動機開啟”與數(shù)字輸入信號DI_MotorOn的關聯(lián):1:在“控制面板-配置-IO”界面下選擇SystemInput選項,單擊顯示全部2:單擊“添加”3:單擊“添加”4:單擊“SignalName”選擇DI_MotorOn5:單擊“Action”選擇MotorsOn,然后單擊確定6:單擊“確定”重啟后完成MotorOn系統(tǒng)信號的關聯(lián)。編輯調試碼垛程序工業(yè)機器人現(xiàn)場編程3421課堂導入新知學習訓練鞏固評價總結知識目標掌握碼垛工作站程序常用指令掌握碼垛工作站程序常用功能程序了解工業(yè)機器人的運動控制指令理解高級運動控制指令的含義及指令結構了解工程素養(yǎng)知識技能目標能熟練掌握指令的用法能夠排除工業(yè)機器人程序的語法錯誤能熟練使用功能程序能夠正確分析指令結構能夠熟練掌握指令應用的環(huán)境培養(yǎng)良好的工程素養(yǎng)習慣重點難點1.掌握碼垛工作站程序常用指令;2.了解工業(yè)機器人的運動控制指令3.理解高級運動控制指令的含義及指令結構1.能夠排除工業(yè)機器人程序的語法錯誤;2.理解高級運動控制指令的含義及指令結構WHILE-只要...便重復WHILE

只要給定表達式為TRUE,就重復循環(huán)。指令格式:WHILEConditionDO…ENDWHILE應用:

當前指令通這判斷相應條件,如果符合判斷條件

執(zhí)行循環(huán)內指令,直至判斷條件不滿足才跳出循環(huán),繼續(xù)執(zhí)行循環(huán)以后指令,需要注意,當前指令存在死循環(huán)。判斷條件(bool)一、認識碼垛工作站程序常用指令例1VARnumreg1;......WHILEreg1<reg2

DOreg1:=reg1+1;ENDWHILE

只要reg1<reg2,則重復WHILE塊中的指令。例2VARnumreg1;......WHILETRUEDOreg1:=reg1+1;ENDWHILE

死循環(huán)重復WHILE塊中的自加指令。IF-如果滿足條件,那么...;否則...IF指令的格式:IFConditionTHEN…{ELSEIFConditionTHEN…}[ELST…]ENDIFCondition: 判斷條件 (bool)應用:

當前指令通過判斷相應條件,控制需要執(zhí)行的相應指令,是機器人程序流程基本指令。IF條件判斷指令

IF條件判斷指令,就是根據(jù)不同的條件去執(zhí)行不同的指令。如果num1為1,則flag1會賦值為TRUE。

如果num1為2,則flag1會賦值為FALSE.

除了以上兩種條件之外,則執(zhí)行do1置位為1。

條件判定的條件數(shù)量可以根據(jù)實際情況進行增加與減少。【案例解析】機器人碼垛編程方法與技巧1.WHILE/IF指令實現(xiàn)碼垛功能程序如下:PROCmain()TPErase;!清屏nCount:=0;!計數(shù)清零Resetdo00_VacuumOpen;!復位信號MoveJPhome,v1000,z50,Tool1_Grip\WObj:=Wobj1_Pallet;WHILETRUEDOIFnCount<8ANDdi01_BoxInPos=1ANDdi02_PalletInPos=1THEN!判斷產(chǎn)品數(shù)量、流水線產(chǎn)品到位信號、碼垛盤到位信號是否滿足【案例解析】機器人碼垛編程方法與技巧IFnCount=0THENpPick_Base:=Offs(pPick1,0,0,0);pPlace_Base:=Offs(pPlace1,0*(100+10),0*(100+10),0);ELSEIFnCount=1THENpPick_Base:=Offs(pPick1,0,0,0);pPlace_Base:=Offs(pPlace1,0*(100+10),1*(100+10),0);

ELSEIFnCount=2THEN......

FOR

-重復給定的次數(shù)指令格式:FORLoopcounterFROMStartvalueTOEndvalue

[STEPStepvalue]DO…ENDFOR循環(huán)計數(shù)標識標識初始值標識最終值計數(shù)更改值

(identifier)(num)

(num)(num)

任務6-4常用RAPID程序指令例1FORiFROM1TO10DOroutine1;ENDFOR例2FORiFROM2TO10STEP2DOnum{i}:=num{i}+2;ENDFOR將數(shù)組中的數(shù)值向上調整應用:通常情況下,初始值.最終值與更改值為整數(shù),循環(huán)判斷標識使用i、k、j等小寫字母(不需要定義),是標準的機器人循環(huán)指令,常在通訊口讀寫,數(shù)組數(shù)據(jù)賦值等數(shù)據(jù)處理時例用。【案例解析】機器人碼垛編程方法與技巧FOR指令實現(xiàn)碼垛功能程序如下:(碼垛抓放程序參考WHILE/IF)PROCmain()TPErase;!清屏nCount:=0;!計數(shù)清零Resetdo00_VacuumOpen;!復位信號WHILETRUEDOFORJFROM0TO2DOFORIFROM0TO2DOIFdi01_BoxInPos=1ANDdi02_PalletInPos=1THEN!判斷流水線產(chǎn)品到位信號、碼垛盤到位信號是否滿足

【案例解析】機器人碼垛編程方法與技巧pPick_Base:=Offs(pPick1,0,0,0);pPlace_Base:=Offs(pPlace1,I*(100+10),J*(100+10),0);rPick;!調用碼垛抓取程序rPlace;!調用碼垛放置程序nCount:=nCount+1;!碼垛產(chǎn)品計數(shù)累加TPWrite"nCount:="\Num:=nCount;!示教器顯示碼垛產(chǎn)品計數(shù)ELSEMoveJPhome,v1000,z50,Tool1_Grip\WObj:=Wobj1_Pallet;ENDIF......TEST-根據(jù)表達式的值...指令格式:TESTTestdata...CASE...Testvalue

...DEFAULT:...ENDTESTTestdata數(shù)據(jù)類型:所有用于比較測試值的數(shù)據(jù)或表達式。Testvalue數(shù)據(jù)類型:與testdata相同測試數(shù)據(jù)必須擁有的值,以供執(zhí)行相關的指令。應用:當前指令通過判斷相應數(shù)據(jù)變量與其所對應的值,控制需要執(zhí)行的相應指令。例TESTreg1CASE1:

routine1;CASE

2,3:

routine2;CASE4:

routine3;DEFAULT:TPWrite"Illegalchoice";Stop;ENDTEST根據(jù)reg1的值,執(zhí)行不同的指令。如果該值為1,則執(zhí)行routine1,2或3時,則執(zhí)行routine2。如果該值為4,則執(zhí)行routine3。否則,打印出錯誤消息,并停止執(zhí)行?!景咐馕觥繖C器人碼垛編程方法與技巧TEST指令實現(xiàn)碼垛功能程序如下:(碼垛抓放程序參考WHILE/IF)PROCmain()TPErase;

!清屏nCount:=0;

!計數(shù)清零Resetdo00_VacuumOpen;MoveJPhome,v1000,z50,Tool1_Grip\WObj:=Wobj1_Pallet;

【案例解析】機器人碼垛編程方法與技巧WHILETRUEDOIFnCount<8ANDdi01_BoxInPos=1ANDdi02_PalletInPos=1THEN!判斷產(chǎn)品數(shù)量、流水線產(chǎn)品到位信號、碼垛盤到位信號是否滿足TESTnCountCASE0:pPick_Base:=Offs(pPick1,0,0,0);pPlace_Base:=Offs(pPlace1,0*(100+10),0*(100+10),0);CASE1:pPick_Base:=Offs(pPick1,0,0,0);pPlace_Base:=Offs(pPlace1,0*(100+10),1*(100+10),0);CASE2:pPick_Base:=Offs(pPick1,0,0,0);pPlace_Base:=Offs(pPlace1,0*(100+10),2*(100+10),0);......WHILE...ENDWHILE直到型循環(huán)判斷。重復指令序列,直到滿足給定條件;FOR...ENDFOR次數(shù)控制型循環(huán)判斷。重復一段程序多次;(i、j、k)TEST...ENDTEST選擇分支型判斷。基于表達式的數(shù)值執(zhí)行不同指令;※思考工廠產(chǎn)品除了碼垛堆放,還需要拆跺,試著利用FOR的嵌套循環(huán)將下面的3*3*3的跺型進行拆跺?數(shù)組功能的實現(xiàn)碼垛功能在一些的工程師中,拿到了碼垛項目時,匆忙下手編程與調試,到頭來自己忙的不可開交,而且效率還不高,那針對碼垛這類的項目或者案例我們有沒有什么方法能使我們高效編程呢?答案是有的?。ㄒ訟BB機器人舉例介紹)首先,我們來分析一下,我們碼垛產(chǎn)品的時候是有行有列的(或者說橫向縱向),那么這時候我們就可以聯(lián)想到數(shù)組也剛好有這一特性。由此,我們可以利用數(shù)組對機器人進行編程!要想編好程序,我們應該先理解數(shù)組了。所謂數(shù)組,是有序的元素序列。若將有限個類型相同的變量的集合命名,那么這個名稱為數(shù)組名。組成數(shù)組的各個變量稱為數(shù)組的分量,也稱為數(shù)組的元素,有時也稱為下標變量。數(shù)組功能的實現(xiàn)碼垛功能舉例:inta[10];說明整型數(shù)組a,有10個元素。若要表示第10個元素,則使用a[9]。第一個則是a[0]。floatb[10],c[20];說明實型數(shù)組b,有10個元素,實型數(shù)組c,有20個元素。charch[20];說明字符數(shù)組ch,有20個元素。在ABB機器人中,數(shù)組分為一維數(shù)組、二維數(shù)組、三維數(shù)組,那它們的區(qū)別在哪里呢?我們編程需要用到幾維數(shù)組呢?那我們來看看例子:數(shù)組功能的實現(xiàn)碼垛功能一維數(shù)組:當數(shù)組中每個元素都只帶有一個下標時,稱這樣的數(shù)組為一維數(shù)組。注意:ABB機器人中第一個元素為:num1{1},而非num1{0},所以num1中有三個元素,第一個元素值為5,而非第0個元素值為5。數(shù)組功能的實現(xiàn)碼垛功能二維數(shù)組:理解完了數(shù)組之后,我們來看一下,具體編程案例吧!如圖中,有4個點需要計算,以第1點位基準。(每個方塊的長寬都是200mm*200mm)數(shù)組功能的實現(xiàn)碼垛功能數(shù)組建立:接下來我們來看一下在示教器里怎么編輯吧?。ㄐ陆ㄒ粋€數(shù)組reg6{4,3}),建立好了數(shù)組之后編程就按上述方式即可!數(shù)組功能的實現(xiàn)碼垛功能1.新建一個4行3列的數(shù)組,名稱為reg6。2.把計算出來的偏移值填進去。{1,1}代表第一個產(chǎn)品X軸偏移值,{1,2}代表第一個產(chǎn)品Y軸偏移值,{1,1}代表第一個產(chǎn)品z軸偏移值?!景咐馕觥緼BB機器人碼垛編程方法與技巧如果是兩層的碼垛(8個產(chǎn)品),則只需要建立reg6{8,3}數(shù)組,XY值不變,只是Z軸位置改變了。最后我們看到的程序就是這樣的:CASE1:pick:=Offs(p10,reg6{1,1},reg6{1,2},reg6{1,3});CASE2:pick:=Offs(p10,reg6{2,1},reg6{2,2},reg6{2,3});CASE3:pick:=Offs(p10,reg6{3,1},reg6{3,2},reg6{3,3});CASE4:pick:=Offs(p10,reg6{4,1},reg6{4,2},reg6{4,3});CASE5:pick:=Offs(p10,reg6{5,1},reg6{5,2},reg6{5,3});CASE6:pick:=Offs(p10,reg6{6,1},reg6{6,2},reg6{6,3});CASE7:pick:=Offs(p10,reg6{7,1},reg6{7,2},reg6{7,3});CASE8:pick:=Offs(p10,reg6{8,1},reg6{8,2},reg6{8,3});【案例解析】機器人碼垛編程方法與技巧創(chuàng)建一個robtarget類型的二維數(shù)組pPlace{3,3},分別用來存儲1#-9#碼垛放置位置,以下程序參考實例1。程序如下:PROCmain()TPErase;!清屏nCount:=0;!計數(shù)清零Resetdo00_VacuumOpen;!復位信號

【案例解析】機器人碼垛編程方法與技巧WHILETRUEDOFORJFROM1TO3DOFORIFROM1TO3DOIFnCount<8ANDdi01_BoxInPos=1ANDdi02_PalletInPos=1THEN!判斷產(chǎn)品數(shù)量、流水線產(chǎn)品到位信號、碼垛盤到位信號是否滿足pPick_Base:=pPick;pPlace_Base:=pPlace{I,J};rPick;!調用碼垛抓取程序......中斷指令(1)關聯(lián)中斷指令CONNECT-將中斷與軟中斷程序相連CONNECTInterruptWITHTraproutine;Interrupt: 中斷數(shù)據(jù)名稱。(intnum)Traproutine: 中斷數(shù)據(jù)程序。(identifier)應用:將機器人相應中斷數(shù)據(jù)連接到相應的中斷處理程序,是機器人中斷功能必不可少的組成部分,必須同指令ISignalDI,ISignalDO,ISignalAI,ISignalAO或ITimer聯(lián)合使用。中斷程序---Interrupts中斷的定義:當某個事件發(fā)生時,CPU停止運行正在執(zhí)行的程序,而轉去執(zhí)行處理該事件的程序,處理該事件后,還可以返回原程序繼續(xù)正確的執(zhí)行下去。實例:VARintnum,intInspect;PROCmain()…CONNECTintInspectWITHrAlarm;ISignalDIdi01_Vacuum,0,intInspect;…ENDPROCTRAPrAlarmTPWrite“GripError”;Stop;WaitDIdi01_Vacuum,1;ENDTRAP注:中斷數(shù)據(jù)的數(shù)據(jù)類型必須為變量(VAR)一個中斷數(shù)據(jù)不允許同時連接到多個中斷處理程序,但多個中斷數(shù)據(jù)可以共享一個中斷處理程序當一個中斷數(shù)據(jù)完成連接后,這個中斷數(shù)據(jù)不允許再次連接到任何中斷處理程序(包括已經(jīng)連接的中斷處理程序)。如果需要再次連接至任何中斷程序,必須先使用指令IDelete將原連接支除。(2)IDelete-取消中斷IDeleteInterrupt;Interrupt: 中斷數(shù)據(jù)名稱。(intnum)應用:將機器人相應中斷數(shù)據(jù)與相應的中斷處理程序之間原連接去除。實例:…CONNECTintInspectWITHrAlarm;ISigalDIdi01_Vacuum,0,intInspect;…Idelete

intInspect;限制:

執(zhí)行指令Idelete后,當前中斷數(shù)據(jù)的連接被完全清除,如需再次使用這個中斷數(shù)據(jù)必須重新用指令CONNECT連接至相應的中斷處理程序。在以下列情況下,中斷將被自動去除:1、重新載入新的運行程序。2、機器人運行程序被重置,程序指針回到主程序第一行(StartfromBeginning)。

3、機器人程序指針被移至任意一個例行程序第一行。(MovepptoRoutine)(3)ISignalDI-下達數(shù)字信號輸入信號中斷指令結構:ISignalDI[\Single],Signal,TriggValue,Interrupu;[\Single]: 單次中斷開關。(switch)Signal: 觸發(fā)中斷信號。(signaldi)TriggValue: 觸發(fā)信號值。 (dionum)Interrupu: 中斷信號名稱。(intnum)應用:使用相應的數(shù)字信號輸入信號觸發(fā)相應的中斷功能,必須同指令CONNECT聯(lián)合使用。實例:CONNECTint1WITHiroutine1;中斷功能在單次觸發(fā)后失效ISignalDI\Signaldi01,1,int1;CONNECTint2WITHiroutine2;ISignalDIdi02,1,int2;注:當一個中斷數(shù)據(jù)完成連接后,這個中斷數(shù)據(jù)不允許再次連接到任何中斷處理程序(包括已經(jīng)連接的中斷處理程序)。如果需要再次連接至任何中斷處理程序,必須先使用指令IDelete將原連接去除。1、 中斷在工程領域應用十分重要,通常用于處理一些突發(fā)狀況,中斷是指由中斷信號關聯(lián)中斷標志符,中斷標志符連接中斷程序,機器人執(zhí)行預定義的中斷程序的過程2、中斷條件為真,會觸發(fā)中斷。發(fā)生中斷會引起正常程序執(zhí)行被終止,轉由軟中斷程序進行控制3、中斷程序使用技巧:

設置中斷輸入信號與中斷識別號相關聯(lián)

設置中斷識別號與中斷程序相關聯(lián)

即可完成中斷功能的基本設定4、中斷程序涉及到的指令比較多,寫起來也比較繁瑣,學生的英語水平普遍不好,所以,可能應用起來有些難度,還需要加強相關的練習。(4)ISleep-停用一個中斷結構:IsleepInterrupt;Interrupt: 中斷數(shù)據(jù)名稱。(intnum)應用:機器人相應中斷數(shù)據(jù)暫時失效,直到執(zhí)行指令IWatch后才恢復。實例:VARintnumsig1int;PROCmain()CONNECTsig1intWITHiroutine1;ISignalDIdi1,1,sig1int;...ISleepsig1int;weldpart1;IWatchsig1int;在執(zhí)行weldpart1程序期間,信號di1不允許中斷。(5)IWatch-啟用中斷Interrupt: 中斷數(shù)據(jù)名稱。(intnum)應用:激活機器人已失效的相應中斷數(shù)據(jù),正常情況下,與指令ISleep配合使用。實例:…CONNECTintInspectWITHrAlarm;ISignalDIdi01_vacuum,0,intInspect;…ISleep

intInspect;…IWatchintinspect;…ErrorHandler:ERR_UNKINO無法找到當前的中斷數(shù)據(jù)。(6)IEnable-啟用中斷(7)IDisable-禁用中斷結構:IEnable;IDisable;應用:使機器人相應中斷功能暫時不執(zhí)行,直到執(zhí)行指令

IEnable后,才進入中斷處理程序,此指令使用于機器人正在執(zhí)行不希望被打斷的操作期間,例如:通過通信口讀寫數(shù)據(jù)實例:…IDisable;FORiFROM1TO100D0character[i]:=ReadBin(sensor);ENDFORIEnable;IDelete:用于取消(刪除)中斷預定。如果中斷僅臨時禁用,則應當使用指令ISleep或IdisableIDisable:臨時禁止程序所有中斷IEnable:啟用中斷ISleep:暫停程序中的一個中斷舉例:Isleep

intnol;說明:停用intnol1號中斷【案例解析】ABB機器人碼垛編程方法與技巧任務要求:1)碼垛前機器人處于一個安全位置,當(物料、托盤到位狀態(tài))準備好時后開始運行。2)工件經(jīng)過傳送帶到達傳送帶末端后,機器人開始進行抓取工件操作3)抓取完成后,在碼垛盤已到位且未碼滿一層的前提下,將工件搬運到碼垛區(qū)域。4)計算出當前工件的碼垛位置坐標后,將工件進行碼,然后回到安全點。若碼滿1層,通知外部更換碼盤。直至新碼盤到位后重新開始碼垛(利用中斷指令對產(chǎn)品計數(shù)及計時清零、機器人狀態(tài)及碼垛托盤狀態(tài)復位)。5)運行速度合適,碼垛完成后垛堆應該整齊工件應該碼放均勻?!景咐馕觥緼BB機器人碼垛編程方法與技巧②初始化程序PROCrinitall()TPErase;!清屏nCount:=0;!計數(shù)清零bPalletFullok:=FALSE;!碼垛盤滿跺狀態(tài)復位Resetdo00_VacuumOpen;!吸盤信號復位Resetdo01_PalletFull;!滿垛信號復位IDeleteiPallet;!斷開、刪除中斷連接CONNECTiPalletWITHtPallet;!連接中斷ISignalDIdi02_PalletInPos,0,iPallet;!換碼垛盤時托盤在位信號di02=0觸發(fā)中斷ISleepiPallet;!休眠中斷程序,防止未搬運完時中途觸發(fā)中斷造成意外MoveJPhome,v1000,z50,Tool1_Grip\WObj:=Wobj1_Pallet;ENDPROC【案例解析】ABB機器人碼垛編程方法與技巧⑥中斷程序TRAPtPalletTPErase;!示教器清屏nCount:=0;!計數(shù)清零Resetdo01_PalletFull;!吸盤信號復位bPalletFullok:=FALSE;!碼垛盤空載狀態(tài)TPWrite"bPalletFullok:="\Bool:=bPalletFullok;WaitDIdi02_PalletInPos,1;!碼垛盤到位信號TPWrite"Pallethasbeenchanged";!示教器顯示托盤已經(jīng)更換WaitTime1;ISleepiPallet;!休眠中斷程序ENDTRAP【作用】功能程序(Functions,簡稱FUNC)又稱有返回值程序,是一種具有運算、比較等功能,能向調用該程序的模塊、程序返回執(zhí)行結果的參數(shù)化編程模塊。調用功能程序時,不僅需要指定程序名稱,且必須有程序參數(shù)。程序參數(shù)是用于參數(shù)化編程的變量,讓需要在程序名稱后附加的括號內定義。一般程序不采用參數(shù),但需要保留名稱Routine()后面的括號,中斷程序(Trap)在任何情況下均要被可能被調用,故不能使用程序參數(shù),名稱后面也無括號,功能程序(FUNC)采用的是參數(shù)化編程,故必須定義程序參數(shù)。功能程序二、編輯功能程序說明【格式】全局功能程序直接以程序類型FUNC起始,用ENDFUNC結束。FUNC返回數(shù)據(jù)類型功能程序名稱(傳遞的程序數(shù)據(jù)定義)程序指令………RETURN返回數(shù)據(jù)名稱ENDFUNC功能程序的起始行為程序聲明。全局功能程序直接以程序類型FUNC起始,后面依次接返回結果的數(shù)據(jù)類型、功能程序的名稱,名稱后括號內注明與調用程序之間進行傳遞的程序數(shù)據(jù)的類型及名稱。功能程序中可通過各程序指令編寫控制程序,其中必須包含返回執(zhí)行結果的指令RETUN,以指明結果通過那個程序數(shù)據(jù)進行返回。功能程序最后用ENDFUNC指令結束。碼垛應用【案例解析】ABB機器人碼垛編程方法與技巧機器人自動運行前需要進行回原點判斷,確保工作安全。(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論