Hauptinhalt

Ein einfaches Modell erstellen

Mit Simulink® können Sie ein System modellieren und dann das dynamische Verhalten dieses Systems simulieren. Die grundlegenden Verfahren, die Sie in diesem Tutorial zum Erstellen eines einfachen Modells verwenden, sind die gleichen wie bei komplexeren Modellen. In diesem 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, rollt das Auto aus und kommt zum Stillstand.

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 generierenDas Gaspedal darstellen
GainDas Eingangssignal mit einem konstanten Wert multiplizierenBerechnen, wie sich das Betätigen des Gaspedals auf die Beschleunigung des Autos auswirkt
Second-Order IntegratorDas Eingangssignal zweimal integrierenPosition aus Beschleunigung ableiten
OutportEin Signal als Ausgabe des Modells kennzeichnenDie 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 Impuls der Eingabe entspricht dem Drücken des Gaspedals: 1, wenn das Pedal gedrückt wird, und 0, wenn es nicht gedrückt wird. 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. Klicken Sie auf die Vorlage Blank Model.

    Der Simulink Editor wird geöffnet.

    Um Überschneidungen zu vermeiden, ü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. Klicken Sie auf der Registerkarte Simulation auf Save > Save as. 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 Kategorie und dann einen Funktionsbereich.

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.

Tipp

Sie können das Bibliotheksverzeichnis erneut durchsuchen, indem Sie auf Library Tab klicken.

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

Rufen Sie detaillierte Informationen über einen Block ab. Rechtsklicken Sie auf der Registerkarte Search Results auf den Block Pulse Generator und wählen Sie dann Help for the Pulse Generator block aus. Die Dokumentation wird geöffnet und zeigt die Referenzseite für diesen Block an.

Blöcke besitzen in der Regel mehrere Parameter. Bei den meisten Blöcken können Sie auf die Blockparameter zugreifen, indem Sie auf den Block doppelklicken.

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 zunächst über den Library Browser einen Pulse Generator-Block hinzu.

    Ziehen Sie mit der Maus den Pulse Generator-Block aus der Sources-Bibliothek zum Simulink Editor. Ein Pulse Generator-Block mit dem Standardwert 1 für den Parameter Amplitude wird Ihrem Modell hinzugefügt.

    The Pulse Generator block with a default value of 1 for the Amplitude parameter.

    Parameterwerte bleiben während der Simulation erhalten.

  2. Fügen Sie über das Menü „Quick Insert (Schnelles Einfügen)“ einen Outport-Block hinzu.

    Double-click anywhere in the model canvas. In the quick insert menu that appears, enter out. A list of blocks appears. Verify that the Outport block from the Simulink library is selected. Check the library name listed under the block name and the block description in the details pane to the right of the search results.

    Tipp

    Um den Details-Fensterbereich zu verbergen, klicken Sie auf den Pfeil . Um den Details-Fensterbereich anzuzeigen, klicken Sie erneut auf den Pfeil.

    Quick insert menu with the keyword "out" displayed in the search text box

    Fügen Sie den Outport-Block zum Modell hinzu, indem Sie auf Enter drücken.

    Weitere Informationen zum Menü „Schnelles Einfügen“ finden Sie unter Add Blocks to Models Using Quick Insert Menu.

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

    BlockBibliothekParameter
    GainSimulink/Mathematische Operationen

    „Gain“ (Verstärkung): 2

    Second-Order IntegratorSimulink/kontinuierlich

    „Initial condition“ (Anfangsbedingung): 0

    Fügen Sie einen zweiten Outport-Block hinzu, indem Sie mithilfe von Tastenkombinationen den vorhandenen Block kopieren und an einer anderen Stelle einfügen.

    Jetzt enthält Ihr Modell die Blöcke, die Sie benötigen.

  4. Ordnen Sie die Blöcke nach Bedarf an, indem Sie sie einzeln mit der Maus anklicken und verschieben. Um die Größe eines Blocks zu ändern, ziehen Sie eine Ecke.

    Arranged blocks from left to right.

Blöcke verbinden

Verbinden Sie die Blöcke, indem Sie Linien zwischen Eingabeports und Ausgabeports erstellen. Speichern Sie dann Ihr Modell.

  • Verbinden Sie den Ausgabeport des Blocks Pulse Generator mit dem Eingabeport des Blocks Gain.

  • Verbinden Sie den Ausgabeport des Blocks Gain mit dem Eingabeport des Blocks Second-Order Integrator.

  • Verbinden Sie die zwei Ausgänge des Second-Order Integrator-Blocks mit den zwei Outport-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 port hint symbol angezeigt.

  2. Um das Verbindungszeichen zu sehen, zeigen Sie auf das blaue Winkelsymbol port hint symbol.

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

Diese Animation zeigt, wie Sie Blöcke in Ihrem Modell verbinden.

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

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, klicken Sie auf Run .

Simulationsdaten anzeigen

Um die Simulationsergebnisse im Simulation Data Inspector anzuzeigen, klicken Sie auf Data Inspector .

Um Daten im Simulation Data Inspector zu plotten, wählen Sie Signale aus der Tabelle 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

Blockparameter ändern

In diesem Beispiel wird ein Näherungssensor-Modell auf der Grundlage eines vorhandenen Bewegungsmodells, 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 Sources-Bibliothek hinzu und setzen 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 Sources-Bibliothek 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 Math Operations-Bibliothek 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.

  1. Wählen Sie das Signal im Modell aus.

  2. Klicken Sie auf der Registerkarte Simulation auf 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, klicken Sie auf Data Inspector . Wählen Sie die Signale actual distance und measured distance aus, um beide Signale auf demselben 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.

Rechtsklicken Sie im Modell auf das Signal pedal position und wählen Sie Log Selected signals aus, um das Signal pedal position für die Signalprotokollierung zu markieren. Simulieren Sie dann das Modell.

Klicken Sie im Simulation Data Inspector auf Visualisierungen und Layouts . 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