How do I store a value in Simulink (sample hold)?
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Martin
el 22 de Abr. de 2015
Respondida: James Brown
el 14 de Feb. de 2017
I have a motor control system in Simulink-Realtime (fixed execution 16 kHz) and would like to display the average power per motor revolution (at 1 rev/s). The averaging is easy with a discrete integrator, but how do I store the final value? I want an updated display every motor turn. Currently I solved it by placing a memory block inside a triggered subsystem, but this seems overly complicated to me. Is there a more efficient way of implementing a sample-hold? As it is a real time system (62.5 us max. task execution time), I have to watch out for inefficient coding.
0 comentarios
Respuesta aceptada
James Brown
el 14 de Feb. de 2017
I do this all the time with an enabled subsystem. Simply connect the input port to the output port inside the enabled subsystem. Configure the output port: "Output when disabled" to be 'held.' You can now raise the enable signal for one sample period whenever you want the data to be help. For example, pulse the enable port to high at one hertz to create a 1 second sample and hold.
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Target Computer Setup en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!