question

Tamilselvan avatar image
0 Likes"
Tamilselvan asked Felix Möhlmann commented

How to create a Sync-Up Index Conveyor

I am trying to build a Sync-Up Index Conveyor with two parallel conveyors. The first conveyor has five stations, and the second conveyor also has five stations. The stations on both conveyors are placed at 2-meter intervals, and each conveyor is 11 meters long.

My question is: How can I ensure that both conveyors run in parallel? Both conveyors must move and stop simultaneously. Parts should not accumulate; each part must wait until all parts in both conveyors have completed processing before the conveyors can index forward. The conveyors should move only when all stations on both conveyors have completed their respective processes.

At the end of the conveyor, an operator needs to pick up the parts from both conveyors one by one. At the beginning, two operators need to place the parts at Station 1 on each conveyor.

I tried removing the Accumalating option still it does'nt work.

1741943038303.png

FlexSim 24.0.0
using conveyors
1741943038303.png (77.3 KiB)
5 |100000

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

1 Answer

Felix Möhlmann avatar image
1 Like"
Felix Möhlmann answered Felix Möhlmann commented

As you write yourself: "conveyors should move only when all stations on both conveyors have completed their respective processes". You can use a Tracked Variable that is the sum of 'ready signals' from all stations. Only if all stations are ready and the variable thus reaches a given value, are the conveyors resumed. As soon as one station stops its signal, the conveyors are stopped again. (After a small delay to make sure that all items have arrived at the next station.)

synced-cycle-conveyors.fsm


· 4
5 |100000

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

Tamilselvan avatar image Tamilselvan commented ·

You worked magic in minutes! Thanks for your valuable answers. We are finding it a bit difficult to debug your response. Could you please explain the logic behind it in more detail? That would be greatly appreciated!

0 Likes 0 ·
Felix Möhlmann avatar image Felix Möhlmann Tamilselvan commented ·

The important thing to understand in the model is the bit-wise encoding of the station states. Each DP has a "StationNum" label. When setting their signal to 'ready', the station adds '2 to the power of their number' to the tracked variable "ReadySignal". So if only the first station (StationNum 0) is ready, the variable's value in binary would be 0000000001. If the station with number 2 also becomes ready this changes to 0000000101 and so on. For all stations to be ready the value thus must be 2^10 - 1 (1023 as a decimal number).

Each station is connected to an Object Process Flow. A token there waits until an item arrives at the station. The first stations on each conveyor wait for the entry of an item on the conveyor instead. Since the conveyor is standing still when an item enters it wouldn't actually 'arrive' at the DP. The station then sets its bit in the variable to 0, thus stopping the conveyor. After a process time has elapsed, the bit is set to 1 again. The last station instead waits for the item to have been picked up.

A token in the general Process Flow waits for the Tracked Variable to reach the value 1023 and then starts the conveyor. When the value drops below that number, the conveyor is stopped. As I said, there is small delay because only a single item can 'arrive' at a DP in the same instant. So the conveyor continues for 30ms (value determined through trial and error) to allow all other DPs to also trigger. For this to work it is also important that the Exit Transfers have an increased size, otherwise they would stop any arriving item and thus the conveyor.

Just before the operator who loads the items onto the conveyor would unload an item, a token is created (when the 'Travel' task to the unload location finishes). This token checks if the conveyor is currently running. If so, it stops the operator from unloading the item until the conveyor has stopped.

Edit:

I actually just realized an important detail. Due to the small delay before stopping the conveyor the items move a little bit beyond the DPs and are thus closer to the next DP than an item that was just placed on the conveyor.

The EntryTransfers should thus be placed that same distance behind the first DPs to keep the required move distance the same for all items.

So with a delay of 10ms and a conveyor speed of 0.5 m/s the transfers should be placed 5mm behind the first DPs.

capture1.png

Also, switching the "Wait For Entry" and "Set Signal: False" activities in the flow of the first stations means that they won't always wait until a new item has entered before the conveyor cycles again. This thus allows for empty slots on the conveyor if new items are not added fast enough.

synced-cycle-conveyors_1.fsm

0 Likes 0 ·
Tamilselvan avatar image Tamilselvan Felix Möhlmann commented ·

Thanks for providing the detailed explanation.

I tried replicating the same thing in my model, but when the operator places the second part on the conveyor, it stops at the entry transfer and does not move to the decision point. Can you please help with this, @Felix Möhlmann?

0 Likes 0 ·
Show more comments