man8/actACtask

Table of Contents

Name

actACtask - ACT analog control module I/O service

Synopsis

actACtask <argument list>

Description

Analog control I/O service for ACT modules.

This program supports all analog output ACT modules.

Base modules consist of 16 channels. Expansion (or mezzanine) modules contain 8 channels and can be installed only on analog base modules (input or output).

Each channel provides a 16bit programmable DAC (VDC).

Output channels can be individually programmed to any of the following gains.

10V (Unipolar or Bipolar)

5V (Unipolar or Bipolar)

2.5V (Bipolar)

The gain affects the value needed for DRkey in the param table.
The Unipolar gains should use a DRkey of U.
The Bipolar gains should use a DRkey of I, P, or N.

Identification information and calibration data is stored in the onboard flash memory of each module.

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 supplied the default is "localhost".

The DBMAN_HOST environment variable is used if present.

--dbman_name <rn>

Sets the name the program will use to register with dbman.

--dev <path>

The device path to open.

If this argument is not supplied the default is "/dev/kbuss".

--drv <drv>

The driver key to use.

If this argument is not specified the default is "KBUSS_1".

--cmin <C>

The minimum crate number.

If this argument is not supplied the default is "0".

--cmax <C>

The maximum crate number.

If this argument is not supplied the default is "15".

--log_flag <logging>

If this argument has the value "bad", I/O trasactions with bad status will be logged each time the status changes.
If this argument has the value "all", I/O trasactions will be logged whenever the binary data value changes.

--ignore_wd

Normally the watchdog timer must be armed by actWDtask before the module is serviced.
If this flag is set, the module will be serviced regardless of the watchdog state.

--raw

Normally the calibration table is read from the onboard flash and utilized.
If this flag is set, the program will ignore the calibration data and report the raw value to the DAC.
This is primarily for diagnostic purposes.

--diag

Don’t close stdin and stdout and allow SIGINT to kill the program.

--show_tbl

Print the contents of various tables to stderr.

--verbose=<level>

Print more information. If <level> is missing it defaults to 1.

--persist

Run the program in persist mode.

--tagname_ctl

parameter name to use for task control.

--tagname_status

parameter name to use for reporting task status.

--help

Print the help information to stderr.

Device Types used by this program

ACTdacV - required

Analog Controls.
This record must be present in the database for the module to be serviced by the program.
There should be 1 entry for each DAC channel available on the module.

DTkey should always be set to U.

Crate defines the module’s address.

Slot defines the channel count.
0 = 8 Channels
1 = 16 Channels
2 = 24 Channels
This value should be consistent across all entries for a given module.

ChanNo defines the DAC channel, starting from 0. For example, a 16 channel module will use ChanNo values of 0 to 15.

ACTdacGN - optional

Gain Controls.
This record optionally defines the gain setting of a channel.

If this entry is not present for a channel, it will default to the 10V Unipolar gain.

Valid Gains
0x00 = 10V Unipolar
0x40 = 10V Bipolar
0x01 = 5V Unipolar
0x41 = 5V Bipolar
0x42 = 2.5V Bipolar

The database entry should match with the corresponding ACTdacV entry.

Although it is not recommended, these can be mapped to tagnames and are updated upon change. Scaling issues will arise.

ACTdacWD - optional

Watchdog Configuration Mask. This record serves two purposes. The primary purpose is to enable watchdog protection for a module. The second is to optionally exempt channels from the watchdog timer.

When present, all channels of the module are affected by the watchdog timer unless specifically exempt as described below.

If this entry is not present, the --ignore_wd argument is required to service the module without watchdog protection.
Watchdog protection will still be active and serviced by actWDtask for modules containing this record.

The database entry should match with the corresponding ACTdacV entry with ChanNo value of 0.

Only 1 entry per module is needed.

CurData defines the channels that are exempt from the watchdog timer. Setting a channel to 1 signifies exemption. These can be mapped to tagnames and are updated upon change.

ACTdacDF - optional

Default Analog Controls. This record optionally defines the values set if the watchdog timer expires.

If this entry is not present for a channel, it will default to the zero value.

The database entry should match with the corresponding ACTdacV entry.

CurData defines the values. These can be mapped to tagnames and are updated upon change.

I/O rates

Changes are flushed immediately to hardware.
Maintenance passes are performed at 0.1Hz.

Examples

#
# this example limits service to address 0 thru 3
# dbman is running on the same host
#
actACtask --cmin 0 --cmax 3
#
#
# this example ignores the watchdog timer state
#

actACtask --ignore_wd

Manual page revision

$Id: actACtask.8,v 1.0 2009/10/08 20:21:05 stodola Exp $


Table of Contents