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

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

 採用された回答

PB75
PB75 2022 年 12 月 7 日

0 投票

Hi Fangjun,
As in the following? Using a DataStoreMemory block in the triggered subsystem?

2 件のコメント

Fangjun Jiang
Fangjun Jiang 2022 年 12 月 7 日
Put the DataStoreMemory block outside. Inside, import the position signal, feed it to a DataStoreWrite block.
PB75
PB75 2022 年 12 月 13 日
Thanks Fangjun.
I have removed the DataStoreWrite block as the triggered subsystem captures the signal at that point.

サインインしてコメントする。

その他の回答 (1 件)

Fangjun Jiang
Fangjun Jiang 2022 年 12 月 7 日

0 投票

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.

カテゴリ

ヘルプ センター および File ExchangeSimulink についてさらに検索

製品

リリース

R2022a

タグ

質問済み:

2022 年 12 月 7 日

コメント済み:

2022 年 12 月 13 日

Community Treasure Hunt

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

Start Hunting!

Translated by