Azzera filtri
Azzera filtri

How to set the limits of a saturation block from workspace

4 visualizzazioni (ultimi 30 giorni)
Hello everyone!
I have several saturation blocks in my model and i want to change the upper and lower limits at once. I defined a variable in the workspace, and simulink just takes it as the upper and lower limit. But if i build code nothing happens. There are no range checks at all. If i enter the value directly, i get correct results...
For example:
myLimit = 5
Upper Limit: myLimit
Lower Limit: -myLimit
-> Noting happens in the Code
Upper Limit: 5
Lower Limit: -5
->Range checks as desired
Are there any ways to change these limits with a single line of code?
  3 Commenti
Christian Boettcher
Christian Boettcher il 21 Lug 2016
Yep, they are victims of the optimization. The code doesn't change at all...
I tried your suggestion and it works.
I don't want to have this value tunable actually. It's just a limitation to avoid overflows. So it's set once and shouldn't be touched after that. I want to have this value centrally to avoid magic numbers in the model and if i must change it, i would like to save time.
I would love to have something, which leads to a #define in the c code and does the range checks against the defined value...
Mark McBroom
Mark McBroom il 24 Ago 2016
Change storage class from SimulinkGlobal to ExportedDefine

Accedi per commentare.

Risposte (0)

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by