User's Manual

PMAC Dual-Ported RAM User Manual
12 Dual-Ported RAM Automatic Functions
DUAL-PORTED RAM DATA GATHERING FORMATS
Byte 2 Byte 1 Byte 0
Byte 2
Byte 1
Byte 0
Byte 2 Byte 1 Byte 0
Byte 5 Byte 4
Byte 2
Byte 1
Byte 0
Byte 4
Byte 5
1
11
1
1
1
1
1
S S S S S S S S
S
S
1
S
S
2
1
S
S
2
07
8
15
1623
07
8
15
1623
BIT #
BIT #
DPRAM
BYTE
NO.
(RELATIVE)
0
1
2
3
24 BITS
PMAC WORD:
48 BITS
PMAC Y: WORD
PMAC X: WORD
DPRAM
BYTE
NO.
(RELATIVE)
0
1
2
3
4
5
6
7
(SIGN EXTENSION)
(SIGN EXTENSION)
(SIGN EXTENSION)
S = Sign bit
1
S
= First word sign bit
= Second word sign bit
= Exponent for floating point
S
2
Byte 3
Byte 3
S
2
S
2
S
2
S
2
S
2
S
2
S
2
S
2
S
SS
S
SSS
S
Control Panel Function
PMAC provides the capability to create the software equivalent of a hardware control panel in the
DPRAM. By setting and clearing individual bits in the DPRAM, the host computer can duplicate all of the
functions available from external switches through the JPAN connector. Also, by writing a 16-bit value,
the host can control the feedrate override (% value) just as a real potentiometer would.
The DPRAM control panel functions are enabled if I2 is set to 3. They are disabled if I3 is set to other
values.
General Description
The host loads command request bits for motors and coordinate systems into registers 0x0004 (Y:$D001),
0x0008 (Y:$D002), etc., then triggers the action by setting the appropriate enable bits of register 0x0000
(Y:$D000). When PMAC processes the request, it clears all of the bits of 0x0000 (Y:$D000). The
DPRAM is now ready for the next set of requests.
The host loads the desired "Feedrate Override" (time-base) values for the coordinate systems it wishes to
change into registers 0x0006 (X:$D001), 0x000A (X:$D002), etc., then triggers the action by setting the
appropriate enable bits of register 0x0002 (X:$D000). The register holds values from 0 to 32,767, in units
of 1/32,768 msec. The value represents the "elapsed time" PMAC uses in its trajectory update equations
each servo cycle. If it matches the true time, the trajectories will go at the programmed speeds. If it is
greater than the true time, trajectories will go faster; if it is less, they will go slower. This value
corresponds to values of 0 to 8,388,352 in units of I10 (1/8,388,608 msec). At the default I10 value of
3,713,707, this corresponds to override (%) values from 0 to 225.87; for real-time execution (%100) a
value of 14,507 should be used.
PMAC copies these values, multiplied by 256, into the command override register for the appropriate
coordinate system (e.g. X:$0806 for C.S.1). If Ix93 -- Time Base Source Address -- for the coordinate
system contains the address of this register, then the value is used as the override for the coordinate
system. PMAC does not clear the enable bits in register 0x0002 (X:$D000); as long as the enable bit for a
coordinate system stays set, PMAC will use the override values provided by the host.