FC_SemaphoreMeDelete - Allgemeine Informationen
Typ |
Funktion |
Verfügbar ab: |
V1.0.7.0 |
Versionen: |
Aktuelle Version |
Vernichten einer Semaphore.
Der Aufruf der Funktion vernichtet die übergebene Semaphore. Vor dem Löschen wird ein Take() für die Semaphore ausgeführt. Falls die Semaphore nicht frei sein sollte, wird die aufrufende Task blockiert.
Für Einschränkungen bei der Verwendung siehe die Hinweise zur Verwendung der Funktion „SemaphoreMutualExclusion" Function.
Ausgang |
Datentyp |
Beschreibung |
---|---|---|
q_etDiag |
Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose. Ein Wert ungleich ET_Diag.Ok entspricht einer Diagnosemeldung. |
|
q_etDiagExt |
POU-spezifischer, diagnosebezogener Ausgang. q_etDiag = ET_Diag.Ok -> Statusmeldung q_etDiag <> ET_Diag.Ok -> Diagnosemeldung |
|
q_sMsg |
STRING[80] |
Ereignisabhängige Meldung mit detaillierten Informationen zum Diagnosezustand. |
Ein-/Ausgang |
Datentyp |
Beschreibung |
---|---|---|
iq_stSemMe |
Struktur der zu vernichtenden Semaphore |
Datentyp |
Beschreibung |
---|---|
BOOL |
TRUE: Die Semaphore wurden erfolgreich vernichtet. FALSE: Die Semaphore wurden nicht vernichtet. |
q_etDiag |
q_etDiagExt |
Enumerationswert |
Beschreibung |
---|---|---|---|
OK |
0 |
OK |
|
InputParameterInvalid |
266 |
SemaphoreMe ist nicht initialisiert. |
|
UnexpectedProgramBehavior |
274 |
Löschen der SemaphoreMe fehlgeschlagen. |
|
UnexpectedProgramBehavior |
270 |
Timeout beim Löschen der SemaphoreMe |
Enumerationsname: |
Ok |
Enumerationswert: |
0 |
Beschreibung: |
OK |
Die Semaphore wurden erfolgreich vernichtet.
Enumerationsname: |
SemaphoreMeDeleteFailed |
Enumerationswert: |
274 |
Beschreibung: |
Löschen der SemaphoreMe fehlgeschlagen. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Es ist ein Fehler in der internen Abarbeitung aufgetreten. |
Bitte informieren Sie das Supportteam über diesen Fehler. |
Enumerationsname: |
SemaphoreMeDeleteTimeout |
Enumerationswert: |
270 |
Beschreibung: |
Timeout beim Löschen der SemaphoreMe |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Es wurde versucht, eine Semaphore zu vernichten, die gerade genutzt wird und nicht innerhalb eines Timeout freigegeben wurde. |
Stellen Sie sicher, dass die Semaphore mit FC_SemaphoreMeGive freigegeben und mit FC_SemaphoreMeTake reserviert wurde. |
Enumerationsname: |
SemaphoreMeNotInitialized |
Enumerationswert: |
266 |
Beschreibung: |
SemaphoreMe ist nicht initialisiert. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Die Semaphore ist nicht initialisiert. |
Übergeben Sie am Eingang FC_SemaphoreMeCreate dieselbe Semaphore, die beim Aufruf von iq_stSemMe verwendet wurde. |