semi合集-English.pdf - 第2804页
SEMI E102-0600 © SEMI 2000 12 /* Request a Machine to reserv e a port to load material. This may involve communication between t he Port and the Machine Objects, but these need not be public (or m ay involve communicatio…

SEMI E102-0600 © SEMI 200011
typedef sequence <Port> PortSequence;
enum MachineType {
FixedBufferProductionMachine,
InternalBufferProductionMachine,
StorageMachine,
TransportMachine };
Exceptions:
/* Port indicated for receiving material was invalid. */
exception InvalidPortSignal {};
/* Material specified for unloading was invalid. */
exception InvalidMaterialSignal {};
Published Events:
/* An E10 State change has occurred in the Machine that the Factory needs to know. */
MachineResourceE10StateChangedEvent
Provided Services:
/* Set the MachineType for this machine. */
void setMachineType (
in MachineType aMachineType )
raises (Global::FrameworkErrorSignal);
/* Return the MachineType for this machine. */
MachineType getMachineType ()
raises (Global::FrameworkErrorSignal);
/* Set up a MaterialTrackingLocation for this Machine to track a particular material Unit characterizing its contents.
A Machine may have more than one MaterialTrackingLocation as long as each is tracking a different Unit. The
value of Unit is used with corresponding attributes of the material to allocate the tracked material to the correct
MaterialTrackingLocation for a Machine. */
void setMaterialTrackingLocation (
in MaterialTrackingLocation aMaterialTrackingLocation,
in string aUnitToTrack)
raises (Global::FrameworkErrorSignal);
/* Get all MaterialTrackingLocations for this Machine. There is one and only one MaterialTrackingLocation per
Unit used in the Machine. */
MaterialTrackingLocationSequence getAllMaterialTrackingLocations ()
raises (Global::FrameworkErrorSignal);
/* Get the MaterialTrackingLocation for the Unit specified. */
MaterialTrackingLocation getMaterialTrackingLocation (
in string aUnit)
raises (Global::FrameworkErrorSignal);

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);