FAVIA: Flexible Automatisierung für verteilte Industrieanlagen

Die FAVIA-Plattform ist eine dynamisch anpassbare Referenzplattform für Industrie-4.0-Steuerung auf der Basis des Standards IEC 61499. Als Referenzplattform verkörpert sie weniger eine konkrete Vorgabe von Baugruppen und Entwicklungswerkzeugen, sondern vielmehr ein Konzept, wie moderne Entwurfsprozesse für eingebettete Systeme auf den Bereich der Industriesteuerungen angewendet werden können. Es werden dabei Erkenntnisse und Werkzeuge aus anderen Anwendungsfeldern eingebetteter Systeme (z.B. Automotive) auf den Industriekontext angewendet.

Als Idealziel soll FAVIA einen modellbasierten Entwurfsprozess für I4.0-Produktionsanlagen ermöglichen. Die Einbindung und der Weiterbetrieb existierender Produktionsmittel sind jedoch bei Industrieanlagen unerlässlich, daher ist ein hoher Grad an Flexibilität und Abweichung vom Idealziel möglich und explizit vorgesehen. Legacy-Komponenten, die einem modellbasierten Ansatz nicht zugänglich sind, sind dennoch repräsentierbar; Komponenten, die hardwareseitig keine ausreichenden Fähigkeiten haben, um mit I4.0-Komponenten zu interagieren, werden hinreichend adaptiert.

Die FAVIA-Plattform befasst sich zur Erreichung dieses Ziels in der derzeitigen Ausbaustufe mit drei wesentlichen Aspekten:

  • ein Konzept für modellgetriebene Softwareentwicklung inkl. Kommunikationsstrukturen für verteilte Steuerungssysteme; ein Schwerpunkt sind dynamische service-orientierte Architekturen
  • ein Konzept für flexible Steuerungshardware mit einer graduellen Verfeinerung von Prototypen-Entwicklung bis zu Produktivsystemen sowie mit Einsatzgebieten von Orchestrierung über Adaption bis zur nativen Steuerung
  • ein Konzept zur Simulation von Steuersystemen, sowohl für rein virtuelle wie gemischt virtuell/physikalische Tests, als auch zur Unterstützung von Run-Time-Monitoring
FAVIA Referenz-Hardware

FAVIA Referenz-Hardware

Modellgetriebene Softwareentwicklung

Mit IEC 61499 existiert ein Industriestandard, der modellgetriebene und applikationszentrische Programmierung von verteilten Steuerungssystemen ermöglicht. Er verkörpert jedoch keine puristische Vision von Modellierung, vielmehr macht er Zugeständnisse für eine graduelle Migration von Legacy-Komponenten. So nützlich diese Eigenschaft ist, besteht jedoch die Herausforderung darin, den Standard so anzuwenden, dass der Nutzen von modellgetriebener Entwicklung erhalten bleibt.

Wichtige derzeit betrachtete Forschungsfragen in diesem Zusammenhang sind:

  • Wie prüft man IEC 61499-Programme aud Konsistenz und/oder spezifizierte funktionale und extrafunktionale Eigenschaften? [TRAN2018]
  • Wie modelliert man moderne service-orientierte Architekturen, die dynamischere Kommunikationsstrukturen benötigen als IEC 61499 vorsieht? [WALT2018]

Auf der anderen Seite steht die Frage nach der Durchgängigkeit der Entwicklung bis zum Produktivsystem.

Hierzu setzt FAVIA auf die IEC 61499-Implementation 4diac, welches unter Schirmherrschaft der Eclipse Foundation als Open Source Software entwickelt wird und eine breite Palette von Hardwaresystemen unterstützt.

Zusätzlich wurde für FAVIA eine plattformunabhängige Deployment-Automatisierung entwickelt, die als Baustein für einen Continuous Integration/Continuous Deployment (CI/CD)-Entwicklungsprozess mit hoher Reproduzierbarkeit auch in heterogenen Entwicklungsumgebungen dient.

Flexible Steuerungshardware

Hardwareseitig sind natürlich etablierte Industriesteuerungssyteme eine wichtige Zielplattform. Tatsächlich unterstützt 4diac auch mehrere namhafte SPS-Hersteller. Im Kontext von Industrie 4.0 entstehen jedoch Anforderungen, die von klassischen SPS nicht mehr erfüllt werden können, z.B. Live-Bildverarbeitung oder KI-unterstützte Prozesse.

FAVIA verwendet eine Referenzhardware, die mehr Anforderungen erfüllen kann als eine kassische SPS, die aber entsprechend der individuellen Anforderungen angepasst werden soll. Zwischen den Extremen „Einsatz der unveränderten FAVIA-Referenzhardware“ und „Verzicht auf die FAVIA-Hardware zugunsten einer 4diac-fähigen klassischen SPS“ sind viele Abstufungen möglich.

Die Referenzhardware besteht aus drei wesentlichen Bestandteilen:

  • Ein Xilinx Zynq System-on-Chip, der zwei ARM-CPU-Kerne mit einem FPGA vereint. Die ARM-CPUs haben ausreichend Rechenleistung für viele Aufgaben, und der FPGA ermöglicht sehr schnelle oder besonders energieeffiziente Ausführung von Teilaufgaben sowie eine flexible Anpassung an I/O-Schnittstellen mit beträchtlicher Komplexität (z.B. Ethernet TSN).
  • Eine Trägerplatine im Formfaktor eines Raspberry Pi, das Zynqberry-Board von Trenz Electronics. Es kombiniert den Zynq-Prozessor mit einem weltweit bekannten physikalischen Layout, für das viel Zusatzhardware erhältlich ist. Dies unterstützt besonders eine kostensparende Prototypen-Entwicklung. Außerdem eignet sich die Nähe zum Raspberry Pi gut, um einen zusätzliche Pool von Fachkräften anzusprechen, der mit klassichen Industriesteuerungssystemen keinen Erfahrung hätte.
  • Ein damit kompatibles modulares Industrie-I/O-System, emBRICK von der IMACS GmbH. Dies löst das Problem, dass die Zynqberry-Hardware nicht originär für Industriesteuerungsaufgaben entworfen wurde. Auf diese Weise werden die etablierten Anforderungen an Industrie-I/O-Schnittstellen erfüllt.

Die Teile können je nach Anforderung ausgetauscht werden: benötigt z.B. ein System die FPGA-Fähigkeiten nicht, kann zugunsten von besserer Verfügbarkeit von Fachkräften auch ein regulärer Raspberry Pi eingesetzt werden; wird mehr High-Speed-I/O benötigt, so kann die Trägerplatine durch ein spezialisiertes Board ersetzt werden, das mehr Zynq-I/O-Pins verfügbar macht aber dafür einen Adapterstecker für die Anbindung an emBRICK benötigt. Alles darf variiert werden, einzige Bedingung ist die 4diac-Unterstützung.

Simulationsmodelle für Steuersysteme

Die Ausführungssemantik von IEC 61499 ähnelt stark der Semantik von SystemC, welches im Bereich traditioneller eingebetteter Systeme weit verbreitet ist, insbesondere für Simulationsmodelle.

IEC 61499-Programme können mit wenig Aufwand in SystemC-Modelle umgewandelt werden, in denen jeder Funktionsblock einem SystemC-Modul entspricht. Die Struktur des Simulationsmodells entspricht nahezu 1:1 der Struktur des IEC 61499-Programms, was eine ideale Basis ist, um simulationsgetriebene Analyse, Test und Debugging auf der semantischen Ebene von IEC 61499-Funktionsblöcken durchzuführen.

Generell sind dadurch bewährte Tools und Methoden aus dem SystemC-Ökosystem unmittelbar anwendbar. Besonders nützlich sind hierbei bekannte Techniken der Annotation mit Modellen für extrafunktionale Eigenschaften (Zeit, Energie, Temperatur, …). Dadurch sind SystemC-Modelle der ideale Lückenschluss zwischen der IEC 61499-Modellebene und dem Produktivsystem in einem modellbasierten Verfeinerungsprozess.

Die Simulation als automatisiertes Testwerkzeug ist zudem ein weiterer wichtiger Baustein, der für einen CI/CD-Entwicklungsprozess benötigt wird.

Kontakt

Bei Interesse an einer Zusammenarbeit im Rahmen von Forschungsprojekten oder der Entwicklung von Prototypen kontaktieren Sie uns unter joerg.walter@offis.de

Referenzen

[TRAN2018] Tran, D.D. and Walter, J. and Grüttner, K. and Oppenheimer, F.: Towards Contract Based Assertions in IEC 61499 Applications. FDL 2018
[WALT2018] Walter, J. and Grüttner, K. and Nebel, W.: Using IEC 61499 and OPC-UA to Implement a Self-Organising Plug and Produce System. MORSE 2018