7 CONFIGURATION FILES
$INS_ROOT/SYSTEM/MISC/IRACE/SYS - System Configuration File(s)
/DET - Detector Configuration File(s)
/VOLTAGE - Voltage Setup Files
/CLK - Clock Pattern Setup Files
/SSD - Subpattern Dispatcher Files
/SEQ - Sequencer Program Files
The following file name extensions are used:
System Configuration Files: .cfg
Detector Configuration Files : .dcf
Clock Pattern Setup Files: .clk
Sequencer Subpattern Dispatcher Files: .ssd (trivial loop format)
_ssd (loop executable - tcl format)
Sequencer Program Files: .seq (trivial sequence files)
_seq (loop executable - tcl format)
7.1 SYSTEM CONFIGURATION FILE
7.2 DETECTOR CONFIGURATION FILE
7.3 DEFAULT SETUP FILE
The default setup file (.dsup) contains default values for the dynamic acquisition process parameters. It is also possible to define any new parameter here, which can then be used in subpattern dispatcher files and the sequencer program files. For each readout mode there exists exactly one default setup setup file.
7.4 VOLTAGE SETUP FILE
The voltage setup files contains the definitions of all clock- and DC-bias voltages for one detector:
7.5 CLOCK-PATTERN SETUP FILE
The clock-pattern setup file contains the definitions of all subpatterns needed for the readout modes of one detector:
7.6 IRACE LOOP STRUCTURES
The loop files do not need parsers and expression evaluators. Both subpattern dispatcher files and sequencer program files are executable Tcl-scripts, which are invoked as sub-shells from DCS. The Tcl-language has been chosen, as this is already used for the templates and is supported by all VLT-releases. Within the Tcl-script the developer has full freedom to define local variables to be used in expressions. Often used expressions can be assembled in a Tcl-library by each application. External parameters held by DCS have to be explicitly declared as such within a USE command. The parameters are referred to afterwards as $irlVar(parameter-name).
References to sub-pattern dispatcher files are done with the
construct in the sequencer program file. The "$gvar(T_$<name>)" keyword can be used in the sequencer program file as a substitution for the execution time of a sub-pattern dispatcher program. The special loop-counter "-1" is used to define an infinite loop (only valid in the sequencer program file).
The resulting loop object and possibly new/changed DCS-parameter values are passed back by the Tcl-shell to the calling function with the "PROGEND" command (this will also exit the Tcl-shell). Generally all parameters in the $irlVar() array are passed back. By defining new array elements it is possible to define and set new DCS-parameters within the Tcl-shell. For later usage within DCS these have to be defined in the dictionary or at least in a default parameter setup file (for NOCCS version) of the current read-out mode.
The Tcl-scripts are built with the standard vltMakefile. The <irlParse>library has to be added to the Tcl-library list in the Makefile. The TCLSH for the scripts should be set to "tclsh"
"ASSIGN <name> <file-name>" - Assign a name to a sub-pat. dispatcher file
"USE <parameter list>" - Declare external parameters
"LOOP <loop counter>" - Loop start token
"EXEC <$name> <n>" - Execute sub-pat. dispatcher <name> n times
"EXEC <nr> <n>" - Execute sub-pat. number <nr> n times
"SYNC" - Insert synchronization point
only relevant in external trigger mode)
"PROGEND" - Pass back results and exit
Example for Sub-Pattern Dispatcher File:
USE DET.WIN.NX DET.WIN.NY DET.WIN.TYPE
if {$irlVar(DET.WIN.TYPE) == 0} {
set nx [expr ($irlVar(DET.WIN.NX) / 2)]
Example for Sequencer Program File (-> Current Sequencer Program):
ASSIGN DELAY "../SSD/Delay_ssd"
ASSIGN FRAME "../SSD/Read_ssd"
ASSIGN RESET "../SSD/Reset_ssd"
USE DET.DIT DET.NDIT DET.NDITSKIP
set irlVar(DET.MINDIT) $gvar(T_$FRAME)
set t1 [expr ($irlVar(DET.NDIT) + $irlVar(DET.NDITSKIP))]
set irlVar(DET.EXPTIME) [expr ($t1 * \
($irlVar(DET.DIT) + $gvar(T_$FRAME) + $gvar(T_$RESET)))]
set delFac [expr ($irlVar(DET.DIT) - $gvar(T_$FRAME)) / $gvar(T_$DELAY)]
7.6.1 IRACE LOOP DEBUGGER
Quadralay Corporation http://www.webworks.com Voice: (512) 719-3399 Fax: (512) 719-3606 sales@webworks.com |