Typ: |
Methode |
Verfügbamr ab: |
V1.0.0.0 |
Dieses Kapitel enthält Informationen zu folgenden Aspekten:
Diese Methode ermöglicht die Aktualisierung der internen Darstellung der Kollisionseinheit.
Bei einem Aufruf dieser Methode sind zwei Verhaltensweisen möglich, je nach dem Wert des Eingangs i_xUpdateGroups.
Wenn bei einem Aufruf der Methode Update: i_xUpdateGroups = FALSE, dann müssen alle der Einheit hinzugefügten Gruppen bereits erfolgreich aktualisiert sein (xUpdated = TRUE für jede Gruppe).
Wenn bei einem Aufruf der Methode Update: i_xUpdateGroups = TRUE, dann wird die Methode Update für jede der Einheit hinzugefügten Gruppe aufgerufen und muss erfolgreich sein. Andernfalls erzeugt der Aktualisierungsaufruf einen Fehler.
Der Funktionsbaustein implementiert die Schnittstelle IF_CollisionEntity.
Zugriff: PUBLIC
Eingang |
Datentyp |
Beschreibung |
---|---|---|
i_xUpdateGroups |
BOOL |
Wenn bei einem Aufruf dieser Methode Update auf TRUE gesetzt wird, dann wird ebenfalls die Methode für jede gespeicherte Gruppe aufgerufen. |
Ausgang |
Datentyp |
Beschreibung |
---|---|---|
q_xError |
BOOL |
Der Ausgang wird auf TRUE gesetzt, wenn bei der Ausführung ein Fehler erkannt wurde. |
q_etResult |
POU-spezifischer Ausgang der Diagnose. q_xError = FALSE -> Statusmeldung. q_xError = TRUE -> Diagnosemeldung. |
|
q_sResultMsg |
STRING(80) |
Ereignisabhängige Meldung, die zusätzliche Informationen über den Diagnosezustand gibt. |
q_xError |
q_etResult |
Enumerationswert |
Beschreibung |
---|---|---|---|
FALSE |
0 |
Erfolg |
|
TRUE |
35 |
Die Kollisionseinheit ist leer. |
|
TRUE |
37 |
Eine Kollisionsgruppe kann nicht aktualisiert werden. |
|
TRUE |
21 |
Eine Kollisionsgruppe wurde nicht aktualisiert. |
|
TRUE |
51 |
Die bereitgestellte Schnittstelle für Kollisionsabfragen bezieht sich auf einen ungültigen Typ. |
Enumerationsname: |
CollisionEntityEmpty |
Enumerationswert: |
35 |
Beschreibung: |
Die Kollisionseinheit ist leer. |
Problem |
Ursache |
Lösung |
---|---|---|
Es konnte keine Aktualisierung durchgeführt werden. |
In der Einheit sind keine Kollisionsobjekte vorhanden, d. h. udiNumberOfCollisionGroups = 0. |
Fügen Sie mindestens eine Kollisionsgruppe zur Einheit hinzu, bevor Sie die Methode Update aufrufen. |
Enumerationsname: |
CollisionGroupUpdateNotPossible |
Enumerationswert: |
37 |
Beschreibung: |
Eine Kollisionsgruppe kann nicht aktualisiert werden. |
Problem |
Ursache |
Lösung |
---|---|---|
Es konnte keine Aktualisierung durchgeführt werden. |
Der Eingang i_xUpdateGroups wurde auf TRUE gesetzt, es kann jedoch keine erfolgreiche Aktualisierung für mindestens eine der Gruppen durchgeführt werden. |
Stellen Sie sicher, dass xConfigured = TRUE ist für alle Kollisionsobjekte in allen gespeicherten Gruppen, bevor Sie die Methode Update mit i_xUpdateGroups = TRUE aufrufen. |
Enumerationsname: |
CollisionGroupNotUpdated |
Enumerationswert: |
21 |
Beschreibung: |
Eine Kollisionsgruppe wurde nicht aktualisiert. |
Problem |
Ursache |
Lösung |
---|---|---|
Es konnte keine Aktualisierung durchgeführt werden. |
Der Eingang i_xUpdateGroups wird auf FALSE gesetzt, aber für nicht alle gespeicherten Gruppe ist xUpdated = TRUE. |
Stellen Sie sicher, dass xUpdated = TRUE ist für alle gespeicherten Gruppen, bevor Sie die Methode Update mit i_xUpdateGroups = FALSE aufrufen. |
Enumerationsname: |
CollisionEntityUpdateNotPossible |
Enumerationswert: |
52 |
Beschreibung: |
Die bereitgestellte Schnittstelle für Kollisionsabfragen bezieht sich auf einen ungültigen Typ. |
Problem |
Ursache |
Lösung |
---|---|---|
Es konnte keine Aktualisierung durchgeführt werden. |
Mindestens eine der konfigurierten Schnittstellen in der Eigenschaft raifCollisionGroups wurde auf null gesetzt. |
Um diesen Fehler zu beheben, führen Sie einen erfolgreichen Aufruf der Methode Reset durch und fügen Sie dann die erforderlichen Gruppen über einen Aufruf von AddCollisionGroup erneut hinzu. |