技术干货

发那科程序里TP和Karel到底啥区别啊,新人真迷糊了

小凯
小凯
2026/04/09 10:26

刚干机器人应用两个月,公司用的发那科R-30iB,师父丢给我一台旧程序让我先看懂。我看里面有些是TP直接编的动作指令,有些又套了一层Karel的IF ELSE,看得头大。能不能通俗讲讲这俩到底分工是啥?平时出活儿一般哪种用得多?

另外我照着程序手动跑了一遍,发现一个点位有时候TP写的是PR[5]、有时候又是P[5],混着用是几个意思?我之前在学校练的全是示教器点示教,没碰过这种PR的写法。

11 4

全部回复 (4)

招财进宝
招财进宝#1

TP就是示教器上那套,直接教点位、编运动指令、出活儿90%靠它,写简单工件上下料、搬运足够用了。Karel是发那科自己的高级语言,类似C,主要用来做复杂逻辑判断、变量运算、跟外围设备通信那种,单靠TP写不出来的才上它。你看到的IF ELSE多半是项目里跟PLC、视觉那一块的交互逻辑,不是机器人本体轨迹用的。

PR和P区别就大了:P[5]是固定位置寄存器,存进去啥就是啥,断电也不变;PR[5]是可变位置寄存器,程序运行中能通过算术运算改坐标,常用于偏差补偿、偏移计算、视觉引导这些。你那种混着用,大概率是基准点用P,工艺点用PR做偏移。先把TP那块玩明白,Karel后看也来得及。

2026/04/09 14:21
laohaitao
laohaitao#2

直接说结论:你们公司那程序八成是从老项目扒下来的,不是手把手教你用的范本。想真入门就别光啃这套,跑去发那科官网把《操作与编程基础》那个手册下下来,照着上面例子从空白程序自己编一个完整工件抓取流程,跑通了再回去看那堆IF ELSE就通透了。我带新人就这么干,三天基本能独立写单工位程序。

2026/04/10 14:27
haitao88
haitao88#3

我厂里用的也是R-30iB,但是程序里几乎见不到Karel,全TP搞定,30多个工位都跑得很稳。所以你也别被那套老程序吓着,先确认下你们项目是不是非得用Karel不可。

2026/04/10 21:37
l
luo1984#4

你跑程序的时候手速太快了吧?单步跟踪看过没?

2026/04/17 09:01