Bild 1: Entwicklungsplattform für elektrische Antriebe.

Bild 1: Entwicklungsplattform für elektrische Antriebe.Xilinx

Nach der Validierung des Modells und des per Simulation generierten Systems folgt bei modellbasierten Verfahren die Umsetzung in eine geeignete Architektur. Dazu bieten die Matlab/Simulink-Design-Tools von Mathworks einen passenden Designfluss zur Entwicklung und zum Einsatz geeigneter Algorithmen zur Motorsteuerung. Die Komplexität heutiger Drive-Systeme erfordert neben geeigneten Steueralgorithmen auch den Einsatz industrieller Netzwerke wie Ethercat, Profinet, Powerlink oder Sercos III. Alles das benötigt beträchtliche Ressourcen an Prozessorleistung.

Auf einen Blick

Die Komplexität heutiger Drive-Systeme nimmt immer mehr zu. Modellbasierte Verfahren ermöglichen den Vergleich der Controller mit den simulierten Motormodellen. Im Gegensatz zu traditionellen Verarbeitungssystemen erfüllen die Zinq-7000-Bausteine von Xilinx die hohen Anforderungen hinsichtlich Flexibilität zur einfachen Implementierung einer Hardware-gestützten Aufteilung mit einem High-Performance-Verarbeitungssystem.

Extra-Layer für die Motorsteuerung, PLC-Layer, Diagnose-Layer, Bediener-Schnittstellen für Inbetriebnahme und Wartung oder Fernüberwachung sind weitere Anforderungen, die vermehrt auf Antriebe zukommen. All diese Anforderungen bedingen logische und physische Unterteilungen mit Elementen, die gut zu den Prozessorsystemen passen, während andere Elemente am besten in den Bereich der Hardware-gestützten Beschleunigung ausgelagert werden.

Deshalb ist es sehr wichtig, die passenden Schnittstellen zwischen diesen Partitionen zu identifizieren, und zwar mit Verfahren, die die Konsistenz von Simulation und Realisierung aufrechterhalten. Mit der Modellierung des Systems werden so auch die betrieblichen Grenzbedingungen erfasst und simuliert, bevor es an die Erstellung von Prototypen oder Vorserien geht. Im Idealfall ist dabei die Konsistenz bereits so gut, dass sie Verfeinerungen und Iterationen erlaubt, um das Modell im Hinblick auf die Ergebnisse in der Prototyp- oder Vorserienphase zu kalibrieren. Traditionelle Verarbeitungssysteme bieten hier nicht die nötige Flexibilität zur einfachen Implementierung einer Hardware-gestützten Aufteilung.

Hardware-gestützte Aufteilung

Eine geeignete Entwicklungsplattform sollte alle diese Erfordernisse in einem robusten und skalierbaren System erfüllen. Die Zynq-7000-Bausteine von Xilinx erfüllen all diese Anforderungen mit einem High-Performance-Verarbeitungssystem und zwar hinsichtlich Vernetzung, Bewegungssteuerung, Soft-PLC, Diagnose und Fernwartung, sowie programmierbarer Logik, die als exakt zugeschnittene Accelerator- und Offload-Engine fungieren kann. Zynq-7000 arbeitet mit Dual Core ARM Cortex A9 mit Neon und Vektor Floating Point, sowie mit programmierbarer Logik mit massivem DSP-Anteil. Hoher Durchsatz mit AMBA-4 AXI Interconnect für schnellen Datentransfer mit über 3000 PS an direkte PL-Anschlüsse sorgen für eine enge Kopplung zwischen dem Verarbeitungssystem und der programmierbaren Logik (Bild 2).

Bild 2: Aufbau des Zynq-7000 All Programmable SoC.

Bild 2: Aufbau des Zynq-7000 All Programmable SoC.Xilinx

Bei der praktischen Implementierung erhebt sich aus der Systemperspektive die Frage, wo die Schnittstelle zwischen dem ausgelagerten Teil und dem Teil, der sich auf dem Prozessor befindet, angeordnet werden sollte. Viele Steueralgorithmen haben Systemzeiten und Systemvariablen, die sich über mehrere Größenordnungen erstrecken. Derart große Bereiche machen die Zuordnung der Partition zu einer großen Herausforderung: Wo platziert man die für das Timing kritischen Funktionen? Jeder Entwickler weiß, wie viele Kompromisse und Iterationen notwendig sind, um ein Electric-Drive-System zum richtigen Arbeiten zu bringen. Entsprechend schwierig ist der Weg dorthin.

Bild 3: Die wesentlichen Zeitvorgaben für elektrische Antriebe.

Bild 3: Die wesentlichen Zeitvorgaben für elektrische Antriebe.Xilinx

Ein gutes Beispiel für diese Situation veranschaulicht das in Bild 3 dargestellte typische Antriebssystem. Normalerweise ist die Stromversorgung für 50 bis 60 Hz ausgelegt. Die Versorgungsspannung wird gleichgerichtet, um eine kontinuierliche DC-Versorgung zu erhalten. Diese Gleichspannung wird in eine Spannung mit variabler Frequenz umgewandelt, die eine Leistungsstufe aussteuert und die Motorklemmen versorgt. Auch werden die Grundvariablen des Motors hinsichtlich Strom und Spannungen detektiert, die Position der Welle gelesen oder geschätzt sowie die Umdrehungszahl und die Steuerbefehle, die vom Datennetz oder von einem übergeordneten Controller kommen. Das liefert die beste Allokation der Partition, mit der Möglichkeit, von der Implementierung zur Simulation zurückzugehen. Dies ist äußerst wichtig zum Rekalibrieren der Implementierung und verlangt nach einer gut geführten, möglichst automatisierten Umgebung.

Optimale Partition zwischen C und HDL

Xilinx und Mathworks kooperieren als Partner zur Verbesserung der Produktivität des modellbasierten Designflusses, um die Partition zwischen dem verarbeitenden System und der programmierbaren Logik durch einen automatischen Workflow zu unterstützen (Bild 4).

Bild 4: Automatisiertes Rapid Prototyping für Motorsteuerungen von Simulink.

Bild 4: Automatisiertes Rapid Prototyping für Motorsteuerungen von Simulink.Xilinx

Ein derartig automatisierter Ablauf erlaubt Software- und Steuerungsentwicklern den gemeinsamen Entwurf von Szenarios für die Partitionierung. Dabei wird das Top-Modell in ein Software- und Hardware-Modell umgeändert. Mathworks Embedded Coder und HDL Coder sind die zugehörigen Engines zur Überführung des Modells in C- und HDL-Code. Dieser Workflow automatisiert die Generierung der Schnittstelle und den Aufbau des Systems. Die Ergebnisse einer solchen Implementierung passen mit einem spezifischen Zynq-7000-Template-Design zur Xilinx-Embedded-System-Tool-Chain. Auf diese Weise automatisiert der Workflow über die Xilinx-Tools auch die Build- und Download-Schritte.

Bild 5: Modell-basierter Zynq Designfluss.

Bild 5: Modell-basierter Zynq Designfluss.Xilinx

Bild 5 zeigt den High-level-Workflow mit Hervorhebung der Design-, Implementierungs- und Deployment-Phasen. Dieser Workflow hilft dem Entwicklerteam bei der Abbildung der Implementierung auf ein dem Produkt entsprechendes Package und erlaubt die nahtlose Integration der Simulationsumgebung, der Prototyp-Phase und der finalen Produktimplementation. Die gesamte Qualität und die Verfolgbarkeit der Designschritte werden dadurch erheblich verbessert. Der Designfluss ist voll integriert und erlaubt das direkte Mapping von Modell und finaler Realisierung – mit dem offenkundigen Vorteil der Wiederverwendbarkeit (re-usability) und Beobachtbarkeit (observability) (Bild 6).

Bild 6: Von der Simulation zum Prototyp zur Produktion

Bild 6: Von der Simulation zum Prototyp zur ProduktionXilinx

Zur Verbesserung des Lerneffekts lässt sich ein solcher Modellfluss evaluieren, und zwar durch den Einsatz eines der Intelligent-Electric-Drive-Systeme von Xilinx als Referenz-Design. Dieses besteht aus dem Avnet-Zed-Board mit einem Zynq-7020 All Programmable SoC. Ein derartiger Baustein bietet 220 DSP48E1 Slices, 85 k Logikzellen, ein 800-MHz-Dual-Core-ARM-Cortex-A9-Prozessorsystem und einen FMC-Expansion-Slot.

Die Leistungs- und Datenverarbeitungsstufen werden mit einem Analog-Devices-AD-FMCMOTCON1-EBZ-FMC-Modul realisiert. Eine optionale ADI-Dynamometer-Motorsteuerung kann als Testanordnung eingesetzt werden. Ein Baustein der Xilinx Vivado Design-Suite (System-Edition) mit ZC7020 fungiert als Deployment Tool-Chain. Matlab, Simulink, HDL Coder, Embedded Coder und eine Control-Systems-Toolbox stellen die modellbasierte Umgebung dar. Ein Zynq-Referenz-Design von Field Oriented Control mit dem Ubuntu Linux Framework vervollständigt diesen Aufbau.