EPICS: generation of DBs and GUIs for HV

From CLONWiki
Revision as of 01:01, 6 October 2007 by Boiarino (talk | contribs)
Jump to navigation Jump to search
NOTE: normally all environment variables are set, with one exception: cc_mf (counting house classc0) is using old EPICS;
if you want to    work with cc_mf execute $CLAS/epicsBold/.setup script; it will redefine environment; proceed as described below.

Following procedure generates *.db and *.adl/*.alh files for High Voltage applications.

 cd $APP/hvca/db/

Create *.dat file with following format:

 clonpc1:db> more caen.dat
 CAEN_1_00           02 1  1 01 01 03 00 -1200.0   1.5   1.3   121.5   486.0  2550.0 -2500.0
 CAEN_1_01           02 1  1 01 01 03 01 -1200.0   1.5   1.3   121.5   486.0  2550.0 -2500.0
 CAEN_1_02           02 1  1 01 01 03 02 -1200.0   1.5   1.3   121.5   486.0  2550.0 -2500.0
 CAEN_1_03           02 1  1 01 01 03 03 -1200.0   1.5   1.3   121.5   486.0  2550.0 -2500.0
 .....................................

Columns have following meaning (NEED CHECK !):

  1 - group name (channel name, will be used as part of EPICS channel access variable names)
  2 - group number
  3 - allow (looks like not in use ?)
  4 - ioc number (that number goes to channel name, for example 'CAEN_<ioc number>_02'); that number
       must be unique for all CLAS IOCs (for example classc12 has ioc number 12 and that number should
       not be used for any other IOC)
  5 - mainframe address (for Lecroy by jumpers, for CAEN by IP, goes to channel name, for example
       'CAEN_99_<mainframe address>); output DB files will be splitted based on this number, for
       example all lines in file 'caen.dat' with this number equal to 4 will be placed to the file
       'caen_04.db'; this number have to be used as first parameter in 'sy1527Start()' and 'sy527Start()'
       calls, although in second case the same number must be in the end of second parameter as well
  6 - slot/card number
  7 - submodule: this is important code to specify what king of system we have; it must be equal to
       one of the predefined numbers, which is 2 for Lecroy HV and 3 for CAEN HV
  8 - channel number
  9 - voltage (demand, V)
 10 - mvdz (measured voltage dead-zone, V)
 11 - mcdz (measuerd current dead-zone, uA?)
 12 - rump up speed, V/s
 13 - rump down speed, V/s
 14 - tc (trip current, uA?)
 15 - maximum voltage (max, V)

Second input file is *.grp, for example caen.grp:

 clonpc1:db> more caen.grp
 1  CAEN_7
 2  CAEN_3
 3  CAEN_7
 4  CAEN_8
 5  CAEN_10

First column is group number and second one is group name. It will be first two columns on medm screen.

Makefile must be manually adjusted for every new *.dat file. It is possible to combine several *.dat file in one - see inside Makefile.

To generate all necessary file type 'make <filename without extension>', for example if file name is 'caen.dat', type:

 make caen

Following output fill shows up:

 clonpc1:db> make caen
 ./dat2db.pl caen
 echo caen | /usr/local/clas/devel/R3.14.8.2/EPICS/app/hvca/bin/hv_adl
 Input name of hv data file (omit the extension '.dat') :  
 WORKING ON GROUP #1
    Initializing variables to default values.
    Creating file: caen_CAEN_7_1.adl
    Initializing variables to default values.
    Creating file: caen_CAEN_7_param_1.adl
    Initializing variables to default values.
    Creating file: caen.adl
 ./dat2req.pl caen
 chmod +x caen*.csh
 test -d ../medm/adl || mkdir ../medm/adl
 test -d ../req || mkdir ../req
 mv caen*.adl ../medm/adl
 mv caen*.snap ../req
 mv caen*.csh ../medm/adl
 mv caen*.alarms ../medm/adl
 test -d ../medm/alh || mkdir ../medm/alh
 mv caen*.alhConfig* ../medm/alh

Following files will be produced:

 caen_01.db
 ../medm/adl/caen.adl
 .................adl
 ../medm/alh/caen_CAEN_7.alhConfig
 ../medm/alh/caen_mf_01_01.alhConfig_mf

For NEW EPICS ONLY copy generated *.db files into final destination where it will be picked up by IOC startup script, for example:

 cp caen_01.db $BASEB/src/CAEN_HV/IocShell/
 cp caen102_02.db $BASEB/src/CAEN_HV/IocShell/

Create appropriate links to our medm files from standard place:

 cd $APP/medm
 make

Create appropriate links to our alh files from standard place:

 cd $APP/alh
 make