
public class AutochangerTwoTrucks extends MobileItem
currentAction, FCSLOG, hasToWaitForEndOfAction, lock, name, readSensorsHandle, s, scheduleralertSeparater| Constructor and Description |
|---|
AutochangerTwoTrucks(AutochangerTruck truckXminus,
AutochangerTruck truckXplus,
EPOSControllerForLinearRail linearRailMasterController,
EPOSControllerForLinearRail linearRailSlaveController)
Build a new AutoChangerTrucksModule.
|
| Modifier and Type | Method and Description |
|---|---|
void |
abortAction(FcsEnumerations.MobileItemAction action,
long delay)
aborts action actually running.
|
void |
alignSlave()
move slave truk to masterPosition.
|
void |
checkActionCompleted(int waitTime,
int period)
check periodicaly if position pos is reached, update sensors state.
|
void |
checkConditionsForTrucksMotion()
This method sends Exceptions if the conditions for trucks motion are not
filled.
|
void |
checkDeltaPosition() |
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.
|
void |
enableControllersAndReleaseBrake()
This method is used in the startAction method.
|
int |
getHandoffPosition()
Return HANDOFF masterPosition.
|
int |
getOnlinePosition()
Return ONLINE position.
|
int |
getPosition()
Return actual trucks masterPosition.
|
int |
getStandbyPosition()
Return STANDBY masterPosition.
|
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 |
initializeControllers() |
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 |
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 |
moveAndClampFilterOnline()
move filter at online position and lock filter with a docking process.
|
void |
moveToAbsoluteTargetPosition(int targetPosition)
Move the trucks to an absolute position given as argument.
|
void |
moveToOnlineReleasedPosition()
Move trucks to a released position when clamps are LOCKED.
|
boolean |
myDevicesReady()
Return True if all CAN open devices useful for this MobileItemMobile are ready for an action.
|
void |
postAction(FcsEnumerations.MobileItemAction action)
Deprecated.
|
void |
postStart() |
void |
publishData() |
void |
quickStopAction(FcsEnumerations.MobileItemAction action,
long delay)
Deprecated.
|
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 |
setMaxDeltaReleasedPosition(int maxDeltaReleasedPosition)
max difference between onlinePosition and onlineReleasedPosition
|
void |
setNaturalPosition(int pos) |
void |
setOnlineReleasedPosition(int onlineReleasedPosition)
define field onlineReleasedPosition.
|
void |
startAction(FcsEnumerations.MobileItemAction action)
Deprecated.
|
void |
updatePosition()
Updates the field position of the trucks 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, cancelReadingSensors, checkReadyForAction, checkStopped, executeAction, getAlertService, getHaltRequired, getName, getSubsystem, isMoving, quickstop, readSensorsUntilActionIsCompleted, shutdownNow, signal, stop, stopActionNow, waitForEndOfActionclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcheckHardware, checkStartedclearAlarm, raiseAlarm, raiseAlarm, raiseAlarm, raiseAlarm, raiseAlarm, raiseAlarm, raiseWarning, raiseWarning, raiseWarning, raiseWarning, raiseWarningpublic AutochangerTwoTrucks(AutochangerTruck truckXminus, AutochangerTruck truckXplus, EPOSControllerForLinearRail linearRailMasterController, EPOSControllerForLinearRail linearRailSlaveController)
truckXminus - truckXplus - linearRailMasterController - linearRailSlaveController - @ConfigurationParameterChanger public void setNaturalPosition(int pos)
@ConfigurationParameterChanger public void setOnlineReleasedPosition(int onlineReleasedPosition)
onlineReleasedPosition - @ConfigurationParameterChanger public void setMaxDeltaReleasedPosition(int maxDeltaReleasedPosition)
maxDeltaReleasedPosition - @Command(type=QUERY, level=1, description="Return actual trucks position (master 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 postStart()
public void initializeControllers()
@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. At the end of motion : doesn\'t align slave, active brakes and disable controllers", alias="mobeABSPos", timeout=20000) public void moveToAbsoluteTargetPosition(int targetPosition)
targetPosition - RejectedCommandExceptionFcsHardwareExceptionpublic void moveToOnlineReleasedPosition()
@Command(type=ACTION, description="goToOnline with filter, adjust position, close and lock clamps", timeout=20000) public void moveAndClampFilterOnline()
@Deprecated public void startAction(FcsEnumerations.MobileItemAction action)
MobileItemstartAction in class MobileItem@Command(type=ACTION, level=1, description="Enable and release brake for the 2 controllers.") public void enableControllersAndReleaseBrake()
@Command(type=ACTION, level=1, description="Align slave controller position to master controller position.", timeout=20000) public void alignSlave()
public void abortAction(FcsEnumerations.MobileItemAction action, long delay)
MobileItemabortAction in class MobileItem@Deprecated public void quickStopAction(FcsEnumerations.MobileItemAction action, long delay)
quickStopAction in class MobileItem@Deprecated public void postAction(FcsEnumerations.MobileItemAction action)
postAction in class MobileItempublic 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 myDevicesReady()
MobileItemmyDevicesReady in class MobileItempublic boolean isActionCompleted(FcsEnumerations.MobileItemAction action)
isActionCompleted in class MobileItempublic void updateStateWithSensorsToCheckIfActionIsCompleted()
MobileItemupdateStateWithSensorsToCheckIfActionIsCompleted in class MobileItem@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 void checkActionCompleted(int waitTime,
int period)
waitTime - period - public StatusDataPublishedByAutoChangerTrucks createStatusDataPublishedByAutoChangerTrucks()
public void publishData()
publishData in class MobileItemCopyright © 2018 LSST. All rights reserved.