^1 USER MANUAL
Turbo PMAC
^3 Programmable Multi Axis Controller
^4 3Ax-602264-TUxx
^5 September 12, 2008
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.com
Copyright Information
© 2008 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. Technical Support
Phone: (818) 717-5656
Fax: (818) 998-7807
Email: support@deltatau.com Website: http://www.deltatau.com
Operating Conditions
All Delta Tau Data Systems, Inc. motion controller products, accessories, and amplifiers contain static sensitive components that can be damaged by incorrect handling. When installing or handling Delta Tau Data Systems, Inc. products, avoid contact with highly insulated materials. Only qualified personnel should be allowed to handle this equipment.
In the case of industrial applications, we expect our products to be protected from hazardous or conductive materials and/or environments that could cause harm to the controller by damaging components or causing electrical shorts. When our products are used in an industrial environment, install them into an industrial electrical cabinet or industrial PC to protect them from excessive or corrosive moisture, abnormal ambient temperatures, and conductive materials. If Delta Tau Data Systems, Inc. products are exposed to hazardous or conductive materials and/or environments, we cannot guarantee their operation
Revision History
Revision |
Description |
Date |
CHG |
Approved |
|
|
|
|
|
1 |
P. 261 – CORRECTED EX. SETUP PROGRAM |
09-12-08 |
CP |
M. YAHYAEI |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Turbo PMAC User Manual
Table of Contents |
|
USING THIS MANUAL ............................................................................................................................................. |
1 |
What is in this Manual .............................................................................................................................................. |
1 |
Other Manuals to Use................................................................................................................................................ |
1 |
Turbo PMAC Software Reference Manual ........................................................................................................... |
1 |
Hardware Reference Manuals .............................................................................................................................. |
1 |
UMAC Quick Reference Guide............................................................................................................................. |
1 |
PMAC Executive Program Manual ...................................................................................................................... |
1 |
Software Development Package Manuals............................................................................................................. |
2 |
TURBO PMAC FAMILY OVERVIEW ................................................................................................................... |
3 |
Turbo PMAC vs. Non-Turbo PMAC ........................................................................................................................ |
3 |
Turbo PMAC vs. Turbo PMAC2 .............................................................................................................................. |
3 |
Turbo PMAC is a Computer ..................................................................................................................................... |
3 |
What Turbo PMAC Does.......................................................................................................................................... |
4 |
Executing Motion Programs ................................................................................................................................. |
4 |
Executing PLC Programs ..................................................................................................................................... |
4 |
Servo Loop Update ............................................................................................................................................... |
4 |
Commutation Update............................................................................................................................................ |
4 |
Housekeeping........................................................................................................................................................ |
4 |
Communicating with the Host............................................................................................................................... |
4 |
Task Priorities....................................................................................................................................................... |
5 |
Key Hardware Components ...................................................................................................................................... |
5 |
CPU Section.......................................................................................................................................................... |
5 |
Machine Interface ICs........................................................................................................................................... |
8 |
Communications Ports........................................................................................................................................ |
12 |
Key Software Components...................................................................................................................................... |
13 |
Operational Firmware........................................................................................................................................ |
13 |
Bootstrap Firmware............................................................................................................................................ |
13 |
Motors, Axes, and Coordinate Systems............................................................................................................... |
13 |
User Programs.................................................................................................................................................... |
14 |
Turbo PMAC Configurations.................................................................................................................................. |
15 |
Board-Level Designs........................................................................................................................................... |
15 |
UMAC Rack-Mounted Designs........................................................................................................................... |
15 |
QMAC Boxed Design.......................................................................................................................................... |
16 |
TURBO PMAC/PMAC2 SYSTEM CONFIGURATION AND AUTO-CONFIGURATION ............................ |
17 |
CPU Clock Frequency............................................................................................................................................. |
17 |
Turbo PMAC2 System Clock Source ..................................................................................................................... |
18 |
Default Clock Source .......................................................................................................................................... |
18 |
IC Clock Generation Facilities........................................................................................................................... |
18 |
Typical Clock-Source ICs ................................................................................................................................... |
19 |
External Clock Sources....................................................................................................................................... |
19 |
Distribution of Clock Signals.............................................................................................................................. |
19 |
Missing Clock Signals......................................................................................................................................... |
20 |
Re-Initialization Actions ..................................................................................................................................... |
20 |
User-Customized Clock-Source Specification .................................................................................................... |
21 |
Normal Reset Actions.......................................................................................................................................... |
22 |
MACRO IC Selection ............................................................................................................................................. |
22 |
Dual-Ported RAM IC Selection .............................................................................................................................. |
23 |
System Configuration Status Reporting .................................................................................................................. |
23 |
Servo IC Configuration....................................................................................................................................... |
23 |
MACRO IC Configuration .................................................................................................................................. |
23 |
DPRAM IC Configuration .................................................................................................................................. |
24 |
CPU Section Configuration ................................................................................................................................ |
24 |
UBUS Accessory Board Identification................................................................................................................ |
24 |
Table of Contents |
i |
|
Turbo PMAC User Manual |
Setting System Clock Frequencies .......................................................................................................................... |
24 |
Setting Turbo PMAC Phase and Servo Clock Frequencies ................................................................................ |
25 |
Setting Turbo PMAC2 Phase and Servo Clock Frequencies .............................................................................. |
26 |
Setting I10 Servo Update Time Parameter ......................................................................................................... |
28 |
Setting up a Turbo PMAC2 on the MACRO Ring.................................................................................................. |
28 |
MACRO Ring Frequency Control Variables ...................................................................................................... |
29 |
I7: Phase Cycle Extension .................................................................................................................................. |
29 |
I6840: MACRO IC 0 Master Configuration ....................................................................................................... |
29 |
I6890/I6940/I6990: MACRO IC 1/2/3 Master Configuration ............................................................................ |
30 |
I6841/I6891/I6941/I6991: MACRO IC 0/1/2/3 Node Activation Control........................................................... |
30 |
I70/I72/I74/I76: MACRO IC 0/1/2/3 Node Auxiliary Function Enable.............................................................. |
31 |
I71/I73/I75/I77: MACRO IC 0/1/2/3 Node Protocol Type Control .................................................................... |
31 |
I78: MACRO Master/Slave Auxiliary Communications Timeout ....................................................................... |
31 |
I79: MACRO Master/Master Auxiliary Communications Timeout..................................................................... |
32 |
I80, I81, I82: MACRO Ring Check Period and Limits ....................................................................................... |
32 |
MACRO Node Addresses .................................................................................................................................... |
32 |
Resetting and Re-Initializing Turbo PMAC............................................................................................................ |
35 |
Methods of Resetting........................................................................................................................................... |
35 |
Actions on a Normal Reset.................................................................................................................................. |
35 |
Actions on Reset with Re-Initialization............................................................................................................... |
36 |
Actions on Reset for Firmware Reload ............................................................................................................... |
36 |
Re-Initialization and Clear Command................................................................................................................ |
37 |
TALKING TO TURBO PMAC ............................................................................................................................... |
39 |
Communications Ports ............................................................................................................................................ |
39 |
Serial Communications Ports ............................................................................................................................. |
39 |
Bus Communications Port .................................................................................................................................. |
42 |
Dual-Ported RAM ............................................................................................................................................... |
44 |
Giving Commands to Turbo PMAC........................................................................................................................ |
45 |
Turbo PMAC Processing of Commands ............................................................................................................. |
45 |
Command Acknowledgement .............................................................................................................................. |
45 |
Data Response .................................................................................................................................................... |
45 |
Data Integrity...................................................................................................................................................... |
46 |
Data Response Format ....................................................................................................................................... |
46 |
On-Line (Immediate) Commands ........................................................................................................................... |
46 |
Types of On-Line Commands.............................................................................................................................. |
46 |
Buffered (Program) Commands .............................................................................................................................. |
48 |
SETTING UP FEEDBACK AND MASTER POSITION SENSORS................................................................... |
49 |
Setting Up Quadrature Encoders............................................................................................................................. |
49 |
Signal Format ..................................................................................................................................................... |
49 |
Hardware Setup .................................................................................................................................................. |
49 |
Turbo PMAC Hardware-Control Parameter Setup............................................................................................ |
51 |
Conversion Table Processing Setup – Turbo PMAC Interface........................................................................... |
53 |
Conversion Table Processing Setup – MACRO Station Interface ...................................................................... |
54 |
Scaling the Feedback Units ................................................................................................................................ |
54 |
Setting Up Digital Hall Sensors .............................................................................................................................. |
54 |
Signal Format ..................................................................................................................................................... |
54 |
Hardware Setup .................................................................................................................................................. |
55 |
Turbo PMAC Hardware-Control Parameter Setup............................................................................................ |
55 |
Power-Up Phasing Usage................................................................................................................................... |
56 |
Conversion Table Processing Setup – Turbo PMAC Interface........................................................................... |
56 |
Conversion Table Processing Setup – MACRO Station Interface ...................................................................... |
56 |
Scaling the Feedback Units ................................................................................................................................ |
56 |
Setting up Sinusoidal Encoders............................................................................................................................... |
57 |
Hardware Setup .................................................................................................................................................. |
57 |
Turbo PMAC Hardware-Control Parameter Setup............................................................................................ |
57 |
ii |
Table of Contents |
Turbo PMAC User Manual
Conversion Table Processing Setup – Turbo PMAC Interface........................................................................... |
58 |
Conversion Table Processing Setup – MACRO Station Interface ...................................................................... |
59 |
Scaling the Feedback Units ................................................................................................................................ |
59 |
Setting up Resolvers................................................................................................................................................ |
60 |
Hardware Setup .................................................................................................................................................. |
60 |
Turbo PMAC Hardware-Control Parameter Setup............................................................................................ |
60 |
Conversion Table Processing Setup – Turbo PMAC Interface........................................................................... |
61 |
Conversion Table Processing Setup – MACRO Station Interface ...................................................................... |
61 |
Setting Up for Power-On Absolute Position ....................................................................................................... |
61 |
Scaling the Feedback Units ................................................................................................................................ |
62 |
Setting Up MLDTs.................................................................................................................................................. |
62 |
MLDT Interface Type.......................................................................................................................................... |
62 |
Signal Formats.................................................................................................................................................... |
62 |
Hardware Setup .................................................................................................................................................. |
63 |
Turbo PMAC Hardware-Control Parameter Setup............................................................................................ |
63 |
Conversion Table Processing Setup – Turbo PMAC Interface........................................................................... |
66 |
Conversion Table Processing Setup – MACRO Station Interface ...................................................................... |
66 |
Setting Up for Power-On Absolute Position ....................................................................................................... |
66 |
Scaling the Feedback Units ................................................................................................................................ |
66 |
Setting Up LVDTs, RVDTs, & Other Analog ........................................................................................................ |
67 |
Hardware Setup .................................................................................................................................................. |
67 |
Turbo PMAC Hardware-Control Parameter Setup............................................................................................ |
67 |
Conversion Table Processing Setup – Turbo PMAC Interface........................................................................... |
68 |
Conversion Table Processing Setup – MACRO Station Interface ...................................................................... |
68 |
Setting Up for Power-On Absolute Position ....................................................................................................... |
69 |
Scaling the Feedback Units ................................................................................................................................ |
69 |
Setting Up Absolute Encoders ................................................................................................................................ |
69 |
BASIC MOTOR SETUP........................................................................................................................................... |
71 |
Hardware Setup....................................................................................................................................................... |
71 |
Parameters to Set up Basic Motor Operation .......................................................................................................... |
71 |
Initial Setup Parameters .......................................................................................................................................... |
72 |
Activating the Motor: Ixx00 ................................................................................................................................ |
72 |
Activating PMAC Motor Commutation: Ixx01 ................................................................................................... |
72 |
Motor Address Setup Parameters ............................................................................................................................ |
73 |
Command Output Address: Ixx02....................................................................................................................... |
74 |
Position-Loop Feedback Address: Ixx03 ............................................................................................................ |
74 |
Velocity-Loop Feedback Address: Ixx04 ............................................................................................................ |
74 |
Flag Addresses: Ixx25, Ixx42, Ixx43................................................................................................................... |
74 |
Flag Modes: Ixx24 .............................................................................................................................................. |
75 |
Absolute Power-Up Position Address and Format: Ixx10 and Ixx95 ................................................................. |
76 |
Power-Up Mode: Ixx80....................................................................................................................................... |
76 |
Is Turbo PMAC Commutating or Closing the Current Loop for This Motor?........................................................ |
77 |
Setting up Turbo PMAC for Velocity or Torque Control ....................................................................................... |
77 |
Hardware Setup .................................................................................................................................................. |
77 |
Turbo PMAC Parameter Setup........................................................................................................................... |
77 |
Setting Up Turbo PMAC2 for Pulse-and-Direction Control................................................................................... |
79 |
Hardware Setup .................................................................................................................................................. |
80 |
Signal Timing...................................................................................................................................................... |
80 |
Turbo PMAC Parameter Setup........................................................................................................................... |
81 |
Testing the Setup................................................................................................................................................. |
85 |
SETTING UP TURBO PMAC-BASED COMMUTATION AND/OR CURRENT LOOP................................ |
89 |
Beginning Setup of Commutation........................................................................................................................... |
89 |
Commutation Enable: Ixx01 ............................................................................................................................... |
89 |
Commutation Cycle Size: Ixx70 & Ixx71 ............................................................................................................ |
89 |
Commutation Feedback Address: Ixx83 ............................................................................................................. |
90 |
Table of Contents |
iii |
Turbo PMAC User Manual |
|
Current Loop in Turbo PMAC or Not................................................................................................................. |
91 |
Setting Up for Direct PWM Control ....................................................................................................................... |
91 |
Introduction ........................................................................................................................................................ |
91 |
Digital Current Loop Principle of Operation ..................................................................................................... |
91 |
Turbo PMAC Parameter Setup........................................................................................................................... |
94 |
Special Instructions for Direct-PWM Control of Brush Motors ....................................................................... |
100 |
Testing PWM and Current Feedback Operation .............................................................................................. |
101 |
Position Feedback and Polarity Test ................................................................................................................ |
102 |
Establishing Basic Current Loop Operation..................................................................................................... |
107 |
Setting Up Turbo PMAC for Sine-Wave Output Control ..................................................................................... |
110 |
Hardware Setup ................................................................................................................................................ |
110 |
Turbo PMAC Parameter Setup......................................................................................................................... |
111 |
Establishing Basic Output Operation ............................................................................................................... |
114 |
Finishing Setting up Turbo PMAC Commutation (Direct PWM or Sine Wave), Synchronous Motors............... |
115 |
Confirming Commutation Polarity Match ........................................................................................................ |
115 |
Establishing a Phase Reference........................................................................................................................ |
116 |
Finishing Setting up Turbo PMAC Commutation (Direct PWM or Sine Wave), Asynchronous (Induction) Motors |
|
............................................................................................................................................................................... |
127 |
Calculating Ixx78 Slip Constant ....................................................................................................................... |
127 |
Setting Ixx77 Magnetization Current................................................................................................................ |
128 |
Direct Microstepping of Motors (Open-Loop Commutation) ............................................................................... |
129 |
Setting the I-Variables ...................................................................................................................................... |
130 |
What to Do Next ................................................................................................................................................... |
132 |
User-Written Phase Algorithms ............................................................................................................................ |
133 |
Writing the Algorithm ....................................................................................................................................... |
133 |
SETTING UP THE ENCODER CONVERSION TABLE .................................................................................. |
135 |
Conversion Table Execution ................................................................................................................................. |
136 |
Conversion Table Structure................................................................................................................................... |
136 |
Setup Structure.................................................................................................................................................. |
136 |
Result Structure................................................................................................................................................. |
138 |
Using the Results .............................................................................................................................................. |
139 |
Conversion Methods ............................................................................................................................................. |
140 |
Digital Quadrature Encoders ........................................................................................................................... |
140 |
Analog Sine/Cosine Encoders........................................................................................................................... |
142 |
Acc-28 Analog-to-Digital Converters............................................................................................................... |
143 |
Parallel Feedback............................................................................................................................................. |
143 |
Exponential Filter ............................................................................................................................................. |
145 |
Sum and Difference........................................................................................................................................... |
145 |
Time Base (Differentiation) .............................................................................................................................. |
146 |
SETTING UP THE SERVO LOOP....................................................................................................................... |
149 |
Servo Update Rate................................................................................................................................................. |
149 |
Reasons to Change Servo Update Rate............................................................................................................. |
149 |
Ramifications of Changing the Servo Update Rate........................................................................................... |
149 |
Types of Amplifiers .............................................................................................................................................. |
150 |
Amplifiers for Which Servo Produces Velocity Command................................................................................ |
150 |
Amplifiers for Which Servo Produces Torque/Force Command....................................................................... |
151 |
PID/Feedforward/Notch Servo Filter .................................................................................................................... |
152 |
PID Feedback Filter ......................................................................................................................................... |
152 |
Feedforward Filter ........................................................................................................................................... |
153 |
Actual PID/Feedforward Algorithm ................................................................................................................. |
154 |
Notch Filter....................................................................................................................................................... |
154 |
Servo-Loop Modifiers ....................................................................................................................................... |
159 |
Extended Servo Algorithm.................................................................................................................................... |
161 |
Cascading Servo Loops......................................................................................................................................... |
163 |
Selecting Turbo PMAC Motors to Use ............................................................................................................. |
164 |
iv |
Table of Contents |
Turbo PMAC User Manual
Inner Loop General Setup................................................................................................................................. |
164 |
Outer Loop General Setup ................................................................................................................................ |
164 |
Joining the Loops.............................................................................................................................................. |
165 |
Tuning the Outer Loop...................................................................................................................................... |
166 |
Programming the Outer Loop Motor................................................................................................................ |
166 |
Setup Example................................................................................................................................................... |
167 |
Changing the Mode of Control ......................................................................................................................... |
167 |
Special Instructions for Extended Single-Loop Setup ....................................................................................... |
168 |
User-Written Servo Algorithms ............................................................................................................................ |
169 |
Open Servo Compiled Algorithms..................................................................................................................... |
169 |
Assembled User-Written Servo Algorithms....................................................................................................... |
181 |
MOTOR COMPENSATION TABLES AND CONSTANTS .............................................................................. |
183 |
Position Compensation Tables .............................................................................................................................. |
183 |
Source, Target, and Assigned Motors............................................................................................................... |
183 |
Dimension of the Table ..................................................................................................................................... |
184 |
Using Desired vs. Actual Position .................................................................................................................... |
185 |
Multiple Tables per Motor ................................................................................................................................ |
185 |
Table Range ...................................................................................................................................................... |
186 |
Determining Compensation Values .................................................................................................................. |
186 |
Entering Tables................................................................................................................................................. |
186 |
Enabling and Disabling Tables ........................................................................................................................ |
188 |
Active Calculation of Corrections..................................................................................................................... |
189 |
Reporting Table Information ............................................................................................................................ |
189 |
Deleting Tables ................................................................................................................................................. |
189 |
Backlash Compensation ........................................................................................................................................ |
190 |
Constant Backlash Parameter .......................................................................................................................... |
190 |
Backlash Take-Up Rate..................................................................................................................................... |
190 |
Backlash Hysteresis .......................................................................................................................................... |
190 |
Backlash Compensation Tables ........................................................................................................................ |
190 |
Enabling and Disabling Backlash..................................................................................................................... |
191 |
Backlash Table Example................................................................................................................................... |
192 |
Torque Compensation Tables................................................................................................................................ |
193 |
Entering Tables................................................................................................................................................. |
193 |
Reporting Table Information ............................................................................................................................ |
194 |
Enabling and Disabling Tables ........................................................................................................................ |
194 |
Active Calculation of Corrections..................................................................................................................... |
194 |
Deleting Tables ................................................................................................................................................. |
194 |
TURBO PMAC GENERAL PURPOSE I/O USE ................................................................................................ |
195 |
Turbo PMAC General-Purpose I/O (JOPTO) Port................................................................................................ |
195 |
Hardware Characteristics ................................................................................................................................ |
195 |
Software Access ................................................................................................................................................ |
195 |
Turbo PMAC Multiplexed I/O (JTHW) Port ........................................................................................................ |
196 |
Turbo PMAC Control Panel Port .......................................................................................................................... |
196 |
Control-Panel Inputs ........................................................................................................................................ |
196 |
Control-Panel Outputs...................................................................................................................................... |
196 |
Turbo PMAC2 General-Purpose I/O (JIO) Port.................................................................................................... |
197 |
Hardware Characteristics ................................................................................................................................ |
197 |
Suggested M-Variables ..................................................................................................................................... |
197 |
Direction Control.............................................................................................................................................. |
197 |
Inversion Control.............................................................................................................................................. |
198 |
Alternate Uses................................................................................................................................................... |
198 |
Turbo PMAC2 Multiplexed I/O Port (JTHW) ...................................................................................................... |
198 |
Multiplexer Port Accessories............................................................................................................................ |
199 |
Hardware Characteristics ................................................................................................................................ |
199 |
Suggested M-Variables ..................................................................................................................................... |
199 |
Table of Contents |
v |
|
Turbo PMAC User Manual |
Direction Control.............................................................................................................................................. |
199 |
Inversion Control.............................................................................................................................................. |
200 |
Alternate Uses................................................................................................................................................... |
200 |
Turbo PMAC Analog Input (JANA) Port ............................................................................................................. |
200 |
Hardware Characteristics ................................................................................................................................ |
200 |
Multiplexing Principle ...................................................................................................................................... |
201 |
De-multiplexing I-Variables ............................................................................................................................. |
201 |
UMAC Digital I/O Boards .................................................................................................................................... |
202 |
Addressing UMAC I/O Boards ......................................................................................................................... |
202 |
Setting up UMAC I/O Boards ........................................................................................................................... |
203 |
MAKING AN APPLICATION SAFE ................................................................................................................... |
207 |
Following Error Limits.......................................................................................................................................... |
207 |
Fatal Following Error Limit............................................................................................................................. |
207 |
Warning Following Error Limit........................................................................................................................ |
207 |
Integrated Following Error Protection............................................................................................................. |
208 |
Position (Overtravel) Limits.................................................................................................................................. |
208 |
Hardware Overtravel Limit Switches ............................................................................................................... |
208 |
Software Overtravel Limit Variables ................................................................................................................ |
209 |
Velocity Limits...................................................................................................................................................... |
210 |
Vector Velocity Limit ........................................................................................................................................ |
210 |
Motor Velocity Limit......................................................................................................................................... |
210 |
Acceleration Limits............................................................................................................................................... |
211 |
Command Output Limits....................................................................................................................................... |
211 |
Integrated Current (I2T) Protection....................................................................................................................... |
211 |
Amplifier Enable and Fault Lines ......................................................................................................................... |
213 |
Encoder-Loss Detection ........................................................................................................................................ |
213 |
User-Written Safety Algorithms ........................................................................................................................... |
215 |
Watchdog Timer.................................................................................................................................................... |
215 |
Actions on Watchdog Timer Trip ...................................................................................................................... |
215 |
Diagnosing Cause of Watchdog Timer Trip ..................................................................................................... |
215 |
Hardware Stop Command Inputs .......................................................................................................................... |
216 |
Host-Generated Stop Commands .......................................................................................................................... |
216 |
Program Checksums.............................................................................................................................................. |
217 |
Firmware Checksum ......................................................................................................................................... |
217 |
User-Program Checksum.................................................................................................................................. |
217 |
Communications Data Integrity ............................................................................................................................ |
218 |
EXECUTING INDIVIDUAL MOTOR MOVES ................................................................................................. |
219 |
Jogging Move Control........................................................................................................................................... |
219 |
Jog Acceleration ............................................................................................................................................... |
219 |
Jog Speed .......................................................................................................................................................... |
219 |
Jog Commands.................................................................................................................................................. |
221 |
Triggered Motor Moves ........................................................................................................................................ |
222 |
Types of Triggered Moves................................................................................................................................. |
222 |
Types of Trigger Conditions ............................................................................................................................. |
222 |
Capturing the Trigger Position......................................................................................................................... |
223 |
Post-Trigger Move............................................................................................................................................ |
224 |
Homing Search Moves ...................................................................................................................................... |
224 |
Jog-Until-Trigger Moves .................................................................................................................................. |
231 |
Motion Program Move-Until-Trigger............................................................................................................... |
232 |
Open-Loop Moves................................................................................................................................................. |
233 |
TURBO PMAC COMPUTATIONAL FEATURES............................................................................................. |
235 |
Computational Priorities ....................................................................................................................................... |
235 |
Single Character I/O......................................................................................................................................... |
235 |
Commutation Update........................................................................................................................................ |
235 |
vi |
Table of Contents |
Turbo PMAC User Manual
Servo Update .................................................................................................................................................... |
235 |
Real-Time Interrupt Tasks ................................................................................................................................ |
236 |
VME Mailbox Processing ................................................................................................................................. |
236 |
Background Tasks............................................................................................................................................. |
236 |
Priority Level Optimization .............................................................................................................................. |
238 |
Evaluating the Turbo PMAC’s Computational Load ............................................................................................ |
238 |
Phase Interrupt Tasks ....................................................................................................................................... |
238 |
Servo Interrupt Tasks........................................................................................................................................ |
239 |
Real-Time Interrupt Tasks ................................................................................................................................ |
239 |
Total Interrupt Tasks ........................................................................................................................................ |
239 |
Sample Monitoring Program ............................................................................................................................ |
239 |
Background Cycle Time.................................................................................................................................... |
240 |
Numerical Values.................................................................................................................................................. |
240 |
Internal Formats ............................................................................................................................................... |
240 |
Receiving Values............................................................................................................................................... |
241 |
Reporting Values............................................................................................................................................... |
241 |
Addresses .............................................................................................................................................................. |
242 |
Variables ............................................................................................................................................................... |
242 |
I-Variables ........................................................................................................................................................ |
242 |
P-Variables ....................................................................................................................................................... |
243 |
Q-Variables....................................................................................................................................................... |
244 |
M-Variables ...................................................................................................................................................... |
245 |
Operators............................................................................................................................................................... |
247 |
Arithmetic Operators ........................................................................................................................................ |
247 |
Logical Operators............................................................................................................................................. |
248 |
Functions............................................................................................................................................................... |
248 |
Expressions ........................................................................................................................................................... |
248 |
The {DATA} Syntax ............................................................................................................................................. |
248 |
Variable Value Assignment Statement.................................................................................................................. |
249 |
I-Variable Default Value Assignment ............................................................................................................... |
249 |
Synchronous M-Variable Value Assignment..................................................................................................... |
249 |
Comparators .......................................................................................................................................................... |
251 |
Conditions ............................................................................................................................................................. |
252 |
Simple Conditions ............................................................................................................................................. |
252 |
Compound Conditions ...................................................................................................................................... |
252 |
Single-Line Condition Actions .......................................................................................................................... |
252 |
Multiple-Line Conditions.................................................................................................................................. |
253 |
Timers ................................................................................................................................................................... |
253 |
Computational Considerations .............................................................................................................................. |
253 |
SETTING UP A COORDINATE SYSTEM.......................................................................................................... |
255 |
What is a Coordinate System?............................................................................................................................... |
255 |
What is an Axis? ................................................................................................................................................... |
255 |
Single-Motor Axes............................................................................................................................................. |
255 |
Multiple-Motor Axes ......................................................................................................................................... |
256 |
Phantom Axes ................................................................................................................................................... |
256 |
Axis Definition...................................................................................................................................................... |
256 |
Matching Motor to Axis .................................................................................................................................... |
256 |
Scaling and Offset............................................................................................................................................. |
256 |
Axis Types ......................................................................................................................................................... |
257 |
Conversion from Axis to Motor Position .......................................................................................................... |
258 |
Conversion from Motor to Axis Positions......................................................................................................... |
258 |
Coordinate-System Kinematic Calculations.......................................................................................................... |
259 |
Creating the Kinematic Program Buffers ......................................................................................................... |
260 |
Coordinate System Transformations with Kinematics ...................................................................................... |
267 |
Executing the Kinematic Programs .................................................................................................................. |
267 |
Table of Contents |
vii |
|
Turbo PMAC User Manual |
Coordinate System Time-Base.............................................................................................................................. |
268 |
WRITING AND EXECUTING MOTION PROGRAMS.................................................................................... |
271 |
Sequenced Motion Program Execution................................................................................................................. |
271 |
Flow Control ......................................................................................................................................................... |
271 |
G-Codes ................................................................................................................................................................ |
271 |
Modal Commands ................................................................................................................................................. |
272 |
Move Commands .................................................................................................................................................. |
272 |
Motion Program Trajectories ................................................................................................................................ |
272 |
Linear Blended Moves .......................................................................................................................................... |
272 |
Position or Distance Specification.................................................................................................................... |
272 |
Feedrate or Move-Time Specification............................................................................................................... |
272 |
Acceleration Parameters .................................................................................................................................. |
274 |
Acceleration Limits ........................................................................................................................................... |
275 |
Minimum Move Time ........................................................................................................................................ |
276 |
Maximum Move Time........................................................................................................................................ |
277 |
The Blending Function...................................................................................................................................... |
277 |
Circular Blended Moves........................................................................................................................................ |
282 |
Specifying the Interpolation Plane.................................................................................................................... |
282 |
Circle Modes..................................................................................................................................................... |
282 |
Center Vector.................................................................................................................................................... |
283 |
Radius Size Specification .................................................................................................................................. |
284 |
No Center Specification .................................................................................................................................... |
285 |
Vector Feedrate Axes........................................................................................................................................ |
285 |
Circle-Radius Errors ........................................................................................................................................ |
285 |
Move Segmentation Mode................................................................................................................................. |
285 |
Rapid-Mode Moves............................................................................................................................................... |
286 |
Move Time ........................................................................................................................................................ |
286 |
Move Path......................................................................................................................................................... |
286 |
No Blending ...................................................................................................................................................... |
287 |
Motion Program Move-Until-Trigger............................................................................................................... |
287 |
Altered-Destination Moves ............................................................................................................................... |
288 |
Spline-Mode Moves .............................................................................................................................................. |
289 |
How They Work ................................................................................................................................................ |
289 |
Added Pieces..................................................................................................................................................... |
290 |
Quantifying the Position Adjustment ................................................................................................................ |
290 |
5-Point Spline Correction ................................................................................................................................. |
290 |
Non-Uniform Spline.......................................................................................................................................... |
290 |
PVT-Mode Moves................................................................................................................................................. |
292 |
Mode Statement................................................................................................................................................. |
292 |
Move Statements ............................................................................................................................................... |
292 |
Turbo PMAC Calculations ............................................................................................................................... |
292 |
Problems in Stepping ........................................................................................................................................ |
292 |
Use of PVT to Create Arbitrary Profiles........................................................................................................... |
292 |
Use of PVT in Contouring................................................................................................................................. |
293 |
Cutter Radius Compensation................................................................................................................................. |
294 |
Defining the Plane of Compensation ................................................................................................................ |
294 |
Defining the Magnitude of Compensation ........................................................................................................ |
295 |
Turning On Compensation................................................................................................................................ |
295 |
Turning Off Compensation ............................................................................................................................... |
295 |
How Turbo PMAC Introduces Compensation .................................................................................................. |
295 |
Treatment of Compensated Inside Corners....................................................................................................... |
297 |
Treatment of Outside Corners .......................................................................................................................... |
297 |
Treatment of Full Reversal ............................................................................................................................... |
299 |
Note on Full Circles.......................................................................................................................................... |
299 |
Speed of Compensated Moves........................................................................................................................... |
300 |
viii |
Table of Contents |
Turbo PMAC User Manual
Changes in Compensation ................................................................................................................................ |
300 |
Failures in Cutter Compensation...................................................................................................................... |
302 |
Block Buffering for Cutter Compensation......................................................................................................... |
303 |
Single-Stepping While in Compensation........................................................................................................... |
304 |
Three-Dimensional Cutter Radius Compensation................................................................................................. |
305 |
Defining the Magnitude of 3D Compensation .................................................................................................. |
305 |
Turning on 3D Compensation........................................................................................................................... |
305 |
Turning Off 3D Compensation.......................................................................................................................... |
306 |
Declaring the Surface-Normal Vector .............................................................................................................. |
306 |
Declaring the Tool-Orientation Vector............................................................................................................. |
306 |
How 3D Compensation is Performed ............................................................................................................... |
307 |
Turbo PMAC Lookahead Function....................................................................................................................... |
307 |
Quick Instructions: Setting Up Lookahead....................................................................................................... |
309 |
Detailed Instructions: Setting up to use Lookahead ......................................................................................... |
310 |
Running a Program with Lookahead ................................................................................................................ |
315 |
Stopping While In Lookahead........................................................................................................................... |
317 |
Reversal While in Lookahead ........................................................................................................................... |
319 |
Axis Transformation Matrices............................................................................................................................... |
320 |
Setting up the Matrices ..................................................................................................................................... |
321 |
Using the Matrices............................................................................................................................................ |
321 |
Calculation Implications................................................................................................................................... |
322 |
Examples........................................................................................................................................................... |
322 |
Entering a Motion Program................................................................................................................................... |
323 |
Learning a Motion Program............................................................................................................................. |
324 |
Motion Program Structure................................................................................................................................ |
324 |
Running a Motion Program .............................................................................................................................. |
328 |
Implementing a Machine-Tool Style Program ...................................................................................................... |
329 |
G, M, T, and D-Codes....................................................................................................................................... |
329 |
Standard G-Codes............................................................................................................................................. |
329 |
Spindle Programs ............................................................................................................................................. |
333 |
Standard M-Codes ............................................................................................................................................ |
334 |
Default Conditions............................................................................................................................................ |
336 |
Rotary Motion Program Buffers............................................................................................................................ |
337 |
Defining a Rotary Buffer................................................................................................................................... |
337 |
Preparing to Run .............................................................................................................................................. |
337 |
Opening for Entry ............................................................................................................................................. |
337 |
Staying Ahead of Executing Line ...................................................................................................................... |
338 |
Closing and Deleting Buffers............................................................................................................................ |
338 |
How PMAC Executes a Motion Program ............................................................................................................. |
339 |
Calculation of Subsequent Moves ..................................................................................................................... |
340 |
When No Calculation Ahead............................................................................................................................. |
341 |
SYNCHRONIZING TURBO PMAC TO EXTERNAL EVENTS...................................................................... |
345 |
Position Following (Electronic Gearing)............................................................................................................... |
345 |
Position Following I-Variables......................................................................................................................... |
345 |
Changing Ratios on the Fly .............................................................................................................................. |
346 |
Superimposing Following on Programmed Moves........................................................................................... |
346 |
External Time-Base Control (Electronic Cams).................................................................................................... |
347 |
What Is Time-Base Control?............................................................................................................................. |
347 |
Instructions for Using an External Time-Base Signal ...................................................................................... |
348 |
Time-Base Example .......................................................................................................................................... |
350 |
Triggered Time Base......................................................................................................................................... |
352 |
Synchronizing Turbo PMAC to other Turbo PMACs........................................................................................... |
354 |
Clock Timing..................................................................................................................................................... |
354 |
Motion Program Timing ................................................................................................................................... |
356 |
Hardware Position-Capture Functions .................................................................................................................. |
357 |
Table of Contents |
ix |
|
Turbo PMAC User Manual |
Requirements for Hardware Capture ............................................................................................................... |
357 |
Setting the Trigger Condition ........................................................................................................................... |
357 |
Automatic Move-Until-Trigger Functions ........................................................................................................ |
358 |
Manual Use of the Capture Feature ................................................................................................................. |
358 |
Converting to Motor and Axis Coordinates ...................................................................................................... |
361 |
Using the Position-Compare Feature on Turbo PMAC......................................................................................... |
362 |
Scaling and Offset of Position-Compare Registers........................................................................................... |
362 |
Setup on a PMAC-Style Servo IC...................................................................................................................... |
362 |
Setup on a PMAC2-Style Servo IC.................................................................................................................... |
363 |
Converting from Motor and Axis Coordinates.................................................................................................. |
368 |
Synchronous M-Variable Assignment Outputs..................................................................................................... |
369 |
WRITING AND EXECUTING PLC PROGRAMS............................................................................................. |
371 |
What are PLC Programs?...................................................................................................................................... |
371 |
When To Use..................................................................................................................................................... |
371 |
Common Uses ................................................................................................................................................... |
371 |
64 PLC Programs ............................................................................................................................................. |
371 |
Entering a PLC Program ....................................................................................................................................... |
371 |
Opening the Buffer............................................................................................................................................ |
372 |
Downloading the Program ............................................................................................................................... |
372 |
Closing the Buffer ............................................................................................................................................. |
372 |
Erasing the Program ........................................................................................................................................ |
372 |
Example ............................................................................................................................................................ |
372 |
PLC Program Structure ......................................................................................................................................... |
373 |
Calculation Statements ..................................................................................................................................... |
373 |
Conditional Statements ..................................................................................................................................... |
373 |
Compiled PLC Programs ...................................................................................................................................... |
375 |
Execution of Compiled PLCs ............................................................................................................................ |
376 |
Writing Compiled PLC Programs..................................................................................................................... |
376 |
Optimization for Speed ..................................................................................................................................... |
380 |
Memory Utilization ........................................................................................................................................... |
380 |
Compiling the PLCs.......................................................................................................................................... |
381 |
Running Compiled PLCs................................................................................................................................... |
382 |
WRITING A HOST COMMUNICATIONS PROGRAM................................................................................... |
383 |
Turbo PMAC Command/Response Format .......................................................................................................... |
383 |
Response Types ................................................................................................................................................. |
383 |
Variations ......................................................................................................................................................... |
384 |
Clearing the Port .............................................................................................................................................. |
384 |
Serial Port Communications.................................................................................................................................. |
385 |
Setting Up the Interface .................................................................................................................................... |
385 |
Sending a Character ......................................................................................................................................... |
385 |
Reading a Character......................................................................................................................................... |
385 |
ISA/PCI Host Port Communications..................................................................................................................... |
386 |
Host Port Structure........................................................................................................................................... |
386 |
Register Functions ............................................................................................................................................ |
386 |
Registers for Simple Polled Communications................................................................................................... |
386 |
Setting up the Port ............................................................................................................................................ |
387 |
Sending a Character ......................................................................................................................................... |
387 |
Reading a Character......................................................................................................................................... |
387 |
ISA/PCI Interrupts ............................................................................................................................................ |
387 |
Initializing the Interrupt Controller.................................................................................................................. |
391 |
VME Bus Communications .................................................................................................................................. |
391 |
Setting up VME Communications ..................................................................................................................... |
392 |
VME Mailbox Register Communications.......................................................................................................... |
392 |
Dual-Ported RAM Communications ..................................................................................................................... |
397 |
Physical Configuration and Connection........................................................................................................... |
398 |
x |
Table of Contents |
Turbo PMAC User Manual
Host Address Setup ............................................................................................................................................... |
398 |
ISA Bus Setup.................................................................................................................................................... |
398 |
VME Bus Setup ................................................................................................................................................. |
399 |
Mapping of Memory Addresses ........................................................................................................................ |
401 |
DPRAM Automatic Functions........................................................................................................................... |
402 |
DPRAM Data Format....................................................................................................................................... |
402 |
DPRAM Motor Data Reporting Buffer ............................................................................................................. |
403 |
DPRAM Background Data Reporting Buffer.................................................................................................... |
404 |
DPRAM ASCII Communications ...................................................................................................................... |
405 |
DPRAM Communications Interrupts ................................................................................................................ |
406 |
DPRAM Background Variable Read Buffer ..................................................................................................... |
407 |
DPRAM Background Variable Data Write Buffer............................................................................................ |
409 |
DPRAM Binary Rotary Program Transfer Buffers........................................................................................... |
410 |
DPRAM Data Gathering Buffer........................................................................................................................ |
412 |
Turbo PMAC Ethernet Protocol............................................................................................................................ |
412 |
PMAC Ethernet Protocol Command Packet Description ................................................................................. |
413 |
Turbo PMAC Ethernet Protocol Command Set ................................................................................................ |
414 |
Data Gathering ...................................................................................................................................................... |
420 |
Table of Contents |
xi |
Turbo PMAC User Manual
xii |
Table of Contents |
Turbo PMAC User Manual
USING THIS MANUAL
This is the User Manual for the Turbo PMAC family of motion and machine controllers from Delta Tau Data Systems, Inc. The Turbo PMAC family combines power, flexibility, and ease of use in a wide variety of configurations to provide optimal solutions for machine builders.
What is in this Manual
This manual contains a step-by-step guide to setting up the Turbo PMAC application, starting with the overall system configuration, moving on to the setup of the individual motors and the grouping of the motors into coordinate systems, followed by the writing of motion programs, PLC programs, and host communications programs.
The User Manual is divided into sections that are put in the order that most new users will need during the basic setup of their application. In the later stages of development, the typical user will be going back and forth in this manual for more detailed information about particular subjects of interest.
Other Manuals to Use
Other manuals should be consulted during the development of the Turbo PMAC project. The most important of these manuals are listed below:
•Turbo PMAC Software Reference Manual
•Hardware Reference Manuals
•UMAC Quick Reference Guide
•PMAC Executive Program Manual
•Software Development Package Manuals
The Software Reference Manual for the Turbo PMAC family of controllers contains detailed descriptions of all commands and setup variables, listed in alphabetical or numerical order for easy reference. It also contains a detailed memory and I/O map for the Turbo PMAC family, plus suggested M-variable pointer definitions and a list of updates to the Turbo PMAC embedded firmware.
If there is a specific question about the implementation of a particular Turbo PMAC setup variable, command, or register, consult the appropriate section of the Software Reference Manual for the quickest answer.
A particular Turbo PMAC hardware configuration will have its own Hardware Reference Manual for the controller, and any accessories will each have its own Hardware Reference (User) Manual. These will be among the first manuals to consult, because they explain how to configure and install the Turbo PMAC.
New users of the UMAC rack-mounted configuration of the Turbo PMAC family will want to consult the UMAC Quick Reference Guide. This guide provides a good overview of the hardware and software setup for the UMAC and its accessories, so less use is required of the more detailed manuals.
Virtually all users will utilize a PMAC Executive program on a PC to start the development, even if there will not be a PC in the final application. The most commonly used Executive program as of this writing is Pewin32 Pro (PMAC Executive program for 32-bit Windows, Pro Suite). While the installation and use of this program suite is very intuitive and in accordance with industry standards, consult the manual for this package.
Using this Manual |
1 |
Turbo PMAC User Manual
Actually, the Pewin32 Pro package is a suite of software programs, including step-by-step tutorial setup programs, tuning programs (interactive and auto-tuning), and plotting programs.
The Pewin32 Pro suite automates or simplifies many of the setup steps that are explained in detail for low-level setup in this manual. Utilize the Pro Suite tools for automated setup wherever possible.
Delta Tau offers several software development packages to enable the quick and easy development of front-end software for communications with the Turbo PMAC and interface with the machine operator. Each of these packages has its own manual.
The two most commonly used packages are the PComm32 Pro (PMAC Communications Library for 32bit Windows, Pro suite) library of communications routines, and the PHMI (PMAC Human-Machine Interface) GUI development package.
2 |
Using this Manual |
Turbo PMAC User Manual
TURBO PMAC FAMILY
The Turbo PMAC family of controllers is the newest generation of motion and machine controllers from Delta Tau Data Systems. It is available in a wide variety of configurations, permitting the user to optimize the controller hardware and software to particular application needs. This section provides a brief overview of the Turbo PMAC structure; all items mentioned here are covered in more detail elsewhere in the User Manual or in related reference manuals.
Turbo PMAC vs. Non-Turbo PMAC
The Turbo PMAC family of controllers is the next generation after the original PMAC family of controllers, differing only in having a faster and more powerful CPU section, but able to maintain the same interface circuitry. Indeed, in some configurations it is possible to remove the old non-Turbo PMAC CPU board from a controller and install the Turbo PMAC CPU as a field upgrade.
The Turbo PMAC family retains the same capabilities and programming styles as the original PMAC family, but adds important new capabilities as well. These new capabilities are fully listed in a section of the Software Reference manual, and detailed in the appropriate sections of the User Manual and Software Reference; highlights are listed here:
•32-motor capability vs. 8-motor
•16-coordinate-system capability vs. 8-coordinate-system
•Forward and inverse kinematic algorithms
•Standard multi-move lookahead algorithms
•32,768 user variables vs. 4096
•Simultaneous communication over multiple ports
Turbo PMAC vs. Turbo PMAC2
As with the original PMAC family, Turbo PMACs can come as Turbo PMAC or Turbo PMAC2 controllers. The difference is due to the nature of the “core” servo-interface ICs and in a few aspects of the firmware used to set them up. Fundamentally, PMAC2-style Servo ICs permit programmable configuration of the frequency of the key clock signals that drive the hardware and software processes on the controllers; PMAC-style Servo ICs do not.
Unlike the older non-Turbo PMACs, it is possible to mix PMAC-style and PMAC2-style Servo ICs in a single Turbo PMAC system. The Turbo PMAC CPU will automatically recognize which types of ICs are present, and configure the setup I-variables appropriately.
In this documentation, Turbo PMAC refers generically to both Turbo PMAC and Turbo PMAC2 controllers. Turbo PMAC and Turbo PMAC2 refer specifically to one type of controller. If a specific product name (e.g. Turbo PMAC-PC) does not specify 1 or 2, it is a PMAC controller.
Turbo PMAC is a Computer
It is important to realize that Turbo PMAC is a full computer in its own right, capable of standalone operation with its own stored programs. Furthermore, it is a real-time, multitasking computer that can prioritize tasks and have the higher priority tasks pre-empt those of lower priority (most personal computers are not capable of this).
Even when used with a host computer, the communications should be thought of as those from one computer to another, not as computer to peripheral. In these applications, Turbo PMAC’s ability to run multiple tasks simultaneously, properly prioritized, can take a tremendous burden off the host computer (and its programmer), both in terms of processor time, and of task-switching complexity.
Turbo PMAC Family Overview |
3 |
Turbo PMAC User Manual
What Turbo PMAC Does
Turbo PMAC can handle all of the tasks required for machine control, constantly switching back and forth between the different tasks thousands of times per second. The major tasks involved in machine control are summarized here.
The most obvious task of Turbo PMAC is executing sequences of motions given to it in a motion program. When told to execute a motion program, Turbo PMAC works through the program one move at a time, performing all the calculations up to that move command (including non-motion tasks) to prepare for actual execution of the move. Turbo PMAC is always working ahead of the actual move in progress, so it can blend properly into the upcoming move, if required. See the Writing a Motion Program section for more details.
The sequential nature of motion program suits it well for commanding a series of moves and other coordinated actions; however these programs are not good at performing actions that are not directly coordinated with the sequence of motions. For these types of tasks, Turbo PMAC provides the capability for users to write “PLC programs.” These are named after Programmable Logic Controllers because they operate in a similar manner, continually scanning through their operations as fast as processor time allows. These programs are very useful for any task that is asynchronous to the motion sequences. See the Writing a PLC Program section for more details.
In an automatic task that is essentially invisible to the Turbo PMAC user, Turbo PMAC performs a servo update for each motor at a fixed frequency (usually around 2 kHz). The servo update for a motor consists of incrementing the commanded position (if necessary) according the equations generated by the motion program or other motion command, comparing this to the actual position as read from the feedback sensor, and computing a command output based on the difference. This task occurs automatically without the need for any explicit commands. See the Setting up the Servo Loop section for more details.
If Turbo PMAC is requested to perform the commutation for a multiphase motor, it will perform commutation updates automatically at a fixed frequency (usually around 9 kHz). The commutation, or phasing, update for a motor consists of measuring and/or estimating the rotor magnetic field orientation, then apportioning the command that was calculated by the servo update among the different phases of the motor. This task occurs automatically without the need for any explicit commands. See the Setting up Commutation section for more details.
Turbo PMAC regularly and automatically performs housekeeping tasks that make sure the system is in good working order. These tasks include the safety checks, such as following error limits, hardware overtravel limits, software overtravel limits, and amplifier faults, plus general status updates. They also include the update of the watchdog timer. If any problem in hardware or software keeps these tasks from executing, the watchdog timer will trip, and the card will shut down. See the Making an Application Safe section for more details.
Turbo PMAC can communicate with one or more host computers at any time, even in the middle of a sequence of motions. Turbo PMAC will accept a command, and take the appropriate action – putting the command in a program buffer for later execution, providing a data response to the host, starting a motor move, etc. If the command is illegal, it will report an error to the host.
4 |
Turbo PMAC Family Overview |
Turbo PMAC User Manual
These tasks are ordered in a priority scheme that has been optimized to keep applications running efficiently and safely. While the priority levels are fixed, the frequency at which various tasks are performed is under user control. See Computational Features for more details.
Key Hardware Components
A Turbo PMAC controller is a combination of a computer processor section and specialized interface circuitry for motion, I/O, and communications. Different configurations of Turbo PMAC controllers provide different combinations of these components. The following block diagram shows the basic possibilities for combinations of the concepts in PMAC and Turbo PMAC control systems.
PMAC Family Main Components
I/O Interface
Circuitry
yPMAC(1)-style
yPMAC2-style
Serial Communications
Interface
yRS-232 and / or
yRS-422
CPU
yNon-Turbo: DSP5600x (16-bit addressing)
yTurbo: DSP5630x (24-bit addressing)
Bus Communications
Interface
yISA / VME / PCI
yPC104 / STD
yUSB
yETHERNET (optional DPRAM)
Servo Interface
Circuitry
yPMAC(1)–style ICs
yPMAC2–style ICs
yPMAC(1)–style connectors
yPMAC2–style connectors
yMini / Lite / (full)
MACRO Ring
Interface
yPMAC2 Ultralite
yACC-24P
yACC-5E (UMAC)
The computer portion of a Turbo PMAC is often called the CPU (central processing unit). It consists of a microprocessor, memory, and associated support circuitry. In most Turbo PMAC configurations, the CPU is on a separate circuit board from the interface circuitry – a piggyback board on top of expansionslot controllers, or a dedicated board in the case of the rack-mounted UMAC controllers. However, in the Lite and Ultralite controllers, this circuitry is integrated into the main circuit board.
Turbo PMAC controllers use a processor from Motorola’s DSP56300 family of digital signal processors (DSPs). A DSP is a special type of microprocessor optimized for fast and repeated mathematical operations of the type found commonly in audio, video, and motion control. They provide a more costeffective solution to these specific types of computations than do general-purpose microprocessors.
Different members of the DSP56300 family are used depending on the CPU option ordered for the Turbo PMAC.
Turbo PMAC Family Overview |
5 |
Turbo PMAC User Manual
•Option 5Cx (the x specifies the external memory size – see below) provides an 80 MHz DSP56303 with 8k 24-bit words of internal memory. This is the default processor.
•Option 5Dx provides a 100 MHz DSP56309 with 34k 24-bit words of internal memory.
•Option 5Ex provides a 160 MHz DSP56311 with 128k 24-bit words of internal memory. These options require firmware revision V1.939 or newer.
•Option 5Fx (expected release in 3rd quarter 2003) provides a 240 MHz DSP56321 with 192k 24-bit words of internal memory. These options require firmware revision V1.940 or newer.
Not all of these options are available in all Turbo PMAC configurations.
Note:
Just because a processor is capable of operating at a particular frequency does not mean that it will actually be operating at that frequency. The value of Turbo PMAC variable I52 at power-up/reset controls what the operating frequency of the processor will be: 10 MHz * (I52+1). The default value of I52 is 7, for 80 MHz operation, regardless of the CPU speed option ordered. The TYPE command will show the frequency at which the CPU is actually operating.
To locate the CPU part number, issue the CPU on-line command. Turbo PMAC will respond with the part number (e.g. 56311). Internally, global status bits X:$000006 bit 21 and Y:$000006 bit 21 (part of the ??? global status query word) indicate which type of CPU is present.
Turbo PMAC uses static RAM (SRAM) ICs for its active memory. This type of RAM is faster and more robust than the dynamic RAM (DRAM) that forms the bulk of the PC’s memory. (SRAM ICs are used for the PC’s fast cache memory bank.)
As with any RAM ICs, the contents of these SRAM ICs (as well as memory registers internal to the DSP, and memory-mapped registers in the ASICs) are lost when power is removed. Settings that should be retained through a power-down must first be copied to non-volatile flash memory with the SAVE command.
The Motorola DSPs employ a Harvard architecture, which uses separate memory banks for program (compiled or assembled machine code instructions) storage and data (everything else, including interpreted program commands) storage. This is in contrast to the more common von Neumann architecture that the PC uses, in which any memory can be used for program or data storage.
The standard memory configuration for a Turbo PMAC (Option 5x0, where “x” specifies the CPU speed, as explained above) provides 128k 24-bit words of program memory, and 128k 24-bit words (organized as 64k 48-bit words) of data memory, in addition to what is internal to the DSP. This is the default configuration. With the standard memory configuration, the total addressable memory is the sum of memory internal to the DSP and the external memory in the SRAM ICs; getting a DSP with more internal memory adds to your total memory capacity.
If the extended memory configuration is ordered (Option 5x3), the Turbo PMAC comes with a total of 512k 24-bit words of program memory, and 512k 24-bit words (organized as 256k 48-bit words) of data memory. With the extended memory configuration, the total addressable memory is limited by the addressing space of the DSP; getting a DSP with more internal memory does not add to the total memory capacity (although it does substitute faster internal memory for slower external memory).
6 |
Turbo PMAC Family Overview |
Turbo PMAC User Manual
Status variable I4908 contains the address of the next register past last word of unreserved data memory. If no UBUFFER has been defined, this is the address one greater than the last word of data memory. With the standard memory configuration, no UBUFFER is defined on re-initialization. With the extended memory configuration, a UBUFFER of 65,536 words – from X/Y:$030000 - $03FFFF – is defined automatically on re-initialization.
Turbo PMAC’s non-volatile memory storage is contained in a flash-memory IC. Flash-memory ICs retain their contents without applied power. However, they are relatively slow in access times, so Turbo PMAC does not use the flash IC in ongoing operation. Instead, during power-up/reset, it copies the contents of the flash memory into fast SRAM so the processor can access it quickly. The flash memory is only written to upon a SAVE command, or when new firmware is downloaded.
The flash memory provides non-volatile storage for both the firmware created by Delta Tau, and the programs, variable values, and other settings created by the user. The flash memory IC is sized depending on the active memory capacity so as to be able to store the entire contents of the active memory. Status variables I4904 and I4909 both contain information as to what size of flash memory is present.
Copying user settings to flash memory with the SAVE command takes several seconds during which some other tasks, including several safety checks, are not performed; this should not be done while the machine is in actual operation. As Turbo PMAC is copying saved data from flash memory to active SRAM during a power-up/reset, it is evaluating the checksum of this data and comparing it to the checksum calculated during the last SAVE operation. If there is a discrepancy, it will revert the settings in active memory to factory default values, as if the card had been re-initialized, and set the Flash Read Error (a.k.a. “EAROM error) status bit at X:$000006 bit 21, part of the ??? global status query word.
If Option 16A is ordered, the Turbo CPU section is provided with an additional bank of 32k 24-bit words (mapped as 16k 48-bit words) of data-memory SRAM that is battery-backed (BBRAM) and can be used for parameter storage. Typically, this memory bank is used to store machine-state information without the need for a lengthy SAVE command.
The low-power SRAM that can be powered from batteries for lengthy periods is slower than the SRAM ICs used for the main memory, so the user should be aware that significant use of this memory bank might incur a noticeable computational speed penalty. P-variable and/or Q-variable storage can be moved from fast main memory to the battery-backed memory by changing I46 from its default value of 0. This provides automatic retention of the variable values at the cost of slower access. More commonly, registers in the BBRAM are just accessed with M-variable as pointers. BBRAM registers start at X/Y:$050000.
Although the expected average battery life for the lithium battery that retains this memory is five years or more, a yearly replacement schedule is recommended. There is a super-capacitor capable of retaining the contents of the memory for several minutes without the battery, so a battery change can be done without power applied to the controller.
Turbo PMAC register X:$00003F contains the address of the end register of BBRAM. It will report a value of $050000 if there is no BBRAM present. It will report a value of $054000 if the Option 16A BBRAM is present. It will report a value of $060000 if extended BBRAM is present (Turbo PMAC designs support this but it is not being sold at this time).
Turbo PMAC Family Overview |
7 |
Turbo PMAC User Manual
The Turbo PMAC CPU communicates to the physical machine through several types of special ICs that have memory-mapped registers for easy processor access, and application-specific circuitry for the machine interface. The most common of these are the Servo ICs, the MACRO ICs, and the I/O ICs, application-specific ICs (ASICs) designed by Delta Tau and manufactured in gate array technology to create a full feature set in a cost-effective manner.
The Servo ICs contain all of the digital logic to provide the interface between the CPU and the motion (servo or stepper) channels. Each Servo IC provides the interface to four motion channels. There are presently two types of Servo ICs, one supporting the older PMAC-style interface (analog amplifier interface only), and the other supporting the newer PMAC2-style interface (analog or digital amplifier interfaces).
Servo Channels: Servo channels are a hardware structure in Turbo PMAC systems, a set of interfaces and registers in the Servo ICs and surrounding systems. A channel consists of the interface and registers for a single amplifier, encoder, and set of flags. While these channels are usable by Turbo PMAC motors, axes, and coordinate systems (which are software structures – see Key Software Components below) for various purposes, they can exist independently of any of those structures.
Reporting Servo ICs Present: Turbo PMAC variable I4900 reports how many Servo ICs are present, and at which addresses. I4901 reports which type each Servo IC is. The following table shows which Servo ICs can be present, their addresses, and the I-variables used to configure them:
Servo IC # |
Base Address |
I Variables |
Servo IC # |
Base Address |
I Variables |
0 |
$078000 |
I7000 – I7049 |
5 |
$079300 |
I7500 – I7549 |
1 |
$078100 |
I7100 – I7149 |
6 |
$07A200 |
I7600 – I7649 |
2 |
$078200 |
I7200 – I7249 |
7 |
$07A300 |
I7700 – I7749 |
3 |
$078300 |
I7300 – I7349 |
8 |
$07B200 |
I7800 – I7849 |
4 |
$079200 |
I7400 – I7449 |
9 |
$07B300 |
I7900 – I7949 |
Servo ICs 0 and 1 are on board a board-level Turbo PMAC or in a 3U-format stack. Servo ICs 2 through 9 are accessed through the expansion port, either the UMAC’s UBUS backplane expansion port, or a board-level Turbo PMAC’s JEXP cable expansion port, on an Acc-24x axis board, or an Acc-51x interpolator board.
PMAC-Style DSPGATE ASIC: The PMAC-style Servo IC is labeled the DSPGATE. It is a 4-channel part with 32 memory-mapped registers. Each channel supports the following features:
•Serial output for 16-bit digital-to-analog converter
•Input for digital quadrature or pulse-and-direction feedback with index
•Four input flags (home, +/-limit, amp-fault) that can trigger hardware encoder capture
•Amplifier-enable output
•Hardware position-compare output
•Input from 16-bit analog-to-digital converter (from accessory board)
8 |
Turbo PMAC Family Overview |
Turbo PMAC User Manual
|
|
|
|
|
|
|
HOME 1- |
||
|
|
|
|
PMAC |
|
|
+LIMIT 1- |
||
|
|
|
|
|
|
-LIMIT 1- |
|||
|
|
|
|
CUSTOM |
|
|
FAULT 1- |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AENA 1-4 |
|
|
|
SELECTABLE-FREQUENCY CLOCK INPUTS |
|
|
LD |
EQU 1-4 |
|||
|
|
|
|
|
|
||||
|
|
ENCODER |
|
|
|
|
DAC 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SAMPLE |
SERVO |
PHASE |
|
|
|
|
|
|
|
|
|
|
|
|
LD |
|
|
|
|
|
|
|
|
|
DAC 2 |
|
4 |
|
|
|
|
|
|
|
|
|
ANALOG |
|
|
|
|
|
INPUT |
|
|
OUTPUTS. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FLAG |
FLAGS |
|
LD |
|
16 BIT |
|
|
|
|
|
|
DAC 3 |
RESOLUTION |
||
|
A |
|
|
CONTROL |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
B |
ENCODER 1 |
|
|
OUTPUT |
|
|
|
|
|
C |
|
|
|
|
|
|
||
|
|
|
|
FLAGS |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SERIAL |
|
LD |
|
|
|
A |
|
DAC SHIFT REGISTERS (4) |
DATA OUT |
|
DAC 4 |
|
|
|
|
B |
ENCODER 2 |
|
|
|
|
|||
|
|
|
|
|
|
||||
|
C |
|
|
|
|
|
|
|
|
4 |
|
|
|
|
OPTO |
|
|
|
|
|
|
|
|
|
|
|
|
||
ENCODER |
|
|
|
|
|
|
|
|
|
|
|
DSP-GATE |
|
ISOLATION |
|
|
|
||
INPUTS |
A |
|
|
|
|
|
|||
|
|
|
|
1 |
|
||||
|
B |
ENCODER 3 |
|
|
SERIAL |
|
|
|
|
|
|
|
|
|
|
4 |
|||
|
C |
|
|
|
DATA IN |
ADC |
|
2 |
|
|
|
|
ADC SHIFT REGISTERS (4) |
MUX |
ANALOG |
||||
|
|
|
|
16 BIT |
|
INPUTS |
|||
|
A |
|
|
|
|
|
3 |
||
|
|
|
|
|
|
|
4 |
|
|
|
B |
ENCODER 4 |
|
|
|
|
|
|
|
|
C |
|
|
|
|
|
|
|
|
|
|
|
|
CLOCK |
|
|
|
|
|
|
|
|
|
ANALOG |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CONTROL |
|
|
|
|
|
|
|
ENCODER |
|
|
MUX |
ACCESSORY BOARD |
|
|
|
|
|
CONTROL |
|
|
CONTROL |
|
|
||
|
|
|
|
|
|
|
|
||
|
|
24-BIT |
16-BIT |
|
|
|
|
|
|
|
|
DATA BUS |
ADDRESS BUS |
|
|
|
|
|
The PMAC-style DSPGATE IC is provided on the following Turbo PMAC products:
•Turbo PMAC PC
•Turbo PMAC VME
•Turbo PMAC PCI
•Turbo PMAC PCI Lite
•Acc-24P ISA-Format Axis-Expansion Board
•Acc-51P ISA-Format Interpolator Board
PMAC2-Style DSPGATE1 ASIC: The PMAC2-style Servo IC is labeled the DSPGATE1. It is a 4- channel part with 64 memory-mapped registers. Each channel supports the following features:
•Three output command signal sets, configurable as either:
•Two serial data streams to digital-to-analog converters of up to 18 bits, and one pulse-and- direction pair, or
•Three pulse-width-modulated (PWM) top and bottom pairs
•Input for digital quadrature with index, pulse-and-direction, or MLDT feedback
•Four input flags (home, +/-limit, user) that can trigger hardware encoder capture
•Amplifier-fault input
•Four supplemental input flags (T, U, V, W) for hall commutation sensors, sub-count data, fault codes, or general use
•Amplifier-enable output
•Hardware position-compare output
•Input from two analog-to-digital converters of up to 18 bits (from amplifier or accessory board)
Turbo PMAC Family Overview |
9 |
Turbo PMAC User Manual
The DSPGATE1 IC also has on-board software-configurable clock generation circuitry. It can generate the servo and phase clocks for the entire Turbo PMAC system (only one IC will do this; the others will accept these as inputs). It also generates the clock signals that drive its own circuitry: DAC, ADC, PWM and PFM (pulse-frequency-modulation).
PMAC2 Gate Array IC
“DSPGATE1”
3 |
Encoder 1 |
Output1 A,B,C |
6 |
|
9 |
Flag 1 |
ADCIN1 A,B |
2 |
|
2 |
||||
|
|
|
||
3 |
Encoder 2 |
Output2 A,B,C |
6 |
|
9 |
Flag 2 |
ADCIN2 A,B |
2 |
|
2 |
||||
|
|
|
||
3 |
Encoder 3 |
Output3 A,B,C |
6 |
|
9 |
Flag 3 |
ADCIN3 A,B |
2 |
|
2 |
||||
|
|
|
||
3 |
Encoder 4 |
Output4 A,B,C |
6 |
|
9 |
Flag 4 |
ADCIN4 A,B |
2 |
|
2 |
||||
|
|
|
||
|
Encoder/Flag |
Output/ADCIN |
2 |
|
|
Status & Control |
Control |
||
2 |
Clock, PLL |
|
|
24-bit |
6-bit |
DATA BUS |
ADDRESS BUS |
The PMAC2-style DSPGATE1 IC is provided on the following Turbo PMAC products:
•Turbo PMAC2 PC
•Turbo PMAC2 VME
•Turbo PMAC2 PCI
•Turbo PMAC2 PCI Lite
•Acc-24P2 ISA-format Axis Expansion Board
•Acc-24E2 UMAC PWM Axis Board
•Acc-24E2A UMAC Analog Axis Board
•Acc-24E2S UMAC Encoder/Stepper Board
•Acc-51E UMAC Interpolator Board
•Acc-24C2 UMAC-CPCI PWM Axis Board
•Acc-24C2A UMAC CPCI Analog Axis Board
•Acc-51C UMAC CPCI Interpolator Board
•Acc-2E 3U-Format Stack Axis Board
The Turbo PMAC has two types of ASICs that support communication over the MACRO ring, the openarchitecture high-speed real-time communications ring that Delta Tau developed to simplify connection of distributed control hardware.
10 |
Turbo PMAC Family Overview |
Turbo PMAC User Manual
Turbo PMAC variable I4902 reports how many MACRO ICs are present, and at which addresses. I4903 reports which type each MACRO IC is, a DSPGATE2 or a MACROGATE (see below). Variables I20 – I23 specify the addresses of the four MACRO ICs that are automatically configured with I-variables. The following table summarizes this configuration:
MACRO IC # |
I Variables |
Usual Base Address |
Usual Type |
0 |
I6800 – I6849 |
$078400 |
DSPGATE2 |
1 |
I6850 – I6899 |
$079400 |
MACROGATE |
2 |
I6900 – I6949 |
$07A400 |
MACROGATE |
3 |
I6950 – I6999 |
$07B400 |
MACROGATE |
DSPGATE2 MACRO IC
The DSPGATE2 IC provides both MACRO-ring functions and general-purpose I/O functions. The I/O functions are described in the next section. For the MACRO ring, the DSPGATE2 provides a 16-node bidirectional interface. Of these nodes, eight can be used as servo nodes, each of which can transfer all of the command and feedback data required for the servo and commutation of a motor. Six of the nodes can be used for general-purpose I/O, each node supporting 72 bits of hard real-time I/O in each direction. Two of the nodes are for non-real-time communications, including broadcast mode in which a master controller can talk to all of its slave devices simultaneously.
Turbo PMAC2 Ultralite controllers come standard with a single DSPGATE2 IC, for a 16-node MACRO interface. The UMAC Acc-5E also comes standard with a single DSPGATE2 IC.
MACROGATE MACRO IC
The MACROGATE IC provides the same 16-node MACRO-ring interface as does the DSPGATE2 IC, but it does not have the I/O capability of a DSPGATE2. Subsequent optional MACRO ICs (Options 1U1, 1U2, and 1U3) on a Turbo PMAC2 Ultralite are MACROGATE ICs.
I/O ICs
The Turbo PMAC CPU accesses general-purpose digital I/O through a variety of I/O interface ICs. On Turbo PMAC boards, these are modern equivalents of the classic 8255 IC design originally made by Intel. These ICs are addressed by a Turbo PMAC CPU at Y:$078800 – Y:$078803.
On Turbo PMAC2 boards, and UMAC I/O boards, these are Delta Tau-designed I/O ASICs, as described below.
DSPGATE2 I/O IC
The DSPGATE2 IC provides both MACRO-ring functions and general-purpose I/O functions. The MACRO functions are described in the previous section. Each board-level Turbo PMAC2 board and the UMAC’s Acc-5E board use the DSPGATE2 to support the non-servo I/O ports. These ports are:
•The JTHW multiplexer port
•The JIO general-purpose I/O port
•The JDISP display port
•The JHW handwheel port
The DSPGATE2 IC on a board-level Turbo PMAC2 is addressed at Y:$078400 – Y:$07843F. On a UMAC Acc-5E board with the address DIP-switches in the default configuration, the DSPGATE2 IC is addressed at this same location.
Turbo PMAC Family Overview |
11 |
Turbo PMAC User Manual
IOGATE I/O IC
The IOGATE IC is used to access general-purpose digital I/O on most of the UMAC I/O boards. It provides 48 I/O points, addressed as 6 bytes in consecutive registers. Different boards use different buffers and drivers around the IOGATE to provide the specific I/O features desired. While on the IOGATE itself, each I/O point is individually selectable as to direction, on most of the I/O boards, each point’s direction is fixed by the external circuitry for that point. The IOGATE must be set up at poweron/reset to support the particular direction configuration of the board it is used on.
Potentially, up to 16 boards with the IOGATE or similar ICs can be installed in a UMAC system. The following table shows the possible addresses of these boards:
DIP |
Base |
DIP |
Base |
DIP |
Base |
DIP |
Base |
Switch |
Address |
Switch |
Address |
Switch |
Address |
Switch |
Address |
0 |
$078C00 |
4 |
$079C00 |
8 |
$07AC00 |
12 |
$07BC00 |
1 |
$078D00 |
5 |
$079D00 |
9 |
$07AD00 |
13 |
$07BD00 |
2 |
$078E00 |
6 |
$079E00 |
10 |
$07AE00 |
14 |
$07BE00 |
3 |
$078F00 |
7 |
$079F00 |
11 |
$07AF00 |
15 |
$07BF00 |
Turbo PMAC controllers provide multiple communications ports. These ports can be used simultaneously, permitting the use of a second port for debugging while the primary port is used in the actual application, or of a second port for an operator pendant.
Each configuration of the Turbo PMAC supports a bus port for fast parallel communications. These utilize the host port on the DSP, and optionally dual-ported RAM for communications through shared memory. The buses can be either the traditional backplane buses, or the newer wire buses.
The backplane buses currently supported are:
•ISA (or the PC/104 stack version)
•PCI
•VME
The wire buses currently supported are:
•USB (1.1 or 2.0)
•Ethernet (TCP/IP or UDP/IP protocols) at 10 Mbps
Turbo PMACs also support serial-port communications, always with a single serial port, optionally with a second serial port as well.
Main Serial Port
Turbo PMAC controllers always come with a standard serial communications port. In most configurations, this port can be used with either RS-232 signal format, or RS-422 signal format, jumper selectable. Even if there are separate connectors for the two signal formats, this is a single port; only one of the connectors can be used at a time.
Optional Auxiliary Serial Port
If the Option 9T is ordered, a second serial port, always at RS-232 levels, is provided. This port can be used for general communications. It is possible to turn off the command parser for this port by setting variable I43 to 1, so Turbo PMAC does not try to interpret incoming characters as commands, making it possible for the user to parse incoming data as he pleases. This port is required for setup and diagnostics if the IEC-1131 PMAC Ladder programs are used.
12 |
Turbo PMAC Family Overview |
Turbo PMAC User Manual
Key Software Components
In any application, the Turbo PMAC will have software components provided both by Delta Tau and by the user. The Delta Tau software components are known as the firmware (software embedded in the hardware). These are not application-specific. The user software components – primarily motion programs and PLC programs – are application-specific.
The operational firmware of the Turbo PMAC serves as both the operating system for the controller and as the PMAC-language interpreter. As an operating system, it provides a hard-real-time multi-tasking environment with extremely fast task switching, providing a very high level of determinism for the highpriority tasks such as servo-loop closure. It also handles the sequencing of operations within motion programs automatically, so this sequencing of move-by-move operations does not have to be handled by the user.
Typically, the operational firmware is updated once or twice a year to add new features and to fix problems. Field upgrades of the firmware are easy to perform. Simply power up the Turbo PMAC with the firmware reload jumper installed, and then launch the PMAC Executive program on the PC. The Executive program will notice automatically that the Turbo PMAC is ready to install new firmware and query for the file to be downloaded. It will download the new firmware automatically from the specified file into the Turbo PMAC.
The operation of the bootstrap firmware is invisible to virtually all Turbo PMAC users. Its function is very similar to that of a PC’s BIOS, providing a link between the hardware and the operating system, and permitting the operating system to load. While Delta Tau may upgrade the bootstrap firmware from time to time (and each new hardware configuration of the CPU may require a different variation of the bootstrap firmware), Delta Tau does not support the field upgrade of the bootstrap firmware.
In normal operation, the bootstrap firmware operates invisibly underneath the operational firmware, automatically loading the operational firmware on top of it at each power-up/reset. However, if the Turbo PMAC is powered up or reset with the firmware-reload jumper on, the operational firmware will not be loaded from flash memory, and the host computer can communicate directly with the bootstrap firmware (through the main serial port or a bus that uses the CPU’s host port only). If the operational firmware has not been loaded, Turbo PMAC’s response to the ?, ??, or ??? status query command is BOOTSTRAP
PROM.
Motors, axes, and coordinate systems are software structures in a Turbo PMAC system. While they usually utilize hardware channels to interface to the outside world, it is possible to use them as virtual structures, just for their computational features.
A motor in Turbo PMAC consists of the software structures necessary for basic moves, commandedposition interpolation, servo-loop closure, commutation, and current-loop closure. Every Turbo PMAC has the capability for executing the algorithms for 32 motors, even if only a few servo channels are provided. These motors are specified by number (1 through 32), and their attributes are specified in terms of raw “counts”, milliseconds, and related units.
A Turbo PMAC motor accesses hardware-channel functions for its various input and output needs through setup I-variables that contain the address of the register to be used. This mapping functionality provides great power and flexibility in a simple manner.
Turbo PMAC Family Overview |
13 |
Turbo PMAC User Manual
Generally, motions in a Turbo PMAC system are commanded through the use of axes. An axis in Turbo PMAC consists of the software structures for programmed moves. Axes are specified by letter (A, B, C, U, V, W, X, Y, and Z), and their attributes are specified in terms of user-specified units (e.g. millimeters, inches, degrees, seconds, minutes).
Axes are assigned to motors through axis definition statements or kinematic subroutines. While there is usually a one-to-one mapping between axes and motors (e.g. Motor 1 assigned to the X-axis and Motor 2 assigned to the Y-axis), this does not have to be the case. Multiple motors can be assigned to a single axis, as in a gantry configuration; there can be no motors assigned to an axis, creating a virtual axis; or there can be a complex relationship of multiple motors to multiple axes in a kinematic algorithm.
An axis belongs to a coordinate system (see below). Up to 9 axes may be used in a single coordinate system, one of each letter name.
The coordinate system is Turbo PMAC’s structure for achieving tightly coordinated motion of multiple motors. Turbo PMAC supports up to 16 separate coordinate systems. A motor is assigned to an axis in a particular coordinate system. Multiple axes in the same coordinate system that are commanded on the same line of a motion program are automatically coordinated.
To make the motion of more than one motor coordinated, assign them to axes in the same coordinate system. To have independent motion of motors (i.e. starting stopping, and changing speeds at arbitrary times with respect to each other, assign the motors to axes in separate coordinate systems.
Turbo PMAC users can install several types of programs into the controller, each type with a specific purpose.
Turbo PMAC motion programs provide an easy way to specify sequences of coordinated motion and the execution of any calculations that are synchronous with the programmed motions. The motion program language combines features of the RS-274 standard G-code machine-tool programming language, which is good for specifying sequences of coordinated motion, and BASIC, which is good for the associated math and logic.
PLC programs in Turbo PMAC are intended for actions and calculations that are asynchronous to the programmed motion. PLC programs repeatedly scan in the fashion of regular programmable logic controllers. They can be used for I/O control as a dedicated PLC would be, but because they have direct access to all registers in Turbo PMAC, they have many other uses as well.
Turbo PMAC programs can either be written in a BASIC-like text language, or in IEC-1131 ladder logic or sequential function charts (extended memory option and special PC software required). Text PLC programs can be run either as interpreted code, or as compiled code for greater efficiency. See the User Manual section on PLC programs for more details.
Virtually all users will be able to utilize Turbo PMAC’s built-in servo-loop-closure and phasecommutation algorithms. However, it is possible for the user to install custom algorithms for either or both of these to accomplish tasks not possible with the standard algorithms. Some people will use these algorithms simply for high-speed, high-priority I/O or calculations by activating them on an otherwise unused motor.
User-written servo algorithms can be written either in the high-level PMAC language (for ease of use) or in DSP56300 assembly language (for maximum efficiency). User-written phase algorithms must be written in assembly language. See the User Manual sections on commutation and servo loops for details.
14 |
Turbo PMAC Family Overview |