ABB_ROBOT_Program(抓手机器人配伺服焊钳)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ABB抓手机器人点焊程序
MODULE ProgramStart 模块ProgramStart
PROC main ( )
VelSet 100, 5000; 定义速度100%,最大5000mm/s;
AccSet 100, 100; 定义加速度100%,最大100mm/s2;
CheckWorldZone; 调用子程序CheckWorldZone;
InitSystem; 调用子程序InitSystem;初始化系统
WaitTime 0.2; 等待0.2秒;
!TD_1_OFF;
WHILE TRUE DO 进入循环;
WaitUntil di10_Initiate_Style=1; 待到信号di10_Initiate_Style=1时执行下一步;
ProcessStyle; 调用子程序ProcessStyle;
TEST gi_Style 根据组信号gi_Style的值,执行不同的子程序;
CASE 1: 当gi_Style=1时调用程序Style1;
Style1;
CASE 2: 当gi_Style=2时调用程序Style2;
! Style2;
CASE 20: 当gi_Style=20时调用程序Style20;
! Style20;
CASE 24: 当gi_Style=24时调用程序Style24;换帽
! Change Tip;
Style24;
CASE 27: 当gi_Style=27时调用程序Style27;步增
! Reset Step;
Style27;
CASE 29: 当gi_Style=29时调用程序Style29;修磨
! TipDress;
Style 29;
CASE 31: 当gi_Style=31时调用程序Style31;维修
! Maitain;
Style 31;
DEFAULT: 如果gi_Style不等于以上任何一个值就执行以下程
序;
SetDO do47_Process1Fault,1; 将输出信号do47_Process1Fault置为1;
UiMsgBox\Header:="Program Number Out Of Range","Program Number InCorrect"\
MsgLine2:="IRC5 Received Number: "+ValToStr(n_gi_Style)\
MsgLine3:="Please Select OK For Retry"\
Buttons:= btnOK\Icon:=iconWarning\result:=nPressedKey;
标题显示"Program Number Out Of Range"(程序号gi_Style输入超出范围),第一行提示信息“Program Number InCorrect”(程序号gi_Styl错误的),第二行提示信息"IRC5 Received Number:
"+ValToStr(n_gi_Style)(机器人收到数据即n_gi_Style的值),第三行显示信息"Please Select OK For Retry"(请选择ok键以重试),屏幕会出现Ok按钮,按OK键解除报警;
SetDo do47_Process1Fault,0; 将输出信号do47_Process1Fault复位为0;
ENDTEST 结束TEST指令;
Gun1TipJob;调用子程序Gun1TipJob;
InitSignal; 调用子程序InitSignal;初始化信号
ENDWHILE 结束WHILE循环语句;
ENDPROC 程序结束;
ENDMODULE
MODULE PgnoControl(SYSMODULE) 模块PgnoControl(系统模块)
VAR bool bTimeFLag; 变量布尔型bTimeFLag
VAR num nPgno:=0; 变量数字型nPgno:=0
VAR num nPressedKey:=0; 变量数字型nPressedKey:=0
PERS num n_gi_Style:=0; 变量数字型n_gi_Style:=0
VAR errnum err_var_s5; 变量故障代码型err_var_s5
PROC InitSystem() 程序初始化系统
InitSignal; 调用程序InitSignal(信号初始化);
VerifyAtHome; 调用程序VerifyAtHome(判定是否在home位置); ENDPROC
PROC InitSignal() 程序初始化信号
InitZone; 调用子程序InitZone(初始化干涉区域信号);
n_gi_Style:=0; 可变量n_gi_Style赋值为0;
SetGO go_ManualStyle,0; 将组输出信号go_ManualStyle置为0;
Reset do19_PathSegReqToCont; 复位信号do19_PathSegReqToCont;
Reset do40_TaskOK; 复位信号do40_TaskOK
Reset do47_Process1Fault;复位信号do47_Process1Fault
Reset do10_InCycle; 复位信号do10_InCycle
SetGo go_PathSegment,0; 将组输出信号go_PathSegment置为0;
SetGo go_ManDecCode, 0; 将组输出信号go_ManDecCode置为0;
SetGO go_ HandShake, 0; 将组输出信号go_ HandShake置为0;
ENDPROC
PROC InitZone() 程序干涉区信号初始化
Set do26_ClearOfZone1; 将输出信号do26_ClearOfZone1置为1;
Set do27_ClearOfZone2; 将输出信号do27_ClearOfZone2置为1;
Set do28_ClearOfZone3; 将输出信号do28_ClearOfZone3置为1;