Professional Documents
Culture Documents
April 15, 2002 Published by Brooks Automation, Planning & Logistics Solutions Vol 15 No 4
Looking for a past issue on a particular topic or by a particular author? Use the AutoFlash index on the FTP site! The index (afindex.pdf) is a file that you can search by author or keyword to find which issue you need to download. For details about accessing the FTP site, see FTP Information on page 8.
www.automod.com
The data file that drives the example model consists of each flights departure time, the aircraft type, the flight number, and the number of passengers checking in. Furthermore, the passengers do not arrive at the check-in counters all at once, but every 10 minutes according to the following arrival curve.
collectors
X-ray scanners
Passenger arrivals at the check-in counters are generated from a departure flights input data. This solution is preferable to generating the arrivals according to a statistical distribution because it allows the simulation to exploit historical input data and to more accurately evaluate different scenarios.
An airport check-in system is usually comprised of several check-in counters arranged in one or more groups. Checkin counter operators constitute the interface between the passenger terminal and the BHS. The operators allow only those bags whose weight and dimensions are within the defined limits to enter the system. All the bags that are processed by a particular check-in counter group are conveyed to an associated collector. The two collectors represent input points for the bags carried by passengers entering the airport. Each collector is a single, straight conveyor section that collects all bags coming from the same check-in counter array. Because each collector is a continuous section, as illustrated in figure 3, the system cannot stop some bags on the collector in order to allow other waiting bags to transfer. A collector runs in no-stop mode, which means only those bags on the checkin conveyors that find available space are able to transfer to the collector.
AUTOFLASH
PAGE 2
APril 2002
www.automod.com
bags wait on the check-in conveyors until they are able to transfer to the collector
check-in conveyors
If the flow rate of bags transferring to a collector is significantly smaller than the collector capacity, the probability of a bag finding a window of space for induction onto the collector is reasonably high. In this case, you do not need to develop custom methods of allocating conveyor space. Problems can arise, however, when the flow rate of incoming bags is comparable to the collector capacity. Especially during peak flow periods, upstream bags are able to transfer easily onto the collector, while downstream bags experience lengthy delays waiting for a sufficient amount of induction space. To prevent this imbalance, you must treat conveyor space as a scarce resource and implement reservation strategies to equally distribute the collector capacity among the waiting bags. Tip: To determine the amount of space that must be allocated to each bag that is transferring to the collector, you can use the following two parameters: 1. The collector velocity. 2. The maximum flow rate the collector is expected to manage. The following formula provides a simple relationship to evaluate the required moving space on the collector:
section velocity (m/s) 3600 moving space = -------------------------------------------------------------------section capacity (bags/hr)
For a collector velocity of 0.5 m/s and a maximum flow rate of 900 bags/hr, this formula returns a space window of 2 m. This result represents the minimum amount of space that must be present between the leading edges of two successive bags to prevent bags from exceeding the maximum collector flow rate. This result also represents the induction space that must be available for a bag to transfer to the collector.
Each bag that is created in the simulation has two attributes that are initialized to the number of its current check-in counter: AI_CheckInCounter AI_I The second attribute, AI_I, is an index value that the bag uses when searching for a control load to reserve on the collector. By decrementing the value of the AI_I attribute, the load is able to search progressively backward on the collector to find a control load that has not yet passed the bags check-in conveyor. An array of two load lists (VOL_Window) lists the loads that are traveling on each collector, respectively. When a bag is ready to transfer to a collector, it searches the collectors list of control loads to find a window of space that has not yet been reserved. Each control load sets the value of its AI_CheckInCounter attribute to the number of the check-in conveyor to which it is currently traveling. By comparing the value of the bags AI_I attribute to the control loads AI_CheckInCounter attribute, the bags can determine if the listed control load is currently traveling to the loads location.
AUTOFLASH
PAGE 3
APril 2002
www.automod.com
When a bag finds a control load that is traveling to its location on the collector, it checks to see if the load has already been reserved. If a bag has not yet been reserved, its load attribute AI_OrderLocation is equal to zero. If the control load has not been reserved, the bag reserves it by changing the control loads AI_OrderLocation attribute from zero to the number of the check-in counter where the bag is waiting. If the bag does not find an available window, it decrements the value of its AI_I attribute by one and repeats the search, thereby searching those control loads on the collector that are traveling to the preceding check-in conveyor. If every window prior to the bags check-in counter has already been reserved (that is, AI_I is equal to 1 and AI_CycleEnd is equal to 0), the bag adds itself to the VOLNoWindow load list and then waits to be ordered on the OL_WaitWindow order list. The procedure that bags execute to find an available window on the collector is shown below:
begin P_CheckIn arriving procedure . . . travel to conv:Out_CheckIn(AI_CollectorNum, AI_CheckInCounter) set AI_I to AI_CheckInCounter set AI_CycleEnd to 0 /* While there are unsearched windows on the collector */ while AI_CycleEnd=0 and AI_I>0 do begin for each VWindow(AI_CollectorNum) in VOLWindow(AI_CollectorNum) do begin /* If window is traveling to bags counter and has not yet been reserved */ if VWindow(AI_CollectorNum) AI_CheckInCounter=AI_I and VWindow(AI_CollectorNum) AI_OrderLocation=0 then begin /* Reserve window */ set VWindow (AI_CollectorNum) AI_OrderLocation to AI_CheckInCounter set AI_CycleEnd to 1 break end end
/* if no window is found */ if AI_I=1 and AI_CycleEnd=0 then begin insert this into VOLNoWindow(AI_CollectorNum) at end break end else /* Search previous window */ dec AI_I by 1 end wait to be ordered on OL_WaitWindow(AI_CollectorNum) send to P_HBS end
Each control load is listed in the VOL_Window load list that corresponds to the collector on which it is traveling. The control loads travel from station to station, until they are reserved and replaced by a bag or until they reach the end of the collector and are sent to die. Each time a control load arrives at a station on the collector, the load increments the value of its AI_CheckInCounter attribute, which indicates the next station to which the load is traveling on the collector. The load list and load attribute allow bags on the check-in conveyors to search for a window of space on the conveyor that has not yet passed the bags check-in location. Before starting to travel on the collector, each control load executes a procedure to see if any bags were unable to reserve a window and are waiting on the VOLNoWindow load list. If the load list contains one or more bags, the control load reserves itself for the first waiting bag and removes the bag from the load list. To reserve itself for a bag, the control load sets its AI_CheckInCounter attribute to the bags check-in counter number and then sets the value of its AI_CodePart attribute to 2. The AI_CodePart attribute causes the control load to execute the second part of the P_MovingWindow arriving procedure. This part of the procedure causes the load to travel directly to the bags check-in counter, order the waiting bag to continue, and then send itself to die so the bag can claim the control loads place on the collector. If, on the other hand, the VOLNoWindow load list is empty, the control load inserts itself on the VOL_Window load list and travels to the end of the collector. At each station on the collector, the control load checks the value of its AI_OrderLocation attribute (which could have been changed by a waiting bag) to see if it matches the check-in counter the control load is currently passing.
AUTOFLASH
PAGE 4
APril 2002
www.automod.com
The procedure that creates control loads and controls their movement is shown below:
begin P_MovingWindow arriving procedure . . . move into conv:CollectorInput(AI_CollectorNum) travel to conv:CollectorGener(AI_CollectorNum) /* Clone the next window on the collector */ clone 1 load to P_MovingWindow /* Determine if any waiting bags could not claim a window */ if VOLNoWindow(AI_CollectorNum) size>0 then begin for each VNoWindow(AI_CollectorNum) in VOLNoWindow(AI_CollectorNum) do begin set AI_CodePart to 2 set AI_CheckInCounter to VNoWindow(AI_CollectorNum) AI_CheckInCounter remove VNoWindow(AI_CollectorNum) from VOLNoWindow(AI_CollectorNum) break end end if AI_CodePart=1 then begin /* Add itself to list of windows and travel to the end of the collector */ insert this into VOLWindow(AI_CollectorNum) at end while AI_CheckInCounter <= KI_DeskNum(AI_CollectorNum) do begin travel to conv:Coll_Check (AI_CollectorNum, AI_CheckInCounter) /* If window has been reserved at current station */ if AI_OrderLocation = AI_CheckInCounter then begin set VI_I to AI_OrderLocation order 1 load satisfying AI_CheckInCounter = VI_I from OL_WaitWindow (AI_CollectorNum) to continue break end
else inc AI_CheckInCounter by 1 end /* Remove from window list and die */ remove this from VOLWindow(AI_CollectorNum) end else if AI_CodePart=2 then begin travel to conv:Coll_Check (AI_CollectorNum, AI_CheckInCounter) set VI_I to AI_CheckInCounter order 1 load satisfying AI_CheckInCounter=VI_I from OL_WaitWindow (AI_CollectorNum) to continue end send to die end
This reservation process evenly allocates the collectors capacity among the waiting bags by reserving space for each bag in the order that they finish processing and are ready to transfer to the collector.
CONCLUSION
When multiple conveyor lanes transfer to the same continuous conveyor and the destination sections capacity is comparable to the total injecting flow rate, PLC devices are usually needed to control baggage injection and minimize transfer delays. This article presents a method to simulate the reservation of induction space on a conveyor and evenly distribute the conveyors capacity among transferring loads. The approach described in this article represents one of the many possible methods PLC technicians and system experts may adopt to allocate conveyor capacity. In addition to accurately simulating a system for scenario analysis, the described algorithm can be used in a simulation model to demonstrate to subject matter experts the gains that can result from implementing a space window reservation rule.
AUTOFLASH
PAGE 5
APril 2002
www.automod.com
AUTOFLASH
PAGE 6
APril 2002
www.automod.com
June 3-6 June 10-14 June 10-14 June 17-20 June 20-21 June 24-28
Symposium 2002: Simulating Reality Introductory AutoMod Advanced AutoMod Introductory AutoSched AP Static Capacity Modeler AutoSched AP Extension Development
July
Salt Lake City Salt Lake City Salt Lake City Salt Lake City Salt Lake City Salt Lake City
Salt Lake City Salt Lake City Salt Lake City Salt Lake City
For more information about upcoming training classes, visit the AutoMod Web site at: www.autosim.com/training/trainindex.asp.
AUTOFLASH
PAGE 7
APril 2002
www.automod.com
FTP Information
To access the FTP site from a Web browser other than MS Internet Explorer: Step 1 Enter ftp://maintuser@ftp.autosim.com//maintuser/ as your location (URL). Step 2 Type the current password and press Enter. To access the FTP site using MS Internet Explorer 4.0 and lower: Step 1 Enter ftp://maintuser:password@ftp.autosim.com/maintuser as your location (URL), where password is the current password. To access the FTP site using MS Internet Explorer 5.0: Step 1 Enter ftp://ftp.autosim.com as your location (URL). Step 2 Type the user name maintuser and type the current password. For the current maintuser password, refer to the email message that accompanied this months issue of AutoFlash.
AUTOFLASH
PAGE 8
APril 2002
AUTOFLASH
Publisher
Brooks Automation, Inc. Planning & Logistics Solutions 5245 Yeager Road Salt Lake City, UT 84116 (801) 736-3201 FAX (801) 736-3443
Editor
Todd Snarr (801) 736-3418
Customer Support
7:00 A.M. - 6:00 P.M. MST (801) 736-3218 www.automod.com 2002 Brooks Automation, Inc. AutoMod, AutoSched, AutoStat, and AutoView are trademarks or registered trademarks of Brooks Automation, Inc.