semi合集-English.pdf - 第2803页
SEMI E102-0600 © SEMI 2000 11 typedef sequence <Port> PortSequence ; enum MachineType { FixedBufferProductionMachine, InternalBufferProductionMachine, StorageMachine, TransportMachine }; Exceptions: /* Port indicat…

SEMI E102-0600 © SEMI 2000 10
Resource
(from Resource AIG)
MaterialTrackingLocation
(from Machine Abstract Interface Group)
Machine
(from Machine Abstract Interface Group)
1
unit
tracks material at
Port
(from Machine Abstract Interface Group)
0..*
1
has
0..*
1
MESFactory
(from Factory Component)
MachineRegister
0..*
1
0..*
1
registers
1
1
1
1
has
(from Factory Component)
NOTE: Unit is the qualifier for the
association. A Machine has
exactly one Material Tracking
Location for each unit it holds.
Each Material Tracking Location
is associated with one Machine
for a specific unit value.
1
Figure 6
Machine Abstract Interface Group (subset) Information Model
6.2.4.1 Machine Interface (subset)
Module: MachineAIG
Interface: Machine
Inherited Interface: Resource
interface Machine : AbstractIF::Resource {
Description: This abstract interface representing the concept of a piece of equipment in the factory. A
Machine establishes the identity of the physical equipment existing in the factory for
reference within an MES context. The Machine also maintains one
MaterialTrackingLocation for each Unit defined to classify the Material processed, used,
or stored by the Machine.
Type Definitions:
typedef sequence <Machine> MachineSequence;
typedef sequence <MaterialTrackingLocation> MaterialTrackingLocationSequence;

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