...
Einleitung
Oft taucht die Frage auf, wie man IF-THEN-ELSE Konstrukte aus Programmierhochsprachen in Logiken umsetzen kann. Nachstehend daher ein paar Möglichkeiten dazu, mit der sich (fast) alles umsetzen lassen sollte.
Lösungsmöglichkeiten
IF-THEN-ELSE mit dem AND-Baustein
In den meisten Fällen lässt sich eine Wenn - Dann - Sonst Logik mittels eines simplen AND-Bausteins lösen. : zB: IF (Eingang)=True THEN (Ausgang=True), ELSE (Ausgang=False)
Wenn es nicht um eine rein binäre Logik geht, dann können die Eingangsfunktionen Innerhalb Bereich, Schwellwert unter oder Schwellwert über und/oder die Ausgangsfunktion Mapping verwendet werden:
...
verwendet werden.
Mit der Ausgangsfunktion Mapping kann dann die Ausgabe True/False in Zahlenwerte, Texte etc. gewandelt werde.
zB: IF(8<=Eingang<=10) THEN (Ausgang=5) ELSE (Ausgang=100)
...
Liegt der Eingangswert zwischen 8 und 10 wird am Ausgang 5 gesendet, in allen anderen Fällen wird 100 gesendet.
...
IF-THEN-ELSE oder SWITCH CASE mit dem Multiplexer-Baustein
Der Multiplexer erlaubt die Auswahl eines Einganges für den Ausgang abhängig vom Selektor. Bei 2 Zuständen ist diese Lösung gleichwertig mit dem AND-Baustein. Bei 3 und mehr Eingängen entspricht der Multiplexer einem SWITCH CASE, wobei mit dem Selektor der jeweilige Fall ausgewählt wird.
...
IF-THEN-ELSE mit dem Begrenzer-Baustein
Der Ausgang Wert_OK des Begrenzers gibt an, ob der Wert innerhalb der definierten Minimum/Maximum Grenzen liegt. Mittels Mapping kann daraus ein beliebiger Ausgangswert zugewiesen werden.
zB: IF(8<=Eingang<=10) THEN (Ausgang=5) ELSE (Ausgang=100)
...
IF-THEN-ELSE
...
und SWITCH CASE in Custom Logiken
Für Custom Logiken steht neben den oben beschriebenen Möglichkeiten auch das Funktionsmodul LATCH zur Verfügung.
["Latch","$Eingang","$Ausgang","$Trigger",TriggerOption],
Bei erfüllter Triggerbedingung wird der Eingangswert auf den Ausgang übernommen. Dies entspricht einer reinen IF-THEN Bedingung.