Advance Technologies; Automate the World.Manual Rev. 2.00Revision Date: August 25, 2006Part No: 50-11124-1050 PCI-8164/MPC-8164/PXI-8164Advanced 4-
vi List of TablesList of TablesTable 2-1: GEME hardware configuration ... 22Table 2-2: Base Addresses ...
88 Operation Theory4.1.9 Continuous motionThe card allows you to perform continuous motion. Both singleaxis movement (section 4.1.3: Trapezoidal, sect
Operation Theory 89The following diagram shows the register data flow of the card.1. The first motion is executed and the CPU writes corre-sponding v
90 Operation TheoryASIC. Data in Pre-Register2 is then moved to Pre-Register1.7. The ASIC will inform the CPU generating an interruptthat a motion is
Operation Theory 91Restrictions of continuous motionHere are restrictions and suggestions for continuous motion:1. When the Pre-Registers are full, y
92 Operation TheoryExplanation of example:When these three motions ARE executed sequentially, the 1stoccupies the Register and is executed immediately
Operation Theory 93cuted at least once after home move. Refer to 4.1.8:Home return mode for more details.5. INP enable could be set before any motion
94 Operation Theory2. 2-axis continuous interpolation:This example demonstrates how to use continuous motion func-tion to achieve 2-axis continuous in
Operation Theory 954.1.10 Home Return ModeIn this mode, the card is allowed to continuously output pulsesuntil the condition to complete the home ret
96 Operation Theoryhome_mode=0: ORG > Slow down > StopX When SD (Ramp-down signal) is inactive.X When SD (Ramp-down signal) is active.
Operation Theory 97
List of Figures viiList of FiguresFigure 1-1: PCI-8164 block diagram ... 2Figure 1-2: MPC-8164 block diagra
98 Operation Theory
Operation Theory 99
100 Operation Theory
Operation Theory 101
102 Operation TheoryRelative Functions:X _8164_set_home_config(), _8164_home_move(), _8164_set_fa_speed(), _8164_escape_home(), Refer to section 6.9.
Operation Theory 1034.1.11 Home Search ModeThis mode adds auto searching function on normal home returnmode described in section 4.1.10. After _8164_
104 Operation Theory4.1.12 Manual Pulser Mode (PCI-8164 Only)For manual operation of a device, you may use a manual pulsesuch as a rotary encoder. The
Operation Theory 1054.1.13 Synchronous starting modesSynchronous motion means more than one axes can be started bya synchronous signal. The has three
106 Operation Theory4. Immediately start when other axis’ synchronous condition is sat-isfied. Example: Axis2 starts when Axis1’s acceleration ends
Operation Theory 1074.2 The motor driver interfaceThe card provides the INP, ALM, ERC, SVON, and RDY signalsfor a servomotor driver control interface
108 Operation Theory_8164_set_inp(). The INP signal status can be monitored bysoftware with the function: _8164_get_io_status().Related functions:X _
Operation Theory 1094.2.2 ALMThe processing of the ALM signal is a hardware built-in procedure,and it is designed to interact with the alarm signal o
110 Operation Theory4.2.3 ERC The ERC signal is an output from the 8164. The processing of theERC signal is a hardware built-in procedure, and it is d
Operation Theory 1114.2.4 SVON and RDYAll 864 axes are equipped with SVON and RDY signals, which aregeneral purpose output and input channels, respec
112 Operation Theory4.3 The limit switch interface and I/O status In this section, the following I/O signal operations are described.X SD/PCS: Ramping
Operation Theory 113The PCS signal defines the starting point of current tr and srmotions. Refer to the chart below. The logic of PCS is configurable
114 Operation Theory4.3.2 ELThe end-limit signal is used to stop the control output signals (OUTand DIR) when the end-limit is active. There are two p
Operation Theory 1154.3.3 ORG The ORG signal is used when the motion controller is operating inthe home return mode. There are 13 home return modes (
116 Operation Theory4.4 Counters There are four counters for each card axis:X Command position counter: counts the number of output pulses X Feedback
Operation Theory 1174.4.2 Feedback position counterThe card has a 28-bit binary up/down counter managing thepresent position feedback for each axis.
Introduction 11 IntroductionThe PCI-/MPC-/PXI-8164 is an advanced 4-axis motion controllercard that generates high frequency pulses (6.55 MHz) to dri
118 Operation TheoryThe following diagram illustrates the waveform.The index input (EZ) signals of the encoders are used as theZERO reference. This si
Operation Theory 1194.4.3 Position error counterThe position error counter is used to calculate the error betweenthe command position and the feedbac
120 Operation Theory4.4.4 General purpose counterThe general purpose counter is very versatile and may be any ofthe following:1. Pulse output – as a c
Operation Theory 121Counter DescriptionCounterSourceFunctionFunctiondescriptionCommandCounts the number of output pulses Pulse output_8164_set_comman
122 Operation Theory4.4.5 Target position recorderThe target position recorder provides target position information.For example, if the 8164 is operat
Operation Theory 1234.5 Multiple PCI-8164 Card Operation (PCI-8164 Only)The software function library can support a maximum of 12 PCI-8164 cards. Thi
124 Operation Theory4.6 Change position or speed on the fly The card provides the ability to change position or speed while anaxis is moving. Changing
Operation Theory 125_8164_fix_speed_range() is necessary before any_8164_v_change() function, and_8164_unfix_speed_range() releases the speed range c
126 Operation TheoryConstraints of _8164_v_change():In positioning mode, when changing to a higher velocity, theremust be enough remaining pulses to d
Operation Theory 1272. During the acceleration or deceleration period, using_8164_v_change() is not recommended. Even if itdoes work in most cases,
2IntroductionFigure 1-1: PCI-8164 block diagram
128 Operation Theoryif((Sensor1==High) && (Sensor2==Low) && (Sensor3 == Low))_8164_v_change(axis, 25000, 0.02);else if((Sensor1==Low)
Operation Theory 1294.6.2 Change position on the flyWhen operating in single-axis absolute pre-set motion, it is possi-ble to change the target posit
130 Operation Theory Constraints of _8164_p_change():1. _8164_p_change() is only applicable on single-axisabsolute pre-set motion, i.e._8164_start_ta_
Operation Theory 131 Related function:X _8164_p_change(): refer to section 6.6NewPos CurrentPos OK / Error Note5000 4000 OK5000 4501 Error5000 5000 E
132 Operation Theory4.7 Position compare and LatchThe card provides position comparison functions on axes 0 and 1,and position latching functions on a
Operation Theory 133Comparator 4 is a general purpose comparator, which will gener-ate an interrupt (default reaction) if the comparing condition com
134 Operation Theory4.7.2 Position compare with trigger outputThe 5th comparator, whose comparing source can be feedback orcommand position counter, p
Operation Theory 135Example: Using the continuous position comparison function.In this application, the table is controlled by the motion command,an
136 Operation TheoryUsers can use this function to check if auto-trigger is running.Results:
Operation Theory 137The Value block in this figure is the position where the comparisonoccurs, and where the data can be checked by using_8164_check_
Introduction 3The MPC-8164 is an advanced 4-axis motion controller card witha PC104 interface. All features and specification are leveragedwith the P
138 Operation Theory4.7.3 Position LatchThe position latch is different than the position compare function inthe following way: the position compare f
Operation Theory 1394.8 Hardware backlash compensator and vibration suppressionWhenever direction change has occurred, the card outputs abacklash cor
140 Operation Theory4.9 Software Limit FunctionThe card provides two software limits for each axis. The soft limitis extremely useful in protecting a
Operation Theory 1414.10 Interrupt Control The 8164 motion controller can generate an INT signal to the hostPC. The parameter, “intFlag,” of the soft
142 Operation Theoryevent_int_status: can not be masked if interrupt service is acti-vated. Bit Description0 Normal Stop1 Next command starts2 Command
Operation Theory 143Use Events to handle interrupts under WindowsTo detect an interrupt signal from the card in Windows, you mustfirst create an even
144 Operation Theory8164 Interrupt Service Routine (ISR) with DOSA DOS function library is included with the card for developingapplications under DOS
Operation Theory 145_8164_get_irq_status(0, &irq_status);// Check if this card’s intif(irq_status) {for(i=0;i<4;i++) _8164_enter_isr(i);// e
146 Operation Theoryvoid interrupt _8164_isr5(void){}void interrupt _8164_isr6(void){}void interrupt _8164_isr7(void){}void interrupt _8164_isr8(void)
Operation Theory 1474.11 PXI Trigger Bus (PXI-8164 only)There are eight general trigger channels in PXI bus. They arecalled PXI_TRG[0] to PXI_TRG[7].
4IntroductionThe PXI-8164 is an advanced 4-axis motion controller card with aPXI interface. All features and specification are the same with thePCI-81
148 Operation TheoryIf you want to connect STA, STP, and CEMG to the PXI triggerbus, they can only set it to channel 5, 6, and 7, individually. STAmay
Motion Creator 1495 Motion CreatorAfter installing the hardware (Chapters 2 and 3), it is necessary tocorrectly configure all cards and double-check
150 Motion Creator5.1 Execute Motion CreatorAfter installing the software drivers for the card in Windows® 95/98/NT/2000/XP, the motion creator progra
Motion Creator 1515.2 Notes on Motion Creator1. Motion Creator is a program written in VB 5.0, and isavailable only for Windows® 95/98/NT/2000/XP OS
152 Motion Creator5.3 Using Motion Creator5.3.1 Main MenuThe main menu appears after launching the Motion Creator. Referto the illustration on the nex
Motion Creator 1531. ALM Logic and Response mode: Selects the logic andresponse modes of ALM signal. The related function callis _8164_set_alm().2. I
154 Motion Creator8. LTC Logic: Selects the logic of the LTC signal. Therelated function call is _8164_set_ltc_logic().9. Buttons: Z Next Axis: Change
Motion Creator 1555.3.3 Pulse I/O and Interrupt Configuration MenuThis menu configures the pulse input/output and move ratio andINT factor.1. Pulse O
156 Motion Creator5.3.4 Operation menu:This menu changes the settings for a selected axis, includingvelocity mode motion, preset relative/absolute mot
Motion Creator 157fied value. The related functions are:Z _8164_set_position()Z _8164_set_command()Z _8164_reset_error_counter()Z _8164_reset_tar
Introduction 5Motion Creator is a Windows-based application development soft-ware package that comes with the card. Motion Creator is usefulfor debug
158 Motion Creator7. Operation Mode: Select operation mode.Z Absolute Mode: Sets the Position1 and Position2 as absolution target positions for motio
Motion Creator 159Z ORG Distance: The length when ORG is ON8. Position: Sets the absolute position for Absolute Mode.This is only available when the
160 Motion Creator100.0. In Cont. Move, both the value and sign are effec-tive.–100.0 means 100.0 in the minus direction.Z Maximum Velocity: Sets the
Motion Creator 161Z In Manual Pulser Move, this causes the axis to go into pulse move. The speed limit is the value set by Maxi-mum Velocity.Z Right
162 Motion Creator20.Buttons:Z Next Axis: Changes the operating axis. Z Save Config: Saves the current configuration to 8164.ini.Z Config Pulse &
Function Library 1636 Function LibraryThis chapter describes the supporting software for the PCI-/MPC-/PXI-8164 card. You can use these functions to
164 Function LibraryVelocity mode motion Section 6.5Single Axis Position Mode Section 6.6Function Name Description_8164_tv_moveAccelerate an axis to a
Function Library 165Linear Interpolated Motion Section 6.7Function Name Description_8164_start_tr_move_xyBegin a relative 2-axis linear interpolation
166 Function Library_8164_start_sr_line4Begin a relative 4-axis linear interpolation with S-curve profile_8164_start_ta_line4Begin an absolute 4-axis
Function Library 167Circular Interpolation Motion Section 6.8Function Name Description_8164_start_a_arc_xy Begin an absolute circular interpolation f
6Introduction1.1 Features 1.1.1 PCI-8164X 32-bit PCI bus, Plug and PlayX 4 axes of step and direction pulse output for controlling stepping or servomo
168 Function LibraryHome Return Mode Section 6.9Manual Pulser Motion Section 6.10Motion StatusSection 6.11Motion Interface I/O Section 6.12Function Na
Function Library 169Motion I/O Monitoring Section 6.13Interrupt Control Section 6.14Function Name Description_8164_get_io_status Get all the motion I
170 Function LibraryPosition Control and Counters Section 6.15Function Name Description_8164_get_position Get the value of the feedback position count
Function Library 171Position Compare and Latch Section 6.16Continuous Motion Section 6.17Function Name Description_8164_set_ltc_logic Set the LTC log
172 Function LibraryMultiple Axes Simultaneous Operation Section 6.18General-purposed TTL Output Section 6.19 (PCI-8164 Only)General-purposed DIO Sect
Function Library 173Card ID Section 6.21 (PXI-8164 Only)PXI Trigger Bus Section 6.22 (PXI-8164 Only)Function Name Description_8164_enable_card_id Ena
174 Function Library6.2 C/C++ Programming LibraryThis section discusses the functions in detail. The function proto-types and some common data types a
Function Library 1756.3 Initialization@ Name_8164_initial – Card Initialization_8164_initialx – Card Initialization with I/O base address andIRQ chan
176 Function Library_8164_get_base_addr:Get the card’s base address._8164_delay_time:Delays execution of program for specified time in units of ms._81
Function Library 177I16 _8164_delay_time(I16 AxisNo, U32 MiniSec);I16 _8164_config_from_file(char *filename);I16 _8164_version_info(I16 CardNo, U16 *
Introduction 7X Includes Motion Creator, a Microsoft Windows-based appli-cation development softwareX Libraries and utilities support DOS, Windows® 9
178 Function Library@ Return CodeERR_NoError ERR_NoCardFound ERR_PCIBiosNotExistERR_ConigFileOpenError
Function Library 1796.4 Pulse Input/Output Configuration@ Name_8164_set_pls_outmode – Set the configuration for pulsecommand output._8164_set_pls_ipt
180 Function LibraryVisual Basic (Windows 95/NT/2K/XP)B_8164_set_pls_outmode (ByVal AxisNo As Integer, ByVal pls_outmode As Integer) As IntegerB_8164_
Function Library 181Src: Counter source@ Return Code ERR_NoErrorValue Meaning0 External Feedback1 Command pulse
182 Function Library6.5 Velocity mode motion@ Name_8164_tv_move – Accelerate an axis to a constant velocity withtrapezoidal profile_8164_sv_move – Acc
Function Library 183Note: The velocity profile is decided by an original motion profile. When using in S-curve, set the motion to pure S-curve. Refe
184 Function LibraryF64 _8164_fix_speed_range(I16 AxisNo, F64 MaxVel);I16 _8164_unfix_speed_range(I16 AxisNo);I16 _8164_get_current_speed(I16 AxisNo,
Function Library 185@ Argument AxisNo: Designated axis number to move or stopStrVel: Starting velocity in units of pulse per secondMaxVel: Maximum ve
186 Function Library6.6 Single Axis Position Mode@ Name_8164_start_tr_move – Begin a relative trapezoidal profilemove _8164_start_ta_move – Begin an a
Function Library 187@ DescriptionGeneral: The moving direction is determined by the sign of thePos or Dist parameter. If the moving distance is too s
Copyright 2006 ADLINK TECHNOLOGY INC.All Rights Reserved. The information in this document is subject to change without priornotice in order to improv
8Introduction1.1.2 MPC-8164X 16-bit PC104 busX 4 axes of step and direction pulse output for controlling stepping or servomotorX 6.55 MPPS maximum out
188 Function LibraryConfigures the scale factors for the specified axis. Usually, theaxes only need scale factors if their mechanical resolutions are
Function Library 189_8164_set_idle_pulse:Delays acceleration from starting velocity. This outputs the countsof setting pulses at starting velocity th
190 Function LibraryVisual Basic (Windows 95/NT/2K/XP)B_8164_start_tr_move (ByVal AxisNo As Integer, ByVal Dist As Double, ByVal StrVel As Double, ByV
Function Library 191@ Argument AxisNo: Designated axis number to move or change positionDist: Specified relative distance to movePos: Specified absol
192 Function LibraryIdl_pulse: Idl_pulse=0 - 7miniSecond: time of dwell move, the unit is in msFA_Speed: the speed of FA@ Return CodeERR_NoErrorERR_S
Function Library 1936.7 Linear Interpolated Motion@ Name_8164_start_tr_move_xy – Begin a relative 2-axis linearinterpolation for X & Y, with trap
194 Function Library_8164_start_sa_line3 – Begin an absolute 3-axis linear inter-polation with S-curve profile,_8164_start_tr_line4 – Begin a relative
Function Library 195@ SyntaxC/C++ (DOS, Windows 95/NT/2K/XP)I16 _8164_start_tr_move_xy(I16 CardNo, F64 DistX, F64 DistY, F64 StrVel, F64 MaxVel, F64
196 Function LibraryI16 _8164_start_tr_line3(I16 CardNo, I16 *AxisArray, F64 DistX, F64 DistY, F64 DistZ, F64 StrVel, F64 MaxVel, F64 Tacc, F64 Tdec);
Function Library 197B_8164_start_sr_move_xy (ByVal CardNo As Integer, ByVal Dist As Double, ByVal Dist As Double, ByVal StrVel As Double, ByVal MaxVe
Introduction 91.1.3 PXI-8164X PXI specifications Rev. 2.0-compliantX Multiple modules synchronized via PXI trigger busX 3U Eurocard form factor, Comp
198 Function LibraryDouble, ByVal MaxVel As Double, ByVal Tacc As Double, ByVal Tdec As Double) As IntegerB_8164_start_sr_line2 (ByVal CardNo As Integ
Function Library 199As Double, ByVal StrVel As Double, ByVal MaxVel As Double, ByVal Tacc As Double, ByVal Tdec As Double) As IntegerB_8164_start_ta_
200 Function LibraryMaxVel: starting velocity of a velocity profile in units of pulse persecondTacc: specified acceleration time in units of secondsTd
Function Library 2016.8 Circular Interpolation Motion@ Name_8164_start_r_arc_xy – Begin a relative circular interpolationfor X & Y _8164_start_a_
202 Function Library_8164_start_ta_arc2 – Begin a T-curve absolute circularinterpolation_8164_start_sr_arc2 – Begin a S-curve relative circular inter-
Function Library 203@ Description@ SyntaxC/C++ (DOS, Windows 95/NT/2K/XP)I16 _8164_start_r_arc_xy(I16 CardNo, F64 OffsetCx, F64 OffsetCy, F64 OffsetE
204 Function LibraryI16 _8164_start_r_arc2(I16 CardNo, I16 *AxisArray, F64 OffsetCx, F64 OffsetCy, F64 OffsetEx, F64 OffsetEy, I16 DIR, F64 MaxVel);I1
Function Library 205I16 _8164_start_sr_arc2(I16 CardNo, I16 *AxisArray, F64 OffsetCx, F64 OffsetCy, F64 OffsetEx, F64 OffsetEy, I16 DIR, F64 StrVel,F
206 Function LibraryVisual Basic (Windows 95/NT/2K/XP)B_8164_start_a_arc_xy (ByVal CardNo As Integer, ByVal Cx As Double, ByVal Cy As Double, ByVal Ex
Function Library 207Double, ByVal MaxVel As Double, ByVal Tacc As Double) As IntegerB_8164_start_sr_arc_xyu (ByVal CardNo As Integer, ByVal OffsetCx
10 IntroductionX Includes Motion Creator, a Microsoft Windows-based appli-cation development softwareX Libraries and utilities DOS, Windows® 9x/NT/200
208 Function LibraryAs Double, ByVal MaxVel As Double, ByVal Tacc As Double, ByVal Tdec As Double) As IntegerB_8164_start_ta_arc2 (ByVal CardNo As Int
Function Library 209OffsetEy As Double, ByVal DIR As Integer, ByVal StrVel As Double, ByVal MaxVel As Double, ByVal Tacc As Double, ByVal Tdec As Dou
210 Function Library@ Argument CardNo: Designated card number to perform linear interpolationOffsetCx: X-axis offset to centerOffsetCy: Y-axis offset
Function Library 2116.9 Home Return Mode@ Name_8164_set_home_config – Set the configuration for homereturn._8164_home_move – Perform a home return mo
212 Function Library@ SyntaxC/C++ (DOS, Windows 95/NT/2K/XP)I16 _8164_set_home_config(I16 AxisNo, I16 home_mode, I16 org_logic, I16 ez_logic, I16 ez_c
Function Library 213@ Argument AxisNo: Designated axis number to configure and perform homereturnhome_mode: Stopping modes for home return, 0-12X (Pl
214 Function Library6.10 Manual Pulser Motion@ Name_8164_set_pulser_iptmode - set the input signal modes ofpulser_8164_pulser_vmove – manual pulser v_
Function Library 215_8164_set_pulser_ratio:Sets the manual pulse ratio for actual output pulse rate. The for-mula for manual pulse output rate is:X O
216 Function LibraryVisual Basic (Windows 95/NT/2K/XP)B_8164_set_pulser_iptmode (ByVal AxisNo As Integer, ByVal InputMode As Integer, ByVal Inverse As
Function Library 217For example, if SpeedLimit is set to be 100pps, then the axiscan move at fastest 100pps , even the input pulser signal rateis mor
Introduction 111.2 SpecificationsApplicable motorsX Stepping motorsX AC or DC servomotors with pulse train input servo driversPerformanceX 4 controll
218 Function Library6.11 Motion Status@ Name_8164_motion_done – Return the motion status@ Description_8164_motion_done:Returns the motion status of th
Function Library 219@ Return Value0 Under Stopped condition1 Reserved2 Wait CSTA (Synchronous start signal)3 Wait Internal sync. signal4 Wait for ano
220 Function Library6.12 Motion Interface I/O@ Name_8164_set_alm – Set alarm logic and operating mode_8164_set_el – Set EL stopping mode_8164_set_inp
Function Library 221@ SyntaxC/C++ (DOS, Windows 95/NT/2K/XP)I16 _8164_set_alm(I16 AxisNo, I16 alm_logic, I16 alm_mode);I16 _8164_set_el(I16 AxisNo, I
222 Function Libraryalm_mode: Reacting modes when receiving an ALARM signalX alm_mode=0, motor immediately stops (default)X alm_mode=1, motor decelera
Function Library 223sd_logic: Set the active logic for the SD signalX sd_logic=0, active LOWX sd_logic=1, active HIGHsd_latch: Set the latch control
224 Function Library6.13 Motion I/O Monitoring @ Name_8164_get_io_status – Get all the motion I/O statuses ofeach 8164@ Description_8164_get_io_status
Function Library 225@ Argument AxisNo: Axis number for I/O control and monitoring*io_status: I/O status word. “1” is ON and “0” is OFF. ON/OFFstate i
226 Function Library6.14 Interrupt Control@ Name_8164_int_control – Enable/Disable INT service_8164_set_int_factor – Set INT factor_8164_int_enable –
Function Library 227The INT status of 8164 is composed of two independent parts:error_int_status and event_int_status. Theevent_int_status recordes t
12 IntroductionI/O signalsX Input/Output signals for each axisX Opto-isolated digital input with 2500Vrms isolation voltageX OUT and DIR command pulse
228 Function Library_8164_int_enable: (For Window only.)Enables the Windows INT event._8164_int_disable: (For Window only.)Disables the Windows IN
Function Library 229The second is for event_int_status, which can be masked by_8164_set_int_factor(). See table below:event_int_status: can be masked
230 Function Library_8164_enter_isr: (DOS only)This function is used to inform the system that the process is nowentering interrupt service routine. _
Function Library 231@ SyntaxC/C++ (DOS)I16 _8164_int_control(U16 cardNo, U16 intFlag );I16 _8164_set_int_factor(I16 AxisNo, U32 int_factor );I16 _81
232 Function LibraryC/C++ (Windows 95/98/NT)I16 _8164_int_control(U16 cardNo, U16 intFlag );I16 _8164_set_int_factor(I16 AxisNo, U32 int_factor );I16
Function Library 233@ Argument cardNo: card number 0,1,2,3…AxisNo: axis number 0,1,2,3,4…intFlag: int flag, 0 or 1 (0: Disable, 1:Enable)int_factor:
234 Function Library6.15 Position Control and Counters@ Name_8164_get_position – Get the value of feedback positioncounter_8164_set_position – Set the
Function Library 235@ Description_8164_get_position(): Reads the feedback position counter value. Note that this valuehas already been processed by t
236 Function LibrarySets new value for the target position recorder. It is necessary tocall this function when home return completes or when a newfeed
Function Library 237Visual Basic (Windows 95/NT/2K/XP)B_8164_get_position (ByVal AxisNo As Integer, Pos As Double) As IntegerB_8164_set_position (ByV
Introduction 13DimensionsX 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-c
238 Function Library@ Argument AxisNo: Axis number Pos, *Pos: Feedback position counter value, X range: -134217728-134217727cmd, *cmd: Command positio
Function Library 2396.16 Position Compare and Latch@ Name_8164_set_ltc_logic – Set the LTC logic_8164_get_latch_data – Get latched counter data _8164
240 Function Library@ Description_8164_set_ltc_logic: Sets the logic of the latch input. This function is applicable only forlast two axes in every 81
Function Library 241_8164_set_trigger_type:Sets the trigger output modeIn hardware version A2, it is used for setting the output pulse as aone shot o
242 Function LibraryThe compare data is also set by_8164_set_general_comparator(), while the remain dis-tance, compare point’s velocity, new velocity,
Function Library 243I16 _8164_cmp_v_change(I16 AxisNo, F64 Res_dist, F64 oldvel, F64 newvel, F64 AccTime)I16 _8164_force_comp_output(I16 AxisNo);I16
244 Function LibraryB_8164_set_trigger_comparator (ByVal AxisNo As Integer, ByVal CmpSrc As Integer, ByVal CmpMethod As Integer, ByVal Data As Double)
Function Library 245@ Argument AxisNo_2or3: Axis number, for last two axes in one cardltc_logic: 0 means active low, 1 means active highAxisNo: Axis
246 Function LibraryCmpSrc: The comparing source counterX CmpSrc =0, Command CounterX CmpSrc =1, Feedback CounterX CmpSrc =2, Error CounterX CmpSrc =3
Function Library 247CompType: Selection of type of comparatorX CompType =1, + Soft LimitX CompType =2, -Soft Limit X CompType =3, Error Counter Comp
14 Introduction1.3 Software support1.3.1 Programming library Programming libraries for MS-DOS and Borland C/C++ (Version3.1) and DLLs for Windows® 95/
248 Function Libraryoldvel: Velocity at compare point. Must be specified manually.newvel: New velocityAccTime: Acceleration timereset_src: Reset sourc
Function Library 2496.17 Continuous motion@ Name_8164_set_continuous_move – toggle continuous motionsequence flags_8164_check_continuous_buffer – che
250 Function Library@ Argument AxisNo: Designated axis numberconti_flag: Flag for continuous motionX conti_flag = 0, declare continuous motion sequenc
Function Library 2516.18 Multiple Axes Simultaneous Operation@ Name_8164_set_tr_move_all – Multi-axis simultaneous operationsetup. _8164_set_ta_move_
252 Function Library@ DescriptionThese functions are related to simultaneous operations of multi-axes even in different cards. Simultaneous multi-axis
Function Library 253axis single motion to start at the same time, you can turn on thisoption before the command starts. This function may also be use
254 Function LibraryI16 _8164_set_sync_stop_mode(I16 AxisNo, I16 stop_mode);I16 _8164_set_sync_signal_source(I16 AxisNo, I16 Sync_axis);I16 _8164_set_
Function Library 255@ Argument TotalAxes: Number of axes for simultaneous motion, 1-48. *AxisArray: Specified axes number array designated to move.*D
256 Function Librarystop_mode:X 0: immediate stopX 1: slow down to stopmode: X 0=OffX 1-5=compare 1-5 activeX 8=Acc startX 9=Acc endX 10=Dec startX 11
Function Library 2576.19 General-purposed TTL output (PCI-8164 Only)@ Name_8164_d_output – Digital Output _8164_get_dio_status – Get DIO status@ Desc
Installation 152 InstallationFollow these steps to install the PCI-/MPC-/PXI-8164 card. X Check the card package contents (section 2.1)X Check the ca
258 Function Library@ Argument CardNo: Designated card numberCh_No: Designated channel number 0 - 5Value: On-Off Value for outputX Value =0, output OF
Function Library 2596.20 General-purposed DIO (MPC-8164/PXI-8164 only)@ Name_8164_write_do – Digital Output (MPC-8164 only)_8164_read_di – Digital In
260 Function Library@ Argument CardNo: Designated card numberAxisNo: Designated axis numberValue: Value for output X Bit value =0, output OFFX Bit val
Function Library 2616.21 Card ID (PXI-8164 Only)@ Name_8164_enable_card_id – Enable card ID’s function_8164_check_card – Check if this Card ID exist@
262 Function Library6.22 PXI Trigger Bus (PXI-8164 Only)@ Name_8164_get_pxi_trigger_value – Readback PXI_TRG’s sta-tus value_8164_set_pxi_trigger_valu
Function Library 263@ SyntaxC/C++ (DOS, Win32)I16 _8164_get_pxi_trigger_value(I16 CardNo, U16 *value);I16 _8164_set_pxi_trigger_value(I16 CardNo, U16
264 Function Library@ Argument CardNo: Designated card number*value: PXI_TRG value bit0-7, PXI_STAR value in bit8value: PXI_TRG value bit0-7STA: 0=dis
Connection Example 2657 Connection ExampleThis chapter illustrates connection examples between the PCI-/MPC-/PXI-8164 card and servo drivers or stepp
266 Connection ExampleFigure 7-1 illustrates the integration of the PCI-8164 card with aphysical system.Figure 7-1: System Integration with PCI-8164
Connection Example 2677.2 Connection Example with Servo DriverThis example illustrates the connection between a PanasonicServo Driver and the card. F
16 Installation2.1 Package contentsCheck the package contents for the following items:X PCI-8164/MPC-8164/PXI-8164 cardX ADLINK All-in-one CDX +24V po
268 Connection ExampleFigure 7-2: Connection of PCI-8164 with Panasonic Driver
Connection Example 269 Figure 7-3: Connection of PCI-8164 with SANYO DriverWiring of PCI-8164 with SANYO AC Servo PY234569899789101314151617182037383
270 Connection Example7.3 Wiring with DIN-814MWARNINGThe DIN-814M is used for wiring between Mitsubishi J2S seriesservo drivers / stepper with pulse t
Connection Example 271cards. When using PCI-8134, PSD is used as a positiveslow down signal. When using PCI-8164/PXI-8164/MPC-8164, PSD1/2 is for CMP
272 Connection ExampleCNB1-CNB4 (Mitsubishi AC Servo Driver CNB Interface)IOIF1-IOIF4 External Motion Input Signal Interface)SJ1-SJ4 (Stepping Motor
Connection Example 273HD1-HD4 (Auxiliary. Servo I/O Interface)Jumper (Mitsubishi AC Servo Driver EMG Signal SourceSelection)TD1-TD4 (External AC Serv
274 Connection Example7.3.2 Signal Connections1. PEL, MEL, ORG, PSD, MSD (in IOIF#) 2. EX_EMG (both IOIF# and HD#)3. CMP, LTC (in IOIF#’s PSD pin only
Connection Example 2757.3.3 Mechanical Dimensions:
276 Connection Example7.4 Wiring with DIN-814PWARNINGThe DIN-814M is used for wiring between the Panasonic MINASMSD series servo driver and ADLINK PCI
Connection Example 2772. A 36-pin cable (one-to-one) is required to connect theCNIF and the Panasonic MINAS MSD driver. Contactyour local ADLINK repr
Installation 172.2 PCI-8164 layoutFigure 2-1: PCI-8164 PCB layoutCN1: External Power Input ConnectorCN2: Input / Output Signal ConnectorCN3: Manua
278 Connection Example7.4.2 PIN Assignment:CNIF1-CNIF4IOIF1-IOIF4No. Name I/O Function No. Name I/O Function1 EZ+ I Encoder Z-phase (+) 2 EZ- I Encode
Connection Example 279SJ1-SJ4CN1No. Name I/O Function No Name I/O Function1 OUT+ O Pulse Signal (+) 6 ALM I Servo Alarm2 OUT- O Pulse Signal (-) 7 +5
280 Connection Example7.4.3 How to wirePEL, MEL, ORG, SD, PSD, MSD (in IOIF):CMP, LTC (in IOIF)X CMP is a TTL 5V or 0V output (vs. Ext GND)X LTC is a
Connection Example 2817.5 Wiring with DIN-814PAWARNINGThe DIN-814PA is designed for Panasonic MINAS A-series servodrivers with ADLINK PCI-8134/PCI-81
282 Connection Exampleservo drivers. The signals at CNIF# and SJ# are con-nected together. DO NOT use them simultaneously.2. A 50-pin cable is require
Connection Example 2837.5.1 Wiring Example:PEL, MEL, ORG, SD, PSD, MSD, and Alarm Clear (at IOIF):CMP, LTC (at IOIF)Z CMP is a TTL 5V or 0V output (v
284 Connection ExampleCNIF# and CN2SJ: Refer to 8134/64 series user manual.CN1: 24V power supply input
Connection Example 2857.5.2 Mechanical Dimensions:
286 Connection Example7.5.3 PIN Assignment:CNIF1-CNIF4IOIF1-IOIF4No. Name I/O Function No. Name I/O Function1NC-- 2NC--3 OUT- O Pulse Signal (-) 4 OUT
Connection Example 287SJ1-SJ4CN1No. Name I/O Function No. Name I/O Function1 OUT+ O Pulse Signal (+) 6 ALM I Servo Alarm2 OUT- O Pulse Signal (-) 7 +
Getting service from ADLINKCustomer satisfaction is top priority for ADLINK TECHNOLOGYINC. Please contact us should you require any service or assis-t
18 Installation2.3 MPC-8164 layoutFigure 2-3: MPC-8164 PCB layoutFigure 2-4: MPC-8164 face plateCN2: Input / Output Signal ConnectorCN3: 8 DI / 8 DO
288 Connection Example7.6 Wiring with DIN-814M-J3A
Connection Example 2897.6.1 PIN Assignment:CNIF1-CNIF4No. Name I/O Function No. Name I/O Function1 P15R -- 15VDC power supply 2 VLA O Analog speed li
290 Connection ExampleBH1-BH4IOIF1-IOIF4SJ1-SJ4No. Name I/O Function No. Name I/O Function1 RES I Reset Signal 2 ABSM O Forward rotation3 ABSR O Rever
Connection Example 291CN1No. Name I/O Function1 EX +24V I External Power Supply Input (+24V DC+5%)2 EX GND -- External Power Supply Ground
292 Connection Example7.7 Wiring with DIN-814Y
Connection Example 2937.7.1 PIN Assignment:CNIF1-CNIF4No. Name I/O Function No. Name I/O Function1 IGND -- Isolated Ground 2 IGND -- Isolated Ground3
294 Connection ExampleBH1-BH4IOIF1-IOIF4SJ1-SJ4CN1No. Name I/O Function No. Name I/O Function1 SEN I Reset Absolute Encoder 2 BAT+ I Battery (+)3 BAT-
2958 Appendix8.1 Color code of CN3 Cable (MPC-8164 Only)CN3 Pin No Signal Name Color CN3 Pin No Signal Name Color1 DOCOM Brown 2 DOCOM Pink-Black3 DO
296
Warranty Policy 297Warranty PolicyThank you for choosing ADLINK. To understand your rights andenjoy all the after-sales services we offer, please rea
Installation 192.4 PXI-8164 layoutFigure 2-5: PXI-8164 layout and front panelS1: Switch setting for EL logicS2: Card ID setting from 0-11J3: 4-CH
298 Warranty Policy3. Our repair service is not covered by ADLINK's guaranteein the following situations:X Damage caused by not following instruc
20 Installation2.5 PCI-8164/PXI-8164 hardware installation2.5.1 Hardware configurationSince the PCI-8164/PXI-8164 card is Plug and Play, the memoryall
Installation 21Installation notesIf your system doesn’t boot or if you experience erratic opera-tion with your PCI board in place, it’s most likely c
22 Installation2.6 MPC-8164 hardware installation2.6.1 Hardware configurationThe MPC-8164 card is PC104-compliant. The onboard DIPswitches and jumpers
Installation 23IRQ settingThe JP1 setting assigns the IRQ channel.Installation noteMake sure that the system has an aqvailable I/O address andIRQ cha
24 Installation2.7 Driver installation PCI-8164/PXI-81641. Place the ADLINK All-In-One CD to the CD-ROM drive.2. When the Autorun screen appears, sele
Installation 252.8 CN1 pin assignments: External Power Input (PCI-8164 only)NOTES X CN1 is a plug-in terminal board with no screws.X Use the external
26 Installation2.9 CN3 pin assignments: Manual Pulse Input(PCI-8164 only)CN3 is for the manual pulse input.NOTE The PCI bus provides the signals for t
Installation 272.10 J4 pin assignments: Manual Pulse Input(PXI-8164 only)No. Name Function No. Name Function1 DGND Bus power ground 2 PB4 Axis 3 Puls
28 Installation2.11 CN3 pin assignments: General Purpose DIO (MPC-8164 only)Pin No Signal Name Pin No Signal Name1 DOCOM 2 DOCOM3 DOCOM 4 DOCOM5DO06DO
Installation 292.12 J3 pin assignments: Isolated DIO(PXI-8164 only)No. Name Function No. Name Function1 DICOM Digital In Common 2 DOCOM Digital Out C
30 Installation2.13 CN2 pin assignments: Main ConnectorCN2 is the major connector for the motion control I/O signals.No. Name I/O Function (axis / ) N
Installation 3140 SD/PCS1 I Ramp-down signal 90 SD/PCS3 I Ramp-down signal 41 ORG1 I Origin signal, 91 ORG3 I Origin signal, 42 EGND Ext. powe
32 Installation2.14 CN4 pin assignments: Simultaneous Start/Stop (PCI-8164 only)CN4 is for simultaneous start/stop signals for multiple axes or mul-ti
Installation 332.15 CN5 pin assignment: TTL Output (PCI-8164 only)CN5 is for general-purposed TTL output signals.Pin No. Name Function1 DGND Digital
34 Installation2.16 Jumper setting for pulse output (PCI-8164 only)J1 - J8 sets the type of pulse output signals (DIR and OUT). Theoutput signal type
Installation 352.17 Switch setting for EL LogicThe S1 switch sets the EL limit switching type. By default the ELswitch is set to ON, which is the “no
36 Installation2.18 CN3 pin assignment: General Purpose DI/DO ports (MPC-8164 only)CN3 Pin No Signal Name CN3 Pin No Signal Name1 DOCOM 2 DOCOM3 DOCOM
Installation 372.19 S2 card ID switch setting (PXI-8164 only)NOTE Other settings are invalid. In order to enable this function, see section 6.21.Card
Table of Contents iTable of ContentsTable of Contents... iList of Tables...
38 Installation
Signal Connections 393 Signal ConnectionsThis chapter describes the signal connections of the card I/Os.Refer to the contents of this chapter before
40 Signal Connections3.1 Pulse Output Signals OUT and DIR The PCI-/MPC-/PXI-8164 has 4 axis pulse output signals. Eachaxis has two pairs of OUT and DI
Signal Connections 41By default, the OUT and DIR are set to differential line drivermode.The wiring diagram below illustrates the OUT and DIR signals
42 Signal ConnectionsMPC-8164/PXI-8164Non-differential type wiring example(MPC-8164/PXI-8164, or PCI-8164 when pin 2-3 of the jumperis shorted) Choose
Signal Connections 433.2 Encoder Feedback Signals EA, EB and EZ The encoder feedback signals include EA, EB, and EZ. Every axishas six pins for thre
44 Signal Connectionsover driving the source. The differential signal pairs are convertedto digital signals EA, EB, and EZ, then feed to the PCL6045
Signal Connections 45For more operation information on the encoder feedback signals,refer to section 4.4.
46 Signal Connections3.3 Origin Signal ORG The origin signals (ORG1-ORG4) are used as input signals for theorigin of the mechanism. The table below li
Signal Connections 473.4 End-Limit Signals PEL and MELThere are two end-limit signals PEL and MEL for each axis. PELindicates the end limit signal is
ii Table of Contents(PXI-8164 only)... 292.13 CN2 pin assignments: Main Connector ...
48 Signal Connections3.5 Ramping-down and PCSThere is a SD/PCS signal for each of the 4 axes. The signalnames, pin numbers, and axis numbers are shown
Signal Connections 493.6 In-position Signal INPThe in-position signal INP from a servo motor driver indicates itsdeviation error. If there is no devi
50 Signal Connections3.7 Alarm Signal ALMThe alarm signal ALM indicates the alarm status from the servodriver. The signal names, pin numbers, and axis
Signal Connections 513.8 Deviation Counter Clear Signal ERCThe deviation counter clear signal (ERC) is active for the followingsituations:1. Home ret
52 Signal Connections3.9 General-purpose Signal SVONThe SVON signal can be used as a servomotor-on control or gen-eral purpose output signal. The sign
Signal Connections 533.10 General-purpose Signal RDYThe RDY signals can be used as motor driver ready input or gen-eral purpose input signals. The si
54 Signal Connections3.11 Position compare output pin: CMPThe card provides 2 comparison output channels: CMP1 andCMP2, used by the first 2 axes, 1 an
Signal Connections 553.12 Position latch input pin: LTCThe card provides 2 position latch input channels: LTC3 and LTC4,used by the last 2 axes, 3 an
56 Signal Connections3.13 Pulser Input Signals PA and PB (PCI-8164 only)The PCI-8164 accepts input pulser signals through the CN3 pinslisted below. Th
Signal Connections 573.14 Simultaneously Start/Stop Signals STA and STP (PCI-8164 only)The PCI-8164 provides STA and STP signals that enable simulta-
Table of Contents iiiS-curve profile motion ... 75Linear interpolation for 2-4 axes ...
58 Signal Connections
Signal Connections 593.15 General Purpose TTL Output (PCI-8164 only)The PCI-8164 provides six general purpose TTL digital outputs.The TTL output is l
60 Signal Connections3.16 Termination boardThe card’s CN2 can be connected with a DIN-100M15, includingthe ACL-102100 — a 100-pin SCSI-II cable. The D
Signal Connections 613.17 General Purpose DIO (MPC-8164/PXI-8164 only)MPC-8164 has eight opto-isolated digital outputs and eight opencollector digita
62 Signal Connections3.17.1 Isolated input channels3.17.2 Isolated output channels
Signal Connections 633.17.3 Example of input connection
64 Signal Connections3.17.4 Example of output connections
Operation Theory 654 Operation TheoryThis chapter describes the detailed operation of the 8164PCI-/MPC-/PXI-8164 card via the following sections:X Se
66 Operation Theory4.1 Motion Control ModesThis section describes the pulse output signal configuration andmotion control modes.X 4.1.1 Pulse command
Operation Theory 674.1.1 Pulse Command OutputThe PCI-/MPC-/PXI-8164 uses pulse commands to control servo/stepper motors via the drivers. A pulse comm
iv Table of Contents5.1 Execute Motion Creator ... 1505.2 Notes on Motion Creator...
68 Operation Theoryshow the output waveform. It is possible to set the polarity ofthe pulse chain. Dual Pulse Output Mode (CW/CCW Mode)In this mode, t
Operation Theory 69gram shows the output waveform of positive (+) commands andnegative (-) commands.A/B Phase Pulse Output Mode (A/B phase Mode)In th
70 Operation Theoryput waveform of positive (+) commands and negative (-) com-mands. This mode is not available in older version boards.Related functi
Operation Theory 714.1.2 Velocity mode motionThis mode is used to operate a one-axis motor with velocity modemotion. The output pulse accelerates fro
72 Operation Theory4.1.3 Trapezoidal motionThis mode moves a singe axis motor to a specified position (ordistance) with a trapezoidal velocity profile
Operation Theory 73The StrVel and MaxVel parameters are given in units of pulses persecond (PPS). The Tacc and Tdec parameters are in units of sec-on
74 Operation Theoryratio 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 com
Operation Theory 754.1.4 S-curve profile motionThis mode moves a single-axis motor to a specified position (ordistance) with an S-curve velocity prof
76 Operation Theorygoes from StrVel to (StrVel + VSacc). In the second constant jerkregion during acceleration, the velocity goes from (MaxVel –StrVel
Operation Theory 77Related functions:X _8164_start_sr_move(),_8164_start_sa_move(): Refer to section 6.6X _8164_motion_done(): Refer to section 6.11X
Table of Contents v7.4 Wiring with DIN-814P ... 276Mechanical Dimensions: ...
78 Operation Theory2 axes linear interpolationIn the diagram below, 2-axis linear interpolation means to movethe XY position (or any two of the four a
Operation Theory 79_8164_start_ta_move_xy(), _8164_start_ta_move_zu(),_8164_start_sr_move_xy(), _8164_start_sr_move_zu(),_8164_start_sa_move_xy(),
80 Operation TheoryThe 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
Operation Theory 81a – Absolute motion4-axis linear interpolationWith 4-axis linear interpolation, the speed ratio along X-axis, Y-axis, Z-axis and U
82 Operation Theory4.1.6 Circular interpolation for 2 axesAny 2 of the 4 axes of the card can perform circular interpolation.In the example below, cir
Operation Theory 83axis 1) and ZU (axis 2 and axis 3). By calling these functions, thetarget axes are already assigned._8164_start_r_arc_xy(), _8164_
84 Operation Theory4.1.7 Circular interpolation with Acc/Dec timeIn section 4.1.6, the circular interpolation functions do not supportacceleration and
Operation Theory 854.1.8 Relationship between velocity and acceleration timeThe maximum velocity parameter of a motion function will eventu-ally have
86 Operation Theory _8164_start_tr_move(AxisNo,5000,0,5000,0.001,0.001),then use the following function: _8164_verify_speed(0,5000,&minAccT, &
Operation Theory 87Example:User’s Desired Profile: (MaxV2, Target T) is not possible underMaxV2 according to the (MaxV, MiniT) relationship. So one m
Comentarios a estos manuales