Info

La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.

Custom sensor library: Execute setup block before others

1 visualización (últimos 30 días)
offroad
offroad el 14 de Nov. de 2017
Cerrada: MATLAB Answer Bot el 20 de Ag. de 2021
Hello,
I am implementing a Simulink library for communication with an external sensor. I split the configuration of the sensor and the reading of sensor values in separate blocks. When running a model with a "configuration" and a "read value" block the second one must only be executed after the first one has finished. How is this best implemented?
Currently I ensure this with a function-call generator and splitter that is connected in the right order to function-call subsystems containing the "configuration" and "read value" blocks. But this setup is rather clumsy and does not correspond to many existing libraries. The option by sorted execution order seems to be model-dependent and thus does not apply to a library.
Thank you for helping!
  1 comentario
offroad
offroad el 28 de Nov. de 2017
I would like to push this one as it only got 2 views.

Respuestas (1)

Mark McBroom
Mark McBroom el 29 de Nov. de 2017
do you need to execute the configuration block each time "read value" block executes? If so, I use function -call trigger and then combine blocks into a single block in your library.
However, if the configure block runs only one time at startup, you might want to consider the new Initialize Function block in Simulink. The contents of the Initialize Function block get executed only one time at start up.
  1 comentario
offroad
offroad el 30 de Nov. de 2017
Thanks for your answer. No the configuration block needs to be executed once at startup. I tried using the Initialize Function block. However it can only contain blocks that do not need an initialization themselves. The I2C driver blocks I use do not work with that method.
Basically I just need a way to execute the configuration block in the first time step and in the following time steps always execute the read block. Is there some way we could use a global variable in the model workspace to contain the "configuration state"? Then we could set this state as "true" once the configuration block has finished and depending on its state execute the read block.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by