adv. Transporter unload Problems

All topics on coding 4Dscript in Enterprise Dynamics.
Post Reply
renevandewall
Posts: 12
Joined: Thursday 19 September, 2013 - 15:45

adv. Transporter unload Problems

Post by renevandewall »

Hi All,

I have some problems with the unloading times:

1. I want to have different unloading times for different locations. The unloadtime is linked to the location where the transporter stops for unloading (i.e. by atom-name), so I need to reference to the next atom where the atoms in the conveyor are unloaded to. How do I manage this? I tried using next(c) but it seems to reference to the destinator-atom instead of the drop-off location.

I was thinking of a code something like:

Code: Select all

if( Name of atom where transporter stops next to := Name of location 1) ,    
 mins(90),
  if( Name of atom where transporter stops next to:= Name of location 1) := 2, 
   duniform(mins(30),mins(60)), 
     ..... etc
    
2. When a transporter holds more than one atom for a location, the unload time is the total time of unloading all atoms, instead of the time per single atom. How can I fix this?

I have attached an example-file
Thank you in Advance,

René
Attachments
unload-test.mod
(38.42 KiB) Downloaded 255 times
manuel
Posts: 9
Joined: Monday 28 October, 2013 - 10:47

Re: adv. Transporter unload Problems

Post by manuel »

Hi,

you could try saving the channel you choose in the advanced transporter on a label on the product. then you can get the drop-off location by: out(Label([destination],i), atombyname([Destinator],model)). hope this helps
manuel
Posts: 9
Joined: Monday 28 October, 2013 - 10:47

Re: adv. Transporter unload Problems

Post by manuel »

an idea for your second problem:

you could unload your first atom to the normal destination with the normal unload time and your second atom to a server, leading to your normal destination with a cycletime equal to your unloadtime for the second atom.
renevandewall
Posts: 12
Joined: Thursday 19 September, 2013 - 15:45

Re: adv. Transporter unload Problems

Post by renevandewall »

Hi Manuel,

Thank you for your quick replies,
For the first question I have done sort of the same now, I labeled the products with label([dest],i)= 'number', and send the adv-transporter by this atom label.

The second solution however seems a bit inefficient. I prefer using only 1 atom per unload location. I also don't know how to perform this, since it would need two different channels for the normal unload atom and the extra server.

It it perhaps possible to :
Option A:
- do the unload time for the first product in the queue
- when finished, search for next product to be unloaded in que
- give this product a unloadtime 0
- repeat step 2 and 3 until all product are unloaded.
Option B:
-unloadtime for all atoms is 0, and will be loaded into a server with restriction Batch in - Batch out.
-The server servicetime represents the unloadtime, The truck is not allowed to move to the next destination until the server is idle.

Regards,
René
marlies
Posts: 301
Joined: Monday 17 January, 2011 - 09:28

Re: adv. Transporter unload Problems

Post by marlies »

Hi René and Manuel,

Instead of using extra atoms, it can be done with a piece of code as well. See attached model for my suggestion:

- Store a label currentdest on the transporter itself. This can be compared with the label dest on the next atom to be unloaded. If that one is not the same, the next atom is a new unload on the next destination. Then loop over the products in the transporter to calculate the unloadtime for that destination.
- Make sure to reset the label currentdest in the exittrigger of the transporter as soon as it is empty and on reset using the atom initialize.
- Make sure to sort the products within the transporter using the option unloadsequence.
- To check the functionality I added a trace to the calculation of the loadtime, you can see the result by opening the tracer window (menu: window > tracer)

Hope this helps!

Regards, Marlies
Attachments
20131219_UnloadtimeTransporters.mod
(25.89 KiB) Downloaded 260 times
renevandewall
Posts: 12
Joined: Thursday 19 September, 2013 - 15:45

Re: adv. Transporter unload Problems

Post by renevandewall »

Hi Marlies,

This is exactly what I need, Thank you!
I came up with sort of the same code, but did not know the unload time is always determined by the last value in the unload code.

Regards,
René
marlies
Posts: 301
Joined: Monday 17 January, 2011 - 09:28

Re: adv. Transporter unload Problems

Post by marlies »

Hi René,

Good that the problem is solved!

In general you can say that any piece of script within a do returns the resultvalue of the last executed command within the script. So, that is also the case for other cycle times, for sendto statements, for triggers etc.

Regards, Marlies
Post Reply