Steuerungstechnik

Sicher steuern mit Multicore-Prozessoren

16. Mai 2013, 13:13 Uhr | Simon Barner, Jia Huang, Dr. Sebastian Voss

Fortsetzung des Artikels von Teil 2

Berechnung effizienter Systemkonfigurationen

Die zunehmende Systemkomplexität verlangt Methodiken und Techniken, die es erlauben, bereits zu einem frühen Entwicklungszeitpunkt Aussagen über das spätere Systemverhalten zu treffen. Dabei ist für den Systementwurf insbesondere die Betrachtung zeitlicher Systemeigenschaften (Antwortzeiten, Reaktionszeiten oder System-Latenzen) von entscheidendem Interesse. Diese bereits zu einem frühen Entwicklungszeitpunkt zu optimieren, erfordert wiederum effiziente (semi-)automatische Syntheseverfahren zur Berechnung entsprechender Systemkonfigurationen. Systemkonfigurationen beschreiben hierbei Schedules, das heißt die zeitliche Ordnung verschiedener Softwarekomponenten (Tasks) und deren Kommunikation.

Fortiss, Sortierstation
Bild 2. Beispielanwendung „Sortierstation”: Die Materialeigenschaft der eingehenden Werkstücke wird mit Hilfe eines Reflex-Lichttasters sowie eines induk­tiven Näherungsschalters bestimmt.
© Fortiss

Die zunehmende Systemkomplexität verlangt Methodiken und Techniken, die es erlauben, bereits zu einem frühen Entwicklungszeitpunkt Aussagen über das spätere Systemverhalten zu treffen. Dabei ist für den Systementwurf insbesondere die Betrachtung zeitlicher Systemeigenschaften (Antwortzeiten, Reaktionszeiten oder System-Latenzen) von entscheidendem Interesse. Diese bereits zu einem frühen Entwicklungszeitpunkt zu optimieren, erfordert wiederum effiziente (semi-)automatische Syntheseverfahren zur Berechnung entsprechender Systemkonfigurationen. Systemkonfigurationen beschreiben hierbei Schedules, das heißt die zeitliche Ordnung verschiedener Softwarekomponenten (Tasks) und deren Kommunikation.

Die beschriebenen Herausforderung stellen ein mehrdimensionales Optimierungsproblem dar, zu dem im Allgemeinen eine Vielzahl von Lösungen exis­tieren, bei denen die verschiedenen Design-Parameter unterschiedlich gewichtet sind. Hierzu können formale Ansätze angewendet werden, die zum Beispiel mit Hilfe von SMT-Solvern (SMT = Satisfiability Modulo Theories) gelöst werden. Durch die Kombination mit geeigneten Meta-Suchverfahren, wie etwa genetischen Algorithmen, können optimierte Lösungen für diese Klasse von Problemen gefunden werden.

Die erläuterten Modelle und Verfahren wurden im ACROSS-Projekt am Fortiss-Institut in einem teilweise auf AF3 basierenden Entwicklungswerkzeug umgesetzt. Das Werkzeug wurde mit Hilfe einer Station aus dem Modular Production System (MPS) von Festo Didactic evaluiert, bei der auf einem Förderband eingehende Werkstücke sortiert werden.

Fortiss, Sortierlogik und Visualisierung
Bild 3. Integriertes Deployment der redundanten Sortieranwendung und der Visualisierung: den drei redundanten Instanzen der Sortierlogik sowie der Visualisierung wurden durch das Entwicklungswerkzeug dedizierte Prozessorkerne zugewiesen.
© Fortiss

Hierzu bestimmen Sensoren am Anfang des Förderbands deren Materialeigenschaft. Auf dieser Basis werden zwei pneumatische Materialweichen angesteuert, die die Werkstücke in die entsprechende Lagerrutsche einsortieren. Gleichzeitig findet eine einfache Visualisierung der Sensor- und Aktordaten statt. Im Rahmen des Projektes wurde das Entwicklungswerkzeug dazu verwendet, die dafür benötigte Steuerung auf dem ACROSS-MPSoC zu implementieren. Dabei diente die logische Architektur der Steuerung als Ausgangsbasis, die aus einer Plausibilitätsprüfung der Sensordaten, der eigentlichen Sortierlogik sowie der Visualisierung besteht. Zusätzlich wurden weitere Annotationen wie Latenzen, Ausführungszeiten der Tasks und Kritikalitätsstufen sowie ein Modell der Zuverlässigkeitsanforderung für die Steuerung erstellt.

Im Beispiel erfolgten die Modellierung einer hohen Kritikalitätsstufe für die Steuerung und eine niedrigere für die Visualisierung. Als Zuverlässigkeitsanforderung wurde die Tolerierung eines Einzelfehlers in einem Kern (fail-operational) sowie die Erkennung eines Doppelfehlers und Anhalten der Anlage (fail-safe) gefordert. Das Werkzeug wurde dann dazu genutzt, eine fehlertolerante Implementierung der (sicherheitskritischen) Sortieranwendung zu berechnen und zusammen mit der (unkritischen) Visualisierung auf dem MPSoC zu integrieren. Dabei wurden drei Replika der Sortierlogik erzeugt, deren Ergebnisse durch einen durch das Werkzeug eingefügten Voter kombiniert werden. Das vom Werkzeug berechnete Deployment weist dabei allen Softwarekomponenten (In­stanzen der Sortierlogik, Visualisierung) jeweils dezidierte Prozessorkerne zu, da diese von der Hardware voneinander abgeschottet sind.

Fortiss, IEC 61131 3 Modell der Sortieranwendung
Bild 4. IEC-61131-3-Modell der Sortieranwendung: Die linke Abbildung zeigt das SFC-Modell mit den Zuständen der Steuerung und die rechte Abbildung zeigt exemplarisch die Erkennung der Werkstückfarbe.
© Fortiss

Neben der Unterstützung bei der Auslegung des Systems bietet die Werkzeugunterstützung weitere Vorteile für den Entwickler. Bild 4 zeigt ein IEC-61131-3-Modell der Sortierkomponenten, das in die beschriebene Werkzeugkette importiert wurde. Da hier das Verhalten der Anwendung ebenfalls mit Modellen spezifiziert ist, lässt sich zusammen mit dem Architekturmodell der gesamte Quellcode generieren. Darüber hinaus wird die Konfiguration der auf den frei programmierbaren Prozessorkernen laufenden PikeOS-Instanzen (Partitionierung, Kommunikationskanäle etc.) sowie die Konfiguration des MPSoCs (zeitgesteuerter Schedule, TISS-Konfiguration) generiert und somit automatisch mit dem Design konsistent gehalten.

Alles in allem wurde mit der beschriebenen Werkzeugkette im Rahmen des Forschungsprojektes also die Software für eine fehlertolerante Steuerung der Anlage erzeugt, die zusammen mit einer einfachen Prozessvisualisierung in einer FPGA-Implementierung des ACROSS-MPSoC integriert und getestet wurde. Die zentrale Erkenntnis dabei: Die zunehmende Komplexität von Automatisierungssystemen und insbesondere der zur Verfügung stehenden Ausführungsplattformen wie etwa Multicore-Prozessoren verlangt Methoden und Werkzeuge, die es erlauben, zu einem frühen Entwicklungszeitpunkt Aussagen über das spätere Systemverhalten zu machen. Eine durchgängige modellbasierte Software-Entwicklung schafft diese Möglich­keiten durch unterschiedliche Sichten und integrierte Analyse- und Syntheseverfahren, deren Ergebnisse mit Code- und Konfigurationsgeneratoren konsistent unter Ausnutzung der von der jeweiligen Zielplattform gegebenen Garantien umsetzbar sind.

Autoren: Simon Barner arbeitet als wissen­schaftlicher Mitarbeiter am Fortiss-Institut der TU München, Jia Huang arbeitet als wissen­schaftlicher Mitarbeiter am Fortiss-Institut der TU München, Dr. Sebastian Voss ist am Fortiss-Institut der TU München als Gruppenleiter tätig.


  1. Sicher steuern mit Multicore-Prozessoren
  2. Komponenten-basierte Systementwicklung
  3. Berechnung effizienter Systemkonfigurationen

Verwandte Artikel

Technische Universität München