^1 SOFTWARE REFERENCE MANUAL ^2 Turbo PMAC/PMAC2 ^3 Software Reference for Turbo Family ^4 3Ax-01.937-xSxx ^5 February 24, 2014 DELTA TAU Data Systems, Inc. NEW IDEAS IN MOTION … Single Source Machine Control ……………………………………………..…...………………. Power // Flexibility // Ease of Use 21314 Lassen St. Chatsworth, CA 91311 // Tel. (818) 998-2095 Fax. (818) 998-7807 // www.deltatau.
Turbo PMAC/PMAC2 Software Reference Copyright Information © 2014 Delta Tau Data Systems, Inc. All rights reserved. This document is furnished for the customers of Delta Tau Data Systems, Inc. Other uses are unauthorized without written permission of Delta Tau Data Systems, Inc. Information contained in this manual may be updated from time-to-time due to product improvements, etc., and may not conform in every respect to former issues.
Turbo PMAC/PMAC2 Software Reference REVISION HISTORY REV. DESCRIPTION DATE CHG APPVD 1 REVISION TO Ixx97 ERROR DESCRIPTION 08/29/06 CP P. SHANTZ 2 REVISION TO IXX83 VARIABLES, P. 188 10/10/06 CP S. SATTARI 3 REV. IXX25 & IXX42 PMAC2 VARIABLES, P. 149 & 159 04/25/07 CP S. SATTARI 4 LOOKAHEAD WARNING TO ISX21(P.220) & \ (P.308) 05/30/07 CP B. PEDERSEN 5 REV. TO IXX02 PULSE FREQ. SETTINGS, P. 127 10/19/07 CP 6 REV. TO IXX24 BIT 16 SETTINGS, P.
Turbo PMAC/PMAC2 Software Reference Table of Contents INTRODUCTION ................................................................................................................... 21 What is Turbo PMAC? .............................................................................................................. 21 What is New about Turbo PMAC? ............................................................................................ 21 How do I Convert a PMAC Application? ............................
Turbo PMAC/PMAC2 Software Reference I28 I29 I30 I35 I36 I37 I38 I39 I40 I41 I42 I43 I44 I45 I46 I47 I48 I49 I50 I51 I52 I53 I54 I55 I56 I57 I58 I59 I60 I61 I62 I63 I64 I65 I67 I68 I69 Display Port Disable ....................................................................................................................... 52 Multiplexer Port Alternate Address .................................................................................................. 52 Compensation Table Wrap Enable ..............
Turbo PMAC/PMAC2 Software Reference I83 I84 I85 MACRO Parallel Ring Enable Mask ................................................................................................ 75 MACRO IC # for Master Communications ....................................................................................... 76 MACRO Ring Order Number ........................................................................................................... 76 VME/DPRAM Setup I-Variables ......................................
Turbo PMAC/PMAC2 Software Reference Ixx32 Ixx33 Ixx34 Ixx35 Ixx36 Ixx37 Ixx38 Ixx39 Ixx40 Ixx41 Ixx42 Ixx43 Ixx44 Motor xx PID Velocity Feedforward Gain .................................................................................. 112 Motor xx PID Integral Gain....................................................................................................... 112 Motor xx PID Integration Mode.................................................................................................
Turbo PMAC/PMAC2 Software Reference Ixx91 Ixx92 Ixx95 Ixx96 Ixx97 Ixx98 Ixx99 Motor xx Power-On Phase Position Format ............................................................................... 149 Motor xx Jog Move Calculation Time ........................................................................................ 152 Motor xx Power-On Servo Position Format ............................................................................... 152 Motor xx Command Output Mode Control ...................
Turbo PMAC/PMAC2 Software Reference Isx85 Isx86 Isx87 Isx88 Isx89 Isx90 Isx91 Isx92 Isx93 Isx94 Isx95 Isx96 Isx97 Isx98 Isx99 Coordinate System ‘x’ Corner Dwell Break Point ...................................................................... 186 Coordinate System x Alternate Feedrate .................................................................................... 187 Coordinate System x Default Program Acceleration Time ..........................................................
Turbo PMAC/PMAC2 Software Reference I7mn1 I7mn2 I7mn3 I7mn4 I7mn5 I7mn6 I7mn7 I7mn8 I7mn9 Servo IC m Channel n Position Compare Channel Select .......................................................... 222 Servo IC m Channel n Capture Control..................................................................................... 222 Servo IC m Channel n Capture Flag Select Control .................................................................. 223 Servo IC m Channel n Encoder Gated Index Select ..........
Turbo PMAC/PMAC2 Software Reference $$$.......................................................................................................................................................... 273 $$$*** .................................................................................................................................................... 273 $$*......................................................................................................................................................
Turbo PMAC/PMAC2 Software Reference DELETE TCOMP.................................................................................................................................... 317 DISABLE PLC......................................................................................................................................... 318 DISABLE PLCC ...................................................................................................................................... 318 E ...................
Turbo PMAC/PMAC2 Software Reference LIST PLC ................................................................................................................................................ 347 LIST PROGRAM ..................................................................................................................................... 348 LIST ROTARY ......................................................................................................................................... 349 LIST TCOMP .
Turbo PMAC/PMAC2 Software Reference P{data}={expression}.............................................................................................................................. 383 PASSWORD={string}.............................................................................................................................. 384 PAUSE PLC ............................................................................................................................................ 385 PC...................
Turbo PMAC/PMAC2 Software Reference CALL ...................................................................................................................................................... 415 CC0 ........................................................................................................................................................ 417 CC1 ......................................................................................................................................................
Turbo PMAC/PMAC2 Software Reference MACROSLVREAD .................................................................................................................................. 452 MACROSLVWRITE ................................................................................................................................. 454 N{constant} ............................................................................................................................................. 455 NOFRAX ..............
Turbo PMAC/PMAC2 Software Reference - .............................................................................................................................................................. 486 * ............................................................................................................................................................. 486 / ................................................................................................................................................
Turbo PMAC/PMAC2 Software Reference Motor Data Reporting Buffer (Used if I48 = 1 or I57 = 1) .................................................. 515 Background Data Reporting Buffer Control (used if I49 = 1 or I57 = 1) ............................ 519 Global Background Data Reporting Buffer (used if I49 = 1)............................................... 520 Coordinate System Background Data Reporting Buffer ...................................................... 520 (used if I49 = 1)........................
Turbo PMAC/PMAC2 Software Reference Jumper Changes ...................................................................................................................... 747 On-line Command Changes..................................................................................................... 747 Program Command Changes ................................................................................................... 748 Encoder Conversion Table Changes ...............................................
Turbo PMAC/PMAC2 Software Reference INTRODUCTION What is Turbo PMAC? The Turbo PMAC is the newest addition to the renowned PMAC family of motion controllers. The Turbo refers to a new high-performance CPU section that can be used with existing PMAC or PMAC2 interface circuitry to turbo-charge the application.
Turbo PMAC/PMAC2 Software Reference With the additional speed and memory, new features are possible on the Turbo PMAC.
Turbo PMAC/PMAC2 Software Reference TURBO PMAC VARIABLE AND COMMAND SUMMARY Notes PMAC syntax is not case sensitive. Spaces are not important in PMAC syntax, except where noted {} -- item in {} can be replaced by anything fitting definition [] -- item in [] is optional to syntax [{item}...] -- indicates previous item may be repeated in syntax [..
Turbo PMAC/PMAC2 Software Reference On-Line Commands (Executed immediately upon receipt by PMAC) On-line Global Commands Addressing Mode Commands @n – Address card n (n is hex digit 0 to f); serial host only @ – Report currently addressed card to host; serial host only #n – Make motor n currently addressed motor # – Report currently addressed motor number to host ##n – Select motor group of 8 for multi-motor responses ## - Report selected motor group of 8 &n – Make coordinate system n the currently addre
Turbo PMAC/PMAC2 Software Reference Global Status Commands – Report 8 motor status words to host – Report all coordinate system status words to host – Report 8 motor following errors (unscaled) – Report global status words in binary form – Report 8 motor positions (unscaled) – Report 8 filtered motor velocities (unscaled) ??? – Report global status words in hex ASCII CID – Report card ID (part) number CPU – Report model of CPU used DATE – Report release
Turbo PMAC/PMAC2 Software Reference Global Variable Commands {constant} – Equivalent to P0={constant} if no unfilled table; otherwise value entered into table I{data}={expression} – Assign expression value to specified I-variable I{constant}..{constant}={constant} – Assign constant value to specified range of Ivariables I{constant}[..{constant}]=* – Set specified I-variable[s] to default[s] I{constant}=@I{constant}] – Set specified I-variable to address of another I-variable I{constant}[..
Turbo PMAC/PMAC2 Software Reference MACRO Ring Commands MACROASCII{master#} – Put this PMAC port in pass-through mode so communications are passed through MACRO to specified other master MACROAUX{node#},{param#} – Report MACRO Type 0 auxiliary parameter value from slave node MACROAUX{node#},{param#}={constant} – Set MACRO Type 0 auxiliary parameter value in slave node MACROAUXREAD{node#},{param#},{variable} – Copy MACRO Type 0 auxiliary parameter value from slave node to PMAC variable MACROAUXWRITE{node#},
Turbo PMAC/PMAC2 Software Reference #n-> – Report axis definition of motor n in this C. S. #n->0 – Erase axis definition of motor n in this C. S. UNDEFINE – Erase definition of all axes in this C. S. General Coordinate-System Commands %{constant} – specify feedrate override value $$ – Establish phase reference (if necessary) and close loop for all motors in C.S. $$* – Read absolute position value for all motors in C.S.
Turbo PMAC/PMAC2 Software Reference Buffer Control Commands DEFINE ROT {constant} – Establish rotary motion program buffer of specified word size for the addressed coordinate system DELETE ROT – Erase rotary motion program buffer for addressed coordinate system DEFINE LOOKAHEAD {constant},{constant} – Establish lookahead buffer for the addressed coordinate system with the specified number of motion segments and synchronous Mvariable assignments DELETE LOOKAHEAD – Erase lookahead buffer for addressed coordi
Turbo PMAC/PMAC2 Software Reference LIST TCOMP – Report contents of torque compensation table for motor LIST TCOMP DEF – Report definition of torque compensation table for motor Buffer Control Commands DEFINE BLCOMP {entries},{count length} – Establish backlash compensation table for motor; to be filled by specified number of values DELETE BLCOMP – Erase backlash compensation table for motor DEFINE COMP {entries},[#{source},[#{target},]],{count length} – Establish leadscrew compensation table for motor; t
Turbo PMAC/PMAC2 Software Reference CC1 – Set 2D cutter radius compensation on left CC2 – Set 2D cutter radius compensation right CC3 – Turn on 3D cutter radius compensation Axis Attribute Commands ABS [({axis}[,{axis},...])] – Set absolute move mode for all [or specified] axes INC [({axis}[,{axis},...])] – Set incremental move mode for all [or specified] axes FRAX ({axis}[,{axis}...
Turbo PMAC/PMAC2 Software Reference Program Logic Control N{constant} – Line label O{constant} – Line label, alternate entry form GOTO{data} – Jump to specified line label; no return GOSUB{data}[{letter}{axis}...] – Jump to specified line label [with arguments] and return CALL{data}[.{data}][{letter}{axis}...] – Jump to specified program [and label] [with arguments] and return. RETURN –- Return program operation to most recent GOSUB or CALL READ ({letter} [,{letter}...
Turbo PMAC/PMAC2 Software Reference SENDP"{message}" – Transmit message over parallel bus interface SENDR"{message}" – Transmit message over DPRAM ASCII interface SENDA"{message}" – Transmit message over auxiliary serial interface DISPLAY [{constant}] "{message}" – Send message to LCD display [starting at specified location] DISPLAY {constant}, {constant}.{constant}, {variable} –- Send variable value to LCD using specified location and format ENABLE PLC{constant}[,{constant}...
Turbo PMAC/PMAC2 Software Reference COMMANDA"{command}" – Issue text command, respond to auxiliary serial port COMMANDA^{letter} – Issue control character command, respond to auxiliary serial port Message Transmission and Display SENDS"{message}" – Transmit message over main serial interface SENDP"{message}" – Transmit message over parallel bus interface SENDR"{message}" – Transmit message over DPRAM ASCII interface SENDA"{message}" – Transmit message over auxiliary serial interface DISPLAY [{constant}] "
Turbo PMAC/PMAC2 Software Reference TURBO PMAC GLOBAL I-VARIABLES General Global Setup I-Variables I0 Serial Card Number Range: $0 to $F (0 to 15) Units: None Default: $0 I0 controls the Turbo PMAC card number for software addressing purposes on a multi-drop serial communications cable. If I1 is set to 2 or 3, the Turbo PMAC must be addressed with the @n command, where n matches the value of I0 on the board, before it will respond.
Turbo PMAC/PMAC2 Software Reference I1 Serial Port Mode Range: 0 to 3 Units: None Default: 0 I1 controls two aspects of how Turbo PMAC uses its main serial port. The first aspect is whether PMAC uses the CS (CTS) handshake line to decide if it can send a character out the serial port. The second aspect is whether PMAC will require software card addressing, permitting multiple cards to be daisychained on a single serial line.
Turbo PMAC/PMAC2 Software Reference I3 I/O Handshake Control Range: 0 to 3 Units: None Default: 1 I3 controls what characters, if any, are used by Turbo PMAC to delimit a transmitted line, and whether PMAC issues an acknowledgment (handshake) of a command. Note: With communications checksum enabled (I4=1), checksum bytes are added after the handshake character bytes. Valid values of I3 and the modes they represent are: 0: Turbo PMAC does not acknowledge receipt of a valid command.
Turbo PMAC/PMAC2 Software Reference With I3=2: #1J+ ........ ....... UUU .......... ............. P1..3 ...... 255075 ; Valid command not requiring data response ; Acknowledging character ; Invalid command ; PMAC reports error ; Valid command requiring data response ; PMAC responds with requested data With I3=3: #1J+ ........ ; Valid command not requiring data response ............... ; Acknowledging character UUU .......... ; Invalid command ..
Turbo PMAC/PMAC2 Software Reference Turbo-PMAC-to-Host Checksum: Turbo PMAC will compute the checksum of any communications line it sends to the host. This checksum includes control characters sent with the line, including the final . The checksum is sent immediately following this . On a multiple-line response, one checksum is sent for each line. Note that this checksum is sent before the checksum of the command line that caused the response.
Turbo PMAC/PMAC2 Software Reference When I6 is set to 1 or 3, an error number message can be reported along with the character. The message comes in the form of ERRnnn, where nnn represents the three-digit error number. If I3 is set to 1 or 3, there is a character in front of the message. When I6 is set to 1, the form of the error message is {error message}. This setting is the best for interfacing with host-computer driver routines.
Turbo PMAC/PMAC2 Software Reference The hardware Phase clock period (frequency) is controlled by jumpers E98 and E29-E33 on a Turbo PMAC, variables I7000 and I7001 on a Turbo PMAC2 that is not Ultralite, or variables I6800 and I6801 on a Turbo PMAC2 Ultralite. Most Turbo PMAC users will leave I7 at the default value of 0, so that phase update algorithms are executed every phase clock cycle. There are two reasons to extend the phase update cycle by setting I7 greater than 0.
Turbo PMAC/PMAC2 Software Reference Note: A large PLC 0 with a small value of I8 can cause severe problems, because Turbo PMAC will attempt to execute the PLC program every I8 cycle. This can starve background tasks, including communications, background PLCs, and even updating of the watchdog timer, for time, leading to erratic performance or possibly even shutdown.
Turbo PMAC/PMAC2 Software Reference On Turbo PMAC, the servo interrupt time is determined by the settings of hardware jumpers E98, E29E33, and E3-E6.
Turbo PMAC/PMAC2 Software Reference Note: If I11 is greater than zero, defining a definite time for calculations, and Turbo PMAC cannot complete the calculations for the first move of a sequence by the end of the I11 time, Turbo PMAC will terminate the running of the program with a run-time error. I12 Lookahead Time Spline Enable Range: 0-1 Units: none Default: 0 I12 permits the enabling of a new lookahead technique called time splining.
Turbo PMAC/PMAC2 Software Reference I14 Temporary Buffer Save Enable Range: 0–1 Units: none Default: 0 I14 controls whether the structure of the “temporary” buffers on Turbo PMAC can be retained through a board power-down or reset. The temporary buffers are those where the information in the buffer is never retained through a power-down or reset.
Turbo PMAC/PMAC2 Software Reference I17 Rotary Buffer Request Off Point Range: 0 to 8,388,607 Units: Program lines Default: 10 This parameter controls how many lines ahead of the executing line the host can provide a PMAC rotary motion program buffer before it signals that it is not ready for more lines (BREQ line held low, coordinate system status bit Rotary Buffer Full becomes 1).
Turbo PMAC/PMAC2 Software Reference I19 contains the number of the servo/phase clock-direction I-variable whose value is set by default to 0, indicating that the matching Servo IC or MACRO IC is the source of the servo and phase clock signals for the Turbo PMAC2 system. This I-variable for all other Servo ICs and MACRO ICs in the system is set to 3, indicating that these ICs will use servo and phase clock signals from a source external to them.
Turbo PMAC/PMAC2 Software Reference I20 MACRO IC 0 Base Address (Turbo PMAC2 only) Range: $0, $078400 - $07B700 Units: Turbo PMAC2 Addresses Default: Auto-detected I20 sets the base address of the first MACRO IC (called MACRO IC 0) in the Turbo PMAC2 system, normally the one with the lowest base address. A setting of 0 for I20 tells the Turbo PMAC2 CPU that no MACRO IC 0 is present, and none of the firmware’s automatic functions for that IC will be active.
Turbo PMAC/PMAC2 Software Reference On re-initialization – either on resetting with the E3 re-initialization jumper ON or on issuing the $$$*** command, Turbo PMAC2 will auto-detect which MACRO ICs are present, and set I21 to the base address of the MACRO IC with the second-lowest base address. Turbo PMAC2 will also do this when commanded to set I21 to its default value (I21=*). If less than two MACRO ICs are found, I21 will be set to 0 instead.
Turbo PMAC/PMAC2 Software Reference For a Turbo PMAC2 that is not Ultralite or UMAC, the only valid MACRO IC base address is $78400. For a Turbo PMAC2 Ultralite, the valid base addresses are $78400, $79400, $7A400, and $7B400. For a UMAC Turbo system, the valid base addresses can be expressed as $7xy00, where x can be 8, 9, A, or B, and ‘y’ can be ‘4’, ‘5’, ‘6’, or ‘7’.
Turbo PMAC/PMAC2 Software Reference On re-initialization – either on resetting with the E3 re-initialization jumper ON or on issuing the $$$*** command, Turbo PMAC will auto-detect which DPRAM ICs are present, and set I24 to the base address of the DPRAM IC with the lowest base address. If no DPRAM ICs are found, I24 will be set to 0 instead. The automatic DPRAM communications functions reference registers in a DPRAM IC, whose addresses are relative to the address contained in I24.
Turbo PMAC/PMAC2 Software Reference Default: 0 I27 controls how the Turbo PMAC interprets incoming data on a TWS-format M-variable read from an ACC-34 or similar serial-interface I/O board. If I27 is set to the default value of 0, PMAC expects the serial input data on the DAT0 signal line. If I27 is set to 1, PMAC expects the serial input data on the DAT7 signal line.
Turbo PMAC/PMAC2 Software Reference should be set to a value 2 greater than the base address of that board (e.g. $078502, $078602, or $078702). I29 is only used at power-on/reset, so to make a change in the functionality of the display port, it is necessary to change the value of I29, store the value in non-volatile flash memory with the SAVE command, and reset the Turbo PMAC.
Turbo PMAC/PMAC2 Software Reference I36 Enable/Abort Separation Control Range: 0–1 Units: none Default: 0 I36 controls whether the abort commands in Turbo PMAC can also enable disabled motors, or whether separate enable commands are required. If I36 is at the default value of 0, the abort commands (coordinate-system-specific A and global ) will enable a disabled motor, bringing it to a closed-loop zero-velocity state.
Turbo PMAC/PMAC2 Software Reference I37 Additional Wait States Range: $000000 - $032403 Units: Instruction cycle wait states (by bit) Default: $000000 I37 controls the number of wait states added to the factory default values when the Turbo PMAC processor accesses external memory or memory-mapped I/O devices. Wait states are the number of instruction cycles the processor idles when reading from or writing to a register of memory or I/O.
Turbo PMAC/PMAC2 Software Reference If I38 is set to the default value of 0, the jump to the subprogram causes suspension of program calculation until the start of execution of a new move. I39 UBUS Accessory ID Variable Display Control Range: 0–5 Units: none Default: 0 I39 controls which portions of the identification variables I4909 – I4999, which provide information about accessory boards on UMAC’s “UBUS” backplane expansion port, are reported.
Turbo PMAC/PMAC2 Software Reference I40 Watchdog Timer Reset Value Range: 0 – 65,535 Units: servo cycles Default: 0 (sets 4095) I40 controls the value to which the watchdog timer’s counter is reset each background cycle. Each servo interrupt cycle, Turbo PMAC decrements this counter by 1 automatically, and if the counter becomes less than 0, the real-time interrupt task will no longer strobe the watchdog circuit, permitting it to trip and shut down the card.
Turbo PMAC/PMAC2 Software Reference I42 Spline/PVT Time Control Mode Range: 0–1 Units: none Default: 0 I42 controls whether TM or TA is used to define the time for SPLINE and PVT-mode moves. For PVTmode moves, the PVT{data} command can be used to set the move time regardless of the setting of I42.
Turbo PMAC/PMAC2 Software Reference Serial Port Command Queue Command Pointer Response Queue Auxiliary X:$001C00 … $001CFF X:$003600 … $0036FF X:$000034 Y:$001C00 … $001CFF Y:$003600 … $0036FF Main X:$FFFFE6 Response Pointer Y:$000034 Response Transmit Flag Y:$30,11 X:$FFFFE1 X:$FFFFE0,23 Only the low byte (bits 0 – 7) of each word in the command and response queues is used. The command pointer contains the location of the next character to be input to the Turbo PMAC.
Turbo PMAC/PMAC2 Software Reference I46=0: P-Variables in flash-backed RAM; Q-Variables in flash-backed RAM I46=1: P-Variables in battery-backed RAM; Q-Variables in flash-backed RAM I46=2: P-Variables in flash-backed RAM; Q-Variables in battery-backed RAM I46=3: P-Variables in battery-backed RAM; Q-Variables in battery-backed RAM For variables stored in flash-backed RAM, values must be copied to flash memory with the SAVE command in order to be retained through a power-down or reset.
Turbo PMAC/PMAC2 Software Reference Reporting this data as a high-priority foreground task permits a reliable high-frequency transfer of motor data to the host, but it can have a significant impact on the capabilities of lower priority tasks, such as motion program trajectory calculations, and PLCs. When I48=0, the DPRAM motor data reporting function in foreground is disabled.
Turbo PMAC/PMAC2 Software Reference Units: Multiplication factor Default: 7 (80 MHz) I52 controls the operational clock frequency of the Turbo PMAC’s CPU by controlling the multiplication factor of the phase-locked loop (PLL) inside the CPU. The PLL circuit multiplies the input 10 MHz (actually 9.83 MHz) clock frequency by a factor of (I52 + 1) to create the clock frequency for the CPU.
Turbo PMAC/PMAC2 Software Reference If the host computer baud rate cannot be made to match the Turbo PMAC’s baud rate, the Turbo PMAC’s baud rate must be changed through another communications port. I54 Serial Port Baud Rate Control Range: 0 to 15 Units: None Default: 12 (38400 baud) I54 controls the baud rate for communications on the main serial port. Turbo PMAC uses I54 only at power-up/reset to set up the frequency of the clocking circuit for the serial port.
Turbo PMAC/PMAC2 Software Reference time it loads a line into the DPRAM ASCII buffer for the host to read. When I56=0, it will not generate this interrupt. For the Turbo PMAC PC, the interrupt line used is the EQU4 interrupt. For this to reach the host, jumper E55 must be ON, and jumpers, E54, E56, and E57 must be OFF. When using this feature, do not use the EQU4 line for any other purpose, including position compare. For the Turbo PMAC2 PC the interrupt line used is the EQU1 interrupt.
Turbo PMAC/PMAC2 Software Reference I59 Motor/C.S. Group Select Range: 0–3 Units: none Default: 0 I59 controls which group of eight motors and eight coordinate systems can be selected by the FPDn inputs on the Turbo PMAC control panel port. The possible values of I59 and the motors and coordinate systems they select are: I59 = 0: Motors 1 – 8; C.S. 1 – 8 I59 = 1: Motors 9 – 16; C.S. 9 – 16 I59 = 2: Motors 17 – 24; C.S. 1 – 8 I59 = 3: Motors 25 – 32; C.S.
Turbo PMAC/PMAC2 Software Reference I61 Filtered Velocity Shift Range: 0 to 255 Units: Bits Default: 8 I61 controls the scaling of reported filtered velocity values for all motors in a Turbo PMAC. It does this by telling the filtered velocity calculation routines how many bits to shift the difference between the latest position stored in the buffer, and the position stored 16*(I60+1) servo cycles before.
Turbo PMAC/PMAC2 Software Reference I63 Control-X Echo Enable Range: 0–1 Units: None Default: 1 I63 permits the PMAC to echo the character back to the host computer when it is received. If I63 is set to 1, PMAC will send a character (ASCII value 24 decimal) back to the host computer when it receives a character. If I63 is set to 0, PMAC will send nothing back to the host computer when it receives a character.
Turbo PMAC/PMAC2 Software Reference I65 is a variable that has no automatic function in Turbo PMAC. Because its factory default value is 0, setting it to a non-zero value as part of the downloaded configuration file provides an easy way of later verifying that the configuration has been loaded in a particular card. Since this variable has no automatic function, how this variable is utilized (if it is utilized at all) is completely up to the user.
Turbo PMAC/PMAC2 Software Reference I68 Value 0 1 2-3 4-7 8 - 15 Highest Numbered Coordinate System Activated C.S. 1 C.S. 2 C.S. 3 - 4 C.S. 5 - 8 C.S. 9 - 16 Sync. M-Var. Stack per C.S. Max. Sync M-Var. Assignments per move, no cutter comp Max. Sync M-Var.
Turbo PMAC/PMAC2 Software Reference Units: none Default: 0 I70 controls which nodes of MACRO IC 0 for which Turbo PMAC performs automatic copying into and out of the auxiliary registers. Enabling this function for a node is required to use the auxiliary register as the flag register for a motor. I70 is a 16-bit variable. Bits 0 to 15 control the enabling of this copying function for MACRO nodes 0 to 15, respectively.
Turbo PMAC/PMAC2 Software Reference I72 controls which nodes of MACRO IC 1 for which Turbo PMAC performs automatic copying into and out of the auxiliary registers. Enabling this function for a node is required to use the auxiliary register as the flag register for a motor. Note: MACRO IC 1 can be present only on Turbo PMAC2 Ultralite boards with Option 1U1 ordered, or on a 3U Turbo PMAC2 with some configurations of its Acc-5E. I72 is a 16-bit variable.
Turbo PMAC/PMAC2 Software Reference I74 controls which nodes of MACRO IC 2 for which Turbo PMAC performs automatic copying into and out of the auxiliary registers. Enabling this function for a node is required to use the auxiliary register as the flag register for a motor. Note: MACRO IC 2 can only be present on Turbo PMAC2 Ultralite boards with Option 1U2 ordered, or on a 3U Turbo PMAC2 with some configurations of its Acc-5E. I74 is a 16-bit variable.
Turbo PMAC/PMAC2 Software Reference Note: MACRO IC 3 can only be present on Turbo PMAC2 Ultralite boards with Option 1U3 ordered, or on a 3U Turbo PMAC2 with some configurations of its Acc-5E. I76 is a 16-bit variable. Bits 0 to 15 control the enabling of this copying function for MACRO nodes 0 to 15, respectively. A bit value of 1 means the copying function is enabled; a bit value of 0 means the copying function is disabled.
Turbo PMAC/PMAC2 Software Reference If Turbo PMAC has not received a response to the MACRO auxiliary communications command within I78 servo cycles, it will stop waiting and register a “MACRO Auxiliary Communications Error”, setting Bit 5 of global status register X:$000006. A value of 32 for I78 is suggested. Bit 15 of I70, I72, I74, and I76 must be set to 0 to disable Node 15’s Type 0 (node-specific) auxiliary communications for each MACRO IC if I78 is greater than 0.
Turbo PMAC/PMAC2 Software Reference When a ring fault is detected, Turbo PMAC sets bit 4 of global status word X:$000006 to 1. It disables all motors using the MACRO ring, and attempts to notify all of its MACRO slave stations that a ring fault has occurred. Turbo PMAC performs this check each real-time interrupt (every I8+1 servo cycles), so it will perform I80 / (I8 + 1) checks during the check period.
Turbo PMAC/PMAC2 Software Reference I83 specifies which MACRO ICs on Turbo PMAC2 control their own independent rings so independent checking of ring communications using variables I80 to I82 is done using registers in that MACRO IC. I83 is a 4-bit value. Bit n of I83 corresponds to MACRO IC n. If bit n is set to 1, ring checking is performed using registers in MACRO IC n. If bit n is set to 0, no ring checking is performed using registers in MACRO IC n.
Turbo PMAC/PMAC2 Software Reference Default: 0 I85 is used to store the order of the Turbo PMAC2 in the MACRO ring. The first device (Turbo PMAC2, MACRO Station, or other device) “downstream” in the ring from the ring controller is 1, the next is 2, and so on. If I85 is 0, the Turbo PMAC2 has not been assigned an order in the ring yet. If I85 has a value from 1 to 254, the Turbo PMAC2 will respond when the {constant} in the MACROSTASCII{constant} command matches the value of I85.
Turbo PMAC/PMAC2 Software Reference I92 controls bits A31 through A24 of the VME bus base address of Turbo PMAC, both for the mailbox registers, and the dual-ported RAM. It is only used if 32-bit addressing has been selected with I90 and I99. I92 is actually used at power-on/reset only, so to set or change bits 16-23 of the VME bus base address, change the value of I92, store this new value to non-volatile flash memory with the SAVE command, and reset the card with the $$$ command.
Turbo PMAC/PMAC2 Software Reference The second hex digit of I94 contains bits 0 – 3. These are individual control bits. Bits 0 and 2 control the addressing mode and block size. Bits 1 and 3 control the bank selection if the large DPRAM is addressed as a small block of memory. Usually, these should be set to 0 in the I-variable.
Turbo PMAC/PMAC2 Software Reference put a line of text in the DPRAM ASCII response buffer and is ready for the host computer to read this, the interrupt vector value will be equal to (I96+1). If there are multiple Turbo PMAC boards asserting the same interrupt level in the VME bus as set by I95, they each must assert a unique, non-overlapping set of interrupt vectors.
Turbo PMAC/PMAC2 Software Reference I99 = $00: 32-bit addressing, no DPRAM I99 = $10: 24-bit addressing, no DPRAM I99 = $30: 16-bit addressing, no DPRAM I99 = $80: 32-bit addressing, with DPRAM I99 = $90: 24-bit addressing, with DPRAM I99 = $B0: 16-bit addressing, with DPRAM Actually I99 is used at power-on/reset only, so to set or change the VME bus address width, change the value of I99, store this new value to non-volatile flash memory with the SAVE command, and reset the card with the $$$ c
Turbo PMAC/PMAC2 Software Reference commands. If Ixx82 is set greater than zero, then the Turbo PMAC performs current-loop calculations as well as commutation, and it outputs three phase-voltage commands.
Turbo PMAC/PMAC2 Software Reference I402 I502 I602 I702 I802 $07842C $078430 $078434 $078438 $07843C MACRO IC 0 Node 5 Reg. 0 MACRO IC 0 Node 8 Reg. 0 MACRO IC 0 Node 9 Reg. 0 MACRO IC 0 Node 12 Reg. 0 MACRO IC 0 Node 13 Reg. 0 I2002 I2102 I2202 I2302 I2402 $07A42C $07A430 $07A434 $07A438 $07A43C MACRO IC 2 Node 5 Reg. 0 MACRO IC 2 Node 8 Reg. 0 MACRO IC 2 Node 9 Reg. 0 MACRO IC 2 Node 12 Reg. 0 MACRO IC 2 Node 13 Reg.
Turbo PMAC/PMAC2 Software Reference The default values listed above are usually suitable for commanding analog output pairs when the Turbo PMAC is commutating the motor, but not closing the current loop. Commutation and Current Loop: If Turbo PMAC is commutating Motor xx (Ixx01=1 or 3) and closing its current loop (Ixx82>0), three command output values are calculated, which are written to the Y-register at the address specified in Ixx02, plus the Y-registers at the next two higher addresses.
Turbo PMAC/PMAC2 Software Reference Ixx03 Motor xx Position Loop Feedback Address Range: $000000 - $FFFFFF Units: Turbo PMAC Addresses Turbo PMAC/PMAC2 Ixx03 Defaults Ixx03 Value Register I103 I203 I303 I403 I503 I603 I703 I803 I903 I1003 I1103 I1203 I1303 I1403 I1503 I1603 $003501 $003502 $003503 $003504 $003505 $003506 $003507 $003508 $003509 $00350A $00350B $00350C $00350D $00350E $00350F $003510 Conversion Table Line 0 Conversion Table Line 1 Conversion Table Line 2 Conversion Table Line 3 Conversion
Turbo PMAC/PMAC2 Software Reference Note: To use Turbo PMAC’s hardware position-capture feature for homing search moves or other types of automatic move-until-trigger (Ixx97=0), the encoder channel number addressed by Ixx03 through the Encoder Conversion Table must match the channel number of the flags addressed by Ixx25.
Turbo PMAC/PMAC2 Software Reference bits of fractional data). The result registers in the Encoder Conversion Table are located at addresses X:$003501 to X:$0035C0, corresponding to table setup I-variables I8000 to I8191, respectively. For a control-loop with only a single feedback device – the usual case – Ixx03 and Ixx04 will have the same value, so the same register is used for both position and velocity loops.
Turbo PMAC/PMAC2 Software Reference value for its starting position, and a potentially dangerous jump will occur. (PMATCH is automatically executed on an R (run) or S (step) command.) Ixx07 Motor xx Master (Handwheel) Scale Factor Range: -8,388,608 - 8,388,607 Units: none Default: 96 Ixx07 controls with what scaling the master (handwheel) register gets multiplied when extended into the full-length register.
Turbo PMAC/PMAC2 Software Reference Ixx09 specifies the multiplication scale factor for the internal actual velocity registers for Motor xx. Source position registers for the velocity loop are multiplied by Ixx09 before they are compared and used in the velocity loop. For most purposes, this is transparent to the user and Ixx09 does not need to be changed from the default. This parameter should not be changed in the middle of an application, because it scales many internal values.
Turbo PMAC/PMAC2 Software Reference In this mode, bits 1 through 7 of Ixx10 match the settings of DIP-switches SW1-2 through SW1-8, respectively, on the Acc-8D Opt 7 R/D Converter board. A Closed (ON) switch represents a 0 value; an Open (OFF) switch represents a 1 value. Bit 0 and bits 9 through 23 of Ixx10 are always set to 0 in this mode; bit 8 is only set to 1 if all other bits are 0. The following table shows the common Multiplexer Port addresses that can be used.
Turbo PMAC/PMAC2 Software Reference It can also be used for registers in the 3U-format Acc-3E1 (for 3U Turbo Stack systems) and Acc-14E (for UMAC Turbo systems) boards. In this case, the last hex digit of Ixx95 must be set to a non-zero value to specify the byte-wide bus of these boards. The following tables show Ixx10 values for these boards.
Turbo PMAC/PMAC2 Software Reference Ixx10 Values for PMAC2-Style ADC Registers using Acc-28B (Ixx95=$B10000) Register PMAC2 ADC 1A ADC 1B ADC 2A ADC 2B ADC 3A ADC 3B ADC 4A ADC 4B ADC 5A ADC 5B ADC 6A ADC 6B ADC 7A ADC 7B ADC 8A ADC 8B $078005 $078006 $07800D $07800E $078015 $078016 $07801D $07801E $078105 $078106 $07810D $07810E $078115 $078116 $07811D $07811E First Acc-24x2 $078205 $078206 $07820D $07820E $078215 $078216 $07821D $07821E $078305 $078306 $07830D $07830E $078315 $078316 $07831D $07831E
Turbo PMAC/PMAC2 Software Reference In this mode, bits 3 through 7 of Ixx10 match the settings of DIP switches SW1-1 through SW1-5, respectively, of the Acc-8D Option 9 Yaskawa converter board. A Closed switch represents a bit value of 0; an OPEN switch represents a bit value of 1. Bits 0 through 2, and bits 8 though 23, of Ixx10 are always set to 0 in this mode. The following table shows the Multiplexer Port addresses that can be used and the matching values of Ixx10.
Turbo PMAC/PMAC2 Software Reference Ixx10 for MACRO Absolute Position Reads (Ixx95=$720000 - $740000, $F20000 - $F40000) Addresses are MACRO Node Numbers MACRO Node Number 0 1 4 5 8 9 12 13 Ixx10 for MACRO IC 0 $000100 $000001 $000004 $000005 $000008 $000009 $00000C $00000D Ixx10 for MACRO IC 1 $000010 $000011 $000014 $000015 $000018 $000019 $00001C $00001D Ixx10 for MACRO IC 2 $000020 $000021 $000024 $000025 $000028 $000029 $00002C $00002D Ixx10 for MACRO IC 3 $000030 $000031 $000034 $000035 $000038 $
Turbo PMAC/PMAC2 Software Reference Setting this parameter to zero disables the warning following error limit function. If this parameter is set greater than the Ixx11 fatal following error limit, the warning status bit will never go true, because the fatal limit will disable the motor first. If bit 1 of Ixx97 is set to 1, the motor can be triggered for homing search moves, jog-until-trigger moves, and motion program move-until-trigger moves when the following error exceeds Ixx12.
Turbo PMAC/PMAC2 Software Reference If this target position is calculated within the special lookahead buffer, when this position is greater in an absolute sense (not magnitude) than [Ixx13-Ixx41], Turbo PMAC modifies this position to [Ixx13-Ixx41]. Depending on the setting of bit 14 of Ixx24, it either brings the program to a controlled stop at this point (bit 14=0) or continues the program with the motor position saturated to this value (bit 14=1).
Turbo PMAC/PMAC2 Software Reference of programmed move, or end of intermediate segment – to the limit. If this target position is not calculated within the special lookahead buffer, when this position is less in an absolute sense (not magnitude) than Ixx14, Turbo PMAC automatically issues an Abort command, which causes this motor to start decelerating to a stop at the rate set by Ixx15. If other motors are in coordinated motion, they are also brought to a stop at their own Ixx15 rate.
Turbo PMAC/PMAC2 Software Reference Ixx16 Motor xx Maximum Program Velocity Range: Positive Floating-Point Units: counts / msec Default: 32.0 Ixx16 sets a limit to the magnitude of the commanded velocity for certain programmed moves in certain modes on Turbo PMAC. 1.
Turbo PMAC/PMAC2 Software Reference programmed moves, the Ixx17 limit in this mode cannot guarantee that the limits will be observed. Special lookahead is required for this capability. In this mode, the Ixx17 acceleration limit can lower the speed of short programmed moves, even if they are intended to be blended together at high speed. The algorithm limits the speed of each move so that it can decelerate to a stop within that move.
Turbo PMAC/PMAC2 Software Reference Ixx19 Motor xx Maximum Jog/Home Acceleration Range: Positive Floating-Point Units: counts / msec2 Default: 0.15625 Ixx19 sets a limit to the commanded acceleration magnitude for jog and home moves, and for RAPIDmode programmed moves, of Motor xx. If the acceleration times in force at the time (Ixx20 and Ixx21) request a higher rate of acceleration, this rate of acceleration will be used instead.
Turbo PMAC/PMAC2 Software Reference Ixx21 Motor xx Jog/Home S-Curve Time Range: 0 - 8,388,607 Units: msec Default: 50 Ixx21 establishes the time spent in each half of the S for S-curve acceleration in a jogging, homing, or RAPID-mode move (starting, stopping, and changing speeds). If this parameter is more than half of Ixx20, the total acceleration time will be 2 times Ixx21, and the acceleration time will be pure S-curve (no constant acceleration portion).
Turbo PMAC/PMAC2 Software Reference Bit 0: Flag Register Type Bit: If bit 0 is set to zero, the Turbo PMAC expects the flag registers to be in the format of a PMAC-style Servo IC. Bit 0 should be set to 0 for any flags on-board a Turbo PMAC, an Acc-24P, or an ACC24V. If bit 0 is set to one, the Turbo PMAC expects the flag registers to be in the format of a PMAC2-style Servo IC.
Turbo PMAC/PMAC2 Software Reference If bit 13 (value $2000, or 8,192) is set to 1, when the motor’s following error exceeds the Ixx67 positionerror limit, the excess is put in the “master position” register for the motor, so it is eventually recoverable.
Turbo PMAC/PMAC2 Software Reference and I77 must be set properly to determine whether the Type 0 or Type 1 MACRO protocol is being used on the particular node (all Delta Tau products use Type 1). Bit 20: Amplifier Fault Use Bit: If bit 20 of Ixx24 is 0, the amplifier-fault input function through the FAULTn input is enabled. If bit 20 (value $100000, or 1,048,576) is 1 (e.g. I1924=$100000), this function is disabled. General-purpose use of this input is then possible by assigning an M-variable to the input.
Turbo PMAC/PMAC2 Software Reference Turbo PMAC2 Ixx25 Defaults Ixx25 Value Register Ixx25 Value Register I125 I225 I325 I425 I525 I625 I725 I825 I925 I1025 I1125 I1225 I1325 I1425 I1525 I1625 $078000 $078008 $078010 $078018 $078100 $078108 $078110 $078118 $078200 $078208 $078210 $078218 $078300 $078308 $078310 $078318 PMAC2 Flag Set 1 PMAC2 Flag Set 2 PMAC2 Flag Set 3 PMAC2 Flag Set 4 PMAC2 Flag Set 5 PMAC2 Flag Set 6 PMAC2 Flag Set 7 PMAC2 Flag Set 8 First Acc-24P/V2 Flag Set 1 First Acc-24P/V2 Fl
Turbo PMAC/PMAC2 Software Reference Ixx25 tells Turbo PMAC what registers it will access for its position-capture flags, and possibly its overtravel-limit input flags and amplifier enable/fault flags, for Motor xx. If Ixx42 is set to 0, Ixx25 specifies the address of the amplifier flags; if Ixx42 is set to a non-zero value, Ixx42 specifies the address of the amplifier flags.
Turbo PMAC/PMAC2 Software Reference Bit 19 0 0 1 1 Bit 18 0 1 0 1 Capture Flags Direct Thru MACRO Direct Thru MACRO Amp Flags Direct Thru MACRO Thru MACRO Direct Limit Flags (don’t care) (don’t care) (don’t care) (don’t care) Typically, the position-capture flags will be on the same hardware channel as the position feedback encoder for the motor.
Turbo PMAC/PMAC2 Software Reference Note: The units of this parameter are 1/16 of a count, so the value should be 16 times the number of counts between the trigger position and the home zero position. Example: To change the motor zero position to 500 counts in the negative direction from the home trigger position, set Ixx26 to -500 * 16 = -8000.
Turbo PMAC/PMAC2 Software Reference Note: It is possible to set this parameter outside the range -235 to +235 (+64 billion) if a couple of special things are done. First, the Ixx08 scale factor for the motor must be reduced to give the motor the range to use this position (motor range is +242/Ixx08). Second, the variable value must be calculated inside Turbo PMAC, because the command parser cannot accept constants outside the range +235 (e.g. to set I127 to 100 billion, use I127=1000000000*100).
Turbo PMAC/PMAC2 Software Reference Example: The following motion program segment shows how the in-position function could be used in a program to set an output after coming in-position at a programmed point. M140 represents Motor 1’s in-position status bit (see suggested M-variable definitions).
Turbo PMAC/PMAC2 Software Reference Motor xx PID Servo Setup I-Variables Note: PID Servo Gains Ixx30 – Ixx40 are only used if supplementary motor I-variable Iyy00/Iyy50 is set to its default value of 0. If Iyy00/Iyy50 is set to 1, the Extended Servo Algorithm gains in Iyy10-39/Iyy60-89 are used instead.
Turbo PMAC/PMAC2 Software Reference On a typical system with a current-loop amplifier and PMAC's default servo update time (~440 sec), an Ixx31 value of 2000 to 3000 will provide a critically damped step response. If the servo update time is changed, Ixx31 must be changed proportionately in the opposite direction to keep the same damping effect. For instance, if the servo update time is cut in half, from 440 sec to 220 sec, Ixx31 must be doubled to keep the same effect.
Turbo PMAC/PMAC2 Software Reference Ixx34 Motor xx PID Integration Mode Range: 0-1 Units: none Default: 1 Ixx34 controls when the position-error integrator is turned on. If it is 1, position error integration is performed only when Motor xx is not commanding a move (when desired velocity is zero). If it is 0, position error integration is performed all the time.
Turbo PMAC/PMAC2 Software Reference Ixx36 is not used if Iyy00/50 for the motor has been set to 1 to enable the Extended Servo Algorithm (ESA) for the motor. Ixx37 Motor xx PID Notch Filter Coefficient N2 Range: -2.0 - 2.0 Units: none (unit-less z-transform coefficient) Default: 0.0 Ixx37 is part of the notch filter for Motor xx. See Ixx36 and the Servo Loop Features section of the manual for details. Usually, this parameter is set initially using the Tuning utility in the PMAC Executive Program.
Turbo PMAC/PMAC2 Software Reference where Tf is the filter time constant, and Ts is the servo update time. Ixx 40 Tf Ts T f The filter time constant can be expressed in terms of Ixx40 by the following equation: Tf Ixx40 * Ts 1 Ixx40 Filter time constants can range from a fraction of a servo cycle (when Ixx40 ~ 0) to infinite (when Ixx40 ~ 1). As with any low-pass filter, there is a fundamental trade-off between smoothness and delay.
Turbo PMAC/PMAC2 Software Reference If amplifier flags are specified separately using Ixx42, they must use the same type of ICs as does Ixx25, those specified by bit 0 of Ixx24.
Turbo PMAC/PMAC2 Software Reference Ixx43 Motor xx Overtravel-Limit Flag Address Range: $000000 - $FFFFFF Units: Turbo PMAC Addresses Default: $0 Ixx43, if set to a non-zero value, specifies the address of the overtravel-limit input flags, independently of position-capture flags and amplifier flags, for Motor xx. If Ixx43 is set to 0, Ixx25 specifies the address of the overtravel-limit flags as well as the position-capture flags, and possibly the amplifier flags, for Motor xx.
Turbo PMAC/PMAC2 Software Reference Ixx44 Motor xx MACRO Slave Command Address Range: $0, $078400 - $3787FF Units: Modified Turbo PMAC Addresses Default: $0 Ixx44 permits Motor xx to act as a slave motor on a MACRO ring, specifies the address of the register where the MACRO data is to be exchanged, and what type of command (position, servo output, phase command) is accepted. If Ixx44 is set to its default value of 0, the motor will not respond to MACRO commands.
Turbo PMAC/PMAC2 Software Reference With MACRO ICs in the standard addresses, the following table shows the appropriate settings for Ixx44 for accepting commanded position.
Turbo PMAC/PMAC2 Software Reference Ixx56 Motor xx Commutation Delay Compensation Range: 0.0 – 1.0 Units: (Ixx09*32/2048) commutation cycles/(counts/servo update) Default: 0 Ixx56 permits the Turbo PMAC to compensate lags in the electrical circuits of the motor phases, and/or for calculation delays in the commutation of Motor xx, therefore improving high-velocity performance. The compensation is simply Ixx56 multiplied by the motor velocity.
Turbo PMAC/PMAC2 Software Reference actual or commanded current level from Turbo PMAC is above the magnitude of Ixx57 for a significant period of time, as set by Ixx58, Turbo PMAC will trip this motor on an integrated-current amplifier fault condition. The integrated current limit can either be an I2T (“I-squared-T”) limit, or an |I|T (I-T) limit. If Ixx57 is set to a positive value, Turbo PMAC performs I2T limiting, squaring the value of current before integrating and comparing to Ixx58.
Turbo PMAC/PMAC2 Software Reference 4. Turbo PMAC Motor 6 is driving a direct-PWM power block amplifier for an AC motor. The A/D converters in the amplifier are scaled so that a maximum reading corresponds to 50 amps of current in the phase. The amplifier has a continuous current rating of 20 amps (RMS), and the motor has a continuous rating of 15 amps (RMS). PMAC’s maximum ADC phase reading of 32,768 corresponds to 50 amps.
Turbo PMAC/PMAC2 Software Reference For |I|T limiting, with the instantaneous current limit Ixx69 at 24,576, the magnetization current Ixx77 at 0, the continuous current limit at 8192 (Ixx57 = -8192), the time permitted with maximum current at 3 seconds, and the servo update rate at 4 kHz, Ixx58 would be set as: Ixx 58 ( 0.75 2 0.0 2 0.
Turbo PMAC/PMAC2 Software Reference Ixx61 Motor xx Current-Loop Integral Gain Range: 0.0 - 1.0 (24-bit resolution) Units: Output = 8 * Ixx61 * Sum [i=0 to n] (Icmd[i]-Iact[i]) Default: 0 Ixx61 is the integral gain term of the digital current loops, multiplying the difference between the commanded and actual current levels and adding the result into a running integrator that adds into the command output. It is only used if Ixx82>0 to activate digital current loop execution.
Turbo PMAC/PMAC2 Software Reference expecting a steady-state position error. (In contrast, setting Ixx33 to 0 prevents further inputs to the integrator, but maintains the output.) The Ixx63 integration limit can also be used to create a fault condition for the motor. If Ixx63 is set to a negative number, then PMAC will also check as part of its following error safety check whether the magnitude of integrated following error has saturated at the magnitude of Ixx63.
Turbo PMAC/PMAC2 Software Reference Note: The units of this parameter are 1/16 of a count, so the value should be 16 times the number of counts in the deadband. For example, if modified gain is desired in the range of +/-5 counts of following error, Ixx65 should be set to 80. Ixx65 is not used if the Extended Servo Algorithm for Motor xx is being executed (Iyy00/50=1).
Turbo PMAC/PMAC2 Software Reference Ixx68 Motor xx Friction Feedforward Range: 0 .. 32,767 Units: 16-bit DAC bits Default: 0 Ixx68 adds a bias term to the servo loop output of Motor xx that is proportional to the sign of the commanded velocity. That is, if the commanded velocity is positive, Ixx68 is added to the output. If the commanded velocity is negative, Ixx68 is subtracted from the output. If the commanded velocity is zero, no value is added to or subtracted from the output.
Turbo PMAC/PMAC2 Software Reference Use when Commutating: When Turbo PMAC is commutating Motor xx, Ixx69 corresponds to peak values of the sinusoidal phase currents. Motor and amplifier current limits are usually given as RMS values. Peak phase values are 2, or 1.414, times greater than RMS values. For instance if an amplifier has a 10 amp (RMS) instantaneous current limit, the instantaneous limit for the peak of the phase currents is 14.14 amps.
Turbo PMAC/PMAC2 Software Reference The amplifier has the lower instantaneous current rating, so we use its limit of 25 amps (RMS). 25 amps (RMS) corresponds to peak phase currents of 25*1.414 = 35.35 amps. I769 is set to 32,768 * 35.35/40 = 28,958. 5. Motor 9 is driving a direct-PWM power-block amplifier and an AC induction motor. The Ixx77 magnetization current parameter is set to 3000.
Turbo PMAC/PMAC2 Software Reference A commutation cycle, or electrical cycle, consists of two poles (one pole pair) of a multiphase motor. Note: In firmware revisions V1.938 and older, the maximum value of Ixx71 was 8,388,607. Examples: 1. A four-pole brushless motor with a 1000-line-per-revolution encoder and “times-4” decode has 2 commutation cycles per revolution and 4000 counts per revolution. Therefore, either Ixx70=2 and Ixx71=4000 could be used, or Ixx70=1 and Ixx71=2000. 2. A linear motor has a 60.
Turbo PMAC/PMAC2 Software Reference Refer to the section Setting up Turbo PMAC Commutation for tests to determine the proper Ixx72 setting. For systems without Turbo PMAC digital current loop closure, once this commutation/feedback polarity has been properly matched, the servo/feedback polarity will automatically be properly matched. 2.
Turbo PMAC/PMAC2 Software Reference If Ixx80 is 2 or 3, the “stepper-motor” phasing search is used, and Ixx73 controls the magnitude of current forced into individual phases to lock the motor to a position like a stepper motor. In this method, if the Turbo PMAC is not performing current loop closure for the motor (Ixx82=0) and Ixx72 > 1024, then Ixx73 should be set to a negative number of the desired magnitude. In all other cases it should be set to a positive number.
Turbo PMAC/PMAC2 Software Reference Ixx75 tells Turbo PMAC the distance between the zero position of an absolute sensor used for power-on phase position (specified by Ixx81 and Ixx91) and the zero position of Turbo PMAC's commutation cycle. It is used to reference the phasing algorithm for a PMAC-commutated motor with an absolute sensor (Ixx81 > 0). If Ixx80 bit 0 is 1 (Ixx80 = 1 or 3), this is done automatically during the power-up/reset cycle.
Turbo PMAC/PMAC2 Software Reference Ixx76 Motor xx Current-Loop Back-Path Proportional Gain Range: 0.0 – 2.0 (24-bit resolution) Units: PWMout = -4 * Ixx62 * (Iact) Default: 0.0 Ixx76 is the proportional gain term of the digital current loop that is in the back path of the loop, multiplying the actual current level, and subtracting the result from the command output. Either Ixx76 or Ixx62 (forward path proportional gain) must be used to close the current loop.
Turbo PMAC/PMAC2 Software Reference Turbo PMAC computes the slip frequency each phase update by multiplying the torque command from the position/velocity-loop servo (or O-command magnitude) by Ixx78 and dividing by the magnetization current value controlled by Ixx77. Ixx78 is typically set through use of the Turbo Setup expert-system program running on PCs. This program excites the motor and analyzes its response to derive an optimum Ixx78 value.
Turbo PMAC/PMAC2 Software Reference Ixx80 Motor xx Power-Up Mode Range: 0–7 Units: none Default: 0 Ixx80 controls the power-up mode, including the phasing search method (if used), for Motor xx. It consists of three independent control bits, each determining one aspect of the state of the motor at powerup or full board reset: Bit 0 controls whether the motor is enabled at power-up/reset or not.
Turbo PMAC/PMAC2 Software Reference WARNING: An unreliable phasing search method can lead to a runaway condition. Test the phasing search method carefully to make sure it works properly under all conceivable conditions. Make sure the Ixx11 fatal following error limit is active and as tight as possible so the motor will be killed quickly in the event of a serious phasing search error.
Turbo PMAC/PMAC2 Software Reference Ixx91 tells how the data at the address specified by Ixx81 is to be interpreted. It also determines whether the location specified by Ixx81 is a multiplexer (thumbwheel) port address, an address in Turbo PMAC’s own memory and I/O space, or a MACRO node number. Note: It is easier to specify this parameter in hexadecimal form ($ prefix). If I9 is set to 2 or 3, the value of this variable will be reported back to the host in hexadecimal form.
Turbo PMAC/PMAC2 Software Reference Ixx81 Values for Acc-14D/V Registers (Ixx91=$080000 to $18000) Register Ixx81 Register Ixx81 First Acc-14D/V Port A First Acc-14D/V Port B Second Acc-14D/V Port A Second Acc-14D/V Port B Third Acc-14D/V Port A Third Acc-14D/V Port B $078A00 $078A01 $078B00 $078B01 $078C00 $078C01 Fourth Acc-14D/V Port A Fourth Acc-14D/V Port B Fifth Acc-14D/V Port A Fifth Acc-14D/V Port B Sixth Acc-14D/V Port A Sixth Acc-14D/V Port B $078D00 $078D01 $078E00 $078E01 $078F00 $078F01
Turbo PMAC/PMAC2 Software Reference Ixx81 Values for Acc-49 Sanyo Absolute Encoder Converter (Ixx91=$0D0000) Addresses are Turbo PMAC Memory-I/O Addresses Enc. # on Board Ixx10 for E1 ON Ixx10 for E2 ON Ixx10 for E3 ON Enc. # on Board Ixx10 for E4 ON Ixx10 for E5 ON Ixx10 for E6 ON Enc. 1 Enc. 2 $078A00 $078A04 $078B00 $078B04 $078C00 $078C04 Enc. 3 Enc.
Turbo PMAC/PMAC2 Software Reference If the flag register is in a PMAC-style Servo IC, the flags used are HMFLn, +LIMn, and -LIMn. Usually, the flag register is for the “spare” (even-numbered) set of flags corresponding to the second DAC output used for the commutation. The following table shows the values of Ixx81 used here.
Turbo PMAC/PMAC2 Software Reference Turbo PMAC2 Ultralite Ixx81 Typical Hall Phasing Settings (Ixx91=$800000 - $FF0000) Ixx81 Value Register Ixx81 Value I181 I281 I381 I481 I581 I681 I781 I881 I981 I1081 I1181 I1281 I1381 I1481 I1581 I1681 $003440 $003441 $003444 $003445 $003448 $003449 $00344C $00344D $003450 $003451 $003454 $003455 $003458 $003459 $00345C $00345D MACRO Flag Register Set 0 MACRO Flag Register Set 1 MACRO Flag Register Set 4 MACRO Flag Register Set 5 MACRO Flag Register Set 8 MACRO
Turbo PMAC/PMAC2 Software Reference Ixx81 for MACRO Absolute Position Reads (Ixx91=$720000 - $740000) Addresses are MACRO Node Numbers MACRO Node Number Ixx81 for MACRO IC 0 Ixx81 for MACRO IC 1 Ixx81 for MACRO IC 2 Ixx81 for MACRO IC 3 0 1 4 5 8 9 12 13 $000100 $000001 $000004 $000005 $000008 $000009 $00000C $00000D $000010 $000011 $000014 $000015 $000018 $000019 $00001C $00001D $000020 $000021 $000024 $000025 $000028 $000029 $00002C $00002D $000030 $000031 $000034 $000035 $000038 $000039 $00003C
Turbo PMAC/PMAC2 Software Reference When the digital current loop is used for drives connected directly to the Turbo PMAC2, the typical values for Ixx82 are: Turbo PMAC2 Ixx82 Typical Settings Ixx82 Value Register Ixx82 Value Register I182 I282 I382 I482 I582 I682 I782 I882 I982 I1082 I1182 I1282 I1382 I1482 I1582 I1682 $078006 $07800E $078016 $07801E $078106 $07810E $078116 $07811E $078206 $07820E $078216 $07821E $078306 $07830E $078316 $07831E PMAC2 ADC1B PMAC2 ADC2B PMAC2 ADC3B PMAC2 ADC4B PMAC2 ADC5B
Turbo PMAC/PMAC2 Software Reference UMAC Turbo Ixx82 Typical Settings Ixx82 Value Register I182 I282 I382 I482 I582 I682 I782 I882 I982 I1082 I1182 I1282 I1382 I1482 I1582 I1682 $078206 $07820E $078216 $07821E $078306 $07830E $078316 $07831E $079206 $07920E $079216 $07921E $079306 $07930E $079316 $07931E First Acc-24E2 ADC1B First Acc-24E2 ADC2B First Acc-24E2 ADC3B First Acc-24E2 ADC4B Second Acc-24E2 ADC1B Second Acc-24E2 ADC2B Second Acc-24E2 ADC3B Second Acc-24E2 ADC4B Third Acc-24E2 ADC1B Third Acc-
Turbo PMAC/PMAC2 Software Reference Turbo PMAC2 (Non-Ultralite) Ixx83 Defaults Ixx83 Value Register I183 I283 I383 I483 I583 I683 I783 I883 I983 I1083 I1183 I1283 I1383 I1483 I1583 I1683 $078001 $078009 $078011 $078019 $078101 $078109 $078111 $078119 $078201 $078209 $078211 $078219 $078301 $078309 $078311 $078319 PMAC2 Encoder 1 PMAC2 Encoder 2 PMAC2 Encoder 3 PMAC2 Encoder 4 PMAC2 Encoder 5 PMAC2 Encoder 6 PMAC2 Encoder 7 PMAC2 Encoder 8 First Acc-24P/V2 Encoder 1 First Acc-24P/V2 Encoder 2 First Acc-24
Turbo PMAC/PMAC2 Software Reference UMAC Turbo Ixx83 Defaults Ixx83 Value I183 I283 I383 I483 I583 I683 I783 I883 I983 I1083 I1183 I1283 I1383 I1483 I1583 I1683 $078201 $078209 $078211 $078219 $078301 $078309 $078311 $078319 $079201 $079209 $079211 $079219 $079301 $079309 $079311 $079319 Register Ixx83 Value Register First Acc-24E2 Encoder 1 First Acc-24E2 Encoder 2 First Acc-24E2 Encoder 3 First Acc-24E2 Encoder 4 Second Acc-24E2 Encoder 1 Second Acc-24E2 Encoder 2 Second Acc-24E2 Encoder 3 Second A
Turbo PMAC/PMAC2 Software Reference Some amplifiers will transmit status and fault information on the end of the serial data stream for the ADC, and it is important to mask out these values from the current loop equations.
Turbo PMAC/PMAC2 Software Reference The units of Ixx87 are 1/16 of a count. Therefore, this parameter must hold a value 16 times larger than the number of counts reversal at which backlash is introduced. For example, if backlash is to be introduced after five counts of reversal, Ixx87 should be set to 80. Example: With a system in which one count of the master encoder creates 10 counts of movement in the slave motor, it is desired that a single count reversal of the master not trigger backlash reversal.
Turbo PMAC/PMAC2 Software Reference The possible values of Ixx91 and the position sources they specify are summarized in the following table: Ixx91 Value Range Absolute Position Source Ixx81 Address Type $000000 - $070000 $080000 - $180000 $480000 - $580000 $730000 $740000 $800000 - $FF0000 Acc-8D Opt 7 R/D Converter Parallel Data Y-Register Parallel Data X-Register MACRO Station R/D Converter MACRO Station Parallel Read Hall Sensor Read Multiplexer Port Turbo PMAC Memory-I/O Turbo PMAC Memory-I/O MAC
Turbo PMAC/PMAC2 Software Reference Example: If Ixx81=$078D01 and Ixx91=$140000, Turbo PMAC would read 20 bits (bits 0 – 19) from Y:$078D01. Example: If Ixx81=$078C00 and Ixx91=$100004, Turbo PMAC would read 16 bits, with the low eight bits from the low byte of Y:$078C00, and the high eight bits from the low byte of Y:$078C01.
Turbo PMAC/PMAC2 Software Reference Ixx91 Values for UVW Hall States (120oe Spacing) 0 to 60 deg 60 to 120deg 120 to 180 deg 180 to -120 deg -120 to -60 deg -60 to 0 deg Ixx91 011 001 101 100 110 010 001 011 010 110 100 101 010 011 001 101 100 110 101 001 011 010 110 100 110 010 011 001 101 100 100 101 001 011 010 110 100 110 010 011 001 101 110 100 101 001 011 010 101 100 110 010 011 001 010 110 100 101 001 011 001 101 100 110 010 011 011 010 110 100 101 001 $800000 $8B0000 $950000 $A00000 $A
Turbo PMAC/PMAC2 Software Reference The possible values of Ixx95 and the absolute position feedback devices they reference are summarized in the following table: Ixx95 Value Range Absolute Position Source Ixx10 Address Type Format $000000 - $070000 $080000 - $300000 $310000 $320000 $480000 - $700000 $710000 $720000 $730000 $740000 $800000 - $870000 $880000 - $B00000 $B10000 $B20000 $C80000 - $F00000 $F10000 $F20000 $F30000 $F40000 Acc-8D Opt 7 R/D Converter Parallel Data Y-Register Acc-28 A/D Converte
Turbo PMAC/PMAC2 Software Reference Parallel Data Read: If Ixx95 contains a value from $080000 to $300000, from $480000 to $700000, from $880000 to $B00000, or from $C80000 to $F00000, Motor xx will do a parallel data read of the Turbo PMAC memory or I/O register at the address specified by Ixx10. It expects to find the least significant bit of the feedback in Bit 0 of this register. In this mode, bits 16 to 21 specify the number of bits to be read.
Turbo PMAC/PMAC2 Software Reference Bit 23 of Ixx95 specifies whether the position is interpreted as an unsigned or a signed value. If the bit is set to 0, it is interpreted as an unsigned value, if the bit is 1, it is interpreted as a signed value. Because Acc-28A produces signed values, Ixx95 should be set to $B10000 when using Acc-28A. Acc-28B produces unsigned values, so Ixx95 should be set to $310000 when using Acc-28B.
Turbo PMAC/PMAC2 Software Reference In non-Turbo PMACs, bits 16-23 of Ix10 control this function. Ixx96 Motor xx Command Output Mode Control Range: 0-3 Units: none Default: 0 Ixx96 controls aspects of how Turbo PMAC writes to the command output register(s) specified in Ixx02.
Turbo PMAC/PMAC2 Software Reference Ixx97 Motor xx Position Capture & Trigger Mode Range: 0-3 Units: none Default: 0 Ixx97 controls the triggering function and the position capture function for triggered moves on Motor xx. These triggered moves include homing search moves, on-line jog-until-trigger moves, and motion program RAPID-mode move-until-trigger.
Turbo PMAC/PMAC2 Software Reference This parameter is used only during Turbo PMAC’s power-up/reset cycle to establish absolute power-on servo position. Therefore, the parameter must be set, the value stored in non-volatile flash memory with the SAVE command, and the card reset before it takes effect. If there is no geared third resolver on Motor xx, or if absolute power-on position is not desired, Ixx98 should be set to zero.
Turbo PMAC/PMAC2 Software Reference Example: Motor 1 has a double resolver with the fine resolver connected to the R/D converter at location 2 on an Acc-8D Option 7 board set to multiplexer address 4, and the coarse resolver, geared down at a 36:1 ratio from the fine resolver, connected to the R/D converter at location 3 on the same board. The following Ivariable settings should be used: I110=$000004 .. ; Value of $0004 specifies multiplexer address 4 I118=$020000 .. ; $02 in high 8 bits of I118 ..........
Turbo PMAC/PMAC2 Software Reference Note: These I-variables are disabled if Iyy00/50 for the motor is set to 0. No value can be written to them, and if queried, they will report a value of 0.
Turbo PMAC/PMAC2 Software Reference System Configuration Reporting I4900 Servo ICs Present Range: $000000 – $0FFFFF Units: none (individual bits) Default: -I4900 is a read-only status I-variable that reports which Servo ICs are present in a Turbo PMAC system. It is provided for user setup and diagnostic purposes only. On power-up/reset, Turbo PMAC queries for the presence of each possible Servo IC automatically and reports what it has found in I4900.
Turbo PMAC/PMAC2 Software Reference I4901 is a 20-bit value with each individual bit representing each possible Servo that could be present in the system. The table shown in the I4900 description, above, lists which IC is represented by each bit. A bit of I4901 is set to 0 if a Type 0 PMAC-style DSPGATE Servo IC is found at the appropriate address slot, or if no Servo IC is found there. The bit is set to 1 if a Type 1 PMAC2-style DSPGATE1 Servo IC is found there.
Turbo PMAC/PMAC2 Software Reference I4904 Dual-Ported RAM ICs Present Range: $000000 – $FF8000 Units: none (individual bits) Default: -I4904 is a read-only status I-variable that reports which dual-ported RAM ICs are present in a Turbo PMAC system. It is provided for user setup and diagnostic purposes only. On power-up/reset, Turbo PMAC automatically queries for the presence of each possible DPRAM IC and reports what it has found in I4904. I4904 is a 24-bit value with the nine high bits currently used.
Turbo PMAC/PMAC2 Software Reference In addition, I4904 contains the status of the eight locking bits that an application can use with the LOCK and UNLOCK commands to make sure that tasks of different priorities do not overwrite each other. The following table shows how the eight locking bits are stored. Each bit is a 0 if unlocked; it is a 1 if locked.
Turbo PMAC/PMAC2 Software Reference The following table shows what each part of I4909 returns and what each part means.
Turbo PMAC/PMAC2 Software Reference The following table shows which variable corresponds to which card: Ident I-var Servo IC # I4900 Bit # Board DIP Switch 4,3,2,1 Setting1 Board Base Address Board Setup I-variables Board Ident.
Turbo PMAC/PMAC2 Software Reference I4926 – I4941 MACRO IC Card Identification Range: $000000000 – $FFFFFFFFF Units: none (individual bits) Default: -I4926 – I4941 are read-only status I-variables that report configuration information for UMAC accessory boards that contain MACRO ICs, such as the Acc-5E. Which of these ICs is assigned as MACRO IC 0, 1, 2, or 3 for firmware support issues is dependent on the settings of I20, I21, I22, and I23, respectively.
Turbo PMAC/PMAC2 Software Reference The Base Address field is a 19-bit value that represents the starting address of the board in the Turbo PMAC’s address space. I4942 – I4949 DPRAM IC Card Identification Range: $000000000 – $FFFFFFFFF Units: none (individual bits) Default: -I4942 – I4949 are read-only status I-variables that report configuration information for UMAC accessory boards that contain DPRAM ICs, such as the Acc-54E.
Turbo PMAC/PMAC2 Software Reference I4950 – I4965 I/O IC Card Identification Range: $000000000 – $FFFFFFFFF Units: none (individual bits) Default: -I4950 – I4965 are read-only status I-variables that report configuration information for UMAC accessory boards that contain I/O ICs, such as the Acc-14E, 65E, 66E, and 67E digital I/O boards. The following table shows which variable corresponds to which card: Ident I-var Board DIP Switch 4,3,2,1 Setting1 Board Base Address Board Ident.
Turbo PMAC/PMAC2 Software Reference The Card ID field is a 14-bit value that represents the part number of the board. For Delta Tau boards, this value matches the xxxx in the 60xxxx (decimal) main part number for the board. The Base Address field is a 19-bit value that represents the starting address of the board in the Turbo PMAC’s address space.
Turbo PMAC/PMAC2 Software Reference I5049 Data Gathering Period Range: 0 - 8,388,607 Units: Servo Cycles Default: 1 I5049 controls how often data is logged from source addresses when data gathering is enabled, in units of servo interrupt cycles. If I5049 is set to 0, data is logged only once per data gathering command (singleshot mode). Note: Normally, this parameter is set automatically by the PMAC Executive Program’s gathering and tuning routines.
Turbo PMAC/PMAC2 Software Reference The following table shows the relationship between bits of I5051 and the data gathering source address Ivariables: Bit # Value I-Variable Enabled Bit # Value I-Variable Enabled 0 1 2 3 4 5 6 7 8 9 10 11 $1 $2 $4 $8 $10 $20 $40 $80 $100 $200 $400 $800 I5025 I5026 I5027 I5028 I5029 I5030 I5031 I5032 I5033 I5034 I5035 I5036 12 13 14 15 16 17 18 19 20 21 22 23 $1000 $2000 $4000 $8000 $10000 $20000 $40000 $80000 $100000 $200000 $400000 $800000 I5037 I5038 I5039 I50
Turbo PMAC/PMAC2 Software Reference I5061-I5076 A/D Ring Slot Pointers Range: $000000 - $7FFFFF Units: Turbo PMAC Addresses Default: $0 (specifies address $078800) I5061 through I5076 control which of the multiplexed A/D converters are read in the A/D ring table, as enabled by I5060. These I-variables contain the Turbo PMAC addresses where these ADCs can reside.
Turbo PMAC/PMAC2 Software Reference Each variable I5061 – I5076 is matched with the I-variable numbered 20 higher (e.g. I5081 for I5061) to specify which channel of the muxed A/D-converter is to be used, and how that channel is to be read. Up to 8 of these I-variable pairs must be used to read all 8 channels of a muxed A/D converter – the eight variables in the I5061 – I5076 range will all contain the same address.
Turbo PMAC/PMAC2 Software Reference For the on-board Option 12 & 12A ADCs on a Turbo PMAC2, the m value determines which of the inputs ANAI08 to ANAI15 that come with Option 12A is to be read, and how it is to be converted, according to the following formulas: ; 0 to +5V unipolar input m ANAI #8 ; -2.5V to +2.
Turbo PMAC/PMAC2 Software Reference Isx11 Coordinate System ‘x’ User Countdown Timer 1 Range: -8,388,608 - 8,388,607 Units: servo cycles Default: 0 Isx11 provides an automatic countdown timer for user convenience. If Coordinate System ‘x’ is activated by I68, Isx11 will count down one unit per servo cycle. The user may write to this variable at any time, and it will count down from that value. Typically user software will then wait until the variable is less than another value, usually zero.
Turbo PMAC/PMAC2 Software Reference Isx13 Coordinate System x Segmentation Time Range: 0 - 255 Units: msec Default: 0 Isx13 controls whether Coordinate System x is in segmentation mode or not, and if it is, what the segmentation time is in units of milliseconds.
Turbo PMAC/PMAC2 Software Reference Isx14 Coordinate System ‘x’ End-of-Move Anticipation Time Range: (floating-point) Units: milliseconds Default: 0.0 (disabled) Isx14, if set to a non-zero value, defines the time in relative to the end of a commanded move at which a dedicated timer will reach zero. This can be used to trigger events in anticipation of the end of the move, as in the case of firing a punch.
Turbo PMAC/PMAC2 Software Reference To calculate the value of Isx15 required for a given override value, the following equation can be used: Isx15 = [Override(%) / 100%] – 1.0 The effect of override control with Isx15 is similar to that of override control with Turbo PMAC’s timebase control (%) feature, but there are several important differences.
Turbo PMAC/PMAC2 Software Reference Isx20 Coordinate System x Lookahead Length Range: 0 – 65,535 Units: Isx13 segmentation periods Default: 0 Isx20 controls the enabling of the lookahead buffering function for Coordinate System x, and if enabled, determines how far ahead the buffer will look ahead. If Isx20 is set to 0 (the default), the buffered lookahead function is not used, even if a lookahead buffer has been defined.
Turbo PMAC/PMAC2 Software Reference Isx20 = [4/3] * [400 cts/msec / (2 * 1.0 cts/msec 2 *5 msec/seg)] = 54 segments Isx21 Coordinate System x Lookahead State Control Range: 0 – 15 Units: none Default: 0 Isx21 permits direct control of the state of lookahead execution, without going through Turbo PMAC’s background command interpreter. This is useful for applications such as wire EDM, which can require very quick stops and reversals.
Turbo PMAC/PMAC2 Software Reference is used to compute the starting axis positions on an R (run), S (step), or PMATCH command. The inversekinematic program is used to convert programmed axis positions to motor positions each programmed move or move segment for each motor defined as an inverse-kinematic axis (#xx->I). Motors in the coordinate system not defined as inverse-kinematic axes still use axis-definition equations to convert programmed axis positions to motor positions.
Turbo PMAC/PMAC2 Software Reference Isx78 is expressed in the user length units for the linear axes (usually millimeters or inches) divided by the square of the user “feedrate time units” set by Isx90 for the coordinate system (usually seconds or minutes). Example 1: You want to limit the centripetal acceleration to 1.0g with Isx78. Your length units are millimeters, and your time units are seconds. Isx78 can be calculated as follows: m s 2 * 1000 mm 9800 mm 2 g m s 9.8 Isx78 1.
Turbo PMAC/PMAC2 Software Reference If Isx79 is set to 1, all motors involved in the multi-axis move will be commanded to move at their specified speed. This means that motors with lower distance/speed ratios will finish sooner than those with higher ratios, and the path in a Cartesian system will not be linear in the general case. In both cases, each motor involved in the multi-axis move will use its own acceleration parameters Ixx19 – Ixx21 to calculate its acceleration and deceleration profile.
Turbo PMAC/PMAC2 Software Reference During this automatically inserted dwell time (if greater than 0), a coordinate-system “dwell-in-progress” status bit (Y:$002x40 bit 5, distinct from the motor “dwell-in-progress” status bits from a directly programmed dwell) will be set. Isx83 Coordinate System ‘x’ Corner Blend Break Point Range: -1.0 .. 0.9999 (floating-point) Units: cosine Default: 0.
Turbo PMAC/PMAC2 Software Reference Example: If it is desired that motion in Coordinate System 1 be stopped if the change in directed angle is greater than 30o (included angle less than 150o), then I5183 should be set to 0.866, because cos = cos 30o = 0.866. Isx84 Coordinate System ‘x’ Outside Corner Stop Point Control Range: 0 ..
Turbo PMAC/PMAC2 Software Reference in-position settling and added dwell, until the commanded outgoing move starts, the coordinate-system status bit “sharp corner stop” (Y:$002x40 bit 6) will be set. If the cosine of the change in directed angle at a corner is greater than Isx85 (a small change in directed angle; a gradual corner), Turbo PMAC will not automatically add a dwell.
Turbo PMAC/PMAC2 Software Reference On-line commands FRAX, NOFRAX Motion program commands F, FRAX, NOFRAX Isx87 Coordinate System x Default Program Acceleration Time Range: 0 - 8,388,607 Units: msec Default: 0 (so Isx88 controls) Isx87 sets the default time for commanded acceleration for programmed blended LINEAR and CIRCLE mode moves in Coordinate System x. If global variable I42 is set to 1, it also sets the default time for PVT and SPLINE mode moves.
Turbo PMAC/PMAC2 Software Reference If Isx88 is greater than zero, the acceleration will start at zero and linearly increase through Isx88 time, then stay constant (for time TC) until Isx87-Isx88 time, and linearly decrease to zero at Isx87 time (that is Isx87=2*Isx88 - TC). If Isx88 is equal to Isx87/2, the entire acceleration will be spec in S-curve form (Isx88 values greater than Isx87/2 override the Isx87 value; total acceleration time will be 2*Isx88).
Turbo PMAC/PMAC2 Software Reference the same function for a hardware run command as the B command does for a software run command (R). It is intended primarily for stand-alone Turbo PMAC applications. The first use of a B command from a host computer for this coordinate system overrides this parameter. Isx92 Coordinate System ‘x’ Move Blend Disable Range: 0 .. 1 Units: none Default: 0 Isx92 controls whether programmed moves for Coordinate System ‘x’ are automatically blended or not.
Turbo PMAC/PMAC2 Software Reference Note: Isx93 contains the address of the register that holds the time-base value (it is a pointer to that register). Isx93 does not contain the time-base value itself. Isx94 Coordinate System x Time Base Slew Rate Range: 0 - 8,388,607 Units: 2-23msec / servo cycle Default: 1644 Isx94 controls the rate of change of the time base for Coordinate System x. It effectively works in two slightly different ways, depending on the source of the time base information.
Turbo PMAC/PMAC2 Software Reference slightly larger than twice the radius is given (for a half-circle move), and it is desired that this not create an error condition. Isx96 allows the user to set an error limit on the amount the move distance is greater than twice the radius. If the move distance is greater than 2R, but by less than this limit, the move is done in a spiral fashion to the endpoint, and no error condition is generated.
Turbo PMAC/PMAC2 Software Reference Isx98 Coordinate System x Maximum Feedrate Range: Non-negative floating-point Units: (user position units) / (Isx90 feedrate time units) Default: 1000.0 Isx98 permits a maximum feedrate to be set for a coordinate system, preventing a program from accidentally exceeding a specified value. If Isx98 is greater than 0.0, Turbo PMAC will compare each commanded vector feedrate value from an F command in a motion program to Ix98.
Turbo PMAC/PMAC2 Software Reference Turbo PMAC2 MACRO IC I-Variables I-Variables numbered in the I6800s and I6900s control hardware aspects of the MACRO ICs 0 to 3 of a Turbo PMAC2. These ICs control the operation of the MACRO ring on all PMAC2 boards. MACRO IC 0, a DSPGATE2 IC, also controls operation of the general-purpose I/O and two supplemental servo channels.
Turbo PMAC/PMAC2 Software Reference I6800 (etc.) controls these frequencies by setting the limits of the PWM up-down counter, which increments and decrements at the PWMCLK frequency of 117,964.8 kHz (117.9648 MHz). The PWM frequency of MACRO IC 0 determines the frequency of the two single-phase PWM outputs on the JHW “Handwheel” connector. The actual phase clock frequency is divided down from the maximum phase clock according to the setting of I6801 (etc.).
Turbo PMAC/PMAC2 Software Reference I6801/I6851/I6901/I6951 MACRO IC Phase Clock Frequency Control Range: 0 - 15 Units: none Default: 0 I6801, I6851, I6901, and I6951, in conjunction with I6800, I6850, I6900, and I6950, determine the frequency of the Phase clock generated inside MACRO ICs 0, 1, 2, and 3, respectively.
Turbo PMAC/PMAC2 Software Reference I6802, I6852, I6902, and I6952, in conjunction with I6800 and I6801 (etc.), determine the frequency of the Servo clock generated inside MACRO ICs 0, 1, 2, and 3, respectively. However, the internal clocks on the IC are used only if the clock-direction control I-variable on the IC (I6807 I6857, I6907, or I6957) is set to 0, specifying that this IC uses its own internal clocks.
Turbo PMAC/PMAC2 Software Reference I6803/I6853/I6903/I6953 Range: Units: Default: MACRO IC Hardware Clock Control 0 - 4095 Individual Clock Dividers I6803 = Encoder SCLK Divider + 8 * PFM_CLK Divider + 64 * DAC_CLK Divider + 512 * ADC_CLK Divider where: Encoder SCLK Frequency = 39.3216 MHz / (2 ^ Encoder SCLK Divider) PFM_CLK Frequency = 39.3216 MHz / (2 ^ PFM_CLK Divider) DAC_CLK Frequency = 39.3216 MHz / (2 ^ DAC_CLK Divider) ADC_CLK Frequency = 39.
Turbo PMAC/PMAC2 Software Reference SCLK: The encoder sample clock signal SCLK controls how often the MACRO IC’s digital hardware looks at the encoder and flag inputs. The MACRO IC can take at most one count per SCLK cycle, so the SCLK frequency is the absolute maximum encoder count frequency. SCLK also controls the signal propagation through the digital delay filters for the encoders and flags; the lower the SCLK frequency, the greater the noise pulse that can be filtered out.
Turbo PMAC/PMAC2 Software Reference I6804/I6854/I6904/I6954 Range: Units: Default: MACRO IC PWM Deadtime / PFM Pulse Width Control 0 - 255 16*PWM_CLK cycles / PFM_CLK cycles PWM Deadtime = [16 / PWM_CLK (MHz)] * I6804 = 0.135 usec * I6804 PFM Pulse Width = [1 / PFM_CLK (MHz)] * I6804 = PFM_CLK_period (usec) * I6804 15 PWM Deadtime = 0.135 usec * 15 = 2.03 sec PFM Pulse Width = [1 / 9.8304 MHz] * 15 = 1.
Turbo PMAC/PMAC2 Software Reference I6805, I6855, I6905, and I6955 control the DAC strobe signal for the two supplemental machine interface channels of MACRO ICs 0, 1, 2, and 3, respectively, provided they are DSPGATE2 ICs. The 24-bit word set by this variable for the IC is shifted out serially on the DAC_STROB lines, MSB first, one bit per DAC_CLK cycle starting on the rising edge of the phase clock. The value in the LSB is held until the next phase clock cycle.
Turbo PMAC/PMAC2 Software Reference In any Turbo PMAC2 system, there must be only one source of servo and phase clock signals for the system – either one of the Servo ICs or MACRO ICs, or a source external to the system. Only in a 3Uformat Turbo PMAC2 system (UMAC Turbo or 3U Turbo Stack) can the system clock signals come from an accessory board.
Turbo PMAC/PMAC2 Software Reference I68n0/I69n0 MACRO IC Channel n* Encoder/Timer Decode Control Range: Units: Default: 0 - 15 None 7 Note: This I-variable is only active if the MACRO IC is present, and is a DSPGATE2 IC. The presence and type of MACRO ICs are reported in I4902 and I4903. I68n0 and I69n0 control how the encoder input signal for Channel n* (n* = 1 to 2) on a DSPGATE2 MACRO IC is decoded into counts. For MACRO ICs 0 and 2, n = n*; for MACRO ICs 1 and 3, n = n* + 5 (i.e.
Turbo PMAC/PMAC2 Software Reference If I68n0/I69n0 is set to 8, the decoder inputs the pulse and direction signal generated by Channel n's pulse frequency modulator (PFM) output circuitry. This permits the PMAC2 to create a phantom closed loop when driving an open-loop stepper system. No jumpers or cables are needed to do this; the connection is entirely within the MACRO IC. The counter polarity automatically matches the PFM output polarity.
Turbo PMAC/PMAC2 Software Reference I68n2 and I69n2 determine which input signal or combination of signals, and which polarity, for Channel n* (n* = 1 to 2) on a DSPGATE2 MACRO IC triggers a hardware position capture of the counter for Encoder n*. For MACRO ICs 0 and 2, n = n*; for MACRO ICs 1 and 3, n = n* + 5 (i.e. I6812 controls MACRO IC 0 Channel 1; I6972 controls MACRO IC 3 Channel 2). If a flag input (home, limit, or user) is used, I68n3/I69n3 determines which flag.
Turbo PMAC/PMAC2 Software Reference I68n3 and I69n3 determine which of the Flag inputs will be used for hardware position capture (if one is used) of the encoder counter of Channel n* (n* = 1 to 2) on a DSPGATE2 MACRO IC. For MACRO ICs 0 and 2, n = n*; for MACRO ICs 1 and 3, n = n* + 5 (i.e. I6813 controls MACRO IC 0 Channel 1; I6973 controls MACRO IC 3 Channel 2). I68n2/I69n2 determines whether a flag is used and which polarity of the flag will cause the trigger.
Turbo PMAC/PMAC2 Software Reference Note: By default, the index channels of a DSPGATE2 MACRO IC are not used on a Turbo PMAC2. The index inputs are the “alternate” uses of pins on the multiplexer port. I68n5/I69n5 MACRO IC Channel n* Encoder Index Gate State/Demux Control Range: Units: Default: 0-3 none 0 Note: This I-variable is active only if the MACRO IC is present, and is a DSPGATE2 IC. The presence and type of MACRO ICs are reported in I4902 and I4903.
Turbo PMAC/PMAC2 Software Reference I68n6/I69n6 MACRO IC Channel n* Output Mode Select Range: Units: Default: 0-3 none 0 Note: This I-variable is active only if the MACRO IC is present, and is a DSPGATE2 IC. The presence and type of MACRO ICs are reported in I4902 and I4903. I68n6 and I69n6 control what output formats are used on the command output signal lines for machine interface channel n* (n* = 1 to 2) on a DSPGATE2 MACRO IC. For MACRO ICs 0 and 2, n = n*; for MACRO ICs 1 and 3, n = n* + 5 (i.e.
Turbo PMAC/PMAC2 Software Reference Note: If the high/low polarity of the PWM signals is wrong for a particular amplifier, what was intended to be deadtime between top and bottom on-states as set by I6804 becomes overlap. If the amplifier input circuitry does not lock this out properly, this causes an effective momentary short circuit between bus power and ground. This would destroy the power transistors very quickly.
Turbo PMAC/PMAC2 Software Reference MACRO IC Ring Setup I-variables I6840/I6890/I6940/I6990 MACRO IC Ring Configuration/Status Range: $0000 - $FFFF (0 - 65,535) Units: none Default: 0 I6840, I6890, I6940, and I6990 contain configuration and status bits for MACRO ring operation of MACRO ICs 0, 1, 2, and 3, respectively, on the Turbo PMAC2.
Turbo PMAC/PMAC2 Software Reference I6841/I6891/I6941/I6991 MACRO IC Node Activate Control Range: $000000 to $FFFFFF (0 to 8,388,607) Units: none Default: $0 (all nodes de-activated) I6841, I6891, I6941, and I6991 control which of the 16 MACRO nodes on MACRO ICs 0, 1, 2, and 3, respectively, are activated. They also control the master station number of the IC, and the node number of the packet that creates a synchronization signal.
Turbo PMAC/PMAC2 Software Reference Bits 16-19 together specify the slave number part of the packet address (0-15) that will cause a sync lock pulse on the card, if this function is enabled by I6890/I6940/I6990. This function is useful for a PMAC2 that is a slave or non-synchronizing master on the ring, to keep it locked to the synchronizing master. If the master address check for this node is disabled with I6890/I6940/I6990, only the slave number must match to create the sync lock pulse.
Turbo PMAC/PMAC2 Software Reference Each Servo IC has four channels of servo interface circuitry, numbered IC channels 1 to 4. In the Ivariable numbering scheme, the IC channel number determines the 10’s digit of the I-variable number, represented by the letter ‘n’ to refer to any channel generally (e.g. I7mn3). For even-numbered Servo ICs 0, 2, 4, 6, and 8, the channel numbers 1 – 4 on the IC match the channel numbers 1 – 4 on the board.
Turbo PMAC/PMAC2 Software Reference On Turbo PMAC2 boards that are not Ultralite, Servo IC 0 typically provides the Phase and Servo clock signals for the entire board (I7007 = 0), so I7000 is used to derive the Phase clock and Servo clock frequencies for the board, along with I7001 and I7002. (On Turbo PMAC2 Ultralite boards, this function is controlled by I6800, I6801, and I6802, because MACRO IC 0 controls the board clock frequencies on these boards.
Turbo PMAC/PMAC2 Software Reference I7m01 Servo IC m Phase Clock Frequency Control Range: Units: Default: 0 - 15 Phase Clock Frequency = MaxPhase Frequency / (I7m01+1) 0 Phase Clock Frequency = 9.0346 kHz / 1 = 9.0346 kHz (with default value of I7m00) I7m01, in conjunction with I7m00, determines the frequency of the Phase clock generated inside each PMAC2-style Servo IC m.
Turbo PMAC/PMAC2 Software Reference This means that I7002, in conjunction with I7001 and I7000, controls the Servo clock frequency for the entire Turbo PMAC2 system. (For Turbo PMAC2 Ultralite boards, I6802, I6801 and I6800 control this.) Each cycle of the Servo clock, Turbo PMAC2 updates the commanded position for each activated motor, and executes the servo algorithm to compute the command to the amplifier or the commutation algorithm.
Turbo PMAC/PMAC2 Software Reference I7m03 Servo IC m Hardware Clock Control Range: Units: 0 - 4095 Individual Clock Dividers I7m03 = Encoder SCLK Divider + 8 * PFM_CLK Divider + 64 * DAC_CLK Divider + 512 * ADC_CLK Divider where: Encoder SCLK Frequency = 39.3216 MHz / (2 ^ Encoder SCLK Divider) PFM_CLK Frequency = 39.3216 MHz / (2 ^ PFM_CLK Divider) DAC_CLK Frequency = 39.3216 MHz / (2 ^ DAC_CLK Divider) ADC_CLK Frequency = 39.
Turbo PMAC/PMAC2 Software Reference To determine the clock frequencies set by a given value of I7m03, use the following procedure: 1. Divide I7m03 by 512 and round down to the nearest integer. This value N1 is the ADC_CLK divider. 2. Multiply N1 by 512 and subtract the product from I7m03 to get I7m03'. Divide I7m03' by 64 and round down to the nearest integer. This value N2 is the DAC_CLK divider. 3. Multiply N2 by 64 and subtract the product from I7m03' to get I7m03''.
Turbo PMAC/PMAC2 Software Reference The PFM pulse width is specified in PFM_CLK cycles, as defined by I7m03. The equation for I7m04 as a function of PFM pulse width and PFM_CLK frequency is: I 7 m04 PFM _ CLK _ Freq( MHz ) * PFM _ Pulse _ Width( sec) + 1 In PFM pulse generation, the minimum off time between pulses is equal to the pulse width.
Turbo PMAC/PMAC2 Software Reference The first 1 creates a rising edge on the ADC_STROB output that is typically used as a start-convert signal. Some A/D converters just need this rising edge for the conversion; others need the signal to stay high all of the way through the conversion. The LSB of I7m06 should always be set to 0 so that a rising edge is created on the next cycle. The default I7m06 value of $FFFFFE is suitable for virtually all A/D converters.
Turbo PMAC/PMAC2 Software Reference In other Turbo PMAC2 systems, to change which IC is the source of the system clocks, it is best to change both clock-direction I-variables on a single command line (e.g. I6807=1 I7007=0), then SAVE these new settings. If all of the Servo and MACRO ICs in a Turbo PMAC2 system have been set up for external Phase and Servo clocks, but these clock signals are not provided, the Turbo PMAC2 will immediately trip its watchdog timer.
Turbo PMAC/PMAC2 Software Reference In the pulse-and-direction decode modes, the Servo IC is expecting the pulse train on CHAn, and the direction (sign) signal on CHBn. If the signal is unidirectional, the CHBn line can be allowed to pull up to a high state, or it can be hardwired to a high or low state. If I7mn0 is set to 8, the decoder inputs the pulse and direction signal generated by Channel n's pulse frequency modulator (PFM) output circuitry.
Turbo PMAC/PMAC2 Software Reference I7mn2 = 3: Capture on (Index high AND Flag n high) I7mn2 = 4: Immediate capture I7mn2 = 5: Capture on Index (CHCn) low I7mn2 = 6: Capture on Flag n high I7mn2 = 7: Capture on (Index low AND Flag n high) I7mn2 = 8: Immediate capture I7mn2 = 9: Capture on Index (CHCn) high I7mn2 = 10: Capture on Flag n low I7mn2 = 11: Capture on (Index high AND Flag n low) I7mn2 = 12: Immediate capture I7mn2 = 13: Capture on Index (CHCn) low I7mn2 = 14: Capture on
Turbo PMAC/PMAC2 Software Reference When I7mn4 is set to 0, the encoder index channel input (CHCn) is passed directly into the position capture circuitry. When I7mn4 is set to 1, the encoder index channel input (CHCn) is logically combined with (gated by) the quadrature signals of Encoder n before going to the position capture circuitry. The intent is to get a gated index signal exactly one quadrature state wide.
Turbo PMAC/PMAC2 Software Reference Note: Immediately after power-up, the Yaskawa encoder automatically cycles its AB outputs forward and back through a full quadrature cycle to ensure that all of the hall commutation states are available to the controller before any movement is started. However, if the encoder is powered up at the same time as the Turbo PMAC, this will happen before the Servo IC is ready to accept these signals.
Turbo PMAC/PMAC2 Software Reference Note: If the high/low polarity of the PWM signals is wrong for a particular amplifier, what was intended to be deadtime between top and bottom on states, as set by I6m04 becomes overlap. If the amplifier-input circuitry does not lock this out properly, this causes an effective momentary short circuit between bus power and ground. This would destroy the power transistors very quickly.
Turbo PMAC/PMAC2 Software Reference When the hardware-1/T functionality is enabled, the IC computes a new fractional-count position estimate based on timers every SCLK (encoder sample clock) cycle. This permits the fractional count data to be used for hardware capture and compare functions, enhancing their resolution. The sub-count positioncapture data can be used automatically in Turbo PMAC triggered-move functions if bit 12 of Ixx24 is set to 1.
Turbo PMAC/PMAC2 Software Reference The following settings may be used in timer mode: I7mn0 = 8: Timer counting up at SCLK/10 I7mn0 = 9: Timer counting up at SCLK/10 I7mn0 = 10: Timer counting up at SCLK/5 I7mn0 = 11: Timer counting up at SCLK/2.5 I7mn0 = 12: Timer counting down at SCLK/10 I7mn0 = 13: Timer counting down at SCLK/10 I7mn0 = 14: Timer counting down at SCLK/5 I7mn0 = 15: Timer counting down at SCLK/2.
Turbo PMAC/PMAC2 Software Reference I7mn2 = 3: Capture on (Index high AND Flag n high) I7mn2 = 4: Software control – triggered I7mn2 = 5: Capture on Index (CHCn) low I7mn2 = 6: Capture on Flag n high I7mn2 = 7: Capture on (Index low AND Flag n high) I7mn2 = 8: Software control – armed I7mn2 = 9: Capture on Index (CHCn) high I7mn2 = 10: Capture on Flag n low I7mn2 = 11: Capture on (Index high AND Flag n low) I7mn2 = 12: Software control – triggered I7mn2 = 13: Capture on Index (CHC
Turbo PMAC/PMAC2 Software Reference Conversion Table I-Variables I8000 - I8191 Conversion Table Setup Lines Range: $000000 - $FFFFFF Units: Modified Turbo PMAC Addresses Defaults: Turbo PMAC Defaults I-Var. Setting Meaning I8000 $078000 I8001 $078004 I8002 $078008 I8003 $07800C Note: I8008 - I8191 = 0 I-Var.
Turbo PMAC/PMAC2 Software Reference The following table shows the address of each ECT I-variable.
Turbo PMAC/PMAC2 Software Reference Table Structure: The ECT consists of a series of entries, with each entry creating one processed (converted) feedback value. An entry in the ECT can have 1, 2, or 3 lines, with each line containing a 24bit setup word (I-variable) in Y-memory, and a 24-bit result register in X-memory. Therefore, each entry contains 1, 2, or 3 of these 24-bit I-variables. The final result is always in the X-memory register matching the last I-variable in the entry.
Turbo PMAC/PMAC2 Software Reference $A $B $C $D 2 2 1 3/5 Triggered Time Base, running 0 = PMAC(1) IC Triggered Time Base, armed 0 = PMAC(1) IC Incremental Encoder, no or HW 1/T extension 0 = No Extension Low-pass filter of parallel data 0 = Exponential filter 1 = PMAC2 IC 1 = PMAC2 IC Time Base Scale Factor - Time Base Scale Factor - - - Max Change per Cycle Filter Gain (Inverse Time Constant); 1= HW 1/T Ext 1 = Tracking Filter (5) Integral Gain $E 1 Sum or difference of ent
Turbo PMAC/PMAC2 Software Reference switch bit of the setup I-variable is set to 1 for PMAC2-style Servo ICs, or of the specified address plus four (CHC[n+1], HMFL[n+1], +LIM[n+1], -LIM[n+1], FAULT[n+1]) if the mode switch bit of the setup I-variable is set to 0 for PMAC-style Servo ICs. This technique is known as “parallel extension”, and can be used with an analog incremental encoder processed through an Acc-8D Option 8 Analog Encoder Interpolator board or its equivalent.
Turbo PMAC/PMAC2 Software Reference 6 7 8 9 $mnA200 $mnA300 $mnB200 $mnB300 $mnA208 $mnA308 $mnB208 $mnB308 $mnA210 $mnA310 $mnB210 $mnB310 $mnA218 $mnA318 $mnB218 $mnB318 Fifth Acc-24E2x, first IC on third Acc-24P/V2 Sixth Acc-24E2x, second IC on third Acc-24P/V2 Seventh Acc-24E2x, first IC on fourth Acc-24P/V2 Eighth Acc-24E2x, second IC on fourth Acc-24P/V2 Entries for PMAC2 MACRO IC 0: Handwheel Channel # Channel 1 Channel 2 PMAC2 $mn8410 $mn8418 These are single-line entries in the table, so t
Turbo PMAC/PMAC2 Software Reference The next table shows the entry values that should be used for Acc-28B boards interfaced to PMAC2-style Servo ICs (Acc-28A is not compatible with these ICs). The ‘m’ in the first hex digit refers to the method digit – $1 for un-integrated; $5 for integrated. Note that setting the bit 19 mode switch bit to 1 for the Acc-28B changes the second hex digit from 7 to F.
Turbo PMAC/PMAC2 Software Reference Parallel Feedback Entries ($2, $3, $6, $7): The parallel feedback entries read a word from the address specified in the low 19 bits (bits 0 to 18) of the first line.
Turbo PMAC/PMAC2 Software Reference Second Acc-14D/V Port B Third Acc-14D/V Port A Third Acc-14D/V Port B $m78B01 $m78C00 $m78C01 Fifth Acc-14D/V Port B Sixth Acc-14D/V Port A Sixth Acc-14D/V Port B $m78E01 $m78F00 $m78F01 MACRO Position Feedback: When position feedback is received through the MACRO ring, the MACRO input registers are treated as parallel-data feedback. The following table shows the first line of the entries for MACRO position feedback registers.
Turbo PMAC/PMAC2 Software Reference Note: The bit 19 mode switch has been set to 1 so that the data out of the previous phase position register from the MACRO ring is not shifted. This changes the second hex digit from 0 to 8. Type 1 MACRO feedback comes with fractional count information in the low five bits, so it does not need to be shifted. The second line of an entry for previous phase position feedback should be $018000 to specify the use of 24 bits ($018) starting at bit 0 ($000).
Turbo PMAC/PMAC2 Software Reference encoder conversion table. For example, to use the result of the fourth line of the conversion table as a source, this I-variable would be $403504. The second setup line (I-variable) is the “time-base scale factor” which multiplies the differentiated source value. The final result value equals 2 * Time-Base-Scale-Factor * (New Source Value - Old Source Value).
Turbo PMAC/PMAC2 Software Reference A triggered time-base entry in Turbo PMAC automatically computes the 1/T count extension of the input frequency itself before the differentiation. It computes this to 1/256 of a count. This is compared to the 1/32 of a count that the separate 1/T encoder extension uses. The extra fractional information can reduce the quantization noise created by the differentiation and provide smoother operation under external time base.
Turbo PMAC/PMAC2 Software Reference Triggered Time-Base Entries for PMAC-Style Servo ICs (Running State) Servo Chan. 1 Chan. 2 Chan. 3 Chan.
Turbo PMAC/PMAC2 Software Reference Low-Pass Filter Entries ($D): The $D entry is used to create one of two types of low-pass filters on a word of input data to provide smoothing of noisy measurements. The two types of filter are distinguished by bit 19 of the first setup line of the entry. If the bit-19 mode-switch bit is 0, typically making the second hex digit $0, the filter is a simple exponential filter.
Turbo PMAC/PMAC2 Software Reference in one servo cycle to 64 counts with an input register in units of 1/32 count, this third line would be 64*32 = 2048. Filter Gain Word: The third setup line (I-variable) of an exponential filter entry contains the filter gain value K, which sets a filter time constant Tf of (223/K)-1 servo cycles. Therefore, the gain value K can be set as 223/(Tf+1). For example, to set a filter time constant of 7 servo cycles, the filter gain word would be 8,388,608/(7+1) = 1,048,576.
Turbo PMAC/PMAC2 Software Reference Reserved Setup Word: The fourth setup line (I-variable) of a tracking filter entry is reserved for future use. It is not presently used, and can be set to 0. Filter Integral Gain Word: The fifth setup line (I-variable) of a tracking filter entry contains the filter integral gain value Ki, which determines how quickly the integrated error contributes to the filter output. Each servo cycle, the amount (Ki/223) * Err(n) is added to the integrator and to the filter output.
Turbo PMAC/PMAC2 Software Reference Extended Entries ($F): Encoder conversion table entries in which the first hex digit of the first line is $F are extended entries. In these entries, the actual method is dependent on the first digit of the second line. Extended entries are a minimum of two lines.
Turbo PMAC/PMAC2 Software Reference Note that by setting the bit-19 mode switch to 1, the second hex digit changes from “7” to “F”. A/D Converter Address: The second setup line (I-variable) of the entry contains $0 in the first hex digit and the base address of the first of two A/D converters to be read in the low 19 bits (bits 0 to 18). The second A/D converter will be read at the next higher address.
Turbo PMAC/PMAC2 Software Reference Each 12-bit bias-correction term should contain the value opposite that which the high 12 bits of the matching A/D converter report when they should ideally report zero. In action, the bias term will be added to the high 12 bits of the corresponding ADC reading before subsequent calculations are done.
Turbo PMAC/PMAC2 Software Reference High-Res Interpolator Diagnostic Entry First Lines for PMAC(1)-Style Servo ICs Servo IC # Channel 1 Channel 2 Channel 3 Channel 4 2 $F78202 $F78206 $F7820A $F7820E 3 $F78302 $F78306 $F7830A $F7830E 4 $F79202 $F79206 $F7920A $F7920E 5 $F79302 $F79306 $F7930A $F7930E 6 $F7A202 $F7A206 $F7A20A $F7A20E 7 $F7A302 $F7A306 $F7A30A $F7A30E 8 $F7B202 $F7B206 $F7B20A $F7B20E 9 $F7B302 $F7B306 $F7B30A $F7B30E The following table shows th
Turbo PMAC/PMAC2 Software Reference Active Bias Correction Setup Word: The third setup line (I-variable) of the five-line entry contains the sine and cosine bias terms that are used in the sum-of-squares calculations. Two signed 12-bit bias terms are combined in a 24-bit word. The sine bias-correction term is in the high 12 bits (bits 12 – 23); the cosine bias-correction term is in the low 12 bits (bits 0 – 11). These terms match the high 12 bits from the corresponding A/D converters.
Turbo PMAC/PMAC2 Software Reference interpolator diagnostic entry for confirmation of its effect, and to the third line of the interpolator feedback entry, or the resolver feedback entry, for actual use. The sine bias-correction term is in the high 12 bits (bits 12 – 23); the cosine bias-correction term is in the low 12 bits (bits 0 – 11).
Turbo PMAC/PMAC2 Software Reference The final digit, represented by an x in both of these tables, can take a value of 0 to 5, depending on which I/O point on the board is used for the LSB: x=0: I/O00-07 I/O48-55 I/O96-103 x=1: I/O08-15 I/O56-63 I/O104-111 x=2: I/O16-23 I/O64-71 I/O112-119 x=3: I/O24-31 I/O72-79 I/O120-127 x=4: I/O32-39 I/O80-87 I/O128-135 x=5: I/O40-47 I/O88-95 I/O136-143 Width/Offset Word: The second setup line (I-variable) of this parallel read entry contains information abou
Turbo PMAC/PMAC2 Software Reference Excitation Address Setup Word: The second setup line in a resolver conversion entry contains $4 in the first hex digit, and the Y-address of the excitation value register in the low 19 bits (bits 0 – 18), used to correlate the excitation and the feedback values. Multiple resolver channels can use the same excitation register.
Turbo PMAC/PMAC2 Software Reference TURBO PMAC ON-LINE COMMAND SPECIFICATION Function: Abort all programs and moves Scope: Global Syntax: ASCII value 1D, $01 This command causes all closed-loop motors in Turbo PMAC to begin immediately to decelerate to a stop, aborting any currently running motion programs. It also brings any open-loop enabled motors to an enabled zero-velocity closed-loop state at the present position.
Turbo PMAC/PMAC2 Software Reference motors, with the characters for each motor separated by spaces. The characters reported for each motor are the same as if the ? command had been issued for that motor. The set of eight motors whose data is reported is selected by the most recent ##{constant} value for this port: ##0: Motors 1 – 8 (default) ##1: Motors 9 – 16 ##2: Motors 17 – 24 ##3: Motors 25 – 32 The detailed meanings of the individual status bits are shown under the ? command description.
Turbo PMAC/PMAC2 Software Reference Function: Disable all PLC programs. Scope: Global Syntax: ASCII Value 4D; $04 This command causes all PLC programs to be disabled (i.e. stop executing). This is the equivalent of DISABLE PLC 0..31 and DISABLE PLCC 0..31. It is especially useful if a CMD or SEND statement in a PLC has run amok. For multiple cards on a single serial daisy-chain, this command affects all cards on the chain, regardless of the current software addressing.
Turbo PMAC/PMAC2 Software Reference Function: Report following errors for 8 motors. Scope: Global. Syntax: ASCII Value 6D; $06 This command causes Turbo PMAC to report the following errors of a set of 8 motors to the host. The errors are reported in an ASCII string, each error scaled in counts, rounded to the nearest tenth of a count. A space character is returned between the reported errors for each motor.
Turbo PMAC/PMAC2 Software Reference Function: Scope: Syntax: Erase last character. Port specific ASCII Value 8D; $08 (). This character, usually entered by typing the key when talking to Turbo PMAC in terminal mode, causes the most recently entered character in Turbo PMAC's command-line-receive buffer for this port to be erased. See Also: Talking to Turbo PMAC On-line command (Feed Hold All) Function: Scope: Syntax: Repeat last command line.
Turbo PMAC/PMAC2 Software Reference For multiple cards on a single serial daisy-chain, this command affects all cards on the chain, regardless of the current software addressing. See Also: On-line commands K, A, . Function: Enter command line.
Turbo PMAC/PMAC2 Software Reference Turbo PMAC sends: Host sends: ......... Turbo PMAC sends: <121dec> (121 = 74[J] + 47[/]; correct) <121dec> (handshake & checksum again) See Also: Communications Checksum (Writing a Host Communications Program) I-variables I3, I4 On-line commands (), Function: Feed hold on all coordinate systems. Scope: Global Syntax: ASCII Value 15D; $0F This command causes all coordinate systems in Turbo PMAC to undergo a feed hold.
Turbo PMAC/PMAC2 Software Reference For multiple cards on a single serial daisy-chain, this command affects only the card currently addressed in software (by the @n command). Example: 9999.5 10001.2 5.7 -2.1 0 0 0 0 See Also: On-line commands ##, ##{constant}, P, , . Function: Quit all executing motion programs.
Turbo PMAC/PMAC2 Software Reference Each active coordinate system (i.e. one that has at least one motor assigned to it) that is to run a program must already be pointing to a motion program (initially this is done with a B{prog num} command). A program that is not running will execute all lines down to and including the next motion command (move or dwell), or if it encounters a BLOCKSTART command first, all lines down to and including the next BLOCKSTOP command.
Turbo PMAC/PMAC2 Software Reference The set of eight motors whose data is reported is selected by the most recent ##{constant} value for this port: ##0: Motors 1 – 8 (default) ##1: Motors 9 – 16 ##2: Motors 17 – 24 ##3: Motors 25 – 32 This command returns filtered velocity values, with the filter time constant controlled by global variables I60 and I61. It does not report the raw velocity register calculated by the servo loop each servo cycle.
Turbo PMAC/PMAC2 Software Reference !{axis}{constant}[{axis}{constant}…] Function: Alter destination of RAPID move Scope: Coordinate-system specific Syntax: !{axis}{constant}[{axis}{constant}…] where: {axis} is the letter specifying which axis (X, Y, Z, A, B, C, U, V, W); {constant} is a numerical value representing the end position; [{axis}{constant}…] is the optional specification of simultaneous movement for more axes.
Turbo PMAC/PMAC2 Software Reference This command causes the addressed Turbo PMAC on a serial daisy-chain to report its number to the host. The number is set by variable I0 on the board, and can range from 0 to 15. If all cards are addressed, card @0 will return an @ character. I1 must be set to 2 or 3 for this command to be accepted. Otherwise, ERR003 is reported.
Turbo PMAC/PMAC2 Software Reference # Function: Report port’s currently addressed motor Scope: Port specific Syntax: # This command causes Turbo PMAC to return the number of the motor currently addressed for the communications port over which this command is sent. This is the motor that will act on subsequent motor-specific commands sent over this port until a different motor is addressed with a #{constant} command.
Turbo PMAC/PMAC2 Software Reference Example: #1J+ J#2J+ J/ ; Command Motor 1 to jog positive ; Command Motor 1 to jog negative ; Command Motor 2 to jog positive ; Command Motor 2 to stop jogging See Also: Control-Panel Port Inputs (Connecting Turbo PMAC to the Machine) Addressing commands (Talking to Turbo PMAC) Program commands COMMAND, ADDRESS On-line commands #, &, &{constant}, @{constant} #{constant}-> Function: Scope: Syntax: Report the specified motor's coordinate system axis definition.
Turbo PMAC/PMAC2 Software Reference system, this command will not be effective. This allows the motor to be redefined to another axis in this coordinate system or a different coordinate system. Compare this command to UNDEFINE, which erases all the axis definitions in the addressed coordinate system, and to UNDEFINE ALL, which erases all the axis definitions in all coordinate systems.
Turbo PMAC/PMAC2 Software Reference If the specified motor is currently assigned to an axis in a different coordinate system, Turbo PMAC will reject this command (reporting an ERR003 if I6=1 or 3). If the specified motor is currently assigned to an axis in the addressed coordinate system, the old definition will be overwritten by this new one. To undo a motor's axis definition, address the coordinate system in which it has been defined, and use the command #{constant}->0.
Turbo PMAC/PMAC2 Software Reference At the end of each execution of the inverse-kinematic program for the coordinate system, Turbo PMAC expects to find the motor position calculated by the program for each Motor xx in the coordinate system defined as an inverse-kinematic axis in variable Pxx (e.g. P13 for Motor 13).
Turbo PMAC/PMAC2 Software Reference The possible versions of the ##{constant} command and the motors they select are: ##0: ##1: ##2: ##3: Motors 1 – 8 Motors 9 – 16 Motors 17 – 24 Motors 25 – 32 Note: In Turbo PMAC firmware versions 1.934 and older, this function was controlled commonly for all ports by global I-variable I59.
Turbo PMAC/PMAC2 Software Reference If another command to move the motor is issued while the phase reference is still in progress, that command will be rejected, with Turbo PMAC reporting ERR018 if I6 is set to 1 or 3. The phase reference in progress status bit is set to 1 while the reference is being done.
Turbo PMAC/PMAC2 Software Reference $$$ Function: Scope: Syntax: Full card reset. Global $$$ This command causes Turbo PMAC to do a full card reset. The effect of $$$ is equivalent to that of cycling power on Turbo PMAC, or taking the INIT/ line low, then high. With the re-initialization jumper (E51 on a Turbo PMAC, E3 on a Turbo PMAC2) OFF, this command does a standard reset of the Turbo PMAC.
Turbo PMAC/PMAC2 Software Reference M-variable definitions, P-variable values, Q-variable values, and axis definitions are not affected by this command. They can be cleared by separate commands (e.g. M0..8191->*, P0..8191=0, Q0..8191=0, UNDEFINE ALL). This command is particularly useful if the program buffers have become corrupted. It clears the buffers and buffer pointers so the files can be re-sent to Turbo PMAC.
Turbo PMAC/PMAC2 Software Reference The motor home complete status bit is cleared. The motor position bias register, which contains the difference between motor and axis zero positions, is set to 0. If Ixx10 for the motor is greater than 0, specifying an absolute position read, the sensor is read as specified by Ixx10 and Ixx95 to set the motor actual position. The actual position value is set to the sum of the sensor value and the Ixx26 “home offset” parameter.
Turbo PMAC/PMAC2 Software Reference See Also: Time-Base Control (Synchronizing Turbo PMAC to External Events) I-Variables I10, Isx93, Isx94, Isx95 On-line commands %{constant}, H %{constant} Function: Set the addressed coordinate system's feedrate override value.
Turbo PMAC/PMAC2 Software Reference individually modally address a coordinate system using the ADDRESS statement for subsequent COMMAND statements, and the hardware control panel on a Turbo PMAC can separately select a coordinate system for its hardware inputs. Note: In firmware versions 1.934 and older, all communications ports addressed the same coordinate system, so an &{constant} command sent over any port set the addressed coordinate system for all ports. Example: & 4 ; Ask Turbo PMAC which C.S.
Turbo PMAC/PMAC2 Software Reference \ Function: Quick Stop in Lookahead / Feed Hold Scope: Coordinate-system specific Syntax: \ This command causes the Turbo PMAC to calculate and execute the quickest stop within the lookahead buffer for the addressed coordinate system that does not violate acceleration constraints for any motor within the coordinate system. Motion will continue to a controlled stop along the programmed path, but the stop will not necessarily be at a programmed point.
Turbo PMAC/PMAC2 Software Reference The \ quick-stop command is given, which causes Turbo PMAC to come to the quickest possible stop in the lookahead buffer. The > resume-forward, R run, or S step command is given, which causes Turbo PMAC to resume normal forward execution of the program, adding to the lookahead buffer as necessary. An error condition occurs, or a non-recoverable stopping command is given.
Turbo PMAC/PMAC2 Software Reference This command causes PMAC to halt the execution of the motion program running in the currently addressed coordinate system at the end of the currently executing move, provided the coordinate system is in segmentation mode (Isx13 > 0). If the coordinate system is not in segmentation mode (Isx13 = 0), the / end-block command has the same effect as the Q or S command.
Turbo PMAC/PMAC2 Software Reference Second character returned: Bit 19 Amplifier Enabled: This bit is 1 when the outputs for this motor's amplifier are enabled, either in open loop or closed-loop mode (refer to Open-Loop Mode status bit to distinguish between the two cases). It is 0 when the outputs are disabled (killed). Bit 18 Open Loop Mode: This bit is 1 when the servo loop for the motor is open, either with outputs enabled or disabled (killed).
Turbo PMAC/PMAC2 Software Reference Bit 5 Following Offset Mode: This bit is 1 when Ixx06 bit 1 is 1 and position following is executed in “offset mode”, in which the motor’s programming reference position moves with the following. This bit is 0 when Ixx06 bit 1 is 0 and position following is executed in “normal mode”, in which the motor’s programming reference does not move with the following.
Turbo PMAC/PMAC2 Software Reference any move, DWELL, or DELAY), and the magnitude of the following error is smaller than Ixx28. It is 0 otherwise. Bit 12 Stopped on Desired Position Limit: This bit is 1 if the motor has stopped because the desired position has exceeded the software overtravel limit parameters (Ixx24 bit 15 must be 1 to enable this function). It is 0 otherwise.
Turbo PMAC/PMAC2 Software Reference other times, changing from 1 to 0 when the motor's following error reduces to under the limit, or if killed, is re-enabled.
Turbo PMAC/PMAC2 Software Reference Bit 17 W-Axis Used in Feedrate Calculations: (See bit 23 description.) Bit 16 W-Axis Incremental Mode: (See bit 22 description.) Third character returned: Bit 15 V-Axis Used in Feedrate Calculations: (See bit 23 description.) Bit 14 V-Axis Incremental Mode: (See bit 22 description.) Bit 13 U-Axis Used in Feedrate Calculations: (See bit 23 description.) Bit 12 U-Axis Incremental Mode: (See bit 22 description.
Turbo PMAC/PMAC2 Software Reference Bit 20 Amplifier Fault Error: This bit is 1 when any motor in the coordinate system has been killed due to receiving an amplifier fault signal. It is 0 at other times, changing from 1 to 0 when the offending motor is re-enabled. Eighth character returned: Bit 19 Fatal Following Error: This bit is 1 when any motor in the coordinate system has been killed due to exceeding its fatal following error limit (Ixx11). It is 0 at other times.
Turbo PMAC/PMAC2 Software Reference mode.) This bit is 0 if the coordinate system is in a different move mode (LINEAR, CIRCLE, or RAPID). See the table below. Twelfth character returned: Bit 3 2D Cutter Comp Left/3D Cutter Comp On: With bit 2 equal to 1, this bit is 1 if the coordinate system has 2D cutter compensation on, compensating to the left when looking in the direction of motion. It is 0 if 2D compensation is to the right.
Turbo PMAC/PMAC2 Software Reference Bit 13 Lookahead Buffer Flush: This bit is 1 if the lookahead buffer is executing segments but not adding any new segments. It is 0 otherwise. Bit 12 Lookahead Buffer Last Move: This bit is 1 if the last programmed move in the buffer has reached speed. It is 0 otherwise. Sixteenth character returned: (Bits 8 – 11 form variable Isx21.
Turbo PMAC/PMAC2 Software Reference ??? Function: Report global status words Scope: Global Syntax: ??? This command causes Turbo PMAC to return the global status bits in ASCII hexadecimal form. Turbo PMAC returns twelve characters, representing two status words. Each character represents four status bits. The first character represents Bits 20-23 of the first word, the second shows Bits 16-19; and so on, to the sixth character representing Bits 0-3.
Turbo PMAC/PMAC2 Software Reference Bit 9 Real-Time Interrupt Warning: This bit is 1 if a real-time interrupt task (motion program or PLC 0) has taken more than one interrupt period – a possible sign of CPU loading problems. It is 0 otherwise. Bit 8 Illegal L-Variable Definition: This bit is 1 if a compiled PLC has failed because it used an Lvariable pointer that accessed an illegal M-variable definition. It is 0 otherwise.
Turbo PMAC/PMAC2 Software Reference Ninth character returned: Bits 14-15 Kinematics Active: (For internal use) Bit 13 Ring-Master-to-Master Communications: (For internal use) Bit 12 Master-to-Ring-Master Communications: (For internal use) Tenth character returned: Bit 11 Fixed Buffer Full: This bit is 1 when no fixed motion (PROG) or PLC buffers are open, or when one is open but there are less than I18 words available. It is 0 when one of these buffers is open and there are more than I18 words available.
Turbo PMAC/PMAC2 Software Reference This command causes all closed-loop motors defined in the addressed coordinate system to begin immediately to decelerate to a stop, aborting the currently running motion program (if any). It also brings any open-loop enabled motors in the coordinate system to an enabled zero-velocity closed-loop state at the present position.
Turbo PMAC/PMAC2 Software Reference It brings the commanded trajectories of all motors in the coordinate system to stop at the rate set by Ixx15 for each motor. It points the coordinate system’s program counter to a specific location in that program or another program. If stopping and resuming the rotary motion program buffer, it immediately clears the rotary buffer of unexecuted lines.
Turbo PMAC/PMAC2 Software Reference Circular Moves (Writing and Executing Motion Programs) On-line command INC Program commands ABS, INC {axis}={constant} Function: Re-define the specified axis position.
Turbo PMAC/PMAC2 Software Reference B{constant} Function: Point the addressed coordinate system to a motion program. Scope: Coordinate-system specific Syntax: B{constant} where: {constant} is a floating point value from 0.0 to 32767.99999 representing the program and location to point the coordinate system to; with the integer part representing the program number, and the fractional part multiplied by 100,000 representing the line label (zero fractional part means the top of the program).
Turbo PMAC/PMAC2 Software Reference See Also: On-line commands DATE, VERSION CID Function: Report card ID or part number. Scope: Global Syntax: CID This command causes Turbo PMAC to return the card’s part number. This can be used to confirm exactly which type of Turbo PMAC is being used.
Turbo PMAC/PMAC2 Software Reference See Also: Program Buffers (Talking to Turbo PMAC) On-line commands OPEN, CLOSE, DELETE.
Turbo PMAC/PMAC2 Software Reference Note: Prior to V1.936 firmware, an open buffer could be accessed from any port, and the CLOSE command could be used on one port to close a buffer that had been opened on another port. Starting in V1.936, if a CLOSE command could only be used to close a buffer opened from the same port. The CLOSE command should be used immediately after the entry of a motion, PLC, rotary, etc. buffer.
Turbo PMAC/PMAC2 Software Reference CLRF Function: Clear faults on MACRO ring Scope: Global Syntax: CLRF The CLRF command causes Turbo PMAC to send a command over the MACRO ring to clear any faults on slave MACRO devices. The command is sent as a ring broadcast over Node 14 to all stations on the MACRO ring. It is the “global” equivalent of the station-specific MS CLRFn command. It should only be sent by the synchronizing master on the ring.
Turbo PMAC/PMAC2 Software Reference See Also: On-line commands DEFINE BLCOMP, DEFINE COMP, DEFINE TCOMP, P{constant}={expression} CPU Function: Report the Turbo PMAC CPU type. Scope: Global Syntax: CPU This command causes Turbo PMAC to report the part number of the CPU used on the board. It is mainly used for troubleshooting purposes.
Turbo PMAC/PMAC2 Software Reference This command establishes a backlash compensation table for the addressed motor. The next {entries} constants sent to Turbo PMAC will be placed into this table. The last item on the command line {count length}, specifies the span of the backlash table in encoder counts of the motor. In use, if the motor position goes outside of the range 0 to count-length, the position is rolled over to within this range before the compensation is computed.
Turbo PMAC/PMAC2 Software Reference perpendicular moves that may be executed between two moves with a component in the plane of compensation. Once this buffer is defined, its use is automatic and invisible to the user. If the number of consecutive moves perpendicular to the plane of compensation exceeds this buffer size, Turbo PMAC will assume that the incoming and outgoing moves to this point in the plane of compensation form an outside corner.
Turbo PMAC/PMAC2 Software Reference Note: Turbo PMAC will reject this command, reporting an ERR003 if I6=1 or 3, if any COMP buffer exists for a lower numbered motor, or if any TCOMP, BLCOMP, TBUF, ROTARY, LOOKAHEAD, or GATHER buffer exists. Any of these buffers must be deleted first. COMP buffers must be defined from high-numbered motor to low-numbered motor, and deleted from low-numbered motor to highnumbered motor.
Turbo PMAC/PMAC2 Software Reference Scope: Syntax: Motor-specific DEFINE COMP {Rows}.{Columns}, #{RowMotor}[D], [#{ColumnMotor}[D], [#{TargetMotor}]], {RowSpan},{ColumnSpan} DEF COMP...
Turbo PMAC/PMAC2 Software Reference It is strongly recommended that both source motors and the target motor is specified in this command to prevent possible confusion. The table can operate as a function of either the desired (commanded) or actual position of the source motors.
Turbo PMAC/PMAC2 Software Reference The correction to the target motor at the zero position of both source motors is zero by definition. This is an implied entry at the beginning of the table (shown by [0] in the above chart); it should not be explicitly entered. Consecutive entries in the table are in the same row (except at row’s end) separated by one column spacing of the position of the first source (row) motor.
Turbo PMAC/PMAC2 Software Reference DEFINE GATHER Function: Scope: Syntax: Create a data gathering buffer. Global DEFINE GATHER [{constant}] DEF GAT [{constant}] where: {constant} is a positive integer representing the number of words of memory to be reserved for the buffer This command reserves space in Turbo PMAC’s memory or in DPRAM depending upon the setting of I5000 for the data gathering buffer and prepares it for collecting data at the beginning of the buffer.
Turbo PMAC/PMAC2 Software Reference the second {constant} is a positive integer representing the number of synchronous M-variable assignments that can be stored in the buffer This command establishes a lookahead buffer for the addressed coordinate system. It reserves memory to buffer both motion equations and synchronous M-variable output commands for the lookahead function.
Turbo PMAC/PMAC2 Software Reference Note: Turbo PMAC will reject the DEFINE LOOKAHEAD command, reporting an ERR003 if I6=1 or 3, if any LOOKAHEAD buffer exists for a lower-numbered coordinate system, or if a GATHER buffer exists. LOOKAHEAD buffers must be defined from high-numbered coordinate system to low-numbered coordinate system, and deleted from low-numbered coordinate system to high-numbered coordinate system.
Turbo PMAC/PMAC2 Software Reference DEFINE TBUF Function: Scope: Syntax: Create a buffer for axis transformation matrices. Global DEFINE TBUF {constant} DEF TBUF {constant} where: {constant} is a positive integer representing the number of transformation matrices to create This command reserves space in Turbo PMAC’s memory for one or more axis transformation matrices. These matrices can be used for real-time translation, rotation, scaling, and mirroring of the X, Y, and Z axes of any coordinate system.
Turbo PMAC/PMAC2 Software Reference corrections for positions between the table entries by a first-order interpolation between adjacent entries. The correction from the table at motor zero position is zero by definition. The correction is the magnitude added to Turbo PMAC’s servo loop output at that position. If Turbo PMAC’s command is positive, a positive value from the table will increase the magnitude of the output; a negative value will decrease the magnitude of the output.
Turbo PMAC/PMAC2 Software Reference extended data memory configuration. (Starting with V1.937 firmware, a Turbo PMAC with the extended data memory configuration will at re-initialization have a UBUFFER of 65,536 words defined, causing this register to hold a value of $030000.) Immediately after the user buffer has successfully been defined, this register will hold the address of the start of the buffer (the end of the user buffer is always at the end of data memory).
Turbo PMAC/PMAC2 Software Reference DELETE ALL TEMPS Function: Scope: Syntax: Erase all defined temporary buffers Global DELETE ALL TEMPS DEL ALL TEMP This command causes Turbo PMAC to erase all temporary buffers created with a DEFINE command in Turbo PMAC’s memory space. Temporary buffers are those whose contents are not kept through a power-down or reset, even if the structures for the buffers are (when I14=1).
Turbo PMAC/PMAC2 Software Reference DELETE CCUBUF Function: Scope: Syntax: Erase extended cutter-compensation buffer Motor specific DELETE CCBUF DEL CCBUF This command causes Turbo PMAC to erase the extended cutter-radius compensation move buffer for the addressed coordinate system, freeing that memory for other use. Turbo PMAC will reject this command, reporting an ERR003 if I6 = 1 or 3, if any CCBUF exists for a lower-numbered coordinate system, or if any LOOKAHEAD or GATHER buffer exists on the board.
Turbo PMAC/PMAC2 Software Reference This command causes Turbo PMAC to erase the lookahead buffer for the addressed coordinate system, freeing that memory for other use. Note: Turbo PMAC will reject this command, reporting an ERR003 if I6=1 or 3, if any LOOKAHEAD buffer exists for a lower numbered coordinate system, or if any ROTARY or GATHER buffer exists. Any of these buffers must be deleted first.
Turbo PMAC/PMAC2 Software Reference DELETE PLCC Function: Scope: Syntax: Erase specified compiled PLC program Global DELETE PLCC {constant} DEL PLCC {constant} where: {constant} is an integer from 0 to 31, representing the program number This command causes Turbo PMAC to erase the specified compiled PLC program. Remember that because all of the compiled PLC programs must be downloaded to Turbo PMAC together, the only way to restore this PLC is to download the entire set of compiled PLCs.
Turbo PMAC/PMAC2 Software Reference DELETE TBUF Function: Scope: Syntax: Delete buffer for axis transformation matrices. Global DELETE TBUF DEL TBUF This command frees up the space in Turbo PMAC's memory that was used for axis transformation matrices. These matrices can be used for real-time translation, rotation, scaling, and mirroring of the X, Y, and Z axes of any coordinate system. Note: Turbo PMAC will reject this command, reporting an ERR007 if I6=1 or 3, if any ROTARYor GATHER buffer exists.
Turbo PMAC/PMAC2 Software Reference DISABLE PLC Function: Scope: Syntax: Disable specified PLC programs. Global DISABLE PLC {constant}[,{constant}] DIS PLC {constant}[,{constant}] DISABLE PLC {constant}..{constant} DIS PLC {constant}..{constant} where {constant} is an integer from 0 to 31, representing the program number This command causes Turbo PMAC to disable (stop executing) the specified uncompiled PLC program or programs.
Turbo PMAC/PMAC2 Software Reference Example: DISABLE PLCC 1 DIS PLCC 5 DIS PLCC 3,4,7 DISABLE PLCC 0..31 See Also: I-variable I5 On-line commands DISABLE PLC, ENABLE PLC, ENABLE PLCC, OPEN PLC, . Program commands DISABLE PLC, DISABLE PLCC, ENABLE PLC, ENABLE PLCC E Function: Enable disabled motors Scope: Coordinate-system specific Syntax: E This command enables the disabled motors of the addressed coordinate system, closing the position loop at the present actual position.
Turbo PMAC/PMAC2 Software Reference Example: EAVERSION 1934201 ; Ask Turbo PMAC for firmware version ; Turbo PMAC responds Version 1.934 2nd test revision ; Turbo PMAC2 firmware See Also: Resetting Turbo PMAC (Talking to Turbo PMAC) On-line command DATE, VERSION, TYPE ENABLE PLC Function: Scope: Syntax: Enable specified PLC programs. Global ENABLE PLC {constant}[,{constant}] ENA PLC {constant}[,{constant}] ENABLE PLC {constant}..{constant} ENA PLC {constant}..
Turbo PMAC/PMAC2 Software Reference ENABLE PLCC Function: Scope: Syntax: Enable specified compiled PLC programs. Global ENABLE PLCC {constant}[,{constant}] ENA PLCC {constant}[,{constant}] PLCC {constant}..{constant} ENA PLCC {constant}..{constant} where: {constant} is an integer from 0 to 31, representing the program number This command causes Turbo PMAC to enable (start executing) the specified compiled PLC program or programs.
Turbo PMAC/PMAC2 Software Reference See Also: Data Gathering Function (Analysis Features) I-variables I5000 – I5051 On-line commands DEFINE GATHER, GATHER, LIST GATHER, DELETE GATHER Gathering and Plotting (Turbo PMAC Executive Program Manual) F Function: Report motor following error Scope: Motor specific Syntax: F This command causes Turbo PMAC to report the present motor following error (in counts, rounded to the nearest tenth of a count) for the addressed motor to the host.
Turbo PMAC/PMAC2 Software Reference Note: If the move time as calculated for the vector-feedrate axes is less than the time computed as the distance of any non-feedrate axis commanded on the line divided by the Isx86 alternate feedrate parameter, this longer time will be used for all axes instead. If a motion program buffer is open when this command is sent to Turbo PMAC, it will be entered into the buffer for later execution.
Turbo PMAC/PMAC2 Software Reference operation, so can be done without disrupting machine operation. (However, during the approximately 5 milliseconds it takes to execute the FSAVE command, no other background tasks, including safety checks, are performed. Foreground tasks such as servo loop closure are performed during the FSAVE process.) It is intended to permit the quick storage of machine-state information for proper start-up after a quick, or especially an unexpected, power-down.
Turbo PMAC/PMAC2 Software Reference Gathering will proceed at the frequency set by I5049 (in number of servo interrupt cycles). If I5049 is 0, only one set of data will be gathered per GATHER command. If Turbo PMAC is already gathering data, GATHER will cause resynchronization of the gathering cycle to the next servo cycle. Gathering will continue until Turbo PMAC receives an ENDGATHER command, or until the buffer created by the DEFINE GATHER command is full.
Turbo PMAC/PMAC2 Software Reference If the R or S command is issued when any motor is not commanding its feedhold position, Turbo PMAC will reject the command with an error, reporting an ERR0017 if I6 has been set to 1 or 3.
Turbo PMAC/PMAC2 Software Reference Instead of jogging until it finds a pre-defined trigger, and calling its position at the trigger the home position, with this command, the motor calls wherever it is (commanded position) at the time of the command the home position.
Turbo PMAC/PMAC2 Software Reference Note: If a motion program buffer (including a rotary buffer) is open, I{constant} will be entered into that buffer for later execution, to be interpreted as a full-circle move command with a vector to the center along the X-axis (see Circular Moves in the Writing and Executing Motion Programs section). Example: I5 2 I130..
Turbo PMAC/PMAC2 Software Reference the final {constant} contains the value to be given to the specified range of I-variables I{constant},{constant},{constant}={constant} where: the first {constant} is an integer from 0 to 8190 representing the number of the first I-variable; the second {constant} is an integer from 1 to 8191 representing the number of I-variables whose value is to be set; the third {constant} is an integer from 1 to 8191 representing the numerical spacing between each I-variable w
Turbo PMAC/PMAC2 Software Reference I5188,3,100=* ; Set I5188,I5288,I5388 to default See Also: Initialization (I) Variables (Computational Features) I-Variable Specifications -- Default Values On-line commands I{constant}, I{constant}={expression} I{constant}=@I{constant} Function: Set I-variable to address of another I-variable.
Turbo PMAC/PMAC2 Software Reference See Also: On-line commands TIME, TIME={time}, TODAY, UPDATE IDNUMBER Function: Scope: Syntax: Report electronic identification number Global IDNUMBER IDNUM This command causes Turbo PMAC to report the electronic identification number from the Option 18A ID-number module, or the Option 18B ID-number & clock/calendar module. The identification number is reported as a hexadecimal 16-digit ASCII string, representing a 64-bit value.
Turbo PMAC/PMAC2 Software Reference Circular Moves (Writing and Executing Motion Programs) On-line command ABS Program commands ABS, INC J! Function: Adjust motor commanded position to nearest integer count Scope: Motor specific Syntax: J! This command causes the addressed motor, if the desired velocity is zero, to adjust its commanded position to the nearest integer count value.
Turbo PMAC/PMAC2 Software Reference JFunction: Jog Negative Scope: Motor specific Syntax: JThis command causes the addressed motor to jog in the negative direction indefinitely. Jogging acceleration and velocity are determined by the values of Ixx19-Ixx22 in force at the time of this command. Turbo PMAC will reject this command if the motor is in a coordinate system that is currently running a motion program (reporting ERR001 if I6 is 1 or 3).
Turbo PMAC/PMAC2 Software Reference J:{constant} Function: Jog Relative to Commanded Position Scope: Motor specific Syntax: J:{constant} where: {constant} is a floating point value specifying the distance to jog, in counts. This command causes a motor to jog the distance specified by {constant} relative to the present commanded position. Jogging acceleration and velocity are determined by the values of Ixx19-Ixx22 in force at the time of this command.
Turbo PMAC/PMAC2 Software Reference Jogging Moves (Basic Motor Moves) I-variables Ixx19-Ixx22 Memory map registers L:$0000D7, L:$000157, etc. Suggested M-variable definitions M172, M272, etc. On-line commands J=, J={constant}, J=*, J^* J= Function: Jog to Prejog Position Scope: Motor specific Syntax: J= This command causes the addressed motor to jog to the last pre-jog and pre-handwheel-move position (the most recent programmed position).
Turbo PMAC/PMAC2 Software Reference Turbo PMAC will reject this command if the motor is in a coordinate system that is currently running a motion program (reporting ERR001 if I6 is 1 or 3).
Turbo PMAC/PMAC2 Software Reference {constant} is a floating point value specifying the location to which to jog, in encoder counts This command causes the addressed motor to jog the position specified by {constant}. It also makes this position the pre-jog position, so it will be the destination of subsequent J= commands. Jogging acceleration and velocity are determined by the values of Ixx19-Ixx22 in force at the time of this command.
Turbo PMAC/PMAC2 Software Reference This command causes the addressed motor to jog the distance specified in the motor’s variable jog position/distance register relative to the present actual position. Jogging acceleration and velocity are determined by the values of Ixx19-Ixx22 in force at the time of this command. Compare to J:* , which is a jog relative to the present commanded position. The variable jog position/distance register is a floating-point register with units of counts.
Turbo PMAC/PMAC2 Software Reference Trigger Condition: The trigger condition for a jog-until-trigger move can either be an input flag, or a warning following error condition for the motor. If bit 1 of Ixx97 is 0 (the default), the trigger is a transition of an input flag and/or encoder index channel from the set defined for the motor by Ixx25. Encoder/flag variables 2 and 3 (I7mn2 and I7mn3) define which edges of which input signals create the trigger.
Turbo PMAC/PMAC2 Software Reference Closed-loop control of this motor can be resumed with a J/ command. The A command will re-establish closed-loop control for all motors in the addressed coordinate system, and the command will do so for all motors on Turbo PMAC. The action on a K command is equivalent to what Turbo PMAC does automatically to the motor on an amplifier fault or a fatal following error fault.
Turbo PMAC/PMAC2 Software Reference Example: &1 #1->10000X #2->10000Y OPEN PROG 1 CLEAR F10 TA200 TS50 ; Address coordinate system 1 ; Define motor 1 in C.S. 1 ; Define motor 2 in C.S. 1 Prepare program buffer for entry ; Enter required non-move commands {move motors to a position, ; e.g. #1 to 13450 commanded, #2 to 29317 commanded} LEARN(X,Y) ; Tell PMAC to learn these positions X1.345 Y2.9317 ; This is the line that PMAC adds to PROG 1 {move motors to new ; position, e.g. #1 to 16752 cmd.
Turbo PMAC/PMAC2 Software Reference This command causes Turbo PMAC to report to the host the contents of the backlash compensation table belonging to the addressed motor. The values are reported in decimal ASCII form, multiple values to a line, with individual values separated by spaces. The LIST BLCOMP DEF command should be used to report the header information for this table. If there is no table for the addressed motor, Turbo PMAC will reject the command (reporting ERR003 if I6=1 or 3).
Turbo PMAC/PMAC2 Software Reference Example: LIST COMP 9 17 -3 6 35 87 65 24 18 -9 -16 -34 -7 12 -3 -8 32 44 16 0 -20 -5 0 ; Request contents of compensation table ; PMAC responds ; Continued response See Also: Leadscrew Compensation Tables (Setting Up a Motor) On-line commands DEFINE COMP, DELETE COMP, LIST COMP DEF LIST COMP DEF Function: List definition of addressed motor's compensation table Scope: Motor specific Syntax: LIST COMP DEF This command causes Turbo PMAC to report to the host the definiti
Turbo PMAC/PMAC2 Software Reference If the forward kinematic program requested by this command does not exist in Turbo PMAC, Turbo PMAC will reject this command (reporting an ERR003 if I6 is 1 or 3). Forward kinematic programs can be protected by password. If there is a password for the Turbo PMAC, and the password has not been given, Turbo PMAC will reject this command (reporting an ERR002 if I6 is 1 or 3).
Turbo PMAC/PMAC2 Software Reference The contents are reported in ASCII text form. If I9 is 0 or 2, the contents are reported in short form (e.g. ENDW). If I9 is 1 or 3, the contents are reported in long form (e.g. ENDWHILE). If the inverse kinematic program requested by this command does not exist in Turbo PMAC, Turbo PMAC will reject this command (reporting an ERR003 if I6 is 1 or 3). Inverse kinematic programs can be protected by password.
Turbo PMAC/PMAC2 Software Reference This command causes Turbo PMAC to list the program lines that it is (are) about to calculate in the addressed coordinate system, with the first line preceded by the program number and each line preceded by the address offset. LIST PC just lists the next line to be calculated. LIST PC, lists from the next line to be calculated to the end of the program. LIST PC,{constant} lists the specified address range size starting at the next line to be calculated.
Turbo PMAC/PMAC2 Software Reference P5:35:X5Y30 37:X12Y32 39:X0 Y10 41:RETURN ; Turbo PMAC responds See Also: On-line commands B{constant}, LIST, LIST PC, PC, PE LIST PLC Function: List the contents of the specified PLC program.
Turbo PMAC/PMAC2 Software Reference 7:RETURN See Also: PLC Program Features I-variables I3, I4, I9 On-line commands LIST, LIST PROG, PASSWORD={string} Program Command Specification LIST PROGRAM Function: Scope: Syntax: List the contents of the specified motion program.
Turbo PMAC/PMAC2 Software Reference 4:X0Y0 LIST PROG 9,,2 0:LINEAR 1:F10 ; Request listing starting at top, 2 words long See Also: Writing and Executing Motion Programs I-variables I3, I4, I9 On-line commands LIST, PC, LIST PC., PASSWORD={string}.
Turbo PMAC/PMAC2 Software Reference If there is no table for the addressed motor, Turbo PMAC will reject the command (reporting ERR003 if I6=1 or 3).
Turbo PMAC/PMAC2 Software Reference The status of locking bits 0 – 7 is reported as bits 4 – 11, respectively, of I4904. If a motion program buffer or a PLC program buffer is open when this command is issued, this command will be entered into that buffer as a program command for future execution; it will not be treated as an online command.
Turbo PMAC/PMAC2 Software Reference 47 See Also: M-Variables (Computational Features) On-line commands M{data}={expression}, M{constant}-> Program commands M{data}, M{data}={expression} M{data}={expression} Function: Assign value to M-variables.
Turbo PMAC/PMAC2 Software Reference Scope: Global Syntax: M{constant}[..{constant}]-> where: {constant} is an integer from 0 to 8191 representing the number of the M-variable; the optional second{constant} must be at least as great as the first {constant} -- it represents the number of the end of the range; This command causes Turbo PMAC to report the definition (address) of the specified M-variable or range of M-variables.
Turbo PMAC/PMAC2 Software Reference On-line commands M{constant}, M{constant}->, .......... M{constant}->{definition}, M{constant}={expression} Program command M{constant}={expression} M{constant}->D:{address} Function: Long Fixed-Point M-Variable Definition Scope: Global Syntax: M{constant}[..
Turbo PMAC/PMAC2 Software Reference Example: M150->DP:$052000 M250->DP$052001 See Also: M-Variables (Computational Features) Dual-Ported RAM (Writing a Host Communications Program) On-line commands M{constant}, M{constant}->, .......... M{constant}->F:{address}, M{constant}={expression} Program command M{constant}={expression} M{constant}->F:{address} Function: Dual-Ported RAM Floating-Point M-Variable Definition Scope: Global Syntax: M{constant}[..
Turbo PMAC/PMAC2 Software Reference the optional second{constant} must be at least as great as the first {constant} -- it represents the number of the end of the range; {address} is an integer constant from $000000 to $FFFFFF (0 to 16,777,215 if specified in decimal). This command causes Turbo PMAC to define the specified M-variable or range of M-variables to point to a long word (48 bits) of data – both X and Y memory – at the specified location in Turbo PMAC's address space.
Turbo PMAC/PMAC2 Software Reference See Also: M-Variables (Computational Features) On-line commands M{constant}, M{constant}->, M{constant}->TWD:{address} Thumbwheel Multiplexer Board (Acc-18) Manual M{constant}->TWD:{address} Function: Scope: Syntax: BCD Thumbwheel-Multiplexer M-Variable Definition Global M{constant}[..{constant}]->TWD[:]{multiplex address}, {offset},{size}[.
Turbo PMAC/PMAC2 Software Reference M{constant}->TWR:{address} Function: Scope: Syntax: Resolver Thumbwheel-Multiplexer M-Variable Definition Global M{constant}[..
Turbo PMAC/PMAC2 Software Reference the optional second{constant} must be at least as great as the first {constant} – it represents the number of the end of the range; {multiplex address} is an integer constant, divisible by 4, in the range 0 to 124, representing the address in the multiplexing scheme of the first of four bytes in the 32-bit input or output word. Adding 1 to the {multiplex address} designates it as a read-only variable and adding 2 designates it as a write-only variable.
Turbo PMAC/PMAC2 Software Reference Example: For an Acc-34x board with base address 0 on the multiplexer port (all DIP switches ON): the the Mvariable for the input port would be: M80->TWS:1 ;Input port at {base+1} The definition for the output port would be: M81->TWS:6 ;Output port at {base+6} See Also: M-Variables (Computational Features) On-line commands M{constant}, M{constant}->, M{constant}->TWR:{address} Serial I/O Multiplexer Board (Acc-34x) Manuals M{constant}->X/Y:{address} Function: Scope:
Turbo PMAC/PMAC2 Software Reference The format is irrelevant for 1-bit M-variables, and should not be included for them. If no format is specified, U is assumed. Examples: Machine Output 1 M1->Y:$078802,8,1 M1->Y$078802,8 ; 1-bit (full spec.) ; 1-bit (short spec.) Encoder 1 Capture/Compare Register M103->X:$078003,0,24,U M103->X$078003,24 ; 24-bit (full spec.) ; 24-bit (short spec.
Turbo PMAC/PMAC2 Software Reference This command causes Turbo PMAC to write the specified constant value to the specified variable of the Turbo PMAC acting as a MACRO slave station matching the specified node number on the Turbo PMAC. Only one auxiliary access (read or write) of a single node can be done on one command line. If the slave node returns an error message or the slave node does not respond within the number of servo cycles set by I78, Turbo PMAC will report ERR008.
Turbo PMAC/PMAC2 Software Reference See Also: On-line commands MACROAUXREAD, MACROAUXWRITE PLC Program commands MACROAUXREAD, MACROAUXWRITE MACROAUXREAD Function: Read (copy) variable value from Turbo PMAC MACRO slave Scope: Global Syntax: MACROAUXREAD{node #},M{slave var},{variable} MXR{node #},M{slave var},{variable} where: {node #} is a constant in the range 0 to 63 representing the number of the node on the Turbo PMAC matching the slave node to be accessed, where the node number specific
Turbo PMAC/PMAC2 Software Reference {node #} is a constant in the range 0 to 63 representing the number of the node on the Turbo PMAC matching the slave node to be accessed, where the node number specification is: o {node #} = 0 – 15 specifies MACRO IC 0 nodes 0 – 15, which correspond to slave nodes 0 – 15 of the same master number as MACRO IC 0; o {node #} = 16 – 31 specifies MACRO IC 1 nodes 0 – 15, which correspond to slave nodes 0 – 15 of the same master number as MACRO IC 1; o {node #} = 32 –
Turbo PMAC/PMAC2 Software Reference MACRO IC 0 node 14 must not be used for any other function.
Turbo PMAC/PMAC2 Software Reference MACRO IC 0 node 14 normally must be disabled (I6841 bit 14 = 0); MACRO IC 0 node 14 must be in broadcast mode (I6840 bit 14 = 1); MACRO IC 0 node 14 auxiliary register copy function must be disabled (I70 bit 14 = 0); MACRO IC 0 node 14 must not be used for any other function. If the remote master returns an error message or it does not respond within I79 servo cycles, Turbo PMAC will report ERR008.
Turbo PMAC/PMAC2 Software Reference Turbo PMACs on the ring to which these commands are passed through must be set as masters but not ring controllers, with Node 14 enabled but not in broadcast mode. On these boards: I6840 = $10 (master, but not ring controller; Node 14 not in broadcast mode) I6841 bit 14 = 1 (Node 14 enabled) These values be saved, and the card reset, before this mode can be enabled. This port is taken out of MACRO pass-through mode if it is given the command.
Turbo PMAC/PMAC2 Software Reference If the remote master returns an error message or it does not respond within I79 servo cycles, Turbo PMAC will report ERR008. Bit 5 of global status register X:$000006 is set to report such a MACRO auxiliary communications error. Register X:$0031EE holds the error value. It is set to $010000 for a timeout error, or $xxxxFE if the slave node reports an error, where xxxx is the 16-bit error code reported by the slave node.
Turbo PMAC/PMAC2 Software Reference If this command is issued to a Turbo PMAC while a PLC buffer is open, it will be stored in the buffer as a PLC command, not executed as an on-line command.
Turbo PMAC/PMAC2 Software Reference MACRO IC 0 node 15 auxiliary register copy function must be disabled (I70 bit 15 = 0); MACRO IC 0 node 15 must not be used for any other function. If the slave node returns an error message or it does not respond within I78 servo cycles, Turbo PMAC will report ERR008. Bit 5 of global status register X:$000006 is set to report such a MACRO auxiliary communications error. Register X:$0031EE holds the error value.
Turbo PMAC/PMAC2 Software Reference error, or $xxxxFE if the slave node reports an error, where xxxx is the 16-bit error code reported by the slave node.
Turbo PMAC/PMAC2 Software Reference MACROSLVREAD Function: Scope: Syntax: Read (copy) Type 1 MACRO auxiliary parameter value Global MACROSLVREAD{node #},{slave variable},{PMAC variable} MSR{node #},{slave variable},{PMAC variable} where: {node #} is a constant in the range 0 to 63 representing the number of the node on the Turbo PMAC matching the slave node to be accessed, where the node number specification is: {node #} = 0 – 15 specifies MACRO IC 0 nodes 0 – 15, which correspond to slave nodes 0 –
Turbo PMAC/PMAC2 Software Reference MACROSLVWRITE Function: Scope: Syntax: Write (copy) Type 1 MACRO auxiliary parameter value Global MACROSLVWRITE{node #},{slave variable},{PMAC variable} MSW{node #},{slave variable},{PMAC variable} where: {node #} is a constant in the range 0 to 63 representing the number of the node on the Turbo PMAC matching the slave node to be accessed, where the node number specification is: {node #} = 0 – 15 specifies MACRO IC 0 nodes 0 – 15, which correspond to slave nodes 0
Turbo PMAC/PMAC2 Software Reference MACROSTASCII {station #} Function: Scope: Syntax: Set port in MACRO pass-through mode Global (MACRO Ring Master only) MACROSTASCII{master #} MACSTA{master #} where: {station #} is a constant in the range 0 to 255 representing the order number of the station on the ring to whom the communications will be passed. If a 0 is used, subsequent commands will be broadcast to all masters on the ring.
Turbo PMAC/PMAC2 Software Reference Only one communications port of this ring controller Turbo PMAC may be in “pass-through” mode at any time. The other ports are not in pass-through mode and may be used simultaneously for communications with the ring controller Turbo PMAC itself. This port is taken out of MACRO pass-through mode if it is given the command.
Turbo PMAC/PMAC2 Software Reference MFLUSH Function: Clear pending synchronous M-variable assignments Scope: Coordinate-system specific Syntax: MFLUSH This command permits the user to clear synchronous M-variable assignment commands that have been put on the stack for intended execution with a subsequent move (without executing the commands). As an on-line command, it is useful for making sure pending outputs are not executed after a program has been stopped.
Turbo PMAC/PMAC2 Software Reference NORMAL Function: Scope: Syntax: Report circle-plane unit normal vector Coordinate system specific NORMAL NRM This command causes Turbo PMAC to report the unit normal vector for the addressed coordinate system. This normal vector defines the plane for circular interpolation and cutter radius compensation. Turbo PMAC reports the vector by displaying its I, J, and K components, parallel to the X, Y, and Z axes, respectively. If a component is zero, it will not be reported.
Turbo PMAC/PMAC2 Software Reference Example: O50 #2O33.333 O0 J/ ; Open-loop output 50% of Ixx69 for addressed motor ; Open-loop output 1/3 of Ixx69 for Motor 2 ; Open-loop output of zero magnitude ; Re-establish closed-loop control See Also: On-line commands J/, K Memory-map registers X:$0000BF, X:$00013F, etc. Suggested M-variable definitions Mxx68.
Turbo PMAC/PMAC2 Software Reference If the kinematic-enable variable Isx50 for the coordinate system is set to 1, Turbo PMAC will automatically execute the forward-kinematic program for the coordinate system any time an R (run), S (step), or PMATCH command is given to the coordinate system. Before running the program PMAC will place the commanded position value (in counts) for each Motor xx in the coordinate system into global variable Pxx.
Turbo PMAC/PMAC2 Software Reference No other program buffers (PLC, fixed or rotary motion) may be open when this command is sent (Turbo PMAC will report ERR007 if I6=1 or 3). It is a good idea always to precede an OPEN command with a CLOSE command to make sure no other buffers have been left open. No motion programs may be running in any coordinate system when this command is sent (Turbo PMAC will report ERR001 if I6=1 or 3).
Turbo PMAC/PMAC2 Software Reference OPEN PROGRAM Function: Scope: Syntax: Open a fixed motion program buffer for entry Port specific OPEN PROGRAM {constant} OPEN PROG {constant} where: {constant} is an integer from 1 to 32767 representing the motion program to be opened This command causes Turbo PMAC to open the specified fixed (non-rotary) motion program buffer for entry or editing on this port. Subsequent program commands valid for motion programs sent from this port will be entered into this buffer.
Turbo PMAC/PMAC2 Software Reference No other program buffers (PLC, or fixed motion programs) may be open when this command is sent (Turbo PMAC will report ERR007 if I6=1 or 3). It is a good idea always to precede an OPEN command with a CLOSE or CLOSE ALL command to make sure no other buffers have been left open.
Turbo PMAC/PMAC2 Software Reference the optional second{constant} must be at least as great as the first {constant} – it represents the number of the end of the range; P{constant},{constant},{constant} where: the first {constant} is an integer from 0 to 8190 representing the number of the first P-variable; the second {constant} is an integer from 1 to 8191 representing the number P-variables whose value is to be reported; the third {constant} is an integer from 1 to 8191 representing the numerical
Turbo PMAC/PMAC2 Software Reference the final {constant} contains the value to be given to the specified set of P-variables This command causes Turbo PMAC to set the specified P-variable or range of P-variables equal to the value on the right side of the equals sign. If a motion or PLC program buffer is open when the single-variable form of this command is sent to Turbo PMAC, the command will be entered into the buffer for later execution.
Turbo PMAC/PMAC2 Software Reference matches the existing password correctly, Turbo PMAC accepts it as a valid command, and the host computer has access to the protected programs until the Turbo PMAC is reset or has its power cycled. If the command does not match the existing password correctly, Turbo PMAC returns an error (reporting ERR002 if I6=1 or 3), and the host computer does not have access to the protected programs. The host computer is free to attempt to match the existing password.
Turbo PMAC/PMAC2 Software Reference This command causes Turbo PMAC to stop execution of the specified uncompiled PLC program or programs, with the capability to restart execution at this point (not necessarily at the top) with a RESUME PLC command. Execution can also be restarted at the top of the program with the ENABLE PLC command.
Turbo PMAC/PMAC2 Software Reference PE Function: Report Program Execution Pointer Scope: Coordinate-system specific Syntax: PE This command causes Turbo PMAC to report the motion program number and address offset of the currently executing programmed move in the addressed coordinate system. This is similar to the PC command, which reports the program number and address offset of the next move to be calculated.
Turbo PMAC/PMAC2 Software Reference See Also: Further Position Processing (Setting Up a Motor) Axes, Coordinate Systems (Setting Up a Coordinate System) I-variable Ixx06 PR Function: Report Rotary Program Remaining Scope: Coordinate-system specific Syntax: PR This command causes Turbo PMAC to report the number of program lines that have been entered in the rotary buffer for the addressed coordinate system but have not yet been executed (program remaining).
Turbo PMAC/PMAC2 Software Reference B10R Q R Q S ; Point to beginning of PROG 10 and run ; Quit execution ; Resume execution ; Quit execution again ; Resume execution for a single move See Also: Stopping Commands (Making an Application Safe) Control-Panel Port STEP/ Input (Connecting Turbo PMAC to the Machine) JPAN Connector Pin 9 On-line commands , A, H, K, / Q{constant} Function: Report Q-Variable Value Scope: Coordinate-system specific Syntax: Q{constant}[..
Turbo PMAC/PMAC2 Software Reference Q{constant}..
Turbo PMAC/PMAC2 Software Reference R Function: Run Motion Program Scope: Coordinate-system specific Syntax: R This command causes the addressed Turbo PMAC coordinate system to start continuous execution of the motion program addressed by the coordinate system’s program counter from the location of the program counter. Alternately, it will restore operation after a \ or H command has been issued (even if a program was or is not running).
Turbo PMAC/PMAC2 Software Reference {constant} (optional) is an integer from 1 to 65,535 specifying the number of consecutive memory addresses to be read; if this is not specified, Turbo PMAC assumes a value of 1; the second optional {constant} is an integer from 1 to 16 specifying the number of values to be reported on a single line; if this is not specified, Turbo PMAC will fit as many as it can on one line.
Turbo PMAC/PMAC2 Software Reference The RESUME PLC command cannot be used to restart execution of a PLC program that has been stopped with a DISABLE PLC command. However, after a PLC has been stopped with a DISABLE PLC command, if a PAUSE PLC command is then given for that PLC, then a RESUME PLC command can be given to start operation at the point at which it has been stopped. Note: RESUME PLC 0..31 will restart all PLCs that have been paused, but not any that have been disabled.
Turbo PMAC/PMAC2 Software Reference The coordinate system must be in a proper condition in order for Turbo PMAC to accept this command. Otherwise Turbo PMAC will reject this command with an error; if I6 is 1 or 3, it will report the error number. The same conditions that cause Turbo PMAC to reject an R command will cause it to reject an S command; refer to those conditions under the R command specification. Example: &3B20S P1 1 S P1 -3472563 ; C.S.
Turbo PMAC/PMAC2 Software Reference I130 60000 ; Request value of I130 ; Turbo PMAC responds with saved value See Also: On-line commands $$$, $$$*** Jumpers E51 (PMAC), E3 (PMAC2). SETPHASE Function: Scope: Syntax: Set commutation phase position value Global SETPHASE {constant} [,{constant}…] SETPHASE {constant}..{constant} [,{constant}..
Turbo PMAC/PMAC2 Software Reference Example: IDNUMBER 374A256E9014D101 SIZE Function: Report the amount of unused buffer memory in Turbo PMAC. Scope: Global Syntax: SIZE This command causes Turbo PMAC to report to the host the amount of unused long words of memory available for buffers. If no program buffer (motion, PLC or rotary buffer) is open, this value is reported as a positive number. If a buffer is currently open, the value is reported as a negative number.
Turbo PMAC/PMAC2 Software Reference STN={constant} Function: Set MACRO station order number Scope: Global Syntax: STN={constant} where: {constant} is a value in the range 0 to 254 representing the order of the Turbo PMAC in the MACRO ring This command causes Turbo PMAC to set its station order number, intended to be the order of the Turbo PMAC in the MACRO ring.
Turbo PMAC/PMAC2 Software Reference {hh} is the 2-digit representation of the hour (00 <= {hh} <= 23) {mm} is the 2-digit representation of the minute (00 <= {mm} <= 59) {ss} is the 2-digit representation of the second (00 <= {ss} <= 59) This command sets the current time in Turbo PMAC’s active (volatile) memory. The time is entered in the international 24-hour clock format, as hour/minute/second. Entering of the seconds is optional; if the seconds are not entered, Turbo PMAC will use 0 seconds.
Turbo PMAC/PMAC2 Software Reference TODAY={date} Function: Set the present date Scope: Global Syntax: TODAY={mm}/{dd}/{yyyy} where: {mm} is the 2-digit representation of the month {dd} is the 2-digit representation of the day of the month {yyyy} is the 4-digit representation of the year This command sets the current date in Turbo PMAC’s active (volatile) memory. The date is entered in the North American style, as month/day/year.
Turbo PMAC/PMAC2 Software Reference TYPE TURBOU, X5 See Also: On-line commands VERSION, DATE UNDEFINE Function: Scope: Syntax: Erase Coordinate System Definition Coordinate-system specific UNDEFINE UNDEF This command causes Turbo PMAC to erase all of the axis definition statements in the addressed coordinate system. It does not affect the axis definition statements in any other coordinate systems. It can be useful to use before making new axis definitions.
Turbo PMAC/PMAC2 Software Reference On-line commands #{constant}->0, #{constant}->, UNDEFINE. UNLOCK{constant} Function: Clear process locking bit Scope: Global Syntax: UNLOCK{constant} where: {constant} is an integer from 0 to 7 representing the number of the locking bit The UNLOCK command permits the user to clear one of the eight process locking bits in Turbo PMAC, releasing the process for other tasks.
Turbo PMAC/PMAC2 Software Reference This command returns filtered velocity values, with the filter time constant controlled by global variables I60 and I61. It does not report the raw velocity register calculated by the servo loop each servo cycle. Example: V 21.9 #6V -4.2 #5V#2V 0 7.6 ; Request actual velocity of addressed motor ; Turbo PMAC responds with 21.9 cts/cycle ; (*8,388,608/3,713,707 = 49.
Turbo PMAC/PMAC2 Software Reference W{address} Function: Write values to a specified address(es). Scope: Global Syntax: W{address},{value} [,{value}...
Turbo PMAC/PMAC2 Software Reference See Also: On-line commands {axis}={constant} Memory map registers D:$0000CC, D:$00014C, etc. Suggested M-variable definitions Mxx64.
Turbo PMAC/PMAC2 Software Reference TURBO PMAC PROGRAM COMMAND SPECIFICATION {axis}{data}[{axis}{data}…] Function: Position-Only Move Specification Type: Motion program (PROG and ROT) Syntax: {axis}{data}[{axis}{data}...] where: {axis} is the character specifying which axis (X, Y, Z, A, B, C, U, V, W); {data} is a constant (no parentheses) or an expression (in parentheses) representing the end position or distance; [{axis}{data}...
Turbo PMAC/PMAC2 Software Reference The first data item for each axis is the scaled ending position or distance (depending on whether the axis is in absolute (ABS) or incremental (INC) mode; position scaling is determined by the axis definition statement), and the second data item (after the colon) is the ending velocity. The velocity units are the scaled position units as established by the axis definition statements divided by the time units as set by Isx90 for Coordinate System x.
Turbo PMAC/PMAC2 Software Reference The trigger for a motor can be either a hardware input trigger if bit 1 of Ixx97 is 0, or the motor warning following error status bit if bit 1 of Ixx97 is 1 (bit 0 of Ixx97 should also be set to 1 in this case). If a hardware input trigger is used, I-variables I7mn2 and I7mn3 (e.g. I7012 and I7013) for the flag channel specified by Ixx25 determine which edges of which flags cause the trigger.
Turbo PMAC/PMAC2 Software Reference Alternatively, just the magnitude of the vector to the center can be specified with R{data} on the command line. If this is the case, Turbo PMAC will calculate the location of the center itself. If the value specified by {data} is positive, Turbo PMAC will compute the short arc path to the destination (<= 180o); if it is negative, Turbo PMAC will compute the long arc path (>= 180 o). It is not possible to specify a full circle in one command with the R vector specifier.
Turbo PMAC/PMAC2 Software Reference A{data} Function: A-Axis Move Type: Motion program (PROG or ROT) Syntax: A{data} where: {data} is a floating-point constant or expression representing the position or distance in user units for the A-axis This command causes a move of the A-axis. (See {axis}{data} descriptions, above.) If it follows a subroutine call (explicit or with PRELUDE) on a program line, it can be used instead to pass its value to the subroutine through use of the READ command.
Turbo PMAC/PMAC2 Software Reference On-line commands ABS, INC Program commands {axis}{data}, {axis}{data}{vector}{data}, INC ADDRESS Function: Type: Syntax: Motor/Coordinate System Modal Addressing PLC programs 1 to 31 only ADDRESS [#{constant}][&{constant}] ADR [#{constant}][&{constant}] where: {constant} following the # character is an integer constant from 1 to 32 representing the motor number to be addressed; {constant} following the & character is an integer constant from 1 to 16 representing t
Turbo PMAC/PMAC2 Software Reference This statement permits the user to mathematically determine which motor will be addressed. The value of the floating-point P-variable is rounded to the nearest integer, and if this integer value is out of the range 1 – 32, the remainder of the number when divided by 32 is used. For example, if the P-variable had a value of 34.3, Motor 2 would be addressed (remainder of 34/32 is 2).
Turbo PMAC/PMAC2 Software Reference Routine to hold first eight coordinate systems P10=1 WHILE (P10<9) ADDRESS&P10 COMMAND “H” P10=P10+1 ENDWHILE ; Loop thru motors ; Address C.S. using P10 value ; Feed hold addressed C.S. ; Increment to next C.S.
Turbo PMAC/PMAC2 Software Reference Note: This logical AND command, which acts on conditions, should not be confused with the bit-by-bit & (ampersand) operator that acts on values. Examples: IF (M11=1) AND (M12=1) AND (M21=0) CMD"R" M21=1 ENDIF ; This branch will start a motion program running ; on a cycle where inputs M11 and M12 are 1 and ; M21 is still zero. Note that M21 is immediately ; set to one so the run command will not be given ; again in the next cycle.
Turbo PMAC/PMAC2 Software Reference On-line command DEFINE TBUF Program commands TSEL, ADIS, IDIS, IROT, TINIT B{data} Function: B-Axis Move Type: Motion program (PROG and ROT) Syntax: B{data} where: {data} is a floating-point constant or expression representing the position or distance in user units for the B-axis This command causes a move of the B-axis. (See {axis}{data} description, above.
Turbo PMAC/PMAC2 Software Reference Program commands BLOCKSTOP, STOP. BLOCKSTOP Function: Type: Syntax: Mark End of Stepping Block Motion program (PROG and ROT) BLOCKSTOP BSTOP This statement marks the end of the block of statements, begun with a BLOCKSTART, to be done on a single STEP command, or to be blended together even if Isx92=1 (move blending disabled). This does not affect how a program is executed from a RUN command if Isx92=1. Examples: See example under BLOCKSTART, above.
Turbo PMAC/PMAC2 Software Reference {letter} is any letter of the English alphabet, except N or O, representing the variable into which the value following it will be placed (Q101 to Q126 for A to Z respectively); following {data} is a floating-point constant or expression representing the value to be put into the variable This command allows the program to execute a subprogram and then return execution to the next line in the program.
Turbo PMAC/PMAC2 Software Reference CC0 Function: Turn Off Cutter Radius Compensation Type: Motion program (PROG and ROT) Syntax: CC0 This turns off the cutter radius compensation mode, reducing it gradually through the next move. This is equivalent to the G40 command of the machine-tool standard RS-274 language. Examples: CCR0.5 CC1 X10 Y10 X10 Y20 X20 Y20 X20 Y10 X10 Y10 CC0 X0 Y0 ; 1/2 unit cutter radius ; Cutter compensation on to the left ; Compensation introduced during this move OPEN PROG 1000 ...
Turbo PMAC/PMAC2 Software Reference See Also: Cutter (Tool) Radius Compensation Program commands CC2, CC0, CCR{data}, NORMAL CC2 Function: Turn On 2D Cutter Radius Compensation Right Type: Motion program (PROG and ROT) Syntax: CC2 This turns on the cutter radius compensation mode, introducing the compensation gradually through the next move. The cutter is offset to the right of the programmed tool path, looking in the direction of cutter movement.
Turbo PMAC/PMAC2 Software Reference CC4 Function: Turn Off Cutter Radius Compensation Type: Motion program (PROG and ROT) Default: CC4 This turns off the cutter radius compensation mode, reducing it gradually through the next move. Unlike CC0, it does not automatically add a zero-distance move if it does not immediately find a programmed lead-out move. CC4 is equivalent to the G40 command of the machine-tool standard RS-274 language.
Turbo PMAC/PMAC2 Software Reference CIRCLE1 Function: Type: Syntax: Set Blended Clockwise Circular Move Mode Motion program (PROG and ROT) CIRCLE1 CIR1 This command puts the program into clockwise circular move mode. The plane for the circular interpolation is defined by the most recent NORMAL command, which has also defined the sense of clockwise and counterclockwise in the plane.
Turbo PMAC/PMAC2 Software Reference Examples: LINEAR X10Y0 F2 CIRCLE2 X20 Y10 J10 X15 Y15 I-5 CIRCLE1 X5 Y25 J10 ; Linear interpolation mode ; Linear move ; Counterclockwise circular interpolation mode ; Arc of 10-unit radius ; Arc of 5-unit radius ; Clockwise circle mode ; Arc move of 10-unit radius See Also: Circular Moves (Writing and Executing Motion Programs) I-variable Isx13 Program commands NORMAL, CIRCLE1, LINEAR, PVT, RAPID, SPLINE1, {axis}{data}{vector}{data} COMMANDx"{command}" Function: Type
Turbo PMAC/PMAC2 Software Reference do not have motor or coordinate-system specifiers. At power-up/reset, all PLC programs are addressing Motor 1 and C.S.1. There is no modal ADDRESS command in motion programs. Any motor-specific or coordinate-systemspecific command issued from within a motion program without a specifier is automatically addressed to Motor 1 or C.S.1, respectively.
Turbo PMAC/PMAC2 Software Reference M41=0 ENDIF See Also: Addressing Modes, On-Line Commands (Talking t Turbo PMAC) I-variables I1, I3, I6.
Turbo PMAC/PMAC2 Software Reference Also, commands that generate a response to the host (including errors if I6 is not equal to 2) potentially can fill up the response queue if there is no host or the host is not prepared to read the responses. This will temporarily halt program execution until the response queue is emptied.
Turbo PMAC/PMAC2 Software Reference The following table shows which Q-variable for the coordinate system is used for each axis destination value: Axis Q-Variable Axis Q-Variable Axis Q-Variable A Q91 U Q94 X Q97 B Q92 V Q95 Y Q98 C Q93 W Q96 Z Q99 Examples: ; Without subroutine A27 B35 CREAD(A,B) M91==Q91 M92==Q92 ; Setup for coordinate read in subprogram I38=1 ; Delay CALL until move calculated ; Part of main motion program X10 Y20 CALL 500 X15 Y25 CALL 500 ; Subprogram to implemen
Turbo PMAC/PMAC2 Software Reference See Also: Program commands CALL{data}, G{data}, M{data}, T{data}, RETURN DELAY{data} Function: Type: Syntax: Delay for Specified Time Motion program DELAY{data} DLY{data} where: {data} is a floating-point constant or expression, specifying the delay time in milliseconds This command causes Turbo PMAC to keep the command positions of all axes in the coordinate system constant (no movement) for the time specified in {data}.
Turbo PMAC/PMAC2 Software Reference If no buffer is open when this command is sent to PMAC, it will be executed immediately as an on-line command. Examples: DISABLE DISABLE DISABLE DIS PLC DIS PLC PLC 1 PLC 4,5 PLC 7..20 3,8,11 0..31 See Also: I-variable I5 On-line commands ENABLE PLC, DISABLE PLC, ENABLE PLCC, DISABLE PLCC, PAUSE PLC, RESUME PLC, Program command ENABLE PLC, DISABLE PLCC, ENABLE PLCC, PAUSE PLC, RESUME PLC DISABLE PLCC {constant}[,{constant}...
Turbo PMAC/PMAC2 Software Reference DISPLAY [{constant}] "{message}" Function: Type: Syntax: Display Text to Display Port Motion program (PROG and ROT), PLC program DISPLAY [{constant}] "{message}" DISP [{constant}] "{message}" where: {constant} is an integer value between 0 and 79 specifying the starting character number on the display; if no value is specified, 0 is used {message} is the ASCII text string to be displayed This command causes Turbo PMAC to send the string contained in {message} to th
Turbo PMAC/PMAC2 Software Reference See Also: Display Port (Connecting Turbo PMAC to the Machine); Accessory 12 (Basic Specifications) Program commands DISPLAY"{message}", COMMAND"{command}" DWELL Function: Type: Syntax: Dwell for Specified Time Motion program (PROG and ROT) DWELL{data} DWE{data} where: {data} is a non-negative floating point constant or expression representing the dwell time in milliseconds This command causes the card to keep the commanded positions of all axes in the coordinate sys
Turbo PMAC/PMAC2 Software Reference Note: With nested IF branches, be careful to match the ELSE statements to the proper IF statement. In a motion program, it is possible to have a single-line IF statement (IF({condition}) {action}). An ELSE statement on the next program line is matched to this IF statement automatically, even if wanting to match a previous IF statement. Put a non-ELSE statement in between to make the next ELSE statement match a previous IF statement.
Turbo PMAC/PMAC2 Software Reference ELSE X-10 See Also: Program commands IF, ENDIF. ENABLE PLC Function: Type: Syntax: Enable PLC Buffers Motion program (PROG and ROT), PLC program ENABLE PLC {constant}[,{constant}...] ENABLE PLC {constant}[..{constant}] ENA PLC {constant}[,{constant}...] ENA PLC {constant}[..
Turbo PMAC/PMAC2 Software Reference ENABLE PLCC 1,2,5 ENABLE PLCC 1..16 ENA PLCC 7 See Also: I-variable I5 On-line commands ENABLE PLC, DISABLE PLC, ENABLE PLCC, DISABLE PLCC, Program command ENABLE PLC, DISABLE PLC, DISABLE PLCC ENDIF Function: Type: Syntax: Mark End of Conditional Block Motion program (PROG only), PLC program ENDIF ENDI This statement marks the end of a conditional block of statements begun by an IF statement.
Turbo PMAC/PMAC2 Software Reference In the execution of a PLC program, when an ENDWHILE statement is encountered, that scan of the PLC is ended, and Turbo PMAC goes onto other tasks (communications, other PLCs). The next scan of this PLC will start at the matching WHILE statement.
Turbo PMAC/PMAC2 Software Reference If the feedrate programmed with the F statement causes any motor in the coordinate system to exceed its Ixx16 velocity limit (when active), all axes will be slowed so that no motor exceeds its limit.
Turbo PMAC/PMAC2 Software Reference Note: In a feedrate-specified move, if the move time for any non-feedrate axis, computed as axis distance divided by Isx86, is greater than the move time for the feedrate axes, computed as the vector distance divided by the feedrate, Turbo PMAC will use the move time for the non-feedrate axis instead. The FRAX command without arguments causes all axes in the coordinate system to be feedrate axes in subsequent move commands.
Turbo PMAC/PMAC2 Software Reference subroutines by following the G-Code with one or more sets of {letter}{data}, as in CALL and READ statements. Most users will have G-codes only in the range 0-99, which permits the use of PROG 1000 only and allows {data’} to equal {data} for direct specification of the line label.
Turbo PMAC/PMAC2 Software Reference If {data} is a constant, the path to the label will have been linked before program run time, so the jump is very quick. If {data} is a variable expression, it must be evaluated at run time, and the appropriate label then searched for. The search starts downward in the program to the end, and then continues (if necessary) from the top of the program down.
Turbo PMAC/PMAC2 Software Reference Note: Unlike an on-line homing command, the motor numbers in a program homing command are specified after the word HOME itself, not before. In addition, an online homing command simply starts the homing search – it does not give any indication when the search is complete; but a program homing command automatically recognizes the end of the search, and then continues on in the program. A PLC program can only issue an on-line HOME command. Examples: HOME1 HM1,2,3 HOME1..
Turbo PMAC/PMAC2 Software Reference See Also: Homing-Search Moves (Basic Motor Moves) On-line motor command HOME, HOMEZ Program command HOME I{data} Function: I-Vector Specification for Circular Moves or Normal Vectors Type: Motion program (PROG or ROT) Syntax: I{data} where: {data} is a floating-point constant or expression representing the magnitude of the I-component of the vector in scaled user axis units.
Turbo PMAC/PMAC2 Software Reference Examples: I130=30000 I902=1 I131=P131+1000 See Also: How Turbo PMAC Executes a Motion Program (Writing and Executing Motion Programs) On-line command I{constant}={expression} Program commands M{data}={expression), P{data}={expression}, Q{data}={expression}, M{data}=={expression} IDIS{constant} Function: Incremental displacement of X, Y, and Z axes Type: Motion program (PROG and ROT) Syntax: IDIS{constant} where: {constant} is an integer representing the number of the
Turbo PMAC/PMAC2 Software Reference With an action statement or statements following on that line, it will execute those statements provided the condition is true (this syntax is valid in motion programs only). If the condition is false, it will not execute those statements; it will only execute any statements on a false condition if the line immediately following begins with ELSE. If the next line does not begin with ELSE, there is an implied ENDIF at the end of the line.
Turbo PMAC/PMAC2 Software Reference The INC command without arguments causes all subsequent command positions in motion commands for all axes in the coordinate system running the motion program to be treated as incremental distances from the latest command point. This is known as incremental mode, as opposed to the default absolute mode. An INC statement with arguments causes the specified axes to be in incremental mode, and all others stay the way they were before.
Turbo PMAC/PMAC2 Software Reference IROT 40 IROT 40 ; Implement change, rotating 30 degrees from current ; This rotates a further 30 degrees Create a 3x3 matrix to scale the XYZ space by a factor of 3 Q50=3 Q51=0 Q52=0 Q53=0 Q54=3 Q55=0 Q56=0 Q57=0 Q58=3 IROT 50 ; Implement the change, scaling up by a factor of 3 IROT 50 ; Scale up by a further factor of 3 (total of 9x) See Also: Axis Matrix Transformations (Writing and Executing Motion Programs) On-line command DEFINE TBUF Program commands TSEL, ADIS, I
Turbo PMAC/PMAC2 Software Reference Examples: X10 Z20 I5 K5 Z(2*P1) K(P1) K33.333 NORMAL K-1 ; Specifies a full circle whose center is 33.333 units in the ; positive Z-direction from the start and end point ; Specifies a vector normal to the XY plane See Also: Circular Interpolation, Tool Radius Compensation (Writing and Executing Motion Programs) Motion Program Commands {axis}{data}{vector}{data}, ABS, INC, NORMAL, I, J.
Turbo PMAC/PMAC2 Software Reference The locking bit itself is always set to 1 at the end of a LOCK command. It will stay at 1 until cleared by an UNLOCK command. The status of locking bits 0-7 is reported as bits 4-11, respectively, of I4904. If no motion program buffer or PLC program buffer is open when this command is issued, this command will be executed immediately as an on-line command.
Turbo PMAC/PMAC2 Software Reference {expression} is a mathematical expression representing the value to be assigned to this Mvariable. This command sets the value of the specified M-variable to that of the expression on the right side of the equals sign. Note: In a motion program, the assignment is done as the line is processed, not necessarily in order with the actual execution of the move commands on either side of it.
Turbo PMAC/PMAC2 Software Reference Examples: X10 M1==1 X20 M60==P1+P2 M(Q5000)==0 ; Set Output 1 at start of actual blending to next move. See Also: How Turbo PMAC Executes a Motion Program, Synchronous Variable Assignment (Writing and Executing Motion Programs) Program Commands I{data}=, P{data}=, Q{data}=, M{data}=, M{data}&=, M{data}|=, M{data}^=.
Turbo PMAC/PMAC2 Software Reference {expression} is a mathematical expression representing the value to be ORed with this Mvariable. This form is equivalent to M{data}=M{data}|{expression}, except that the bit-by-bit OR and the assignment of the resulting value to the M-variable do not happen until the start of the following servo command. The expression itself is evaluated when the program line is encountered, as in a nonsynchronous statement.
Turbo PMAC/PMAC2 Software Reference See Also: How Turbo PMAC Executes a Motion Program, Synchronous Variable Assignment (Writing and Executing Motion Programs) Program Commands M{data}=, M{data}==, M{data}&=, M{data}|= MACROAUXREAD Function: Read (copy) variable value from Turbo PMAC MACRO slave Type: Uncompiled PLC 1 – 31 only Syntax: MACROAUXREAD{node #},M{slave var},{variable} MXR{node #},M{slave var},{variable} where: {node #} is a constant in the range 0 to 63 representing the number of
Turbo PMAC/PMAC2 Software Reference MACROAUXWRITE Function: Write (copy) variable value to Turbo PMAC MACRO slave Type: Uncompiled PLC 1 – 31 only Syntax: MACROAUXWRITE{node #},M{slave var},{variable} MXW{node #},M{slave var},{variable} where: {node #} is a constant in the range 0 to 63 representing the number of the node on the Turbo PMAC matching the slave node to be accessed, where the node number specification is: o {node #} = 0 – 15 specifies MACRO IC 0 nodes 0 – 15, which correspond to
Turbo PMAC/PMAC2 Software Reference where: {master #} is a constant (1-15) representing the number of the remote master whose variable is to be read; {master variable} is the name of the variable on the remote master station whose value is to be reported {ring-master variable} is the name of the variable on the Turbo PMAC executing the command into which the value of the remote master variable is to be copied This command causes Turbo PMAC to copy the value of the specified variable on the remote mas
Turbo PMAC/PMAC2 Software Reference {master #} is a constant (1-15) representing the number of the remote master whose variable is to be read; {master variable} is the name of the variable on the remote master station whose value is to be set; {ring-master variable} is the name of the variable on the Turbo PMAC executing the command from which the value of the remote master variable is to be copied.
Turbo PMAC/PMAC2 Software Reference {node #} = 0 – 15 specifies MACRO IC 0 nodes 0 – 15, which correspond to slave nodes 0 – 15 of the same master number as MACRO IC 0; {node #} = 16 – 31 specifies MACRO IC 1 (Ultralites with Option 1A only) nodes 0 – 15, which correspond to slave nodes 0 – 15 of the same master number as MACRO IC 1; {node #} = 32 – 47 specifies MACRO IC 2 (Ultralites with Option 1B only) nodes 0 – 15, which correspond to slave nodes 0 – 15 of the same master number as MACRO IC 2; {n
Turbo PMAC/PMAC2 Software Reference MACROSLVWRITE Function: Type: Syntax: Write (copy) Type 1 MACRO auxiliary parameter value Uncompiled PLC 1 – 31 only MACROSLVWRITE{node #},{slave variable},{PMAC variable} MSW{node #},{slave variable},{PMAC variable} where: {node #} is a constant in the range 0 to 63 representing the number of the node on the Turbo PMAC matching the slave node to be accessed, where the node number specification is: {node #} = 0 – 15 specifies MACRO IC 0 nodes 0 – 15, which correspo
Turbo PMAC/PMAC2 Software Reference N{constant} Function: Program Line Label Type: Motion program (PROG and ROT) Syntax: N{constant} where: 18 {constant} is an integer from 0 to 262,143 (2 -1) This is a label for a line in the program that allows the flow of execution to jump to that line with a GOTO, GOSUB, CALL, G, M, T, or D statement or a B command. A line needs only a label if the user wishes to be able to jump to that line. Line labels do not have to be in any sort of numerical order.
Turbo PMAC/PMAC2 Software Reference where: {vector} is one of the letters I, J, and K, representing components of the total vector parallel to the X, Y, and Z axes, respectively {data} is a constant or expression representing the magnitude of the particular vector component. This statement defines the orientation of the plane in XYZ-space in which circular interpolation and cutter radius compensation will take place by setting the normal (perpendicular) vector to that plane.
Turbo PMAC/PMAC2 Software Reference The surface-normal vector affects the compensation for the end-point of the move commanded on the same line as the surface-normal vector. It also affects the compensation for subsequent moves until another surface-normal vector is declared. In typical use, a new surface-normal vector is declared with each move, so the vector only affects the move on the same line in this case. Example: X3.76 Y8.29 Z-4.83 A34.32 C-29.75 NX0.866 NY0 NZ-0.
Turbo PMAC/PMAC2 Software Reference This statement specifies the Z-component of the surface-normal vector used for three-dimensional cutterradius compensation. This value is used along with the X and Y-components specified by the NX{data} and NY{data} statements, respectively, to compute the orientation of the vector. The total magnitude of the surface-normal vector specified with these three components does not matter, although typically a unit-magnitude vector is specified.
Turbo PMAC/PMAC2 Software Reference OR({condition}) Function: Conditional OR Type: PLC program Syntax: OR ({condition}) This statement forms part of an extended compound condition to be evaluated in a PLC program. It must immediately follow an IF, WHILE, AND, or OR statement. This OR is a boolean operator logically combining the condition on its line with the condition on the program line above.
Turbo PMAC/PMAC2 Software Reference Examples: P1=0 P746=P20+P40 P893=SIN(Q100)-0.5 See Also: How Turbo PMAC Executes a Motion Program (Writing and Executing Motion Programs) On-line command P{constant}={expression} Program commands I{data}={expression}, M{data}={expression}, Q{data}={expression}. PAUSE PLC Function: Type: Syntax: Pause execution of PLC programs Motion program (PROG or ROT), PLC program PAUSE PLC {constant}[,{constant}...] PAU PLC {constant}[,{constant}...] PAUSE PLC {constant}[..
Turbo PMAC/PMAC2 Software Reference See Also: I-variable I5 On-line commands ENABLE PLC, DISABLE PLC, , PAUSE PLC, RESUME PLC, LIST PLC Program command ENABLE PLC, DISABLE PLC, RESUME PLC PRELUDE Function: Type: Syntax: Specify automatic subroutine call function Motion program PRELUDE1{command} PRELUDE0 where: {command} is a subprogram call from the set CALL{data}, G{data}, M{data}, T{data}, D{data} The PRELUDE1 command permits automatic insertion of a subprogram call before each subsequent
Turbo PMAC/PMAC2 Software Reference ... OPEN PROG 1000 ... N70000 PRELUDE0 RETURN N71000 PRELUDE1 G71.1 RETURN N71100 READ(X,Y,P) {action based on parameters} RETURN ; G70 subroutine ; Stop PRELUDE calls ; G71 subroutine ; Make G71 modal by using PRELUDE ; G71.
Turbo PMAC/PMAC2 Software Reference PVT{data} Function: Set Position-Velocity-Time mode Type: Motion program (PROG and ROT) Syntax: PVT{data} where: {data} is a positive constant or expression representing the time of a segment in milliseconds This command puts the motion program into Position-Velocity-Time move mode, and specifies the time for each segment of the move, in milliseconds. In this mode, each move segment in the program must specify the ending position and velocity for the axis.
Turbo PMAC/PMAC2 Software Reference This command sets the value of the specified Q-variable to that of the expression on the right side of the equals sign. The assignment is done as the line is processed, which in a motion program performing a continuous move sequence is usually one or two moves ahead of the move actually executing at the time (because of the need to calculate ahead in the program).
Turbo PMAC/PMAC2 Software Reference Note: If the distance from the start point to the end point is more than twice the magnitude specified in {data}, there is no circular arc move possible. If the distance is greater than twice {data} by an amount less than Isx96 (expressed in user length units), Turbo PMAC will execute a spiral to the end point. If the distance is greater by more than Isx96, Turbo PMAC will stop the program with a run-time error.
Turbo PMAC/PMAC2 Software Reference READ Function: Read Arguments for Subroutine Type: Motion program (PROG only) Syntax: READ({letter},[{letter}...]) where: {letter} is any letter of the English alphabet, except N or O, representing the letter on the calling program line whose following value is to be read into a variable Note: No space is allowed between READ and the left parenthesis. This statement allows a subprogram or subroutine to take arguments from the calling routine.
Turbo PMAC/PMAC2 Software Reference Any letter may be READ except N or O, which are reserved for line labels (and should only be at the beginning of a line anyway). If a letter value is read from the calling line, the normal function of the letter (e.g. an axis move) is overridden, so that letter serves merely to pass a parameter to the subroutine.
Turbo PMAC/PMAC2 Software Reference Examples: RESUME PLC 0 RESUME PLC 1,2,5 RESUME PLC 1..16 RES PLC 7 See Also: I-variable I5 On-line commands ENABLE PLC, DISABLE PLC, , PAUSE PLC, RESUME PLC Program commands ENABLE PLC, DISABLE PLC, PAUSE PLC RETURN Function: Type: Syntax: Return From Subroutine Jump/End Main Program Motion program (PROG only) RETURN RET The RETURN command tells the motion program to jump back to the routine that called the execution of this routine.
Turbo PMAC/PMAC2 Software Reference This command causes the value in {data} to be loaded in variable Q127 for the coordinate system executing the motion program. It takes no other action. It is intended to pass spindle speed data in machine tool programs. The algorithms that actually control the spindle would then use Q127 in their routines; for instance, to set jog speed, or voltage output.
Turbo PMAC/PMAC2 Software Reference SENDA transmits the message to the Option 9T auxiliary serial port. Note: If a program, particularly a PLC program, sends messages immediately on powerup/reset, it can confuse a host-computer program (such as the Turbo PMAC Executive Program) that is trying to find Turbo PMAC by querying it and looking for a particular response. It is possible, particularly in PLC programs, to order the sending of messages faster than the port can handle them.
Turbo PMAC/PMAC2 Software Reference The byte value of the control character sent is 64 ($40) less than the byte value of {letter}. The letters that can be used and their corresponding control characters are: {letter} Letter Value Control Character Value @ NULL 64 0 A 65 1 B 66 2 C 67 3 ... X 88 24 Y 89 25 Z 90 26 [ ESC 91 27 \ 92 28 ] 93 29 ^ 94 30 _ 95 31 Note: Do not put the up-arrow character and the letter in quotes (e.g.
Turbo PMAC/PMAC2 Software Reference Typically, this command is used to correct the phasing of a motor at a known angle (such as the index pulse of the encoder) after an initial rough phasing (such as from Hall commutation registers). The copying action is done immediately on execution of the command. In a motion program, this is done at program calculation, which can be ahead of execution of the accompanying moves if the command is in the middle of a blended sequence of moves.
Turbo PMAC/PMAC2 Software Reference SPLINE2 Function: Put program in non-uniform cubic spline motion mode Type: Motion program (PROG and ROT) Syntax: SPLINE2 This modal command puts the program in non-uniform cubic spline mode. This mode is virtually identical to the SPLINE1 uniform cubic spline mode described above, except that the TM segment time can vary in a continuous spline. This makes SPLINE2 mode more flexible than SPLINE1 mode, but it takes slightly more computation time.
Turbo PMAC/PMAC2 Software Reference (Usually, programs 10n2 are used to implement the machine codes as the system designer sees fit.) The value of {data’} can be from 0.0 to 99.999, corresponding to line labels N0 to N99999. This structure permits the implementation of customizable T-Code routines for machine-tool style applications by the writing of subroutines in motion programs 10n2.
Turbo PMAC/PMAC2 Software Reference Examples: TA100 TA(P20) TA(45.3+SQRT(Q10)) See Also: Linear, Circular Blended Moves, Cubic Spline Moves, PVT Moves (Writing and Executing Motion Programs) I-variables Ixx17, Isx87, Isx88 Program commands TS, TM TINIT Function: Initialize selected transformation matrix Type: Motion program (PROG and ROT) Syntax: TINIT This command initializes the currently selected (with TSEL) transformation matrix for the coordinate system by setting it to the identity matrix.
Turbo PMAC/PMAC2 Software Reference There are several cases in which Turbo PMAC will not use the move time commanded with the TM statement: 23 If the specified move time is over the maximum – 2 msec for LINEAR or CIRCLE moves, 4096 msec for SPLINE and PVT moves – the move will be executed in the maximum allowed time, at a higher speed than what was programmed.
Turbo PMAC/PMAC2 Software Reference Examples: TR1.356 TR(Q10) See Also: Three-Dimensional Compensation Program commands CC3, CCR{data}, NX{data}, NY{data}, NZ{data}, TX{data}, TY{data}, TZ{data} TS{data} Function: Set S-Curve Acceleration Time Type: Motion program (PROG and ROT) Syntax: TS{data} where: {data} is a positive constant or expression representing the S-curve time in milliseconds.
Turbo PMAC/PMAC2 Software Reference See Also: Linear and Circular Blended Moves (Writing and Executing Motion Programs) I-variables Isx13, Ixx17, Ixx21, Isx87, Isx88 Program commands TA, TM, F, LINEAR, CIRCLE TSELECT{constant} Function: Type: Syntax: Select active transformation matrix for X, Y, and Z axes Motion program (PROG and ROT) TSELECT{constant} TSEL{constant} where: {constant} is an integer representing the number of the matrix to be used This command selects the specified matrix for use as t
Turbo PMAC/PMAC2 Software Reference The tool-orientation vector affects the compensation for the end-point of the move commanded on the same line as the tool-orientation vector. It also affects the compensation for subsequent moves until another tool-orientation vector is declared. In typical use, a new tool-orientation vector is declared with each move, so the vector only affects the move on the same line in this case. Examples: X3.76 Y8.29 Z-4.83 A34.32 C-29.75 NX0.866 NY0 NZ-0.5 TX-0.707 TY0.
Turbo PMAC/PMAC2 Software Reference This statement specifies the Z-component of the tool-orientation vector used for three-dimensional cutterradius compensation. This value is used along with the X and Y-components specified by the TX{data} and TY{data} statements, respectively, to compute the orientation of the vector. The total magnitude of the tool-orientation vector specified with these three components does not matter, although typically a unit-magnitude vector is specified.
Turbo PMAC/PMAC2 Software Reference The UNLOCK command permits the user to clear one of the eight process locking bits in Turbo PMAC, releasing the process for other tasks. These locking bits can prevent conflicts between tasks of different priorities attempting to manipulate the same register. On-line commands and PLCs 1-31 are background tasks; motion programs and PLC 0 are higher-priority foreground tasks. The user can check the status of a locking bit with the LOCK command.
Turbo PMAC/PMAC2 Software Reference Z10 W10 W(ABS(Q22*Q22)) M50 W1 See Also: Program commands {axis}{data}, A, B, C, U, V, X, Y, Z, CALL, PRELUDE, READ WAIT Function: Type: Syntax: Suspend program execution Motion program (PROG and ROT) WAIT This command may be used on the same line as a WHILE condition to hold up execution of the program until the condition goes false. When the condition goes false, program execution resumes on the next line.
Turbo PMAC/PMAC2 Software Reference (Valid in motion program only) With a statement following on the same line, it will repeatedly execute that statement as long as the condition is true. No ENDWHILE is used to terminate the loop. WHILE ({condition}) {action} (Valid in motion and PLC programs) With no statement following on the same line, it will execute statements on subsequent lines down to the next ENDWHILE statement. WHILE ({condition}) {statement} [{statement} ...
Turbo PMAC/PMAC2 Software Reference ... ENDWHILE See Also: Program Logic (Writing and Executing Motion Programs, Writing a PLC Program) How Turbo PMAC Executes a Motion Program (Writing and Executing Motion Programs) Program commands AND, OR, IF, ELSE, ENDIF, ENDWHILE X{data} Function: X-Axis Move Type: Motion program Syntax: X{data} where: {data} is a floating point constant or expression representing the position or distance in user units for the X-axis. This command causes a move of the X-axis.
Turbo PMAC/PMAC2 Software Reference Z{data} Function: Z-Axis Move Type: Motion program Syntax: Z{data} where: {data} is a floating point constant or expression representing the position or distance in user units for the Z-axis. This command causes a move of the Z-axis. (See {axis}{data} description, above.) If it follows a subroutine call (explicit or with PRELUDE) on a program line, it can be used instead to pass its value to the subroutine through use of the READ command.
Turbo PMAC/PMAC2 Software Reference TURBO PMAC MATHEMATICAL FEATURES Mathematical Operators + Function: Addition The + sign implements the addition of the numerical values preceding and following it. Multiplication, division, modulo (remainder), and bit-by-bit and operations have higher priority than addition, subtraction, bit-by-bit or, and bit-by-bit exclusive-or operations. Operations of the same priority are implemented from left to right.
Turbo PMAC/PMAC2 Software Reference If the divisor is equal to 0, the result will saturate at +/-247 (+/-223 for an integer division in a compiled PLC). No error will be reported, and the program will not stop. It is the programmer’s responsibility to check for possible division-by-zero errors. Execution time, 80 MHz CPU: 3.6 µsec interpreted, 1.6 µsec compiled floating-point, 0.
Turbo PMAC/PMAC2 Software Reference & Function: Bit-by-bit and The & sign implements the bit-by-bit logical and of the numerical value preceding it and the numerical value following it. A given bit of the result is equal to 1 if and only if the matching bits of both operands are equal to 1. The operation is done both on integer bits and fractional bits (if any).
Turbo PMAC/PMAC2 Software Reference ^ Function: Bit-by-bit exclusive or The ^ sign implements the bit-by-bit logical exclusive or (xor) of the numerical value preceding it and the numerical value following it. A given bit of the result is equal to 1 if and only if the matching bits of the two operands are different from each other. The operation is done both on integer bits and fractional bits (if any).
Turbo PMAC/PMAC2 Software Reference ACOS implements the inverse cosine, or arc-cosine, function, of the mathematical expression contained inside the following parentheses. This function returns values in degrees if I15 is set to the default value of 0; it returns values in radians if I15 is set to 1. If the argument inside the parentheses is outside of the legal domain of –1.0 to +1.0, an arbitrary value will be returned. No error will be reported, and the program will not stop.
Turbo PMAC/PMAC2 Software Reference Examples: P50=ATAN(P48/P49) C(ATAN(Q70/10)) ; Computes angle whose tan is P48/P49 ; Move C axis to specified angle ATAN2 Function: Two-argument trigonometric arc-tangent Syntax: ATAN2({expression}) Domain: All real numbers in both arguments Domain units: none Range: -Pi to +Pi radians (-180 to +180 degrees) Range units: Radians/degrees ATAN2 implements the expanded (two-argument) inverse tangent, or arc-tangent, function, of the mathematical expression contained inside
Turbo PMAC/PMAC2 Software Reference COS Function: Trigonometric cosine Syntax: COS({expression}) Domain: All real numbers Domain units: Radians/degrees Range: -1.0 to +1.0 Range units: none COS implements the trigonometric cosine function of the mathematical expression contained inside the following parentheses. This function interprets its argument in degrees if I15 is set to the default value of 0; it interprets its argument in radians if I15 is set to 1. Execution time, 80 MHz CPU: 5.
Turbo PMAC/PMAC2 Software Reference Examples: P50=2.
Turbo PMAC/PMAC2 Software Reference SQRT Function: Square root Syntax: SQRT({expression}) Domain: Non-negative real numbers Domain units: User-determined Range: Non-negative real numbers Range units: User-determined SQRT implements the positive square-root function of the mathematical expression contained inside the following parentheses. If the argument inside the parentheses is outside of the legal domain of non-negative numbers, an arbitrary value will be returned.
Turbo PMAC/PMAC2 Software Reference TURBO PMAC MEMORY AND I/O MAP Program (Machine Code) Memory P:$000000 P:$040000 P:$040800 P:$040800 P:$050000 P:$050000 - $00FFFF $0407FF $040BFF $044BFF $05FFFF $0BFFFF Delta Tau-provided firmware User-Written Servo (before user-written phase) User-Written Servo/Phase (Opt 5Cx) User-Written Servo/Phase (Opt 5Dx, 5Ex, 5Fx) Compiled PLCs (Standard Program Memory Configuration) Compiled PLCs (Extended Program Memory Configuration) Global Servo Registers X:$000000 Servo
Turbo PMAC/PMAC2 Software Reference 23 (Reserved for future use) Y:$000006 Global Status Register (Second word returned on ??? command) 0 Abort input 1-2 (Reserved for future use) 3 MACRO ring sync packet fault 4 MACRO ring break detected 5 Ring break message received 6 Clearing FSAVE flash sector 7 Bad FSAVE flash sector 8 Modbus interface active 9 MACRO ring active 10 MACRO ring test enable 11 Fixed Buffer Full 12-15 (Internal use) 16 3U Turbo System 17 PLC Buffer Open 18 ASCII Rotary Buffer Open 19 Moti
Turbo PMAC/PMAC2 Software Reference X:$00003E Y:$00003E X:$00003F Y:$00003F PLCC End Address Program Buffer End Address Battery-Backed RAM End Address Dual-Ported RAM End Address X:$000034 Y:$000034 Auxiliary serial port input buffer pointer Auxiliary serial port output buffer pointer X:$000037 Y:$000037 Phase interrupt task execution time (CPU cycles/2) Servo interrupt task execution time (CPU cycles/2) X:$000038 Y:$000038 X:$000039 Y:$000039 Maximum compensation table number Maximum active coordin
Turbo PMAC/PMAC2 Software Reference X:$000x8E/0E Y:$000x8E/0E X:$000x8F/0F Y:$000x8F/0F Motor # Address Motor # Address Motor # Address Motor # Address 1 $00009x 9 $00049x 17 $00089x 25 $000C9x D:$000x90/10 D:$000x91/11 X:$000x92/12 Y:$000x92/12 X:$000x93/13 Y:$000x93/13 X:$000x94/14 Y:$000x94/14 X:$000x95/15 Y:$000x95/15 X:$000x96/16 Y:$000x96/16 X:$000x97/17 Y:$000x97/17 X:$000x98/18 Y:$000x98/18 X:$000x99/19 Y:$000x99/19 X:$000x9A/1A Y:$000x9A/1A X:$000x9B/1B Y:$000x9B/1B X:$000x9C/1C Y:$000x9C/1C X:$
Turbo PMAC/PMAC2 Software Reference Y:$000x9F/1F Motor # Address Motor # Address Motor # Address Motor # Address Motor PID integration limit (Ixx63); ESA G0 gain (Iyy36/86) 1 2 3 4 5 6 7 8 $0000Ax 9 $0004Ax 17 $0008Ax 25 $000CAx $00012x 10 $00052x 18 $00092x 26 $000D2x $0001Ax 11 $0005Ax 19 $0009Ax 27 $000DAx $00022x 12 $00062x 20 $000A2x 28 $000E2x $0002Ax 13 $0006Ax 21 $000AAx 29 $000EAx $00032x 14 $00072x 22 $000B2x 30 $000F2x $0003Ax 15 $0007Ax 23 $000BAx 31 $000FAx $00042x 16 $00082x
Turbo PMAC/PMAC2 Software Reference Motor # Address Motor # Address Motor # Address Motor # Address 1 2 3 4 5 6 7 8 $0000Bx 9 $0004Bx 17 $0008Bx 25 $000CBx $00013x 10 $00053x 18 $00093x 26 $000D3x $0001Bx 11 $0005Bx 19 $0009Bx 27 $000DBx $00023x 12 $00063x 20 $000A3x 28 $000E3x $0002Bx 13 $0006Bx 21 $000ABx 29 $000EBx $00033x 14 $00073x 22 $000B3x 30 $000F3x $0003Bx 15 $0007Bx 23 $000BBx 31 $000FBx $00043x 16 $00083x 24 $000C3x 32 $00103x X:$000xB0/30 Motor servo status/control bits (First
Turbo PMAC/PMAC2 Software Reference Y:$000xB7/37 X:$000xB8/38 Y:$000xB8/38 X:$000xB9/39 Y:$000xB9/39 X:$000xBA/3A Y:$000xBA/3A X:$000xBB/3B Y:$000xBB/3B X:$000xBC/3C Y:$000xBC/3C X:$000xBD/3D Y:$000xBD/3D X:$000xBE/3E Y:$000xBE/3E X:$000xBF/3F Y:$000xBF/3F Motor # Address Motor # Address Motor # Address Motor # Address Motor estimated rotor magnetization current Motor commanded quadrature current (0 for microstep) Motor commanded direct current (0 for microstep) Motor actual quadrature current Motor actua
Turbo PMAC/PMAC2 Software Reference L:$000xC1/41 L:$000xC2/42 X:$000xC3/43 Y:$000xC3/43 L:$000xC4/44 X:$000xC5/45 Y:$000xC5/45 D:$000xC6/46 D:$000xC7/47 D:$000xC8/48 L:$000xC9/49 L:$000xCA/4A L:$000xCB/4B D:$000xCC/4C X:$000xCD/4D Y:$000xCD/4D X:$000xCE/4E Y:$000xCE/4E L:$000xCF/4F Motor # Address Motor # Address Motor # Address Motor # Address Motor jog speed (Ixx22) [floating point] Motor jog max.
Turbo PMAC/PMAC2 Software Reference D:$000xDA/5A L:$000xDB/5B D:$000xDC/5C D:$000xDD/5D D:$000xDE/5E X:$000xDF/5F Y:$000xDF/5F Motor # Address Motor # Address Motor # Address Motor # Address Motor integrated current value (X-reg units of Ixx58) Motor homing speed (cts/msec; floating point) Motor positive software position limit (Ixx13, cts) Motor negative software position limit (Ixx14, cts) Motor position rollover range (Ixx27, cts) Motor backlash slew rate (Ixx85) Motor backlash hysteresis (Ixx87) 1 2
Turbo PMAC/PMAC2 Software Reference X:$001089 VME bus interrupt vector (I96) X:$00108A VME bus DPRAM base address bits A23-A20 (I97) X:$00108B VME bus DPRAM enable (I98) X:$00108C VME bus address width control (I99) X:$00108D Baud-rate / card-address word (I54 / I0) X:$00108E Multiplexed A/D converter ring size (I5060) X:$00108F Control-character reporting motor set (I59) X:$001090 User program reference checksum value (set on CLOSE) X:$001091 Rotary buffer interrupt start point (I16) X:$001092 Rotary buff
Turbo PMAC/PMAC2 Software Reference Y:$002x01 X:$002x02 Y:$002x02 C.S. time base active address (from Isx93 or hold [=$3202]) C.S. actual slew-limited time base value (units of I10) C.S. actual time base slew rate (from Isx94 or Isx95) X:$002x03 Y:$002x03 D:$002x04 X:$002x05 Y:$002x05 L:$002x06 L:$002x07 D:$002x08 X:$002x09 Y:$002x09 X/Y:$002x0A - $002x0E L:$002x0F C. S. # Address C. S.
Turbo PMAC/PMAC2 Software Reference C. S. # Address C. S. # Address 1 2 3 4 5 6 7 8 $00203x 9 $00283x $00213x 10 $00293x $00223x 11 $002A3x $00233x 12 $002B3x $00243x 13 $002C3x $00253x 14 $002D3x $00263x 15 $002E3x $00273x 16 $002F3x X/Y:$002x30 - $002x34 (Reserved for future use) L:$002x35 C.S. minimum arc angle (Isx97) X/Y:$002x36 - $002x3D Lookahead internal registers X:$002x3E C.S. default program number (Isx91) Y:$002x3E C.S.
Turbo PMAC/PMAC2 Software Reference (Refer to ?? specification in On-Line Commands for detailed bit meanings) 0 Program running 1 Single step mode 2 Continuous-motion mode 3 Move-specified-by-time mode 4 Continuous-motion request 5 Radius vector incremental mode 6 A-axis incremental mode 7 A-axis used in feedrate calculations 8 B-axis incremental mode 9 B-axis used in feedrate calculations 10 C-axis incremental mode 11 C-axis used in feedrate calculations 12 U-axis incremental mode 13 U-axis used in feedra
Turbo PMAC/PMAC2 Software Reference L:$002x41 L:$002x42 L:$002x43 L:$002x44 L:$002x45 L:$002x46 L:$002x47 L:$002x48 L:$002x49 L:$002x4A L:$002x4B L:$002x4C L:$002x4D - $002x4F C. S. # Address C. S. # Address C.S. A-Axis desired move position (floating-point) C.S. B-Axis desired move position (floating-point) C.S. C-Axis desired move position (floating-point) C.S. U-Axis desired move position (floating-point) C.S. V-Axis desired move position (floating-point) C.S.
Turbo PMAC/PMAC2 Software Reference Y:$003100 23 PLC execution error PLC 0 buffer storage pointer Bits 0 – 18 22 23 X:$003101 - $00311F Y:$003101 - $00311F X:$003120 Y:$003120 X:$003121 - $003130 Y:$003121 - $003130 X:$003131 - $003140 Y:$003131 - $003140 X:$003141 - $003150 Y:$003141 - $003150 X:$003151 Y:$003151 X:$003152 - $003171 Y:$003152 - $003171 X:$003172 - $003191 Y:$003172 - $003191 X:$003192 - $0031B1 Y:$003192 - $0031B1 X:$0031B2 X:$0031EE $003300 - $0033FF PLC base address PLC disabled PLC
Turbo PMAC/PMAC2 Software Reference MACRO Ring Status Registers X:$00343A X:$00343B Current ring test period count MACRO IC 0 ring status Bits 0 – 11 Error count. Increments when any of these error bits are high: Data Overrun Byte Violation Packet Parity Data Underrun The maximum number of errors this register can hold is 4. This number of errors is compared to the tolerable number of errors defined by I81. 12 – 23 Sync packet count. Increments when sync is received.
Turbo PMAC/PMAC2 Software Reference MACRO Flag Registers X:$003440 - $00347F Bit 0 – 10 11 12 13 14 15 16 17 18 19 20 21 22 23 MACRO Status Flag Registers (Reserved for future use) Position captured flag MACRO node reset (power-on or command) Ring break detected elsewhere Amplifier enabled at station Amplifier/node shutdown fault Home flag input value Positive limit flag value Negative limit flag value User flag value W flag value V flag value U flag value T flag value Y:$003440 - $00347F MACRO Command F
Turbo PMAC/PMAC2 Software Reference Buffer Pointers X/Y:$003600 - $0036FF Main Serial Command/Response Buffers (>= V1.939 only: at X/Y:$001E00 - $001EFF in older) Bus Command/Response Buffers (>= V1.939 only: at X/Y:$001F00 - $001FFF in older) Synchronous M-variable queue (non-lookahead) (<= V1.
Turbo PMAC/PMAC2 Software Reference Note: Addresses specified with ‘0x’ prefix are host-computer address offsets from the base address of the DPRAM, as set by I92, I93, I94, and I97 for the VME bus, by I93 and I94 for the ISA and PC/104 buses, by the operating system for PCI bus, or by the communications microcontroller for the USB and Ethernet links. DPRAM Control Panel The DPRAM control panel is active if bit 1 of global setup variable I2 is set to 1 (I2 = 2 or 3).
Turbo PMAC/PMAC2 Software Reference (Note: Setting Bit 9 and 8 together creates Jog Stop (J/) command) Command is executed on setting matching enable bit of Y:$060000. X:$060001 Y:$060002 X:$060002 Y:$060003 X:$060003 Y:$060004 X:$060004 Y:$060005 X:$060005 Y:$060006 X:$060006 Y:$060007 X:$060007 Y:$060008 X:$060008 (0x0006) Coordinate System (Base+1) Override Value (1/32768 milliseconds per servo interrupt) Equivalent to %{100*256*X/I10} command, where X is this value.
Turbo PMAC/PMAC2 Software Reference Bit 15 C.S.
Turbo PMAC/PMAC2 Software Reference Motor # Host Address Address Motor # Host Address Address Motor # Host Address Address Motor # Host Address Address 1 2 3 4 5 6 7 8 0x0074 0x00A4 0x00D4 0x0104 0x0134 0x0164 0x0194 0x01C4 $06001D 9 0x01F4 $060029 10 0x0224 $060035 11 0x0254 $060041 12 0x0284 $06004D 13 0x02B4 $060059 14 0x02E4 $060065 15 0x0314 $060071 16 0x0344 $06007D 17 0x0374 $060089 18 0x03A4 $060095 19 0x03D4 $0600A1 20 0x0404 $0600AD 21 0x0434 $0600B9 22 0x0464 $0600
Turbo PMAC/PMAC2 Software Reference Motor # Host Address Address Motor # Host Address Address Motor # Host Address Address Motor # Host Address Address 1 0x0080 2 0x00B0 3 0x00E0 4 0x0110 5 0x0140 6 0x0170 7 0x01A0 8 0x01D0 $060020 9 0x0200 $06002C 10 0x0230 $060038 11 0x0260 $060044 12 0x0290 $060050 13 0x02C0 $06005C 14 0x02F0 $060068 15 0x0320 $060074 16 0x0350 $060080 17 0x0380 $06008C 18 0x03B0 $060098 19 0x03E0 $0600A4 20 0x0410 $0600B0 21 0x0440 $0600BC 22 0x0470 $0600C8 23 0x
Turbo PMAC/PMAC2 Software Reference Motor # Host Address Address Motor # Host Address Address Motor # Host Address Address Motor # Host Address Address 1 0x0088 2 0x00B8 3 0x00E8 4 0x0118 5 0x0148 6 0x0178 7 0x01A8 8 0x01D8 $060022 9 0x0208 $06002E 10 0x0238 $06003A 11 0x0268 $060046 12 0x0298 $060052 13 0x02C8 $06005E 14 0x02F8 $06006A 15 0x0328 $060076 16 0x0358 $060082 17 0x0388 $06008E 18 0x03B8 $06009A 19 0x03E8 $0600A6 20 0x0418 $0600B2 21 0x0448 $0600BE 22 0x0478 $0600CA 23 0x
Turbo PMAC/PMAC2 Software Reference Motor # Host Address Address Motor # Host Address Address Motor # Host Address Address Motor # Host Address Address 1 0x0094 2 0x00C4 3 0x00F4 4 0x0124 5 0x0154 6 0x0184 7 0x01B4 8 0x01E4 $060025 9 0x0214 $060031 10 0x0244 $06003D 11 0x0274 $060049 12 0x02A4 $060055 13 0x02D4 $060061 14 0x0304 $06006D 15 0x0334 $060079 16 0x0364 $060085 17 0x0394 $060091 18 0x03C4 $06009D 19 0x03F4 $0600A9 20 0x0424 $0600B5 21 0x0454 $0600C1 22 0x0484 $0600CD 23 0x
Turbo PMAC/PMAC2 Software Reference Global Background Data Reporting Buffer (used if I49 = 1) Y:$06019E (0x0678) X:$06019E (0x067A) Background data reporting time stamp Servo counter bits 0-15 (from X:$0) Background data reporting control & time stamp Bit 15 0 = PMAC accessing buffer; 1 = PMAC ready Bits 0-7 Servo counter bits 16-23 (from X:$0) JPAN control panel port word (PMAC1) JIO port word bits 0 –23 (PMAC2) JOPTO I/O port word (PMAC1) JIO port word bits 24 –31 (PMAC2) JTHW multiplexer port word DP:
Turbo PMAC/PMAC2 Software Reference C. S. # Host Adr Address C. S. # Host Adr Address 1 0x06A8 $0601AA 9 0x0AA8 $0602AA DP:$060xxA C. S. # Host Adr Address C. S. # Host Adr Address 1 0x06AC $0601AB 9 0x0AAC $0602AB 1 0x06B4 $0601AD 9 0x0AB4 $0602AD DP:$060xxD-$060xxE C. S. # Host Adr Address C. S.
Turbo PMAC/PMAC2 Software Reference C. S. # Host Adr Address C. S. # Host Adr Address 1 0x06C4 $0601B1 9 0x0AC4 $0602B1 DP:$060xx1-$060xx2 C. S. # Host Adr Address C. S. # Host Adr Address 1 0x06CC $0601B3 9 0x0ACC $0602B3 DP:$060xx3-$060xx4 C. S. # Host Adr Address C. S. # Host Adr Address 1 0x06D4 $0601B5 9 0x0AD4 $0602B5 DP:$060xx5-$060xx6 C. S. # Host Adr Address C. S.
Turbo PMAC/PMAC2 Software Reference C. S. # Host Adr Address C. S. # Host Adr Address 1 0x06E4 $0601B9 9 0x0AE4 $0602B9 DP:$060xx9-$060xxA C. S. # Host Adr Address C. S. # Host Adr Address 1 0x06EC $0601BB 9 0x0AEC $0602BB DP:$060xxB-$060xxC C. S. # Host Adr Address C. S. # Host Adr Address 1 0x06F4 $0601BD 9 0x0AF4 $0602BD DP:$060xxD-$060xxE C. S. # Host Adr Address C. S.
Turbo PMAC/PMAC2 Software Reference C. S. # Host Address Address C. S.
Turbo PMAC/PMAC2 Software Reference C. S. # Host Adr Address C. S.
Turbo PMAC/PMAC2 Software Reference Binary Rotary Program Buffer Control (used after OPEN BIN ROT) C. S. # Host Adr Address C. S. # Host Adr Address 1 0x1050 $060414 9 0x10B0 $06042C Y:$0604xx X:$0604xx C. S. # Host Adr Address C. S.
Turbo PMAC/PMAC2 Software Reference X:$070008 X:$070009 X:$07000A X:$07000B X:$07000C X:$07000D X:$07000E X:$07000F Y:$070000 Y:$070001 Y:$070002 Y:$070003 Y:$070004 Y:$070005 Y:$070006 Y:$070007 Y:$070008 Y:$070009 Y:$07000A Y:$07000B Y:$07000C Y:$07000D Y:$07000E Y:$07000F (Bits 0-7; from I91) VME Active Base Address Bits A31-A24 (Bits 0-7; from I92) VME Active Mailbox Base Address Bits A23-A16 ISA Active DPRAM Base Address bits A23-A16 (Bits 0-7; from I93) VME Active Mailbox Base Address Bits A15-A08
Turbo PMAC/PMAC2 Software Reference 18 19 20 21 22 23 X/Y:$070801 Bits: 0 1 2 3 4 5 6 7 ACC_FLT6: Channel 6 Accessory Fault ACC_FLT5: Channel 5 Accessory Fault ACC_FLT4: Channel 4 Accessory Fault ACC_FLT3: Channel 3 Accessory Fault ACC_FLT2: Channel 2 Accessory Fault ACC_FLT1: Channel 1 Accessory Fault I/O Buffer IC Direction Control OUT8: Inverted as RS output on JDISP XIN_1: Jumper E1 input; phase/servo clock direction status XIN_2: Jumper E2 input (40/60 MHz control) XIN_3: Jumper E3 input (re-initiali
Turbo PMAC/PMAC2 Software Reference PMAC-Style Servo ASIC Registers IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address Y:$07xx0x 0-1 0-2 0-3 0-4 1-1 1-2 1-3 1-4 PMAC - 1 PMAC - 2 PMAC - 3 PMAC - 4 PMAC - 5 PMAC - 6 PMAC - 7 PMAC - 8 $078000 2-1 24P/V #1 - 1 $078004 2-2 24P/V #1 - 2 $078008 2-3 24P/V #1 - 3 $07800C 2-4 24P/V #1 - 4 $078100 3-1 24P/V #1 - 5 $078104 3-2 24P/V #1 -
Turbo PMAC/PMAC2 Software Reference 0-1 0-2 0-3 0-4 1-1 1-2 1-3 1-4 IC# - Chan# PMAC 1 PMAC 2 PMAC 3 PMAC 4 PMAC 5 PMAC 6 PMAC 7 PMAC -8 Board Chan# $078001 $078005 $078009 $07800D $078101 $078105 $078109 $07810D Address 2-1 2-2 2-3 2-4 3-1 3-2 3-3 3-4 IC# - Chan# 24P/V 24P/V 24P/V 24P/V 24P/V 24P/V 24P/V 24P/V Board #1 - 1 #1 - 2 #1 - 3 #1 - 4 #1 - 5 #1 - 6 #1 - 7 #1 - 8 Chan# $078201 $078205 $078209 $07820D $078301 $078305 $078309 $07830D Address 4-1 4-2 4-3 4-4 5-1 5-2 5-3 5-4 IC# - Chan# 24P/V 24P/V 24
Turbo PMAC/PMAC2 Software Reference X:$07xx0x IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address Encoder servo position (2*counts; LSB is direction) 0-1 0-2 0-3 0-4 1-1 1-2 1-3 1-4 PMAC - 1 PMAC - 2 PMAC - 3 PMAC - 4 PMAC - 5 PMAC - 6 PMAC - 7 PMAC - 8 $078003 2-1 24P/V #1 - 1 $078002 2-2 24P/V #1 - 2 $07800B 2-3 24P/V #1 - 3 $07800A 2-4 24P/V #1 - 4 $078103 3-1 24P/V #1 - 5 $0
Turbo PMAC/PMAC2 Software Reference IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address X:$07xx0x 0-1 0-2 0-3 0-4 1-1 1-2 1-3 1-4 PMAC - 1 PMAC - 2 PMAC - 3 PMAC - 4 PMAC - 5 PMAC - 6 PMAC - 7 PMAC - 8 $078003 $078007 $07800B $07800F $078103 $078107 $07810B $07810F 2-1 2-2 2-3 2-4 3-1 3-2 3-3 3-4 24P/V #1 - 1 24P/V #1 - 2 24P/V #1 - 3 24P/V #1 - 4 24P/V #1 - 5 24
Turbo PMAC/PMAC2 Software Reference PMAC2-Style Servo ASIC Registers Note: For addressing of alternate Servo ICs n* on the UBUS expansion port, add $20 to the addresses for Servo IC ‘n’ shown in these tables.
Turbo PMAC/PMAC2 Software Reference 18 19 20 21 22 23 IC# - Chan# Board - Chan# Address IC# - Chan# Board - Chan# Address IC# - Chan# Board - Chan# Address IC# - Chan# Board - Chan# Address IC# - Chan# Board - Chan# Address Negative End Limit (MLIMn) Input Value User Flag (USERn) Input Value FlagWn Input Value FlagVn Input Value FlagUn Input Value FlagTn Input Value 0-1 PMAC2-1 $078001 2-1 24P/V/E2 #1 - 1 $078201 4-1 24P/V/E2 #2 - 1 $079201 6-1 24P/V/E2 #3 - 1 $07A201 8-1 24P/V/E2 #4 - 1 $07B201 0-2 PM
Turbo PMAC/PMAC2 Software Reference IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address Y:$07xx0x Bits: X:$07xx0x Bits: IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address 0-1 0-2 0-3 0-4 1-1 1-2 1-3 1-4 PMAC2-1 PMAC2-2 PMAC2-3 PMAC2-4 PMAC2-5 PMAC2-6 PMAC2-7 PMAC2-8 $078002 2
Turbo PMAC/PMAC2 Software Reference Y:$07xx0x Bits: X:$07xx0x IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address Channel n Output B Command Value 8-23: PWM Command Value 6-23: Serial DAC Command Value 0-5: Not used Channel n Flag Position Capture Value; 24 bits, units of counts 0-1 PMAC2-1 0-2 PMAC2-2 0-3 PMAC2-3 0-4 PMAC2-4 1-1 PMAC2-5 1-2 PMAC2-6 1-3 PMAC2-7 1-4 PMAC2-8 $078004 2-1 24P/
Turbo PMAC/PMAC2 Software Reference IC# - Chan# Board - Chan# Address IC# - Chan# Board - Chan# Address IC# - Chan# Board - Chan# Address IC# - Chan# Board - Chan# Address IC# - Chan# Board - Chan# Address X:$07xx04 Bits 0-1 PMAC2-1 $078004 2-1 24P/V/E2 #1 - 1 $078204 4-1 24P/V/E2 #2 - 1 $079204 6-1 24P/V/E2 #3 - 1 $07A204 8-1 24P/V/E2 #4 - 1 $07B204 1-1 PMAC2-5 $078104 3-1 24P/V/E2 #1 - 5 $078304 5-1 24P/V/E2 #2 - 5 $079304 7-1 24P/V/E2 #3 - 5 $07A304 9-1 24P/V/E2 #4 - 5 $07B304 Servo IC Clock Control
Turbo PMAC/PMAC2 Software Reference IC# - Chan# Board - Chan# Address IC# - Chan# Board - Chan# Address IC# - Chan# Board - Chan# Address IC# - Chan# Board - Chan# Address IC# - Chan# Board - Chan# Address X:$07xx0C 1-2 PMAC2-6 $07810C 3-2 24P/V/E2 #1 -6 $07830C 5-2 24P/V/E2 #2 -6 $07930C 7-2 24P/V/E2 #3 -6 $07A30C 9-2 24P/V/E2 #4 -6 $07B30C DAC Strobe Word, 24 bits (I7m05) (Shifted out MSB first one bit per DAC_CLK cycle, starting on rising edge of phase clock) IC# - Chan# Board - Chan# Address IC# - Ch
Turbo PMAC/PMAC2 Software Reference IC# - Chan# Board - Chan# Address IC# - Chan# Board - Chan# Address IC# - Chan# Board - Chan# Address IC# - Chan# Board - Chan# Address IC# - Chan# Board - Chan# Address X:$07xx1C Bits: 0-4 PMAC2-4 $07801C 2-4 24P/V/E2 #1 - 4 $07821C 4-4 24P/V/E2 #2 - 4 $07921C 6-4 24P/V/E2 #3 - 4 $07A21C 8-4 24P/V/E2 #4 - 4 $07B21C 1-4 PMAC2-8 $07811C 3-4 24P/V/E2 #1 - 8 $07831C 5-4 24P/V/E2 #2 - 8 $07931C 7-4 24P/V/E2 #3 - 8 $07A31C 9-4 24P/V/E2 #4 - 8 $07B31C Servo IC PWM, PFM, Max
Turbo PMAC/PMAC2 Software Reference IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address 0-1 0-2 0-3 0-4 1-1 1-2 1-3 1-4 PMAC2-1 PMAC2-2 PMAC2-3 PMAC2-4 PMAC2-5 PMAC2-6 PMAC2-7 PMAC2-8 $078005 $07800D $078015 $07801D $078105 $07810D $078115 $07811D 2-1 2-2 2-3 2-4 3-1 3-2 3-3 3-4 24P/V/E2 #1 - 1 24P/V/E2 #1 - 2 24P/V/E2 #1 - 3 24P/V/E2 #1 - 4 24P/V/E2 #1 - 5 24P/V
Turbo PMAC/PMAC2 Software Reference 7: 8-9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: Flag Capture Invert Control (0=no inversion, 1=inversion) Capture Flag Select Control (I7mn3) 00: Home Flag (HMFLn) 01: Positive End Limit (PLIMn) 10: Negative End Limit (MLIMn) 11: User Flag (USERn) Encoder Counter Reset Control (1=reset) Position Compare Initial State Write Enable Position Compare Initial State Value Position Compare Channel Select (I7mn1) (0= use this channel's encoder; 1=use first enco
Turbo PMAC/PMAC2 Software Reference IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address Y:$07xx0x Bits: X:$07xx0x IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address IC# - Chan# Board Chan# Address 0-1 PMAC2-1 0-2 PMAC2-2 0-3 PMAC2-3 0-4 PMAC2-4 1-1 PMAC2-5 1-2 PMAC2-6 1-3 PMAC2-7 1-4 PMAC2-8 $078006 2-1 24P/V/E2 #1
Turbo PMAC/PMAC2 Software Reference Turbo PMAC2 MACRO and I/O ASIC Registers Note: Starting with firmware version 1.936, it is possible to assign any of 16 possible base addresses to MACRO ICs with I20, I21, I22, and I23. This is useful only for certain extended UMAC Turbo systems. Turbo PMAC2 boards that are not Ultralite and not UMAC have only one MACRO IC with a fixed base address of $078400.
Turbo PMAC/PMAC2 Software Reference X:$078402 Bits: Y:$078403 Bits: X:$078403 Bits: Y:$078404 Bits: ... 15 SEL7 Data Value 16-23 Not used JTHW Port Data Direction Control Register (when used as general I/O; see Y:$078406) 0 DAT0 Direction Control (Must be 0 to use standard port accessories) ... 7 DAT7 Direction Control (Must be 0 to use standard port accessories) 8 SEL0 Direction Control (Must be 1 to use standard port accessories) ...
Turbo PMAC/PMAC2 Software Reference X:$078404 Bits: Y:$078405 Bits: X:$078405 Bits: Y:$078406 Bits: X:$078406 18 I/O18 Data Type Control (0=MLIM2*; 1=I/O18) 19 I/O19 Data Type Control (0=USER2*; 1=I/O19) 20 I/O20 Data Type Control (0=FlagT2*; 1=I/O20) 21 I/O21 Data Type Control (0=FlagU2*; 1=I/O21) 22 I/O22 Data Type Control (0=FlagV2*; 1=I/O22) 23 I/O23 Data Type Control (0=FlagW2*; 1=I/O23) (All bits: 0=dedicated hardware I/O; 1=general I/O) (All bits must be 1 for JI/O Port to function as general I
Turbo PMAC/PMAC2 Software Reference Bits: 0 DAT0 Inversion Control ... 7 DAT7 Inversion Control 8 SEL0 Inversion Control ... 15 SEL7 Inversion Control (All bits: 0=Non-inverting; 1=Inverting) (All bits must be 0 to use standard port accessories) 16-23 Not used Y:$078407 JDISP, J??? Port Data Type Control Register Bits: 0 DISP0 Data Type Control ... 7 DISP7 Data Type Control 8 CTRL0 Data Type Control ...
Turbo PMAC/PMAC2 Software Reference X:$07840E Not used MACRO IC# Address Y:$07x40F Bits: X:$07x40F Bits 0 $07840F 1 $07940F 2 $07A40F 3 $07B40F MACRO Ring Status and Control (I6840, I6890, I6940, I6990) 0 Data overrun error (cleared when read) 1 Byte violation error (cleared when read) 2 Packet parity error (cleared when read) 3 Data underrun error (cleared when read) 4 Master station enable 5 Synchronizing master station enable 6 Sync packet received (cleared when read) 7 Sync packet phase lock en
Turbo PMAC/PMAC2 Software Reference 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Encoder loss (from T,U,V,W) (latched to 1 on loss, cleared by writing 0) Encoder Count Error (0 on counter reset, 1 on illegal transition) Position Compare (EQUn*) output value Position-Captured-On-Gated-Index Flag (=0 on read of captured position register, =1 on trigger capture) Position-Captured Flag (on any trigger) (=0 on read of captured position register, =1 on trigger capture) Handwheel 1 Channel A (HWAn) Input Valu
Turbo PMAC/PMAC2 Software Reference X:$07841C Bits: (Shifted out MSB first one bit per DAC_CLK cycle, starting on rising edge of phase clock; appears on SEL0 if in dedicated mode) Supplementary PWM, PFM, MaxPhase* Control Word 0-7: PWM* Dead Time (16*PWM* CLK cycles) (I6804) also PFM* pulse width (PFM* CLK cycles) 8-23: PWM* Max Count Value (I6800) PWM* Frequency = 117.
Turbo PMAC/PMAC2 Software Reference 18: 19: 20: 21: 22: 23: (0=no demux; 1=demux hall signals from index input) Reserved for future use (reports as 0) Invert PFM Direction Control (0=no inversion, 1=invert) (I68n8) (Bits 20-21 form I68n7) Invert A & B Output Control (0=no inversion, 1=invert) Invert C Output Control (0=no inversion, 1=invert) (Bits 22-23 form I68n6) Output A & B Mode Select (0=PWM, 1=DAC) Output C Mode Select (0=PWM, 1=PFM) Chan # Address Y:$07841x Bits: X:$07841x 2* $07841E Supplement
Turbo PMAC/PMAC2 Software Reference Y:$07x427 X:$07x427 Y:$07x428 X:$07x428 Y:$07x429 X:$07x429 Y:$07x42A X:$07x42A Y:$07x42B X:$07x42B Y:$07x42C X:$07x42C Y:$07x42D X:$07x42D Y:$07x42E X:$07x42E Y:$07x42F X:$07x42F (bits 8-23; bits 0-7 not used) MACRO Node 1 third 16-bit command(write) and feedback (read) register (bits 8-23; bits 0-7 not used) MACRO Node 3 third 16-bit command(write) and feedback (read) register (bits 8-23; bits 0-7 not used) MACRO Node 4 24-bit command(write) and feedback (read) regist
Turbo PMAC/PMAC2 Software Reference Y:$07x434 X:$07x434 Y:$07x435 X:$07x435 Y:$07x436 X:$07x436 Y:$07x437 X:$07x437 Y:$07x438 X:$07x438 Y:$07x439 X:$07x439 Y:$07x43A X:$07x43A Y:$07x43B X:$07x43B Y:$07x43C X:$07x43C Y:$07x43D X:$07x43D Y:$07x43E X:$07x43E Y:$07x43F X:$07x43F (bits 8-23; bits 0-7 not used) MACRO Node 9 24-bit command(write) and feedback (read) register MACRO Node 11 24-bit command(write) and feedback (read) register MACRO Node 9 first 16-bit command(write) and feedback (read) register (bit
Turbo PMAC/PMAC2 Software Reference Y:$078801 Y:$078802 10 11 12 13 14 15 16 17 18 19 20 21 22 23 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 0 1 2 3 4 5 6 7 8 9 10 11 12 Turbo PMAC Memory and I/O Map Prejog Input (J2-7) Start (Run) Input (J2-8) Step/Quit Input (J2-9) Stop (Abort) Input (J2-10) Home Command Input (J2-11) Feed Hold Input (J2-12) Motor/CoordSys Select Inp. Bit 0 (J2-3) Motor/CoordSys Select Inp. Bit 1 (J2-5) Motor/CoordSys Select Inp.
Turbo PMAC/PMAC2 Software Reference 13 14 15 16 17 18 19 20 21 22 23 Machine Output 6 (MO6) (J5-21) Machine Output 7 (MO7) (J5-19) Machine Output 8 (MO8) (J5-17) D_RS Line (dedicated use) Read/Write Line (dedicated use) EACLK (EAROM Clock -- dedicated) ENA422 (Enable RS422 -- dedicated) INPOS (In Position Status Line) BFUL (Buffer Full Status Line) EROR (Error Status Line) F1ER (Following Error Status Line) Turbo PMAC2 Option 12 A/D Register Y:$078800 Option 12 Multiplexed A/D register Bits 0-11: Option
Turbo PMAC/PMAC2 Software Reference Y:$078903 Y:$078A03 Y:$078B03 Bits: Y:$078804 Y:$078904 Y:$078A04 Y:$078B04 Bits: Y:$078805 Y:$078905 Y:$078A05 Y:$078B05 Bits: Acc-3E/4E Board with Jumper E2 selected Acc-3E/4E Board with Jumper E3 selected Acc-3E/4E Board with Jumper E4 selected 0 – 7 Acc-4E IN24 – IN31 0 – 7 Acc-3E I/O24 – I/O31 8 – 15 Acc-3E I/O72 – I/O79 16 – 23 Acc-3E I/O120 – I/O127 Acc-3E/4E Board with Jumper E1 selected Acc-3E/4E Board with Jumper E2 selected Acc-3E/4E Board with Jumper E3 se
Turbo PMAC/PMAC2 Software Reference JEXP Expansion Port I/O Registers X/Y:$078A00 Y:$078A00 Y:$078A00 Y:$078A01 Y:$078A02 Y:$078A03 X/Y:$078B00 Y:$078B00 Y:$078B00 Y:$078B01 Y:$078B02 Y:$078B03 X/Y:$078C00 Y:$078C00 Y:$078C00 Y:$078C01 Y:$078C02 Y:$078C03 X/Y:$078D00 Y:$078D00 Y:$078D01 Y:$078D02 Y:$078D03 Y:$078D04 X/Y:$078E00 Y:$078E00 Y:$078E00 Y:$078E01 Y:$078E02 Y:$078E03 X/Y:$078F00 Y:$078F00 Y:$078F00 Y:$078F01 Y:$078F02 Y:$078F03 First Expansion Port I/O Base Address (CS04) First Accessory-36 (con
Turbo PMAC/PMAC2 Software Reference X/Y:$078C00 X/Y:$078D00 X/Y:$078E00 X/Y:$078F00 X/Y:$079C00 X/Y:$079D00 X/Y:$079E00 X/Y:$079F00 X/Y:$07AC00 X/Y:$07AD00 X/Y:$07AE00 X/Y:$07AF00 X/Y:$07BC00 X/Y:$07BD00 X/Y:$07BE00 X/Y:$07BF00 UBUS Port I/O Base Address 0A (CS10, A13=0, A12=0) UBUS Port I/O Base Address 2A (CS12, A13=0, A12=1) UBUS Port I/O Base Address 4A (CS14, A13=1, A12=0) UBUS Port I/O Base Address 6A (CS16, A13=1, A12=1) UBUS Port I/O Base Address 0B (CS10, A13=0, A12=0) UBUS Port I/O Base Address
Turbo PMAC/PMAC2 Software Reference TURBO PMAC SUGGESTED M-VARIABLE DEFINITIONS This file contains suggested definitions for M-variables on the Turbo PMAC. Note that these are only suggestions; the user is free to make whatever definitions are desired. Clear Existing Definitions CLOSE M0..
Turbo PMAC/PMAC2 Software Reference M50->Y:$078801,0,1 M51->Y:$078801,1,1 M52->Y:$078801,2,1 M53->Y:$078801,3,1 M54->Y:$078801,4,1 M55->Y:$078801,5,1 M56->Y:$078801,6,1 M57->Y:$078801,7,1 M58->Y:$078801,0,8,U ; DAT0 Input ; DAT1 Input ; DAT2 Input ; DAT3 Input ; DAT4 Input ; DAT5 Input ; DAT6 Input ; DAT7 Input ; DAT0-7 Inputs treated as a byte Miscellaneous Global Registers M70->X:$FFFF8C,0,24 M71->X:$000037,0,24 M72->Y:$000037,0,24 M73->X:$00000B,0,24 M80->X:$000025,0,24 M81->X:$000024,0,24 M82->Y:$001
Turbo PMAC/PMAC2 Software Reference M121->X:$078000,21,1 M122->X:$078000,22,1 M123->X:$078000,23,1 ; -LIM1 (positive end) input status ; +LIM1 (negative end) input status ; FAULT1 input status Motor #1 Status Bits M130->Y:$0000C0,11,1 M131->X:$0000B0,21,1 M132->X:$0000B0,22,1 M133->X:$0000B0,13,1 M135->X:$0000B0,15,1 M137->X:$0000B0,17,1 M138->X:$0000B0,18,1 M139->X:$0000B0,19,1 M140->Y:$0000C0,0,1 M141->Y:$0000C0,1,1 M142->Y:$0000C0,2,1 M143->Y:$0000C0,3,1 M144->Y:$0000C0,13,1 M145->Y:$0000C0,10,1 M146-
Turbo PMAC/PMAC2 Software Reference M206->Y:$078004,0,24,U M210->X:$078004,10,1 M211->X:$078004,11,1 M212->X:$078004,12,1 M213->X:$078004,13,1 M214->X:$078004,14,1 M216->X:$078004,16,1 M217->X:$078004,17,1 M218->X:$078004,18,1 M219->X:$078004,19,1 M220->X:$078004,20,1 M221->X:$078004,21,1 M222->X:$078004,22,1 M223->X:$078004,23,1 ; ENC2 time between counts (SCLK cycles) ; ENC2 count-write enable control ; EQU2 compare flag latch control ; EQU2 compare output enable ; EQU2 compare invert enable ; AENA2/DIR
Turbo PMAC/PMAC2 Software Reference M279->X:$00012E,8,16,S ; #2 PID internal filter result (16-bit DAC bits) Motor #2 Axis Definition Registers M291->L:$00014F M292->L:$000150 M293->L:$000151 M294->L:$000152 ; #2 X/U/A/B/C-Axis scale factor (cts/unit) ; #2 Y/V-Axis scale factor (cts/unit) ; #2 Z/W-Axis scale factor (cts/unit) ; #2 Axis offset (cts) Servo IC 0 Registers for PMAC Channel 3 (usually for Motor #3) M301->X:$078009,0,24,S M302->Y:$07800B,8,16,S M303->X:$07800B,0,24,S M305->Y:$07800E,8,16,S M3
Turbo PMAC/PMAC2 Software Reference M368->X:$0001BF,8,16,S M369->D:$000190 M370->D:$0001B4 M371->X:$0001B4,24,S M372->L:$0001D7 M373->Y:$0001CE,0,24,S M374->D:$0001EF M375->X:$0001B9,8,16,S M376->Y:$0001B9,8,16,S M377->X:$0001BC,8,16,S M378->Y:$0001BC,8,16,S M379->X:$0001AE,8,16,S ; #3 Filter Output (16-bit DAC bits) ; #3 Compensation correction (1/[Ixx08*32] cts) ; #3 Present phase position (including fraction) ; #3 Present phase position (counts *Ixx70) ; #3 Variable jog position/distance (cts) ; #3 Enc
Turbo PMAC/PMAC2 Software Reference M446->Y:$000240,6,1 M447->Y:$000240,5,1 M448->Y:$000240,8,1 M449->Y:$000240,9,1 ; #4 Integrated following error fault bit ; #4 I2T fault bit ; #4 Phasing error fault bit ; #4 Phasing search-in-progress bit Motor #4 Move Registers M461->D:$000208 M462->D:$00020B M463->D:$000247 M464->D:$00024C M466->X:$00021D,0,24,S M467->D:$00020D M468->X:$00023F,8,16,S M469->D:$000210 M470->D:$000234 M471->X:$000234,24,S M472->L:$000257 M473->Y:$00024E,0,24,S M474->D:$00026F M475->X:$
Turbo PMAC/PMAC2 Software Reference Motor #5 Status Bits M530->Y:$0002C0,11,1 M531->X:$0002B0,21,1 M532->X:$0002B0,22,1 M533->X:$0002B0,13,1 M535->X:$0002B0,15,1 M537->X:$0002B0,17,1 M538->X:$0002B0,18,1 M539->X:$0002B0,19,1 M540->Y:$0002C0,0,1 M541->Y:$0002C0,1,1 M542->Y:$0002C0,2,1 M543->Y:$0002C0,3,1 M544->Y:$0002C0,13,1 M545->Y:$0002C0,10,1 M546->Y:$0002C0,6,1 M547->Y:$0002C0,5,1 M548->Y:$0002C0,8,1 M549->Y:$0002C0,9,1 ; #5 Stopped-on-position-limit bit ; #5 Positive-end-limit-set bit ; #5 Negative-en
Turbo PMAC/PMAC2 Software Reference M612->X:$078104,12,1 M613->X:$078104,13,1 M614->X:$078104,14,1 M616->X:$078104,16,1 M617->X:$078104,17,1 M618->X:$078104,18,1 M619->X:$078104,19,1 M620->X:$078104,20,1 M621->X:$078104,21,1 M622->X:$078104,22,1 M623->X:$078104,23,1 ; EQU6 compare output enable ; EQU6 compare invert enable ; AENA6/DIR6 Output ; EQU6 compare flag ; ENC6 position-captured flag ; ENC6 Count-error flag ; ENC6 3rd channel input status ; HMFL6 input status ; -LIM6 (positive end) input status ;
Turbo PMAC/PMAC2 Software Reference Motor #6 Axis Definition Registers M691->L:$00034F M692->L:$000350 M693->L:$000351 M694->L:$000352 ; #6 X/U/A/B/C-Axis scale factor (cts/unit) ; #6 Y/V-Axis scale factor (cts/unit) ; #6 Z/W-Axis scale factor (cts/unit) ; #6 Axis offset (cts) Servo IC 1 Registers for PMAC Channel 3 (usually for Motor #3) M701->X:$078109,0,24,S M702->Y:$07810B,8,16,S M703->X:$07810B,0,24,S M705->Y:$07810E,8,16,S M706->Y:$078108,0,24,U M710->X:$078108,10,1 M711->X:$078108,11,1 M712->X:$07
Turbo PMAC/PMAC2 Software Reference M769->D:$000390 M770->D:$0003B4 M771->X:$0003B4,24,S M772->L:$0003D7 M773->Y:$0003CE,0,24,S M774->D:$0003EF M775->X:$0003B9,8,16,S M776->Y:$0003B9,8,16,S M777->X:$0003BC,8,16,S M778->Y:$0003BC,8,16,S M779->X:$0003AE,8,16,S ; #7 Compensation correction (1/[Ixx08*32] cts) ; #7 Present phase position (including fraction) ; #7 Present phase position (counts *Ixx70) ; #7 Variable jog position/distance (cts) ; #7 Encoder home capture position (cts) ; #7 Averaged actual veloci
Turbo PMAC/PMAC2 Software Reference M847->Y:$000440,5,1 M848->Y:$000440,8,1 M849->Y:$000440,9,1 ; #8 I2T fault bit ; #8 Phasing error fault bit ; #8 Phasing search-in-progress bit Motor #8 Move Registers M861->D:$000408 M862->D:$00040B M863->D:$000447 M864->D:$00044C M866->X:$00041D,0,24,S M867->D:$00040D M868->X:$00043F,8,16,S M869->D:$000410 M870->D:$000434 M871->X:$000434,24,S M872->L:$000457 M873->Y:$00044E,0,24,S M874->D:$00046F M875->X:$000439,8,16,S M876->Y:$000439,8,16,S M877->X:$00043C,8,16,S M8
Turbo PMAC/PMAC2 Software Reference M935->X:$0004B0,15,1 M937->X:$0004B0,17,1 M938->X:$0004B0,18,1 M939->X:$0004B0,19,1 M940->Y:$0004C0,0,1 M941->Y:$0004C0,1,1 M942->Y:$0004C0,2,1 M943->Y:$0004C0,3,1 M944->Y:$0004C0,13,1 M945->Y:$0004C0,10,1 M946->Y:$0004C0,6,1 M947->Y:$0004C0,5,1 M948->Y:$0004C0,8,1 M949->Y:$0004C0,9,1 ; #9 Dwell-in-progress bit ; #9 Running-program bit ; #9 Open-loop-mode bit ; #9 Amplifier-enabled status bit ; #9 Background in-position bit ; #9 Warning-following error bit ; #9 Fatal-fo
Turbo PMAC/PMAC2 Software Reference M1018->X:$078204,18,1 M1019->X:$078204,19,1 M1020->X:$078204,20,1 M1021->X:$078204,21,1 M1022->X:$078204,22,1 M1023->X:$078204,23,1 ; ENC2 Count-error flag ; ENC2 3rd channel input status ; HMFL2 input status ; -LIM2 (positive end) input status ; +LIM2 (negative end) input status ; FAULT2 input status Motor #10 Status Bits M1030->Y:$000540,11,1 M1031->X:$000530,21,1 M1032->X:$000530,22,1 M1033->X:$000530,13,1 M1035->X:$000530,15,1 M1037->X:$000530,17,1 M1038->X:$000530
Turbo PMAC/PMAC2 Software Reference Servo IC 2 Registers for First Acc-24 Channel 3 (usually for Motor #11) M1101->X:$078209,0,24,S M1102->Y:$07820B,8,16,S M1103->X:$07820B,0,24,S M1105->Y:$07820E,8,16,S M1106->Y:$078208,0,24,U M1110->X:$078208,10,1 M1111->X:$078208,11,1 M1112->X:$078208,12,1 M1113->X:$078208,13,1 M1114->X:$078208,14,1 M1116->X:$078208,16,1 M1117->X:$078208,17,1 M1118->X:$078208,18,1 M1119->X:$078208,19,1 M1120->X:$078208,20,1 M1121->X:$078208,21,1 M1122->X:$078208,22,1 M1123->X:$078208,23
Turbo PMAC/PMAC2 Software Reference M1174->D:$0005EF M1175->X:$0005B9,8,16,S M1176->Y:$0005B9,8,16,S M1177->X:$0005BC,8,16,S M1178->Y:$0005BC,8,16,S M1179->X:$0005AE,8,16,S ; #11 Averaged actual velocity (1/[Ixx09*32] cts/cyc) ; #11 Actual quadrature current ; #11 Actual direct current ; #11 Quadrature current-loop integrator output ; #11 Direct current-loop integrator output ; #11 PID internal filter result (16-bit DAC bits) Motor #11 Axis Definition Registers M1191->L:$0005CF M1192->L:$0005D0 M1193->L:
Turbo PMAC/PMAC2 Software Reference Motor #12 Move Registers M1261->D:$000608 M1262->D:$00060B M1263->D:$000647 M1264->D:$00064C M1266->X:$00061D,0,24,S M1267->D:$00060D M1268->X:$00063F,8,16,S M1269->D:$000610 M1270->D:$000634 M1271->X:$000634,24,S M1272->L:$000657 M1273->Y:$00064E,0,24,S M1274->D:$00066F M1275->X:$000639,8,16,S M1276->Y:$000639,8,16,S M1277->X:$00063C,8,16,S M1278->Y:$00063C,8,16,S M1279->X:$00062E,8,16,S ; #12 Commanded position (1/[Ixx08*32] cts) ; #12 Actual position (1/[Ixx08*32] ct
Turbo PMAC/PMAC2 Software Reference M1339->X:$0006B0,19,1 M1340->Y:$0006C0,0,1 M1341->Y:$0006C0,1,1 M1342->Y:$0006C0,2,1 M1343->Y:$0006C0,3,1 M1344->Y:$0006C0,13,1 M1345->Y:$0006C0,10,1 M1346->Y:$0006C0,6,1 M1347->Y:$0006C0,5,1 M1348->Y:$0006C0,8,1 M1349->Y:$0006C0,9,1 ; #13 Amplifier-enabled status bit ; #13 Background in-position bit ; #13 Warning-following error bit ; #13 Fatal-following-error bit ; #13 Amplifier-fault-error bit ; #13 Foreground in-position bit ; #13 Home-complete bit ; #13 Integrated
Turbo PMAC/PMAC2 Software Reference M1421->X:$078304,21,1 M1422->X:$078304,22,1 M1423->X:$078304,23,1 ; -LIM6 (positive end) input status ; +LIM6 (negative end) input status ; FAULT6 input status Motor #14 Status Bits M1430->Y:$000740,11,1 M1431->X:$000730,21,1 M1432->X:$000730,22,1 M1433->X:$000730,13,1 M1435->X:$000730,15,1 M1437->X:$000730,17,1 M1438->X:$000730,18,1 M1439->X:$000730,19,1 M1440->Y:$000740,0,1 M1441->Y:$000740,1,1 M1442->Y:$000740,2,1 M1443->Y:$000740,3,1 M1444->Y:$000740,13,1 M1445->Y:
Turbo PMAC/PMAC2 Software Reference M1506->Y:$078308,0,24,U M1510->X:$078308,10,1 M1511->X:$078308,11,1 M1512->X:$078308,12,1 M1513->X:$078308,13,1 M1514->X:$078308,14,1 M1516->X:$078308,16,1 M1517->X:$078308,17,1 M1518->X:$078308,18,1 M1519->X:$078308,19,1 M1520->X:$078308,20,1 M1521->X:$078308,21,1 M1522->X:$078308,22,1 M1523->X:$078308,23,1 ; ENC7 time between counts (SCLK cycles) ; ENC7 count-write enable control ; EQU7 compare flag latch control ; EQU7 compare output enable ; EQU7 compare invert enab
Turbo PMAC/PMAC2 Software Reference M1579->X:$0007AE,8,16,S ; #15 PID internal filter result (16-bit DAC bits) Motor #15 Axis Definition Registers M1591->L:$0007CF M1592->L:$0007D0 M1593->L:$0007D1 M1594->L:$0007D2 ; #15 X/U/A/B/C-Axis scale factor (cts/unit) ; #15 Y/V-Axis scale factor (cts/unit) ; #15 Z/W-Axis scale factor (cts/unit) ; #15 Axis offset (cts) Servo IC 3 Registers for First Acc-24 Channel 8 (usually for Motor #16) M1601->X:$07830D,0,24,S M1602->Y:$07830A,8,16,S M1603->X:$07830F,0,24,S M1
Turbo PMAC/PMAC2 Software Reference M1668->X:$00083F,8,16,S M1669->D:$000810 M1670->D:$000834 M1671->X:$000834,24,S M1672->L:$000857 M1673->Y:$00084E,0,24,S M1674->D:$00086F M1675->X:$000839,8,16,S M1676->Y:$000839,8,16,S M1677->X:$00083C,8,16,S M1678->Y:$00083C,8,16,S M1679->X:$00082E,8,16,S ; #16 Filter Output (16-bit DAC bits) ; #16 Compensation correction (1/[Ixx08*32] cts) ; #16 Present phase position (including fraction) ; #16 Present phase position (counts *Ixx70) ; #16 Variable jog position/distan
Turbo PMAC/PMAC2 Software Reference M1746->Y:$0008C0,6,1 M1747->Y:$0008C0,5,1 M1748->Y:$0008C0,8,1 M1749->Y:$0008C0,9,1 ; #17 Integrated following error fault bit ; #17 I2T fault bit ; #17 Phasing error fault bit ; #17 Phasing search-in-progress bit Motor #17 Move Registers M1761->D:$000888 M1762->D:$00088B M1763->D:$0008C7 M1764->D:$0008CC M1766->X:$00089D,0,24,S M1767->D:$00088D M1768->X:$0008BF,8,16,S M1769->D:$000890 M1770->D:$0008B4 M1771->X:$0008B4,24,S M1772->L:$0008D7 M1773->Y:$0008CE,0,24,S M177
Turbo PMAC/PMAC2 Software Reference Motor #18 Status Bits M1830->Y:$000940,11,1 M1831->X:$000930,21,1 M1832->X:$000930,22,1 M1833->X:$000930,13,1 M1835->X:$000930,15,1 M1837->X:$000930,17,1 M1838->X:$000930,18,1 M1839->X:$000930,19,1 M1840->Y:$000940,0,1 M1841->Y:$000940,1,1 M1842->Y:$000940,2,1 M1843->Y:$000940,3,1 M1844->Y:$000940,13,1 M1845->Y:$000940,10,1 M1846->Y:$000940,6,1 M1847->Y:$000940,5,1 M1848->Y:$000940,8,1 M1849->Y:$000940,9,1 ; #18 Stopped-on-position-limit bit ; #18 Positive-end-limit-set
Turbo PMAC/PMAC2 Software Reference M1912->X:$079208,12,1 M1913->X:$079208,13,1 M1914->X:$079208,14,1 M1916->X:$079208,16,1 M1917->X:$079208,17,1 M1918->X:$079208,18,1 M1919->X:$079208,19,1 M1920->X:$079208,20,1 M1921->X:$079208,21,1 M1922->X:$079208,22,1 M1923->X:$079208,23,1 ; EQU3 compare output enable ; EQU3 compare invert enable ; AENA3/DIR3 Output ; EQU3 compare flag ; ENC3 position-captured flag ; ENC3 Count-error flag ; ENC3 3rd channel input status ; HMFL3 input status ; -LIM3 (positive end) inpu
Turbo PMAC/PMAC2 Software Reference Motor #19 Axis Definition Registers M1991->L:$0009CF M1992->L:$0009D0 M1993->L:$0009D1 M1994->L:$0009D2 ; #19 X/U/A/B/C-Axis scale factor (cts/unit) ; #19 Y/V-Axis scale factor (cts/unit) ; #19 Z/W-Axis scale factor (cts/unit) ; #19 Axis offset (cts) Servo IC 4 Registers for Second Acc-24 Channel 4 (usually for Motor #20) M2001->X:$07920D,0,24,S M2002->Y:$07920A,8,16,S M2003->X:$07920F,0,24,S M2004->Y:$000A40,13,1 M2005->Y:$07920F,8,16,S M2006->Y:$07920C,0,24,U M2010->
Turbo PMAC/PMAC2 Software Reference M2068->X:$000A3F,8,16,S M2069->D:$000A10 M2070->D:$000A34 M2071->X:$000A34,24,S M2072->L:$000A57 M2073->Y:$000A4E,0,24,S M2074->D:$000A6F M2075->X:$000A39,8,16,S M2076->Y:$000A39,8,16,S M2077->X:$000A3C,8,16,S M2078->Y:$000A3C,8,16,S M2079->X:$000A2E,8,16,S ; #20 Filter Output (16-bit DAC bits) ; #20 Compensation correction (1/[Ixx08*32] cts) ; #20 Present phase position (including fraction) ; #20 Present phase position (counts *Ixx70) ; #20 Variable jog position/distan
Turbo PMAC/PMAC2 Software Reference M2146->Y:$000AC0,6,1 M2147->Y:$000AC0,5,1 M2148->Y:$000AC0,8,1 M2149->Y:$000AC0,9,1 ; #21 Integrated following error fault bit ; #21 I2T fault bit ; #21 Phasing error fault bit ; #21 Phasing search-in-progress bit Motor #21 Move Registers M2161->D:$000A88 M2162->D:$000A8B M2163->D:$000AC7 M2164->D:$000ACC M2166->X:$000A9D,0,24,S M2167->D:$000A8D M2168->X:$000ABF,8,16,S M2169->D:$000A90 M2170->D:$000AB4 M2171->X:$000AB4,24,S M2172->L:$000AD7 M2173->Y:$000ACE,0,24,S M217
Turbo PMAC/PMAC2 Software Reference M2233->X:$000B30,13,1 M2235->X:$000B30,15,1 M2237->X:$000B30,17,1 M2238->X:$000B30,18,1 M2239->X:$000B30,19,1 M2240->Y:$000B40,0,1 M2241->Y:$000B40,1,1 M2242->Y:$000B40,2,1 M2243->Y:$000B40,3,1 M2244->Y:$000B40,13,1 M2245->Y:$000B40,10,1 M2246->Y:$000B40,6,1 M2247->Y:$000B40,5,1 M2248->Y:$000B40,8,1 M2249->Y:$000B40,9,1 ; #22 Desired-velocity-zero bit ; #22 Dwell-in-progress bit ; #22 Running-program bit ; #22 Open-loop-mode bit ; #22 Amplifier-enabled status bit ; #22
Turbo PMAC/PMAC2 Software Reference M2317->X:$079308,17,1 M2318->X:$079308,18,1 M2319->X:$079308,19,1 M2320->X:$079308,20,1 M2321->X:$079308,21,1 M2322->X:$079308,22,1 M2323->X:$079308,23,1 ; ENC7 position-captured flag ; ENC7 Count-error flag ; ENC7 3rd channel input status ; HMFL7 input status ; -LIM7 (positive end) input status ; +LIM7 (negative end) input status ; FAULT7 input status Motor #23 Status Bits M2330->Y:$000BC0,11,1 M2331->X:$000BB0,21,1 M2332->X:$000BB0,22,1 M2333->X:$000BB0,13,1 M2335->X
Turbo PMAC/PMAC2 Software Reference Servo IC 5 Registers for Second Acc-24 Channel 8 (usually for Motor #24) M2401->X:$07930D,0,24,S M2402->Y:$07930A,8,16,S M2403->X:$07930F,0,24,S M2405->Y:$07930F,8,16,S M2406->Y:$07930C,0,24,U M2410->X:$07930C,10,1 M2411->X:$07930C,11,1 M2412->X:$07930C,12,1 M2413->X:$07930C,13,1 M2414->X:$07930C,14,1 M2416->X:$07930C,16,1 M2417->X:$07930C,17,1 M2418->X:$07930C,18,1 M2419->X:$07930C,19,1 M2420->X:$07930C,20,1 M2421->X:$07930C,21,1 M2422->X:$07930C,22,1 M2423->X:$07930C,2
Turbo PMAC/PMAC2 Software Reference M2474->D:$000C6F M2475->X:$000C39,8,16,S M2476->Y:$000C39,8,16,S M2477->X:$000C3C,8,16,S M2478->Y:$000C3C,8,16,S M2479->X:$000C2E,8,16,S ; #24 Averaged actual velocity (1/[Ixx09*32] cts/cyc) ; #24 Actual quadrature current ; #24 Actual direct current ; #24 Quadrature current-loop integrator output ; #24 Direct current-loop integrator output ; #24 PID internal filter result (16-bit DAC bits) Motor #24 Axis Definition Registers M2491->L:$000C4F M2492->L:$000C50 M2493->L:
Turbo PMAC/PMAC2 Software Reference Motor #25 Move Registers M2561->D:$000C88 M2562->D:$000C8B M2563->D:$000CC7 M2564->D:$000CCC M2566->X:$000C9D,0,24,S M2567->D:$000C8D M2568->X:$000CBF,8,16,S M2569->D:$000C90 M2570->D:$000CB4 M2571->X:$000CB4,24,S M2572->L:$000CD7 M2573->Y:$000CCE,0,24,S M2574->D:$000CEF M2575->X:$000CB9,8,16,S M2576->Y:$000CB9,8,16,S M2577->X:$000CBC,8,16,S M2578->Y:$000CBC,8,16,S M2579->X:$000CAE,8,16,S ; #25 Commanded position (1/[Ixx08*32] cts) ; #25 Actual position (1/[Ixx08*32] ct
Turbo PMAC/PMAC2 Software Reference M2639->X:$000D30,19,1 M2640->Y:$000D40,0,1 M2641->Y:$000D40,1,1 M2642->Y:$000D40,2,1 M2643->Y:$000D40,3,1 M2644->Y:$000D40,13,1 M2645->Y:$000D40,10,1 M2646->Y:$000D40,6,1 M2647->Y:$000D40,5,1 M2648->Y:$000D40,8,1 M2649->Y:$000D40,9,1 ; #26 Amplifier-enabled status bit ; #26 Background in-position bit ; #26 Warning-following error bit ; #26 Fatal-following-error bit ; #26 Amplifier-fault-error bit ; #26 Foreground in-position bit ; #26 Home-complete bit ; #26 Integrated
Turbo PMAC/PMAC2 Software Reference M2721->X:$07A208,21,1 M2722->X:$07A208,22,1 M2723->X:$07A208,23,1 ; -LIM3 (positive end) input status ; +LIM3 (negative end) input status ; FAULT3 input status Motor #27 Status Bits M2730->Y:$000DC0,11,1 M2731->X:$000DB0,21,1 M2732->X:$000DB0,22,1 M2733->X:$000DB0,13,1 M2735->X:$000DB0,15,1 M2737->X:$000DB0,17,1 M2738->X:$000DB0,18,1 M2739->X:$000DB0,19,1 M2740->Y:$000DC0,0,1 M2741->Y:$000DC0,1,1 M2742->Y:$000DC0,2,1 M2743->Y:$000DC0,3,1 M2744->Y:$000DC0,13,1 M2745->Y:
Turbo PMAC/PMAC2 Software Reference M2806->Y:$07A20C,0,24,U M2810->X:$07A20C,10,1 M2811->X:$07A20C,11,1 M2812->X:$07A20C,12,1 M2813->X:$07A20C,13,1 M2814->X:$07A20C,14,1 M2816->X:$07A20C,16,1 M2817->X:$07A20C,17,1 M2818->X:$07A20C,18,1 M2819->X:$07A20C,19,1 M2820->X:$07A20C,20,1 M2821->X:$07A20C,21,1 M2822->X:$07A20C,22,1 M2823->X:$07A20C,23,1 ; ENC4 time between counts (SCLK cycles) ; ENC4 count-write enable control ; EQU4 compare flag latch control ; EQU4 compare output enable ; EQU4 compare invert enab
Turbo PMAC/PMAC2 Software Reference M2879->X:$000E2E,8,16,S ; #28 PID internal filter result (16-bit DAC bits) Motor #28 Axis Definition Registers M2891->L:$000E4F M2892->L:$000E50 M2893->L:$000E51 M2894->L:$000E52 ; #28 X/U/A/B/C-Axis scale factor (cts/unit) ; #28 Y/V-Axis scale factor (cts/unit) ; #28 Z/W-Axis scale factor (cts/unit) ; #28 Axis offset (cts) Servo IC 7 Registers for Third Acc-24 Channel 5 (usually for Motor #29) M2901->X:$07A301,0,24,S M2902->Y:$07A303,8,16,S M2903->X:$07A303,0,24,S M2
Turbo PMAC/PMAC2 Software Reference M2968->X:$000EBF,8,16,S M2969->D:$000E90 M2970->D:$000EB4 M2971->X:$000EB4,24,S M2972->L:$000ED7 M2973->Y:$000ECE,0,24,S M2974->D:$000EEF M2975->X:$000EB9,8,16,S M2976->Y:$000EB9,8,16,S M2977->X:$000EBC,8,16,S M2978->Y:$000EBC,8,16,S M2979->X:$000EAE,8,16,S ; #29 Filter Output (16-bit DAC bits) ; #29 Compensation correction (1/[Ixx08*32] cts) ; #29 Present phase position (including fraction) ; #29 Present phase position (counts *Ixx70) ; #29 Variable jog position/distan
Turbo PMAC/PMAC2 Software Reference M3046->Y:$000F40,6,1 M3047->Y:$000F40,5,1 M3048->Y:$000F40,8,1 M3049->Y:$000F40,9,1 ; #30 Integrated following error fault bit ; #30 I2T fault bit ; #30 Phasing error fault bit ; #30 Phasing search-in-progress bit Motor #30 Move Registers M3061->D:$000F08 M3062->D:$000F0B M3063->D:$000F47 M3064->D:$000F4C M3066->X:$000F1D,0,24,S M3067->D:$000F0D M3068->X:$000F3F,8,16,S M3069->D:$000F10 M3070->D:$000F34 M3071->X:$000F34,24,S M3072->L:$000F57 M3073->Y:$000F4E,0,24,S M307
Turbo PMAC/PMAC2 Software Reference M3133->X:$000FB0,13,1 M3135->X:$000FB0,15,1 M3137->X:$000FB0,17,1 M3138->X:$000FB0,18,1 M3139->X:$000FB0,19,1 M3140->Y:$000FC0,0,1 M3141->Y:$000FC0,1,1 M3142->Y:$000FC0,2,1 M3143->Y:$000FC0,3,1 M3144->Y:$000FC0,13,1 M3145->Y:$000FC0,10,1 M3146->Y:$000FC0,6,1 M3147->Y:$000FC0,5,1 M3148->Y:$000FC0,8,1 M3149->Y:$000FC0,9,1 ; #31 Desired-velocity-zero bit ; #31 Dwell-in-progress bit ; #31 Running-program bit ; #31 Open-loop-mode bit ; #31 Amplifier-enabled status bit ; #31
Turbo PMAC/PMAC2 Software Reference M3217->X:$07A30C,17,1 M3218->X:$07A30C,18,1 M3219->X:$07A30C,19,1 M3220->X:$07A30C,20,1 M3221->X:$07A30C,21,1 M3222->X:$07A30C,22,1 M3223->X:$07A30C,23,1 ; ENC8 position-captured flag ; ENC8 Count-error flag ; ENC8 3rd channel input status ; HMFL8 input status ; -LIM8 (positive end) input status ; +LIM8 (negative end) input status ; FAULT8 input status Motor #32 Status Bits M3230->Y:$001040,11,1 M3231->X:$001030,21,1 M3232->X:$001030,22,1 M3233->X:$001030,13,1 M3235->X
Turbo PMAC/PMAC2 Software Reference De-multiplexed ADC values from Opt.
Turbo PMAC/PMAC2 Software Reference M5187->Y:$00203F,17,1 M5188->Y:$00203F,18,1 M5189->Y:$00203F,19,1 M5190->Y:$00203F,20,1 ; &1 In-position bit (AND of motors) ; &1 Warning-following-error bit (OR) ; &1 Fatal-following-error bit (OR) ; &1 Amp-fault-error bit (OR of motors) Coordinate System 1 (&1) Variables M5197->X:$002000,0,24,S M5198->X:$002002,0,24,S ; &1 Host commanded time base (I10 units) ; &1 Present time base (I10 units) Coordinate System 2 (&2) Timers M5211->X:$002115,0,24,S M5212->Y:$002115
Turbo PMAC/PMAC2 Software Reference M5387->Y:$00223F,17,1 M5388->Y:$00223F,18,1 M5389->Y:$00223F,19,1 M5390->Y:$00223F,20,1 ; &3 In-position bit (AND of motors) ; &3 Warning-following-error bit (OR) ; &3 Fatal-following-error bit (OR) ; &3 Amp-fault-error bit (OR of motors) Coordinate System 3 (&3) Variables M5397->X:$002200,0,24,S M5398->X:$002202,0,24,S ; &3 Host commanded time base (I10 units) ; &3 Present time base (I10 units) Coordinate System 4 (&4) Timers M5411->X:$002315,0,24,S M5412->Y:$002315
Turbo PMAC/PMAC2 Software Reference M5587->Y:$00243F,17,1 M5588->Y:$00243F,18,1 M5589->Y:$00243F,19,1 M5590->Y:$00243F,20,1 ; &5 In-position bit (AND of motors) ; &5 Warning-following-error bit (OR) ; &5 Fatal-following-error bit (OR) ; &5 Amp-fault-error bit (OR of motors) Coordinate System 5 (&5) Variables M5597->X:$002400,0,24,S M5598->X:$002402,0,24,S ; &5 Host commanded time base (I10 units) ; &5 Present time base (I10 units) Coordinate System 6 (&6) Timers M5611->X:$002515,0,24,S M5612->Y:$002515
Turbo PMAC/PMAC2 Software Reference M5787->Y:$00263F,17,1 M5788->Y:$00263F,18,1 M5789->Y:$00263F,19,1 M5790->Y:$00263F,20,1 ; &7 In-position bit (AND of motors) ; &7 Warning-following-error bit (OR) ; &7 Fatal-following-error bit (OR) ; &7 Amp-fault-error bit (OR of motors) Coordinate System 7 (&7) Variables M5797->X:$002600,0,24,S M5798->X:$002602,0,24,S ; &7 Host commanded time base (I10 units) ; &7 Present time base (I10 units) Coordinate System 8 (&8) Timers M5811->X:$002715,0,24,S M5812->Y:$002715
Turbo PMAC/PMAC2 Software Reference M5987->Y:$00283F,17,1 M5988->Y:$00283F,18,1 M5989->Y:$00283F,19,1 M5990->Y:$00283F,20,1 ; &9 In-position bit (AND of motors) ; &9 Warning-following-error bit (OR) ; &9 Fatal-following-error bit (OR) ; &9 Amp-fault-error bit (OR of motors) Coordinate System 1 (&1) Variables M5997->X:$002800,0,24,S M5998->X:$002802,0,24,S ; &9 Host commanded time base (I10 units) ; &9 Present time base (I10 units) Coordinate System 10 (&10) Timers M6011->X:$002915,0,24,S M6012->Y:$0029
Turbo PMAC/PMAC2 Software Reference M6187->Y:$002A3F,17,1 M6188->Y:$002A3F,18,1 M6189->Y:$002A3F,19,1 M6190->Y:$002A3F,20,1 ; &11 In-position bit (AND of motors) ; &11 Warning-following-error bit (OR) ; &11 Fatal-following-error bit (OR) ; &11 Amp-fault-error bit (OR of motors) Coordinate System 11 (&11) Variables M6197->X:$002A00,0,24,S M6198->X:$002A02,0,24,S ; &11 Host commanded time base (I10 units) ; &11 Present time base (I10 units) Coordinate System 12 (&12) Timers M6211->X:$002B15,0,24,S M6212-
Turbo PMAC/PMAC2 Software Reference M6387->Y:$002C3F,17,1 M6388->Y:$002C3F,18,1 M6389->Y:$002C3F,19,1 M6390->Y:$002C3F,20,1 ; &13 In-position bit (AND of motors) ; &13 Warning-following-error bit (OR) ; &13 Fatal-following-error bit (OR) ; &13 Amp-fault-error bit (OR of motors) Coordinate System 13 (&13) Variables M6397->X:$002C00,0,24,S M6398->X:$002C02,0,24,S ; &13 Host commanded time base (I10 units) ; &13 Present time base (I10 units) Coordinate System 14 (&14) Timers M6411->X:$002D15,0,24,S M6412-
Turbo PMAC/PMAC2 Software Reference M6587->Y:$002E3F,17,1 M6588->Y:$002E3F,18,1 M6589->Y:$002E3F,19,1 M6590->Y:$002E3F,20,1 ; &15 In-position bit (AND of motors) ; &15 Warning-following-error bit (OR) ; &15 Fatal-following-error bit (OR) ; &15 Amp-fault-error bit (OR of motors) Coordinate System 15 (&15) Variables M6597->X:$002E00,0,24,S M6598->X:$002E02,0,24,S ; &15 Host commanded time base (I10 units) ; &15 Present time base (I10 units) Coordinate System 16 (&16) Timers M6611->X:$002F15,0,24,S ; &16
Turbo PMAC/PMAC2 Software Reference M7017->Y:$078A00,17,1 M7018->Y:$078A00,18,1 M7019->Y:$078A00,19,1 M7020->Y:$078A00,20,1 M7021->Y:$078A00,21,1 M7022->Y:$078A00,22,1 M7023->Y:$078A00,23,1 M7024->Y:$078A01,0,1 M7025->Y:$078A01,1,1 M7026->Y:$078A01,2,1 M7027->Y:$078A01,3,1 M7028->Y:$078A01,4,1 M7029->Y:$078A01,5,1 M7030->Y:$078A01,6,1 M7031->Y:$078A01,7,1 M7032->Y:$078A01,8,1 M7033->Y:$078A01,9,1 M7034->Y:$078A01,10,1 M7035->Y:$078A01,11,1 M7036->Y:$078A01,12,1 M7037->Y:$078A01,13,1 M7038->Y:$078A01,14,1 M
Turbo PMAC/PMAC2 Software Reference M8020->X:$003515,0,24,S M8021->X:$003516,0,24,S M8022->X:$003517,0,24,S M8023->X:$003518,0,24,S M8024->X:$003519,0,24,S M8025->X:$00351A,0,24,S M8026->X:$00351B,0,24,S M8027->X:$00351C,0,24,S M8028->X:$00351D,0,24,S M8029->X:$00351E,0,24,S M8030->X:$00351F,0,24,S M8031->X:$003520,0,24,S M8032->X:$003521,0,24,S M8033->X:$003522,0,24,S M8034->X:$003523,0,24,S M8035->X:$003524,0,24,S M8036->X:$003525,0,24,S M8037->X:$003526,0,24,S M8038->X:$003527,0,24,S M8039->X:$003528,0,
Turbo PMAC/PMAC2 Software Reference TURBO PMAC2 SUGGESTED M-VARIABLE DEFINITIONS This file contains suggested definitions for M-variables on the Turbo PMAC2. For the UMAC Turbo (3U-Rack Turbo PMAC2), there is a separate set of suggested M-variables. Note that these are only suggestions; the user is free to make whatever definitions are desired. Clear Existing Definitions CLOSE M0..
Turbo PMAC/PMAC2 Software Reference JTHW Thumbwheel Multiplexer Port M-Variables M40->Y:$078402,8 M41->Y:$078402,9 M42->Y:$078402,10 M43->Y:$078402,11 M44->Y:$078402,12 M45->Y:$078402,13 M46->Y:$078402,14 M47->Y:$078402,15 M48->Y:$078402,8,8,U M50->Y:$078402,0 M51->Y:$078402,1 M52->Y:$078402,2 M53->Y:$078402,3 M54->Y:$078402,4 M55->Y:$078402,5 M56->Y:$078402,6 M57->Y:$078402,7 M58->Y:$078402,0,8,U M60->X:$078402,0,8 M61->Y:$070800,4 M61->Y:$070802,0 M62->X:$078402,8,8 M63->Y:$070800,5 M63->Y:$070802,1 ; S
Turbo PMAC/PMAC2 Software Reference Servo Cycle Counter (Read Only) – counts up once per servo cycle M100->X:$000000,0,24,S ; 24-bit servo cycle counter Servo IC 0 Registers for PMAC2 Channel 1 (usually for Motor #1) M101->X:$078001,0,24,S M102->Y:$078002,8,16,S M103->X:$078003,0,24,S M104->Y:$078003,8,16,S M105->Y:$078005,8,16,S M106->Y:$078006,8,16,S M107->Y:$078004,8,16,S M108->Y:$078007,0,24,S M109->X:$078007,0,24,S M110->X:$078006,0,24,S M111->X:$078005,11 M112->X:$078005,12 M114->X:$078005,14 M115-
Turbo PMAC/PMAC2 Software Reference MACRO IC 0 Node 0 Flag Registers (usually used for Motor #1) M150->X:$003440,0,24 M151->Y:$003440,0,24 M153->X:$003440,20,4 M154->Y:$003440,14,1 M155->X:$003440,15,1 M156->X:$003440,16,1 M157->X:$003440,17,1 M158->X:$003440,18,1 M159->X:$003440,19,1 ; MACRO IC 0 Node 0 flag status register ; MACRO IC 0 Node 0 flag command register ; MACRO IC 0 Node 0 TUVW flags ; MACRO IC 0 Node 0 amplifier enable flag ; MACRO IC 0 Node 0 node/amplifier fault flag ; MACRO IC 0 Node 0 ho
Turbo PMAC/PMAC2 Software Reference M216->X:$078008,9 M217->X:$078008,11 M218->X:$078008,8 M219->X:$078008,14 M220->X:$078008,16 M221->X:$078008,17 M222->X:$078008,18 M223->X:$078008,15 M224->X:$078008,20 M225->X:$078008,21 M226->X:$078008,22 M227->X:$078008,23 M228->X:$078008,20,4 ; ENC2 compare output value ; ENC2 capture flag ; ENC2 count error flag ; CHC2 input status ; HMFL2 flag input status ; PLIM2 flag input status ; MLIM2 flag input status ; FAULT2 flag input status ; Channel 2 W flag input statu
Turbo PMAC/PMAC2 Software Reference M270->D:$000134 M271->X:$000134,24,S M272->L:$000157 M273->Y:$00014E,0,24,S M274->D:$00016F M275->X:$000139,8,16,S M276->Y:$000139,8,16,S M277->X:$00013C,8,16,S M278->Y:$00013C,8,16,S M279->X:$00012E,8,16,S M288->Y:$078009,0,12,U M289->Y:$078008,0,12,U ; #2 Present phase position (including fraction) ; #2 Present phase position (counts *Ixx70) ; #2 Variable jog position/distance (cts) ; #2 Encoder home capture position (cts) ; #2 Averaged actual velocity (1/[Ixx09*32] c
Turbo PMAC/PMAC2 Software Reference M337->X:$0001B0,17,1 M338->X:$0001B0,18,1 M339->X:$0001B0,19,1 M340->Y:$0001C0,0,1 M341->Y:$0001C0,1,1 M342->Y:$0001C0,2,1 M343->Y:$0001C0,3,1 M344->Y:$0001C0,13,1 M345->Y:$0001C0,10,1 M346->Y:$0001C0,6,1 M347->Y:$0001C0,5,1 M348->Y:$0001C0,8,1 M349->Y:$0001C0,9,1 ; #3 Running-program bit ; #3 Open-loop-mode bit ; #3 Amplifier-enabled status bit ; #3 Background in-position bit ; #3 Warning-following error bit ; #3 Fatal-following-error bit ; #3 Amplifier-fault-error bit
Turbo PMAC/PMAC2 Software Reference Servo IC 0 Registers for PMAC2 Channel 4 (usually for Motor #4) M401->X:$078019,0,24,S M402->Y:$07801A,8,16,S M403->X:$07801B,0,24,S M404->Y:$07801B,8,16,S M405->Y:$07801D,8,16,S M406->Y:$07801E,8,16,S M407->Y:$07801C,8,16,S M408->Y:$07801F,0,24,S M409->X:$07801F,0,24,S M410->X:$07801E,0,24,S M411->X:$07801D,11 M412->X:$07801D,12 M414->X:$07801D,14 M415->X:$078018,19 M416->X:$078018,9 M417->X:$078018,11 M418->X:$078018,8 M419->X:$078018,14 M420->X:$078018,16 M421->X:$078
Turbo PMAC/PMAC2 Software Reference M454->Y:$003445,14,1 M455->X:$003445,15,1 M456->X:$003445,16,1 M457->X:$003445,17,1 M458->X:$003445,18,1 M459->X:$003445,19,1 ; MACRO IC 0 Node 5 amplifier enable flag ; MACRO IC 0 Node 5 node/amplifier fault flag ; MACRO IC 0 Node 5 home flag ; MACRO IC 0 Node 5 positive limit flag ; MACRO IC 0 Node 5 negative limit flag ; MACRO IC 0 Node 5 user flag Motor #4 Move Registers M461->D:$000208 M462->D:$00020B M463->D:$000247 M464->D:$00024C M466->X:$00021D,0,24,S M467->D:
Turbo PMAC/PMAC2 Software Reference M520->X:$078100,16 M521->X:$078100,17 M522->X:$078100,18 M523->X:$078100,15 M524->X:$078100,20 M525->X:$078100,21 M526->X:$078100,22 M527->X:$078100,23 M528->X:$078100,20,4 ; HMFL5 flag input status ; PLIM5 flag input status ; MLIM5 flag input status ; FAULT5 flag input status ; Channel 5 W flag input status ; Channel 5 V flag input status ; Channel 5 U flag input status ; Channel 5 T flag input status ; Channel 5 TUVW inputs as 4-bit value Motor #5 Status Bits M530->Y
Turbo PMAC/PMAC2 Software Reference M574->D:$0002EF M575->X:$0002B9,8,16,S M576->Y:$0002B9,8,16,S M577->X:$0002BC,8,16,S M578->Y:$0002BC,8,16,S M579->X:$0002AE,8,16,S M588->Y:$078101,0,12,U M589->Y:$078100,0,12,U ; #5 Averaged actual velocity (1/[Ixx09*32] cts/cyc) ; #5 Actual quadrature current ; #5 Actual direct current ; #5 Quadrature current-loop integrator output ; #5 Direct current-loop integrator output ; #5 PID internal filter result (16-bit DAC bits) ; IC 1 Ch 1 Compare A fractional count ; IC 1
Turbo PMAC/PMAC2 Software Reference M641->Y:$000340,1,1 M642->Y:$000340,2,1 M643->Y:$000340,3,1 M644->Y:$000340,13,1 M645->Y:$000340,10,1 M646->Y:$000340,6,1 M647->Y:$000340,5,1 M648->Y:$000340,8,1 M649->Y:$000340,9,1 ; #6 Warning-following error bit ; #6 Fatal-following-error bit ; #6 Amplifier-fault-error bit ; #6 Foreground in-position bit ; #6 Home-complete bit ; #6 Integrated following error fault bit ; #6 I2T fault bit ; #6 Phasing error fault bit ; #6 Phasing search-in-progress bit MACRO IC 0 Node
Turbo PMAC/PMAC2 Software Reference M706->Y:$078116,8,16,S M707->Y:$078114,8,16,S M708->Y:$078117,0,24,S M709->X:$078117,0,24,S M710->X:$078116,0,24,S M711->X:$078115,11 M712->X:$078115,12 M714->X:$078115,14 M715->X:$078110,19 M716->X:$078110,9 M717->X:$078110,11 M718->X:$078110,8 M719->X:$078110,14 M720->X:$078110,16 M721->X:$078110,17 M722->X:$078110,18 M723->X:$078110,15 M724->X:$078110,20 M725->X:$078110,21 M726->X:$078110,22 M727->X:$078110,23 M728->X:$078110,20,4 ; ADC7B input value ; OUT7C command
Turbo PMAC/PMAC2 Software Reference Motor #7 Move Registers M761->D:$000388 M762->D:$00038B M763->D:$0003C7 M764->D:$0003CC M766->X:$00039D,0,24,S M767->D:$00038D M768->X:$0003BF,8,16,S M769->D:$000390 M770->D:$0003B4 M771->X:$0003B4,24,S M772->L:$0003D7 M773->Y:$0003CE,0,24,S M774->D:$0003EF M775->X:$0003B9,8,16,S M776->Y:$0003B9,8,16,S M777->X:$0003BC,8,16,S M778->Y:$0003BC,8,16,S M779->X:$0003AE,8,16,S M788->Y:$078111,0,12,U M789->Y:$078110,0,12,U ; #7 Commanded position (1/[Ixx08*32] cts) ; #7 Actual
Turbo PMAC/PMAC2 Software Reference M826->X:$078118,22 M827->X:$078118,23 M828->X:$078118,20,4 ; Channel 8 U flag input status ; Channel 8 T flag input status ; Channel 8 TUVW inputs as 4-bit value Motor #8 Status Bits M830->Y:$000440,11,1 M831->X:$000430,21,1 M832->X:$000430,22,1 M833->X:$000430,13,1 M835->X:$000430,15,1 M837->X:$000430,17,1 M838->X:$000430,18,1 M839->X:$000430,19,1 M840->Y:$000440,0,1 M841->Y:$000440,1,1 M842->Y:$000440,2,1 M843->Y:$000440,3,1 M844->Y:$000440,13,1 M845->Y:$000440,10,1
Turbo PMAC/PMAC2 Software Reference M888->Y:$078119,0,12,U M889->Y:$078118,0,12,U ; IC 1 Ch 4 Compare A fractional count ; IC 1 Ch 4 Compare B fractional count Motor #8 Axis Definition Registers M891->L:$00044F M892->L:$000450 M893->L:$000451 M894->L:$000452 ; #8 X/U/A/B/C-Axis scale factor (cts/unit) ; #8 Y/V-Axis scale factor (cts/unit) ; #8 Z/W-Axis scale factor (cts/unit) ; #8 Axis offset (cts) Servo IC 2 Registers for First Acc-24 Channel 1 (usually for Motor #9) M901->X:$078201,0,24,S M902->Y:$07
Turbo PMAC/PMAC2 Software Reference M947->Y:$0004C0,5,1 M948->Y:$0004C0,8,1 M949->Y:$0004C0,9,1 ; #9 I2T fault bit ; #9 Phasing error fault bit ; #9 Phasing search-in-progress bit MACRO IC 1 Node 0 Flag Registers (usually used for Motor #9) M950->X:$003450,0,24 M951->Y:$003450,0,24 M953->X:$003450,20,4 M954->Y:$003450,14,1 M955->X:$003450,15,1 M956->X:$003450,16,1 M957->X:$003450,17,1 M958->X:$003450,18,1 M959->X:$003450,19,1 ; MACRO IC 1 Node 0 flag status register ; MACRO IC 1 Node 0 flag command regi
Turbo PMAC/PMAC2 Software Reference M1012->X:$07820D,12 M1014->X:$07820D,14 M1015->X:$078208,19 M1016->X:$078208,9 M1017->X:$078208,11 M1018->X:$078208,8 M1019->X:$078208,14 M1020->X:$078208,16 M1021->X:$078208,17 M1022->X:$078208,18 M1023->X:$078208,15 M1024->X:$078208,20 M1025->X:$078208,21 M1026->X:$078208,22 M1027->X:$078208,23 M1028->X:$078208,20,4 ; ENC2 compare initial state ; AENA2 output status ; USER2 flag input status ; ENC2 compare output value ; ENC2 capture flag ; ENC2 count error flag ; CHC
Turbo PMAC/PMAC2 Software Reference M1067->D:$00050D M1068->X:$00053F,8,16,S M1069->D:$000510 M1070->D:$000534 M1071->X:$000534,24,S M1072->L:$000557 M1073->Y:$00054E,0,24,S M1074->D:$00056F M1075->X:$000539,8,16,S M1076->Y:$000539,8,16,S M1077->X:$00053C,8,16,S M1078->Y:$00053C,8,16,S M1079->X:$00052E,8,16,S M1088->Y:$078209,0,12,U M1089->Y:$078208,0,12,U ; #10 Present master pos (1/[Ixx07*32] cts) ; #10 Filter Output (16-bit DAC bits) ; #10 Compensation correction (1/[Ixx08*32] cts) ; #10 Present phase
Turbo PMAC/PMAC2 Software Reference Motor #11 Status Bits M1130->Y:$0005C0,11,1 M1131->X:$0005B0,21,1 M1132->X:$0005B0,22,1 M1133->X:$0005B0,13,1 M1135->X:$0005B0,15,1 M1137->X:$0005B0,17,1 M1138->X:$0005B0,18,1 M1139->X:$0005B0,19,1 M1140->Y:$0005C0,0,1 M1141->Y:$0005C0,1,1 M1142->Y:$0005C0,2,1 M1143->Y:$0005C0,3,1 M1144->Y:$0005C0,13,1 M1145->Y:$0005C0,10,1 M1146->Y:$0005C0,6,1 M1147->Y:$0005C0,5,1 M1148->Y:$0005C0,8,1 M1149->Y:$0005C0,9,1 ; #11 Stopped-on-position-limit bit ; #11 Positive-end-limit-set
Turbo PMAC/PMAC2 Software Reference Motor #11 Axis Definition Registers M1191->L:$0005CF M1192->L:$0005D0 M1193->L:$0005D1 M1194->L:$0005D2 ; #11 X/U/A/B/C-Axis scale factor (cts/unit) ; #11 Y/V-Axis scale factor (cts/unit) ; #11 Z/W-Axis scale factor (cts/unit) ; #11 Axis offset (cts) Servo IC 2 Registers for First Acc-24 Channel 4 (usually for Motor #12) M1201->X:$078219,0,24,S M1202->Y:$07821A,8,16,S M1203->X:$07821B,0,24,S M1204->Y:$07821B,8,16,S M1205->Y:$07821D,8,16,S M1206->Y:$07821E,8,16,S M1207-
Turbo PMAC/PMAC2 Software Reference M1249->Y:$000640,9,1 ; #12 Phasing search-in-progress bit MACRO IC 1 Node 5 Flag Registers (usually used for Motor #12) M1250->X:$003455,0,24 M1251->Y:$003455,0,24 M1253->X:$003455,20,4 M1254->Y:$003455,14,1 M1255->X:$003455,15,1 M1256->X:$003455,16,1 M1257->X:$003455,17,1 M1258->X:$003455,18,1 M1259->X:$003455,19,1 ; MACRO IC 1 Node 5 flag status register ; MACRO IC 1 Node 5 flag command register ; MACRO IC 1 Node 5 TUVW flags ; MACRO IC 1 Node 5 amplifier enable flag
Turbo PMAC/PMAC2 Software Reference M1315->X:$078300,19 M1316->X:$078300,9 M1317->X:$078300,11 M1318->X:$078300,8 M1319->X:$078300,14 M1320->X:$078300,16 M1321->X:$078300,17 M1322->X:$078300,18 M1323->X:$078300,15 M1324->X:$078300,20 M1325->X:$078300,21 M1326->X:$078300,22 M1327->X:$078300,23 M1328->X:$078300,20,4 ; USER5 flag input status ; ENC5 compare output value ; ENC5 capture flag ; ENC5 count error flag ; CHC5 input status ; HMFL5 flag input status ; PLIM5 flag input status ; MLIM5 flag input statu
Turbo PMAC/PMAC2 Software Reference M1369->D:$000690 M1370->D:$0006B4 M1371->X:$0006B4,24,S M1372->L:$0006D7 M1373->Y:$0006CE,0,24,S M1374->D:$0006EF M1375->X:$0006B9,8,16,S M1376->Y:$0006B9,8,16,S M1377->X:$0006BC,8,16,S M1378->Y:$0006BC,8,16,S M1379->X:$0006AE,8,16,S M1388->Y:$078301,0,12,U M1389->Y:$078300,0,12,U ; #13 Compensation correction (1/[Ixx08*32] cts) ; #13 Present phase position (including fraction) ; #13 Present phase position (counts *Ixx70) ; #13 Variable jog position/distance (cts) ; #13
Turbo PMAC/PMAC2 Software Reference M1435->X:$000730,15,1 M1437->X:$000730,17,1 M1438->X:$000730,18,1 M1439->X:$000730,19,1 M1440->Y:$000740,0,1 M1441->Y:$000740,1,1 M1442->Y:$000740,2,1 M1443->Y:$000740,3,1 M1444->Y:$000740,13,1 M1445->Y:$000740,10,1 M1446->Y:$000740,6,1 M1447->Y:$000740,5,1 M1448->Y:$000740,8,1 M1449->Y:$000740,9,1 ; #14 Dwell-in-progress bit ; #14 Running-program bit ; #14 Open-loop-mode bit ; #14 Amplifier-enabled status bit ; #14 Background in-position bit ; #14 Warning-following err
Turbo PMAC/PMAC2 Software Reference Servo IC 3 Registers for First Acc-24 Channel 7 (usually for Motor #15) M1501->X:$078311,0,24,S M1502->Y:$078312,8,16,S M1503->X:$078313,0,24,S M1504->Y:$078313,8,16,S M1505->Y:$078315,8,16,S M1506->Y:$078316,8,16,S M1507->Y:$078314,8,16,S M1508->Y:$078317,0,24,S M1509->X:$078317,0,24,S M1510->X:$078316,0,24,S M1511->X:$078315,11 M1512->X:$078315,12 M1514->X:$078315,14 M1515->X:$078310,19 M1516->X:$078310,9 M1517->X:$078310,11 M1518->X:$078310,8 M1519->X:$078310,14 M1520
Turbo PMAC/PMAC2 Software Reference M1554->Y:$00345C,14,1 M1555->X:$00345C,15,1 M1556->X:$00345C,16,1 M1557->X:$00345C,17,1 M1558->X:$00345C,18,1 M1559->X:$00345C,19,1 ; MACRO IC 1 Node 12 amplifier enable flag ; MACRO IC 1 Node 12 node/amplifier fault flag ; MACRO IC 1 Node 12 home flag ; MACRO IC 1 Node 12 positive limit flag ; MACRO IC 1 Node 12 negative limit flag ; MACRO IC 1 Node 12 user flag Motor #15 Move Registers M1561->D:$000788 M1562->D:$00078B M1563->D:$0007C7 M1564->D:$0007CC M1566->X:$0007
Turbo PMAC/PMAC2 Software Reference M1620->X:$078318,16 M1621->X:$078318,17 M1622->X:$078318,18 M1623->X:$078318,15 M1624->X:$078318,20 M1625->X:$078318,21 M1626->X:$078318,22 M1627->X:$078318,23 M1628->X:$078318,20,4 ; HMFL8 flag input status ; PLIM8 flag input status ; MLIM8 flag input status ; FAULT8 flag input status ; Channel 8 W flag input status ; Channel 8 V flag input status ; Channel 8 U flag input status ; Channel 8 T flag input status ; Channel 8 TUVW inputs as 4-bit value Motor #16 Status Bi
Turbo PMAC/PMAC2 Software Reference M1675->X:$000839,8,16,S M1676->Y:$000839,8,16,S M1677->X:$00083C,8,16,S M1678->Y:$00083C,8,16,S M1679->X:$00082E,8,16,S M1688->Y:$078319,0,12,U M1689->Y:$078318,0,12,U ; #16 Actual quadrature current ; #16 Actual direct current ; #16 Quadrature current-loop integrator output ; #16 Direct current-loop integrator output ; #16 PID internal filter result (16-bit DAC bits) ; IC 3 Ch 4 Compare A fractional count ; IC 3 Ch 4 Compare A fractional count Motor #16 Axis Definitio
Turbo PMAC/PMAC2 Software Reference M1742->Y:$0008C0,2,1 M1743->Y:$0008C0,3,1 M1744->Y:$0008C0,13,1 M1745->Y:$0008C0,10,1 M1746->Y:$0008C0,6,1 M1747->Y:$0008C0,5,1 M1748->Y:$0008C0,8,1 M1749->Y:$0008C0,9,1 ; #17 Fatal-following-error bit ; #17 Amplifier-fault-error bit ; #17 Foreground in-position bit ; #17 Home-complete bit ; #17 Integrated following error fault bit ; #17 I2T fault bit ; #17 Phasing error fault bit ; #17 Phasing search-in-progress bit MACRO IC 2 Node 0 Flag Registers (usually used for M
Turbo PMAC/PMAC2 Software Reference M1807->Y:$07920C,8,16,S M1808->Y:$07920F,0,24,S M1809->X:$07920F,0,24,S M1810->X:$07920E,0,24,S M1811->X:$07920D,11 M1812->X:$07920D,12 M1814->X:$07920D,14 M1815->X:$079208,19 M1816->X:$079208,9 M1817->X:$079208,11 M1818->X:$079208,8 M1819->X:$079208,14 M1820->X:$079208,16 M1821->X:$079208,17 M1822->X:$079208,18 M1823->X:$079208,15 M1824->X:$079208,20 M1825->X:$079208,21 M1826->X:$079208,22 M1827->X:$079208,23 M1828->X:$079208,20,4 ; OUT2C command value; PFM or PWM ; EN
Turbo PMAC/PMAC2 Software Reference Motor #18 Move Registers M1861->D:$000908 M1862->D:$00090B M1863->D:$000947 M1864->D:$00094C M1866->X:$00091D,0,24,S M1867->D:$00090D M1868->X:$00093F,8,16,S M1869->D:$000910 M1870->D:$000934 M1871->X:$000934,24,S M1872->L:$000957 M1873->Y:$00094E,0,24,S M1874->D:$00096F M1875->X:$000939,8,16,S M1876->Y:$000939,8,16,S M1877->X:$00093C,8,16,S M1878->Y:$00093C,8,16,S M1879->X:$00092E,8,16,S M1888->Y:$079209,0,12,U M1889->Y:$079208,0,12,U ; #18 Commanded position (1/[Ixx08
Turbo PMAC/PMAC2 Software Reference M1926->X:$079210,22 M1927->X:$079210,23 M1928->X:$079210,20,4 ; Channel 3 U flag input status ; Channel 3 T flag input status ; Channel 3 TUVW inputs as 4-bit value Motor #19 Status Bits M1930->Y:$0009C0,11,1 M1931->X:$0009B0,21,1 M1932->X:$0009B0,22,1 M1933->X:$0009B0,13,1 M1935->X:$0009B0,15,1 M1937->X:$0009B0,17,1 M1938->X:$0009B0,18,1 M1939->X:$0009B0,19,1 M1940->Y:$0009C0,0,1 M1941->Y:$0009C0,1,1 M1942->Y:$0009C0,2,1 M1943->Y:$0009C0,3,1 M1944->Y:$0009C0,13,1 M194
Turbo PMAC/PMAC2 Software Reference M1988->Y:$079211,0,12,U M1989->Y:$079210,0,12,U ; IC 4 Ch 3 Compare A fractional count ; IC 4 Ch 3 Compare A fractional count Motor #19 Axis Definition Registers M1991->L:$0009CF M1992->L:$0009D0 M1993->L:$0009D1 M1994->L:$0009D2 ; #19 X/U/A/B/C-Axis scale factor (cts/unit) ; #19 Y/V-Axis scale factor (cts/unit) ; #19 Z/W-Axis scale factor (cts/unit) ; #19 Axis offset (cts) Servo IC 4 Registers for Second Acc-24 Channel 4 (usually for Motor #20) M2001->X:$079219,0,24
Turbo PMAC/PMAC2 Software Reference M2047->Y:$000A40,5,1 M2048->Y:$000A40,8,1 M2049->Y:$000A40,9,1 ; #20 I2T fault bit ; #20 Phasing error fault bit ; #20 Phasing search-in-progress bit MACRO IC 2 Node 5 Flag Registers (usually used for Motor #20) M2050->X:$003465,0,24 M2051->Y:$003465,0,24 M2053->X:$003465,20,4 M2054->Y:$003465,14,1 M2055->X:$003465,15,1 M2056->X:$003465,16,1 M2057->X:$003465,17,1 M2058->X:$003465,18,1 M2059->X:$003465,19,1 ; MACRO IC 2 Node 5 flag status register ; MACRO IC 2 Node 5 f
Turbo PMAC/PMAC2 Software Reference M2112->X:$079305,12 M2114->X:$079305,14 M2115->X:$079300,19 M2116->X:$079300,9 M2117->X:$079300,11 M2118->X:$079300,8 M2119->X:$079300,14 M2120->X:$079300,16 M2121->X:$079300,17 M2122->X:$079300,18 M2123->X:$079300,15 M2124->X:$079300,20 M2125->X:$079300,21 M2126->X:$079300,22 M2127->X:$079300,23 M2128->X:$079300,20,4 ; ENC5 compare initial state ; AENA5 output status ; USER5 flag input status ; ENC5 compare output value ; ENC5 capture flag ; ENC5 count error flag ; CHC
Turbo PMAC/PMAC2 Software Reference M2167->D:$000A8D M2168->X:$000ABF,8,16,S M2169->D:$000A90 M2170->D:$000AB4 M2171->X:$000AB4,24,S M2172->L:$000AD7 M2173->Y:$000ACE,0,24,S M2174->D:$000AEF M2175->X:$000AB9,8,16,S M2176->Y:$000AB9,8,16,S M2177->X:$000ABC,8,16,S M2178->Y:$000ABC,8,16,S M2179->X:$000AAE,8,16,S M2188->Y:$079301,0,12,U M2189->Y:$079300,0,12,U ; #21 Present master pos (1/[Ixx07*32] cts) ; #21 Filter Output (16-bit DAC bits) ; #21 Compensation correction (1/[Ixx08*32] cts) ; #21 Present phase
Turbo PMAC/PMAC2 Software Reference M2232->X:$000B30,22,1 M2233->X:$000B30,13,1 M2235->X:$000B30,15,1 M2237->X:$000B30,17,1 M2238->X:$000B30,18,1 M2239->X:$000B30,19,1 M2240->Y:$000B40,0,1 M2241->Y:$000B40,1,1 M2242->Y:$000B40,2,1 M2243->Y:$000B40,3,1 M2244->Y:$000B40,13,1 M2245->Y:$000B40,10,1 M2246->Y:$000B40,6,1 M2247->Y:$000B40,5,1 M2248->Y:$000B40,8,1 M2249->Y:$000B40,9,1 ; #22 Negative-end-limit-set bit ; #22 Desired-velocity-zero bit ; #22 Dwell-in-progress bit ; #22 Running-program bit ; #22 Open-
Turbo PMAC/PMAC2 Software Reference M2294->L:$000B52 ; #22 Axis offset (cts) Servo IC 5 Registers for Second Acc-24 Channel 7 (usually for Motor #23) M2301->X:$079311,0,24,S M2302->Y:$079312,8,16,S M2303->X:$079313,0,24,S M2304->Y:$079313,8,16,S M2305->Y:$079315,8,16,S M2306->Y:$079316,8,16,S M2307->Y:$079314,8,16,S M2308->Y:$079317,0,24,S M2309->X:$079317,0,24,S M2310->X:$079316,0,24,S M2311->X:$079315,11 M2312->X:$079315,12 M2314->X:$079315,14 M2315->X:$079310,19 M2316->X:$079310,9 M2317->X:$079310,11 M
Turbo PMAC/PMAC2 Software Reference MACRO IC 2 Node 12 Flag Registers (usually used for Motor #23) M2350->X:$00346C,0,24 M2351->Y:$00346C,0,24 M2353->X:$00346C,20,4 M2354->Y:$00346C,14,1 M2355->X:$00346C,15,1 M2356->X:$00346C,16,1 M2357->X:$00346C,17,1 M2358->X:$00346C,18,1 M2359->X:$00346C,19,1 ; MACRO IC 2 Node 12 flag status register ; MACRO IC 2 Node 12 flag command register ; MACRO IC 2 Node 12 TUVW flags ; MACRO IC 2 Node 12 amplifier enable flag ; MACRO IC 2 Node 12 node/amplifier fault flag ; MACR
Turbo PMAC/PMAC2 Software Reference M2416->X:$079318,9 M2417->X:$079318,11 M2418->X:$079318,8 M2419->X:$079318,14 M2420->X:$079318,16 M2421->X:$079318,17 M2422->X:$079318,18 M2423->X:$079318,15 M2424->X:$079318,20 M2425->X:$079318,21 M2426->X:$079318,22 M2427->X:$079318,23 M2428->X:$079318,20,4 ; ENC8 compare output value ; ENC8 capture flag ; ENC8 count error flag ; CHC8 input status ; HMFL8 flag input status ; PLIM8 flag input status ; MLIM8 flag input status ; FAULT8 flag input status ; Channel 8 W fla
Turbo PMAC/PMAC2 Software Reference M2470->D:$000C34 M2471->X:$000C34,24,S M2472->L:$000C57 M2473->Y:$000C4E,0,24,S M2474->D:$000C6F M2475->X:$000C39,8,16,S M2476->Y:$000C39,8,16,S M2477->X:$000C3C,8,16,S M2478->Y:$000C3C,8,16,S M2479->X:$000C2E,8,16,S M2488->Y:$079319,0,12,U M2489->Y:$079318,0,12,U ; #24 Present phase position (including fraction) ; #24 Present phase position (counts *Ixx70) ; #24 Variable jog position/distance (cts) ; #24 Encoder home capture position (cts) ; #24 Averaged actual velocit
Turbo PMAC/PMAC2 Software Reference M2537->X:$000CB0,17,1 M2538->X:$000CB0,18,1 M2539->X:$000CB0,19,1 M2540->Y:$000CC0,0,1 M2541->Y:$000CC0,1,1 M2542->Y:$000CC0,2,1 M2543->Y:$000CC0,3,1 M2544->Y:$000CC0,13,1 M2545->Y:$000CC0,10,1 M2546->Y:$000CC0,6,1 M2547->Y:$000CC0,5,1 M2548->Y:$000CC0,8,1 M2549->Y:$000CC0,9,1 ; #25 Running-program bit ; #25 Open-loop-mode bit ; #25 Amplifier-enabled status bit ; #25 Background in-position bit ; #25 Warning-following error bit ; #25 Fatal-following-error bit ; #25 Ampli
Turbo PMAC/PMAC2 Software Reference Servo IC 6 Registers for Third Acc-24 Channel 2 (usually for Motor #26) M2601->X:$07A209,0,24,S M2602->Y:$07A20A,8,16,S M2603->X:$07A20B,0,24,S M2604->Y:$07A20B,8,16,S M2605->Y:$07A20D,8,16,S M2606->Y:$07A20E,8,16,S M2607->Y:$07A20C,8,16,S M2608->Y:$07A20F,0,24,S M2609->X:$07A20F,0,24,S M2610->X:$07A20E,0,24,S M2611->X:$07A20D,11 M2612->X:$07A20D,12 M2614->X:$07A20D,14 M2615->X:$07A208,19 M2616->X:$07A208,9 M2617->X:$07A208,11 M2618->X:$07A208,8 M2619->X:$07A208,14 M2620
Turbo PMAC/PMAC2 Software Reference M2654->Y:$003471,14,1 M2655->X:$003471,15,1 M2656->X:$003471,16,1 M2657->X:$003471,17,1 M2658->X:$003471,18,1 M2659->X:$003471,19,1 ; MACRO IC 3 Node 1 amplifier enable flag ; MACRO IC 3 Node 1 node/amplifier fault flag ; MACRO IC 3 Node 1 home flag ; MACRO IC 3 Node 1 positive limit flag ; MACRO IC 3 Node 1 negative limit flag ; MACRO IC 3 Node 1 user flag Motor #26 Move Registers M2661->D:$000D08 M2662->D:$000D0B M2663->D:$000D47 M2664->D:$000D4C M2666->X:$000D1D,0,2
Turbo PMAC/PMAC2 Software Reference M2720->X:$07A210,16 M2721->X:$07A210,17 M2722->X:$07A210,18 M2723->X:$07A210,15 M2724->X:$07A210,20 M2725->X:$07A210,21 M2726->X:$07A210,22 M2727->X:$07A210,23 M2728->X:$07A210,20,4 ; HMFL3 flag input status ; PLIM3 flag input status ; MLIM3 flag input status ; FAULT3 flag input status ; Channel 3 W flag input status ; Channel 3 V flag input status ; Channel 3 U flag input status ; Channel 3 T flag input status ; Channel 3 TUVW inputs as 4-bit value Motor #27 Status Bi
Turbo PMAC/PMAC2 Software Reference M2774->D:$000DEF M2775->X:$000DB9,8,16,S M2776->Y:$000DB9,8,16,S M2777->X:$000DBC,8,16,S M2778->Y:$000DBC,8,16,S M2779->X:$000DAE,8,16,S M2788->Y:$07A211,0,12,U M2789->Y:$07A210,0,12,U ; #27 Averaged actual velocity (1/[Ixx09*32] cts/cyc) ; #27 Actual quadrature current ; #27 Actual direct current ; #27 Quadrature current-loop integrator output ; #27 Direct current-loop integrator output ; #27 PID internal filter result (16-bit DAC bits) ; IC 6 Ch 3 Compare A fractional
Turbo PMAC/PMAC2 Software Reference M2841->Y:$000E40,1,1 M2842->Y:$000E40,2,1 M2843->Y:$000E40,3,1 M2844->Y:$000E40,13,1 M2845->Y:$000E40,10,1 M2846->Y:$000E40,6,1 M2847->Y:$000E40,5,1 M2848->Y:$000E40,8,1 M2849->Y:$000E40,9,1 ; #28 Warning-following error bit ; #28 Fatal-following-error bit ; #28 Amplifier-fault-error bit ; #28 Foreground in-position bit ; #28 Home-complete bit ; #28 Integrated following error fault bit ; #28 I2T fault bit ; #28 Phasing error fault bit ; #28 Phasing search-in-progress bi
Turbo PMAC/PMAC2 Software Reference M2906->Y:$07A306,8,16,S M2907->Y:$07A304,8,16,S M2908->Y:$07A307,0,24,S M2909->X:$07A307,0,24,S M2910->X:$07A306,0,24,S M2911->X:$07A305,11 M2912->X:$07A305,12 M2914->X:$07A305,14 M2915->X:$07A300,19 M2916->X:$07A300,9 M2917->X:$07A300,11 M2918->X:$07A300,8 M2919->X:$07A300,14 M2920->X:$07A300,16 M2921->X:$07A300,17 M2922->X:$07A300,18 M2923->X:$07A300,15 M2924->X:$07A300,20 M2925->X:$07A300,21 M2926->X:$07A300,22 M2927->X:$07A300,23 M2928->X:$07A300,20,4 ; ADC5B input
Turbo PMAC/PMAC2 Software Reference Motor #29 Move Registers M2961->D:$000E88 M2962->D:$000E8B M2963->D:$000EC7 M2964->D:$000ECC M2966->X:$000E9D,0,24,S M2967->D:$000E8D M2968->X:$000EBF,8,16,S M2969->D:$000E90 M2970->D:$000EB4 M2971->X:$000EB4,24,S M2972->L:$000ED7 M2973->Y:$000ECE,0,24,S M2974->D:$000EEF M2975->X:$000EB9,8,16,S M2976->Y:$000EB9,8,16,S M2977->X:$000EBC,8,16,S M2978->Y:$000EBC,8,16,S M2979->X:$000EAE,8,16,S M2988->Y:$07A301,0,12,U M2989->Y:$07A300,0,12,U ; #29 Commanded position (1/[Ixx08
Turbo PMAC/PMAC2 Software Reference M3026->X:$07A308,22 M3027->X:$07A308,23 M3028->X:$07A308,20,4 ; Channel 6 U flag input status ; Channel 6 T flag input status ; Channel 6 TUVW inputs as 4-bit value Motor #30 Status Bits M3030->Y:$000F40,11,1 M3031->X:$000F30,21,1 M3032->X:$000F30,22,1 M3033->X:$000F30,13,1 M3035->X:$000F30,15,1 M3037->X:$000F30,17,1 M3038->X:$000F30,18,1 M3039->X:$000F30,19,1 M3040->Y:$000F40,0,1 M3041->Y:$000F40,1,1 M3042->Y:$000F40,2,1 M3043->Y:$000F40,3,1 M3044->Y:$000F40,13,1 M304
Turbo PMAC/PMAC2 Software Reference M3088->Y:$07A309,0,12,U M3089->Y:$07A308,0,12,U ; IC 7 Ch 2 Compare A fractional count ; IC 7 Ch 2 Compare A fractional count Motor #30 Axis Definition Registers M3091->L:$000F4F M3092->L:$000F50 M3093->L:$000F51 M3094->L:$000F52 ; #30 X/U/A/B/C-Axis scale factor (cts/unit) ; #30 Y/V-Axis scale factor (cts/unit) ; #30 Z/W-Axis scale factor (cts/unit) ; #30 Axis offset (cts) Servo IC 7 Registers for Third Acc-24 Channel 7 (usually for Motor #31) M3101->X:$07A311,0,24,
Turbo PMAC/PMAC2 Software Reference M3147->Y:$000FC0,5,1 M3148->Y:$000FC0,8,1 M3149->Y:$000FC0,9,1 ; #31 I2T fault bit ; #31 Phasing error fault bit ; #31 Phasing search-in-progress bit MACRO IC 3 Node 12 Flag Registers (usually used for Motor #31) M3150->X:$00347C,0,24 M3151->Y:$00347C,0,24 M3153->X:$00347C,20,4 M3154->Y:$00347C,14,1 M3155->X:$00347C,15,1 M3156->X:$00347C,16,1 M3157->X:$00347C,17,1 M3158->X:$00347C,18,1 M3159->X:$00347C,19,1 ; MACRO IC 3 Node 12 flag status register ; MACRO IC 3 Node 1
Turbo PMAC/PMAC2 Software Reference M3212->X:$07A31D,12 M3214->X:$07A31D,14 M3215->X:$07A318,19 M3216->X:$07A318,9 M3217->X:$07A318,11 M3218->X:$07A318,8 M3219->X:$07A318,14 M3220->X:$07A318,16 M3221->X:$07A318,17 M3222->X:$07A318,18 M3223->X:$07A318,15 M3224->X:$07A318,20 M3225->X:$07A318,21 M3226->X:$07A318,22 M3227->X:$07A318,23 M3228->X:$07A318,20,4 ; ENC8 compare initial state ; AENA8 output status ; USER8 flag input status ; ENC8 compare output value ; ENC8 capture flag ; ENC8 count error flag ; CHC
Turbo PMAC/PMAC2 Software Reference M3267->D:$00100D M3268->X:$00103F,8,16,S M3269->D:$001010 M3270->D:$001034 M3271->X:$001034,24,S M3272->L:$001057 M3273->Y:$00104E,0,24,S M3274->D:$00106F M3275->X:$001039,8,16,S M3276->Y:$001039,8,16,S M3277->X:$00103C,8,16,S M3278->Y:$00103C,8,16,S M3279->X:$00102E,8,16,S M3288->Y:$07A319,0,12,U M3289->Y:$07A318,0,12,U ; #32 Present master pos (1/[Ixx07*32] cts) ; #32 Filter Output (16-bit DAC bits) ; #32 Compensation correction (1/[Ixx08*32] cts) ; #32 Present phase
Turbo PMAC/PMAC2 Software Reference M5095->Y:$00341D,12,12,U M5096->Y:$00341F,12,12,U ; Demuxed high ADC register from I5075 ; Demuxed high ADC register from I5076 Coordinate System 1 (&1) Timers M5111->X:$002015,0,24,S M5112->Y:$002015,0,24,S ; &1 Isx11 timer (for synchronous assignment) ; &1 Isx12 timer (for synchronous assignment) Coordinate System 1 (&1) End-of-Calculated Move Positions M5141->L:$002041 M5142->L:$002042 M5143->L:$002043 M5144->L:$002044 M5145->L:$002045 M5146->L:$002046 M5147->L:$0
Turbo PMAC/PMAC2 Software Reference Coordinate System 2 (&2) Variables M5297->X:$002100,0,24,S M5298->X:$002102,0,24,S ; &2 Host commanded time base (I10 units) ; &2 Present time base (I10 units) Coordinate System 3 (&3) Timers M5311->X:$002215,0,24,S M5312->Y:$002215,0,24,S ; &3 Isx11 timer (for synchronous assignment) ; &3 Isx12 timer (for synchronous assignment) Coordinate System 3 (&3) End-of-Calculated Move Positions M5341->L:$002241 M5342->L:$002242 M5343->L:$002243 M5344->L:$002244 M5345->L:$002
Turbo PMAC/PMAC2 Software Reference Coordinate System 4 (&4) Variables M5497->X:$002300,0,24,S M5498->X:$002302,0,24,S ; &4 Host commanded time base (I10 units) ; &4 Present time base (I10 units) Coordinate System 5 (&5) Timers M5511->X:$002415,0,24,S M5512->Y:$002415,0,24,S ; &5 Isx11 timer (for synchronous assignment) ; &5 Isx12 timer (for synchronous assignment) Coordinate System 5 (&5) End-of-Calculated Move Positions M5541->L:$002441 M5542->L:$002442 M5543->L:$002443 M5544->L:$002444 M5545->L:$002
Turbo PMAC/PMAC2 Software Reference Coordinate System 6 (&6) Variables M5697->X:$002500,0,24,S M5698->X:$002502,0,24,S ; &6 Host commanded time base (I10 units) ; &6 Present time base (I10 units) Coordinate System 7 (&7) Timers M5711->X:$002615,0,24,S M5712->Y:$002615,0,24,S ; &7 Isx11 timer (for synchronous assignment) ; &7 Isx12 timer (for synchronous assignment) Coordinate System 7 (&7) End-of-Calculated Move Positions M5741->L:$002641 M5742->L:$002642 M5743->L:$002643 M5744->L:$002644 M5745->L:$002
Turbo PMAC/PMAC2 Software Reference Coordinate System 8 (&8) Variables M5897->X:$002700,0,24,S M5898->X:$002702,0,24,S ; &8 Host commanded time base (I10 units) ; &8 Present time base (I10 units) Coordinate System 9 (&9) Timers M5911->X:$002815,0,24,S M5912->Y:$002815,0,24,S ; &9 Isx11 timer (for synchronous assignment) ; &9 Isx12 timer (for synchronous assignment) Coordinate System 9 (&9) End-of-Calculated Move Positions M5941->L:$002841 M5942->L:$002842 M5943->L:$002843 M5944->L:$002844 M5945->L:$002
Turbo PMAC/PMAC2 Software Reference Coordinate System 10 (&10) Variables M6097->X:$002900,0,24,S M6098->X:$002902,0,24,S ; &10 Host commanded time base (I10 units) ; &10 Present time base (I10 units) Coordinate System 11 (&11) Timers M6111->X:$002A15,0,24,S M6112->Y:$002A15,0,24,S ; &11 Isx11 timer (for synchronous assignment) ; &11 Isx12 timer (for synchronous assignment) Coordinate System 11 (&11) End-of-Calculated Move Positions M6141->L:$002A41 M6142->L:$002A42 M6143->L:$002A43 M6144->L:$002A44 M61
Turbo PMAC/PMAC2 Software Reference Coordinate System 12 (&12) Variables M6297->X:$002B00,0,24,S M6298->X:$002B02,0,24,S ; &12 Host commanded time base (I10 units) ; &12 Present time base (I10 units) Coordinate System 13 (&13) Timers M6311->X:$002C15,0,24,S M6312->Y:$002C15,0,24,S ; &13 Isx11 timer (for synchronous assignment) ; &13 Isx12 timer (for synchronous assignment) Coordinate System 13 (&13) End-of-Calculated Move Positions M6341->L:$002C41 M6342->L:$002C42 M6343->L:$002C43 M6344->L:$002C44 M63
Turbo PMAC/PMAC2 Software Reference Coordinate System 14 (&14) Variables M6497->X:$002D00,0,24,S M6498->X:$002D02,0,24,S ; &14 Host commanded time base (I10 units) ; &14 Present time base (I10 units) Coordinate System 15 (&15) Timers M6511->X:$002E15,0,24,S M6512->Y:$002E15,0,24,S ; &15 Isx11 timer (for synchronous assignment) ; &15 Isx12 timer (for synchronous assignment) Coordinate System 15 (&15) End-of-Calculated Move Positions M6541->L:$002E41 M6542->L:$002E42 M6543->L:$002E43 M6544->L:$002E44 M65
Turbo PMAC/PMAC2 Software Reference Coordinate System 16 (&16) Variables M6697->X:$002F00,0,24,S M6698->X:$002F02,0,24,S ; &16 Host commanded time base (I10 units) ; &16 Present time base (I10 units) Acc-14 I/O M-Variables (First Acc-14) M7000->Y:$078A00,0,1 M7001->Y:$078A00,1,1 M7002->Y:$078A00,2,1 M7003->Y:$078A00,3,1 M7004->Y:$078A00,4,1 M7005->Y:$078A00,5,1 M7006->Y:$078A00,6,1 M7007->Y:$078A00,7,1 M7008->Y:$078A00,8,1 M7009->Y:$078A00,9,1 M7010->Y:$078A00,10,1 M7011->Y:$078A00,11,1 M7012->Y:$078A00,
Turbo PMAC/PMAC2 Software Reference Encoder Conversion Table Result Registers (M8xxx matches I8xxx) M8000->X:$003501,0,24,S M8001->X:$003502,0,24,S M8002->X:$003503,0,24,S M8003->X:$003504,0,24,S M8004->X:$003505,0,24,S M8005->X:$003506,0,24,S M8006->X:$003507,0,24,S M8007->X:$003508,0,24,S M8008->X:$003509,0,24,S M8009->X:$00350A,0,24,S M8010->X:$00350B,0,24,S M8011->X:$00350C,0,24,S M8012->X:$00350D,0,24,S M8013->X:$00350E,0,24,S M8014->X:$00350F,0,24,S M8015->X:$003510,0,24,S M8016->X:$003511,0,24,S M80
Turbo PMAC/PMAC2 Software Reference M8051->X:$003534,0,24,S M8052->X:$003535,0,24,S M8053->X:$003536,0,24,S M8054->X:$003537,0,24,S M8055->X:$003538,0,24,S M8056->X:$003539,0,24,S M8057->X:$00353A,0,24,S M8058->X:$00353B,0,24,S M8059->X:$00353C,0,24,S M8060->X:$00353D,0,24,S M8061->X:$00353E,0,24,S M8062->X:$00353F,0,24,S M8063->X:$003540,0,24,S ; Line 51 result from conversion table ; Line 52 result from conversion table ; Line 53 result from conversion table ; Line 54 result from conversion table ; Line
Turbo PMAC/PMAC2 Software Reference UMAC TURBO SUGGESTED M-VARIABLE DEFINITIONS This section contains suggested definitions for M-variables on the UMAC Turbo. (For the 3U Turbo Stack, refer to the suggested M-Variable definitions for Turbo PMAC2.) Note that these are only suggestions; the user is free to make whatever definitions are desired. Clear Existing Definitions CLOSE M0..
Turbo PMAC/PMAC2 Software Reference Acc-5E JTHW Thumbwheel Multiplexer Port M-Variables M40->Y:$078402,8 M41->Y:$078402,9 M42->Y:$078402,10 M43->Y:$078402,11 M44->Y:$078402,12 M45->Y:$078402,13 M46->Y:$078402,14 M47->Y:$078402,15 M48->Y:$078402,8,8,U M50->Y:$078402,0 M51->Y:$078402,1 M52->Y:$078402,2 M53->Y:$078402,3 M54->Y:$078402,4 M55->Y:$078402,5 M56->Y:$078402,6 M57->Y:$078402,7 M58->Y:$078402,0,8,U M60->X:$078402,0,8 M62->X:$078402,8,8 ; SEL0 Line; J2 Pin 4 ; SEL1 Line; J2 Pin 6 ; SEL2 Line; J2 Pin
Turbo PMAC/PMAC2 Software Reference M112->X:$078205,12 M114->X:$078205,14 M115->X:$078200,19 M116->X:$078200,9 M117->X:$078200,11 M118->X:$078200,8 M119->X:$078200,14 M120->X:$078200,16 M121->X:$078200,17 M122->X:$078200,18 M123->X:$078200,15 M124->X:$078200,20 M125->X:$078200,21 M126->X:$078200,22 M127->X:$078200,23 M128->X:$078200,20,4 ; ENC1 compare initial state ; AENA1 output status ; USER1 flag input status ; ENC1 compare output value ; ENC1 capture flag ; ENC1 count error flag ; CHC1 input status ;
Turbo PMAC/PMAC2 Software Reference M167->D:$00008D M168->X:$0000BF,8,16,S M169->D:$000090 M170->D:$0000B4 M171->X:$0000B4,24,S M172->L:$0000D7 M173->Y:$0000CE,0,24,S M174->D:$0000EF M175->X:$0000B9,8,16,S M176->Y:$0000B9,8,16,S M177->X:$0000BC,8,16,S M178->Y:$0000BC,8,16,S M179->X:$0000AE,8,16,S M188->Y:$078201,0,12,U M189->Y:$078200,0,12,U ; #1 Present master pos (1/[Ixx07*32] cts) ; #1 Filter Output (16-bit DAC bits) ; #1 Compensation correction (1/[Ixx08*32] cts) ; #1 Present phase position (including
Turbo PMAC/PMAC2 Software Reference Motor #2 Status Bits M230->Y:$000140,11,1 M231->X:$000130,21,1 M232->X:$000130,22,1 M233->X:$000130,13,1 M235->X:$000130,15,1 M237->X:$000130,17,1 M238->X:$000130,18,1 M239->X:$000130,19,1 M240->Y:$000140,0,1 M241->Y:$000140,1,1 M242->Y:$000140,2,1 M243->Y:$000140,3,1 M244->Y:$000140,13,1 M245->Y:$000140,10,1 M246->Y:$000140,6,1 M247->Y:$000140,5,1 M248->Y:$000140,8,1 M249->Y:$000140,9,1 ; #2 Stopped-on-position-limit bit ; #2 Positive-end-limit-set bit ; #2 Negative-en
Turbo PMAC/PMAC2 Software Reference Motor #2 Axis Definition Registers M291->L:$00014F M292->L:$000150 M293->L:$000151 M294->L:$000152 ; #2 X/U/A/B/C-Axis scale factor (cts/unit) ; #2 Y/V-Axis scale factor (cts/unit) ; #2 Z/W-Axis scale factor (cts/unit) ; #2 Axis offset (cts) Servo IC 2 Channel 3 Registers (usually for Motor #3) M301->X:$078211,0,24,S M302->Y:$078212,8,16,S M303->X:$078213,0,24,S M304->Y:$078213,8,16,S M305->Y:$078215,8,16,S M306->Y:$078216,8,16,S M307->Y:$078214,8,16,S M308->Y:$078217,
Turbo PMAC/PMAC2 Software Reference M349->Y:$0001C0,9,1 ; #3 Phasing search-in-progress bit MACRO IC 0 Node 4 Flag Registers (usually used for Motor #3) M350->X:$003444,0,24 ; MACRO IC 0 Node 4 flag status register M351->Y:$003444,0,24 ; MACRO IC 0 Node 4 flag command register M353->X:$003444,20,4 ; MACRO IC 0 Node 4 TUVW flags M354->Y:$003444,14,1 ; MACRO IC 0 Node 4 amplifier enable flag M355->X:$003444,15,1 ; MACRO IC 0 Node 4 node/amplifier fault flag M356->X:$003444,16,1 ; MACRO IC 0 Node 4 home flag M
Turbo PMAC/PMAC2 Software Reference M415->X:$078218,19 M416->X:$078218,9 M417->X:$078218,11 M418->X:$078218,8 M419->X:$078218,14 M420->X:$078218,16 M421->X:$078218,17 M422->X:$078218,18 M423->X:$078218,15 M424->X:$078218,20 M425->X:$078218,21 M426->X:$078218,22 M427->X:$078218,23 M428->X:$078218,20,4 ; USER4 flag input status ; ENC4 compare output value ; ENC4 capture flag ; ENC4 count error flag ; HMFL4 flag input status ; CHC4 input status ; PLIM4 flag input status ; MLIM4 flag input status ; FAULT4 fla
Turbo PMAC/PMAC2 Software Reference M469->D:$000210 M470->D:$000234 M471->X:$000234,24,S M472->L:$000257 M473->Y:$00024E,0,24,S M474->D:$00026F M475->X:$000239,8,16,S M476->Y:$000239,8,16,S M477->X:$00023C,8,16,S M478->Y:$00023C,8,16,S M479->X:$00022E,8,16,S M488->Y:$078219,0,12,U M489->Y:$078218,0,12,U ; #4 Compensation correction (1/[Ixx08*32] cts) ; #4 Present phase position (including fraction) ; #4 Present phase position (counts *Ixx70) ; #4 Variable jog position/distance (cts) ; #4 Encoder home capt
Turbo PMAC/PMAC2 Software Reference M535->X:$0002B0,15,1 M537->X:$0002B0,17,1 M538->X:$0002B0,18,1 M539->X:$0002B0,19,1 M540->Y:$0002C0,0,1 M541->Y:$0002C0,1,1 M542->Y:$0002C0,2,1 M543->Y:$0002C0,3,1 M544->Y:$0002C0,13,1 M545->Y:$0002C0,10,1 M546->Y:$0002C0,6,1 M547->Y:$0002C0,5,1 M548->Y:$0002C0,8,1 M549->Y:$0002C0,9,1 ; #5 Dwell-in-progress bit ; #5 Running-program bit ; #5 Open-loop-mode bit ; #5 Amplifier-enabled status bit ; #5 Background in-position bit ; #5 Warning-following error bit ; #5 Fatal-fo
Turbo PMAC/PMAC2 Software Reference Servo IC 3 Channel 2 Registers (usually for Motor #6) M601->X:$078309,0,24,S M602->Y:$07830A,8,16,S M603->X:$07830B,0,24,S M604->Y:$07830B,8,16,S M605->Y:$07830D,8,16,S M606->Y:$07830E,8,16,S M607->Y:$07830C,8,16,S M608->Y:$07830F,0,24,S M609->X:$07830F,0,24,S M610->X:$07830E,0,24,S M611->X:$07830D,11 M612->X:$07830D,12 M614->X:$07830D,14 M615->X:$078308,19 M616->X:$078308,9 M617->X:$078308,11 M618->X:$078308,8 M619->X:$078308,14 M620->X:$078308,16 M621->X:$078308,17 M62
Turbo PMAC/PMAC2 Software Reference MACRO IC 0 Node 9 Flag Registers (usually used for Motor #6) M650->X:$003449,0,24 M651->Y:$003449,0,24 M653->X:$003449,20,4 M654->Y:$003449,14,1 M655->X:$003449,15,1 M656->X:$003449,16,1 M657->X:$003449,17,1 M658->X:$003449,18,1 M659->X:$003449,19,1 ; MACRO IC 0 Node 9 flag status register ; MACRO IC 0 Node 9 flag command register ; MACRO IC 0 Node 9 TUVW flags ; MACRO IC 0 Node 9 amplifier enable flag ; MACRO IC 0 Node 9 node/amplifier fault flag ; MACRO IC 0 Node 9 ho
Turbo PMAC/PMAC2 Software Reference M716->X:$078310,9 M717->X:$078310,11 M718->X:$078310,8 M719->X:$078310,14 M720->X:$078310,16 M721->X:$078310,17 M722->X:$078310,18 M723->X:$078310,15 M724->X:$078310,20 M725->X:$078310,21 M726->X:$078310,22 M727->X:$078310,23 M728->X:$078310,20,4 ; ENC7 compare output value ; ENC7 capture flag ; ENC7 count error flag ; CHC7 input status ; HMFL7 flag input status ; PLIM7 flag input status ; MLIM7 flag input status ; FAULT7 flag input status ; Channel 7 W flag input statu
Turbo PMAC/PMAC2 Software Reference M770->D:$0003B4 M771->X:$0003B4,24,S M772->L:$0003D7 M773->Y:$0003CE,0,24,S M774->D:$0003EF M775->X:$0003B9,8,16,S M776->Y:$0003B9,8,16,S M777->X:$0003BC,8,16,S M778->Y:$0003BC,8,16,S M779->X:$0003AE,8,16,S M788->Y:$078311,0,12,U M789->Y:$078310,0,12,U ; #7 Present phase position (including fraction) ; #7 Present phase position (counts *Ixx70) ; #7 Variable jog position/distance (cts) ; #7 Encoder home capture position (cts) ; #7 Averaged actual velocity (1/[Ixx09*32] c
Turbo PMAC/PMAC2 Software Reference M837->X:$000430,17,1 M838->X:$000430,18,1 M839->X:$000430,19,1 M840->Y:$000440,0,1 M841->Y:$000440,1,1 M842->Y:$000440,2,1 M843->Y:$000440,3,1 M844->Y:$000440,13,1 M845->Y:$000440,10,1 M846->Y:$000440,6,1 M847->Y:$000440,5,1 M848->Y:$000440,8,1 M849->Y:$000440,9,1 ; #8 Running-program bit ; #8 Open-loop-mode bit ; #8 Amplifier-enabled status bit ; #8 Background in-position bit ; #8 Warning-following error bit ; #8 Fatal-following-error bit ; #8 Amplifier-fault-error bit
Turbo PMAC/PMAC2 Software Reference Servo IC 4 Channel 1 Registers (usually for Motor #9) M901->X:$079201,0,24,S M902->Y:$079202,8,16,S M903->X:$079203,0,24,S M904->Y:$079203,8,16,S M905->Y:$079205,8,16,S M906->Y:$079206,8,16,S M907->Y:$079204,8,16,S M908->Y:$079207,0,24,S M909->X:$079207,0,24,S M910->X:$079206,0,24,S M911->X:$079205,11 M912->X:$079205,12 M914->X:$079205,14 M915->X:$079200,19 M916->X:$079200,9 M917->X:$079200,11 M918->X:$079200,8 M919->X:$079200,14 M920->X:$079200,16 M921->X:$079200,17 M92
Turbo PMAC/PMAC2 Software Reference M954->Y:$003450,14,1 M955->X:$003450,15,1 M956->X:$003450,16,1 M957->X:$003450,17,1 M958->X:$003450,18,1 M959->X:$003450,19,1 ; MACRO IC 1 Node 0 amplifier enable flag ; MACRO IC 1 Node 0 node/amplifier fault flag ; MACRO IC 1 Node 0 home flag ; MACRO IC 1 Node 0 positive limit flag ; MACRO IC 1 Node 0 negative limit flag ; MACRO IC 1 Node 0 user flag Motor #9 Move Registers M961->D:$000488 M962->D:$00048B M963->D:$0004C7 M964->D:$0004CC M966->X:$00049D,0,24,S M967->D:
Turbo PMAC/PMAC2 Software Reference M1020->X:$079208,16 M1021->X:$079208,17 M1022->X:$079208,18 M1023->X:$079208,15 M1024->X:$079208,20 M1025->X:$079208,21 M1026->X:$079208,22 M1027->X:$079208,23 M1028->X:$079208,20,4 ; HMFL2 flag input status ; PLIM2 flag input status ; MLIM2 flag input status ; FAULT2 flag input status ; Channel 2 W flag input status ; Channel 2 V flag input status ; Channel 2 U flag input status ; Channel 2 T flag input status ; Channel 2 TUVW inputs as 4-bit value Motor #10 Status Bi
Turbo PMAC/PMAC2 Software Reference M1074->D:$00056F M1075->X:$000539,8,16,S M1076->Y:$000539,8,16,S M1077->X:$00053C,8,16,S M1078->Y:$00053C,8,16,S M1079->X:$00052E,8,16,S M1088->Y:$079209,0,12,U M1089->Y:$079208,0,12,U ; #10 Averaged actual velocity (1/[Ixx09*32] cts/cyc) ; #10 Actual quadrature current ; #10 Actual direct current ; #10 Quadrature current-loop integrator output ; #10 Direct current-loop integrator output ; #10 PID internal filter result (16-bit DAC bits) ; IC 4 Ch 2 Compare A fractional
Turbo PMAC/PMAC2 Software Reference M1141->Y:$0005C0,1,1 M1142->Y:$0005C0,2,1 M1143->Y:$0005C0,3,1 M1144->Y:$0005C0,13,1 M1145->Y:$0005C0,10,1 M1146->Y:$0005C0,6,1 M1147->Y:$0005C0,5,1 M1148->Y:$0005C0,8,1 M1149->Y:$0005C0,9,1 ; #11 Warning-following error bit ; #11 Fatal-following-error bit ; #11 Amplifier-fault-error bit ; #11 Foreground in-position bit ; #11 Home-complete bit ; #11 Integrated following error fault bit ; #11 I2T fault bit ; #11 Phasing error fault bit ; #11 Phasing search-in-progress bi
Turbo PMAC/PMAC2 Software Reference M1206->Y:$07921E,8,16,S M1207->Y:$07921C,8,16,S M1208->Y:$07921F,0,24,S M1209->X:$07921F,0,24,S M1210->X:$07921E,0,24,S M1211->X:$07921D,11 M1212->X:$07921D,12 M1214->X:$07921D,14 M1215->X:$079218,19 M1216->X:$079218,9 M1217->X:$079218,11 M1218->X:$079218,8 M1219->X:$079218,14 M1220->X:$079218,16 M1221->X:$079218,17 M1222->X:$079218,18 M1223->X:$079218,15 M1224->X:$079218,20 M1225->X:$079218,21 M1226->X:$079218,22 M1227->X:$079218,23 M1228->X:$079218,20,4 ; ADC4B input
Turbo PMAC/PMAC2 Software Reference Motor #12 Move Registers M1261->D:$000608 M1262->D:$00060B M1263->D:$000647 M1264->D:$00064C M1266->X:$00061D,0,24,S M1267->D:$00060D M1268->X:$00063F,8,16,S M1269->D:$000610 M1270->D:$000634 M1271->X:$000634,24,S M1272->L:$000657 M1273->Y:$00064E,0,24,S M1274->D:$00066F M1275->X:$000639,8,16,S M1276->Y:$000639,8,16,S M1277->X:$00063C,8,16,S M1278->Y:$00063C,8,16,S M1279->X:$00062E,8,16,S M1288->Y:$079219,0,12,U M1289->Y:$079218,0,12,U ; #12 Commanded position (1/[Ixx08
Turbo PMAC/PMAC2 Software Reference M1326->X:$079300,22 M1327->X:$079300,23 M1328->X:$079300,20,4 ; Channel 5 U flag input status ; Channel 5 T flag input status ; Channel 5 TUVW inputs as 4-bit value Motor #13 Status Bits M1330->Y:$0006C0,11,1 M1331->X:$0006B0,21,1 M1332->X:$0006B0,22,1 M1333->X:$0006B0,13,1 M1335->X:$0006B0,15,1 M1337->X:$0006B0,17,1 M1338->X:$0006B0,18,1 M1339->X:$0006B0,19,1 M1340->Y:$0006C0,0,1 M1341->Y:$0006C0,1,1 M1342->Y:$0006C0,2,1 M1343->Y:$0006C0,3,1 M1344->Y:$0006C0,13,1 M134
Turbo PMAC/PMAC2 Software Reference M1388->Y:$079301,0,12,U M1389->Y:$079300,0,12,U ; IC 5 Ch 1 Compare A fractional count ; IC 5 Ch 1 Compare B fractional count Motor #13 Axis Definition Registers M1391->L:$0006CF M1392->L:$0006D0 M1393->L:$0006D1 M1394->L:$0006D2 ; #13 X/U/A/B/C-Axis scale factor (cts/unit) ; #13 Y/V-Axis scale factor (cts/unit) ; #13 Z/W-Axis scale factor (cts/unit) ; #13 Axis offset (cts) Servo IC 5 Channel 2 Registers (usually for Motor #14) M1401->X:$079309,0,24,S M1402->Y:$07930
Turbo PMAC/PMAC2 Software Reference M1447->Y:$000740,5,1 M1448->Y:$000740,8,1 M1449->Y:$000740,9,1 ; #14 I2T fault bit ; #14 Phasing error fault bit ; #14 Phasing search-in-progress bit MACRO IC 1 Node 9 Flag Registers (usually used for Motor #14) M1450->X:$003459,0,24 M1451->Y:$003459,0,24 M1453->X:$003459,20,4 M1454->Y:$003459,14,1 M1455->X:$003459,15,1 M1456->X:$003459,16,1 M1457->X:$003459,17,1 M1458->X:$003459,18,1 M1459->X:$003459,19,1 ; MACRO IC 1 Node 9 flag status register ; MACRO IC 1 Node 9 f
Turbo PMAC/PMAC2 Software Reference M1512->X:$079315,12 M1514->X:$079315,14 M1515->X:$079310,19 M1516->X:$079310,9 M1517->X:$079310,11 M1518->X:$079310,8 M1519->X:$079310,14 M1520->X:$079310,16 M1521->X:$079310,17 M1522->X:$079310,18 M1523->X:$079310,15 M1524->X:$079310,20 M1525->X:$079310,21 M1526->X:$079310,22 M1527->X:$079310,23 M1528->X:$079310,20,4 ; ENC7 compare initial state ; AENA7 output status ; CHC7 input status ; ENC7 compare output value ; ENC7 capture flag ; ENC7 count error flag ; CHC7 inpu
Turbo PMAC/PMAC2 Software Reference M1567->D:$00078D M1568->X:$0007BF,8,16,S M1569->D:$000790 M1570->D:$0007B4 M1571->X:$0007B4,24,S M1572->L:$0007D7 M1573->Y:$0007CE,0,24,S M1574->D:$0007EF M1575->X:$0007B9,8,16,S M1576->Y:$0007B9,8,16,S M1577->X:$0007BC,8,16,S M1578->Y:$0007BC,8,16,S M1579->X:$0007AE,8,16,S M1588->Y:$079311,0,12,U M1589->Y:$079310,0,12,U ; #15 Present master pos (1/[Ixx07*32] cts) ; #15 Filter Output (16-bit DAC bits) ; #15 Compensation correction (1/[Ixx08*32] cts) ; #15 Present phase
Turbo PMAC/PMAC2 Software Reference Motor #16 Status Bits M1630->Y:$000840,11,1 M1631->X:$000830,21,1 M1632->X:$000830,22,1 M1633->X:$000830,13,1 M1635->X:$000830,15,1 M1637->X:$000830,17,1 M1638->X:$000830,18,1 M1639->X:$000830,19,1 M1640->Y:$000840,0,1 M1641->Y:$000840,1,1 M1642->Y:$000840,2,1 M1643->Y:$000840,3,1 M1644->Y:$000840,13,1 M1645->Y:$000840,10,1 M1646->Y:$000840,6,1 M1647->Y:$000840,5,1 M1648->Y:$000840,8,1 ; #16 Stopped-on-position-limit bit ; #16 Positive-end-limit-set bit ; #16 Negative-e
Turbo PMAC/PMAC2 Software Reference Motor #16 Axis Definition Registers M1691->L:$00084F M1692->L:$000850 M1693->L:$000851 M1694->L:$000852 ; #16 X/U/A/B/C-Axis scale factor (cts/unit) ; #16 Y/V-Axis scale factor (cts/unit) ; #16 Z/W-Axis scale factor (cts/unit) ; #16 Axis offset (cts) Servo IC 6 Channel 1 Registers (usually for Motor #17) M1701->X:$07A201,0,24,S M1702->Y:$07A202,8,16,S M1703->X:$07A203,0,24,S M1704->Y:$07A203,8,16,S M1705->Y:$07A205,8,16,S M1706->Y:$07A206,8,16,S M1707->Y:$07A204,8,16,S
Turbo PMAC/PMAC2 Software Reference M1749->Y:$0008C0,9,1 ; #17 Phasing search-in-progress bit MACRO IC 2 Node 0 Flag Registers (usually used for Motor #17) M1750->X:$003460,0,24 M1751->Y:$003460,0,24 M1753->X:$003460,20,4 M1754->Y:$003460,14,1 M1755->X:$003460,15,1 M1756->X:$003460,16,1 M1757->X:$003460,17,1 M1758->X:$003460,18,1 M1759->X:$003460,19,1 ; MACRO IC 2 Node 0 flag status register ; MACRO IC 2 Node 0 flag command register ; MACRO IC 2 Node 0 TUVW flags ; MACRO IC 2 Node 0 amplifier enable flag
Turbo PMAC/PMAC2 Software Reference M1815->X:$07A208,19 M1816->X:$07A208,9 M1817->X:$07A208,11 M1818->X:$07A208,8 M1819->X:$07A208,14 M1820->X:$07A208,16 M1821->X:$07A208,17 M1822->X:$07A208,18 M1823->X:$07A208,15 M1824->X:$07A208,20 M1825->X:$07A208,21 M1826->X:$07A208,22 M1827->X:$07A208,23 M1828->X:$07A208,20,4 ; USER2 flag input status ; ENC2 compare output value ; ENC2 capture flag ; ENC2 count error flag ; CHC2 input status ; HMFL2 flag input status ; PLIM2 flag input status ; MLIM2 flag input statu
Turbo PMAC/PMAC2 Software Reference M1869->D:$000910 M1870->D:$000934 M1871->X:$000934,24,S M1872->L:$000957 M1873->Y:$00094E,0,24,S M1874->D:$00096F M1875->X:$000939,8,16,S M1876->Y:$000939,8,16,S M1877->X:$00093C,8,16,S M1878->Y:$00093C,8,16,S M1879->X:$00092E,8,16,S M1888->Y:$07A209,0,12,U M1889->Y:$07A208,0,12,U ; #18 Compensation correction (1/[Ixx08*32] cts) ; #18 Present phase position (including fraction) ; #18 Present phase position (counts *Ixx70) ; #18 Variable jog position/distance (cts) ; #18
Turbo PMAC/PMAC2 Software Reference M1935->X:$0009B0,15,1 M1937->X:$0009B0,17,1 M1938->X:$0009B0,18,1 M1939->X:$0009B0,19,1 M1940->Y:$0009C0,0,1 M1941->Y:$0009C0,1,1 M1942->Y:$0009C0,2,1 M1943->Y:$0009C0,3,1 M1944->Y:$0009C0,13,1 M1945->Y:$0009C0,10,1 M1946->Y:$0009C0,6,1 M1947->Y:$0009C0,5,1 M1948->Y:$0009C0,8,1 M1949->Y:$0009C0,9,1 ; #19 Dwell-in-progress bit ; #19 Running-program bit ; #19 Open-loop-mode bit ; #19 Amplifier-enabled status bit ; #19 Background in-position bit ; #19 Warning-following err
Turbo PMAC/PMAC2 Software Reference Servo IC 6 Channel 4 Registers (usually for Motor #20) M2001->X:$07A219,0,24,S M2002->Y:$07A21A,8,16,S M2003->X:$07A21B,0,24,S M2004->Y:$07A21B,8,16,S M2005->Y:$07A21D,8,16,S M2006->Y:$07A21E,8,16,S M2007->Y:$07A21C,8,16,S M2008->Y:$07A21F,0,24,S M2009->X:$07A21F,0,24,S M2010->X:$07A21E,0,24,S M2011->X:$07A21D,11 M2012->X:$07A21D,12 M2014->X:$07A21D,14 M2015->X:$07A218,19 M2016->X:$07A218,9 M2017->X:$07A218,11 M2018->X:$07A218,8 M2019->X:$07A218,14 M2020->X:$07A218,16 M2
Turbo PMAC/PMAC2 Software Reference M2054->Y:$003465,14,1 M2055->X:$003465,15,1 M2056->X:$003465,16,1 M2057->X:$003465,17,1 M2058->X:$003465,18,1 M2059->X:$003465,19,1 ; MACRO IC 2 Node 5 amplifier enable flag ; MACRO IC 2 Node 5 node/amplifier fault flag ; MACRO IC 2 Node 5 home flag ; MACRO IC 2 Node 5 positive limit flag ; MACRO IC 2 Node 5 negative limit flag ; MACRO IC 2 Node 5 user flag Motor #20 Move Registers M2061->D:$000A08 M2062->D:$000A0B M2063->D:$000A47 M2064->D:$000A4C M2066->X:$000A1D,0,2
Turbo PMAC/PMAC2 Software Reference M2120->X:$07A300,16 M2121->X:$07A300,17 M2122->X:$07A300,18 M2123->X:$07A300,15 M2124->X:$07A300,20 M2125->X:$07A300,21 M2126->X:$07A300,22 M2127->X:$07A300,23 M2128->X:$07A300,20,4 ; HMFL5 flag input status ; PLIM5 flag input status ; MLIM5 flag input status ; FAULT5 flag input status ; Channel 5 W flag input status ; Channel 5 V flag input status ; Channel 5 U flag input status ; Channel 5 T flag input status ; Channel 5 TUVW inputs as 4-bit value Motor #21 Status Bi
Turbo PMAC/PMAC2 Software Reference M2174->D:$000AEF M2175->X:$000AB9,8,16,S M2176->Y:$000AB9,8,16,S M2177->X:$000ABC,8,16,S M2178->Y:$000ABC,8,16,S M2179->X:$000AAE,8,16,S M2188->Y:$07A301,0,12,U M2189->Y:$07A300,0,12,U ; #21 Averaged actual velocity (1/[Ixx09*32] cts/cyc) ; #21 Actual quadrature current ; #21 Actual direct current ; #21 Quadrature current-loop integrator output ; #21 Direct current-loop integrator output ; #21 PID internal filter result (16-bit DAC bits) ; IC 7 Ch 1 Compare A fractional
Turbo PMAC/PMAC2 Software Reference M2241->Y:$000B40,1,1 M2242->Y:$000B40,2,1 M2243->Y:$000B40,3,1 M2244->Y:$000B40,13,1 M2245->Y:$000B40,10,1 M2246->Y:$000B40,6,1 M2247->Y:$000B40,5,1 M2248->Y:$000B40,8,1 M2249->Y:$000B40,9,1 ; #22 Warning-following error bit ; #22 Fatal-following-error bit ; #22 Amplifier-fault-error bit ; #22 Foreground in-position bit ; #22 Home-complete bit ; #22 Integrated following error fault bit ; #22 I2T fault bit ; #22 Phasing error fault bit ; #22 Phasing search-in-progress bi
Turbo PMAC/PMAC2 Software Reference M2306->Y:$07A316,8,16,S M2307->Y:$07A314,8,16,S M2308->Y:$07A317,0,24,S M2309->X:$07A317,0,24,S M2310->X:$07A316,0,24,S M2311->X:$07A315,11 M2312->X:$07A315,12 M2314->X:$07A315,14 M2315->X:$07A310,19 M2316->X:$07A310,9 M2317->X:$07A310,11 M2318->X:$07A310,8 M2319->X:$07A310,14 M2320->X:$07A310,16 M2321->X:$07A310,17 M2322->X:$07A310,18 M2323->X:$07A310,15 M2324->X:$07A310,20 M2325->X:$07A310,21 M2326->X:$07A310,22 M2327->X:$07A310,23 M2328->X:$07A310,20,4 ; ADC7B input
Turbo PMAC/PMAC2 Software Reference Motor #23 Move Registers M2361->D:$000B88 M2362->D:$000B8B M2363->D:$000BC7 M2364->D:$000BCC M2366->X:$000B9D,0,24,S M2367->D:$000B8D M2368->X:$000BBF,8,16,S M2369->D:$000B90 M2370->D:$000BB4 M2371->X:$000BB4,24,S M2372->L:$000BD7 M2373->Y:$000BCE,0,24,S M2374->D:$000BEF M2375->X:$000BB9,8,16,S M2376->Y:$000BB9,8,16,S M2377->X:$000BBC,8,16,S M2378->Y:$000BBC,8,16,S M2379->X:$000BAE,8,16,S M2388->Y:$07A311,0,12,U M2389->Y:$07A310,0,12,U ; #23 Commanded position (1/[Ixx08
Turbo PMAC/PMAC2 Software Reference M2427->X:$07A318,23 M2428->X:$07A318,20,4 ; Channel 8 T flag input status ; Channel 8 TUVW inputs as 4-bit value Motor #24 Status Bits M2430->Y:$000C40,11,1 M2431->X:$000C30,21,1 M2432->X:$000C30,22,1 M2433->X:$000C30,13,1 M2435->X:$000C30,15,1 M2437->X:$000C30,17,1 M2438->X:$000C30,18,1 M2439->X:$000C30,19,1 M2440->Y:$000C40,0,1 M2441->Y:$000C40,1,1 M2442->Y:$000C40,2,1 M2443->Y:$000C40,3,1 M2444->Y:$000C40,13,1 M2445->Y:$000C40,10,1 M2446->Y:$000C40,6,1 M2447->Y:$000
Turbo PMAC/PMAC2 Software Reference M2489->Y:$07A318,0,12,U ; IC 7 Ch 4 Compare B fractional count Motor #24 Axis Definition Registers M2491->L:$000C4F M2492->L:$000C50 M2493->L:$000C51 M2494->L:$000C52 ; #24 X/U/A/B/C-Axis scale factor (cts/unit) ; #24 Y/V-Axis scale factor (cts/unit) ; #24 Z/W-Axis scale factor (cts/unit) ; #24 Axis offset (cts) Servo IC 8 Channel 1 Registers (usually for Motor #25) M2501->X:$07B201,0,24,S M2502->Y:$07B202,8,16,S M2503->X:$07B203,0,24,S M2504->Y:$07B203,8,16,S M2505->
Turbo PMAC/PMAC2 Software Reference M2548->Y:$000CC0,8,1 M2549->Y:$000CC0,9,1 ; #25 Phasing error fault bit ; #25 Phasing search-in-progress bit MACRO IC 3 Node 0 Flag Registers (usually used for Motor #25) M2550->X:$003470,0,24 M2551->Y:$003470,0,24 M2553->X:$003470,20,4 M2554->Y:$003470,14,1 M2555->X:$003470,15,1 M2556->X:$003470,16,1 M2557->X:$003470,17,1 M2558->X:$003470,18,1 M2559->X:$003470,19,1 ; MACRO IC 3 Node 0 flag status register ; MACRO IC 3 Node 0 flag command register ; MACRO IC 3 Node 0
Turbo PMAC/PMAC2 Software Reference M2614->X:$07B20D,14 M2615->X:$07B208,19 M2616->X:$07B208,9 M2617->X:$07B208,11 M2618->X:$07B208,8 M2619->X:$07B208,14 M2620->X:$07B208,16 M2621->X:$07B208,17 M2622->X:$07B208,18 M2623->X:$07B208,15 M2624->X:$07B208,20 M2625->X:$07B208,21 M2626->X:$07B208,22 M2627->X:$07B208,23 M2628->X:$07B208,20,4 ; AENA2 output status ; USER2 flag input status ; ENC2 compare output value ; ENC2 capture flag ; ENC2 count error flag ; CHC2 input status ; HMFL2 flag input status ; PLIM2
Turbo PMAC/PMAC2 Software Reference M2668->X:$000D3F,8,16,S M2669->D:$000D10 M2670->D:$000D34 M2671->X:$000D34,24,S M2672->L:$000D57 M2673->Y:$000D4E,0,24,S M2674->D:$000D6F M2675->X:$000D39,8,16,S M2676->Y:$000D39,8,16,S M2677->X:$000D3C,8,16,S M2678->Y:$000D3C,8,16,S M2679->X:$000D2E,8,16,S M2688->Y:$07B209,0,12,U M2689->Y:$07B208,0,12,U ; #26 Filter Output (16-bit DAC bits) ; #26 Compensation correction (1/[Ixx08*32] cts) ; #26 Present phase position (including fraction) ; #26 Present phase position (c
Turbo PMAC/PMAC2 Software Reference M2733->X:$000DB0,13,1 M2735->X:$000DB0,15,1 M2737->X:$000DB0,17,1 M2738->X:$000DB0,18,1 M2739->X:$000DB0,19,1 M2740->Y:$000DC0,0,1 M2741->Y:$000DC0,1,1 M2742->Y:$000DC0,2,1 M2743->Y:$000DC0,3,1 M2744->Y:$000DC0,13,1 M2745->Y:$000DC0,10,1 M2746->Y:$000DC0,6,1 M2747->Y:$000DC0,5,1 M2748->Y:$000DC0,8,1 M2749->Y:$000DC0,9,1 ; #27 Desired-velocity-zero bit ; #27 Dwell-in-progress bit ; #27 Running-program bit ; #27 Open-loop-mode bit ; #27 Amplifier-enabled status bit ; #27
Turbo PMAC/PMAC2 Software Reference Servo IC 8 Channel 4 Registers (usually for Motor #28) M2801->X:$07B219,0,24,S M2802->Y:$07B21A,8,16,S M2803->X:$07B21B,0,24,S M2804->Y:$07B21B,8,16,S M2805->Y:$07B21D,8,16,S M2806->Y:$07B21E,8,16,S M2807->Y:$07B21C,8,16,S M2808->Y:$07B21F,0,24,S M2809->X:$07B21F,0,24,S M2810->X:$07B21E,0,24,S M2811->X:$07B21D,11 M2812->X:$07B21D,12 M2814->X:$07B21D,14 M2815->X:$07B218,19 M2816->X:$07B218,9 M2817->X:$07B218,11 M2818->X:$07B218,8 M2819->X:$07B218,14 M2820->X:$07B218,16 M2
Turbo PMAC/PMAC2 Software Reference M2854->Y:$003475,14,1 M2855->X:$003475,15,1 M2856->X:$003475,16,1 M2857->X:$003475,17,1 M2858->X:$003475,18,1 M2859->X:$003475,19,1 ; MACRO IC 3 Node 5 amplifier enable flag ; MACRO IC 3 Node 5 node/amplifier fault flag ; MACRO IC 3 Node 5 home flag ; MACRO IC 3 Node 5 positive limit flag ; MACRO IC 3 Node 5 negative limit flag ; MACRO IC 3 Node 5 user flag Motor #28 Move Registers M2861->D:$000E08 M2862->D:$000E0B M2863->D:$000E47 M2864->D:$000E4C M2866->X:$000E1D,0,2
Turbo PMAC/PMAC2 Software Reference M2920->X:$07B300,16 M2921->X:$07B300,17 M2922->X:$07B300,18 M2923->X:$07B300,15 M2924->X:$07B300,20 M2925->X:$07B300,21 M2926->X:$07B300,22 M2927->X:$07B300,23 M2928->X:$07B300,20,4 ; HMFL5 flag input status ; PLIM5 flag input status ; MLIM5 flag input status ; FAULT5 flag input status ; Channel 5 W flag input status ; Channel 5 V flag input status ; Channel 5 U flag input status ; Channel 5 T flag input status ; Channel 5 TUVW inputs as 4-bit value Motor #29 Status Bi
Turbo PMAC/PMAC2 Software Reference M2974->D:$000EEF M2975->X:$000EB9,8,16,S M2976->Y:$000EB9,8,16,S M2977->X:$000EBC,8,16,S M2978->Y:$000EBC,8,16,S M2979->X:$000EAE,8,16,S M2988->Y:$07B301,0,12,U M2989->Y:$07B300,0,12,U ; #29 Averaged actual velocity (1/[Ixx09*32] cts/cyc) ; #29 Actual quadrature current ; #29 Actual direct current ; #29 Quadrature current-loop integrator output ; #29 Direct current-loop integrator output ; #29 PID internal filter result (16-bit DAC bits) ; IC 9 Ch 1 Compare A fractional
Turbo PMAC/PMAC2 Software Reference M3041->Y:$000F40,1,1 M3042->Y:$000F40,2,1 M3043->Y:$000F40,3,1 M3044->Y:$000F40,13,1 M3045->Y:$000F40,10,1 M3046->Y:$000F40,6,1 M3047->Y:$000F40,5,1 M3048->Y:$000F40,8,1 M3049->Y:$000F40,9,1 ; #30 Warning-following error bit ; #30 Fatal-following-error bit ; #30 Amplifier-fault-error bit ; #30 Foreground in-position bit ; #30 Home-complete bit ; #30 Integrated following error fault bit ; #30 I2T fault bit ; #30 Phasing error fault bit ; #30 Phasing search-in-progress bi
Turbo PMAC/PMAC2 Software Reference M3106->Y:$07B316,8,16,S M3107->Y:$07B314,8,16,S M3108->Y:$07B317,0,24,S M3109->X:$07B317,0,24,S M3110->X:$07B316,0,24,S M3111->X:$07B315,11 M3112->X:$07B315,12 M3114->X:$07B315,14 M3115->X:$07B310,19 M3116->X:$07B310,9 M3117->X:$07B310,11 M3118->X:$07B310,8 M3119->X:$07B310,14 M3120->X:$07B310,16 M3121->X:$07B310,17 M3122->X:$07B310,18 M3123->X:$07B310,15 M3124->X:$07B310,20 M3125->X:$07B310,21 M3126->X:$07B310,22 M3127->X:$07B310,23 M3128->X:$07B310,20,4 ; ADC7B input
Turbo PMAC/PMAC2 Software Reference Motor #31 Move Registers M3161->D:$000F88 M3162->D:$000F8B M3163->D:$000FC7 M3164->D:$000FCC M3166->X:$000F9D,0,24,S M3167->D:$000F8D M3168->X:$000FBF,8,16,S M3169->D:$000F90 M3170->D:$000FB4 M3171->X:$000FB4,24,S M3172->L:$000FD7 M3173->Y:$000FCE,0,24,S M3174->D:$000FEF M3175->X:$000FB9,8,16,S M3176->Y:$000FB9,8,16,S M3177->X:$000FBC,8,16,S M3178->Y:$000FBC,8,16,S M3179->X:$000FAE,8,16,S M3188->Y:$07B311,0,12,U M3189->Y:$07B310,0,12,U ; #31 Commanded position (1/[Ixx08
Turbo PMAC/PMAC2 Software Reference M3226->X:$07B318,22 M3227->X:$07B318,23 M3228->X:$07B318,20,4 ; Channel 8 U flag input status ; Channel 8 T flag input status ; Channel 8 TUVW inputs as 4-bit value Motor #32 Status Bits M3230->Y:$001040,11,1 M3231->X:$001030,21,1 M3232->X:$001030,22,1 M3233->X:$001030,13,1 M3235->X:$001030,15,1 M3237->X:$001030,17,1 M3238->X:$001030,18,1 M3239->X:$001030,19,1 M3240->Y:$001040,0,1 M3241->Y:$001040,1,1 M3242->Y:$001040,2,1 M3243->Y:$001040,3,1 M3244->Y:$001040,13,1 M324
Turbo PMAC/PMAC2 Software Reference M3288->Y:$07B319,0,12,U M3289->Y:$07B318,0,12,U ; IC 9 Ch 4 Compare A fractional count ; IC 9 Ch 4 Compare B fractional count Motor #32 Axis Definition Registers M3291->L:$00104F M3292->L:$001050 M3293->L:$001051 M3294->L:$001052 ; #32 X/U/A/B/C-Axis scale factor (cts/unit) ; #32 Y/V-Axis scale factor (cts/unit) ; #32 Z/W-Axis scale factor (cts/unit) ; #32 Axis offset (cts) De-multiplexed ADC values from Opt.
Turbo PMAC/PMAC2 Software Reference M5148->L:$002048 M5149->L:$002049 ; &1 Y-axis target position (engineering units) ; &1 Z-axis target position (engineering units) Coordinate System 1 (&1) Status Bits M5180->X:$002040,0,1 M5181->Y:$00203F,21,1 M5182->Y:$00203F,22,1 M5184->X:$002040,4,1 M5187->Y:$00203F,17,1 M5188->Y:$00203F,18,1 M5189->Y:$00203F,19,1 M5190->Y:$00203F,20,1 ; &1 Program-running bit ; &1 Circle-radius-error bit ; &1 Run-time-error bit ; &1 Continuous motion request ; &1 In-position bit (
Turbo PMAC/PMAC2 Software Reference M5348->L:$002248 M5349->L:$002249 ; &3 Y-axis target position (engineering units) ; &3 Z-axis target position (engineering units) Coordinate System 3 (&3) Status Bits M5380->X:$002240,0,1 M5381->Y:$00223F,21,1 M5382->Y:$00223F,22,1 M5384->X:$002240,4,1 M5387->Y:$00223F,17,1 M5388->Y:$00223F,18,1 M5389->Y:$00223F,19,1 M5390->Y:$00223F,20,1 ; &3 Program-running bit ; &3 Circle-radius-error bit ; &3 Run-time-error bit ; &3 Continuous motion request ; &3 In-position bit (
Turbo PMAC/PMAC2 Software Reference M5548->L:$002448 M5549->L:$002449 ; &5 Y-axis target position (engineering units) ; &5 Z-axis target position (engineering units) Coordinate System 5 (&5) Status Bits M5580->X:$002440,0,1 M5581->Y:$00243F,21,1 M5582->Y:$00243F,22,1 M5584->X:$002440,4,1 M5587->Y:$00243F,17,1 M5588->Y:$00243F,18,1 M5589->Y:$00243F,19,1 M5590->Y:$00243F,20,1 ; &5 Program-running bit ; &5 Circle-radius-error bit ; &5 Run-time-error bit ; &5 Continuous motion request ; &5 In-position bit (
Turbo PMAC/PMAC2 Software Reference M5748->L:$002648 M5749->L:$002649 ; &7 Y-axis target position (engineering units) ; &7 Z-axis target position (engineering units) Coordinate System 7 (&7) Status Bits M5780->X:$002640,0,1 M5781->Y:$00263F,21,1 M5782->Y:$00263F,22,1 M5784->X:$002640,4,1 M5787->Y:$00263F,17,1 M5788->Y:$00263F,18,1 M5789->Y:$00263F,19,1 M5790->Y:$00263F,20,1 ; &7 Program-running bit ; &7 Circle-radius-error bit ; &7 Run-time-error bit ; &7 Continuous motion request ; &7 In-position bit (
Turbo PMAC/PMAC2 Software Reference M5948->L:$002848 M5949->L:$002849 ; &9 Y-axis target position (engineering units) ; &9 Z-axis target position (engineering units) Coordinate System 1 (&1) Status Bits M5980->X:$002840,0,1 M5981->Y:$00283F,21,1 M5982->Y:$00283F,22,1 M5984->X:$002840,4,1 M5987->Y:$00283F,17,1 M5988->Y:$00283F,18,1 M5989->Y:$00283F,19,1 M5990->Y:$00283F,20,1 ; &9 Program-running bit ; &9 Circle-radius-error bit ; &9 Run-time-error bit ; &9 Continuous motion request ; &9 In-position bit (
Turbo PMAC/PMAC2 Software Reference M6148->L:$002A48 M6149->L:$002A49 ; &11 Y-axis target position (engineering units) ; &11 Z-axis target position (engineering units) Coordinate System 11 (&11) Status Bits M6180->X:$002A40,0,1 M6181->Y:$002A3F,21,1 M6182->Y:$002A3F,22,1 M6184->X:$002A40,4,1 M6187->Y:$002A3F,17,1 M6188->Y:$002A3F,18,1 M6189->Y:$002A3F,19,1 M6190->Y:$002A3F,20,1 ; &11 Program-running bit ; &11 Circle-radius-error bit ; &11 Run-time-error bit ; &11 Continuous motion request ; &11 In-posit
Turbo PMAC/PMAC2 Software Reference M6348->L:$002C48 M6349->L:$002C49 ; &13 Y-axis target position (engineering units) ; &13 Z-axis target position (engineering units) Coordinate System 13 (&13) Status Bits M6380->X:$002C40,0,1 M6381->Y:$002C3F,21,1 M6382->Y:$002C3F,22,1 M6384->X:$002C40,4,1 M6387->Y:$002C3F,17,1 M6388->Y:$002C3F,18,1 M6389->Y:$002C3F,19,1 M6390->Y:$002C3F,20,1 ; &13 Program-running bit ; &13 Circle-radius-error bit ; &13 Run-time-error bit ; &13 Continuous motion request ; &13 In-posit
Turbo PMAC/PMAC2 Software Reference M6548->L:$002E48 M6549->L:$002E49 ; &15 Y-axis target position (engineering units) ; &15 Z-axis target position (engineering units) Coordinate System 15 (&15) Status Bits M6580->X:$002E40,0,1 M6581->Y:$002E3F,21,1 M6582->Y:$002E3F,22,1 M6584->X:$002E40,4,1 M6587->Y:$002E3F,17,1 M6588->Y:$002E3F,18,1 M6589->Y:$002E3F,19,1 M6590->Y:$002E3F,20,1 ; &15 Program-running bit ; &15 Circle-radius-error bit ; &15 Run-time-error bit ; &15 Continuous motion request ; &15 In-posit
Turbo PMAC/PMAC2 Software Reference M7010->Y:$078C01,2,1 M7011->Y:$078C01,3,1 M7012->Y:$078C01,4,1 M7013->Y:$078C01,5,1 M7014->Y:$078C01,6,1 M7015->Y:$078C01,7,1 M7016->Y:$078C02,0,1 M7017->Y:$078C02,1,1 M7018->Y:$078C02,2,1 M7019->Y:$078C02,3,1 M7020->Y:$078C02,4,1 M7021->Y:$078C02,5,1 M7022->Y:$078C02,6,1 M7023->Y:$078C02,7,1 M7024->Y:$078C03,0,1 M7025->Y:$078C03,1,1 M7026->Y:$078C03,2,1 M7027->Y:$078C03,3,1 M7028->Y:$078C03,4,1 M7029->Y:$078C03,5,1 M7030->Y:$078C03,6,1 M7031->Y:$078C03,7,1 M7032->Y:$078
Turbo PMAC/PMAC2 Software Reference M8013->X:$00350E,0,24,S M8014->X:$00350F,0,24,S M8015->X:$003510,0,24,S M8016->X:$003511,0,24,S M8017->X:$003512,0,24,S M8018->X:$003513,0,24,S M8019->X:$003514,0,24,S M8020->X:$003515,0,24,S M8021->X:$003516,0,24,S M8022->X:$003517,0,24,S M8023->X:$003518,0,24,S M8024->X:$003519,0,24,S M8025->X:$00351A,0,24,S M8026->X:$00351B,0,24,S M8027->X:$00351C,0,24,S M8028->X:$00351D,0,24,S M8029->X:$00351E,0,24,S M8030->X:$00351F,0,24,S M8031->X:$003520,0,24,S M8032->X:$003521,0,
Turbo PMAC/PMAC2 Software Reference UMAC Turbo Suggested M-Variable Definitions 741
Turbo PMAC/PMAC2 Software Reference CHANGE SUMMARY: PMAC TO TURBO PMAC Overview Feature Comparison Feature PMAC Turbo PMAC Maximum Number of Axes Maximum Number of Servo Interface Channels Maximum Number of MACRO Nodes Maximum Number of Coordinate Systems CPU Frequencies (MHz) Instructions per CPU Clock Cycle Effective CPU Frequencies (MHz) Number of I-Variables Number of M-Variables Number of P-Variables Number of Q-Variables Commutation Sine Table Size Individual Custom Sine Table for each motor? Indi
Turbo PMAC/PMAC2 Software Reference I-Variable Changes PMAC/PMAC2 Ix00 – Ix86 (x = 1 to 8) Motor I-Variables Ix30 – Ix58 (x = 1 to 8) Option 6 Extended Servo Algorithm Gains Ix87 – Ix99 (x = 1 to 8) Coordinate System IVariables I900 – I904, I905 – I909, … I975 – I979 PMAC Encoder Setup I-Variables I900 – I909 PMAC2 Multi-Channel Hardware Setup I-Variables I9n0 – I9n9 (n = 1 to 8) PMAC2 Channel n Hardware Setup I-Variables I990 – I999 MACRO & Supplemental Channel Hardware Setup I-Variables I1000 – I1005 MA
Turbo PMAC/PMAC2 Software Reference I-Variable Changes (continued) PMAC/PMAC2 Ix02 Motor x Command Output Address & Mode Ix03 Motor x Position-Loop Feedback Address & Mode Ix05 Motor x Master Position Address & Mode Ix06 Motor x Master Position Following Enable Ix10 Motor x Power-On Position Address & Format Ix25 Motor x Flag Address & Mode Ix72 Motor x Commutation Phase Angle Units of 1/256 cycle Ix81 Motor x Power-On Phase Position Address & Format Ix83 Motor x Commutation Feedback Address & Type Turbo
Turbo PMAC/PMAC2 Software Reference Commutation Changes PMAC/PMAC2 Turbo PMAC/PMAC2 Commutation lookup table has 256 entries; direct microstepping yields 64 microsteps per step Phase reference error bit only set on unsuccessful phasing search or read. Loop is not closed then, but may be subsequently closed.
Turbo PMAC/PMAC2 Software Reference Memory and I/O Map Changes PMAC/PMAC2 $0000 - $001F Global Servo Registers $0020 - $01FF Motor Servo Registers $0400 - $04FF Commutation Sine Table $0700 - $0701 User Countdown Timers $0708 - $070F Processed A/D Table $0720 - $073F Conversion Table Registers $0770 - $077F Open registers set to 0 on powerup/reset $0800 - $0DFF Motor Background & Coordinate System Registers $0F70 - $0F7F MACRO Flag Registers $1000 - $13FF P-Variable Registers $1400 - $17FF Q-Variable Regi
Turbo PMAC/PMAC2 Software Reference Jumper Changes PMAC/PMAC2 PMAC E40 – E43 Card Number/Clock Direction PMAC E44 – E47 Serial Baud Rate PMAC E48 Wait State Control PMAC1.
Turbo PMAC/PMAC2 Software Reference Program Command Changes PMAC/PMAC2 SEND: Send message to Active Response Port SENDS: Send message to Serial Port SENDP: Send message to Parallel Bus Port (not VME) CMD: Issue command; any response to Active Response Port SPLINE, PVT mode move times specified by TA, range to 8,388,607 msec, resolution of 1 msec I{constant}={expression} M{constant}={expression} P{constant}={expression} Q{constant}={expression} Require constant to specify variable number Turbo PMAC/PMAC2
Turbo PMAC/PMAC2 Software Reference FIRMWARE UPDATE LISTING V1.933 Updates (July 1999) 1. Fixed operation of PR query command. 2. Fixed operation of DWELL when Motor 1 is not in coordinate system. Fixed blending to new JOG command when in acceleration slope. Fixed operation of move-until-trigger with software position capture. Fixed operation of dual-ported RAM variable-write buffer. Made sure rotary buffer pointer always at beginning of buffer after DEFINE or CLEAR.
Turbo PMAC/PMAC2 Software Reference 9. Fixed operation of DEFINE GATHER command without argument when gathering set up for dualported RAM. 10. Corrected arctangent calculations for high-resolution encoder interpolation and “two-guess” phasing search. 11. Fixed the blocking of interrupts around writing to M-variables in background routines to ensure no corruption when foreground and background routines write to M-variables in the same word. 12.
Turbo PMAC/PMAC2 Software Reference V1.935 Updates (February 2000) 1. Corrected problem with executing P({expression})={expression} statement in motion program. 2. Corrected problem in homing-search move with capture over MACRO ring when previous homingsearch move was interrupted with a KILL command. 3. On-line addressing commands # and & are now port-specific; they only affect the addressing of commands on the port they were sent to, no longer the other ports. 4.
Turbo PMAC/PMAC2 Software Reference 2. Added new variables I20-I23 to specify base addresses of MACRO ICs 0-3 respectively, providing flexibility in MACRO ring configurations on UMAC Turbo. These must be set properly to support automatic firmware functions using these ICs, including multiplexer port functions, display port, and I6800-I6999. 3. Moved old variables I20 (watchdog timer reset value) and I21 (I-variable lockout control) to their proper locations of I40 and I41. 4.
Turbo PMAC/PMAC2 Software Reference 6. Added foreground in-position check in servo interrupt, enabled by I13=1. Added foreground inposition motor status bit (bit 13 of Y:$0000C0, etc.). 7. Permitted disabling of automatic command parsing on Option 9T auxiliary serial port by setting I43 to 1, permitting custom parsing algorithms to be written for serial input of data that is not in PMAC command format. 8.
Turbo PMAC/PMAC2 Software Reference 24. Internal-use global status bits Servo Active (X:$000006 bit 21) and RTI Active (X:$000006 bit 23) removed. 25. Implemented anti-windup protection for current-loop integrators. If calculated output is more than 9/8 of saturated output, integrator value is reduced to that which would produce 9/8 of saturation. 26. Corrected operation of cutter compensation for compensated inside corner immediately following inside-corner introduction of compensation. 27.
Turbo PMAC/PMAC2 Software Reference 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Moved location of main serial-port communications buffer from $001Exx to $0036xx. Moved location of host-bus port communications buffer from $001Fxx to $0037xx. Moved location of synchronous M-variable buffer from $0036xx and $0037xx to $001Exx and $001Fxx. Changes necessary to support DSP56311 (Option 5Ex) properly. Increased maximum value of Ixx71 Commutation Cycle Size variable from 8,388,607 to 16,777,215.
Turbo PMAC/PMAC2 Software Reference V1.941 Updates (September 2005) 1. Added new features to manage behavior on cornering and when blending is disabled for other reasons. a. Isx81 permits in-position check when blending is disabled (not just momentary stop in commanded velocity). b. Isx82 permits an automatic added dwell when blending is disabled. c. Isx83 sets corner angle threshold between blended and non-blended corners. d.
Turbo PMAC/PMAC2 Software Reference 15. Added support for Modbus Ethernet I/O with new I-variables I67 and I69. 16. Enhanced MACRO ring-break detection a. Automatically broadcasts ring-break message if detected here b. Automatically responds to received ring-break message c. Properly detects ring breaks found at power-up/reset d. Accepts CLEARFAULT (CLRF) command to reset ring-break fault status 17.
Turbo PMAC/PMAC2 Software Reference V1.943 Updates (January 2007) 1. 2. 3. 4. Corrected problem to accept non-standard (ASCII code > 2007) characters in comments. Register X:$003206 contains most recent command error code as 3-character ASCII byte code. Corrected problem in compiled PLC (PLCC) computation of INT({var}/1) when {var} =1. Corrected intermittent problem in homing search move when homing command is given while motor is killed. 5.
Turbo PMAC/PMAC2 Software Reference V1.946 Updates (Dec 2008, Geo Brick only) 1. Added AMPCLRF (amplifier clear fault) command for Geo Brick firmware 2. Cleared “configuration error” global status bit on MACRO “CLRF” (clear fault) command when in MACRO slave mode. V1.947 Updates (May 2010) 1. Geo Brick version “A” firmware only: Set “configuration error” global status bit if do not receive proper response to AMPVER command, preventing subsequent operation.
Turbo PMAC/PMAC2 Software Reference V1.948 Updates (November 2013) 1. Fix for phase finding error on hardware limit. 2. CLRF command sends a Node 14 broadcast CLRF message on all MACRO Rings. 3. Random MACRO Move Until Trigger failure fixed. 4. MSTATUS register modified. Bit 14 of MSTATUS now gets set on a HOMEZ command. The user must reset it.