semi合集-English.pdf - 第2816页
SEMI E102-0600 © SEMI 2000 24 void setMaterialTrackingLocation ( in MaterialTrackingLocation aMaterialTrackingLocation, in string aUnitToTrack) raises (Global::FrameworkErrorSignal); MaterialTrackingLocationSequence getA…

SEMI E102-0600 © SEMI 200023
APPENDIX 1
COMPLETE LISTING OF MATERIAL TRANSPORT IDL
NOTE: The material in this appendix is an official part of SEMI E10# and was approved by full letter ballot procedures on
January 14, 2000 by the Japanese Regional Standards Committee.
module CIMFW {
#include <Global.idl>
#include <FactoryLabor.idl>
#include <AbstractIF.idl>
#include <FactoryOperations.idl>
module MachineAIG {
interface Machine;
interface MaterialTrackingLocation;
interface Port;
typedef sequence <Machine> MachineSequence;
exception MachineDuplicateSignal { };
exception MachineNotAssignedSignal { };
exception MachineRemovalFailedSignal { };
exception MaterialTrackingLocationFullSignal { };
interface Machine : AbstractIF::Resource {
typedef sequence <Machine> MachineSequence;
typedef sequence <MaterialTrackingLocation>
MaterialTrackingLocationSequence;
typedef sequence <Port> PortSequence;
enum MachineType {
FixedBufferProductionMachine,
InternalBufferProductionMachine,
StorageMachine,
TransportMachine };
exception InvalidPortSignal { };
exception InvalidMaterialSignal { };
void setMachineType (
in MachineType aMachineType )
raises (Global::FrameworkErrorSignal);
MachineType getMachineType ( )
raises (Global::FrameworkErrorSignal);

SEMI E102-0600 © SEMI 2000 24
void setMaterialTrackingLocation (
in MaterialTrackingLocation aMaterialTrackingLocation,
in string aUnitToTrack)
raises (Global::FrameworkErrorSignal);
MaterialTrackingLocationSequence getAllMaterialTrackingLocations ( )
raises (Global::FrameworkErrorSignal);
MaterialTrackingLocation getMaterialTrackingLocation (
in string aUnit)
raises (Global::FrameworkErrorSignal);
Port reservePortForTransferTo (
in DurablesManagement::MaterialContainer aContainer,
in Port requestedPort )
raises (Global::FrameworkErrorSignal,
InvalidPortSignal);
Port reservePortForBatchTransferTo (
in DurablesManagement::MaterialContainerSequence aContainerGroup,
in Port requestedPort )
raises (Global::FrameworkErrorSignal,
InvalidPortSignal);
void cancelPortReservationForTransferTo (
in DurablesManagement::MaterialContainer aContainer,
in Port requestedPort )
raises (Global::FrameworkErrorSignal,
InvalidPortSignal);
void transferComplete (in DurablesManagement::MaterialContainer aContainer,
in Port reservedPort )
raises (Global::FrameworkErrorSignal,
InvalidPortSignal);
Port containerOut (
in DurablesManagement::MaterialContainer aContainer,
in Port requestedPort )
raises (Global::FrameworkErrorSignal,
InvalidMaterialSignal);
PortSequence allPorts ( )
raises (Global::FrameworkErrorSignal);
FactoryOperations::AreaSequence allAreas( )
raises (Global::FrameworkErrorSignal);
}; // Machine
interface MaterialTrackingLocation : AbstractIF::OwnedEntity {
exception InvalidMaterialSignal { };
exception MaterialTrackingLocationFullSignal { };
exception InvalidUnitSignal { };
AbstractIF::MaterialSequence allMaterialHeld ( )
raises (Global::FrameworkErrorSignal);

SEMI E102-0600 © SEMI 200025
string getIdentifier ( )
raises (Global::FrameworkErrorSignal);
void setIdentifier (
in string identifier)
raises (Global::FrameworkErrorSignal,
Global::SetValueOutOfRangeSignal,
Global::DuplicateIdentifierSignal);
Machine getMachine ( )
raises (Global::FrameworkErrorSignal);
void setUnit (
in string aUnit)
raises(Global::FrameworkErrorSignal,
InvalidUnitSignal);
string getUnit ( )
raises (Global::FrameworkErrorSignal);
void addMaterialToTrack (
in AbstractIF::Material aMaterial )
raises (Global::FrameworkErrorSignal,
InvalidMaterialSignal,
MaterialTrackingLocationFullSignal);
void removeMaterial (
in AbstractIF::Material aMaterial )
raises (Global::FrameworkErrorSignal,
InvalidMaterialSignal);
boolean reserveCapacity (
in AbstractIF::Material capacityToReserve)
raises (InvalidUnitSignal,
InvalidMaterialSignal,
MachineAIG::MaterialTrackingLocationFullSignal,
Global::FrameworkErrorSignal);
boolean releaseCapacity (
in AbstractIF::Material capacityToRelease)
raises (Global::FrameworkErrorSignal);
void setMaximumCapacity (
in long maximum)
raises (Global::FrameworkErrorSignal,
Global::SetValueOutOfRangeSignal);
long getMaximumCapacity ( )
raises (Global::FrameworkErrorSignal);
long getAvailableCapacity ( )
raises (Global::FrameworkErrorSignal);
long getReservedCapacity ( )
raises (Global::FrameworkErrorSignal);
boolean hasAvailableCapacity ( )
raises (Global::FrameworkErrorSignal);
}; // MaterialTrackingLocation