man8/POSmngr

Table of Contents

Name

POSmngr - position manager

Synopsis

POSmngr <argument list>

Description

This program is a general purpose position (displacement) manager for devices having inc/dec nop/chg type status controls and an analog read of position. It takes a command from a displacement control point in the database and manipulates the status controls to bring the device to the commanded position.

Arguments

Arguments are processed using Unix long argument syntax.
--mngr <fn>

The CONFLIST file from which to obtain the configuration information.

If this is not specified it defaults to "MNGRconf" in the current working directory (i.e. the directory where the program was started).

--mngr_pn <fn>

The program name to use when parsing the CONFLIST file.

If this argument is not specified it generally defaults to the program name.

--show_tbl

If this argument is present the contents of the CONFLIST table is printed to stderr
--diag

If this argument is present stdout and stdin are left open and the program may be killed by SIGINT.

This argument is useful when setting up the parameters because it makes it very easy to kill and restart the program after changing the config file.

--verbose=<n>

Normally the program does it’s work silently. This sets the level of logging information. The number is optional but if provided it must include the "=". If no argument is provided the default level is 1.
0 - work silently
1 - print signon msg, option settings

Program Operation


The operator enters a new command value. The command value may only be entered by using the keyboard. The command parameter is required to use the RSetK control type. Continuous adjust of the commanded value, i.e. assignment to a knob or by using the inc/dec functions of Xcrt and friends is not supported by the program.

Entering a new value causes the tuning loop to wake up and begin to adjust the position. When the loop wakes up a countdown timer is started. The loop continues to tune until the countdown timer expires at which time the loop ceases tuning activity whether or not the error has been nulled out.

The program passes through the tuning loop once per second. Each time it passes through the loop the difference between the command position and the feedback input (dS) is calculated.

The program compares the dS value to a set of three deadband values to determine how long to assert the inc/dec control.

If (dS < deadband3) then the error is considered to be nulled out and POSmngr ceases tuning.

If ((dS < deadband2) && (dS > deadband3)) then the ctl is asserted for the minimum possible time.

If ((dS < deadband1) && (dS > deadband2)) then the ctl is asserted for 100mS.

Otherwise the ctl is asserted for one second on each pass through the loop.

There is an interlock input which inhibits the tuning loop when false. If the interlock input goes false while tuning is in progress tuning is cancelled.

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.

POSmngr uses "POSmngr" as the program name when searching the file.

8 Groups (CFG1-8) are presently supported.

comm1 - required

The commanded position.

The control key should be set to RSetK.

This parameter should be owned by whatever task POSmngr registers as and the permissions set for indirect update by users and unconditional update for the owner.

read1 - required

The read back position.

Ownership and control keys for this parameter do not matter to this program. They should be set as appropriate for the I/O subsytem providing this information.

read2 - optional

NLK input

This is a 1 bit parameter.

0.0 = interlock is bad
1.0 = interlock is good

Ownership and control keys for this parameter do not matter to this program. They should be set as appropriate for the I/O subsytem providing this information.

ctl1 - required

The hardware control used to move the device.

Usually this parameter has a mom, mom2, or mom3 control key.

This parameter should be writable by whatever task POSmngr registers as and owned as appropriate.

resp1 - optional

a database parameter used to indicate position tuning is in progress.

0.0 - nop
1.0 - tune
2.0 - not_used
3.0 - error

Usually this parameter is named TuneSR in the AccelNET database.

This parameter should be owned by whatever task POSmngr registers as and the permissions set for direct update for the owner.

int0 - optional

timeout value

If this parameter is not present the value defaults to 30 seconds.

int1 - optional

deadband #1

If this parameter is not present the value defaults to 0.1.

int2 - optional

deadband #2

If this parameter is not present the value defaults to 0.05.

int3 - optional

deadband #3

If this parameter is not present the value defaults to 0.01.

Notes

See Also

libmngr(3mngr)

Manual page revision

$Id: POSmngr.8,v 1.12 2008/05/29 17:51:09 kitchen Exp $


Table of Contents