Azzera filtri
Azzera filtri

In SimEvents, how can I block "plants" that are occupied so that the batch uses another plant?

1 visualizzazione (ultimi 30 giorni)
Hello, everyone,
I am currently in the process of modeling a production line with SimEvents. Unfortunately I can't get any further and need help urgently.
There are 3 stations and each station has several facilities. That means I can run several batches at the same time. How can I set that a new batch should start a free plant?
I also try to find out how I can define the states for the individual plants in SimEvents.
Example:
Plant 1 has the following states: Water supply, Heat, Rest and then Ready for discharge.
Do you have an idea?

Risposta accettata

Abdolkarim Mohammadi
Abdolkarim Mohammadi il 19 Mag 2020
The best option here is the entity output switch block. Each plant is connected to a port of this block. There are several options available for selecting the plant. If you want new entities to be directed to an idle plant, you can choose the "First port that is not blocked" option. You can also create set and get functions to query the status of the plants and use a MATLAB function block to randomly choose from idle plants.
  2 Commenti
Samir Acchaoui
Samir Acchaoui il 25 Ago 2020
Thanks for your help. Can you please tell me a bit more about these "set and get functions"? Maybe also a link where I can read a bit more about them?
Abdolkarim Mohammadi
Abdolkarim Mohammadi il 25 Ago 2020
There is no such set and get function blocks. They are normal Simulink functions coupled together, where the output of the Set function is connected to the input of Get function. You set the value of a variable with Set function and it is stored in the output port of this block. When you need this value, you get it via Get function. For example, in your model of plants, when a consumer order leaves plant, you set the status of this plant using the following code as an Exit event action:
SetPlantStatus (1);
And when the next order arrives, you use the following code to share the notice that it has been occupied:
PlantStatus = GetPlantStatus ();
However, as I mentioned in my answer, it is better for you to use the entity output switch block.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Discrete-Event Simulation in Help Center e File Exchange

Prodotti


Release

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by