Hauptinhalt

Die Übersetzung dieser Seite ist veraltet. Klicken Sie hier, um die neueste Version auf Englisch zu sehen.

Implementierung von Verhaltensweisen für die Architekturmodellsimulation

Ein grundlegender Systemtechnik-Workflow in System Composer™ umfasst die Erstellung eines Architektursystems, die Definition von Anforderungen, das Hinzufügen von Metadaten, die Durchführung von Analysen und die Darstellung der Architektur durch Ansichten. Nachdem Sie diese Schritte durchgeführt haben, entspricht Ihr Systemdesign besser den Zielen der Stakeholder und den Anforderungen der Kunden.

Sie können nun auch mit dem Design der eigentlichen Systemkomponenten beginnen, indem Sie Simulink®, Stateflow® und Simscape™ verwenden. Mit dem Model-Based Design-Prozess können Sie das Verhalten einer Komponente vollständig spezifizieren, testen und analysieren.

Weitere Informationen zum Model-Based Systems Engineering Workflow in System Composer finden Sie unter Entwerfen und Analyse von Systemen mithilfe von Architekturmodellen.

In diesem Tutorial führen Sie diese Schritte am Modell der Roboterarmarchitektur durch.

Architekturmodell eines Roboterarms

Öffnen Sie das Architekturmodell eines Roboterarms, der aus Sensoren, Bewegungsaktuatoren und einem Planungsalgorithmus besteht. Mit System Composer können Sie die Schnittstellen anzeigen und die Anforderungen für dieses Modell verwalten.

Referenzieren des Simulink-Verhaltensmodells in einer Komponente

Wenn eine Komponente keine weitere architektonische Zerlegung erfordert, können Sie die Modellsimulation und einen durchgängigen Workflow aktivieren. Um die Modellsimulation zu ermöglichen, implementieren Sie Simulink-Verhaltensweisen für Komponenten. Sie können ein Simulink-Modell mit einer Komponente oder mit einem vorhandenen Simulink-Modell oder Subsystem verknüpfen.

  1. Wählen Sie die Komponente Motion aus. Navigieren Sie zu Modeling > Create Simulink Behavior. Rechtsklicken Sie alternativ auf die Komponente Motion, wählen Sie Create Behavior und anschließend Simulink Behavior.

  2. Wählen Sie aus der Type-Liste die Option Model Reference aus. Geben Sie den Modellnamen MotionSimulink an. Der Standardname ist der Name der Komponente.

    Create Simulink Behavior dialog box with the new model reference name, MotionSimulink.

  3. Klicken Sie auf OK. Eine neue Simulink-Modelldatei mit dem angegebenen Namen wird im aktuellen Ordner erstellt. Die Ports auf der Stammebene des Simulink-Modells entsprechen den Ports der Komponente. Die Komponente im Architekturmodell ist mit dem Simulink-Modell verknüpft. Das Symbol Simulink auf der Komponente zeigt an, dass die Komponente ein Simulink-Verhalten aufweist.

    Hinweis

    Um das Modellverhalten zu entfernen, rechtsklicken Sie auf die verknüpfte Komponente Motion und wählen Sie Inline Model.

    The motion component with referenced Simulink model showing a Simulink base model inside with input ports and output ports designated

  4. Um die Schnittstellen am Port SensorData, die in Simulink-Buselemente umgewandelt wurden, anzuzeigen, doppelklicken Sie auf den Port in Simulink.

    Sensor data bus element properties

Sie können auch von einer Simulink-Komponente aus auf ein vorhandenes System Composer-Verhaltensmodell verweisen, vorausgesetzt, die Komponente ist nicht bereits mit einer Referenzarchitektur verknüpft. Rechtsklicken Sie auf die Komponente und wählen Sie Link to Model. Sie können den Namen eines Simulink-Modells eingeben oder danach suchen.

Sie können ein referenziertes Simulink-Subsystemverhalten auch mit einer Komponente verknüpfen. Verwenden Sie Subsystemreferenzen, um Simulink- oder Simscape-Verhalten mit physischen Ports, Verbindungen und Blöcken zu erstellen.

  1. Wählen Sie die Komponente Motion aus. Navigieren Sie zu Modeling > Create Simulink Behavior. Rechtsklicken Sie alternativ auf die Komponente Motion, wählen Sie Create Behavior und anschließend Simulink Behavior.

  2. Wählen Sie aus der Type-Liste die Option Subsystem Reference aus. Geben Sie den Modellnamen MotionSubsystem an. Der Standardname ist der Name der Komponente.

    Create Simulink Behavior dialog box with the new subsystem reference name, MotionSubsystem.

  3. Klicken Sie auf OK. Eine neue Simulink-Subsystemdatei mit dem angegebenen Namen wird im aktuellen Ordner erstellt. Die Ports auf der Stammebene des Simulink-Subsystems spiegeln die Ports der Komponente wider. Die Komponente im Architekturmodell ist mit dem Simulink-Subsystem verknüpft. Das Symbol Subsystem auf der Komponente zeigt an, dass die Komponente ein Simulink-Subsystemverhalten aufweist.

    Motion component as a subsystem reference component

Hinzufügen von Stateflow-Diagrammverhalten zur Komponente

Um die ereignisbasierte Modellierung mit Zustandsmaschinen zu implementieren, fügen Sie einer Komponente das Stateflow-Diagrammverhalten hinzu. Statecharts bestehen aus einer endlichen Menge von Zuständen mit Übergängen zwischen ihnen, um die Betriebsarten der Komponente zu erfassen. Für diese Funktion ist eine Stateflow-Lizenz erforderlich.

Eine System Composer-Komponente mit Stereotypen, Schnittstellen, Anforderungsverknüpfungen und Ports bleibt erhalten, wenn Sie das Stateflow Chart (Stateflow)-Verhalten hinzufügen.

  1. Rechtsklicken Sie auf die Komponente Sensor, wählen Sie Create Behavior und anschließend Stateflow Behavior. Alternativ können Sie die Sensor-Komponente auswählen und dann zu Modeling > Create Stateflow Chart Behavior navigieren.

  2. Doppelklicken Sie auf die Komponente Sensor, die das Stateflow-Symbol aufweist. Klicken Sie im Modeling-Menü auf Symbols Pane, um die Stateflow-Symbole anzuzeigen. Der Eingabeport Encoder wird im Symbolfenster als Eingabedaten angezeigt, der Ausgabeport SensorData als Ausgabedaten.

    Sensor state chart with symbols.

  3. Wählen Sie die Ausgabe SensorData aus und zeigen Sie die Schnittstelle im Property Inspector an. Sie können auf diese Schnittstelle wie auf ein Simulink-Bussignal zugreifen.

    The interface named sensor data is shown as a bus.

Entwerfen einer Softwarearchitektur in Komponenten

Um eine Softwarearchitektur zu entwerfen, die Reihenfolge der Funktionsausführung zu definieren, zu simulieren und Code zu generieren, erstellen Sie eine Softwarearchitektur aus einer System Composer-Komponente.

  1. Benennen Sie die Komponente Trajectory Planning in TrajectoryPlanning um, damit dies ein gültiger C Variablenname ist.

  2. Rechtsklicken Sie auf die Komponente TrajectoryPlanning, wählen Sie Create Architecture und anschließend Software Architecture oder navigieren Sie zu Modeling > Create Software Architecture Model.

  3. Geben Sie den Namen der Softwarearchitektur als TrajectorySoftware an. Klicken Sie auf OK.

    Create a software architecture model named Trajectory Software from a component.

  4. Das Softwarearchitekturmodell TrajectorySoftware.slx wird aus der Komponente TrajectoryPlanning referenziert.

    Trajectory planning component has a trajectory software architecture model reference.

  5. Doppelklicken Sie auf die Komponente TrajectoryPlanning, um mit der Softwarekomponente TrajectorySoftware zu interagieren.

    Trajectory software component.

Darstellung von Systeminteraktionen mithilfe von Sequenzdiagrammen

Um die Interaktion zwischen strukturellen Elementen einer Architektur als Abfolge von Nachrichtenaustauschen darzustellen, verwenden Sie ein Sequenzdiagramm in der Architecture Views Gallery.

Betrachten Sie das Modell der Roboterarm-Architektur, das aus Komponenten, Anschlüssen, Verbindungen und Verhaltensweisen besteht. Die Ergebnisse der Modellsimulation müssen mit den Interaktionen innerhalb der Sequenzdiagramme übereinstimmen.

The robot arm model with a software architecture, state chart, and Simulink behavior.

  1. Erstellen Sie ein neues Sequenzdiagramm, indem Sie zu Modeling > Sequence Diagram navigieren. Die Architecture Views Gallery wird geöffnet. Um ein neues Sequenzdiagramm zu erstellen, klicken Sie auf new New > Sequence Diagram.

  2. Im View Browser wird ein neues Sequenzdiagramm mit dem Namen SequenceDiagram1 erstellt, und die Registerkarte Sequence Diagram wird aktiv. Benennen Sie unter Sequence Diagram Properties das Sequenzdiagramm RobotArmSequence um.

  3. Wählen Sie Component > Add Lifeline button, um eine Lifeline hinzuzufügen. Eine neue Lifeline ohne Namen wird erstellt und durch eine gepunktete Linie angezeigt.

  4. Klicken Sie auf den Abwärtspfeil und wählen Sie Sensor. Fügen Sie eine zweite Lifeline mit dem Namen Motion hinzu.

  5. Wählen Sie die vertikale gepunktete Linie für die Sensor-Lifeline aus. Klicken und ziehen Sie sie zur Motion-Lifeline. Geben Sie im Feld To zunächst Sensordata ein und wählen Sie dann SensorData aus dem Dropdown-Menü aus. Es wird eine Nachricht vom SensorData-Port der Sensor-Komponente an den SensorData-Port der Motion-Komponente erstellt.

  6. Klicken Sie auf die Nachricht, um zu sehen, wo die Nachrichtenbedingung platziert werden soll. Geben Sie eine Bedingung für die Nachrichtenauslösung in der folgenden Form ein:

    rising(SensorData.distance1-1)

    Der Signalname ist ein Datenelement auf einer Datenschnittstelle. Die Nachricht wird beim Nulldurchgang erkannt, wenn der Wert von SensorData.distance1 auf 1 steigt.

Finished sequence diagram.

Siehe auch

Themen