SimEvents: Is it possible to generate an event-based entity with specific attribute values defined in the caller block's event action?

3 views (last 30 days)
The Entity Terminator block calls the simulink function genNext to generate an entity. I want to know that is possible to add input argument blocks to genNext so that we can call it like genNext(1,2,3) and have the entity generator set the attributes of the generated entity according to the passed inputs?

Accepted Answer

Krishna Akella
Krishna Akella on 24 Jun 2019
Hi Kar,
Unfortunately, the entity generator's 'Generate' event action cannot use the values from the generation triggering entity. I have however been able to use Simulink Functions to create getter and setter functions to write and read values from the event actions:
I have called setVal(1, 2, 3) from the terminator's entry action and then called [v1, v2, v3] = getVal() from the entity generators 'generate' event action to read the values. However, this has some pit falls. If another entity arrives at the terminator with a higher priority than the generate event, then the values in the simulink function get overwritten. I haven't been able to figure out a better way. Hope this helps!
  1 Comment
Abdolkarim Mohammadi
Abdolkarim Mohammadi on 24 Jun 2019
Thanks Krishna. That is exactly what I did. I think it can also be done with MATLAB discrete-event block. especially in complex models.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!