public class LoaderClamp extends MobileItem implements MovedByEPOSController, ControlledBySensors
agentStateService, beginTime, commandDuration, currentAction, dataProviderDictionaryService, hasToWaitForEndOfAction, lock, moving, name, path, readSensorsHandle, scheduler, subs, timeoutExceededalertSeparator| Constructor and Description |
|---|
LoaderClamp(LoaderHook hook1,
LoaderHook hook2,
LoaderHook hook3,
LoaderHook hook4,
ForceSensor forceSensor0,
ForceSensor forceSensor1)
Build a new LoaderClampModule with 4 hooks and the parameters to configure
the EPOS controller in mode CURRENT and in mode HOMING.
|
| Modifier and Type | Method and Description |
|---|---|
void |
abortAction(FcsEnumerations.MobileItemAction action,
long delay)
aborts action actually running.
|
void |
build() |
void |
checkClamped() |
void |
checkClosed() |
void |
checkInitialized()
Check if clamp controller is initialized.
|
void |
checkUnclamped() |
void |
clamp()
Clamps hooks.
|
void |
close()
Closes clamp in order to hold the filter.
|
StatusDataPublishedByLoaderClamp |
createStatusDataPublishedByLoaderClamp()
Creates and returns the object to be published on the STATUS bus by the
LoaderClamp.
|
void |
endAction(FcsEnumerations.MobileItemAction action)
end current action.
|
EPOSController |
getController() |
int |
getCurrentToClamp() |
int |
getCurrentToOpen() |
FcsEnumerations.LockStatus |
getLockStatus() |
int |
getPosition()
Return position for end user.
|
int |
getRelativePositionToClose() |
int |
getRelativePositionToUnclamp() |
void |
init() |
void |
initializeController() |
boolean |
isActionCompleted(FcsEnumerations.MobileItemAction action)
Check if the action is completed.
|
boolean |
isClamped()
Returns true if LockStatus=CLAMPED
|
boolean |
isClosed()
Returns true if LockStatus=CLOSED
|
boolean |
isHomingDone()
Returns true if loader clamp is homingDone.
|
boolean |
isInError()
Returns true if clamp LockStatus is in ERROR or LockStatus is UNKNOWN.
|
boolean |
isOpened()
Returns true if LockStatus=OPENED
|
boolean |
myDevicesReady()
Returns true if loader CANopen devices are booted, identified and homingDone.
|
void |
open()
Open clamp in order to release filter and do a homing.
|
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) |
int |
readPosition()
To display position for end user.
|
void |
recoveryClamp()
Recovery command to be executed to clamp a filter between STORAGE and
ENGAGED.
|
void |
recoveryUnclamp()
unclamp Loader clamp.
|
void |
shutdown()
This shutdowns the scheduler.
|
void |
startAction(FcsEnumerations.MobileItemAction action)
starts the action given as argument.
|
String |
toString() |
void |
unclamp()
unclamp Loader clamp.
|
void |
updateCurrent()
Updates the field readCurrent of the clamp in reading the CPU of the
controller.
|
void |
updatePosition()
Updates the position of the clamp in reading the CPU of the controller.
|
void |
updateStateAndCheckSensors()
reads sensors, computes and state and raises an ALERT if sensors are in
error.
|
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, executeAction, getActionDurationPath, getAlertService, getHaltRequired, getName, getPath, getSubsystem, isMoving, readSensorsUntilActionIsCompleted, registerAction, signal, waitForEndOfActionclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetControllerNamecheckSensorsclearAlarm, getAlertSeparator, getAlertService, getSubsystem, raiseAlarm, raiseAlarm, raiseAlarm, raiseAlarm, raiseAlarmOnlyIfNew, raiseAlertOnlyEveryTenMinutes, raiseAlertOnlyEveryTenMinutes, raiseAlertOnlyIfNew, raiseWarning, raiseWarning, raiseWarning, raiseWarning, raiseWarningOnlyEveryTenMinutes, raiseWarningOnlyIfNewpublic LoaderClamp(LoaderHook hook1, LoaderHook hook2, LoaderHook hook3, LoaderHook hook4, ForceSensor forceSensor0, ForceSensor forceSensor1)
hook1 - hook2 - hook3 - hook4 - forceSensor0 - forceSensor1 - public void build()
build in interface org.lsst.ccs.framework.HasLifecyclepublic void init()
init in interface org.lsst.ccs.framework.HasLifecyclepublic EPOSController getController()
getController in interface MovedByEPOSControllerpublic int getRelativePositionToClose()
public int getRelativePositionToUnclamp()
public int getCurrentToClamp()
public int getCurrentToOpen()
@Command(type=QUERY,
level=1,
description="Display position for end user.Do not read again controller.")
public int getPosition()
@Command(type=QUERY,
level=1,
description="Returns true if homing of loader clamp has been done.")
public boolean isHomingDone()
public FcsEnumerations.LockStatus getLockStatus()
@Command(type=QUERY,
level=1,
description="Returns true if CLOSED")
public boolean isClosed()
@Command(type=QUERY,
level=1,
description="Returns true if OPENED")
public boolean isOpened()
@Command(type=QUERY,
level=1,
description="Returns true if CLAMPED")
public boolean isClamped()
@Command(type=QUERY,
level=1,
description="Returns true if in ERROR or UNKNOWN.")
public boolean isInError()
isInError in interface ControlledBySensorspublic boolean myDevicesReady()
myDevicesReady in class MobileItempublic void postStart()
postStart in interface org.lsst.ccs.framework.HasLifecyclepublic void initializeController()
public void checkInitialized()
RejectedCommandException - if clamp is not homingDonepublic void checkClamped()
public void checkUnclamped()
public void checkClosed()
@Command(type=ACTION,
level=1,
description="Open loader hooks and do homing with method Current Threshold Negative Speed.",
timeout=60000)
public void open()
@Command(type=ACTION,
level=1,
description="Close loader hooks. Do a homing BEFORE the close action when at HANDOFF and AC holding filter.",
timeout=60000)
public void close()
@Command(type=ACTION,
level=1,
description="Clamp to hold tightly a filter.",
timeout=60000)
public void clamp()
@Command(type=ACTION,
level=1,
description="Clamp to hold tightly a filter. Command to be executed to clamp a filter when carrier is between ENGAGED and STORAGE. Loader clamp must be CLOSED and not OVER_CLAMPED.",
timeout=60000)
public void recoveryClamp()
@Command(type=ACTION,
level=1,
description="Unclamp filter and return to CLOSED position.",
timeout=60000)
public void unclamp()
@Command(type=ACTION,
level=1,
description="Unclamp filter and go to CLOSED position and forceStatus = UNCLAMPED. Command to be used only for recovery when carrier is between ENGAGED and STORAGE.",
timeout=60000)
public void recoveryUnclamp()
public boolean isActionCompleted(FcsEnumerations.MobileItemAction action)
isActionCompleted in class MobileItemaction - public void updateStateWithSensorsToCheckIfActionIsCompleted()
MobileItemupdateStateWithSensorsToCheckIfActionIsCompleted in class MobileItempublic void startAction(FcsEnumerations.MobileItemAction action)
MobileItemstartAction in class MobileItempublic void abortAction(FcsEnumerations.MobileItemAction action, long delay)
MobileItemabortAction in class MobileItempublic void endAction(FcsEnumerations.MobileItemAction action)
MobileItemendAction in class MobileItempublic void quickStopAction(FcsEnumerations.MobileItemAction action, long delay)
quickStopAction in class MobileItempublic void updateStateAndCheckSensors()
@Command(type=QUERY,
level=1,
description="Update clamp current in reading controller.")
public void updateCurrent()
FcsHardwareException@Command(type=QUERY,
level=1,
description="Update clamp position in reading controller.")
public void updatePosition()
FcsHardwareException@Command(type=QUERY,
level=1,
description="To update and display position for end user.Updates loader clamp position in reading controller and returns it.")
public int readPosition()
@Command(type=QUERY,
level=1,
description="Return a printed list of hardware with initialization information.")
public String printHardwareState()
@Command(type=QUERY,
level=1,
description="List and display clamp info.")
public String toString()
public StatusDataPublishedByLoaderClamp createStatusDataPublishedByLoaderClamp()
public void publishData()
publishData in interface MovedByEPOSControllerpublishData in class MobileItempublic void shutdown()
MobileItemshutdown in interface org.lsst.ccs.framework.HasLifecycleshutdown in class MobileItemCopyright © 2023 LSST. All rights reserved.