
public class Loader extends Object implements org.lsst.ccs.framework.HardwareController, FilterHolder, AlertRaiser, org.lsst.ccs.framework.HasLifecycle
alertSeparator| Constructor and Description |
|---|
Loader() |
| Modifier and Type | Method and Description |
|---|---|
void |
checkClosedOnVoid() |
void |
checkConditionsForCarrierMotion(int targetPosition)
Checks if the loader carrier can move.
|
void |
checkConditionsForClampingHooks() |
void |
checkConditionsForOpeningHooks()
Check if the clamp can be opened.
|
void |
checkConditionsForUnclampingHooks() |
void |
checkConnectedOnCamera()
Check if loader is connected on camera.
|
void |
checkHaltRequired() |
void |
checkLoaderNotEmpty()
Check if the clamp can be closed.
|
StatusDataPublishedByLoader |
createStatusDataPublishedByLoader()
Creates an Object to be published on the STATUS bus.
|
org.lsst.ccs.services.alert.AlertService |
getAlertService()
return alertService
|
LoaderCarrier |
getCarrier()
Returns carrier.
|
LoaderClamp |
getClamp()
Returns clamp.
|
int |
getFilterID() |
String |
getName() |
org.lsst.ccs.Subsystem |
getSubsystem() |
void |
initializeGateway() |
boolean |
isAtHandoff()
This method returns true if the autochanger trucks are at HANDOFF position,
false otherwise.
|
boolean |
isAtStandby()
This method returns true if the autochanger trucks are at STANDBY position,
false otherwise.
|
boolean |
isAutochangerHoldingFilter()
Return true if the autochanger is holding the filter.
|
boolean |
isConnectedOnCamera()
Returns the boolean field atHandoff.
|
boolean |
isEmpty()
Returns the boolean field empty.
|
boolean |
isHoldingFilter()
Return true if a filter is present and it is held by the loader clamp.
|
boolean |
isInitialized() |
boolean |
isNotHoldingFilter()
Return true if loader clamp is openened.
|
void |
locateHardware()
This command has to be executed after the initialization phase and after the
checkHardware command.
|
void |
moveEmptyToHandoffAndClose() |
void |
moveFilterToHandoff()
move a filter from Storage position or a position between ENGAGED and
STORAGE to HANDOFF position.
|
void |
moveFilterToStorage()
Move a filter from HANDOFF to STORAGE.
|
void |
openClampAndMoveEmptyToStorage()
This command can be executed when loader is at Handoff with a filter.
|
void |
postStart()
Check that plutoGateway is booted and initialize plutoGateway.
|
String |
printHardwareState()
Print list of hardware with initialization information.
|
void |
publishData()
Publish Data on status bus for trending data base and GUIs.
|
void |
updateFCSStateToReady()
Update FCS state and FCS readyness state and publish on the status bus.
|
void |
updateStateAndCheckSensors() |
void |
updateStateWithSensors()
This methods updates the carrier and clamp state in reading all the sensors.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcheckHardware, checkStarted, checkStoppedclearAlarm, getAlertSeparator, raiseAlarm, raiseAlarm, raiseAlarm, raiseAlarm, raiseWarning, raiseWarningpublic org.lsst.ccs.services.alert.AlertService getAlertService()
AlertRaisergetAlertService in interface AlertRaiserpublic String getName()
getName in interface AlertRaiserpublic org.lsst.ccs.Subsystem getSubsystem()
getSubsystem in interface AlertRaiserpublic LoaderCarrier getCarrier()
public LoaderClamp getClamp()
@Command(type=QUERY, level=0, description="Return true if hardware (controllers and plutoGateway) is correctly initializedand homing of the controllers is done.") public boolean isInitialized()
@Command(type=QUERY, level=0, description="Return true if there is no filter in the loader. This command doesn\'t read again the sensors.") public boolean isEmpty()
@Command(type=QUERY, level=0, description="Return true if the loader is connected on the camera. This command doesn\'t read again the sensors.") public boolean isConnectedOnCamera()
@Command(type=QUERY, level=0, description="Return true if the autochanger is holding the filter. This command doesn\'t read again the sensors.") public boolean isAutochangerHoldingFilter()
FcsHardwareException@Command(type=QUERY, level=0, description="Return true if a filter is present and it is held by the loader clamp.") public boolean isHoldingFilter()
isHoldingFilter in interface FilterHolderFcsHardwareException@Command(type=QUERY, level=0, description="Return true if loader clamp is openened.") public boolean isNotHoldingFilter()
isNotHoldingFilter in interface FilterHolderFcsHardwareException@Command(type=ACTION, level=1, description="Attention ! this commands does the homing of the controllers and might move hardware. Initialize loader hardware.", alias="homing") public void locateHardware()
public void checkClosedOnVoid()
public void checkHaltRequired()
public void postStart()
postStart in interface org.lsst.ccs.framework.HasLifecyclepublic void initializeGateway()
public void checkConnectedOnCamera()
RejectedCommandException - if not connected on camera@Command(type=QUERY, level=1, description="Check if the carrier can move.") public void checkConditionsForCarrierMotion(int targetPosition)
targetPosition - FcsHardwareExceptionFailedCommandException@Command(type=QUERY, level=1, description="Check if the clamp can be opened.") public void checkConditionsForOpeningHooks()
FcsHardwareExceptionpublic void checkConditionsForClampingHooks()
public void checkConditionsForUnclampingHooks()
@Command(type=QUERY, level=1, description="Check if the clamp can be closed.") public void checkLoaderNotEmpty()
FcsHardwareExceptionpublic void updateStateAndCheckSensors()
@Command(type=ACTION, level=1, description="Update clamp state in reading sensors.") public void updateStateWithSensors()
updateStateWithSensors in interface FilterHolderFcsHardwareException@Command(type=ACTION, level=1, description="Update FCS state and FCS readyness state and publishes on the status bus.") public void updateFCSStateToReady()
@Command(type=ACTION, level=1, description="Move a filter from STORAGE to HANDOFF. This command executes sequence of actions :\n- check initial conditions (a filter, at STORAGE) \n- move carrier to ENGAGED with high speed\n- unclamp filter \n- move slowly filter to HANDOFF. ", timeout=120000) public void moveFilterToHandoff()
@Command(type=ACTION, level=1, description="Move a filter from HANDOFF to STORAGE : move filter slowly to ENGAGED,clamp, move filter to STORAGE with high speed", timeout=120000) public void moveFilterToStorage()
@Command(type=ACTION, level=1, description="open clamp and move empty to Storage Position at high speed.", timeout=120000) public void openClampAndMoveEmptyToStorage()
@Command(type=ACTION, level=1, description="move empty from Storage to Handoff at high speed, and close clamp.", timeout=120000) public void moveEmptyToHandoffAndClose()
public StatusDataPublishedByLoader createStatusDataPublishedByLoader()
public void publishData()
public boolean isAtHandoff()
FilterHolderisAtHandoff in interface FilterHolderpublic boolean isAtStandby()
FilterHolderisAtStandby in interface FilterHolder@Command(type=QUERY, level=1, description="Print list of hardware with initialization information.") public String printHardwareState()
public int getFilterID()
getFilterID in interface FilterHolderCopyright © 2019 LSST. All rights reserved.