Update attribute value with a frequency and use in matlab function

3 visualizaciones (últimos 30 días)
Mehwish Ahmed
Mehwish Ahmed el 17 de Sept. de 2018
Comentada: Mehwish Ahmed el 18 de Sept. de 2018
Hello,
I have two attributes assigned to the entity in the entity generation, the current time in system and the priority. I want to update these attributes with a frequency, for example every day. These values will be used in the matlab function which determines to release the entity or not. Now the attribute value can only be updated when entering a block, while the entity stays until there is a positive message to release the entity. I saw this question but its an older version of simulink.. Does anyone know how to model this? Thanks

Respuestas (1)

Naveed Ahmed
Naveed Ahmed el 17 de Sept. de 2018
Here is what I can suggest based on my understanding:
Place your matlab function block in the "enable subsystem" and connect the square pulse generator (in case you want it periodically) with enable input of the Enable system input port. The pulse width and shape are easily modifiable from its properties.
Hope it helps.
  1 comentario
Mehwish Ahmed
Mehwish Ahmed el 18 de Sept. de 2018
Thanks for the quick response!
The thing is that in my model, there is an initial priority assigned with some random distribution. And the current time in system is calculated with the difference between the attribute of creation time and the current simulation time (now in a simulink function).
The matlab function (in a simulink function) I was talking about which determines whether an entity should be released or not, is computed whenever a demand is generated. I did this by entering the simulink function in the event tab whenever a demand is generated. The matlab/simulink function works as a control in the entity input switch.
I want that whenever the pickup function is computed, the new values of the priority and the time in system are used that are updated with a frequency in some computation block. However, now I get the error of a loop:
- Input data dependency violation due to function-call or action subsystems. See Subsystem Examples in the Simulink library for valid and invalid examples of function-call and action subsystems Component:Simulink | Category:Model error
- Input ports (1, 2) of 'Model8V9/Enabled Subsystem' are involved in the loop Component:Simulink | Category:Model error
- Input ports (5, 6, 7, 8, 10) of 'Model8V9/Pick up' are involved in the loop
It is difficult to explain but I hope you understand :) Thanks!

Iniciar sesión para comentar.

Categorías

Más información sobre Discrete-Event Simulation 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!

Translated by