Eingänge/Ausgänge negieren

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/information.svg logi.CAD 3 verwendet den Ausdruck "negieren" und "Negierung". Sie kennen das Verhalten u.U. als "invertieren" oder "Invertierung".

So schalten Sie das negierende Verhalten eines Ein-/Ausgangs im →grafischen FBS-Editor um:

  1. Selektieren Sie einen oder mehrere Eingänge/Ausgänge des FBS-Elements (z.B. eines →Aufrufs eines →Bausteins oder eines →Wertfelds, das eine →Variable enthält), indem Sie auf die Ein-/Ausgänge klicken, während Sie die Strg-Taste gedrückt halten.
    Negierungen sind nur für eingeblendete Ein-/Ausgänge vom →allgemeinen Datentyp ANY_BIT erlaubt. Die Ein-/Ausgänge von anderen Datentypen können Sie nicht negieren.

  2. Im Kontextmenü des FBS-Editors wählen Sie Ein-/Ausgang negieren. Alternative: Drücken Sie die i-Taste oder doppelklicken Sie.
    Ergebnis: Der Ein-/Ausgang wird negiert. Falls er jedoch bereits negiert war, wird die Negierung entfernt.

Negierte Eingänge und Ausgänge werden durch kleine Kreise um den jeweiligen Ein-/Ausgang dargestellt. Die Farbe des Kreis wird von dem Datentyp bestimmt, der dem Ein-/Ausgang zugeordnet ist.
Beispiel: Der Eingang IN1 des Funktionsaufrufs MyFun ist negiert.
images/download/attachments/443058153/NegatedIO-version-1-modificationdate-1587640136787-api-v2.png

Hinweise und Einschränkungen

  • Negierte Eingänge, an denen kein anderes Element angeschlossen ist, verursachen standardmäßig eine Warnung. Grund: logi.cals warnt vor der Verwendung von solchen Eingängen, da die →IEC-Norm nur die folgende allgemeine Vorgabe für das Verhalten einer Negierung enthält: The negation is performed outside the POU.
    Die IEC-Norm enthält jedoch keine spezifischen Vorgaben, wie sich negierte Eingänge verhalten sollen, an denen kein anderes Element angeschlossen. Informieren Sie sich am besten anhand der folgenden Beispiele über das Verhalten von Negierungen in logi.CAD 3.
    images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/information.svg Diese Validierung erfolgt aufgrund der Regel Negierungen von nicht-verbundenen Baustein-Eingangen sind nicht erlaubt . Bei Bedarf können Sie die vorgegeben Konfiguration der Regel ändern.

  • Es ist auch möglich, die Negierungen von allen Eingängen/Ausgängen zu verbieten. In diesem Fall aktivieren Sie die Regel Eingänge und Ausgänge dürfen nicht negiert werden.

  • Zusätzlich verbietet logi.CAD 3 die Negierung von einigen Eingängen – unabhängig von der oben-genannten Regeln. Falls Sie solche Eingänge trotzdem negieren, erhalten Sie eine entsprechende Fehlermeldung.
    Die Negierung von diesen Eingängen wird nie unterstützt:

    • unbeschaltete Eingänge für die Transitionsbedingung

    • unbeschaltete Wertfeld-Eingänge

Beispiele für das Verhalten von negierten Eingängen

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/information.svg Die folgenden Beispiele illustrieren das Verhalten für →Funktionen. Das gleiche Verhalten gilt aber auch für →Funktionsbausteine.


Ausgangsszenario 1: Der Wert des Booleschen Eingangs G des SEL-Funktion entscheidet, ob die Funktion den Wert des Eingangs IN0 oder IN1 liefert: Bei FALSE liefert die Funktion den Wert von IN0.
images/download/attachments/469860358/NegateInput1-version-1-modificationdate-1626182805453-api-v2.png

Beispiel 1.1: Durch die Negierung des Eingangs G wird der Wert FALSE der Variable boolSel negiert. Somit gilt der Wert TRUE für den Eingang G. Bei TRUE liefert die Funktion den Wert von IN1.
images/download/attachments/469860358/NegateInput2-version-1-modificationdate-1626182805230-api-v2.png

Beispiel 1.2: Falls der Eingang G unbeschaltet und negiert ist, wird der Standard-→Initialisierungswert FALSE von BOOL negiert. Somit gilt wieder der Wert TRUE für den Eingang G. Und wie beim Beispiel 1 liefert die Funktion den Wert von IN1.

images/download/thumbnails/469860358/NegateInput3-version-2-modificationdate-1626183407733-api-v2.png
Das Symbol beim Aufruf der Funktion zeigt, dass der Aufruf eine Warnung verursacht. Im Detail wird diese Warnung aufgrund des negierten Eingangs verursacht, an dem kein anderes Element angeschlossen ist,


Ausgangsszenario 2: Die anwenderdefinierte Funktion weist den Wert des Eingangs IN1 dem Ausgang OUT1 zu.
images/download/attachments/469860358/NegateInput4-version-1-modificationdate-1626184254478-api-v2.png

Beispiel 2.1: Durch die Negierung des Eingangs IN1 wird der Wert TRUE der Variable boolfun1 negiert. Somit gilt der Wert FALSE für den Eingang IN1, der dem Ausgang OUT1 zugewiesen wird.

images/download/attachments/469860358/NegateInput5-version-1-modificationdate-1626184254334-api-v2.png

Beispiel 2.2: Falls der Eingang IN1 unbeschaltet und negiert ist, wird der (in der Funktion vorgegebene) Initialisierungswert TRUE des Eingangs IN1 negiert. Somit gilt wieder der Wert FALSE für den Eingang IN1. Und wie beim Beispiel 2.1 wird FALSE dem AusganglOUT1 zugewiesen.

images/download/thumbnails/469860358/NegateInput6-version-1-modificationdate-1626184254569-api-v2.png
Das Symbol beim Aufruf der Funktion zeigt, dass der Aufruf eine Warnung verursacht. Im Detail wird diese Warnung aufgrund des negierten Eingangs verursacht, an dem kein anderes Element angeschlossen ist,


Ausgangsszenario 3: Der Wert des Eingangs EN der anwenderdefinierten Funktion (aus Beispiel 2) entscheidet über die Ausführung der Funktion.
Details zum Verhalten finden Sie unter "Ausführungssteuerung: EN, ENO". Hier eine kurze Zusammenfassung:

Bei EN=TRUE wird d ie Funktionalität der Funktion ausgeführt, also die Zuweisung von IN1 auf OUT1.
Der Ausgang ENO wird auf TRUE gesetzt.

Falls EN nicht beschaltet ist, gilt der vorgegebene Standardwert TRUE für EN.

EN mit Beschaltung, EN=TRUE:
images/download/attachments/469860358/NegateInput7-version-1-modificationdate-1626247717954-api-v2.png

EN ohne Beschaltung, EN=TRUE:

images/download/attachments/469860358/NegateInput9-version-1-modificationdate-1626247717522-api-v2.png

Bei EN=FALSE wird d ie Funktionalität der Funktion nicht ausgeführt.
Der Ausgang ENO wird auf FALSE gesetzt.

EN mit Beschaltung, EN=FALSE:
images/download/attachments/469860358/NegateInput8-version-1-modificationdate-1626247717872-api-v2.png

Beispiel 3.1: Falls der Eingang EN unbeschaltet und negiert ist, wird vorgegebene Standardwert TRUE für EN negiert. Somit gilt der Wert FALSE für den Eingang EN, wodurch die Funktionalität der Funktion nicht ausgeführt wird und der Ausgang ENO auf FALSE gesetzt wird.

images/download/attachments/469860358/NegateInput10-version-1-modificationdate-1626247718033-api-v2.png
Das Symbol beim Aufruf der Funktion zeigt, dass der Aufruf eine Warnung verursacht. Im Detail wird diese Warnung aufgrund des negierten Eingangs EN verursacht, an dem kein anderes Element angeschlossen ist,