Hauptinhalt

Ein einfaches Modell erstellen

Mit Simulink® können Sie ein System modellieren und dann das dynamische Verhalten dieses Systems simulieren. In diesem Beispiel erstellen Sie ein einfaches Modell, die gleichen grundlegenden Verfahren können Sie jedoch verwenden, um komplexe Modelle zu erstellen. Im Beispiel wird die vereinfachte Bewegung eines Autos simuliert. Ein Auto ist in der Regel in Bewegung, wenn das Gaspedal betätigt wird. Wird das Pedal losgelassen, wird das Auto langsamer, kommt zum Stillstand und läuft im Leerlauf.

Ein Simulink-Block ist ein Modellelement, das eine mathematische Beziehung zwischen seiner Eingabe und Ausgabe definiert. Um dieses einfache Modell zu erstellen, benötigen Sie vier Simulink-Blöcke.

Name des BlocksZweck des BlocksZweck für das Modell
Pulse GeneratorEin Eingangssignal für das Modell generieren.Das Gaspedal darstellen.
GainDas Eingangssignal mit einem konstanten Wert multiplizieren.Berechnen, wie sich das Betätigen des Gaspedals auf die Beschleunigung des Autos auswirkt.
Second-Order IntegratorDas Eingangssignal zweimal integrieren.Position aus Beschleunigung ableiten.
OutportEin Signal als Ausgabe des Modells kennzeichnen.Die Position als Ausgabe des Modells kennzeichnen.

A Simulink model with Pulse Generator, Gain, Second-Order Integrator block, and two Outport blocks.

Beim Simulieren dieses Modells wird ein kurzer Puls zweimal integriert, um einen Anstieg zu erhalten. Der Eingangsimpuls stellt eine Betätigung des Gaspedals dar: 1, wenn das Pedal betätigt wird, und 0, wenn nicht. Der Anstieg am Ausgang ist die zunehmende Entfernung vom Startpunkt.

Neues Modell öffnen

Verwenden Sie den Simulink Editor, um Ihre Modelle zu erstellen.

  1. Starten Sie MATLAB®. Klicken Sie in der MATLAB-Symbolleiste auf die Simulink -Schaltfläche .

    The Simulink start page shows two tabs, New and Examples. The New tab is selected and shows a list of templates you can open.

  2. Wählen Sie die Vorlage Blank Model aus.

    Der Simulink Editor wird geöffnet.

    Um Überschneidungen zu vermeiden bzw. zu verhindern, dass mehrere Modelle mit demselben Namen gleichzeitig geöffnet sind, überprüft der Simulink-Editor die geladenen Modelle und Dateien im Pfad und erstellt ein Modell mit dem nächsten verfügbaren Namen: untitled, untitled1, untitled2 usw.

    Empty Simulink Editor

  3. Wählen Sie auf der Registerkarte Simulation die Option Save > Save as aus. Geben Sie im Textfeld File name einen Namen für Ihr Modell ein, z. B. simple_model. Klicken Sie auf Save. Das Modell wird mit der Dateierweiterung .slx gespeichert.

Simulink Library Browser öffnen

Simulink bietet eine Reihe von Blockbibliotheken, die nach Funktionalität im Library Browser organisiert sind. Diese Bibliotheken sind in den meisten Workflows üblich:

  • „Continuous“: Blöcke für Systeme mit stetigen Zuständen

  • „Discrete“: Blöcke für Systeme mit diskreten Zuständen

  • „Math Operations“: Blöcke, die algebraische und logische Gleichungen implementieren

  • „Sinks“: Blöcke, die die Signale, die an sie angeschlossen sind, speichern und anzeigen

  • „Sources“: Blöcke, die die Signalwerte generieren, die das Model ansteuern

Zum Öffnen des Library Browser klicken Sie auf der Simulink-Symbolleiste auf der Registerkarte Simulation auf Library Browser.

Library Browser

Um die Blockbibliotheken zu durchsuchen, erweitern Sie im Bibliotheksverzeichnis eine Bibliothek und ihre Unterbibliotheken.

Um alle verfügbaren Blockbibliotheken zu durchsuchen, geben Sie einen Suchbegriff ein. Beispiel: Sie suchen den Block Pulse Generator. Geben Sie im Suchfeld den Text pulse ein und drücken Sie dann die Eingabetaste. Die Software durchsucht die Bibliotheken nach Blöcken mit dem Text pulse im Namen oder in der Beschreibung und zeigt diese Blöcke dann auf der Registerkarte Search Results des Library Browser an. Sie können das Bibliotheksverzeichnis erneut durchsuchen, indem Sie auf die Registerkarte Library klicken.

The Simulink Library Browser displays the results for the search term pulse, which include Pulse Generator and Continuous Pulse Generator blocks.

Hinzufügen von Blöcken zu einem Modell

Um mit der Modellerstellung zu beginnen, fügen Sie dem Modell-Canvas Blöcke hinzu. Sie können Blöcke über den Library Browser oder das Menü „Schnelles Einfügen“ hinzufügen.

  1. Fügen Sie einen Pulse Generator-Block hinzu. Erweitern Sie im Verzeichnis des Library Browser die Simulink-Bibliothek. Erweitern Sie die Unterbibliothek „Sources“. Ziehen Sie den Pulse Generator-Block auf den Modell-Canvas.

    Pulse Generator block

  2. Fügen Sie einen Gain-Block hinzu. Doppelklicken Sie auf den Modell-Canvas. Das Menü „Quick Insert“ wird angezeigt. Geben Sie gain ein. Eine Liste mit Blöcken erscheint.

    Quick insert menu showing search results for "gain"

    Mehrere unterschiedliche Blöcke können denselben Namen tragen, sofern sie in verschiedenen Bibliotheksdateien gespeichert sind. Die Bibliotheken, denen ein Block angehört, sind unter dem Blocknamen aufgeführt. Prüfen Sie, ob der Gain-Block aus der Simulink-Bibliothek ausgewählt ist. Falls nicht, wählen Sie den Block mithilfe der Pfeiltasten oder durch Anklicken des Blocknamens aus.

    Um mehr über den ausgewählten Block zu erfahren, lesen Sie die Beschreibung im Details-Fensterbereich rechts neben den Suchergebnissen. Zur vollständigen Dokumentation für den Block gelangen Sie, indem Sie auf Documentation klicken. Beispiele, in denen der Block vorkommt, werden durch Klicken auf die Links unter Examples angezeigt. Um den Details-Fensterbereich ein- oder auszublenden, klicken Sie auf den Pfeil in der oberen rechten Ecke.

    Fügen Sie den ausgewählten Block zum Modell hinzu, indem Sie die Eingabetaste drücken oder auf die Auswahl doppelklicken.

    Gain block

  3. Fügen Sie diese Blöcke über den Library Browser oder das Menü „Quick Insert“ dem Modell hinzu.

    BlockBibliothek
    Out1Simulink-Bibliothek, Unterbibliothek „Sinks“
    Second-Order IntegratorSimulink-Bibliothek, Unterbibliothek „Continuous“

  4. Fügen Sie einen zweiten Out1-Block hinzu, indem Sie den vorhandenen Block kopieren und an einer anderen Stelle einfügen. Verwenden Sie dazu die Tastenkombinationen Strg+C und Strg+V (unter macOS verwenden Sie Befehl+C und Befehl+V). Jetzt enthält Ihr Modell die Blöcke, die Sie benötigen.

Blöcke verbinden

Verbinden Sie den:

  • Pulse Generator-Block mit dem Gain-Block.

  • Gain-Block mit dem Second-Order Integrator-Block.

  • Second-Order Integrator-Block mit den beiden Out1-Blöcken.

Beispielsweise, um den Block Pulse Generator mit dem Block Gain zu verbinden:

  1. Klicken Sie auf den Ausgabeport an der rechten Seite des Pulse Generator-Blocks.

    Der Ausgabeport und alle Eingabeports, die für eine Verbindung geeignet sind, werden durch ein blaues Winkelsymbol (>) angezeigt.

  2. Zeigen Sie auf das blaue Winkelsymbol (>), um den Verbindungshinweis zu sehen.

  3. Klicken Sie auf den Hinweis, um die Blöcke mit einer Linie und einem Pfeil, der die Richtung des Signalflusses angibt, zu verbinden.

Weitere Informationen über das Verbinden von Blöcken finden Sie unter Connect Blocks.

An animation shows how to connect the Pulse Generator block to the Gain block.

Sobald Sie die Blöcke verbunden haben, ordnen Sie die Blöcke Pulse Generator, Gain und Second-Order Integrator an, indem Sie sie einzeln verschieben. Um die Größe eines Blocks zu ändern, ziehen Sie eine Ecke.

Bei großen Modellen können Sie das Modelllayout mithilfe der automatischen Anordnung verbessern, anstatt die einzelnen Blöcke zu verschieben. Rechtsklicken Sie auf den Modell-Canvas. Das Kontextmenü Top Model erscheint. In Simulink-Kontextmenüs befinden sich Formatierungsoptionen wie das Ändern der Farbe oder Schriftart oder das automatische Anordnen des Modells in der Formatleiste. Um die Formatleiste zu erweitern, klicken Sie oben im Menü auf den Pfeil . Klicken Sie dann auf die Schaltfläche „Auto Arrange“ (Automatisch anordnen) .

Top Model context menu with the format bar expanded

Tipp

Um einen Tooltip anzuzeigen, der erklärt, welche Aktion Sie durch Drücken einer Kontextmenü-Schaltfläche ausführen können, fahren Sie mit dem Mauszeiger über das Symbol der jeweiligen Schaltfläche.

The Top Model context menu is open with the format bar expanded. The pointer is paused on the Auto Arrange button, and next to the button is a tooltip with the text "Auto Arrange".

„Auto Arrange“ richtet die Blöcke aus und begradigt die Signalleitungen.

Block diagram after auto-arrange

Blockparameterwerte bearbeiten

Blöcke haben Parameterwerte, die Sie ändern können. Informationen darüber, welche Parameter Sie bei einem Block ändern können und welche Art von Werten die Parameter annehmen, finden Sie in der Dokumentation des jeweiligen Blocks. Rechtsklicken Sie auf den Block, und klicken Sie in der oberen rechten Ecke des Kontextmenüs auf die Schaltfläche zum Öffnen der Hilfedokumentation .

Bei einigen Blöcken, z. B Constant- oder Gain-Blöcken, können Sie Parameterwerte direkt auf der Oberfläche des Blocks ändern. Ändern Sie den Verstärkungswert des Gain-Blocks im Beispielmodell auf 2. Wählen Sie den Block aus, klicken Sie auf den Wert auf dem Block, geben Sie den neuen Wert ein und drücken Sie dann die Eingabetaste.

Sie können den Verstärkungswert auch im Dialogfeld „Block Parameters“ ändern. Doppelklicken Sie auf den Block, um das Dialogfeld „Block Parameters“ zu öffnen. Alternativ können Sie auch auf den Block rechtsklicken und dann auf die Schaltfläche „Block Parameters“ klicken. Ändern Sie in dem sich öffnenden Dialogfeld den Gain-Wert auf 2 und drücken Sie die Eingabetaste.

Block parameters dialog box with the Gain value set to 2

Eine dritte Möglichkeit ist die Verwendung von Property Inspector. Wählen Sie den Gain-Block aus. Drücken Sie zum Öffnen von Property Inspector auf Strg+Umschalt+I (bzw. unter macOS auf Befehl+Option+O). Alternativ können Sie auch auf den Block rechtsklicken und dann auf die Schaltfläche „Property Inspector“ klicken. Ändern Sie in Property Inspector auf der Registerkarte Parameters den Gain-Wert auf 2.

Parameterwerte, die nicht auf dem Blocksymbol angezeigt werden, können Sie über das Dialogfeld „Block Parameters“ oder den Property Inspector ändern. Wenn Sie den Namen eines Parameters, dessen Wert Sie ändern möchten, nicht im Dialogfeld „Block Parameters“ sehen, versuchen Sie es im Property Inspector und umgekehrt.

Simulation ausführen

Geben Sie den Endzeitpunkt für die Simulation ein. Simulieren Sie im Anschluss das Modell.

  1. Legen Sie auf der Registerkarte Simulation den Endzeitpunkt der Simulation fest. Geben Sie im Simulink-Toolstrip auf der Registerkarte Simulation den Wert in das Textfeld Stop Time ein.

    Simulation stop time is displayed on the Simulation tab of the toolstrip

    Der Standardwert 10.0 für den Endzeitpunkt ist für dieses Modell geeignet. Dieser Zeitwert hat keine Einheiten. Die Zeiteinheit in einer Simulink-Simulation hängt davon ab, wie die Gleichungen aufgebaut sind. Dieses Beispiel simuliert die vereinfachte Bewegung eines Autos für 10 Sekunden, aber andere Modelle könnten Zeiteinheiten in Millisekunden oder Jahren haben.

  2. Um das Modell zu simulieren, drücken Sie auf Strg+T (unter macOS auf Befehl+T). Alternativ können Sie in der Symbolleiste auf der Registerkarte Simulation auf Run klicken.

Simulationsdaten anzeigen

Um die Simulationsergebnisse im Simulation Data Inspector anzuzeigen, rechtsklicken Sie auf eine der Signalleitungen und klicken Sie daraufhin auf die Schaltfläche „View in Data Inspector“ (Im Dateninspektor anzeigen) .

Um Daten in Simulation Data Inspector zu plotten, wählen Sie Signale aus der Checkliste auf der linken Seite aus. Um beispielsweise die Position des Autos darzustellen, wählen Sie das Signal mit dem Namen Out1:1 aus.

The Simulation Data Inspector shows the position of the car in a time plot.

Modell verfeinern

Sie können ein Modell verfeinern, indem Sie die Blockparameter ändern, neue Blöcke hinzufügen, neue Verbindungen herstellen und Signalleitungen beschriften.

Blockparameter ändern

In diesem Beispiel wird ein Näherungssensor-Modell auf der Grundlage eines vorhandenen Bewegungsmodells namens moving_car verwendet.

In diesem Szenario misst ein digitaler Sensor die Entfernung zwischen dem Auto und einem 10 m (30 Fuß) entfernten Hindernis. Das Modell gibt die Sensormessung und die Position des Autos aus, wobei es die folgenden Bedingungen berücksichtigt:

  • Wenn das Auto das Hindernis erreicht, kommt es abrupt zum Stillstand.

  • In der Realität misst ein Sensor die Entfernung ungenau, was zu numerischen Zufallsfehlern führt.

  • Ein digitaler Sensor arbeitet mit festen Zeitintervallen.

Öffnen Sie das Modell moving_car.

open_system("moving_car.slx");

Sie müssen zuerst den abrupten Stillstand modellieren, wenn das Auto die Position 10 erreicht. Der „Integrator, Second-Order-Block“ besitzt einen Parameter für diesen Zweck.

  1. Doppelklicken Sie auf den „Integrator, Second-Order“-Block. Das Dialogfeld „Block Parameters“ wird angezeigt.

  2. Wählen Sie Limit x aus und geben Sie 10 für Upper limit x ein. Die Hintergrundfarbe für den Parameter ändert sich, um eine Änderung anzuzeigen, die nicht auf das Modell angewendet wurde. Klicken Sie auf OK, um die Änderungen anzuwenden und das Dialogfeld zu schließen.

Neue Blöcke und Verbindungen hinzufügen

Passen Sie das Modell an, um einen Sensor hinzuzufügen, der den Abstand zum Hindernis misst. Erweitern Sie das Modellfenster, damit es die neuen Blöcke aufnehmen kann.

  • Um die Entfernung zwischen dem Fahrzeug und der Hindernisposition zu ermitteln, fügen Sie einen Constant-Block aus der Bibliothek „Sources“ hinzu und setzen Sie den Wert des Blocks auf 10. Um die Entfernung zwischen der Position des Hindernisses und der Position des Fahrzeugs zu ermitteln, fügen Sie den Subtract-Block aus der Bibliothek „Math Operations“ hinzu.

  • Um die unvollkommenen Messungen eines echten Sensors zu simulieren, fügen Sie dem Modell Rauschen hinzu, indem Sie den Band-Limited White Noise-Block aus der Bibliothek „Sources“ verwenden. Doppelklicken Sie auf den Block, um den Parameter Noise power auf 0.001 zu setzen. Fügen Sie das Rauschen zur Entfernungsmessung hinzu, indem Sie einen Add-Block aus der Bibliothek „Math Operations“ verwenden.

  • In Simulink ist für die Abtastung eines Signals in einem bestimmten Intervall das Abtasten und Halten erforderlich. Fügen Sie den Zero-Order Hold-Block aus der Bibliothek „Discrete“ hinzu. Doppelklicken Sie dann auf den Block, um den Parameter Sample Time in 0.1 zu ändern.

  • Um die Sensorausgabe zu protokollieren, verbinden Sie den Zero-Order Hold-Block mit einem weiteren Outport-Block.

Verbinden Sie die neuen Blöcke. Der Ausgang des Second-Order Integrator-Blocks ist bereits mit einem anderen Port verbunden. Um in diesem Signal eine Verzweigung zu erstellen, klicken Sie mit der linken Maustaste auf das Signal, um die für die Verbindung infrage kommenden Ports hervorzuheben, und klicken dann auf den entsprechenden Port.

The original model connected to a sensor to measure the distance between the car and an obstacle.

Signale kommentieren

Fügen Sie Signalnamen zum Modell hinzu.

  1. Doppelklicken Sie auf das Signal und geben Sie den Signalnamen ein.

    A highlighted signal is labeled pedal position

  2. Zum Beenden brauchen Sie nur auf eine Stelle außerhalb des Textfeldes zu klicken.

  3. Wiederholen Sie diese Schritte, um die Namen gemäß der Abbildung hinzuzufügen.

    Model with named signals. The signal between Pulse Generator block and the Gain block is named pedal position. The signal between the Gain block and the Integrator, Second-Order block is named acceleration. The signal between the Subtract block and the Add block is named actual distance. The signal between the Zero-Order Hold block and the Outport block is named measured distance. The signal between the first output port of the Integrator, Second-Order block and the first Outport block is named position. The signal between the second output port of the Integrator, Second-Order block and the second Outport block is named velocity.

Mehrere Signale anzeigen

Vergleichen Sie das Signal actual distance mit dem Signal measured distance. Das measured distance-Signal wird als Ausgabe protokolliert. Um das actual distance-Signal zu protokollieren, können Sie es für die Signalprotokollierung markieren. Rechtsklicken Sie auf die Signalleitung und klicken Sie daraufhin auf die Schaltfläche „Log Signals“ . Ein Protokollierungszeichen zeigt an, dass das Signal für die Protokollierung markiert ist.

Simulieren Sie das Modell. Um die Simulationsergebnisse im Simulation Data Inspector anzuzeigen, rechtsklicken Sie auf die Signalleitung und klicken Sie daraufhin auf die Schaltfläche „View in Data Inspector“ (Im Dateninspektor anzeigen) . Erweitern Sie die Checklisten Outports und Signals. Wählen Sie die Signale actual distance und measured distance aus, um beide Signale im selben Zeitdiagramm darzustellen.

The Simulation Data Inspector shows the actual distance and the measured distance values.

Im Diagramm wird sichtbar, dass die Messung um bis zu 0,3 m vom tatsächlichen Wert abweichen kann. Diese Informationen sind nützlich, wenn es um die Entwicklung von Sicherheitsfunktionen wie z. B. einer Kollisionswarnung geht.

Signale in separaten Teildiagrammen anzeigen

Sie können die Ergebnisse auch analysieren, indem Sie Signale in separaten Teildiagrammen anzeigen. Sie können beispielsweise Teildiagramme für die Signale pedal position und velocity hinzufügen, um die Beziehung zwischen der Pedalstellung, der Geschwindigkeit des Fahrzeugs und dem Abstand zwischen dem Fahrzeug und dem Hindernis darzustellen.

Markieren Sie das Signal pedal position für die Signalprotokollierung. Rechtsklicken Sie auf die Signalleitung pedal position und klicken Sie daraufhin auf die Schaltfläche „Log Signals“ .

Simulieren Sie das Modell. Klicken Sie im Simulation Data Inspector auf Visualisierungen und Layouts , wenn die Simulation beendet ist. Erstellen Sie dann ein 3×1-Layout, indem Sie die Anzahl der Zeilen und Spalten im Raster angeben.

The Visualizations and layouts menu. In the Grid section, the number of rows is specified as 3 and the number of columns is specified as one.

Fügen Sie das Signal velocity zum mittleren Teildiagramm und das Signal pedal position zum unteren Teildiagramm hinzu. Um einem Teildiagramm ein Signal hinzuzufügen, wählen Sie das Teildiagramm aus und wählen Sie dann das Signal aus der Signaltabelle aus.

The Simulation Data Inspector with three vertically aligned subplots. The top subplot shows the actual and measured distance of the car from the obstacle. The middle subplot shows the velocity. The bottom subplot shows the gas pedal position.

Durch die Visualisierung der Daten auf drei Teildiagrammen können Sie sehen, wie sich das Betätigen des Gaspedals auf die Geschwindigkeit des Fahrzeugs und seinen Abstand zum Hindernis auswirkt. Um dies weiter zu untersuchen, können Sie das Verhalten des Gaspedals ändern, indem Sie die Parameter des Pulse Generator-Blocks anpassen. Doppelklicken Sie auf den Block, um das Dialogfeld für die Blockparameter des Blocks Pulse Generator zu öffnen. Modellieren Sie beispielsweise das Betätigen des Gaspedals für eine Sekunde zweimal, indem Sie Period auf 5 und Pulse Width auf 20 einstellen.

Simulieren Sie das Modell. Drücken Sie im Simulation Data Inspector die Leertaste, um die Signale an die Ansicht anzupassen.

The Simulation Data Inspector with three vertically aligned subplots with data from a simulation that models pressing the gas pedal for one second twice. The top subplot shows the actual and measured distance of the car from the obstacle. The middle subplot shows the velocity. The bottom subplot shows the gas pedal position.

Im Simulation Data Inspector können Sie die Daten weiter untersuchen, indem Sie das Aussehen der Darstellung und des Signals anpassen, zoomen und schwenken und Daten-Cursor hinzufügen. Weitere Informationen finden Sie unter Create Plots Using the Simulation Data Inspector.

Siehe auch

Blöcke

Tools

Themen