Ovrd 20 '速度设定
Mvs P3 ' 吸盘工装位置 Dly 0.5 HOpen 1
Wait M_In(900)=1 '等待手爪松开信号为1 Dly 1 '延时1秒 Ovrd 50 '速度设定
Mvs P2 ' 吸盘工装正上方位置 Ovrd 100 '速度设定 Mvs P12 Return ' ' '
'********************** 工件跟踪吸取子程序****************************** *S20TRGET
'///追踪缓冲检查/// *LBFCHK
If M_Trbfct(1)>=1 Then GoTo *LREAD '如果有工件,转到工件数据获得程序 Mov P0 Type 0,0 '移动到拉 位置 MWAIT1=0 GoTo *LBFCHK '///工件数据获得/// *LREAD
TrRd PBPOS,MBENC#,MBWK%,1,MBENCNO% '
GoSub *S40DTSET '运输数据设定 '///工件位置确认 /// *LNEXT
PX50CUR=TrWcur(MBENCNO%,PBPOS,MBENC#) '获得现在工件位置
MX50ST=PRNG.X '开始距离范围在机器人跟随工件 MX50ED=PRNG.Y '停止距离范围在机器人跟随工件 MX50PAT=PTN.X '输送模式号码 GoSub *S50WKPOS '工件位置确认处理 If MY50STS=3 Then GoTo *LBFCHK '已经通过,去下个工件 If MY50STS=2 Then GoTo *LTRST '开始追踪
If MWAIT=1 Then GoTo *LNEXT '等待工件到来 '/// 去位置 ///
PWAIT=P0 ' 改变工件等待姿势 Select PTN.X '输送位置模式号码 Case 1 To 2 '当输送在机器人之前 PWAIT.X=PX50CUR.X '机器人匹配到工件的X坐标 Case 3 To 6
PWAIT.Y=PX50CUR.Y '机器人匹配到工件的Y坐标 End Select
PWAIT.Z=PX50CUR.Z+PUP1.X PWAIT.C=PX50CUR.C
Mov PWAIT Type 0,0 '移动到工件等待姿势
MWAIT1=1 '设置工件等待标记 GoTo *LNEXT
'///开始追踪操作/// *LTRST
Accel PAC1.X,PAC1.Y Cnt 1,0,0
Act 1=1 '监视机器人跟随工件太远 Trk On,PBPOS,MBENC#,PTBASE,MBENCNO% '追踪操作开始设置 Ovrd 75
Mov PGT,PUP1.Y Type 0,0 '移动到追踪半空位置 Accel PAC2.X,PAC2.Y
Mvs PGT '移动到吸取位置 HClose 2 '吸取开 Dly PDLY2.Z '吸取确定 Cnt 1
Accel PAC3.X,PAC3.Y Ovrd 100
Mvs PGT,PUP1.Z '移动到追踪半空位置 Trk Off '追踪操作和设定 Act 1=0
Accel 100,100 MWAIT = 0 Return ' ' '
'*************工件放废料框子程序************ *FeiLiao0 Mvs P0
Accel PAC12.X,PAC12.Y '移动到放置位置 Cnt 1,0,0
Mvs PFL1+(+0.00,+0.00,+80.00,+0.00,+0.00,+0.00)
HOpen 2 '吸取关 Dly 0.5 '释放确认
M_Out(5)=0 '机器人等待吸取信号为0 --X33 m13=0 Mvs P0
GoTo *Goon ' ' '
'********************** 工件放置子程序****************************** *S30WKPUT Mvs P111
M_Out(5)=0 '机器人等待吸取信号为0 ——X33
Mov P12
Accel PAC12.X,PAC12.Y '移动到放置位置 Cnt 1,0,0 'Mvs PPT Ovrd 40
Mvs PPT0 '放料移动到目标位置(根据m10的值决定) Mvs ,30 '下降 'If M_In(15)=0 Then *POK
'************************************************* m6=0
GoSub *WeiTiao1 '工件位置微调1mm If m6=1 Then *POK
GoSub *WeiTiao2 '工件位置微调2mm If m6=1 Then *POK
GoSub *WeiTiao3 '工件位置微调3mm *POK
'************************************************* HOpen 2 '吸取关 Dly 0.5 '释放确认 Ovrd 100 Mvs ,-35 Mov P12 Mov P111 '
Return ' '
'********************** 放置工件位置微调子程序(1mm)****************************** *WeiTiao1 m6=0 Dly 1
If M_In(15)=0 Then *PlaceOK1 Mvs ,-15
Mov PPT0+(+0.00,+1.00,-15.00,+0.00,+0.00,+0.00) '右移1mm Mvs ,15 Dly 1
If M_In(15)=0 Then *PlaceOK1 Mvs ,-15
Mov PPT0+(+0.00,-1.00,-15.00,+0.00,+0.00,+0.00) '左移1mm Mvs ,15 Dly 1
If M_In(15)=0 Then *PlaceOK1 Mvs ,-15
Mov PPT0+(+1.00,+0.00,-15.00,+0.00,+0.00,+0.00) '前移1mm Mvs ,15
Dly 1
If M_In(15)=0 Then *PlaceOK1 Mvs ,-15
Mov PPT0+(-1.00,+0.00,-15.00,+0.00,+0.00,+0.00) '后移1mm Mvs ,15 Dly 1
If M_In(15)=0 Then *PlaceOK1 Mvs ,-15
Mov PPT0+(+1.00,+1.00,-15.00,+0.00,+0.00,+0.00) '前移、右移各1mm Mvs ,15 Dly 1
If M_In(15)=0 Then *PlaceOK1 Mvs ,-15
Mov PPT0+(+1.00,-1.00,-15.00,+0.00,+0.00,+0.00) '前移、左移各1mm Mvs ,15 Dly 1
If M_In(15)=0 Then *PlaceOK1 Mvs ,-15
Mov PPT0+(-1.00,+1.00,-15.00,+0.00,+0.00,+0.00) '后移、右移各1mm Mvs ,15 Dly 1
If M_In(15)=0 Then *PlaceOK1 Mvs ,-15
Mov PPT0+(-1.00,-1.00,-15.00,+0.00,+0.00,+0.00) '后移、左移各1mm Mvs ,15 Dly 1
If M_In(15)=0 Then *PlaceOK1 Return *PlaceOK1 m6=1 Return ' ' '
'********************** 放置工件位置微调子程序(2mm)****************************** *WeiTiao2 m6=0 Dly 1
If M_In(15)=0 Then *PlaceOK2 Mvs ,-15
Mov PPT0+(+0.00,+2.00,-15.00,+0.00,+0.00,+0.00) '右移2mm Mvs ,15 Dly 1
If M_In(15)=0 Then *PlaceOK2 Mvs ,-15
Mov PPT0+(+0.00,-2.00,-15.00,+0.00,+0.00,+0.00) '左移2mm Mvs ,15 Dly 1
If M_In(15)=0 Then *PlaceOK2 Mvs ,-15
Mov PPT0+(+2.00,+0.00,-15.00,+0.00,+0.00,+0.00) '前移2mm Mvs ,15 Dly 1
If M_In(15)=0 Then *PlaceOK2 Mvs ,-15
Mov PPT0+(-2.00,+0.00,-15.00,+0.00,+0.00,+0.00) '后移2mm Mvs ,15 Dly 1
If M_In(15)=0 Then *PlaceOK2 Mvs ,-15
Mov PPT0+(+2.00,+2.00,-15.00,+0.00,+0.00,+0.00) '前移、右移各2mm Mvs ,15 Dly 1
If M_In(15)=0 Then *PlaceOK2 Mvs ,-15
Mov PPT0+(+2.00,-2.00,-15.00,+0.00,+0.00,+0.00) '前移、左移各2mm Mvs ,15 Dly 1
If M_In(15)=0 Then *PlaceOK2 Mvs ,-15
Mov PPT0+(-2.00,+2.00,-15.00,+0.00,+0.00,+0.00) '后移、右移各2mm Mvs ,15 Dly 1
If M_In(15)=0 Then *PlaceOK2 Mvs ,-15
Mov PPT0+(-2.00,-2.00,-15.00,+0.00,+0.00,+0.00) '后移、左移各2mm Mvs ,15 Dly 1
If M_In(15)=0 Then *PlaceOK2 Return *PlaceOK2 m6=1 Return ' ' '
'********************** 放置工件位置微调子程序(3mm)****************************** *WeiTiao3 m6=0 Dly 1