Modelling a Distribution Centre

All topics specific to modeling questions in Enterprise Dynamics
darek89
Posts: 9
Joined: Tuesday 07 October, 2014 - 10:56

Modelling a Distribution Centre

Post by darek89 »

Hi together,

i must provide a komplex Modell (for me :D ) in ED and need some help in few points.

First I explain the concept:
I model a Warehouse with different products. The products are in shelvings, divided in corridors.
I want see, how much products the stacker can pick in one hour.
When the stacker beginn to work, he get an order with few positions he should pick (for example: corridor 2, shelving 3; corridor 5, shelving 9..)
The orders are specific, i have in an excel list
If he finished the order, he drive to a Laydown area and put the product down.
Then he get a again a new order and pick from the beginning.

My questions are:
1. Can i start the simulation with full Warehouse-Atoms? Beacuse i want pick products, and not fill the warehouse
2. How can i deliver orders to the Advanced Transporter, that he drive to the positions and pick the products?
2b) Should the excel list have a specific layout?
3. Did i need for one corridor only one Warehouse-Atom or for any position one Warehouse-Atom? For the two solutions i have build the modells already

I Hope you unterstand my problem by my bad english :D
Attachments
Second Solution.mod
(102.55 KiB) Downloaded 303 times
First Solution.mod
(31.92 KiB) Downloaded 302 times
User avatar
HarryBunnik
Posts: 362
Joined: Monday 07 February, 2011 - 11:22

Re: Modelling a Distribution Centre

Post by HarryBunnik »

Hello,

I fear that you still will have to fill the warehouse, but that you can also do by creating a large number of products in the first seconds of the simulation and directly insert them into your warehouse.

And for the other questions I was wondering if the example model that is delivered with ED ("models\example\English\Transport\AdvancedTransporter_PickAtom&PlaceAtom2.mod") might not be helpful?

About the Excel list, I'm not sure what you mean with that. I see noe Excel of ActiveX atom in your models? So perhaps you can give me some more information?

Cheers,

Harry
darek89
Posts: 9
Joined: Tuesday 07 October, 2014 - 10:56

Re: Modelling a Distribution Centre

Post by darek89 »

Thx for the tips!

Now i try to understand the example models :)
darek89
Posts: 9
Joined: Tuesday 07 October, 2014 - 10:56

Re: Modelling a Distribution Centre

Post by darek89 »

I make a new try to modell my simulation. But now i start with my excel table with the Pickorders.

First i have the orders "Kommissionierauftrag". The transporter should get one of this orders. Every order have several pick positions which the transporter should visit. If the transporter pick 40 units, he should drive to the sink, unload the units and continue the order. If he finish the order he should drive to the start position and get a new order.

The warehouse is segmented in 4 sections. Therefore the Pickorders have this form: 02-02-002-0 -> SS - CC - PPP - FF

SS- Section
CC- Corridor
PPP- Position
FF- Floor (Most cases 00)

Maybe someone can give me some tips if it is generelly possible to create a modell which can read my excel table or if i must change the form of my pick orders and how i should start with the modelling???



I try to unterstand the Transporter Pick and Place Atom 2 example but my Pickorders make me worriers how to create the model :|
Attachments
Transport Orders Example.xlsx
(10.84 KiB) Downloaded 323 times
User avatar
HarryBunnik
Posts: 362
Joined: Monday 07 February, 2011 - 11:22

Re: Modelling a Distribution Centre

Post by HarryBunnik »

Hello,

A few points on you order list:
  • You might use the Excel ActiveX atom to import the data from Excel
  • It might be better to split the order, so it is in 4 columns instead of one. That will make it easier (and faster) to refer to them.
  • You can the loop over the table and keep track of which sub-order of your Kommissionierauftrag you are.
  • I would add an extra column in you order table which contains the number of products that are already picked. That makes your administration (when you have to continue with a half finished order for instance) easier.
These are a few points that jump to mind. I hope they help you a bit.

Cheers,

Harry

P.S.

Sorry for my late response, but I missed your post earlier.
darek89
Posts: 9
Joined: Tuesday 07 October, 2014 - 10:56

Re: Modelling a Distribution Centre

Post by darek89 »

Hi together,
i designed my distribution centre a little further on. But Im not so good in writing the 4D Skript, therefore I have a few another questions.

First I designed two sections with 3 and 2 Warehouses named for example 01-02 (section 1 and corridor 2). Each warehouses have 10 columns.
Than I have tow tables. table A contains the ordes with the number of positions to pick. Table B contains the Positions and number of prorduct which are to pick.
The souce fill my warehouse in the first second and refill empty positions automaticly.

1. Where should I write the Advances Transporter_Pick Atom order? Or should i build the ForkLiftController like in the example models?
2 How can I read the exactly Position from the table in the Advances Transporter_Pick Atom oder?

Code: Select all

AdvancedTransporter_PickAtom(
       i,
       ??,
       AtomByID(cell(TableB(??),TableB(2,4),??),?)
      )
3.Where can i write the quantity than the transporter habe to pick?

4. After a order is finished, the transporter shoud drive to the sink, place the atoms und start the next order. How can i realise this??
Attachments
Distribution Centre.mod
(56.72 KiB) Downloaded 287 times
darek89
Posts: 9
Joined: Tuesday 07 October, 2014 - 10:56

Re: Modelling a Distribution Centre

Post by darek89 »

I make a few advances in my model :D .

My ideas are now:
Trigger on entry in the advanced transporter:
if the content in the transporter in smaller than the quantity of the order (TableA column 3, row x) Create Event 1, otherwise Event 2 in the ForkLiftController

Code: Select all

If(
 Content(c)<Cell(x,3,[TableA]),
  CreateEvent(0,refForkLiftController,1,-100,c),
  CreateEvent(0,refForkLiftController,2,-100,c)
 )
Triger on exit in the advanced transporter:
if the content is bigger than 0, place product to the sink, otherwise create event 1 and switch to next row in tableA (Quantity in next order)

Code: Select all

If(
 content(c)>0,
 AdvancedTransporter_PlaceAtom(c,AtomByName([Sink],Model),first(c)),
 and(
 CreateEvent(0,refForkLiftController,1,-100,c),
 {Next row in tableA, column 3}
  )
 )
ForkLiftController:
In TableB is the quantity to pick so if the content in the transporter is smaller than the content+ the quantity of the position, the transporter must pick, otherwise he should jump to the next row x

Code: Select all

case(
 eventcode,
 { Event 1: Load forklift, take the position of the product from the table. }
  do(
   if( 
    content(refTransporter)< Content(refTransporter)+Cell(x,5,[TableB]), {number of picks in one position }
     do(
      AdvancedTransporter_PickAtom(
       {pick atom from warehouse and position}
       {how do it??}
       i,
      
      ),
      {if contents equal ,jump to next row in TableB}
      {How to jump to the next cell??}
          
  )),
  { Event 2: Unload forklift. }
  do(
   AdvancedTransporter_PlaceAtom(i,AtomByName([Sink],Model),first(i))
  )
)
Now i dont know how to switch to the next cell in tableA and tableB and how to build the transport order. Especially the information in which warehouse the transporter should pick!
Attachments
Distribution Centre.mod
(58.5 KiB) Downloaded 287 times
SimonvdW
Posts: 47
Joined: Thursday 06 January, 2011 - 09:52

Re: Modelling a Distribution Centre

Post by SimonvdW »

Hi,

I used your approach (layout and table B) to demonstrate the functionality. See attached model.

One could use the triggers to write all code. I chose to use a blank atom and named it 'OrderControl'. It has some code on it to deal with the 2 events: event 1 is a next pick line; event 2 is complete the order by dropping it at the sink.

In the source I created the first pick line (event 1) for the transporter as soon as the warehouses are all full.
From now on the code on the transport defines what to do:

- when a product is loaded (trigger on entry) the next line in Tabel B is read. Is it not another order and is the table not finished, then use the next line as a new orderline to pick. The code in the OrderControl uses the values in this row to find the section & corridor (together they define the warehouse) and the position. If the next line is another order or there are no more order lines, then start the place event (number 2).

- when a product is placed at the sink check whether the transporter is emty. If not continue emptying. If so, then start the new pick order (if available) by generating a new pick event( number 1).

Hope this is clear.
Regards, Simon
Attachments
Distribution Centre_3.mod
Example
(69.11 KiB) Downloaded 301 times
darek89
Posts: 9
Joined: Tuesday 07 October, 2014 - 10:56

Re: Modelling a Distribution Centre

Post by darek89 »

Thank you Simon for the model. It helps me a lot to understand how to build a distribution center.

I have only one last question:

The advanced transporter drives only to the first or last position from warehouse. Is it possible that the transporter drives precisely to the position where he should pick??


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

Re: Modelling a Distribution Centre

Post by SimonvdW »

Hi Darek,

In the Advanced transporter you find a tab called Offset. In it you can define the offset per direction for picking or placing.
As you just want to pick you only need to define an X and Y offset for picking. Offsets are relative to the left-upper corner of the atoms connected to the nodes (here: the warehouse atoms).
In y-direction I selected 'Horizontal line'. For the offset in x-direction I use a label called 'Xposition' which is defined on the product that has to be picked. Assigning the label value is done in the 'OrderControl' atom. In the first event it is defined which product to pick next, based on section, corridor and position. The value position is now also used to define the 'Xposition' label of the product to pick (in meters).
As the column size is variable, I multiplied this value position with the width per column: warehouse length / number of columns.

This is implemented in the attached model, version 3b.

Finally, it is very likely that your version of the Advanced transporter atom is not working correctly. The download version of ED contained a pilot version which seemed to have a malfunction in the offsets. Attached you find the correct version of the Advanced transporter atom. Backup the existing file (you find in under Program Files \Enterprise Dynamics 9\Atoms\Transport\Floorbound ) and save the new one in this directory.
After restarting ED will use this well-functioning version.

Regards, Simon
Attachments
Distribution Centre_3b.mod
(69.17 KiB) Downloaded 302 times
Advanced Transporter.atm
(66.02 KiB) Downloaded 307 times
Post Reply