question

Dustin B avatar image
0 Likes"
Dustin B asked Dustin B commented

Time based discard

There are a series of steps in our process that must be completed within a certain amount of time.
I am trying to record how long a 3D item spends within those processes and inventory and discard any that exceed the maximum amount of time (72hrs).

I tried to match a process flow with the 3D model using zones. Exceeding the maximum wait time seems straightforward, however I cannot figure out how to "Move Object" of the offending item into the discard queue. Similarly I am not sure if I should create a new event trigger source to move a token out of the "Zone". Would lists be a better choice?

I have attached a mock up of the process. Currently there are 3 processors that lead into 1 processor (this is to account for required dwell times post processing), followed by inventory time prior to the final step in the process (another 3 processors).

Thanks!

1654114802190.png


220601 Crit Time.fsm

FlexSim 22.1.2
process flowusing listszonesdiscardtime decision
1654114802190.png (263.8 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

·
Kavika F avatar image
1 Like"
Kavika F answered Dustin B commented

Hey @Dustin B, I tweaked your model a bit so it didn't use any Process Flow and instead used just the 3D model properties and labels to keep track of a 3D Object/flowitem's "staytime" in the system. When a flowitem leaves Queue2, it adds the "startTime" label to the item. When the item is finished being processed at Processor2, it will evaluate the difference between the current time and the startTime label. It will then decide to send the item either to Queue1 or the Crit Time Discard Queue depending on if the item exceeded the 72 hour limit. (Image of the Conditional Port Logic for Processor2; Port 1 is Queue1, Port 2 is the Crit Time Discard Queue)

1654202630662.png

When Queue2 backs up far enough to where there's no end in sight, only Processor1 was pushing to Processor2 while Processors 4 and 5 sat idling. To avoid this backup on the processors, I switched the pull strategy of Processor2 to be "Round Robin", meaning it will pull one from each in order. Currently, due to the speed of the Processors and the high time-out set, no boxes go into the Crit Time Discard Queue. If you wanted to start tracking the "startTime" of flowitems when they enter Queue2, then you can change the Trigger on Queue2 from OnExit to OnEnter or even add it to the Source1. (Image of OnExit Trigger setting the "startTime" label, under Queue2 Properties > Triggers)

1654202943759.png

Let me know if this meets your specifications or if there are other features you were hoping to incorporate with your model!

Solution.fsm


1654202630662.png (16.8 KiB)
1654202943759.png (12.4 KiB)
solution.fsm (31.3 KiB)
· 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.

Dustin B avatar image Dustin B commented ·
Great thanks nice and simple and does exactly what I need

Appreciate the help!

0 Likes 0 ·

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

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