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.
Wählen Sie die Komponente
Motion
aus. Navigieren Sie zu Modeling > Create Simulink Behavior. Rechtsklicken Sie alternativ auf die KomponenteMotion
, wählen SieCreate Behavior
und anschließendSimulink Behavior
.Wählen Sie aus der Type-Liste die Option
Model Reference
aus. Geben Sie den ModellnamenMotionSimulink
an. Der Standardname ist der Name der Komponente.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
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.Um die Schnittstellen am Port SensorData, die in Simulink-Buselemente umgewandelt wurden, anzuzeigen, doppelklicken Sie auf den Port in Simulink.
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.
Wählen Sie die Komponente
Motion
aus. Navigieren Sie zu Modeling > Create Simulink Behavior. Rechtsklicken Sie alternativ auf die KomponenteMotion
, wählen SieCreate Behavior
und anschließendSimulink Behavior
.Wählen Sie aus der Type-Liste die Option
Subsystem Reference
aus. Geben Sie den ModellnamenMotionSubsystem
an. Der Standardname ist der Name der Komponente.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
auf der Komponente zeigt an, dass die Komponente ein Simulink-Subsystemverhalten aufweist.
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.
Rechtsklicken Sie auf die Komponente
Sensor
, wählen SieCreate Behavior
und anschließendStateflow Behavior
. Alternativ können Sie dieSensor
-Komponente auswählen und dann zu Modeling > Create Stateflow Chart Behavior navigieren.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.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.
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.
Benennen Sie die Komponente
Trajectory Planning
inTrajectoryPlanning
um, damit dies ein gültiger C Variablenname ist.Rechtsklicken Sie auf die Komponente
TrajectoryPlanning
, wählen SieCreate Architecture
und anschließendSoftware Architecture
oder navigieren Sie zu Modeling > Create Software Architecture Model.Geben Sie den Namen der Softwarearchitektur als
TrajectorySoftware
an. Klicken Sie auf OK.Das Softwarearchitekturmodell
TrajectorySoftware.slx
wird aus der KomponenteTrajectoryPlanning
referenziert.Doppelklicken Sie auf die Komponente
TrajectoryPlanning
, um mit der SoftwarekomponenteTrajectorySoftware
zu interagieren.
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.
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 > Sequence Diagram.
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 SequenzdiagrammRobotArmSequence
um.Wählen Sie Component > Add Lifeline
, um eine Lifeline hinzuzufügen. Eine neue Lifeline ohne Namen wird erstellt und durch eine gepunktete Linie angezeigt.
Klicken Sie auf den Abwärtspfeil und wählen Sie
Sensor
. Fügen Sie eine zweite Lifeline mit dem NamenMotion
hinzu.Wählen Sie die vertikale gepunktete Linie für die
Sensor
-Lifeline aus. Klicken und ziehen Sie sie zurMotion
-Lifeline. Geben Sie im Feld To zunächstSensordata
ein und wählen Sie dannSensorData
aus dem Dropdown-Menü aus. Es wird eine Nachricht vom SensorData-Port derSensor
-Komponente an den SensorData-Port derMotion
-Komponente erstellt.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.
Siehe auch
Themen
- Erstellen eines Architekturmodells mit Schnittstellen und Anforderungsverknüpfungen
- Erweitern des architektonischen Design mithilfe von Stereotypen
- Analysieren der Eigenschaften des Architekturmodells mit der Analysefunktion
- Überprüfen von Komponenten in benutzerdefinierten Architekturansichten
- Konzepte des System Composer