Main Content

Simulink-Blockdiagramme

Simulink® ist eine Umgebung für die grafische Modellierung und Simulation dynamischer Systeme. Sie können Blockdiagramme erstellen, in denen Blöcke bestimmte Teile eines Systems darstellen. Ein Block kann eine physische Komponente, ein kleines System oder eine Funktion repräsentieren. Ein Block wird durch eine Eingabe/Ausgabe-Beziehung vollständig charakterisiert. Hier sind einige Beispiele:

  • Ein Wasserhahn füllt einen Eimer: Das Wasser fließt mit einer bestimmten Durchflussgeschwindigkeit in den Eimer, der dadurch immer schwerer wird. Der Eimer kann durch einen Block dargestellt werden, bei dem die Durchflussgeschwindigkeit die Eingabe und das Gewicht des Eimers die Ausgabe ist.

  • Sie verwenden ein Megafon, damit Ihre Stimme zu hören ist: Der Schall, der an dem einen Ende des Megafons erzeugt wird, wird an dem anderen Ende verstärkt. Das Megafon ist der Block, die Eingabe ist die Schallwelle an ihrer Quelle und die Ausgabe ist die Schallwelle, die Sie hören.

  • Sie schieben einen Wagen und er bewegt sich: Der Wagen ist der Block, die Kraft, die Sie ausüben, ist die Eingabe und die Position des Wagens ist die Ausgabe.

Die Definition eines Blocks ist nur mit seinen definierten Eingaben und Ausgaben vollständig. Diese Aufgabe bezieht sich auf das Ziel des Modells. Zum Beispiel kann die Geschwindigkeit des Wagens eine naheliegende Wahl als Ausgabe sein, wenn die Position des Wagens beim Modellierungsziel keine Rolle spielt.

Simulink stellt Blockbibliotheken bereit, bei denen es sich um Sammlungen von Blöcken handelt, die nach Funktionalität gruppiert sind. Zum Beispiel verwenden Sie zum Modellieren eines Megafons, das seine Eingabe mit einer Konstanten multipliziert, einen Gain-Block aus der Bibliothek Math Operations.

Gain block

Eine Schallwelle gelangt als Eingabe in das Megafon hinein und als Ausgabe kommt eine lautere Version der Schallwelle heraus.

Die >-Zeichen kennzeichnen die Eingaben und Ausgaben eines Blocks, die mit anderen Blöcken verbunden sein können.

Sine waves appear to the right and to the left of a Gain block with a value of 2.

Sie können Blöcke mit anderen Blöcken verbinden, um Systeme zu bilden und eine komplexere Funktionalität darzustellen. Zum Beispiel verwandelt ein Audioplayer eine digitale Datei in Schall. Eine digitale Darstellung wird aus dem Speicher gelesen, mathematisch interpretiert und dann in Schall verwandelt. Die Software, die die digitale Datei verarbeitet, um die Schallwellenform zu berechnen, kann ein Block sein. Der Lautsprecher, der die Schallwellenform in Schall verwandelt, kann ein anderer Block sein. Eine Komponente, die die Eingabe generiert, ist ein weiterer Block.

Um die Sinuswelleneingabe für das Megafon in Simulink zu modellieren, müssen Sie eine Sine Wave-Quelle einfügen.

A Sine Wave block connects to a Gain block.

Die primäre Funktion von Simulink ist das Simulieren des Verhaltens von Systemkomponenten im Zeitverlauf. In ihrer einfachsten Form besteht die Aufgabe darin, mit einer Uhr die Zeit zu messen, die Reihenfolge zu bestimmen, in der die Blöcke simuliert werden müssen, und die Ausgaben, die im Blockdiagramm berechnet wurden, an den nächsten Block weiterzugeben. Beim Beispiel mit dem Megafon muss Simulink bei jedem Zeitschritt den Wert der Sinuswelle berechnen, ihn an das Megafon weitergeben und dann den Wert der Ausgabe berechnen.

The time t=1. Sine waves appear to the left and right of a Gain block with a value of 2. The portion of the sine wave that has been traversed when the simulation time reaches t=1 is highlighted in blue.

Bei jedem Zeitschritt berechnet jeder Block aus seinen Eingaben seine Ausgaben. Sobald alle Signale in einem Diagramm bei einem bestimmten Zeitschritt berechnet wurden, bestimmt Simulink den nächsten Zeitschritt (basierend auf der Modellkonfiguration und auf numerischen Solver-Algorithmen) und lässt die Simulationsuhr um einen Zeitschritt vorrücken. Danach berechnet jeder Block seine Ausgabe für diesen neuen Zeitschritt.

The time is t=2. The portion of the sine wave that has been traversed when the simulation time reaches t=2 is highlighted in blue.

In Simulationen schreitet die Zeit anders voran als bei einer realen Uhr. Jeder Zeitschritt nimmt so viel Zeit in Anspruch, wie es dauert, die Berechnungen für diesen Zeitschritt abzuschließen. Ein Zeitschritt kann also den Bruchteil einer Sekunde oder auch Jahre umfassen.

Häufig wirkt sich die Eingabe einer Komponente nicht sofort auf ihre Ausgabe aus. Zum Beispiel führt das Einschalten eines Heizelements nicht zu einer sofortigen Änderung der Temperatur. Vielmehr liefert diese Aktion eine Eingabe für eine Differenzialgleichung. Der Verlauf der Temperatur (ein Zustand) ist auch ein Faktor. Wenn in der Simulation eine Differenzial- oder Differenzengleichung gelöst werden muss, setzt Simulink eine bestimmte Speicherkapazität und numerische Solver zum Berechnen der Zustandswerte für den Zeitschritt ein.

Simulink verarbeitet Daten in drei Kategorien:

  • Signale: Block-Eingaben und -Ausgaben, die während der Simulation berechnet werden

  • Zustände: Interne Werte, die die Dynamik des Blocks darstellen und während der Simulation berechnet werden

  • Parameter: Werte, die sich auf das Verhalten eines Blocks auswirken und durch den Benutzer gesteuert werden

Bei jedem Zeitschritt berechnet Simulink neue Werte für Signale und Zustände. Parameter werden hingegen beim Erstellen des Modells von Ihnen festgelegt und können auch gelegentlich geändert werden, während die Simulation läuft.

Verwandte Themen