How to make stateflow sample simevents' entity's attributes when the function call happens?

2 vues (au cours des 30 derniers jours)
Hi,all!
I have a problem when interacting stateflow with simevents.
For example, I use simevents to generate an entity every 1s. This entity has its attribute which works as an input data to stateflow. The entity also evoke the stateflow chart at the time it is generated. What I find out is that the function call is captured without any problem, but the input-type data in the stateflow remains the initial value, which is different from the entity's attribute. It will only become the same as the attribute when the next event happens. Anyone knows how to solve this problem?
Looking forwards to your answer and thank you in advance!

Réponse acceptée

Devdatt Lad
Devdatt Lad le 31 Mai 2011
The one-event delay is usually caused by the absence of a Single Server block with zero service time that causes operations to be ordered correctly. Insert this block after the Get Attribute block that is feeding attributes to Stateflow chart, but before the block that is sending the function-call to the Stateflow chart. This will ensure that by the time the function-call reaches Stateflow, the attribute values are available.
More information about why this is needed is available here: Interleaving of Block Operations
Note that there is some configuration you have to do to your Stateflow chart in order for it to behave in event-driven fashion with SimEvents. More on that is here: Using Stateflow Charts in SimEvents Models
Hope this helps.

Plus de réponses (0)

Catégories

En savoir plus sur Discrete-Event Simulation dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by