MATLAB Answers

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

5 views (last 30 days)
Kar Moh
Kar Moh on 22 May 2019
Commented: Kar Moh on 24 Jun 2019
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?

  0 Comments

Sign in to comment.

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:
ReadValFromGenerator.png
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!
Regards,
Krishna

  1 Comment

Kar Moh
Kar Moh 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)

Sign in to answer this question.