Cancel
Showing results for 
Search instead for 
Did you mean: 

Release parts to create lots of different size

Legend
Legend

Hello!

 

Unfortunately, I cannot attach my model but I have tried to explain the problem as good as I can.

 

The parts from the source are generated randomly and I want to create lots from these 4 Line elements.

 

The lot size for blue and pink parts should be 6 units, and for green and orange be 4 units(Could not use Flow Control with sequence cyclical because I want to be able to change these sizes).

sortcounter.PNG

I tried to create observers for numMU for all the lines, but then all lines try to push parts to the SingleProc and the sequence is disturbed.

 

Then, I tried to create a pull control based on a counter, but got stuck.

Any help is appreciated.

 

Sanchay

 

P.S. I found a similar post, but it uses the flow control which doesn't help me.

https://community.plm.automation.siemens.com/t5/Plant-Simulation-Forum/Entry-Strategy-for-a-conveyor...

 

4 REPLIES

Re: Release parts to create lots of different size

Phenom
Phenom

You can monitor / control the

 

filling level / lot size per line through an exit method (source)

 

and open /close the line exit  to release the lot to the singleProc.

Re: Release parts to create lots of different size

Legend
Legend

I tried this method and works out well for the most part.

My current methods look like the following

 

Exit Control of Source:

@.move
if  Line.ExitLocked and Line1.ExitLocked and Line11.ExitLocked and Line111.ExitLocked
	if Line111.numMU > largeMotorLot
		Line111.ExitLocked := false
	elseif Line11.numMU > largeMotorLot
		Line11.ExitLocked := false
	elseif Line1.numMU > smallMotorLot
		Line1.ExitLocked := false
	elseif Line.numMU > smallMotorLot
		Line.ExitLocked := false
	end
end

Exit Control of all Line elements:

@.move

counter += 1

var currLotSize : integer
switch ?.Name
case "Line", "Line1"
	currLotSize := smallMotorLot          -- 6
case "Line11", "Line111"
	currLotSize := largeMotorLot          -- 4  
end

if counter = currLotSize
	waituntil @.Location = SingleProc
	?.ExitLocked := true
	counter := 0
end

Can you suggest a way so that no consecutive lots are of the same type? That is, if a lot was taken from Line111, the next one shouldn't be taken from the same line, (unless nothing else is available).

 

P.S. : I am basically trying to create a Heijunka flow.

 

Re: Release parts to create lots of different size

Phenom
Phenom

One way could be to wrap the if conditions of the exit control into a loop

 

eg.

.

.

var l:=makeArray(line,line1,line11,line111)
 var motorLot:=makeArray(6,6,4,4)

var j:=-1

for  var i:=1 to l.dim

if L.numMU >= motorLot and L /= lastLine
  j:=i
  exitLoop
 end

next

 

if j > 0 then

L(j).ExitLocked := false

end

 

If none is found, then you have to check if the LastLine  meets the >= motorLot condition

 

 

 

 

Re: Release parts to create lots of different size

Legend
Legend

Thanks a lot! This solved the problem.  Smiley Happy