Decision2Values (Entscheidung - 2 Werte)

Dieser Baustein gehört zum Paket „Free – Decision (Entscheidung).“

Paket-Preis: 0,00€

Kurzbeschreibung

Diese Methode entscheidet anhand der Eingänge TakeFirstValue und Activate, ob der erste oder der zweite Eingabewert (Value1 oder Value2) als Ausgangswert verwendet wird. Nur wenn sich der Wert ändert und der Activate-Schalter aktiviert ist, wird der neue Wert am Ausgang Output ausgegeben. Zudem werden Fehler während der Ausführung protokolliert.

Besonderheit

  • Flexible Wertewahl:
    Die Methode ermöglicht es, zwischen zwei möglichen Eingabewerten (Value1 und Value2) zu wählen. Dieser Wert wird dann in den Ausgang Output übertragen.
  • Steuerbarkeit über Aktivierung:
    Die Funktion wird nur ausgeführt, wenn der Activate-Eingang auf „True“ gesetzt ist. Ohne diese Aktivierung erfolgt keine weitere Verarbeitung.
  • Optimierte Ausgabeaktualisierung:
    Der Ausgangswert Output wird nur aktualisiert, wenn sich der ausgewählte Wert ändert, was unnötige Aktualisierungen verhindert.
  • Protokollierung:
    Die Methode speichert und zeigt eventuelle Fehler durch die Variable LogExecute an.

Die Decision2Values-Methode bietet eine einfache, aber flexible Möglichkeit, dynamisch zwischen zwei Eingabewerten zu wählen und diese weiterzuverarbeiten. Bei aktivierter Funktionalität (durch den Activate-Eingang) überprüft die Methode, ob der Eingang TakeFirstValue aktiviert ist, um zu entscheiden, ob Value1 oder Value2 als Ausgangswert genutzt wird.

Sobald der entsprechende Eingabewert gewählt wurde, prüft die Methode, ob sich dieser Wert seit der letzten Ausgabe verändert hat. Ist dies der Fall und der Wert ist nicht „null“, wird der neue Wert als Output ausgegeben, wodurch unnötige Aktualisierungen vermieden werden.

Falls während der Ausführung ein Fehler auftritt, wird dieser abgefangen und im LogExecute-Ausgang protokolliert. Hierbei wird auch ein Zeitstempel hinzugefügt, um die Nachverfolgbarkeit von Fehlern zu gewährleisten.

  • Activate (bool):
    Steuert die Ausführung der Methode. Nur wenn dieser Eingang auf „True“ gesetzt ist, wird der Ausgabewert aktualisiert.
  • TakeFirstValue (bool):
    Entscheidet, ob Value1 (bei „True“) oder Value2 (bei „False“) als Ausgangswert verwendet wird.
  • Value1 (beliebiger Typ): 
    Entscheidet, ob Value1 (bei „True“) oder Value2 (bei „False“) als Ausgangswert verwendet wird.
  • Value2 (beliebiger Typ):
    Entscheidet, ob Value1 (bei „True“) oder Value2 (bei „False“) als Ausgangswert verwendet wird.
  • Output (beliebiger Typ):
    Gibt den ausgewählten Wert (Value1 oder Value2) als Ausgang aus. Der Wert wird nur aktualisiert, wenn sich der ausgewählte Eingabewert verändert hat.
  • LogExecute (string):
    Ein Protokoll, das Fehler während der Ausführung speichert und anzeigt.

Beschreibung:

Die Methode wird genutzt, um basierend auf einem externen Schalter zwischen zwei Sensorwerten zu wechseln.

  • Eingabe:
    • Activate = true
    • TakeFirstValue = true
    • Value1 ist ein Temperaturwert (z.B. 23°C)
    • Value2 ist ein Druckwert (z.B. 1,2 Bar).
  • Ausgabe:
    Der Output gibt den Temperaturwert (23°C) aus. Wenn TakeFirstValue auf „False“ umgeschaltet wird, gibt der Output den Druckwert aus.

Beschreibung:

Bei Aktivierung wird ein alternativer Notfallwert bereitgestellt, der angezeigt werden soll.

  • Eingabe:
    • Activate = true
    • TakeFirstValue = false
    • Value1 ist der Normalwert (z.B. Betriebsmodus „Normal“)
    • Value2 ist der Notfallwert („Emergency“).
  • Ausgabe:
    Der Output gibt den Notfallwert („Emergency“) aus, falls TakeFirstValue deaktiviert bleibt.
Warum wird der Output nicht aktualisiert, obwohl Activate aktiviert ist?

Der Output wird nur aktualisiert, wenn sich der Wert ändert. Prüfen Sie, ob der gewünschte Wert wirklich anders ist als der letzte Ausgangswert.

Was passiert, wenn ein Fehler während der Ausführung auftritt?

Der Fehler wird im LogExecute-Ausgang mit einer Fehlermeldung und einem Zeitstempel protokolliert.

Kann die Methode mit beliebigen Datentypen für Value1 und Value2 arbeiten?

Ja, Value1 und Value2 können beliebige Datentypen haben, die auch für den Output genutzt werden.

  • Version 3.0.10
    • First Release

Baustein-Support

Wenn Sie X1-Logik-Baustein-Support benötigen, senden Sie uns bitte zusätzlich den Log (LogExecute und LogSchedule, welcher als Ausgang des Bausteins ausgegeben wird) und eine detaillierte Beschreibung des Problems zu!