Transport two products

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

Transport two products

Post by picsou »

Hello

I have a little problem at the beginning of my simulation.

I don’t understand why the advanced transporters don’t pick two products in the ground storage, as I wish. In fact, the transporters go in a warehouse, to pick an atom which doesn’t exist before (because the reference to pick is false).

Thank you for your help,

Picsou
Attachments
topo19.mod
(159.27 KiB) Downloaded 297 times
marlies
Posts: 301
Joined: Monday 17 January, 2011 - 09:28

Re: Transport two products

Post by marlies »

Hi Picsou,

The reason can be that the pickatom command in your entrytrigger is 'overwritten' by other events that are created in the onentered (standard code) of the transporter.

The solution would be that, instead of using the pickatom directly, create an event in the entrytrigger. Then in the eventcode place the pickatom command. The event needs to have a low priority (negative) to make sure that everything else is executed and then the next pickatom is triggered.

Regards,

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

Bug

Post by picsou »

Hallo Marlies,

Yet appears a bug in my model, that I can’t debug:
One or two products, which are placed in one of the two ground storage down, are unloaded at the worse place (alone at the right or on the third line). The phenomenon is visible after one or two loads/unloads in the two down ground storages.
I have noticed, that the counters used to place the products (nground14 and nground15) are not incremented when the bug occurs.

I have also seen, that the products which have bugs keep their labels “row” and “column” they had, when they were in a warehouse. So the adv. transporter doesn’t realize the modification of labels. But why?

The variables nground14 and nground15 are findable in:
- the entrytrigger of the transporters
- the entry trigger of the two down ground storages
- the OnInit and OnReset of the Initialize and Controller

Thank you for your effective help!
Attachments
topo19 3l.mod
(160.03 KiB) Downloaded 267 times
marlies
Posts: 301
Joined: Monday 17 January, 2011 - 09:28

Re: Transport two products

Post by marlies »

Hi Picsou,

I checked your model and saw the following happening:
- At a certain moment I see all product icons in the warehouse change from anything to the small orange dots.
- This also happens with products just loaded by one of the transporters from the upper ground storages.
- That just loaded product gets transported to the lower ground storage and is placed in the wrong location.

So, my question is: what is happening at this change moment? Do you create an event that influences all these products? And could it happen that labels change for the products in the transporter that shouldn't be changed? Something like: after the trigger onentry but before the sendto statement is executed a label gets changed?
Maybe you should add a check: change the products but not the ones in the transporter or something like that.

With the attached model and seed value 3159 (which you can set in the run control, set the value in the random generator tab and select repetitive) you will see this happening between 3 and 3.5 mins simulation time.

What I changed is: the icons of the products get updated in the entry trigger of the transporter. The ones with an unchanged icon get placed in the wrong location (that's why I think something happens after the entrytrigger).

Hope this helps you a bit further!

Kind regards,

Marlies

PS. I also changed the onreset of the Inter14 and Inter25 server. When you use the command inherit, it executes it's standard code and then you can add anything you like. Just to correct this amazing high utilization ;)
Attachments
topo19 3l_edit.mod
(158.22 KiB) Downloaded 291 times
picsou
Posts: 10
Joined: Thursday 20 June, 2013 - 09:46

Modeling and experiment wizard

Post by picsou »

Hello Marlies,

Thank you for your helpful last answer.

I have several questions for the modeling and the experiment wizard:
- how can I stop others forklifts, which want to take a product in a ground storage, where a forklift is already inside. So I want that just one forklift at a time can enter in a ground storage (to take or to put a produkt). I have tried with the capacity of the nodes, but I doesn't work because the forklifts are not between two nodes
- I work yet with the experiment wizard. How can I have the status of the forklifts over two periods in a day: the average status of the forklifts between 1h and 6h, and between 6h and 1h. My observation period lasts several days. What I expect to see is if the forklifts have a significative decrease of last during the night (1h-6h)
- I want to mesure many process times, that I need to define myself. How can the experiment wizard save a global variable (defined with the "dim" command) once a day, make the average of this variable over the observation period (without the warm-up period!) and give the variable's average of every runs?
- How can the experiment wizard make a discrete average of a global variable, which changes only a few times during a run (20 times over 5 days for example). So the average don't have to take in count the duration between the changes of value but only the number of changes of this variable. The average should not count the changes, that take place during the warm-up period.

Thank you for your answer,
Regards,
Picsou
picsou
Posts: 10
Joined: Thursday 20 June, 2013 - 09:46

Re: Transport two products

Post by picsou »

Hello,

I have yet successfuly solve the first question, but not the others...

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

Re: Transport two products

Post by marlies »

Hi Picsou,

- To measure statuses in different periods of time you could do the following:
1. Use the simulation method subruns instead of separate runs (first tab of experiment wizard). Then after the simulation use the option Raw Data to get the utilization per time period.
2. Create an user event to log the statuses into a table for each period of time. Afterwards you can calculate the utilization based on this table (I implemented this option in the attached example model).

- I am not sure if I understand your last 2 questions well, but maybe the following remarks would help you:
1. Any variable that has been set during the warm up period and needs to be ignored, can be set to 0 in the trigger on end of warm-up (first tab of the wizard).
2. To calculate the discrete average over the simulation run I would do the following: Create a global variable like SumOfMyGlobalVar and one like NrOfChangesMyGlobalVar (these can be set to 0 on end of warmup) and as an pfm in the experiment wizard, you should make a user defined option that divides the two variables to get the average.
3. To set a global variable once a day you may need the user event atom to create an event every 24 hours and set the variables in that event (also used in the attached example).

Regards, Marlies
Attachments
20131106_ExperimentWizard.mod
(20.39 KiB) Downloaded 216 times
Post Reply