question

Dhuey C avatar image
0 Likes"
Dhuey C asked tannerp commented

How to create downtime based on different logic paths in process Flow

sturgis-dryer-5-level-1-draft-3-16.fsm There is logic that determines when a cleaning is required, the first decision is if the item.Family label is different (1 or 2) vs (3 or 4) then it gets a cleaning. The default path determines when to clean is based on the count of items processed, although different family has different counts limits. I like having the cleaning state being able to be shown as a separate portion of the utilization charts, so downtime seems to work, but i am not sure how to link the output of the process flow logic to downtime. Also when a cleaning is triggered, all tokens in the logic need to be cleared out and start over.

Thanks

FlexSim 20.0.0
process flow tasksequencedowntimeprocess l
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

Braydn T avatar image
1 Like"
Braydn T answered Braydn T commented

@Dhuey C I am not sure about how to link output to downtime (I am a little confused about exactly what you mean) But you will not be able to clear tokens out of a batch based on some other event like you want. The only way to clear tokens out of a batch are wait or idle timers. I think your best bet would be to implement lists. That way you can have a token sitting on a pull from list, and have it require a certain amount. When it reaches that amount, then it will go on to the next task which will be to clear the other list. I will continue to work on the output of process flow being downtime.

· 2
5 |100000

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

Dhuey C avatar image Dhuey C commented ·

What i mean by link to downtime. My primary objective is to occupy the dryer with a cleaning task so it can not process items. This can be done by closing and opening input ports. But the dryer would be in a idle state. From a report perspective, i want to be able to show how much time is spent cleaning. The utilization chart works perfect if the cleaning is a downtime event, which is a time based failure event (current). So it would be nice if the cleaning would be able to be separated on the utilization pie chart. Hence tying the cleaning trigger to a downtime event.

Thanks

0 Likes 0 ·
Braydn T avatar image Braydn T commented ·

@Dhuey C

You can change an objects state using this code:

Object object = Model.find("your object");
int state = CHOOSE YOUR STATE HERE;
int profile = Default;
object.setState(state, profile);

You can do this in a trigger or in a custom code block. I think your best bet would be to do what I said above and use lists, and then have a block after that changes the state.

Note: You need to have this ode run after the processor has finished processing the last item. So close the input, and then have a wait for event task that listens to the processor on exit or something similar. The reason why you need to do this is if you don't it will change the state to whatever you choose, and then go back to processing, then to idle.

Let me know if you have more questions about this.

0 Likes 0 ·