Dieser Guide zeigt Ihnen, wie Sie Ihre Simulationen beschleunigen und die Performance Ihrer Simulink®-Modelle verbessern können. Die folgenden Schritte führen Sie zu einigen Tools, die Sie in bestimmten Situationen verwenden können, um die Performance Ihres Modells bzw. Ihrer Modelle zu verbessern oder zu analysieren. Wenden Sie sich bitte an den technischen Support, wenn Sie Schwierigkeiten bei der Durchführung dieser Schritte haben oder wenn Sie Ihr Problem nicht lösen können. Sie werden jeweils aufgefordert, die Daten zu sammeln, während Sie die einzelnen Schritte durchlaufen. Diese Daten helfen dem technischen Support, Ihr Problem schneller zu verstehen, falls Sie zusätzliche Unterstützung benötigen.
Schritt 1: Aktuelle Änderungen berücksichtigen
Hat ein Wechsel des Modells oder der MATLAB-Version ein Performance-Problem verursacht?
Vergleich der Modelle
Wenn Sie Ihr Modell im Rahmen eines Upgrades auf eine neue MATLAB®-Version abgeändert haben, vergleichen Sie das Modell mit seiner ursprünglichen Version, um nach Änderungen zu suchen, die die Leistung beeinträchtigen könnten.
Sobald der Vergleich abgeschlossen ist, klicken Sie auf Veröffentlichen und speichern den Bericht.
Upgrade Advisor
Wenn Sie auf eine neue Version aktualisiert haben und mit dem Vergleichstool keine Probleme feststellen konnten, führen Sie den Upgrade Advisor aus. Der Upgrade Advisor kann Fälle identifizieren, bei denen Sie von einer Änderung Ihres Modells profitieren können, um neue Funktionen und Einstellungen in Simulink zu nutzen.
Sobald der Upgrade Advisor die Überprüfung abgeschlossen hat, speichern Sie den Bericht.
Vergleich der Modelle
Wenn Sie Ihr Modell erheblich abgeändert haben und nicht sicher sind, was die Ursache für die langsame Geschwindigkeit ist, vergleichen Sie das Modell mit der ursprünglichen Version, um nach Änderungen zu suchen, die sich negativ auf die Leistung ausgewirkt haben.
Sobald der Vergleich abgeschlossen ist, klicken Sie auf Veröffentlichen und speichern den Bericht.
Schritt 2: Performance Advisor ausführen
Der Performance Advisor analysiert das Modell auf Konfigurationseinstellungen und Modellierungsmuster, die die Simulation verlangsamen können, und schlägt Maßnahmen zur Verbesserung der Leistung vor. Nach den Änderungen am Modell kann der Performance Advisor eine abschließende Validierung vornehmen, um die erzielten Verbesserungen aufzuzeigen.
Sobald der Advisor die endgültige Validierung durchgeführt hat, speichern Sie den Bericht.
Wenn Sie weitere Methoden zur Verbesserung der Leistung ausprobieren möchten, fahren Sie mit Schritt 3 fort.
Schritt 3: Profiling initialisieren
Haben Sie ein SimulationOutput
-Objekt mit Ergebnissen einer aktuellen Simulation?
Überprüfen Sie die für die Initialisierung des Modells benötigte Zeit mit diesem Befehl und ersetzen Sie out
gegebenenfalls durch den Namen Ihres SimulationOutput
-Objekts.
out.SimulationMetadata.TimingInfo.InitializationElapsedWallTime
Falls die Initialisierungszeit größer ist als erwartet und Sie weitere Schritte unternehmen möchten, fahren Sie mit dem nächsten Teil von Schritt 3 fort. Wenn Sie sich lieber auf mögliche Simulationsprobleme konzentrieren möchten, fahren Sie mit Schritt 4 fort.
Überprüfen Sie die für die Initialisierung des Modells benötigte Zeit mit diesem Befehl und ersetzen Sie out
gegebenenfalls durch den Namen Ihres SimulationOutput
-Objekts.
out.SimulationMetadata.TimingInfo.InitializationElapsedWallTime
Ersetzen Sie out
durch den Namen Ihres SimulationOutput
-Objekts, falls erforderlich.
Falls die Initialisierungszeit größer ist als erwartet und Sie weitere Schritte unternehmen möchten, fahren Sie mit dem nächsten Teil von Schritt 3 fort. Wenn Sie sich lieber auf mögliche Simulationsprobleme konzentrieren möchten, fahren Sie mit Schritt 4 fort.
Wenn Sie eine Simulink-Simulation ausführen, wird in den meisten Fällen ein Objekt mit Informationen über die Simulation erstellt.
Um ein SimulationOutput
-Objekt für Ihr Modell zu erzeugen, führen Sie die genannten Befehle aus und ersetzen Sie MyModel
durch den Namen Ihres Modells.
mdl = "MyModel";
out = sim(mdl,StopTime=“0”,CaptureErrors=“on”);
Diese Befehle initialisieren das Modell und halten die Simulation zum Zeitpunkt 0 an. Das von der Simulation erzeugte Objekt SimulationOutput
enthält Informationen über die Initialisierungszeit.
Sobald Sie out
vorliegen haben, überprüfen Sie die für die Initialisierung des Modells erforderliche Zeit mit diesem Befehl:
out.SimulationMetadata.TimingInfo.InitializationElapsedWallTime
Falls die Initialisierungszeit größer ist als erwartet und Sie weitere Schritte unternehmen möchten, fahren Sie mit dem nächsten Teil von Schritt 3 fort. Wenn Sie sich lieber auf mögliche Simulationsprobleme konzentrieren möchten, fahren Sie mit Schritt 4 fort.
Wenn Sie eine Simulink-Simulation ausführen, wird in den meisten Fällen ein Objekt mit Informationen über die Simulation erstellt. Bevor Sie versuchen, ein neues Objekt zu erstellen, überprüfen Sie Ihren Basis-Workspace auf alle vorhandenen Objekte mit dem Wert „1x1 SimulationOutput
“ im Basis-Workspace.
Um ein SimulationOutput
-Objekt für Ihr Modell zu erzeugen, führen Sie die genannten Befehle aus und ersetzen Sie MyModel
durch den Namen Ihres Modells.
mdl = "MyModel";
out = sim(mdl,StopTime=“0”,CaptureErrors=“on”);
Diese Befehle initialisieren das Modell und halten die Simulation zum Zeitpunkt 0 an. Das von der Simulation erzeugte Objekt SimulationOutput
enthält Informationen über die Initialisierungszeit.
Sobald Sie out
vorliegen haben, überprüfen Sie die für die Initialisierung des Modells erforderliche Zeit mit diesem Befehl:
out.SimulationMetadata.TimingInfo.InitializationElapsedWallTime
Falls die Initialisierungszeit größer ist als erwartet und Sie weitere Schritte unternehmen möchten, fahren Sie mit dem nächsten Teil von Schritt 3 fort. Wenn Sie sich lieber auf mögliche Simulationsprobleme konzentrieren möchten, fahren Sie mit Schritt 4 fort.
Verwenden Sie den MATLAB Profiler, um nach Code zu suchen, der die Initialisierung verlangsamen könnte.
MATLAB Profiler
Manchmal gibt es Modell-Callbacks oder Initialisierungsskripte, die über eine umfangreiche MATLAB-Codebasis verfügen. Der MATLAB Profiler analysiert die Zeit, die für die Ausführung des MATLAB Programmcodes Ihres Modells benötigt wird, um mögliche Engpässe zu identifizieren.
Führen Sie diese Befehle im Befehlsfenster aus, bevor Sie die Simulation starten:
profile clear; profile on;
Nachdem die Simulation abgeschlossen ist, führen Sie folgenden Befehl aus:
p = profile('info');
Nachdem der MATLAB Profiler ausgeführt wurde, klicken Sie auf Print und speichern Sie den Bericht als PDF-Datei.
Betrachten Sie nun die Ergebnisse des Profilers. Falls es Funktionen oder Skripte gibt, die Sie nicht erwartet haben, oder falls die Ausführung von MATLAB Programmcode länger dauert als erwartet, sollten Sie sich etwas Zeit nehmen, um das Problem zu beheben.
Wenn Sie weitere Methoden zur Verbesserung der Leistung ausprobieren möchten, fahren Sie mit Schritt 4 fort.
Schritt 4: Profiling der Simulation
Verwenden Sie einen Solver mit variabler Schrittweite?
Wenn Sie sich nicht sicher sind, sehen Sie sich den Fensterbereich Solver im Dialogfeld Konfigurationsparameter an.
Simulink Profiler
Der Simulink Profiler analysiert die für die Ausführung Ihrer Modellsimulation benötigte Zeit und schlüsselt sie nach Komponenten auf. Sie können diese Informationen nutzen, um eine Basislinie festzulegen und potenziell problematische Konstrukte in Ihrem Modell zu identifizieren. Achten Sie auf die Modelle, die viel Selbstzeit ("self-time") beanspruchen.
Wenn das Profil vollständig ist, klicken Sie unter Share auf Generate Report und speichern Sie den Bericht.
Wenn es bei Ihrem Modell eine Situation gibt, die in diesen Schritten nicht behandelt wurde, gehen Sie weiter zu Schritt 5.
Simulink Profiler
Führen Sie den Simulink Profiler aus.
Der Simulink Profiler analysiert die für die Ausführung Ihrer Modellsimulation benötigte Zeit und schlüsselt sie nach Komponenten auf. Sie können diese Informationen nutzen, um eine Basislinie festzulegen und potenziell problematische Konstrukte in Ihrem Modell zu identifizieren. Achten Sie auf die Modelle, die viel Selbstzeit ("self-time") beanspruchen.
Wenn das Profil vollständig ist, klicken Sie unter Share auf Generate Report und speichern Sie den Bericht.
Solver Profiler
Führen Sie den Solver Profiler aus.
Der Solver Profiler analysiert die Dynamik Ihres Modells und kann Ihnen dabei helfen, zu erkennen, wann die Simulationsleistung aufgrund kleinerer Zeitschritte oder größerer Simulationsereignisse (einschließlich Solver-Ausnahmen und Solver-Resets) nachlässt.
Nachdem die Profilerstellung abgeschlossen ist, speichern Sie das Diagramm, indem Sie auf den Export-Tab klicken und dann das Diagramm als .fig-Datei speichern.
Wenn es bei Ihrem Modell eine Situation gibt, die in diesen Schritten nicht behandelt wurde, gehen Sie weiter zu Schritt 5.
Schritt 5: Weitere Schritte
Sind Sie mit der Leistung Ihres Modells zufrieden?
Vielen Dank, dass Sie den Simulink Performance Guide verwenden!
Sehen Sie sich diese zusätzlichen Ressourcen an, die sich mit leistungssteigernden Techniken befassen, damit Ihr Modell wie geschmiert läuft:
Vielen Dank für die Zeit, die Sie in das Debugging und die Sammlung von Diagnoseinformationen investiert haben.
Bitte wenden Sie sich an den Support und übermitteln Sie die während dieses Prozesses erstellten Berichte.