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

27 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

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

Accedi per commentare.

Più risposte (1)

Fangjun Jiang
Fangjun Jiang il 7 Dic 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.

Categorie

Scopri di più su Modeling in Help Center e File Exchange

Prodotti


Release

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by