Table of Contents
ARtask - CAMAC ADC service
ARtask <argument list>
ADC
I/O service for CAMAC. This program supports Kinetic Systems KSC3516 and
KSC3596 CAMAC modules.
Argument processing is done using Unix long
argument syntax.
The values of all the parameters listed here (whether or
not they were supplied on the command line) are printed on stderr when
the program starts.
- --dbman_host <hn>
The host where dbman is running. If this argument is not specified the
default is "localhost".
- --drv <drv>
The driver key. If this argument is not supplied the default is "CAMAC".
- --cmin <C>
The minimum crate number. If this argument is not supplied the default is
"1".
- --cmax <C>
The maximum crate number. If this argument is not supplied the default is
"99".
- --dma
if this argument is present I/O will be run in DMA mode.
- --help
If this is used, the a help message will be printed and the program will
exit.
- --log_flag <logging>
If this argument has the value bad I/O transactions with bad status will
be logged each time the status changes.
If this argument has the value
all I/O transactions are logged each time the value OR the status changes.
DATA records containing the following device types
are used and must be present.
- Dev3516
- This DATA record holds the converted
ADC data. There must be one record present for each I/O channel used.
- Dev3516g
- This
DATA record sets the ADC gain. The value is the gain value from the KSC
manual. There must be one record present for each I/O channel used. There
must be at least one record present for each module in the system else
the initialization will not run and the channel scanning will never start.
DATA records containing the following device types
are used and must be present.
- Dev3596
- This DATA record holds the converted
ADC data. There must be one record present for each I/O channel used.
- Dev3596g
- This
DATA record sets the ADC gain. The value is the gain value from the KSC
manual. There must be one record present for each I/O channel used. There
must be at least one record present for each module in the system else
the initialization will not run and the channel scanning will never start.
- Dev3596f
- There must be only one record present for each module. This is used
to set the filter frequency.
Analog readbacks are normally
polled at 1Hz. Parameters on the fast loop are polled at 10Hz.
When ARtask
is asked to add a data point to the fast loop the entire set of analog
channels (32 for a KSC3516) associated with the CAMAC module is added to
the list. Updates are sent to dbman only for the I/O channels within the
group which have been added to the fast loop.
Subsequent fast loop additions
involving channels in the same CAMAC module add no additional CAMAC I/O
burden. The only change is to add those CAMAC channels to the dbman fast
loop notification list.
Adding the same parameter to the fast loop more
than once has no effect on ARtask.
ARtask is only notified the first time
a parameter is added. Second and subsequent additions do not cause any message
to be sent to ARtask. The only change is in dbman where an assignment counter
is incremented to keep track of the number of fast loop assignments of
the parameter.
When dbman’s assignment counter drops to zero i.e. all clients
subscribing to the parameter’s fast loop have cancelled their subscriptions,
a fast loop deassignment request is sent to ARtask.
When no I/O channels
within a CAMAC module remain assigned to the fast list the entire module
is dropped from the fast loop.
#
# this example services crates 1 thru 4
# dbman is running on the same host
#
ARtask --dbman_host localhost --drv CAMAC --cmin 1 --cmax 4
dbman(8)
Whenever
the opportunity arises support for KSC3510 and KSC3512 will be added.
The
initialization I/O runs every 30 seconds.
$Id: ARtask.8,v
1.9 2007/07/12 14:45:21 mcnamer Exp $
Table of Contents