Willkommen auf unserer neuen Forenplattform für das Bus-Profi Forum

Neue Felder für die persönlichen Daten
Man kann jetzt seine öffentlich einsehbare Daten genau bestimmen. Details findet ihr in in diesem Beitrag.

Durch die neue Forensoftware und die Portierung der Daten konnten die Passwörter aus dem alten Forum nicht übernommen werden, bitte lassen Sie sich ein neues Passwort über die Passwort vergessen Funktion zusenden. Sollte es zu Problemen kommen kontaktieren Sie das Bus-Profi Team per E-Mail.

Programmierung von Abhängigkeiten

Benutzeravatar

MartinH
Lord Forum
Lord Forum
Beiträge: 1511
Registriert: Di 11. Mai 2004, 16:39
Kontaktdaten:
Status: Offline

#11 RE: Programmierung von Abhängigkeiten

Beitrag von MartinH »

Stef fragt:
Eine Art von IF ... THEN ... ELSE lässt sich bei LCN nicht anders abbilden ?
Bernd hat ja mit wechselseitigem Sperren/Entsperren eine LCN-Variante des "IF ... THEN ... ELSE" vorgeschlagen.
Auch ich war bei der Entscheidung für LCN selbstverständlich davon ausgegangen, dass sich mindestens einfache Programmierkonstrukte wie "IF ... THEN ... ELSE" direkt eingeben lassen. Es hiess und heisst doch in der Werbung "Sehr hohe "Intelligenz" / Funktionalität".
(Die Logik, die man heute z.B. mit IPS über das LCN-System drüberbauen kann, habe ich ursprünglich in jedem LCN-Busmodul erwartet :O :O )

Aber ich wurde beim genauen Hinsehen "eines Besseren" / "eines Anderen" belehrt.
Es gibt durchaus eine Reihe von LCN-Varianten wie man ein "IF ... THEN ... ELSE" Verhalten erreichen kann und ich denke es wird Zeit, die verschienden Varianten mal systematisch zu dokumentieren (im Wiki).
Ich denke an eine Art "Design Pattern" Ansatz, der für ein Aufgaben-Pattern (wie "IF ... THEN ... ELSE" Verhalten) eine Reihe von möglichen Lösungs-Pattern vorstellt. (Deswegen bezeichne ich das auch gerne als "Musterlösung" [Muster=Pattern]).

"IF ... THEN ... ELSE" lässt sich in LCN (je nach Anwendungsfall und Resourcenverfügbarkeit) umsetzen mit:
1. Lämpchensummen (=Standardverfahren)
2. wechselseitiges Tastensperren
3. Status eines virtuellen Relais
4. TVar + Schwellwerte (B1 .. B5: bis zu 5 Cases)
5. Sollwertmanipulation eines Reglers (und Status des Relais/Ausgangs)
6. dynamische Gruppenzugehörigkeit (analog zu Tastensperren)
7. alternative Lichtszenenregister
8. .. wahrscheinlich noch mehr (auf jeden Fall mit externer Logik im IPS oder im LCN-CH)

Viele Wege .. gehen mit LCN (!)

Gruß, Martin - es geht mal so - mal so
Benutzeravatar

Beleuchtfix
Administrator
Administrator
Beiträge: 5304
Registriert: Mi 10. Jan 2007, 18:49
Kontaktdaten:
Status: Offline

#12 RE: Programmierung von Abhängigkeiten

Beitrag von Beleuchtfix »

@Martin
Ich bin auf deinen Wiki Beitrag gespannt. Da du Probleme immer IT-Philosophisch angehst, sollten wir tolle Beispiele zu sehen bekommen.
Gruß
Florian
Benutzeravatar

Uwe
(†)
Beiträge: 14250
Registriert: So 26. Mai 2002, 23:10
Status: Offline

#13 RE: Programmierung von Abhängigkeiten

Beitrag von Uwe »

Moin Stef,
die Einstellungen für Verknüpfungen im LCN sind immer etwas "tricky" und oftmals auch nicht wirklich resourcenschonend. Den Vergleich mit "anderen Steuerungen" muss man ablegen, eine logische Ablaufsteuerung (wie man sie z.B. aus einer SPS kennt) sieht im LCN völlig anders aus.

Da hier bereits gute Lösungsansätze vorgeschlagen wurden (ich würde auch eine Summe und Tastensperren nehmen) möchte ich nur etwas zur Sicherheit der Funktion beisteuern.
Die Summenlämpchen können über die Lämpcheneinstellungen direkt auf die Meldungen im Bus reagieren. Bei komplexen Vorgängen (was IMO eine Verknüpfung immer ist) kann eine solche Meldung mal untergehen. Dagegen ist das schalten der Lämpchen über die Statuskommandos (auf Dx) absolut sicher, ein Befehl wird immer ausgeführt.

Grüße, Uwe - der auch auf den Wiki-Eintrag gespannt ist
----------------o00o----'(_)'----o00o---------------------

Themenersteller
Stefbert
Schon länger hier...
Schon länger hier...
Beiträge: 95
Registriert: Di 4. Mär 2008, 09:32
Status: Offline

#14 RE: Programmierung von Abhängigkeiten

Beitrag von Stefbert »

Hallo zusammen,

ich durfte gestern mal wieder an meine "Eisenbahn" ... halt die LCN-Anlage, und habe dort folgenden Ansatz implementiert :

- Status der Badezimmerleuchten (Taste D1 & D2) setzen Lämpchen 11&12
- Aussentaste im Bad verschickt ein "Sende Tasten C7&C8"
- Taste C7 schaltet das Licht an
- Taste C8 schaltet das Licht aus
- Lämpchensumme mit Lämpchen 11&12
- Kurz und Lang sperren Taste C8 und entsperrt Taste C7
- Los sperrt Taste C7 und entsperrt Taste C8

(Vielleicht habe ich mich hier jetzt gerade mit der Polarität vertan ... egal, das Prinzip sollte klar sein).

Funktioniert stabil. Und weil es so schön war habe ich gleich noch selbiges in ein paar anderen Räumen, wo ein ähnliches Problem herrschte umgesetzt.

An dieser Stelle schon mal vielen Dank für Eure Tipps.

Da ich momentan "extrem offline" bin (habe vergessen mich um den Telefonanschluss unseres Neubaus zu kümmern ... argh), bin ich nur während meiner Arbeitszeit online, und in der möchte ich mich nicht mit einem Wiki-Beitrag herumschlagen. Sobald ich aber wieder online bin werde ich mich in meiner kargen Freizeit hinsetzen und ein bisschen was zusammenschreiben, so dass nachfolgende Generationen mit solchen Bedingten Kommandierungen weniger Probleme haben sollten.

Danke und Gruß
Stef
Benutzeravatar

Beleuchtfix
Administrator
Administrator
Beiträge: 5304
Registriert: Mi 10. Jan 2007, 18:49
Kontaktdaten:
Status: Offline

#15 RE: Programmierung von Abhängigkeiten

Beitrag von Beleuchtfix »

Hallo Stef, toll das es geklappt hat. Das entspricht genau dem, was hier u.a. vorgeschlagen wurde.

Hoffentlich sind die Teletuppies o.ä. bald erfolgreich :-)

Gruß
Florian
Antworten