man8/QUADmngr

Table of Contents

Name

QUADmngr - Quadrupole Strength/Balance Manager

Synopsis

QUADmngr [--dbman_host <hn>] [--mngr_conf <fn>] [--mngr_pn <pn>]

Description

Provides Strength and Balance control for quadrupoles.

This program can be used to provide a set of controls that allows the user to set a common strength for the quadrupole supplies and a balance to make relative changes between the two hardware controls.

Program Operation


Normal Mode


The user controls the quadrupole using the Strength(comm1) and Balance(comm2) controls.

When the Balance is 0, the hardware controls (ctl1,ctl2) are operated in sync. If the Strength control is increased or decreased, the hardware controls follow with matching intensity.

If the Balance is adjusted positive (0 to 100%), the first hardware control(ctl1) will be decreased in relation to the Strength.
The second hardware control(ctl2) will remain equal to Strength.
The following formula is used:
ctl1 = Strength * ((100 - Balance) / 100)

If the Balance is adjusted negative (0 to -100%), the second hardware control(ctl2) will be decreased in relation to the Strength.
The first hardware control(ctl1) will remain equal to Strength.
The following formula is used:
ctl2 = Strength * ((100 + Balance) / 100)

Writelocks are in place to prevent changes directly to the hardware controls.

Raw Mode


Raw mode my be entered by setting ModeSC(comm3) to 1.

This mode releases the writelocks on ctl1 and ctl2 to allow for direct control of the hardware.
The Strength and Balance controls have no affect and will not update to reflect changes to the hardware.
When returning to normal mode from raw mode, the hardware values are evaluated and a proper Strength and Balance will be updated.

Arguments

--dbman_host <hn>

<hn> is the hostname where dbmand is running. This is usually ’localhost’ for an alarms class program.
--mngr_conf <fn>

<fn> is the pathname to the MNGRconf file.
--mngr_pn <pn>

<pn> is the program name to use when parsing the MNGRconf file.

Configuration name usage


The configuration file uses the libmngr(3mngr) facility to connect internal parameters to the AccelNET database. The mappings for this program are given below.

Parameters needed by this program can be combined with parameters belonging to other programs. The "program name" field in the configuration file differentiates the entries.

QUADmngr uses "QUADmngr" as the program name when searching the file. It may be overridden with the --mngr_pn if another program name is desired.

One Group is assigned for each quadrupole to be managed. QUADmngr may handle up to the limit set by libmngr(3mngr) . (30 as of this writing).

Parameters listed as required must be present in the config file for QUADmngr to operate on the group.

comm1, ctl1, and ctl2 should all be scaled in the same units.

Configuration Group

comm1 - required


Strength - which tagname to use for the strength control.

In general this will have an extra decimal of precision over ctl1/ctl2. If ctl1/ctl2 are F2, this should probably be F3.

comm2 - required


Balance - which tagname to use for the balance control.

The parameter should be scaled -100 to 100.

comm3 - required


ModeSC - which tagname to use for switching between normal (nrm) and maintenance (raw) mode.

The parameter should be owned by whatever task QUADmngr registers as and the permissions should be set for indirect update by users and unconditional for the owner. This control should be a 1 bit status control.
nrm = 0
raw = 1

ctl1 - required


YCC - the first in a pair of hardware controls.

The parameter is a hardware control and is biased toward the "left" side of the balance.

ctl2 - required


XCC - the second in a pair of hardware controls.

The parameter is a hardware control and is biased toward the "right" side of the balance.

Configuration Example


This example shows the configuration for a single magnetic quadrupole.
#
#    QUADmngr
#
QUADmngr|g1|comm1 |0|MQ 02-1|Strength|
QUADmngr|g1|comm2 |0|MQ 02-1|Balance |
QUADmngr|g1|comm3 |0|MQ 02-1|ModeSC |
QUADmngr|g1|ctl1 |0|MQ 02-1|YCC |
QUADmngr|g1|ctl2 |0|MQ 02-1|XCC |

Examples


This is usually all that is required to properly start the program:
QUADmngr --mngr_conf /AccelNET/demo/config/MNGRconf

See Also

libmngr(3mngr)

Manual page revision

$Id: QUADmngr.8,v 1.0 2007/10/25 16:39:10 stodola Exp $


Table of Contents