Table of Contents

Name

PHItask - PHI Ion pump serial I/O service

Synopsis

PHItask <argument list>

Description

Serial I/O service for a PHI Electronics MPC Ion pump power supply.

Arguments

--dbman_host <hn>
The host where dbman is running. If this argument is not supplied the default is localhost, or the current value of the DBMAN_HOST environment variable.
--local <iopath>

The local device path to connect to for running in local mode.
--remote <host>,<socket>

The host and socket of the remote system to connect to for remote mode.
--mngr <fnh>

The name of the configuration file.

If this is not supplied it defaults to "PHIconf".

--mngr_pn <name>

The program name to use when parsing the configuration file.

If this is not supplied it defaults to "PHI1".

--show_tbl

Print the CONFLIST table when the program starts.
--help

Prints the help message and exit.

--diag_cr=<n>

Enable current read polling diagnostics.

possible values are:

0 - no diagnostic
1 - basic diagnostic
2 - do_the_io() diagnostic

If no argument is supplied the default level is 1.

When a diagnostic is enabled stdin and stdout are left open and signals are arranged to allow the job to be killed by SIGINT.

--diag_pr=<n>

Enable pressure read polling diagnostics.
See --diag_cr
--diag_sr=<n>

Enable status read polling diagnostics.
See --diag_cr
--diag_vr=<n>

Enable voltage read polling diagnostics.
See --diag_cr

Argument Usage

Argument processing is done using Unix long argument syntax.

All of the parameters are printed out to stderr when the program starts, whether or not they were supplied on the command line.

Local and remote mode cannot be specified at the same time.

Configuration name usage

One copy of PHItask is run for each ion pump to be serviced.

Multiple ion pumps are allowed to share the configuration file.

They use the program name field to differentiate them. The --mngr_pn argument is used to determine which entries are to be used by a particular copy of PHItask.

Strangely enough the group field is mapped to the I/O address programmed into the pump. Zero is not allowed as a valid I/O address. g1 corresponds to I/O address 1 etc. The maximum I/O address supported is 30.

The reason for this bit of strangeness is that the pump can be controlled using GPIB which allows multiple devices to share one connection. It may also be capable of RS423 multidrop operation which also shares devices on a single serial link. However, our software only supports one pump per link so this is the workaround used to address these issues.

Each pump power supply can independently service two pumps so the index field is used to determine which pump inside of the controller is being addressed.

Valid values are:

0 - 1st pump
1 - 2nd pump

No remote control of the pump is supported. The program only provides service for various readbacks.

The mappings are as follows:

resp1 <0,1>

Ion pump pressure read

The value is in torr.

resp2 <0,1>

Ion pump voltage read

The value is in volts.

resp3 <0,1>

Ion pump current read

The value is in amperes.

resp4 <0,1>

Ion pump status read

See the ion pump power supply manual for more information.

0 - waiting (starting ?)
1 - standby
2 - safe-conn
3 - running
4 - cool
5 - waiting
6 - high voltage off
7 - <unused>

Configuration file example

The configuration file shown below contains mappings for four ion pump power supplies.

Each supply can independently handle two pumps.

The I/O address for each supply is set to 5.

#
#    PHI Ion Pump config file
#
#    1st pump power supply
#
PHI1 |g5|resp1 |0|IP 02-1|PR |
PHI1 |g5|resp2 |0|IP 02-1|VR |
PHI1 |g5|resp3 |0|IP 02-1|CR |
PHI1 |g5|resp4 |0|IP 02-1|PwrSR |
#
PHI1 |g5|resp1 |1|IP 02-2|PR |
PHI1 |g5|resp2 |1|IP 02-2|VR |
PHI1 |g5|resp3 |1|IP 02-2|CR |
PHI1 |g5|resp4 |1|IP 02-2|PwrSR |
#
#
#    2nd pump power supply
#
PHI2 |g5|resp1 |0|IP L1-1|PR |
PHI2 |g5|resp2 |0|IP L1-1|VR |
PHI2 |g5|resp3 |0|IP L1-1|CR |
PHI2 |g5|resp4 |0|IP L1-1|PwrSR |
#
PHI2 |g5|resp1 |1|IP L1-2|PR |
PHI2 |g5|resp2 |1|IP L1-2|VR |
PHI2 |g5|resp3 |1|IP L1-2|CR |
PHI2 |g5|resp4 |1|IP L1-2|PwrSR |
#
#
#    3rd pump power supply
#
PHI3 |g5|resp1 |0|IP L1-3|PR |
PHI3 |g5|resp2 |0|IP L1-3|VR |
PHI3 |g5|resp3 |0|IP L1-3|CR |
PHI3 |g5|resp4 |0|IP L1-3|PwrSR |
#
#
#    4th pump power supply
#
PHI4 |g5|resp1 |0|IP L2-1|PR |
PHI4 |g5|resp2 |0|IP L2-1|VR |
PHI4 |g5|resp3 |0|IP L2-1|CR |
PHI4 |g5|resp4 |0|IP L2-1|PwrSR |
#
PHI4 |g5|resp1 |1|IP L2-2|PR |
PHI4 |g5|resp2 |1|IP L2-2|VR |
PHI4 |g5|resp3 |1|IP L2-2|CR |
PHI4 |g5|resp4 |1|IP L2-2|PwrSR |

I/O polling rates

Polling is normally performed at 1Hz. Fast polling is not supported.

Program startup examples

The examples show the startup for one ion pump power supply. The first example is running on a local serial port. The second example is connected to a terminal server.

Some of the arguments are not needed because the values are the same as the defaults. They are provided to illustrate their usage.

PHItask --dbman_host csdev1 \
--local /dev/com2 \

--mngr PHIconf --mngr_pn PHI1

PHItask --dbman_host csdev1 \
--remote csdev11,ETSraw1 \

--mngr PHIconf --mngr_pn PHI2

Notes

Mapping the I/O address to the group number is a novel idea to say the least.

Manual page revision

$Id: PHItask.8,v 1.4 2007/09/25 17:11:15 kitchen Exp $


Table of Contents