Bild 1: Seit der Version 2011 von LabVIEW und 12 von Multisim ist nun auch eine Co-Simulation möglich.

Bild 1: Seit der Version 2011 von LabVIEW und 12 von Multisim ist nun auch eine Co-Simulation möglich.National Instruments

In einem herkömmlichen Entwicklungsprozess, beispielsweise der Entwicklung eines Wechselrichters, wird zunächst der Leistungsteil entwickelt. Dabei kommen oft Spice-basierte Entwicklungswerkzeuge zum Einsatz, die Schaltungen softwarebasiert simulieren und testen können. Im nächsten Schritt entsteht unter Zuhilfenahme von Schaltungsentwurfswerkzeugen ein erster Prototyp. Dieser erfüllt meist noch nicht alle Anforderungen, so dass sich dieser Prozess bis zum fertigen Produkt einige Male wiederholt. Ab dem Zeitpunkt des ersten Prototyps beginnt ein zweites Entwicklungsteam mit der Entwicklung der Ansteuerung der Leistungselektronik. In heutigen Systemen finden sich meist komplexere Steuerungssysteme mit zusätzlichem Funktionsumfang wieder, so dass die Steuerung zusätzlich Informationen, beispielsweise die übertragene Energie, an ein Monitoring-System übergeben kann. In einem solchen Prozess mit mehreren Wiederholungen muss neben der Hardware auch die Software ständig angepasst werden.

Es zeigt sich, dass ein solcher Prozess einige Schwächen aufweist – besonders vor dem Hintergrund, dass eine schnelle Markteinführung von neuen Ideen und Möglichkeiten immer wichtiger wird.

Auf einen Blick

Die Co-Simulation von LabVIEW und Multisim schafft zahlreiche neue Simulationsmöglichkeiten. Sie bringt, ganz gleich in welchem Entwicklungsbereich, zahlreiche Erleichterungen mit sich und kann dabei helfen, Fehler zu vermeiden. Außerdem bietet LabVIEW durch seine starke Abstraktion allen Beteiligten die Möglichkeit, die implementierten Algorithmen zu interpretieren.

Zunächst fällt auf, dass der Prozess seriell ist. Erst nach der Erstellung der ersten Prototypen beginnt die Entwicklung der Algorithmen für die Steuerung. Außerdem zeichnet sich ab, dass die Schnittstelle zwischen den Entwicklungsteams der Leistungselektronik und der Steuerung eine große Rolle spielt, da hier bei den verschiedenen Prototypendurchläufen keine Zeit durch Konvertierung von Formaten oder dem Neugestalten von Komponenten verlorengehen darf. Es wäre also wünschenswert, Schnittstellen zwischen den beiden Entwicklungsteams beziehungsweise -werkzeugen zu implementieren, um den Prozess zum einen zu parallelisieren und um zum anderen die Kommunikation während des Prototypings  zu beschleunigen.

48 Wochen Entwicklungszeit sparen

Die Firma Dynapower hat diesen Prozess optimiert. Der ursprüngliche Entwicklungszyklus dauerte 72 Wochen. Dank der Zuhilfenahme neuer Entwicklungswerkzeuge und einer sehr flexiblen und leistungsfähigen Hardwareplattform konnte der Entwicklungszyklus um 48 Wochen auf 24 Wochen reduziert werden. Das Unternehmen hat dabei die kostspieligen Prototypen-Durchläufe minimieren können. Stellt sich die Frage, wie dies möglich war.

Was ist eine Co-Simulation?

Bild 2: Spice-Modell eines 3-Phasen-Wechselrichters in Multisim.

Bild 2: Spice-Modell eines 3-Phasen-Wechselrichters in Multisim.National Instruments

Dynapower hat für die Entwicklung im frühen Stadium eine sogenannte Co-Simulation eingesetzt. Eine Co-Simulation, auch gekoppelte Simulation genannt, bezeichnet die Zusammenarbeit verschiedener Softwarewerkzeuge über eine Schnittstelle. Dieser Ansatz ist mittlerweile in vielen Bereichen der Industrie weit verbreitet, um beispielsweise im Fahrzeugbau die Wechselwirkungen verschiedener Komponenten zu ermitteln. Dort ist es gängig, ein 3D-Modell mit einem mathematischen Modell über einen solchen gekoppelten Ansatz zu verbinden.

National Instruments stellt für jeden der zu Beginn genannten Entwicklungsprozesse Werkzeuge zur Verfügung. Es liegt nahe, dass auch hier Schnittstellen für die Co-Simulation von Vorteile sind. Seit der Version 2011 von LabVIEW und 12 von Multisim ist nun auch eine solche Co-Simulation möglich. Dabei weist diese Verbindung einige große Vorteile und Erleichterungen auf, die im Folgenden betrachtet werden sollen (Bild 1).

LabVIEW ist eine grafische Programmiersprache, die sich durch leichte Verständlichkeit und einen stark abstrahierenden Ansatz auszeichnet, der es ermöglicht, auch komplexeste Problemstellung verständlich darzustellen. Sie kann anspruchsvolle Algorithmen, parallele Ausführung, Steuer- und Regelungsaufgaben aber auch die Visualisierung dieser Systeme realisieren und dabei für alle am Entwicklungsprozess beteiligten Fachkräfte verständlich bleiben. Besonders hervorzuheben ist dabei die nahtlose Hardwareintegration von LabVIEW. Neben Hardware von National Instruments lassen sich auch Komponenten von anderen Herstellern einbinden. Auf der anderen Seite steht die NI Circuit Design Suite, bestehend aus NI Multisim und NI Ultiboard. Multisim ist ein auf Spice-Modellen basiertes Tool zur Simulation elektrischer Schaltungen. Dabei hat Multisim einen Funktionsumfang, der über einen einfachen Spice-Simulator hinausgeht. Hierzu zählen beispielsweise diverse Analysefunktionen, wie die Monte-Carlo-Analyse, welche das Betrachten der Übertragungsfunktion von Schaltungen unter Berücksichtigung der Toleranzen der verwendeten Bauteile ermöglicht. Je nach Ausbaustufe stehen in Multisim bis zu rund 25.000 Bauelemente zur Verfügung. Ultiboard vervollständigt nun diese Toolchain. Mit Ultiboard ist es möglich, aus den modellierten Schaltungen Platinenlayouts zu entwickeln, die in Form zahlloser Formate wie beispielsweise dem Gerber-Format exportiert und somit physikalisch erstellt werden können.

Co-Simulation – die Schnittstelle

Wie sieht nun die Schnittstelle zwischen diesen Werkzeugen aus? Zunächst wird wie im herkömmlichen Entwicklungsansatz eine Spice-basierte Schaltung erstellt (Bild 2). Die sogenannten hierarchischen Steckverbinder in Multisim, welche in den vorherigen Versionen lediglich Verbindungen zwischen mehreren Schaltplanseiten darstellten, dienen nun zusätzlich als Eingang beziehungsweise Ausgang für die Co-Simulation. Sofort nach dem Konfigurieren für die Co-Simulation zeigt das Konfigurationsfenster (Bild 3) eine Vorschau des Blocks für LabVIEW an.

Bild 3: Konfigurationsfenster der LabVIEW-Anschlüsse mit Vorschau des Multisim-VI-Blocks.

Bild 3: Konfigurationsfenster der LabVIEW-Anschlüsse mit Vorschau des Multisim-VI-Blocks.National Instruments

Die Regel- und Simulationsschleife, die im Umfang des LabVIEW Control Design and Simulation Module enthalten ist, sorgt für die korrekte Ausführung des Modells in LabVIEW. Hierfür wird der Multisim-Designblock einfach per Drag-and-drop in den Bereich der Regel- und Simulationsschleife gezogen. Es erscheint ein Dialog, der nach dem Pfad zum gewünschten Modell verlangt. Das VI wandelt sich nach erfolgreicher Pfadauswahl zu der in der Multisim-Vorschau angezeigten Form.

Hinter der Regel- und Simulationsschleife stehen verschiedene mitgelieferte Solver, die die Simulation möglich machen (Bild 4). Dabei kann zwischen verschiedenen ODE-Solvern, wie beispielsweise Runga-Kutta oder Adam-Moulton, oder rein diskreten Schritten gewählt werden. Besonders hervorzuheben ist, das LabVIEW und Multisim zusammenwirken, um die Schrittweite anzupassen. Dies ist bei vielen Simulationen besonders wichtig, da in bestimmten Zeitbereichen der Simulation eine sehr geringe Schrittweite für eine genaue und aussagekräftige Simulation wichtig ist, aber diese in anderen Bereichen zu unnötig langen Simulationszeiten und immensen Datenaufkommen führt.

Bild 4: Multisim-VI-Block eingebaut in eine Regel- und Simulationsschleife.

Bild 4: Multisim-VI-Block eingebaut in eine Regel- und Simulationsschleife.National Instruments

Der Multisim-VI-Block verhält sich nun wie die gewohnten LabVIEW-VIs. Ganz nach dem Datenflussprinzip übergibt LabVIEW erst dann Daten an Multisim, wenn alle Eingänge am Multisim-VI-Block anliegen. Multisim berechnet anschließend selbstständig den passenden Wert für den entsprechenden Ausgang. Dieser steht dann am Ausgang des Multisim-Blocks in LabVIEW zur Verfügung.

Ein kleiner Tipp an dieser Stelle: Wenn Sie ein LabVIEW-VI mit integrierter Co-Simulation zu Multisim ausführen, dauert es einen Moment, bevor die Simulation startet. Dies liegt darin begründet, dass Multisim im Hintergrund zunächst im Ghost-Modus starten muss. Ghost-Modus bezeichnet den Zustand eines Programms, in dem es für den Anwender nicht sichtbar ist, aber dennoch ausgeführt wird.

Worst-Case-Szenarien ohne Sorgen testen

Mit der Co-Simulation lassen sich nun zahlreiche Aufgabenstellungen lösen und die Prozesse im Entwicklungszyklus optimieren. Gehen wir zurück zum Anfang: zum Beispiel des Wechselrichters mit zwei Entwicklungsteams, dem für die Leistungselektronik und dem für die Steuerung. Die Co-Simulation ermöglicht es, bereits im Designprozess mit der Entwicklung der Steuerung zu beginnen, so dass die Entwicklungsprozesse weitgehend parallel ablaufen. Durch die Schnittstelle zwischen den Entwicklungswerkzeugen lassen sich Fehler in der Konvertierung von Modellen vermeiden und es geht kaum Zeit verloren. Ohne die Gefahr der Beschädigung von Hardware können direkt Tests der Software, vor allem auch in Worst-Case-Szenarien, durchgeführt werden. Somit ist erklärbar, wie bei der Firma Dynapower diese eingangs erwähnten Einsparungen von 48 Wochen möglich waren.

Ein weiterer Vorteil dieser Co-Simulation ergibt sich bei der Verwendung FPGA-basierter Hardware von National Instruments. Ein solcher FPGA könnte in der Steuerung eines Wechselrichters zum Einsatz kommen. Auf dem FPGA würde dabei beispielsweise ein sehr schneller, energieeffizienter Algorithmus für die Pulsbreitenmodulation zur Ansteuerung von Leistungselektronikbauteilen wie IGBTs realisiert. Programmcode für FPGA-Hardware benötigt je nach Komplexität einen beträchtlichen Zeitaufwand bei der Kompilierung. Somit ist klar, dass es von Vorteil ist, diesen Code vor der Kompilierung auf seine Funktion zu überprüfen.

Multisim-Modelle in der Co-Simulation im dreistelligen kHz-Bereich

Je besser die Simulation die Wirklichkeit abbildet, desto weniger Prototypen und anschließende Tests werden benötigt, um die Anforderungen und die gewünschte Testabdeckung zu erreichen. Somit ist eine Simulation so nahe wie möglich an der Realität entscheidend. Auf einem Echtzeitbetriebssystem arbeiten Modelle deterministisch und durch die meist schnelleren Ausführungszeiten genauer als auf Standard-Betriebssystemen. Dies ist mit der Co-Simulation nun auch direkt mit den Spice-Modellen bis in den dreistelligen kHz-Bereich möglich. Es ist keine Abbildung in einer anderen Sprache nötig, sondern es kann direkt das in LabVIEW eingebettete Multisim-Model auf einer Echtzeitplattform ausgeführt werden. Dies erspart weiterhin deutlich Entwicklungszeit und -kosten und vermeidet Fehler bei der Interpretation der Schaltbilder in Code.

Co-Simulation im V-Diagramm

Bild 5: Simulationsergebnis eines Motors.

Bild 5: Simulationsergebnis eines Motors.National Instruments

Die Co-Simulation von LabVIEW und Multisim eröffnet im Bezug auf die Entwicklungsprozesse im V-Diagramm zahlreiche Einsatzmöglichkeiten. Zunächst kann Multisim in der Designphase helfen, Entwicklungsprozesse zu parallelisieren. In der Prototypenphase hilft die Co-Simulation durch die enge Zusammenarbeit der Entwicklungswerkzeuge Zeit einzusparen und Fehler zu vermeiden. Daneben lassen sich in der Simulationsumgebung schnelle Tests durchführen. In dem nach der Implementierung in Hardware folgenden HIL-Test kann das in der Entwicklung entstandene Modell aus Multisim direkt zur Simulation der Hardware eingesetzt und beispielsweise auf einem leistungsfähigen Echtzeitsystem wie NI PXI ausgeführt werden.