Eingänge/Ausgänge negieren
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:
- 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 DatentypANY_BIT
erlaubt. Die Ein-/Ausgänge von anderen Datentypen können Sie nicht negieren. - 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.
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.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
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
.
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
.
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
.
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.
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.
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.
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 Falls |
|
Bei EN=FALSE wird die Funktionalität der Funktion nicht ausgeführt.Der Ausgang ENO wird auf FALSE gesetzt. |
|
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.
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,