public class LoaderCarrierModule extends MobileItemModule implements MovedByEPOSController
| 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(NumericSensor handoffPositionSensor,
NumericSensor handoffPositionSensor1,
NumericSensor storagePositionSensor,
NumericSensor storagePositionSensor1)
Creation of a LoaderCarrierModule with 4 sensors.
|
| 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() |
StatusDataPublishedByLoaderCarrier |
createStatusDataPublishedByLoaderCarrier()
Creates an bject to be published on the STATUS bus.
|
String |
getControllerName()
Return the name of the controller.
|
int |
getCurrent() |
int |
getHandoffPosition() |
NumericSensor |
getHandoffPositionSensor0() |
NumericSensor |
getHandoffPositionSensor1() |
int |
getMaxCurrent() |
int |
getMaxSpeed() |
int |
getPosition() |
int |
getSpeed() |
int |
getSsiPosition() |
StatusDataPublishedByLoaderCarrier |
getStatusData()
Returns the object to be published on the STATUS bus by the LoaderCarrierModule.
|
int |
getStoragePosition() |
NumericSensor |
getStoragePositionSensor0() |
NumericSensor |
getStoragePositionSensor1() |
long |
getTimeoutForGoingToHandOff() |
long |
getTimeoutForGoingToStorage() |
String |
goToAbsolutePosition(int absolutePosition)
For end user.
|
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()
Return true if the autochanger is holding the filter at HANDOFF.
|
boolean |
isCANDevicesReady()
Returns true if loader CANopen devices are booted, identified and initialized.
|
boolean |
isConnectedOnCamera() |
boolean |
isControllerInFault()
Returns true if carrierController is in Fault.
|
boolean |
isEmpty()
Returns the boolean field empty.
|
boolean |
isHandoffSensorsInError() |
boolean |
isInitialized() |
boolean |
isLimitSwitchDownInError() |
boolean |
isLimitSwitchUpInError() |
boolean |
isStorageSensorsInError() |
void |
postAction(FcsEnumerations.MobileItemAction action) |
String |
printHardwareState()
Return a printed list of hardware with initialization information.
|
void |
processEmergencyMessage(EmergencyMessage msg)
What to do when we received an Emergency message from controller with an errorCode;
|
void |
processFaultReset()
What to do when a faultReset has been done on the controller.
|
void |
publishData()
Publish Data on status bus for trending data base and GUIs.
|
void |
quickStopAction(FcsEnumerations.MobileItemAction action,
long delay) |
int |
readPosition()
To display position for end user.
|
void |
setControllerInFault(boolean controllerInFault) |
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, stopgetNObserverThreads, getObservables, getTickMillis, init, listens, processUpdate, sendSignal, sendSignalWithTimeLimit, setNObserverThreads, setObservables, setTickMillis, startTicking, updateaddObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChangedclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitprocessUpdategetComponentConfigurationEnvironment, getComponentLookup, getName, getSubsystemraiseAlarm, raiseAlarm, raiseAlarm, raiseWarning, raiseWarning, raiseWarningchange, dropSubmittedChanges, getChildren, getComponentByName, getEnvironment, getParent, getParentObject, getSubmittedChanges, isParameterConfigurable, postStart, printConfigurableParameters, setBulkParameter, start, submitChange, submitChanges, validateBulkChangeprotected NumericSensor storagePositionSensor0
protected NumericSensor handoffPositionSensor0
protected NumericSensor storagePositionSensor1
protected NumericSensor handoffPositionSensor1
protected volatile boolean updatingState
public LoaderCarrierModule(NumericSensor handoffPositionSensor, NumericSensor handoffPositionSensor1, NumericSensor storagePositionSensor, NumericSensor storagePositionSensor1)
handoffPositionSensor - handoffPositionSensor1 - storagePositionSensor - storagePositionSensor1 - @Command(type=QUERY,
level=0,
description="Returns carrier position.")
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()
isControllerInFault in interface MovedByEPOSControllerpublic String getControllerName()
MovedByEPOSControllergetControllerName in interface MovedByEPOSControllerpublic void setControllerInFault(boolean controllerInFault)
setControllerInFault in interface MovedByEPOSController@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()
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.HardwareExceptionpublic boolean isCANDevicesReady()
isCANDevicesReady 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()
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()
FcsHardwareException@Command(type=ACTION,
level=1,
alias="goToHandoff",
description="Move the carrier to Handoff position.")
public String goToHandOff()
RejectedCommandExceptionFailedCommandExceptionFcsHardwareException@Command(type=ACTION,
level=1,
description="Move the carrier to STORAGE position.")
public String goToStorage()
RejectedCommandExceptionFailedCommandExceptionFcsHardwareException@Command(type=ACTION,
level=1,
description="Move the carrier to absolute position given as argument (in decimal format).")
public String goToAbsolutePosition(int absolutePosition)
absolutePosition - public boolean isActionCompleted(FcsEnumerations.MobileItemAction action)
isActionCompleted in class MobileItemModule@Command(type=QUERY,
level=1,
description="Update carrier position in reading controller.")
public void updatePosition()
FcsHardwareException@Command(type=QUERY,
level=1,
description="To update and display position for end user.Updates carrier position in reading controller and returns it.")
public int readPosition()
@Command(type=QUERY,
level=1,
description="Update carrier current in reading controller.")
public void updateCurrent()
FcsHardwareExceptionpublic void updateStateWithSensorsToCheckIfActionIsCompleted()
updateStateWithSensorsToCheckIfActionIsCompleted in class MobileItemModule@Command(type=ACTION,
level=1,
description="Update clamp state in reading sensors.")
public void updateStateWithSensors()
FcsHardwareExceptionprotected void updateStateWithSensors(String[] readHexaValues)
readHexaValues - FcsHardwareExceptionpublic void startAction(FcsEnumerations.MobileItemAction action)
startAction in class MobileItemModulepublic void abortAction(FcsEnumerations.MobileItemAction action, long delay)
abortAction in class MobileItemModulepublic void quickStopAction(FcsEnumerations.MobileItemAction action, long delay)
quickStopAction in class MobileItemModulepublic void postAction(FcsEnumerations.MobileItemAction action)
postAction in class MobileItemModule@Command(type=ACTION,
level=1,
description="Check if hardware is ready to be started.")
public void initializeHardware()
FcsHardwareException@Command(type=ACTION,
level=1,
description="Return a printed list of hardware with initialization information.")
public String printHardwareState()
public StatusDataPublishedByLoaderCarrier getStatusData()
public StatusDataPublishedByLoaderCarrier createStatusDataPublishedByLoaderCarrier()
public void processEmergencyMessage(EmergencyMessage msg)
processEmergencyMessage in interface MovedByEPOSControllermsg - public void processFaultReset()
MovedByEPOSControllerprocessFaultReset in interface MovedByEPOSControllerpublic void publishData()
publishData in interface MovedByEPOSControllerpublishData in class MobileItemModuleCopyright © 2016 LSST. All rights reserved.