man8/ARtask

Table of Contents

Name

ARtask - CAMAC ADC service

Synopsis

ARtask <argument list>

Description

ADC I/O service for CAMAC. This program supports Kinetic Systems KSC3516 and KSC3596 CAMAC modules.

Arguments

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.

KSC 3516 module support

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.

KSC 3596 module support

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.

I/O polling system

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.

Examples

#
# this example services crates 1 thru 4
# dbman is running on the same host
#
ARtask --dbman_host localhost --drv CAMAC --cmin 1 --cmax 4

See Also

dbman(8)

Notes

Whenever the opportunity arises support for KSC3510 and KSC3512 will be added.

The initialization I/O runs every 30 seconds.

Manual page revision

$Id: ARtask.8,v 1.9 2007/07/12 14:45:21 mcnamer Exp $


Table of Contents