Herausforderung
"Eigentlich" nur eine Zugriffsbeschränkung für OPC Clients...
Unser Kunde, ein namhafter und international führender Hersteller industrieller Gasturbinen mit Sitz in Erlangen, suchte nach einer Möglichkeit, seinen Kunden und Kraftwerksbetreibern ein gut strukturiertes Subset aus einer schier unüberschaubaren Menge von per OPC verfügbaren Live-Daten und Konfigurationsparametern zur Verfügung zu stellen.
Gebraucht wurde also eine Applikation, die gezielt einzelne Datenströme von verschiedenen OPC-Servern abruft und diese dann in einem kompakten und neu strukturierten Namensraum für die OPC-Clients des Kraftwerksbetreibers bereitstellt. Gleichzeitig sollten kritische Konigurationsparameter mit einem Schreibschutz versehen werden, um versehentliche oder unerwünschte Manipulationen zu verhindern.
Da der Markt zum damaligen Zeitpunkt keine entsprechenden Produkte bereithielt, kam der Kunde hilfesuchend auf uns zu. Die schwierige Besonderheit in diesem Fall: Eine normale Auftragsentwicklung wäre, egal ob per Dienstleistungsvertrag oder Werkvertrag, aufgrund der internen Prozesse unseres Kunden nicht oder nur mit großer Mühe und zeitlicher Verzögerung darstellbar gewesen. Die kommerzielle Rahmenbedingung für uns war daher, unsere Entwicklungsaufwände für ein noch nicht existierendes Produkt in einem für uns bis dahin unbekannten technologischen Umfeld (OPC) durch den möglichen zukünftigen Verkauf von Produktlizenzen zu finanzieren.
Lösung
Unkonventionelle Zusammenarbeit
So machbar die technische Lösung erschien, so unvereinbar erschienen die kommerziellen Rahmenbedingungen: Eine echte Auftragsentwicklung war nicht durchsetzbar, die Abrechnung über Lizenzen würde sich erst nach einigen -zig oder gar -hundert Lizenzen rechnen und eine Abnahmegarantie gab es nicht.
Aber da wir mit unserem Kunden schon seit vielen Jahren erfolgreich und vertrauensvoll zusammengearbeitet haben, entschlossen wir uns, das Wagnis der Vorleistung einzugehen. In relativ kurzer Zeit entstand in enger Abstimmung mit dem Kunden eine erste Implementierung des iXTS OPC Gateway Server genannten Produkts. Die Entwicklung erfolgte mit Borland Delphi auf Basis der von der OPC Foundation (https://opcfoundation.org/) bereitgestellten Dokumentation und Referenzimplementierungen in C++.
Die ursprünglichen Anforderungen des Kunden waren relativ schnell umgesetzt, so dass der lizenzbasierte Vertrieb (mit genau einem Kunden) aufgenommen werden konnte. Die "überschüssigen" Einnahmen aus den Lizenzen wurden dann wieder genutzt, um den Funktionsumfang der Software kontinuierlich zu erweitern. Zunächst kam eine - mit der TeeChart-Bibliothek implementierte - grafische Darstellung der durchgereichten Daten hinzu. Schnell folgten dann auch zusätzliche Analyse- und Rechenfunktionen für die Daten, etwa statistische Betrachtungen der OPC Quality, die Betrachtung des Änderungsverhalten einzelner Werte, Datenaggregation und vieles mehr.
Aber für den weltweiten industriellen Einsatz einer Software waren neben den angebotenen Funktionen insbesondere auch die "inneren Werte" der Applikation entscheidend. Die Rede ist von hoher Stabilität und Verfügbarkeit, Robustheit bei Installation unter variablen Systembedingungen, Nachvollziehbarkeit von Störungsereignissen auch ohne direkte Zugriffsmöglichkeiten und über Kontinentsgrenzen hinweg. Die dafür eingesetzten Mechanismen reichten von durchdachten Logging-Mechanismen über die parallele Aufzeichnung von Prozessdaten des Host-Systems (Prozessorlast, Speicherauslastung, etc.) bis zur Implementierung von ausgeklügelten Verfahren zur automatischen, multiplen und verzeichnisabhängigen COM/DCOM-Registrierung des OPC-Servers bei gleichzeitiger Bereinigung veralteter Registrierungen auf Basis von gezielten Registry-Scans.
Aufbau eines umfangreichen OPC-Toolsets
Mit Etablierung des OPC Gateway Servers als Standardumfang bei der Neuerrichtung von GuD-Kraftwerken unseres Kunden wurde der Funktionsumfang kontinuierlich erweitert und stetig an die wachsenden Bedürfnissen des Marktes angepasst. Zu den Besonderheiten der Lösung gehören
- Unterstützung von OPC HDA Servern (Abruf von historischen Daten)
- Unterstützung von OPC UA Servern (TCP/IP)
- Hohe Robustheit gegenüber "besonderen" Systemumgebungen und teilweise sogar nicht spezifikationskkonformen Servern
- Verhinderung von Fehlern und Abbrüchen in der Datenkommunikation
- Bereinigen von ungültigen bzw. "nicht wohlgeformten" Daten (z.B. nicht aufsteigende Zeitstempel)
- Automatische Überprüfung der Systemumgebung zur frühzeitigen Erkennung von Kompatibilitätseinschränkungen
- Unterstützung weiterer Datenquellen wie Textdateien und Datenbanken
- Bereitstellung der Daten gemäß OPC DA 3-Spezifikation (mit Puffermöglichkeit)
Für spezielle Anforderungen und Aufgaben entstanden im Laufe der Jahre Stück für Stück noch weitere Tools rund um den OPC Gateway Server. So ist es mit Hilfe des iXTS OPC Property Exporters möglich, OPC-Namensräume auszulesen, zu überprüfen und mitsamt der vom OPC-Server abgerufenen OPC-Properties zu exportieren. Mit Hilfe von iXTS OPC4ADO könnenen Daten aus beliebigen, über ADO erreichbaren Datenbanken in einem OPC-Server zur Verfügung gestellt werden. Und auch für die entgegengesetzte Richtung wurde ein Tool entwickelt: Mit der iXTS OPC/ADO-Bridge lassen sich Daten von OPC DA-Servern abrufen und auf unterschiedliche Weise in ADO-Datenbanken speichern.
Mehrwert
Ausgehend von einer technisch überschaubaren Herausforderung, jedoch gepaart mit schwierigen, kommerziellen Rahmenbedingungen, entwickelte sich ein auf sehr großes gegenseitiges Vertrauen beruhendes Zusammenarbeitsmodell, bei dem unser Kunde über mittlerweile mehr als ein Jahrzehnt hinweg maßgeschneiderte Lösungen für immer komplexere Herausforderungen rund um die Messdatenübertragung und -verarbeitung mit OPC erhalten hat.
Die enge Zusammenarbeit in einem hochagilen Entwicklungsprozess und die zeitnahe Einbindung unserer Spezialisten bei der Analyse von individuellen Konstellationen im Feld erlaubte eine extreme Verkürzung der time-to-market-Zeiten und damit der Reaktionszeiten unseres Kunden auf die Notwendigkeiten im Projektgeschäft.
Die extrem geringe Fluktuation in unserem Entwicklungsteam führte zu einer hohen Kundenbindung mit weitreichenden Detailkenntnissen bezüglich der individuellen Einsatzsituationen des Produkts beim Kunden, gepaart mit hoher technischer Kompetenz in den Spezialgebieten OPC und DCOM.
Eine klassische Win-Win-Situation, in der es uns Spaß macht, zu arbeiten und die für unseren Kunden rasch hochwertige und funktionierende Lösungen generiert.
Die Entwicklungsgeschichte des iXTS OPC Gateway Servers zeigt, wie aus einer einfachen Idee trotz schwieriger kommerzieller Rahmenbedingungen eine jahrzentelange, fruchtbare und erfolgreiche Zusammenarbeit werden kann, wenn technische Kompetenz mit hohem persönlichen Vertrauen und einem stabilen Entwicklungsteam zusammentrifft.
Softwareentwicklung für den langfristigen, industriellen Einsatz ist mehr, als das Wissen um die neuesten Coding-Trends und die neuesten Frameworks. Technische Kompetenz, Vertrauen, Weitblick und stabile Teamkonstellationen gehören zu unseren Grundpfeilern der Projektarbeit. Gerne überzeugen wir auch Sie davon...