LOGO Lichtsteuerung Logo Abruf von 3 "Ausgängen"

mk86

Level-1
Beiträge
3
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,

Siemens LOGO!
Ich habe folgendes Problem: Mit der Verschaltung durch UND und Oder komme ich nie zum Erfolg alle meine Anforderungen abzudecken, insbesondere wenn es darum geht auf verschiedenen Ausgänge direkt zu springen.....

Ich habe 5 Stück Art Eingänge / Merker alle diese stelle ich mir als Taster vor.
Kurzes Tasten startet die Aktion. Es ist immer nur ein Ausgang aktiv, je nach Auswahl.

Folgende Funktion möchte ich umsetzen:

EingangAusgang / AktionBedingung zur AktionBeschreibung was der Eingang für Funktion hat
I1Sprung auf Q1egal wer aktiv war/ ist; (erneutes Tasten bleibt bei Q1)Abruf Szene
I2Sprung in Q2egal wer aktiv war/ ist; (erneutes Tasten bleibt bei Q2)Abruf Zentral EIN
I3Sprung auf Q3egal wer aktiv war/ ist; (erneutes Tasten bleibt bei Q3)Abruf Zentral AUS
I4Wechsel wischen Q2 und Q3Wenn Q1 aktiv war, dann als erstes wechsel zu Q2; Wenn Q2 aktiv war als erstes Wechsel zu Q3;Umschalten zw. Zentral Ein und Zentral Aus
I5Wechsel zwischen Q1 und Q3Wenn Q3 als aktiv war, dann auf Q1 wechseln; Wenn Q2 aktiv war wechsel als erstes zu Q3;Umschalten zw. Szene und Zentral AUS
Ausgänge
Q1Lichtszene aktiv
Q2Zentral Alles EIN
Q3Zentral Alles AUS


Vielleicht auch mit einem Schieberegister umzusetzen?
Ich würde mich über Tipps sehr frreuen.

Beste Grüße
Markus
 
Die mögliche Umsetzung würde mich auch mal interessieren.
Die Umsetzung mit einer Hochsprache ist viel einfacher.

Python:
class Lichtszene:
    def __init__(self):
        self.q1 = False
        self.q2 = False
        self.q3 = False

    def set(self, input):
        match input:
            case 1:
                self.q1 = True
                self.q2 = False
                self.q3 = False
            case 2:
                self.q1 = False
                self.q2 = True
                self.q3 = False
            case 3:
                self.q1 = False
                self.q2 = False
                self.q3 = True
            case 4:
                self.q2, self.q3 = self.q3, self.q2
            case 5:
                self.q1, self.q3 = self.q3, self.q1

        return (self.q1, self.q2, self.q3)

    def __repr__(self):
        return f"{self.__class__.__name__}(Q1={self.q1}, Q2={self.q2}, Q3{self.q3})"



Ich hab mal ChatGPT gefragt: https://chatgpt.com/share/68d287c3-9034-8003-8ec8-7c482cc6a1c2
Vielleicht funktioniert die Umsetzung sogar. Hab es vorher nur mit Q1-Q3 und I1-I3 probiert, was recht einfach mit Selbsthalterelais realisiert werden kann.

Aber der Wechsel zwischen Q2 und Q3 und Q1 und Q3 ist tricky.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Folgende Funktion möchte ich umsetzen:

EingangAusgang / AktionBedingung zur AktionBeschreibung was der Eingang für Funktion hat
I1Sprung auf Q1egal wer aktiv war/ ist; (erneutes Tasten bleibt bei Q1)Abruf Szene
I2Sprung in Q2egal wer aktiv war/ ist; (erneutes Tasten bleibt bei Q2)Abruf Zentral EIN
I3Sprung auf Q3egal wer aktiv war/ ist; (erneutes Tasten bleibt bei Q3)Abruf Zentral AUS
I4Wechsel wischen Q2 und Q3Wenn Q1 aktiv war, dann als erstes wechsel zu Q2; Wenn Q2 aktiv war als erstes Wechsel zu Q3;Umschalten zw. Zentral Ein und Zentral Aus
I5Wechsel zwischen Q1 und Q3Wenn Q3 als aktiv war, dann auf Q1 wechseln; Wenn Q2 aktiv war wechsel als erstes zu Q3;Umschalten zw. Szene und Zentral AUS
Ausgänge
Q1Lichtszene aktiv
Q2Zentral Alles EIN
Q3Zentral Alles AUS

So z.B.:
1758630415409.png

Da ist aber bis dato nur bedingter Vorrang bei gleichzeitigen Betätigungen eingebaut, weil da ja keine weiteren Angaben zu gemacht wurden bzw. das nicht vorkommen soll.
 

Anhänge

Zurück
Oben