How to read data form simulink in time

1 view (last 30 days)
Chai Wei Kuo
Chai Wei Kuo on 28 Nov 2021
Answered: Pramil on 27 Feb 2024
I have a model in simulink , and use block 'Interpreted MATLAB Fcn' to compute position output 'u'.
Now I want to limit my velocity, I need to get my output data form simulink to limit my next output.
I searched for answer, but I don't know how to use 'Access Block Data During Simulink' exactly.
Thanks for help.

Answers (1)

Pramil
Pramil on 27 Feb 2024
To access block data in this case ‘position’ value and use this to limit ‘velocity’, you can use a “feedback loop”. You can do that through following steps:
  • Branch the output of 'Interpreted MATLAB Fcn' and pass it to a ‘unit delay’ block.
  • On that signal, apply any conditions through which you can calculate by what value to limit 'velocity'.
  • Add or subtract this signal as per your need, to the original 'velocity' signal.
We can do the above without the first step as well but it will introduce an ‘algebraic loop’ which is not desirable, you can know more about them on this page:
Here is an image for your reference, where velocity is reduced by ‘10’ when computed position ‘u’ gets greater than ‘1000’ during simulation. Input ‘X’ is a vector containing values from ’10,20…100’ and value of ‘a’ is ‘10’.

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!