《工業(yè)機器人工作站的集成與調(diào)試》課件-工業(yè)機器人典型應用-弧焊_第1頁
《工業(yè)機器人工作站的集成與調(diào)試》課件-工業(yè)機器人典型應用-弧焊_第2頁
《工業(yè)機器人工作站的集成與調(diào)試》課件-工業(yè)機器人典型應用-弧焊_第3頁
《工業(yè)機器人工作站的集成與調(diào)試》課件-工業(yè)機器人典型應用-弧焊_第4頁
《工業(yè)機器人工作站的集成與調(diào)試》課件-工業(yè)機器人典型應用-弧焊_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

工業(yè)機器人典型應用——弧焊學習弧焊工作站的技術準備在弧焊的連續(xù)工藝過程中,需要根據(jù)材質或焊縫的特性來調(diào)整焊接電壓或電流的大小,或焊槍是否需要擺動、擺動的形式和幅度大小等參數(shù)?;『赋S贸绦驍?shù)據(jù)工業(yè)機器人典型應用——弧焊學習弧焊工作站的技術準備在弧焊機器人系統(tǒng)中用程序數(shù)據(jù)來控制這些變化的因素?;『赋S贸绦驍?shù)據(jù)需要設定的三個參數(shù)如下。工業(yè)機器人典型應用——弧焊學習弧焊工作站的技術準備WeldData:焊接參數(shù)參數(shù)名稱參數(shù)注釋Weld_speed焊接速度Voltage焊接電壓Current焊接電流需要設定的參數(shù)如下:

焊接參數(shù)(WeldData)是用來控制在焊接過程中機器人的焊接速度,以及焊機輸出的電壓和電流的大小。工業(yè)機器人典型應用——弧焊學習弧焊工作站的技術準備

起弧收弧參數(shù)(SeamData)是控制焊接開始前和結束后的吹保護氣的時間長度,以保證焊接時的穩(wěn)定性和焊縫的完整性。SeamData:起弧收弧參數(shù)需要設定的參數(shù)如下:參數(shù)名稱參數(shù)注釋Purge_time清槍吹氣時間Preflow_time預吹氣時間Postflow_time尾氣吹氣時間工業(yè)機器人典型應用——弧焊學習弧焊工作站的技術準備

擺弧參數(shù)(WeaveData)是控制機器人在焊接過程中焊槍的擺動,通常在焊縫的寬度超過焊絲直徑較多的時候通過焊槍的擺動去填充焊縫。WeaveData:擺弧參數(shù)需要設定的參數(shù)如下:參數(shù)名稱參數(shù)注釋Weave_shape擺動的形狀Weave_type擺動的模式Weave_length一個周期前進的距離Weave_width擺動的寬度Weave_height擺動的高度工業(yè)機器人典型應用——弧焊學習弧焊工作站的技術準備該參數(shù)屬于可選項,如果焊縫寬度較小,在機器人線性焊接可以滿足的情況下可不選用該參數(shù)。WeaveData:擺弧參數(shù)需要設定的參數(shù)如下:參數(shù)名稱參數(shù)注釋Weave_shape擺動的形狀Weave_type擺動的模式Weave_length一個周期前進的距離Weave_width擺動的寬度Weave_height擺動的高度工業(yè)機器人典型應用——弧焊學習弧焊工作站的技術準備任何焊接程序都必須以ArcLStart或者ArcCStart開始,通常運用ArcLStart作為起始語句;弧焊常用指令任何焊接過程都必須以ArcLEnd或者ArcCEnd結束;工業(yè)機器人典型應用——弧焊學習弧焊工作站的技術準備焊接中間點用ArcL\ArcC語句;弧焊常用指令焊接過程中不同語句可以使用不同的焊接參數(shù)(SeamData和WeldData)。工業(yè)機器人典型應用——弧焊學習弧焊工作站的技術準備ArcLStart:線性焊接開始指令ArcLStart用于直線焊縫的焊接開始,工具中心點線性移動到指定目標位置,整個焊接過程通過參數(shù)監(jiān)控和控制。工業(yè)機器人典型應用——弧焊學習弧焊工作站的技術準備ArcLStart:線性焊接開始指令如圖所示,機器人線性運行到p1點起弧,焊接開始。程序如下:ArcLStartp1,v100,seam1,weld5,fine,gun1;工業(yè)機器人典型應用——弧焊學習弧焊工作站的技術準備ArcL:線性焊接指令ArcL用于直線焊縫的焊接,工具中心點線性移動到指定目標位置,焊接過程通過參數(shù)控制。工業(yè)機器人典型應用——弧焊學習弧焊工作站的技術準備ArcL:線性焊接指令程序如下:ArcL*,v100,seam1,weld5\Weave:=Weave1,z10,gun1如圖所示,機器人線性焊接的部分應使用ArcL指令。工業(yè)機器人典型應用——弧焊學習弧焊工作站的技術準備ArcLEnd:線性焊接結束指令ArcLEnd用于直線焊縫的焊接結束,工具中心點線性移動到指定目標位置,整個焊接過程通過參數(shù)監(jiān)控和控制。工業(yè)機器人典型應用——弧焊學習弧焊工作站的技術準備程序如下:ArcLEndp2,v100,seam1,weld5,fine,gun1;如圖所示,機器人在p2點使用ArcLEnd指令結束焊接。ArcLEnd:線性焊接結束指令工業(yè)機器人典型應用——弧焊學習弧焊工作站的技術準備ArcCStart:圓弧焊接開始指令ArcCStart用于圓弧焊縫的焊接開始,工具中心點圓周運動到指定目標位置,整個焊接過程通過參數(shù)監(jiān)控和控制。工業(yè)機器人典型應用——弧焊學習弧焊工作站的技術準備程序如下:ArcCStartp1,p2,v100,seam1,weld5,fine,gun1;ArcCStart:圓弧焊接開始指令執(zhí)行以上指令,機器人圓弧運動到p2點,在p2點開始焊接。工業(yè)機器人典型應用——弧焊學習弧焊工作站的技術準備ArcC:線性焊接指令ArcC用于圓弧焊縫的焊接,工具中心點線性移動到指定目標位置,焊接過程通過參數(shù)控制。工業(yè)機器人典型應用——弧焊學習弧焊工作站的技術準備ArcC:線性焊接指令程序如下:ArcC*,*,v100,seam1,weld1\Weave:=Weave1,z10,gun1;如圖所示,機器人圓弧焊接的部分應使用ArcC指令。工業(yè)機器人典型應用——弧焊學習弧焊工作站的技術準備ArcCEnd:圓弧焊接結束指令ArcCEnd用于圓弧焊縫的焊接結束,工具中心點圓周運動到指定目標位置,整個焊接過程通過參數(shù)監(jiān)控和控制。工業(yè)機器人典型應用——弧焊學習弧焊工作站的技術準備程序如下:ArcCEndp2,p3,v100,seam1,weld5,fine,gun1;如圖所示,機器人在p3點使用ArcCEnd指令結束焊接。ArcCEnd:圓弧焊接結束指令

TorchSercives是一套焊槍的維護系統(tǒng),在焊接過程中可以清焊渣,噴霧,剪焊絲三個動作,以保證焊接過程的順利進行,減少人為的干預,讓整個自動化焊接工站流暢運轉,使用最簡單的控制原理,用三個輸出信號控制三個動作的啟動停止。

正極大改變著人民的生產(chǎn)和生活方式,為經(jīng)濟社會發(fā)展注入強勁動能。了解TorchServices清槍系統(tǒng)工業(yè)機器人典型應用——弧焊TorchServices包含以下三個動作:

正極大改變著人民的生產(chǎn)和生活方式,為經(jīng)濟社會發(fā)展注入強勁動能。了解TorchServices清槍系統(tǒng)清焊渣:由自動機械裝置帶動頂端的尖頭旋轉對焊渣進行清潔。噴霧:自動噴霧裝置對清完焊渣的槍頭部分進行噴霧,防止焊接過程中焊渣和飛濺粘連到導電嘴上。剪焊絲:自動剪切裝置將焊絲剪至合適的長度。焊渣清潔裝置噴霧裝置焊絲剪切裝置工業(yè)機器人典型應用——弧焊工業(yè)機器人典型應用——弧焊配置機器人的IO單元配置IO單元DSQC651和虛擬IO板DSQC651為帶有8個數(shù)字量輸入,8個數(shù)字量輸出,2個模擬量輸出的IO板卡,由于本站需要的IO點位較多,則需要配置兩塊DSQC651板卡。工業(yè)機器人典型應用——弧焊配置機器人的IO單元配置IO單元DSQC651和虛擬IO板在虛擬示教器中,根據(jù)以下的步驟配置IO單元進行。在配置DeviceNetDevice項中,新建一個IO單位,在“使用來自模板的值”中選擇“DSQC651CombiI/ODevice”。工業(yè)機器人典型應用——弧焊配置機器人的IO單元配置IO單元DSQC651和虛擬IO板在虛擬示教器中,根據(jù)以下的步驟配置IO單元進行。根據(jù)以下的參數(shù)進行設定IO單元的配置。參數(shù)名稱值NameBoard10address10工業(yè)機器人典型應用——弧焊配置機器人的IO單元配置IO單元DSQC651和虛擬IO板在虛擬示教器中,根據(jù)以下的步驟配置IO單元進行。根據(jù)以下的參數(shù)進行設定IO單元的配置。參數(shù)名稱值NameBoard10address11工業(yè)機器人典型應用——弧焊配置機器人的IO單元配置IO單元DSQC651和虛擬IO板在虛擬示教器中,根據(jù)以下的步驟配置IO單元進行。在配置DeviceNetDevice項中,新建一個IO單位,模板選擇“默認”即可。工業(yè)機器人典型應用——弧焊配置機器人的IO單元配置IO單元DSQC651和虛擬IO板在虛擬示教器中,根據(jù)以下的步驟配置IO單元進行。根據(jù)以下的參數(shù)進行設定IO單元的配置。參數(shù)名稱值NamesimBoard1address“不需要輸入”配置用于工作站的IO信號在本工作站仿真環(huán)境中,動畫效果均由Smart組件創(chuàng)建,Smart組件的動畫效果通過其自身的輸入輸出信號與機器人的IO信號相關聯(lián),最終實現(xiàn)工作站動畫效果與機器人程序的同步。在創(chuàng)建此些信號時,需要嚴格按照表格中的名稱一一進行創(chuàng)建。NameTypeofSignalAssignedtoUnitUnitMappingI/O信號注解ao01Weld_REFAnalogOutputBoard100~15焊接電壓控制模擬信號ao02Feed_REFAnalogOutputBoard1016~31焊接電流控制模擬信號do01WeldOnDigitalOutputBoard1032焊接啟動數(shù)字信號do02GasOnDigitalOutputBoard1033打開保護氣數(shù)字信號do03FeedOnDigitalOutputBoard1034送絲信號do04Pos1DigitalOutputBoard1035轉臺轉到A工位do05Pos2DigitalOutputBoard1036轉臺轉到B工位do06CycleOnDigitalOutputBoard1037機器人處于運行狀態(tài)信號do07ErrorDigitalOutputBoard1038機器人處于錯誤報警狀態(tài)信號do08E_StopDigitalOutputBoard1039機器人處于急停狀態(tài)信號do09GunWashDigitalOutputBoard1132清槍裝置清焊渣信號do10GunSparyDigitalOutputBoard1133清槍裝置噴霧信號do11FeedCutDigitalOutputBoard1134剪焊絲信號配置用于工作站的IO信號NameTypeofSignalAssignedtoUnitUnitMappingI/O信號注解di01ArcEstDigitalInputBoard100起弧檢測信號di02GasOKDigitalInputBoard101保護氣檢測信號

di03FeedOKDigitalInputBoard102送絲檢測信號

di04StartDigitalInputBoard103啟動信號

di05StopDigitalInputBoard104停止運行信號

di06WorkStation1DigitalInputBoard105轉臺轉到工位A信號

di07WorkStation2DigitalInputBoard106轉臺轉到工位B信號

di08LoadingOKDigitalInputBoard107工件裝夾完成按鈕信號

di09ResetErrorDigitalInputBoard110錯誤報警復位信號

di10StartAt_MainDigitalInputBoard111從主程序開始信號

di11MotorOnDigitalInputBoard112電動機上電輸入信號

soRobotInHomeDigitalOutputsimBoard10機器人在Home點信號

soRotToADigitalOutputsimBoard11轉臺旋轉到A工位虛擬控制信號

soRotToBDigitalOutputsimBoard12轉臺旋轉到B工位虛擬控制信號

配置系統(tǒng)輸入輸出信號在虛擬示教器中,根據(jù)以下的參數(shù)配置系統(tǒng)輸入/輸出信號。SignalNameActionArgument1系統(tǒng)輸入/輸出注解di04StartStartContinuous程序啟動

di05StopStop無程序停止di10StartAt_MainStartatMainContinuous從主程序啟動di09ResetErrorResetExecutionError無報警狀態(tài)恢復di11MotorOnMotorsOn無電動機上電SignalNameStatus系統(tǒng)輸入/輸出注解do06CycleOnCycleOn自動循環(huán)狀態(tài)輸出do07ErrorExecutionError報警狀態(tài)輸出do08E_StopEmergencyStop急停狀態(tài)輸出系統(tǒng)輸入系統(tǒng)輸出配置機器人的IO單元配置CrossConnection本工作站中配置了兩個CrossConnection的信號關聯(lián),用來在手動狀態(tài)下控制工作臺轉盤的旋轉,參數(shù)設定如下:TypeCrossConnection1CrossConnection2Resultantdo04pos1do05pos2Actor1soRobotInHomesoRobotInHomeInventActor1NONOOperator1ANDANDActor2soRotToAsoRotToBInventActor2NONO創(chuàng)建工具數(shù)據(jù)在虛擬示教器中,使用四點加X、Z方法設定工具數(shù)據(jù)tWeldGun。工具數(shù)據(jù)tWeldGun各項參數(shù)如下:參數(shù)名稱參數(shù)數(shù)值robotholdTRUEtransX125.8Y0Z381.3rotq10.898794046q20q30.438371147q40mass2cogX0Y0Z100參數(shù)均為默認值示例如下圖所示:創(chuàng)建工件坐標系數(shù)據(jù)此工作站中,需要定義兩個工件坐標系,分別為A工位坐標wobjStationA和B工位坐標wobjStationB。在虛擬示教器中,使用三點法進行工件坐標數(shù)據(jù)的設定。wobjStationA的圖示如圖1所示,供參考,但要以實際的為準。圖1wobjStationB的圖示如圖2所示,供參考,但要以實際的為準。圖2工業(yè)機器人典型應用——弧焊導入程序模板工作任務通過虛擬示教器導入程序模板。通過ROBOTSTUDIO導入程序模板。工作站RAPID程序的注解MOUDLEMainMoudleCONSTrobtargetpHome:=[[*,*,*],[1,0,0,0],[0,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];!定義機器人的PHome點CONSTrobtargetpWait:=[[*,*,*],[1,0,0,0],[0,0,0,0],[-1,0,-1,0],[9E9,9E9,9E9,9E9,9E9,9E9]];!定義機器人的等待點pWaitCONSTrobtargetpWeld_A10:=[[*,*,*],[1,0,0,0],[0,0,0,0],[-1,1,-2,0],[9E9,9E9,9E9,9E9,9E9,9E9]];CONSTrobtargetpWeld_A20:=[[*,*,*],[1,0,0,0],[0,0,0,0],[-1,1,-2,0],[9E9,9E9,9E9,9E9,9E9,9E9]];CONSTrobtargetpWeld_A30:=[[*,*,*],[1,0,0,0],[0,0,0,0],[-1,1,-2,0],[9E9,9E9,9E9,9E9,9E9,9E9]];CONSTrobtargetpWeld_A40:=[[*,*,*],[1,0,0,0],[0,0,0,0],[-1,1,-2,0],[9E9,9E9,9E9,9E9,9E9,9E9]];CONSTrobtargetpWeld_A50:=[[*,*,*],[1,0,0,0],[0,0,0,0],[-1,1,-2,0],[9E9,9E9,9E9,9E9,9E9,9E9]];CONSTrobtargetpWeld_A60:=[[*,*,*],[1,0,0,0],[0,0,0,0],[-1,1,-2,0],[9E9,9E9,9E9,9E9,9E9,9E9]];CONSTrobtargetpWeld_A70:=[[*,*,*],[1,0,0,0],[0,0,0,0],[-1,1,-2,0],[9E9,9E9,9E9,9E9,9E9,9E9]];CONSTrobtargetpWeld_A80:=[[*,*,*],[1,0,0,0],[0,0,0,0],[-1,1,-2,0],[9E9,9E9,9E9,9E9,9E9,9E9]];CONSTrobtargetpWeld_A90:=[[*,*,*],[1,0,0,0],[0,0,0,0],[-1,1,-2,0],[9E9,9E9,9E9,9E9,9E9,9E9]];本工作站要實現(xiàn)的動作是汽車配件機器人焊接。使用IRB2600機器人雙工位工作站實現(xiàn)產(chǎn)品的焊接工作。在熟悉了此RAPID程序后,可以根據(jù)實際的需要在此程序的基礎上做適用性的修改,以滿足實際邏輯與動作的控制。以下是實現(xiàn)機器人邏輯和動作控制的RAPID程序。工作站RAPID程序的注解CONSTrobtargetpWeld_A100:=[[*,*,*],[1,0,0,0],[0,0,0,0],[-1,1,-2,0],[9E9,9E9,9E9,9E9,9E9,9E9]];!定義機器人A工位路徑目標點CONSTrobtargetpWeld_B10:=[[*,*,*],[1,0,0,0],[0,0,0,0],[-1,1,-2,0],[9E9,9E9,9E9,9E9,9E9,9E9]];CONSTrobtargetpWeld_B20:=[[*,*,*],[1,0,0,0],[0,0,0,0],[-1,1,-2,0],[9E9,9E9,9E9,9E9,9E9,9E9]];CONSTrobtargetpWeld_B30:=[[*,*,*],[1,0,0,0],[0,0,0,0],[-1,1,-2,0],[9E9,9E9,9E9,9E9,9E9,9E9]];CONSTrobtargetpWeld_B40:=[[*,*,*],[1,0,0,0],[0,0,0,0],[-1,1,-2,0],[9E9,9E9,9E9,9E9,9E9,9E9]];CONSTrobtargetpWeld_B50:=[[*,*,*],[1,0,0,0],[0,0,0,0],[-1,1,-2,0],[9E9,9E9,9E9,9E9,9E9,9E9]];CONSTrobtargetpWeld_B60:=[[*,*,*],[1,0,0,0],[0,0,0,0],[-1,1,-2,0],[9E9,9E9,9E9,9E9,9E9,9E9]];CONSTrobtargetpWeld_B70:=[[*,*,*],[1,0,0,0],[0,0,0,0],[-1,1,-2,0],[9E9,9E9,9E9,9E9,9E9,9E9]];CONSTrobtargetpWeld_B80:=[[*,*,*],[1,0,0,0],[0,0,0,0],[-1,1,-2,0],[9E9,9E9,9E9,9E9,9E9,9E9]];CONSTrobtargetpWeld_B90:=[[*,*,*],[1,0,0,0],[0,0,0,0],[-1,1,-2,0],[9E9,9E9,9E9,9E9,9E9,9E9]];CONSTrobtargetpWeld_B100:=[[*,*,*],[1,0,0,0],[0,0,0,0],[-1,1,-2,0],[9E9,9E9,9E9,9E9,9E9,9E9]];!定義機器人B工位路徑目標點CONSTrobtargetpGunWash:=[[*,*,*],[1,0,0,0],[0,0,0,0],[-1,1,-2,0],[9E9,9E9,9E9,9E9,9E9,9E9]];CONSTrobtargetpGunSpary:=[[*,*,*],[1,0,0,0],[0,0,0,0],[-1,1,-2,0],[9E9,9E9,9E9,9E9,9E9,9E9]];CONSTrobtargetpFeedCut:=[[*,*,*],[1,0,0,0],[0,0,0,0],[-1,1,-2,0],[9E9,9E9,9E9,9E9,9E9,9E9]];!定義機器人焊槍維護目標點工作站RAPID程序的注解PERSTooldatatWeldGun:=[TRUE,[[125.800591275,0,381.268213238],[0.898794046,0,0.438371147,0]],[2,[0,0,100],[0,1,0,0],0,0,0]];!定義焊槍工具坐標系PERSwobjdatawobjStationA:=[FALSE,TRUE,"",[[-457,-2058.49,-233.373],[1,0,0,0]],[[0,0,0],[1,0,0,0]]];!A工位工件坐標數(shù)據(jù)wobjStationAPERSwobjdatawobjStationB:=[FALSE,TRUE,"",[[-421.764,-2058.49,-233.373],[1,0,0,0]],[[0,0,0],[1,0,0,0]]];!B工位工件坐標數(shù)據(jù)wobjStationBPERSseamdatasm1:=[0.2,0.05,[0,0,0,0,0,0,0,0,0],0,0,0,0,0,[0,0,0,0,0,0,0,0,0],0,00.1,0,[0,0,0,0,0,0,0,0,0],0.05];

!起弧收弧參數(shù),用來控制焊接開始前和焊接結束后的吹保護氣時間PERSwelddatawd1:=[40,10,[0,0,10,0,0,10,0,0,0],[0,0,0,0,0,0,0,0,0]];

!焊接參數(shù),用來控制焊接過程中機器人焊接速度及焊機輸出電流和電壓的變化PERSboolbCell_A:=TRUE;PERSboolbCell_B:=TRUE;

!邏輯量,判斷A工位和B工位是否到位工作站RAPID程序的注解PERSboolbLoadingOK:=FALSE;

!邏輯量,判斷工件是否裝夾完成VARintnumintno1:=0;

!中斷數(shù)據(jù)PERSnumnCount:=0;!數(shù)字型變量nCount,此數(shù)據(jù)用于產(chǎn)品計數(shù),并可根據(jù)計數(shù)產(chǎn)品數(shù)量決定是否進行焊槍的維護動作PROCMain()

!主程序

rInitAll;

!調(diào)用初始化程序

WHILETRUEDO!利用WHILE循環(huán)將初始化程序隔開

rCheckGunState;

!調(diào)用焊槍狀態(tài)檢查程序,確定是否進行焊槍維護動作工作站RAPID程序的注解PROCMain()!主程序

rInitAll;!調(diào)用初始化程序

WHILETRUEDO!利用WHILE循環(huán)將初始化程序隔開

rCheckGunState;

!調(diào)用焊槍狀態(tài)檢查程序,確定是否進行焊槍維護動作

IFdi06WorkStation1=1THEN

!判斷轉臺是否轉到A工位的位置

rCellA_Welding;

!調(diào)用A工位焊接程序

ELSEIFdi07WorkStation2=1THEN

!判斷轉臺是否轉到B工位的位置

rCellB_Welding;

!調(diào)用B工位焊接程序

ENDIF WaitTime0.3;!等待時間,防止CPU過負荷的設定

ENDWHILEENDPROC工作站RAPID程序的注解PROCrInitAll()!初始化程序

AccSet100,100;!加速度控制指令

VelSet100,3000;!速度控制指令,執(zhí)行此指令后整個程序運行最大限速3000mm/srHome;!調(diào)用回Home點程序

nCount:=0;!初始化計數(shù)變量

rCheckHomePos;!調(diào)用檢查Home點程序

Resetdo05pos2;Resetdo04pos1;!復位轉臺旋轉信號

ResetsoRobotInHome!復位機器人Home點信號工作站RAPID程序的注解PROCrInitAll()!初始化程序

AccSet100,100;!加速度控制指令

VelSet100,3000;!速度控制指令,執(zhí)行此指令后整個程序運行最大限速3000mm/srHome;!調(diào)用回Home點程序

nCount:=0;!初始化計數(shù)變量

rCheckHomePos;!調(diào)用檢查Home點程序

Resetdo05pos2;Resetdo04pos1;!復位轉臺旋轉信號

ResetsoRobotInHome!復位機器人Home點信號工作站RAPID程序的注解Resetdo01WeldOn;Resetdo03FeedOn;Resetdo02GasOn; !初始化焊接相關信號,包括焊接啟動、送絲、吹氣信號

IDeleteintno1;!刪除中斷數(shù)據(jù),在初始化時先刪除之前的中斷數(shù)據(jù),然后重新鏈接,防止中斷程序誤觸發(fā)

CONNECTintno1WITHtLoadingOK;!將中斷數(shù)據(jù)intno1重新連接到中斷程序tLoadingOKISignalDIdi08LoadingOK,1,intno1;!將中斷數(shù)據(jù)intno1關聯(lián)到數(shù)字輸入信號di08LoadingOK,在整個工作過程當中監(jiān)控數(shù)字輸入信號,當數(shù)字輸入信號從0變到1時,中斷數(shù)據(jù)被觸發(fā),與之相鏈接的中斷程序被觸發(fā)執(zhí)行ENDPROCPROCrRotToCellA() Setdo04pos1; WaitTime3;

!控制轉臺旋轉到A工位,到位后將旋轉信號復位為0工作站RAPID程序的注解WaitDidi06WorkStation1,1\MaxTime:=10;!等待轉臺A工位到位信號,最長等待時間為10s,超過最長等待時間后如果還未得到該信號,機器人將停機報警Resetdo04pos1;

!將旋轉信號復位為0 bCell_A:=TRUE;!將轉臺A工位到位邏輯量賦值為TRUE,即得到信號后將邏輯量置為TRUE,后續(xù)程序可以根據(jù)邏輯變量的值來判斷是否得到該信號bLoadingOK:=FALSE;!將裝夾完成的邏輯量置為FALSE,此時轉臺旋轉到位,開始對產(chǎn)品進行更換,完成后按“裝夾完成”按鈕,中斷程序將邏輯量bLoadingOK置為TRUEENDPROCPROCrRotToCellB()Setdo05pos2; WaitTime3;

!控制轉臺旋轉到B工位

WaitDidi07WorkStation2,1\MaxTime:=10;!等待轉臺B工位到位信號,最長等待時間為10s,超過最長等待時間后如果還未得到該信號,機器人將停機報警工作站RAPID程序的注解Resetdo05pos2;!旋轉信號復位為0 bCell_B:=TRUE;!將轉臺B工位到位邏輯量賦值為TRUE,即得到信號后將邏輯量置為TRUE,后續(xù)程序可以根據(jù)邏輯變量的值來判斷是否得到該信號bLoadingOK:=FALSE;!將裝夾完成的邏輯量置為FALSE,此時轉臺旋轉到位,開始對產(chǎn)品進行更換,完成后按“裝夾完成”按鈕,中斷程序將邏輯量bLoadingOK置為TRUEENDPROCPROCrCheckGunState() IFnCount=6Then rWeldGunSet; nCount:=0; ENDIF!檢查焊槍是否需要維護的判斷程序,根據(jù)焊接產(chǎn)品的數(shù)量來確定是否需要對焊槍進行清焊渣、噴霧及剪焊絲的動作,具體不同產(chǎn)品在焊接了多少個以后需要維護,則根據(jù)產(chǎn)品實際情況設定ENDPROC工作站RAPID程序的注解PROCrCellA_Welding() rWeldingPathA;WaitUntilbLoadingOK=TRUE; rRotToCellB; nCount:=nCount+1;!A工位焊接程序,調(diào)用了焊接路徑程序,焊接完成后先根據(jù)邏輯量bLoadingOK的值判斷另一個方向的工件是否裝夾OK,直到裝夾OK后才調(diào)用轉臺旋轉到B工位程序,此時轉臺旋轉,A工位轉出,進行產(chǎn)品的更換,B工位轉入進行焊接,同時計數(shù)器對產(chǎn)品數(shù)量加一,為后續(xù)的焊槍維護提供數(shù)據(jù)支持ENDPROCPROCrCellB_Welding() rWeldingPathB;WaitUntilbLoadingOK=TRUE; rRotToCellA; nCount:=nCount+1;!B工位焊接程序,調(diào)用了焊接路徑程序,焊接完成后先根據(jù)邏輯量bLoadingOK的值判斷另一個方向的工件是否裝夾OK,直到裝夾OK后才調(diào)用轉臺旋轉到A工位程序,此時轉臺旋轉,B工位轉出,進行產(chǎn)品的更換,A工位轉入進行焊接,同時計數(shù)器對產(chǎn)品數(shù)量加一,為后續(xù)的焊槍維護提供數(shù)據(jù)支持。ENDPROC工作站RAPID程序的注解PROCrHome()

!回pHome點程序,回到Home點后輸出到位信號

MoveJDOpHome,vmax,fine,tWeldGun,soRobotInHome,1;ENDPROCPROCrWeldingPathA()

!焊接路徑程序A MoveJpHome,vmax,z10,tWeldGun\WObj:=wobj0;ResetsoRobotInHome;

!復位機器人在Home點的數(shù)字輸出

MoveJOffs(pWeld_A10,0,0,350),v1000,z10,tWeldGun\WObj:=wobjStationA;!從Home點運行到起弧目標點上方350mm處

ArcLStartpWeld_A10,v1000,sm1,wd1,fine,tWeldGun\WObj:=wobjStationA;!使用線性起弧指令ArcLStart起弧,直線焊接使用指令ArcL,圓弧焊接使用指令ArcC,焊接過程使用wd1和sm1控制

ArcLpWeld_A20,v100,sm1,wd1,z1,tWeldGun\WObj:=wobjStationA; ArcCpWeld_A30,pWeld_A40,v100,sm1,wd1,z1,tWeldGun\WObj:=wobjStationA; ArcCEndpWeld_A50,pWeld_A10,v100,sm1,wd1,fine,tWeldGun\WObj:=wobjStationA;工作站RAPID程序的注解MoveLOffs(pWeld_A10,0,0,150),v1000,z10,tWeldGun\WObj:=wobjStationA; MoveJoffs(pWeld_A60,0,0,150),vmax,z10,tWeldGun\WObj:=wobjStationA; ArcLStartpWeld_A60,v1000,sm1,wd1,fine,tWeldGun\WObj:=wobjStationA; ArcLpWeld_A70,v100,sm1,wd1,z1,tWeldGun\WObj:=wobjStationA; ArcCpWeld_A80,pWeld_A90,v100,sm1,wd1,z1,tWeldGun\WObj:=wobjStationA; ArcCEndpWeld_A100,pWeld_A60,v100,sm1,wd1,fine,tWeldGun\WObj:=wobjStationA; MoveLoffs(pWeld_A60,0,0,50),vmax,z10,tWeldGun\WObj:=wobjStationA; MoveJpHome,vmax,z10,tWeldGun\WObj:=wobj0;ENDPROCPROCrWeldingPathB()

!焊接路徑程序B MoveJpHome,vmax,z10,tWeldGun\WObj:=wobj0;ResetsoRobotInHome;

!復位機器人在Home點的數(shù)字輸出MoveJOffs(pWeld_B10,0,0,350),v1000,z10,tWeldGun\WObj:=wobjStationB;

!從Home點運行到起弧目標點上方350mm處

工作站RAPID程序的注解ArcLStartpWeld_B10,v1000,sm1,wd1,fine,tWeldGun\WObj:=wobjStationB;!使用線性起弧指令ArcLStart起弧,直線焊接使用指令ArcL,圓弧焊接使用指令ArcC,焊接過程使用wd1和sm1控制ArcLpWeld_B20,v100,sm1,wd1,z1,tWeldGun\WObj:=wobjStationB;ArcCpWeld_B30,pWeld_B40,v100,sm1,wd1,z1,tWeldGun\WObj:=wobjStationB;ArcCEndpWeld_B50,pWeld_B10,v100,sm1,wd1,fine,tWeldGun\WObj:=wobjStationB;MoveLOffs(pWeld_B10,0,0,150),v1000,z10,tWeldGun\WObj:=wobjStationB;MoveJoffs(pWeld_B60,0,0,150),vmax,z10,tWeldGun\WObj:=wobjStationB;ArcLStartpWeld_B60,v1000,sm1,wd1,fine,tWeldGun\WObj:=wobjStationB;ArcLpWeld_B70,v100,sm1,wd1,z1,tWeldGun\WObj:=wobjStationB;ArcCpWeld_B80,pWeld_B90,v100,sm1,wd1,z1,tWeldGun\WObj:=wobjStationB;ArcCEndpWeld_B100,pWeld_B60,v100,sm1,wd1,fine,tWeldGun\WObj:=wobjStationB;MoveLoffs(pWeld_B60,0,0,50),vmax,z10,tWeldGun\WObj:=wobjStationB;MoveJpHome,vmax,z10,tWeldGun\WObj:=wobj0;ENDPROC工作站RAPID程序的注解PROCrTeachPath()!示教目標點例行程序

MoveJpHome,vmax,z10,tWeldGun\WObj:=wobj0;

!示教pHome點

MoveJpWeld_A10,v100,fine,tWeldGun\WObj:=wobjStationA;MoveJpWeld_A20,v100,z1,tWeldGun\WObj:=wobjStationA;MoveJpWeld_A30,v100,z1,tWeldGun\WObj:=wobjStationA;MoveJpWeld_A40,v100,fine,tWeldGun\WObj:=wobjStationA;MoveJpWeld_A50,v100,fine,tWeldGun\WObj:=wobjStationA;MoveJpWeld_A60,v100,fine,tWeldGun\WObj:=wobjStationA;MoveJpWeld_A70,v100,fine,tWeldGun\WObj:=wobjStationA;MoveJpWeld_A80,v100,fine,tWeldGun\WObj:=wobjStationA;MoveJpWeld_A90,v100,fine,tWeldGun\WObj:=wobjStationA;MoveJpWeld_A100,v100,fine,tWeldGun\WObj:=wobjStationA;

MoveJpWeld_B10,v100,fine,tWeldGun\WObj:=wobjStationB;MoveJpWeld_B20,v100,z1,tWeldGun\WObj:=wobjStationB;MoveJpWeld_B30,v100,z1,tWeldGun\WObj:=wobjStationB;MoveJpWeld_B40,v100,fine,tWeldGun\WObj:=wobjStationB;工作站RAPID程序的注解MoveJpWeld_B50,v100,fine,tWeldGun\WObj:=wobjStationB;MoveJpWeld_B60,v100,fine,tWeldGun\WObj:=wobjStationB;MoveJpWeld_B70,v100,fine,tWeldGun\WObj:=wobjStationB;MoveJpWeld_B80,v100,fine,tWeldGun\WObj:=wobjStationB;MoveJpWeld_B90,v100,fine,tWeldGun\WObj:=wobjStationB;MoveJpWeld_B100,v100,fine,tWeldGun\WObj:=wobjStationB;!以上為焊接路徑目標點(如圖1),根據(jù)焊縫的實際情況進行增減MoveJpGunWash,v100,fine,tWeldGun\WObj:=wobj0;MoveJpGunSpary,v100,fine,tWeldGun\WObj:=wobj0;MoveJpFeedCut,v100,fine,tWeldGun\WObj:=wobj0;!以上三個目標點是清槍裝置上的三個位置,如圖2所示!此示教目標點程序不放入主程序main的邏輯中,僅僅用作調(diào)試時使用ENDPROC圖1圖2工作站RAPID程序的注解PROCrWeldGunSet()!清槍系統(tǒng)例行程序

MoveJOffs(pGunWash,0,0,150),v1000,z10,tWeldGun\WObj:=wobj0;MoveLpGunWash,v200,fine,tWeldGun\WObj:=wobj0;!機器人先運行到清焊渣目標點pGunWash點上方150mm處,然后線性下降,運行到目標點,這樣可以保證機器人在動作的過程中不會和其他設備干涉

Setdo09GunWash; Waittime2; Resetdo09GunWash;!將清焊渣信號置位,此時清焊渣裝置開始運行,清除焊渣,等待一個設定的時間后將信號復位,清焊渣動作完成。等待的時間就是清焊渣裝置的運行時間,可以根據(jù)實際的效果來延長或縮短時間

MoveLOffs(pGunWash,0,0,150),v1000,z10,tWeldGun\WObj:=wobj0;!清除完成后使用偏移函數(shù)將機器人線性運行到pGunWash點上方位置,然后準備進行下一步動作

MoveLOffs(pGunSpary,0,0,150),v1000,z10,tWeldGun\WObj:=wobj0; MoveLpGunSpary,v200,fine,tWeldGun\WObj:=wobj0;!機器人先運行到噴霧目標點pGunSpary點上方150mm處,然后線性下降,運行到目標點,這樣可以保證機器人在動作的過程中不會和其他設備干涉工作站RAPID程序的注解Setdo10GunSpary; Waittime2; Resetdo10GunSpary;!將

溫馨提示

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

評論

0/150

提交評論