Constant block only outputs a single data point
Mostrar comentarios más antiguos
Hi everyone,
Constant blocks in Simulink have started behaving strangely for me very suddenly. As in the title - the constant block only outputs a single data point at t=0, otherwise it does not output a value. I have tried everything I can think of short of reinstalling MATLAB. The issue occurs across all my models and doesn't seem to be affected by any settings, including the solver settings. To prove this point I have created a model containing only a constant block, scope, and workspace output. Please see the screenshots below.



I have tried replacing the constant with a step, and this doesn't produce much better results.
I am fairly sure this is a bug, since it came on so suddenly and without any real change in any of my models or settings. I'm just wondering if anybody else has had this issue or knows of a workaround. I am highly dependent on Simulink for my university course, and since this renders it basically useless I am really keen to get it sorted.
Many thanks.
7 comentarios
Paul
el 23 de Dic. de 2020
Have you verified that that the Stop Time of the simulation hasn't been inadvertently set to zero?
John Smith
el 24 de Dic. de 2020
Paul
el 24 de Dic. de 2020
What happens in the model you posted if you add another source, like a sine wave, and connect it to scope? Does that verify that the simulation runs for the full 10 seconds?
John Smith
el 24 de Dic. de 2020
Editada: John Smith
el 24 de Dic. de 2020
Paul
el 24 de Dic. de 2020
I'm still wondering if in the first case the simulation didn't actually run for the full 10 seconds for some reason. What is out.tout in that case?
I ran my own model (2019A) of Constant feeding a To Workpace and Scope with all of the default solver settings and didn't have a problem.
John Smith
el 24 de Dic. de 2020
Paul
el 24 de Dic. de 2020
Maybe send a simple model that illustrates the problem to Tech Support and see what they say? If you do and they solve the problem or identify an issue, please post back here with the results.
Respuestas (2)
Mark McBroom
el 25 de Dic. de 2020
0 votos
What is the sample time for the constant block? The default is "inf" which indicates constant sample time. Change this to -1 or 0.2 and you will see data plotted each time step. See this description of constant sample time. https://www.mathworks.com/help/simulink/ug/types-of-sample-time.html
2 comentarios
John Smith
el 26 de Dic. de 2020
Mark McBroom
el 26 de Dic. de 2020
When a constant block has a value of "inf", Simulink only computes its output one time because it never changes during the simulation. What problem are you trying actually trying to solve? Do you have workspace parameters in your constant blocks? Are you trying to tune then during the course of a simulation and not seeing the newly tuned value take effect in your Simulink model?
sregmi
el 24 de Jul. de 2024
0 votos
I have the same issue. I am on R2024a.
The output on the scope is a single datapoint while the same output on Simulink data inspector is datapoints across the time (which is what we expect).

Categorías
Más información sobre General Applications en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


