
public class AutoChangerTwoTrucksModule extends MobileItemModule
currentAction, FCSLOG, hasToWaitForEndOfAction, lock, scheduler| 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)
aborts action actually running.
|
void |
alignSlave(int masterPosition)
move slave truk to position.
|
void |
checkConditionsForTrucksMotion()
This method sends Exceptions if the conditions for trucks motion are not
filled.
|
void |
checkDeltaPosition() |
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.
|
StatusDataPublishedByAutoChangerTrucks |
createStatusDataPublishedByAutoChangerTrucks()
Creates an object to be published on the status bus.
|
int |
getHandoffPosition()
Return HANDOFF position.
|
int |
getOnlinePosition()
Return ONLINE position.
|
int |
getPosition()
Return actual trucks position.
|
int |
getStandbyPosition()
Return STANDBY position.
|
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 homing of both controllers.
|
void |
initModule() |
boolean |
isActionCompleted(FcsEnumerations.MobileItemAction action) |
boolean |
isAtHandoff()
Returns the boolean field atHandoff.
|
boolean |
isAtOnline()
Returns the boolean field atOnline.
|
boolean |
isAtStandby()
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 |
moveToAbsoluteTargetPositionAtYourOwnRisk(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 |
releaseBrakeMaster()
release brake on master controller.
|
void |
releaseBrakeSlave()
release brake on slave controller.
|
void |
startAction(FcsEnumerations.MobileItemAction action)
starts the action given as argument.
|
void |
updatePosition()
Updates the field position of the carrier in reading the CPU of the
controller.
|
void |
updateStateWithSensorsToCheckIfActionIsCompleted()
reads sensors or any device and updates state from sensors
it can be also reading a position or a current on a motor controller.
|
abort, abort, checkStarted, checkStopped, executeAction, getHaltRequired, isMoving, quickstop, readSensorsUntilActionIsCompleted, shutdownNow, signal, stop, stopgetNObserverThreads, getObservables, getTickMillis, init, listens, processUpdate, sendSignal, sendSignalWithTimeLimit, setNObserverThreads, setObservables, setTickMillis, startTicking, tick, 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()
@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 isAtHandoff()
@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 isAtOnline()
@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 isAtStandby()
@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 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=3, description="Move Autochanger trucks to the absolute position given as argument. This command is dangerous because no control are done. It can be executed when onlineClamps are in an UNKNOWN state.") public void moveToAbsoluteTargetPositionAtYourOwnRisk(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)
MobileItemModulestartAction in class MobileItemModule@Command(type=ACTION, level=1, description="Align slave controller position to master controller position.") public void alignSlave(int masterPosition)
masterPosition - public void abortAction(FcsEnumerations.MobileItemAction action, long delay)
MobileItemModuleabortAction 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="Do homing for both controllers.") 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="Read position on controllers, compute difference and throw exceptionif difference is > 1000.") public void checkDeltaPosition()
@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()
MobileItemModuleupdateStateWithSensorsToCheckIfActionIsCompleted in class MobileItemModule@Command(type=ACTION, level=3, description="Release slave controller brake.") public void releaseBrakeSlave()
@Command(type=ACTION, level=3, description="Release master controller brake.") public void releaseBrakeMaster()
public StatusDataPublishedByAutoChangerTrucks createStatusDataPublishedByAutoChangerTrucks()
public void publishData()
publishData in class MobileItemModuleCopyright © 2017 LSST. All rights reserved.