Files
motorBase/motorApp/OmsSrc
..
2010-04-29 17:04:39 +00:00
2010-04-29 17:04:39 +00:00
2011-02-28 16:14:22 +00:00
2011-03-07 18:00:09 +00:00
2010-04-29 17:04:39 +00:00
2011-01-26 19:13:47 +00:00
2011-01-26 19:13:47 +00:00
2010-04-29 17:04:39 +00:00
2011-03-08 15:11:20 +00:00
2011-02-04 20:25:42 +00:00

==============================================================================
               MAXv            MAXv            MAXv            MAXv
==============================================================================

For all MAXv motors.
--------------------

# OMS MAXv driver setup parameters: 
#     (1)number of cards in array.
#     (2)VME Address Space - A(16,24,32).
#     (3)Base Address (see README file).
#     (4)interrupt vector (0=disable or  64 - 255).
#     (5)interrupt level (1 - 6).
#     (6)motor task polling rate (min=1Hz,max=60Hz).
#!MAXvSetup(1, 16, 0xF000, 190, 5, 10)

MAXv array base address
-----------------------
- defined the by 3rd argument to the MAXvSetup() call.
- must be both a valid address and on a valid address boundary for the selected
VME Address Space.  A valid address for an A16 address must be 4 hex digits;
A24 - 6 hex digits; A32 - 8 hex digits.

Each MAXv occupies the following space for the selected VME address space.

VME space |   A16  |     A24   |      A32    |
----------|--------|-----------|-------------|
MAXv size | 0x1000 | 0x01 0000 | 0x0100 0000 |
----------|--------|-----------|-------------|
valid MAXv| 0x0000 | 0x10 0000 | 0x1000 0000 |
addresses | 0x1000 | 0x11 0000 | 0x1100 0000 |
          | 0x2000 | 0x12 0000 | 0x1200 0000 |
          |   ...  |    ...    |      ...    |
          | 0xE000 | 0x1E 0000 | 0x1E00 0000 |
          | 0xF000 | 0x1F 0000 | 0x1F00 0000 |
          |        | 0x20 0000 | 0x2000 0000 |
          |        |    ...    |      ...    |
          |        | 0xFF 0000 | 0xFF00 0000 |
----------|--------|-----------|-------------|

EXAMPLE
-------

3 MAXv boards, A24 address space, base address = 0xA0 0000.
1st board's address - 0xA0 0000
2nd board's address - 0xA1 0000
3rd board's address - 0xA2 0000
MAXvSetup(3, 24, 0xA00000, 190, 5, 10)


NOTES:
- Unlike the other OMS models, the MAXv VME Address Modifiers (AM) do not
  respond to both supervisory and non-privileged access.  Hence, the MAXv's
  AM's must match the CPU board's AM's exactly. At the APS, this means the
  AM must be set to A16 privileged access; 0x2D .

- Configure the MAXv's limit switch sense by placing one of the following MAXv
  controller commands in the 2nd argument of MAXvConfig(); the initialization
  string.  This command determines which TTL signal level defines an active
  limit switch input:

  LL - low (default).
  LH - high.

- One of the following MAXv controller commands must appear in the
  initialization string to configure the type of axis:

  PSO - open loop stepper axis.
  PSE - stepper axis with encoder.
  PSM - servo axis

Note: Separate multiple commands in the initialization string with ";".

Example
-------
config0="AX LH PSM; AY LL PSO; AZ LL PSO; AT LL PSO; AU LH PSO; AV LH PSO; \
AR LH PSO; AS LH PSO;"
MAXvConfig(0, config0)

Configuring the MAXv for an open loop stepper motor (default).
--------------------------------------------------------------
Set J8 for stepper and add the command "PS0;" to the MAXvConfig()
initialization string.

Configuring the MAXv for a stepper motor with encoder.
------------------------------------------------------
Set J8 for stepper and add the command "PSE;" to the MAXvConfig()
initialization string.

Configuring the MAXv for a servo motor.
---------------------------------------
Set J8 for servo and add the command "PSM;" to MAXvConfig() initialization
string.


==============================================================================
               VME8, VME44, VS4, VX2           VME8, VME44, VS4, VX2
==============================================================================

OMS array base address
--------------------------
- defined by the 3rd argument to the omsSetup() call.
- the VMEbus address of the 1st board in the array of OMS VME8, VME44, VS4 and
  VX2 boards.
  
OMS incremental address
---------------------------
- increment each additional OMS board's VMEbus address by 0x10 from the array's
  base address.


==============================================================================
               VME58           VME58           VME58           VME58
==============================================================================

VME58 array base address
------------------------
- defined the by 2nd argument to the oms58Setup() call.
- the VMEbus address of the 1st board in the array of OMS VME58 boards.

VME58 incremental address
-------------------------
- increment each additional board's VMEbus address by 0x1000 from the array's
  base address.

NOTE
----

1. The EPICS motor record does NOT support the encoder mode.  The encoder mode
   is enabled with the ER#,# and results in all distance, velocity and
   acceleration parameters being input in encoder counts.


SSCAN THROUGH-PUT NOTES
-----------------------

The following results where done using the following;

- SSCAN support module R2.5.1, with scan.db configured as follows;
     - Read(R1PV)  set to "time".
     - Drive(P1PV) set to motor record VAL field.
     - #PTS(NPTS)  set to 1000.
     - Step Size(P1SI) set to MRES of the motor record.
- Motor record R5.7; configured as follows;
     - Set slew velocity (VELO) = (500,000 * MRES).
     - Set base velocity (VBAS) = (499,999 * MRES).
     - Acceleration time (ACCL) does not matter.
- EPICS base R3.14.7
- WRS Tornado 2.2.1
- MVME5100
- VME8  with firmware version 1.97-8
- VME44 with firmware version 2.35-4E:
- VME58 with firmware version 2.16-8
- MAXv  with firmware version 1.25



Controller | sysClkRate | interrupts | polling rate | ms/scan pt.
-----------|------------|------------|--------------|------------
VME8       |    60      |  disabled  |     1HZ      | 1076.0
-----------|------------|------------|--------------|------------
VME44      |    60      |  disabled  |     1HZ      | 1267.0
-----------|------------|------------|--------------|------------
VME58      |    60      |  disabled  |     1HZ      |  808.5
-----------|------------|------------|--------------|------------
MAXv       |    60      |  disabled  |     1HZ      |  808.5
===========|============|============|==============|============
VME8       |    60      |  disabled  |    60HZ      |  801.8
-----------|------------|------------|--------------|------------
VME44      |    60      |  disabled  |    60HZ      |  990.6
-----------|------------|------------|--------------|------------
VME58      |    60      |  disabled  |    60HZ      |   77.3
-----------|------------|------------|--------------|------------
MAXv       |    60      |  disabled  |    60HZ      |   77.4
===========|============|============|==============|============
VME8       |  4000      |  disabled  |     1HZ      |  776.0
-----------|------------|------------|--------------|------------
VME44      |  4000      |  disabled  |     1HZ      |  779.9
-----------|------------|------------|--------------|------------
VME58      |  4000      |  disabled  |     1HZ      |  772.3
-----------|------------|------------|--------------|------------
MAXv       |  4000      |  disabled  |     1HZ      |  772.5
===========|============|============|==============|============
VME8       |  4000      |  disabled  |    60HZ      |   18.8
-----------|------------|------------|--------------|------------
VME44      |  4000      |  disabled  |    60HZ      |   22.1
-----------|------------|------------|--------------|------------
VME58      |  4000      |  disabled  |    60HZ      |   14.9
-----------|------------|------------|--------------|------------
MAXv       |  4000      |  disabled  |    60HZ      |   15.2
===========|============|============|==============|============
VME8       |    60      |   enabled  |     1HZ      |   38.8
-----------|------------|------------|--------------|------------
VME44      |    60      |   enabled  |     1HZ      |   38.8
-----------|------------|------------|--------------|------------
VME58      |    60      |   enabled  |     1HZ      |   77.5
-----------|------------|------------|--------------|------------
MAXv       |    60      |   enabled  |     1HZ      |   77.5
===========|============|============|==============|============
VME8       |    60      |   enabled  |     1HZ      |   75.4 with VBAS/VELO removed
-----------|------------|------------|--------------|------------
VME44      |    60      |   enabled  |     1HZ      |   80.1 with VBAS/VELO removed
-----------|------------|------------|--------------|------------
VME58      |    60      |   enabled  |     1HZ      |   97.9 with VBAS/VELO removed
-----------|------------|------------|--------------|------------
MAXv       |    60      |   enabled  |     1HZ      |   84.9 with VBAS/VELO removed
===========|============|============|==============|============
VME8       |    60      |   enabled  |    60HZ      |   38.7
-----------|------------|------------|--------------|------------
VME44      |    60      |   enabled  |    60HZ      |   38.7
-----------|------------|------------|--------------|------------
VME58      |    60      |   enabled  |    60HZ      |   77.5
-----------|------------|------------|--------------|------------
MAXv       |    60      |   enabled  |    60HZ      |   77.4
===========|============|============|==============|============
VME8       |   100      |   enabled  |     1HZ      |   15.5
-----------|------------|------------|--------------|------------
VME44      |   100      |   enabled  |     1HZ      |   23.2
-----------|------------|------------|--------------|------------
VME58      |   100      |   enabled  |     1HZ      |   38.7
-----------|------------|------------|--------------|------------
MAXv       |   100      |   enabled  |     1HZ      |   38.7
===========|============|============|==============|============
VME8       |  4000      |   enabled  |     1HZ      |   14.4
-----------|------------|------------|--------------|------------
VME44      |  4000      |   enabled  |     1HZ      |   18.2
-----------|------------|------------|--------------|------------
VME58      |  4000      |   enabled  |     1HZ      |   10.4
-----------|------------|------------|--------------|------------
MAXv       |  4000      |   enabled  |     1HZ      |   11.6
===========|============|============|==============|============
VME8       |  4000      |   enabled  |    60HZ      |   14.4
-----------|------------|------------|--------------|------------
VME44      |  4000      |   enabled  |    60HZ      |   18.2
-----------|------------|------------|--------------|------------
VME58      |  4000      |   enabled  |    60HZ      |   10.4
-----------|------------|------------|--------------|------------
MAXv       |  4000      |   enabled  |    60HZ      |   11.6
===========|============|============|==============|============
VME8       |  4000      |   enabled  |    60HZ      |   12.7 with VBAS/VELO removed
-----------|------------|------------|--------------|------------
VME44      |  4000      |   enabled  |    60HZ      |   15.6 with VBAS/VELO removed
-----------|------------|------------|--------------|------------
VME58      |  4000      |   enabled  |    60HZ      |    9.8 with VBAS/VELO removed
-----------|------------|------------|--------------|------------
MAXv       |  4000      |   enabled  |    60HZ      |    9.8 with VBAS/VELO removed
-----------|------------|------------|--------------|------------


The following results where done using the following;

- SSCAN support module R2.5.6, with scan.db configured as follows;
     - Read(R1PV)  set to "time".
     - Drive(P1PV) set to motor record VAL field.
     - #PTS(NPTS)  set to 1000.
     - Step Size(P1SI) set to MRES of the motor record.
- Motor record R6-3; configured as follows;
     - Set slew velocity (VELO) = (500,000 * MRES).
     - Set base velocity (VBAS) = (499,999 * MRES).
     - Acceleration time (ACCL) does not matter.
- EPICS base R3.14.7
- WRS Tornado 2.2.2
- MVME5100
- VME58 with firmware version 2.42-8
- MAXv-8000 ver:1.31, s/n:000274, FPGA:B1:A6
- MAXv with #UR8192
- CROSS_COMPILER_TARGET_ARCHS = vxWorks-ppc604_long

Controller | sysClkRate | interrupts | ms/scan pt.
===========|============|============|============
VME58      |    60      |   enabled  |  83.4 ms
===========|============|============|============
VME58      |   100      |   enabled  |  50.1 ms
===========|============|============|============
VME58      |   200      |   enabled  |  30.1 ms
===========|============|============|============
VME58      |  4000      |   enabled  |  13.1 ms
===========|============|============|============
MAXv       |    60      |   enabled  |  50.0 ms
===========|============|============|============
MAXv       |   100      |   enabled  |  30.0 ms
===========|============|============|============
MAXv       |   200      |   enabled  |  15.0 ms
===========|============|============|============
MAXv       |  1000      |   enabled  |   5.1 ms
===========|============|============|============
MAXv       |  4000      |   enabled  |   4.1 ms
-----------|------------|------------|------------