您好!欢迎光临工博士商城

ABB机器人配件销售商

产品:55    

咨询热线:15900626417

您当前的位置:首页 » 新闻中心 » ABB机器人配件:如何创建带参数的例行程序
产品分类
新闻中心
ABB机器人配件:如何创建带参数的例行程序
发布时间:2022-04-08        浏览次数:1590        返回列表
 ABB机器人配件:如何创建带参数的例行程序 

ABB机器人
 
abb机器人

       ABB机器人任何数据都有存储类型,分为常量CONST,变量VAR和可变量PERS常量CONST,即程序内不能赋值
       变量VAR和可变量PERS程序都能赋值,区别如下
       变量:有初值和当前值。在执行打开程序,移动指针到main,移动指针到routine时,变量的当前值会被初始化,即值变为初值。
       可变量:只有当前值。即任何时候做了修改,其值就修改了。在执行打开程序,移动指针到main,移动指针到routine时,值就是当前值,不会发生变化。

abb机器人

MODULE Module1
VARnum NUM1:=0; !变量NUM1
PROCmain()
CRtoolNUM1; !调用带参数的例行程序
ENDPROC
PROCCRtool(INOUT num M) !INOUT模式
M := M + 1; !自变量M+1
ENDPROC
ENDMODULE
       如果参数的模式为INOUT模式,当M改变时NUM1也会改变NUM1=M=1,
       如果参数的模式为IN模式,当M改变时NUM1不会改变。
       如果参数的模式为变量模式。当M改变时NUM1也会改变NUM1=M=1。但是num1必须为变量。
       如果参数的模式为可变量模式,当M改变时NUM1也会改变NUM1=M=1。
       但是num1必须为可变量。
       可选参数的使用,如果在上面程序中已经创建了可选参数(默认可选参数不显示)如何添加可选参数,双击调用的可选参数。

abb机器人

2.点击可选变量选择要使用的可选变量点击使用 确定给变量赋值可选参数设置完成。

abb机器人


Present - 测试是否使用一个可选参数Present用于测试在调用一个程序时,是否已经使用一个可选参数。如果在调用程序时未作任何指定,则可能不会使用可选参数。该函数可用于测试是否已指定一个参数,从而防止出现错误。
以上程序。使用可选参数Present()返回TRUE,否则为FALSE,例如
PROC Open(Num ToolNumber \switch NoCheck)
TEST ToolNumber
Case 1 If Present(NoCheck) Then !使用可选参数情况
(输出气缸打开,不检测气缸到位信号)
Else !未使用可选参数情况
(输出气缸打开,检测到位信号)
EndIf
endtest
ENDPROC
PROC CHECHOPEN
Open 1/\NoCheck; ! 输出气缸打开,但不检测气缸是否打开到位
Open 1; !输出气缸打开,但检测气缸是否打开到位
ENDPROC
l 如何创建带返回值的功能程序
在RAPID中写入功能程序(示教器创建省略)
FUNCbool DryRunMode(mun X,mun Y)
!FUNC...ENDFUNC表示功能程序
!BOOL返回值布尔量型,功能程序必须要有返回值,一般通过return指令返回。返回值程序可具备(返回)任意值数据类型,有返回值程序无法具备维度,即,有返回值程序无法返回数组值。
!DryRunMode()功能成的名称
!mun X,mun 功能程序参数 num参数的数据类型 x,参数名称也可在
ENDFUNC

 abb机器人

例如:计算任意输入三个数的乘积,程序如下:
MODULE Module1
VAR dnum regX:=0; VAR dnum regY:=0; VAR dnum regZ:=0;
PERS num RX:=5; PERS num RY:=8; PERS num RZ:=2;
PROC main()
TPErase;
TPReadDnum regX, "please inputregx";!在示教器上输入计算的第1个 数值
TPReadDnum regY, "please inputregY";!在示教器上输入计算的第2个 数值
TPReadDnum regZ, "please inputregZ";!在示教器上输入计算的第3个 数值
!图一所示,输入数值。确认
RX := DnumToNum(regX); !读取第1个数值赋值给RX
RY := DnumToNum(regY);!读取第2个数值赋值给RY
RZ := DnumToNum(regZ);!读取第3个数值赋值给RZ
TPWrite ValToStr(RX)+"*"+ ValToStr(RY)+ "*"+ ValToStr(RZ)+"="+ ValToStr(Modxyz(RX,RY,RZ)) ;
!读取功能程序返回值。假如三个数字依次是:2.3, 2.5, 5.2。则写屏

ENDPROC
FUNC num Modxyz(num X,num Y,num Z) !功能程序
RETURN X * Y * Z ; !返回三个数的乘积
ENDFUNC
ENDMODULE



 

了解相关资讯请点击:ABB机器人配件

分享到: 


 

联系热线:15900626417   联系人:周经理 联系地址:上海市嘉定区南翔镇众仁路399号B栋20层2007-2012

技术和报价服务:星期一至星期六8:00-22:00 ABB机器人配件销售商