YAMAHA机器人视觉程序

发布时间:2024-8-30 12:03:23|来源: 雅马哈/YAMAHA

  [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报警处理方式 雅马哈机器人2.352报警处理方式

机器人YK400XE 装置好今后,发现寸动的时候会呈现2.352 水平多关节外侧 CP 禁止规模 报警,呈现了这个报警怎样处理呢?   YK400XE 这个机器人是大概2020年推出来的,新款机器人这个机器人主 ...

YAMAHA工业机器人编程错误处理 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编程算法 雅马哈机器人PLC编程算法

脉冲量的操控多用于步进电机、伺服电机的视点操控、间隔操控、位置操控等。以下是以步进电机为例来说明各操控方法。   1、步进电机的视点操控。首要要清晰步 ...

工业机器人校准原因——雅马哈 工业机器人校准原因——雅马哈

要对机器人进行校准,我们首先要了解形成机器人呈现差错或许存在的要素。   形成机器人发生差错的要素有很多,归结起来主要有两大类,一是运动学相关,主要有加工差错、机械公差/装配差错、 ...

雅马哈机器人伺服器设置步骤 雅马哈机器人伺服器设置步骤

1、测验一下电机,任何电路也不必衔接,把电机的三根线恣意两根短路在一起,用手滚动电机轴,感觉起来有阻力,那就OK。   2、把伺服驱动器按图纸接上电源(例如用了调压器,从100V调到220V, ...

焊接机器人编程技巧——雅马哈机器人 焊接机器人编程技巧——雅马哈机器人

(1)选择合理的焊接次序。以减小焊接变形、焊枪行走途径长度来拟定焊接次序。   (2)焊枪空间过渡要求移动轨迹较短、滑润、安全。   (3)优化焊接参数。为了取得最佳的焊接参数,制作工作试 ...

雅马哈机器人零点的找回 雅马哈机器人零点的找回

机器人零点是机器人操作模型的初始方位,每一台机器人在出厂时就已经设置好了零点。当零点不正确时,机器人就不能正确的运动,此时就需要从头校准零点。    ...

SCARA机器人构成及工作原理 SCARA机器人构成及工作原理

SCARA机器人的构成   SCARA机器人是一种弧形多关节机器人,一般由四个关节构成。这种机器人的结构类似于人的手臂,但它的末端能够带有东西,如夹具、吸盘或激光头。SCARA机器人的关节都由电 ...

雅马哈机器人维修经验 雅马哈机器人维修经验

依据雅马哈工业机器人工程师多年的雅马哈机器人维修经验,做好雅马哈工业机器人的维修工作,将有用延伸机器人的运用寿命,降低问题概率。   1、一般保护 ...

机器人管线包的特点 机器人管线包的特点

1. 高效性:机器人管线包可以在管道内部进行全面、高效的巡检和保护作业。它可以自主地遍历整个管道系统,削减人力资源的需求,并进步作业功率。   2. 精准性:经过传感器和操控系统的合作, ...

工业机器人的五大机械结构——雅马哈机器人 工业机器人的五大机械结构——雅马哈机器人

若以机械结构来看,工业机器人可区分为单轴机器人、座标机器人、水平多关节机器人( SCARA )、笔直多关节机器人以及并联式机器人( DELTA )等,以下依序就这五种类型来说明。 ...

雅马哈机器人视觉问题分析 雅马哈机器人视觉问题分析

1.图画特征挑选问题。   视觉伺服的功能与所用图画的特性密切相关。特征的挑选不只应考虑识别指标,还应考虑操控指标。从操控的角度来看,冗余特性消除了噪声的影响,提高了视觉伺服电机的功 ...

雅马哈机器人如何提前防范故障 雅马哈机器人如何提前防范故障

机器人在工作过程中产生毛病不要紧张,假如毛病不是由于控制器引起的,那么毛病的原因肯定是机器部件产生损坏。   为了尽快简便的办法处理毛病、应当对毛 ...

雅马哈工业机器人传动机构 雅马哈工业机器人传动机构

工业机器人常见的传动机构形式可以分为直线传动和旋转传动机构两种,其中直线传动机构可以通过齿轮齿条、丝杠螺母等传动元件将旋转运动转换成直线运动,也可以由直线驱动电机驱动,或是直接由气 ...

雅马哈机器人伺服驱动连接 雅马哈机器人伺服驱动连接

首要先测试一下电机,任何电路也不必衔接,把电机的三根线恣意两根短路在一起,用手滚动电机轴,感觉起来有阻力,那就OK。   2、把伺服驱动器按图纸接上电源(例如用了调压器,从100V调到220V ...

设置伺服驱动器步骤——雅马哈机器人 设置伺服驱动器步骤——雅马哈机器人

1、首要先测试一下电机,任何电路也不用衔接,把电机的三根线任意两根短路在一起,用手滚动电机轴,感觉起来有阻力,那就OK。   2、把伺服驱动器按图纸接上电源(例如用了调压器,从100V调到2 ...

雅马哈机器人位置检测 雅马哈机器人位置检测

BLOB查找与边际查找的速度相比,可使用2倍——10倍的速度进行检测。   适用于重视速度的位置检测。   仅检出甜甜圈形状   优势与劣势   优势:   ...

机器人领域的十项核心技术——雅马哈机器人 机器人领域的十项核心技术——雅马哈机器人

1.人机对话智能交互技能;这项技能能让人类做到真正与机器智能的对话交流,机器人不仅能了解用户的问题并给出精准答案,还能在信息不全的情况下主动引导完成会话。当时这一块做得比较老练的谷 ...

工业机器人具有特性——雅马哈机器人 工业机器人具有特性——雅马哈机器人

工业机器人是面向工业范畴的多关节机械手或多自由度的机器人。工业机器人是主动执行工作的机器设备,是靠自身动力和控制能力来实现各种功用的一种机器。   ...

栏目导航
客服中心

在线咨询:QQ


联系方式联系方式

联 系 人:黄经理

联系QQ:3271883383

联系电话:13522565663


扫码添加微信(手机端请先保存图片)

工作时间工作时间

工作日:9:00-17:00

节假日:仅处理紧急事件

Contact us

联系我们

联系电话 QQ咨询
QQ咨询

3271883383

公司地址
返回顶部