[zitat]Da macht ein "Timer-Modul" in der Anlage schon Sinn
...
..
welches aber nicht über LCN programmiert/bedient werden kann.
[/zitat]
Uwe, hat mit "Timer-Modul" wohl ein UPP (oder SH,HU) gemeint, dass man entsprechend in LCN programmiert, dass es Zeiten zählt.
[hr]
Soweitso gut/(schlecht):
- Kurzzeiten ( Also müsste man Kurzzeiten besser im eigenen (lokalen) Modul auszählen und auswerten.
- Langzeiten (>1 sec) könnte man gut mit Sende Taste Verzögert erschlagen - wenn man diese -auf Wunsch- beliebig oft gleichzeitig verwenden dürfte. Heute ist es eine sehr beschränkte Resource, mit der man gut haushalten muss, damit sie nicht unbeabsichtig gleichzeitig benutzt werden kann. Sonst geht vielleicht ein verzögerter Befehl verloren.

Also, wie benutzt man aber ein LCN-"Timer-Modul" (für Langzeiten > 1 Sek) sinnvoll von anderen Modulen aus. Diese Frage beschäftigt mich schon seit meiner ersten LCN-Stunde. Leider hat mein Browser damals meine lange Forumsfrage dazu geschluckt und ich habe es bisher nicht wieder neu beschrieben:
[hr]
Kurz gesagt:
Ich suche eine Art "Unterprogramm-Möglichkeit" in LCN-Modulen, damit ich folgendes erreichen kann:
"Modul A sagt zum Timer-Modul T: Bitte wecke mich in 30 Sekunden wieder auf und sende meine Taste X (Kurz, Lang, Los)."
[hr]
Obiges geht wohl "hart-verdrahtet" mit "Sende Taste X an Timer-Modul T" und dann läuft im Modul T der Timer für 30 Sekunden und dann folgt im Modul T der Befehl "Sende Taste Y an Modul A".
Dies kann ich aber nicht mehrfach und gleichzeitig vom Modul A aus aufrufen und überhaupt nicht von anderen Modulen aus, da der Rückruf festverdrahtet immer an Modul A geht.
Und den Wert von 30 Sekunden kann ich auch nicht beim Aufruf vorgeben.
[hr]
Den besten Ersatz für eine "Unterprogramm" Rückruf-möglichkeit sehe ich heute darin, einfach ungefragt vom Timer-Modul T aus zu regelmässigen Zeiten (alle 10 Sek., alle 30 Sek. ,alle 60 Sek., ...) eine Taste X1, X2, ... an eine jeweilige Gruppe "10 Sek.-Timer Gruppe", "30 Sek.-Timer Gruppe", ... zu senden. Jedes Modul im LCN-Bus, das an bestimmten Zeitabschnitten interessiert ist, wird dann in die entsprechende Gruppe (eventuell dynamisch) aufgenommen und dann werden die entsprechenden Tasten X1, X2, aktiviert (z.B. LANG und LOS abwechselnd). Z.B der "X1 LANG" Befehl im Zeitnutzermodul A führt dann die entsprechend gewünschte Startfunktion aus und der "X1 LOS" Befehl führt die gewünschte Stopfunktion aus. Gleichzeitig sperrt der X1 Los Befehl wieder die Taste X1, damit der nächste Timerablauf nicht wieder die Taste X1 auslösen kann. Erst wenn eine andere Aktion die X1 Sperre wieder aufhebt, kann der nächste Timerimpuls wieder wirken.
Keine Ahnung - vielleicht lässt sich statt sperren eleganter mit dynamischen Gruppenzuordnungen agieren.
(Gute Dokumentation der Implementierung ist angerarten !)
Gruss, Martin - der gerne die Zeit im Unterprogramm vertut