Meine SPS kann Linux, und nun? - Ein Linux-basierter Software-Stack fr industrielle Eingebettete Systeme

von Christoph Stoidner (arvero GmbH)

Meine SPS kann Linux, und nun? - Ein Linux-basierter Software-Stack fr industrielle Eingebettete Systeme

Linux im industriellen Anlagenbau und der Automatisierungsindustrie ist lngst keine Besonderheit mehr. Viele Hersteller liefern inzwischen Maschinensteuerungen, SPSen oder Kleinstgerte, welche fr die Applikationsentwicklung neben proprietren SPS-Programmiersystemen auch offene Linux-Systeme fr die Programmierung in C/C++ anbieten. Ein solches offenes System hat fraglos viel Charme und zahllose Vorteile. Im Vergleich zu einem proprietren SPS-Programmiersystemen fehlen jedoch wesentliche, fr industriellen Anwendungen typische, Infrastruktur-Funktionalitten: Zur frhzeitigen Fehlererkennung und Vermeidung von Strungen oder Unfllen ist ein zuverlssiges Alarm-Management notwendig. Der Datenaustausch mit anderen Gerten wird meist mittels verschiedene Feldbus-Protokolle abgewickelt. Fr dezentrale Systeme ist ein Fernzugriff ber Internet oder dedizierte Funknetze erforderlich. Auch bei zentralisierten Systemen wird der Wunsch immer grer auch vom entfernten Standort aus oder mobil auf Diagnose-Information und Live-Daten zugreifen zu knnen. Fr die Konfiguration und Bedienung der Anwendung muss auf einfachste Weise eine grafische Oberflche zusammenstellbar sein - verwendbar fr den Zugriff per Browser oder auf einem angeschlossenes Display. Nicht zuletzt muss ein sicheres und einfaches Konzept fr Software-Updates existieren - auch vom entfernten Standort aus nutzbar. Die Erfahrung hat gezeigt, dass das Fehlen einer oder mehrerer dieser Funktionalitten den Anwendungsentwickler meist vor groe Probleme stellt und die Entwicklungszeit sowie das Risiko deutlich vergrert.

Es existieren verschiedene Anstze Software-Stacks aus anderen Bereichen auch fr industrielle Anwendungen zu nutzen. Der bekannteste Vertreter dabei ist die Android-Plattform. Neben dem ausgefeilten App-Konzept bietet vor allem die konmfortable grafische Benutzeroberflche einen groen Fortschritt fr die Anwendungsentwicklung. Dennoch bleiben dabei im speziellen SPS-Umfeld viele typische Anforderungen auf der Strecke.

Um neben dem Charme eines offenen Linux-Systems auch die typische SPS-Funktionalitt zu erlangen haben wir gemeinsam mit unserem Kunden einen Software-Stack entwickelt, welcher speziell den Anforderungen von industriellen eingebetteten Anwendungen Rechnung trgt. Basis des Stacks ist natrlich ein Linux-System. Wichtige Kernanforderungen sind dabei eine harte Echtzeitfhigkeit, geringe CPU-Auslastung sowie ein minimaler Speicherbedarf. Somit wird eine hohe Skalierbarkeit erreicht, was auch die Verwendung auf "Low-Performance"-Systemen erlaubt. Darauf aufbauend realisieren verschiedenen Komponenten die erforderlichen Funktionalitten: Ein Alarmmanager erlaubt das Reagieren auf Fehlersituation, informiert angebundenen Systeme per M2M-Kommunikation oder den Betreiber per E-Mail oder SMS. Ein Diagnosesystem sammelt Anwendungsspezifische Logging-Informationen. Verschiedene Feldbus-Protokolle (z.B. CANopen, EtherCAT, Modbus, M-BUS, EC 60870-5-104 oder IEC 61850) knnen zur Kommunikation mit angeschlossenen Gerten verwendet werden. Daneben bieten Basisdienste wie FTP oder HTTP(s) einen komfortablen Kommunikationskanal zu bergeordneten Systemen. Zur Live-Daten-Erfassung sowie Fernadministration knnen Daten mit einem Portal-Server ausgetauscht werden. Die eigentliche Anwendung wird in C/C++ oder einer SPS-typischen Sprache entwickelt. Fr kleine Steuer- und Regelaufgaben existiert eine Browser-basierte Programmierumgebung. Zur Bedienung der Anwendung kann eine individuelle Visualisierung entworfen werden, welche im Browser oder auf einem angeschlossenen Display angezeigt wird. Der Update der Anwendungssoftware kann mit signierten Paketen via Browser oder entfernten Webserver erfolgen.

Der Software-Stack ergnzt das Linux-System um die typischen Anforderungen industrieller eingebetteter Anwendungen. Dabei bleibt die Flexibilitt und der Charme des offenen Systems erhalten und dem Anwendungsentwickler wird eine Menge Arbeit erspart.

Über den Autor Christoph Stoidner:

Christoph Stoidner studierte Informatik an der heutige THM in Gieen. Als freiberuflicher Software-Entwickler beschftigte er sich lange Zeit mit Betriebssystemen, Laufzeitumgebungen und Treibern fr SPS-Systeme. Heute bert er mit der arvero GmbH als selbststndiger Unternehmer Kunden beim Einsatz von "Embedded Linux"-Systemen.