Contenuto principale

La traduzione di questa pagina non è aggiornata. Fai clic qui per vedere l'ultima versione in inglese.

Implementazione di comportamenti per la simulazione di modelli di architettura

Un workflow di ingegneria dei sistemi di base in System Composer™ include la composizione di un sistema di architettura, la definizione dei requisiti, l'aggiunta di metadati, l'esecuzione di analisi e la rappresentazione dell'architettura attraverso viste. Dopo aver completato queste fasi, la progettazione del sistema sarà più vicina al raggiungimento degli obiettivi degli stakeholder e delle esigenze dei clienti.

È inoltre possibile iniziare a progettare i componenti effettivi del sistema utilizzando Simulink®, Stateflow® e Simscape™. È possibile specificare, testare e analizzare completamente il comportamento di un componente utilizzando il processo di progettazione Model-Based.

Per maggiori informazioni sul workflow di ingegneria dei sistemi Model-Based in System Composer, vedere Composizione e analisi dei sistemi utilizzando modelli di architettura.

In questo tutorial, verranno eseguite queste fasi sul modello di architettura del braccio robotico.

Modello di architettura del braccio robotico

Aprire il modello di architettura di un braccio robotico composto da sensori, attuatori di movimento e un algoritmo di pianificazione. È possibile utilizzare System Composer per visualizzare le interfacce e gestire i requisiti per questo modello.

Creazione di un riferimento a un modello comportamentale di Simulink in un componente

Quando un componente non richiede un'ulteriore scomposizione architetturale, è possibile abilitare la simulazione del modello e un workflow end-to-end. Per abilitare la simulazione del modello, implementare i comportamenti di Simulink per i componenti. È possibile associare un modello di Simulink a un componente o collegarlo a un modello o a un sottosistema di Simulink esistente.

  1. Selezionare il componente Motion. Andare a Modeling > Create Simulink Behavior. In alternativa, fare clic con il tasto destro del mouse sul componente Motion, selezionare Create Behavior, quindi selezionare Simulink Behavior.

  2. Dall'elenco Type, selezionare Model Reference. Fornire il nome del modello MotionSimulink. Il nome predefinito è il nome del componente.

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

  3. Fare clic su OK. Nella cartella attuale viene creato un nuovo file del modello di Simulink con il nome fornito. Le porte a livello di radice del modello di Simulink riflettono le porte del componente. Il componente nel modello di architettura è collegato al modello di Simulink. L'icona Simulink sul componente indica che il componente ha un comportamento di Simulink.

    Nota

    Per rimuovere il comportamento del modello, fare clic con il tasto destro del mouse sul componente Motion collegato e selezionare Inline Model.

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

  4. Per visualizzare le interfacce sulla porta SensorData convertire in elementi bus di Simulink, fare doppio clic sulla porta in Simulink.

    Sensor data bus element properties

È anche possibile creare un collegamento a un modello di comportamento di Simulink esistente da un componente System Composer, a condizione che tale componente non sia già collegato a un'architettura di riferimento. Fare clic con il tasto destro del mouse sul componente e selezionare Link to Model. È possibile digitare o sfogliare il nome di un modello di Simulink.

È inoltre possibile collegare un comportamento del sottosistema di Simulink referenziato a un componente. Utilizzare i riferimenti al sottosistema per creare comportamenti di Simulink o di Simscape con porte fisiche, collegamenti e blocchi.

  1. Selezionare il componente Motion. Andare a Modeling > Create Simulink Behavior. In alternativa, fare clic con il tasto destro del mouse sul componente Motion, selezionare Create Behavior, quindi selezionare Simulink Behavior.

  2. Dall'elenco Type, selezionare Subsystem Reference. Fornire il nome del modello MotionSubsystem. Il nome predefinito è il nome del componente.

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

  3. Fare clic su OK. Nella cartella attuale viene creato un nuovo file del sottosistema di Simulink con il nome fornito. Le porte a livello di radice del sottosistema di Simulink riflettono le porte del componente. Il componente nel modello di architettura è collegato al sottosistema di Simulink. L'icona Subsystem sul componente indica che il componente ha un comportamento del sottosistema di Simulink.

    Motion component as a subsystem reference component

Aggiunta del comportamento del grafico Stateflow al componente

Per implementare la modellazione event-based con macchine a stati, aggiungere il comportamento del grafico Stateflow a un componente. I grafici di stato sono costituiti da un insieme finito di stati con transizioni tra loro, volte ad acquisire le modalità operative del componente. Questa funzionalità richiede una licenza Stateflow.

Un componente System Composer con stereotipi, interfacce, collegamenti ai requisiti e porte viene conservato quando si aggiunge il comportamento di Stateflow Chart (Stateflow).

  1. Fare clic con il tasto destro del mouse sul componente Sensor, selezionare Create Behavior, quindi selezionare Stateflow Behavior. In alternativa, selezionare il componente Sensor, quindi andare a Modeling > Create Stateflow Chart Behavior.

  2. Fare doppio clic su Sensor, che presenta l'icona Stateflow. Dal menu Modeling, fare clic su Symbols Pane per visualizzare i simboli Stateflow. La porta di input Encoder appare come dati di input nel riquadro dei simboli e la porta di output SensorData appare come dati di output.

    Sensor state chart with symbols.

  3. Selezionare l'output SensorData e visualizzare l'interfaccia in Property Inspector. È possibile accedere a questa interfaccia come un segnale bus di Simulink.

    The interface named sensor data is shown as a bus.

Progettazione dell'architettura software nei componenti

Per progettare un'architettura software, definire l'ordine di esecuzione delle funzioni, simulare e generare codice, creare un'architettura software da un componente System Composer.

  1. Rinominare il componente Trajectory Planning in TrajectoryPlanning, in modo che sia un nome di variabile C valido.

  2. Fare clic con il tasto destro del mouse sul componente TrajectoryPlanning, selezionare Create Architecture, quindi selezionare Software Architecture oppure andare a Modeling > Create Software Architecture Model.

  3. Specificare il nome dell'architettura software come TrajectorySoftware. Fare clic su OK.

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

  4. Il modello di architettura software TrajectorySoftware.slx è referenziato dal componente TrajectoryPlanning.

    Trajectory planning component has a trajectory software architecture model reference.

  5. Fare doppio clic sul componente TrajectoryPlanning per interagire con il componente software TrajectorySoftware.

    Trajectory software component.

Rappresentazione dell'interazione del sistema utilizzando diagrammi di sequenza

Per rappresentare l'interazione tra gli elementi strutturali di un'architettura come una sequenza di scambi di messaggi, utilizzare un diagramma di sequenza in Architecture Views Gallery.

Osservare il modello di architettura del braccio robotico costituito da componenti, porte, collegamenti e comportamenti. I risultati della simulazione del modello devono corrispondere alle interazioni all'interno dei diagrammi di sequenza.

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

  1. Creare un nuovo diagramma di sequenza andando a Modeling > Sequence Diagram. Si apre Architecture Views Gallery. Per creare un nuovo diagramma di sequenza, fare clic su new New > Sequence Diagram.

  2. Un nuovo diagramma di sequenza denominato SequenceDiagram1 viene creato nel browser delle viste e la scheda Sequence Diagram diventa attiva. In Sequence Diagram Properties, rinominare il diagramma di sequenza RobotArmSequence.

  3. Selezionare Component > Add Lifeline button per aggiungere una lifeline. Viene creata una nuova lifeline senza nome, indicata da una linea tratteggiata.

  4. Fare clic sulla freccia verso il basso e selezionare Sensor. Aggiungere una seconda lifeline denominata Motion.

  5. Selezionare la linea tratteggiata verticale per la lifeline Sensor. Fare clic e trascinare sulla lifeline Motion. Nella casella To, iniziare a digitare Sensordata e selezionare SensorData dal menu a discesa. Viene creato un messaggio dalla porta SensorData sul componente Sensor alla porta SensorData sul componente Motion.

  6. Fare clic sul messaggio per verificare dove inserire la condizione del messaggio. Inserire una condizione di attivazione del messaggio nel modulo:

    rising(SensorData.distance1-1)

    Il nome del segnale è un elemento dati su un'interfaccia dati. Il messaggio verrà riconosciuto all'evento di attraversamento dello zero quando il valore di SensorData.distance1 sale a 1.

Finished sequence diagram.

Vedi anche

Argomenti