Die herstellerneutrale Industrial Robot Language (IRL) ist nach DIN 66312 eine einheitliche, von speziellen Industrierobotern und -steuerungen unabhängige Programmiersprache.

Allgemeines

Bearbeiten

Die Norm definiert in einem der Programmiersprache PASCAL sehr angelehnten Stil die Syntax und die Semantik des IRL, anhand derer es dem Anwender ermöglicht wird, Bewegungen von Industrierobotern und den logischen Programmfluss in einer benutzerdefinierten Form zu programmieren. Sie unterstützt Bewegungs- sowie Beschleunigungs- und Verzögerungsinstruktionen. Typische Kontrollbefehle für strukturierte Programme wie arithmetische, logische und boolesche Operatoren, Abfragen, Schleifenbildung und Verzweigungsmöglichkeiten als auch Unterprogramme sind abgebildet.

Die Norm 66312 ist im September 2007 wieder zurückgezogen worden[1]. Einen Nachfolger gibt es nicht.

Die Syntax der verwendeten Sprachstrukturen liegt in der Backus-Naur-Form (BNF) vor. Mittels gängiger Compiler-Werkzeuge wie z. B. lex und yacc kann ein Parser erstellt werden, der die Symbole und Bezeichner der IRL analysiert. Im Mittelpunkt steht das zentrale Bewegungssprachkonstrukt MovementStatement, welches Bewegungen des Endeffektors, in IRL Tool Center Point genannt, sowohl inkrementell als auch absolut im Parameter- und im Arbeitsraum ermöglicht:

MovementStatement = 
  LinearMovement | PointToPointMovement | ...
  LinearMovement = 
   ( "MOVE" | "MOVE_INC" ) "LIN" ToPoint ... 
  PointToPointMovement = 
   ( "MOVE" | "MOVE_INC" ) "PTP" ToPoint ...

Alle sprachlichen Elemente werden dabei als geometrische Ausdrücke verstanden. Der Zielpunkt des MOVE-Befehls wird in absoluten Koordinaten interpretiert, während eine inkrementellen Bewegung MOVE_INC stets abhängig von dem Basiskoordinatensystem und der Position des Endeffektors ist.

Literatur

Bearbeiten
  • Programmiersprache Industrial Robotic Language (IRL). DIN 66312. Deutsches Institut für Normung (DIN) e.V., Berlin 1996

Einzelnachweise

Bearbeiten
  1. Fachdatenbank Perinorm. Abgerufen am 7. Juli 2020 (deutsch, englisch).