forked from epics_driver_modules/motorBase
287 lines
13 KiB
Plaintext
287 lines
13 KiB
Plaintext
==============================================================================
|
|
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 boundry 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 |
|
|
| ... | ... | ... |
|
|
| 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.
|
|
|
|
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.
|
|
|
|
In addition, 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
|
|
-----------|------------|------------|------------
|
|
|