Interlock Systems installed at XFEL

Crate Configuration

The crate configuration of the interlock system for XFEL:

Example configuration from XFEL RF1

 slot|classId|   rev.|       rio type
-----+-------+-------+---------------
    0|    CTS|   d402|           NONE
    1|     DI|   d312|     RIO_DIGIIO
    2|     DI|   d312|     RIO_DIGIIO
    3|     AI|   d30c|      RIO_PT100
    4|     AI|   d30c|      RIO_PT100
    5|     AI|   d30c|       RIO_AICL
    6|     AI|   d30c|       RIO_AICL
    7|     LI|   d312|   RIO_EXTBOARD
    8|     ??|   d312|   RIO_EXTBOARD
    9|   none|      -|              -
   10|     FA|   d312|   RIO_FLASHADC
   11|     PM|   d312|     RIO_PMETER
   12|     PM|   d312|     RIO_PMETER

Software Configuration

Each Interlock System has a individual configuration, that consists of several files. The configuration files are stored on each system at a location that is stored in the environment variable ${INTLK_CONFIG}. This variable is setup at system start by the Interlock System identification script at /etc/intlk/config.sh which must be manually edited for the first setup.

Primary system identification is stored in /etc/intlk/config.sh. This script is always included/executed in the software environment in the Interlock System. It is called by the default initialization script in /etc/intlk/setupenv.sh, which itself is executed on system boot up and for each user login.

For example (RF1)

   1 export CVSSERVER=141.34.130.10
   2 export CVSSERVER_PORT=2401
   3 export INTLK_CONFIG=${INTLK}/config/xfel/rf1
   4 export TINE_HOME=${INTLK_CONFIG}

CVSSERVER names the central CVS server that is used to distribute the software release for the interlock system.

INTLK_CONFIG is the path to the folder that contains all files for the specific Interlock configuration. It is constructed from ${INTLK} which is by default /opt/intlk4

TINE_HOME is the path for the TINE Server to load and store its configuration files. It is needed for the local TINE server and is by default the same as INTLK_CONFIG


For each system exists an individual configuration location on the filesystem which are all stored at ${INTLK}/config by default. All interlock systems by default contain the configuration of every systems. This is because all systems use the same CVS repository at this moment. It consumes some extra memory on the filesystem but it faciliates the transfer of configurations between the systems (ex.g. analog parameters of a system) and makes it easy to swap controllers for spare replacement.

Note: When a new system needs to be added, a corresponding folder with an individual configuration must be created within this folder structure and the initialization script at /etc/intlk/config.sh must point to this new location.

Boot up configure script

At boot up, a initialization script is executed which is configuring the Interlock System, ex.g. loading paramters, filter constants, masks.

This script is called configSystem.sh and is placed under ${INTLK_CONFIG}.

The initialization script must do the following actions (when the system has rebooted):

An example of an configuration script:

   1 #!/bin/sh
   2 
   3 # Configuration File for Hamburg Interlock 4
   4 
   5 # load default parameters from signallist
   6 
   7 # switch to safe mode (bug in firmware, cannot set masks in interlock_edit)
   8 i4mode -s safe
   9 i4init -m configureDAQ
  10 i4init -m configureLeds
  11 i4init -f /opt/intlk4/config/hh_amtf1/hh_amtf1.xml -m configureSignalParameter
  12 
  13 # Setting Temperatures Parameters on Slot 3 Channel 0
  14 # i4chanparam -s 3.00 -l 15^C -u 45^C
  15 
  16 # Example Setting Mask for Slot 3 Channel 0
  17 # i4chanparam -s 3.00 -m MASKED
  18 # i4chanparam -s 3.00 -m TRUE
  19 
  20 # Example removing Mask for Slot 3 Channel 0
  21 # i4chanparam -s 3.00 -m NOT_MASKED
  22 # i4chanparam -s 3.00 -m FALSE
  23 
  24 # give software confirmation to enable power supplies (must be replaced by system test later!)
  25 i4cmd --enable_ps
  26 
  27 # give software confirmation , that system fine (must be replaced by system test later!)
  28 i4cmd --enable_system
  29 
  30 # activate interlock system (this allows to change into interlock operational mode, will be replaced by system test later!)
  31 i4mode -a
  32 i4cfg -l
  33 
  34 [[i4mode]] -s INTERLOCK

The interlock configuration can be executed manually by running the command i4configure.sh.

Setup of a new System

None: I4XFEL (last edited 2014-05-07 12:22:18 by MarekPenno)