public abstract class BasicAutoChangerModule extends MobileItemModule implements AutoChanger
| Modifier and Type | Field and Description |
|---|---|
protected CarouselModule |
carousel |
protected boolean |
closingLatches |
protected FcsEnumerations.LockStatus |
latchesState |
protected boolean |
openingLatches |
static String |
publishedByAutoChangerOutputName |
protected ModuleState |
state |
protected long |
timeoutForClosingLatches |
protected long |
timeoutForOpeningLatches |
protected long |
timeToWaitForCompleteClose
When we close the Latches, after the numeric sensors have detected that the latches are closed, we want to wait
some time to be sure that the latches are really closed.
|
protected long |
timeToWaitForCompleteOpen
When we open the Latches, after the numeric sensors have detected that the latches are opened, we want to wait
some time to be sure that the latches are really opened.
|
protected TruckModule |
truckXminus
The truck on side X-
|
protected TruckModule |
truckXplus
The truck on side X+
|
protected boolean |
updatingLatches |
itemMoving, lock, motionCompleted| Constructor and Description |
|---|
BasicAutoChangerModule(String moduleName,
int aTickMillis,
FilterLatchModule latchXminus,
FilterLatchModule latchXplus,
TruckModule truckXminus,
TruckModule truckXplus,
String railsSensorsDIOName,
String filterSensorsDIOName) |
executeAction, readSensorsUntilActionIsCompleted, shutdownNowalias, change, checkHardware, dropConfigurationContext, getCheckedValueFromConfiguration, getChildren, getContext, getModule, getName, getNObserverThreads, getObservables, getSubsystem, getTickMillis, init, listens, newConfigurationContext, notifyChange, notifyChangeWithoutPreliminaryChecks, publishData, publishData, publishData, publishData, publishData, publishData, publishData, register, removeLogPanicState, sendToReply, sendToStatus, setBeanName, setContext, setEnvironment, setHandlerLevel, setLogLevel, setName, setNObserverThreads, setObservables, setStateModularSubsystem, setStateModularSubsystem, setTickMillis, shutdownCommand, start, startTicking, tick, updateaddObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChangedclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetTrucksPosition, goToPosition, locateTrucks, moveFilterToOnline, stopprotected CarouselModule carousel
protected TruckModule truckXminus
protected TruckModule truckXplus
public static final String publishedByAutoChangerOutputName
protected volatile ModuleState state
protected volatile FcsEnumerations.LockStatus latchesState
protected volatile boolean updatingLatches
protected volatile boolean closingLatches
protected volatile boolean openingLatches
protected long timeoutForOpeningLatches
protected long timeoutForClosingLatches
protected long timeToWaitForCompleteClose
protected long timeToWaitForCompleteOpen
public BasicAutoChangerModule(String moduleName, int aTickMillis, FilterLatchModule latchXminus, FilterLatchModule latchXplus, TruckModule truckXminus, TruckModule truckXplus, String railsSensorsDIOName, String filterSensorsDIOName)
public CompactIOModule getRailsSensorsDIO()
public CompactIOModule getFilterSensorsDIO()
public Filter getFilterOnTrucks()
getFilterOnTrucks in interface AutoChangerpublic ModuleState getState()
public void setState(ModuleState state)
state - the state to setpublic FilterLatchModule getLatchXminus()
public FilterLatchModule getLatchXplus()
public TruckModule getTruckXminus()
public TruckModule getTruckXplus()
public boolean isTrucksEmpty()
public void setTrucksEmpty(boolean isEmpty)
public void setFilterOnTrucks(Filter filterOnTrucks)
public String getFilterOnTrucksName()
public String getFilterSensorsDIOName()
public void setFilterSensorsDIOName(String filterSensorsDIOName)
public String getRailsSensorsDIOName()
public void setRailsSensorsDIOName(String railsSensorsDIOName)
@ConfigChanger public void setTimeToWaitForCompleteClose(long timeToWaitForCompleteClose)
@ConfigChanger public void setTimeToWaitForCompleteOpen(long timeToWaitForCompleteOpen)
@ConfigChanger public void setTimeoutForClosingLatches(long timeoutForClosingLatches)
@ConfigChanger public void setTimeoutForOpeningLatches(long timeoutForOpeningLatches)
public abstract boolean isMovingToStandback()
public abstract boolean isMovingToStandby()
public void initModule()
initModule in class org.lsst.ccs.framework.Modulepublic void processUpdate(Observable source, org.lsst.ccs.framework.Module.ValueUpdate v)
processUpdate in class org.lsst.ccs.framework.Modulepublic StatusDataPublishedByBasicAutoChanger getStatusData()
public void publishDataAndNotifyObservers()
public abstract boolean isMoving()
public abstract String goToStandby() throws org.lsst.ccs.bus.BadCommandException, org.lsst.ccs.bus.ErrorInCommandExecutionException, HardwareException, CanOpenException
org.lsst.ccs.bus.BadCommandExceptionorg.lsst.ccs.bus.ErrorInCommandExecutionExceptionHardwareExceptionCanOpenExceptionpublic abstract String goToStandback() throws org.lsst.ccs.bus.BadCommandException, org.lsst.ccs.bus.ErrorInCommandExecutionException, HardwareException, CanOpenException
org.lsst.ccs.bus.BadCommandExceptionorg.lsst.ccs.bus.ErrorInCommandExecutionExceptionHardwareExceptionCanOpenExceptionpublic abstract String moveFilterToStandby(Filter aFilter) throws org.lsst.ccs.bus.BadCommandException, org.lsst.ccs.bus.ErrorInCommandExecutionException, HardwareException, CanOpenException
moveFilterToStandby in interface AutoChangerorg.lsst.ccs.bus.BadCommandExceptionorg.lsst.ccs.bus.ErrorInCommandExecutionExceptionHardwareExceptionCanOpenExceptionpublic abstract String moveFilterToStandback(Filter aFilter) throws org.lsst.ccs.bus.BadCommandException, org.lsst.ccs.bus.ErrorInCommandExecutionException, HardwareException, CanOpenException
org.lsst.ccs.bus.BadCommandExceptionorg.lsst.ccs.bus.ErrorInCommandExecutionExceptionHardwareExceptionCanOpenExceptionpublic abstract void updateStateWithSensors()
throws HardwareException,
org.lsst.ccs.bus.ErrorInCommandExecutionException
HardwareExceptionorg.lsst.ccs.bus.ErrorInCommandExecutionExceptionpublic void checkPreConditionsForTrucksMotion()
throws org.lsst.ccs.bus.BadCommandException,
HardwareException,
org.lsst.ccs.bus.ErrorInCommandExecutionException
org.lsst.ccs.bus.BadCommandExceptionHardwareExceptionorg.lsst.ccs.bus.ErrorInCommandExecutionExceptionpublic String grabFilterAtStandby(Filter filter) throws org.lsst.ccs.bus.BadCommandException, org.lsst.ccs.bus.ErrorInCommandExecutionException, HardwareException, CanOpenException
grabFilterAtStandby in interface AutoChangerorg.lsst.ccs.bus.BadCommandExceptionorg.lsst.ccs.bus.ErrorInCommandExecutionExceptionHardwareExceptionCanOpenExceptionpublic String ungrabFilterAtStandby() throws org.lsst.ccs.bus.ErrorInCommandExecutionException, org.lsst.ccs.bus.BadCommandException, HardwareException, CanOpenException
ungrabFilterAtStandby in interface AutoChangerorg.lsst.ccs.bus.ErrorInCommandExecutionExceptionorg.lsst.ccs.bus.BadCommandExceptionHardwareExceptionCanOpenExceptionpublic FcsEnumerations.LockStatus getLatchesState()
public boolean isHoldingFilterAtStandby()
public boolean isHoldingFilterAtStandback()
public boolean isActionCompleted(FcsEnumerations.MobileItemAction action)
isActionCompleted in class MobileItemModulepublic void postAction(FcsEnumerations.MobileItemAction action)
postAction in class MobileItemModulepublic void startAction(FcsEnumerations.MobileItemAction action) throws org.lsst.ccs.bus.BadCommandException, org.lsst.ccs.bus.ErrorInCommandExecutionException, HardwareException
startAction in class MobileItemModuleorg.lsst.ccs.bus.BadCommandExceptionorg.lsst.ccs.bus.ErrorInCommandExecutionExceptionHardwareExceptionpublic void updateStateWithSensorsToCheckIfActionIsCompleted()
throws HardwareException,
org.lsst.ccs.bus.ErrorInCommandExecutionException
updateStateWithSensorsToCheckIfActionIsCompleted in class MobileItemModuleHardwareExceptionorg.lsst.ccs.bus.ErrorInCommandExecutionExceptionpublic String openLatchesAtStandby() throws org.lsst.ccs.bus.BadCommandException, org.lsst.ccs.bus.ErrorInCommandExecutionException, HardwareException
openLatchesAtStandby in interface AutoChangerorg.lsst.ccs.bus.BadCommandExceptionorg.lsst.ccs.bus.ErrorInCommandExecutionExceptionHardwareErrorHardwareExceptionpublic String closeLatchesAtStandby() throws org.lsst.ccs.bus.BadCommandException, org.lsst.ccs.bus.ErrorInCommandExecutionException, HardwareException
closeLatchesAtStandby in interface AutoChangerorg.lsst.ccs.bus.BadCommandExceptionorg.lsst.ccs.bus.ErrorInCommandExecutionExceptionHardwareErrorHardwareExceptionpublic void updateLatchesStateWithSensors()
throws HardwareException,
org.lsst.ccs.bus.ErrorInCommandExecutionException
HardwareExceptionorg.lsst.ccs.bus.ErrorInCommandExecutionExceptionpublic FcsEnumerations.AutoChangerTrucksLocation getTrucksLocation()
public boolean isAtStandby()
isAtStandby in interface AutoChangerpublic boolean isAtStandback()
public void updateTrucksLocationWithSensors()
throws org.lsst.ccs.bus.ErrorInCommandExecutionException
org.lsst.ccs.bus.ErrorInCommandExecutionExceptionCopyright © 2013 LSST. All Rights Reserved.