07.05.2014

Adaptiv statt extensiv

Dem Entwickler steht heute eine Vielzahl an Automationssoftware zur Auswahl, deren Umsetzungsmöglichkeiten sich teilweise erheblich unterscheiden. Schon die grundlegende Entscheidung zwischen einem grafischen Anwendungsprogramm oder einer offenen Programmierbibliothek ist von vielen einsatzspezifischen Faktoren bestimmt. Es müssen daher meist Kompromisse bei der Umsetzung eingegangen werden. Sybera hat eine Kombination von Anwendungsprogramm und Bibliothekssystem mit adaptiven Eigenschaften entwickelt, um den variierenden Einsatzgebieten mit einem flexiblen Konzept zu entgegnen.

Autor: Jürgen Rall, Sybera GmbH.


Bild 1: X-GO Flex Intro
Bild: SYBERA GmbH

Die Aufgaben von Steuerungssystemen in der Automatisierungswelt sind klar definiert: Einlesen der Sensorik, funktionale Bearbeitung der Daten, Ansteuerung der Aktorik sowie die Visualisierung und Bedienung. Dabei sind die Einsatzgebiete weit gefächert. Von der Anlagensteuerung bis hin zum Service-Betrieb wird Automationssoftware benötigt. Unterschieden wird bei Steuerungssystemen derzeit zwischen eigenständiger SPS-Hardware und Soft-SPS-Systemen auf PC-Basis. Soft-SPS-Systeme werden weiterhin unterteilt in standardisierte Anwendungsprogramme, die die Visualisierung und Verarbeitung der Daten in einem vorgegeben Rahmen ermöglichen, und Bibliothekssysteme für unterschiedliche Programmiersprachen (z.B. C++, C#, Delphi), die zur Entwicklung eigener Anwendungsprogramme exportierte Interfacefunktionen bereitstellen. Während der klassische Aufbau eine SPS-Hardware für die funktionale Bearbeitung der Daten und einen Panel-PC für die Visualisierung vorsieht, realisieren Soft-SPS-Systeme die Bearbeitung der Daten und die Visualisierung auf einem PC. Die meisten Soft-SPS-Systeme verfügen zudem über Echtzeit-Erweiterungen, mit deren Hilfe Ethernet-basierende Feldbussysteme betrieben werden. Die Flexibilität dürfte bei Soft-SPS-Systemen insgesamt höher sein als bei den klassischen SPS-Controllern. Wie diese, sind sie in der Regel jedoch durch eine starre Vorgehensweise gekennzeichnet. Das heißt, sie haben eine starre Oberflächengestaltung, fixe Programmierbedingungen und die Fokussierung auf ein Feldbussystem, verbunden mit einer unübersichtlichen Funktionsvielfalt. Da die Möglichkeiten der Steuerungssysteme in den letzten Jahren immer weiter ausgebaut wurden und die Eigenschaften vom Profil-Management über die Visualisierung und die Ferndiagnose bis hin zum Programmier-Interface erweitert wurden, bedeutet dies zunehmend lange Einarbeitungszeiten.

Individuelle Gestaltung eingeschränkt möglich

Welcher Weg im konkreten Fall am schnellsten oder am flexibelsten zum Ziel führt, ist nicht nur von der Methode, sondern auch von der Produktphilosophie des Herstellers abhängig. Standardisierte Anwendungsprogramme (z.B. Twincat, Automationworx) bieten einen hohen Abstraktionsgrad und ermöglichen mit ihrer schieren Funktionsvielfalt die Umsetzung von unterschiedlichsten Steuerungsprojekten. Das Ergebnis der Projektierung wird dann entweder in eine externe Controller-Hardware geladen oder direkt am PC-Netzwerk betrieben. Bei diesen Systemen werden die Ein- und Ausgänge der einzelnen am Netzwerk angeschlossenen Stationen mithilfe einer SPS-Sprache miteinander funktional verknüpft. Zuvor werden die Ein- und Ausgänge der Stationen logischen Variablen zugeordnet und somit abstrakt nutzbar gemacht (Parametrieren). Die Oberflächengestaltung der Steuerung ist durch die zugrunde liegende Software selbst festgelegt und erlaubt nur eingeschränkte individuelle Gestaltung. Im Gegensatz dazu ist die Zielsetzung von Bibliothekssystemen die flexible Gestaltung eigener Oberflächen und deren Adaption an die zu steuernde Anlage. Der Entwickler soll sich dabei nicht um das Protokoll-Management kümmern müssen, sondern nur um die Verarbeitung der entsprechenden Nutzdaten der angebundenen Stationen und deren Visualisierung. Die Gerätelogistik und Parametrierung wird weitgehend durch implizite Vorgaben vereinfacht. Mithilfe von Bibliothekssystemen können mit unterschiedlichen Programmiersprachen eigene Applikationen entwickelt (programmiert) werden. Diese Bibliotheken offerieren dabei unterschiedliche Abstrahierungsgrade. Der Entwickler soll die Möglichkeit haben, durch einfache Interface-Funktionen Steuerungsprojekte programmieren und eigene Anwendungen graphisch gestalten zu können. Mit einer Vielzahl von Bibliotheksfunktionen wird die Einflussnahme auch auf komplexe Vorgänge, wie z.B. Zustandswechsel der Geräte oder Fehlersituationen, gewährleistet.

Adaptive Herausforderung

Ob Anwendungsprogramm oder Bibliothekssystem - mit allen Systemen ist in der Regel eine herstellerspezifische Vorgehensweise mit einer überwältigenden Funktionsvielfalt verbunden. Diese kollidiert oft mit den Erfordernissen der schnellen Umsetzung eines Projekts. So werden für Service und Diagnose oft nur minimale Features einer Automationssoftware benötigt (z.B. Nutzdatenmanipulation für die Diagnose), während für die Anlagensteuerung die funktionalen Module und eine der Anlage angepasste Visualisierung im Vordergrund stehen. Ein Wechsel des Feldbussystems zieht zudem oft auch den Wechsel der Automationssoftware mit sich. Es liegt also die Forderung nach einer Automationssoftware mit adaptiven Fähigkeiten nahe, die flexibel und einfach an die jeweiligen Erfordernisse angepasst werden kann. Ausgehend von der Überlegung an eine individuelle Anpassung hat Sybera mit dem Produkt X-GO Flex eine Kombination von Anwendungsprogramm und Bibliothekssystem mit adaptiven Eigenschaften entwickelt. Dabei wurden sieben Forderungen umgesetzt:

Unterstützung mehrerer Feldbussysteme:

Mit der Verbreitung von Ethernet-basierenden Feldbussystemen wird die Portierbarkeit der Steuerungssysteme immer wichtiger. So werden mit dem X-GO FlexProtocol Modul die Protokolle Profinet, Ethercat und Sercos III unterstützt. Ein Wechsel des jeweiligen Feldbussystems ist somit problemlos realisierbar. Eine Mehrfach-Instanziierung ermöglicht darüber hinaus den gleichzeitigen Betrieb unterschiedlicher Protokolle.

Flexible Gestaltung der Oberfläche:

Eine Oberfläche, die die Anlage mit allen Steuerelementen photorealistisch darstellt? Das X-GO-Flexpanel-Modul erlaubt die Gestaltung und Einbindung von Messgeräten, Eingabe-Panels und Hintergründen durch einfache Parametrierung. Mit bereits vorgefertigten Templates können entsprechende Bilder und Grafiken der Anlage mit parametrierbaren Anzeige- und Eingabe-Modulen überlagert und mit Steuerungs-Variablen verknüpft werden. Die Überlagerung der Module erfolgt über einfache Anpassung von Parameter-Dateien. Mit einem Software Development Kit (SDK) können zudem neue Module programmiert und in die Software eingebunden werden.

Adaptive Programmierung:

Wer kennt das nicht - gerade bei einem gelegentlichen Einsatz der Automationssoftware stellt die SPS-Programmierung eine immer wiederkehrende Herausforderung im Umgang mit der Syntax. Mit dem Modul X-GO Flexcoding wir nun ein adaptiver Syntax realisiert, das heißt die Programmiersprache passt sich durch eine flexible Interpretation dem eigenen Stil an. Die Grundregeln dieser SPS-Sprache erlauben damit das Programmieren mit einem eigendefinierten Syntax. Dabei werden alle erforderlichen SPS-Sprachelemente bereitgestellt, u.a. für die Auswertung und Verknüpfung von Konstanten und Stationswerten (z.B. für Timer, Zähler und bedingte Sprünge). Zusätzliche Funktionsmodule können mit dem Software Development Kit dem System hinzugefügt werden.

Interaktives Debuggen mit PLC-Check:

Fehler in umfangreichen SPS-Programmen sind oft schwer aufzufinden. Die SingleStep-Ausführung des PLC-Codes erfolgt in der Regel sequenziell. Mit dem 'HOLD and GO' Mechanismus des X-GO-Flexdebug-Moduls kann das Debuggen asymmetrisch erfolgen. Der aktuelle Ablaufschritt kann jederzeit neu positioniert und weitergeführt werden. Dies ermöglicht eine flexible Überprüfung des SPS-Programms. Im HOLD-Betrieb können zudem Werte über verknüpfte Flexpanel-Elemente (Oberflächen-Elemente) angezeigt oder verändert werden. Zusätzlich wird mit einem PLC-Checker das SPS-Programm auf logische Fehler überprüft.

Offene Erweiterung des Funktionsumfangs:

Was bisher nur mit Bibliothekssystemen möglich war, ermöglicht nun das Software Development Kit X-GO Flexextend. Das SDK erlaubt die Erweiterung der SPS-Sprache mit eigenen Funktionsmodulen. Mit einem einfachen C++ Programmier-Interface können neue Funktionsmodule für die SPS-Programmierung in eine DLL implementiert und dem System hinzugefügt werden. So können z.B. eigendefinierte Controller-Module für komplexe Kurvensteuerungen oder spezielle Encoder-Module zur weiteren Nutzung im SPS-Programm eingebettet werden.

Flexibler Datenaustausch mit anderen Programmen:

Auch der Datenaustausch mit anderen Programmen stellt eine wichtige Forderung an die moderne Automationssoftware dar. So ermöglicht das X-GO-Flexexchange-Modul des Software Development Kits den Datenaustausch und die einfache Anbindung von externen Anwendungen an die SPS-Steuerung. Hierbei ist über Shared-Memory der komplette Logig-Stack zugänglich, sodass Echtzeit-Daten über exportierte SPS-Variablen und Buffer mit Ihrem C# oder C++ Programm direkt weiterverarbeitet werden können. Selbst die komplette Visualisierung ist somit separierbar # das SPS-Programm von X-GO Flex läuft hierbei im Hintergrund.

Aktiver Monitor für den Service-Betrieb:

Um Geräte überprüfen zu können, werden für den Service gerätespezifische Datenmasken benötigt. Mit dem X-GO-FlexMonitor-Modul kann die Anzeige von Eingangsdaten sowie die Veränderung von Ausgangsdaten mit unterschiedlichen Datenmasken erfolgen. Alle Datenmasken werden beim Verlassen der Software mit Position und Namen gespeichert und sind mit der Autostart-Funktion beim Neustart sofort wieder verfügbar.

Anzeige