Timing in Hardware-Schnittstellenmodellen
Simulationszeit
Wenn Blöcke in Ihrem Simulink®-Modell mit Hardwaregeräten interagieren müssen, sollten Sie überlegen, wie lange die Simulation in Echtzeit im Vergleich zur Simulationszeit dauert und wie oft und wie viele Male die Hardware-Schnittstellenblöcke während einer Simulation ausgeführt werden. Normalerweise beziehen sich die Kommunikationsraten Ihrer Hardware auf die reale Zeit oder die „Wanduhrzeit“. Sie können die Dauer einer Simulation, die Ausführungsrate der Blöcke und das Tempo der Simulation an Ihre Hardwareanforderungen anpassen. In diesem Abschnitt werden grundlegende Timing-Konzepte in Hardware-Schnittstellenmodellen unter Verwendung fester Schritte für die Blockausführung erläutert.
Eine Simulation hat eine Dauer, die durch einen Startzeitpunkt und einen Endzeitpunkt definiert ist. Die Standarddauer beträgt 10 Einheiten Simulationszeit (oder simulierte Sekunden). Diese simulierten Sekunden entsprechen nicht unbedingt den Echtzeit-Sekunden, wie sie von einer Wanduhr gemessen werden.
Um die Modelldauer anzupassen, öffnen Sie das Dialogfeld „Configuration Parameters“ für das Modell. Klicken Sie in der Simulink-Werkzeugleiste auf der Registerkarte Modeling auf Model Settings. Wählen Sie im linken Bereich Solver aus. Die Einstellungen Start time und Stop time definieren die Dauer. In den meisten Fällen sollte Start time 0.0 lauten, und Sie können Stop time so einstellen, dass es der gewünschten Dauer der Simulation entspricht.
Während der Simulation wird die Taktung für die Blockausführung durch eine Reihe von Zeitschritten durchgeführt. Bei einer Einstellung für einen automatischen Solver mit festen Zeitschrittweiten berechnet Simulink während der Kompilierung die Zeitschrittfrequenz, um die Sample time Parametereinstellungen aller Blöcke im Modell zu berücksichtigen. Wenn beispielsweise alle zeitgesteuerten Blöcke im Modell eine Abtastzeiteinstellung von 0,01 oder einem Vielfachen davon haben, dann funktioniert eine Zeitschrittgröße von 0,01 für das gesamte Modell.
Blockabtastzeit
Bei Modellen, die mit Hardwaregeräten interagieren, sind feste Zeitschritte mit einer festgelegten Rate möglicherweise vorzuziehen. Beispielsweise benötigen Sie möglicherweise eine Millisekundenauflösung, um die zeitliche Beziehung Ihrer Blöcke zu steuern. Stellen Sie die Timing-Optionen wie folgt ein:
Start time:
0.0Stop time:
10.0Type:
Fixed-stepSolver:
discreteFixed-step size:
0.001
Das Bild zeigt das Dialogfeld mit diesen Einstellungen.

In diesem Modell wird ein Block mit der Standardeinstellung Sample time = 0.01 jeden zehnten Zeitschritt ausgeführt, also 1001 Mal in einer 10 Sekunden langen Simulation. Ein weiterer Block, der mit der doppelten Geschwindigkeit laufen muss, sollte Sample time auf 0.005 gesetzt haben.
Hinweis
In den meisten Fällen können Sie die Einstellung Fixed-step size auf auto belassen, sodass Simulink die geeignete Grundabtastzeit anhand aller Blockeinstellungen berechnet.
Da die Simulationsdauer 10 simulierte Sekunden beträgt und die Sample time-Periode des Blocks 0,01 simulierte Sekunden beträgt, wird dieser Block in einer vollständigen Simulation (einschließlich des ersten und letzten Schritts) 1001 Mal ausgeführt. Die Simulation läuft so schnell, wie es ihre Blöcke zulassen, und diese 1001 Ausführungen könnten deutlich weniger als 10 Sekunden Laufzeit in Anspruch nehmen. Die Simulation in Echtzeit wird also dadurch bestimmt, wie schnell die Blöcke im Modell für die erforderliche Anzahl von Iterationen ausgeführt werden können. Das Ziel einer Simulation ist oft, ein Verhalten so zu modellieren, dass es weniger Zeit in Anspruch nimmt als in einer realen Situation. In diesen Fällen kommt es auf die Reihenfolge und Wiederholung der Blockausführung an, während die tatsächliche Zeitspanne in der realen Welt möglicherweise keine Rolle spielt.
Schrittmachermodellsimulation
Möglicherweise besteht die Anforderung, dass ein Modell mit einem Hardwaregerät interagiert, indem es eine bestimmte Operation in festgelegten Abständen der realen Zeit wiederholt. Ein Block könnte beispielsweise wiederholt Daten von einem Thermometer auslesen oder Trigger an einen externen Signalgenerator senden, um eine Impulsfolge auszugeben.
Durch die Einstellung des Blocks Sample time auf 0.1 wird die Ausführungsrate des Blocks nur während der Simulationszeit gesteuert. Um die Simulationszeit mit der Echtzeit zu korrelieren, kann man die Simulationsgeschwindigkeit anpassen, sodass die Simulation im Tempo der realen Zeit abläuft. Um auf das Dialogfeld „Simulation Pacing Options“ zuzugreifen, klicken Sie in der Symbolleiste Simulink auf der Registerkarte Simulation auf den Pfeil der Schaltfläche Run und wählen Sie dann Simulation Pacing aus.
Um die Simulation zu steuern, wählen Sie Enable pacing to slow down simulation. Standardmäßig beträgt das Verhältnis von Simulationszeit zu Echtzeit 1, was bedeutet, dass die Simulation eines Modells über eine Sekunde Simulationszeit so getaktet ist, dass sie ungefähr eine Sekunde Echtzeit in Anspruch nimmt.

Bei dieser Pacing-Einstellung entspricht ein Block Sample time von 0.1 ungefähr 0,1 Sekunden in der Wanduhr, was zu zehn Blockausführungen pro Sekunde führt. Ein Block, der alle 0,1 Simulationssekunden einen Geräteausgangsimpuls erzeugt, erzeugt nun 10 Impulse pro Sekunde im Wandtakt.
Informationen zu Fällen, die eine präzisere Zeitmessung auf die Wanduhr erfordern, finden Sie unter Real-Time Simulation and Testing.
Siehe auch
Tools
- Simulation Pacing Options (Simulink)
Themen
- Was ist Abtastzeit? (Simulink)