DIMM_I Rel. 3.03

Begonnen von Majaestix, 06. Januar 2009, 18:24:20

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

Majaestix

Hallo Zusammen,

zunächst ganz herzlichen Dank für die super LIB. Sie hat mir, und bestimmt nicht nur mir, einen Haufen Arbeit erspart  :D

Im Moment befasse ich mich gerade mit dem Baustein DIMM_I, also Dimmer.

Für diesen FB hätte ich noch einen Wunsch:
Wenn man den IN lange toggelt, fährt der FB die Helligkeit entweder gleich gegen 0 (out < 127) oder erst gegen max und dann gegen null (out > 127).
Ich fände es sehr praktisch, wenn er das in einer Endlosschleife tuen würde, also das Spektrum zwischen 0 und MAX_ON so lange abfahren, wie IN getoggelt wird.

Hintergrund:
Es gab früher von Merten einen elektronischen Sensordimmer, der arbeitete folgendermassen:
1. Klick > Licht an  = 100%
2. Klick > Licht aus = 0%

1 x Doppelklick > Licht an in Stufe letzter Helligkeit

Dimmer gedrückt halten > Licht fährt solange zwischen 0% und 100% hin und her, wie Dimmer getastet wurde.

Der war wirklich praktisch, na ja, und wenn man sowas mal kennengelernt hat, kann Mann sich nur noch schlecht umstellen  ;)

Und dann habe ich da noch eine Frage:
Wenn ich an IN einen Taster klemme, geht beim ersten Tasten das Licht an, die Helligkeit ist ja abhängig von MIN_ON. Will ich das Licht jetzt wieder ausschalten, muss ich an RST einen weiteren Taster klemmen, um Q auf FALSE zu kriegen. Klemme ich an RST den gleichen Taster wie an IN an, wird das Licht zwar ausgeschaltet, aber sofort wieder ein, ist ja auch logisch. Ich kann das Problem natürlich mit einem vorgeschalteten CLICK lösen, aber vielleicht habe ich da einfach nur einen Denkfehler?

Nochmals ein grosses DANKE für Eure Arbeit.

Majaestix

hugo

gute inputs danke das werden wir berücksichtigen

Majaestix

Hallo Hugo,

heute habe ich mich weiter mit dem Dimmerbaustein DIMM_I befasst.
Dabei ist mir aufgefallen, dass, wenn ich wie im HB vorgeschlagen,

ZitatDer Ausgang DBL kann auch auf den Eingang SET gelegt werden und der
Dimmer mittels eines Doppelklicks auf einen durch VAL vordefinierten Wert
gesetzt werden

DBL auf SET lege, der Dimmerbaustein bis zum nächsten Doppelklick unbedienbar bleibt, da SET den Wert von DBL hält.
Dann geht sogar RST nicht mehr, da SET auf TRUE bleibt :o

Ferner habe ich keine Möglichkeit gefunden, den Dimmer mittels des Tasters, der zum Einschalten benutzt wurde, auch wieder auszuschalten, ausgenommen die Möglichkeit, diesen solange zu toggeln, bis OUT den Wert 0 erreicht.
Ist das ein BUG oder ein Feature?

Gruss

Majaestix

hugo

wenn du den ausgang dbl auf rst legst musst du die variable dbl_toggle auf false setzen, dann wird nur ein puls erzeugt und der reset bleibt nicht bestehen.

sorry, aber wenn man immer mehr funktionalität in einen baustein zwängt wird dieser zwangsläufig auch immer komplizierter

Majaestix

Hallo Hugo,

danke für die Info, habe ich probiert und funktioniert.

Bei der folgenden Konstellation habe ich noch ein paar weitere Annomalien festgestellt:

PROGRAM MAIN
VAR
   fbDIMM_I   :   DIMM_I;
   fbOUT   :   BYTE;
   fbQ      :   BOOL;
END_VAR

bDIMM_I(SET   := FALSE,   (* Schalteingang mit Wert v. VAL , FALSE = Licht aus bei Start, TRUE = Licht ein bei Start *)
VAL            := 100,         (* Helligkeitswert fuer SET, org. 255 *)
      IN         := Schalter_1,      (* Eingang fuer Dimmerschalter *)
      RST         := fbDIMM_I.DBL,   (* Eingang fuer Dimmer RESET Schalter *)
      T_DEBOUNCE   := T#10ms,      (* Entprellung, org. 10ms *)
      T_RECONFIG   := T#10s,         (* Test auf Schliesser oder Oeffner, org. 10s *)
      T_ON_MAX      := T#0h,         (* Einschaltzeitbegrenzung, org. 0h*)
      T_DIMM_START   := T#500ms,      (* Wartezeit vor Dimmung, org. 1s *)
      T_DIMM      := T#5s,         (* Dauer der Dimmrampe, org. 3s *)
      MIN_ON      := 128,         (* Lichtwert beim Einschalten, org. 50 *)
      MAX_ON      := 255,         (* Maximaler Lichtwert, org. 255 *)
      SOFT_DIMM   := FALSE,      (* TRUE = Dimmstart bei 0 , org. TRUE*)
      DBL_toggle      := TRUE,         (* Wird Doppelklick ausgewertet, org. keine Vorbesetzung *)
      RST_OUT      := TRUE,         (* Reset setzt OUT auf 0  wenn TRUE gesetzt, org. keine Vorbesetzung *)
(*
      Q         =>Lampe_1,      (* Schaltausgang , org. FALSE*)
      DBL         => Lampe_2,      (* Ausgangsschalter bei Doppelklick, org. keine Vorbesetzung *)
*)
      OUT         := fbOUT);      (* Dimmwert zwischen 0 - 255, org. keine Vorbesetzung *)

Strahler_1:=127*(BYTE_TO_INT(fbOUT));


Einstellung: SOFTDIM := TRUE
Wenn ich beim Starten den Taster gedrückt halte, fährt der Dimmer bis Out = 255 hoch und dann zurück bis OUT=35. Lasse ich den Taster dann los, fährt er von alleine wieder bis OUT = 255 und dann zurück bis OUT = 1. Dort bleibt er stehen.

Einstellung: SET := TRUE
Wenn der FB mit SET := TRUE gestartet wird, ist der Dimmer nicht mehr bedienbar.

Einstellung: RST_OUT := FALSE
ein Auschalten durch RST := TRUE ist nicht mehr möglich
Dadurch ist auch der letzte Wert von Out nicht mehr erreichbar, RST_OUT := FALSE -> kein Ausschalten mehr möglich, RST_OUT := TRUE -> OUT = 0

Gruss

Majaestix

hugo

habe heute einen halben tag getestet und kann deine anomalieen nicht reproduzieren


Zitat von: Majaestix in 08. Januar 2009, 05:10:57
Einstellung: SOFTDIM := TRUE
Wenn ich beim Starten den Taster gedrückt halte, fährt der Dimmer bis Out = 255 hoch und dann zurück bis OUT=35. Lasse ich den Taster dann los, fährt er von alleine wieder bis OUT = 255 und dann zurück bis OUT = 1. Dort bleibt er stehen.

dies hat damit zu tun das die auto reconfiguration erst erkennen muss das es sich um einen öffner anstelle schliesser handelt.
wenn du startest und dabei den taster beim start gedrückt hältst wird dieses verhalten nicht zu vermeiden sein.
abhilfe wäre das du falls du einen öffner anstelkle schliesser verwendest den eingang negierst.

Zitat von: Majaestix in 08. Januar 2009, 05:10:57
Einstellung: SET := TRUE
Wenn der FB mit SET := TRUE gestartet wird, ist der Dimmer nicht mehr bedienbar.

das ist auch so richtig, solange set auf true ist wird der ausgang q true bleiben und der wert von val auf out geschrieben. wenn du set benutzt musst du es anschliessend auf false setzen, dann wird der dimmer auch wieder bedienbar.
set true blockiert eine handbedienung, und das ist auch so gewünscht.

Zitat von: Majaestix in 08. Januar 2009, 05:10:57
Einstellung: RST_OUT := FALSE
ein Auschalten durch RST := TRUE ist nicht mehr möglich
Dadurch ist auch der letzte Wert von Out nicht mehr erreichbar, RST_OUT := FALSE -> kein Ausschalten mehr möglich, RST_OUT := TRUE -> OUT = 0

rst_out bewirkt das wenn true bei einem reset auch der wert in aut auf null gesetzt wird.
ist rst_out false wird nur q auf false gesetzt und der wert in out bleibt unberührt.
solange rst auf true bleibt wird auch jede weitere bedienung blockiert, solange bis rst wieder auf false steht.

zur normalen bedienung muss rst und set auf false stehen.

in der release 3.04 wird der dimmer insofern verändert, das bei gedrückter taste der dimmer zyklisch von 0..255..0..255 fährt, das stoppen bei null wird nicht mehr gemacht.

hugo

Zitat von: Majaestix in 06. Januar 2009, 18:24:20
Für diesen FB hätte ich noch einen Wunsch:
Wenn man den IN lange toggelt, fährt der FB die Helligkeit entweder gleich gegen 0 (out < 127) oder erst gegen max und dann gegen null (out > 127).
Ich fände es sehr praktisch, wenn er das in einer Endlosschleife tuen würde, also das Spektrum zwischen 0 und MAX_ON so lange abfahren, wie IN getoggelt wird.

das kontinuierliche dimmen 0..255..0..255 usw wird in der nächsten release eingebaut

Zitat von: Majaestix in 06. Januar 2009, 18:24:20
1. Klick > Licht an  = 100%
2. Klick > Licht aus = 0%

1 x Doppelklick > Licht an in Stufe letzter Helligkeit

das können wir leider nicht ganz realisieren weil der doppelklick bereits für die steuerung eines zusätzlichen ausgangs verwendet wird

Zitat von: Majaestix in 06. Januar 2009, 18:24:20
Wenn ich an IN einen Taster klemme, geht beim ersten Tasten das Licht an, die Helligkeit ist ja abhängig von MIN_ON. Will ich das Licht jetzt wieder ausschalten, muss ich an RST einen weiteren Taster klemmen, um Q auf FALSE zu kriegen. Klemme ich an RST den gleichen Taster wie an IN an, wird das Licht zwar ausgeschaltet, aber sofort wieder ein, ist ja auch logisch. Ich kann das Problem natürlich mit einem vorgeschalteten CLICK lösen, aber vielleicht habe ich da einfach nur einen Denkfehler?

da hast du einen denkfehler, den rst benötigst du ganz und gar nicht. ein simpler kurzer tastendruck schaltet den dimmer jederzeit aus und auch wieder ein

Majaestix

Hallo Hugo,

danke für die Mühe und Deine Infos. Ich warte jetzt mal das neue Release ab und dann sehen wir weiter.

Gruss

Majaestix

hugo

die neue release wird am baustein selbst nichts ändern, lediglich die automatische abschaltung wenn man gegen 0 dimmt wird es nicht mehr geben, mann kann im neuen baustein nach 0 dimmen und er schaltet dann die richtung um und dimmt wieder hoch

alles andere wird exakt so sein wie vorher.

was mich verwundert ist das ich deine probleme hier nicht reproduziren kann.


Majaestix

Hallo Hugo,

danke für die Info. Da ich z. Zt. eh andere Sorgen hab, warte ich wirklich das neue Release ab.
Dann probiere ich das Ganze noch einmal und melde mich, wenn sich die Fehler reproduzieren lassen sollten.

Gruss

Majaestix