川崎机器人几百个示教点位置的动态修正

前言

昨天有人在群里问了一个问题,大概需求就是项目现场机器人有上百个点位,每个点位客户都需要动态去微调位置,而且是在运行中调整。

想解决这个问题对于搞编程的人来说实现起来并不难。

思路

1.需要把修正量加到位置点中,因为只修正X,Y,Z三个方向的值,所以用SHIFT指令就够了。

2.需要做数组,每个位置点的X,Y,Z修正量对应一个唯一的变量值。

3.需要添加一个对应位置编号的整数值作为数组的下标值(pnum),而且可以实时修改。

4.因为是动态修正只能是在已经修正的数据上进行加减数据。

5.需要一个信号来触发这个修正的动作,并且只允许他执行一次(锁定它不允许执行)。

6.要添加一个解除锁定的信号。

7.要初始化(生成)所有数组变量,否则没有数据会报错。

8.可以一键把已经输入的数据归零,方便继续修正或者修正下一个点位。

9.以上功能可以实时监测并执行(需要后台程序)。

10.以上功能需要界面化操作(接口面板)。

实现步骤

1.规划变量,做接口面板(操作面板)

.INTER_PANEL_D
0,8,"px"," X修正量","    px",10,9,3,2,0
1,8,"py"," Y修正量","    py",10,9,3,2,0
2,8,"pz"," Z修正量","    pz",10,9,3,2,0
3,2,"   归零","   2004","","",2,4,9,2004,0
4,8,"pnum"," 修正编号","   pnum",10,9,3,1,0
5,2," 开始修正","   2002","","",10,4,9,2002,-1
6,2," 解除锁定","   2003","","",2,4,9,2003,0
13,1," 锁定标志","   2022","","",10,15,2,0,2022,0
20,2,"  初始化","   2001","","",2,4,9,2001,-1
.END

效果图

2.实现后台程序功能(实时监测并执行)

.PROGRAM autostart.pc() #0;后台程序
  CALL init;调用初始化程序
start:
; //初始化/生成修正数据
  IF SIG(2001) THEN
    FOR a = 1 TO maxpos
      fx[a] = 0
      fy[a] = 0
;     fz[a] = 0
    END
  END
; //写入对应修正数据
  IF SIG(2002,-2022) THEN
    fx[pnum] = fx[pnum]+px
    fy[pnum] = fy[pnum]+py
    fz[pnum] = fz[pnum]+pz
    SIGNAL 2022;//锁定重复执行
  END
; //解除修正限制
  IF SIG(2003) THEN
    SIGNAL -2022
  END
;  //一键归零
  IF SIG(2004) THEN
    px = 0
    py = 0
    pz = 0
  END
  GOTO start
.END

 3.初始化程序内容

可有可无,为了方便新手理解并没有把信号转化成变量加入到后台程序中

.PROGRAM init() #0;初始化程序
;为了方便理解后台程序信号转变量并未在后台程序使用
  ctrl_init = 2001;修正数据初始化信号
  ctrl_fix = 2002;修正数据使能
  ctrl_lock = 2022;修正功能锁定(防止二次执行修正)
  ctrl_unlock = 2003;允许修正数据(解除修正锁定)
  ctrl_zero = 2004;一键归零
  maxpos = 160;最大点位数(如果接口面板上做了元件就不用加了)
  RETURN
.END

4.主程序调用模板样例

.PROGRAM main() #0;前台执行程序
start:
  LMOVE SHIFT(p1 BY fx[1],fy[1],0)
  LMOVE SHIFT(p2 BY fx[2],fy[2],0)
  LMOVE SHIFT(p3 BY fx[3],fy[3],0)
  GOTO start
.END

总结

数组变量的应用适用于标准规则大体量数据的改变,循环语句要灵活运用.

解决问题的方法有很多种,程序模板只是给他人一个借鉴的思路.

本人发布在CSDN,作者工控闪剑,未经授权禁止转载!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

工控闪剑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值