User's Manual

PMAC Dual-Ported RAM User Manual
Dual-Ported RAM Automatic Functions 17
Background Fixed Data Buffer
PMAC can provide information of interest of the host computer through the DPRAM as a background
task. This feature is enabled if I49=1. If this feature is enabled, each time PMAC executes its
housekeeping tasks in background, which it does between each scan of each PLC program, it will update
the buffer in DPRAM if the host has read the previous contents of the buffer. The information in this
buffer is data in PMAC that is updated less often than once per servo cycle.
General Description
When this feature is enabled, each time PMAC executes it housekeeping routines, it tests to see if the
Data-Ready flag at 0x0228 (Y:$D08A) Bit 0 is set (= 1). If it is, PMAC assumes the host has not finished
reading the last update, so it skips this update of the buffer. If the flag is clear (=0), meaning that the host
has finished reading the previous update, it will copy new data into the buffer. The information copied is
for motors and coordinate systems numbered from 1 to the value of I59. After updating the buffer it sets
the Data-Ready flag to 1, and sets register 0x022A (X:$D08A) equal to the servo timer to mark the time of
the report.
The host computer should check the Data-Ready flag before attempting to read the information in the
buffer. If the flag is not set, the host can either check several more times waiting for it to be set by PMAC,
or immediately go on to other tasks. If the flag is set, the host can read the information it desires from the
buffer. It must clear the Data-Ready flag after reading the information in order to permit PMAC to write
another set of data into the buffer.
To Enable:
1. Set I59 = highest motor/C.S. (1 - 8), and
2. Set I49 = 1
To Disable:
1. Set I49 = 0, or
2. Set I59 = 0 (This will also disable the Servo Data Buffer)
Register Map
Global Registers for Background Fixed Data Buffer
Address Description
0x0228
(Y:$D08A)
Buffer Status to Host and PMAC
Bit 0: Data-Ready Flag
=1 means PMAC done updating buffer
=0 means host ready for another update from PMAC
Bits 1-15: (Reserved for future use)
0x022A
(X:$D08A)
PMAC Servo Timer: Updated at Data Ready Time (from X:$0000)
0x022C,E
($D08B)
Control Panel Hardware Port (from Y:$FFC0)
0x0230,2
($D08C)
Thumbwheel Hardware Port (from Y:$FFC1)
0x0234,6
($D08D)
Machine I/O (OPTO) Hardware Port (from Y:$FFC2)
0x0238-4A
($D08E-92)
Spare Global Variable.