Cancel
Showing results for 
Search instead for 
Did you mean: 

How to move all MUs from buffer

Pioneer
Pioneer

Hello.


I’d like to simulate below situation but I don’t have any idea how to do it. I’d like to have a buffer which moves all of the MUs to the next station but only when buffer is full.


Thanks for help

13 REPLIES

Re: How to move all MUs from buffer

Solution Partner Genius Solution Partner Genius
Solution Partner Genius

Hi WD,

 

I can't see anything below but from your description I think I can answer your question.

 

Just put this code in the entrance control of the buffer you want to move items from and it should work. In my example I will be moving items from Buffer to Buffer1.

 

is
     MuCount:integer;
do
     If buffer.numMu = Buffer.capacity then
         For MuCount:= 1 to Buffer.capacity loop
             Buffer.cont.move(Buffer1);
         Next;
     End;
end;

 

You will have a problem if the next station is just for example a SingleProc as you won't be able to move them all at once. In this case I would use the attribute ExitLocked for the Buffer (have it locked when first items enters) and only open it when the buffer is Full (After If above). Also you could maybe you the EntranceLocked attribute of the buffer to ensure nothing enters when you are doing this.

 

Regards

 

Ollie

Oliver MacFarlane
Simulation Engineer
web: www.simsol.co.uk
e-mail: oliver.macfarlane@simsol.co.uk

Re: How to move all MUs from buffer

Pioneer
Pioneer

Thank You very much, that's exactly what I need

Re: How to move all MUs from buffer

Creator
Creator

Dear Ollie,

I've a similar problem, just let me explain my situation.
I've an oven that starts the job only if it's full (The oven capacity is 2, so i put a parallel proc with 2x1 dimensions)
How i can integrate this behaviour in my simulation?

I've tried to adopt your simtalk lines in buffer entrance control but the are some errors, and i'm not a genius with simtalk language.

 

Thanks

 

Manuel

 

Re: How to move all MUs from buffer

Phenom
Phenom

To simplify general understanding,

 

please describe the errors in  more detail

Re: How to move all MUs from buffer

Creator
Creator

is
      MuCount:integer;
do
      If buffer_PF.numMu = Buffer_PF.capacity then
          For MuCount:= 1 to Buffer_PF.capacity

             loop Buffer_PF.cont.move(FORNO_1);
          Next;
      End;
end;

 

Syntax Error :integer

Re: How to move all MUs from buffer

Phenom
Phenom

i guess you are using simtalk 1 syntax in a simtalk 2 environment.

 

Try to switch off the simtalk 2 s.b.

 

to continue with simtalk1 syntax

 

Unbenannt.PNG

Re: How to move all MUs from buffer

Creator
Creator
Now the syntax is correct, but the behavior is not what i expected..
I put the method in the entrance control window of the buffer as you wrote above. Is it right?

Re: How to move all MUs from buffer

Phenom
Phenom

To simplify general understanding,

 

please describe the unexpected model behaviour in more detail

 

 

Re: How to move all MUs from buffer

Creator
Creator

The buffer "B_Forno" does not work as i want, because it sends the object without waiting the other one.
The oven will work only when it will be full.

 

Please use the example below to understand what i would like to realize.

Thank you