easy-forum
Deutsch - Applikationen => Allgemein => Thema gestartet von: william am März 18, 2005, 16:50:36 Nachmittag
-
Hallo Cracks,
versuche mich mit der "erweiterten" Programmierung der EASY. Habe jetzt eine Lösung für mein Problem ausgearbeitet (Details später) , aber beim näheren Betrachten kommt es mir viel zu kompliziert vor. Ich seh den Wald vor lauter Bäumen nicht mehr. ???
Aufgabenstellung:
Taster I1 soll abhängig von der Anzahl Impulse verschiedene Funktionen ausführen:
Ausgangssituation:
Licht ist aus:
1 * drücken -> Licht geht an und nach Ablauf vordefinierter Zeit wieder aus (Zeitvorgabe mit T01)
2 * drücken -> Licht brennt dauernd, bis I1 1 * gedrückt
Licht ist an:
1 * drücken -> Licht geht aus
2 * drücken -> Licht geht in Dauerbetrieb
3 * drücken -> weitere Funktionen in meinem Kopf... ;D
Bevor ich nun die ausgearbeitete Lösung für weitere Lichtquellen und sonstige Ausgänge copy/paste, wollt ich Euch bitten, das Progrämmchen mal nähers anzuschauen und evtl. zu optimieren (kürzen)
FETTEN DANK
-
Hallo EASY'ler
Schade, dass sich keiner meiner annimmt.
Dann gehe ich mal davon aus, dass ich mein Problem unklar dargestellt habe. :-\
Wahrscheinlich so kompliziert wie meine angehängtes Programmbeispiel ???
Ich wollte eigentlich nur herausfinden, ob es eine einfache Möglichkeit gibt, auf einen Taster eine Mehrfachbelegung abzubilden.
(switch-case, Mehrfach-Verzweigung, ...)
Dadurch möchte ich riesige Schalterbatterien in meiner Homeautomation vermeiden.
Vielleicht findet sich ja jemand, der das selbe Problem hatte oder eine gute Idee ausarbeitet.
Trotzdem Danke und fröhliches Eiersuchen
William
-
Hallo William,
Ich hatte für die 600er Easy Beispiele für eine Lichtsteuerung gemacht.
http://easy-forum.net/index.php?topic=303.0
Eine Version mit kurzen und langen Tasten finde ich einfacher.
So geht sinnvoll leider nur eine Doppelbelegung.
Denke auch an Leute die keine E-Fachleute sind.
Mehr als 2 Funktionen ist oft zu viel für eine Taste.
Nach meinen erfahrungen werden schon bei einer einfachen Serienschaltung
beide Schalter betätigt.....
-
Danke Jürgen,
hab dein Programm schon vor längerer Zeit "auseinandergenommen" ;) und viele Tasterfunktionen auch so implementiert.
Aber leider gibt's jetzt Anfragen, wo ich mehr Funktionen benötige:
Ein Beispiel sei mir erlaubt zu erwähnen ohne euch unnötig zu langweilen:
Taster Diele - Eingang Schlafen
- Licht an,
- Dauerlicht
- Dimmen (durch längeres Drücken auf Taster)
- alle Jalousien Lamellen in vordefinierte Stellung fahren + Lichtszenario 1 ein
- alle Jalousien hoch (Handbetrieb)
- alle Jalousien runter (Handbetrieb)
- alle Lichter auf diesem Stockwerk AUS
Puh. Und damit das Verhalten an allen weiteren Tastern mit der Funktion "Licht an" und "Dauerlicht" gleich ist, hätte ich's dort halt genauso gelöst.
Und da würde die von mir ausgearbeitete Lösung viel zu viel Speicherplatz verschwenden.
Oops hab ganz vergessen, die vorhandene HW zu erwähnen.
4 * 822 mit Erweiterungsgeräten 620 und 1 * MFD zur Visualisierung.
Realisieren möchte ich noch Datenlogger f. Heizung, Regewasseranlage, PC-Visualisierung...
Und da ist halt jedes Bit soooo kostbar ;)
gruss
william
-
Hallo William,
da ich mich schrittweise durchs Forum nach unten durcharbeite kann ich Dir erst jetzt ein Vorschlag unterbreiten.
Betrachte den Taster als serielles Eingabemedium mit dem Du Impulse
an einen EASY Eingang gibs, diese zählst und daraus EASY intern
verschiedene Funktionen startest.
Schau einfach mein Beispiel an "easy Themen (Allgemein) -> EASY-EASY
grösser 1000m".
Gruß hmai
-
Hallo hier CAS ! ;D
Das mit den verschiedenen Funktionen auf einen Taster zu legen ist zwar ein guter Grundgedanke, jedoch recht schwierig in der Umsetzung.
Wenn oben von serieller Eingabe gesprochen wird, muß man wissen, dass man eine Synchronisation braucht. In diesem Fall zwischen Mensch und Steuerung (der EASY). Um Kabel zu sparen nimmt man dafür meißtens die Zeit. Jeder Computer und fast jede Steuerung kann auf 0.001 Sekunden genau die Zeit messen. So funktioniert ungefähr die RS232. Zum einen hat der Sender und Empfänger die Zeit (besser gesagt das Zeitraster). Wenn dann innerhalb eines Zeitrasters etwas passiert, kann dies ausgewertet und danach gehandelt werden. Computer haben damit keine Probleme. Fast alle Protokolle (Bussysteme) nutzen irgendwie die Zeit um miteinander zu kommunizieren.
Der Mensch hat da schon ein paar größere Schwierigkeiten. Mir, oder wahrscheinlich alle Menschen, können keinen Taster 2,5 Sekunden betätigen. Da kommt dann 2,1 oder 3 oder 4 Sekunden raus.
Das Problem ist also, wie sag ich der Steuerung etwas, ohne alzu genau in der Zeit sein zu müssen.
Lichttaster ein und aus , kein Problem und Taster >1 Sekunde geht auch noch aber > 1 Sekunde und < 2 Sekunden wird schon schwieriger. Zwischen >1 und <5 sekunden geht schon wieder. Und keiner möchte 10 Sekunden eine Taste drücken, damit etwas passiert. Und hab ich mich in der Zeit geirrt, macht die Steuerung Dinge, die ich nicht möchte.
Also versuche bitte so wenig Funktionen wie möglich auf einen Eingang zu legen. Maximal 4 Stück, wenn du das Ausgangssighnal berücksichtigst in deiner Programmierung.
Ich hoffe mit diesem kleinen Beitrag geholfen zu haben.
Bis dannnnnn
CAS
www.cas-solution.de (http://www.cas-solution.de)
-
Hallo CAS,
man sollte das Wort seriell nicht überbeweten, es geht im Prinzip nur
darum in einer gewissen (time out) Zeit ,angenommen 5 Sekunden,
Impulse an die EASY zu übermittel.
Die Impulslänge spielt dabei eine untergeordnete Roll, sondern nur
wieviele Impulse (Tastendruck von ca. 0,5;1 oder1,5 Sek) innerhalb
der (time out) Zeit zur EASY gelangen.
-
Hallo hmai,
danke, dass du den Thread nochmals aufgreifst.
Das Hauptproblem bei "Auswertung über Zeit" sehe ich darin, dass während der erlaubten Eingabezeit keine Aktion erfolgt. Und das ist meiner Meinung nach für die useability untragbar.
Bsp.: Bei 1 * Tasten soll nur das Licht ON/OFF geschaltet werden.
Ist das Fenster der Eingabezeit auf die von dir angenommenen 5 s eingestellt, passiert 5 s lang gar nichts -> und der Anwender ist schon auf dem Weg zum Zählerschrank...
Hinweis: Ausserdem fehlt die Anforderung an Tastdimmen ;)
cheers
william