FC_SemaphoreMeCreate - Allgemeine Informationen
Typ |
Funktion |
Verfügbar ab: |
V1.0.7.0 |
Versionen: |
Aktuelle Version |
Erzeugen einer Semaphore.
Die Funktion initialisiert eine Datenstruktur vom Typ ST_SemaphoreMe. Sie legt eine semaphore vom Typ MutualExclusion mit den Einstellungen SEM_Q_PRIORITY und SEM_INVERSION_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“.
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 zur Verwaltung der erzeugten Semaphore |
q_etDiag |
q_etDiagExt |
Enumerationswert |
Beschreibung |
---|---|---|---|
OK |
0 |
OK |
|
ControllerConditionInvalid |
100 |
Die Steuerung wird nicht unterstützt. |
|
InputParameterInvalid |
272 |
Die ID der SemaphoreMe ist ungültig. |
|
UnexpectedProgramBehavior |
267 |
Ein Symbol der SemaphoreMe wurde nicht gefunden. |
|
UnexpectedProgramBehavior |
1 |
Es ist ein unbeabsichtigter Fehler während der Ausführung aufgetreten. |
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. |
Enumerationsname: |
Ok |
Enumerationswert: |
0 |
Beschreibung: |
OK |
Die Semaphore wurden erfolgreich erzeugt.
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. |
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. |
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. |