Smart Metering Transceiver

Eine erfolgreiche Energiewende wird die Entwicklung intelligenter Stromnetze erfordern, die sehr zeitnah und ortsgenau die Erzeugung von Strom durch sehr viele kleine Zulieferer und seinen Verbrauch durch Millionen Haushalte korrelieren. Ein Baustein eines solchen "Smart Grid" ist die zeitnahe Messung des Strombedarfs an allen Verbrauchsstellen und seine Kommunikation an die Netze, auch "Smart Metering" genannt.

"Smart Metering", zu Deutsch etwa "intelligente Zähler" beschreibt im Allgemeinen eine Technologie, die Verbrauchszähler für Strom, Wasser, Gas, etc. mit Kommunikationsmitteln ausstattet, um sowohl dem Nutzer einfach zugängliche und aufbereitete Verbrauchsdaten zu präsentieren, als auch dem Versorger eine Fernablesemöglichkeit zu geben. Solche intelligenten Zähler sind seit langem für Großverbraucher im Einsatz, werden aber getrieben durch gesetzliche Regelungen zur Energieeffizienz zunehmend nun auch in Privathaushalten in eingesetzt.

In diesem Umfeld hat redlogix große Teile der Software-Entwicklungsarbeiten für einen Zählerdaten-Konzentrator übernommen. Das Gerät basiert auf den Open Metering System Spezifikationen (OMS-S). Es empfängt Verbrauchsdaten von verschiedenen Zählern per Funktelegrammen, speichert diese zwischen und leitet die aufbereiteten Daten an eine Zentrale weiter.

 

Eingesetzte Technologien

  • ARM
  • C++
  • CxxTest
  • emBOS
  • GSM, GPRS, PPP
  • UML, OOD
  • C#
  • wireless M-Bus
  • XML
  • zlib
  • AES
  • FTP
  • ASN.1

Leistungen redlogix

redlogix übernahm, basierend auf den Anforderungen des Kunden und stets in enger Zusammenarbeit, die Konzeption und Entwicklung von wesentlichen Softwarekomponenten des Geräts. Eine besondere Herausforderung stellte dabei die Umsetzung der frei konfigurierbaren Speicher- und Uploadstrategien für die empfangenen Verbrauchsdaten dar. Folgende Leistungen wurden von redlogix zur Embedded Software beigetragen:

  • Anforderungsanalyse
  • Anpassung des BSP an die vom Kunden entwickelte
    Hardwareplattform
  • Anpassung des Betriebssystem und wichtiger Systemkomponenten
  • Design und Entwicklung eines OS-Layers
  • Design und Entwicklung der Netzwerkfunktionalität
  • Design und Entwicklung der Kernkomponenten für die
    Datenaufzeichnung
  • Design und Entwicklung der Komponenten für die Datenaufbereitung
    und den Datenupload
  • Modul-, Integrations- und Systemtests

Smart Metering Transceiver

Die von den diversen Zählertypen generierten Verbrauchsdaten werden gesammelt und zwischengespeichert. Über Funkmodems (wireless M-BUS) werden die Zählerdaten empfangen und zur späteren Weiterverarbeitung in nichtflüchtigem Speicher abgelegt. Die gesammelten Daten werden aufbereitet und abhängig von der zur Verfügung stehenden Verbindung in frei konfigurierbaren Zeitintervallen an eine Zentrale übertragen. Dazu werden sie komprimiert und verschlüsselt.

Konfigurierbarkeit

Das Gerät kann durch ein Service-Interface per Fernzugriff konfiguriert werden. Dabei lassen sich alle Parameter, die aufzuzeichnenden Daten betreffend, die Frequenz der Aufzeichnung, die Zeitpunkte des  Datenuploads und die Datenformate verändern.

Software-Update

Es wurde eine Software-Update Funktionalität implementiert, die es erlaubt, die Firmware des Gerätes im Feld zu aktualisieren. Ein unterbrechungsfreier und reibungsloser Weiterbetrieb des Geräts ist dabei jederzeit gewährleistet, selbst wenn der Ladevorgang durch Störungen unterbrochen oder gar abgebrochen wird.

Objektorientierte Entwicklung

Die Softwareentwicklung wurde mit objektorientierten Methoden durchgeführt. Das objektorientierte Design wurde mit dem Modellierwerkzeug Enterprise Architect in UML (Unified Modelling Language) erstellt. Aus dem Modell lässt sich zum einen die Designdokumentation generieren und zum anderen der Rahmen des Quellcodes. Auch eine spätere Resynchronisierung des Modells mit dem ausentwickelten Code ist  möglich. Diese Methode des "Roundtrip Engineerings" stellt eine Standardvorgehensweise bei redlogix dar.

Die Implementierung des Quellcodes erfolgte vollständig in C++. redlogix verfügt auf dem Gebiet des Einsatzes von C++ in eingebetteten Systemen mit mageren Ressourcen über hohe Kompetenz, die es  ermöglicht den vielfach gefürchteten Overhead zu vermeiden. Mit unserem Produkt redBlocks und unseren Schulungen zu Embedded C++ geben wir diese Expertise gern auch an unsere Kunden weiter.

Mit Hilfe des Unit-Test-Frameworks CxxTest wurden automatisierte Unit-Tests entwickelt und ausgeführt. Außerdem wurde die Software in mehreren Iterationen mit der Zielhardware integriert und dort Integrationstests ausgeführt. Teile der Systemtests wurden ebenfalls automatisiert. Das intensive Testen der von uns entwickelten Software auf mehreren Ebenen gehört zum Kern unseres Entwicklungsmodells.

Portabilität

Die Software arbeitet auf dem Zielsystem mit dem Betriebssystem emBOS. Durch das Einziehen eines “OS Abstraction Layers” zwischen Betriebssystem und Applikation war es einfach möglich, automatisierte  Integrationstests von Applikationsteilen auf einem Entwicklungshost unter cygwin bzw. Linux auszuführen. Dies entspricht quasi einer Portierung der Applikationsmodule auf die Testplattform. Der große Vorteil dieses Ansatzes besteht darin, dass Systemaufrufe durch Stubs mit Testverhalten ersetzt werden können. Das ermöglicht die Simulation von Fehlern, Lasten und anderem außergewöhnlichen Systemverhalten,  dass mit einem realen Target kaum möglich wäre.

Der OS Abstraction Layer würde auch den Tausch des Ziel-Betriebssystems in einer künftigen Entwicklungsiteration ermöglichen, ohne dass die Applikations-Software dabei nennenswert angepasst werden  müssen.

Weitere Komponenten

Außer der Target-Firmware entwickelte redlogix mehrere Tools für die Hostseite unter Microsoft Windows in C#, die vor allem für die Simulation, die Konfiguration, die Datenauswertung und die automatisierten  Systemtests verwendet werden.