SOA im Kraftwerk 15.11.2010, 06:00 Uhr

Wartungsprozesse sicher steuern

Aus Sicherheitsgründen muss in Alstom-Kraftwerken jeder Wartungs­einsatz minutiös geplant und überwacht werden. Für die Prozesssteuerung hat sich der Kraftwerkbauer eine Software massschneidern lassen.
Auch Kraftwerke müssen regelmässig gewartet werden
Der Autor ist Business Manager bei der Logica Switzerland AG Alstom gehört weltweit zu den grossen Playern im Bereich Energieerzeugung und im Bau schlüsselfertiger Kraftwerke. Für den zuverlässigen Betrieb dieser Grossanlagen sind Wartungsarbeiten erforderlich, sei es im Rahmen der periodisch fälligen Inspektionen oder im Fall von Reparaturen. Allein schon aus Sicherheits-gründen muss dabei jede Arbeit und jeder Eingriff am komplexen und ineinander verzahnten System umfassend geplant werden – bis auf die Ebene einzelner Ventile: Welches Bauteil wird wann, von wem und weshalb repariert oder ersetzt? Muss ein Bereich der Anlage für diese Arbeit gesperrt werden – falls ja, welcher? Wer muss das bewilligen? Die Antworten auf diese und viele weitere Fragen protokolliert ein sogenanntes SOP-Dokument (Standard Operating Procedure). Das SOP-Protokoll hält den Arbeitsablauf exakt fest, wird von den Verantwortlichen unterschrieben und ist rechtlich bindend. Bei Alstom wurden diese SOP-Dokumente bisher mit einer Software produziert, die anlagenspezifisch und relativ unflexibel war: Selbst kleine Anpassungen, bedingt durch Änderungen an einer Anlage, waren damit umständlich und mit langen Wartezeiten verbunden. Eine eigene, modulare Lösung sollte für Abhilfe sorgen. Der Kraftwerkbauer klopfte dafür beim IT-Dienstleister Logica an, einem international tätigen Beratungs- und Software-Haus mit 39000 Mitarbeitenden, mit dem man schon in früheren Projekten zusammengearbeitet hatte. Nach Sichtung der Spezifikationen fiel der Startschuss. Die Entwickler starteten das Projekt allerdings unter erschwerten Bedingungen, wie Mathias Fuchs, Team Manager EA/SOA und Projektleiter bei Logica, schildert: «Die Anforderungen, die Alstom stellte, waren extrem hoch. Funktionalität und Fehlerfreiheit mussten bis ins Detail gewährleistet sein. Schliesslich leistet diese Experten-Software einen massgeblichen Beitrag zur Vermeidung von Kraftwerks-unfällen.» Nach intensiven Gesprächen mit den Entwicklungsingenieuren des Dienstleisters einigte man sich daher auf eine agile Vorgehensweise mit kurzen Release-Zyklen in enger Zusammenarbeit mit den Alstom-Ingenieuren. Agil entwickeln auf Java-Basis
Die neue Software basiert auf Java. Eine Alternative mit Power Builder wäre aus Entwicklersicht zwar leichter zu erlernen und zu bedienen gewesen. Java bot jedoch eine inhärente Plattformunabhängigkeit und durch seine Mächtigkeit auch die Gewissheit, dass sich das System bei Bedarf über die aktuell geforderte Funktionalität hinaus erweitern liesse. Ein weiterer Technologie-Entscheid betraf den Desktop Client. Das Team wählte die Eclipse Rich Client Platform (RCP), eine Open-Source-Software. Deren Kern bietet die volle Funktionalität, die man von einem typischen Desktop Client erwartet: Menüleisten, Aufteilung in Editoren, Views etc. Natürlich spielte auch der Kostenaspekt eine Rolle: «Eclipse RCP half uns, die komplexe Applikation samt einer modernen Anwenderoberfläche kostengünstig zu realisieren», begründet Projektleiter Fuchs die Entscheidung. Die Umsetzung in der Praxis Für jede Wartungsarbeit in einem Kraftwerk braucht es zunächst einen Antrag (Application for Work). Ein Risk Assessment analysiert anschliessend, welche Sicherheitsvorkehrungen für diese Arbeit zu beachten sind. Für die Bewilligung (Permit to Work) ist zudem das Placet einer Person zwingend notwendig, die berechtigt ist, eine solche auszustellen. Die Bewilligung gilt lediglich für einen bestimmten Zeitraum und darf nur von Mitarbeitern durchgeführt werden, die ein entsprechendes Zertifikat besitzen. Alle Informationen fliessen in elektronische Formulare, in denen auch die dahinter liegende Systemlogik steckt. Diese sorgt dafür, dass die Arbeiten in einer geordneten Reihenfolge ablaufen. Die Software kommt nicht nur bei Kraftwerksrevisionen und anderen umfangreichen Arbeiten zum Einsatz, sondern auch dann, wenn nur ein einzelnes Teil ausgewechselt werden muss. Sicherheit geht über alles: Wenn nötig, werden für bestimmte Wartungsarbeiten Teile des Kraftwerks vollkommen abgeschottet. An der Entwicklung der Client-Server-Applikation haben ständig drei, in Spitzenzeiten fünf, Ingenieure gearbeitet. Die reine Entwicklungszeit betrug rund eineinhalb Jahre, das ganze Projekt war nach ca. zwei Jahren abgeschlossen. Die Erstimplementation erfolgte in einem Kraftwerk in Spanien, und zwar nicht vor Ort, sondern «remote» vom Entwicklungsstandort aus, wodurch spürbar Zeit und Kosten gespart werden konnten. Als besonders grosse Hürde stellte sich das Handling der Daten heraus – insbesondere, weil die unter Java-Programmierern verbreitete Technik des «Lazy Loading» über Client-Server-Grenzen hinweg keine Standard-funktionalität ist, sondern erst implementiert werden muss. Die Entwickler konnten das Problem aber lösen, und zwar mittels Aspekt-orientierter Programmierung (AOP) auf Basis von AspectJ, einem Open Source Framework Lexikon.
Eine weitere Herausforderung war, dass Alstom die Möglichkeit haben wollte, Reports selbst zu definieren und ohne Hilfe vom IT-Dienstleister so ins System einzubinden, dass sie in der Menüauswahl erscheinen. Auch dafür fand sich schnell eine gute Lösung, wobei die Entwickler das Konzept Alstoms unter Verwendung von Eclipse BIRT (Business Intelligence and Reporting Tools) rasch umsetzen konnten. Dieses erlaubt den Alstom-Mitarbeitern, Reports offline zu definieren und erst bei Bedarf ins System zu übertragen. Wichtig war auch die Lösung des sogenannten Concurrency-Problems, das auftritt, wenn mehrere Clients auf die gleichen Daten zugreifen und allenfalls Änderungen überschreiben, die ein Kollege zuvor gemacht hat. Gegen diesen zwar seltenen, aber durchaus möglichen Fall gab es ebenfalls kein pfannenfertiges Rezept. Mit dem selbst entwickelten Persistence-Framework konnten die Programmierer aber auch dieses Problem schliesslich gezielt lösen. Inzwischen ist die neu entwickelte Software bei zwei Kraftwerken im produktiven Einsatz. Anders als früher gehört die Software aber jetzt Alstom; der Kraftwerk-hersteller kann sie nun im Bündel mit neuen Anlagen verkaufen und so im Laufe der Zeit die Entwicklungskosten amortisieren. Als nächsten Schritt planen Alstom und Logica, ein sogenanntes «Outage Package» zu entwickeln, ein Zusatzmodul, das zur Anwendung kommt, wenn ein Kraftwerk komplett heruntergefahren werden soll. «Das ist ein spezieller Business Case», erklärt Mathias Fuchs, «dafür braucht es Funktionalitäten, die in der aktuellen Version noch nicht implementiert sind.» Fazit: Realistisch planen Rückblickend habe sich das Projekt gelohnt: «Die Entscheide für Java und Eclipse RCP waren richtig», resümiert Projektleiter Fuchs, «aber die Lernkurve war steiler, als wir uns das vorgestellt hatten.» Aufträge wie dieser stellen selbst Spitzenprogrammierer vor Herausforderungen. «Das muss man bei der Release- und Kostenschätzung unbedingt berücksichtigen», meint Fuchs. Auf jeden Fall sind zwischen Auftraggeber und Entwicklern Absprachen in regelmässigen und kurzen Abständen nötig – nur so lassen sich die meist ehrgeizigen Timelines einhalten.


Das könnte Sie auch interessieren