CNC Machine and Tool Changes

CNC Machine and Tool Changes

julian_valdes1
Not applicable
172 Views
7 Replies
Message 1 of 8

CNC Machine and Tool Changes

julian_valdes1
Not applicable

[ FlexSim 16.0.1 ]

Using the concepts from this question, I'm still not clear how FlexSim would manage something like CNC machines tool changes:

One CNC has up to 12 cutting tools, each tool has a specific tool life and tool change time (setup time):

Example :

Processor stops every:

150 (for 3 min)

450 (for 5 min)

1000 (for 12 min)

1750 (for 4 min) processed parts.

Etc.....

Accepted solutions (1)
173 Views
7 Replies
Replies (7)
Message 2 of 8

jeff_nordgren
Not applicable
Accepted solution

In this model I modified the Process Flow of the model from this answer to do the four breakdowns as you requested. Because you didn't state differently, if there is a break for the 150th item, which also happens to be the 450th item, it will do both breaks. The same goes for all the breaks. In other words, it will do all the breaks based on the number of processed flowitems by the processor, if that includes all the breaks, then all of them will be done. I've attached is what the Process Flow looks like.

544-flow.png

If you have any questions or problems, please ask.

Message 3 of 8

Matthew_Gillespie
Autodesk
Autodesk

So after 450 parts the processor stops for both 3 minutes and 5 minutes with the delays overlapping?



Matthew Gillespie
FlexSim Software Developer

0 Likes
Message 4 of 8

julian_valdes1
Not applicable

When the tool life counters overlap; the downtime will add up:

3min + 5 min= 8 min total downtime.

Thanks !!

0 Likes
Message 5 of 8

julian_valdes1
Not applicable

When the tool life counters overlap; the downtime will add up:

3min + 5 min= 8 min total downtime.

Thanks !!

0 Likes
Message 6 of 8

joerg_vogel_HsH
Mentor
Mentor

I think the classic approach fits, too. The starting point is the answer of @Brenton King in this answer. In the source code editor get rid of the picklist description tags by pressing the icon, bottom left showing all together a hand, text picture and a red mark. Then you find in the if-condition the variable "cnt". That is the n-th item you want set a different setup time for. You can replace the variable with the number. The return value is the setup time for this item.

you can copy the two code lines of the if-statement and the return for each different n-th item you want to set a different setup time. In following code I have commented those lines and write "simple :" before the return. Uncomment them if you like the simple approach. Delete the next line starting with the variable setuptime then, too.

The unchanged code itself combines the different setup time values, if more than one condition becomes true. The last condition tests if the initial setup time variable value is changed. Then this value is returned as the setup time. Otherwise the setup time return value is zero. The command minutes(num value) returns the value in simulation time units - typically in seconds.

double setuptime = 0;

//int cnt = 300;
if (fmod(getinput(current),150) == 0)

	// simple: return minutes(3);

	setuptime += minutes(3);

if (fmod(getinput(current),450) == 0)

	// simple: return minutes(5);

	setuptime += minutes(5);

if (fmod(getinput(current),1000) == 0)

	// simple: return minutes(12);

	setuptime += minutes(12);

if (fmod(getinput(current),1750) == 0)

	// simple: return minutes(4);

	setuptime += minutes(4);

if(setuptime)

	return setuptime;
 
else return 0;
Message 7 of 8

jeff_nordgren
Not applicable

In that case all you'd have to do is add something so that only one token can enter the delay at a time. You could use either a resource or zone to do that. I updated this model to use a zone to limit the down time to one tool at a time.

545-flowwithzone.png

0 Likes
Message 8 of 8

herwina_richelle_andres
Not applicable

lot-flow-1-plane-customstate-2-itemtype2.fsm

Hi @Jörg Vogel !

I have tried your suggestion on the variable set-up time and units between assist values. It did work. However, when I tried assigning the custom state "IAA" for those events, the first event of requiring 2 units before requiring set-up did not happen anymore as you would notice on the state_setup on Plane17/InPROCESS. Can you help me on this?

Thank you!

3692-muba-customstate.jpg

3693-muba-customstate2.jpg

0 Likes