public class AutoChangerTwoTrucksModule extends MobileItemModule
currentAction, FCSLOG, haltRequired, hasToWaitForEndOfAction, lock, motionCompleted, moving, scheduler, stopRequired| Constructor and Description |
|---|
AutoChangerTwoTrucksModule(AutochangerTruckModule truckXminus,
AutochangerTruckModule truckXplus)
Build a new AutoChangerTrucksModule with 6 sensors.
|
| Modifier and Type | Method and Description |
|---|---|
void |
abortAction(FcsEnumerations.MobileItemAction action,
long delay) |
void |
checkConditionsForTrucksMotion()
This method sends Exceptions if the conditions for trucks motion are not filled.
|
org.lsst.ccs.framework.TreeWalkerDiag |
checkHardware()
This method is called by method checkHardware in AutoChangerModule during
INITIALIZATION phase.
|
void |
checkPositionSensors()
This method is called in the postAction method to check that after a motion to well known position
as STANDBY, HANDOFF and ONLINE, position sensors confirm the trucks position.
|
void |
configureControllers()
Configure Autochanger trucks master and slave controllers.
|
static void |
configureDigitalInputOfLinearRails(EPOSController ctl)
This configures the digital inputs of the EPOS controller to work with a
holding brake.
|
static void |
configureDigitalOutputOfLinearRails(EPOSController ctl)
Configuration of an EPOS controller to work with a holding brake.
|
StatusDataPublishedByAutoChangerTrucks |
createStatusDataPublishedByAutoChangerTrucks()
Creates an object to be published on the status bus.
|
int |
getEncoderRibbonMaxValue()
return encoderRibbonMaxValue
Used by simulation.
|
int |
getEncoderRibbonMinValue()
return encoderRibbonMinValue
Used by simulation.
|
int |
getHandoffPosition()
Return HANDOFF position.
|
int |
getOnlinePosition()
Return ONLINE position.
|
int |
getPosition()
Return actual trucks position.
|
int |
getStandbyPosition()
Return STANDBY position.
|
StatusDataPublishedByAutoChangerTrucks |
getStatusData()
Build the class StatusDataPublishedByAutoChangerTrucks
|
long |
getTimeoutForTrucksMotion()
Return the timeout for trucks motion.
|
void |
goToHandOff()
Move Autochanger trucks to the Handoff position.
|
void |
goToOnline()
Move Autochanger trucks to the Online position.
|
void |
goToStandby()
Move Autochanger trucks to the Standby position.
|
void |
homing()
Do the homing of the trucks which consists in configuring the 2 controllers
in order to configure the encoders and set the point "0".
|
void |
initModule() |
boolean |
isActionCompleted(FcsEnumerations.MobileItemAction action) |
boolean |
isAtHandoffPosition()
Returns the boolean field atHandoff.
|
boolean |
isAtOnlinePosition()
Returns the boolean field atOnline.
|
boolean |
isAtStandbyPosition()
Returns the boolean field atStandby.
|
boolean |
isCANDevicesReady() |
boolean |
isHomingDone()
Return true if the homing of the trucks has been done.
|
boolean |
isInitialized()
Return true if both controllers are initialized and homing of trucks are done.
|
boolean |
isPositionSensorsInError()
Return true if TruckXminus position sensors or TruckXminus position sensors are in error.
|
void |
moveToAbsoluteTargetPosition(int targetPosition)
Move the trucks to an absolute position given as argument.
|
void |
moveToRelativeTargetPosition(int relativePosition)
Move the trucks to a relative position given as argument.
|
void |
postAction(FcsEnumerations.MobileItemAction action) |
void |
publishData() |
void |
quickStopAction(FcsEnumerations.MobileItemAction action,
long delay) |
int |
readPosition()
For the GUI and end users for test purpose.
|
void |
startAction(FcsEnumerations.MobileItemAction action) |
void |
tick() |
void |
updatePosition()
Updates the field position of the carrier in reading the CPU of the
controller.
|
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, waitraiseAlarm, raiseAlarm, raiseAlarm, raiseAlarm, raiseWarning, raiseWarning, raiseWarning, raiseWarninggetComponentConfigurationEnvironment, getComponentLookup, getName, getSubsystemchange, dropSubmittedChanges, getChildren, getComponentByName, getEnvironment, getParent, getParentObject, getSubmittedChanges, isParameterConfigurable, postStart, printConfigurableParameters, setBulkParameter, start, submitChange, submitChanges, validateBulkChangepublic AutoChangerTwoTrucksModule(AutochangerTruckModule truckXminus, AutochangerTruckModule truckXplus)
truckXminus - truckXplus - @Command(type=QUERY,
level=1,
description="Return actual trucks position. Doesn\'t read again the position on the controller.")
public int getPosition()
@Command(type=QUERY,
level=1,
description="Return HANDOFF position. Doesn\'t read again the position on the controller.")
public int getHandoffPosition()
@Command(type=QUERY,
level=1,
description="Return STANDBY position. Doesn\'t read again the position on the controller.")
public int getStandbyPosition()
@Command(type=QUERY,
level=1,
description="Return ONLINE position. Doesn\'t read again the position on the controller.")
public int getOnlinePosition()
public int getEncoderRibbonMinValue()
public int getEncoderRibbonMaxValue()
@Command(type=QUERY,
level=1,
description="Return timeout for trucks motion.")
public long getTimeoutForTrucksMotion()
@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 carrier is at ONLINE position. This command doesn\'t read again the sensors.")
public boolean isAtOnlinePosition()
@Command(type=QUERY,
level=0,
description="Return true if the carrier is at STANDBY position. This command doesn\'t read again the sensors.")
public boolean isAtStandbyPosition()
@Command(type=QUERY,
level=0,
description="Return true if the homing of the trucks has been done.")
public boolean isHomingDone()
@Command(type=QUERY,
level=0,
description="Return true if TruckXminus position sensors or TruckXminus position sensors are in error.")
public boolean isPositionSensorsInError()
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=ACTION,
level=1,
description="Configure Autochanger trucks master and slave controllers.",
alias="initControllers")
public void configureControllers()
FcsHardwareException@Command(type=QUERY,
level=0,
description="Return true if both controllers are initialized and homing of trucks are done.")
public boolean isInitialized()
@Command(type=QUERY,
level=1,
description="Check if the motion of trucks are allowed.")
public void checkConditionsForTrucksMotion()
@Command(type=ACTION,
level=1,
description="Move Autochanger trucks to the Handoff position.",
alias="goToHandoff")
public void goToHandOff()
@Command(type=ACTION,
level=1,
description="Move Autochanger trucks to the Online position.")
public void goToOnline()
FcsHardwareException@Command(type=ACTION,
level=1,
description="Move Autochanger trucks to the Standby position.")
public void goToStandby()
@Command(type=ACTION,
level=1,
description="Move Autochanger trucks to the absolute position given as argument.",
alias="mobeABSPos")
public void moveToAbsoluteTargetPosition(int targetPosition)
targetPosition - RejectedCommandExceptionFcsHardwareException@Command(type=ACTION,
level=1,
description="Move Autochanger trucks to the relative position given as argument.",
alias="moveRELPos")
public void moveToRelativeTargetPosition(int relativePosition)
relativePosition - RejectedCommandExceptionFcsHardwareExceptionpublic 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 MobileItemModulepublic void checkPositionSensors()
FcsHardwareException@Command(type=ACTION,
level=1,
description="Read actual position and do the homing of the master controllerwith this actual position.")
public void homing()
@Command(type=QUERY,
level=1,
description="Update trucks position in reading controller.")
public void updatePosition()
FcsHardwareException@Command(type=QUERY,
level=1,
description="Update trucks position in reading controller and return position.")
public int readPosition()
RejectedCommandExceptionFcsHardwareExceptionpublic boolean isCANDevicesReady()
isCANDevicesReady in class MobileItemModulepublic boolean isActionCompleted(FcsEnumerations.MobileItemAction action)
isActionCompleted in class MobileItemModulepublic void updateStateWithSensorsToCheckIfActionIsCompleted()
updateStateWithSensorsToCheckIfActionIsCompleted in class MobileItemModule@Command(type=ACTION,
level=1,
description="To configure the autochanger linear rails controllers.")
public static void configureDigitalInputOfLinearRails(EPOSController ctl)
SDORequestException@Command(type=ACTION,
level=1,
description="To configure the autochanger linear rails controllers.")
public static void configureDigitalOutputOfLinearRails(EPOSController ctl)
ctl - controllerSDORequestExceptionpublic StatusDataPublishedByAutoChangerTrucks getStatusData()
public StatusDataPublishedByAutoChangerTrucks createStatusDataPublishedByAutoChangerTrucks()
public void publishData()
publishData in class MobileItemModuleCopyright © 2016 LSST. All rights reserved.