G-line Motion Controller: OMS PCI-004

1) Installation on G-line IPC bus

The OMS PCI-004 boards can go on either
side of the extended PCI bus in the IPC
Each board has to be given a unique address
with jumpers, allowing a maximum of 8
indexer boards in a single IPC:

Settings for Jumper JP6 (see OMS Manual page 2-4)
 
board no. jumper setting
1
on / on / on
2
off / on / on
3
on / off / on
4
off / off / on
5
on / on / off
6
off / on / off
7
on / off / off
8
off / off / off

(NOTE: the OMS manual mentions a maximum number
of 4 boards per PC. Gerry Swislow found out that actually
8 boards are supported per PC, and we have verified
operation of 5 or more boards at G-line.)
 

2) SPEC  installation

A) Menu :  Motors and Counter Device Configuration

MOTORS : YES
TYPE        : Oregon Micro Systems  PCIx
NUM         : 4
MODE      : poll

(declare one entry for each PCI board)
 

B) Main menu :  motor parameters

Controller         : OMS
unit/channel       : 0/0, 0/1, 0/2, 0/3    for the 4 axes of board no. 1 (as of jumper address)
                            1/0, 1/1, 1/2, 1/3    for the 4 axes of board no. 2
                             and so on
other parameters : the usual stuff
 

C) gsetup script

use: login as "specadm", start SPEC, and type "gsetup"

A text editor will display various hardware settings - look for the "MOTION CONTROL" section
the CHESS/G-line default is "Limits HI". This has to be set by software for the OMS PCIx boards.
The gsetup script is written in a way that all motors defined in "config" will be automatically set up
to the default setting (MOTORS is the SPEC internal variable for the number of motors):

     # set limits HI
     {local i
        for (i=0;i<MOTORS;i++) {
           motor_par(i,"send","LH")
        }
     }

If you need to move a motor that has neither limit switches wired up nor limit lines shorted
(CHESS default), you can set limits LO for this particular motor, e.g. :

     # non-standard limits
     # set limits LO for motors without limit switches
     motor_par(tha,"send","LL")

In this particular example the motor "tha" was reconfigured.

NOTE: usually the default settings should do, unless spec is re-installed from scratch.