User's Manual
Table Of Contents
- 16-Axis MACRO Slave Station Binding to a MACRO Master
- Mapping Servo Channels to Servo Node
- Mapping Motor Node Registers
- Mapping Motor Function Registers to Node Registers
- Mapping of General Purpose I/O
- UMAC (Pack) Configuration
- I/O Accessory Boards
- Auto Configuration and Identification of UMAC (Pack) Boards
- UMAC (Pack) Interface/Breakout Boards
- MACRO Ring Rules
- I7: Phase Cycle Extension
- I19: Clock Source I-Variable Number
- Turbo PMAC2 Ultralite: I6800 and I6801
- UMAC Turbo
- Notes on Servo Clock
- I6840: MACRO IC 0 Master Configuration
- I6890/I6940/I6990: MACRO IC 1/2/3 Master Configuration
- I6841/I6891/I6941/I6991: MACRO IC 0/1/2/3 Node Activation Control
- I70/I72/I74/I76: MACRO IC 0/1/2/3 Node Auxiliary Function Enable
- I71/I73/I75/I77: MACRO IC 0/1/2/3 Node Protocol Type Control
- I78: MACRO Master/Slave Auxiliary Communications Timeout
- I79: MACRO Master/Master Auxiliary Communications Timeout
- I80, I81, I82: MACRO Ring Check Period and Limits
- Ixx01: Commutation Enable
- Ixx02: Command Output Address
- Ixx03, Ixx04: Feedback Address
- Ixx10, Ixx95: Absolute Position Address and Format
- Ixx25, Ixx24: Flag Address and Mode
- Ixx70, Ixx71: Commutation Cycle Size
- Ixx75: Absolute Phase Position Offset
- Ixx81, Ixx91: Power-On Phase Position Address and Mode
- Ixx82: Current Loop Feedback Address
- Ixx83: Commutation Feedback Address
- Ring Update Frequency
- Station Servo Clock Frequency
- MACRO IC 0
- MACRO IC 1
- MACRO IC 0
- MACRO IC 1
- Channels 1-4 (First 4-Axis Board)
- Channels 5-8 (Second 4-Axis Board)
- On Board Auxiliary Channels (Handwheel/Pulse and Direction)
- Incremental Digital Encoder Feedback
- Analog Encoder Feedback
- Resolver Feedback
- MLDT Feedback
- 12-Bit A/D Converter Feedback
- 14E Parallel Feedback
- MI17 Amplifier Fault Disable Control
- MI18 Amplifier Fault Polarity Control
- MI10x Position Feedback Address
- MI11x Power-On Position Feedback Address
- MI16x Power-On MLDT Excitation Value
- MI975 I/O Node Enable
- MI19 I/O Transfer Period
- Bi-Directional I/O Transfer Control
- Uni-Directional I/O Transfer Control
- Setting the Trigger Condition
- Using for Homing
- Using in User Program
- Setting up for a Single Pulse Output
- Setting up for Multiple Pulse Outputs
- How to Enable and Disable MACRO ASCII Communication Mode
- The Ring Order Method
- Example: Read Using MM-Variables – Actual Encoder
- Example: Read DAC Output from Servo IC Card
- Example: Monitor Up/Down Counter from Servo IC Card
- Example: Write to DACnB on Servo IC Card
- Example: Read Using MI198 and MI199 – Direct Hal
- Example: Read Using MI198 and MI199 – Actual DAC
16-Axis MACRO CPU User Manual
Turbo PMAC2 Software Setup for MACRO Station 13
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. (The equivalent I-Variable for other MACRO ICs should be set to 3 by default to indicate
that these ICs should receive their clock signals as inputs. Note that MACROGATE MACRO ICs that
are used typically for MACRO ICs 1, 2, and 3, have no servo clock – they cannot be used as the servo
clock source, and even if their clock-direction I-Variable is set to 3, it will report back as 1 to indicate
phase-clock input.)
Normally, in Turbo PMAC2 systems interfacing to a MACRO Station, MACRO IC 0 should be the
source of the system servo and phase clock signals. The clock-direction I-Variable for MACRO IC 0 is
I6807, so I19 on these systems should be set to 6807.
Turbo PMAC2 Ultralite: I6800 and I6801
On a Turbo PMAC2 Ultralite (or UMAC Turbo with Acc-5E) controller, the phase clock frequency is
determined by I6800 and I6801. I6800 determines the frequency of the MaxPhase clock, and I6801
determines how the Phase clock frequency is divided down from the MaxPhase clock. I6800 sets the
MaxPhase frequency according to the formula:
MaxPhase Freq. (kHz) = 117,964.8 / [2*I6800+3]
To set I6800 for a desired MaxPhase frequency, the following formula can be used:
I6800 = (117,964.8 / [2*MaxPhase(kHz)]) - 1 (rounded down)
I6801 sets the Phase clock frequency from the MaxPhase according to the formula:
Phase Freq. (kHz) = MaxPhase Freq. (kHz) / [I6801+1]
In MACRO applications, typically I6801 is set to 0, so the Phase clock frequency equals the MaxPhase
clock frequency. In this case, I6800 sets the Phase clock frequency, and therefore the MACRO ring-
update frequency, directly.
UMAC Turbo
In a UMAC Turbo (3U Turbo PMAC2) system, the Phase clock can come from many possible sources,
set by a variety of different variables. However, if a UMAC Turbo system is controlling a MACRO
Station through the ring with an Acc-5E MACRO interface board, the MACRO IC 0 on the Acc-5E
should be the source of the phase clock for the system. To accomplish this, make sure that I19 is set to
6807 to specify MACRO IC 0 as the clock source for the system, with I6800 and I6801 set to specify the
phase clock frequency as in Ultralite PMAC2 boards, explained above. Normally, the Turbo firmware
will select MACRO IC 0 automatically on a UMAC, if present, as the clock source on a $$$*** re-
initialization command. MACRO Ring Rules 1-8 should be observed in this setting.
Notes on Servo Clock
On Turbo PMAC2 controllers, the Servo clock frequency is derived from the Phase clock frequency by an
integer division, so the setting of the MACRO ring update frequency, which is the same as the Phase
clock frequency, determines the possible Servo clock frequencies. The division of the Servo clock
frequency from the Phase clock frequency is determined by:
• Turbo PMAC2 Ultralite I6802 (Servo Frequency = Phase Frequency / [I6802+1])
• UMAC Turbo with Acc-5E I6802 (Servo Frequency = Phase Frequency / [I6802+1])
Once the servo clock frequency has been established, the Turbo PMAC2 variable I10 must be set
accordingly so trajectories execute at the proper speed. Several MACRO timing variables have units of
servo clock cycles.