Messages in State Machines
Messages are useful for modeling asynchronous operations in state machines. This example has two key components: a sender and a receiver. The sender chart generates messages at random intervals, which are queued and processed by the receiver at a different rate.
The sender component generates messages in the state Create_and_Send. Messages can also carry data, which can be used to make decisions or perform actions. These generated messages are transmitted through message lines in Simulink®. and held in a queue at the input of the receiver. The receiver starts in the ready state. It checks to see if a message exists in its queue. Once a message is available, it goes from ready to processing. The receiver stays in the processing state for a fixed period before going back to ready.
There are a couple of points to note: a message gets destroyed after it is used. So after a message has been used in a transition, the top message in the queue stays valid till the end of the time step, and then gets destroyed. The next time this transition is evaluated, it will check if a new message exists in the queue. The receiver chart also shows an example of how to use message data to perform an action.
In this example, the receiver processes messages when it is ready, which can be asynchronous with respect to the sender. To visualize the life of a message, use the message viewer block from the Stateflow® block library.
Featured Product
Stateflow
Up Next:
Related Videos:
Sélectionner un site web
Choisissez un site web pour accéder au contenu traduit dans votre langue (lorsqu'il est disponible) et voir les événements et les offres locales. D’après votre position, nous vous recommandons de sélectionner la région suivante : .
Vous pouvez également sélectionner un site web dans la liste suivante :
Comment optimiser les performances du site
Pour optimiser les performances du site, sélectionnez la région Chine (en chinois ou en anglais). Les sites de MathWorks pour les autres pays ne sont pas optimisés pour les visites provenant de votre région.
Amériques
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asie-Pacifique
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)