ABB机器人自带有Offs函数,可以使用该函数在基于robtarget类型的点位基础上在x,y,z方向上加上偏移值,生成一个新的位置。这使得我们在编写有规律的运动路径时十分的方便。 但是有时我们想让机器人基于一个已知的位置对某个轴进行偏移,却发现ABB机器人系统中并没有类似功能的函数,那么这一次我们就仿照offs函数的功能自己编写一个ABB机器人的单轴偏移函数。 首先要新建一个例行程序,例行程序的名称可以自定义,例行程序的名称就是我们制作好的函数的名称。这里以AbsOffs为例。例行程序的类型要选择“功能”。数据类型选择jointtarget,即该函数返回的数据类型为jointtarget,在程序中函数返回值可作为一个jointtarget数据来使用。 然后选择参数选项,为其添加参数,添加一个名为“Point”数据类型为“jointtarget”的参数(参数的名称可以在定义,这里以“Point”为例),模式为“IN”,也就是输入参数。这个参数用来接收偏移计算时的基准点。 然后再添加6个数据类型为num型参数,参数模式也为“IN”每个参数对应一个轴,用于接收我们手动输入的轴的偏移值。这里的6个参数以offset1~offset6为例。 然后我们在“程序数据”的“jointtarget”数据类型中新建一个jointtarget类型数据,名称可以自定义,这里以jposTemp为例。存储类型选择“变量”,模块选择我们所新建的函数所在的模块,例行程序选择我们所建的函数。这样这个变量就只会在咱们新建的这个函数中可以被调用,其它例行程序无法调用。 然后添加jposTemp := Point;语句,把以后函数所接受的偏移基准位置的值赋值给jposTemp。函数参数Point可能在添加过程中的数据中不显示,可以采用手动输入的方式。 然后添加6个轴的偏移赋值语句。 利用“RETURN”指令将偏移后的“jposTemp”值作为函数的返回值。 到这里,ABB机器人的轴偏移函数就制作完成了。 下面来看一下使用。 在程序编辑器中添加“MoveAbsJ”指令; 在选择位置数据时,我们就可以在“功能”分类中看到我们自己创建的单轴偏移函数了。 选择要偏移的基准点: 手动输入每个轴要偏移的角度。这里以1轴偏移沿正向偏移30度,其它轴不偏移为例。 执行这条指令后,就可以使机器人基于Phome位置1轴单独偏移30度。 完整Rapid代码: 代码复制到rapid编辑器中可以直接使用奥~。
文章首发自动化生产之家
|
|
来自: 新用户59353308 > 《深度》