Filter löschen
Filter löschen

How to set the limits of a saturation block from workspace

4 Ansichten (letzte 30 Tage)
Christian Boettcher
Christian Boettcher am 20 Jul. 2016
Kommentiert: Mark McBroom am 24 Aug. 2016
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 Kommentare
Christian Boettcher
Christian Boettcher am 21 Jul. 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 am 24 Aug. 2016
Change storage class from SimulinkGlobal to ExportedDefine

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by