FB_Robot - Allgemeine Informationen
Typ: |
Funktionsbaustein |
Verfügbar ab: |
V1.0.0.0 |
Erbt von: |
- |
Implementiert: |
oIF_DiagManager (keine Benutzerschnittstelle) oIF_RobotState (keine Anwenderschnittstelle) |
Versionen: |
Aktuelle Version |
HINWEIS: Um den Funktionsbaustein FB_Robot zu benutzen, werden Lizenzpunkte benötigt.
Lizenzpunkte sind nur für Bibliotheksversionen vor V2.6.1.0 erforderlich. Weitere Informationen zu Lizenzpunkten finden Sie unter License Model for PacDrive Software Packages (Lizenzmodell für PacDrive-Softwarepakete).
Anzahl der Lizenzpunkte: 30
Lizenzzeichenfolge: ROB.Robot
Die Lizenzpunkte werden während eines erfolgreichen Aufrufs einer Konfigurationsmethode einer Transformation von IF_RobotConfiguration abgefragt.
Dieses Kapitel enthält Informationen zu folgenden Aspekten:
POU zur Steuerung von Robotern.
Zentrale POU zur Steuerung von Roboterkinematiken. Die Konfiguration und Bewegungsprogrammierung erfolgt über die Schnittstelle IF_RobotConfiguration bzw. IF_RobotMotion. Die Zustände der Roboterkinematik können über die Schnittstelle IF_RobotFeedback ermittelt werden.
Der Baustein (POU) muss im Anwenderprogramm implementiert werden. Der Baustein wird über seine Eigenschaften gesteuert.
Name |
Beschreibung |
---|---|
Registrieren Sie FB_Robot beim Application Logger. |
Name |
Datentyp |
Zugriff |
Beschreibung |
---|---|---|---|
etDiag |
Lesen |
Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose. EinWert ungleich GD.ET_Diag.Ok entspricht einer Diagnosemeldung. |
|
etDiagExt |
Lesen |
Bausteinspezifischer Ausgang zur Diagnose. q_etDiag = GD.ET_Diag.Ok -> Statusmeldung q_etDiag <> GD.ET_Diag.Ok -> Diagnosemeldung |
|
ifConfiguration |
Lesen |
Schnittstelle zur Konfiguration des Roboters. |
|
ifFeedback |
Lesen |
Schnittstelle mit Rückgabewerten. |
|
ifJogging |
Lesen |
Schnittstelle für manuelles Verfahren des Roboters. |
|
ifMotion |
Lesen |
Schnittstelle zur Bewegungsprogrammierung. |
|
ifWarmStart |
IF_RobotWarmStart |
Lesen |
Schnittstelle für den Zugriff auf die Warmstart-Schnittstelle des Roboters. |
sMsg |
STRING[80] |
Lesen |
Ereignisabhängige Meldung, die detaillierte Informationen zum Diagnosezustand übergibt. |
xActive |
BOOL |
Lesen |
TRUE: Der POU ist aktiv und muss weiter ausgeführt werden. FALSE: Der POU ist nicht aktiv. |
xDiagQuit |
BOOL |
Lesen/Schreiben |
Eine steigende Flanke FALSE -> TRUE quittiert folgende Diagnosemeldungen: etDiag = GD.ET_Diag.ConfigurationFailed etDiagExt = ET_DiagExt.ConfigInvalid |
xEnable |
BOOL |
Lesen/Schreiben |
Eine steigende Flanke FALSE -> TRUE aktiviert den POU, eine fallende Flanke TRUE -> FALSE deaktiviert den POU. Eine deaktivierte POU führt keinerlei Aktionen aus. |
xReady |
BOOL |
Lesen |
TRUE: Die POU ist funktionsbereit und kann Anwenderbefehle annehmen. FALSE: Der Funktionsbaustein ist nicht bereit für die Annahme von Anwenderbefehlen. |
xStart |
BOOL |
Lesen/Schreiben |
TRUE: Fahrbefehle, die über die Schnittstelle IF_RobotMotion abgesetzt wurden, werden gestartet. FALSE: Aktive Bewegungen werden gestoppt und können durch erneutes Setzen von xStart : = TRUE fortgesetzt werden. Eine Positionierung des Roboters ist über die Schnittstelle IF_RobotJogging möglich. |
xWsSelect |
BOOL |
Lesen/Schreiben |
TRUE: Eine Warmstartbewegung ist vorselektiert. |
xWsStart |
BOOL |
Lesen/Schreiben |
TRUE: Bei xWsSelect := TRUE fährt der Roboter auf die letzte erkannte Bahnposition. Zum Ausführen eines Warmstarts muss der Funktionsbaustein FB_Robot durch Setzen von xEnable auf FALSE und wieder auf TRUE reaktiviert werden. |
q_etDiag |
q_etDiagExt |
Enumerationswert |
Beschreibung |
---|---|---|---|
OK |
57 |
Der Roboter bearbeitet einen Befehl. |
|
51 |
Deaktiviert |
||
19 |
Initializing |
||
47 |
Jogging |
||
56 |
Der Roboter wartet auf einen neuen Befehl. |
||
55 |
Der Roboter wartet auf Start. |
||
145 |
Der Roboter wartet auf VelOverride. |
||
2 |
Der Roboter führt einen Kaltstart aus. |
||
122 |
Der Roboter wird deaktiviert. |
||
46 |
Der Roboter führt einen Warmstart aus. |
||
62 |
Der Roboter wird einen Warmstart ausführen. |
||
ConfigurationFailed |
1 |
Die Konfiguration ist ungültig. |
|
157 |
Ausführung eines Schneider Electric Roboters war nicht erfolgreich. |
||
DiagActive |
157 |
Ausführung eines Schneider Electric Roboters war nicht erfolgreich. |
|
DriveConditionInvalid |
92 |
Der Antrieb ist ungültig. |
|
85 |
Der Antrieb ist nicht bereit. |
||
ExecutionAborted |
103 |
Achsen-Positionsbereich überschritten. |
|
198 |
Die Komponente ist nicht konfiguriert. |
||
63 |
Der Roboter ist nicht auf der Bahn. |
||
104 |
Außerhalb des Arbeitsraums. |
||
29 |
Die Endposition auf der Bahn wurde überfahren. |
||
174 |
SetPos wurde nicht erkannt. |
||
173 |
Ein Warmstart ist nicht möglich. |
||
65 |
Der Antrieb ist nicht konfiguriert. |
||
127 |
Die Hilfsachse ist nicht konfiguriert. |
||
205 |
Die externe Positionsquelle wurde konfiguriert. |
||
LimitReached |
121 |
Die Schleppfehlerschwelle wurde überschritten. |
|
159 |
Diagnosemeldung bezüglich des Arbeitsraums ist aktiv. |
||
UnexpectedProgramBehavior |
6 |
Die Lizenzprüfung war nicht erfolgreich. |
|
90 |
Die Ref-Position ist ungültig. |
||
13 |
Ein Rückgabewert war ungültig. |
||
82 |
Die Bewegung war ungültig. |
||
111 |
Der Wert war ungültig. |
Enumerationsname: |
AuxiliaryAxisNotConfigured |
Enumerationswert: |
127 |
Beschreibung: |
Die Hilfsachse ist nicht konfiguriert. |
Problem |
Ursache |
Lösung |
---|---|---|
Die Verwendung der zusätzlichen Transformationsachsen war nicht erfolgreich. |
Ein Positionswert ungleich Null wurde für eine nicht konfigurierte Hilfsachse berechnet und an den Roboter übergeben. |
Sicherstellen, dass ein Positionswert gleich Null für eine nicht konfigurierte Hilfsachse übergeben wird. |
Enumerationsname: |
AxisPositionRange |
Enumerationswert: |
103 |
Beschreibung: |
Achsen-Positionsbereich überschritten. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Roboter ist nicht betriebsbereit. |
Eine Bewegung des Roboters führt dazu, dass sich eine oder mehrere Achsen außerhalb des Arbeitsraums des Roboters befinden. |
Sicherstellen, dass die Bewegung des Roboters innerhalb des Arbeitsraums des Roboters bleibt. |
Enumerationsname: |
CommandProcessing |
Enumerationswert: |
57 |
Beschreibung: |
Der Roboter bearbeitet einen Befehl. |
Der Roboter ist betriebsbereit.
Der Roboter arbeitet Fahrbefehle ab, die mit Hilfe der Schnittstelle IF_RobotMotion abgesetzt wurden.
Enumerationsname: |
ComponentNotConfigured |
Enumerationswert: |
198 |
Beschreibung: |
Die Komponente ist nicht konfiguriert. |
Problem |
Ursache |
Lösung |
---|---|---|
Die Verwendung des zusätzlichen Transformations-TCP war nicht erfolgreich. |
Ein Positionswert ungleich Null wurde für eine nicht konfigurierte TCP-Komponente berechnet und an den Roboter übergeben. |
Sicherstellen, dass ein Positionswert gleich Null für eine nicht konfigurierte TCP-Komponente übergeben wird. |
Enumerationsname: |
ConfigInvalid |
Enumerationswert: |
1 |
Beschreibung: |
Die Konfiguration ist ungültig. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Roboter ist nicht betriebsbereit. |
Die Konfiguration des Roboters ist noch nicht abgeschlossen. |
Eine gültige Transformation, zum Beispiel IF_RobotConfiguration.Delta3Ax, muss konfiguriert werden. Gültige Notfallparameter müssen durch Aufruf der Methode IF_RobotConfiguration.SetEmergencyParameter gesetzt werden. Um die Konfiguration des Roboters abzuschließen, muss die Methode IF_RobotConfiguration.ConfigDone aufgerufen werden. Wenn die Konfiguration erfolgreich abgeschlossen wurde, wird IF_RobotConfiguration.xConfigDone auf TRUE gesetzt. |
Enumerationsname: |
Disabled |
Enumerationswert: |
51 |
Beschreibung: |
Deaktiviert |
Der Roboter wird deaktiviert, keine Aktionen werden ausgeführt.
FB_Robot.xEnable und FB_Robot.xActive haben den Wert FALSE.
FB_Robot.xEnable auf TRUE setzen, um den Roboter zu aktivieren.
Enumerationsname: |
DriveInvalid |
Enumerationswert: |
92 |
Beschreibung: |
Der Antrieb ist ungültig. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Roboter ist nicht betriebsbereit. |
Ein Antrieb, der am Eingang i_ifDrive (oder i_ifDriveA, i_ifDriveB ...) übergeben wurde, ist ungültig. |
Darauf achten, dass am Eingang i_ifDrive ein gültiger Antrieb übergeben wird. |
Enumerationsname: |
DriveNotConfigured |
Enumerationswert: |
65 |
Beschreibung: |
Der Antrieb ist nicht konfiguriert. |
Problem |
Ursache |
Lösung |
---|---|---|
Die Verwendung der zusätzlichen Transformationsachsen war nicht erfolgreich. |
Ein Positionswert ungleich Null wurde für eine nicht konfigurierte Roboterachse berechnet und an den Roboter übergeben. |
Sicherstellen, dass ein Positionswert gleich Null für eine nicht konfigurierte Roboterachse übergeben wird. |
Enumerationsname: |
DriveNotReady |
Enumerationswert: |
85 |
Beschreibung: |
Der Antrieb ist nicht bereit. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Roboter ist nicht betriebsbereit. |
Mindestens ein Antrieb des Roboters ist nicht bereit. |
Vor Aktivieren des Roboters darauf achten, dass alle Antriebe bereit sind. |
ExcessiveTrackingDeviationLimitExceeded
Enumerationsname: |
ExcessiveTrackingDeviationLimitExceeded |
Enumerationswert: |
121 |
Beschreibung: |
Die Schleppfehlerschwelle wurde überschritten. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Roboter ist nicht betriebsbereit. |
Der Schleppfehler einer Roboterkomponente ist größer als der Wert aus Schleppfehlerschwelle multipliziert mit dem Schleppfehlerfaktor, der durch IF_RobotConfigurationAdvanced.SetTrackingDeviationLimit gesetzt ist. |
Die maximale Geschwindigkeit und/oder Beschleunigung der Roboterbewegung in Verbindung mit dem bewegten Produkt prüfen. |
ExternalPositionSourceConfigured
Enumerationsname: |
ExternalPositionSourceConfigured |
Enumerationswert: |
205 |
Beschreibung: |
Die externe Positionsquelle wurde konfiguriert. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Fahrauftrag wurde zurückgewiesen. |
Für die Roboterkomponenten Kartesisch, Orientierung und Hilfsachsen wurde eine externe Positionsquelle konfiguriert. |
Den Bewegungsparameter für die Komponente VelOverride nicht einstellen. Die Konfiguration von VelOverride ist nicht möglich, wenn für die Roboterkomponenten eine externe Positionsquelle konfiguriert wurde. |
Enumerationsname: |
Initializing |
Enumerationswert: |
19 |
Beschreibung: |
Initializing |
Der Roboter wird initialisiert.
FB_Robot.xEnable wurde auf TRUE gesetzt.
Der Wert von FB_Robot.xActive ist TRUE.
Der Roboter wird initialisiert. Warten, bis FB_Robot.xReady auch auf TRUE gesetzt ist.
Enumerationsname: |
Jogging |
Enumerationswert: |
47 |
Beschreibung: |
Jogging |
Jogging ist aktiv.
Der Roboter wird mit der Schnittstelle IF_RobotJogging manuell verfahren.
Enumerationsname: |
LicenseCheckFailed |
Enumerationswert: |
6 |
Beschreibung: |
Die Lizenzprüfung war nicht erfolgreich. |
Der Roboter ist nicht betriebsbereit.
Enumerationsname: |
NotOnPath |
Enumerationswert: |
63 |
Beschreibung: |
Der Roboter ist nicht auf der Bahn. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Roboter ist nicht betriebsbereit. |
IF_RobotJogging.Start mit ET_RobotComponent.Path gewählt, während der Roboter nicht auf der Bahn ist. |
Vor Ausführung von IF_RobotJogging.Start mit ET_RobotComponent.Path einen Warmstart ausführen, um zurück auf die Bahn zu gelangen. |
FB_Robot.xStart wird auf TRUE gesetzt, während der Roboter sich nicht auf der Bahn befindet. |
Einen Warmstart ausführen, um zurück auf die Bahn zu gelangen, bevor FB_Robot.xStart auf TRUE gesetzt wird. |
Enumerationsname: |
OutsideWorkspace |
Enumerationswert: |
104 |
Beschreibung: |
Außerhalb des Arbeitsraums. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Roboter ist nicht betriebsbereit. |
Eine Bewegung des Roboters führt dazu, dass sich eine kartesiche Koordinate außerhalb des Arbeitsraums des Roboters befindet. |
Sicherstellen, dass die Bewegung des Roboters innerhalb des kartesischen Arbeitsraums des Roboters bleibt. |
Enumerationsname: |
PathPositionEndExceeded |
Enumerationswert: |
29 |
Beschreibung: |
Die Endposition auf der Bahn wurde überfahren. |
Der Roboter ist nicht betriebsbereit.
Enumerationsname: |
RefPositionInvalid |
Enumerationswert: |
90 |
Beschreibung: |
Die Ref-Position ist ungültig. |
Der Roboter ist nicht betriebsbereit.
Enumerationsname: |
SchneiderElectricRobotFailed |
Enumerationswert: |
157 |
Beschreibung: |
Ausführung eines Schneider Electric Roboters war nicht erfolgreich. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Roboter ist nicht betriebsbereit. |
Die Konfigurationsmethode IF_RobotConfiguration.SchneiderElectricRobot wurde nicht erfolgreich aufgerufen. |
Die Konfigurationsmethode IF_RobotConfiguration.SchneiderElectricRobot muss bei einem Schneider Electric-Roboter erfolgreich aufgerufen werden. |
Enumerationsname: |
SetPosDetected |
Enumerationswert: |
174 |
Beschreibung: |
SetPos wurde nicht erkannt. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Roboter ist nicht betriebsbereit. |
Ein SetPos wurde an einem logischen Geber eines konfigurierten linearen Trackingsystems erkannt. |
Einen SetPos an keinem logischen Geber eines konfigurierten linearen Trackingsystems ausführen. |
Enumerationsname: |
UnexpectedFeedback |
Enumerationswert: |
13 |
Beschreibung: |
Ein Rückgabewert war ungültig. |
Der Roboter ist nicht betriebsbereit.
Enumerationsname: |
UnexpectedMovement |
Enumerationswert: |
82 |
Beschreibung: |
Die Bewegung war ungültig. |
Der Roboter ist nicht betriebsbereit.
Enumerationsname: |
UnexpectedValue |
Enumerationswert: |
111 |
Beschreibung: |
Der Wert war ungültig. |
Der Roboter ist nicht betriebsbereit.
Enumerationsname: |
WaitForNewCommand |
Enumerationswert: |
56 |
Beschreibung: |
Der Roboter wartet auf einen neuen Befehl. |
Der Roboter ist betriebsbereit.
Der Roboter wartet auf Befehle, die mit der Schnittstelle IF_RobotMotion abgesetzt werden können.
Enumerationsname: |
WaitForStart |
Enumerationswert: |
55 |
Beschreibung: |
Der Roboter wartet auf Start. |
Der Roboter ist betriebsbereit.
FB_Robot.xReady hat den Wert TRUE.
Das System wartet darauf, dass FB_Robot.xStart auf den Wert TRUE gesetzt wird.
Enumerationsname: |
WaitForVelOverride |
Enumerationswert: |
145 |
Beschreibung: |
Der Roboter wartet auf VelOverride. |
Der Roboter ist betriebsbereit.
Der Wert IF_RobotMotion.lrVelOverride ist auf 0 gesetzt.
Den Wert von IF_RobotMotion.lrVelOverride auf einen Wert größer als 0 setzen.
Enumerationsname: |
WaitUntilColdStartFinished |
Enumerationswert: |
2 |
Beschreibung: |
Der Roboter führt einen Kaltstart aus. |
Der Roboter ist betriebsbereit.
Der Roboter führt einen Kaltstart aus. FB_Robot.xReady ist FALSE, bis der Kaltstart abgeschlossen ist.
Enumerationsname: |
WaitUntilDisabled |
Enumerationswert: |
122 |
Beschreibung: |
Der Roboter wird deaktiviert. |
Der Roboter ist nicht betriebsbereit.
FB_Robot.xEnable wurde auf FALSE gesetzt. Der Roboter wird deaktiviert.
Enumerationsname: |
WaitUntilWarmStartFinished |
Enumerationswert: |
46 |
Beschreibung: |
Der Roboter führt einen Warmstart aus. |
Der Roboter ist betriebsbereit.
FB_Robot.xWsSelect und FB_Robot.xWsStart wurden auf den Wert TRUE gesetzt. Der Roboter führt einen Warmstart aus.
Enumerationsname: |
WarmStartNotPossible |
Enumerationswert: |
173 |
Beschreibung: |
Ein Warmstart ist nicht möglich. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Roboter ist nicht betriebsbereit. |
Ein Warmstart des Roboters ist nicht möglich. Aufforderung zur Änderung des Koordinatensystems wird gesendet. |
Einen Kaltstart des Roboters durchführen. |
Ein Warmstart des Roboters ist nicht möglich. Der Roboter war vor der Deaktivierung im Tracking. |
Einen Kaltstart des Roboters durchführen. |
Enumerationsname: |
WarmStartWaitForWsStart |
Enumerationswert: |
62 |
Beschreibung: |
Der Roboter wird einen Warmstart ausführen. |
Der Roboter ist betriebsbereit.
Bei der Aktivierung des Roboters (FB_Robot.xEnable FALSE -> TRUE) wurde FB_Robot.xWsSelect auf den Wert TRUE gesetzt.
Das System wartet darauf, dass FB_Robot.xWsStart auf den Wert TRUE gesetzt wird, um einen Warmstart auszuführen.
Enumerationsname: |
WorkEnvelope |
Enumerationswert: |
159 |
Beschreibung: |
Diagnosemeldung bezüglich des Arbeitsraums ist aktiv. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Roboter ist nicht betriebsbereit. |
Der Roboter hat eine Störung des gültigen Arbeitsraums erkannt und davor angehalten. |
Darauf achten, dass die Bewegung des Roboters immer innerhalb des gültigen Arbeitsraums des Roboters bleibt. |