The information in this document is subject to change without prior
notice in order to improve reliability, design, and function and does
not represent a commitment on the part of the manufacturer.
In no event will the manufacturer be liable for direct, indirect, special, incidental, or consequential damages arising out of the use or
inability to use the product or documentation, even if advised of
the possibility of such damages.
This document contains proprietary information protected by copyright. All rights are reserved. No part of this manual may be reproduced by any mechanical, electronic, or other means in any form
without prior written permission of the manufacturer.
Trademarks
NuDAQ, NuIPC, DAQBench are registered trademarks of ADLINK
TECHNOLOGY INC.
Product names mentioned herein are used for identification purposes only and may be trademarks and/or registered trademarks
of their respective companies.
Getting service from ADLINK
Customer satisfaction is top priority for ADLINK TECHNOLOGY
INC. Please contact us should you require any service or assistance.
ADLINK TECHNOLOGY INC.
Web Site:http://www.adlinktech.com
Sales & Service:Service@adlinktech.com
TEL:+886-2-82265877
FAX:+886-2-82265717
Address:9F, No. 166, Jian Yi Road, Chungho City,
Taipei, 235 Taiwan
Email or fax this completed service form for prompt and satisfactory service.
Company Information
Company/Organization
Contact Person
E-mail Address
Address
Country
TELFAX:
Web Site
Product Information
Product Model
OS:
Environment
M/B: CPU:
Chipset: BIOS:
Please give a detailed description of the problem(s):
Table of Contents
Table of Contents..................................................................... i
List of Tables.......................................................................... vi
List of Figures ....................................................................... vii
Figure 2-4: MPC-8164 face plate ............................................... 18
Figure 2-5: PXI-8164 layout and front panel .............................. 19
Figure 7-1: System Integration with PCI-8164 ......................... 266
Figure 7-2: Connection of PCI-8164 with Panasonic Driver .... 268
Figure 7-3: Connection of PCI-8164 with SANYO Driver......... 269
List of Figures vii
1Introduction
The PCI-/MPC-/PXI-8164 is an advanced 4-axis motion controller
card that generates high frequency pulses (6.55 MHz) to drive
stepper or servomotors, and provides a 2-axis circular interpolation, 4-axis linear interpolation, or continuous interpolation for continual velocity. The PCI-/MPC-/PXI-8164 also changes position
and/or speed on the fly with a single axis operation.
Multiple PCI-/MPC-/PXI-8164 cards may be installed in one system. Incremental encoder interface on all four axes provide the
ability to correct positioning errors generated by inaccurate
mechanical transmissions. With the aid of an onboard FIFO, the
PCI-/MPC-/PXI-8164 also performs precise and extremely fast
position comparison and trigger functions without compromising
CPU resources. In addition, a mechanical sensor interface, a
servo motor interface, and general-purposed I/O signals are provided for easy system integration.
The following figures show the functional block diagrams of the
8164 card in PCI, MPC, and PXI interfaces. The PCI-/MPC-/PXI8164 uses one ASIC (PCL6045) to perform all 4 axes motion controls. The motion control functions include linear and S-curve
acceleration/deceleration, circular interpolation between two axes,
linear interpolation between 2-4 axes, continuous motion positioning, and more than 13 home return modes. All these functions and
complex computations are performed internally by the ASIC, thus
minimizing CPU usage and eliminating real-time issues.
Introduction 1
Figure 1-1: PCI-8164 block diagram
2Introduction
The MPC-8164 is an advanced 4-axis motion controller card with
a PC104 interface. All features and specification are leveraged
with the PCI-8164, except for some differences in the user I/O
interfaces. Figure 1-2 shows the MPC-8164 card block diagram.
Figure 1-2: MPC-8164 block diagram
Introduction 3
The PXI-8164 is an advanced 4-axis motion controller card with a
PXI interface. All features and specification are the same with the
PCI-8164, except for some differences in the user I/O interfaces.
Figure 1-3 shows the PXI-8164 the block diagram.
Figure 1-3: PXI-8164 block diagram
4Introduction
Motion Creator is a Windows-based application development software package that comes with the card. Motion Creator is useful
for debugging a motion control system during the design phase of
a project. An on-screen display lists all installed axes information
and the card’s I/O signal status.
DOS and Windows programming libraries for C++ and Visual
Basic are included together with some sample programs to illustrate the operations of these functions.
Figure 1-4 illustrates a flow chart of application development using
the contents of this manual. Refer to the related chapters for
details.
Figure 1-4: Application building flow chart
Introduction 5
1.1Features
1.1.1PCI-8164
X 32-bit PCI bus, Plug and Play
X 4 axes of step and direction pulse output for controlling
stepping or servomotor
X 6.55 MPPS maximum output frequency
X OUT/DIR, CW/CCW pulse output options
X Programmable acceleration and deceleration time for all
modes
X Trapezoidal and S-curve velocity profiles for all modes
X Any 2 of 4 axes circular interpolation
X Any 2-4 of 4 axes linear interpolation
X Continuous interpolation for contour following motion
X Change position and speed on the fly
X Change speed by condition comparing
X 13 home return modes with auto searching
X Hardware backlash compensator and vibration suppression
X 2 software end-limits for each axis
X 28-bit up/down counter for incremental encoder feedback
X Home switch, index signal (EZ), positive, and negative end
limit switches interface on all axes
X 2-axis high speed position latch input
X 2-axis position compare trigger output with 4k FIFO auto-
loading
X 2500V
X Programmable interrupt sources
X Simultaneous start/stop motion on multiple axes
X Manual pulser input interface (A small steering device that gen-
erates pulses when turned)
X Software supports a maximum of up to 12 PCI-8164 cards
(48 axes) operation in one system
X Compact, half-sized PCB
isolated digital input and output signals
rms
6Introduction
X Includes Motion Creator, a Microsoft Windows-based appli-
cation development software
X Libraries and utilities support DOS, Windows
®
9X/NT/2000/
XP, and Linux
Introduction 7
1.1.2MPC-8164
X 16-bit PC104 bus
X 4 axes of step and direction pulse output for controlling
stepping or servomotor
X 6.55 MPPS maximum output frequency
X OUT/DIR, CW/CCW pulse output options
X Programmable acceleration and deceleration time for all
modes
X Trapezoidal and S-curve velocity profiles for all modes
X Any 2 of 4 axes circular interpolation
X Any 2-4 of 4 axes linear interpolation
X Continuous interpolation for contour following motion
X Change position and speed on the fly
X Change speed by comparator condition
X 13 home return modes with auto searching
X Hardware backlash compensator and vibration suppression
X 2 Software end-limits for each axis
X 28-bit up/down counter for incremental encoder feedback
X Home switch, index signal (EZ), positive, and negative end
limit switches interface on all axes
X 2-axis high speed position latch input
X 2-axis position compare trigger output with 4k FIFO auto-
loading
X 2500
X Programmable interrupt sources
X 8 channels of general purpose photo-isolated digital inputs
X 8 channels of general purpose open collector digital outputs
X Software supports a maximum of up to 4 MPC-8164 cards
(16 axes) operation in one system
X Includes Motion Creator, a Microsoft Windows-based appli-
cation development software
X Libraries and utilities support DOS, Windows
XP, and Windows
X Libraries for Linux and Windows
isolated digital input and output signals
Vrms
®
XP/NT Embedded
®
CE systems
®
98/NT/2000/
8Introduction
1.1.3PXI-8164
X PXI specifications Rev. 2.0-compliant
X Multiple modules synchronized via PXI trigger bus
X 3U Eurocard form factor, CompactPCI compliant (PICMG
2.0 R2.1)
X 4-CH isolated digital I/O
X 4 axes of step and direction pulse output for controlling
stepping or servomotor
X 6.55 MPPS maximum output frequency
X OUT/DIR, CW/CCW pulse output options
X Programmable acceleration and deceleration time for all
modes
X Trapezoidal and S-curve velocity profiles for all modes
X Any 2 of 4 axes circular interpolation
X Any 2-4 of 4 axes linear interpolation
X Continuous interpolation for contour following motion
X Change position and speed on the fly
X Change speed by condition comparing
X 13 home return modes with auto searching
X Hardware backlash compensator and vibration suppression
X 2 software end-limits for each axis
X 28-bit up/down counter for incremental encoder feedback
X Home switch, index signal (EZ), positive, and negative end
limit switches interface on all axes
X 2-axis high speed position latch input
X 2-axis position compare trigger output with 4k FIFO auto-
loading
X Programmable interrupt sources
X Simultaneous start/stop motion on multiple axes
X Manual pulser input interface (A small steering device that gen-
erates pulses when turned)
X Software supports a maximum of up to 12 PXI-8164 cards
(48 axes) operation in one system
Introduction 9
X Includes Motion Creator, a Microsoft Windows-based appli-
cation development software
X Libraries and utilities DOS, Windows
®
9x/NT/2000/XP, and
Linux
10Introduction
1.2Specifications
Applicable motors
X Stepping motors
X AC or DC servomotors with pulse train input servo drivers
Performance
X 4 controllable axes
X 6.55MPPS maximum pulse output frequency, linear, trape-
zoidal, or S-Curve velocity profile drive
X 19.66 MHz internal reference clock
X 28-bit up/down counter range: 0 to 268,435,455 or
–134,217,728 to +134,217,727
X Position pulse setting range (28-bit): -134,217,728 to
+134,217,728
X Pulse rate setting ranges (pulse ratio = 1: 65535):
Z 0.1 PPS to 6553.5 PPS (multiplier = 0.1)
Z 1 PPS to 65535 PPS (multiplier = 1)
Z 100 PPS to 6553500 PPS (multiplier = 100)
Introduction 11
I/O signals
X Input/Output signals for each axis
X Opto-isolated digital input with 2500V
X OUT and DIR command pulse output pins
X EA and EB incremental encoder signals input pins
X EZ encoder index signal input pin
X ±EL, SD/PCS, and ORG mechanical limit/switch signal
isolation voltage
rms
input pins
X INP, ALM, and ERC servomotor interface I/O pins
X LTC position latch input pin
X CMP position compare output pin
X SVON general-purposed digital output pin
X RDY general-purposed digital input pin
X PA and PB (PCI-8164/PXI-8164) pulse signal input pin
X STA and STP (PCI-8164/PXI-8164) simultaneous start/stop
signal
General-purpose output
X 6 TTL level digital outputs (PCI-8164 only)
X 8 digital inputs/8 digital outputs (MPC-8164 only)
X 4 digital inputs/4 digital outputs (PXI-8164 only)
General specifications
X 100-pin SCSI-type connector
X Operating temperature: 0ºC - 50ºC
X Storage temperature: -20ºC - 80ºC
X Humidity: 5% - 85%, non-condensing
Power consumption
X Slot power supply (input): +5V DC ±5%, 900mA max
X External power supply (input): +24V DC ±5%, 500mA max
X External power supply (output): +5V DC ±5%, 500mA, max
12Introduction
Dimensions
X PCI-8164: 185 mm (L) X 106.68 mm (W)
X MPC-8164: 152 mm (L) X 104.7 mm (W)
X PXI-8164: 3U Eurocard form factor, CompactPCI-compliant
(PICMG 2.0 R2.1)
Introduction 13
1.3Software support
1.3.1Programming library
Programming libraries for MS-DOS and Borland C/C++ (Version
3.1) and DLLs for Windows
®
95/98/NT/2000/XP come bundled
with the PCI-8164/PXI-8164 card package. Support for Linuxbased systems is also included.
MPC-8164 supports DOS/Windows
®
98/NT/2000/XP, Windows
XP/NT Embedded, Windows® CE, and Linux.
1.3.2Motion Creator
This Windows-based utility sets up cards, motors, and systems. It
also debugs hardware and software problems and enables the
user to set I/O logic parameters that can be loaded in their own
programs. Refer to Chapter 5 for more details.
®
14Introduction
2Installation
Follow these steps to install the PCI-/MPC-/PXI-8164 card.
X Check the card package contents (section 2.1)
X Check the card PCB and face plate/front panel layout (sec-
tion 2.2)
X Install the card to the chassis (section 2.3)
X Install the drivers (section 2.4)
X Refer to the I/O signal connections (chapter 3) and their
operation (chapter 4)
X Refer to the connector pin assignments (the remaining sec-
tions) and wiring connections
Installation 15
2.1Package contents
Check the package contents for the following items:
X PCI-8164/MPC-8164/PXI-8164 card
X ADLINK All-in-one CD
X +24V power input cable (for CN1) accessories (PCI-8164
only)
X Optional terminal board for wiring purposes
If any of these items are missing or damaged, contact your dealer
immediately. Save the original packaging for future shipment.
16Installation
2.2PCI-8164 layout
Figure 2-1: PCI-8164 PCB layout
CN1: External Power Input Connector
CN2: Input / Output Signal Connector
CN3: Manual Pulse Signal Connector
CN4: Simultaneous Start / Stop Connector
CN5: General purpose TTL output
S1: End limit logic selection switch
J1-J8: Pulse output selection jumper
Figure 2-2: PCI-8164 face plate
Installation 17
2.3MPC-8164 layout
Figure 2-3: MPC-8164 PCB layout
Figure 2-4: MPC-8164 face plate
CN2: Input / Output Signal Connector
CN3: 8 DI / 8 DO Connector
JP1: IRQ selection
SW1: Base Address Selection
18Installation
2.4PXI-8164 layout
Figure 2-5: PXI-8164 layout and front panel
S1: Switch setting for EL logic
S2: Card ID setting from 0-11
J3: 4-CH isolated digital Input/output
J4: 4-axis pulser input interface
Installation 19
2.5PCI-8164/PXI-8164 hardware installation
2.5.1Hardware configuration
Since the PCI-8164/PXI-8164 card is Plug and Play, the memory
allocation (I/O port locations) and the IRQ channel are automatically assigned by the system BIOS. The address assignment is
done on a board-by-board basis for all PCI cards installed in the
system.
2.5.2PCI slot selection
The PCI-8164 card may be installed in any available PCI slot. The
PXI-8164 card may be installed in any PXI slot.
CAUTIONDo not install the PCI card into a PC/AT (ISA) slot.
2.5.3Installing the PCI-8164 card
1. Discharge any static buildup from your body by touching
the metal case of the computer. Hold the card on its
edges and avoid touching the components.
2. Set the card jumper(s) according to your requirements.
3. Turn off the computer and all connected peripherals,
then open the computer chassis.
4. Locate a 32-bit PCI slot. PCI slots are shorter than ISA
or EISA slots and usually comes in white or ivory.
5. Remove the metal bracket opposite the slot you want to
use. Keep the bracket screw for later use.
6. Insert the PCI card connectors (golden fingers) to the
slot, then press firmly until the card is properly seated on
the slot.
7. Secure the card with the bracket screw you removed
earlier, then replace the computer chassis.
8. Connect all peripherals, then turn the computer on.
20Installation
Installation notes
If your system doesn’t boot or if you experience erratic operation with your PCI board in place, it’s most likely caused by an
interrupt conflict (possibly an incorrect ISA setup). In general,
the solution, once determined it is not a simple oversight, is to
consult the BIOS documentation that comes with your system.
Check the control panel of the Windows system if the card is
listed by the system. If not, check the PCI settings in the BIOS
or use another PCI slot.
2.5.4Installing the PXI-8164 card
1. Follow steps 1 to 2 of the previous section.
2. Select an available PXI slot, then remove the metal
cover opposite the slot you want to use. Keep the metal
cover and screws for later use.
3. Align the card’s top and bottom edges with the chassis
card guides, then carefully slide it into the chassis.
4. Lift the card ejector latch until it locks in place.
5. Secure the card with two screws.
6. Connect all peripherals, then turn the computer on.
Installation 21
2.6MPC-8164 hardware installation
2.6.1Hardware configuration
The MPC-8164 card is PC104-compliant. The onboard DIP
switches and jumpers assign the card’s I/O port locations and IRQ
channels.
A single-board setup has a default setting of 0x200 and IRQ5. In
GEME systems, the default value varies depending on the location
of the card. Refer to the following table:
GEME level Base address IRQ
10x3009
20x2005
30x28010
Table 2-1: GEME hardware configuration
Base address setting
The base address is set by SW1 (pins 2 to 4). Note that pin 1 is
reserved. If all DIPs are set to OFF, the base address is 0x200.
Default settings are dependent on the order.
DIP Switch (2 3 4) Base Address DIP Switch (2 3 4) Base Address
1 1 10x3C01 1 00x2C0
0 1 10x3800 1 00x280
1 0 10x3401 0 00x240
0 0 10x3000 0 00x200
Table 2-2: Base Addresses
22Installation
IRQ setting
The JP1 setting assigns the IRQ channel.
Installation note
Make sure that the system has an aqvailable I/O address and
IRQ channel for the card. If there are none available, adjust the
card I/O address and IRQ channel to empty.
Installation 23
2.7Driver installation
PCI-8164/PXI-8164
1. Place the ADLINK All-In-One CD to the CD-ROM drive.
2. When the Autorun screen appears, select Driver Instal-lation > Motion Control > PCI-8164/PXI-8164.
3. Follow screen procedures to install, then restart the system after installation is completed.
NOTEWhen using MS-DOS, install the drivers from the \Motion
Control\PCI-8164\DOS_BC directory of the CD.
MPC-8164
1. Place the ADLINK All-In-One CD to the CR-ROM drive.
2. When the Autorun screen appears, select Driver Instal-lation > Motion Control > MPC-8164.
3. Launch the MPC-8164 Add/Remove utililty from the Start
menu or installed directory to register the new card. The
I/O address and IRQ channel must be the same with the
settings on the board.
4. Restart the computer.
NOTES When using MS-DOS, install the drivers from the \Motion
24Installation
Control\MPC-8164\DOS_BC directory of the CD.
You may also download the latest software from the
ADLINK website (www.adlinktech.com).
2.8CN1 pin assignments: External Power Input (PCI-
8164 only)
CN1 Pin NoNameDescription
1EGNDExternal power ground
2CN1_24V
NOTES
X CN1 is a plug-in terminal board with no screws.
X Use the external power supply. A +24V DC is used by exter-
nal input/output signal circuits. The power circuit configuration is shown below.
X Wires for connection to CN1:
Z Solid wire: ϕ0.32 mm to ϕ0.65 mm (AWG28 to AWG22)
Z Twisted wire: 0.08 mm
Z Naked wire length: 10 mm standard
The diagram below shows the external power supply system of
the PCI-8164. An external +24V power must be provided. An onboard regulator generates +5V for both internal and external use.
CAUTION The output current capacity of the +5V power source from
the onboard DC/DC is limited. DO NOT use this to drive
several devices simultaneously, especially stepper motors or external encoders.
NOTEMPC-8164 and PXI-8164 do not have the CN1 for power
input. Use the E_24V and EGND pins of CN2. L is an inductor for EMI use.
+24V DC ± 5% External power supply
2
to 0.32 mm2 (AWG28 to AWG22)
Installation 25
2.9CN3 pin assignments: Manual Pulse Input
(PCI-8164 only)
CN3 is for the manual pulse input.
No. NameFunction (Axis)
1DGNDBus power ground
2PB4Pulser B-phase signal input,
3PA4Pulser A-phase signal input,
4PB3Pulser B-phase signal input,
5PA3Pulser A-phase signal input,
6VCCBus power, +5V
7DGNDBus power ground
8PB2Pulser B-phase signal input,
9PA2Pulser A-phase signal input,
10PB1Pulser B-phase signal input,
11PA1Pulser A-phase signal input,
12VCCBus power, +5V
NOTEThe PCI bus provides the signals for the VCC and DGND
pins. These signals are not isolated.
26Installation
2.10 J4 pin assignments: Manual Pulse Input
(PXI-8164 only)
No. NameFunctionNo. NameFunction
1DGND Bus power ground2PB4Axis 3 Pulser PHB
3PA4Axis 4 Pulser PHA4PB3Axis 2 Pulser PHB
5PA3Axis 3 Pulser PHA6VCCBus Power +5V
7DGND Bus power ground8PB2Axis 1 Pulser PHB
9PA2Axis 1 Pulser PHA 10PB1Axis 0 Pulser PHB
11PA1Axis 0 Pulser PHA 12VCCBus Power +5V
13--N/A14--N/A
15--N/A16--N/A
17--N/A18--N/A
19--N/A20--N/A
Installation 27
2.11 CN3 pin assignments: General Purpose DIO
(MPC-8164 only)
Pin No Signal Name Pin No Signal Name
1DOCOM2DOCOM
3DOCOM4DOCOM
5DO06DO1
7DO28DO3
9DO410DO5
11DO612DO7
13--14DICOM
15DICOM16DICOM
17DICOM18DI0
19DI120DI2
21DI322DI4
23DI524DI6
25DI726--
28Installation
2.12 J3 pin assignments: Isolated DIO
(PXI-8164 only)
No. NameFunction No.NameFunction
1DICOM Digital In Common2DOCOM Digital Out Common
3DI0Input Channel 04DO0Output Channel 0
5DI1Input Channel 16DO1Output Channel 1
7DICOM Digital In Common8DOCOM Digital Out Common
9DI2Input Channel 210DO2Output Channel 2
11DI3Input Channel 312DO3Ouput Channel 3
13 DICOM Digital In Common 14 DOCOM Digital Out Common
15--N/A16--N/A
17--N/A18--N/A
19--N/A20--N/A
Installation 29
2.13 CN2 pin assignments: Main Connector
CN2 is the major connector for the motion control I/O signals.
2.16 Jumper setting for pulse output (PCI-8164 only)
J1 - J8 sets the type of pulse output signals (DIR and OUT). The
output signal type may either be differential line driver or open collector output. Refer to section 3.1 for detailed jumper settings. The
default setting is differential line driver mode.
34Installation
2.17 Switch setting for EL Logic
The S1 switch sets the EL limit switching type. By default the EL
switch is set to ON, which is the “normally open” position (or "A"
contact type), while OFF is the “normally closed” position (or “B”
contact type).
For safety reasons, you must set a type that will make the endlimit active when it is broken or disconnected.
NOTEMPC-8164 uses a software function for this setting.
Installation 35
2.18 CN3 pin assignment: General Purpose DI/DO
ports (MPC-8164 only)
CN3 Pin No Signal Name CN3 Pin No Signal Name
1DOCOM2DOCOM
3DOCOM4DOCOM
5DO06DO1
7DO28DO3
9DO410DO5
11DO 612DO 7
13--14DICOM
15DICOM16DICOM
17DICOM18DI0
19DI120DI2
21DI322DI4
23DI524DI6
25DI726--
36Installation
2.19 S2 card ID switch setting (PXI-8164 only)
Card ID Switch Setting (ON=1)
00000
10001
20010
30011
40100
50101
60110
70111
81000
91001
101010
111011
NOTEOther settings are invalid. In order to enable this function,
see section 6.21.
Installation 37
38Installation
3Signal Connections
This chapter describes the signal connections of the card I/Os.
Refer to the contents of this chapter before wiring any cables
between the card and any motor drivers.
This chapter contains the following sections:
X Section 3.1Pulse Output Signals OUT and DIR
X Section 3.2Encoder Feedback Signals EA, EB and EZ
X Section 3.3Origin Signal ORG
X Section 3.4End-Limit Signals PEL and MEL
X Section 3.5Ramping-down & PCS signals
X Section 3.6In-position signals INP
X Section 3.7Alarm signal ALM
X Section 3.8Deviation counter clear signal ERC
X Section 3.9General-purposed signals SVON
X Section 3.10 General-purposed signal RDY
X Section 3.11 Position compare output pin: CMP
X Section 3.12 Position latch input pin: LTC
X Section 3.13 Pulse input signals PA and PB
X Section 3.14 Simultaneous start/stop signals STA and STP
X Section 3.15 General-purposed TTL DIO
X Section 3.16 Termination Board
X Section 3.17 General-purposed DIO
Signal Connections 39
3.1Pulse Output Signals OUT and DIR
The PCI-/MPC-/PXI-8164 has 4 axis pulse output signals. Each
axis has two pairs of OUT and DIR signals to transmit the pulse
train and to indicate the direction. The OUT and DIR signals may
also be programmed as CW and CCW signal pairs. Refer to section 4.1.1 for details of the logical characteristics of the OUT and
DIR signals. This section details the electrical characteristics of
the OUT and DIR signals. Each signal consists of a pair of differential signals. For example, OUT2 consists of OUT2+ and OUT2signals. The following table shows all pulse output signals on CN2.
CN2 Pin No. Signal NameDescriptionAxis #
3OUT1+Pulse signals (+)1
4OUT1-Pulse signals (-)1
5DIR1+Direction signal (+)1
6DIR1-Direction signal (-)1
21OUT2+Pulse signals (+)2
22OUT2-Pulse signals (-)2
23DIR2+Direction signal (+)2
24DIR2-Direction signal (-)2
53OUT3+Pulse signals (+)3
54OUT3-Pulse signals (-)3
55DIR3+Direction signal (+)3
56DIR3-Direction signal (-)3
71OUT4+Pulse signals (+)4
72OUT4-Pulse signals (-)4
73DIR4+Direction signal (+)4
74DIR4-Direction signal (-)4
The output of the OUT or DIR signals can be configured by jumpers as either differential line drivers or open collector output. For
PCI-8164 card, you can select the output mode by closing either
breaks between 1 and 2 or 2 and 3 of jumpers J1-J8.
40Signal Connections
For differential line driver
Output Signal
OUT1-J1J1
DIR1-J2J2
OUT2-J3J3
DIR2-J4J4
OUT3-J5J5
DIR3-J6J6
OUT4-J7J7
DIR4-J8J8
output, close breaks
between 1 and 2 of:
For open collector out-
put, close breaks
between 2 and 3 of:
By default, the OUT and DIR are set to differential line driver
mode.
The wiring diagram below illustrates the OUT and DIR signals on
the 4 axes of PCI-8164 card.
NOTEWhen the pulse output is set to open collector output
mode, OUT- and DIR- transmits OUT signals. The sink
current must not exceed 20 mA on the OUT- and DIRpins. By default, pin 1-2 of the jumper is shorted.
USAGEShort pin 2-3 of the jumper and connect OUT+/DIR+ to a
470 ohm pulse input interface’s COM of driver. See the
following figure.
Signal Connections 41
MPC-8164/PXI-8164
Non-differential type wiring example
(MPC-8164/PXI-8164, or PCI-8164 when pin 2-3 of the jumper
is shorted)
Choose one of OUT/DIR+ and OUT/DIR- to connect to the
driver’s OUT/DIR.
WARNING The sink current must not exceed 20 mA to prevent dam-
age to the PCI-/MPC-/PXI-8164 card!
42Signal Connections
3.2Encoder Feedback Signals EA, EB and EZ
The encoder feedback signals include EA, EB, and EZ. Every axis
has six pins for three differential pairs of phase-A (EA), phase-B
(EB), and index (EZ) inputs. EA and EB are used for position
counting, and EZ is used for zero position indexing. The following
table shows the relative signal names, pin numbers, and axis
numbers.
CN2 Pin No Signal Name Axis # CN2 Pin No Signal Name Axis #
13EA1+163EA3+3
14EA1-164EA3-3
15EB1+165EB3+3
16EB1-166EB3-3
31EA2+281EA4+4
32EA2-282EA4-4
33EB2+283EB4+4
34EB2-284EB4-4
CN2 Pin No Signal Name Axis # CN2 Pin No Signal Name Axis #
17EZ1+167EZ3+3
18EZ1-168EZ3-3
35EZ2+285EZ4+4
36EZ2-286EZ4-4
The diagram below shows the input circuit of the EA, EB, and EZ
signals.
Note that the voltage across each differential pair of encoder input
signals (EA+, EA-), (EB+, EB-), and (EZ+, EZ-) should be at least
3.5V. Therefore, the output current must be observed when con-
necting to the encoder feedback or motor driver feedback to avoid
Signal Connections 43
over driving the source. The differential signal pairs are converted
to digital signals EA, EB, and EZ, then feed to the PCL6045 ASIC.
Below are examples of input signal connection with an external
circuit. The input circuit may be connected to an encoder or motor
driver if it is equipped with a differential line driver or an open collector output.
Connection to line driver output
To drive the card encoder input, the driver output must provide
at least 3.5V across the differential pairs with at least 6 mA
driving capacity. The grounds of both sides must be tied
together. The maximum frequency will be 4 Mhz or more
depending on the wiring distance and signal conditioning.
Connection to open collector output
You need an external power supply to connect with an open
collector output. Some motor drivers provide the power source.
The diagram below shows the connection between the card,
encoder, and the power supply. Note that an external current
limiting resistor R is necessary to protect the card’s input circuit. The following table lists the suggested resistor values
according to the encoder power supply.
Encoder Power (V) External Resistor R
+5V
+12V
+24V
I
= 6 mA max
f
44Signal Connections
0Ω(None)
1.8kΩ
4.3kΩ
For more operation information on the encoder feedback signals,
refer to section 4.4.
Signal Connections 45
3.3Origin Signal ORG
The origin signals (ORG1-ORG4) are used as input signals for the
origin of the mechanism. The table below lists signal names, pin
numbers, and axis numbers.
CN2 Pin No Signal Name Axis #
41ORG11
47ORG22
91ORG33
97ORG44
The input circuit of the ORG signals is shown below. Usually, a
limit switch is used to indicate the origin on one axis. The specifications of the limit switch should have contact capacity of +24 V @
6 mA minimum. An internal filter circuit is used to filter out any high
frequency spikes, which may cause errors in the operation.
When the motion controller is operated in the home return mode,
the ORG signal is used to inhibit the control output signals (OUT
and DIR). For detailed operations of the ORG signal, refer to section 4.3.3.
46Signal Connections
3.4End-Limit Signals PEL and MEL
There are two end-limit signals PEL and MEL for each axis. PEL
indicates the end limit signal is in the plus direction and MEL indicates the end limit signal is in the minus direction. The signal
names, pin numbers, and axis numbers are shown in the table
below.
CN2 Pin No Signal Name Axis # CN2 Pin No Signal Name Axis #
37PEL1187PEL33
38MEL1188MEL33
43PEL2293PEL44
44MEL2294MEL44
A circuit diagram is provided below. The external limit switch
should have a contact capacity of +24V @ 6 mA minimum. Either
‘A-type’ (normal open) contact or ‘B-type’ (normal closed) contact
switches can be used. To set the type of switch, configure
dipswitch S1/SW2. By default, all bits of S1 on the card are set to
ON (refer to section 2.10). For more details on EL operation, refer
to section 4.3.2.
Signal Connections 47
3.5Ramping-down and PCS
There is a SD/PCS signal for each of the 4 axes. The signal
names, pin numbers, and axis numbers are shown in the table
below.
CN2 Pin No Signal Name Axis #
40SD1/PCS11
46SD2/PCS22
90SD3/PCS33
96SD4/PCS44
A circuit diagram is shown below. Typically, the limit switch is used
to generate a slow-down signal to drive motors operating at slower
speeds. For more details on SD/PCS operation, refer to section
4.3.1.
48Signal Connections
3.6In-position Signal INP
The in-position signal INP from a servo motor driver indicates its
deviation error. If there is no deviation error, then the servo’s position indicates zero. The signal names, pin numbers, and axis numbers are shown in the table below.
CN2 Pin No Signal Name Axis #
10INP11
28INP22
60INP33
78INP44
The diagram below shows the input circuit of the INP signals.
The in-position signal is usually generated by the servomotor
driver and is ordinarily an open collector output signal. An external
circuit must provide at least 5 mA current sink capabilities to drive
the INP signal. For more details of INP signal operations, refer to
section 4.2.1.
Signal Connections 49
3.7Alarm Signal ALM
The alarm signal ALM indicates the alarm status from the servo
driver. The signal names, pin numbers, and axis numbers are
shown in the table below.
CN2 Pin No Signal Name Axis #
9ALM11
27ALM22
59ALM33
77ALM44
The input alarm circuit diagram is provided. The ALM signal is
usually generated by the servomotor driver and is ordinarily an
open collector output signal. An external circuit must provide at
least 5 mA current sink capabilities to drive the ALM signal. For
more details of ALM signal operations, refer to section 4.2.2.
50Signal Connections
3.8Deviation Counter Clear Signal ERC
The deviation counter clear signal (ERC) is active for the following
situations:
1. Home return is complete
2. End-limit switch is active
3. An alarm signal stops OUT and DIR signals
4. An emergency stop command is issued by software
(operator)
The signal names, pin numbers, and axis numbers are shown in
the table below.
CN2 Pin No Signal Name Axis #
8ERC11
26ERC22
58ERC33
76ERC44
The ERC signal clears the deviation counter of the servomotor
driver. The ERC output circuit is an open collector with a maximum
of 35V at 50 mA driving capacity. For more details on ERC operation, refer to section 4.2.3.
Signal Connections 51
3.9General-purpose Signal SVON
The SVON signal can be used as a servomotor-on control or general purpose output signal. The signal names, pin numbers, and
its axis numbers are shown in the following table.
CN2 Pin No Signal Name Axis #
7SVON11
25SVON22
57SVON33
75SVON44
The output circuit for the SVON signal is shown below:
52Signal Connections
3.10 General-purpose Signal RDY
The RDY signals can be used as motor driver ready input or general purpose input signals. The signal names, pin numbers, and
axis numbers are shown in the table below.
CN2 Pin No Signal Name Axis #
11RDY11
29RDY22
61RDY33
79RDY44
The input circuit of RDY signal is shown in this diagram.
Signal Connections 53
3.11 Position compare output pin: CMP
The card provides 2 comparison output channels: CMP1 and
CMP2, used by the first 2 axes, 1 and 2. The comparison output
channel generates a pulse signal when the encoder counter
reaches a pre-set value set by the user.
The CMP channel is located on CN2. The signal names, pin numbers, and axis numbers are shown below.
CN2 Pin No Signal Name Axis #
39CMP11
45CMP22
The wiring diagram below shows the CMP on the first 2 axes.
NOTECMP trigger type may be set to normal low (rising edge)
or normal high (falling edge). Default setting is normal
high. Refer to function _8164_set_trigger_type() in section 6.16 for details.
The CMP pin can be regarded as a TTL output.
54Signal Connections
3.12 Position latch input pin: LTC
The card provides 2 position latch input channels: LTC3 and LTC4,
used by the last 2 axes, 3 and 4. The LTC signal triggers the
counter-value-capturing functions, which provides a precise position determination.
The LTC channel is on CN2. The signal names, pin numbers, and
axis numbers are shown below.
CN2 Pin No Signal Name Axis #
89LTC33
95LTC44
The wiring diagram below shows the LTC of the last 2 axes.
Signal Connections 55
3.13 Pulser Input Signals PA and PB (PCI-8164 only)
The PCI-8164 accepts input pulser signals through the CN3 pins
listed below. The pulses behave like an encoder. The signals generate the positioning information that guides the motor.
CN3 Pin No Signal Name Axis # CN3 Pin No Signal Name Axis #
11PA115PA33
10PB114PB33
9PA223PA44
8PB222PB44
The CN3 PA and PB pins are directly connected to PA and PB
pins of the PCL6045. The interface circuit is shown below.
If the signal voltage of the pulser is not +5V or if the pulser is distantly placed, it is recommended that a photocoupler or a line
driver be installed in between. Note that the CN3 +5V and DGND
lines are provided from the PCI bus, and that this source is not isolated.
56Signal Connections
3.14 Simultaneously Start/Stop Signals STA and STP
(PCI-8164 only)
The PCI-8164 provides STA and STP signals that enable simultaneous start/stop of motions on multiple axes. The STA and STP
signals are located on CN4.
The diagram below shows the tied STA and STP signals of the
four axes.
Both STP and STA signals are input and output signals. To operate the start and stop action simultaneously, both software control
and external control are needed. With software control, the signals
can be generated from any one of the PCL6045. You can also use
an external open collector or switch to drive the STA/STP signals
for simultaneous start/stop.
If there are two or more PCI-8164 cards, cascade the CN4 connectors of all cards for simultaneous start/stop control on all concerned axes. In this case, connect CN4 as shown below.
The following diagram shows how to allow an external signal to initiate the simultaneous start/stop connect a 7406 (open collector)
or an equivalent circuit.
Signal Connections 57
58Signal Connections
3.15 General Purpose TTL Output (PCI-8164 only)
The PCI-8164 provides six general purpose TTL digital outputs.
The TTL output is located on CN5. The signal names, pin numbers, and axis numbers are listed below.
Pin No. NameFunction
1DGNDDigital ground
2DGNDDigital ground
3ED0Digital Output 0
4ED1Digital Output 1
5ED2Digital Output 2
6ED3Digital Output 3
7ED4Digital Output 4
8ED5Digital Output 5
9VCCVCC +5V
The diagram shows the LTC of the last 2 axes.
Signal Connections 59
3.16 Termination board
The card’s CN2 can be connected with a DIN-100M15, including
the ACL-102100 — a 100-pin SCSI-II cable. The DIN-100M15 is a
general purpose 100-pin, SCSI-II DIN socket. It has convenient
wiring screw terminals and an easy-install DIN socket that can be
mounted to the DIN rails.
ADLINK also provides DIN-814M termination boards for Mitsubishi
J2S servo motor drivers, DIN-814PA termination board for Panasonic Minas A servo motor drivers, DIN-814M-J3A termination
board for Mitsubishi J3A Servo motor drviers, and DIN-814Y termination board for Yaskawa sigma-II servo motor driver.
60Signal Connections
3.17 General Purpose DIO (MPC-8164/PXI-8164 only)
MPC-8164 has eight opto-isolated digital outputs and eight open
collector digital inputs for general purpose use. Pin assignments
are listed in the table below.
CN3 Pin No Signal Name CN3 Pin No Signal Name
1DOCOM2DOCOM
3DOCOM4DOCOM
5DO06DO1
7DO28DO3
9DO410DO5
11DO 612DO 7
13--14DICOM
15DICOM16DICOM
17DICOM18DI0
19DI120DI2
21DI322DI4
23DI524DI6
25DI726--
PXI-8164 has four opto-isolated digital outputs and four open collector digital inputs for general purpose use. Pin assignments are
listed in the following table.
No. NameFunction No.NameFunction
1DICOM Digital In Common2DOCOM Digital Out Common
3DI0Input Channel 04DO0Output Channel 0
5DI1Input Channel 16DO1Output Channel 1
7DICOM Digital In Common8DOCOM Digital Out Common
9DI2Input Channel 210DO2Output Channel 2
11DI3Input Channel 312DO3Ouput Channel 3
13 DICOM Digital In Common 14 DOCOM Digital Out Common
15--N/A16--N/A
17--N/A18--N/A
19--N/A20--N/A
Signal Connections 61
3.17.1 Isolated input channels
3.17.2 Isolated output channels
62Signal Connections
3.17.3 Example of input connection
Signal Connections 63
3.17.4 Example of output connections
64Signal Connections
4Operation Theory
This chapter describes the detailed operation of the 8164PCI-/
MPC-/PXI-8164 card via the following sections:
X Section 4.1:The motion control modes
X Section 4.2:The motor driver interface (INP, ERC, ALM,
SVON, RDY)
X Section 4.3:The limit switch interface and I/O status (SD/
PCS, EL, ORG)
X Section 4.4:The counters (EA, EB, EZ)
X Section 4.5:Multiple card operation
X Section 4.6:Change position or speed on the fly
X Section 4.7:Position compare and latch
X Section 4.8:Hardware backlash compensator
X Section 4.9:Software limit function
X Section 4.10: Interrupt control
X Section 4.11: PXI Trigger Bus
Operation Theory 65
4.1Motion Control Modes
This section describes the pulse output signal configuration and
motion control modes.
X 4.1.1 Pulse command output
X 4.1.2 Velocity mode motion for one axis
X 4.1.3 Trapezoidal motion for one axis
X 4.1.4 S-Curve profile motion for one axis
X 4.1.5 Linear interpolation for 2-4 axes
X 4.1.6 Circular interpolation for 2 axes
X 4.1.7 Circular interpolation with acc/dec time
X 4.1.8 Relationship between velocity and acceleration time
X 4.1.9 Continuous motion for multiple-axis
X 4.1.10 Home return mode for one axis
X 4.1.11 Home Search mode for one axis
X 4.1.12 Manual pulse mode for one axis
X 4.1.13 Synchronous starting modes
66Operation Theory
4.1.1Pulse Command Output
The PCI-/MPC-/PXI-8164 uses pulse commands to control servo/
stepper motors via the drivers. A pulse command has two signals:
OUT and DIR. There are two command types: (1) single pulse output mode (OUT/DIR), and (2) dual-pulse output mode (CW/CCW
type pulse output). The software function,
_8164_set_pls_outmode(), is used to program the pulse
command mode. The modes vs. signal type of OUT and DIR pins
are listed in the table below.
ModeOutput of OUT pin Output of DIR pin
Dual pulse output (CW/CCW)
Single pulse output (OUT/DIR)Pulse signal
Pulse signal in plus
(or CW) direction
The interface characteristics of these signals can be differential
line driver or open collector output. Refer to section 3.1 for the
jumper setting for different signal types.
Single Pulse Output Mode (OUT/DIR Mode)
In this mode, the OUT signal is for the command pulse (position or velocity) chain. The numbers of OUT pulse represent
the relative distance or position. The frequency of the OUT
pulse represents the command for speed or velocity. The DIR
signal represents direction command of positive (+) or negative
(-). This mode is most commonly used. The diagrams below
Pulse signal in
minus (or CCW)
direction
Direction signal
(level)
Operation Theory 67
show the output waveform. It is possible to set the polarity of
the pulse chain.
Dual Pulse Output Mode (CW/CCW Mode)
In this mode, the waveform of the OUT and DIR pins represent
CW (clockwise) and CCW (counter clockwise) pulse output,
respectively. Pulses output from the CW pin makes the motor
move in positive direction, whereas pulse output from the CCW
pin makes the motor move in negative direction. The following dia-
68Operation Theory
gram shows the output waveform of positive (+) commands and
negative (-) commands.
A/B Phase Pulse Output Mode (A/B phase Mode)
In this mode, the waveform of the OUT and DIR pins represent Aphase and B-phase pulse output, respectively. Pulses output from
the OUT pin leading makes the motor move in positive direction,
whereas pulse output from the DIR pin leading makes the motor
move in negative direction. The following diagram shows the out-
Operation Theory 69
put waveform of positive (+) commands and negative (-) commands. This mode is not available in older version boards.
Related function:
X _8164_set_pls_outmode(): Refer to section 6.4.
70Operation Theory
4.1.2Velocity mode motion
This mode is used to operate a one-axis motor with velocity mode
motion. The output pulse accelerates from a starting velocity
(StrVel) to a specified maximum velocity (MaxVel). The
_8164_tv_move() function is used for constant linear acceleration while the _8164_sv_move() function is use for acceleration
according to the S-curve. The pulse output rate is kept at maximum velocity until another velocity command is set or a stop command is issued. The _8164_v_change() is used to change the
speed during an operation. Before this function is applied, make
sure to call _8164_fix_speed_range(). Refer to section 4.6
for more information. The _8164_sd_stop() function is used to
decelerate the motion until it stops. The _8164_emg_stop()
function is used to immediately stop the motion. These change or
stop functions follow the same velocity profile as its original move
functions, tv_move or sv_move. The velocity profile is shown
below.
NOTEThe v_change and stop functions can also be applied to
Preset Mode (both trapezoidal, refer to 4.1.3, and S-curve Motion, refer to 4.1.4) or Home Mode (refer to 4.1.8).
Related functions:
X _8164_tv_move(), _8164_sv_move(), _8164_v_change(),
_8164_sd_stop(), _8164_emg_stop(),
_8164_fix_speed_range(), _8164_unfix_speed_range():
Refer to section 6.5
Operation Theory 71
4.1.3Trapezoidal motion
This mode moves a singe axis motor to a specified position (or
distance) with a trapezoidal velocity profile. The single axis is controlled from point to point. An absolute or relative motion can be
performed. In absolute mode, the target position is assigned. In
relative mode, the target displacement is assigned. In both cases,
the acceleration and deceleration may be different. The function
_8164_motion_done() is used to check whether the movement
is completed.
The diagram shows the trapezoidal profile.
The card supports 2 trapezoidal point-to-point functions. In the
_8164_start_ta_move() function, the absolute target position
must be given in units of pulses. The physical length or angle of
one movement is dependent on the motor driver and mechanism
(including the motor). Since absolute move mode needs the information of current actual position, the “External encoder feedback
(EA, EB pins)” should be set in _8164_set_feedback_src()
function. The ratio between command pulses and external feedback pulse input must be appropriately set by the
_8164_set_move_ratio() function.
In the _8164_start_tr_move() function, the relative displacement must be given in units of pulses. Unsymmetrical trapezoidal
velocity profile (Tacc is not equal Tdec) can be specified with
both _8164_start_ta_move() and
_8164_start_tr_move() functions.
72Operation Theory
The StrVel and MaxVel parameters are given in units of pulses per
second (PPS). The Tacc and Tdec parameters are in units of second to represent accel./decel. time respectively. You must know
the physical meaning of “one pulse” to calculate the physical value
of the relative velocity or acceleration parameters. The following
formula gives the basic relationship between these parameters:
X MaxVel = StrVel + accel*Tacc;
X StrVel = MaxVel + decel *Tdec;
Where accel/decel represents the acceleration/deceleration rate in
units of pps/sec^2. The area inside the trapezoidal profile represents the moving distance.
Units of velocity setting are pulses per second (PPS). Usually,
units of velocity of the manual of motor or driver are in rounds per
minute (RPM). A simple conversion is necessary to match
between these two units. Here we use an example to illustrate the
conversion:
A servomotor with an AB phase encoder is used in a X-Y table.
The resolution of encoder is 2000 counts per phase. The maximum rotating speed of motor is designed to be 3600 RPM. What is
the maximum pulse command output frequency that you have to
set on 8164?
Answer: MaxVel = 3600/60*2000*4 = 480000 PPS
Multiplying by 4 is necessary because there are four states per AB
phase (See Section 4.4).
Usually, the axes need to set the move ratio if their mechanical
resolution is different from the resolution of command pulse. For
example, if an incremental encoder is mounted on the working
table to measure the actual position of moving part. A servomotor
is used to drive the moving part through a gear mechanism. The
gear mechanism is used to convert the rotating motion of the
motor into linear motion (see the following diagram). If the resolution of the motor is 8000 pulses/round, then the resolution of the
gear mechanism is 100 mm/round (i.e., part moves 100 mm if the
motor turns one round). Then, the resolution of the command
pulse will be 80 pulses/mm. If the resolution of the encoder mounting on the table is 200 pulses/mm, then you have to set the move
Operation Theory 73
ratio to 200/80=2.5 using the function _8164_set_move_ratio
(axis, 2.5).
If this ratio is not set before issuing the start moving command, it
will cause problems when running in “Absolute Mode” because the
8164 won’t recognize the actual absolute position during motion.
Related functions:
X _8164_start_ta_move(), _8164_start_tr_move(): Refer to
section 6.6
X _8164_motion_done(): Refer to section 6.11
X _8164_set_feedback_src(): Refer to section 6.4
X _8164_set_move_ratio(): Refer to section 6.6
74Operation Theory
4.1.4S-curve profile motion
This mode moves a single-axis motor to a specified position (or
distance) with an S-curve velocity profile. S-curve acceleration
profiles are useful for both stepper and servomotors. The smooth
transitions between the start of the acceleration ramp and transition to constant velocity produce less wear and tear than a trapezoidal profile motion. The smoother performance increases the life
of the motor and the mechanics of the system.
There are several parameters that need to be set in order to make
a S-curve move. These include:
Pos:target position in absolute mode, in units of pulses
Dist:moving distance in relative mode, in units of pulses
StrVel:start velocity, in units of PPS
MaxVel: maximum velocity, in units of PPS
Tacc: time for acceleration (StrVel -> MaxVel), in units of seconds
Tdec:time for deceleration (MaxVel -> StrVel), in units of seconds
VSacc:S-curve region during acceleration, in units of PPS
VSdec:S-curve region during deceleration, in units of PPS
Normally, the accel/decel period consists of three regions: two
VSacc/VSdec curves and one linear. During VSacc/VSdec, the
jerk (second derivative of velocity) is constant, and during the linear region, the acceleration (first derivative of velocity) is constant.
In the first constant jerk region during acceleration, the velocity
Operation Theory 75
goes from StrVel to (StrVel + VSacc). In the second constant jerk
region during acceleration, the velocity goes from (MaxVel –
StrVel) to MaxVel. Between them, the linear region accelerates
velocity from (StrVel + VSacc) to (MaxVel - VSacc) constantly. The
deceleration period is similar in fashion.
Special case:
If you want to disable the linear region, the VSacc/VSdec must be
assigned 0 rather than 0.5 (MaxVel-StrVel).
Remember that the VSacc/VSdec is in units of PPS and it should
always keep in the range of [0 to (MaxVel - Strvel)/2 ], where “0”
means no linear region.
The S-curve profile motion functions are designed to always produce smooth motion. If the time for acceleration parameters combined with the final position don’t allow an axis to reach the
maximum velocity (i.e. the moving distance is too small to reach
MaxVel), then the maximum velocity is automatically lowered (see
the figure below).
The rule is to lower the value of MaxVel and the Tacc, Tdec,
VSacc, VSdec automatically, and keep StrVel, acceleration, and
jerk unchanged. This is also applicable for trapezoidal profile
motion.
76Operation Theory
Related functions:
X _8164_start_sr_move(),_8164_start_sa_move(): Refer to
section 6.6
X _8164_motion_done(): Refer to section 6.11
X _8164_set_feedback_src(): Refer to section 6.4
X _8164_set_move_ratio(): Refer to section 6.6
The following table shows the differences between all single axis
motion functions, including preset mode (both trapezoidal and Scurve motion) and constant velocity mode.
4.1.5Linear interpolation for 2-4 axes
In this mode, any two of four, three of four, or all four axes may be
chosen to perform linear interpolation. Interpolation betweenmulti-axes means these axes start simultaneously, and reach
their ending points at the same time. Linear means the ratio of
speed of every axis is a constant value.
Note that you cannot use two groups of two axes for linear interpolation on a single card at the same time. You can however, use
one 2-axis linear and one 2-axis circular interpolation at the same
time. If you want to stop an interpolation group, use the
_8164_sd_stop() or _8164_emg_stop() function.
Operation Theory 77
2 axes linear interpolation
In the diagram below, 2-axis linear interpolation means to move
the XY position (or any two of the four axis) from P0 to P1. The
2 axes start and stop simultaneously, and the path is a straight
line.
The speed ratio along X-axis and Y-axis is (
tively, and the vector speed is:
When calling 2-axis linear interpolation functions, the vectorspeed needs to define the start velocity, StrVel, and maximum
velocity, MaxVel. Both trapezoidal and S-curve profiles are
available.
0.1, 0.2) will cause the XY axes (axes 0 & 1) of Card 0 to perform
a linear interpolation movement, in which:
∆X: ∆Y), respec-
∆X = 30000 pulses; ∆Y = 40000 pulses
Start vector speed=1000pps, X speed=600pps, Y speed = 800pps
Max. vector speed =5000pps, X speed=3000pps, Y speed =
4000pps
Acceleration time = 0.1sec; Deceleration time = 0.2sec
There are two groups of functions that provide 2-axis linear interpolation. The first group divides the four axes into XY (axis 0 &
axis 1) and ZU (axis 2 & axis 3). By calling these functions, the target axes are already assigned.
The second group allows you to freely assign the two target axes.
_8164_start_tr_line2(), _8164_start_sr_line2(),
_8164_start_ta_line2(), _8164_start_sa_line2()
(Refer to section 6.7)
The characters “t”, “s”, “r”, and “a” after _8164_start mean:
t – Trapezoidal profile
s – S-Curve profile
r – Relative motion
a – Absolute motion
3-axis linear interpolation
Any three of the four axes of the card may perform 3-axis linear
interpolation. As shown the figure below, 3-axis linear interpolation means to move the XYZ (if axes 0, 1, 2 are selected and
assigned to be X, Y, Z, respectively) position from P0 to P1,
starting and stopping simultaneously. The path is a straight line
in space.
Operation Theory 79
The speed ratio along X-axis, Y-axis, and Z-axis is (∆X: ∆Y:
∆Z), respectively, and the vector speed is:
When calling 3-axis linear interpolation functions, the vector
speed is needed to define the start velocity, StrVel, and maxi-
mum velocity, MaxVel. Both trapezoidal and S-curve profiles
are available.
The following functions are used for 3-axis linear interpolation:
_8164_start_tr_line3(), _8164_start_sr_line3()
_8164_start_ta_line3() , _8164_start_sa_line3()
(Refer to section 6.7)
The characters “t”, “s”, “r”, and “a” after _8164_start mean:
t – Trapezoidal profile
14
14
14
14
14
14
s – S-Curve profile
r – Relative motion
80Operation Theory
a – Absolute motion
4-axis linear interpolation
With 4-axis linear interpolation, the speed ratio along X-axis, Yaxis, Z-axis and U-axis is (
the vector speed is:
The following functions are used for 4-axis linear interpolation:
_8164_start_tr_line4(), _8164_start_sr_line4()
_8164_start_ta_line4(),_8164_start_sa_line4()
(Refer to section 6.7)
The characters “t”, “s”, “r”, and “a” after _8164_start mean:
t – Trapezoidal profile
s – S-Curve profile
r – Relative motion
a – Absolute motion
∆X: ∆Y: ∆Z: ∆U), respectively, and
Operation Theory 81
4.1.6Circular interpolation for 2 axes
Any 2 of the 4 axes of the card can perform circular interpolation.
In the example below, circular interpolation means XY (if axes 0, 1
are selected and assigned to be X, Y respectively) axes simultaneously start from initial point, (0,0) and stop at end
point,(1800,600). The path between them is an arc, and the MaxVel is the tangential speed. Notice that if the end point of arc is not
at a proper position, it will move circularly without stopping.
Example
_8164_start_a_arc_xy(0 /*card No*/, 1000,0 /*center X*/, 0 /*cen-
ter Y*/, 1800.0 /* End X */, 600.0 /*End Y */ ,1000.0 /* MaxVel */)
To specify a circular interpolation path, the following parameters
must be clearly defined:
Center point: The coordinate of the center of arc (In absolute mode)
or the off_set distance to the center of arc (In relative
mode)
End point: The coordinate of end point of arc (In absolute mode)
Direction: The moving direction, either CW or CCW.
It is not necessary to set radius or angle of arc, since the information above gives enough constrains. The arc motion is stopped
when either of the two axes reached end point.
There are two groups of functions that provide 2-axis circular interpolation. The first group divides the four axes into XY (axis 0 and
or the off_set distance to center of arc (In relative
mode)
82Operation Theory
axis 1) and ZU (axis 2 and axis 3). By calling these functions, the
target axes are already assigned.
The second group allows user to freely assign any targeted two
axes.
_8164_start_r_arc2(),_8164_start_a_arc2(): Refer to section 6.8
Operation Theory 83
4.1.7Circular interpolation with Acc/Dec time
In section 4.1.6, the circular interpolation functions do not support
acceleration and deceleration parameters. Therefore, they cannot
perform a T or S curve speed profile during operation. However,
sometimes the need for an Acc/Dec time speed profile will help a
machine to make more accurate circular interpolation. The 8164
card has another group of circular interpolation functions to perform this type of interpolation, but requires the use of Axis3 as an
aided axis, which means that Axis3 cannot be used for other purposes while running these functions. For example, to perform a
circular interpolation with a T-curve speed profile, the function
_8164_start_tr_arc_xyu() is used. This function will use
Axis0 and Axis1, and also Axis3 (Axis0=x, Axis1=y, Axis2=z,
Axis3=u). For the full lists of functions, refer to section 6.8.
To check if the card supports these functions use the
_8164_version_info() function. If hardware information for
the card returns a value with the 4th digit greater then 0, for example '1003', users can use this group of circular interpolation to perform S or T-curve speed profiles. If the hardware version returns a
value with the 4th digit being 0, then the card does not support
these functions.
84Operation Theory
4.1.8Relationship between velocity and acceleration
time
The maximum velocity parameter of a motion function will eventually have a minimum acceleration value. This means that there is a
range for acceleration time over one velocity value. Under this
relationship, to obtain a small acceleration time, a higher maximum velocity value to match the smaller acceleration time is
required. Function _8164_fix_speed_range() will provide
such operation. This function will raise the maximum velocity
value, which in turn results in a smaller acceleration time. Note it
does not affect the actual end velocity. For example, to have a
1ms acceleration time from a velocity of 0 to 5000 (pps), the function can be inserted before the motion function as shown.
How do users decide an optimum value for “OverVelocity” in the
_8164_fix_speed_range() function? The _8164_verify_speed()
function is provided to calculate such value. The inputs to this
function are the start velocity, maximum velocity and over velocity
values. The output value will be the minimum and maximum values of the acceleration time.
For example, if the original acceleration range for the command is:
The value miniAccT will be 0.0267sec and maxAccT will be
873.587sec. This minimum acceleration time does not meet the
requirement of 1mS. To achieve such a low acceleration time the
over speed value must be used.
X The return value of _8164_verify_speed() is the mini-
mum velocity of motion command, it does not always equal
to your start velocity setting. In the above example, it will be
3pps more than the 0pps setting.
X To disable the fix speed function
_8164_fix_speed_range() use
_8164_unfix_speed_range()
X Minimize the use of the OverVelocity operation. the more it
is used, the coarser the speed interval is.
86Operation Theory
Example:
User’s Desired Profile: (MaxV2, Target T) is not possible under
MaxV2 according to the (MaxV, MiniT) relationship. So one must
change the (MaxV, MiniT) relationship to a higher value, (MaxV1,
MiniT1). Finally, the command would be:
The card allows you to perform continuous motion. Both single
axis movement (section 4.1.3: Trapezoidal, section 4.1.4: SCurve) and multi-axis interpolation (4.1.5: linear interpolation,
4.1.6: circular interpolation) can be extended to be continuous
motion.
For example, if a user calls the following function to perform a single axis preset motion:
1) _8164_set_continuous_move(0, 1)
It enables the continuous move function by keeping current position in internal variable. If this function is not enabled, the second
motion function will return busy status and can not do continuous
motion.
It causes the axis “0” to move to position “50000.0.” Before the
axis arrives, the user can call a second motion (refer to the next
function). Notice that the deceleratin of this function is set to 0. It
means that deceleration is not needed in this command in order to
smoothly link the next command velocity.
The second function call does not affect the first one. Actually, it
will be executed and written into the card pre-register. After the
first move is finished, the card will continue with the second move
according to the pre-registered value. The time interval between
these two moves can be seen as a continuous move and pulses
will be continuously be generated at the “50000.0” position. Notice
that the acceleration time is set to 0. It means that we do not need
acceleration in this command in order to smoothly link the previous command velocity.
4) _8164_set_continuous_move(0, 0)
Return to normal move mode.
The theory of continuous motion is described below:
Theory of continuous motion (FIFO architecture)
88Operation Theory
Loading...
+ 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.