World Zone:
*多可以在机器人的工作区域内定义10个不同的体积空间。他们可以用来:
l 指出机器人的TCP工作区域中的一个明确的部分。
l 限制机器人的工作区域,阻止和工具的碰撞。
l 创建一个由两个机器人公用的区域,该区域在同一时间内只能由一个机器人使用。
1.WZBoxDef—定义一个箱体形状的World Zone
用途:
WZBoxDef(World Zone箱体定义)用来定义一个直立箱体形状的World Zone,该箱体的所有边都和World坐标系的坐标轴平行。
项目:
WZBoxDef [\Inside] |[\Outside] Shape LowPoint HighPoint
[\Inside]:
数据类型:switch
定义箱体内部的体积
[\OutSide]:
数据类型:switch
定义箱体外部的体积(反体积)。
必须指定\Inside和\Outside两个项目中的一个。
Shape:
数据类型:shapedata
定义的体积的存储的变量(系统的私有(private)数据)。
LowPoint:
数据类型:pos
定义箱体的一个较低的角点的位置(x, y, z)以毫米为单位。
HighPoint:
数据类型:pos
定义箱体的另一个相对的角点的位置(x, y, z)以毫米为单位。
程序执行:
箱体的定义存储在shapedata类型(Shape项目)的变量中,用于将来在WZLimSup和WZDOSet指令中使用。
限制:
LowPoint和HighPoint的位置必须是有效的相对角点(x,y和z的坐标值都不相同)。如果用机器人来指出LowPoint和HighPoint,工作对象(wobj0)必须激活(在robtarget中使用trans组件,即p1.trans作为项目)。
语法:
WZBoxDef
[[‘\’Inside] | [‘\’Outside]’,’
[LowPoint’:=’]<pos类型的表达式(IN)>’,’
[Shape’:=’]<shapedata类型的变量(VAR)>’,’
[HighPoint’:=’]<pos类型的表达式(IN)>’;’
2.WZCylDef—定义一个圆柱形的World Zone
用途:
WZCylDef(World Zone圆柱定义)用来定义一个圆柱形状的World Zone,该圆柱的轴线平行于World坐标系的z轴。
项目:
WZCylDef [\Inside] |[\Outside] Shape CenterPoint Radius Height
[\Inside]:
数据类型:switch
定义圆柱内部的体积。
[\Outside]:
数据类型:switch
定义圆柱外部的体积(反体积)。
必须指定两个项目\Inside和\Outside中的一个。
Shape:
数据类型:shapedata
用来存储定义的体积的变量(系统的私有(private)数据)。
CentrePoint:
数据类型:pos
定义圆柱的一个底面圆的圆心位置(x,y,z),单位是毫米。
Radius:(半径)
数据类型:num
圆柱的半径,单位是毫米。
Height:
数据类型:num
圆柱的高度,单位是毫米。如果是正的(+z方向),CentrePoint项目是圆柱较低底面的圆心(如以上例子)。Height如果是负的(-z方向),CentrePoint项目是圆柱上底面的圆心。
程序执行:
圆柱的定义存储在shapedata类型的变量中(项目Shape),将来在WZLimSup或者WZDOSet指令中使用。
限制:
如果用机器人指出CentrePoint,工作对象wobj0必须被激活(使用robtarget中的trans组件,即p1.trans作为项目。
语法:
WZCylDef
[‘\’Inside] | [‘\’Outside]’,’
[Shape’:=’]<shapedata类型的变量(VAR)>’,’
[CentrePoint’:=’]<pos类型的表达式(IN)>’,’
[Radius’:=’]<num类型的表达式(IN)>’,’
[Height’:=’]<num类型的表达式(IN)>’;’
1.1.WZDisable—解除临时World Zone监视
用途:
WZDisable(解除World Zone)用来解除对临时World Zone的监视,该监视原先用来停止运动或者设置一个输出。
项目:
WZDisable WorldZone
WorldZone:
数据类型:wztemporary
Wztemporary类型的变量或者恒量,包含要解除的WorldZone的标识符。
程序执行:
临时WorldZone被解除。也就是说对机器人TCP在相应体积空间内的监视被临时停止。它可以通过WZEnable指令被再次激活。
限制:
只有临时WorldZone可以被解除。一个静态的WorldZone总是激活的。
语法:
WZDisable
[WorldZone’:=’]<wztemporaty类型的变量或者恒量(INOUT)>’;’
1.2.WZDOSet—激活WorldZone来设置数字输出
用途:
WZDOSet(WorldZone数字输出设置)用来定义动作并且激活一个WorldZone来监视机器人运动。
在该指令执行以后,当机器人的TCP或机器人/外部轴(关节中的区域)在定义的WorldZone内部或者接近WorldZone时,一个数字输出信号被设为一个特定的数值。
项目:
WZDOSet [\Temp] | [\Stat]WorldZone [\Inside] | [\Before] Shape Signal SetValue
[\Temp]:
临时的
数据类型:switch
要定义的WorldZone是一个临时的WorldZone。
[\Stat]:
静态的
数据类型:switch
要定义的WorldZone是一个静态的WorldZone。
必须指定[\Temp]和[\Stat]两个项目中的一个。
WorldZone:
数据类型:wztemporary或者wzstationary
可以根据WorldZone的特性(数字数值)进行更新的变量或者恒量。
如果使用可选项目\Temp,数据类型必须是wztemporary。如果使用了\Stat,数据类型必须是wzstationary。
[\Inside]:
数据类型:switch
当机器人的TCP或者某一个轴进入定义的体积空间内的时候,将设定数字输出信号。
[\Before]:
数据类型:switch
当机器人的TCP或者某一个轴进入定义的体积空间之前(马上就要进入空间),将设定数字输出信号。
两个项目[\Inside]和[\Before]必须选定一个。
Shape:
数据类型:shapedata
定义WorldZone空间的变量。
Signal:
数据类型:signaldo
将要改变的数字输出信号的名称。
如果使用了静态WorldZone,信号必须写保护,防止用户进入(RAPID,FP示教器)。在系统参数或者指定的轴上设定用户进入等级。
SetValue:
数据类型:dionum
当机器人TCP进入体积空间或者恰好在进入之前,期望的信号输出的数值(1或者0)。
在机器人TCP在外面或者正好在空间外面,信号输出为相反的数值。
程序执行:
定义的WorldZone被激活。从这时开始,机器人TCP位置(或者机器人/外部轴位置)将被监视,当机器人TCP位置(或者机器人/外部轴位置)在空间内(\Inside)或者接近空间的边界(\Before),将被设置输出。
如果和WZDOSet同时使用了WZHomeJointDef或者WZLimJointDef指令,只有在带空间监视的所有激活的轴即将进入或者已经进入关节空间时,才能够设置数字输出信号。
来源:网络
更多资讯:ABB机器人