# question

0 Likes"

## To have elevators only service certain floors

How to let elevators only service certain floors without separate elevator banks, I have tried ussing barrier, but it doesn't work, my elevator bank is adding multiple lifts, I want to let each elevator service certain floors.

FlexSim 20.0.10

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

0 Likes"

This isn't possible without essentially rebuilding the elevator bank object. The attached model demonstrates one possible workaround.

Depending on the current and target position, the person is first send to a floor spot in front of an elevator bank. This way, that elevator bank is the closest connection to the other grids and will be used. Which elevator gets chosen is determined by two things: Does the elevator service the current and target floor and which of the possible elevators is currently the least utilized.

The first is controlled by a label array on the elevator banks. A one signifies that it can stop at the respective floor, a zero that it can't. Only if both the value for the current and target floor (floors numbered 1-3) are 1 can the elevator be chosen.

The utilization is determined by two things: The state of the elevator inside the bank (if it is currently idle it will be chosen without checking others) and a second label that tracks the number of travellers set to use that elevator. It is incremented each time a person is send to a corresponding floor spot and decremented in the "On Traveler Continue" trigger on the elevator bank.

ChooseElevatorbank.fsm

· 5

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

·

@Felix Möhlmann you really help me a lot, l have been solving this problem for a long time

2 Likes 2 ·
·
Very clear, thank you
0 Likes 0 ·
·
Can I ask one more question? I need to limit the elevator passenger, I notice that in custom code there's a conditional expression, which is <=6, but seems that the whole model still not limit the elevator passenger,I wonder to know what is this expression mean and how can I set limited passenger. Thank you very much if you can help me ☺️.
0 Likes 0 ·
Martin C10 ·

The code is only used to determine in front of which elevator a person should wait. The <= 6 expression is used when the elevator is currently idle, to try and first fill up one elevator before sending people to another elevator. If all elevators are currently busy or have more than 6 travelers assigned, the person is send to the one with fewer assigned travelers to balance the load.

How many people can fit in an elevator car at a time is enforced by the banks itself. Each car has a capacity that can be set in the properties.

This is evaluated against the "traveler capacity usage" a person has; by default this is the area their bounding box occupies (x-size * y-size). With the default settings a car can load up to 4/(0.58*0.4) = 17.24 people. Instead you could set the footprint to 1 for example, so the capacity is simply the number of travelers the evelator can transport at a time.

I also just noticed that the reset trigger of the elevator banks doesn't seem to work, so the "travelers" label didn't get reset between runs. I added some code to the global "On Model Reset" trigger to rectify this and reset the labels.

chooseelevatorbank_2.fsm

0 Likes 0 ·
Felix Möhlmann ·