KNX Stack TP System B

System B: Die neue Dimension der KNX Entwicklung

Jedes KNX-Gerät basiert auf einem sogenannten Gerätemodell. Ein Gerätemodell definiert, wie das Gerät über den Bus konfiguriert werden kann und legt auch die verfügbaren Ressourcen fest. So hängt zum Beispiel die maximale Größe der Verbindungstabelle vom Gerätemodell ab.

 Stack

System B ist ein neues Gerätemodell, das vor allem für die Implementierung komplexer KNX Geräte als Gerätemaske 07B0 (System B) definiert wurde. Der hauptsächliche Vorteil liegt in der Anzahl der verfügbaren Kommunikationsobjekte. Während bisherige Gerätemodelle auf 255 Objekte oder weniger limitiert waren, ermöglicht System B theoretisch bis zu 65,535 Kommunikationsobjekte. Dafür wurden die Formate der Kommunikationstabellen (Gruppenadress-, Assoziations- und Gruppenobjekttabelle) in der KNX-Spezifikation neu definiert.

System B Geräte können ihre Kommunikationsobjekte beim Systemstart automatisch aktualisieren. Diese Funktion wird als Read-On-Init bezeichnet und kann für jedes Objekt einzeln aktiviert werden. Nachdem die Applikation gestartet wurde, sendet die Systemsoftware eigenständig GroupValueRead-Services. Diese Services müssen vom Stack so abgearbeitet werden, dass der Bus nicht übermäßig belastet wird.

 Stack

Weiterhin bietet System B einen erheblich vergrößerten Adressraum. Die Konfigurationsdaten (Applikation, Parameter und Tabellen) können jetzt in einen Bereich von bis zu 1 MByte (20-Bit Adressierung) über den Bus (per Memory-Services) geladen werden. Für den Zugriff auf Systemparameter wurden zusätzliche Properties in den Interface-Objekten des Systems eingeführt.

System B wird sowohl vom ETS Herstellerwerkzeug MT4 als auch von der ETS3 und ETS4 unterstützt.

Implementierung für optimale Performance

Weinzierl Engineering bietet als Systemlieferant für KNX eine neue Implementierung für System B speziell für komplexe Geräte mit einer 32-Bit Architektur an. Sie setzt die Spezifikation vollständig um und zielt - auch bei sehr großen Applikationen - auf eine optimale Performance im Zielsystem.

Eine wesentliche Herausforderung stellt die Bearbeitung der großen Assoziationstabelle in Echtzeit dar. Diese Tabelle enthält die Zuordnung der Gruppenadressen zu den Kommunikationsobjekten und umgekehrt. Sie wird von der ETS geladen und ist nicht sortiert. Bei einer Tabellenlänge von mehr als tausend Einträgen sind lineare Suchalgorithmen nicht mehr zielführend. Deshalb wurden zusätzliche Look-up Tabellen eingeführt, auf deren Inhalt über Indizes schnell zugegriffen werden kann.

Auch die Bearbeitung der Kommunikationsobjekte wurde durch weitere Maßnahmen beschleunigt. So wird das Durchsuchen aller Objekte durch den Einsatz von zusätzlichen Puffern weitgehend vermieden.

 Stack

Diese Maßnahmen erfordern zwar zusätzlichen Speicher, erlauben es aber, die Taktraten des Controllers gering zu halten. So wird bei gleicher Frequenz eine bessere Performance erreicht als bei bisherigen Implementierungen mit wesentlich geringeren KNX-Ressourcen.

Die Implementierung von Weinzierl Engineering arbeitet intern in einem virtuellen Adressraum, der erst in der Treiberebene aufgelöst und auf die jeweiligen realen Speicherbereiche abgebildet wird. Somit können Applikationen einfach auf verschiedene Plattformen portiert werden.

 Stack

Wie bei allen unseren Stack-Implementierungen wurde auch bei System B auf ein effektives Arbeiten während der Applikationsentwicklung Wert gelegt. Das Applikations-Interface wurde weitgehend beibehalten und ist über umfangreiche API-Funktionen erreichbar. Es ist möglich, den Code der Applikation zusammen mit dem Stack im Gerät auszuliefern (interne Applikation). Damit werden über die ETS nur die Parameter und Tabellen nachgeladen und somit geringe Ladezeiten erreicht. Aber auch das Nachladen einer kompletten Applikation (externe Applikation) über die ETS wird unterstützt.

Darüber hinaus bietet der Stack die Möglichkeit, zusätzliche Interface-Objekte (User-Properties) anzulegen. User-Properties eignen sich zum Beispiel für das Einstellen von Geräteparametern mit Hilfe eindeutiger IDs über den Bus. Auch ETS Parameter können mit Properties realisiert werden.

Für die Erstellung der Produktdatenbank mit der ETS MT4 (Manufacturer Tool) wurde Net'n Node um eine neue Export-Funktion erweitert. Nach dem Import aus dem Software-Projekt wird jetzt direkt ein XML-File erzeugt, das alle Speicherbereiche, Loadcontrols und auch die binären Daten enthält. Dieses XML-File kann direkt in dem MT4 weiter verwendet werden.

Der Stack ist für folgende Plattformen verfügbar:

Download