How to set the limits of a saturation block from workspace

4 次查看(过去 30 天)
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 个评论
Christian Boettcher
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...

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Simulink Coder 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by