^1 SOFTWARE REFERENCE MANUAL ^2 16-AXIS MACRO CPU ^3 16-Axis MACRO CPU ^4 3Ax-603719-xSxx ^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 MI4 FAULT DESCRIPTION, P. 2 DATE CHG APPVD 04/04/07 CP B.
16-Axis MACRO CPU Software Reference Manual Table of Contents 16-AXIS MACRO STATION MI-VARIABLE REFERENCE...............................................................................1 Global MI-Variables .................................................................................................................................................1 MS{anynode},MI0 Station Firmware Version (Read Only).............................................................................
16-Axis MACRO CPU Software Reference Manual MS{anynode},MI189 MACRO/Encoder IC #3 Base Address .........................................................................27 MS{anynode},MI190 MACRO/Encoder IC #4 Base Address .........................................................................27 MS{anynode},MI191 – MI196 Encoder Channels 9 – 14 Base Address ........................................................27 MS{anynode}, MI197 (Reserved for Future use) ...............................................
16-Axis MACRO CPU Software Reference Manual MS{anynode},MI940 ADC1-4 Strobe Word ...................................................................................................46 MS{anynode},MI941 ADC5-8 Strobe Word ...................................................................................................46 MACRO IC MI-variables........................................................................................................................................
16-Axis MACRO CPU Software Reference Manual MM{constant}={constant} Set Station MM-Variable Value..............................................................................64 MP{constant} Report Station MP-Variable Value...........................................................................................64 MP{constant}={constant} Set Station MP-Variable Value ................................................................................64 MM{constant}-> Report Station MM-Variable Definition......
16-Axis MACRO CPU Software Reference Manual 16-AXIS MACRO STATION MI-VARIABLE REFERENCE The 16-Axis MACRO Station is set up through its own set of initialization I-variables, which are distinct from the I-variables on PMAC. Usually, they are referenced as MI-variables (e.g. MI900) to distinguish them from the PMAC’s own I-variables, although they can be referenced just as I-variables.
16-Axis MACRO CPU Software Reference Manual MS{anynode},MI3 Station Rotary Switch Setting Range: $00 - $FF Units: none This variable, when queried, reports the setting of the two rotary hex switches on the 16-Axis MACRO Station. The first hex digit reports the setting of SW1; the second reports the setting of SW2. Note: It is possible to write a value to this variable, but this should not be done.
16-Axis MACRO CPU Software Reference Manual MS{anynode},MI5 Ring Error Counter Range: $000000 - $FFFFFF Units: Error Count This variable, when queried, reports the number of ring communications errors detected by the 16-Axis MACRO Station since the most recent power-up or reset. Note: It is possible to write a value to this variable, but this should not be done if you are using MI6 The ring error counter value can be cleared to zero using the or MS$$${anynode} commands.
16-Axis MACRO CPU Software Reference Manual The Station can detect four types of communications errors: byte violation errors, packet checksum errors, packet overrun errors, and packet under run errors. If MI9 errors have occurred in the MI8 check period, and at least half of these errors are byte “violation” errors, the Station will conclude that there is a ring break immediately upstream of it (if there are no ring input communications to the Station, there will be continual byte violation errors).
16-Axis MACRO CPU Software Reference Manual MS{anynode},MI12 Card Identification Range: 0 – $FFFFFF Units: none Default: $936747 (603719) This returns the card part number. The same as the CID ASCII command. MS{anynode},MI13 Display Enable and Type Range: 0–3 Units: none Default: 0 0 = No Display output 1 = LCD Display Output 3 = Vacuum Display Output MS{anynode},MI14 MACRO IC Source of Phase Clock Range: 0–1 Units: none Default: 1 Default MACRO #1 is the default source of the Phase clock.
16-Axis MACRO CPU Software Reference Manual If MI16 is set to 1, then the ASIC’s own encoder-loss status bit (bit 7 in the channel hardware status word) for each encoder channel is copied into bit 8 of the matching node’s status flag word for transmission back to the PMAC. Note that this reporting function is unrelated to the automatic encoderloss shutdown function using external circuitry that can be enabled with MI7 and reported in MI4.
16-Axis MACRO CPU Software Reference Manual The following table shows the relationship between the bits of MI17 and the servo nodes on the Station: 7 13 MI17 Bit # Node # MS{anynode},MI18 6 12 5 9 4 8 3 5 2 4 1 1 0 0 Amplifier Fault Polarity Range: $00 - $FF Units: none Default: $00 (low-true fault for all nodes) This variable controls how the 16-Axis MACRO Station interprets the polarity of the amplifier fault inputs for each servo node.
-Axis MACRO CPU Software Reference Manual MI20 Bit # Bit Value TransferControl MI-Variable MI20 Bit # Bit Value TransferControl MI-Variable 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 $1 $2 $4 $8 $10 $20 $40 $80 $100 $200 $400 $800 $1000 $2000 $4000 $8000 $10000 $20000 $40000 $80000 $100000 $200000 $400000 $800000 MI21 MI22 MI23 MI24 MI25 MI26 MI27 MI28 MI29 MI30 MI31 MI32 MI33 MI34 MI35 MI36 MI37 MI38 MI39 MI40 MI41 MI42 MI43 MI44 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 3
16-Axis MACRO CPU Software Reference Manual The following table shows the 2-digit hex format codes and the portions of the address that each one selects.
16-Axis MACRO CPU Software Reference Manual MI69 and MI70 are 48-bit variables represented as 12 hexadecimal digits. The first six digits specify the number and address of 48-bit (3 x 16) real-time MACRO-node register sets to be used. The second six digits specify the number and address of 16-bit I/O sets on an UMAC IO board to be used.
16-Axis MACRO CPU Software Reference Manual MS{anynode},MI71 I/O-Board 24-Bit Transfer Control Range: $000000000000 - $FFFFFFFFFFFF Units: Extended addresses Default: 0 MI71 specifies the registers used in 24-bit I/O transfers between MACRO I/O node interface registers and I/O registers on the 9E, 10E, 11E, 12E, 14E, 65E, 66E, 67E, and 68E I/O boards on a 16-Axis MACRO Station. It is only used if MI19 is greater than 0. MI71 is a 48-bit variable represented as 12 hexadecimal digits.
16-Axis MACRO CPU Software Reference Manual MS{anynode},MI72-MI89 Output Power-On/Shutdown State Range: $000000 - $FFFFFF Units: Individual bit values Default: $000000 MI72 through MI89 are used to determine the states of the digital outputs for 16-Axis MACRO Station I/O boards at power-on and on controlled station shutdown due to a ring error condition. Each of these MI-variables is a 24-bit value controlling 24 consecutively numbered I/O points on a MACRO I/O board. Each bit controls one I/O point.
16-Axis MACRO CPU Software Reference Manual MS{anynode},MI91 - MI98 Range: Units: Phase Interrupt 24 Bit Data Copy $00000000 - $FFFFFFFF Individual bits Hex Digit # Contents 1 2 From $00 = Y: 24bit $80 = X: 24bit MS{anynode},MI99 Range: Units: Default: 3 4 5 6 From Register Address 7 8 To $00 = Y: 24bit $80 = X: 24bit 9 10 11 12 To Register Address (Reserved for Future Use) 0 0 MACRO IC Position Processing MI-Variables Each MACRO IC (0 and 1) has its own set of these variables.
16-Axis MACRO CPU Software Reference Manual MS{anynode},MI109 - MI110 (Reserved for Future Use) MS{anynode},MI111-MI118 Power-Up Position Source Address Range: Units: Default: $000000 - $FFFFFF Extended 16-Axis MACRO Station Addresses 0 MI111 (1st motor node: Node 0) MI112 (2nd motor node: Node 1) MI113 (3rd motor node: Node 4) MI114 (4th motor node: Node 5) MI115 (5th motor node: Node 8) MI116 (6th motor node: Node 9) MI117 (7th motor node: Node 12) MI118 (8th motor node: Node 13) MI111 through MI11
16-Axis MACRO CPU Software Reference Manual $30 ($B0) Triple-Byte Parallel (24 bits) in middle bytes of 24-bit words $31 ($B1) 16-Bit Parallel in high 16 bits of 24 bit word Double 13-Bit Parallel 12-Bit Parallel in high 12 bits of 24-bit word Single-X-Word Parallel (8 to 24 bits) Double-X-Word Parallel (25 to 42 bits) Yaskawa Absolute Encoder Converter thru Multiplexer Port $32 ($B2) $33 ($B3) $48-$56 ($C8-$D6) $57-$6A ($D7-$EA) $71 ($F1) $72 ($F2) Yaskawa Absolute Encoder Converter thru RS-232 inter
16-Axis MACRO CPU Software Reference Manual MACRO IC 0 MI-Var. Address MI-Var. Address MI-Var. Address MI-Var.
16-Axis MACRO CPU Software Reference Manual $Dx 3 Exponential filter of parallel data Max Change per Cycle $Ex $Fx 1 3 Sum or difference of entries High-resolution Interpolator Address of 1st A/D converter Filter Gain (Inverse Time Constant) A/D Bias Term Digital Incremental Encoder Entries ($0x, $Cx): These two conversion table methods utilize the incremental encoder registers in the DSPGATE ASICs on the Station.
16-Axis MACRO CPU Software Reference Manual High Resolution: With the $Fx method, the table computes the fractional information using the A/Dconverter data from an ACC-51E high-resolution encoder interpolator, producing a value with 4096 states per line. The entry must read both an encoder channel for the whole number of lines of the encoder, and a pair of A/D converters to determine the location within the line, mathematically combining the values to produce a single position value.
16-Axis MACRO CPU Software Reference Manual When this data is passed to a PMAC, and it reads this data for servo use with Ix03, Ix04, Ix05, or Ix93, it expects to find data in units of 1/32 of a count. Therefore, PMAC software regards this format as producing 128 counts per line. (The fact that the hardware counter used produces 4 counts per line is not relevant to the actual use of this format; this fact would only be used when reading the actual hardware counter for debugging purposes.
16-Axis MACRO CPU Software Reference Manual Parallel Feedback Entries ($2x, $3x, $6x, $7x): The parallel feedback entries read a word from the address specified in the low 16 bits of the first entry.
16-Axis MACRO CPU Software Reference Manual The following table shows the addresses for each channel on the ACC-24E2x backplane axis boards, and the corresponding ECT entry. The ‘m’ represents the method, either ‘9’, ‘A’, or ‘B’.
16-Axis MACRO CPU Software Reference Manual MI152 and MI153 are 48-bit values represented by 12 hexadecimal digits.
16-Axis MACRO CPU Software Reference Manual If MI16x is set to a value greater than 0, then the 24-bit value in MI16x is written automatically to the ‘C’ output register of the machine interface channel associated with the MACRO node upon power-up or reset of the 16-Axis MACRO Station. In addition, during the normal operation of the node, the value in the third MACRO register is not copied into the ‘C’ output register.
16-Axis MACRO CPU Software Reference Manual When this function is active, the 16-axis MACRO Station will copy values from the MACRO command (input) node registers to the I/O board addresses; it will copy values from the I/O board addresses to the MACRO feedback (output) node registers. Writing a ‘0’ to a bit of the I/O board enables it as an input, letting the output pull high. Writing a ‘1’ to a bit of the I/O board enables it as an output and pulls the output low.
16-Axis MACRO CPU Software Reference Manual Digit # 1 2 3-6 7 8 9-12 Possible Values 0 0 $C0A0 (Node 2), $C0A4 (Node 3), $C0A8 (Node 6), $C0AC (Node 7), $C0B0 (Node 10), $C0B4 (Node 11) 0 0/1 $8800, $8840, $8880, $88C0 Description (Reserved for future use) (Reserved for future use) 16-Axis MACRO Station X Address of MACRO I/O node first of four registers (Reserved for future use) Set to 1 for ACC-14E, ACC-65E, ACC-66E, ACC-67E consectutive address read (Base, +$1000, +$2000) 16-Axis MACRO Station Y Bas
16-Axis MACRO CPU Software Reference Manual The following table shows the mapping of I/O points on the I/O backplane boards to the MACRO node registers: Board # at Set Address E6x Rows Connected Byte on Data Bus 1st 1&2 Low 1st 1&2 Low 1st 1&2 Low 2nd 2 & 3* Middle 2nd 2 & 3* Middle 2nd 2 & 3* Middle 3rd 4&5 High 3rd 4&5 High * Rows 3 and 4 connected creates same setting I/O Point #s on Board Matching MACRO X Register 0 –15 16 – 31 32 - 47 0 –15 16 – 31 32 - 47 0 –23 24 – 47 Specified MACRO X Addres
16-Axis MACRO CPU Software Reference Manual MS{anynode},MI180 MACRO/SERVO IC #2 Base Address Range: $000000 - $00FFFF Units: Modified 16-Axis MACRO Station Addresses Default: $8040 for MACRO IC 0 and $9040 for MACRO IC 1 This is the base address of the second SERVO IC attached to the MACRO IC. MS{anynode},MI181 – MI188 MACRO/SERVO Channels 1 - 8 Address Range: $000000000000- $00FFFF00FFFF Units: Modified 16-Axis MACRO Station Addresses Default: These are 48 bit read-only MI variables.
16-Axis MACRO CPU Software Reference Manual MACRO IC I/O Transfer MI-Variables Each MACRO IC (0 and 1) has its own set of these variables. Therefore, they are access through their MACRO IC. MS{anynode},MI198 Direct Read/Write Format and Address Range: $000000 - $FFFFFF Units: Modified 16-Axis MACRO Station Addresses Default: $000000 MI198 controls the address and format of the register to be accessed (read from or written to) with MI199.
16-Axis MACRO CPU Software Reference Manual MI198 Format Digits (continued) MI198 Address Starting Bit Format MI198 Address Starting Bit Format Digits Space Bit Width Digits Space Bit Width $17 $18 $19 $1A $1B $1C $1D $1E $1F $20 $21 $22 $23 $24 $25 $26 $27 $28 $29 $2C $2D $30 $31 $34 $35 $38 $39 $3C $3D $40 $41 $44 $45 $48 $49 $4C $4D $50 $51 $54 $55 $58 $59 $5C $5D $60 $61 $64 $65 $68 Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y 7 8 9 10 11 12 13 1
16-Axis MACRO CPU Software Reference Manual MI198 Format Digits (continued) MI198 Address Starting Bit Format MI198 Address Starting Bit Format Digits Space Bit Width Digits Space Bit Width $69 $6C $6D $70 $71 $72 $73 $74 $75 $76 $77 $78 $79 $7A $7B Y Y Y Y Y Y Y Y Y - 4 8 8 0 0 4 4 0 0 - MS{anynode},MI199 16 16 16 20 20 20 20 24 24 - S U S U S U S U S - $E9 $EC $ED $F0 $F1 $F2 $F3 $F4 $F5 $F6 $F7 $F8 $F9 $FA $FB X X X X X X X X X X X X X 0 0 2 4 6 8 10 12 14 16 18 20 22 24 2 2 2 2 2 2 2 2 2 2 2 2
16-Axis MACRO CPU Software Reference Manual MACRO/SERVO ICs Gate Addr MInns X:MI200 Bit Chip Select IDENT MInns $C080-$C0BF $C0C0-$C0FF NA NA $8000-$801F $8040-$805F $8020-$803F $8060-$807F $9000-$901F $9040-$905F $9020-$903F $9060-$907F $A000-$A01F $A040-$A05F $A020-$A03F $A060-$A07F $B000-$B01F $B040-$B05F $B020-$B03F $B060-$B07F I990-999 I990-999 NA NA I900-19391 I900-1939 I900-1939 I900-1939 I900-1939 I900-1939 I900-1939 I900-1939 I900-1939 I900-1939 I900-1939 I900-1939 I900-1939 I900-1939 I900-1
16-Axis MACRO CPU Software Reference Manual MS{anynode}, MI205 Background Cycle Time Range: 0 Units: Clock units/2 Default: 0 The last background cycle time MS{anynode}, MI206 Maximum Background Cycle Time Range: 0 Units: Clock units/2 Default: 0 The maximum background cycle time MS{anynode}, MI207 Identification break down Range: 0 Units: Bits Default: 0 Same as Turbo I39 MS{anynode}, MI208 User Ram Start Range: 0 Units: N.A.
16-Axis MACRO CPU Software Reference Manual MS{anynode}, M210 – MI225 Servo IC Identification Variables Range: 0 Units: Modified 16-Axis MACRO Station Addresses Default: 0 These are equivalent to Turbo I4910 – I4925 MS{anynode}, M226 – MI249 Range: Units: Default: (Reserved for Future Use) 0 Modified 16-Axis MACRO Station Addresses 0 MS{anynode}, M250 – MI265 I/O Card Identification Variables Range: 0 Units: Modified 16-Axis MACRO Station Addresses Default: 0 These are equivalent to Turbo I4950 – I
16-Axis MACRO CPU Software Reference Manual Example: To set a PWM frequency of 10 kHz: MI900 = (117,964.8 kHz / [4*10 kHz]) - 1 = 2948 To set a PWM frequency of 7.5 kHz: MI900 = (117,964.8 kHz / [4*7.5 kHz]) - 1 = 3931 MS{anynode},MI903 Hardware Clock Control Channels 1-4 Range: Units: 0 - 4095 MI903 = 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.
16-Axis MACRO CPU Software Reference Manual The pulse-frequency-modulation clock PFM_CLK controls the PFM circuitry that is commonly used for stepper drives. The maximum pulse frequency possible is 1/4 of the PFM_CLK frequency. The PFM_CLK frequency should optimally be set to the lowest value that can generate pulses at the maximum frequency required. The DAC_CLK controls the serial data frequency into D/A converters.
16-Axis MACRO CPU Software Reference Manual MI904 controls the deadtime period between top and bottom on-times in the 16-Axis MACRO Station’s automatic PWM generation for machine interface channels 1-4. In conjunction with MI903, it also controls the pulse width for the 16-Axis MACRO Station's automatic pulse-frequency modulation generation for machine interface channels 1-4.
16-Axis MACRO CPU Software Reference Manual Generally, MI906 is set to the same value as MI992. If a different PWM frequency is desired for channels 5 to 8, MI906 should be set so that it is an odd-integer multiple (e.g. 3x, 5x, 7x) of MI992, or that MI992 is an odd-integer multiple of MI906. This will keep the PWM hardware on channels 5-8 in synchronization with the software algorithms driven by the PHASE clock. To set MI906 for a desired PWM frequency, the following formula can be used: MI906 = (117,964.
16-Axis MACRO CPU Software Reference Manual The encoder sample clock signal SCLK controls how often the 16-Axis MACRO Station's digital hardware looks at the encoder and flag inputs. The 16-Axis MACRO Station 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.
16-Axis MACRO CPU Software Reference Manual MS{anynode},MI909 DAC 5-8 Strobe Word Range: $000000 - $FFFFFF Units: Serial Data Stream (MSB first, starting on rising edge of phase clock) Default: $7FFF00 (for 16-bit DAC data) MI909 controls the DAC strobe signal for machine interface channels 5-8. The 24-bit word set by MI909 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.
16-Axis MACRO CPU Software Reference Manual In any of the quadrature decode modes, PMAC is expecting two input waveforms on CHAn and CHBn, each with approximately 50% duty cycle, and approximately one-quarter of a cycle out of phase with each other. “Times-one” (x1) decode provides one count per cycle; x2 provides two counts per cycle; and x4 provides four counts per cycle. The vast majority of users select x4 decode to get maximum resolution.
16-Axis MACRO CPU Software Reference Manual MS{node},MI912 Encoder n Capture Control Range: 0 - 15 Units: none Default: 1 This parameter determines which signal or combination of signals, and which polarity, triggers a position capture of the counter for the encoder mapped to the specified node. If a flag input (home, limit, or user) is used, MI913 for the node determines which flag. Proper setup of this variable is essential for a successful home search, which depends on the position-capture function.
16-Axis MACRO CPU Software Reference Manual MS{node},MI914 Encoder n Gated Index Select Range: Units: 0-1 none 0 = Use ungated index for encoder position capture 1 = Use index gated by quadrature channels for position capture Default: 0 When MI914 is set to 0, the index channel input (CHCn) for the encoder mapped to the specified MACRO node is passed directly into the position capture circuitry.
16-Axis MACRO CPU Software Reference Manual MS{node},MI917 Output n Invert Control Range: Units: 0-3 none 0 = Do not invert Outputs A & B; Do not invert Output C 1 = Invert Outputs A & B; Do not invert Output C 2 = Do not invert Outputs A & B; Invert Output C 3 = Invert Outputs A & B; Invert Output C Default: 0 MI917 controls the polarity of the command output signals for Channel n. The default non-inverted outputs are high true.
16-Axis MACRO CPU Software Reference Manual MS{node},MI921 Flag Capture Position (Read Only) Range: $0 - $FFFFFF Units: counts Default: This variable, when queried, reports the value of the captured position for the machine interface channel mapped to the specified MACRO node by SW1. Refer to the Motor command/status flag registers for their relationship to this value.
16-Axis MACRO CPU Software Reference Manual MS{node},MI927 Encoder Loss Status Bit Range: 0–1 Units: none Default: 0 MI927 reports whether the Servo IC on the 16-Axis MACRO Station has detected loss of a differential encoder signal for the machine interface channel mapped to the specified MACRO node number. It is a single-bit variable that reports 0 if no loss has been detected, or a 1 if a loss has been detected.
16-Axis MACRO CPU Software Reference Manual MS{node},MI931-MI937 MS{node},MI938 (Reserved for Future use) Servo IC Status Word (Read Only) Range: 0 – $FFFFFF Units: Default: This variable allows you to read the entire 24 bits of the Servo IC channel status register.
16-Axis MACRO CPU Software Reference Manual MS{anynode},MI943 Phase and Servo Direction Range: $0- $3 Units: Individual Bits Default: This MI variable is setup by MI14 and should not be written to. MS{anynode},MI944-MI949 (Reserved for future use) MACRO IC Setup MI-variables Each MACRO IC (0 and 1) has its own set of these variables and is accessed from each MACRO IC.
16-Axis MACRO CPU Software Reference Manual MI975 is used at the power-on/reset of the 16-Axis MACRO Station in combination with rotary switch SW1 and MI976 to determine which MACRO nodes are to be enabled. The net result can be read in Station variable MI996.
16-Axis MACRO CPU Software Reference Manual MI977 is a 16-bit value – bits 0 to 15 – with bit n controlling the enabling of MACRO node n on a ring break If the bit is set to 0, the node will not be enabled on a ring break; if the bit is set to 1, the node will be enabled on a ring break. The motor nodes on the 16-Axis MACRO Station are nodes 0, 1, 4, 5, 8, 9, 12, and 13, which can be enable on ring break by MI977 bits of these numbers.
16-Axis MACRO CPU Software Reference Manual This variable specifies the source address of the multiplexed A/D converters acted on by the demultiplexing algorithms of MI987 and MI988. These multiplexed A/D converters can be on ACC-36E or ACC-59E backplane boards.
16-Axis MACRO CPU Software Reference Manual ADC_CLK Frequency = 39.3216 MHz / (2 ^ ADC_CLK Divider) Default: 2258 = 2 + (8 * 2) + (64 * 3) + (512 * 4) Encoder SCLK Frequency = 39.3216 MHz / (2 ^ 2) = 9.8304 MHz PFM_CLK Frequency = 39.3216 MHz / (2 ^ 2) = 9.8304 MHz DAC_CLK Frequency = 39.3216 MHz / (2 ^ 3) = 4.9152 MHz ADC_CLK Frequency = 39.3216 MHz / (2 ^ 4) = 2.
16-Axis MACRO CPU Software Reference Manual Examples: The maximum encoder count frequency in the application is 800 kHz, so the 1.2288 MHz SCLK frequency is chosen. A pulse train up to 500 kHz needs to be generated, so the 2.4576 MHz PFM_CLK frequency is chosen. ADCs and DACs are not used, so the default DAC_CLK frequency of 4.9152 MHz and the default ADC_CLK frequency of 2.4576 MHz are chosen.
16-Axis MACRO CPU Software Reference Manual MS{anynode},MI995 MACRO Ring Configuration/Status Range: $0000 - $FFFF (0 - 65,535) Units: none Default: $0080 MI995 contains configuration and status bits for MACRO ring operation of the 16-Axis MACRO Station.
16-Axis MACRO CPU Software Reference Manual The bits of MI996 are arranged as follows: Bit # Value 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16-19 20-23 Type 1($1) 2($2) 4($4) 8($8) 16($10) 32($20) 64($40) 128($80) 256($100) 512($200) 1024($400) 2048($800) 4096($1000) 8192($2000) 16384($4000) 32768($8000) $X0000 $X00000 Config Config Config Config Config Config Config Config Config Config Config Config Config Config Config Config Config Config Function Node 0 Activate Node 1 Activate Node 2 Activate Node
16-Axis MACRO CPU Software Reference Manual MS{anynode},MI997 Phase Clock Frequency Control Range: Units: Default: 0 - 15 PHASE Clock Frequency = MaxPhase Frequency / (MI997+1) 0 PHASE Clock Frequency = 9.0346 kHz / 1 = 9.0346 kHz (with default value of MI992) MI997, in conjunction with MI992, determines the frequency of the PHASE clock on a 16-Axis MACRO Station.
16-Axis MACRO CPU Software Reference Manual MS{anynode},MI999 Range: Units: Default: 56 Handwheel DAC Strobe Word (Not used) $000000 - $FFFFFF Serial Data Stream (MSB first, starting on rising edge of phase clock) $7FFFC0 (for 18-bit DAC data) 16-Axis MACRO Station MI-Variable Reference
16-Axis MACRO CPU Software Reference Manual 16-AXIS MACRO CPU STATION MM AND MP-VARIABLES The 16-Axis MACRO CPU has 512 MM and 512 MP variables. The MM variables are like the PMAC X/Y types which are 1 to 24 bit integer data types. The MP variables are general purpose 24-bit integer data types. The MM types can be used in the MI21-MI68 copy variables and the PLCC. The MP variables can only be used in the PLCC.
16-Axis MACRO CPU Software Reference Manual 58 16-Axis MACRO Station Mm and MP-Variables
16-Axis MACRO CPU Software Reference Manual 16-AXIS MACRO CPU STATION MACPLCCS The Open MACPlcc compiler in PeWinPro is used to compile the MACRO PLCC program that runs in the 16 axes MACRO CPU. It is designed to handle a limited version of the standard PMAC PLCC programming commands and it will include some new ones. The MACPlcc code is run in the background process of the 16-Axis MACRO CPU. The additions and limitations to the standard PMAC PLC commands are defined below.
16-Axis MACRO CPU Software Reference Manual Special MACRO Program Commands CHAN = Exp. (limited to 1 –8) (Sets channel # f or MI910 - 939 & 950 – 969 or MI1910 - 1939 & 1950 - 1969). If Exp. is < 1 CHAN is not updated and if Exp. is >8 it is limited to 8. Valid Math, Assignment and Conditional Operators +, -, *, /, %, &, ^, and | =, >, <, !=, !>, !< Valid Expressions and Arrays OpenPlcc Ln integer variable array expression.
16-Axis MACRO CPU Software Reference Manual MAC PLCC Related ASCII Commands Commands SAVE Disable PLCC & ^D Enable PLCC $$$*** $$$ Download MI15 = 1 16-Axis MACRO Station MacPLCCs Operation Saves PLCCs from $4000 to *($4000) Sets *$4002 = $4003 Sets *$4002 = $4004 Restores $4000 - $4004 to default above Restore from saved $4000 to *($4000 end of PLCC). If it is saved in disable state will come up enabled.
16-Axis MACRO CPU Software Reference Manual 62 16-Axis MACRO Station MacPLCCs
16-Axis MACRO CPU Software Reference Manual 16-AXIS MACRO CPU STATION SERIAL COMMANDS The 16-Axis MACRO Station can accept ASCII text commands directly through the serial port at connector J7 on the CPU/Interface Board, or in auxiliary mode from a Turbo PMAC over the MACRO ring using MACSTASCII commands. Serial communications is at 9600 baud (CPU board jumper E3 connecting pins 1 and 2) or 38400 baud (E3 connecting pins 2 and 3), eight bits, one stop bit, no parity.
16-Axis MACRO CPU Software Reference Manual MI{constant}={constant} Set Station MI-Variable Value The MI{constant}={constant} command causes the 16-Axis MACRO Station to set the value of the specified MI-variable to the specified value. MM{constant} Report Station MM-Variable Value The MM{constant} command causes the 16-Axis MACRO Station to report the current value of the specified MM-variable.
16-Axis MACRO CPU Software Reference Manual SID Reports Serial Identification Number The reports the SID of the Dallas ID chip. VERS Report Firmware Version The VERS command causes the 16-Axis MACRO Station to report its firmware version number. Example: VERS 1.106 VID Report Vendor ID Number The VID command causes the 16-Axis MACRO Station to report its vendor identification number: for Delta Tau, this number is ‘1’.
16-Axis MACRO CPU Software Reference Manual 66 16-Axis MACRO Station Serial Commands
16-Axis MACRO CPU Software Reference Manual TURBO PMAC TYPE 1 16-AXIS MACRO CPU STATION COMMANDS The following commands from the Turbo PMAC controllers can be used for Type 1 auxiliary communication with the 16-Axis MACRO Station.
16-Axis MACRO CPU Software Reference Manual MS Variable Read Syntax: MACROSLAVE{node #},{slave MI, MM or MP variable} MS{node #},{slave MI-variable} where: {node #} is a constant (0-14) representing the number of the node whose variable is to be read (if the variable is not node-specific, the number of any active node on the station may be used) {slave MI, MM or MP -variable} is the name of the MI, MM or MP-variable on the slave station whose value is to be reported This command causes PMAC to query the
16-Axis MACRO CPU Software Reference Manual MS Variable Read Copy Syntax: MACROSLVREAD{node #},{slave MI-variable},{PMAC variable} MSR{node #},{slave MI, MM or MP -variable},{PMAC variable} where {node #} is a constant (0-14) representing the number of the node whose variable is to be read (if the variable is not node-specific, the number of any active node on the station may be used) {slave MI, MM or MP -variable} is the name of the MI, MM or MP -variable on the slave station whose value is to be reporte
16-Axis MACRO CPU Software Reference Manual Examples: MSW0,MI910,P35 MSW0,MP1,P35 MSW4,C4,P0 ; Copies value of PMAC P35 into 16-Axis MACRO Station ; node 0 variable MI910 ; Copies value of PMAC P35 into 16-Axis MACRO Station ; global variable MP1 ; Causes 16-Axis MACRO Station with active node 4 to save its ; MI-variable values to non-volatile memory ; (P0 is a dummy variable here) Turbo PMAC PLC Commands for Type 1 16-Axis MACRO Stations MS Variable Read Copy Syntax: MACROSLVREAD{node #},{slave MI-vari
16-Axis MACRO CPU Software Reference Manual The valid C-commands are: • C1 Clear station faults • C2 Reset station, loading saved station MI-variables • C3 Re-initialize station, loading default station MI-variables • C4 Save station MI-variables to non-volatile memory The MI, MM or MP -variable on the MACRO slave station can be global to the station, or node-specific. The variable on the PMAC or PMAC2 can be any of the I, P, Q, or M-variable on the card.
16-Axis MACRO CPU Software Reference Manual 72 Turbo PMAC Type 1 16-Axis MACRO Station Commands
16-Axis MACRO CPU Software Reference Manual 16-AXIS MACRO CPU STATION MEMORY AND I/O MAP In the listing below, the hexadecimal address is listed first, followed by the decimal address in parentheses.
16-Axis MACRO CPU Software Reference Manual MM and MP Variables Table X: $00400 - $005FF Y: $00400 - $005FF ; MP Variables (0-511) ; MM Variable Definitions (0-511) Open Memory X: $00700 - $007FF Y: $00700 - $007FF ; Open Memory ; Open Memory DSPGATE1 Registers Note: The 16-Axis MACRO Station can support with its automatic servo functions up to 16 servo interface channels on four 4-channel DSPGATE1 ICs. Four Servo IC boards with DSPGATE1 ICs can be installed on the backplane.
16-Axis MACRO CPU Software Reference Manual Servo IC # Chan. 1 Chan. 2 Chan. 3 Chan. 4 Notes 2 3 4 5 $8001 $8041 $9001 $9041 $8009 $8049 $9009 $9049 $8011 $8051 $9011 $9051 $8019 $8059 $9019 $9059 1st ACC-24E2x 2nd ACC-24E2x 3rd ACC-24E2x 4th ACC-24E2x Channel n Time since last encoder count (SCLK cycles) Channel n Encoder phase position (counts) Y:$8xxx or Y:$9xxx X:$8xxx or X:$9xxx Servo IC # Chan. 1 Chan. 2 Chan. 3 Chan.
16-Axis MACRO CPU Software Reference Manual Bits (X:$8004 bits 0-11 is I903; X:$8044 bits 0-11 is I907) (X:$9004 bits 0-11 is I1903; X:$9044 bits 0-11 is I1907) 0-2: SCLK Frequency Control n (f=39.3216MHz / 2n, n=0-7) 3-5: PFM Clock Frequency Control n (f=39.3216MHz / 2n, n=0-7) 6-8: DAC Clock Frequency Control n (f=39.3216MHz / 2n, n=0-7) 9-11: ADC Clock Frequency Control n (f=39.
16-Axis MACRO CPU Software Reference Manual Servo IC # Chan. 1 2 3 4 5 $8005 $8045 $9005 $9045 Chan. 2 $800D $804D $900D $904D Chan. 3 Chan.
16-Axis MACRO CPU Software Reference Manual 21: 22: 23: Servo IC # Chan. 1 2 3 4 5 $8006 $8046 $9006 $9046 Invert C Output Control (0=no inversion, 1=invert) (Bits 22-23: MS{node},MI916) Output A & B Mode Select (0=PWM, 1=DAC) Output C Mode Select (0=PWM, 1=PFM) Chan. 2 $800E $804E $900E $904E Chan. 3 Chan.
16-Axis MACRO CPU Software Reference Manual UBUS Port I/O Base Address 2D (CS12, A13=0, A12=1) UBUS Port I/O Base Address 4D (CS14, A13=1, A12=0) UBUS Port I/O Base Address 6D (CS16, A13=1, A12=1) X/Y:$B840 X/Y:$B880 X/Y:$B8C0 DSPGATE2 Registers (Values shown are for MACRO IC 0. For MACRO IC 1 add $40 to the addresses) General I/O Data Register Y:$C080 Note: The pins associated with this register are used for other purposes on the 16-Axis MACRO Station. Bits: X:$C080 0 I/O00 Data Value ...
16-Axis MACRO CPU Software Reference Manual General I/O Data Direction Control Register X:$C082 Note: The pins associated with this register are used for other purposes on the 16-Axis MACRO Station. Bits: Y:$C083 Bits: X:$C083 Bits: Y:$C084 Bits: 80 0 DAT0 Direction Control ... 7 DAT7 Direction Control 8 SEL0 Direction Control ... 15 SEL7 Direction Control (All bits: 0=Input; 1=Output) 16-23 Not used General I/O Port Data Register 0 DISP0 (DAT0 pin) Data Value ...
16-Axis MACRO CPU Software Reference Manual X:$C084 Bits: Y:$C085 Bits: X:$C085 Bits: Y:$C086 Bits: X:$C086 Bits: 19 I/O19 Data Type Control (0=USER10; 1=I/O19) 20 I/O20 Data Type Control (0=FlagT10; 1=I/O20) 21 I/O21 Data Type Control (0=FlagU10; 1=I/O21) 22 I/O22 Data Type Control (0=FlagV10; 1=I/O22) 23 I/O23 Data Type Control (0=FlagW10; 1=I/O23) (All bits: 0=dedicated hardware I/O; 1=general I/O) (All bits must be 0 for use with ACC-1E 2-axis piggyback board) Data Inversion Control Register (when
16-Axis MACRO CPU Software Reference Manual 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:$C087 Data Type Control Register Bits: 0 DISP0 Data Type Control ... 7 DISP7 Data Type Control 8 CTRL0 Data Type Control ...
16-Axis MACRO CPU Software Reference Manual X:$C08E 16-19 Sync packet slave node number control 20-23 Master number control Not used Y:$C08F MACRO Ring Status and Control Bits: X:$C08F Bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Data overrun error (cleared when read) Byte violation error (cleared when read) Packet parity error (cleared when read) Data underrun error (cleared when read) Master station enable Synchronizing master station enable Sync packet received (cleared when read) Sync packet phase
16-Axis MACRO CPU Software Reference Manual 10 11 12 13 14 15 16 17 18 19 20 21 22 23 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 Value Handwheel 1 Channel B (HWBn) Input Value Handwheel 1 Channel C (Index, HWCn) Input Value (ungated) Amplifier Fault (FAULTn) Input Value Home Flag (HMFLn) Input Value Positiv
16-Axis MACRO CPU Software Reference Manual Bits: 0-7: 8-23: PWM Dead Time (16*PWM CLK cycles) also PFM pulse width (PFM CLK cycles) PWM Max Count Value PWM Frequency = 117.
16-Axis MACRO CPU Software Reference Manual 23: Output C Mode Select (0=PWM, 1=PFM) Chan # Hex Y:$C09x Bits: X:$C09x 2* [$C09E] Supplementary Channel n* ADC B Input Value (uses SEL3 in dedicated mode) 6-23: Serial ADC Value 0-5: Not used Channel n* Encoder Compare Auto-increment value (24 bits, units of counts) Chan # Hex Y:$C09x X:$C09x 1* [$C096] 1* [$C097] 2* [$C09F] Channel n* Encoder Compare A Value (24 bits, units of counts) Channel n* Encoder Compare B Value (24 bits, units of counts) MACR
16-Axis MACRO CPU Software Reference Manual X:$C0A7 MACRO Node 3 3rd 16-bit command(write) and feedback (read) register (bits 8-23; bits 0-7 not used) Y:$C0A8 MACRO Node 4 24-bit command(write) and feedback (read) register X:$C0A8 MACRO Node 4 24-bit command(write) and feedback (read) register Y:$C0A9 MACRO Node 6 1st 16-bit command(write) and feedback (read) register (bits 8-23; bits 0-7 not used) X:$C0A9 MACRO Node 6 1st 16-bit command(write) and feedback (read) register (bits 8-23; bits 0-7 not
16-Axis MACRO CPU Software Reference Manual X:$C0B2 MACRO Node 10 2nd 16-bit command(write) and feedback (read) register (bits 8-23; bits 0-7 not used) Y:$C0B3 MACRO Node 8 3rd 16-bit command(write) and feedback (read) register (bits 8-23; bits 0-7 not used) X:$C0B3 MACRO Node 10 3rd 16-bit command(write) and feedback (read) register (bits 8-23; bits 0-7 not used) Y:$C0B4 MACRO Node 9 24-bit command(write) and feedback (read) register X:$C0B4 MACRO Node 11 24-bit command(write) and feedback (read)
16-Axis MACRO CPU Software Reference Manual X:$C0BD MACRO Node 15 1st 16-bit command(write) and feedback (read) register (bits 8-23; bits 0-7 not used) Y:$C0BE MACRO Node 13 1st 16-bit command(write) and feedback (read) register (bits 8-23; bits 0-7 not used) X:$C0BE MACRO Node 15 2nd 16-bit command(write) and feedback (read) register (bits 8-23; bits 0-7 not used) Y:$C0BF MACRO Node 13 3rd 16-bit command(write) and feedback (read) register (bits 8-23; bits 0-7 not used) X:$C0BF MACRO Node 15 3rd