Give priority to products after an event

All topics specific to modeling questions in Enterprise Dynamics
Post Reply
picsou
Posts: 10
Joined: Thursday 20 June, 2013 - 09:46

Give priority to products after an event

Post by picsou »

Hello

I have a little problem and questions in my model.

The model is a distribution center, where products are unload, some (the red products) are send in a picking area. The others are stocked in the warehouse. The local production gives also products (in green and fuchsia).
The User Event “Bestellung” gives new orders. The User Event “Auftraggeber” checks regularly if enough products are available for the last order and changes the labels in the due case. When products are assigned to an order, they become orange and receive the value 2 on the label “etat” (first check at 2 min 30).

My first little problem is that blue products who are assigned when they are in the warehouse are not taken immediately by the advanced transporter. They are only taken, when the products for the next order are assigned.
How can have the last assigned products the priority (without use the advanced_transporter_pick_atom statement if possible)?

My others questions concern the modeling of loads/unloads in the ground storage and the warehouse: how can move the advanced transporters into the ground storage and the warehouse, and load atoms at their places (instead the entry of the storage)?

Thanks for your help

Picsou
Attachments
ModelCenter.mod
Model center
(90.57 KiB) Downloaded 247 times
marlies
Posts: 301
Joined: Monday 17 January, 2011 - 09:28

Re: Give priority to products after an event

Post by marlies »

Hi Picsou,

The 2nd question is explained in the attached example. You'll have to connect the ground storage with to network nodes and use the offset parameters on the advanced transporter (tab offset).

For the picking strategy you could try using the queue discipline setting on the warehouse atom. Put the blue ones at rank 1 when they enter.

I would prefer to use the pickatom command, it gives you more control about which atom to pick and you may pick multiple products from 1 warehouse at the same time.

Regards, Marlies
Attachments
20130620_Warehousing.mod
(30.33 KiB) Downloaded 260 times
picsou
Posts: 10
Joined: Thursday 20 June, 2013 - 09:46

Re: Give priority to products after an event

Post by picsou »

Hello

Thank you for your last response

Since the last time, I have reworked my model and I have new questions.

I have tried not to use the dispatcher (to can dispatch by the shortest distance), but I have some problems since:

- An error message appears at the beginning. Does it exist a table with the address of error to debug myself?
- The tracer window explain that I have an error in the pick order (see in Model Tree, atom “initialize and controller”, event handler OnEvent) when the first event is created on the first GroundStorage. The atom reference is saved in the table "AndereProdukte" or then in "BestellteProdukte". I haven’t any ideas to solve this problem.

Then, I can’t delay the reopening of the input channels in the servers 34 and 35 after that the ground storage become empty. How can I do? I have tried with the CreateEvent statement and the OnEvent event handler, but it doesn’t work (so it does not appeared in the model).

Endly, I have remark that the command Indexmin doesn’t work after that I delete some rows : it counts as existing the rows which were deleted. So I don’t use more this function…

Regards, Picsou
Attachments
topo11 n2.mod
(123.64 KiB) Downloaded 242 times
marlies
Posts: 301
Joined: Monday 17 January, 2011 - 09:28

Re: Give priority to products after an event

Post by marlies »

Hello Picsou,

I read your post and have some comments and questions:

1. The error when the model is loaded occurs because of the sequence of atoms in the modeltree. The refBestellteProdukt is used in the event of the initialize atom. But as the table BestellteProdukt is loaded after the initialize, the reference doesn't exist when the initialize is loaded. You can solve this by changing the rank of the initialize atom (e.g.: execute SetRank(5,treeatom) in the interact window.

2. Suggestions to debug your model are:
- Place the command Enterdebugger(1) at a relevant location in your code. When the simulation reaches this point, the debugger will pop up. See also Help > Tutorials > Debugger.
- Use the command Trace to trace messages containing the results of e.g. labels, attributes etc.
- Use the interact window (Tools > 4Dscript interact) to do intermediate test. For example: I executed Gleis1 and expected to get a reference to an atom, however the result was 0.

3. The problem with the pickatom command occurs because of this wrong reference gleis1. I saw that you set the gleis1 in th oninit of the ground storage. But, in the onreset of the initialize you do another declaration of the gleis1 variable. This will reset the value to 0 and the reference gets lost.
The error message says: Incorrect container reference". The container is the 2nd parameter in the pickatom command.

4. To delay an action the createevent statement is indeed the command to use. Maybe you could tell how you used it and what wasn't working?

5. I am not sure what you mean with the indexmin that's not working. How did you delete the rows? Maybe within the indexmin statement?

Regards, Marlies
4.
picsou
Posts: 10
Joined: Thursday 20 June, 2013 - 09:46

Re: Give priority to products after an event

Post by picsou »

Hello Marlies,

Thank you very much for your rapid and complete answer

I answer you point by point :

1. I have an other error at beginning. Is there explanation somewhere for each error code ? Have they an useful signification (ex : read of address 3FC819C)?

2. Interact window is very useful!

3. My model do not do something when pickatom command is called (and the debugger shows that this command is really called): I have always an error.

4. I had surely made a mistake. I will try again.

5. I would speak for the indexmatch statement instead of indexmin. I have built in attachment an example. When you open the table and the tracer window, you will see that the evaluation of the indexmatch is false: it returns the current number of rows instead the current number of "1".

6. I want to use an excel file for the arrival of my products. Without the atom ExcelActiveX (I have not the good version), I try to use the DDE. Unfortunately, the example “Read From Excel” on ED doesn’t work (the tracer return always “0” and the error monitor says “DDE read not successful”). So when I apply the example on my model, the same problem appears... Where is the problem?

Regards,
Picsou
Attachments
topo11distanz.mod
My model
(121.73 KiB) Downloaded 228 times
ex indexmatch.mod
Ex for indexmatch
(7.67 KiB) Downloaded 241 times
marlies
Posts: 301
Joined: Monday 17 January, 2011 - 09:28

Re: Give priority to products after an event

Post by marlies »

Hi picsou,

Maybe the help text for the indexmatch is a bit confusing, but it returns the INDEX (so the count) at which the match was true (if more are found the highest value is returned). To count the number of 1's in your table, you better use the command CountMatch.

With regard to the other model: please make sure that the message on reload of the model are fixed first, otherwise you can't start debugging the run itself. For example: I cannot run the model because the variable nc does not exist oninit of the model.

For communication with Excel the ActiveX is really preferrable, what do you mean when you write "I have not the good version"? What version of ED are you using?

Regards, Marlies
picsou
Posts: 10
Joined: Thursday 20 June, 2013 - 09:46

Excel

Post by picsou »

Hello Marlies,

Thank you for your answers.

Yet functionmy model function good (I don't use the dispatcher).

My version is 8 (student), 8 only.
And I have seen that the ActiveX was developped for the version 8.1 first...
So it's normal that I haven't the atom ActiveX for Excel.

Regards,
Picsou
picsou
Posts: 10
Joined: Thursday 20 June, 2013 - 09:46

Re: Give priority to products after an event

Post by picsou »

Hello

I have two bugs in my simulation which occurs once out of five.

Because it occurs after 5 minutes until 1 hour, it is difficult to see what set off the bug.

The first bug is the stop of a forklift (because it transports an atoms created in one of the “LKWAnkunfte”, but this atoms do not occur in the table “arrivalproduct” and it is created out of the time, when new groups of products arrive in the two arrival table.
My second bug is that products are ordered out of the normal orders: forklifts wait to unload their products in a ground storage which contains still products, whereas the orders are given only if the ground storage is empty.

What can I do to understand what sets off new orders ?

Thank you
Picsou
Attachments
topo15 n3.mod
(153.25 KiB) Downloaded 242 times
picsou
Posts: 10
Joined: Thursday 20 June, 2013 - 09:46

Re: Give priority to products after an event

Post by picsou »

Hello

I have solve the problem described in the last post after severel hours... ;)
It was due to the possibilt for a transporter to pick an atom, which was in an other transporter when a new order is given.

Regards,
Picsou
Post Reply