public class LoaderCarrier extends MobileItem implements MovedByEPOSController, ControlledBySensors
| Modifier and Type | Field and Description |
|---|---|
static int |
TIMEOUT_FOR_MOVING_CARRIER |
agentStateService, commandDuration, currentAction, FCSLOG, hasToWaitForEndOfAction, lock, name, readSensorsHandle, scheduler, subsalertSeparator| Constructor and Description |
|---|
LoaderCarrier() |
| Modifier and Type | Method and Description |
|---|---|
void |
abortAction(FcsEnumerations.MobileItemAction action,
long delay)
Aborts an action.
|
void |
checkPositionSensors()
check that position sensors confirm position at the end of a motion to
absoluteTargetPosition.
|
StatusDataPublishedByLoaderCarrier |
createStatusDataPublishedByLoaderCarrier()
Creates an object to be published on the STATUS bus.
|
void |
endAction(FcsEnumerations.MobileItemAction action)
Ends an action.
|
EPOSController |
getController() |
protected int |
getCurrent()
returns current for tests
|
int |
getEngagedPosition() |
int |
getHandoffPosition() |
int |
getMaxCurrent()
Returns max current - Used by GUI
|
int |
getMaxSpeed()
Returns max speed - Used by GUI
|
int |
getPosition() |
int |
getStoragePosition() |
long |
getTimeoutForGoingToHandOff()
Used by GUI
|
long |
getTimeoutForGoingToStorage()
Used by GUI
|
void |
goToAbsolutePosition(int absolutePosition)
For end user.
|
void |
goToEngaged()
Move the carrier to Handoff position.
|
void |
goToHandOff()
Move the carrier to Handoff position.
|
void |
goToStorage()
Moves loader carrier to storage position.
|
void |
homing()
This command is to be used by end user in case the carrier controller has
lost its position.
|
void |
initializeController()
initialize controller
|
void |
initializeHardware()
Command for ENGINEERING mode.
|
boolean |
isActionCompleted(FcsEnumerations.MobileItemAction action)
Tests if action is completed.
|
boolean |
isAtEngaged()
Return true if carrier is at ENGAGED position.
|
boolean |
isAtHandoff()
Return true if the carrier is at HANDOFF position.
|
boolean |
isAtStorage()
Returns the boolean field atStorage.
|
boolean |
isHandoffSensorsInError() |
boolean |
isInError()
returns true if handoff sensors or storage sensors are in error.
|
boolean |
isInitialized() |
boolean |
isStorageSensorsInError() |
boolean |
myDevicesReady()
Returns true if loader CANopen devices are booted, identified and
initialized.
|
void |
postStart() |
String |
printHardwareState()
Return a printed list of hardware with initialization information.
|
void |
publishData()
Publish Data on status bus for trending data base and GUIs.
|
void |
quickStopAction(FcsEnumerations.MobileItemAction action,
long delay) |
void |
raiseProfileAcceleration()
change ProfileVelocity parameter to highSpeed
|
void |
raiseProfileDeceleration()
change ProfileVelocity parameter to highSpeed
|
void |
raiseProfileVelocity()
change ProfileVelocity parameter to highSpeed
|
int |
readPosition()
To display position for end user.
|
long |
readProfileVelocity()
read ProfileVelocity parameter in carrierController CPU.
|
void |
shutdown()
This shutdowns the scheduler.
|
void |
slowProfileAcceleration()
change ProfileAcceleration parameter to lowAcceleration
|
void |
slowProfileDeceleration()
change ProfileAcceleration parameter to lowAcceleration
|
void |
slowProfileVelocity()
change ProfileVelocity parameter to lowSpeed
|
void |
startAction(FcsEnumerations.MobileItemAction action)
Starts an action on the carrier.
|
void |
updateCurrent()
Read Current on controller and save value read.
|
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.
|
cancelReadingSensors, checkReadyForAction, checkStopped, executeAction, getAlertService, getHaltRequired, getName, getSubsystem, isMoving, readSensorsUntilActionIsCompleted, signal, waitForEndOfActionclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetControllerName, monitorCurrentcheckSensorsclearAlarm, getAlertSeparator, getAlertService, getName, getSubsystem, raiseAlarm, raiseAlarm, raiseAlarm, raiseAlarm, raiseWarning, raiseWarningpublic static final int TIMEOUT_FOR_MOVING_CARRIER
@Command(type=QUERY,
level=0,
description="Returns carrier position.")
public int getPosition()
protected int getCurrent()
public EPOSController getController()
getController 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()
public int getEngagedPosition()
@Command(type=QUERY,
level=1,
description="Return the storage position in microns (format decimal).")
public int getStoragePosition()
@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 isInError()
isInError in interface ControlledBySensors@Command(type=ACTION,
level=3,
description="Homing of carrier controller. Should be done only if necessary.")
public void homing()
public void initializeController()
public void postStart()
postStart in interface org.lsst.ccs.framework.HasLifecyclepublic boolean myDevicesReady()
myDevicesReady in class MobileItem@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 isAtStorage()
@Command(type=QUERY,
level=0,
description="Return true if the carrier is at HANDOFF position. This command doesn\'t read again the sensors.At HANDOFF engagedSensors and handoffSensors are ON.")
public boolean isAtHandoff()
@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 isAtEngaged()
@Command(type=ACTION,
level=1,
alias="goToHandoff",
description="Move the carrier to Handoff position.",
timeout=120000)
public void goToHandOff()
@Command(type=ACTION,
level=1,
description="Move the carrier to Engaged position.",
timeout=120000)
public void goToEngaged()
@Command(type=ACTION,
level=1,
description="Move the carrier to STORAGE position.",
timeout=120000)
public void goToStorage()
@Command(type=ACTION,
level=1,
description="Move the carrier to absolute position given as argument (in decimal format).",
timeout=120000)
public void goToAbsolutePosition(int absolutePosition)
absolutePosition - @Command(type=ACTION,
level=1,
description="change ProfileVelocity parameter to lowSpeed")
public void slowProfileVelocity()
@Command(type=ACTION,
level=1,
description="change ProfileVelocity parameter to highSpeed")
public void raiseProfileVelocity()
@Command(type=ACTION,
level=1,
description="change ProfileAcceleration parameter to highAcceleration")
public void raiseProfileAcceleration()
@Command(type=ACTION,
level=1,
description="change ProfileAcceleration parameter to lowAcceleration")
public void slowProfileAcceleration()
@Command(type=ACTION,
level=1,
description="change ProfileAcceleration parameter to highAcceleration")
public void raiseProfileDeceleration()
@Command(type=ACTION,
level=1,
description="change ProfileAcceleration parameter to lowAcceleration")
public void slowProfileDeceleration()
@Command(type=ACTION,
level=1,
description="read ProfileVelocity parameter in carrierController CPU")
public long readProfileVelocity()
public boolean isActionCompleted(FcsEnumerations.MobileItemAction action)
isActionCompleted in class MobileItemaction - to be tested@Command(type=QUERY,
level=1,
description="Update carrier position in reading controller.")
public void updatePosition()
FcsHardwareExceptionpublic void updateCurrent()
MovedByEPOSControllerupdateCurrent in interface MovedByEPOSController@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()
public void updateStateWithSensorsToCheckIfActionIsCompleted()
MobileItemupdateStateWithSensorsToCheckIfActionIsCompleted in class MobileItempublic void startAction(FcsEnumerations.MobileItemAction action)
startAction in class MobileItemaction - to be startedpublic void abortAction(FcsEnumerations.MobileItemAction action, long delay)
abortAction in class MobileItemaction - delay - public void endAction(FcsEnumerations.MobileItemAction action)
endAction in class MobileItemaction - public void quickStopAction(FcsEnumerations.MobileItemAction action, long delay)
quickStopAction in class MobileItempublic void checkPositionSensors()
@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 createStatusDataPublishedByLoaderCarrier()
public void publishData()
publishData in interface MovedByEPOSControllerpublishData in class MobileItempublic void shutdown()
MobileItemshutdown in interface org.lsst.ccs.framework.HasLifecycleshutdown in class MobileItemCopyright © 2019 LSST. All rights reserved.