Cancel
Showing results for 
Search instead for 
Did you mean: 

Conditional Production

Pioneer
Pioneer

Hi,

 

Question:

 

1. Does anyone know how to produce entities according to the type in the other line. I have two lines( line1 and line2) in Zone3. Line1 produces Entity A and B, while Line2 makes Container A and B. Lines 1 should produce entities according to the type appearing in Line2. So, if the first container produced in Line2 is type A, Line1 then should make Entity A.

 

2. Can Line2 produce two types of containers in random? I know how to make machine produce entities in the sequence.

 

I use Plant Simulation Version 12 and a student liscence. It seems that I cannot open models which have higher version.

 

Many thanks for your help.

 

Loki

5 REPLIES

Betreff: Conditional Production

Siemens Phenom Siemens Phenom
Siemens Phenom

Hello Loki,

 

instead of a source object for Line2 use a SingleProc. Define an Exit control at source Line1 which creates a container on SingleProc Line2 according to the type of MU exiting the source Line1. To do so, you can use 

 

.MUs.Container.create(Line1)

 

for creating the container at Line2.

This also answers you second question.

 

Hop this will help you.

 

Regards

 

GG

Regards
GG

------------------------------------------------------------------------------------------------------
Did you like the answer? Then click the Thumbs Up button.
Did the answer solve your problem? Then accept the answer as solution

Betreff: Conditional Production

Pioneer
Pioneer

Dear GG,

 

I see what you mean, but it does not work somehow. I am a beginner of Plant Simulation. Could please teach me how to use that code, if possible.

 

Many thanks

Re: Conditional Production

Siemens Phenom Siemens Phenom
Siemens Phenom

Hi!

 

Please see the example attached. Here are some key notes:

 

  1. I've created several MU classes (Container, Part, A/B). That's not mandatory, just convenient in this case.
  2. Only line2 create mus (containers). After container is created, method is called, which creates two parts in the beginning of line1 (see Controls tab in line2)
  3. In your case you need to create TWO parts for each container, because two Buffers are connected to the Assembly, so it'll wait for a part from each of them
  4. Containers are created in random sequence with frequencies defined in CreationTable (see Attributes tab in line2)

 

Regards, Vladimir.

Re: Conditional Production

Pioneer
Pioneer

Hi Skeeve,

 

New Question:

1. Each Container can only carry one Mu in the "Assembly" machine. Therefore, one PartA is attached to one ContainerA. So does PartB. Further, PartA only goes to BufferA, and PartB goes to BufferB. I modified the model a little, but it's blocked somehow.

 

2. The capacity of each buffer is 9. Normally, two buffers are full of MUs. If one ContainerA appears in Line2, one PartA from BufferA goes to the "Assembly" machine. If there are less PartA in the buffer, compared with the number of PartB in BufferB, Line1 requests a new PartA. I am not sure which code I can use. Can you please do me a favour?

 

Thanks for your help.

 

 

Kind Regards

Loki

Re: Conditional Production

Siemens Phenom Siemens Phenom
Siemens Phenom

Hi!

 

1) This logic is not supported by Assembly object by default. What Assembly does - it's take one part from each connector except main and puts all of them into a part, coming from "main" entrance. You also can define an assembly table to take more then one part from each entrance - but you cannot choose, which pats to take depending on the type of "main" part.That was the reason why your model did not work: Assembly was waiting for a part at the second entrance (from BufferB), which never arrived.

 

So you can use the different approach. See the model attached, I've made two copies of your frame for two different approaches.

 

First frame uses Simtalk method, which is called at the exit control of Line2. It just looks to the type of container and takes an appropriate part for assembly.

Second frame uses "resource" approach. I've created two Assembly stations - for each type of container. Line2 exit strategy delivers container to appropriate Assembly station. Problem here is that both AssemblyA and AssemblyB can work simultaneously, thus doubling the throughput. So I've used one shared resource (see Import Resources tab) for both stations. This way only one can work at a time. Even if each station has a container on it, only one of them is processed.

 

 

2)That's easy. You can create an ExitControl for Buffers. When a part moves out of buffer, method can compare BufferX.numMU and create one more part at line1.

But I think you should correct your logic here. In the current model parts on line1 are cerated when container is created on line2. If you will create one more PartA depending on the number of parts in buffers - you will create extra part and you'll have more parts than containers. Also with current logic each buffer cannot contain more than 2 parts (one for container on Assembly station + one for next container created on Line2).

Regards, Vladimir.