This command is processed by the Tcl slow controls server when it processes the control configuration file. It is used to create, configure and query the configuration of slow controls modules.
The create subcommand creates a new module
assigned the name
by which it can be
referred to by remote control panels, and the remainder of
the cofiguration file. The module will be of type
type
. See MODULE TYPES below for
information about the module types supported.
The config subcommand configures the
module name
, setting the configuration
options provided on the command line to the specified values.
See MODULE TYPES below for information about the configuration
options accepted by each module.
The cget subcommand returns the configuration of
the name
ed module. The configuration is
returned as a list of pairs where each pair consists of the
configuration parameter name and value.
This section describes the module types that are supported currently and the device specific configuration options and settable/readable parameters each supports. Device support includes both the driver and a control panel for the device.
This module is actually a general purpose logic module. The only support for it at this time is as a multi-channel gate and delay generator.
The CAEN V812 is a VME 16 channel constant fraction disriminator while the V895 is a software compatible leading edge discriminator.
-base
The value of this parameter is the base address of the module as set by the on-board rotary switches.
-file
The value of this parameter is the path to a configuration file whose contents are used to initialize the state of the device. Note that these modules are write-only so writing their initial state is the only way to put them into a known state.
The contents of this file are described in CAENV812Config(5)
This slow control module supports remote execution of arbitrary VM-USB lists. Full documentation of this facility will be produced in a later version of this document. The idea is, however that the module, which has no configuration options, has exactly one parameter, list
list is a set only parameter. It's value is a Tcl list. The first element of thel ist specifies the maximum input buffer size required by the list. The second value of the list is a Tcl list containing the VM-USB stack. The Set operation executes the stack and returns the text Ok - followed by a Tcl list whose elements are the bytes of data put in the read buffer by the stack.
This slow-controls module enables a Mesytec MxDC device to be used as a proxy for the RC-bus protocol. The NIM busy output of the targeted MxDC will be hijacked for this purpose. To use, clients of the slow-controls server can send Set and Get commands with appropriate arguments to the slow-controls server. The first argument should specify the name of the mxdcrcbus slow-controls module to handle the request. The second argument, i.e. the parameter name, will provide the device number of the hardware on the rc-bus and address of the parameter referred to in it. The device number, D, and parameter address, A, are to be encoded into a string of the form "dDaA". In other words, if an mxdcrcbus module was created with the name "mymod" and the user wanted to use it to write the value 23 to a parameter address 10 on the device whose number is 20, the client would write "Set mymod d20a10 23" to the slow-controls server. To read the value back, the client would write "Get mymod d20a10" to the slow-controls server.
![]() | IMPORTANT NOTE |
---|---|
If the module used to control the RC-bus is an
MADC32 that is used to readout data. Be sure to
set the |
This slow-controls module provides an on-demand soft reset. It also clears the device's internal counters.
This is a CAEN bias supply controller. It makes use of the slow controls monitor facility to maintain an up-to-date module state without interrupting data acquisition.
The module supports only the -base
option which describes to the software the base address
of the bias supply as encoded in the module rotary
switches.
The following parameters can be Set:
Sets the requested voltage on channel
i
in floating point
volts.
Sets the current limit on channel i
in floating point micro-amps.
Turns channel on or off. The value of this parameter is a legal boolean value.
Sets the number of seconds (floating point)
for which channel i
is allowed to be out of specification before
it trips off.
Sets the maximum voltage allowed for
channel i
in floating
point volts. If a voltage setting is made
that is larger than this, the actual requested
voltage will be limited to this value.
Sets the ramp down rate of channel
i
in
floating point volts per second.
Sets the ramp up rate of channel
i
in floating point
volts per second.
Sets the power down mode of channel
i
. The value of this
parameter can be either kill
which abruptly drops the voltage to zero,
or ramp which ramps the
channels down at the ramp down rate.
Note that if you want to monitor key components of this device periodically you should use the Mon command as that will retrieve data without temporarily halting data taking.
The following parameters can be retrieved via Get:
Returns the global maximum voltage for the module.
Returns the global maximum current for the module.
Returns a list of the requested voltages from all channels.
Returns a list consisting of the requested maximum currents from all channels.
Returns a list that contains the requested channel states (on or off for each channel).
Returns a list contaning the actual voltage reading from each channel.
Returns a list containing the actual current readings from each channel.
Returns a list of status values for each channel. See sections 3.2.2.6 for a bit b bit description of the valuesthat can be set in each list element.
Returns the trip times for each channel.
Returns the software maximum voltage for each channel.
Returns a list of ramp down rates for each channel.
Returns a list of the ramp up rates for each channel.
Returns a list of the power down modes for each channel.
Returns a list of the channel polarity values. Each channel polarity is represented by a + or a -
Returns a list of the temperaturs for each channel.
Bias supplies must normally be monitored periodically so that operators can be informed of trip and alarm conditions. The VM-USB framework provides for each slow control device to contribut to a list that is triggered periodically via the action register. This allows this monitoring to be done without pausing data taking.
The V5633 driver uses this capability and the mon command should be used to retrieve the most recent values of the monitored variables.
The mon protocol command will return the the string OK followed by a Tcl list of lists. The first list will be the channel status values. The second list will be the channel actual voltages. The third list will be the actual channel currents. The fourth and last list will be the channel temperatures.
This slow-controls module provides support for the Wiener MDGG-16 device as used as a fourfold 16-channel configurable OR. It sets up the device to output NIM logic signals according to four separately defined OR definitions.
-base
The value of the base address of the Wiener MDGG-16 must be provided via this option.
-mode
This is an enumerated option that only accepts two parameter values: explicit, file. The "explicit" value will use the values of the -or_a, -or_b, -or_c, and -or_d parameters to set up the ORs. The "file" value will read an input file defined by the -configfile parameter to load the definitions. Default = explicit.
-or_a
This is a 16-bit integer that represents the 16-bit mask identifying which input channels will contribute to the NIM 0 output (OR A). A bit that is set indicates that its corresponding channel will contribute to the OR A output. Bit 0 corresponds to the first input channel and bit 15 corresponds to the last input channel. Default value is 65535 (i.e. all 16 channels contribute to output).
-or_b
This is the same as the -or_a parameter except that it corresponds to the OR B definition controlling the NIM 1 output.
-or_c
This is the same as the -or_a parameter except that it corresponds to the OR C definition controlling the NIM 2 output.
-or_d
This is the same as the -or_a parameter except that it corresponds to the OR D definition controlling the NIM 3 output.
-configfile
The value of this parameter should be a valid path to a configuration file. The configuration file should be in the same form as the one generated by the MDGG16Control program. In general, it should have the following form:
or_a value_a or_b value_b or_c value_c or_d value_d
where value_a, value_b, value_c, and value_d are the 16-bit integers defining the bit masks for OR A, OR B, OR C, and OR D, respectively.
The following parameters can be Set:
Provides the bit masks for the OR A and the OR B definitions. See the description of the -or_a option for how each of these are defined individually. The value to provide for this parameter should be a combination of the two individual masks. It is a 32-bit integer where the least significant 16-bits are the OR A definition and the upper 16-bits are the OR B definition.
The return value of this should be the response of the device when successful. Any failure will result in a return value beginning with "ERROR - " and is followed by a description of the error.
This is the same as the or_ab
parameter except that it is formed by OR C and OR D bit
masks. The least significant 16-bits are the OR C
definition and the upper 16-bits are the OR D
definition.
The return value of this should be the response of the device when successful. Any failure will result in a return value beginning with "ERROR - " and is followed by a description of the error.
The following parameters can be retrieved via Get:
Reads the values of the OR A and OR B bit masks from the device. The returned value will have both 16-bit masks encoded into a 32-bit integer. The least significant 16 bits define the OR A mask and the upper 16 bits define the OR B mask.
If an error occurs while communicating with the device, the response will begin with "ERROR - " and will be followed by a description of the error.
Reads the values of the OR C and OR D bit masks from the device. The returned value will have both 16-bit masks encoded into a 32-bit integer. The least significant 16 bits define the OR C mask and the upper 16 bits define the OR D mask.
If an error occurs while communicating with the device, the response will begin with "ERROR - " and will be followed by a description of the error.
This module inserts a marker in the monitor list. The main use is to get data buffers periodically flushed for slow data rate applications.
The module has no gettable or settable parameters. It has a
single configuration option -value
which
sets the of the marker word. Normally you don't need to
modify this as the marker word will never make it outside the
VMUSBReadout program.
The xlm module is a means for loading firmware into an XLM device. If created, firmware will be loaded at the start of the VMUSBReadout program. It will then be able to be reloaded later on demand using the init command. The user must provide the path to the firmware and also information regarding any validation steps.
address
The base address of the XLM that will be loaded with firmware. The base address of most XLMs is geographical in nature. If so, it can be computed by shifting the slot number to the left 27 bits (i.e. address = (slot << 27)).
The default value is 0.
path
The user should provide the path to the firmware file that is to be loaded.
The default value of this is an empty string.
boolean
Enables or disables the validation stage following the loading
of the firmware. The option takes a boolean value as an argument.
If enabled, the validation stage will read a signature value from
the first register of the FPGA in the XLM. The user supplied value
to the -signature
option will be compared against the
read value. If they match, the firmware load will be considered a success.
Otherwise, the firmware load will be considered a failure.
The default value of this option is false.
value
The value that will be compared to the first register of the FPGA to
check for a successful firmware load. The value is only used if the
user enables validation by passing a true value to the -validate
option.
The default value of this option is 0.