FC_SemaphoreMeCreate

 

FC_SemaphoreMeCreate - Allgemeine Informationen

Übersicht

Typ

Funktion

Verfügbar ab:

V1.0.7.0

Versionen:

Aktuelle Version

Aufgabe

Erzeugen einer Semaphore.

Beschreibung

Die Funktion initialisiert eine Datenstruktur vom Typ ST_SemaphoreMe. Sie legt eine semaphore vom Typ MutualExclusion mit den Einstellungen SEM_Q_PRIORITY und SEM_INVER­SION_SAFE an. Die gewählten Einstellungen sorgen dafür, dass Tasks, die an der Semaphore warten, in der Reihenfolge ihrer Priorität aktiviert werden. Außerdem wird das Problem der „Priority Inversion“ verhindert.

Für Einschränkungen bei der Verwendung siehe die Hinweise zur Verwendung der Funktion „SemaphoreMutualExclusion“.

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 zur Verwaltung der erzeugten Semaphore

Diagnosemeldungen

q_etDiag

q_etDiagExt

Enumerationswert

Beschreibung

OK

Ok

0

OK

ControllerConditionInvalid

ControllerInvalid

100

Die Steuerung wird nicht unterstützt.

InputParameterInvalid

SemaphoreMeIdInvalid

272

Die ID der SemaphoreMe ist ungültig.

UnexpectedProgramBehavior

SemaphoreMeSymbolNotFound

267

Ein Symbol der SemaphoreMe wurde nicht gefunden.

UnexpectedProgramBehavior

UnexpectedFeedback

1

Es ist ein unbeabsichtigter Fehler während der Ausführung aufgetreten.

ControllerInvalid

Enumerationsname:

ControllerInvalid

Enumerationswert:

100

Beschreibung:

Die Steuerung wird nicht unterstützt.

Problem

Ursache

Lösung

-

Die Steuerung liefert nicht die erforderlichen Voraussetzungen.

Siehe Ausgang q_sMsg für nähere Einzelheiten.

Ok

Enumerationsname:

Ok

Enumerationswert:

0

Beschreibung:

OK

Die Semaphore wurden erfolgreich erzeugt.

SemaphoreMeIdInvalid

Enumerationsname:

SemaphoreMeIdInvalid

Enumerationswert:

272

Beschreibung:

Die ID der SemaphoreMe ist ungültig.

Problem

Ursache

Lösung

-

Die Semaphore am Eingang iq_stSemMe wird bereits verwendet.

Verwenden Sie eine andere Struktur, um eine zweite Semaphore zu erzeugen.

Löschen Sie die Semaphore mit FC_SemaphoreMeDelete, bevor Sie die neue Semaphore erzeugen.

SemaphoreMeSymbolNotFound

Enumerationsname:

SemaphoreMeSymbolNotFound

Enumerationswert:

267

Beschreibung:

Ein Symbol der SemaphoreMe wurde nicht gefunden.

Problem

Ursache

Lösung

-

Es ist ein Fehler in der internen Abarbeitung aufgetreten.

Bitte informieren Sie das Supportteam über diesen Fehler.

UnexpectedFeedback

Enumerationsname:

UnexpectedFeedback

Enumerationswert:

1

Beschreibung:

Es ist ein unbeabsichtigter Fehler während der Ausführung aufgetreten.

Problem

Ursache

Lösung

-

Es ist ein Fehler in der internen Abarbeitung aufgetreten.

Bitte informieren Sie das Supportteam über diesen Fehler.