Logikaufgabe ähnlich Selbsthalteschaltung

Informationen und Diskussionen über Logik-Engine und Logik-Editor
Antworten

Ersteller
Robert_Mini
Reactions:
Beiträge: 1411
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 276 Mal
Danksagung erhalten: 412 Mal

Logikaufgabe ähnlich Selbsthalteschaltung

#1

Beitrag von Robert_Mini » Fr Jun 14, 2019 4:54 pm

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) / Wiregate-Fan


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

#2

Beitrag von S. Kolbinger » Fr Jun 14, 2019 6:35 pm

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: 1411
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 276 Mal
Danksagung erhalten: 412 Mal

#3

Beitrag von Robert_Mini » Fr Jun 14, 2019 8:00 pm

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) / Wiregate-Fan


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

#4

Beitrag von S. Kolbinger » Fr Jun 14, 2019 8:09 pm

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: 1411
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 276 Mal
Danksagung erhalten: 412 Mal

#5

Beitrag von Robert_Mini » Sa Jun 15, 2019 9:53 am

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) / Wiregate-Fan

Antworten