Assembler - flowtime

All topics on coding 4Dscript in Enterprise Dynamics.
EvelineHermans
Posts: 28
Joined: Tuesday 28 July, 2015 - 10:34

Assembler - flowtime

Post by EvelineHermans »

Hi,

I have a questions concerning the assembling of multiple products into one product.
For example I need 1A + 20B + 5C + 2D to form mij product: E. As my intermediate products are stored in a reservoir, the flow of the outgoing intermediate products determines the time it takes till the assembler can start. Let's say all intermediate products flow with 1 product/second.

In the original process the intermediate products (from channel 2, 3, 4) are fed to the assembler preferably as late as possible. This means that I want to start with adding B (as it will take me 20 seconds), then start adding C after 15 seconds and finally after 18 seconds I add D to the assembler. But how can I simulate this?

Hope my explaination is clear! I added a schematic overview also, unfortunately I couldn't do it in ED since I don't have the licence on this computer.

Eveline
assembler.png
assembler.png (8.9 KiB) Viewed 8458 times
Taid
Posts: 7
Joined: Wednesday 22 April, 2015 - 16:20

Re: Assembler - flowtime

Post by Taid »

Would probably need a bit more information regarding if anything happens to those products before they end up in reservoir? Is it the same atom in which they are held ?
The easiest solution would be having 1 source with inter-arrival time of 1[s] which generates X number of A product Y number of B product etc etc sends A product to channel 1 sends Y product to channel 2 etc etc and loops the process

So something like this
Attachments
Assembler 4 products.mod
(16.83 KiB) Downloaded 300 times
EvelineHermans
Posts: 28
Joined: Tuesday 28 July, 2015 - 10:34

Re: Assembler - flowtime

Post by EvelineHermans »

Hi Taid,

The products A, B, C, D are all different products and they are therefore all stored in a separate atom which is fed by a transporter filling the reservoirs with batches of 25 products.

In my model I start off with a source (A-B-C-D separately), followed by a transporter that connects the source atom with the reservoir atom (feeds A to A, B to B, C to C and D to D). These reservoirs are coupled to the 'central' assembler (that therefore has 4 input channels).

Unfortunately the assembling starts by opening all input channels at once, but I would like to start feeding D if only two more products of A are needed to flow into the assembler. Do you understand my problem a bit better now?

Thanks for you reply!

Eveline
Taid
Posts: 7
Joined: Wednesday 22 April, 2015 - 16:20

Re: Assembler - flowtime

Post by Taid »

I still think my first model does exactly what u want, it just uses less atoms but is more complicated regarding the Script.
Do u need to use reservoir's ? I feel they aren't necessary in your model. Since what you really want to do is control output channels of atoms that are in front of assembler, simple queue's + server's (for fake 1 [s]) would do the work.
EvelineHermans
Posts: 28
Joined: Tuesday 28 July, 2015 - 10:34

Re: Assembler - flowtime

Post by EvelineHermans »

Sorry, but yes I need this reservoirs as my model is bigger than just this problem ;-). These reservoirs are also used in reality (as well as their min. and max. level of products) and as I also want to simulate the HR team doing some tasks and so on, I am convinced that I need these reservoirs.

In practice indeed the assembler atom can work with the servers like you explain, but then the whole simulation doesn't make sense anymore as it is not like in reality.. You understand?
Taid
Posts: 7
Joined: Wednesday 22 April, 2015 - 16:20

Re: Assembler - flowtime

Post by Taid »

If I understand you correctly,
you want to block the output channels of 3 reservoir's depending on an output of a 4th one as in:

1. Close ALL output channels on all reservoirs
2. Open output channel of reservoir A for 1 [pcs] product, close said channel
3. Open channel on Reservoir B for 20 [pcs] of product, close the channel
4. etc etc repeat

This kind of behavior, in my eyes changes reservoir to a simple queue because you disable all upper/lower level triggers
EvelineHermans
Posts: 28
Joined: Tuesday 28 July, 2015 - 10:34

Re: Assembler - flowtime

Post by EvelineHermans »

No, I want the last product of B, the last product of C and the the last product of D to be entering the Assember at the same time.
See a timeline I reconstructed:
Assembler1.gif
Assembler1.gif (7.06 KiB) Viewed 8428 times
So (assume all flows are 1 product per second):
- I want to open input channel 1 of Assember (connected to reservoir A) at t = 1 seconds
- I want to open input channel 2 of Assember (connected to reservoir B) at t = 1 seconds
- I want to open input channel 3 of Assember (connected to reservoir C) at t = 16 seconds
- I want to open input channel 4 of Assember (connected to reservoir D) at t = 19 seconds

This means that the assember is "complete" at t =20 seconds.
The reason why I want to do this: this effects the refill-moment of the reservoirs and thus the activities of Human Resources.
Bram de Vries
Posts: 60
Joined: Thursday 08 January, 2015 - 13:29

Re: Assembler - flowtime

Post by Bram de Vries »

Hello Eveline,

Are the times you mentioned and the numbers of different products needed for assembly always the same? So is the flowrate out of the reservoirs always 1 product/second and is your formula for the end product always 1A + 20B + 5C + 2D?

Kind regards,

Bram
EvelineHermans
Posts: 28
Joined: Tuesday 28 July, 2015 - 10:34

Re: Assembler - flowtime

Post by EvelineHermans »

Hello Bram,

No I have two different recipes and I recall these recipes in the Bill of Material (Assembler). Furthermore I have a table in where the flowtimes are defined so that they can be easily changed in future. These flowrates are defined in refFlows.
Recipe 1: 1A + 20B + 5C + 2D
Recipe 2: 1A + 18B + 7C + 2D

I attached a simplfied version of my model:
Flow_assembler.mod
(26.71 KiB) Downloaded 278 times
Cheers,
Eveline
SimonvdW
Posts: 47
Joined: Thursday 06 January, 2011 - 09:52

Re: Assembler - flowtime

Post by SimonvdW »

Hello Eveline,

Attached an example of what I expect you are looking for.

I used your model as basis but added some control functionality to determine when an output should be opened (on reset everything is closed).
The order or recipe atoms (yellow or purple) define the BOM. The table Flows the seconds per item from the reservoir to assembler.

When the order arrives in the assembler (onentry trigger) it calculates the required collection time per item type and stores this in the records of table TimeToCollectProducts.

A separate control loop is also triggered in the onentry. Per element of the BOM an atom is created and put in a multiService. The element of type A is released immediately. The other elements stay in this Multiservice until the calculated release time is there. This is the difference between the maximum required collection time and the required collection time for this element.
On exit the corresponding output channel of the reservoir is opened.

Once the complete BOM is collected (that should be on the same time now !) the process time of the Assembler starts. On Exit of the assembler all reservoirs are closed again and the system waits for a new order to assemble.

Regards,
Simon
Attachments
Flow_assembler_02.mod
(37.86 KiB) Downloaded 294 times
Post Reply