I have a source, a tank, a mixer and a drain connected in parallell.
Fluid Source --> Tank --> Mixer --> Fluid Drain
Is it possible to set a user-defined attribute of a fluid? The fluid should either move to another process or the Fluid Drain depending on this desired attribute.
(pseduo code): Fluid Source --> Tank --> Mixer --> [Condition] Condition: if FluidAttribute = 1 --> go to Fluid Drain else go to Process 4; end;
If it is not possible to assign a custom attribute to a fluid, how would I go about solving the task described in the code window?
Edit: In addition, I would like to know if it is possible to schedule a fluid system to operate according to a schedule or production plan? The MUs have a delivery table for this which is nice but the fluids do not seem to have this functionality. However, it must be possible to schedule what recipe to run and at which time. I cannot figure it out.
Solved! Go to Solution.
Fluids are not MUs. The fluid is described by the information in the MaterialsTable. You can observe the flowrate in the pipes, read the information about the material and react to it. But to build up a control you need to consider, how such a technical system is working. Such systems consists of a lot of pipes. The flow is controled by valves. There is no valve object in the library, but you have the possibility to close/ open pipes or create/delete connectors to change the flow.
You cannot assign user defined attribute to the fluid, but you can create a table with attributes for a material.
Here you find a example with dynamic connectors:
To produce a receipt you need for each element one fluid source (or tank). Then you open the pipe using a control for a given time. Or you use the mixer to create the receipt (no programmig is necessary).
freelance simulation specialist
Thank you for your answer Steffen,
How would I go about mixing materials from the materials table according to a production schedule?
To further explain, I would very much like to know how to decide that the first recipe in the materials table should be produced at time X, while the second recipe should be produced at time Y, the third at time Z etc. The way the mixer works now is that it directly continues with the next recipe in the materials table, which is not desired for my case.
Thank you for your help.
you can schedule a call of a method with 'methcall', e.g. ref(Method).methcall(X) would call the method with name 'Method' in X seconds.
In this method you define the product the mixer should produce.
Then you can watch the attribute 'Ready' of the mixer and then set the product to an empty string or close the entrance of the mixer. This prevents that the mixer is producing the same product again.