NEU! UPGRADE IP 10 verfügbar!
Optimierte Darstellung von VISU Editor und VISU Client - sowie viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/8HzePCm3

Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Ab sofort kann jeder die neue VISU & IFTTT testen. Info: viewtopic.php?f=8&t=5074

Release V 4 am 15. Juni 2024
Es gibt nun einen fixen Termin. Info: viewtopic.php?f=8&t=5117

NEU! Ausführliches Video Tutorial zur IP 10
Jetzt werden alle Fragen beantwortet. Das Video: https://youtu.be/_El-zaC2Rrs

custom Logik : Wenn - Dann

Informationen und Diskussionen über Logik-Engine und Logik-Editor
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln
Antworten

Ersteller
Robosoc
Reactions:
Beiträge: 1876
Registriert: Di Okt 09, 2018 9:26 am
Hat sich bedankt: 637 Mal
Danksagung erhalten: 775 Mal

custom Logik : Wenn - Dann

#1

Beitrag von Robosoc »

Moin,
ich stehe gerade voll auf dem Schlauch und brauch mal einen Gedankenanstoß...

Welchen Baustein würdet Ihr nutzen um in einer Custom-Logik Folgendes zu realisieren?

Wenn Variable (bool) = false dann Variable (Integer) = 0.

Ich würde das jetzt vermutlich über einen Multiplexer lösen, aber habe das Gefühl es geht viel einfacher...nur wie :think:
VG, Sven - TWS 950Q ID:335 & 291, VPN offen, Reboot OK

Matze76
Reactions:
Beiträge: 314
Registriert: Mo Sep 24, 2018 9:59 am
Hat sich bedankt: 283 Mal
Danksagung erhalten: 195 Mal

#2

Beitrag von Matze76 »

Moin,

z. B. eine AND-Logik mit einem Eingang und ein Ausgangs-Mapping:
Eingang: bool
Ausgang: Function "Mapping", Mapping for false = 0
Gruß
Matthias

TWS 2500 ID:110 + PBM, VPN offen, Reboot nach Rücksprache

Ersteller
Robosoc
Reactions:
Beiträge: 1876
Registriert: Di Okt 09, 2018 9:26 am
Hat sich bedankt: 637 Mal
Danksagung erhalten: 775 Mal

#3

Beitrag von Robosoc »

Danke für die schnelle Antwort Matze!

Da ich nicht weiß, wie man im JSON Costum-Code Mapping in einer AND-Logik einstellt, habe ich eine simple AND Logik im LE angelegt, ein Mapping eingestellt und mir den Code angeschaut. Das Mapping wird - so scheint es mir - ebenfalls über einen Multiplexer realisiert. Dann lag ich wohl doch gar nicht so falsch.

Code: Alles auswählen

{
    "levels": [
        "$VAR<In>0",
        "$Out",
        "$OutLE-FUNCTION-99425.67521116465-1",
        "$OutLE-FUNCTION-99425.67521116465-0",
        "LE-OUTPUT-1"
    ],
    "modules": [
        [
            "Break",
            []
        ],
        [
            "And",
            [
                "$VAR<In>0"
            ],
            "$Out"
        ],
        [
            "Multiplexer",
            [
                "$OutLE-FUNCTION-99425.67521116465-1",
                "$OutLE-FUNCTION-99425.67521116465-0"
            ],
            "LE-OUTPUT-1",
            "$Out"
        ]
    ],
    "inputPorts": [
        {
            "name": "Input",
            "description": "IN",
            "mnemonic": "$VAR<In>0-LE-INPUT-0",
            "triggerType": "c",
            "type": "boolean",
            "optional": false,
            "multiple": true
        }
    ],
    "outputPorts": [
        {
            "name": "Output",
            "description": "OUT",
            "mnemonic": "LE-OUTPUT-1",
            "triggerType": "c",
            "type": "float",
            "optional": false,
            "multiple": false
        }
    ]
}
VG, Sven - TWS 950Q ID:335 & 291, VPN offen, Reboot OK

Matze76
Reactions:
Beiträge: 314
Registriert: Mo Sep 24, 2018 9:59 am
Hat sich bedankt: 283 Mal
Danksagung erhalten: 195 Mal

#4

Beitrag von Matze76 »

Ach, sorry, ich hatte das "custom" überlesen. Aber wenn es dich trotzdem weitergebracht hat ist ja gut ;)
Gruß
Matthias

TWS 2500 ID:110 + PBM, VPN offen, Reboot nach Rücksprache

Ersteller
Robosoc
Reactions:
Beiträge: 1876
Registriert: Di Okt 09, 2018 9:26 am
Hat sich bedankt: 637 Mal
Danksagung erhalten: 775 Mal

#5

Beitrag von Robosoc »

Also müsste folgendes zu meinem gewünschten Ergebnis führen, oder?

Ziel 1:
Wenn $Select (Typ bool) = false dann $Out (Typ Integer) = 0, sonst nichts ändern

Vorschlag 1:

Code: Alles auswählen

["Multiplexer",[0,"$Unused"],"$Out","$Select"]

Wenn das stimmt, wäre das eventuell was für die Knowledge Base.

Und dann hätte ich gleich noch eine Frage hinterher:
Kann man mit dem Multiplexer auch gleichzeitig zwei Variablen verscheidenen Typs schalten:

Ziel 2:
Wenn $Select (Typ bool) = false dann [$Out_i (Typ Integer) = 0 UND $Out_B (Typ bool) = false ], sonst nichts ändern

Vorschlag 2:

Code: Alles auswählen

["Multiplexer",[0,"$Unused"],["$Out_i","$Out_b"],"$Select"]
Zuletzt geändert von Robosoc am Sa Sep 14, 2019 10:23 am, insgesamt 1-mal geändert.
VG, Sven - TWS 950Q ID:335 & 291, VPN offen, Reboot OK
Antworten

Zurück zu „Logikengine & Logik-Editor“