YAMAHA机器人编程指令全集_第1页
YAMAHA机器人编程指令全集_第2页
YAMAHA机器人编程指令全集_第3页
YAMAHA机器人编程指令全集_第4页
YAMAHA机器人编程指令全集_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、YAMAHA机器人编程指令全集1.SEND "ENTER ROBOT SPEED" TO ETHSEND:将读取的文件的数据转发到写入文件。本语句是将"ENTER ROBOT SPEED"(robot的初始速度)写入ETH中。2.CALL: *Go_HomeCALL:在同一个工程项目程序内跳出本程序去选择另一个程序运行。本语句是跳出正在运行的程序去选择*Go_Home程序运行。3.GOSUB *COM_PCGOSUB:跳转选择子程序语句。本语句是在同一程序内跳转选择子程序*COM_PC运行。4.*COM_PC、*Go_Home程序标签。5.*START_

2、RUN: 标签GOSUB *COM_PC 选择*COM_PC子程序 'ASPEED I20% 定义外部速度为整数(%)I20SELECT CASE A0$ 条件选择语句,字符串A0($) CASE "Site" 条件1“site”(位置) GOSUB *PALLET_TP PALLET_TP(托盘) CASE "Result" 条件2”result”(结果) GOSUB *TP_PALLET CASE "QrCode" 条件3”QrCode”二维码扫描 GOSUB *QRCODE CASE "Laser"

3、条件4”Laser”镭射检查 'GOSUB *LASER CASE "GoHome" 条件5“GoHmoe”拍照避让 GOSUB *BIRANG CASE "GoBack" 条件6 放回原位 GOSUB *GOBACK CASE ELSE 若无一条件成立,则执行CASE ELSE,然后执行下一语句 SEND "Command is not found," TO CMU 将读出的文件数据”Command is not found “转发到写入CMU中 PRINT "-Command is not found-"

4、; PRINT输出语句,输出command is not foundEND SELECT 结束条件选择语句GOTO *START_RUN 跳转语句(GOTO),跳转到*START_RUNBO标签语句6.PMOVE(1,SGI1),Z=0.00PMOVE语句是托盘移动语句指令,本指令默认为1号机器人,编号为1号托盘,SGI1托盘点位,第三轴(Z轴)抬升到0.00mm。7.DO(21,20)=&B01DO:是输出至并行端口,本语句使并行端口DO21置OFF,DO20置ON。8.DRIVE(3,0.00)DRIVE:以轴位单位的绝对移动指令。本指令是默认为一号机器人,第三轴(Z轴)绝对移动量

5、为0.00mm。9.MOVE P,P1,Z=0.00MOVE:移动指令。本指令是以PTP移动到P1点并且Z轴抬升到0.00mm。10.WART_ARMWART_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.DELAY1000DELAY:延时指令语句。本指令是延时1000ms

6、。16.MOVE P,P50,Z=0.00,S=25本语句表示以PTP移动倒是P50点位,并且Z轴抬升到0.00mm的位置,移动速度为25个脉冲单位。普通命令1. DIMDIM:声明数组变量。 注意:最多只能声明三维数组格式:DIM<数组名> <类型%、!、$> (角标)例:DIM A% (10)定义整型一维数组变量A%(0)A%(10)的11个元素。 DIM C% (2,2),D!(10).定义整型数组C%(0,0)C%(2,2)与实数型数组D!(0)D!(10)DIM B! (2,3,4).定义实数型三维数组变量B!(0,0,0)B!(2,3,4)的60个元素。2.

7、LET(1).LET:赋值语句。格式:LET <类型> =<表达式>LET 算术变量 = 表达式并行输出变量内部输出变量机械臂锁定输出变量定时输出变量串行输出变量例:A!=B!+1B% (1, 2, 3) =INT (10.88)DO2 ( ) =&B00101 101MO (21, 20) =2LO (00) =1TO (01) =0SO12 ( ) =255(2).LET:字符串赋值语句格式:LET <字符串变量> = <字符串表达式>例:A$=”YAMAHA”B$=”ROBOT”C$=A$+”- +“B$Resulrt: YAMAH

8、A-ROBOT(3).LET:坐标点赋值语句格式:LET<坐标点变量> = <坐标点表达式>例:P1 =P10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 将坐标点10 赋值给坐标点1P20=P20+P5 . . . . . . . . . . . . . . . . . . . . . . . . . 将坐标点20 与坐标点5 分别加上各个元素,并赋值给P20P30=P30P3 . . . . . . . . . . . . . . . . . . . . . . . . . . 将坐

9、标点30 至坐标点3 分别减去各个元素,并赋值给P30P80=P70*4 . . . . . . . . . . . . . . . . . . . . . . . . . . . 将坐标点70 的各元素乘以4,并赋值给P80P60=P5/3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 将坐标点5 的各元素乘以1/3,并赋值给P60(4).移位赋值语句格式:LET <移位变量> = <移位表达式>例:S1=S0 . . . . . . . . . . . . . . . . . . . . .

10、. . . . . . . . . . . 将位移0 赋值给位移1S2=S1+S0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 将位移1 与位移0 分别加上每个元素,并赋值给位移23.REMREM:插入标注。REM 或"" 以后的字符被视作注释。不执行注释语句。"" 也可写入行的中间。例:REM * MAIN PROGRAM *字符串操作1.CHR$CHR$:计算带有指定字符编码的字符。例:A$ = CHR$(65).将A赋值给A$ 即:65在ASCCII表中对应的是A,CHR$意为

11、将数值对应的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.LENLEN:获取字符串的长度。格式:LEN(<字符串表达式>)即:返回字符串表达式中表示的字符串长度(字节数)。例:B=LEN(A$)5.MID$(BB$,L_NO%,1)MID$:从指定位置获取字符串。本指令是将BB$的

12、第L_NO%字符开始的1个字符赋给MID$。6.VALVAL:将字符串转化为数值。I4%=VAL(B5$).将B5$里的值转化为实际的数值赋给I4%。7.STR$STR$:将数值转化为字符串。将表达式中指定的值转换为字符串。表达式中可指定整数型及实数型的数值。格式:B$=STR$ (10.01)将数值10.01转化为字符串赋給B$。8.ORDORD:获得指定字符串的起始字符的字符编码。即计算字符编码。计算字符串表达式起始字符的字符编码。例:A=ORD ("B") . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13、. . . 将 66 (=&H42 ) 赋值给A。 字符“B”在ASCCII表中对应的数值为66。坐标点、坐标、位移坐标1.CHANGECHANGE:对指定的机器人的机械手进行切换。通过CHANGE 进行机器人编号指定机器人的机械手的切换。指定为OFF 时,表示无机械手设定。机器人编号可以省略。当进行省略时,机器人1 被指定。在切换机械手之前,请利用HAND 语句对机械手进行定义。格式:CHANGE <机器人编号> Hn/OFF例:HAND H1= 0 150.0 0.0HAND H2= 5000 20.00 0.0P1=150.00 300.00 0.00 0.00 0.

14、00 0.00CHANGE H2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .更改为机械手2MOVE P, P1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 机械手2 的前端向P1 移动(1)CHANGE H1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 更改为机械手1MOVE P, P1 . . . . . . . . . . . . . .

15、 . . . . . . . . . . . . . . . . . . . 机械手1 的前端向P1 移动(2)HALT2.HANDHAND:对指定机器人的机械手进行定义。定义语句:HAND机器人编号Hn= 第1 参数 第2 参数 第3 参数 R选择语句:CHANGE机器人编号Hn前提水平多关节机器人时(1).未指定<第四参数>R时。机械手(工装治具)是固定在基准第二机械臂前端的。<第一参数>:机械手n基准点与基准第二机械臂基准点之间的脉冲偏移量。逆时针方向为+脉冲。<第二参数>:机械手n基准点与基准第二机械臂基准点之间的长度差(mm)。<第三参数&g

16、t;:机械手n的Z轴的偏移量(mm)。例:HAND H1= 0 150.0 0.0HAND H2= 5000 20.00 0.0P1=150.00 300.00 0.00 0.00 0.00 0.00CHANGE H2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .更改为机械手2MOVE P, P1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 机械手2 的前端向P1 移动(1)CHANGE H1 . . . . . . . .

17、. . . . . . . . . . . . . . . . . . . . . . . . 更改为机械手1MOVE P, P1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 机械手1 的前端向P1 移动(2)HALT(2).指定<第四参数>R时R 轴为伺服时,成为从R 轴旋转中心偏移的机械手。<第一参数>:设R轴的当前位置为0.00时,正交坐标+x与机械手n之间的角度,逆时针为正度数。<第二参数>:机械手n的长度(mm)>0。<第三参数>:机械手n的偏

18、移量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/XYJOTJTOXY:以轴单位制转换,将脉冲转换成毫米。将关节坐标数据转化为指定机器人的正交坐标数据。例:P10

19、=JTOXY(WHERE)将当前位置数据转化成正交坐标数据。XYJOT:将正交坐标数据(mm)转化为轴坐标数据(脉冲)。将坐标点变量的正交数据转化为指定机器人的关节坐标数据。例:P10=XYJOT(P10)5.LEFTY/RIGHTYLEFTY:将水平多关节机器人的手系系统设置为左手系。此命令对水平多关节机器人有效。RIGHTY:将水平多关节机器人的手系系统设置为手系。此命令对水平多关节机器人有效。格式:LEFTY(机器人编号) 注:机器人编号可以省略。例:RIGHTYMOVE P,P1LEFTYMOVE P,P1RIGHTYHALT5.Pn/SnPn:在程序中定义点位坐标。Sn:在程序中定义

20、位移坐标。6.SHIFTSHIFT:设置位移坐标。格式:<机器人编号> (位移变量)例:SHIFT S1MOVE P,P1SHIFT SAMOVE P,P2HALT分支命令1.FORNEXTFORNEXT:反复执行FOR的下一条语句至NEXT的上一条语句,直至变量超过指定值为止,将跳出循环,执行下一条语句。格式:FOR<控制变量> =<开始值>TO<结束值> STOP<步骤><命令区>NEXT<控制变量>例:FOR A=1 TO 10MOVE P,P1MOVE L,P2MOVE P,P3PRINT “YAMAH

21、A”;ANEXT AHALT2.GOSUBRETURNGOSUBRETURN:通过GOSUB跳转到标签子程序,并执行标签子程序,在通过RETURN返回到主程序继续执行。格式:MAIN . . . GOSUB <标签> . . HALT <标签> . . RETURN 例:*ST:MOVE P, P0GOSUB *CLOSEHANDMOVE P, P1GOSUB *OPENHANDGOTO *STHALTSUB ROUTINE*CLOSEHAND:DO (20) = 1RETURN*OPENHAND:DO (20) = 0RETURN3.GOTOGOTO:无条件跳转至标签

22、所指定的语句。格式:MAIN . . <标签> . . GOTO<标签>例:MAIN ROUTINE*ST :MOVE P , P0, P1IF DI (20) = 1 THENGOT O *FINENDIFGOT O *ST*FIN:HALT 4.IF(1).IF:更据条件分支控制流程。格式:MAIN . .IF<条件表达式>THEN<标签>/<命令语句>ELSE<标签>/<命令语句> . .HALT例:MAIN ROUTINE*ST:MOVE P, P0, P1IF DI (20) =1 THEN *L1

23、. . . . . . . . . . DI (20) 为1 时,则跳转至*L1DO (20) =1DELAY 100*L1:IF DI (21) =1 THEN *ST ELSE *FIN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DI (21) 为1 时, 则跳转至*ST。如果不是,则跳转至*FIN*FIN:HALT(2).区块IF语句IF<条件表达式1>THEN<命令区1>ELSEIF<条件表达式2>FHEN<命令区2>ELSE<命令区3>

24、;ENDIF例:MAIN ROUTINE*ST:MOVE P, P0, P1IF DI (21, 20) = 1 THENDO (20) = 1DELAY 100WAIT DI (20) =0ELSEIF DI (21, 20) =2 THENDELAY 100ELSEGOTO *FINENDIFGOTO *ST*FIN:HALT5.ONGOTOONGOTO:根据条件跳转至标签所指定的行。例:MAIN ROUTINE*ST:ON DI3 ( ) GOT O *L1,*L2,*L3 . . . . . . 根据DI3 ( ) 的值跳转至*L1 *L3GOTO *ST . . . . . . .

25、. . . . . . . . . . . . . . . . . . . . . . . . . . . 返回*STHALTSUB ROUTINE*L1:MOVE P, P10, Z=0GOTO *ST*L2:DO (30) = 1GOTO *ST*L3:DO (30) = 0GOTO *ST6.WHILEWENDWHILEWEND:在条件成立时,反复执行WHILE与WEND之间的语句;在条件不成立时,则跳出WHILEWEND的循环,执行WEND的下一跳语句;在条件一次都不成立的时候,则WHILEWEND语句则一次都不执行,直接执行WEND语句的下一条语句。格式:WHILE<条件表达式

26、> <命令区> WEND例:A=0WHILE DI3(0)=1A=A+1MOVE P,P1MOVE P,P2PRINT “COUNTER=”;AWENDNALT错误控制指令1.ON ERROR GOTOON ERROR GOTO:在发生错误时跳转到指定的标签。含义:在执行机器人语言程序时发生了错误,不停止程序,跳转至标签指定位置处理错误例程,然后将继续执行。格式:1:ON ERROR GOTO <标签>2:ON ERROR GOTO 0例:ON ERROR GOT O *ER1FOR A = 0 TO 9P A+10 = P ANEXT A*L99: HALTER

27、ROR ROUTINE*ER1:IF ERR = &H0604 THEN *NEXT1 . . . . . . . . . . . . . . . 确认是否发生了Point doesn'texist的错误IF ERR = &H0606 THEN *NEXT2 . . . . . . . . . . . . . . . 确认是否发生了Subscript out ofrange的错误ON ERROR GOT O 0 . . . . . . . . . . . . . . . . . . . . . . 显示错误并停止执行*NEXT1:RESUME NEXT . . . .

28、. . . . . . . . . . . . . . . . . . 跳转至错误发生行的下一行继续执行*NEXT2:RESUME *L99 . . . . . . . . . . . . . . . . . . . . . . . . 跳转至标签*L99 并继续执行2.RESUMERESUME:错误恢复处理后恢复执行程序从。含义:进行错误恢复处理后,恢复执行程序。按照程序恢复启动的位置有3种方法:(1):RESUME 从错误错误原因命令开始恢复启动程序。(2):RESUME 从错误原因的下一个命令开始恢复启动程序。(3) :RESUME 从显示有标签行的命令开始恢复启动程序。格式:1.RES

29、UME NEXT2.RESUME <标签>3.ERR/ERLERR:获取错误编码。ERL:获取错误发生行编码。格式:ERR <任务编码>ERL <任务编码>程序控制1.CALLCALL:调用子过程。含义:调用SUBEND SUB语句中定义的子过程。CALL标签中所指定的名称与SUB所定义的名称相同。(1).在实参中指定的常量和表达式为值传递; (2).在实参中指定的变量和数组元素时为传递,如果在实参前面加上ERF则变为引用传递。(3). 在实参中指定了所有数组(数组名后面带有 ( ) )时,将变为引用传递。格式:CALL <标签> ( <实

30、参>,<实参>)例1:X%=4Y%=5CALL *COMPARE ( REF X%,REF Y% )HALTSUB ROUTINE: COMP ARESUB *COMPARE ( A%, B% )IF A% B% THENTEMP%=A%A%=B%B%=TEMP%ENDIFEND SUB例2;I = 1CALL *TEST ( I )HALTSUB ROUTINE: TESTSUB *TESTX = X + 1IF X 15 THENCALL *TEST ( X )ENDIFEND SUB2.HALTHALT:停止程序并复位。含义:直接停止程序并进行复位。HALT执行后重新启

31、动程序时,程序将从一开始进行执行。格式:HALT <表达式>/<字符串>例:MAIN ROUTINE*ST :MOVE P , P0, P1IF DI (20) = 1 THENGOT O *FINENDIFGOT O *ST*FIN:HALT "PROGRAM FIN"3.HALTALLHALTALL:停止并复位所有程序。含义:直接停止并复位所有程序,当HALTALL停止复位后重新启动时,将从主程序或者任务一种最后执行的程序的最前端开始执行。格式:HALTALL<表达式>/<字符串> 例: MAIN ROUTINE*ST:M

32、OVE P ,P0,P1IF DI (20) = 1 THENGOT O *FINENDIFGOTO *ST*FIN:HAL TALL “PROGRAM FIN4.HOLDHOLD:暂停程序。含义:直接暂停程序。重新启动程序时,从HOLD语句的下一句开始执行。格式:HOLD <表达式>/<字符串>例:MAIN ROUTINE*ST:MOVE P, P0, P1IF DI (20) =1 THENHOLD "PROGRAM ST OP"ENDIFGOTO *STHALT5.HOLDALLHOLDALL:暂停所有的程序。含义:暂停所有的程序。当重新启动时

33、,执行了HOLDALL 的程序将从语句的下一行开始执行,其它程序则将从中断的执行行开始重新运行。例:SAMPLEMAIN ROUTINE*ST:MOVE P ,P0,P1IF DI (20)=1 THENHOLD “PROGRAM STOP”ENDIFGOTO *STHALT6.SWISWI:切换执行程序。含义:切换执行程序,并在执行编译后从第一行开始执行。虽然切换程序时,输出变量的状态不会变化,但动态变量及数组变量将被清除。格式:SWI <程序名>任务控制1.STARTSTART:启动新的任务。格式格式格式:START 程序名称,Tn , P P Gmm :程序编号 .0 99n

34、 :任务编号 .1 16p :任务优先级 .1 64含义:根据任务n、优先顺序p 启动指定程序。当省略任务编号n 时,未启动任务中编号最小的任务将会被自动指定。当省略任务优先顺序p 时,将默认为32。省略了任务优先级p 时,为32。数字越小,优先级越高;数字越大,优先级越低(高1 低:64)。当任务优先级较高的任务处于RUNNING 状态时,优先级较低的任务也将保持着READY状态。例:SAMPLESTART <SUB_PGM>,T2,33*ST:MOVE P, P0, P1GOTO *STHALT程序名称:SUB_PGM*SUBPGM:SUBTASK ROUTINE*SUBTAS

35、K:P100 = WHEREIF LOCZ (P100) 10000 THENDO (20) = 1ELSEDO (20) = 0ENDIFGOTO *SUBPGMEXIT TASK2.CUTCUT:强制结束正在运行的程序和暂停运行的程序。无法结束当前任务。格式:CUT <程序号(Tn)>关3.EXIT TASKEXIT TASK:结束当前正在执行的任务。4.RESTARTRESTART:从新启动暂停中的其他任务。格式:RESTART<程序名称(Tn/PGm)>例:START <SUB_PGM>,T2,33*ST:MOVE P, P0, P1GOTO *ST

36、HALT程序名称:SUB_PGM*SUBPGM:SUBTASK ROUTINE*SUBTASK:P100 = WHEREIF LOCZ (P100) 10000 THENDO (20) = 1ELSEDO (20) = 0ENDIFGOTO *SUBPGMEXIT TASK4.SUSPENDSUSPEND:暂停正在执行中的其它任务。时间指令1.DATE$DATE$:获取日期。含义:通过yyyy/mm/dd(年/月/日)等字符串来表式日期,通过悬挂盒来显示。例:A$=DATE$PRINT DATE$HALT2.TCOUNTERTCOUNTER:定时器,计数器。含义:从TCOUNTER复位开始计数

37、,每隔1ms输出计数值。值计数至65535时,还回0。例:MOVE P, P0WAIT ARMRESET TCOUNTERMOVE P, P1WAIT ARMA = TCOUNTERPRINT TCOUNTER . . . . . . . . . . . . . . . . . . . . . . . 在手持编程器上显示进入P0 至P1 公差为止的移动时间3.TIME$TIME:获取当前时间。含义:通过hh:mm:ss(时/分/秒)形式的字符串来表示当前时间。例:A$=TIME$PRINT TIME$4.TIMERTIMER:获取当前时间。含义:通过上午0 点开始的秒获取当前时间。可用于程序运

38、行时间的测量等用途。时间的设置在系统模式的初始处理中进行。例:A%=TIMERFOR B=1 TO 10MOVE P, P0MOVE P, P1NEXTA%=TIMER-A%PRINT A%/60; " :" ; A% MOD 60HALT机器人动作指令1.CHANGECHANGE:切换机械手。3.DRIVEDRIVE:以轴为单位进行绝对移动。4.DRIVEIDRIVEI:以轴为单位进行相对移动。5.HANDHAND:机械手定义。6.LEFTYLEFTY:将水平多关节机器人的手系设定为左手系。7.RIGHTYRIGHTY:将水平多关节机器人手系设定为右手系。8.MOTORM

39、OTOR:控制马达电源状态。含义:(1)ON .开启马达电源。也可同时开启所有机器人的伺服。(2) OFF . 关闭马达电源。同时关闭所有机器人的伺服,并且进行动态制动。带制动器的轴进行制动并且锁定。(3) PWR.仅开启马达电源。9.SERVOSERVO: 控制伺服状态对指定机器人中指定轴或所有轴的伺服ON OFF 状态进行控制。含义:控制指定编号的轴或所有轴的伺服ON / OFF。当指定了轴编号时,仅以指定轴作为对象;当未指定时,则以所有全轴作为对象。ON . 伺服使能。未指定轴时,马达电源也将开启。OFF . 伺服禁止并启用动力制动。带有制动器的轴将进行制动并锁定。未指定轴时,马达电源也

40、将关闭。FREE . 伺服禁止并解除动力制动。带有制动器的轴也将解除制动。未指定轴时,马达电源也将关闭。例:SERVO ON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 开启所有轴的伺服。SERVO OFF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 针对关闭所有轴伺服且附带制动器的轴,其制动器将被锁定。SERVO FREE (3) . . . . . . . . . . . . . . . . . . . . .

41、. . . . . 第3 轴(Z 轴)伺服禁止,并解除制动。10.MOVEMOVE:指定机器人的所有轴进行绝对移动。11.MOVEIMOVEI:指定机器人的所有轴进行相对移动。例:MOVEI P, P0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 主机器人轴向相对当前位置加上P0 中指定的移动量位置进行PTP 移动。12.ORIGINORIGIN:执行指定机器人中轴的原点复归动作。获取状态1.ABSRPOSABSRPOS:获取机器参照。含义:计算指定机器人的指定轴的机台参考值(返回原点的方式仅为标记方式时有效)。格式:ABSR

42、POS机器人编号(轴编号)例:A=ABSRPOS (4). 将机器人1 中第4 轴的机台参考值赋给变量A。2.ARMCNDARMCND:获取机械手的当前机械臂状态。含义:对水平多关节型机器人赋予当前机械臂的状态。当机械臂状态为右手系统时为1,左手系统时为2。此函数仅在使用水平多关节型机器人时有效。格式:ARMCND机器人编号例:A=ARMCND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 将机器人1 的当前机械臂状态赋值给变量AIF A=1 THEN . . . . . . . . . . . . . .

43、. . . . . . . . . . . . . . . . . 右手系统状态MOVE P, P100, Z=0ELSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 左手系统状态MOVE P, P200, Z=0ENDIF3.ARMSELARMSEL:设定/获取机械手的当前手系统选择。含义:设定水平多关节型机器人的当前手系统选择。 当所选手系统为右手系统时为1,左手系统时为2。此函数仅在使用水平多关节型机器人时有效。格式:ARMSEL机器人编号 表达式例:A=ARMSEL . . . . . . .

44、. . . . . . . . . . . . . . . . . . . . . . . . . . . 赋予机器人1 的机械臂类型值IF A=1 THEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 机械臂类型为右手系统MOVE P, P100, Z=0ELSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 机械臂类型为左手系统MOVE P, P200, Z=0ENDIF4.ARMTYPARMTYP:获取指定机器人的手系统

45、设定。含义:设定/ 获取程序复位时的手系统。当所选手系统为右手系统时为1,左手系统时为2。此函数仅在使用水平多关节型机器人时有效。格式:ARMTYP机器人编号 表达式例:A=ARMTYP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 赋予机器人1 的机械臂类型值IF A=1 THEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 机械臂类型为右手系统MOVE P, P100, Z=0ELSE . . . . . . . . . .

46、. . . . . . . . . . . . . . . . . . . . . . . . 机械臂类型为左手系统MOVE P, P200, Z=0ENDIFHALTALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 程序复位5.WAIT ARMWART ARM:等待指定机器人的轴动作结束。含义:等待机器人编号指定机器人的轴动作完成(定位于公差内)。当存在轴编号的指定时,指定机器人的指定轴成为对象;当无指定时,指定机器人的所有轴成为对象 机器人编号 . 1 4轴编号 . 1 6格式:WAIT ARM机

47、器人编号 (轴编号)例:WAIT ARM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 等待机器人1 的动作结束。WAIT ARM2(2) . . . . . . . . . . . . . . . . . . . . . . . . 等待机器人2 中第2 轴的动作结束。6WHEREWHERE: 通过关节坐标(脉冲)读出指定机器人机械臂的当前位置。含义:获取机械臂当前位置(脉冲坐标)。 根据关节坐标获取机器人编号指定机器人的机械臂的当前位置。机器人编号可以省略。当进行省略时,机器人1 被指定。例:P10=

48、WHERE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 将当前位置的脉冲坐标值赋值给P10。7.WHRXYWHRXY: 通过正交坐标获取机械臂当前位置。含义:根据正交坐标获取机器人编号指定机器人的机械臂的当前位置。机器人编号可以省略。当进行省略时,机器人1 被指定。当为YK500TW 机器人时,还要获取X 机械臂转数信息和Y 机械臂转数信息。例:P10=WHRXY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 将机器人1 的当前位

49、置直行坐标值赋给P10。输入输出控制1.DELAYDELAY:在指定时间等待程序执行。格式:DELAY 表达式例:DELAY 3500 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 等待3,500ms (3.5 秒)DELAY A*102.DO 将指定值输出至DO 端口3.LO 将被指定值输出至LO 端口,并进行轴移动的禁止或解除4.MO 将指定值输出至MO 端口5.OUT 开启指定输出端口的比特,并结束命令语句6.RESET 关闭指定输出端口的比特7SET 开启指定输出端口的比特8. SO 将指定值输出至SO

50、端口9. TO 将指定值输出至TO 端口10. WAIT 等待直至DI/DO 条件表达式成立为止(带超时)通信指令1.ONLINEONLINE:将通信端口设置为联机模式。含义:更改指定端口的通信模式参数,并使通信模式联机。(1)ETH . 将Ethernet 的通信模式参数更改为联机,并清除收发缓冲区。(2)CMU . 将RS-232C 的通信模式参数更改为联机,并清除通信错误的解除与接收缓冲区。(3)无指定 . 将Ethernet 以及RS-232C 的通信模式参数变更为联机,并且解除通信错误和清除接收缓存。格式:ONLINE ETH/CMU例:OFFLINESEND CMU TO A$SEND CMU TO P10ONLINEHALT2.OFFLINEOFFLINE: 将通信端口设置为脱机模式。含义:同ONLINE相同。格式:与ONLINE相同。2. SEND格式:SEND 读出文件 TO 写入文件例:SEND "ENTER ROBOT SPEED" TO ETHSEND:将读取的文件的数据转发到写入文件。本语句是将"ENTER ROBOT SPEED"(robot的初始速度)写入ETH中。WAITWART: 等待条件表达式成立。通过表达式设置超时时间(单位ms)。设置了超时时间时,即使超过了

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论