。程序之前能跑,但我手动把3D工件移动了一点位置后,重新覆盖了 PR[11] 和 P[2]/P[3]/P[4] 等点位,现在运行还是报 THSR-030 搜索之前接触,求各位指点问题出在哪里。
程序名:PNS11111111
完整程序代码(拼接后):
“`text
1: UFRAME_NUM=0
2: UTOOL_NUM=1
3: J P[1] 100% FINE
4:
5: Search Start [1] PR[11]
6: L P[2] 100mm/sec FINE
7: L P[3] 100mm/sec FINE
8: L P[4] 100mm/sec FINE Search[X]
9: L P[5] 100mm/sec FINE
10: L P[6] 100mm/sec FINE
11:
12: L P[7] 100mm/sec FINE
13: L P[8] 100mm/sec FINE Search[Y]
14: L P[9] 100mm/sec FINE
15: L P[10] 100mm/sec FINE
16:
17:
18: L P[11] 100mm/sec FINE
19: L P[12] 100mm/sec FINE Search[-Z]
20: L P[13] 100mm/sec FINE
21: L P[14] 100mm/sec FINE
22: Search End
23:
24:
25: Touch Offset PR[11]
26:
27:
28:
29: L P[15] 100mm/sec FINE
30: L P[16] 100mm/sec FINE
: Weld Start[1, 1]
31: L P[17] 100mm/sec FINE
: Weld End[1, 1]
32: L P[18] 100mm/sec FINE
33: L @P[19] 100mm/sec FINE
34: Touch Offset End
“`寻位核心逻辑说明:
1. 工具坐标系 UTOOL_NUM=1。
2. 使用 PR[11] 作为 Search Start 的起点,同时也作为 Touch Offset 的补偿寄存器。
3. 寻位动作依次为:Search[X] 找X方向、Search[Y] 找Y方向、Search[-Z] 找Z方向。
4. Search End 后,Touch Offset PR[11] 偏移修正。我目前的疑惑/已做操作:
· 我手动移动工件后,悬空点 PR[11] 已经重新记录(悬空 30~50mm),并且用手动移动机器人 + SHIFT + 修正位置,重新覆盖了 P[2]、P[3]、P[4]。
· 信号 DI[1] 和 DO[1] 在启动前确认过是 OFF。
· 但按 FWD 跑的时候,依旧报 THSR-030 搜索之前接触,而且报警行有时候在第5行,有时候在第8行。求问是不是因为 Search Start 和 Touch Offset 共用了 PR[11] 导致的坐标冲突?还是我的过渡点安全距离不够





