4、如果不同的值对应于同一程序,则可以使用“case xx,xx,……;可以简化程序
ABB 工业机器人现场编程 - 常用RAPID程序指令4Test指令
对一个变量的值进行判断,根据变量值的不同而执行不同的程序。在某些场合可以用TEST替代IF,从而使程序流程简单易懂。
一、Test语法结构
TEST:需要计算的变量值
CASE:计算后对应值
:语句体
语法说明:TEST后面代表变量,CASE后面代表变量的值,表示需要执行的指令或例行程序。CASE的数量可以根据实际情况进行增加或减少。
要点解析:
Test指令:根据Test数据执行程序。Test数据可以是数值也可以是表达式,根据该数值执行相应的CASE。Test指令用于在选择分支较多时使用,如果选择分支不多,则可以使用IF...ELSE指令代替。
二、程序执行过程
1、将测试数据与第一个CASE条件中的测试值进行比较。如果对比真实,则执行相关指令。此后,通过ENDTEST后的指令,继续程序执行。
2、如果未满足第一个CASE条件,则对其他CASE条件进行测试等。如果未满足任何条件,则执行与DEFAULT相关的指令(如果存在)。
三、程序编辑的操作步骤
1、点击添加指令,选择prog.flow模块
2、prog.flow模块中选择test指令
3、单击TEST结构,可以增加CASE语句或default语句
4、单击确定,完成TEST指令
5、点击对应的完成程序编辑
执行说明:当a等于1,执行maduo1;当a等于2,执行maduo2;当a等于3,执行maduo3;条件指令执行完毕,a:=0,防止重复执行同一垛型。
四、Test示例说明
MODULE MainModule
PROC main()
TEST reg1
CASE 1 :
routine1;
CASE 2 :
routine2;
CASE 3 :
routine3;
CASE 4 :
routine4;
DEFAULT :
TPWrite "Illegal choice";
Stop;
ENDTEST
ENDPROC
ENDMODULE
执行说明:根据reg1的值,执行不同的指令。如果该值为1时,执行routine1,如果该值为2时,执行routine2,如果该值为3时,执行routine3,如果该值为4时,执行routine4。否则,打印出错误消息,并停止执行。
总结
1、TEST指令可以添加多个“CASE”,但只能添加一个“DEFAULT”
2、TEST可以判断所有数据类型,但是要判断的数据必须具有值
3、如果并没有太多的替代选择,则亦可使用IF判断指令
4、如果不同的值对应于同一程序,则可以使用“case xx,xx,……;可以简化程序2024-09-09