Cancel
Showing results for 
Search instead for 
Did you mean: 

Example 77: Kanban Control (in Mr Steffen Bangsow's book)

Pioneer
Pioneer

Dear Mr Steffen Bangsow,

 

I am writing in regards to your example 77: Kanban Control on page 153 in your book "Manufacturing Simulation with Plant Simulation and Simtalk" published in 2010. As I was trying to practice this example, two questions came up to me, which are:

 

1. In reality, in order to apply Lean (Just - In - Time), we will need buffers (or supermarkets) between stations. In your example, it is understood that F1, F2 act as supermarkets for Machine1 and Machine2. The thing I find confusing here is that the buffer size in F1 & F2 is currently equal to zero (you didn't mention the number of containers of WIP already available there?). What if there have been a number of containers there already? How can we include, for example, 2 containers of WIP in F1 & F2 at the beginning?

 

2. And so, the first step of the production flow is a little bit different than in your example: there is no container at P at the beginning. To start, one container full of WIP from F1 will move to P. There, it is unloaded gradually and the rest of the process is just like your example. Finally, F1 will be filled again with one full container so the supermarket is maintained. Honestly, I don't know how to deal with the first step of this production flow in terms of code.

 

My problem is that I want to visualize via chart the difference in buffer between the current state and the future state (which is the similar to your example). If there is no buffer in the beginning, I wouldn't be able to visualize it.

 

I attach the file here in case you want to have a quick look at it, please see frame KanbanN_JustInTime, I rename the elements but their positions are equivalent. The codes there are from your book.

 

Thank you so much Mr Bangsow.

10 REPLIES 10

Re: Example 77: Kanban Control (in Mr Steffen Bangsow's book)

Gears Esteemed Contributor Gears Esteemed Contributor
Gears Esteemed Contributor

first: this is only a simple programming example

but the way would be the same, also if you use supermarkets

 

If you have supermarkets in between, the request for parts is going first to the supermarket. The supermarket sends the parts to the requesting point and requests parts from the machines  from its supplier (two loops). In a well balanced KANBAN system you dont have finished parts at the machines (outside the actually WIP), so you only have buffers for orders (cards, empty containers as a order queue). After finishing one order, the container is sent back to the requesting point. So you only have to create the stocks in the supermarkets in the init-method.

 

"What if there have been a number of containers there already? How can we include, for example, 2 containers of WIP in F1 & F2 at the beginning?"

 

F1; R1 and F2;R2 are only places for the containers (no supermarket), at the start of the simulation and if there is no order, they should be empty. For statistics you can skip the time you need, to fill the system with orders.

 

So as a next step you should include a supermarket...

 

 

 

 

 

 

 

 

 

Steffen Bangsow
freelance simulation specialist  
web: www.bangsow.eu
mail: steffen@bangsow.net

Re: Example 77: Kanban Control (in Mr Steffen Bangsow's book)

Pioneer
Pioneer

 

Dear Mr Bangsow,

 

In frame Kanban_JustInTime1, I tried to create 3 containers in supermarket1, supermarket2 and supermarket3 using loops as you suggested:

is
	i,k : integer;
	container : object;
	buffer : object;
do
	deletemovables;
	local buffers:object[]:=makeArray(supermarket1,supermarket2,supermarket3);
	for k:=1 to buffers.dim loop
		buffer:=buffers[k];
		.MUs.kanban_container.create(buffer);
		for i := 1 to 500 loop
			.mus.part.create(buffer.cont);
		next;
	next;
	
	container := .mus.kanban_container.create(supermarket2);
	container.target_empty := cutting_filled;
	container.target_filled := supermarket2;
	container.workplace := cutting;
	while not container.full loop
		.mus.part.create(container);
	end;
	container := .mus.kanban_container.create(cutting_empty);
	container.target_empty := punching_filled;
	container.target_filled := cutting_empty;
	container.workplace := punching;
	container := .mus.kanban_container.create(punching_empty);
	container.target_empty := empty_container1;
	container.target_filled := punching_empty;
	container.workplace := bulging;
end;

but then something went wrong with the method Deliver, as it said in the picture. I don't understand why there is a problem with the destination. Please show me my mistake on this Smiley Sad

deliver.jpg

Re: Example 77: Kanban Control (in Mr Steffen Bangsow's book)

Gears Esteemed Contributor Gears Esteemed Contributor
Gears Esteemed Contributor
as you see in the values of the variables, ? is the supermarket3; the supermarket should not have an exit control, you need a place "in front" the supermarket to fulfill the requests from the customers (where you handle the empty container from the customer). The supermarket should be completely passive,
Steffen Bangsow
freelance simulation specialist  
web: www.bangsow.eu
mail: steffen@bangsow.net

Re: Example 77: Kanban Control (in Mr Steffen Bangsow's book)

Pioneer
Pioneer

Thank you Mr Bangsow, I will do as you instructed.

 

By the way I have another minor question. In the same example above, you set the availability of Machine1 and Machine2 to 100%. In reality, am I right to understand that because of the buffer (supermarket), the parts are always available whenever the downstream machines need them, so the fact that Machine1 or Machine2 may fail any time does not matter anymore, and that's why their availability is made up for, thus it is 100%?

Re: Example 77: Kanban Control (in Mr Steffen Bangsow's book)

Gears Esteemed Contributor Gears Esteemed Contributor
Gears Esteemed Contributor
once again, it is only a simple training example; if you need to check the right size of the buffers, you will need to set also availability data
Steffen Bangsow
freelance simulation specialist  
web: www.bangsow.eu
mail: steffen@bangsow.net

Re: Example 77: Kanban Control (in Mr Steffen Bangsow's book)

Pioneer
Pioneer
I'm afraid I'm still not clear about it. Does that mean if we have enough buffer to cover for the downstream demands even when the machine is failed, then the availability can be set to 100%?

Re: Example 77: Kanban Control (in Mr Steffen Bangsow's book)

Gears Esteemed Contributor Gears Esteemed Contributor
Gears Esteemed Contributor

no, this would be wrong. You need to differ between machine-avaiability and line-availability. Through the buffers the line may be able to deliver parts, also if the single machines are unavailable from time to time.

In reality the machine availability is never 100%. Nevertheless the line may deliver up to 100% without delay.

 

 

Steffen Bangsow
freelance simulation specialist  
web: www.bangsow.eu
mail: steffen@bangsow.net

Re: Example 77: Kanban Control (in Mr Steffen Bangsow's book)

Pioneer
Pioneer
Thank you I understand it now. Forgive me if I ask stupid question, but I was wondering if we can consider the line availability and machine availability the same if and only if in the JIT system? Because any time a machine fails, the buffer will make up for it until it has been repaired and go back to work again. So, we know that in reality, its availability is not 100%, but in terms of the line, it is. And that's the reason when we build a JIT model, we are allowed to set machine availability to 100%?

Re: Example 77: Kanban Control (in Mr Steffen Bangsow's book)

Gears Esteemed Contributor Gears Esteemed Contributor
Gears Esteemed Contributor
"And that's the reason when we build a JIT model, we are allowed to set machine availability to 100%?"
there is no reason to keep the availability to 100%, except you have no data about the failures
Steffen Bangsow
freelance simulation specialist  
web: www.bangsow.eu
mail: steffen@bangsow.net