1、基本运动指令:
MoveL:线性运动 (Linear)
MoveJ:关节轴运动 (Joint)
MoveC :圆周运动 (Circular)
p1:目标位置。(robtarget)
v100:运行速度mm/s。(speeddata)
z10:转弯区尺寸mm。(zonedata)
tool1:工具中心点TCP。(tooldata)
(1)速度选择:mm/s
·将光标移至速度数据处,按回车键,进入选择窗口,选择所需速度。
·机器人运行速度属于数据类型speeddata。
·常用运行速度在base模块中已经定义。
·特殊速度可自行定义。
·max速度为v5000,base模块中定义*大速度为v7000,*大速度机器人未必能达到。
(2)转弯区尺寸选择:mm
·将光标移至转弯区尺寸数据处,按回车键,进入选择窗口,选择所需转弯区尺寸。
·机器人转弯区尺寸属于数据类型zonedata。
·常用转弯区尺寸在base模块中已经定义。
·特殊转弯区尺寸可自行定义。
·fine指机器人TCP达到目标点,并在目标点速度降为零,连续运行时,机器人动作有停顿。
·zone指机器人TCP不达到目标点,连续运行时,机器人动作圆滑、流畅。
·base模块中已经定义的转弯区尺寸*小为z1,*大为z200。
·尽量使用较大的转弯区尺寸。
(3)参变量:
光标指在当前指令时,按功能键OptArg,可选择参变量。
·[Conc](switch)
协作运动。机器人未移动至目标点,已经开始执行下一个指令。
·[ToPoint](robtarget)
在采用新指令时,目标点自动生成*。
·[V](num)
定义速度mm/s。
·[T](num)
定义时间s。通过时间决定速度。
·[Z](num)
定义转弯区尺寸mm。
·[Wobj](wobjdata)
采用工件系座标系统。
·为了**确定p1、p2、p3、p4点,可以使用函数Offs()。
·Offs(p1,x,y,z)代表一个离p1点X轴偏差量为x,Y轴偏差量为y,Z轴量为z的点。
·将光标移至目标点,按回车键,进入目标点选择窗口,在功能键上选择Func,采用切换选择所用函数Offs()。
2、转轴运动指令:
MoveAbsJ, jpos1, v100, z10, tool1
jpos1:目标位置。(jointtarget)
v100:运行速度mm/s。(speeddata)
z10:转弯区尺寸mm。(zonedata)
tool1:工具中心点TCP。(tooldata)
3、输入输出类型指令:
·do指机器人输出信号。
·di指输入机器人信号。
·输入输出信号必须在系统参数中定义。
·输入输出信号有两种状态,1(High)为接通,0(Low)为断开。
(1)输出信号指令:
A、输出输出信号指令:set dol
do1:输出信号名。(signaldo)将一个输出信号赋值为1。
B、复位输出信号指令:Reset do1
do1:输出信号名。(signaldo)将一个输出信号赋值为0。
C、输出脉冲信号指令:ulseDO do1
do1:输出信号名。(signaldo)输出一个脉冲信号,脉冲长度为0.2s。
参变量:
·[PLength](num) 脉冲长度,0.1s-32s。
(2)输入信号指令:
WaitDI di1, 1
di1:输入信号名。(signaldi)
1:状态。(dionum)
参变量:
·[MaxTime](num)等待输入信号*长时间s。
·[TimeFlag](bool)逻辑量,TRUE或FALSE。
如果只选用参变量[MaxTime],等待超过*长时间后,机器人停止运行,并显示相应出错信息。如果同时选用参变量[MaxTime]与参变量[TimeFlag],等待超过*长时间后,无论是满足等待的状态,机器人将自动执行下一句指令。如果在*长等待时间内得到相应信号,将逻辑量置为FALSE,如果超过*长等待时间,逻辑量置为TRUE。
4、通信指令(人机对话):
(1)清屏指令:TPErase
(2)写屏指令:PWrite String
tring:显示的字符串。(string)在示教器显示屏上显示字符串数据,也可以用“……”形式直接定义字符串,每一个写屏指令*多显示80个字符。
5、程序逻辑控制类指令:
(1)判断执行指令IF:
**种结构:Compact IF 紧凑型
Compact IF紧凑型条件判断指令用于当一个条件满足后,就执行一句指令(特点:单组条件,单句指令)。
例:IF di08 = 1 Set do02_ClampA;说明:当程序执行到此指令时,即判断 di08 = 1是否为 1,如果条件成立,则执行Set do02_ClampA指令,否则跳过指令继续执行下一行。
第二种结构:简单型IF...ENDIF
如果IF后面条件成立则执行IF和DNDIF之间语句,如果条件不成立则程序指针不执行IF和ENDIF之间语句,而直接跳转指ENDIF后面继续往下执行。
第三种结构:二选一型结构 IF ...ESLE...ENDIF
如果IF后面条件成立则执行IF和ELSE之间语句,如果IF后面语句不成立则执行ELSE和ENDIF之间语句,ELSE只能在*靠近ENDIF添加且只能添加一个ELSE。
说明:如果di03为1,则置位do01和do02,等待2s以后在复位do01和do02,如果di03为0,则执行 reg1 := reg1 + 1和reg2 := reg1 + 10;即根据di03输入信号,判断和选择执行IF、ELSE之间语句或者执行ELSE、ENDIF之间语句。
第四种结构:选择型结构IF...ELSEIF...ELSEIF...ENDIF
结构上,在IF和ENDIF之间增加一条或多条ESLEIF;执行时候,如果没有一个条件成立,则不选择任何一个IF和ELSEIF后面语句执行;如果有一个条件程序,则选择对应的IF和ELSEIF后面语句执行;如果有两个或者两个以上条件成立,则按照顺序从上往下,IF、**个ELSEIF、第二个ELSEIF等等往下,先遇到哪个条件成立就选择对应的IF或者ELSEIF后面语句执行;执行完以后直接跳到ENDIF后面继续执行。
说明:根据reg3的值不同而选择不同的IF或者ELSEIF下面语句执行;当reg3的值使得所有IF和ELSEIF的条件全部不成立,那么程序不执行任何一个IF或者ELSEIF下面语句;当reg3的值使得与IF或者ELSEIF的条件有且仅有一个成立,那么久选择对应的IF或者ELSEIF下面语句执行;当reg3的值使得IF或者ELSEIF的条件有两个或者两个以上条件成立,那么程序指针按照顺序从上往下判断,先遇到哪个IF或者ELSEIF的条件成立就选择对应的IF或者ELSEIF下面语句执行,执行之后直接跳转到ENDIF而不再判断后面的条件和语句;
第五种结构:综合型结构,即把二选一型和选择型综合到一起的结构
结构上面在IF和ENDIF之间既有一个或者多个ELSEIF,也有ELSE;执行时候,一般先看二选一型执行,在分析IF和ELSE之间的选择型ELSEIF来执行。如果没有一个条件成立则选择ELSE和ENDIF之间语句执行;如果有一个条件程序,则选择对应的IF和ELSEIF后面的语句执行;如果有两个或者两个以上条件成立,则按照顺序从上往下,IF、**个ELSEIF、第二个ELSEIF等等往下,先遇到哪个条件成立就选择对应的IF或者ELSEIF后面语句执行;执行完以后直接跳到ENDIF后面继续执行。
说明:如果所有IF和ELSEIF后面的条件全部都不成立,则不执行任何一个IF和ELSEIF后面语句;如果IF和ELSEIF后面条件只有一个成立,则选择对应的IF或者ELSEIF来执行;如果IF和ELSEIF后面条件有两个或者两个以上成立,则按照顺序从上往下,先遇到哪个条件成立就执行对应后面的语句来执行,执行完语句以后直接跳转至ENDIF执行,不在判断和执行其他ELSEIF来执行。
(2)循环执行指令WHILE:
·reg1:=1;
WHILE reg1<5 DO 循环至不符合条件reg1<5,
reg1:=reg1+1;
ENDWHILE 才执行ENDWHILE后指令。
循环指令WHILE运行时,机器人循环至不满足判断条件后,才跳出循环指令,执行ENDWHILE后运行指令。循环指令WHILE运行时,存在死循环,在编写相应机器人程序时必须注意。
6、程序运行停止指令:
(1)停止指令Stop:
移动执行完成以后,机器人才停止运行,软停止指令(Soft Stop),直接在下一句指令启动机器人。
(2)停止指令Exit:
移动指令执行未完成,PP指针预读到Exit,则机器人立即停止运行,并且程序PP指针丢失,重新运行时候必须人为点击PP移至mian,机器人程序从新开始运行,一般使用于紧急情况。
(3)停止指令Break:
机器人立刻停止运行,有冲击,直接在下一句指令启动机器人。
(2)停止指令Exitcycle:
机器人停止执行同Exit指令,但是PP指针自动移至mian程序**行,重启动即可下一轮开始运行;
7、计时指令:
(1)时钟复位指令:ClKReset Clock
Clock:机器人时钟名称。(clock)
(2)时钟启动指令:ClKStart Clock
Clock:机器人时钟名称。(clock)
(3)时钟停止指令:ClKStop Clock
Clock:机器人时钟名称。(clock)
8、速度控制指令:
(1)速度控制、限速指令,对所有后面移动指令生效
VelSet , Override, Max Override:机器人运行速率%。(num)
Max:机器人*大速度mm/s。(num)
每个机器人运动指令均有一个运行速度,在执行速度控制指令后,机器人实际运行速度为运动指令规定运行速度乘以机器人运行速率(Override),并且不超过机器人*大运行速度(Max)。
(2)移动指令加减速速度控制指令
AccSet,Acc Ramp [\FinePointRamp]
Acc
数据类型:num
加速度和减速度占正常值的百分比。100%相当于*大加速度。*大值:100%。输入
值<20%,得出*大加速度的20%。
Ramp
数据类型:num
加速度和减速度增加的速率占正常值的百分比。通过降低该值,可限制顿挫。100%相
当于*大速率。*大值:100%。输入值<10%,得出*大速率的10%。
9、等待指令:
WaitTime , Time
Time:机器人等待时间s。(num)
等待指令只是让机器人程序运行停顿片刻。
10、赋值指令:
要点:
(1)赋值指令功能就是与数据等号一致,就是赋值功能,是等号后面的结果值赋给等号前面;
(2)赋值指令等号前后的程序数据类型要一致,而且很多不同种程序数据类型都可以使用赋值指令;
(3)赋值指令等号前面的标识符在ABB机器人里面的存储类型必须为变量(VAR)或者可变量(PERS),不可以为常量(const)。
data:= , Value
Data:被赋值的数据。(All)
Value:数据被赋予的值。(SameasData)