Delta Tau GEO BRICK LV User Manual

Page of 440
Turbo PMAC User Manual 
Turbo PMAC Computational Features
 
251
 
Synchronous Assignment of Other Variables 
 Only M-variables can be used in these synchronous assignments, but M-variables can be assigned to the 
registers of any other variables (I, P, or Q), so these synchronous assignments can be used effectively on 
other variable types as well.  Refer to the detailed memory map for addresses of other variables. 
Limitations 
There are a few limitations to these synchronous assignments that the user must be aware of: 
Valid Forms:  First, these statements may not be used with any of the thumbwheel-multiplexer-port M-
variable forms (TWB, TWD, TWR, or TWS).  The Boolean assignments (&=|=^=) cannot be used 
with any double-width M-variable forms (D, L, or F). 
Queue Limits:  The pending synchronous outputs must be stored in a queue of finite size.  Without the 
special lookahead buffer enabled (see below), the queue is fixed at a size of 256 words for all coordinate 
systems combined, with two words required to store each assignment.  Global variable I68, which 
controls the number of active coordinate systems, determines how much of this queue is assigned to each 
coordinate system. 
The following table shows how many words of the queue are assigned to each active coordinate system 
for the different values of I68, and how many assignments can be made per move with and without cutter 
radius compensation active.  (Cutter radius compensation requires the motion program to work ahead an 
extra move, so reduces the number per move.)  Note that two words are required per assignment, and one 
additional word per move. 
I68 
Value 
Highest Numbered 
Coordinate System 
Activated 
Sync. M-Var. 
Stack per C.S. 
Max. Sync M-Var. 
Assignments per 
move, no cutter comp
Max. Sync M-Var. 
Assignments per 
move, cutter comp on
C.S. 1 
256 words 
63 
42 
C.S. 2 
128 words 
31 
20 
2 - 3 
C.S. 3 - 4 
64 words 
15 
10 
4 - 7 
C.S. 5 - 8 
32 words 
8 - 15 
C.S. 9 - 16 
16 words 
If you are using the special multi-block lookahead feature, the storage requirements for pending 
synchronous assignments can be significant.  For this reason, the special lookahead buffer permits you to 
explicitly reserve space for pending synchronous outputs as well as pending move segments.  If the 
following command were given to define a lookahead buffer: 
&1 DEFINE LOOKAHEAD 500,100 
then a lookahead buffer for Coordinate System 1 would be defined large enough to store 500 move 
segments (each of Isx13 programmed time) for each motor in the coordinate system, plus 100 
synchronous M-variable assignments. 
Comparators 
A comparator evaluates the relationship between two values (constants or expressions).  It is used to 
determine the truth of a condition in a motion or PLC program.  The valid comparators for Turbo PMAC are: 
     =    (equal to) 
     !=   (not equal to) 
     >    (greater than) 
     !>   (not greater than; less than or equal to) 
     <    (less than) 
     !<   (not less than; greater than or equal to) 
     ~    (approximately equal to -- within one) 
     !~   (not approximately equal to -- at least one apart) 
These are described in detail in the Software Reference manual under Mathematical Features.