YAMAHA机器人编程指令集Word格式文档下载.docx

上传人:b****8 文档编号:22667565 上传时间:2023-02-05 格式:DOCX 页数:35 大小:26.22KB
下载 相关 举报
YAMAHA机器人编程指令集Word格式文档下载.docx_第1页
第1页 / 共35页
YAMAHA机器人编程指令集Word格式文档下载.docx_第2页
第2页 / 共35页
YAMAHA机器人编程指令集Word格式文档下载.docx_第3页
第3页 / 共35页
YAMAHA机器人编程指令集Word格式文档下载.docx_第4页
第4页 / 共35页
YAMAHA机器人编程指令集Word格式文档下载.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

YAMAHA机器人编程指令集Word格式文档下载.docx

《YAMAHA机器人编程指令集Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《YAMAHA机器人编程指令集Word格式文档下载.docx(35页珍藏版)》请在冰豆网上搜索。

YAMAHA机器人编程指令集Word格式文档下载.docx

ENDSELECT结束条件选择语句

GOTO*START_RUN跳转语句(GOTO),跳转到*START_RUNBO标签语句

6.PMOVE(1,SGI1),Z=0.00

PMOVE语句是托盘移动语句指令,本指令默认为1号机器人,编号为1号托盘,SGI1托盘点位,第三轴(Z轴)抬升到0.00mm。

7.DO(21,20)=&

B01

DO:

是输出至并行端口,本语句使并行端口DO21置OFF,DO20置ON。

8.DRIVE(3,0.00)

DRIVE:

以轴位单位的绝对移动指令。

本指令是默认为一号机器人,第三轴(Z轴)绝对移动量为0.00mm。

9.MOVEP,P1,Z=0.00

MOVE:

移动指令。

本指令是以PTP移动到P1点并且Z轴抬升到0.00mm。

10.WART_ARM

WART_ARM:

等待机器人动作结束指令。

11.LEN(BB$)

LEN:

是获取字符串BB$的长度。

12.MID$(BB$,L_NO%,1)

MID$:

从指定位置获取字符串。

本指令是将BB$的第L_NO%字符开始的1个字符赋给MID$。

 

13.VAL(B2$)

VAL:

将字符串转换为数值。

将字符串表达式B2$里的字符转换为数值。

14.%,!

$

%:

整数!

实数$:

字符,字符串

15.DELAY1000

DELAY:

延时指令语句。

本指令是延时1000ms。

16.MOVEP,P50,Z=0.00,S=25

本语句表示以PTP移动倒是P50点位,并且Z轴抬升到0.00mm的位置,移动速度为25个脉冲单位。

普通命令

1.DIM

DIM:

声明数组变量。

注意:

最多只能声明三维数组

格式:

DIM<

数组名>

<

类型%、!

、$>

(角标)

例:

DIMA%(10)…………定义整型一维数组变量A%(0)~A%(10)的11个元素。

DIMC%(2,2),D!

(10)……….定义整型数组C%(0,0)~C%(2,2)与实数型数组D!

(0)~D!

(10)

DIMB!

(2,3,4)……….定义实数型三维数组变量B!

(0,0,0)~B!

(2,3,4)的60个元素。

2.LET

(1).LET:

赋值语句。

[LET]<

类型>

=<

表达式>

[LET]<算术变量>=<表达式>

<并行输出变量>

<内部输出变量>

<机械臂锁定输出变量>

<定时输出变量>

<串行输出变量>

A!

=B!

+1

B%(1,2,3)=INT(10.88)

DO2()=&

B00101101

MO(21,20)=2

LO(00)=1

TO(01)=0

SO12()=255

(2).LET:

字符串赋值语句

字符串变量>

=<

字符串表达式>

A$=”YAMAHA”

B$=”ROBOT”

C$=A$+”-+“B$

Resulrt:

YAMAHA-ROBOT

(3).LET:

坐标点赋值语句

[LET]<

坐标点变量>

坐标点表达式>

P1=P10................................将坐标点10赋值给坐标点1

P20=P20+P5.........................将坐标点20与坐标点5分别加上各个元素,并赋值给P20

P30=P30–P3..........................将坐标点30至坐标点3分别减去各个元素,并赋值给P30

P80=P70*4...........................将坐标点70的各元素乘以4,并赋值给P80

P60=P5/3..............................将坐标点5的各元素乘以1/3,并赋值给P60

(4).移位赋值语句

移位变量>

移位表达式>

S1=S0................................将位移0赋值给位移1

S2=S1+S0.............................将位移1与位移0分别加上每个元素,并赋值给位移2

3.REM

REM:

插入标注。

REM或"

’"

以后的字符被视作注释。

不执行注释语句。

"

也可写入行的中间。

例:

REM***MAINPROGRAM***

字符串操作

1.CHR$

CHR$:

计算带有指定字符编码的字符。

A$=CHR$(65)……………….将A赋值给A$即:

65在ASCCII表中对应的是A,CHR$意为将数值对应的ASCCII表中的字符赋给字符串A$的作用。

2.LEFT$

LEFT$:

从一个字符串左端抽出n个字符赋给另一个字符串。

B$=LEFT$(A$,4)………………..将A$中的最左端的4个字符抽出赋給B$。

3.RIGHT$

RIGHT$:

从一个字符串右端抽出n个字符赋給另一个字符串。

B$=RIGHT$(A$,4)………………..将A$中的最右端的4个字符抽出赋給B$。

4.LEN

获取字符串的长度。

LEN(<

即:

返回<字符串表达式>中表示的字符串长度(字节数)。

B=LEN(A$)

5.MID$(BB$,L_NO%,1)

6.VAL

将字符串转化为数值。

I4%=VAL(B5$)……………………………..将B5$里的值转化为实际的数值赋给I4%。

7.STR$

STR$:

将数值转化为字符串。

将<表达式>中指定的值转换为字符串。

<表达式>中可指定整数型及实数型的数值。

B$=STR$(10.01)………………将数值10.01转化为字符串赋給B$。

8.ORD

ORD:

获得指定字符串的起始字符的字符编码。

即计算字符编码。

计算<字符串表达式>起始字符的字符编码。

A=ORD("

B"

)...............................将66(=&

H42)赋值给A。

字符“B”在ASCCII表中对应的数值为66。

坐标点、坐标、位移坐标

1.CHANGE

CHANGE:

对指定的机器人的机械手进行切换。

通过CHANGE进行<机器人编号>指定机器人的机械手的切换。

指定为OFF时,表示无机械手设定。

<机器人编号>可以省略。

当进行省略时,机器人1被指定。

在切换机械手之前,请利用HAND语句对机械手进行定义。

CHANGE[<

机器人编号>

]Hn/OFF

HANDH1=0150.00.0

HANDH2=–500020.000.0

P1=150.00300.000.000.000.000.00

CHANGEH2................................更改为机械手2

MOVEP,P1.................................机械手2的前端向P1移动

(1)

CHANGEH1................................更改为机械手1

MOVEP,P1.................................机械手1的前端向P1移动

(2)

HALT

2.HAND

HAND:

对指定机器人的机械手进行定义。

定义语句:

 HAND[<机器人编号>]Hn=<第1参数><第2参数><第3参数>[R]

选择语句:

 CHANGE[<机器人编号>]Hn

前提水平多关节机器人时

(1).未指定<

第四参数>

R时。

机械手(工装治具)是固定在基准第二机械臂前端的。

<

第一参数>

机械手n基准点与基准第二机械臂基准点之间的脉冲偏移量。

逆时针方向为+脉冲。

第二参数>

机械手n基准点与基准第二机械臂基准点之间的长度差(mm)。

第三参数>

机械手n的Z轴的偏移量(mm)。

(2).指定<

R时

R轴为伺服时,成为从R轴旋转中心偏移的机械手。

设R轴的当前位置为0.00时,正交坐标+x与机械手n之间的角度,逆时针为正度数。

机械手n的长度(mm)>

0。

机械手n的偏移量mm。

3.LOCx、LOCy、LOCz、LOCr

以轴位单位或者以位移数据为要素单位来设定或者获取坐标点数据。

LOCX<

/<

位移表达式>

=<

LOCX(P10)=A

(1)…………………将P10的第一轴(x轴)数据变更为数组A

(1)的值。

LOCY(S1)=B……………………….将S1的第二轴(Y轴)数据变更为B的值。

(A1)=LOCX(P10)…………………将P10的第一轴的数据赋給数组A

(1)。

B=LOCY(S1)……………………….将位移数据的第二轴数据赋給B。

4.JTOXY/XYJOT

JTOXY:

以轴单位制转换,将脉冲转换成毫米。

将关节坐标数据转化为指定机器人的正交坐标数据。

P10=JTOXY(WHERE)…………将当前位置数据转化成正交坐标数据。

XYJOT:

将正交坐标数据(mm)转化为轴坐标数据(脉冲)。

将坐标点变量的正交数据转化为指定机器人的关节坐标数据。

P10=XYJOT(P10)

5.LEFTY/RIGHTY

LEFTY:

将水平多关节机器人的手系系统设置为左手系。

此命令对水平多关节机器人有效。

RIGHTY:

将水平多关节机器人的手系系统设置为手系。

LEFTY(机器人编号)注:

机器人编号可以省略。

RIGHTY

MOVEP,P1

LEFTY

5.Pn/Sn

Pn:

在程序中定义点位坐标。

Sn:

在程序中定义位移坐标。

6.SHIFT

SHIFT:

设置位移坐标。

(位移变量)

SHIFTS1

SHIFTS[A]

MOVEP,P2

分支命令

1.FOR~NEXT

FOR~NEXT:

反复执行FOR的下一条语句至NEXT的上一条语句,直至变量超过指定值为止,将跳出循环,执行下一条语句。

FOR<

控制变量>

开始值>

TO<

结束值>

[STOP<

步骤>

]

命令区>

NEXT[<

FORA=1TO10

MOVEL,P2

MOVEP,P3

PRINT“YAMAHA”;

A

NEXTA

2.GOSUB~RETURN

GOSUB~RETURN:

通过GOSUB跳转到标签子程序,并执行标签子程序,在通过RETURN返回到主程序继续执行。

MAIN

.

GOSUB<

标签>

.

HALT

RETURN

*ST:

MOVEP,P0

GOSUB*CLOSEHAND

MOVEP,P1

GOSUB*OPENHAND

GOTO*ST

’SUBROUTINE

*CLOSEHAND:

DO(20)=1

RETURN

*OPENHAND:

DO(20)=0

3.GOTO

GOTO:

无条件跳转至标签所指定的语句。

GOTO<

’MAINROUTINE

*ST:

MOVEP,P0,P1

IFDI(20)=1THEN

GOTO*FIN

ENDIF

GOTO*ST

*FIN:

4.IF

(1).IF:

更据条件分支控制流程。

IF<

条件表达式>

THEN<

命令语句>

ELSE<

MOVEP,P0,P1

IFDI(20)=1THEN*L1..........DI(20)为1时,则跳转至*L1

DO(20)=1

DELAY100

*L1:

IFDI(21)=1THEN*STELSE*FIN

..................................DI(21)为1时,则跳转至*ST。

如果不是,

则跳转至*FIN

(2).区块IF语句

条件表达式1>

THEN

命令区1>

ELSEIF<

条件表达式2>

FHEN

命令区2>

ELSE

命令区3>

IFDI(21,20)=1THEN

WAITDI(20)=0

ELSEIFDI(21,20)=2THEN

GOTO*FIN

5.ON~GOTO

ON~GOTO:

根据条件跳转至标签所指定的行。

ONDI3()GOTO*L1,*L2,*L3......根据DI3()的值跳转至*L1〜*L3

GOTO*ST..................................返回*ST

MOVEP,P10,Z=0

*L2:

DO(30)=1

*L3:

DO(30)=0

6.WHILE~WEND

WHILE~WEND:

在条件成立时,反复执行WHILE与WEND之间的语句;

在条件不成立时,则跳出WHILE~WEND的循环,执行WEND的下一跳语句;

在条件一次都不成立的时候,则WHILE~WEND语句则一次都不执行,直接执行WEND语句的下一条语句。

WHILE<

WEND

A=0

WHILEDI3(0)=1

A=A+1

PRINT“COUNTER=”;

WEND

NALT

错误控制指令

1.ONERRORGOTO

ONERRORGOTO:

在发生错误时跳转到指定的标签。

含义:

在执行机器人语言程序时发生了错误,不停止程序,跳转至标签指定位置处理错误例程,然后将继续执行。

1:

ONERRORGOTO<

2:

ONERRORGOTO0

ONERRORGOTO*ER1

FORA=0TO9

P[A+10]=P[A]

*L99:

’ERRORROUTINE

*ER1:

IFERR=&

H0604THEN*NEXT1...............确认是否发生了[Pointdoesn'

t

exist]的错误

H0606THEN*NEXT2...............确认是否发生了[Subscriptoutof

range]的错误

ONERRORGOTO0......................显示错误并停止执行

*NEXT1:

RESUMENEXT......................跳转至错误发生行的下一行继续执行

*NEXT2:

RESUME*L99........................跳转至标签*L99并继续执行

2.RESUME

RESUME:

错误恢复处理后恢复执行程序从。

进行错误恢复处理后,恢复执行程序。

按照程序恢复启动的位置有3种方法:

(1):

RESUME从错误错误原因命令开始恢复启动程序。

(2):

RESUME从错误原因的下一个命令开始恢复启动程序。

(3):

RESUME从显示有标签行的命令开始恢复启动程序。

1.RESUMENEXT

2.RESUME<

3.ERR/ERL

ERR:

获取错误编码。

ERL:

获取错误发生行编码。

ERR<

任务编码>

ERL<

程序控制

1.CALL

调用子过程。

调用SUB~ENDSUB语句中定义的子过程。

CALL标签中所指定的名称与SUB所定义的名称相同。

(1).在实参中指定的常量和表达式为值传递;

(2).在实参中指定的变量和数组元素时为传递,如果在实参前面加上ERF则变为引用传递。

(3).在实参中指定了所有数组(数组名后面带有())时,将变为引用传递。

CALL<

(<

实参>

<

例1:

X%=4

Y%=5

CALL*COMPARE(REFX%,REFY%)

’SUBROUTINE:

COMPARE

SUB*COMPARE(A%,B%)

IFA%<B%THEN

TEMP%=A%

A%=B%

B%=TEMP%

ENDSUB

例2;

I=1

CALL*TEST(I)

TEST

SUB*TEST

X=X+1

IFX<15THEN

CALL*TEST(X)

2.HALT

HALT:

停止程序并复位。

直接停止程序并进行复位。

HALT执行后重新启动程序时,程序将从一开始进行执行。

HALT<

字符串>

HALT"

PROGRAMFIN"

3.HALTALL

HALTALL:

停止并复位所有程序。

直接停止并复位所有程序,当HALTALL停止复位后重新启动时,将从主程序或者任务一种最后执行的程序的最前端开始执行。

HALTALL<

’MAINROUTINE

MOVEP,P0,P1

HALTALL“PROGRAMFIN

4.HOLD

HOLD:

暂停程序。

直接暂停程序。

重新启动程序时,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 生物学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1