Simulink Logic - Capturing a Signal Value at a Specific Point for Control

30 visualizaciones (últimos 30 días)
Hi,
I am creating a controls model in Simulink and need to capture a simulink signal at a specific point in the simulation, and then keep the value to use as an input to the controller for the next cycle. I can capture the signal value from the point of interest (velocity = 0) to the end of the simulation, but I would like to lock that value at the trigger point and then reset at the next. I have added a screen grab to show the blocks I am using, and the output.
The value I need to capture is the position when the velocity reaches 0, so when the position changes direction.
Its a basic logic question, but any help would be great,
Cheers
Patrick

Respuesta aceptada

PB75
PB75 el 7 de Dic. de 2022
Hi Fangjun,
As in the following? Using a DataStoreMemory block in the triggered subsystem?
  2 comentarios
Fangjun Jiang
Fangjun Jiang el 7 de Dic. de 2022
Put the DataStoreMemory block outside. Inside, import the position signal, feed it to a DataStoreWrite block.
PB75
PB75 el 13 de Dic. de 2022
Thanks Fangjun.
I have removed the DataStoreWrite block as the triggered subsystem captures the signal at that point.

Iniciar sesión para comentar.

Más respuestas (1)

Fangjun Jiang
Fangjun Jiang el 7 de Dic. de 2022
The logic of velocity >=0 will generate a step output signal. Use this signal to trig a triggered subsystem. Specify the trigger as rising edge. Inside, use Memory Write block to store the value.

Categorías

Más información sobre Modeling en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by