Modernisierte Anlagenkonfiguration

Bus-Kommunikation über RS485 trifft Java

Unser Kunde fertigt technische Anlagen im Hygienebereich. Die dynamisch nach Wunsch des Endkunden zusammengestellten Komponenten der Anlage übernehmen je nach Funktionsumfang verschiedene Aufgaben. Die Komponenten werden dazu über eine RS485 Schnittstelle entsprechend ihren Rollen initialisiert. Die dynamische Steuerung der Komponenten im Gesamtbetrieb und Anpassungen des Einzelverhaltens erfolgen ebenfalls über RS485. Für unseren Kunden realisierten wir ein Java-basiertes Rich Client System für die Laptops der mobilen Techniker, welches in der Lage ist, die zur Steuerung, Konfiguration und Überwachung erforderlichen Busbefehle über eine intuitive grafische Oberfläche auszulösen.

Das System ist darüber hinaus in der Lage, die spezifischen Konfigurationen der Endkundeninstallationen über eine zentrale Datenbank zu versionieren. Die unterstützten Konfigurationseinstellungen werden den Technikern über verschiedene thematisch geordnete Screens zur Verfügung gestellt. Die aktuell auf der Anlage existierenden Einstellungen bzw. die durch die Techniker vorgenommenen Einstellungen werden vom Bus gelesen bzw. auf den Bus geschrieben. Neben reinen Konfigurationseinstellungen ist das System in der Lage, historische Betriebsdaten der Anlage auszulesen und je nach Bedarf grafisch oder in Form eines Reports zu visualisieren. Eine Visualisierung der Betriebsdaten in Echtzeit ist ebenfalls implementiert.

Herausforderungen

Die beiden größten Herausforderungen im Projekt waren zum einen die vollständige Erfassung des auf RS485 aufsetzenden proprietären Protokolls und der daraus resultierenden konkreten Busbefehle und zum anderen die Herleitung eines generischen, zukunftssicheren Modells zur Abbildung aller existierenden und unterstützten Busbefehle. Neben den eigentlichen Befehlsinhalten sollte das Modell auch die befehlsabhängige Fehlerbehandlung abstrahieren. Eine weitere Herausforderung stellte das performante Auslesen von historischen Betriebsdaten auf einem im Produktivbetrieb bereits stark frequentierten Bus dar.

Lösungsansatz

Wir analysierten zunächst gemeinsam mit dem Kunden das existierende Busprotokoll anhand von Dokumentation und Source Code. Im Anschluss daran entwickelten wir ein templatebasiertes Modell für die zu unterstützenden Busbefehle, allerdings konnten einige wenige Befehle über das Modell nicht abgebildet werden. Zugunsten des entwickelten generischen Ansatzes wurde das existierende Protokoll über Firmware Update der Anlagen so abgeändert, dass es dem generischen Kommunikationsmodell entsprach. Auf dieser Basis entwickelten wir dann eine templatebasierte Rich Client Anwendung. Das Performance Problem lösten wir durch befehlsgesteuertes, temporäres Reduzieren des produktiven Traffics für den Zeitraum des Datendownloads bzw. des Live Monitorings.

Technologien

Java, Eclipse RCP als Client Plattform, RS485, Dynamic Reports