-- =============================================================================================================== -- SorterEnvironment in tray allocation for a sortation system -- By José Antonio Esparza and Kim Bjerge - spring 2010 -- ===============================================================================================================
class SorterEnviroment types
values public Speed : nat = 2000; -- Sorter speed mm/sec public Throughput : nat = 10000; -- Required items/hour
-- SorterEnviroment constructor public SorterEnviroment: () ==> SorterEnviroment
SorterEnviroment() ==
(
sc := new SC(self);
);
-- Assigning item loader to SorterEnviroment public AssignItemLoader: (ItemLoader) ==> ()
AssignItemLoader(il) ==
(
itemLoader := il;
);
-- Assigning induction group to SorterEnviroment public AssignInductionGroup: seqof InductionController ==> ()
AssignInductionGroup(ig) ==
(
inductionGroup := ig;
);
-- Used by traces in TestSernarios public FeedItemOnInduction: nat * Item ==> ()
FeedItemOnInduction(ic, item) ==
inductionGroup(ic).FeedItem(item);
-- Called by world each time sorter ring moves one tray step public TimeStep: nat ==> ()
TimeStep(t) ==
(
forall i inset {1,...,TrayAllocator`NumOfInductions} do
( -- Check for item to feed induction at time step let size = itemLoader.GetItemAtTimeStep(t, i) in if (size > 0) then
(
itemId := itemId + 1;
inductionGroup(i).FeedItem(new Item(size, itemId));
);
);
-- Enviroment simulate sorter moved one tray step
sc.TrayStep(t mod TrayAllocator`NumOfTrays + 1, <Empty>);
-- Performs tray step for each induction forall i inset {1,...,TrayAllocator`NumOfInductions} do
inductionGroup(i).TrayStep();
);
functions
sync
--thread
traces
end SorterEnviroment
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.