收藏 分销(赏)

YAMAHA机器人编程指令全集.doc

上传人:天**** 文档编号:4752275 上传时间:2024-10-11 格式:DOC 页数:34 大小:88.01KB 下载积分:12 金币
下载 相关 举报
YAMAHA机器人编程指令全集.doc_第1页
第1页 / 共34页
YAMAHA机器人编程指令全集.doc_第2页
第2页 / 共34页


点击查看更多>>
资源描述
YAMAHA机器人编程指令全集 1.SEND "ENTER ROBOT SPEED" TO ETH SEND:将读取的文件的数据转发到写入文件。本语句是将"ENTER ROBOT SPEED"(robot的初始速度)写入ETH中。 2.CALL: *Go_Home CALL:在同一个工程项目程序内跳出本程序去选择另一个程序运行。本语句是跳出正在运行的程序去选择*Go_Home程序运行。 3.GOSUB *COM_PC GOSUB:跳转选择子程序语句。本语句是在同一程序内跳转选择子程序*COM_PC运行。 4.*COM_PC、*Go_Home 程序标签。 5.*START_RUN: 标签 GOSUB *COM_PC 选择*COM_PC子程序 'ASPEED I20% 定义外部速度为整数(%)I20 SELECT 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" 条件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---------" PRINT输出语句,输出command is not found END SELECT 结束条件选择语句 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.MOVE P,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.MOVE P,P50,Z=0.00,S=25 本语句表示以PTP移动倒是P50点位,并且Z轴抬升到0.00mm的位置,移动速度为25个脉冲单位。 普通命令 1. DIM DIM:声明数组变量。 注意:最多只能声明三维数组 格式: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.LET (1).LET:赋值语句。 格式:[LET] <类型> =<表达式> [LET] <算术变量> = <表达式> <并行输出变量> <内部输出变量> <机械臂锁定输出变量> <定时输出变量> <串行输出变量> 例:A!=B!+1 B% (1, 2, 3) =INT (10.88) DO2 ( ) =&B00101 101 MO (21, 20) =2 LO (00) =1 TO (01) =0 SO12 ( ) =255 (2).LET:字符串赋值语句 格式:[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).移位赋值语句 格式:[LET] <移位变量> = <移位表达式> 例:S1=S0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 将位移0 赋值给位移1 S2=S1+S0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 将位移1 与位移0 分别加上每个元素,并赋值给位移2 3.REM REM:插入标注。 REM 或"’" 以后的字符被视作注释。不执行注释语句。"’" 也可写入行的中间。 例:REM *** MAIN PROGRAM *** 字符串操作 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:获取字符串的长度。 格式:LEN(<字符串表达式>) 即:返回<字符串表达式>中表示的字符串长度(字节数)。 例:B=LEN(A$) 5.MID$(BB$,L_NO%,1) MID$:从指定位置获取字符串。本指令是将BB$的第L_NO%字符开始的1个字符赋给MID$。 6.VAL 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 例:HAND H1= 0 150.0 0.0 HAND H2= –5000 20.00 0.0 P1=150.00 300.00 0.00 0.00 0.00 0.00 CHANGE H2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .更改为机械手2 MOVE P, P1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 机械手2 的前端向P1 移动(1) CHANGE H1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 更改为机械手1 MOVE P, P1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 机械手1 的前端向P1 移动(2) HALT 2.HAND HAND:对指定机器人的机械手进行定义。 定义语句:  HAND[<机器人编号>]Hn= <第1 参数> <第2 参数> <第3 参数> [R] 选择语句:  CHANGE[<机器人编号>]Hn 前提水平多关节机器人时 (1).未指定<第四参数>R时。 机械手(工装治具)是固定在基准第二机械臂前端的。 <第一参数>:机械手n基准点与基准第二机械臂基准点之间的脉冲偏移量。逆时针方向为+脉冲。 <第二参数>:机械手n基准点与基准第二机械臂基准点之间的长度差(mm)。 <第三参数>:机械手n的Z轴的偏移量(mm)。 例:HAND H1= 0 150.0 0.0 HAND H2= –5000 20.00 0.0 P1=150.00 300.00 0.00 0.00 0.00 0.00 CHANGE H2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .更改为机械手2 MOVE P, P1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 机械手2 的前端向P1 移动(1) CHANGE H1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 更改为机械手1 MOVE P, P1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 机械手1 的前端向P1 移动(2) HALT (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 MOVE P,P1 LEFTY MOVE P,P1 RIGHTY HALT 5.Pn/Sn Pn:在程序中定义点位坐标。 Sn:在程序中定义位移坐标。 6.SHIFT SHIFT:设置位移坐标。 格式:<机器人编号> (位移变量) 例:SHIFT S1 MOVE P,P1 SHIFT S[A] MOVE P,P2 HALT 分支命令 1.FOR~NEXT FOR~NEXT:反复执行FOR的下一条语句至NEXT的上一条语句,直至变量超过指定值为止,将跳出循环,执行下一条语句。 格式:FOR<控制变量> =<开始值>TO<结束值> [STOP<步骤>] <命令区> NEXT[<控制变量>] 例:FOR A=1 TO 10 MOVE P,P1 MOVE L,P2 MOVE P,P3 PRINT “YAMAHA”;A NEXT A HALT 2.GOSUB~RETURN GOSUB~RETURN:通过GOSUB跳转到标签子程序,并执行标签子程序,在通过RETURN返回到主程序继续执行。 格式:MAIN . . . GOSUB <标签> . . HALT <标签> . . RETURN 例: *ST: MOVE P, P0 GOSUB *CLOSEHAND MOVE P, P1 GOSUB *OPENHAND GOTO *ST HALT ’SUB ROUTINE *CLOSEHAND: DO (20) = 1 RETURN *OPENHAND: DO (20) = 0 RETURN 3.GOTO GOTO:无条件跳转至标签所指定的语句。 格式:MAIN . . <标签> . . GOTO<标签> 例:’MAIN ROUTINE *ST : MOVE P , P0, P1 IF DI (20) = 1 THEN GOT O *FIN ENDIF GOT O *ST *FIN: HALT 4.IF (1).IF:更据条件分支控制流程。 格式: MAIN . . IF<条件表达式>THEN<标签>/<命令语句>ELSE<标签>/<命令语句> . . HALT 例:’MAIN ROUTINE *ST: MOVE P, P0, P1 IF DI (20) =1 THEN *L1 . . . . . . . . . . DI (20) 为1 时,则跳转至*L1 DO (20) =1 DELAY 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> ENDIF 例:’MAIN ROUTINE *ST: MOVE P, P0, P1 IF DI (21, 20) = 1 THEN DO (20) = 1 DELAY 100 WAIT DI (20) =0 ELSEIF DI (21, 20) =2 THEN DELAY 100 ELSE GOTO *FIN ENDIF GOTO *ST *FIN: HALT 5.ON~GOTO ON~GOTO:根据条件跳转至标签所指定的行。 例: ’MAIN ROUTINE *ST: ON DI3 ( ) GOT O *L1,*L2,*L3 . . . . . . 根据DI3 ( ) 的值跳转至*L1 ?*L3 GOTO *ST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 返回*ST HALT ’SUB ROUTINE *L1: MOVE P, P10, Z=0 GOTO *ST *L2: DO (30) = 1 GOTO *ST *L3: DO (30) = 0 GOTO *ST 6.WHILE~WEND WHILE~WEND:在条件成立时,反复执行WHILE与WEND之间的语句;在条件不成立时,则跳出WHILE~WEND的循环,执行WEND的下一跳语句;在条件一次都不成立的时候,则WHILE~WEND语句则一次都不执行,直接执行WEND语句的下一条语句。 格式:WHILE<条件表达式> <命令区> WEND 例:A=0 WHILE DI3(0)=1 A=A+1 MOVE P,P1 MOVE P,P2 PRINT “COUNTER=”;A WEND NALT 错误控制指令 1.ON ERROR GOTO ON ERROR GOTO:在发生错误时跳转到指定的标签。 含义:在执行机器人语言程序时发生了错误,不停止程序,跳转至标签指定位置处理错误例程,然后将继续执行。 格式: 1:ON ERROR GOTO <标签> 2:ON ERROR GOTO 0 例: ON ERROR GOT O *ER1 FOR A = 0 TO 9 P [A+10] = P [A] NEXT A *L99: HALT ’ERROR ROUTINE *ER1: IF ERR = &H0604 THEN *NEXT1 . . . . . . . . . . . . . . . 确认是否发生了[Point doesn't exist]的错误 IF ERR = &H0606 THEN *NEXT2 . . . . . . . . . . . . . . . 确认是否发生了[Subscript out of range]的错误 ON ERROR GOT O 0 . . . . . . . . . . . . . . . . . . . . . . 显示错误并停止执行 *NEXT1: RESUME NEXT . . . . . . . . . . . . . . . . . . . . . . 跳转至错误发生行的下一行继续执行 *NEXT2: RESUME *L99 . . . . . . . . . . . . . . . . . . . . . . . . 跳转至标签*L99 并继续执行 2.RESUME RESUME:错误恢复处理后恢复执行程序从。 含义:进行错误恢复处理后,恢复执行程序。 按照程序恢复启动的位置有3种方法: (1):RESUME 从错误错误原因命令开始恢复启动程序。 (2):RESUME 从错误原因的下一个命令开始恢复启动程序。 (3) :RESUME 从显示有标签行的命令开始恢复启动程序。 格式: 1.RESUME NEXT 2.RESUME <标签> 3.ERR/ERL ERR:获取错误编码。 ERL:获取错误发生行编码。 格式: ERR <任务编码> ERL <任务编码> 程序控制 1.CALL CALL:调用子过程。 含义:调用SUB~END SUB语句中定义的子过程。CALL标签中所指定的名称与SUB所定义的名称相同。 (1).在实参中指定的常量和表达式为值传递; (2).在实参中指定的变量和数组元素时为传递,如果在实参前面加上ERF则变为引用传递。 (3). 在实参中指定了所有数组(数组名后面带有 ( ) )时,将变为引用传递。 格式:CALL <标签> ( <实参>,<实参>) 例1: X%=4 Y%=5 CALL *COMPARE ( REF X%,REF Y% ) HALT ’SUB ROUTINE: COMP ARE SUB *COMPARE ( A%, B% ) IF A% < B% THEN TEMP%=A% A%=B% B%=TEMP% ENDIF END SUB 例2; I = 1 CALL *TEST ( I ) HALT ’SUB ROUTINE: TEST SUB *TEST X = X + 1 IF X < 15 THEN CALL *TEST ( X ) ENDIF END SUB 2.HALT HALT:停止程序并复位。 含义:直接停止程序并进行复位。HALT执行后重新启动程序时,程序将从一开始进行执行。 格式:HALT <表达式>/<字符串> 例: ’MAIN ROUTINE *ST : MOVE P , P0, P1 IF DI (20) = 1 THEN GOT O *FIN ENDIF GOT O *ST *FIN: HALT "PROGRAM FIN" 3.HALTALL HALTALL:停止并复位所有程序。 含义:直接停止并复位所有程序,当HALTALL停止复位后重新启动时,将从主程序或者任务一种最后执行的程序的最前端开始执行。 格式:HALTALL<表达式>/<字符串> 例: ’MAIN ROUTINE *ST: MOVE P ,P0,P1 IF DI (20) = 1 THEN GOT O *FIN ENDIF GOTO *ST *FIN: HAL TALL “PROGRAM FIN 4.HOLD HOLD:暂停程序。 含义:直接暂停程序。重新启动程序时,从HOLD语句的下一句开始执行。 格式:HOLD <表达式>/<字符串> 例: ’MAIN ROUTINE *ST: MOVE P, P0, P1 IF DI (20) =1 THEN HOLD "PROGRAM ST OP" ENDIF GOTO *ST HALT 5.HOLDALL HOLDALL:暂停所有的程序。 含义:暂停所有的程序。当重新启动时,执行了HOLDALL 的程序将从语句的下一行开始执行,其它程序则将从中断的执行行开始重新运行。 例: SAMPLE ’MAIN ROUTINE *ST: MOVE P ,P0,P1 IF DI (20)=1 THEN HOLD “PROGRAM STOP” ENDIF GOTO *ST HALT 6.SWI SWI:切换执行程序。 含义:切换执行程序,并在执行编译后从第一行开始执行。虽然切换程序时,输出变量的状态不会变化,但动态变量及数组变量将被清除。 格式:SWI <程序名> 任务控制 1.START START:启动新的任务。 格式: START <程序名称>, Tn , P P Gm m :程序编号 ...........................0 ?99 n :任务编号 ............................1 ?16 p :任务优先级 ........................1 ?64 含义:根据任务n、优先顺序p 启动指定程序。 当省略任务编号n 时,未启动任务中编号最小的任务将会被自动指定。当省略任务优先顺序p 时,将默认为32。省略了任务优先级p 时,为32。 数字越小,优先级越高;数字越大,优先级越低(高1 ~低:64)。 当任务优先级较高的任务处于RUNNING 状态时,优先级较低的任务也将保持着READY状态。 例: START <SUB_PGM>,T2,33 *ST: MOVE P, P0, P1 GOTO *ST HALT 程序名称:SUB_PGM *SUBPGM: ‘SUBTASK ROUTINE *SUBTASK: P100 = WHERE IF LOCZ (P100) > 10000 THEN DO (20) = 1 ELSE DO (20) = 0 ENDIF GOTO *SUBPGM EXIT TASK 2.CUT CUT:强制结束正在运行的程序和暂停运行的程序。无法结束当前任务。 格式:CUT <程序号(Tn)> 3.EXIT TASK EXIT TASK:结束当前正在执行的任务。 4.RESTART RESTART:从新启动暂停中的其他任务。 格式:RESTART<程序名称(Tn/PGm)> 例: START <SUB_PGM>,T2,33 *ST: MOVE P, P0, P1 GOTO *ST HALT 程序名称:SUB_PGM *SUBPGM: ‘SUBTASK ROUTINE *SUBTASK: P100 = WHERE IF LOCZ (P100) > 10000 THEN DO (20) = 1 ELSE DO (20) = 0 ENDIF GOTO *SUBPGM EXIT TASK 4.SUSPEND SUSPEND:暂停正在执行中的其它任务。 时间指令 1.DATE$ DATE$:获取日期。 含义:通过yyyy/mm/dd(年/月/日)等字符串来表式日期,通过悬挂盒来显示。 例: A$=DATE$ PRINT DATE$ HALT 2.TCOUNTER TCOUNTER:定时器,计数器。 含义:从TCOUNTER复位开始计数,每隔1ms输出计数值。值计数至65535时,还回0。 例: MOVE P, P0 WAIT ARM RESET TCOUNTER MOVE P, P1 WAIT ARM A = TCOUNTER PRINT TCOUNTER . . . . . . . . . . . . . . . . . . . . . . . 在手持编程器上显示进入P0 至P1 公差为止的移动时间 3.TIME$ TIME:获取当前时间。 含义:通过hh:mm:ss(时/分/秒)形式的字符串来表示当前时间。 例: A$=TIME$ PRINT TIME$ 4.TIMER TIMER:获取当前时间。 含义:通过上午0 点开始的秒获取当前时间。 可用于程序运行时间的测量等用途。 时间的设置在系统模式的初始处理中进行。 例: A%=TIMER FOR B=1 TO 10 MOVE P, P0 MOVE P, P1 NEXT A%=TIMER-A% PRINT A%/60; " :" ; A% MOD 60 HALT 机器人动作指令 1.CHANGE CHANGE:切换机械手。 3.DRIVE DRIVE:以轴为单位进行绝对移动。 4.DRIVEI DRIVEI:以轴为单位进行相对移动。 5.HAND HAND:机械手定义。 6.LEFTY LEFTY:将水平多关节机器人的手系设定为左手系。 7.RIGHTY RIGHTY:将水平多关节机器人手系设定为右手系。 8.MOTOR MOTOR:控制马达电源状态。 含义:(1)ON ............开启马达电源。也可同时开启所有机器人的伺服。 (2) OFF ........... 关闭马达电源。同时关闭所有机器人的伺服,并且进行动态制动。带制动器的轴进行制动并且锁定。 (3) PWR..........仅开启马达电源。 9.SERVO SERVO: 控制伺服状态对指定机器人中指定轴或所有轴的伺服ON / OFF 状态进行 控制。 含义:控制指定编号的轴或所有轴的伺服ON / OFF。 当指定了<轴编号>时,仅以指定轴作为对象;当未指定时,则以所有全轴作为对象。 ?ON ................. 伺服使能。未指定轴时,马达电源也将开启。 ?OFF ................ 伺服禁止并启用动力制动。带有制动器的轴将进行制动并锁定。未指定轴时,马达电源也将关闭。 ?FREE .............. 伺服禁止并解除动力制动。带有制动器的轴也将解除制动。未指定轴时, 马达电源也将关闭。 例: SERVO ON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 开启所有轴的伺服。 SERVO OFF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 针对关闭所有轴伺服且附带制动器的轴,其制动器将被锁定。 SERVO FREE (3) . . . . . . . . . . . . . . . . . . . . . . . . . . 第3 轴(Z 轴)伺服禁止,并解除制动。 10.MOVE MOVE:指定机器人的所有轴进行绝对移动。 11.MOVEI MOVEI:指定机器人的所有轴进行相对移动。 例: MOVEI P, P0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 主机器人轴向相对当前位置加上P0 中指定的移动量位置进行PTP 移动。 12.ORIGIN ORIGIN:执行指定机器人中轴的原点复归动作。 获取状态 1.ABSRPOS ABSRPOS:获取机器参照。 含义:计算指定机器人的指定轴的机台参考值(返回原点的方式仅 为标记方式时有效)。 格式:ABSRPOS[<机器人编号>](<轴编号>) 例: A=ABSRPOS (4)......... 将机器人1 中第4 轴的机台参考值赋给变量A。 2.ARMCND ARMCND:获取机械手的当前机械臂状态。 含义:对水平多关节型机器人赋予当前机械臂的状态。 当机械臂状态为右手系统时为1,左手系统时为2。 此函数仅在使用水平多关节型机器人时有效。 格式:ARMCND[<机器人编号>] 例: A=ARMCND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 将机器人1 的当前机械臂状态赋值给变量A IF A=1 THEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 右手系统状态  MOVE P, P100, Z=0 ELSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 左手系统状态  MOVE P, P200, Z=0 ENDIF 3.ARMSEL ARMSEL:设定/获取机械手的当前手系统选择。 含义:设定水平多关节型机器人的当前手系统选择。 当所选手系统为右手系统时为1,左手系统时为2。 此函数仅在使用水平多关节型机器人时有效。 格式:ARMSEL[<机器人编号>] <表达式> 例: A=ARMSEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 赋予机器人1 的机械臂类型值 IF A=1 THEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 机械臂类型为右手系统  MOVE P, P100, Z=0 ELSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 机械臂类型为左手系统  MOVE P, P200, Z=0 ENDIF 4.ARMTYP ARMTYP:获取指定机器人的手系统设定。 含义:设定/ 获取程序复位时的手系统。 当所选手系统为右手系统时为1,左手系统时为2。 此函数仅在使用水平多关节型机器人时有效。 格式:ARMTYP[<机器人编号>] <表达式> 例:A=ARMTYP . . . . . . . . . . .
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服