semi合集-English.pdf - 第2805页
SEMI E102-0600 © SEMI 2000 13 6.2.4.2 M aterialTrackingL ocation Inte r f ace Module: MachineAIG Interface: MaterialTrackingLocation Inherited In terface: OwnedEntity interface MaterialTrackingLocation : AbstractIF::Owne…

SEMI E102-0600 © SEMI 2000 12
/* Request a Machine to reserve a port to load material. This may involve communication between the Port and the
Machine Objects, but these need not be public (or may involve communication between the Machine and the
Equipment). If requestedPort parameter left null, machine chooses the requestedPort. Returns Null if Machine
cannot or refuses to comply. */
Port reservePortForTransferTo (
in DurablesManagement::MaterialContainer aContainer,
in Port requestedPort )
raises (Global::FrameworkErrorSignal,
InvalidPortSignal);
/* Request a Machine to reserve a port to load two or more MaterialContainers. All MaterialContainers in the
sequence must be loaded before the Machine can accept another port reservation request. The MaterialContainers
specified in the MaterialContainerSequence may be loaded in any order. If requestedPort parameter left null,
machine chooses the requestedPort. Returns Null if Machine cannot or refuses to comply. */
Port reservePortForBatchTransferTo (
in DurablesManagement::MaterialContainerSequence aContainerGroup,
in Port requestedPort )
raises (Global::FrameworkErrorSignal,
InvalidPortSignal);
/* Request a Machine to cancel a reservation previously established for a transfer to a port. */
void cancelPortReservationForTransferTo (
in DurablesManagement::MaterialContainer aContainer,
in Port requestedPort )
raises (Global::FrameworkErrorSignal,
InvalidPortSignal);
/* Inform a Machine that a transfer to or from a port has been completed. This may involve communication between
the Port and the Machine Objects, but these need not be public (or may involve communication between the
Machine and the Equipment). */
void transferComplete (in DurablesManagement::MaterialContainer aContainer,
in Port reservedPort )
raises (Global::FrameworkErrorSignal,
InvalidPortSignal);
/* Request a Machine to prepare to unload material. Returns the Port on which the material will be unloaded or Null
if the Machine cannot or refuses to comply. */
Port containerOut (
in DurablesManagement::MaterialContainer aContainer,
in Port requestedPort )
raises (Global::FrameworkErrorSignal,
InvalidMaterialSignal);
/* Returns a list of all Ports for the machine. */
PortSequence allPorts ()
raises (Global::FrameworkErrorSignal);
/* Returns the list of all Areas that this Machine is in. */
AreaSequence allAreas()
raises (Global::FrameworkErrorSignal);
}; // Machine

SEMI E102-0600 © SEMI 200013
6.2.4.2 MaterialTrackingLocation Interface
Module: MachineAIG
Interface: MaterialTrackingLocation
Inherited Interface: OwnedEntity
interface MaterialTrackingLocation : AbstractIF::OwnedEntity {
Description: A MaterialTrackingLocation is a place where Material may be held. The “type” of the
location is based on the classification Unit of Material that the location can hold (e.g.,
locations to hold wafers have a “Wafer” Unit and can only hold this Material type). Each
machine has one MaterialTrackingLocation for each material Unit. The
MaterialTrackingLocation also maintains a capacity.
Exceptions:
/* Material specified in the call is not a valid Material for this MaterialTrackingLocation. */
exception InvalidMaterialSignal {};
/* Intent to assign more Material to the MaterialTrackingLocation failed because it is full. */
exception MaterialTrackingLocationFullSignal {};
/* Unit value is not valid for the MaterialTrackingLocation. */
exception InvalidUnitSignal {};
Published Events:
/* A Material Tracking Location has reached its capacity. */
MaterialTrackingLocationFullEvent
/* A Material Tracking Location that was previously Full now has available capacity. */
MaterialTrackingLocationNotFullEvent
Provided Services:
/* Return the Material at the MaterialTrackingLocation, return nil if the location is empty. */
AbstractIF::MaterialSequence allMaterialHeld ()
raises (Global::FrameworkErrorSignal);
/* Get and set the unique identifier for the MaterialTrackingLocation. */
string getIdentifier ()
raises (Global::FrameworkErrorSignal);
void setIdentifier (
in string identifier)
raises (Global::FrameworkErrorSignal,
Global::SetValueOutOfRangeSignal,
Global::DuplicateIdentifierSignal);
/* Return the Machine that holds this MaterialTrackingLocation. */
Machine getMachine ()
raises (Global::FrameworkErrorSignal);

SEMI E102-0600 © SEMI 2000 14
/* Set the material Unit that can be held in the MaterialTrackingLocation. Example: If the MaterialTrackingLocation
is to hold wafers, the Unit could be “wafer”. If it was a particular size of Wafer the Unit could be “200mmWafer.” */
void setUnit (
in string aUnit)
raises (Global::FrameworkErrorSignal,
InvalidUnitSignal);
/* Get the Unit for the MaterialTrackingLocation. */
string getUnit ()
raises (Global::FrameworkErrorSignal);
/* Add a Material to the MaterialTrackingLocation. */
void addMaterialToTrack (
in AbstractIF::Material aMaterial )
raises (Global::FrameworkErrorSignal,
InvalidMaterialSignal,
MaterialTrackingLocationFullSignal);
/* Remove a Material from the MaterialTrackingLocation. */
void removeMaterial (
in AbstractIF::Material aMaterial )
raises (Global::FrameworkErrorSignal,
InvalidMaterialSignal);
/* Reserve capacity of the MaterialTrackingLocation. If accepted, this portion of the MaterialTrackingLocation’s
capacity will be kept for the designated material. If the capacity is reserved the operation returns True. */
boolean reserveCapacity (
in AbstractIF::Material capacityToReserve)
raises (InvalidUnitSignal,
InvalidMaterialSignal,
MaterialTrackingLocationFullSignal,
Global::FrameworkErrorSignal);
/* Release reserved capacity of the MaterialTrackingLocation. If accepted, this portion of the
MaterialTrackingLocation’s capacity will be released for use by other material. */
boolean releaseCapacity (
in AbstractIF::Material capacityToRelease)
raises (Global::FrameworkErrorSignal);
/* Get and set the Maximum Capacity for the MaterialTrackingLocation. */
void setMaximumCapacity (
in long maximum)
raises (Global::FrameworkErrorSignal,
Global::SetValueOutOfRangeSignal);
long getMaximumCapacity ()
raises (Global::FrameworkErrorSignal);
/* Get the Available Capacity for the MaterialTrackingLocation. Available Capacity is the difference between
Maximum Capacity and the count of the sequence returned by AllMaterialHeld. */
long getAvailableCapacity ()
raises (Global::FrameworkErrorSignal);