Pull- System in Enterprise Dynamics

All topics specific to modeling questions in Enterprise Dynamics
Post Reply
soyleyenda
Posts: 3
Joined: Monday 03 December, 2012 - 14:08

Pull- System in Enterprise Dynamics

Post by soyleyenda »

Hello everybody,
my task is to find a model in Enterprise Dynamics, in which the atoms are pulled in by an oven (and not pushed as usual). Therefore I would like to use the condition control atom.

The interesting question is how to model an oven, which has a specific capacitiy (for example 200 kg of mass). The incoming atoms have different masses (written in a label). The oven should wait until at least for example 180 kg of mass are in the oven and then start to process the atoms all together. So the problem is, that I do not want to count the number of atoms but the information written in a label.

I thougt about using the reservoir atom. But as far as I understand this atom, it destroys the information on the atoms, which enter the reservoir atom and produces new atoms on the output.

Does anyone have an idea how to change the reservoir atom so that the atoms are not destroyed in the reservoir atom?

Thanks in advance

David
marlies
Posts: 301
Joined: Monday 17 January, 2011 - 09:28

Re: Pull- System in Enterprise Dynamics

Post by marlies »

Hello David,

When you deselect the option "Flow" in the first tab of the reservoir atom, the reservoir will work like a queue and the atoms with their labels will not be destroyed.

Regards, Marlies
soyleyenda
Posts: 3
Joined: Monday 03 December, 2012 - 14:08

Re: Pull- System in Enterprise Dynamics

Post by soyleyenda »

Thanks for your quick response Marlies.

I have another question about my model:
I would like to make a source atom produce products if another atom with a label reaches a certain point.

For example:
An atom with the label [weight]=5 reaches a Queue. This makes a source atom start producing 5 atoms as written in the label [weight].

My idea is to create one line called "information" to influnce the assembly line called "Flow of goods" I hope that this brings me to a point, where an oven waits till his capacity is reached and starts working.

Can anybody help?

Regards,
David
SimonvdW
Posts: 47
Joined: Thursday 06 January, 2011 - 09:52

Re: Pull- System in Enterprise Dynamics

Post by SimonvdW »

Hello,

There are several ways to create the control logic for a pull system. As the basic functionality is push-oriented you have to block the output.

As you suggest an 'information'-flow can then trigger the process line to continue.
As an example I prepared a demo model with a process flow and an information flow. The process flow contains a source which feeds a Queue. But this queue is blocked by closing its output. The product store cannot be reached.
The information flow creates information atoms, which have a label 'weight' assigned. When the information atom is processed and reached its queue, it tries to send this 'weight'-number of products from the queue (where products are blocked) into the product storage. There is a check whether this amount of products is already waiting.

In this example I use references through other channels to communicate between atoms in the different lines.
Instead of moving the atoms from the ‘hold products’ queue to the storage by this MoveAtom command there is another widely used method. That is by opening the output (with the openoutput- command, just as the Initialize closes it on reset, or the ConditionControl-atom) and let it close the output again after the required number of products have left the queue.

I hope this brings you any further.
Attachments
Influencing_pull_example.mod
(28.56 KiB) Downloaded 428 times
soyleyenda
Posts: 3
Joined: Monday 03 December, 2012 - 14:08

Re: Pull- System in Enterprise Dynamics

Post by soyleyenda »

Hello Simon,
this helped me a lot.
But I need to make some changes.
In your model the source atom is not connected to the process flow, what is necessary for my model. With a splitter I was able to change it.
The only thing that is missing now is that i need a code in the "Queue 1" Queue that counts the atoms in the "Queue 2" Queue.
Is it possible to wait until a certain number is in the Queue 2, then open Queue 1 and Queue 2 ( all atoms in the Queues go to the next step) and then start the process again?

Back to my oven this would mean that in my oven is an amount of weight, I start the burning process and after the burning process I repeat filling in material in the oven.
My problem is that I do not know how to let pass for example 100 atoms a certain point. The condition control connected to Queue 2 waits untill 100 atoms are in the Queue, then only 1 atom can pass in the information and the process level of the model.

Is there any 4D Script Code, which makes a Queue give all atoms in the Queue go to the next step?

I uploaded my version of the model, to make it easier understand my problem.

Thanks for all your help here in this community :)
Attachments
0801.mod
(17.92 KiB) Downloaded 347 times
SimonvdW
Posts: 47
Joined: Thursday 06 January, 2011 - 09:52

Re: Pull- System in Enterprise Dynamics

Post by SimonvdW »

Hi,

Your atoms already have a label with the weight on it, so you don't have to create all atoms in the splitter (this reduces the run speed). Just use the label value to decide when to enter the oven.

I expanded and changed your model a little bit to demonstrate it. In an Initialize atom I define a threshold value (at what weight the oven process is started ). The output of Queue 1 is initially closed.
When a splitted atom enters Queue 2 I read the weight labels and calculate whether the sum of all weights in this queue atom has crossed the threshold value. If not, nothing happens. If yes, then the output of both queues are opened. Products from Queue 1 go into the oven. As soon as the queue is emptied, the output is closed again.
Products from queue 2 just go to the sink. The queue is closed and a new cycle starts.

This construction is easier then using the Condition Controller.

Success.
Attachments
0801_upd.mod
updated model 0801
(18.6 KiB) Downloaded 341 times
Post Reply