public class AutochangerLatchModule extends MobileItemModule implements MovedByEPOSController
| Modifier and Type | Field and Description |
|---|---|
protected boolean |
updatingState |
currentAction, FCSLOG, haltRequired, hasToWaitForEndOfAction, lock, motionCompleted, moving, stopRequired| Constructor and Description |
|---|
AutochangerLatchModule(EPOSController latchController,
NumericSensor lockSensor,
NumericSensor lockSensorB,
NumericSensor unlockSensor,
NumericSensor unlockSensorB,
NumericSensor filterPresenceSensor,
NumericSensor filterPresenceSensorB)
Buils a AutochangerLatchModule with a controller and 3 sensors.
|
| Modifier and Type | Method and Description |
|---|---|
void |
abortAction(FcsEnumerations.MobileItemAction action,
long delay)
Stop action OPEN or CLOSE
|
org.lsst.ccs.framework.TreeWalkerDiag |
checkHardware()
Executed during INITIALIZATION phase.
|
String |
close()
Close this latch.
|
StatusDataPublishedByAutochangerLatch |
createStatusDataPublishedByLatch()
Creates an return an object to be published on the STATUS bus.
|
String |
getControllerName()
Return the name of the controller.
|
int |
getCurrentToOpen()
For simulation, return currentToOpen
|
EPOSController |
getLatchController()
Return latchController
|
FcsEnumerations.LockStatus |
getLockStatus()
Return lockStatus.
|
StatusDataPublishedByAutochangerLatch |
getStatusData()
Create an return an object StatusDataPublishedByAutochangerLatch for publication
on STATUS bus.
|
long |
getTimeoutForClosing()
Return timeoutForClosing
|
long |
getTimeoutForOpening()
Return timeoutForOpening
|
void |
initModule()
Initialize field autochanger and latchController
|
boolean |
isActionCompleted(FcsEnumerations.MobileItemAction action)
Return true if action is completed with success.
|
boolean |
isCANDevicesReady()
Returns true if autochanger CANopen hardware is connected and ready.
|
boolean |
isControllerInFault()
Returns true if latchController is in Fault.
|
boolean |
isEmpty()
Returns true if autochanger is empty.
|
boolean |
isInError()
Returns true if LockStatus=ERROR, this means that unlockSensor and lockSensor return
non consistant values.
|
boolean |
isInitialized()
Returns true if latch is initialized.
|
boolean |
isLocked()
Returns true if LockStatus=LOCKED
Doesn't read again sensors.
|
boolean |
isUnlocked()
Returns true if LockStatus=UNLOCKED
Doesn't read again sensors.
|
String |
open()
Open this latch.
|
void |
postAction(FcsEnumerations.MobileItemAction action)
Switch off controller after a CLOSE or OPEN action.
|
void |
publishData()
Publish Data on status bus for trending data base and GUIs.
|
void |
quickStopAction(FcsEnumerations.MobileItemAction action,
long delay) |
void |
setControllerInFault(boolean controllerInFault)
Set controllerInFault
|
void |
startAction(FcsEnumerations.MobileItemAction action)
Start Action OPEN or CLOSE
|
void |
tick() |
void |
updateCurrent()
Updates the field readCurrent of the latch in reading the CPU of the
controller.
|
void |
updateStateWithSensors()
This methods updates the whole autochanger state in reading all the
sensors.
|
void |
updateStateWithSensors(String[] hexaValues)
This methods updates lockStatus from the values return by the sensors.
|
void |
updateStateWithSensorsToCheckIfActionIsCompleted()
Read sensors and update State.
|
abort, abort, checkStarted, checkStopped, executeAction, getHaltRequired, isMoving, quickstop, readSensorsUntilActionIsCompleted, shutdownNow, signal, stop, stopgetNObserverThreads, getObservables, getTickMillis, init, listens, processUpdate, sendSignal, sendSignalWithTimeLimit, setNObserverThreads, setObservables, setTickMillis, startTicking, updateaddObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChangedclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitprocessEmergencyMessage, processFaultReset, processUpdategetComponentConfigurationEnvironment, getComponentLookup, getName, getSubsystemraiseAlarm, raiseAlarm, raiseAlarm, raiseWarning, raiseWarning, raiseWarningchange, dropSubmittedChanges, getChildren, getComponentByName, getEnvironment, getParent, getParentObject, getSubmittedChanges, isParameterConfigurable, postStart, printConfigurableParameters, setBulkParameter, start, submitChange, submitChanges, validateBulkChangepublic AutochangerLatchModule(EPOSController latchController, NumericSensor lockSensor, NumericSensor lockSensorB, NumericSensor unlockSensor, NumericSensor unlockSensorB, NumericSensor filterPresenceSensor, NumericSensor filterPresenceSensorB)
latchController - lockSensor - lockSensorB - unlockSensor - filterPresenceSensor - unlockSensorB - filterPresenceSensorB - @Command(type=QUERY,
level=1,
description="Returns this latch controller name.")
public String getControllerName()
MovedByEPOSControllergetControllerName in interface MovedByEPOSControllerpublic EPOSController getLatchController()
@Command(type=QUERY,
level=1,
description="Returns true if latchController is in Fault.")
public boolean isControllerInFault()
isControllerInFault in interface MovedByEPOSControllerpublic void setControllerInFault(boolean controllerInFault)
setControllerInFault in interface MovedByEPOSControllercontrollerInFault - @Command(type=QUERY,
level=1,
description="Returns true if latch is initialized.")
public boolean isInitialized()
public int getCurrentToOpen()
public long getTimeoutForOpening()
public long getTimeoutForClosing()
public FcsEnumerations.LockStatus getLockStatus()
@Command(type=QUERY,
level=1,
description="Returns true if LockStatus=LOCKED. Doesn\'t read again sensors.",
alias="isClosed")
public boolean isLocked()
@Command(type=QUERY,
level=1,
description="Returns true if LockStatus=UNLOCKED. Doesn\'t read again sensors.",
alias="isOpen")
public boolean isUnlocked()
@Command(type=QUERY,
level=1,
description="Returns true if LockStatus=ERROR, this means that unlockSensor and lockSensor return non consistant values. Doesn\'t read again sensors.")
public boolean isInError()
@Command(type=QUERY,
level=1,
description="Returns true if autochanger is empty. Doesn\'t read again sensors.")
public boolean isEmpty()
public void initModule()
initModule in class MobileItemModulepublic void tick()
tick in class org.lsst.ccs.framework.Modulepublic 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="Update latch state in reading sensors.")
public void updateStateWithSensors()
FcsHardwareException@Command(type=ACTION,
level=1,
description="Update state in reading sensors.")
public void updateStateWithSensors(String[] hexaValues)
hexaValues - FcsHardwareException@Command(type=QUERY,
level=1,
description="Update latch current in reading controller.")
public void updateCurrent()
FcsHardwareException@Command(type=QUERY,
level=1,
description="Returns true if autochanger CANopen hardware is connected and ready.")
public boolean isCANDevicesReady()
isCANDevicesReady in class MobileItemModule@Command(type=ACTION,
level=1,
description="Close latch.")
public String close()
FcsHardwareException@Command(type=ACTION,
level=1,
description="Open latch.")
public String open()
FcsHardwareExceptionpublic boolean isActionCompleted(FcsEnumerations.MobileItemAction action)
isActionCompleted in class MobileItemModuleaction - public void updateStateWithSensorsToCheckIfActionIsCompleted()
updateStateWithSensorsToCheckIfActionIsCompleted in class MobileItemModulepublic void startAction(FcsEnumerations.MobileItemAction action)
startAction in class MobileItemModuleaction - FcsHardwareExceptionpublic void abortAction(FcsEnumerations.MobileItemAction action, long delay)
abortAction in class MobileItemModuleaction - delay - FcsHardwareExceptionpublic void quickStopAction(FcsEnumerations.MobileItemAction action, long delay)
quickStopAction in class MobileItemModuleaction - delay - FcsHardwareExceptionpublic void postAction(FcsEnumerations.MobileItemAction action)
postAction in class MobileItemModuleaction - FcsHardwareExceptionpublic StatusDataPublishedByAutochangerLatch getStatusData()
public StatusDataPublishedByAutochangerLatch createStatusDataPublishedByLatch()
@Command(type=QUERY,
level=1,
description="Publish Data on the Status Bus.")
public void publishData()
publishData in interface MovedByEPOSControllerpublishData in class MobileItemModuleCopyright © 2016 LSST. All rights reserved.