Zurück zum Blog
Roboterprogrammierung7 min

FANUC TP-Programmierung: Grundlagen, Befehle und typische Fehler

FANUC-Roboter sind in der Automobilindustrie weit verbreitet, aber die Teach-Pendant-Sprache (TP) unterscheidet sich deutlich von KUKA KRL. Wir zeigen die wichtigsten Konzepte für einen sauberen Einstieg.

Warum FANUC TP anders tickt als KRL oder RAPID

Wer von KUKA KRL oder ABB RAPID zu FANUC wechselt, muss zunächst umdenken. TP (Teach Pendant) ist keine klassische Hochsprache, sondern eine zeilenbasierte Befehlsstruktur, die direkt am Handbediengerät entsteht. Jede Zeile hat eine feste Nummer, Bewegungsbefehle referenzieren Positionsregister, und die Logik wirkt auf den ersten Blick unübersichtlich. Wer die Struktur einmal verstanden hat, profitiert aber von einer sehr robusten und in der Automobilindustrie extrem verbreiteten Plattform.

Grundstruktur eines TP-Programms

Ein TP-Programm besteht aus einem Kopfbereich (Programmattribute wie Group Mask, Motion Group) und einem nummerierten Zeilenblock. Jede Zeile ist entweder eine Bewegung, ein logischer Befehl oder ein I/O-Zugriff. Typischer Aufbau:

  • J P[1] 100% FINE – Joint-Bewegung zu Position 1 mit 100% Geschwindigkeit, exaktes Anfahren
  • L P[2] 500mm/sec CNT50 – Linearbewegung mit 500 mm/s, Überschleifen mit Toleranz 50
  • DO[1]=ON – digitaler Ausgang setzen
  • WAIT DI[3]=ON – auf digitalen Eingang warten

Der Unterschied zwischen FINE und CNT ist entscheidend für die Zykluszeit: FINE bedeutet exaktes Erreichen des Zielpunkts (Stillstand), CNT erlaubt ein Überschleifen der Bahn und spart dadurch Zeit, verändert aber die tatsächliche Bahnkurve.

Positionsregister vs. Programmpositionen

FANUC unterscheidet zwischen fest im Programm gespeicherten Positionen und Positionsregistern (P[1] bis P[n] auf Programmebene bzw. PR[1] global). Für flexible Applikationen – etwa variable Palettierpositionen – sollten Sie mit globalen Positionsregistern arbeiten, die per Register-Offset berechnet werden können. Das erlaubt es, mit einer einzigen Programmzeile ein ganzes Rastermuster abzufahren, ohne für jede Position eine eigene Zeile zu teachen.

Häufige Programmierfehler bei Einsteigern

1. Falsche Verwendung von CNT-Werten in sicherheitskritischen Bereichen

Ein zu hoher CNT-Wert in der Nähe von Werkzeugwechselpositionen oder Greifpunkten führt zu Kollisionen, weil der Roboter die Zielposition gar nicht exakt anfährt. In der Nähe von Bauteilen oder Fixturen sollte grundsätzlich FINE oder ein niedriger CNT-Wert (CNT1–CNT10) verwendet werden.

2. Fehlende Fehlerbehandlung bei WAIT-Befehlen

Ein WAIT DI[x]=ON ohne Timeout blockiert das Programm unendlich, wenn das Signal nie kommt – etwa bei einem defekten Sensor. Nutzen Sie stattdessen WAIT DI[x]=ON TIMEOUT,LBL[10], um im Fehlerfall zu einer Fehlerbehandlungsroutine zu springen.

3. Unklare Werkzeug- und Anwenderkoordinatensysteme (UTOOL/UFRAME)

Viele Bahnfehler entstehen, weil das falsche UTOOL oder UFRAME aktiv ist. Vor jeder Bewegungssequenz sollte im Programm explizit UTOOL_NUM=1 und UFRAME_NUM=1 gesetzt werden, statt sich auf die zuletzt manuell gewählte Einstellung zu verlassen.

Register, Makros und Unterprogramme sinnvoll strukturieren

Große TP-Programme werden schnell unübersichtlich. Bewährte Praxis ist die Aufteilung in klar benannte Unterprogramme (z. B. PICK_PART, PLACE_PART, HOME_POS) und der Einsatz von Registern (R[1]R[n]) für Zähler und Zustände. Makros eignen sich für wiederkehrende Sicherheitsroutinen wie Werkzeugwechsel-Verifikation.

iRVision-Integration ohne Umwege

FANUC-Roboter mit iRVision-Option benötigen für die Bildverarbeitungsintegration ein sauber kalibriertes Vision-Werkzeugkoordinatensystem. Ein häufiger Fehler: Die Kalibrierung erfolgt mit einem anderen Greifer als dem, der später produktiv genutzt wird, was zu systematischen Offset-Fehlern führt. Kalibrieren Sie grundsätzlich mit dem finalen Werkzeug und wiederholen Sie die Kalibrierung nach jedem Greiferwechsel.

Fazit

FANUC TP ist auf den ersten Blick weniger elegant als moderne Roboterprogrammiersprachen, bietet in der Praxis aber eine extrem stabile und in der Industrie tief verankerte Basis. Wer Positionsregister konsequent nutzt, CNT-Werte bewusst setzt und Fehlerbehandlung nicht vergisst, baut robuste Applikationen, die über Jahre zuverlässig laufen.

Haben Sie ein ähnliches Problem?

Unsere Experten helfen Ihnen schnell und direkt. Kein Callcenter, kein Ticket-System.

Kontakt aufnehmen