
public class LoaderCarrierModule extends MobileItemModule
| Modifier and Type | Field and Description |
|---|---|
protected NumericSensor |
handoffPositionSensor0 |
protected NumericSensor |
handoffPositionSensor1 |
protected NumericSensor |
storagePositionSensor0 |
protected NumericSensor |
storagePositionSensor1 |
protected boolean |
updatingState |
currentAction, fcslog, haltRequired, hasToWaitForEndOfAction, lock, motionCompleted, moving, stopRequired| Constructor and Description |
|---|
LoaderCarrierModule(String moduleName,
int aTickMillis,
int minPos,
int maxPos,
NumericSensor handoffPositionSensor,
NumericSensor handoffPositionSensor1,
NumericSensor storagePositionSensor,
NumericSensor storagePositionSensor1,
long timeoutForGoingToHandOff,
long timeoutForGoingToStorage,
int maxCurrent,
int maxSpeed) |
| Modifier and Type | Method and Description |
|---|---|
void |
abortAction(FcsEnumerations.MobileItemAction action,
long delay) |
boolean |
checkFilterPresence()
Updates the boolean field empty and returns it.
|
org.lsst.ccs.framework.TreeWalkerDiag |
checkHardware() |
int |
getCurrent() |
int |
getHandoffPosition() |
NumericSensor |
getHandoffPositionSensor0() |
NumericSensor |
getHandoffPositionSensor1() |
int |
getMaxCurrent() |
int |
getMaxSpeed() |
int |
getPosition() |
int |
getSpeed() |
int |
getSsiPosition() |
StatusDataPublishedByLoaderCarrier |
getStatusData() |
int |
getStoragePosition() |
NumericSensor |
getStoragePositionSensor0() |
NumericSensor |
getStoragePositionSensor1() |
long |
getTimeoutForGoingToHandOff() |
long |
getTimeoutForGoingToStorage() |
String |
goToHandOff()
Move the carrier to Handoff position.
|
String |
goToStorage()
Move the carrier to storage position.
|
void |
initializeHardware()
Command for ENGINEERING mode.
|
void |
initModule() |
boolean |
isActionCompleted(FcsEnumerations.MobileItemAction action) |
boolean |
isAtHandoffPosition()
Returns the boolean field atHandoff.
|
boolean |
isAtStoragePosition()
Returns the boolean field atStorage.
|
boolean |
isAutochangerHoldingFilter() |
boolean |
isConnectedOnCamera() |
boolean |
isControllerInFault() |
boolean |
isEmpty()
Returns the boolean field empty.
|
boolean |
isHandoffSensorsInError() |
boolean |
isHardwareReady() |
boolean |
isInitialized() |
boolean |
isLimitSwitchDownInError() |
boolean |
isLimitSwitchUpInError() |
boolean |
isStorageSensorsInError() |
void |
postAction(FcsEnumerations.MobileItemAction action) |
void |
processUpdate(Observable source,
org.lsst.ccs.framework.Module.ValueUpdate v)
What to do when the Modules we observe send there new values.
|
void |
publishData()
Publish Data on status bus for trending data base and GUIs.
|
void |
quickStopAction(FcsEnumerations.MobileItemAction action,
long delay) |
void |
setHandoffPosition(int handoffPosition) |
void |
setStoragePosition(int storagePosition) |
void |
setTimeoutForGoingToHandOff(long timeoutForGoingToHandOff) |
void |
setTimeoutForGoingToStorage(long timeoutForGoingToStorage) |
void |
startAction(FcsEnumerations.MobileItemAction action) |
void |
tick() |
void |
updateCurrent()
Updates the field position of the carrier in reading the CPU of the controller.
|
void |
updatePosition()
Updates the field position of the carrier in reading the CPU of the controller.
|
void |
updateStateWithSensors()
This methods updates the carrier state in reading all the carrier sensors.
|
protected void |
updateStateWithSensors(String[] readHexaValues)
This methods updates the lockStatus from an array of hexaValues.
|
void |
updateStateWithSensorsToCheckIfActionIsCompleted() |
abort, abort, checkStarted, checkStopped, executeAction, getHaltRequired, isMoving, quickstop, readSensorsUntilActionIsCompleted, shutdownNow, signal, stop, stopalias, getComponentTree, getEnvironment, getModule, getName, getNObserverThreads, getObservables, getSubsystem, getTickMillis, init, listens, percolateSignal, postStart, sendSignal, sendSignalWithTimeLimit, setEnvironment, setName, setNObserverThreads, setObservables, setTickMillis, startTicking, updateaddObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChangedprotected NumericSensor storagePositionSensor0
protected NumericSensor handoffPositionSensor0
protected NumericSensor storagePositionSensor1
protected NumericSensor handoffPositionSensor1
protected volatile boolean updatingState
public LoaderCarrierModule(String moduleName, int aTickMillis, int minPos, int maxPos, NumericSensor handoffPositionSensor, NumericSensor handoffPositionSensor1, NumericSensor storagePositionSensor, NumericSensor storagePositionSensor1, long timeoutForGoingToHandOff, long timeoutForGoingToStorage, int maxCurrent, int maxSpeed)
public int getPosition()
public int getSsiPosition()
public int getSpeed()
public int getCurrent()
@Command(type=QUERY, level=1, description="Returns true if carrierController is in Fault.") public boolean isControllerInFault()
@Command(type=QUERY, level=1, description="Returns true if carrier is initialized and ready to receive commands.") public boolean isInitialized()
@Command(type=QUERY, level=1, description="Return the max speed in rpm/mn (format decimal).") public int getMaxSpeed()
@Command(type=QUERY, level=1, description="Return the max current in mA (format decimal).") public int getMaxCurrent()
@Command(type=QUERY, level=1, description="Return the handoff position in microns (format decimal).") public int getHandoffPosition()
@Command(type=QUERY, level=1, description="Return the storage position in microns (format decimal).") public int getStoragePosition()
public NumericSensor getStoragePositionSensor0()
public NumericSensor getHandoffPositionSensor0()
public NumericSensor getStoragePositionSensor1()
public NumericSensor getHandoffPositionSensor1()
@Command(type=QUERY, level=1, description="Return the timeout for going to Handoff in millis (format decimal).") public long getTimeoutForGoingToHandOff()
@Command(type=QUERY, level=1, description="Return the timeout for going to Storage in millis (format decimal).") public long getTimeoutForGoingToStorage()
@Command(type=QUERY, level=1, description="Return false if the 2 redondant position sensors at Storage are equal.") public boolean isStorageSensorsInError()
@Command(type=QUERY, level=1, description="Return false if the 2 redondant position sensors at HandOff are equal.") public boolean isHandoffSensorsInError()
public boolean isLimitSwitchDownInError()
public boolean isLimitSwitchUpInError()
@ConfigChanger public void setHandoffPosition(int handoffPosition)
handoffPosition - @ConfigChanger public void setStoragePosition(int storagePosition)
storagePosition - @ConfigChanger public void setTimeoutForGoingToHandOff(long timeoutForGoingToHandOff)
@ConfigChanger public void setTimeoutForGoingToStorage(long timeoutForGoingToStorage)
public void initModule()
initModule in class MobileItemModulepublic void tick()
tick in class org.lsst.ccs.framework.Modulepublic org.lsst.ccs.framework.TreeWalkerDiag checkHardware()
throws org.lsst.ccs.HardwareException
checkHardware in interface org.lsst.ccs.framework.HardwareControllercheckHardware in class MobileItemModuleorg.lsst.ccs.HardwareException@Command(type=QUERY, level=1, description="Returns true if loader hardware is connected and ready.") public boolean isHardwareReady()
isHardwareReady in class MobileItemModule@Command(type=QUERY, level=0, description="Read the sensors and return true if a filter is in the loader.") public boolean checkFilterPresence() throws FcsHardwareException
FcsHardwareException@Command(type=QUERY, level=0, description="Return true if there is no filter in the loader. This command doesn\'t read again the sensors.") public boolean isEmpty()
@Command(type=QUERY, level=0, description="Return true if the carrier is at storage position. This command doesn\'t read again the sensors.") public boolean isAtStoragePosition()
@Command(type=QUERY, level=0, description="Return true if the carrier is at HANDOFF position. This command doesn\'t read again the sensors.") public boolean isAtHandoffPosition()
@Command(type=QUERY, level=0, description="Return true if the loader is connected on the camera. This command doesn\'t read again the sensors.") public boolean isConnectedOnCamera()
@Command(type=QUERY, level=0, description="Return true if the autochanger is holding the filter. This command doesn\'t read again the sensors.") public boolean isAutochangerHoldingFilter()
@Command(type=ACTION, level=1, alias="goToHandoff", description="Move the carrier to Handoff position.") public String goToHandOff() throws org.lsst.ccs.messaging.BadCommandException, org.lsst.ccs.messaging.ErrorInCommandExecutionException, FcsHardwareException
org.lsst.ccs.messaging.BadCommandExceptionorg.lsst.ccs.messaging.ErrorInCommandExecutionExceptionFcsHardwareException@Command(type=ACTION, level=1, description="Move the carrier to Storage position.") public String goToStorage() throws org.lsst.ccs.messaging.BadCommandException, org.lsst.ccs.messaging.ErrorInCommandExecutionException, FcsHardwareException
org.lsst.ccs.messaging.BadCommandExceptionorg.lsst.ccs.messaging.ErrorInCommandExecutionExceptionFcsHardwareExceptionpublic boolean isActionCompleted(FcsEnumerations.MobileItemAction action)
isActionCompleted in class MobileItemModule@Command(type=QUERY, level=1, description="Update carrier position in reading controller.") public void updatePosition() throws SDORequestException
SDORequestException@Command(type=QUERY, level=1, description="Update carrier current in reading controller.") public void updateCurrent() throws org.lsst.ccs.messaging.BadCommandException, SDORequestException
org.lsst.ccs.messaging.BadCommandExceptionSDORequestExceptionpublic void updateStateWithSensorsToCheckIfActionIsCompleted()
throws Exception
updateStateWithSensorsToCheckIfActionIsCompleted in class MobileItemModuleException@Command(type=ACTION, level=1, description="Update clamp state in reading sensors.") public void updateStateWithSensors() throws FcsHardwareException
FcsHardwareExceptionprotected void updateStateWithSensors(String[] readHexaValues) throws FcsHardwareException
readHexaValues - FcsHardwareExceptionpublic void startAction(FcsEnumerations.MobileItemAction action) throws org.lsst.ccs.messaging.BadCommandException, org.lsst.ccs.messaging.ErrorInCommandExecutionException, FcsHardwareException
startAction in class MobileItemModuleorg.lsst.ccs.messaging.BadCommandExceptionorg.lsst.ccs.messaging.ErrorInCommandExecutionExceptionFcsHardwareExceptionpublic void abortAction(FcsEnumerations.MobileItemAction action, long delay) throws org.lsst.ccs.messaging.BadCommandException, org.lsst.ccs.messaging.ErrorInCommandExecutionException, FcsHardwareException
abortAction in class MobileItemModuleorg.lsst.ccs.messaging.BadCommandExceptionorg.lsst.ccs.messaging.ErrorInCommandExecutionExceptionFcsHardwareExceptionpublic void quickStopAction(FcsEnumerations.MobileItemAction action, long delay) throws org.lsst.ccs.messaging.BadCommandException, org.lsst.ccs.messaging.ErrorInCommandExecutionException, FcsHardwareException
quickStopAction in class MobileItemModuleorg.lsst.ccs.messaging.BadCommandExceptionorg.lsst.ccs.messaging.ErrorInCommandExecutionExceptionFcsHardwareExceptionpublic void postAction(FcsEnumerations.MobileItemAction action) throws org.lsst.ccs.messaging.BadCommandException, org.lsst.ccs.messaging.ErrorInCommandExecutionException, FcsHardwareException
postAction in class MobileItemModuleorg.lsst.ccs.messaging.BadCommandExceptionorg.lsst.ccs.messaging.ErrorInCommandExecutionExceptionFcsHardwareException@Command(type=ACTION, level=1, description="Check if hardware is ready to be started.") public void initializeHardware() throws FcsHardwareException
FcsHardwareExceptionpublic StatusDataPublishedByLoaderCarrier getStatusData()
public void processUpdate(Observable source, org.lsst.ccs.framework.Module.ValueUpdate v)
processUpdate in class org.lsst.ccs.framework.Modulesource - v - public void publishData()
publishData in class MobileItemModuleCopyright © 2015 LSST. All rights reserved.