15
如图,假设机器人要运动这样一段轨迹,从P10点至P110点,X方向上每点之间的间隔一样,10个单位;每点在Y方向上的高度也一致,50个单位。试编写ABB机器人程序。
第一种方法:用MoveJ、MoveL指令分别示教这些点位
第二种方法:用偏移与循环实现
建立合适的工件坐标系,P10作为参考偏移零点,主体程序如下:
主要在X方向上产生数值的变化,这样就可以利用循环变量i及各个点位之间等距(10个单位)的乘积变量K来控制X方向上数值的变化;
Y方向上只有两个数值,0和50,可以利用取余数的方法判断上方点位和下方点位。比如,机器人从P10点出发,运动到第一个点位P20,程序执行IF条件判断ELSE中的语句:
MoveL Offs(p10,K,50,0), v20, fine, tool0;
即余数不为0时,执行上方奇数点位的运动;余数为0时,执行下方偶数点位的运动,其余参数如速度等可根据实际需要配置。
注意:
用于FOR循环的循环变量i,只能在循环体内进行数值运算,在循环体外无法被识别。
两种方法的比较:
第一种方法为常规做法,按部就班地编写程序,并依次示教每个点位,适合简单工艺的程序编写;第二种方法,需要开脑洞,代码较简洁,指令运用丰富,可实现复杂的逻辑功能。
领取专属 10元无门槛券
私享最新 技术干货