Model

All topics specific to modeling questions in Enterprise Dynamics
Post Reply
Dangy
Posts: 8
Joined: Sunday 28 April, 2013 - 19:20

Model

Post by Dangy »

Hello,
i am not really sure if my model is getting the right form, any help will be appreciated.

I try to model 3 different aircrafts that will then arrive in gates for unloading of passengers or cargo and afterwards they should be pushed back through pushback vehicles until the runway. The runway is not relevant for my model. However, the pushback vehicles are from 3 different types and thus each type of pushback vehicle can only push back a determined type of aircraft.
I have therefore created 3 sources (one source for each type of aircraft) since the aircrafts are considered as products of three different types. Then, four servers (gates) ,a network for the pushback vehicles and then 4 sinks. I have not started to set the parameters for the atoms.
The 3 class of products (aircrafts) should arrive at any gate and in any order, of course 1 by one. Additionally, I should allocate a aircraft type to a pushback vehicle type. I don´t know how can I do that, any idea please?


I attached my model

Many thanks

Dangy
Attachments
PV.mod
(77.21 KiB) Downloaded 251 times
Dangy
Posts: 8
Joined: Sunday 28 April, 2013 - 19:20

Re: Model

Post by Dangy »

Hello,

I have continued working in my model. At the moment my model looks like this:

- 3 sources --> 3 Types of aircrafts
- 4 Servers --> 4 Gates
- 3 Advanced transporter --> Pushback vehicles
- A Network für die Advanced Transporter
- 4 Sinks which should represent parts of a runway and
- Network Controller, dispatcher and destinator

I have still a problem with the allocation of the pushback vehicles.Aktually, the pushback vehicles should be from different types. It should be possible to assign a type of aircraft to a determined type of pushback vehicle. As I have explained before, when the aircrafts come into the system, they move to any gate where they park temporally for purpose of unloading of passangers and cargo and afterwards, they should be pushed back through pushback vehicles until the runway.

Until now, I have managed that the pushback vehicles pick up the aircrafts from the gates and that they transport the aircrafts until the runways. However, I am still looking for the way for assigning the types of aircrafts to the types of pushback vehicles. Again, any idea could help me.

Furthermore, I think that the runway is not correctly represented by means of sinks. In addition, I need to implement a depot for the pushback vehicles. When pushback vehicles are not demanded, they should go to depot.

I would be also happy if somenone hat hints.

I have attached my modell for your consideration.

Thank YOU.

Dangy
Attachments
PV.mod
(111.95 KiB) Downloaded 241 times
menno
Posts: 45
Joined: Tuesday 29 March, 2011 - 16:01

Re: Model

Post by menno »

Hello Dangy,

With the use of Labels, one can easily assign a certain Transporter to a certain plane type.

On the OnExit trigger of the plane sources you can assign labels for each plane type, for instance:
source1

Code: Select all

label([planetype], i) := 1
source2

Code: Select all

label([planetype], i) := 2
source3

Code: Select all

label([planetype], i) := 3
Then on the dispatcher atom, you can use the following code on the DispatchTo trigger:

Code: Select all

do(
  var([valTransporter], vbValue),
  
  case(
    label([planetype],in(3,cs)),
    valTransporter := 1,
    valTransporter := 2,    
    valTransporter := 3    
  ),
  
  valTransporter 
)
The value of valTransporter relates to channel number to which a Transporter atom is connected. The connections of the transporter atoms to the channels of the dispatcher then determines which plane type is handled by which pushback vehicle type.

This is an easy example of how to do what you want (assigning a plane to a pushback vehicle), you can make it more complex if you want (if a vehicle can handle more types, etc.)

I hope this helps!

Kind regards,
Menno
Dangy
Posts: 8
Joined: Sunday 28 April, 2013 - 19:20

Re: Model

Post by Dangy »

Hello,

thank you very much for helping me. I assigned the pushbacks to the aircrafts!
It could be possible that I also need to simulate when a pushback type serves more than only one type of aircraft. At the moment, the pusbacks are taking the aircrafts until the sinks. But I need to assign the gates to the sinks.

1. I need that the pushbacks drive the aircrafts until those sinks which are in front of the servers (gates), for instance:

- aircraft of gate 1 --> to entrance1
- aircraft of gate 2 --> to entrance2
- aircraft of gate 3 --> to entrance3
- aircraft of gate 4 --> to entrance4

when it succeeds, loaded pushbacks will only move between the gates and their respectively entrances whereas only idle pushbakcs will drive on lateral nodes for the purposes of going to another gate´s position.

2. Furthermore, when pushbacks are not required, then they should move to depot. (I have implemented a node in my network which represents the depot, from which pushback starts to move, and when they are not required, they should go back to depot. At the moment, when a pushback arrives a sink , the pushback remains at this sink until the pushback is required again.

3. Adittionally, if a pusback is moving an aircraft, pushback coming from lateral nodes should way until the loaded pushback passes the intersection.

4. Since I have changed the names of servers and sinks i.e. Gate1, entrance2, etc. I get error monitor, when pushbacks arrive to these atoms. the Error monitor says: Gate #, entrance# does not exist.
did I change the name in an incorrect manner?

I hope, you can answer my questions. I have attached my model for your consideration.

Thank you again for your hints, I appreciate your help, thanks

Kind regrads,
Dangy
Attachments
PV_07_05_2013.mod
(93.01 KiB) Downloaded 244 times
menno
Posts: 45
Joined: Tuesday 29 March, 2011 - 16:01

Re: Model

Post by menno »

Hello Dangy,

I have got some answers on your questions (I will use seperate posts):
1. To send a aircraft by pushback to a certain Sink, you must you the SendTo statement on Transporter atom (the pushback). You can do this again with labelling. For an aircraft going to each gate, put a label on it for the sink destination. The sink destination is the Channel number of the Destinator atom to with the Sinks are attached.
The following code can be put on the EntryTrigger of each gate:
gate1

Code: Select all

label([sinktype], i) := 1
gate2

Code: Select all

label([sinktype], i) := 2
gate3

Code: Select all

label([sinktype], i) := 3
gate4

Code: Select all

label([sinktype], i) := 4
On the Transporter, you put the following code on the SendTo statement:

Code: Select all

do(
  var([valChannel], vbValue),
  
  case(
    label([sinktype], i),
    valChannel := 1,
    valChannel := 2,
    valChannel := 3,
    valChannel := 4
  ),
  
  valChannel
)
You can change the numbers above to get a different order if you want.
menno
Posts: 45
Joined: Tuesday 29 March, 2011 - 16:01

Re: Model

Post by menno »

2. What you describe already happens in the Model you have posted. At the start all pushbacks remain at a certain node. When planes start coming to the gates, they start to work and after a job, they wait at the Sink until they are called again. So maybe you can rephrase your question regarding this point.

3. With the current functionality of the Transporter and network, it is quite complicated to achieve an intersection with waiting Transporters. Currently, I don't have the solution at hand for this.

4. I do not get any error messages with the model you attached. As far as I can see the names on the servers and sinks are okay.

Kind regards,
Menno
Dangy
Posts: 8
Joined: Sunday 28 April, 2013 - 19:20

Re: Model

Post by Dangy »

Hello,

thank you very much for helping me.

I tried to say that when a transporter arrive on a sink, the tranporter remains there until it is required for a new job.
I would like that if the trabsporter does not have a next aircraft to transport, then it should move to depot.

Additionally, I will need later to simulate that a transporter can transport more that only one type of aircraft, how can I do that?
for example:
Pushback type 1 transport aircraft type 1 and additionally can transport aircraft type 2 and 3
Pushback type 2 transport aircraft type 2 and additionally cna transport aircraft type 1
pushback type 3 can only transport aircraft type 3

how can I do that?

thank you very much again,
I am really happy!
Kind regards,
Dangy
Attachments
PV_07_05_2013.mod
(93.54 KiB) Downloaded 236 times
menno
Posts: 45
Joined: Tuesday 29 March, 2011 - 16:01

Re: Model

Post by menno »

Hello Dangy,

If you use the following code on the Dispatch To statement, then transporter 1 will be able to transport more type of aircrafts.

Code: Select all

indexmatch(
  nroc(c),
  true,
    icready(1,out(count,c)) 
    * loadpermission(out(count,c),in(3,cs))  
    * case(
        WhichIsTrue(
          Label([pushback1], in(3,cs)),
          Label([pushback2], in(3,cs)),
          Label([pushback3], in(3,cs))
        ),
        count = 1,
        Or(
          count = 1,
          count = 2 
        ),
        Or(
          count = 1,
          count = 3
        )
      )
)

As you can see, the logic becomes a bit more complicated :)

You also must adapt the coding on the sources:
source1

Code: Select all

do(
  Label([Pushback1], i) := 1,
  Label([Pushback2], i) := 1,
  Label([Pushback3], i) := 1  
)
source2

Code: Select all

  Label([Pushback2], i) := 1,

Code: Select all

  Label([Pushback3], i) := 1,
In this way, it should work. Please check if your model works as you should expect!

Concerning the 'return to specific node when no job is available' is also a complicated matter. I currently cannot give you an easy solution of how to achieve this.

Good Luck!

Menno
Dangy
Posts: 8
Joined: Sunday 28 April, 2013 - 19:20

Re: Model

Post by Dangy »

Hello,
thank you very much for your help. I have improved my model. At the moment, I have 3 advance transporter which serve specific products. It is working good, but I willl like to have 3 more advance transporter.

one transporter for product label 1,
one " " for product label 2 and
one " " for product label 3

I would have alltogether 6 transporter, 2 transporter for each product label)

I wrote the following in the field of dispatch to on the Dispatch atom:

Do(
var([valtransporter],vbValue),

case(
label([pushback],in(3,cs)),
valtransporter := 1,
valtransporter := 2,
valtransporter := 3,
valtransporter := 4,
valtransporter := 5,
valtransporter := 6

),
valtransporter
)

Then, I connected the transporter with the dispatch atom and Destinator atom. Any of the new added transporter move. It does not work :(. Did I forget something?

I attached my model.
Thank for your help again!

Dangy
Attachments
3_A_Modell.mod
(135.94 KiB) Downloaded 242 times
Post Reply