question

Helen avatar image
0 Likes"
Helen asked Helen commented

Timetables

Dear all,

I have two questions regarding timetables and I would appreaciate your collaboration.

  1. I assigned a timetable to the processor. Whenever the break arrives, the part is stuck in the machine. I would like the processor to do some extra work until the processing of the part is finished and consider the extratime as extrawork. How can I do this?
  2. I have a list with parts to be processed by a processor that includes the process time of each of the parts (each part has a different process time). I want the processor to pull the parts of the list only if it is possible to do it before the break time arrives (with a possibility of 15 min extra time). How can I do this?

Thank you,

Helen

FlexSim 22.2.2
timetable
· 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.

Jeanette F avatar image Jeanette F ♦♦ commented ·

Hi @Helen, was Marcello Rosadini's answer helpful? If so, please click the "Accept" button at the bottom of their answer. Or if you still have questions, add a comment and we'll continue the conversation.

If we haven't heard back from you within 3 business days we'll auto-accept an answer, but you can always unaccept and comment back to reopen your question.

0 Likes 0 ·

1 Answer

·
Marcello Rosadini avatar image
0 Likes"
Marcello Rosadini answered Helen commented

Hi Helen, some ideas:

1.-Instead of adding the processor to the time table, you could listen to it through process flow, perform your logic and the stop the object. support timetable.fsm

2.-You could have a table with all the breaks and every time your triggering event triggers, check the items in your list that can be finished before that time. In this example the token will pull all the items that can be finished before the next break support breaks.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.

Helen avatar image Helen commented ·

Thank you Marcello,

I was very insightful

1. The key here is closing the port instead of stopping the machine. Thank you!

2. It gave me some ideas on how to do it without using process flow (I'm working with the model in class and student's don't know how to use process flow). I used three concepts: a) When the next break will occur (Next Event, which I update every time the machine schedules down), b) time at the moment. With this information I calculate the available time (NextBreak-time). The processor will only pull a product if the available time is greater than the process time. It seems that work OK, but at moment 8.5, the processor is scheduled down and it takes a part that comes to the buffer but not the one that was in the Queue (the condition is also met for that in the Queue). Can you help me with this? I send the model attached (Timetable.fsm).

Regards,

Helen


0 Likes 0 ·
Jason Lightfoot avatar image Jason Lightfoot ♦ Helen commented ·

2. This seems you have the right idea.

In the attached model I've added a reset behavior to the timetable to write the first break time as a label on the processor and then on the down event, update the same label (called nextBreak). This is valid while the timetable is the only one controlling its members (objects can be members of multiple timetables).

I've also added an visual indicator (column) to show the remaining time before the next Break (arbitrary scale) - it uses the processor ondraw trigger.

pullBasedOnTimeLeftBeforeBreak.fsm


Then, as you've identified, the processors pull requirement trigger can be as simple as this:

return time()+item.pTime < current.nextBreak; 

plus some padding time you might want.

1 Like 1 ·
Helen avatar image Helen Jason Lightfoot ♦ commented ·
Many thanks Jason!
0 Likes 0 ·
Felix Möhlmann avatar image Felix Möhlmann Helen commented ·
It seems that your model was not uploaded successfully. Could you please try again?
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.