SimEvents Conveyor belt with entities at different speeds

12 views (last 30 days)
Hi All. I am using a SimEvents conveyor belt block, and would like to insert an entity at a different speed until it catches up to a minimum distance and then moves at the speed of the entity in front of it. I have no idea how to implement this. Any help would be appreciated.

Answers (1)

Krishna Akella
Krishna Akella on 10 Dec 2018
Hi Etienne,
Thanks for your question! The source code for the Conveyor block has been made available for anyone to read/modify keeping in mind the complexity of such requirements. Your requirement exactly fits the bill. The source for the conveyor is called desConveyorSystem.m.
From what I understand, the block was authored to work in the following way (accumulate mode, which is what I think you are looking for):
  1. It has three storages
  2. The first storage has a capacity of 1. This storage allows to model the rolling-in behavior of an entity, that's trying to get on to the conveyor. An entity spends time equal to (entity length + min separation distance)/conveyor speed.
  3. The second storage has an infinite capacity and represents THE conveyor proper.
  4. The third storage again has a capacity of 1, whcih is there to model the rolling-out behavior of an entity leaving the block. It spends (entity length)/conveyor speed.
  5. An entity after entering storage 2, spends time equal to (conveyor length - min separation distance - entity length/conveyor speed). Beyond which it is held in storage 2 based on the number of entities that are already ahead of it in the storage (Since storage 2 is a FIFO queue), whcih are inturn blocked as entities try to roll out of storage 3.
The FIFO blocking behavior takes care of introducing any additional delay an entity has to go through before it gets out of the system.
So for your use case, you might have to play around with the times an entity spends in storage 1 and storage 2.
- Krishna


Find more on Discrete-Event Simulation in Help Center and File Exchange



Community Treasure Hunt

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

Start Hunting!

Translated by