IRB360机器人搬运编程相关指令_工业机器人培训学校_工业机器人培训机构
时间:2021-07-26 15:55
来源:
一、工作站介绍
1.1 工作站介绍
本次任务主要是使用IRB360并联机器人在输送链上进行搬运。使用仿真软件创建工作站,创建smart组件,实现动画效果。通过对IRB360机器人编程、定点位和仿真设定,仿真运行录像等,本此节课一次操作演示完成。
2.1 WaitDI - 等待直至已设置数字信号输入信号
WaitDI(Wait Digital Input)用于等待,直至已设置数字信号输入。当执行本指令时,如果信号值正确,则本程序仅仅继续以下指令。
指令参数:WaitDI Signal Value [MaxTime] [TimeFlag] [Visualize] [Header][Message] | [MsgArray] [Wrap] [Icon] [Image][VisualizeTime] [UIActiveSignal]
Signal:数据类型signaldi,信号的名称。
Value:数据类型dionum,信号的期望值。
[MaxTime]:数据类型num,允许的最长等待时间,以秒计。如果在满足条件之前耗尽该时间,则将调用错误处理器,如果存在这样的情况,则采用错误代码ERR_WAIT_MAXTIME。如果不存在错误处理器,则将停止执行。
[TimeFlag]:数据类型bool,如果在满足条件之前耗尽最长允许时间,则包含该值的输出参数为TRUE。
其余参数略
2.2 IF - 如果满足条件,那么...;否则...
例1 WaitDI di4, 1;
仅在已设置di4输入后,继续程序执行。
例 2 WaitDI grip_status, 0;
仅在已重置grip_status输入后,继续程序执行。
例3
WaitDI di1, 1, Visualize Header:="Waiting for signal"
MsgArray:=["Movement will not start until", "the condition
below is TRUE"] Icon:=iconError;
MoveL p40, v500, z20, L10tip;
..
如果条件不符,则在可选参数Header和MsgArray 将被写入FlexPendant示教器
屏幕上,为满足条件的家族要随行。保持状态
2.2 IF - 如果满足条件,那么...;否则...
根据是否满足条件,执行不同的指令时,使用IF。工业机器人培训机构依次测试条件,直至满足其中一个条件。通过与该条件相关的指令,继续程序执行。如果未满足任何条件,则通过符合ELSE的指令,继续程序执行。如果满足多个条件,则仅执行与第一个此类条件相关的指令。
1、第一种结构:Compact IF 紧凑型
(1)结构和程序执行说明
结构:IF <EXP> <SMT>
执行:Compact IF紧凑型条件判断指令用于当一个条件满足后,就执行一句指令(特点:单组条件,单句指令),如果条件不满足就不执行后面单句语句。
(2)举例说明
例:IF di08 = 1 Set do02_ClampA;
说明:当程序执行到此指令时,即判断 di08 = 1是否为 1,如果条件成立,则执行Set do02_ClampA指令,否则跳过IF...ENDIF指令继续执行下一行。
工业机器人培训学校。2、第二种结构:简单型IF...ENDIF
(1)结构和程序执行说明
结构:
IF <EXP> THEN
<SMT>
ENDIF
(2)执行说明:如果IF后面条件成立则执行IF和DNDIF之间语句,如果条件不成立则程序指针不执行IF和ENDIF之间语句,而直接跳转至ENDIF后面语句继续往下执行。
(3)举例说明
PROC rIF01()
IF flag1 = TRUE THEN
reg1 := reg1 + 1;
WaitTime 1;
ENDIF
WaitTime 1;
ENDPROC
说明:如果布尔量flag1=true,则程序执行IF和ENDIF之间语句;如果flag1=false则程序不执行IF和ENDIF之间语句而跳到ENDIF后面语句执行。
3、第三种结构:二选一型结构 IF ...ESLE...ENDIF
(1)结构程序执行说明
结构:
IF <EXP> THEN
<SMT>
ELSE
<SMT>
ENDIF
(2)程序执行说明:如果IF后面条件成立则执行IF和ELSE之间语句,如果IF后面语句不成立则执行ELSE和ENDIF之间语句,ELSE只能在最靠近ENDIF添加且只能添加一个ELSE。
(3)举例说明
IF di03 = 1 THEN
Set do01;
Set do02;
WaitTime 2;
Reset do01;
Reset do02;
ELSE
reg1 := reg1 + 1;
reg2 := reg1 + 10;
ENDIF 说明:如果di03为1,则置位do01和do02,等待2s以后在复位do01和do02,如果di03为0,则执行 reg1 := reg1 + 1和reg2 := reg1 + 10;即根据di03输入信号,判断和选择执行IF、ELSE之间语句或者执行ELSE、ENDIF之间语句。
4、第四种结构:选择型结构IF...ELSEIF...ELSEIF...ENDIF
(1)选择型结构:ELSEIF可以有多个
IF <EXP> THEN
<SMT>
ELSEIF <EXP> THEN
<SMT>
ELSEIF <EXP> THEN
<SMT>
ENDIF
(2)执行说明:结构上,在IF和ENDIF之间增加一条或多条ESLEIF;执行时候,如果没有一个条件成立,则不选择任何一个IF或ELSEIF后面对应的语句执行;如果有一个条件程序,则选择对应的IF或ELSEIF后面对应的语句执行;如果有两个或者两个以上条件成立,则按照顺序从上往下,IF、第一个ELSEIF、第二个ELSEIF等等往下,先遇到哪个条件判断成立就选择对应的IF或者ELSEIF后面对应语句执行;执行完以后直接跳到ENDIF后面继续往下执行。
5、第五种结构:综合型结构,即把二选一型和选择型综合到一起的结构
(1)结构
IF <EXP> THEN
<SMT>
ELSEIF <EXP> THEN
<SMT>
ELSEIF <EXP> THEN
<SMT>
ELSE
<SMT>
ENDIF
(2)执行说明
结构上面在IF和ENDIF之间既有一个或者多个ELSEIF,也有ELSE;执行时候,一般先看二选一型执行,在分析IF和ELSE之间的选择型ELSEIF来执行。第一种情况,如果没有一个条件成立则选择ELSE和ENDIF之间语句执行,这里相当于二选一机构看待;第二种情况,如果有且只有一个条件条件成立,则选择对应的IF或者ELSEIF后面对应的语句执行;第三种情况,如果有两个或者两个以上条件成立,则按照顺序从上往下判断条件,IF、第一个ELSEIF、第二个ELSEIF等等往下,先遇到哪个条件成立就选择对应的IF或者ELSEIF后面对应的语句执行;执行完以后直接跳到ENDIF后面往下继续执行。
2.3 TEST - 根据表达式的值...
根据表达式或数据的值,当有待执行不同的指令时,使用TEST。如果并没有太多的替代选择,则亦可使用IF..ELSE指令。将测试数据与第一个CASE条件中的测试值进行比较。如果对比真实,则执行相关指令。此后,通过ENDTEST后的指令,继续程序执行。如果未满足第一个CASE条件,则对其他CASE条件进行测试等。如果未满足任何条件,则执行与DEFAULT相关的指令(如果存在)。
指令参数:TEST Test data {CASE Test value {, Test value} : ...} [ DEFAULT:...] ENDTEST
Test data
数据类型:所有
用于比较测试值的数据或表达式。
Test value
数据类型:与test data相同
测试数据必须拥有的值,以供执行相关的指令。
举例:
TEST reg1
CASE 1,2,3 :
routine1;
CASE 4 :
routine2;
DEFAULT :
TPWrite "Illegal choice";
Stop;
ENDTEST
根据reg1的值,执行不同的指令。如果该值为1、2或3时,则执行routine1。如果该值为4,则执行routine2。否则,打印出错误消息,并停止执行。
2.4 WHILE - 只要...便重复
只要给定条件表达式评估为TRUE值,当重复一些指令时,使用WHILE。
1、WHILE指令结构定义
(1)While指令的结构:
WHILE <EXP> DO 这里<EXP>是条件部分
<SMT> 这里<SMT>是指令输入地方
ENDWHILE
<SMT>是指令输入地方,一般光标选中<SMT>,然后添加指令。<EXP>是条件,光标选中以后单击进去输入表达式;一般条件<EXP>部分可以是表达是,也可以是多个表达是之间的与或异或求余等关系,条件的结果只有对错,如下所示:
对=1=true=ON
错=0=false=OFF
2、while举例说明
举例一:
reg1 := 1;
WHILE reg1 <= 10 DO
reg1 := reg1 + 1;
ENDWHILE
执行说明:初始化reg1=1,执行while指令时候,先判断reg1<=10的条件是否成立,如果条件成立则执行循环语句内的内容,while中每次执行一次reg1:=reg1+1,即reg1自加一;执行完一轮以后程序指针又跳到while指令去第二次判断reg1<=10条件是否成立,条件成立则又继续执行循环语句内的内容reg1:=reg1+1,即reg1又自加一一次;这样重复判断条件重复执行while中指令,直到条件reg1<=10不成立,即reg1=11时候,程序执行指针才会跳转到endwhile指令后面,结束while指令,往下继续运行。
举例二:累加计算
PROC rWHILE2()
a := 0;
i := 1;
WHILE i <= 100 DO
a := a + i;
i := i + 1;
ENDWHILE
WaitTime 3;
ENDPROC
3、WHILE无限循环
WHILE TRUE DO
<SMT>
ENDWHILE
执行说明:while指令的条件是true,即条件一直成立,所以程序指针执行到while指令以后,程序就会一直永远地执行while指令,程序指针不会跳出到endwhile指令后面继续往下运行,所以这里的while就是一个死循环,即无限循环。一般可以用在编写程序正常自动运行部分,让机器人正常工作时候处于永远执行。
想了解更多东莞工业机器人培训资讯?智通教育20年致力于东莞工业机器人培训、PLC培训、电工培训等培训项目,详情联系:0769-8707-8535.
想了解更多东莞工业机器人培训资讯?智通教育20年致力于东莞工业机器人培训、PLC培训、电工培训等培训项目,详情联系:0769-8707-8535.