Settings and Configurations - ISISComputingGroup/ibex_developers_manual GitHub Wiki
How is an instrument configured and what is stored in the settings directory.
The settings directory should be in c:\Instrument\Settings
, it contains (each level is a directory):
- gwblock.pvlist: created by the blockserver on each config change and used to configure the block gateway, which provides aliases for PVs to blocks. See here for format.
- config
Configurations directory
The configurations directory has the settings for the instrument in.
Files
It contains some files:
- config_version.txt: configuration version
- globals.txt: overriding definition of macros for IOCs
- last_config.txt: last loaded config in IBEX
- rc_setting.cmd: commands to load in runcontrol
- banner.xml: customised displays and buttons for the GUI banner
- custom_records.db: records specific to the instrument which are loaded by INSTETC
- Pass macros through from globals.txt with
CUSTOM_RECORD_MACROS="DSC_EUROTHRM=03,DSC_LKSH336=02"
- Pass macros through from globals.txt with
User configuration
The user configuration is items we expect an instrument scientist to change using the GUI. These include the
- configurations: contains configurations
- components: contains the components which can be included in a configuration
- synoptics: graphical representation of the instrument
- device: device screens
DAE Configuration
Configuration files for the DAE.
- tables: wiring, spectra and detector tables
- tcb: tcb parameter files
Configuration of devices and extensions
These are directories which configure devices which would be too complicated for macro configuration. For example the Galil configuration with the need to setup the controller, homing routines etc. Historically this was named after a category of device, e.g. galil. This allow configuration of devices as a whole. They can also be named after an IOC which allow configuration of a single IOC, e.g SM300_01.
The extensions are items which extend an IOC for example a motion setpoints which allow a motor to stop at labelled positions. These are configured from the IOC configuration directory and may need optional extra configuration directories.
The pattern for both device configuration and extensions configuration is that the IOC loads a command file sitting in a directory if it is present.
Directories:
- galil: configures the galil Galil and extensions
- mclen: configures McLennan motors McLennan and extensions
- sm300_01: configures the SM300_01 motor extensions
- motionSetPoints: setpoint look up files
- refl (for reflectometers only): contains a file
config.py
, which tells instruments using the Reflectometry IOC what their beamline looks like (follow the link for details)
Common extensions:
- Motion Set points (works for galil, McLennan and sm300)
- axes (works for galil, McLennan and sm300)
- sample changer (works for galil, McLennan and sm300)
- Barn doors and Momentum slits
Version Control
The configuration directory is backed up into git. This is done by the Blockserver.
Each instrument stores the configurations in their own branch in this repository, these branches are named the same as the instrument machine.
The repository is stored in a local repository.
Special cases
Detmon
has a special case for their configuration because they want to create configurations with the same info for multiple CAEN crates. The way this is created is [described on the ibex instrument page](in https://github.com/ISISComputingGroup/IBEX/wiki/DETMON-Instrument-Details#configuration-set-up).