InterLock Manager(ILM) Information
The InterLock Manager was primarily designed to act as a safety feature. Its primary purpose is to guarantee that piece of
DAQ software can be mistakenly used to change settings on CDMS hardware during a data run. This safety feature is implemented
by requiring that all software, that can change the hardware's settings, ask the ILM if the experiment is in a state for which
that change is valid. There are six allowed states for the experiment. These states are: config, run, pause, resume, stop,
and abort. Only the Run Control server and the
Error Manager are allowed to change the ILM's state. The
ILM will receive state changes frequently from run control. For example, when run control pauses the run in order to zap the
detectors, it will first ask the ILM to pause the current run before issuing the pause command to the software that is directly
controlling the hardware. After the zap run control will ask the ILM to resume the run. The ILM must listen to the error
manager, because the error manager will attempt to abort the run if a major error occurs.
The InterLock Manager also serves a role in insuring the stability of the software. The ILM acts as a storage vessel for the run
control server by allowing the run control server to store a copy of its state with the InterLock Manager. This allows the
experiment to continue uninterrupted if the run control server should unexpectedly go down for a short time.
Here is a screen shot of a passive InterLock Manager graphical user interface (GUI). This GUI's only functionality is to
display the ILM's current state. This GUI can NOT be used to change the state of the ILM. It is intended to be useful for
creating and debugging software that interacts with the ILM.
Last updated 11/12/01. Questions? Comments? Email: firstname.lastname@example.org.