Matlab function in Simulink exhibiting slow reaction time

6 次查看(过去 30 天)
I have a function block within my simulink file. It reads a "current" value, and compares it to a reference value.
If the value is higher than ref is turns off one input, and the next time the function block is called the expected behavior is that it should turn off a additional input if the value is still higher than reference.
For some reason it only turns off additional inputs every ~1700 seconds or so. Simulation time is 24h. I do not really see what could cause this. It behaves as expected, but as if it is only called every 1700 seconds.
There is a delay block at the output of the funciton, that then feeds back - giving the current status of all inputs. It is set to a delay of 1.

采纳的回答

Fangjun Jiang
Fangjun Jiang 2025-3-6
编辑:Fangjun Jiang 2025-3-6
I must know this. 1700 seconds is roughly 1/50 of the simulation time (24 hours). It is the default setting. It must mean that you didn't specify the simulation step size. One step of simulation of your model is about 1700 seconds. That is the reason.
Specify a reasonable step size and you will see the effect.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Run on Target Hardware 的更多信息

产品


版本

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by