UPGRADE IP 9 verfügbar!
Timberwolf VISU jetzt mit NEUEM Layout Editor
Freie Anordnung, Reihenfolge und Größe der Widgets - viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/06SeuHRJ

NEU! Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Damit kann nun jeder das Upgrade vornehmen und VISU & IFTTT testen. Alle Info hier: viewtopic.php?f=8&t=5074

Logikaufgabe ähnlich Selbsthalteschaltung

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
Robert_Mini
Reactions:
Beiträge: 3741
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1164 Mal
Danksagung erhalten: 2058 Mal

Logikaufgabe ähnlich Selbsthalteschaltung

#1

Beitrag von Robert_Mini »

Hallo @S. Kolbinger !

Ich habe eine Fragestellung, wo ich selbst gerade nicht weiterkomme.

Die Aufgabe ist wie folgt:
Ich schalte ein Pumpe ein, wenn eine UND Logik erfüllt ist, d.h. UND Logik ist true => Pumpe ein
Jetzt möchte ich diese Logik um einen Sperreingang erweitern, der das Einschalten verhindert, wenn die Pumpe noch nicht läuft.
Allerdings möchte ich verhindern, dass dieser Sperreingang die Pumpe sofort ausschaltet, wenn sie bereits läuft.

Klappt das irgendwie?

Danke
Robert
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

S. Kolbinger
Elaborated Networks
Reactions:
Beiträge: 588
Registriert: Mi Aug 15, 2018 11:34 am
Hat sich bedankt: 82 Mal
Danksagung erhalten: 558 Mal

#2

Beitrag von S. Kolbinger »

Hi Robert, hast du dir das in etwa so vorgestellt:

Bild

Code: Alles auswählen

{
    "Level": [
        ["$VAR<Ein!>","bool",false],
        ["$Sperre","bool",false],
        ["$Pumpe","bool",false],
        ["$KeineSperreOderPumpe","bool",true]
    ],
    "Module": [
        ["Or",["-$Sperre","$Pumpe"],"$KeineSperreOderPumpe"],
        ["And",["$VAR<Ein!>","$KeineSperreOderPumpe"],"$Pumpe"]
    ],
    "Input": [
        ["Sperre","Sperrt das Einschalten bei Pumpe aus","$Sperre","c"],
        ["Ein","Pumpe einschalten wenn alle ein","$VAR<Ein!>","c"]
    ],
    "Output": [
        ["Pumpe","Schaltet Pumpe","$Pumpe","c"]
    ]
}
Aktionen:
  • Schaltet die Pumpe ein, wenn alle Ein wahr sind und Sperre falsch.
  • Schaltet die Pumpe aus, wenn mindestens ein Ein falsch wird.
Zuletzt geändert von S. Kolbinger am Fr Jun 14, 2019 7:06 pm, insgesamt 1-mal geändert.
Gruß,
Stefan K.

Ersteller
Robert_Mini
Reactions:
Beiträge: 3741
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1164 Mal
Danksagung erhalten: 2058 Mal

#3

Beitrag von Robert_Mini »

Hallo Stefan!

Vielen herzlichen Dank!
Ich habe da manchmal noch einen Knopf im Hirn, da ich glaubte ich muss den Ausgang wieder auch als Eingang definieren (und hab schon flip-flop-RS studiert...).
In Wahrheit ist $Pumpe ja eine Variable, die beim nächsten Aufruf beliebig in einem Baustein verwendet werden kann - korrekt? Ist vielleicht auch füd die Doku hilfreich.

Robert
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

S. Kolbinger
Elaborated Networks
Reactions:
Beiträge: 588
Registriert: Mi Aug 15, 2018 11:34 am
Hat sich bedankt: 82 Mal
Danksagung erhalten: 558 Mal

#4

Beitrag von S. Kolbinger »

Hi Robert,
Robert_Mini hat geschrieben: Fr Jun 14, 2019 8:00 pm In Wahrheit ist $Pumpe ja eine Variable, die beim nächsten Aufruf beliebig in einem Baustein verwendet werden kann - korrekt? Ist vielleicht auch für die Doku hilfreich.
Korrekt :handgestures-thumbupright:


Robert_Mini hat geschrieben: Fr Jun 14, 2019 8:00 pm Ich habe da manchmal noch einen Knopf im Hirn, da ich glaubte ich muss den Ausgang wieder auch als Eingang definieren (und hab schon flip-flop-RS studiert...).
Im Fall, dass du die Pumpe ausschließlich über diese Logik steuerst reicht die interne Rückführung.
Wenn du aber z.B. noch einen extra Schalter hast, mit dem du die Pumpe manuell starten/stoppen kannst, musst du dir den tatsächlichen Pumpenstatus noch als extra Eingang definieren (eine Art Rückmeldung). Du weißt sonst nicht, ob der Ausgangswert deiner Logik auch dem wirklichen Zustand der Pumpe entspricht.
Gruß,
Stefan K.

Ersteller
Robert_Mini
Reactions:
Beiträge: 3741
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1164 Mal
Danksagung erhalten: 2058 Mal

#5

Beitrag von Robert_Mini »

Hallo Stefan!

Danke für deine Erklärungen.
Ich vermute man sollte dabei gut aufpassen, dass dadurch nicht ein Endlos-Trigger entsteht, mit dem sich die Logik immer selbst triggert und damit vermutlich die CPU an die Grenze auslastet?

Danke und lg
Robert
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297
Antworten

Zurück zu „Logikengine & Logik-Editor“