PROFINET-Schnittstellenreferenz
Die PROFINET-Schnittstelle ermöglicht die Kommunikation zwischen LumiScan VGR und der SPS.
Dieses Kapitel beschreibt:
-
das Speicherlayout der ausgetauschten Signale
-
die PROFINET-Gerätemodule
-
den Prozessablauf für Funktionsaufrufe
-
die verfügbaren Funktionen
-
Rückgabecodes
-
Betriebsmodi
Eine Erläuterung zur Verwendung der Schnittstelle im Betrieb finden Sie in SPS-Einstellungen.
Speicherlayout
Der Signalspeicher ist in Slots organisiert.
Zwei Gruppen von Signalen werden ausgetauscht:
-
SPS-Eingänge (
OUT_):* Von LumiScan VGR geschriebene und von der SPS gelesene Werte. -
SPS-Ausgänge (
IN_):* Von der SPS geschriebene und von LumiScan VGR gelesene Werte.
SPS-Eingänge (OUT_*)
| Slot / Gruppe | Byteadresse | Bit | Datentyp | Name | Beschreibung |
|---|---|---|---|---|---|
Slot 1 - Systemsignale |
0 |
0 |
bool |
|
Spiegelt den Wert von |
Slot 1 - Systemsignale |
0 |
1 |
bool |
|
Wird auf |
Slot 1 - Systemsignale |
0 |
2 |
bool |
|
Gibt an, ob die Reset-Funktion zur Ausführung bereit ist. |
Slot 1 - Systemsignale |
0 |
3 |
bool |
|
Gibt an, ob die Reset-Funktion derzeit ausgeführt wird. |
Slot 1 - Systemsignale |
0 |
4 |
bool |
|
Gibt an, ob die Setup-Funktion zur Ausführung bereit ist. |
Slot 1 - Systemsignale |
0 |
5 |
bool |
|
Gibt an, ob die Setup-Funktion derzeit ausgeführt wird. |
Slot 1 - Systemsignale |
Reserviert |
||||
Slot 1 - Statussignale |
4 |
byte/uchar |
|
Enthält den aktuellen Betriebsmodus. Er kann über die Funktion Set Parameter geändert werden. |
|
Slot 1 - Statussignale |
5 |
0 |
bool |
|
Gibt an, ob das System-Setup abgeschlossen wurde. |
Slot 1 - Statussignale |
Reserviert |
||||
Slot 1 - Triggersignale |
8 |
0 |
bool |
|
Gibt an, ob die Funktion Set Parameter bereit ist. |
Slot 1 - Triggersignale |
8 |
1 |
bool |
|
Gibt an, ob die Funktion Set Parameter ausgeführt wird. |
Slot 1 - Triggersignale |
9 |
0 |
bool |
|
Gibt an, ob die Kameraauslösung bereit ist. |
Slot 1 - Triggersignale |
9 |
1 |
bool |
|
Gibt an, ob die Kameraauslösung ausgeführt wird. |
Slot 1 - Triggersignale |
10 |
0 |
bool |
|
Gibt an, ob die Objektberechnung bereit ist. |
Slot 1 - Triggersignale |
10 |
1 |
bool |
|
Gibt an, ob die Objektberechnung ausgeführt wird. |
Slot 1 - Triggersignale |
11 |
0 |
bool |
|
Gibt an, ob die Berechnung des besten Ergebnisses bereit ist. |
Slot 1 - Triggersignale |
11 |
1 |
bool |
|
Gibt an, ob die Berechnung des besten Ergebnisses ausgeführt wird. |
Slot 1 - Triggersignale |
12 |
0 |
bool |
|
Gibt an, ob die Funktion Grip Best Result bereit ist. |
Slot 1 - Triggersignale |
12 |
1 |
bool |
|
Gibt an, ob die Funktion Grip Best Result ausgeführt wird. |
Slot 1 - Triggersignale |
13 |
0 |
bool |
|
Gibt an, ob die Funktion Get Parameter bereit ist. |
Slot 1 - Triggersignale |
13 |
1 |
bool |
|
Gibt an, ob die Funktion Get Parameter ausgeführt wird. |
Slot 1 - Triggersignale |
14 |
0 |
bool |
|
Gibt an, ob die Funktion Reset Camera bereit ist. |
Slot 1 - Triggersignale |
14 |
1 |
bool |
|
Gibt an, ob die Funktion Reset Camera ausgeführt wird. |
Slot 1 - Triggersignale |
… |
|
Greifpriorität des ausgewählten Ergebnisses. |
||
Slot 2 - Daten |
64 |
byte/uchar |
|
Enthält den Rückgabecode der zuletzt ausgeführten Funktion. |
|
Slot 2 - Daten |
65 |
byte/uchar |
|
ID des Objekts gemäß Definition in den JSON-Einstellungen. |
|
Slot 2 - Daten |
66 |
6 x float |
|
Nicht implementiert. |
|
Slot 2 - Daten |
90 |
6 x float |
|
Bounding box des Objekts im Objektkoordinatensystem: |
|
Slot 2 - Daten |
114 |
float |
|
Tiefe des zuvor gegriffenen Objekts in Metern. Nur gültig, wenn der Wert größer oder gleich |
|
Slot 2 - Daten |
118 |
byte/uchar |
|
Anzahl der Objekte in der Szene, die noch nicht gegriffen wurden. |
|
Slot 2 - Daten |
… |
Reserviert |
|||
Slot 3 - Daten |
128 |
7 x float |
|
Pose des Move-Frames für einen Greifpunkt in Roboterkoordinaten: |
|
Slot 3 - Daten |
156 |
7 x float |
|
Pose des Objekts in TCP-Koordinaten. Verwendet dasselbe Pose-Format wie |
|
Slot 3 - Daten |
… |
Reserviert |
|||
Slot 4 - Daten |
192 |
float |
|
Score des 2D-Objekterkennungsergebnisses. |
|
Slot 4 - Daten |
196 |
float |
|
Krümmung des zuvor gegriffenen Objekts. |
|
Slot 4 - Daten |
200 |
int |
|
Nearest-Neighbor-Wert des zuvor gegriffenen Objekts. |
|
Slot 4 - Daten |
204 |
int |
|
Aktuell konfigurierte untere oder obere Tiefengrenze. |
|
Slot 4 - Daten |
208 |
int |
|
Aktuell konfigurierte Bildreferenz. |
|
Slot 4 - Daten |
212 |
float |
|
Score des 3D-Objekterkennungsergebnisses. |
|
Slot 4 - Daten |
216 |
float |
|
Aktuelle Kameratemperatur in °C. Der Wert wird bei jeder Bildaufnahme aktualisiert. |
|
Slot 4 - Daten |
… |
Reserviert |
SPS-Ausgänge (IN_*)
| Slot / Gruppe | Byteadresse | Bit | Datentyp | Name | Beschreibung |
|---|---|---|---|---|---|
Slot 5 - Systemsignale |
0 |
0 |
bool |
|
Heartbeat-Signal von der SPS. |
Slot 5 - Systemsignale |
0 |
1 |
bool |
|
Für SPS-Fehler reserviert. |
Slot 5 - Systemsignale |
0 |
2 |
bool |
|
Fordert die Ausführung der Reset-Funktion an. |
Slot 5 - Systemsignale |
0 |
3 |
bool |
|
Wenn |
Slot 5 - Systemsignale |
0 |
4 |
bool |
|
Fordert die Ausführung der Setup-Funktion an. |
Slot 5 - Systemsignale |
Reserviert |
||||
Slot 5 - Statussignale |
4 |
Reserviert |
|||
Slot 5 - Statussignale |
… |
||||
Slot 5 - Triggersignale |
8 |
0 |
bool |
|
Fordert die Ausführung der Funktion Set Parameter an. |
Slot 5 - Triggersignale |
9 |
0 |
bool |
|
Fordert ein neues Bild der aktiven Kamera an. |
Slot 5 - Triggersignale |
10 |
0 |
bool |
|
Fordert die Objektberechnung an. |
Slot 5 - Triggersignale |
11 |
0 |
bool |
|
Fordert die Berechnung des besten Greifergebnisses an. |
Slot 5 - Triggersignale |
12 |
0 |
bool |
|
Fordert die Bestätigung des besten Greifergebnisses an. |
Slot 5 - Triggersignale |
13 |
0 |
bool |
|
Fordert einen Parameterwert an. |
Slot 5 - Triggersignale |
14 |
0 |
bool |
|
Fordert einen Reset der angegebenen Kamera an. |
Slot 5 - Triggersignale |
… |
Reserviert |
|||
Slot 6 - Daten |
64 |
byte/uchar |
|
Gibt den von der Funktion Set Parameter oder Get Parameter verwendeten Parameter bzw. Vorgang an. |
|
Slot 6 - Daten |
65 |
byte/uchar |
|
Byte-Argument, das von Parameterfunktionen verwendet wird. |
|
Slot 6 - Daten |
66 |
int |
|
Ganzzahl-Argument, das von Parameterfunktionen verwendet wird. |
|
Slot 6 - Daten |
70 |
float |
|
Float-Argument, das von Parameterfunktionen verwendet wird. |
|
Slot 6 - Daten |
74 |
32 x byte/uchar |
|
String-Argument, das von Parameterfunktionen verwendet wird. |
|
Slot 6 - Daten |
… |
Reserviert |
|||
Slot 7 - Daten |
128 |
7 x float |
|
Aktuelle Pose in Roboterkoordinaten unter Verwendung des Move-Frames. Dieser Wert sollte immer verfügbar sein. |
|
Slot 7 - Daten |
… |
Reserviert |
|||
Slot 8 - Reserviert |
192 |
Reserviert |
|||
Slot 8 - Reserviert |
… |
Reserviert |
Prozessablauf
Jeder Prozess verwendet drei Signale:
-
OUT_*Ready -
IN_*Request -
OUT_*Running
Die Ausführungsreihenfolge ist für alle Funktionen gleich.
| Schritt | OUT | IN | Hinweis |
|---|---|---|---|
1 |
Warten, bis |
Gilt nicht für Reset-Funktionen |
|
2 |
|
||
3 |
Prüfen, ob |
||
4 |
|
||
5 |
|
||
6 |
Warten, bis |
Gilt nicht für Reset-Funktionen |
|
7 |
Prüfen, ob |
Andernfalls wird der Trigger verworfen |
|
8 |
|
||
9 |
Warten, bis |
||
10 |
Angeforderte Funktion ausführen |
||
11 |
Ausgabevariablen setzen |
||
12 |
|
||
13 |
|
||
14 |
Warten, bis |
||
15 |
Rückgabecode prüfen |
||
16 |
Ausgabevariablen lesen |
Eine detailliertere Erläuterung des Handshake-Verhaltens finden Sie in SPS-Einstellungen: Prozessablauf.
Funktionsbeschreibungen
| Funktion | Eingang | Ausgang | Beschreibung | Voraussetzung |
|---|---|---|---|---|
|
Setzt alle |
|||
|
Setzt alle |
|||
|
|
|
Setzt einen Parameter.
|
|
|
|
|
Liest einen Parameter.
|
|
|
|
Nimmt ein Bild mit der aktuell aktiven Kamera auf. |
|
|
|
|
Berechnet die Posen aller erkannten Objekte aus dem zuletzt aufgenommenen Bild unter Verwendung der aktiven Pipeline. |
|
|
|
|
|
Berechnet Greifpunkte für den aktiven Roboter aus den zuletzt berechneten Objektposen und gibt Informationen zum gültigen Greifvorgang mit der höchsten Priorität zurück. Ist eine Pfadplanung konfiguriert, können die Eingangsargumente verwendet werden, um die Trajektorie an einem bestimmten Punkt auszuwerten: *
Das Pfadsegment Werden ungültige Argumente übergeben, werden sie vor der Ausführung auf
|
|
|
|
Führt dieselbe Berechnung wie |
|
|
|
|
Setzt die Kamera zurück, deren ID in |
|
Rückgabecodes
Die Rückgabecodes sind in SPS-Einstellungen: Statusinformationen beschrieben.
Anwendungsbeispiel
Das folgende Diagramm zeigt einen Beispielprozess mit einer Kamera, einer Pipeline und einem Roboter.
Das Beispiel geht davon aus, dass sich der Betriebsmodus während des Prozesses nicht ändert. Prüfen Sie nach jedem Funktionsaufruf den Rückgabecode und behandeln Sie einen gemeldeten Fehler, bevor Sie fortfahren.
Ist in der Konfiguration die automatische Belichtung aktiviert, wird sie nach jeder Bildaufnahme angewendet. Bei einer veränderten Szene kann daher vor Beginn des Greifprozesses zunächst ein Anfangsbild aufgenommen werden, um die Belichtung anzupassen.
Aus einem einzelnen aufgenommenen Bild können mehrere Objekte gegriffen werden. Je nach erforderlicher Taktzeit kann es auch zweckmäßig sein, vor jedem Greifvorgang ein neues Bild aufzunehmen.
Manueller Modus
Während des Betriebs kann der manuelle Modus über die Benutzeroberfläche aktiviert werden. Der Betriebsmodus wechselt dann zu MANUAL (2).
Während der manuelle Modus aktiv ist, können Verarbeitungsfunktionen nicht von der SPS aus gestartet werden.
Beim Verlassen des manuellen Modus wechselt das System zu IDLE (0). Um die automatische Verarbeitung fortzusetzen, stellen Sie den Betriebsmodus über die SPS wieder auf AUTOMATIC ein.
Siehe auch Manueller Modus.
Mehrere Komponenten
Alle Berechnungen verwenden die aktuell aktive Kamera, Pipeline und den aktuell aktiven Roboter.
Enthält ein Projekt mehrere Kameras, Pipelines oder Roboter, stellen Sie sicher, dass vor der Ausführung jeder Funktion die richtigen aktiven Komponenten über OUT_SetParameter ausgewählt sind.
Referenzlisten
Betriebsmodi
| ID | Modus | Beschreibung |
|---|---|---|
0 |
|
Das System befindet sich im Leerlauf. Verarbeitungsfunktionen sind nicht verfügbar. |
1 |
|
Automatischer SPS-gesteuerter Betrieb. Verarbeitungsfunktionen sind verfügbar. |
2 |
|
Manueller Betrieb über die Benutzeroberfläche. |
3 |
|
Die Anwendung wird heruntergefahren. |