question

Tmaclean avatar image
0 Likes"
Tmaclean asked Tmaclean commented

How to sequence events?

I'm coming from a strong Discrete Event Simulation background using Witness, and I am struggling a bit with FlexSim because it is structured so differently. Something I did in Witness all the time was write input rules for a machine or conveyor based on the state of other machines, conveyors or buffers. For example, if I have two machines in series (Source ->Buffer A->Processor A -> Buffer B -> Processor B ->Sink). I want to have Processor A pull the first part from Buffer A, process, then push to Buffer B, then Processor B pull from Buffer B, process, then push to the sink. I don't want Processor A to pull the next part from Buffer A until Processor B is finished with the first part.

In witness, this would be a simple input rule for Processor A:

IF (NPARTS(BufferB) + NPARTS(ProcessorB)) = 0

PULL FROM BufferA

ELSE

WAIT

ENDIF

In FlexSim it seems like all of the input rules are designed to tell the Processor which input port to pull from, rather than whether or not to pull something in the first place. What am I missing?

FlexSim 24.2.2
processor input
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

Aldo Martin del Campo avatar image
0 Likes"
Aldo Martin del Campo answered Tmaclean commented

You could use triggers on each processor. To ‘block’ a production line, you need to close the input port of Machine A and keep it closed until Machine B finishes processing. Once Machine B is done, you reopen the port of Machine A, and production continues. I hope this helps

2501_TriggersPA_PB.fsm


· 1
5 |100000

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

Tmaclean avatar image Tmaclean commented ·

This is exactly what I was looking for. Thanks!

0 Likes 0 ·