Dynamisches Menü für eine Visualisierung
Hi liebe Forum-Mitglieder!
Für mein neues Smart-Home Projekt möchte ich mit LabVIEW eine Visualisierung von einem Gebäude machen und hoffe von Euch auf ein paar anregende Infos zur Programmiertechnik.
Folgendes möchte ich umsetzen:
Auf dem Bildschirm wird ein Bild einer Grundrisszeichnung von einem Stockwerk des Hauses zu sehen sein, über den abgebildeten Räumen liegen jeweils unsichtbare Schaltflächen, die bei Betätigung ein Menüband (vielleicht 400 Pixel breit, Höhe ca. 3/4 der Bildschirmhöhe) auf der rechten Seite des Bildschirms erscheinen lassen sollen. In diesem Menü werden dann bestimmte Werte zu diesem Raum angzeigt (Temperatur, RLF usw.) und eingestellt (Solltemperatur des Raums, Ein und Ausschalten der verschiedenen Lampen usw).
Dabei möchte ich das Menüband dynamisch gestalten. Klicke ich auf dem Grundriss auf Raum 1, werden in dem Menü die Werte und Einstellmöglichkeiten von Raum 1 angezeigt, klicke ich auf einen anderen Raum, werden die Werte im Menü entsprechend geändert.
Da nicht jeder Raum die gleiche Anzahl an Anzeige- und Bedienelementen benötigt, möchte ich den Inhalt des Menüs modular und "dynamisch" aufbauen. D.h. ich mache (von oben nach unten gesehen) eine Sektion für die Beleuchtung, darunter die Sektion für Heizung, dann Lüftung, Umweltdaten usw.
Bei Beleuchtung z.b. gibt es dann verschiedene Lampentypen, die automatisch der Reihe nach angeordnet werden. Erst die Hauptbeleuchtung, dann die Umgebungsbeleuchtung, indirekte Beleuchtung usw.
Gibt es in einem Raum 5 zb keine Nebenbelechtung, dann soll dieses Element (bestehend aus einer Schaltfläche für Ein/Aus schalten und einer LED die die Rückmeldung der Lampe sowie Beschriftungen für beide Elemente) nicht angezeigt werden und das nächste Element, dass vorhanden ist, an die nächste Stellte rücken (also im Menü).
Es soll also eine Art Hierarchie der Obermodule (Beleuchtung, Heizung ... ) und Untermodule (Beleuchtung - Hauptbeleuchtung, Nebenbel. ... | Heizung - Solltemperatur setzen, Isttemperatur anzeigen ... ) geben und je nach Ausstattung des Raums, soll eben jene oder jene Bedien- und Anzeigekonfiguration im Menü erscheinen.
Ich benutze übrigens eine Visualisierungssoftware, die LabVIEW benutzt. Es gibt einige spezielle Funktionen, zb kann ich mithilfe spezieller Objekte, für die Anzeige und Bedienelemente, Quell- und Zieladressen definieren. Diese gehen dann auf das im Haus verbaute Bussystem.
Es geht mir also jetzt um die Umsetzung des dynamischen Menüs. Die Idee ist wie gesagt die modulare Zusammensetzung der verschiedenen Anzeigeblöcke des Menüs.
Nur wie gehe ich eine solche Sache an? Ich habe einige Erfahrung mit Skriptsprachen (C++, ST ... ) und arbeite mich gerade in Labview ein.
Ist es möchlich, Mini-VIs zu machen? Also für jedes Untermodul (z.B. "Hauptbeleuchtung") eigenes VI erstellen mit Ein- und Ausgabeobjekten, diedann mit den Adressen verbunden werden können? Dafür müsste man das VI Fenster laden, in den Vordergrund bringen und an die richtige Position bringen. Die Postion kann man ja berechnen. Außerdem muss das VI eine ganz bestimmte Fenstergrösse haben, einerseits, dass alle Module des Menüs gleich breit sind und eben damit man sie gleichmässig untereinander abbilden kann.
Ich hoffe das reicht erst mal zur Beschreibung, das wird sicherlich ein größeres Projekt, aber ich hoffe auf Eure Unterstützung. Das Problem ist auch, ich weiß nicht recht mit welchen Programmier-Techniken ich das mit LabVIEW umsetzen kann. Ich wäre also dankbar für ein paar Anregungen und Fachbegriffe, die ich dann im weiteren recherchieren kann.
Danke schonmal für die Mühen und einen schönes Wochenende,
Speedriff
|