[PGM]
NAME=SHIFT
PGN=1
'===================声明数组============
DIM PPS$(5)
DIM PPX$(5)
DIM PPY$(5)
DIM PPR$(5)
DIM PPX!(5)
DIM PPY!(5)
DIM PPR!(5)
A%=1
'=======================================
*A:
DO2()=0
MOVE P,P0,Z=0.00
WAIT ARM
'======================================
MOVE P,P101,Z=0.00 '1拍照位置
WAIT ARM
'======================================
*PAIZHAO1:
SEND "AA" TO GP1
SEND GP1 TO DATA$
PRINT "DATA$=",DATA$
PPS$(1)=MID$(DATA$,1,2)
IF PPS$(1)="OK" THEN
GOTO *PAIZHAOOK1
ENDIF
IF PPS$(1)="NG" THEN
DELAY 100
GOTO *PAIZHAO1
ENDIF
'======================================
*PAIZHAOOK1:
PPX$(1)=MID$(DATA$,3,8)
PPY$(1)=MID$(DATA$,11,8)
PPR$(1)=MID$(DATA$,19,8)
PPX!(1)=VAL(PPX$(1))
PPY!(1)=VAL(PPX$(1))
PPR!(1)=VAL(PPX$(1))
LOC1(P11)=PPX!(1)
LOC2(P11)=PPY!(1)
LOC4(P11)=PPR!(1)
LOC3(P11)=20.00
'========================================
MOVE P,P102,Z=0.00 '2拍照位置
WAIT ARM
'======================================
*PAIZHAO2:
SEND "AB" TO GP1
SEND GP1 TO DATA$
PPS$(2)=MID$(DATA$,1,2)
PRINT "DATA$=",DATA$
IF PPS$(2)="OK" THEN
GOTO *PAIZHAOOK2
ENDIF
IF PPS$(2)="NG" THEN
DELAY 100
GOTO *PAIZHAO2
ENDIF
'=====================================
*PAIZHAOOK2:
PPX$(2)=MID$(DATA$,3,8)
PPY$(2)=MID$(DATA$,11,8)
PPR$(2)=MID$(DATA$,19,8)
PPX!(2)=VAL(PPX$(2))
PPY!(2)=VAL(PPX$(2))
PPR!(2)=VAL(PPX$(2))
LOC1(P12)=PPX!(2)
LOC2(P12)=PPY!(2)
LOC4(P12)=PPR!(2)
LOC3(P12)=20.00
'=========================================
'=============偏移公式计算偏移S1============
DLTX1=LOC1(P2)-LOC1(P1)
DLTY1=LOC2(P2)-LOC2(P1)
ANG1=ATN(DLTY1/DLTX1)
DLTX11=LOC1(P12)-LOC1(P11)
DLTY11=LOC2(P12)-LOC2(P11)
ANG11=ATN(DLTY11/DLTX11)
THETA=ANG11-ANG1
LOC1(P1001)=LOC1(P1)*COS(THETA)-LOC2(P1)*SIN(THETA)
LOC2(P1001)=LOC1(P1)*SIN(THETA)+LOC2(P1)*COS(THETA)
DSTX1=LOC1(P11)-LOC1(P1001)
DSTY1=LOC2(P11)-LOC2(P1001)
LOC1(P1002)=LOC1(P2)*COS(THETA)-LOC2(P2)*SIN(THETA)
LOC2(P1002)=LOC1(P2)*SIN(THETA)+LOC2(P2)*COS(THETA)
DSTX2=LOC1(P12)-LOC1(P1002)
DSTY2=LOC2(P12)-LOC2(P1002)
DSTX=(DSTX1+DSTX2)/2
DSTY=(DSTY1+DSTY2)/2
LOC1(S1)=LOC1(S0)+DSTX
LOC2(S1)=LOC2(S0)+DSTY
LOC4(S1)=LOC4(S0)+RADDEG(THETA)
LOC3(S1)=20.00
'================================================
'================================================
*MAIN:
FOR B%=1 TO 32
C%=B%+499
P[C%]=P0
NEXT
'======================================
FOR B%=1 TO 32
C%=B%+499
P[C%]=PPNT(0,B%)
NEXT
'=======================================
MOVE P,P103,Z=0.00 '3拍照位置
WAIT ARM
'=======================================
*PAIZHAO3:
SEND "AC" TO GP1
SEND GP1 TO DATA$
PPS$(3)=MID$(DATA$,1,2)
PRINT "DATA$=",DATA$
IF PPS$(3)="OK" THEN
GOTO *PAIZHAOOK3
ENDIF
IF PPS$(3)="NG" THEN
DELAY 100
GOTO *PAIZHAO3
ENDIF
'=======================================
*PAIZHAOOK3:
PPX$(3)=MID$(DATA$,3,8)
PPY$(3)=MID$(DATA$,11,8)
PPR$(3)=MID$(DATA$,19,8)
PPX!(3)=VAL(PPX$(3))
PPY!(3)=VAL(PPX$(3))
PPR!(3)=VAL(PPX$(3))
LOC1(P13)=PPX!(3)
LOC2(P13)=PPY!(3)
LOC4(P13)=PPR!(3)
LOC3(P13)=20.00
SHIFT S0
MOVE P,P13,Z=0.00 '走到吸料位
WAIT ARM
DO(23)=1 '吸料
DELAY 100
'=========================================
MOVE P,P104,Z=0.00 '4拍照位置,矫正
WAIT ARM
'=======================================
*PAIZHAO4:
SEND "AD" TO GP1
SEND GP1 TO DATA$
PPS$(4)=MID$(DATA$,1,2)
PRINT "DATA$=",DATA$
IF PPS$(4)="OK" THEN
GOTO *PAIZHAOOK4
ENDIF
IF PPS$(4)="NG" THEN
DELAY 100
GOTO *PAIZHAO4
ENDIF
'=====================================
*PAIZHAOOK4: '二次矫正拍照,固定相机
PPX$(4)=MID$(DATA$,3,8)
PPY$(4)=MID$(DATA$,11,8)
PPR$(4)=MID$(DATA$,19,8)
PPX!(4)=VAL(PPX$(4))
PPY!(4)=VAL(PPX$(4))
PPR!(4)=VAL(PPX$(4))
LOC1(P14)=PPX!(4)
LOC2(P14)=PPY!(4)
LOC4(P14)=PPR!(4)
LOC3(P14)=20.00
SHIFT S0
MOVE P,P14,Z=0.00 '矫正角度
WAIT ARM
'=====================================
SHIFT S1
MOVE P,P[A%+499],Z=0.00
WAIT ARM
DO(23)=0
'====================================
SHIFT S0
MOVE P,P105,Z=0.00 '5拍照位置
WAIT ARM
'===================================
*PAIZHAOOK5:
SEND "AE" TO GP1
SEND GP1 TO DATA$
PPS$(5)=MID$(DATA$,1,2)
PRINT "DATA$=",DATA$
IF PPS$(5)="OK" THEN
GOTO *PAIZHAOOK5
ENDIF
IF PPS$(5)="NG" THEN
DELAY 100
GOTO *PAIZHAO6
ENDIF
'==================================
*PAIZHAO6:
PPX$(5)=MID$(DATA$,3,8)
PPY$(5)=MID$(DATA$,11,8)
PPR$(5)=MID$(DATA$,19,8)
PPX!(5)=VAL(PPX$(5))
PPY!(5)=VAL(PPX$(5))
PPR!(5)=VAL(PPX$(5))
LOC1(P15)=PPX!(5)
LOC2(P15)=PPY!(5)
LOC4(P15)=PPR!(5)
LOC3(P15)=20.00
SHIFT S0
MOVE P,P15,Z=0.00 '走到吸料位
WAIT ARM
DO(23)=1 '吸料
DELAY 100
'======================================
MOVE P,P104,Z=0.00 '4拍照位置,矫正,固定相机
WAIT ARM
'=======================================
*PAIZHAO4:
SEND "AD" TO GP1
SEND GP1 TO DATA$
PPS$(4)=MID$(DATA$,1,2)
PRINT "DATA$=",DATA$
IF PPS$(4)="OK" THEN
GOTO *PAIZHAOOK4
ENDIF
IF PPS$(4)="NG" THEN
DELAY 100
GOTO *PAIZHAO4
ENDIF
'=====================================
*PAIZHAOOK4: '二次矫正拍照
PPX$(4)=MID$(DATA$,3,8)
PPY$(4)=MID$(DATA$,11,8)
PPR$(4)=MID$(DATA$,19,8)
PPX!(4)=VAL(PPX$(4))
PPY!(4)=VAL(PPX$(4))
PPR!(4)=VAL(PPX$(4))
LOC1(P14)=PPX!(4)
LOC2(P14)=PPY!(4)
LOC4(P14)=PPR!(4)
LOC3(P14)=20.00
SHIFT S0
MOVE P,P14,Z=0.00 '矫正角度
WAIT ARM
A%=A%+1
SHIFT S1
MOVE P,P[A%+499],Z=0.00
WAIT ARM
DO(23)=0
A%=A%+1
IF A%=33 THEN
A%=1
GOTO *A
ENDIF
GOTO *MAIN
[GEP]
GP1
MODE=1
IPADRS=192.168.0.5
PORT=5
EOL=0
TYPE=0
[END]
|
更多相关内容
|
雅马哈机器人2.352报警处理方式
机器人YK400XE 装置好今后,发现寸动的时候会呈现2.352 水平多关节外侧 CP 禁止规模 报警,呈现了这个报警怎样处理呢?
YK400XE 这个机器人是大概2020年推出来的,新款机器人这个机器人主 ...
|
|
YAMAHA工业机器人编程错误处理
01差错例程剖析
先看一段代码:
*AA:
MOVE P,P101,Z=0.0
WAIT ARM
FOR I=1 TO 1000
MOVE P,P102,Z=0.0
WAIT ARM
DO2(0)=1
GOTO *TSA //差 ...
|
|
机器人工作原理解析——雅马哈机器人
一、机器人的组成部分
从最基本的层面来看,人体包含五个主要组成部分:
当然,人类还有一些无形的特征,如智能和品德,但在纯粹的物理层面上,此 ...
|
|
雅马哈机器人PLC编程算法
脉冲量的操控多用于步进电机、伺服电机的视点操控、间隔操控、位置操控等。以下是以步进电机为例来说明各操控方法。
1、步进电机的视点操控。首要要清晰步 ...
|
|
工业机器人校准原因——雅马哈
要对机器人进行校准,我们首先要了解形成机器人呈现差错或许存在的要素。
形成机器人发生差错的要素有很多,归结起来主要有两大类,一是运动学相关,主要有加工差错、机械公差/装配差错、 ...
|
|
雅马哈机器人伺服器设置步骤
1、测验一下电机,任何电路也不必衔接,把电机的三根线恣意两根短路在一起,用手滚动电机轴,感觉起来有阻力,那就OK。
2、把伺服驱动器按图纸接上电源(例如用了调压器,从100V调到220V, ...
|
|
焊接机器人编程技巧——雅马哈机器人
(1)选择合理的焊接次序。以减小焊接变形、焊枪行走途径长度来拟定焊接次序。
(2)焊枪空间过渡要求移动轨迹较短、滑润、安全。
(3)优化焊接参数。为了取得最佳的焊接参数,制作工作试 ...
|
|
雅马哈机器人零点的找回
机器人零点是机器人操作模型的初始方位,每一台机器人在出厂时就已经设置好了零点。当零点不正确时,机器人就不能正确的运动,此时就需要从头校准零点。
...
|
|
SCARA机器人构成及工作原理
SCARA机器人的构成
SCARA机器人是一种弧形多关节机器人,一般由四个关节构成。这种机器人的结构类似于人的手臂,但它的末端能够带有东西,如夹具、吸盘或激光头。SCARA机器人的关节都由电 ...
|
|
雅马哈机器人维修经验
依据雅马哈工业机器人工程师多年的雅马哈机器人维修经验,做好雅马哈工业机器人的维修工作,将有用延伸机器人的运用寿命,降低问题概率。
1、一般保护 ...
|
|
机器人管线包的特点
1. 高效性:机器人管线包可以在管道内部进行全面、高效的巡检和保护作业。它可以自主地遍历整个管道系统,削减人力资源的需求,并进步作业功率。
2. 精准性:经过传感器和操控系统的合作, ...
|
|
工业机器人的五大机械结构——雅马哈机器人
若以机械结构来看,工业机器人可区分为单轴机器人、座标机器人、水平多关节机器人( SCARA )、笔直多关节机器人以及并联式机器人( DELTA )等,以下依序就这五种类型来说明。
...
|
|
雅马哈机器人视觉问题分析
1.图画特征挑选问题。
视觉伺服的功能与所用图画的特性密切相关。特征的挑选不只应考虑识别指标,还应考虑操控指标。从操控的角度来看,冗余特性消除了噪声的影响,提高了视觉伺服电机的功 ...
|
|
雅马哈机器人如何提前防范故障
机器人在工作过程中产生毛病不要紧张,假如毛病不是由于控制器引起的,那么毛病的原因肯定是机器部件产生损坏。
为了尽快简便的办法处理毛病、应当对毛 ...
|
|
雅马哈工业机器人传动机构
工业机器人常见的传动机构形式可以分为直线传动和旋转传动机构两种,其中直线传动机构可以通过齿轮齿条、丝杠螺母等传动元件将旋转运动转换成直线运动,也可以由直线驱动电机驱动,或是直接由气 ...
|
|
雅马哈机器人伺服驱动连接
首要先测试一下电机,任何电路也不必衔接,把电机的三根线恣意两根短路在一起,用手滚动电机轴,感觉起来有阻力,那就OK。
2、把伺服驱动器按图纸接上电源(例如用了调压器,从100V调到220V ...
|
|
设置伺服驱动器步骤——雅马哈机器人
1、首要先测试一下电机,任何电路也不用衔接,把电机的三根线任意两根短路在一起,用手滚动电机轴,感觉起来有阻力,那就OK。
2、把伺服驱动器按图纸接上电源(例如用了调压器,从100V调到2 ...
|
|
雅马哈机器人位置检测
BLOB查找与边际查找的速度相比,可使用2倍——10倍的速度进行检测。
适用于重视速度的位置检测。
仅检出甜甜圈形状
优势与劣势
优势:
...
|
|
机器人领域的十项核心技术——雅马哈机器人
1.人机对话智能交互技能;这项技能能让人类做到真正与机器智能的对话交流,机器人不仅能了解用户的问题并给出精准答案,还能在信息不全的情况下主动引导完成会话。当时这一块做得比较老练的谷 ...
|
|
工业机器人具有特性——雅马哈机器人
工业机器人是面向工业范畴的多关节机械手或多自由度的机器人。工业机器人是主动执行工作的机器设备,是靠自身动力和控制能力来实现各种功用的一种机器。
...
|
|