FANUC的ROBOGUIDE模拟3×3码垛 点击:78 | 回复:2



杨宝泉

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:97
  • 历史总积分:160
  • 注册:2026年1月04日
发表于:2026-01-12 15:48:48
楼主
求助帖30分-未结帖

FOR R[1:计数]=0 TO 8

点位【HOME】

点位【PUT】

R[2]=R[1:计数]MOD 9

R[3:X]=R[2:t1]DIV 3

R[4:Y]=R[2:t1]MOD 3

R[5:Z]=R[1:计数]DIV 9

PR[3,1:XYZ]=(-300)*R[3:X]

PR[3,2:XYZ]=(-350)*R[4:Y]

PR[3,3:XYZ]=100*R[5:Z]

R【1】=R【1】+1

END FOR

上面是我利用MOD和DIV写的偏移部分,和IF结合的,写好之后,仿真试试,有点“偏”




楼主最近还看过

Allen010

  • 精华:0帖
  • 求助:0帖
  • 帖子:31帖 | 642回
  • 年度积分:62
  • 历史总积分:20142
  • 注册:2010年8月04日
发表于:2026-01-16 13:44:45
1楼

1、程序中R[1]既作为 FOR 循环变量(自动递增),又手动执行R[1]=R[1]+1,会导致每次循环R[1]多增 1,最终码垛顺序

混乱、位置偏移。

2、3×3 码垛需 X/Y 轴各 3 个点位(0-2 索引),虽用R[2]MOD3/R[2]DIV3拆分,但需确认轴方向(正负)、步距值

(300/350)是否与实际布局一致,若基准位(HOME/PUT)方向反,会出现整体偏移。

3、PR 寄存器设置错误

未明确 PR [3] 的坐标类型(关节 / 世界 / 用户)、是否启用工具坐标系,或 PR [3] 初始值未清零,会叠加额外偏移量。

4、循环范围与码垛数量不匹配

FOR 循环R[1]=0 TO 8共 9 次(对应 3×3=9 个点位),逻辑正确,但需确保R[2]=R[1]MOD9无多余计算

(实际 R [1] 已在 0-8,MOD9 无意义,可简化)。


回复本条

    

Allen010

  • 精华:0帖
  • 求助:0帖
  • 帖子:31帖 | 643回
  • 年度积分:63
  • 历史总积分:20143
  • 注册:2010年8月04日
发表于:2026-01-16 13:45:59
2楼

可以参考下面的程序:


! 3×3码垛程序(修正偏移版)

! 变量定义:R[1]=计数(0-8),R[2]=点位索引,R[3]=X轴偏移系数,R[4]=Y轴偏移系数,R[5]=Z轴层数

FOR R[1:计数]=0 TO 8 DO  ! 9次循环,对应3×3=9个点位

  点位【HOME】  ! 回归基准位,避免累积偏差

  R[2]=R[1]  ! 简化索引,R[1]已在0-8,无需MOD9

  R[3:X]=R[2]DIV3  ! X轴系数(0/1/2,对应3列)

  R[4:Y]=R[2]MOD3  ! Y轴系数(0/1/2,对应3行)

  R[5:Z]=R[1]DIV9  ! Z轴层数(3×3单层,R[5]恒为0;多层可改R[1]DIV9为R[1]DIV3)

  

  ! 坐标偏移计算(根据实际布局调整正负号/步距)

  PR[3,1:XYZ]=(-300)*R[3:X]  ! X轴步距300,负号为偏移方向

  PR[3,2:XYZ]=(-350)*R[4:Y]  ! Y轴步距350,负号为偏移方向

  PR[3,3:XYZ]=100*R[5:Z]     ! Z轴层间距100

  

  点位【PUT】  ! 移动至偏移后的放置位

  END FOR


回复本条

    

热门招聘
相关主题

官方公众号

智造工程师