man8/ARtask_v2

Table of Contents

Name

ARtask_v2 - CAMAC ADC service

Synopsis

ARtask_v2 <argument list>

Description

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

ARtask_v2 registers with dbman as ARtask.

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".
--dbman_name <rn>

Set the name used by the program to register with dbman.
--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.

--tagname_ctl

parameter name to use for task control.

--tagname_status

parameter name to use for reporting task status.
--show_tbl

If present, various tables are printed to stderr on startup.
--verbose=<level>

Enables debugging messages where available. If level is missing then the default logging level is 1. Messages are printed to stderr.
--diag <val>

This argument allows stdin to be left open to enable advanced debugging with stdin and stdout.
--persist

Using this option changes the job behavior to persistent mode.

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_v2 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_v2.

ARtask_v2 is only notified the first time a parameter is added. Second and subsequent additions do not cause any message to be sent to ARtask_v2. 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_v2.

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_v2 --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_v2.8,v 1.1 2009/03/26 16:29:25 mcnamer Exp $


Table of Contents