Embedded & Mikroprozessoren Schneller auf den Markt

Bild: shalamov
08.04.2014

Hochentwickelte Maschinensubsysteme werden heute mit einer Vielzahl von Controllern realisiert. Tauschen Entwickler von Steuer- und Regelsystemen jedoch Subcontroller durch Subroutinen, vereinfachen sie nicht nur die Architektur der Maschinensysteme, sondern bringen sie auch schneller zur Marktreife.

Ingenieure für Steuerungs- und Regelungstechnik sehen sich häufig gezwungen, die Komplexität von Systemen zu vereinfachen, während sie mit immer komplizierteren Herausforderungen konfrontiert werden. Beispielsweise werden heutzutage Motoren – früher als große Eisenstücke mit jahrzehntelanger Lebensdauer angesehen – überwacht und auf früheste Zeichen von Versagen oder den geringsten Hinweis auf Leistungsverlust überprüft. Es ist somit notwendig, kommerzielle Technologien zu integrieren, um mit Konkurrenzdruck und ständig komplexer werdenden Steuerungsproblemen Schritt zu halten.

Die gute Nachricht ist, dass kommerzielle Technologien für Entwickler von Steuer- und Regelsystemen immer besser nutzbar werden. Eine der aktuellen Verarbeitungstechnologien für PACs (Proxy Auto-Configuration) ist der softwaredesignte Controller NI cRIO-9068 von National Instruments. Die Verarbeitungselemente dieses Controllers basieren auf neuer Siliziumtechnologie von Xilinx, bekannt als Zynq. Das SoC (System on a Chip) verbindet Fließkomma-Prozessorkerne, FPGA-Struktur (Field Programmable Gate Array) sowie DSP-Slices (Digitaler Signalprozessor) auf einem einzigen Chip.

Vereinfachte Architektur

Entwickler von Steuer- und Regelsystemen können nun hochentwickelte Maschinensubsysteme mit weniger Controllern realisieren und eine vereinfachte Architektur entwickeln. Kennen sie sich mit Kontaktplänen besser aus als mit Logikgattern, ist das für sie ungewohnt. PACs, SPSen (speicherprogrammierbare Steuerung) wie auch Embedded-Controller sind jedoch mit Verarbeitungselementen ausgestattet. Manche umfassen sogar FPGAs oder ASICs (anwendungsspezifische integrierte Schaltung), die für Signalverarbeitung und Timing eingesetzt werden.

Für eine große Bandbreite von Anwendungen bietet sich der Fließkommaprozessor an. Der ist allerdings für Anwendungen ungeeignet, die Hochgeschwindigkeits-Timing, -Triggerung oder feste Latenz verlangen. Hier ist ein FPGA von Vorteil. Fließkommaprozessoren können ebenfalls für Signalverarbeitung, -steuerung und -regelung eingesetzt werden, wobei sie im Vergleich zu einem FPGA oder DSP, die für sich wiederholende Algorithmen verwendet werden, eher kostspielig sind. Zwar eignen sich FPGAs optimal für die Verarbeitung von rechenintensiven Algorithmen. In der Laufzeitflexibilität sind sie jedoch eingeschränkt. Was die neuen PACs/SPSen im Hinblick auf die Vereinfachung von Subsystemen so vielversprechend macht, ist die Kombination all dieser Verarbeitungselemente.

Weniger Controller

Grundsätzlich werden Subsysteme gemeinsam mit Hard- und Software eingesetzt, um einer spezifischen Funktion zu dienen etwa als System zur Temperaturüberwachung. In diesem Fall sind die Hardwareeingänge Temperatursensoren, die Ausgänge steuern einen Lüfter oder ein Heizgerät, und die Softwarelogik für das System kann von einer einfachen, begrenzten Funktion bis hin zu einem fortgeschrittenen PID-Algorithmus (Process Identifier) reichen. In komplexen Maschinen mit einer Vielzahl an Komponenten stellt dieser Temperaturregler ein eigenes Design auf einer benutzerdefinierten Platine dar, die mit dem Hauptcontroller über einen kabelgebundenen Bus kommuniziert. Statt einzelnen, optimierten Hardware-Designs für Subcontroller können Entwickler neue Embedded-Controller einsetzen und sich so besser auf einen einzigen flexiblen Kern verlassen. Maschinen mit einer geringeren Anzahl von softwaredesignten Controllern können somit vereinfacht werden, was schnellere Markteinführungszeiten bei niedrigeren Entwicklungskosten ermöglicht. Die Subsysteme in Maschinen sind zu Softwareblöcken abstrahiert, die auf dem Host-Fließkommaprozessor oder den verfügbaren FPGA/DSP-Ressourcen laufen. Die Lösung: Subroutine statt Subcontroller. Bezüglich der Hardware wird bei vielen Subcontrollern bereits ein modulares Betriebssystem verwendet. Die erweiterten Funktionen neuer Embedded-Controller führen dazu, dass benutzerdefiniertes FPGA/ASIC-Hardwaredesign weniger häufig benötigt wird.

Anwendungsbeispiel

Diese Technologie eignet sich optimal für Anwendungen, die jede Art von Hochleistungsmaschine zusammen mit mehreren Subsystemen umfassen. Ein Beispiel hierfür sind Lasersägen, die bei der Herstellung von Siliziumwafern eingesetzt werden. Diese kommerzielle Technologie unterstützt Fertigungsingenieure dabei, Siliziumwafer mit weniger Verschnitt und in kürzerer Zeit als mit mechanischen Zerspanwerkzeugen zu verarbeiten. Um das zu bewerkstelligen sind diese Maschinen mit mehreren kompatiblen Subsystemen ausgestattet, die über einzelne Controller zur Temperaturüberwachung, Lasersteuerung, Inline-Verarbeitung von analogen Hochgeschwindigkeitseingängen sowie einen Überwachungs-PC mit einer Benutzeroberfläche verfügen. Da eine Kommunikationsarchitektur mit einer zentralen Steuerung für all diese Subcontroller notwendig ist, entwickeln Maschinenbauingenieure heute individuelle Designs für jedes einzelne Subsystem. Durch Einsatz eines Embedded-Controllers mit aktueller Verarbeitungstechnologie kann ein Entwickler von Steuer- und Regelsystemen mehrere dieser Subsysteme auf einem einzigen Controller ausführen. Die Software-/Firmwareanweisungen, die für jeden Controller festgelegt wurden, existieren als in sich geschlossene Subroutine auf dem Hauptcontroller. Systementwickler können ihr System erweitern, indem die jeweilige Subroutine kopiert und eingefügt und ein weiteres I/O-Modul hinzugefügt wird.

Intensive Signalverarbeitung und für Messungen geeignete I/O sind heutzutage weit verbreitet, besonders bei der vorbeugenden Wartung von Schwermaschinen. Dank handelsüblicher Embedded-Controller können diese Systeme nun intuitiver entworfen werden, wohingegen früher traditionelles benutzerdefiniertes ASIC- oder FPGA/DSP-Design notwendig war. In Bezug auf Motoren schließen vorbeugende Wartungsmaßnahmen unter anderem RMS-Kalkulationen (quadratisches Mittel) und FFTs (schnelle Fourier-Transformation) mit ein. Diese Algorithmen verbrauchen CPU-Ressourcen (Central Processing Unit), die mit der Kanalanzahl steigen, was weniger CPU-Reserven für andere Aufgaben übrig lässt und entweder die Funktion des Controllers einschränkt oder die Kosten erhöht. Diese Prozesse auf eine FPGA/DSP-Verarbeitungseinheit zu verlegen, führt zu einem geringeren Arbeitsaufwand auf dem flexiblen CPU und verbessert den Datendurchsatz, da FPGAs mehrere Prozesse effizienter durchführen. Solange die Größe des FPGAs ausreicht, können nahezu uneingeschränkt parallele Prozesse hinzugefügt werden.

Softwarewerkzeuge

Da sich der Entwicklungsschwerpunkt in Richtung Software verlagert, ist es wichtig, Softwarewerkzeuge zur Verfügung zu haben, die vorhandene Verarbeitungstechnologien nutzen. Der gängige Programmierstandard für PACs/SPSen ist IEC 61131. 61131 ist eine abstrakte Sprache, die auf sequenzielle, digitale Steuerung und Regelung fokussiert ist, aber nicht dazu entworfen wurde, erweitertes Programmieren zu bewältigen oder die FPGA/DSP-Anordnung auszuführen. Viele erfahrene Entwickler von Steuer- und Regelsystemen bevorzugen eine Standardprogrammiersprache wie C für das Embedded-Design, und obwohl C fast jede Aufgabe erledigen beziehungsweise jedes Verarbeitungsziel erreichen kann, handelt es sich dabei um eine Low-Level-Sprache, die ein höheres Maß an Expertenwissen und mehr Zeit zum Implementieren eines Subroutine-Designs benötigt. Dazwischen existieren andere Programmierumgebungen. Die Systemdesignsoftware NI Labview beispielsweise bietet ein ausgewogenes Verhältnis zwischen diesen zwei Softwareumgebungen, da sie den Programmierprozess einschließlich Speicherverwaltung, Threading sowie Kernmanagement vereinfacht, und gleichzeitig systemnahen Zugriff auf die Verarbeitungs- und I/O-Elemente auf dem Kern oder der FPGA-Anordnung ermöglicht.

Komplexe Herausforderungen meistern

Abgesehen von der Syntaxprogrammierung ist es essentiell, dass Systementwickler Zugang zu kommerziellen Technologien haben, um immer komplexere Herausforderungen zu meistern – etwa das Ändern von Standards oder den Druck, Innovationen immer schneller und gleichzeitig kostengünstiger voranzutreiben. Letztendlich haben Verarbeitungselemente für den Entwickler keinen Nutzen, wenn er sie nicht programmieren kann. Viele der heutzutage in anspruchsvollen Steuer- und Regelsystemen verfügbaren Verarbeitungselemente und Firmware sind geschützt oder unzugänglich. Je offener ein Embedded-Controller ist, desto einfacher ist es für Entwickler von Steuer- und Regelsystemen, diese komplexen Maschinen mit wenigen Subsystemen zu realisieren.

Der Controller NI cRIO-9068 erlaubt direkten Zugang zum Fließkommaprozessor, zur FPGA-Anordnung mit DSP-Slices, und zum Betriebssystem, das eine Echtzeitversion von Linux ist. Mit Zugang zur Kommandozeile können Entwickler der großen Linux-Community beitreten, um eine Maschine in kürzerer Zeit und mit weniger Ressourcen in Betrieb zu nehmen. Zusätzlich zu den handelsüblichen Linux-Anwendungen können Entwickler existierenden C-Code wiederverwenden, da der neue Fließkommaprozessor die Softwareumgebung NI Labview sowie die Entwicklungsumgebung Eclipse unterstützt. So können Anwender die Vorteile beider Seiten nutzen und bereits existierende Software auf aktueller Hardware mit möglichst geringen Störungen einsetzen.

Diese Art von Controllern ist für die nächste Generation von intelligenten Maschinen und für fortgeschrittene Entwickler geeignet, die ihre Produkte mit einer vereinfachten Architektur schneller auf den Markt bringen wollen.

Bildergalerie

  • Neue PACs und Embedded-Controller verlegen die Integration von Subsystemen in den Bereich des Softwaredesigns.

    Neue PACs und Embedded-Controller verlegen die Integration von Subsystemen in den Bereich des Softwaredesigns.

    Bild: National Instruments

  • Der ControllerNI cRIO-9068 ist mit einem echtzeitfähigen Linux-Betriebssystem ausgestattet. Anwender können auf das Linux-Ökosystem von Anwendungen sowie Programmcode zurückgreifen und so Embedded-Entwürfe schneller und in besserer Qualität erstellen.

    Der ControllerNI cRIO-9068 ist mit einem echtzeitfähigen Linux-Betriebssystem ausgestattet. Anwender können auf das Linux-Ökosystem von Anwendungen sowie Programmcode zurückgreifen und so Embedded-Entwürfe schneller und in besserer Qualität erstellen.

    Bild: National Instruments

Firmen zu diesem Artikel
Verwandte Artikel