semi合集-English.pdf - 第2819页
SEMI E102-0600 © SEMI 2000 27 module MaterialTransport { interface MaterialTransportController; typedef sequence <MaterialTransportController> MaterialTransportControllerSequence; interface TransportJobSupervisor :…

SEMI E102-0600 © SEMI 2000 26
interface Port : AbstractIF::Resource {
MachineAIG::Machine getMachine ( )
raises (Global::FrameworkErrorSignal);
}; // Port
}; // module MachineAIG
module DurablesManagement {
interface Durable : AbstractIF::Material {
void setMaterialTrackingLocation (
in MachineAIG::MaterialTrackingLocation aMaterialTrackingLocation)
raises (Global::FrameworkErrorSignal,
MachineAIG::
MaterialTrackingLocation::MaterialTrackingLocationFullSignal);
MachineAIG::MaterialTrackingLocation getMaterialTrackingLocation ( )
raises (Global::FrameworkErrorSignal);
void setUnit(
in string aUnit)
raises (Global::FrameworkErrorSignal,
MachineAIG::MaterialTrackingLocation::InvalidUnitSignal);
string getUnit( )
raises (Global::FrameworkErrorSignal);
}; // Durable
interface MaterialContainer : Durable {
void makeManualControl ( )
raises (Global::FrameworkErrorSignal,
Global::InvalidStateTransitionSignal);
void makeStored ( )
raises (Global::FrameworkErrorSignal,
Global::InvalidStateTransitionSignal);
void makeInTransit ( )
raises (Global::FrameworkErrorSignal,
Global::InvalidStateTransitionSignal);
void makeProcessing ( )
raises (Global::FrameworkErrorSignal,
Global::InvalidStateTransitionSignal);
}; // MaterialContainer
typedef sequence <MaterialContainer> MaterialContainerSequence;
}; // module DurablesManagement {
#ifndef _CIMFW_MATERIAL_TRANSPORT_
#define _CIMFW_MATERIAL_TRANSPORT_

SEMI E102-0600 © SEMI 200027
module MaterialTransport {
interface MaterialTransportController;
typedef sequence <MaterialTransportController>
MaterialTransportControllerSequence;
interface TransportJobSupervisor : AbstractIF::JobSupervisor {
typedef sequence <Global::Properties> JobSpecSequence;
exception UnsupportedDestinationTypeSignal { };
AbstractIF::JobSequence requestBatchTransportJob (
in JobSpecSequence jobSpecs,
in AbstractIF::JobRequestor aJobRequestor)
raises (Global::FrameworkErrorSignal,
AbstractIF::JobSupervisor::JobRejectedSignal);
}; // TransportJobSupervisor
interface MaterialTransportManager : FactoryOperations::ComponentManager,
TransportJobSupervisor, AbstractIF::JobRequestor {
exception MaterialTransportControllerNotRegisteredSignal { };
void registerMaterialTransportController (
in MaterialTransportController aMaterialTransportController)
raises (Global::FrameworkErrorSignal);
void unregisterMaterialTransportController (
in MaterialTransportController aMaterialTransportController)
raises (Global::FrameworkErrorSignal,
MaterialTransportControllerNotRegisteredSignal);
MaterialTransportControllerSequence allMaterialTransportControllers ( )
raises (Global::FrameworkErrorSignal);
AbstractIF::MaterialSequence allMaterial ( )
raises (Global::FrameworkErrorSignal);
AbstractIF::MaterialSequence allMaterialInTransit ( )
raises (Global::FrameworkErrorSignal);
AbstractIF::MaterialSequence allMaterialInStorage ( )
raises (Global::FrameworkErrorSignal);
}; // MaterialTransportManager
interface MaterialTransportController : TransportJobSupervisor {
AbstractIF::MaterialSequence allMaterial ( )
raises (Global::FrameworkErrorSignal);
AbstractIF::MaterialSequence allMaterialInTransit ( )
raises (Global::FrameworkErrorSignal);
AbstractIF::MaterialSequence allMaterialInStorage ( )
raises (Global::FrameworkErrorSignal);

SEMI E102-0600 © SEMI 2000 28
}; // MaterialTransportController
interface TransportJob : AbstractIF::Job {
exception TimeUndeterminableSignal { };
boolean canCompleteBy (
in Global::TimeStamp whenNeeded)
raises (Global::FrameworkErrorSignal,
TimeUndeterminableSignal);
Global::Duration transportTime ( )
raises (Global::FrameworkErrorSignal,
TimeUndeterminableSignal);
}; // TransportJob
interface TransportMachine : MachineAIG::Machine {
}; // TransportMachine
interface StorageMachine : MachineAIG::Machine {
const string MaterialContainerArrivedAtManualInputPortSubject =
“/MaterialTransport/StorageMachine/
MaterialContainerArrivedAtManualInputPort”;
struct MaterialContainerArrivedAtManualInputPortFilters {
Global::Property Port;
Global::Property MaterialContainer;
};
struct MaterialContainerArrivedAtManualInputPortEvent {
string eventSubject;
Global::TimeStamp eventTimeStamp;
MaterialContainerArrivedAtManualInputPortFilters eventFilterData;
Global::Properties eventNews;
StorageMachine aMachine
};
}; // StorageMachine
}; // module MaterialTransport
#endif // _CIMFW_MATERIAL_TRANSPORT_
}; // module CIMFW
NOTICE: SEMI makes no warranties or representations as to the suitability of the specification set forth herein for
any particular application. The determination of the suitability of the specification is solely the responsibility of the
user. Users are cautioned to refer to manufacturer’s instructions, product labels, product data sheets, and other rele-
vant literature respecting any materials mentioned herein. These specifications are subject to change without notice.
The user’s attention is called to the possibility that compliance with this specification may require use of
copyrighted material or of an invention covered by patent rights. By publication of this specification, SEMI takes
no position respecting the validity of any patent rights or copyrights asserted in connection with any item mentioned
in this specification. Users of this specification are expressly advised that determination of any such patent rights or
copyrights, and the risk of infringement of such rights, are entirely their own responsibility.