FC_SemaphoreMeDelete

 

FC_SemaphoreMeDelete - Allgemeine Informationen

Übersicht

Typ

Funktion

Verfügbar ab:

V1.0.7.0

Versionen:

Aktuelle Version

Aufgabe

Vernichten einer Semaphore.

Beschreibung

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.

Schnittstelle

Ausgang

Datentyp

Beschreibung

q_etDiag

GD.ET_Diag

Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose.

Ein Wert ungleich ET_Diag.Ok entspricht einer Diagnosemeldung.

q_etDiagExt

ET_DiagExt

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

ST_SemaphoreMe

Struktur der zu vernichtenden Semaphore

Rückgabewert

Datentyp

Beschreibung

BOOL

TRUE: Die Semaphore wurden erfolgreich vernichtet.

FALSE: Die Semaphore wurden nicht vernichtet.

Diagnosemeldungen

q_etDiag

q_etDiagExt

Enumerationswert

Beschreibung

OK

Ok

0

OK

InputParameterInvalid

SemaphoreMeNotInitialized

266

SemaphoreMe ist nicht initialisiert.

UnexpectedProgramBehavior

SemaphoreMeDeleteFailed

274

Löschen der SemaphoreMe fehlgeschlagen.

UnexpectedProgramBehavior

SemaphoreMeDeleteTimeout

270

Timeout beim Löschen der SemaphoreMe

Ok

Enumerationsname:

Ok

Enumerationswert:

0

Beschreibung:

OK

Die Semaphore wurden erfolgreich vernichtet.

SemaphoreMeDeleteFailed

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.

SemaphoreMeDeleteTimeout

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.

SemaphoreMeNotInitialized

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.