Enertex® EibPC
Der Hutschienen-PC für die EIB/KNX-Hausautomatisierung
Enertex® Bayern GmbH
Die Firma Enertex® Bayern GmbH ist seit 2001 als reiner Dienstleister im Bereich Embedded Hard- und Software für Industriekunden, sowie als Planer von Energieverteilungssystemen (Hoch- und Mittelspannung) tätig.
Mit der Entwicklung des Enertex® EibPC werden nun auch Märkte im Bereich von KNX-Planern und Endkunden erschlossen. Die Enertex® Bayern GmbH ist seit 2008 Mitglied der KNX-Assoziation.
Enertex® EibPC
Die Ausgangssituation
Bei der Planung einer EIB/KNX Installation, nachdem alle Aktoren, Schaltelemente, Panels eingearbeitet sind, stellt man sich oder den Kunden die Frage: Wieviel Automatisierung darf’s denn sein?
Basisfunktionalitäten sind zwar in den Reiheneinbaugeräten (REG), Wetterstationen usw. vorhanden, aber der (erfahrene) Planer weiß, dass damit eine Automatisierung nur sehr begrenzt möglich ist und daher gerade der wesentliche Vorteil einer EIB/KNX Installation nicht ausgereizt wird.
Ein Einsatz von diversen Zeitschaltuhren und Logiken in REG-Bauform, der Einsatz eines PCs samt Software oder ein Gira Homeserver ist die Konsequenz.
Als preisgünstige und dennoch leistungsstarke Alternative bietet sich der neue Enertex® EibPC an.
Kurzübersicht
Die offizielle Kurzbeschreibung des Enertex® EibPC liest sich wie folgt:
Der EibPC stellt eine programmierbare Steuerung für das EIB/KNX-System dar, die sich durch einfache Konfigurierbarkeit, hohe Flexibilität in der Anwendung, Hutschienenmontage (6 TE) und geringe Leistungsaufnahme (1,2 W) auszeichnet.
Darüber hinaus lässt sich das Gerät in eine individuelle LAN-Automatisierungsumgebung integrieren und stellt mit seinem Webserver eine einfache, benutzerdefinierbare Visualisierung zur Verfügung. E-Mail-Benachrichtigungen kann er über einen Pop3-Server verschicken.
Er implementiert bis zu 65000 Szenenaktoren und Schaltuhren bei Synchronisierung der Systemzeit via Internet, quarzgesteuert oder von anderen KNX-Geräten über Bustelegramme.
Der EibPC ist Busmonitor und zeichnet in einem Ringpuffer bis zu 500.000 Telegramme auf. Über die mitgelieferte Software EibStudio kann dieser ausgelesen werden. Der integrierte Debugger ermöglicht eine einfache Programmierung.
Der Enertex® EibPC (sprich „eib P C“) ist also ein Reiheneinbaugerät, was schon mal sehr wenig Leistung aufnimmt. Er stellt nach dieser Beschreibung eine komplette Automatisierungslösung mit eingebauten LAN-Funktionalitäten zur Verfügung. Wir wollen das Gerät unter diesen Gesichtspunkten aus der Sicht des Anwenders im folgenden etwas detaillierter vorstellen und testen.
Die Inbetriebnahme – nur Einschalten
Wir schließen zunächst den Enertex® EibPC an eine KNX RS232 Schnittstelle an. Laut Anleitung brauchen wir eine DC Versorgung 20.. 30 V, eine externe FT1.2 RS232-Schnittstelle. Es eignen sich u.a.:
- Siemens N148/04 (5WG1 148-1AB04) (Sie müssen umschalten auf FT 1.2)
- EIBMarkt IF-RS232 (Sie müssen umschalten auf FT 1.2)
Wir entscheiden uns für die Siemens, die noch von der Inbetriebnahme unserer KNX-Installation übrig ist. Der Enertex® EibPC findet in unserem Testaufbau im Schaltschrank neben der KNX Stromversorgung Platz. Da diese noch einen DC-Ausgang „frei“ hat, versorgen wir den Enertex® EibPC hiermit, noch eben LAN-Anschluss angeklemmt und fertig.
Der erste Bootvorgang dauert ca. 4 min. Der Enertex® EibPC sucht nach einen DHCP Server im Netz. Wenn er keinen findet, sucht er selbständig im Netz nach einer freien Adresse. Um den Enertex® EibPC anzusprechen und zu programmieren benötigt man die Software EibStudio, die sowohl unter Linux als auch unter Windows zur Verfügung steht. Natürlich muss die Firewall des eigenen PCs den EibPC eine Kommunikation erlauben.
Damit ist die eigentliche Installation denkbar einfach:
Anschließen von DC und RS232, LAN stecken, Strom ein und los geht’s! Insbesondere ist kein Umstellen von IP Adressen, der Netzwerkkonfiguration oder DHCP Servern etc. notwendig.
Die Software – Enertex® EibStudio
Die Software benötigt keinen Setup – sie kann vom USB-Stick, vom Dateiserver oder einem Verzeichnis durch einfaches Ausführen gestartet werden. Auch der Endkunde bekommt die Software für den Enertex® EibPC kostenlos.
Doch nun zum Einrichten der Verbindung EibStudio und EibPC. Beim ersten Start empfängt uns ein Assistent: Es geht der Dialog zum Suchen des Enertex® EibPC im Heimnetzwerk auf. Der Enertex® EibPC wird sofort erkannt, wenn man dort (Abbildung 1) auf die Schaltfläche „Automatisch“ drückt.
Abbildung 1: Ein Klick auf Automatisch – und schon kennt man den EibPC
Im nächsten Schritt des Assistenten geht es um die ETS3 Gruppenadressen. Diese müssen zuvor über den OPC Server in der ETS als ESF-Datei exportiert werden. In das EibStudio werden nun die Gruppenadressen übernommen. Man kann auch ohne diesen Export arbeiten, in dem man die Gruppenadressen „manuell“ eingibt.
Bei Projekten wo kein Zugriff auf die ETS vorliegt, wohl aber eine schriftliche Dokumentation, ist so eine Automatisierung mit dem Enertex® EibPC möglich.
Wir wollen diesen Sonderfall nicht weiter betrachten und widmen uns den EibStudio: Abbildung 2 zeigt die Oberfläche nach den genannten Schritten.
Abbildung 2: Das Enertex® EibStudio nach dem ersten Systemstart und Import der Gruppenadressen aus der ETS3
Rechts oben im Fensterabschnitt „Adressen“ ist der Import der Gruppenadressen aus der ETS3 dargestellt. Rechts unten ein paar Konstanten für die Programmierung. Im Feld unten ist ein Meldungsfenster eingeblendet und das weiße Feld oben stellt die eigentliche Arbeitsfläche, das Anwendungsprogramm, dar. Für die Eingabe des Aufstellungsorts, Wahl der Importdatei der Gruppenadressen (ESF) und die E-Mail- Konfiguration stehen Assistenten zur Verfügung, die dann die entsprechenden Einträge im Projekt (Anwendungsprogramm) vornehmen. Das Anwendungsprogramm selbst wird in Form einer Textdatei abgespeichert und bearbeitet. Damit unterschiedliche Daten im Programm auch verschieden verarbeitet werden, gibt es innerhalb des Anwendungsprogramms so genannte Sektionen. Diese sind durch einen Namen in eckigen Klammern gekennzeichnet.
Im Bereich Anwendungsprogramm steht die eigentliche Programmierung und Konfiguration. Da diese Einträge allesamt textbasiert sind, können professionelle Anwender Einstellungen und Programmteile wesentlich zeitsparender per Copy und Paste von Projekt zu Projekt übernehmen. Alternativ können die Einstellungen auch menügeführt (vgl. Abbildung 3) vorgenommen werden.
Abbildung 3: Konfiguration des Enertex® EibPC – eine Auswahl der Konfigurationsdialoge
Vorgefertigte Funktionsblöcke und Makros – Erleichterung bei Standardaufgaben
Der Hausplaner weiß: „Eine vollautomatische Hausbeschattung ist heute das, was vor 15 Jahren die Klimaanlage im PKW war“. Eine Standardaufgabe also. Daher richten wir im folgenden eine Beschattung als Demoprojekt ein.
Hierzu benötigen wir noch keine Programmierung, da Bibliotheken für Beschattungsaufgaben, Wintergartensteuerungen und Beleuchtungen mitgeliefert werden. Diese Bibliotheken werden per Mausklick und den Makroassistenten konfiguriert, so dass der Enertex® EibPC im einfachsten Fall ohne jegliche Programmierkenntnisse bedient werden kann.
Abbildung 4 zeigt den Assistenten für die Eingabe einer Beschattungsautomatisierung, wobei wir hier den Fall vorliegen haben, dass die Rolloaktoren nur „Auf“ (0) und „Zu“ (1) und „Stop“ (1) kennen – Für „komfortablere“ Aktoren bzw. Jalousien mit Lamellenverstellungen gibt es entsprechende Makros. Auch das Erstellen eigener Makrobibliotheken ist problemlos möglich.
Im Demoprojekt soll die Automatisierung der Beschattung über einen Taster ein bzw. auszuschalten sein. In unserem Demoprojekt sind die Fenster alle in Nord-Süd-Ost-West-Richtung ausgerichtet, so dass wir entsprechende Makros nutzen. (Daneben wären für beliebige andere Ausrichtungen vorgefertigte Makros vorhanden). Bei Sonneneinstrahlung in das Fenster, soll der Rollo bis auf eine Schlitzöffnung zum Zwecke des Lichteinfalls nach unten fahren. Die Schlitzöffnung ist durch eine Zeitkonstante zum teilweise Wiederöffnen des Rollos im Makro realisiert.
Wir müssen noch unseren Aufstellungsort einrichten, da die Sonne bekanntlich je nach Aufstellungsort und Zeitpunkt unterschiedlich hoch steht. Über einen Dialog (unten links, Abbildung 3) geben wir hierzu unsere Koordinaten ein. Die Uhrzeit können wir entweder quarzgesteuert im EibPC laufen lassen oder genauer (mehrmal täglich) per NTP-Server synchronisieren. In letzterem Fall muss der Enertex® EibPC natürlich über das LAN eine Internetverbindung herstellen können.
Schließlich ist damit unsere Aufgabe durch ein einfaches „Ausfüllen“ des Makroassistenten (Abbildung 5) erledigt. Der erfahrene Anwender kann die Makros gleich im Anwendungsprogramm direkt editieren, am Anfang ist der Assistent jedoch eine große Hilfe.
Abbildung 4: Makroassistent für die Beschattung
Der Start eines neuen Programms – 3-2-1 meins…
Nun muss das Programm in den Enertex® EibPC eingespielt werden. Es wird dann automatisch gestartet.
Von diversen alternativen Lösungen weiß man, dass das Einspielen des neuen Programms mit mehreren Minuten Wartezeit verbunden ist. Nicht so erfreulicherweise beim Enertex® EibPC. Im Normalfall dauert das Einspielen eines Programms und dessen Start 2 bis 8 Sekunden, abhängig von der Programmgröße. Ein langwieriger Neustart ist nicht notwendig und man kann daher mit dem Enertex® EibPC schnell Anwendungsvarianten austesten.
Einzige Einschränkung:
Wenn der Aufstellungsort verändert wird, berechnet der Enertex® EibPC für ca. 3 Minuten neue Sonnenkoordinaten. Naturgemäß wird dies nur einmal bei der Inbetriebnahme der Fall sein und diese Einschränkung erscheint uns wenig problematisch.
Abbildung 5: Fertig ist die Beschattung
Programmierung
Wenn man mehr als nur die Makroassistenten nutzen will, greift man auf die Programmiermöglichkeiten des Enertex® EibPC zurück.
Die Programmiersprache ist einfach gestaltet und besteht aus Wenn-Dann-Anweisungen, einfachen Zuweisungen und einem Satz von Funktionen. Der Anwender wird von einen Texteditor mit Syntaxhervorhebung und Autovervollständigung unterstützt.
In unserer Anwendung wollen wir nun zusätzlich mit dem Sonnenuntergang alle Rollos (Gruppenadresse 2/5/7) runterfahren. Außerdem möchten wir eine Schaltuhr programmieren: Werktags um 8:00:00 Uhr sollen die Rollos wieder hochfahren.
Und wir wollen noch mehr Automatisierung, schließlich erwarten wir Komfort von unserer KNX-Installation: Die Freigabe der Beschattung soll nicht mehr durch einen Anwender erfolgen, sondern nur:
- wenn der Windsensor (Gruppenadresse 2/1/0) eine Windgeschwindigkeit kleiner 7.3 m/s misst,
- wenn das Datum zwischen 01.05 und 30.09 liegt und
- wenn der Lichtsensor (Gruppenadresse 2/1/1) mehr als 5000 Lux misst.
Hintergrund: Wenn es zu stürmisch wird, soll die Beschattung aussetzen. An sonnigen Tagen in den Sommermonaten soll die Beschattung automatisch erfolgen.
Abbildung 6: Etwas Programmierung
Das Ergebnis der Programmierung ist in Abbildung 6 dargestellt. Die Programmiersprache ist funktional aufgebaut: Die Funktion wtime beispielsweise, liefert am Ausgang eine „1“, wenn die Zeit der angegebenen Argumente exakt erreicht ist. Die Funktion sun() liefert bei Sonnenaufgang eine „1“ und das Ausrufezeichen „!“ zeigt die invertierte Logik an („Nicht“-Sonnenaufgang = Sonnenuntergang).
Mit der Anweisung if wtime(…) kann auf einfache Weise eine Wochenzeitschaltuhr realisieren werden. Es gibt Monats-,Tages- und Sekundenzeitschaltuhren.
Der EibPC verarbeitet bis zu 65.000 Objekte, d.h. wir können mehr Schaltzeituhren in den EibPC programmieren, als es Gruppenadresse einer KNXTM Installation gibt. Nun – das sollte reichen…
Der Funktionsumfang des Enertex® EibPC ist beachtlich:
- mathematische Funktionen
- beliebige Variablendefinitionen, Zähler, Konstanten
- Synchronisierung der Buszeit (KNX-, LAN-, Quarzgesteuert)
- Szenenaktoren, Lesen und Schreiben auf interne und externe Szenenaktoren
- Schreiben und Lesen und Senden von Leseanforderungen vom KNXTM Bus
- Logische Verknüpfungen
- Verarbeitung von Strings bis 1400 Zeichen
- Umwandlung von Datentypen etc.
Der Enertex® EibPC durchläuft sein Programm fortwährend und reagiert auf Änderungen bzw. Ereignissen von Variablen, Busnachrichten, LAN-Telegrammen. Zur Performance dieser Verarbeitung gleich mehr.
Die Programmierung ist konsequent aufgebaut und lässt ein Verschachteln von Funktionen beliebig zu. Ein „interner“ Szenenaktor (mit 64 abspeicherbaren Szenen) ist eine einfache Funktionsdefinition:
Abbildung 7: Ein Szenenaktor im EibPC
Auch hier gilt: Der Enertex® EibPC verarbeitet bis zu 65.000 Objekte, d.h. wir können maximal 65.000 Szeneaktoren mit jeweils 64 Szenen definieren. Von praktischer Bedeutung ist dabei: Die Szenen bleiben bei einer Veränderung der Programmierung und Stromunterbrechung bestehen.
Das Handbuch, welches bei der frei zugänglichen Vollversion des Programms mitgeliefert wird bzw. ab 1.10. 2009 auch getrennt zum Download auf www.eibpc.com vorliegt, bietet weitere Beispiele. Eine leicht verständliche Einführung mit zahlreichen Beispielen führt schnell zum besseren Verständnis.
Nochmal zur Erinnerung: Der Enertex® EibPC kann auch direkt mit Gruppenadressen arbeiten, ohne die ETS3 Daten zu importieren.
Performance
Ein Wort zur Performance:
Der Enertex® EibPC durchläuft seine Verarbeitungsschleife ca. pro Millisekunde einmal, so dass er den KNX-Bus in Echtzeit bedienen kann.
Hierzu ein Schmankerl, dass wir im Demoprojekt auch mit Kindern getestet haben:
Ein KNX-Taster soll bei einfachen Drücken, das Licht im Zimmer einschalten. Ein „Doppelklick“ (zweimaliges Drücken der Taste innerhalb 800ms) soll zusätzlich die Rollos im Zimmer runterfahren. Es existiert in der Bibliothek „Enertex.lib“ das Makro Doppelklick, dass über den Assistenten parametriert werden kann und diese Funktion implementiert. Wir parametrieren unseren Doppelklick wie in Abbildung 8 angegeben. Beim einmaligen Drücken des Tasters, der auf 1/1/13 immer eine „1“ sendet, soll der Dimmer auf 100% angesteuert werden. Erfolgt ein Doppelklick auf den Taster, sollen die Rollos runterfahren.
Abbildung 8: Doppelklick
Ein Blick „unter die Motorhaube“ der Programmierung (Abbildung 9) dieses Makros zeigt, dass man hier einen Timer nutzt, dessen Arbeitsbereich in Millisekunden liegt. Der Timer selbst ist in der Programmierung über die Funktionen after realisiert. Wir schauen den Code genauer an: Wenn ein Ereignis „Sende auf Gruppenadresse 1/1/13“ auftritt, die Nachricht auf dieser Gruppenadresse ein „EIN“ trägt dann wird ein Zähler hoch gesetzt. Innerhalb von 800ms kann nun wie gewünscht der Doppelklick erfolgen, so dass erst nach 800ms die entsprechende Busnachricht generiert wird. Nach 1000ms wird der Zähler zurückgesetzt.
Zugegeben, der Doppelklick einer Taste ist nichts für den Anwender von konventioneller Elektroinstallationen, aber das ist wohl auch nicht die Zielgruppe für den Enertex® EibPC.
Abbildung 9: Doppelklick – hinter den Kulissen
Wenn wir die Zeit von 800ms auf 200 ms verringern, schafft nur noch einer den Doppelklick: Der Enertex® EibPC.
Nach der Programmierung – vor der Fehlersuche
Datenlogger – der Enertex® EibPC als Arzt
Das Enertex® EibStudio kann die aktuellen Telegramme des EIB/KNX-Systems beobachten und die im Enertex® EibPC gespeicherten Telegramme herunterladen.
Die Aufzeichnung der Telegramme erfolgt direkt im Enertex® EibPC in einem Ringspeicher mit 500.000 Telegrammen auch ohne bestehende LAN Verbindung zu einem PC. Zu einem späteren Zeitpunkt können dann die Telegramme über das EibStudio in den PC gelesen und ausgewertet werden. Diese können als *.csv-Dateien exportiert und in einem Tabellenkalkulationsprogramm wie Microsoft® Excel® verarbeitet werden. Durch die im Protokoll enthaltenen Zeitstempel eignet sich der EibPC zur Analyse des EIB/KNX-Systems.
Abbildung 10: Import der Daten in MS Excel
Unser Testsystem, ein Intel Centrino 2 GHz, benötigt ca. 1s zum Download von ca. 2.000 Telegrammen. Dies bedeutet, ein voller Speicher im Enertex® EibPC wird in ca. 250 Sekunden oder ca. 4 Minuten übertragen, was uns als praktikabel erscheint.
500.000 KNX-Telegramme – was bedeutet das in Aufzeichnungslänge?
Schwer zu sagen. Die maximale „Buslast“ liegt bei ca. 5 Telegrammen pro Sekunde. Der eingefleischte „Busburster“ kann also ca. 27 Stunden Busverkehr im Enertex® EibPC aufzeichnen. Bei einer normalen Installation wird man ca. 10 Telegramme pro Minute auf dem Bus senden, dann reicht die Aufzeichnungsdauer für 70 Tage.
In jedem Fall kann dann, wie Abbildung 10 zeigt, auch im Nachhinein festgestellt werden, welcher Aktor welches Telegramm geschickt hat, warum wie reagiert wurde usw. Sogar die Binärdaten werden sichtbar.
Für die Inbetriebnahme ist der Datenlogger ein wichtiges Werkzeug. Fehler in der Programmierung oder vom Anwender initiierte Abläufe können auch nach der Installation für den Aufzeichnungsraum nachvollzogen werden.
An dieser Stelle sei auf das Makro „AktorTest“ in der „Enertex.lib“ (Makrobibliothek) hingewiesen: Mit diesem Makro kann ein zyklisches Abfragen einer Gruppenadresse (Leseanforderung) konfiguriert werden. Solange der Aktor antwortet, ist die Welt in Ordnung. Wenn nicht, wird eine Fehlervariable gesetzt. Damit können auch Aktoren auf Ihre Funktion hin überprüft werden.
Der integrierte Debugger
Aus dem Enertex® EibStudio heraus kann über den Enertex® EibPC lesend und schreibend auf Geräte des EIB/KNX-Systems zugegriffen werden und Variablen der Programmierung gelesen und verändert werden.
Dies ist natürlich ungemein hilfreich, wenn man
- den Wert einer Variablen oder
- den (zuletzt übertragen) Wert einer Gruppenadresse
lesen oder „manuell“ setzen will. Wohlgemerkt, das Programm des Enertex® EibPC wird nicht unterbrochen, sondern nur der Inhalt von Variablen quasi in Echtzeit verändert.
Daneben bietet der Debugger auch die Möglichkeit,
- direkt auf den KNXTM Bus Telegramme zu schreiben bzw. Leseanforderung zu schicken.
Bei komplexeren Programmen ist dies sicherlich eine wertvolle Unterstützung.
In Abbildung 11 schreiben wir auf diese Weise den Wohnzimmerdimmer auf einen Wert auf den KNX-Bus. An dieser Stelle ist der Debugger ähnlich zum Monitor der ETS.
Darüber hinaus können aber auch die Variablen im Enertex® EibPC direkt verändert bzw. abgefragt werden (vgl. Abbildung 12).
Abbildung 11: Der Debugger und Sniffer des Enertex® Enertex® EibPC
Abbildung 12: Die Antwort auf eine Frage – angezeigt im Fenster „Meldungen“
LAN-Gerät im Heimnetz – Zusatzoption NP
Der Enertex® EibPC kann mit Geräten in ein bestehendes LAN Netzwerk per UDP-Datagrammen kommunizieren. Diese Funktionalität ist per Freischaltcode auch nachrüstbar, wobei der Freischaltcode auf die Seriennummer des Geräts bezogen wird.
Damit lässt sich beispielsweise eine Ansteuerung von Multimediageräten realisieren oder eine MP3-Songlist während der Wiedergabe auf KNXTM Anzeigeelementen ausgeben.
Die LAN-Unterstützung des Enertex® EibPC umfasst in der Basisversion
- ntp-Zeitsynchronisierung
- Namensauflösung (DNS Server kann eingebunden werden)
Die Zusatzoption NP ist realisiert über separaten Freischaltcode (auf die S.NR. des Geräts). Sie umfasst:
- Senden von E-Mails über Pop3-Server
- Senden und Empfangen von UPD-Telegrammen
- Webserver
Der Webserver wird über das Enertex® EibStudio konfiguriert. Die Konfiguration erfolgt textbasiert im Anwendungsprogramm.
Der Enertex® EibPC bleibt hier dem Konzept seiner Programmierung über eingebaute Funktionen treu. So stehen
- zum Senden und Empfangen von UDP – Telegrammen die Funktionen sendudp und readudp,
- zum Senden von E-Mails sendmail, resolve (Namensauflösung),
- für das Webinterface webbutton, webdisplay
zur Verfügung. Als Beispiel haben wir hier ein Programm in Abbildung 13 erstellt.
Die Darstellung des Webservers ist in Form einer Tabelle mit bis zu 255 Elementen vorzugeben. Das äußerre Erscheinungsbild des Webservers ist fest vorgegeben und lässt sich über das Enertex® EibStudio konfigurieren. In Abbildung 13 erkennt man, dass der Webserver in diesem Beispiel auf ein 2-zeiliges Design mit 3 Spalten eingestellt wird. Dies geschieht einfach durch die Angabe von drei Elementen in 2 Zeilen in der Sektion [WebServer]. Das Webinterface selbst ist professionell erstellt, so dass eine für den Inbetriebnehmer lästige bzw. problematische „optische Optimierung“ nicht notwendig wird.
Abbildung 13: LAN und Webserver bei der Programmierung.
Durch die Konfiguration in der Textform lassen sich Applikationen sehr einfach durch Copy & Paste modifizieren. Durch die Indizierung der Konfiguration, z.B. Button(0) und der Programmierung webbutton(0), erfolgt eine eindeutige Zuordnung.
Man beachte im Beispiel also „0“ als Index des „Knopfes“ im Webserver, der der Funktion webbutton zugeordnet wird. Wenn der Knopf über das Webinterface beträgt wird, gibt die Funktion webbutton(0) auf „1“. Gleiches gilt für Button(1) und webbutton(1): Daher verschickt der Enertex® EibPC eine EMail, wenn jemand auf diesem Knopf drückt. In eckigen Klammern ist der Symbolname des Bottons angegeben. Es steht für die Visualisierung ein Satz von Symbolen zur Verfügung.
Auch die Verarbeitung von UDP Telegrammen aus in das LAN ist einfach möglich. Dabei können Daten sowohl als binäre Datentypen als auch als Zeichenketten verarbeitet werden. Entsprechende Funktionen werden zur Verfügung gestellt.
Das Demoprojekt in Abbildung 13 zeigt, wie ein UDP Telegramme eines Multimediageräts ausgewertet wird: Der Player sendet über LAN an den EibPC einen ASCI String „Play Music: “ plus den eigentlich gespielten Musik-Titel. Der Enertex® EibPC bietet die Möglichkeit einer Stringverarbeitung mit Suche nach Stringmustern, Aufsplitten vom Strings und Konvertierungsfunktionen (z.B. Zeichen in Zahlen umwandeln). Mit Hilfe dieser Funktionen wird der String, der via UDP an den Enertex® EibPC gesandt und ausgewertet, in eine KNX-Zeichenkette gewandelt und letztlich an ein KNX Display ausgegeben.
Fazit
Insgesamt kann man den Enertex® EibPC als sehr gut konzeptionierte Automatisierungslösung betrachten. Die Montage auf der Hutschiene, der einfache Netzwerksetup, das Nichtvorhandensein einer Installation sind für den professionellen Anwender sicher von rein praktischem Vorteil. Die zeitgemäß geringe Leistungsaufnahme wird auch den Geldbeutel des Bauherrn freuen. Schließlich läuft das Gerät im Normalbetrieb 24 Stunden 365 Tage im Jahr und verbraucht nur 1,5 Watt bzw. 13kWh pro Jahr. Demnach betragen die „Unterhaltskosten“ ca. 2 € pro Jahr.
Die Möglichkeiten für die Automatisierung des Enertex® EibPC kann man als umfassend bezeichnen. KNX- Szenen, Schaltuhren, Sonnenstandermittlung, Verknüpfungen, Berechnungen etc. können faktisch unbegrenzt genutzt werden. Dabei ist die Performance des Enertex® EibPC im Millisekundenbereich sehr beeindruckend.
Will man nur Standardaufgaben realisieren, kann man auf die Programmierung und die damit verbundene Einarbeitung verzichten. Allerdings schöpft man das Potenzial des Enertex® EibPC nur mit der Programmierung aus. Diese beschränkt sich auf Wenn-Dann-Anweisungen und einen Satz von Funktionen. Da die Programmierung konsequent und ohne Ausnahmen angelegt ist, ist die Lernkurve recht steil. Das gut strukturierte Handbuch mit vielen Beispielen ist so aufgebaut, dass sich auch bei unerfahrenen Programmierern schnell ein Verständnis einstellt.
Den integrierte Datenlogger wird der professionelle Anwender sehr schätzen, da z.B. bei Reklamationen die Fehlersuche sehr vereinfacht wird. Die stattliche Anzahl von 500.000 Telegrammen scheint in jedem Fall ausreichend zu sein. Der Heimanwender, der das Enertex® EibStudio durch den Kauf des EibPCs erwirbt, wird diesen Logger ebenfalls zu schätzen wissen. Die Möglichkeit, ein eigenes Programm während der Laufzeit zu debuggen, muss hier wohl nicht bewertet werden. Jeder Programmierer kennt bereits die Vorteile einer solchen Möglichkeit und der unerfahrene wird sie rasch zu schätzen lernen.
Die Option NP (Netzwerkpaket) ermöglicht die Verbindung von LAN-Netzwerk und KNX Installation. Dass mit dem Enertex® EibPC EMail, Webserver und UDP-Telegramme möglich sind, ist schon fast schon „überraschend“, v.a. wenn man die Alternativen preislich bewertet.
Insgesamt kann der Enertex® EibPC als gelungene „runde“ Lösung für eine zeitgemäße KNX-Installation bezeichnet werden.
Über die mail eibpc@enertex.de hat der Hersteller eine Supportadresse.
Technische Daten EibPC
- Abmessungen: Hutschiene, 6 TE
- Spannungsversorgung: 20 … 30 V DC
- Leistungsaufnahme: 1,2 – 1,5 W (abhängig von LAN Aktivität)
Schnittstellen:
- Ethernet 10/100 Mbit/s
- RS232
Möglichkeit zur Firmwareaktualisierung: ja
Lieferumfang
- 1 x EibPC
- 1 x RS232-Verbindungskabel D-Sub, 9-polig
Wichtiger Hinweis:
Eine zum Betrieb am EIB/KNX-System erforderliche FT1.2-Schnittstelle RS232-EIB/KNX ist nicht im Lieferumfang enthalten und muss ggf. getrennt beschafft werden.
Folgende Schnittstellen wurden bisher erfolgreich getestet, so dass für diese die Kompatibilität zum Enertex® EibPC sichergestellt ist:
- EIBMarkt IF-RS232 (Sie müssen umschalten auf FT 1.2)
- Siemens N148/04 (5WG1 148-1AB04) (Sie müssen umschalten auf FT 1.2)
Aktionspreis
Der Enertex® EibPC ist zwischen dem 01.10.2009 bis zum 31.12.2009 im KNX-Userforum EibPCs zum Sonderpreis von 498 € / Stück (inkl. ges. MwSt) erhältlich. Die Lieferung erfolgt ab 15.10.2009.
Diese Geräte besitzen den vollen Leistungsumfang, insbesondere auch die Option NP.
Nach Ablauf der Aktion ist
- die Basisversion für 598 € (inkl. Steuer, exklusive Porto und Verpackung)
- die Basisversion im Bundle mit Option NP für 698 € (inkl. Steuer, exklusive Porto und Verpackung)
- die Option NP für 198 € (inkl. Steuer)
erhältlich.
Gewährleistung und Garantie
2 Jahre Herstellergarantie. 2 Wochen Rückgaberecht.
Der Webserver des Enertex® EibPC
Dieser Artikel setzt für das Verständnis den ersten Teil der Vorstellung des Enertex® EibPCs im Forum voraus.
Die Ausgangssituation
Der Enertex® EibPC kann bei der Ausstattung mit Option NP eine Visualisierung und Steuerung der KNX-Installation über einen Webbrowser an einem PC, Laptop oder Touchpanel vornehmen.
Die Visualisierung ist mit Hilfe eines Browsers möglich, wobei der Microsoft Internet Explorer 7 bzw. der in den Tests performantere Mozilla Firefox validiert wurden.
Aufgabe und Lösung
Wir wollen
- eine Schaltuhr steuern,
- einen Temperaturverlauf darstellen,
- die Werte der Wetterstation anzeigen,
- und einen Lichtschalter realisieren.
- Wir benötigen hier also eine Oberfläche, die in Form eines HTML-Codes auf dem Enertex® EibPC hinterlegt wurde.
Ohne zu viel vorwegzunehmen: Ihr Webserver wird wie folgt aussehen – und das generiert mit wenigen Textzeilen mit dem Enertex® EibStudio:
Abbildung 14: Der Webserver des Enertex® EibPC für die genannte Aufgabenstellung konfiguriert.
Konfiguration
Der Aufbau
Der Webserver ordnet wie in einem Schachbrettmuster seine Elemente an, die eine vorgegebene einfache oder doppelte Länge aufweisen. Grundsätzlich besteht die Möglichkeit, auch Felder freizulassen sowie Trennlinien einzufügen.
Die Anordnung und die Konfiguration der Webelemente wird in der Sektion [WebServer] im Enertex® EibStudio vorgenommen. Durch die feste Vorgabe von eingebauten Icons, Längen und Variablen kann die Konfiguration ohne grafischen Aufwand rein textbasiert erfolgen. Der in Abbildung 14 gezeigte Webserver wurde wie in Abbildung 15 dargestellt konfiguriert:
Abbildung 15: Die Konfiguration des Webservers
Das minimale Design des Webservers sieht vier Spalten und fünf Zeilen vor. Kopf- und Fußzeile können abgeschaltet werden, so dass auf Touchpanels mit 800×600 Zeilen Auflösung durch die benutzerfreundliche Gestaltung der Knöpfe eine sehr einfache Bedienoberfläche entsteht. Wenn die Zeilen nicht in der Sektion [WebServer] definiert werden, so bleiben die Flächen unbesetzt. Im einfachsten Fall besteht dann der Webserver aus einer leeren Seite.
Das „Bildungsgesetz“ zur Erzeugung des Webservers kann man wie folgt zusammenfassen:
- Jedes Element hat eine ID (maximal 256 Elemente).
- Jede Zeile der Konfiguration entspricht einer Zeile der Visualisierung.
- Elemente werden durch ein oder meherere Leerzeichen voneinander getrennt.
- Leere-Elemente (none) werden automatisch generiert (z. B. die letzte Zeile des Webservers).
- Der Webserver besteht aus maximal zehn Spalten.
Der Anwender kann auf diese Weise mit wenigen Texteingaben den eingebauten Webserver konfigurieren.
Bedienung
Der integrierte Webserver ist so aufgebaut, dass er bei Tastendruck auf die Schaltflächen im Webbrowser sofort reagiert und an die Verarbeitungsschleife eine entsprechende Information schickt. Beim Tastendruck wechselt zusätzlich das Icon einer Symbolgruppe immer sofort auf den Zustand ACTIVE, der durch einen Beleuchtungseffekt gekennzeichnet ist. Damit soll dem Anwender die Erkennung der Betätigung erleichtert werden. Der in Abbildung 14 gezeigte Knopf links unten („Licht“) ist in diesem Zustand.
Dabei sind die Knöpfe so entworfen, dass auch mit einem Touchpanel per Fingerdruck eine ergonomische Bedienung möglich ist (vgl. Abbildung 2).
Abbildung 16: Der Webserver benötigt nur einen Webbrowser
Das Anwendungsprogramm kann auf den Tastendruck reagieren, indem mit den Funktionen webdisplay oder webchart der Zustand der Anzeigen geändert und letztlich damit die HTML-Datei des Webservers modifiziert wird. Nach etwa 1,5 Sekunden (nach Knopf-Betätigung) schickt der Webserver an den Browser einen Updatebefehl, der dazu führt, dass die neue HTML-Datei aufgerufen wird.
Zudem erzeugt der Webserver diesen Update-Befehl alle 30 Sekunden auch ohne Benutzereingaben am Webbrowser, so dass das Webinterface einen aktuellen Zustand darstellt.
Bei den Tests mit dem Mozilla Firefox zeigte sich auch bei einem umfangreicheren Projekt keine störende Verlängerung der Reaktionszeit oder etwa ein Neuaufbau des Bildes beim Update der HTML-Datei.
Zugriff auf den Webserver durch Programmierung
Um den Zustand der Schalter abzufragen, gibt es die Funktion webbutton. Sie gibt bei Betätigen bzw. Drücken der Schaltfläche eines Webbuttons (button oder shifter) mit der entsprechenden ID (Zahl zwischen 0 und 255) für einen Verarbeitungszyklus einen Wert ungleich Null zurück. Bei einem button-Element wechselt bei Betätigung des Elements die Rückgabe von 0 auf 1.
Der shifter kann variabel einen, zwei, drei oder vier Knöpfe mit Icons realisieren. Bei einem shifter-Element wechselt bei Betätigung die Rückgabe auf 1,2,3 oder 4, je nachdem, welches Schaltelement des shifters betätigt wird.
Abbildung 14 zeigt, dass button bzw. shifter jeweils aus Grafiken und zwei Textzeilen bestehen. Die erste Textzeile wurde bereits in der obigen Konfiguration am Ende des Elements angegeben und kann während der Laufzeit nicht mehr verändert werden. Jeweils die zweite Zeile und ein Symbol werden mit der Funktion webdisplay zur Lauftzeit verändert.
Zum Erzeugen eines XY-Diagramms mit chart kann man über die Funktion webchart auf das chart-Objekt zugreifen. Es können Werte aus dem Bereich 0..30 dargestellt werden. Werte größer als 30 werden wie 0 interpretiert. Bei jedem Aufruf der Funktion werden zunächst die Werte von links beginnend dargestellt. Wenn nach 47 Aufrufen das Ende erreicht ist, werden die Werte nach links geschoben. Die X-Achsen-Beschriftung kann während der Laufzeit angepasst werden.
Ohne auf die eigentliche Programmierung eingehen zu wollen, zeigen wir hier das Anwendungsprogramm zu unserer eingangs notierten Zielsetzung. Der erfahrene Programmierer wird die einfache Syntax sofort begrüßen. Für den Anfänger hat das über 150 Seiten große Handbuch viele ausführlich erläuterte Beispiele parat.
Abbildung 17: Die Verarbeitung der Eingaben des Webservers.
Elemente des Webservers
Übersicht
Hier folgt eine Übersicht über die möglichen Elemente des Webservers:
Gruppe
|
Element
|
Erläuterung
|
Webbutton
|
||
button |
Die Grafik kann durch das Anwendungsprogramm verändert werden. Die erste Textzeile ist statisch (nur bei der Konfiguration veränderbar). Die zweite Zeile kann durch das Anwendungsprogramm verändert werden, z. B. zum Anzeigen von Variablen. |
|
shifter |
Die Grafik kann durch das Anwendungsprogramm verändert werden. Die erste Textzeile ist statisch (nur bei der Konfiguration veränderbar). Die zweite Zeile kann durch das Anwendungsprogramm verändert werden. |
|
shifter |
Die rechte Grafik kann durch das Anwendungsprogramm verändert werden. Die andere Grafik kann nur bei der Konfiguration verändert werden. Die erste Textzeile ist statisch (nur bei der Konfiguration veränderbar). Die zweite Zeile kann durch das Anwendungsprogramm verändert werden. |
|
shifter |
Die mittlere Grafik kann durch das Anwendungsprogramm verändert werden. Die beiden äußeren Grafiken können nur bei der Konfiguration verändert werden. Die erste Textzeile ist statisch (nur bei der Konfiguration veränderbar). Die zweite Zeile kann durch das Anwendungsprogramm verändert werden. |
|
shifter |
Die rechte Grafik kann durch das Anwendungsprogramm verändert werden. Die anderen Grafiken können nur bei der Konfiguration verändert werden. Die erste Textzeile ist statisch (nur bei der Konfiguration veränderbar). Die zweite Zeile kann durch das Anwendungsprogramm verändert werden. |
|
Webchart
|
||
chart |
Dieses Element dient zum Anzeigen von Verläufen. Die Beschriftung der Y-Achse wird bei der Konfiguration vorgeben. Die X-Achsen Beschriftung kann durch das Anwenderprogramm verändert werden. |
|
Dekoration |
||
line |
Erzwingt eine freie Zeile mit Trennlinie im Webserveraufbau |
|
header |
Die Kopf- und Fusszeile. Diese kann abgeschaltet werden, um so die Bedienung an Touchpanels zu erleichtern. |
|
none |
Ein Freifeld einfacher Breite |
Symbolsatz
Im Enertex® EibPC ist ein vorkonfigurierter Symbolsatz hinterlegt. Für den Webserver besteht die Möglichkeit eines Updates, so dass zukunftssicher auch andere Symbolsätze möglich sind.
Folgende Symbole sind im Enertex® EibPC hinterlegt:
Fazit
Der Webserver des Enertex® EibPC ist einfach zu konfigurieren. Dabei entsteht ohne große „künstlerische Begabung“ in wenigen Schritten ein professionelles Webinterface zum Steuern der KNXTM-Installation via LAN und Internet Browser.
Weitere Informationen
zum EibPC, die Vollversion der Software Enertex® EibStudio, sowie die Bedienungsanleitung finden Sie unter www.eibpc.com.