FbSzeneAnalog Ausgang nur einen Zyklus setzen

bjoern3003

Level-1
Beiträge
13
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Servus,

ich möchte gerne, mit den Szene Bausteinen zusätzlich zum Dimmtaster und den Merker Eingängen ein paar Lampen steuern.

Leider ist es so, dass sobald eine Szene aktiviert wird, der Wert am Dimm Baustein nicht mehr überschrieben werden kann.

Aus dem Stehgreif fällt mir kein fertiger Bausteine in,d er für einen Zyklus den Eingang weiter reicht.

Vielleicht könnt Ihr mir helfen?

Habe mal auf die Schnelle die Bausteine auf eine Seite gesetzt und einen Screenshot angehangen.
 

Anhänge

  • Bild 001.jpg
    Bild 001.jpg
    48,1 KB · Aufrufe: 39
Aus dem Stehgreif fällt mir kein fertiger Bausteine in,d er für einen Zyklus den Eingang weiter reicht.
Das wär 'ne Flankenauswertung bzw. Trigger.

Ich kenn' mich mit Deinen fertigen FBs nicht aus, aber ich vermute mal, das der jeweilige Ausgang des Szenenbausteins auf den VAL-Eingang des Dimmers muss und der Set-Eingang dann über die Flankenauswertung für einen Zyklus aktiviert wird. Die Flankenauswertung bekommt dabei ihr Eingangssignal vom Tasterausgang, dann reicht auch 'ne boolesche Flanke.

Je nachdem, wie lange der Szenenbaustein zum Durchschalten braucht, kann entweder die positive Flanke zum direkten Auslösen genommen werden oder die negative Flanke, damit das SET erst beim Loslassen des Tasters kommt und somit der Szenenbaustein einige Zyklen Zeit hat.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hey Hucki,

Den set und val vom dimm_2 kann ich leider in dem Fall nicht verwendet.

Wenn set aktiv ist, werden alle Eingänge, bis aufs val nicht mehr berücksichtigt.

Meine nächste Idee wäre, bei Änderungen am I1, I2 und dem Merker am I/O an Dimm_2 die Szenen deaktivieren und dann per sel Baustein den DMX merker beschalten.
 
Wenn set aktiv ist, werden alle Eingänge, bis aufs val nicht mehr berücksichtigt.
Darum geht's ja!

Der SET darf natürlich immer nur einen Zyklus aktiv sein. Eben nur zur Übernahme des VAL.
Genau dafür sorgt die Flankenabfrage.

Eine positive Flankenabfrage prüft, ob der Eingang jetzt aktiv ist und im vorigen Zyklus inaktiv war.
Einen negative Flankenabfrage prüft, ob der Eingang jetzt inaktiv ist und im vorigen Zyklus aktiv war.
Beides trifft bis zum nächsten Zustandswechsel des Eingang immer nur genau einen Zyklus zu.

Somit ist der Dimmer nach der Übernahme der Lichtszene wieder frei für andere Bedienungen.
 
Zuletzt bearbeitet:
Hey Hucki,

mist dass ich deinen Beitrag jetzt erst lese. Genau so habe ich es heute vormittag gelöst und scheint auch zu laufen.

Ein Problem bleibt leider noch.

Ich möchte die Merker Eingänge an FbSzeneAuswahl sich gerne gegenseitig deaktivieren lassen.

Ist Szene 2 (SPS_Bit12_IPS_Adresse_12299) aktiv und wird Szene 3 (SPS_Bit11_IPS_Adresse_12298) aktiviert, so soll sich der Merker SPS_Bit12_IPS_Adresse_12299 automatisch deaktivieren usw... Mit R_Trig klappt dies leider nicht.

Vielleicht hat hier ja jemand eine Idee.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ein Problem bleibt leider noch.

Ich möchte die Merker Eingänge an FbSzeneAuswahl sich gerne gegenseitig deaktivieren lassen.

Ist Szene 2 (SPS_Bit12_IPS_Adresse_12299) aktiv und wird Szene 3 (SPS_Bit11_IPS_Adresse_12298) aktiviert, so soll sich der Merker SPS_Bit12_IPS_Adresse_12299 automatisch deaktivieren usw... Mit R_Trig klappt dies leider nicht.

Vielleicht hat hier ja jemand eine Idee.
Gib' doch nicht das Bit zum Auswählen der Szene (SPS_Bit12_IPS_Adresse_12299 bzw. SPS_Bit11_IPS_Adresse_12298) selbst auf den Szenen-Baustein, sondern nur die Flanke davon.
Btw., warum bleibt das Bit überhaupt aktiv? Wird das nicht von einem Taster erzeugt? Ansonsten dürfte es doch nur solange aktiv sein, wie der Taster gedrückt ist.
 
Hey, weil ich es visuell im Frontend sehen möchte, dass die Szene aktiv ist. Deshalb kann der Bit ruhig solange aktiv bleiben, wie auch die Szene aktiv ist. :cool:

In dem Fall wird es von einem Schalter getriggert. Darf gern auch so bleiben (s.o.)
 
Ich geh' mal davon aus, dass der Schalter das Szenebit auf 1 setzt.
Zusätzlich muss er dann einfach die anderen Szenen zurück setzen. Wichtig hier wieder, dass das nur mit der Flanke und nicht dauerhaft geschieht, da sich sonst Setzen und Rücksetzen ins Gehege kommen und der Dominante von beiden "gewinnt".
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Genau das habe ich bereits probiert.

Das Problem mit anderen Szenen zurücksetzen will nicht so richtig.

Ich geh' mal davon aus, dass der Schalter das Szenebit auf 1 setzt.
Ich setze damit einen Bool auf True oder False.

Gehen wir mal wie folgt aus.

Eingang 2 ist True und ich schalte nun Eingang 3 auf True, soll 2 sich deaktivieren.

Problem ist, dass die Trigger Bausteine bei Inaktivität immer False ausgeben. Also die Merker Eingänge deaktivieren würden. Das möchte ich aber nicht, weil ich dann keine visuelle Rückmeldung im Frontend habe.

Etwas blöde zu erklären.
 
Gehen wir mal wie folgt aus.

Eingang 2 ist True und ich schalte nun Eingang 3 auf True, soll 2 sich deaktivieren.

Problem ist, dass die Trigger Bausteine bei Inaktivität immer False ausgeben. Also die Merker Eingänge deaktivieren würden. Das möchte ich aber nicht, weil ich dann keine visuelle Rückmeldung im Frontend habe.
Ich denke mal, Du hast da 'ne etwas falsche Vorgehensweise. Deine Beschreibung klingt wie eine Zuweisung mit Selbsthaltung für die Szenenauswahl.


Normalerweise verwendest Du einen Taster zum Auswählen der Szene. Also nur solange aktiv, wie betätigt.

Zum Visualisieren der ausgewählten Szene verwendest Du ein RS-FlipFlop. Das bleibt dann dauerhaft in seinem Zustand, bis was anderes gewählt wird. Ein FALSE am SET- oder RESET-Eingang interessiert das Flipflop nicht.

Der Taster setzt zum einen sein eigenes RS-Glied (SET-Eingang), während er alle anderen gleichzeitig zurücksetzt (RESET). Rücksetzen ist dabei dominant, so dass keine 2 Szenen gleichzeitig aktiviert werden können. Dafür braucht man nicht mal irgendwelche Trigger.

Jetzt kannst Du zum Einen den Taster selbst zum Setzen der Dimmer auf den Szenen-Ausgang verwenden, ohne eine Flankenauswertung dafür zu benötigen. Allerdings hast Du so keinen Schutz vor gleichzeitigem SET von mehreren Tastern.
Zum Anderen kannst Du eine Flankenabfrage auf das RS-Glied der Szenenauswahl legen und so garantiert nur einen Set-Impuls zu bekommen, da ja immer nur ein RS-Glied aktiv sein kann.

Leider hab' ich momentan kein CoDeSys zur Hand, um Dir ein Beispiel zu zeigen
 
Ich weiß ja nicht - aber mir wäre korrekte Funktion wichtiger als Merker sparen.
Außerdem kannst Du die Flankenmerker der Trigger einsparen, wenn Du direkt die Tasten zum Setzen einer Szene nimmst. Dann gleicht sich das auch wieder aus.

Ich weiß leider nicht, was für ein HMI Du verwendest. Theoretisch sollte es möglich sein, auch dort direkt dieses Register zu gestalten. Z.B. bei Ereignis "Klicken" - Setze die, Rücksetze den, den und den.
Dann würdest Du auch Merker sparen.

Aus Erfahrung kann ich Dir aber sagen, dass Dich das Problem hinten immer wieder einholen wird, wenn Du die Auswahl vorn nicht richtig gestaltest.
 
Zurück
Oben