^1 USER MANUAL ^2 16-Axis MACRO CPU ^3 Remote MACRO Interface ^4 3xx-603719-xUxx ^5 April 4, 2007 Single Source Machine Control Power // Flexibility // Ease of Use 21314 Lassen Street Chatsworth, CA 91311 // Tel. (818) 998-2095 Fax. (818) 998-7807 // www.deltatau.
Copyright Information © 2007 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. To report errors or inconsistencies, call or email: Delta Tau Data Systems, Inc.
REVISION HISTORY REV. 1 DESCRIPTION UPDATED NODE ADDRESSES CHART, P. 83 DATE CHG APPVD 04/04/07 CP B.
16-Axis MACRO CPU User Manual Table of Contents INTRODUCTION .......................................................................................................................................................1 16-Axis MACRO Station Differences from the 8-Axis MACRO Station ................................................................1 16-Axis MACRO Slave Station Binding to a MACRO Master ..............................................................................
16-Axis MACRO CPU User Manual Ring Control Setup Variables..................................................................................................................................32 Ring Update Frequency ......................................................................................................................................32 Station Servo Clock Frequency...........................................................................................................................
16-Axis MACRO CPU User Manual Example: Write to DACnB on Servo IC Card....................................................................................................61 Using MI198 and MI199 to Verify MACRO Station Memory Locations ..............................................................61 Example: Read Using MI198 and MI199 – Direct Hall Effect Read.................................................................62 Example: Read Using MI198 and MI199 – Actual DAC Read.............................
16-Axis MACRO CPU User Manual iv Table of Contents
16-Axis MACRO CPU User Manual INTRODUCTION The 16-Axis MACRO CPU provides a remote interface for encoders, flags, direct-PWM digital drives, analog drives, and/or digital I/O for a Turbo PMAC2 with MACRO interface. It communicates with the Turbo PMAC2 solely through the MACRO ring, but interfaces to standard drives, encoders, flags, and Opto-22 style I/O through on-board connectors. It is designed to run up to sixteen motors.
16-Axis MACRO CPU User Manual 16-Axis MACRO CPU Setup Overview Fundamentally, the setup of the 16-Axis MACRO CPU with a Turbo PMAC2 (usually an Ultralite version) involves several steps of mapping registers and connections. For the axis control, the following mappings must occur: 1. The first mapping is the connection of physical devices (encoders, drives, and flags) to a particular machine channel on the MACRO 16x Station. 2.
16-Axis MACRO CPU User Manual Mapping Servo Channels Mapping Physical Servo Channels to the 16-Axis MACRO Station’s Servo Channels: MI179 and MI180 provide the base addresses of the two Servo ICs attached to the MACRO IC and Y:MI181 – Y:MI188 provide the base address for the eight servo channels. Station servo node-specific variables MI910 - MI939 use Y:MI18n to configure the Servo IC’s interface channels associated with specified MACRO node determined by SW1.
16-Axis MACRO CPU User Manual • • • • Turbo PMAC2 MACRO Configuration I-variables • MACRO Node Flag Register Enable [I70, I72, I74, I76] • MACRO Node Flag Type Control [I71, I73, I75, I77] • MACRO Ring Check Period [I80] • MACRO Maximum Ring Error Count [I81] • MACRO Minimum Sync Packet Count [I82] MACRO Master/Slave Auxiliary Communication Timeout [I78] MACRO Type 1 Master/Master and Ring Order Communication Timeout [I79] Station SW2 setting for Master number Station SW1 setting and MI976 setting
16-Axis MACRO CPU User Manual Mapping of General Purpose I/O General-purpose I/O is processed through a similar set of mapping functions. Once the setup of the mapping has been done, PMAC software can access the I/O points on the 16-Axis MACRO CPU as if they were on the PMAC itself.
16-Axis MACRO CPU User Manual 6 Introduction
16-Axis MACRO CPU User Manual HARDWARE SETUP The hardware setup of the 16-Axis MACRO CPU for the UMAC MACRO 16x is covered in the Hardware Reference manual for the 3U 16-Axis MACRO CPU Board and the manuals for each of the individual accessory boards in the station. A brief summary is given here.
-Axis MACRO CPU User Manual For these boards, the jumper settings and the board addresses they select are: Address Jumper On Board Base Address E1 (CS10) E2 (CS12) E3 (CS14) E4 (CS16) $8800, $9800, $A800,$B800 $8840, $9840, $A840,$B840 $8880, $9880, $A880,$B880 $88C0, $98C0, $A8C0,$B8C0 For these boards, up to three boards can share an address because each board only occupies one byte (eight bits) of the 24-bit data bus and each board can be set up as to which byte it occupies: E6A- H Rows Connected
16-Axis MACRO CPU User Manual Auto Configuration and Identification of UMAC (Pack) Boards The 16-Axis MACRO CPU identifies all the UMAC Servo IC type boards in the Ubus backplane automatically. From this list, it then attaches them to the two MACRO ICs. Each MACRO IC will support and configure eight servo channels and six encoder feedback channels.
16-Axis MACRO CPU User Manual SW1 Setting SW1 establishes how many servo nodes and which servo nodes, will be used on the 16-Axis MACRO CPU station for MACRO IC 0. It also establishes the mapping of MACRO node numbers to MACRO Station channel numbers – the second mapping step explained in the overview. This mapping information will be important in establishing the software setup. The following table shows the possible configurations and the SW1 settings to achieve them.
16-Axis MACRO CPU User Manual TURBO PMAC2 SOFTWARE SETUP FOR MACRO STATION Setting up the Turbo PMAC2 board to work with a MACRO Station requires the proper setup of several I-Variables for MACRO-specific features. The variables that have special considerations for use with MACRO stations are listed below. Note: These are I-Variables on the Turbo PMAC2 controller itself. The MACRO Station has its own set of setup I- Variables, called MI-Variables, which are detailed in a different section.
16-Axis MACRO CPU User Manual 2. All MACRO stations on the ring should be running at the same ring (phase clock) rate. This is set on the 16-Axis MACRO stations MI992 and MI997 and the Turbo Ultralite’s I6800, I6850, I6900, I6950 and I6801, I6851, I6901, I69551. 3. All MACRO stations on the ring should have their phase clock source synchronized to its own last node packet on the MACRO ring. Normally, this is node 15, so bit 16-19 = $F of MI996 and Turbo’s I6841, I6891, I6941, I6991.
16-Axis MACRO CPU User Manual I19: Clock Source I-Variable Number I19 determines which MACRO IC in a Turbo PMAC2 system is the source of the phase and servo clocks for the system. The Turbo PMAC2 defaults ($$$***) to the first MACRO IC found in the UMAC pack. This variable should be kept as the first MACRO IC. It contains its I-Variable whose value is set to 0 by default to indicate that it is the source of the phase and servo clocks.
16-Axis MACRO CPU User Manual Even if the Turbo PMAC2 controller is not performing commutation or current-loop closure, and therefore not performing any software tasks at the Phase clock frequency, the Phase clock frequency should if possible be set to at least twice the Servo clock frequency.
16-Axis MACRO CPU User Manual Each MACRO IC acting as a master on the ring, whether on the same card or different cards, must have its own master number and acts as a separate master station for the purposes of the ring protocol. This master number forms half of the address byte with each packet sent by the PMAC2 over the MACRO ring. The master number can be the same number as the MACRO IC number (e.g.
16-Axis MACRO CPU User Manual I71/I73/I75/I77: MACRO IC 0/1/2/3 Node Protocol Type Control I71, I73, I75, and I77 are 16-bit I-Variables (bits 0 - 15) in which each bit controls whether PMAC uses MACRO Type 0 protocol or the MACRO Type 1 protocol for the node whose number matches the bit number for the purposes of the auxiliary servo flag transfer for MACRO ICs 0, 1, 2, and 3, respectively. A bit value of 0 sets a Type 0 protocol; a bit value of 1 sets a Type 1 protocol.
16-Axis MACRO CPU User Manual The limits for these checks can be set with variables I81 and I82. If less than I82 sync node packets have been received and detected during this time interval, or if I81 or more ring communications errors have been detected in this interval, Turbo PMAC will assume a major ring problem and all motors will be shut down. Turbo PMAC will set the global status bit Ring Error (bit 4 of X:$000006) as an indication of this error.
16-Axis MACRO CPU User Manual Register Addresses for MACRO IC 1 with I21=$079400 (default) Node # Turbo PMAC2 Reg. 0 Addresses Reg. 1 MACRO IC 1 Reg. 2 Reg.
16-Axis MACRO CPU User Manual Register Addresses for MACRO IC 3 with I23=$07B400 (default) Node # Turbo PMAC2 Reg. 0 Addresses Reg. 1 MACRO IC 3 Reg. 2 Reg.
16-Axis MACRO CPU User Manual The default conversion table in the Turbo PMAC2 Ultralite controller processes the position feedback registers of the eight servo nodes of MACRO IC 0.
16-Axis MACRO CPU User Manual The following table lists the conversion table entries to use these registers. Remember that the second line of the entry should always be $018000: Register First Line Value Register First Line Value Motor #1 Previous Phase Pos. Motor #2 Previous Phase Pos. Motor #3 Previous Phase Pos. Motor #4 Previous Phase Pos. Motor #5 Previous Phase Pos. Motor #6 Previous Phase Pos. Motor #7 Previous Phase Pos. Motor #8 Previous Phase Pos. Motor #9 Previous Phase Pos.
16-Axis MACRO CPU User Manual Turbo PMAC2 Motor I-Variables The following section lists Motor setup variables that have particular considerations when using MACRO Stations. Ixx01: Commutation Enable Ixx01 specifies whether Turbo PMAC2 performs commutation for Motor xx, and whether it uses X or Y registers. Only Y registers are used when communicating to a MACRO Station over the ring.
16-Axis MACRO CPU User Manual In this mode, the proper values of Ixx02 are: Ixx02 Value Register Ixx02 Value Register I102 I202 I302 I402 I502 I602 I702 I802 I902 I1002 I1102 I1202 I1302 I1402 I1502 I1602 $078422 $078426 $07842A $07842E $078432 $078436 $07843A $07843E $079422 $079422 $07942A $07942E $079432 $079436 $07943A $07943E MACRO IC 0 Node 0 Reg. 2 MACRO IC 0 Node 1 Reg. 2 MACRO IC 0 Node 4 Reg. 2 MACRO IC 0 Node 5 Reg. 2 MACRO IC 0 Node 8 Reg. 2 MACRO IC 0 Node 9 Reg.
16-Axis MACRO CPU User Manual Ixx10, Ixx95: Absolute Position Address and Format Ixx10 and Ixx95 permit an automatic read of an absolute position sensor at power-on/reset and/or on a subsequent $* or $$* command. If Ixx10 is set to 0, the power-on/reset position for the motor will be considered to be 0, regardless of the type of sensor used. If Ixx10 is set to a value greater than zero, an absolute position can be read, with Ixx10 specifying an address for reading this value.
16-Axis MACRO CPU User Manual When Turbo PMAC2’s Ixx10 and Ixx95 are set to get absolute position over MACRO, it executes a station auxiliary read command MS{node},MI920 to request the absolute position from the 16-Axis MACRO CPU. The station then references its own MI11x value to determine the type, format, and address of the data to be read. The data is returned to Turbo PMAC2 with up to 42 bits of data, sign extended to 46 bits.
16-Axis MACRO CPU User Manual The following tables show the locations of the individual flags in these registers: Motor Command Flags: Y:$0034xn for MACRO IC (x-4) Node n Bit # Function 0 Position Capture Prepare Flag 1-7 8-10 11 (Not Used) (Reserved for Future Use) Position Capture Enable Flag 12 13 14 15-23 Node Position Reset Flag (Reserved for Future Use) Amplifier Enabled (Reserved for Future Use) Notes Must be set to 1 to prepare for hardware capture over ring; to 0 when done Must be set to 1
16-Axis MACRO CPU User Manual Ixx81, Ixx91: Power-On Phase Position Address and Mode Ixx81 permits an automatic read of an absolute position sensor for phase referencing of a synchronous motor commutated by PMAC. This read can be done automatically at power-on/reset (if Ixx80 = 1 or 3), or subsequently on the $ or $$ command. If Ixx81 is set to 0, the power-on/reset phase position for the motor will be considered to be 0, regardless of the type of sensor used.
16-Axis MACRO CPU User Manual The station then references its own MI11x value to determine the type, format, and address of the data to be read. The data is returned to Turbo PMAC2 with up to 42 bits of data, sign extended to 46 bits. Bit 48 is a Ready/Busy handshake bit and Bit 47 is a pass/fail status bit. If Bit 47 is set, the upper 24 bits of the 48 bits returned form a word and are stored in X:$00320E of the Turbo PMAC2.
16-Axis MACRO CPU User Manual The following table contains the default Ixx83 values for Turbo PMAC2 Ultralite boards, listing the addresses of the position feedback registers for each MACRO servo node. Ixx83 Value Register Ixx83 Value Register I183 $078420 MACRO IC 0 Node 0 Reg. 0 I1783 $07A420 MACRO IC 2 Node 0 Reg. 0 I283 $078424 MACRO IC 0 Node 1 Reg. 0 I1883 $07A424 MACRO IC 2 Node 1 Reg. 0 I383 $078428 MACRO IC 0 Node 4 Reg. 0 I1983 $07A428 MACRO IC 2 Node 4 Reg.
16-Axis MACRO CPU User Manual 30 Turbo PMAC2 Software Setup for MACRO Station
16-Axis MACRO CPU User Manual SOFTWARE SETUP The software configuration of the 16-Axis MACRO CPU is accomplished through the setup of the Station’s own variables. These MI (MACRO Initialization) variables on the station permit configuration of the station for a particular application. Note: The 16-Axis MACRO CPU’s initialization variables can be referred to as either MI-Variables or I-Variables. This manual uses the MI-Variable terminology to distinguish them from the PMAC’s own I-Variables.
16-Axis MACRO CPU User Manual Station Variable Copy Commands It is also possible to copy values between 16-Axis MACRO CPU MI-Variables and PMAC variables. This is done with MACRO Variable Copy commands, which can be used either as on-line commands or as buffered program commands in background PLC programs PLC1-31 and PLCC1-31 (but not in PLC0, PLCC0, or motion programs, which execute in foreground).
16-Axis MACRO CPU User Manual Note: Even if I7 is set greater than 0 on a Turbo PMAC2 so that the phasing tasks on the Turbo PMAC2 are not done every phase clock cycle, it is important that the actual phase clock frequencies themselves be the same on the Turbo PMAC2 and the MACRO Station. Station Servo Clock Frequency MI998 on a MACRO Station controls how the servo clock on the Station is derived from the Station’s phase clock. The phase clock frequency is divided by (MI998 + 1) to obtain the servo clock.
16-Axis MACRO CPU User Manual MACRO IC 1 There is no SW1 or active MI975 and MI976 for MACRO IC 1. S/W Ring Order: MI996 must be written by the Ring Order software setup, saved (MSSAVE) and the reset (MS$$$) to enable the desired motor and I/O nodes. MI variables for MACRO IC 1 can be accessed by adding 1000 to the variable. For example, MI1996 = accesses MACRO IC 1’s MI996. Node Ring Order: MACRO IC 1’s MI996 can also be accessed for setup through MACRO IC 0.
16-Axis MACRO CPU User Manual Binding the Servo ICs to the MACRO ICs Using the bits in X:MI200, the firmware attaches to each MACRO IC up to two Servo ICs and up to two Encoder ICs. This allows up to eight servo channels and six encoder feedback channels per MACRO IC. The Servo IC’s base addresses are registered in read-only MI179 (Servo IC 1) and MI180 (Servo IC 1). The Encoder IC’s base addresses are registered in read-only MI189 (Encoder IC 1) and MI190 (Encoder IC 1).
16-Axis MACRO CPU User Manual MACRO IC 0 ($$$ or $$$***) # I/O Nodes # Servo Nodes Node Servo IC Base Address Nodes Enabled SW1 Select Y:I181…188 0 4 4 0 0 0 0 0 2 2 2 2 6 0 8 I181, I182, I183, I184 I185, I186, I187, I188 I181, I182 I183, I184 I185, I186 I187, I188 I181, I182, I183, I184, I185, I186 I181, I182, I183, I184, I185, I186, I187, I188 2 2 2 4 6 1 0 0 0 0 0 0 0 0 0,1, 4,5 8,9, 12,13 0,1 4,5 8,9 12,13 0,1, 4,5, 8,9 0,1, 4,5, 8,9, 12,13 2,3 6,7 10,11 2,3,6,7 2,3,6,7,10,11 11 None 0
16-Axis MACRO CPU User Manual MACRO IC 1 ($$$***) Number of Servo ICs (IC #) Node Servo IC Base Address Associated Node Y:I181…188 Encoder Conversion Table (ECT) 1 (#3) $9000,$9008, $9010,$9018, $9000,$9008, $9010,$9018, $9000,$9008, $9010,$9018, $9040,$9048, $9050,$9058, 0,1, 4,5, 8,9, 12,13 0,1, 4,5, 8,9, 12,13 I181, I182, I183, I184, I185, I186, I187, I188 I181, I182, I183, I184, I185, I186, I187, I188 (ECT limited to four entries, (MI124=0)) Number of Servo ICs (IC #) Node Servo IC Base Addr
16-Axis MACRO CPU User Manual The default value for MI903 of 2258 is suitable for most applications. Refer to the detailed description in the MACRO Station Hardware Reference Manual to change any of these frequencies. PWM Deadtime/PFM Pulse Width: MI904 controls both the deadtime for PWM outputs on Channels 1-4 and the pulse width for the PFM pulse-and-direction outputs on Channels 1-4. The equations are: PWM Deadtime(µsec) = 0.135 * MI904 PFM Pulse Width (µsec) = MI904 / PFMCLK Freq.
16-Axis MACRO CPU User Manual ADC Strobe Word: MI941 controls the ADC strobe signal used to interface to serial A/D converters brought in on Channels 1-4. The default value of $FFFFFE is suitable for most A/D converter types used with the 16-Axis MACRO CPU, either for digital current loop feedback, or for general-purpose use from an Acc-28B.
16-Axis MACRO CPU User Manual Single-Channel Servo Interface Channel Setup The hardware of the machine interface channels on the 16-Axis MACRO CPU can be configured in software to interface to many different types of devices. To perform this configuration, set Station MIVariables that are specific to the MACRO node that is mapped to the machine interface channel by the setting of the SW1 rotary switch on the Station.
16-Axis MACRO CPU User Manual Station Encoder Conversion Table Setup The 16-Axis MACRO CPU has its own Encoder Conversion Table (ECT) that permits pre-processing of feedback data before it is transmitted back to the PMAC controller. This can simplify the transmission and reduce the amount of data to be transmitted. Note: The Turbo PMAC2 has its own Encoder Conversion Table that has much the same capabilities as that of the MACRO Station.
16-Axis MACRO CPU User Manual The following table shows the relationship between ECT line numbers, MI-Variable numbers, and result addresses for MACRO IC 1: Table Line # Set-up MIVariable Result Address Table Line # Set-up MIVariable Result Address 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 MI120 MI121 MI122 MI123 MI124 MI125 MI126 MI127 MI128 MI129 MI130 MI131 MI132 MI133 MI134 MI135 X:$0090 X:$0091 X:$0092 X:$0093 X:$0094 X:$0095 X:$0096 X:$0097 X:$0098 X:$0099 X:$009A X:$009B X:$009C X:$009D X:$009E
16-Axis MACRO CPU User Manual The following table shows the conversion table MI-Variable values for this type of feedback with channels in the UMAC MACRO pack configuration for MACRO IC 1: Encoder # Which Backplane Axis Board Used Location On Board Conversion Table MIVariable Value Encoder 1 Acc-24E2x S1-1,3,4 = ON, OFF, ON Acc-24E2x S1-1,3,4 = ON, OFF, ON Acc-24E2x S1-1,3,4 = ON, OFF, ON Acc-24E2x S1-1,3,4 = ON, OFF, ON Acc-24E2x S1-1,3,4 = OFF, OFF, ON Acc-24E2x S1-1,3,4 = OFF, OFF, ON Acc-24E2x S1-
16-Axis MACRO CPU User Manual The third line contains a bias term that is added to both A/D converter readings before the arctangent value is calculated. It is used as a 24-bit value, with the used portion of the A/D converter readings being in the upper 12 bits. For example, if the cycle’s average reading from the A/D converters were -5 LSBs of the 12-bit value, this line would be set to +5 x 212, or 20,480.
16-Axis MACRO CPU User Manual Station MI-Variable MI989 specifies the address of the I/O register where the multiplexed A/D converters actually reside. The conversion table will read the de-multiplexed data in the internal memory registers. The first line of the entry contains the $20 method and the source address. The second line contains the bits used mask word, which is a 24-bit value containing a 1 for every bit of the source register to be used.
16-Axis MACRO CPU User Manual To integrate the A/D value before computing the result, the first hex digit of the entry should be changed from a 1 to a 5. In this case, there is a second line to the entry which specifies a bias value that is subtracted from the A/D reading before the integration. This bias is expressed as a 24-bit value, with the upper 16 bits matching the actual data from the A/D converter.
16-Axis MACRO CPU User Manual Typically, on the MACRO Station accessories the fault bit is brought in through an AC Opto component, for which current flowing in either direction creates a logical 0. In the default setup of MI18, this state is considered an amplifier fault. Note that if nothing is connected to such an amplifier fault input, the matching bit of MI18 must be set to 0 in order for the Station to consider the channel not to be in a fault condition.
16-Axis MACRO CPU User Manual General-Purpose I/O Setup The general-purpose I/O (that is not associated directly with a motor channel) on the 16-Axis MACRO CPU can be set up with just a few Station MI-Variables. The basic concept for real-time general-purpose I/O is that of automatic copying of data between the I/O registers and I/O MACRO nodes.
16-Axis MACRO CPU User Manual • MI71: This variable copies I/O values between 24-bit MACRO node registers (Register 0) and accessory-board I/O registers. This is valuable particularly for single I/O boards with 48 I/O points. • MI169: This variable copies 72 I/O values between an entire 72-bit MACRO node and accessoryboard I/O registers. • MI171, MI172, and MI173: These variables copy 144 I/O values between a pair of 72-bit MACRO nodes and accessory-board I/O registers.
16-Axis MACRO CPU User Manual The single IOGATE IC on each of these boards may occupy the low, middle, or high byte of the address space, depending on which rows of the E6 matrix are connected by jumpers: E6A – E6H Rows Connected Byte on Data Bus 1 and 2 2 and 3 3 and 4 4 and 5 Low (bits 0 – 7) Middle (bits 8 – 15) Middle (bits 8 – 15) High (bits 16 - 23 The single IOGATE on the Acc-14E board can occupy only the low byte of the address space.
16-Axis MACRO CPU User Manual MI169 and MI170 can copy data between two 48-bit IOGATE ICs (although only using the first half of the second IC) and the full 72 bits of a MACRO I/O node (the three 16-bit registers and the single 24-bit register). The first IOGATE must be in the low byte of the address, the second (if used) must be in the middle byte of this address.
16-Axis MACRO CPU User Manual The most commonly used code values are: • $54: Y-register bits 0 – 11 (Lower 12-bit ADC registers) • $60: Y-register bits 12 – 23 (Upper 12-bit ADC registers) • $6C: Y-register bits 8 – 23 (16-bit MACRO servo node registers, Acc-28 ADCs) • $78: Y-register bits 0 –23 (24-bit MACRO servo node registers) • $DC: X-register bits 8 – 23 (16-bit MACRO I/O node registers) • $E8: X-register bits 0 – 23 (24-bit MACRO I/O node registers, conversion table results) A complete list is found
16-Axis MACRO CPU User Manual HOW TO USE THE 16-AXIS MACRO CPU This section shows many useful examples about the setup of some of the hardware and also shows how to read any memory location at the MACRO CPU for troubleshooting purposes. Example Setup for 16-Axis System One concept that is not obvious to the first time user of the 16-Axis MACRO CPU is the node activation setup for the MACRO IC1 for axes 9-16. MACRO IC0 for Axes 1-8 node activation can be setup with SW1.
16-Axis MACRO CPU User Manual Setting the Trigger Condition The position capture register can be used both automatically, as in homing routines where the firmware handles the register directly, and manually, where the user programs must handle the register information. Regardless of the mode, the event that causes the position capture is determined by Encoder I-Variables 2 and 3 on the Macro Station (ms0,mi912 and ms0,mi913 for encoder 1 at node 0).
16-Axis MACRO CPU User Manual Setting up for a Single Pulse Output If just a single compare pulse is wanted (not using the auto-increment feature), take the following steps: 1. Write the encoder value at the front edge into the Compare A register 2. Write the encoder value at the back edge into the Compare B register 3. Set the Auto-Increment register to zero 4.
16-Axis MACRO CPU User Manual Using the JHW Port Encoder Inputs The 16-Axis MACRO CPU has the ability to read two supplemental channels of quadrature/pulse and direction encoders. The user has access to these inputs on the 20-pin JHW. These encoders can be read at rates up to 40 MHz. The only limitation on this port is that port does not allow the user to input an index pulse. Therefore, these inputs are ideal for handwheel encoders or for pure position/velocity feedback.
16-Axis MACRO CPU User Manual Use these outputs as either general purpose outputs that can be controlled by writing to an IO node address or for servo-stepper control. General purpose outputs will require using an IO node to copy the frequency output command into the actual pulse output register ($C094 and $C09C). Using a servostepper style output will require modifying the servo output channel. Example: Set the pulse and direction outputs for supplemental channels 1 and 2 as general purpose outputs.
16-Axis MACRO CPU User Manual MACRO ASCII Communication Mode MACRO ASCII Communication Mode allows direct access to the MACRO Device. This mode of communication allows our Master controller to setup all MACRO devices in the ring one at a time using the Ring Order Method. One other benefit to this method of communications is that it allows direct communication to the MACRO device without having to issue MS commands as in the traditional PEWIN Terminal window.
16-Axis MACRO CPU User Manual The Ring Order Method The Ring Order Method has been developed to allow MACRO Devices to be set up with software. Since the MACRO CPU has hardware switches (SW1 and SW2) to activate nodes and assign it to a master, the ring order method is not necessary. However, if the MACRO CPU is used with other MACRO devices like the Geo MACRO Drives or MACRO Peripheral Devices (Acc-65M, Acc-24E2M, etc.), then it is necessary to know how the Ring Order Method is works.
16-Axis MACRO CPU User Manual Example: Read DAC Output from Servo IC Card Transfer DAC1A, DAC2A, DAC3A, and DAC4A to Ultralite using the MACRO Data Transfer. Assume that the MACRO Station 0 is enabled and that the data is from Acc-24E2A from channels 1,2,3,4. Since the ADC data is 16-bit data, the most efficient method of transfer is through the MACRO 16-bit data registers from nodes 2 and 3.
16-Axis MACRO CPU User Manual Ultralite Setup Ultralite (8 Axis) Turbo Ultralite (8 Axis) Description I996=$0FB3FF M980->X:$C0A0,0,24,s M981->X:$C0A4,0,24,s M982->X:$C0A8,0,24,s M983->X:$C0AC,0,24,s I6841=$0FB3FF M980->X:$78420,0,24,s M981->X:$78424,0,24,s M982->X:$78428,0,24,s M983->X:$7842C,0,24,s Enable nodes 0,1,2,3,4,5,6,7,8,9,12, & 13 at Ultralite Up/Down Counter 1 Up/Down Counter 2 Up/Down Counter 3 Up/Down Counter 4 Now the M-Variables in the PLC or motion programs can be used for data acquis
16-Axis MACRO CPU User Manual Example: Read Using MI198 and MI199 – Direct Hall Effect Read Read the T, U, V, W inputs directly at the gate array on the Acc-24E2 for channel 1. This data is found on bits 20-23 of X:$8000 at the MACRO Station. MS0,MI198=$E88000 ;read X:$8000,0,24 MS0,MI199 ;Request Data $000000AFDB87 ;TUVW = $A (1010 binary) from bits 20-23 To write this data to a PMAC variable (P,M,or Q), use an MSRn,MI199,{pmac variable} on-line or buffer command.
16-Axis MACRO CPU User Manual 6. After the download is complete, power down the system and remove jumper E1 and place jumper E2 from 2-3. MACRO Flag Transfer Location For proper servo operations, the Master Controller must process information in real time. For MACRO systems, this information is brought to the Master via Ixx25. For Turbo systems, the locations are at $3440, $3441, $3444, $3445, $3448, $3449, $344C, $344D, etc. The following tables list the data that is transferred through these locations.
16-Axis MACRO CPU User Manual NodeCntrlCmd: (Sent by Master - Located in Turbo at: Y:$3440 ..
16-Axis MACRO CPU User Manual MACRO STATION TYPE 1 PROTOCOLS The 16-Axis MACRO CPU, as a multi-node station, implements the Type 1 MACRO protocol. In this protocol, all four registers in each node are used for real-time communications; Node 15 is used for auxiliary communications for the entire station through the MS auxiliary communications commands.
16-Axis MACRO CPU User Manual 66 MACRO Station Type 1 Protocols
16-Axis MACRO CPU User Manual MACRO EQUIVALENT SERVO IC MEMORY LOCATIONS Most of the locations have direct real-time access or are accessed through MI-variables. All of the Status Registers (Mxx30-Mxx49), the Calculation Registers (Mxx60-Mxx89), and the Axis Definitions (M191M194) are identical for all Turbo PMACs. The only difference for a MACRO system is the Servo IC Variables (Mxx00-Mxx28) and the table below will show the equivalent location for these suggested Mvariables.
16-Axis MACRO CPU User Manual Servo IC 0 Registers for MACRO Channel 2 (usually for Motor #2) MACRO Location MIVariable Turbo Location X:$8009,0,24,S Y:$800A,8,16,S X:$800B,0,24,S Y:$800B,8,16,S Y:$800D,8,16,s Y:$800E,8,16,s Y:$800C,8,16,s Y:$800F,0,24,s X:$800F,0,24,s X:$800E,0,24,s X:$800D,11 X:$800D,12 X:$800D,14 X:$8008,19 X:$8008,9 X:$8008,11 X:$8008,8 X:$8008,14 X:$8008,16 X:$8008,17 X:$8008,18 X:$8008,15 X:$8008,20 X:$8008,21 X:$8008,22 X:$8008,23 X:$8008,20,4 MS1,MI921 MS1,MI922 MS1,MI924 MS1,M
16-Axis MACRO CPU User Manual Servo IC 0 Registers for MACRO Channel 3 (usually for Motor #3) MACRO Location MIVariable Turbo Location X:$8011,0,24,S Y:$8012,8,16,S X:$8013,0,24,S Y:$8013,8,16,S Y:$8015,8,16,s Y:$8016,8,16,s Y:$8014,8,16,s Y:$8017,0,24,s X:$8017,0,24,s X:$8016,0,24,s X:$8015,11 X:$8015,12 X:$8015,14 X:$8010,19 X:$8010,9 X:$8010,11 X:$8010,8 X:$8010,14 X:$8010,16 X:$8010,17 X:$8010,18 X:$8010,15 X:$8010,20 X:$8010,21 X:$8010,22 X:$8010,23 X:$8010,20,4 MS4,MI921 MS4,MI922 MS4,MI924 MS4,M
16-Axis MACRO CPU User Manual Servo IC 0 Registers for MACRO Channel 4 (usually for Motor #4) MACRO Location MIVariable Turbo Location MVar Description X:$8019,0,24,S Y:$801A,8,16,S X:$801B,0,24,S Y:$801B,8,16,S Y:$801D,8,16,s Y:$801E,8,16,s Y:$801C,8,16,s Y:$801F,0,24,s X:$801F,0,24,s X:$801E,0,24,s X:$801D,11 X:$801D,12 X:$801D,14 X:$8018,19 X:$8018,9 X:$8018,11 X:$8018,8 X:$8018,14 X:$8018,16 X:$8018,17 X:$8018,18 X:$8018,15 X:$8018,20 X:$8018,21 X:$8018,22 X:$8018,23 X:$8018,20,4 MS5,MI921 MS5,MI
16-Axis MACRO CPU User Manual Servo IC 1 Registers for Channel 1 (usually for Motor #5) MACRO Location MIVariable Turbo Location X:$8041,0,24,S Y:$8042,8,16,S X:$8043,0,24,S Y:$8043,8,16,S Y:$8045,8,16,s Y:$8046,8,16,s Y:$8044,8,16,s Y:$8047,0,24,s X:$8047,0,24,s X:$8046,0,24,s X:$8045,11 X:$8045,12 X:$8045,14 X:$8040,19 X:$8040,9 X:$8040,11 X:$8040,8 X:$8040,14 X:$8040,16 X:$8040,17 X:$8040,18 X:$8040,15 X:$8040,20 X:$8040,21 X:$8040,22 X:$8040,23 X:$8040,20,4 MS8,MI921 MS8,MI922 MS8,MI924 MS8,MI925 M
16-Axis MACRO CPU User Manual Servo IC 1 Registers for Channel 2 (usually for Motor #6) MACRO Location MIVariable Turbo Location X:$8049,0,24,S Y:$804A,8,16,S X:$804B,0,24,S Y:$804B,8,16,S Y:$804D,8,16,s Y:$804E,8,16,s Y:$804C,8,16,s Y:$804F,0,24,s X:$804F,0,24,s X:$804E,0,24,s X:$804D,11 X:$804D,12 X:$804D,14 X:$8048,19 X:$8048,9 X:$8048,11 X:$8048,8 X:$8048,14 X:$8048,16 X:$8048,17 X:$8048,18 X:$8048,15 X:$8048,20 X:$8048,21 X:$8048,22 X:$8048,23 X:$8048,20,4 MS9,MI921 MS9,MI922 MS9,MI924 MS9,MI925 M
16-Axis MACRO CPU User Manual Servo IC 1 Registers for Channel 3 (usually for Motor #7) MACRO Location MIVariable Turbo Location X:$8051,0,24,S Y:$8052,8,16,S X:$8053,0,24,S Y:$8053,8,16,S Y:$8055,8,16,s Y:$8056,8,16,s Y:$8054,8,16,s Y:$8057,0,24,s X:$8057,0,24,s X:$8056,0,24,s X:$8055,11 X:$8055,12 X:$8055,14 X:$8050,19 X:$8050,9 X:$8050,11 X:$8050,8 X:$8050,14 X:$8050,16 X:$8050,17 X:$8050,18 X:$8050,15 X:$8050,20 X:$8050,21 X:$8050,22 X:$8050,23 X:$8050,20,4 MS12,MI921 MS12,MI922 MS12,MI924 MS12,MI9
16-Axis MACRO CPU User Manual Servo IC 1 Registers for Channel 4 (usually for Motor #8) MACRO Location MIVariable Turbo Location X:$8059,0,24,S Y:$805A,8,16,S - - M-Var M801 M802 X:$805B,0,24,S Y:$805B,8,16,S MS13,MI921 - - M803 M804 Y:$805D,8,16,s Y:$805E,8,16,s Y:$805C,8,16,s MS13,MI922 MS13,MI924 - Y:$7843D,8,16,s Y:$7843E,8,16,s - M805 M806 M807 Y:$805F,0,24,s X:$805F,0,24,s X:$805E,0,24,s X:$805D,11 MS13,MI925 MS13,MI926 MS13,MI923 MS13,MI928 - M808 M809 M810 M811 X:$805D,12 X:$805D
16-Axis MACRO CPU User Manual Servo IC 4 Registers for Channel 1 (usually for Motor #9) MACRO Location MIVariable Turbo Location X:$9001,0,24,S Y:$9002,8,16,S X:$9003,0,24,S Y:$9003,8,16,S Y:$9005,8,16,s Y:$9006,8,16,s Y:$9004,8,16,s Y:$9007,0,24,s X:$9007,0,24,s X:$9006,0,24,s X:$9005,11 X:$9005,12 X:$9005,14 X:$9000,19 X:$9000,9 X:$9000,11 X:$9000,8 X:$9000,14 X:$9000,16 X:$9000,17 X:$9000,18 X:$9000,15 X:$9000,20 X:$9000,21 X:$9000,22 X:$9000,23 X:$9000,20,4 MS16,MI921 MS16,MI922 MS16,MI924 MS16,MI9
16-Axis MACRO CPU User Manual Servo IC 4 Registers for Channel 2 (usually for Motor #10) MACRO Location MIVariable Turbo Location M-Var Description X:$9009,0,24,S Y:$900A,8,16,S - - M1001 M1002 X:$900B,0,24,S Y:$900B,8,16,S Y:$900D,8,16,s Y:$900E,8,16,s Y:$900C,8,16,s Y:$900F,0,24,s X:$900F,0,24,s X:$900E,0,24,s X:$900D,11 X:$900D,12 X:$900D,14 X:$9008,19 X:$9008,9 X:$9008,11 X:$9008,8 X:$9008,14 X:$9008,16 X:$9008,17 X:$9008,18 X:$9008,15 X:$9008,20 X:$9008,21 X:$9008,22 X:$9008,23 X:$9008,20,4
16-Axis MACRO CPU User Manual Servo IC 4 Registers for Channel 3 (usually for Motor #11) MACRO Location MIVariable Turbo Location M-Var Description X:$9011,0,24,S Y:$9012,8,16,S - - M1101 M1102 X:$9013,0,24,S Y:$9013,8,16,S Y:$9015,8,16,s Y:$9016,8,16,s Y:$9014,8,16,s Y:$9017,0,24,s X:$9017,0,24,s X:$9016,0,24,s X:$9015,11 X:$9015,12 X:$9015,14 X:$9010,19 X:$9010,9 X:$9010,11 X:$9010,8 X:$9010,14 X:$9010,16 X:$9010,17 X:$9010,18 X:$9010,15 X:$9010,20 X:$9010,21 X:$9010,22 X:$9010,23 X:$9010,20,4
16-Axis MACRO CPU User Manual Servo IC 4 Registers for Channel 4 (usually for Motor #12) MACRO Location MIVariable Turbo Location M-Var Description X:$9019,0,24,S Y:$901A,8,16,S X:$901B,0,24,S Y:$901B,8,16,S Y:$901D,8,16,s Y:$901E,8,16,s Y:$901C,8,16,s Y:$901F,0,24,s X:$901F,0,24,s X:$901E,0,24,s X:$901D,11 X:$901D,12 X:$901D,14 X:$9018,19 X:$9018,9 X:$9018,11 X:$9018,8 X:$9018,14 X:$9018,16 X:$9018,17 X:$9018,18 X:$9018,15 X:$9018,20 X:$9018,21 X:$9018,22 X:$9018,23 X:$9018,20,4 MS21,MI921 MS21,MI92
16-Axis MACRO CPU User Manual Servo IC 5 Registers for Channel 1 (usually for Motor #13) MACRO Location MIVariable Turbo Location M-Var Description X:$9041,0,24,S Y:$9042,8,16,S - - M1301 M1302 X:$9043,0,24,S Y:$9043,8,16,S Y:$9045,8,16,s Y:$9046,8,16,s Y:$9044,8,16,s Y:$9047,0,24,s X:$9047,0,24,s X:$9046,0,24,s X:$9045,11 X:$9045,12 X:$9045,14 X:$9040,19 X:$9040,9 X:$9040,11 X:$9040,8 X:$9040,14 X:$9040,16 X:$9040,17 X:$9040,18 X:$9040,15 X:$9040,20 X:$9040,21 X:$9040,22 X:$9040,23 X:$9040,20,4
16-Axis MACRO CPU User Manual Servo IC 5 Registers for Channel 2 (usually for Motor #12) MACRO Location MIVariable Turbo Location M-Var Description X:$9049,0,24,S Y:$904A,8,16,S - - M1401 M1402 X:$904B,0,24,S Y:$904B,8,16,S Y:$904D,8,16,s Y:$904E,8,16,s Y:$904C,8,16,s Y:$904F,0,24,s X:$904F,0,24,s X:$904E,0,24,s X:$904D,11 X:$904D,12 X:$904D,14 X:$9048,19 X:$9048,9 X:$9048,11 X:$9048,8 X:$9048,14 X:$9048,16 X:$9048,17 X:$9048,18 X:$9048,15 X:$9048,20 X:$9048,21 X:$9048,22 X:$9048,23 X:$9048,20,4
16-Axis MACRO CPU User Manual Servo IC 5 Registers for Channel 3 (usually for Motor #15) MACRO Location MIVariable Turbo Location M-Var Description X:$9051,0,24,S Y:$9052,8,16,S X:$9053,0,24,S Y:$9053,8,16,S Y:$9055,8,16,s Y:$9056,8,16,s Y:$9054,8,16,s Y:$9057,0,24,s X:$9057,0,24,s X:$9056,0,24,s X:$9055,11 X:$9055,12 X:$9055,14 X:$9050,19 X:$9050,9 X:$9050,11 X:$9050,8 X:$9050,14 X:$9050,16 X:$9050,17 X:$9050,18 X:$9050,15 X:$9050,20 X:$9050,21 X:$9050,22 X:$9050,23 X:$9050,20,4 MS28,MI921 MS28,MI92
16-Axis MACRO CPU User Manual Servo IC 5 Registers for Channel 4 (usually for Motor #16) MACRO Location MIVariable Turbo Location M-Var Description X:$9059,0,24,S Y:$905A,8,16,S X:$905B,0,24,S Y:$905B,8,16,S Y:$905D,8,16,s Y:$905E,8,16,s Y:$905C,8,16,s Y:$905F,0,24,s X:$905F,0,24,s X:$905E,0,24,s X:$905D,11 X:$905D,12 X:$905D,14 X:$9058,19 X:$9058,9 X:$9058,11 X:$9058,8 X:$9058,14 X:$9058,16 X:$9058,17 X:$9058,18 X:$9058,15 X:$9058,20 X:$9058,21 X:$9058,22 X:$9058,23 X:$9058,20,4 MS29,MI921 MS29,MI92
16-Axis MACRO CPU User Manual NODE TRANSFER ADDRESSES CHART 16-Axis MACRO CPU Node Addresses IC0 Node Node 24-bit Transfer Addresses Node 16-bit (upper 16 bits) Transfer Addresses Node Type 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Y:$C0A0 Y:$C0A4 X:$C0A0 X:$C0A4 Y:$C0A8 Y:$C0AC X:$C0A8 X:$C0AC Y:$C0B0 Y:$C0B4 X:$C0B0 X:$C0B4 Y:$C0B8 Y:$C0BC X:$C0B8 X:$C0BC Y:$C0A1, Y:$C0A2, Y:$C0A3 Y:$C0A5, Y:$C0A6, Y:$C0A7 X:$C0A1, X:$C0A2, X:$C0A3 X:$C0A5, X:$C0A6, X:$C0A7 Y:$C0A9, Y:$C0AA, Y:$C0AB Y:$C0AD, Y:$C0AE, Y
16-Axis MACRO CPU User Manual Turbo PMAC2 Node Addresses 84 MACRO IC Node Axis/IO User Node Node 24-bit Transfer Addresses Node 16-bit (upper 16 bits) Transfer Addresses (IC0 ) 0 (IC0) 1 (IC0 ) 2 (IC0) 3 (IC0) 4 (IC0) 5 (IC0) 6 (IC0) 7 (IC0) 8 (IC0) 9 (IC0) 10 (IC0) 11 (IC0) 12 (IC0) 13 (IC0) 14 (IC0) 15 (IC1 ) 0 (IC1) 1 (IC1 ) 2 (IC1) 3 (IC1) 4 (IC1) 5 (IC1) 6 (IC1) 7 (IC1) 8 (IC1) 9 (IC1) 10 (IC1) 11 (IC1) 12 (IC1) 13 (IC1) 14 (IC1) 15 (IC2 ) 0 (IC2) 1 (IC2 ) 2 (IC2) 3 (IC2) 4 (IC2) 5 (IC2) 6 (IC2
16-Axis MACRO CPU User Manual (IC3) 1 (IC3 ) 2 (IC3) 3 (IC3) 4 (IC3) 5 (IC3) 6 (IC3) 7 (IC3) 8 (IC3) 9 (IC3) 10 (IC3) 11 (IC3) 12 (IC3) 13 (IC3) 14 (IC3) 15 Axis 26 I/O I/O Axis 27 Axis 28 I/O I/O Axis 29 Axis 30 I/O I/O Axis 31 Axis 32 Master/Master Master/Slave Node Transfer Addresses Chart 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 Y:$07B424 X:$07B420 X:$07B424 Y:$07B428 Y:$07B42C X:$07B428 X:$07B42C Y:$07B430 Y:$07B434 X:$07B430 X:$07B434 Y:$07B438 Y:$07B43C X:$07B438 X:$07B43C Y:$07B425, Y:$07B