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:
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 directly exposed to hazardous or conductive materials and/or
environments, we cannot guarantee their operation.
Description of PMAC................................................................................................................................................1
Types of PMAC ........................................................................................................................................................2
PMAC PC or PMAC VME Features.....................................................................................................................2
PMAC PC .............................................................................................................................................................2
PMAC Lite ............................................................................................................................................................2
Turbo PMAC Family ............................................................................................................................................4
PMAC Connectors and Indicators.............................................................................................................................5
Display Port Outputs (JDISP Port)......................................................................................................................5
Control-Panel Port I/O (JPAN Port)....................................................................................................................5
Thumbwheel Multiplexer Port I/O (JTHW Port) ..................................................................................................5
Serial Port Connection .........................................................................................................................................5
General-Purpose Digital Inputs and Outputs (JOPTO Port)...............................................................................5
LED Indicators .....................................................................................................................................................5
Working with PMAC ................................................................................................................................................6
Single Character I/O.............................................................................................................................................8
Saving and Retrieving PMAC Parameters ..............................................................................................................15
The Watch and Position Windows ..........................................................................................................................15
Uploading and Downloading Files..........................................................................................................................15
Using MACRO Names and Include Files ...............................................................................................................15
Other Features .........................................................................................................................................................19
INSTALLING AND CONFIGURING PMAC .......................................................................................................21
Serial Connections...................................................................................................................................................21
Resetting PMAC for First Time Use ...................................................................................................................23
Power Supplies........................................................................................................................................................23
Digital Power Supply..........................................................................................................................................23
Analog Power Supply .........................................................................................................................................23
Table of Contents i
PMAC Quick Reference Guide
Flags Power Supply (Optional) ..........................................................................................................................24
Overtravel Limits and Home Switches....................................................................................................................24
Disabling the Overtravel Limits Flags ...............................................................................................................24
Types of Overtravel Limits..................................................................................................................................24
Home Switches....................................................................................................................................................25
PMACPack and PMAC2 Flag Inputs .................................................................................................................25
Checking the Flag Inputs....................................................................................................................................25
Motor Signals Connections .....................................................................................................................................26
Checking the Encoder Inputs..............................................................................................................................26
Checking the DAC Outputs.................................................................................................................................26
Amplifier Enable Signal (AENAx/DIRn).............................................................................................................27
Amplifier Fault Signal (FAULTn).......................................................................................................................28
General-Purpose Digital Inputs and Outputs (JOPTO Port).............................................................................28
User Buffer Storage Space..................................................................................................................................38
Further Position Processing...............................................................................................................................39
PMAC Position Registers........................................................................................................................................40
Command and Send Statements..............................................................................................................................42
Writing a Motion Program ......................................................................................................................................45
Running a Motion Program.....................................................................................................................................46
Subroutines and Subprograms.................................................................................................................................47
Passing Arguments to Subroutines .....................................................................................................................48
G, M, T, and D-Codes (Machine-Tool Style Programs).....................................................................................48
Linear Blended Moves ............................................................................................................................................49
Other Programming Features ..................................................................................................................................58
Rotary Motion Program Buffers.........................................................................................................................58
Internal Time Base, the Feedrate Override ........................................................................................................58
ii Table of Contents
PMAC Quick Reference Guide
External Time Base Control (Electronic Cams) .................................................................................................59
Position Following (Electronic Gearing) ...........................................................................................................59
Position-Capture and Position-Compare Functions ..........................................................................................60
Learning a Motion Program...............................................................................................................................60
Entering a PLC Program .........................................................................................................................................62
PLC Program Structure ...........................................................................................................................................63
WHILE Loops.........................................................................................................................................................64
COMMAND and SEND Statements.......................................................................................................................64
Resetting PMAC to Factory Defaults......................................................................................................................67
The Watchdog Timer (Red LED)............................................................................................................................67
General ...............................................................................................................................................................68
Bus Communications ..........................................................................................................................................69
Serial Communications.......................................................................................................................................69
Motor Parameters ....................................................................................................................................................69
APPENDIX B – PMAC I-VARIABLES SUMMARY............................................................................................75
APPENDIX C – PMAC ON-LINE (IMMEDIATE) COMMANDS......................................................................81
APPENDIX D – PMAC PROGRAM COMMAND SPECIFICATIONS.............................................................87
APPENDIX E – MOTOR SUGGESTED M-VARIABLE DEFINITIONS..........................................................91
APPENDIX F – I/O SUGGESTED M-VARIABLE DEFINITIONS....................................................................95
APPENDIX G – ACC-8D/8P PINOUT DESCRIPTIONS.....................................................................................99
Table of Contents iii
PMAC Quick Reference Guide
iv Table of Contents
PMAC Quick Reference Guide
INTRODUCTION
Description of PMAC
PMAC, pronounced Pe’-MAC, stands for Programmable Multi-Axis Controller. It is a family of highperformance servo motion controllers capable of commanding up to eight axes of motion simultaneously
with a high level of sophistication.
There are five hardware versions of PMAC: the PMAC PC, the PMAC Lite, the PMAC VME, the PMAC
STD and the PMAC Mini. These cards differ from each other in their form factor, the nature of the bus
interface, and in the availability of certain I/O ports.
• Motorola’s Digital Signal Processor (DSP) DSP56k is the CPU for PMAC and it handles all the
calculations for all eight axes.
• The registers in PMAC’s DSPGATE Gate-Array ICs are mapped into the memory space of PMAC’s
processor. Each DSPGATE contains four consecutively numbered channels; there may be up to four
DSPGATEs in a PMAC system, for up to 16 channels.
• There are two types of servo DSPGATE Gate-Array ICs: The PMAC type that allows only the
control of analog amplifiers with ±10V command signals and the PMAC2 type that is capable also of
digital direct PWM or stepper command signals.
• Each PMAC channel provided by a PMAC DSPGATE has one DAC output, one encoder input and
four dedicated flag inputs: two end-of-travel limits, one home input and one amplifier fault input.
• Any PMAC can control up to eight motors or axis as long as enough channels are provided. Every
PMAC contains one DSPGATE, which has channels 1 through 4 (PMAC Mini has only two
channels). If Option 1 is ordered (not available on PMAC Lite or PMAC Mini), a second DSPGATE
is provided, which has channels 5 through 8. If Acc-24 is ordered (not available on PMAC STD), a
third DSPGATE is provided which has channels 9 through 12. If Acc-24 Option 1 is ordered as well
(not available on PMAC STD), a fourth DSPGATE is provided, which has channels 13 through 16.
• PMAC has its own memory and microprocessor. Therefore, any version of PMAC may run as a
standalone controller or a host computer may command it either over a serial port or a bus port.
Introduction 1
PMAC Quick Reference Guide
Types of PMAC
PMAC PC or PMAC VME Features
Standard Features
Motorola DSP 56k digital signal processor Linear and circular interpolation
Four output digital-to-analog (DAC) converters 256 motion programs capacity
Four full encoder channels Asynchronous PLC program capability
16 general purpose I/O, OPTO-22 compatible Rotating buffer for large programs
Multiplexer port for expanded I/O 36-bit position range (+/- 64 billion counts)
Overtravel limit, home, amplifier fault/enable flags 16-bit DAC output resolution
Display port for LCD and VFD displays S-curve acceleration and deceleration
Bus and/or RS-422 control Cubic trajectory calculations, splines
Stand-alone operation Electronic gearing
G-code command processing for CNC Advanced PID servo motion algorithms
Optional Features
Up to 16 digital-to-analog (DAC) converters outputs Yaskawa absolute encoders inputs
Up to 16 full encoder channels Analog feedback inputs
8Kx16 dual-ported RAM MLDTs feedback inputs
Flash memory (no battery) Parallel binary feedback
40, 60 or 80 MHz CPU Optically isolated encoder inputs
Extended (pole-placement) servo algorithm RS-232 or RS-422 serial communication converters
Super-high accuracy clock crystal (<10 ppm) Analog-to-digital converted inputs
Voltage-to-frequency (V/F) converters On-board voltage to frequency converter
12-bit resolver-to-digital converter inputs Up to a total of 2048 multiplexed I/O points
Sinusoidal encoder feedback inputs Up to 100 meters remote I/O operation
PMAC PC
Recommended for applications with more than four channel requirements in either a PC based or stand
alone environment. More than four channels can be used for more than four motors operation, dualfeedback axis (two encoder input each) or commutated motors (two DACs each). For three or four
channels applications, the PMAC Lite board is suggested instead.
PMAC Lite
The PMAC Lite is recommended for applications with three or four channel requirements in either a PC
based or stand alone environment. The term Lite stands for the limitation of only one DSPGATE GateArray IC on board. The number of channels can always be expanded from 4 to 12 through the use of an
Acc-24P. The PMAC Lite board is provided also in a stand-alone box, the PMAC Pack, complete with
power supplies and connectors. For one or two channels applications, the PMAC Mini board is suggested
instead.
PMAC VME
With the same features as the PMAC PC, the PMAC VME is the only option for VME based
applications. The PMAC VME can be ordered with either four or maybe eight axes (Option 1). The dualported RAM option in a PMAC VME is on-board.
PMAC STD
With the same features as the PMAC PC, the PMAC STD is the only option for STD based applications.
The dual-ported RAM option is not available for the PMAC STD and it is limited to eight channels, no
Acc-24 is available for it.
2 Introduction
PMAC Quick Reference Guide
PMAC PC
PMAC VME
Turbo PMAC PC
PMAC Lite
PMAC STD
Turbo PMAC VME
PMAC Mini
PMAC Pack
Turbo PMAC2 3U
UMAC Turbo System
Turbo PMAC2 PC Ultralite
Turbo PMAC2 PC
PMAC Mini
The PMAC Mini is recommended for applications with one or two channel requirements in either a PC
based or stand alone environment.
The dual-ported RAM option in a PMAC Mini is on-board. Two extra full encoder channels (for a total
of four on-board) can be used for dual feedback applications or with the two optional voltage-tofrequency (V/F) converters, for stepper drivers or hybrid amplifiers control. There is no control panel
port or bus interrupt in the PMAC Mini board. The PMAC Mini board is provided also in a stand-alone
box, the Mini Pack, complete with power supplies and connectors.
Introduction 3
PMAC Quick Reference Guide
A
PMAC2
PMAC2 is available in either PC, PCI, or VME formats. It is suggested for applications that require a
digital amplifier control (direct PWM signals) or applications with a combination of analog and digital
axis. PMAC2 is recommended also for the use of its built-in features that are optional in PMAC (1):
pulse and direction outputs, MLDT inputs, optional 12-bits analog to digital inputs, two extra encoder
inputs, improved position compare/capture feature and one channel of parallel feedback.
The PMAC2 is available with four or eight axes, with only four axes as the PMAC2 Lite and with only
two axes as the PMAC2 Mini.
PMAC2 Ultralite
m
The term Ultralite stands for no DSPGATE Gate-Array ICs on board of this kind of PMAC2. The ASICs
are located in a different set of boards, usually remotely located from PMAC2, referred as MACRO
stations. In fact, the PMAC2 Ultralite in combination with the MACRO station can be seen as a PMAC2
divided in two halves: the central processing portion that contains the DSP processor and the distributed
circuitry that connects to motors, amplifiers and different I/O points.
The PMAC2 Ultralite and the MACRO (Motion And Control Ring Optical) stations are linked with a
fiber optic or twisted pair connection. This clever distribution of components brings many benefits:
drastic reduction of wiring complexity, elimination of interference by electromagnetic noise and long
distance connections (3000 m, ~2 miles with glass fiber).
Turbo PMAC Family
The Turbo PMAC is based in the 56300 Motorola DSP processor. Its power and speed allows handling
up to 32 axes in up to 16 different coordinate systems. Compared with other PMACs, the Turbo PMAC
has a highly improved lookahead feature that allows tighter control of acceleration and more accurate
cornering profiles.
Motion programs and PLCs developed for other versions of PMAC are compatible with Turbo PMAC.
The main difference in the setup is the increased number of variables necessary to control up to 32 axes.
The main Turbo PMAC board has the necessary hardware to connect up to eight channels. The number
of channels could be expanded from 8 to 40 by means of either the Acc-24P or Acc-24P2 for PMAC style
or PMAC2 respectively. The Turbo PMAC2 is also provided in a 3U format and it is the main
component of the UMAC (Universal Motion and Automation Controller) products.
4 Introduction
PMAC Quick Reference Guide
PMAC Connectors and Indicators
Display Port Outputs (JDISP Port)
The JDISP connector (J1) connects the PMAC to the Acc-12 or Acc-12A liquid crystal displays, or of the
Acc-12C vacuum fluorescent display. Both text and variable values may be shown on these displays
through the use of the DISPLAY command, executing in either motion or PLC programs.
Control-Panel Port I/O (JPAN Port)
The JPAN connector (J2 on PMAC PC, Lite, VME, and top board of PMAC STD) is a 26-pin connector
with dedicated control inputs, dedicated indicator outputs, a quadrature encoder input, and an analog
input. The control inputs are low true with internal pull-up resistors. They have predefined functions
unless the Control Panel Disable I-Variable (I2) has been set to 1. If this is the case, they may be used as
general-purpose inputs by assigning an M-Variable to their corresponding memory-map locations (bits of
Y address $FFC0).
Thumbwheel Multiplexer Port I/O (JTHW Port)
The Thumbwheel Multiplexer Port, or Multiplexer Port, on the JTHW (J3) connector has eight input lines
and eight output lines. The output lines can be used to multiplex large numbers of inputs and outputs on
the port, and Delta Tau provides accessory boards and software structures (special M-Variable
definitions) to capitalize on this feature. Up to 32 of the multiplexed I/O boards may be daisy-chained on
the port, in any combination.
Serial Port Connection
For serial communications, use a serial cable to connect the PC’s COM port to PMAC’s serial port
connector (J4 on PMAC PC, Lite, and VME; J1 on PMAC STD’s bottom board). Delta Tau provides
cables for this purpose: Acc-3D connects PMAC PC or VME to a DB-25 connector; Acc-3L connects
PMAC Lite to a DB-9 connector; and Acc-3S connects PMAC STD to a DB-25 connector. Standard DB9-to-DB-25 or DB-25-to-DB-9 adapters may be needed for a particular setup.
General-Purpose Digital Inputs and Outputs (JOPTO Port)
PMAC’s JOPTO connector (J5 on PMAC PC, Lite, and VME) provides eight general-purpose digital
inputs and eight general-purpose digital outputs. Each input and each output has its own corresponding
ground pin in the opposite row. The 34-pin connector was designed for easy interface to OPTO-22 or
equivalent optically isolated I/O modules. Delta Tau’s Acc-21F is a six-foot cable for this purpose. The
PMAC STD has a different form of this connector from the other versions of PMAC. Its JOPT connector
(J4 on the base board) has 24 I/O, individually selectable in software as inputs or outputs.
Machine Connectors
The primary machine interface connector is JMACH1 (J8 on PMAC PC, J11 on PMAC Lite, P2 on
PMAC VME, J4 on PMAC STD top board). It contains the pins for four channels of machine I/O: analog
outputs, incremental encoder inputs, and associated input and output flags, plus power-supply
connections. The next machine interface connector is JMACH2 (J7 on PMAC PC, P2A on PMAC VME,
J4 on the middle board of an 8-channel PMAC STD, not available on a PMAC Lite). Essentially it is
identical to the JMACH1 connector for one to four more axes. It is present only if the PMAC card has
been fully populated to handle eight axes (Option 1), because it interfaces the optional extra components.
LED Indicators
PMACs with the Option CPU have three LED indicators: red, yellow, and green. The red and green
LEDs have the same meaning as with the standard CPU: when the green LED is lit, this indicates that
power is applied to the +5V input; when the red LED is lit, this indicates that the watchdog timer has
tripped and shut down the PMAC.
Introduction 5
PMAC Quick Reference Guide
The new yellow LED located beside the red and green LEDs, when lit, indicates that the phase-locked
loop that multiplies the CPU clock frequency from the crystal frequency on the Option CPU is
operational and stable. This indicator is for diagnostic purposes only; it may not be present on all boards.
Working with PMAC
When used for the first time, the card must be configured for a specific application, using both hardware
and software features, in order to run that application properly. PMAC is shipped from the factory with
defaults set in hardware and software set up to be satisfactory for the most common application types.
Working with PMAC is very simple and its ease of use and power is based in the following features:
• A clever interrupt-driven scheme allows every task, each motion program and PLC, to run
independently of each other.
• Pointer M-Variables allow monitoring virtually any register in PMAC’s memory from different
sources: motion programs, PLCs or the host computer.
• Communications are activated continuously. At any moment, any variable or status command could
be interrogated.
• Up to eight axes could be either synchronized together, controlled individually or in any combination
in between.
• Data gathering and reporting functions allows saving data such as motion trajectories, velocity
profiles or any set of variables for later analysis and plot.
Hardware Setup
On the PMAC, there are many jumpers (pairs of metal prongs), called E-points (on the bottom board of the
PMAC STD they are called W-points). Some have been shorted together; others have been left open.
These jumpers customize the hardware features of the board for a given application. Check each jumper
configuration using the appropriate hardware reference for the particular PMAC being set. Further
instructions for the jumper setup can be found in the PMAC User manual. After all the jumpers have been
properly set, PMAC can be installed either inside the host computer or linked with a serial cable to it.
Software Setup
PMAC has a large set of Initialization parameters (I-Variables) that determine the personality of the card
for a specific application. Many of these are used to configure a motor properly. Once setup, these
variables may be stored in non-volatile EAROM memory (using the SAVE command) so the card is
always configured properly (PMAC loads the EAROM I-Variable values into RAM on power-up).
The easiest way to program, setup and troubleshoot PMAC is by using the PMAC Executive Program
PEWIN and its related add-on packages P1Setup and PMACPlot. PEWIN has the following main tools
and features:
• The terminal window is the main channel of communication between the user and PMAC
• Watch window for real-time system information and debugging
• Position window for displaying the position, velocity and following error of all motors on the system
• Several ways to tune PMAC systems
• Interface for data gathering and plotting
In PEWIN, the value of an I-Variable may be queried simply by typing in the name of the I-Variable. For
instance, typing I900<CR> causes the value of the I900 to be returned. Change the value by typing in
the name, an equals sign, and the new value (e.g. I900=3<CR>). Remember that if any I-Variables are
changed during this setup, use the SAVE command before powering down or reset the card, or the
changes that have been made will be lost.
6 Introduction
PMAC Quick Reference Guide
Programming PMAC
Motion or PLCs programs are entered in any text file and then downloaded with PEWIN to PMAC.
PEWIN provides a built-in text editor for this purpose but any other text editor could be used
conveniently. Most PMAC commands can be issued from any terminal window communicating with
PMAC. Online commands allow, for example, to jog motors, change variables, report variables values,
start and stop programs, query for status information and even write short programs and PLCs. In fact, the
downloading process is just a sequence of valid PMAC commands sent line by line by PEWIN from a
particular text file.
PMAC Tasks
As an example, a 40 MHz PMAC could perform the following tasks with the estimated percentage of the
total computational power as indicated:
Introduction 7
PMAC Quick Reference Guide
Single Character I/O
Bringing in a single character from, or sending out a single character to, the serial port or host port (PC or
STD) is the highest priority in PMAC. This task takes only 200 nsec per character, but having it at this
high priority ensures that the host cannot outrun PMAC on a character-by-character basis. This task is
never a significant portion of PMAC’s total calculation time. Note that this task does not include
processing a full command; that happens at a lower priority (see the Background Tasks section).
Commutation Update
The commutation (phasing) update is the second highest priority on PMAC. In a 20 MHz PMAC, this
task takes 3 µsec per update cycle for each motor commutated by PMAC (Ix01=1). The master clock
frequency and jumpers E98, E29-E33, determines the frequency of this task. The default update
frequency is 9 kHz (110 µsec cycle). At the default, the commutation of each motor takes approximately
3% of PMAC’s computational power.
Servo Update
The servo update – computing the new commanded position, reading the new actual position, and
computing a command output based on the difference between the two – is the third highest priority on
PMAC. In a 20 MHz PMAC, this task takes 30 µsec per update cycle for each activated motor (Ix00=1)
plus about 30 µsec for general servo tasks such as the encoder conversion table. The master clock
frequency and jumpers E98, E29-E33, E3-E6 determine the frequency of this task. The default update
frequency is 2.26 kHz (442 µsec cycle). At the default, the servo update of each motor takes
approximately 7% of PMAC’s computational power.
8 Introduction
PMAC Quick Reference Guide
VME Mailbox Processing
Reading or writing a block of up to sixteen characters through the VME mailbox registers is the fourth
highest priority in PMAC. The host controls the rate at which this happens. This never takes a significant
portion of PMAC’s computational power.
Real-Time Interrupt Tasks
The real-time interrupt (RTI) tasks are the fifth highest
priority on PMAC. They occur immediate after the servo
update tasks at a rate controlled by parameter I8 (every
I8+1 servo update cycles). There are two significant tasks
occurring at this priority level: PLC 0 / PLCC0 and
motion program move planning.
PMAC will scan the lines of each program running in the
different coordinate systems and will calculate the
necessary number of move commands.
The number of move commands of pre-calculation can
either be zero, one or two and depending on the type of
motion commands and the mode in which the program is
being executed.
Non-move commands are executed immediately as they
are found. The scan of any given motion program will
stop as the necessary number of moves is calculated. It
resumes when previous move commands are completed
and more move-planning calculations are required.
In the execution of a motion program, if PMAC finds two
jumps backward (toward the top) in the program while
looking for the next move command, PMAC will pause
execution of the program and not try to blend the moves
together. It will go on to other tasks and resume
execution of the motion program on a later scan. Two
statements can cause such a jump back: ENDWHILE and
GOTO (RETURN does not count).
All
C.S.
programs
checked?
No
C.S.
program
running?
No
Next coordinate
system
move
calculations
needed?
Yes
Read next line of
line
contains move
commands?
end of program?
Enabled
PLC0
decrement the
watchdog register
End of Interrupt
Yes
I5=1 or I5=3?Yes
No
Yes
No
the motion program
YesNo
calculate moveexecute line
YesNo
Enabled
PLCC0
by 8
Background Tasks
In the time not taken by any of the higher-priority tasks, PMAC
will be executing background tasks. There are three basic
background tasks: command processing, PLC programs 1-31,
I5=2 or I5=3?Yes
and housekeeping. The frequency of these background tasks is
controlled by the computational load on PMAC: the more highpriority tasks are executed, the slower the background tasks will
cycle through; and the more background tasks there are, the
slower they will cycle through.
Each PLC program executes one scan (to the end or to an
ENDWHILE statement) uninterrupted by any other background
task (although it can be interrupted by higher priority tasks). In
No
perform safety checks:
end of travel limits
amplifier faults
following error
sets watchdog register
to 4095
command response
(communications)
between each PLC program, PMAC will do its general
housekeeping, and respond to a host command, if any.
Introduction 9
Execute next
enabled PLC
Execute first
enabled PLCC
Execute next
enabled PLCC
All PLCCs
checked?
NoYes
PMAC Quick Reference Guide
All enabled PLCC programs execute one scan (to the end or to an ENDWHILE statement) starting from lowest
numbered to highest uninterrupted by any other background task (although it can be interrupted by higher
priority tasks). At power-on\reset, PLCC programs run after the first PLC program runs.
The receipt of a control character from any port is a signal to PMAC that it must respond to a command. The
most common control character is the carriage return (<CR>), which tells PMAC to treat all the preceding
alphanumeric characters as a command line. Other control characters have their own meanings, independent of
any alphanumeric characters received. Here PMAC will take the appropriate action to the command, or if it is an
illegal command, it will report an error to the host.
Between each scan through each background PLC program, PMAC performs its housekeeping duties to keep
itself properly updated. The most important of these are the safety limit checks (following error, overtravel limit,
fault, watchdog, etc.) Although this happens at a low priority, a minimum frequency is ensured because the
watchdog timer will trip, shutting down the card, if this frequency gets too low.
Observations
PMAC has an on-board watchdog timer circuit whose job it is to detect a number of conditions that could
result in dangerous malfunction. At the default settings, if the RTI frequency were to drop below about 50
Hz, or the background cycle is not performed at least every 512 RTI cycles the timer would trip. The
purpose of this two-part control of the timer is to make sure all aspects of the PMAC software are being
executed, both in foreground (interrupt-driven) and background. If anything keeps either type of routine
from executing, the watchdog will fail quickly.
PLC0 or PLCC0 are meant to be used for only a very few tasks (usually a single task) that must be done
at a higher frequency than the other PLC tasks. The PLC 0 will execute every real-time interrupt as long
as the tasks from the previous RTI have been completed. PLC 0 is potentially the most dangerous task on
PMAC as far as disturbing the scheduling of tasks is concerned. If it is too long, it will starve the
background tasks for time. The first thing to notice is that communications and background PLC tasks
will become sluggish. In the worst case, the watchdog timer will trip, shutting down the card, because the
housekeeping task in background did not have the time to keep it updated.
Although it is very rare for a motion program to cause a watchdog failure, this does happen on occasion.
If there is an empty (no-motion) loop, the motion program acts much like a PLC 0 during this period.
These empty loops, which are used usually to wait for a certain condition, provide fast response to the
change in condition, but their fast repetition occupies a lot of CPU time, and can starve the background
tasks for time. Particularly if several coordinate systems are executing empty loops at the same time,
serious background time limitations can be created which can be severe enough to trip the watchdog
timer.
If there are a huge number of lines of intensive calculations (e.g. 100) before any move or dwell is
encountered, there can be such a long time before background calculations are resumed (more than 512
RTI cycles) it is possible to trip the watchdog timer. If this problem occurs, the calculations should be
split apart with short DWELL commands to give other tasks time to execute.
It is possible to use compiled PLCC programs for faster execution. The faster execution of the compiled
PLCs comes from two factors: first, from the elimination of interpretation time, and second, from the
capability of the compiled PLC programs to execute integer arithmetic. The space dedicated to store up
to 32 compiled PLC programs, however, is limited to 15K (15,360) 24-bit words of PMAC memory; or
14K (14,336) words if there is a user-written servo as well.
In between each scan of each individual background interpreted PLC program, PMAC will execute one
scan of all active background compiled PLCs. This means that the background compiled PLCs execute at
a higher scan rate than the background interpreted PLCs. For example, if there are seven active
background interpreted PLCs, each background compiled PLC will execute seven scans for each scan of a
background interpreted PLC.
10 Introduction
PMAC Quick Reference Guide
Most of the housekeeping functions are safety checks such as following error limits and overtravel limits.
Since compiled PLCCs are executed at the same rate as the housekeeping functions, code to complement
or replace these functions could be placed in a compiled PLCC. If, for example, an extra input flag is
wanted for position capturing purposes either the end-of-travel limit inputs or the amplifier fault input
could be used. The automatic check of the input flag could be disabled by an appropriate setting of the
corresponding Ix25 variable and replaced by a PLCC code that will check a general purpose input where
the amplifier fault or end-of-travel limit would be connected instead.
On power-up\reset, PLC programs are executed sequentially from 1 to 31. This makes PLC1, the first
code executed, the ideal place to perform initialization commands like other PLCs disabling, motors
phasing and motion programs start. After its execution, PLC1 could disable itself with the command DIS
PLC1, running only once on power-up\reset.
Bits of the first word returned from the global status bits request command, ???:
Bit 22 Real-Time Interrupt Re-entry: This bit is 1 if a real-time interrupt task has taken long enough so
that it was still executing when the next real-time interrupt came (I8+1 servo cycles later). It stays at 1
until the card is reset, or until this bit is changed manually to 0. If motion program calculations cause
this, it is not a serious problem. If PLC 0 causes this (no motion programs running) it could be serious.
Bit 20 Servo Error: This bit is 1 if PMAC could not complete its servo routines properly. This is a serious
error condition. It is 0 if the servo operations have been completed properly.
Priority Level Optimization
Usually, PMAC will have enough speed and calculation power to perform all of the tasks asked of it
without worry. Some applications will put a large demand on a certain priority level and to make PMAC
run more efficiently. When PMAC begins to run out of time, problems such as sluggish communications,
slow PLC/PLCC scan rates, run-time errors, and even tripping the watchdog timer can occur.
The active part of the Encoder Conversion Table is ended by the first Y word that is equal to all zeros. For
an application with less than eight encoders (the default table converts the eight incremental encoder
registers on the base PMAC), a last entry with all zeros in the Y word could be defined as necessary.
Check to see if everything performed in the Real Time Interrupt (RTI) is necessary or if some of it could
be moved to a lower priority or slowed down. PLC0 could be done as PLCC1, or the RTI could be done
every fourth or fifth servo cycle setting I8=3 or higher.
Large PLC programs can be split into a few shorter PLC programs. This increases the frequency of
housekeeping and communications by giving more breaks in PLC scans.
Motion program WHILE (condition)WAIT statements can be done as follows:
WHILE (condition)
DWELL20
ENDWHILE
This will give more time to other RTI jobs such as Move Planning and PLC/PLCC0.
If routines of lower priority than the servo loop are not executing fast enough, consider slowing down the
servo update rate (increasing the update time). The PMAC may be updating faster than is required for the
dynamic performance needed. If so, processor time is being wasted on needless extra updates. For
example, doubling the servo update time from 442 µsec to 885 µsec, virtually doubles the time available
for motion and PLC program execution, allowing much faster motion block rates and PLC scan rates.
This frequency change could be executed either by jumpers or individually per motor by means of the
Ix60 variable.
Introduction 11
PMAC Quick Reference Guide
A faster than 20 MHz PMAC will perform calculations faster, in proportion to the corresponding clock
rate increase. In general, a clock rate increase is used to increase the real time interrupt (RTI) share of the
total computational time available. These cases include applications where large move calculations are
involved (small-moves contouring), maintaining the same servo-loop rate and therefore the same control
performance.
20 MHz PMAC,
8 commutated
servo-motors
40 MHz PMAC,
8 commutated
servo-motors
20 MHz PMAC,
8 non-commutated
servo-motors
40 MHz PMAC,
8 non-commutated
servo-motors
Servo Cycle
Phase Cycle
Real-Time
Interrupt
Background
Cycle
12 Introduction
PMAC Quick Reference Guide
PMAC EXECUTIVE PROGRAM, PEWIN
With PEWIN, PMAC can be configured and controlled. PEWIN is designed as a development tool for
creating and managing PMAC implementations. It provides a terminal interface to the PMAC and a text
editor for writing and editing PMAC motion programs and PLC programs. Additionally, PEWIN
contains a suite of tools for configuring and working with PMAC and its accessories including interfaces
for jogging motors, extensive system utilities, screens for viewing various PMAC variables and status
registers.
Configuring PEWIN
1. Define a new device using the MOTIONEXE.EXE application provided.
2. Open PEWIN and select the Open Terminal menu. Select the device created in the previous step.
3. The colors and different options can be set through the Preferences command present in the Options
menu. Disable the automatic status-reporting feature by un-checking the Enable Terminal Status Bar from the Terminal preferences.
PMAC Executive Program, PEWIN 13
PMAC Quick Reference Guide
Quick Plot Feature
To run the quick plot feature:
1. Press ALT+P and press Enter.
2. Select the motors and the feature to gather.
3. Select what to plot from the possible choices and then press Add to left or Add to right.
4. Press the Define Gather Buffer button.
5. Press the Begin Gathering button.
6. Click on the terminal part of the screen and run the motion program or Jog command.
7. Press the End Gathering button when the motion is completed.
8. First press the Upload Data button and then the Plot Data button.
The Plot feature relies on the PMAC gathering functions. It is useful for analyzing motion profiles and
trajectories. Simulating an X-Y plot graphically can be an important aid in understanding the set of
parameters involved in a circular interpolation move.
14 PMAC Executive Program, PEWIN
PMAC Quick Reference Guide
Saving and Retrieving PMAC Parameters
It is important to save the complete set of PMAC parameters in the host computer periodically. In case of
a failure or replacement, a single file created this way will allow restoring all the variables and programs
necessary for the particular application. To activate this function click on the terminal window, press
CTRL+B for the Backup menu, select Save Configuration and Global Configuration. Select a name to
be saved as. Usually, the date is included as part of the file name for later identification. For example,
PMAC0112 has four digits for the application identifier and four digits for the date.
After the file is saved, verify it with the feature part of the same pull-down menu. This will make sure
PMAC’s memory matches the recently saved file and therefore that it is a valid restoring file.
To restore a configuration simply select Restore from the same Backup menu. Verify PMAC’s memory
after the restore function as well.
The Watch and Position Windows
The position window is accessed through the POSITION command of the View menu, or ALT+V and P
from the terminal window. It is a convenient way to check PMAC parameters continuously, such as
position velocity and following error. Right clicking on this window allows the items selections as well
as its format and update period.
The Watch window of the same View menu performs a similar function. Instead of the motion-related
parameters, any variable value in PMAC can be displayed constantly. Right clicking on this window
allows selecting the display format from hexadecimal, decimal and binary reporting values.
Uploading and Downloading Files
These functions are accessible through the File menu. The uploading function is of great importance.
With these functions, it is possible to open a text editor with the contents of the requested PLC, Motion
Program, M-Variables definitions or values, I-Variables values, etc. With this function, what commands
or values PMAC has in memory can be checked and IF conditions and WHILE loops are indented,
making the program flow better. The File menu also activates a more interactive and complete editor
utility, providing a way (also by the communication functions) to compile PLCs and download files
including MACRO names.
Using MACRO Names and Include Files
PEWIN allows using custom names in place of the common names for variables and functions that
PMAC expects (P, Q, M, I):
Example:
File downloaded Uploaded translated PMAC code
#define PUMP P1
OPEN PLC1 CLEAR
PUMP=1
DISABLE PLC1
CLOSE
Make sure the Support MACROs/PLCCs option is checked before downloading. The MACRO must be
defined before it can be used. In general, MACRO definitions are at the beginning of the text file.
MACROs must be up to 255 valid ASCII characters and cannot have spaces in between (the underscore
“_” is suggested in place of a space).
OPEN PLC 1 CLEAR
P1=1
DISPLC1
CLOSE
The MACRO definitions or any PMAC code can be placed in a separate file and be included with a single
line in the text file. The file name must include a full path in order for PEWIN to find it.
Example:
PMAC Executive Program, PEWIN 15
#include "c:\deltatau\files\any.pmc"
PMAC Quick Reference Guide
Downloading Compiled PLCCs
PLCCs are compiled by PEWIN in the downloading process. Only the compiled code gets downloaded
to PMAC. Therefore, save the ASCII source code in the host computer separately since it cannot be
retrieved from PMAC. Compiled PLCs are firmware dependent and must be recompiled when the
firmware is changed in PMAC.
If more than one PLCC is programmed, all the PLCC code must belong to the same ASCII text file.
PEWIN will compile all the PLCC code present on the file and place it in the appropriate buffer in
PMAC. If a single PLCC code is downloaded, all the other PLCCs that might have been present in
memory will be erased, remaining only the last compiled code.
The multiple-file download feature of the PEWIN File menu allows the PLCC codes to be in different
files. They will be combined by PEWIN in the downloading process.
PID Tuning Utility
This function is accessible from the terminal window by pressing ALT+C from the Configure menu and
T for Tuning. The Autotuning feature finds the PID parameters with virtually no effort. In most cases,
the parameters are very close to optimal, and in some cases require further fine-tuning.
In this screen, press the Page-Up or Page-Down keys on the keyboard to select the motor number.
1. Select the Auto Tune feature. This is the first interaction to find a starting bandwidth parameter.
16 PMAC Executive Program, PEWIN
PMAC Quick Reference Guide
a. Make sure to read the PEWIN manual section related to the safety issues of this procedure.
b. Perform a DAC calibration if necessary.
c. Select the type of amplifier being tuned.
d. Let the Auto Tune select the bandwidth by checking Auto Select bandwidth.
e. Do not activate any feed forward parameters in this first pass.
f. Do not activate the integral action component in this first pass.
g. Start the first Auto Tuning interaction. Most likely the motor will move after Begin is clicked.
Second Interaction
h. The calculated bandwidth can be increased up to three times. Uncheck the Auto Select
Bandwidth this time.
i. Add the feed forward parameters as necessary.
j. Add the integral actions function as necessary.
k. Perform the second pass of the Auto Tuning. After it is completed, select Implement Now to
activate the selected parameters.
2. After the Auto Tuning is completed, the PID parameters can be changed for a final fine-tuning if
necessary.
3. Perform a step response and use the following guidelines for the selection of the appropriate IVariables:
Ideal Case
The motor closely follows the commanded position
PMAC Executive Program, PEWIN 17
Cause: friction or constant force / system limitation
Fix: Increase KI (Ix33) and maybe use more KP(Ix30)
Position Offset
PMAC Quick Reference Guide
Sluggish Response
Cause: Too much damping or too little proportional gain
Fix: Increase K
(Ix30) or decrease KD (Ix31)
P
Cause: Too little damping or too much proportional gain
Fix: Decrease K
Overshoot and Oscillation
(Ix30) or increase KD (Ix31)
P
4. Perform a parabolic move and use the following guidelines for the selection of the appropriate I-
Variables:
Ideal Case
The following error is reduced at
minimum and is concentrated in the
center, evenly along the move
High acc \ FE correlation
Cause: Integral lag
Fix: Increase K
High vel \ FE correlation
Cause: damping and friction
Fix: Increase K
(Ix35)
aff
(Ix32)
vel
High vel \ FE correlation
Cause: damping
Fix: Increase K
(Ix32)
vel
High vel \ FE correlation
Cause: friction
Fix: Increase Integral gain (Ix33) or
Friction Feedforward (Ix68)
High acc \ FE correlation
Cause: Physical system limitations
Fix: Use less sudden acceleration
Negative vel \ FE correlation
Cause: Too much velocity FF
Fix: Decrease K
vel
(Ix32)
High acc \ FE correlation
Cause: Too much acc FF
Fix: Decrease K
(Ix35)
aff
High vel\FE and acc\FEcorrelation
Cause: Integral lag and friction
Fix: Increase K
(Ix35)
aff
18 PMAC Executive Program, PEWIN
PMAC Quick Reference Guide
Other Features
• Setup of the PMAC encoder conversion table
• Setup of the Notch and Low Pass Filter parameters
• Coordinate systems configurations
• Access to P1Setup and P2Setup (packages provided separately). These setup utilities provide a user-
friendly approach for setting up and tuning PMAC (1), with P1Setup, or PMAC2 using P2Setup
• Online PMAC Software and Hardware help files
• Jog Ribbon and connector status
• Screens to display, organize or change I, P, Q and M variables
• Firmware downloading (through MOTIONEXE) for PMACs with flash memory.
PMAC Executive Program, PEWIN 19
PMAC Quick Reference Guide
20 PMAC Executive Program, PEWIN
PMAC Quick Reference Guide
INSTALLING AND CONFIGURING PMAC
Jumpers Setup
On the PMAC, there are many jumpers (pairs of metal prongs), called E-points (on the bottom board of
the PMAC STD they are called W-points). Some have been shorted together; others have been left open.
These jumpers customize the hardware features of the board for a given application. Each jumper
configuration should be checked using the appropriate hardware reference for the particular PMAC being
set. Further instructions for the jumper setup can be found in the PMAC User manual. After all the
jumpers have been properly set, PMAC can be installed either inside the host computer or linked with a
serial cable to it.
Serial Connections
For serial communications, use a serial cable to connect the PC’s COM port to the PMAC’s serial port
connector (J4 on PMAC PC, Lite, and VME; J1 on PMAC STD’s bottom board). Delta Tau provides
cables for this purpose: Acc-3D connects PMAC PC or VME to a DB-25 connector; Acc-3L connects
PMAC Lite to a DB-9 connector; and Acc-3S connects PMAC STD to a DB-25 connector. Standard DB9-to-DB-25 or DB-25-to-DB-9 adapters may be needed for a particular setup.
If using the Acc-26 Serial Communications converter, connect from the PC COM port to Acc-26 with a
standard DB-9 or DB-25 cable and from Acc-26 to PMAC using the cable provided with Acc-26. Since
the serial ports on PMAC PC and PMAC VME are RS-422, this accessory can be useful to provide the
level conversion between RS-232 and RS-422 (communications is possible without this conversion, but at
reduced noise margin). Because the conversion is optically isolated, the accessory also helps prevent
noise and ground loop problems.
If a cable must be made, the easiest approach is to use a flat cable prepared with flat-cable type connectors
as indicated in the following diagrams:
DB-9
Female
11
Do not connect
wire #10
DB-25
Female
11
Do not connect
wire #26
IDC-10
IDC-26
Installing and Configuring PMAC 21
PMAC Quick Reference Guide
Establishing Host Communications
Either the Executive or Setup program can be used to establish initial communications with the card.
Both programs have menus that tell the PC where to expect to find the PMAC and how to communicate
with it at that location. If telling it to look for PMAC on the bus, also tell it PMAC’s base address on the
bus (this was set up with jumpers on PMAC). If telling it to look for PMAC on a COM port, tell it the
baud rate (this was set up with jumpers or switches on the PMAC). Once the program knows where and
how to communicate with PMAC, it will attempt to find PMAC at that address by sending a query
command and waiting for the response. If it gets the expected type of response, it will report that it has
found PMAC. If it does not get the expected type of response after several attempts, it will report that it
has not found PMAC.
Terminal Mode Communications
Once the program reports that it has found PMAC, the program should be in terminal emulation mode, so
that the PC is acting as a dumb terminal to PMAC. Check to see if a response is received by typing
I10<CR>. (<CR> means carriage return — the Enter or Return key). PMAC should respond with a
six or seven digit number. If the expected results are not received, check the following:
1. Make sure the green LED (power indicator) on PMAC’s CPU board is ON. If it is not, find out why
PMAC is not getting a +5V voltage supply.
2. Make sure the red LED (watchdog timer indicator) on PMAC’s CPU board isOFF. If it is ON, make
sure PMAC is getting very close to 5V supply – at less than 4.75V, or the watchdog timer will trip,
shutting down the card. The voltage can be probed at pins 1 and 3 of the J8 connector (A1 and A2 on
the PMAC VME). If the voltage is satisfactory, follow these steps:
• Turn off PMAC or the Host computer where it is plugged into.
• Place the Jumper E51 (the hardware re-initialization jumper) and turn PMAC back on.
• If PMAC is in bootstrap mode, send a <CONTROL-R> character to PMAC to bypass the
firmware download.
• If communications are successful type $$$*** and SAVE in the terminal window.
• Turn off PMAC, remove the jumper E51 and try communications again.
Bus Communications
3. Make sure that the bus address jumpers (E91-E92, E66-E71) set the same address as the bus address
on the Executive program.
4. If there is something else on the bus at the same address, try changing the bus address to see if
communications can be established at a new address. Usually, address 768 (300 hex) is open.
Serial Communications
5. Verify that the proper port on the PC is being used. Make sure that the Executive program is
addressing the COM1 port, which is cabled out of the COM1 connector.
6. The baud rate specified in the Executive program should match the baud rate setting of the E44-E47
jumpers on PMAC.
7. With a breakout box or oscilloscope, make sure there is action on the transmit lines from the PC as
while typing into the Executive program. If not, there is a problem on the PC end.
8. Probe the return communication line while giving PMAC a command that requires a response (e.g.
<CONTROL-F>). If there is no action, change jumpers E9-E16 on PMAC to exchange the send and
receive lines. If there is action, but the host program does not receive characters, RS-232 might be
receiving circuitry that does not respond at all to PMAC’s RS-422 levels. If there is another model of
PC available, try using it as a test (most models accept RS-422 levels quite well). If the computer still
will not accept the signals, try a level-conversion device, such as Acc-26.
22 Installing and Configuring PMAC
Loading...
+ 78 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.