background image

Advance Technologies; Automate the World.

Manual Rev. 

2.01

Revision Date: 

February 26, 2009

Part No: 

50-11136-1010 

PCI-8102

Advanced 2-Axis Servo/Stepper

Motion Control Card

User’s Manual

Summary of Contents for PCI-8102

Page 1: ...Advance Technologies Automate the World Manual Rev 2 01 Revision Date February 26 2009 Part No 50 11136 1010 PCI 8102 Advanced 2 Axis Servo Stepper Motion Control Card User s Manual ...

Page 2: ... or inability to use the product or documentation even if advised of the possibility of such damages This document contains proprietary information protected by copy right All rights are reserved No part of this manual may be repro duced by any mechanical electronic or other means in any form without prior written permission of the manufacturer Trademarks NuDAQ NuIPC DAQBench are registered tradem...

Page 3: ...Email info adlinktech com ADLINK Technology Beijing Address ҀᏖ ऎϞഄϰ䏃 1 োⲜ ࡼ ॺ E ᑻ 801 ᅸ 100085 Rm 801 Power Creative E No 1 B D Shang Di East Rd Beijing 100085 China Tel 86 10 5885 8666 Fax 86 10 5885 8625 Email market adlinktech com ADLINK Technology Shanghai Address Ϟ Ꮦⓩ 催 ᡔᓔথऎ䩺 䏃 333 ো 39 ᐶ 4 ሖ 200233 Tel 86 21 6495 5210 Fax 86 21 5450 0414 Email market adlinktech com ADLINK Technology Shenzhen...

Page 4: ...el 81 3 4455 3722 Fax 81 3 5333 6040 Email japan adlinktech com ADLINK Technology Inc Korean Liaison Office Address 昢殾柢 儛單割 嚂笊壟 60 12 壟昷捒娯 4 猻 402 笾 No 402 Dongsung B D 60 12 Nonhyeon Dong Gangnam gu Seoul 135 010 Korea Tel 82 2 2057 0565 Fax 82 2 2057 0563 Email korea adlinktech com ADLINK Technology Singapore Pte Ltd Address 84 Genting Lane 07 02A Cityneon Design Centre Singapore 349584 Tel 65 6...

Page 5: ...ubleshooting 12 2 4 Software Driver Installation 12 2 5 P1 Pin Assignments Main connector 13 P2 Pin Assignment 16 Digital Inputs 16 Digital Outputs 14 2 6 K1 K2 Pin Assignments Simultaneous Start Stop 16 2 7 Jumper Setting for Pulse Output 16 2 8 Switch Setting for card index 17 3 Signal Connections 19 3 1 Pulse Output Signals OUT and DIR 20 3 2 Encoder Feedback Signals EA EB and EZ 22 3 3 Origin ...

Page 6: ...n Control Kernel 43 ASIC Based Motion Control Kernel 43 Compare Table of All Motion Control Types 44 PCI 8102 s Motion Controller Type 44 4 2 Motion Control Modes 45 Coordinate System 45 Absolute and Relative Position Move 46 Trapezoidal Speed Profile 47 S Curve and Bell Curve Speed Profile 48 Velocity Mode 50 One Axis Position Mode 50 Two Axes Linear Interpolation Position Mode 51 Two Axes Circul...

Page 7: ...et Position Recorder 76 4 6 Comparaters 77 Soft End Limit Comparators 77 Command and Feedback Error Counter Comparators 77 General Comparator 78 Trigger Comparator 78 4 7 Other Motion Functions 79 Backlash Compensation and Slip Corrections 79 Vibration Restriction Function 79 Speed Profile Calculation Function 80 4 8 Interrupt Control 81 4 9 Multiple Card Operation 84 5 MotionCreatorPro 85 5 1 Exe...

Page 8: ...erface I O 151 6 13 Interrupt Control 158 6 14 Position Control and Counters 162 6 15 Position Compare and Latch 167 6 16 Continuous Motion 171 6 17 Multiple Axes Simultaneous Operation 173 6 18 General Purposed DIO 176 6 19 Soft Limit 179 6 20 Backlash Compensation Vibration Suppression 181 6 21 Speed Profile Calculation 183 6 22 Return Code 187 7 Connection Example 189 7 1 General Description of...

Page 9: ...List of Figures v List of Figures Figure 1 1 PCI 8102 Block Diagram 2 Figure 1 2 Flow Chart for Building an Application 3 Figure 2 1 PCB Layout of the PCI 8102 10 ...

Page 10: ...vi List of Figures ...

Page 11: ...l purposed I O signals are provided for easy system inte gration Figure 1 1 shows the functional block diagram of the PCI 8102 card The motion control functions include trapezpoidal and S curve acceleration deceleration linear and circular interpolation between two axes and continuous motion positioning and 13 home return modes All these functions and complex computa tions are performed internally...

Page 12: ...d axes information and I O signal status of the PCI 8102 Windows programming libraries are also provided for C com piler and Visual Basic Sample programs are provided to illustrate the operations of the functions Figure 1 2 illustrates a flow chart of the recommended process in using this manual in developing an application Refer to the related chapters for details of each step PCI Bus PLX9052 ASI...

Page 13: ...Introduction 3 Figure 1 2 Flow Chart for Building an Application ...

Page 14: ...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 All d...

Page 15: ... counter range 0 268 435 455 or 134 217 728 to 134 217 727 Z Position pulse setting range 28 bit 134 217 728 to 134 217 728 Z Pulse rate setting range Pulse Ratio 1 65535 0 1 PPS to 6553 5 PPS Multiplier 0 1 1 PPS to 65535 PPS Multiplier 1 100 PPS to 6553500 PPS Multiplier 100 X I O Signales Z Input Output signals for each axis Z All I O signal are optically isolated with 2500Vrms isola tion volta...

Page 16: ...ndensing X Power Consumption Z Slot power supply input 5V DC 5 900mA max Z External power supply input 24V DC 5 500mA max Z External power supply output 5V DC 5 500mA max X PCI 8102 Dimension PCB size 120mm L X 100mm W 1 3 Supported Software Programming Library Windows 2000 XP DLLs are provided for the PCI 8102 users These function libraries are shipped with the board MotionCreatorPro This Windows...

Page 17: ...A are available for PCI 8102 wiring DIN 68S is general purposed pin to pin terminal board Users can use this to connect servos and steppers DIN 68M J3A is designed for Mitsubishi servo J3A amplifer Users can user this board to connect Mitsubishi servo J3A and steppers ...

Page 18: ...8 Introduction ...

Page 19: ...er 3 and their operation chapter 4 X Understanding the connector pin assignments the remain ing sections and wiring the connections 2 1 Package Contents In addition to this User s Guide the package also includes the fol lowing items X PCI 8102 advanced 2 Axis Servo Stepper Motion Control Card X ADLINK All in one Compact Disc If any of these items are missing or damaged contact the dealer from whom...

Page 20: ...ut of the PCI 8102 P1 Input Output Signal Connector 68 pin P2 16 Digital Input Output Signals Connector K1 K2 Simultaneous Start Stop Connector SW1 DIP switch for card index selection 0 15 J8 J11 Pulse output selection jumper 119 91 121 75 10 6 6 8 10 0 3 3 12 6 3 5 ...

Page 21: ... 3 3 Installation Procedures 1 Read through this manual and setup the jumper accord ing to your application 2 Turn off your computer Turn off all accessories printer modem monitor etc connected to computer Remove the cover from your computer 3 Select a 32 bit PCI PXI expansion slot PCI slots are shorter than ISA or EISA slots and are usually white or ivory 4 Before handling the PCI 8102 discharge ...

Page 22: ...e 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 4 Software Driver Installation PCI 8102 1 Auto run the ADLINK All In One CD Choose Driver Installation Motion Control PCI 8102 2 Follow the procedures of the installer 3 After setup installation is com...

Page 23: ...B1 I Encoder B phase 16 EZ0 I Encoder Z phase 50 EZ1 I Encoder Z phase 17 EZ0 I Encoder Z phase 51 EZ1 I Encoder Z phase 18 VPP O Isolated 5V Output 52 VPP O Isolated 5V Output 19 N C 53 EXGND Ext power ground 20 PEL0 I End limit signal 54 PEL1 I End limit signal 21 MEL0 I End limit signal 55 MEL1 I End limit signal 22 EXGND Ext power ground 56 EXGND Ext power ground 23 LTC SD PCS0 CLR0 I Composit...

Page 24: ... External Power Ground 19 DI12 I Discrete Input Channel 12 20 DI13 I Discrete Input Channel 13 21 DI14 I Discrete Input Channel 14 22 DI15 I Discrete Input Channel 15 23 DO0 O Discrete Output Channel 0 24 DO1 O Discrete Output Channel 1 25 DO2 O Discrete Output Channel 2 26 DO3 O Discrete Output Channel 3 27 EX_GND External Power Ground 28 EX_GND External Power Ground 29 DO4 O Discrete Output Chan...

Page 25: ...Installation 15 1 Digital I O type N NPN Sinking Inputt N NPN Sinking Output 0 5V Max E5V To CPLD DI R 330 Inside 8102 P2 DGND PS2805 VCC 35V 50mA Maximum DO From CPLD EGND Inside 8102 P2 VCC PS2802 ...

Page 26: ...output signals DIR and OUT The output signal type can either be differential line driver or open collector output Refer to section 3 1 for detail jumper set tings The default setting is differential line driver mode The default setting is differential line driver mode J8 J9 are for axis 0 J10 J11 are for axis 1 No Name Function Axis 1 5V PCI Bus power Output VCC 2 STA Simultaneous start signal inp...

Page 27: ...x For example if you turn 1 to ON and others are OFF It means the card index as 1 The value is from 0 to 15 Refer to the following table for details Card ID Switch Setting ON 1 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 10 1010 11 1011 12 1100 13 1101 14 1110 15 1111 ...

Page 28: ...18 Installation ...

Page 29: ...ignal ORG Section 3 4 End Limit Signals PEL and MEL Section 3 5 In Position Signal INP Section 3 6 Alarm Signal ALM Section 3 7 Deviation Counter Clear Signal ERC Section 3 8 General Purpose Signal SVON Section 3 9 General Purpose Signal RDY Section 3 10Position Compare Output pin CMP Section 3 11Multi Functional Input Pin LTC SD PCS CLR Section 3 12Pulser Input Signals PA and PB Section 3 13Simul...

Page 30: ...lowing table shows all pulse output signals on P1 The output of the OUT or DIR signals can be configured by jump ers as either differential line drivers or open collector output Users can select the output mode either by closing breaks between 1 and 2 or 2 and 3 of jumpers J8 J11 as follows The default setting of OUT and DIR is set to differential line driver mode P1 Pin No Signal Name Description...

Page 31: ...on the OUT and DIR pins The default setting of jumper is 1 2 shorted The default setting is 1 2 shorted Suggest Usage Jumper 2 3 shorted and connect OUT DIR to a 470 ohm pulse input interface s COM of driver See the following figure Warning The sink current must not exceed 20mA or the 26LS31 will be damaged VDD VCC 4 7K OUT DIR 26LS31 J8 J11 OUT DIR OUT DIR EXGND 1 2 3 VDD OUT DIR OUT DIR EXGND 47...

Page 32: ...3 5V Therefore the output current must be observed when connecting to the encoder feedback or motor driver feedback as not to over drive the source The differential signal pairs are converted to digital signals EA EB and EZ then feed to the motion control ASIC Below are examples of connecting the input signals with an exter nal circuit The input circuit can be connected to an encoder or motor driv...

Page 33: ...an open collector output an external power sup ply is necessary Some motor drivers can provide the power source The connection between the PCI 8102 encoder and the power supply is shown in the diagram below Note that an external current limiting resistor R is necessary to protect the PCI 8102 input circuit The following table lists the suggested resistor values according to the encoder power suppl...

Page 34: ...more operation information on the encoder feedback signals refer to section 4 4 V GND Motor Encoder Driver With Open Collector Output External Power for Encoder Inside PCI 8102 A B phase signals Index signal EA EB EZ EA EB EZ R ...

Page 35: ...pecifi cations of the limit switch should have contact capacity of 24V 6mA 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 sec tion 4 3 P1...

Page 36: ...low A circuit diagram is shown in the diagram below The external limit switch should have a contact capacity of 24V 8mA minimum Either A type normal open contact or B type normal closed contact switches can be used To set the active logic of the exter nal limit signal please refer to the explanation of _8102_set_limit_logic function P1 Pin No Signal Name Axis P1 Pin No Signal Name Axis 20 PEL0 1 2...

Page 37: ...xis num bers are shown in the table below The input circuit of the INP signals is shown in the diagram below 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 8mA current sink capabilities to drive the INP signal P1 Pin No Signal Name Axis 10 INP0 1 44 INP1 2 VDD 0 5V Max To motion IC INP...

Page 38: ...n the table below The input alarm circuit is shown below The ALM signal usually is generated by the servomotor driver and is ordinarily an open col lector output signal An external circuit must provide at least 8mA current sink capabilities to drive the ALM signal P1 Pin No Signal Name Axis 9 ALM0 1 43 ALM1 2 VDD 0 5V Max To motion IC ALM R Inside 8102 P1 330 Ohm DGND VCC PS2805 ...

Page 39: ...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 The ERC signal is used to clear the deviation counter of the servo motor driver The ERC output circuit is an open collector with a maximum of 35V at 50mA driving capacity P1 Pin No Signal Name Axis 8 ERC0 1 42 ERC1 2 35V 50mA Maximum ERC From motion IC E...

Page 40: ... on control or gen eral purpose output signal The signal names pin numbers and its axis numbers are shown in the following table The output circuit for the SVON signal is shown below P1 Pin No Signal Name Axis 7 SVON0 1 41 SVON1 2 35V 50mA Maximum SVON From motion IC EGND Inside 8102 P1 VCC PS2805 ...

Page 41: ... input or gen eral purpose input signals The signal names pin numbers and axis numbers are shown in the following table The input circuit of RDY signal is shown in the following diagram P1 Pin No Signal Name Axis 11 RDY0 1 45 RDY1 2 VDD 0 5V Max To motion IC RDY R Inside 8102 P1 330 Ohm DGND VCC PS2805 ...

Page 42: ...ue set by the user The CMP channel is located on P1 The signal names pin num bers and axis numbers are shown below The following wiring diagram is of the CMP on the first 2 axes Note CMP trigger type can be set as normal low rising edge or normal high falling edge Default setting is normal high Refer to function _8164_set_trigger_type for details P1 Pin No Signal Name Axis 30 CMP0 1 31 CMP1 2 VCC ...

Page 43: ...he default value is LTC and the relavant functions are as follows I16 _8102_select_pin23_input I16 card_id U16 Select I16 _8102_select_pin57_input I16 card_id U16 Select The multi functional input pins are on P1 The signal names pin numbers and axis numbers are shown in the following table The multi functional input pin wiring diagram is as followed P1 Pin No Signal Name Axis 23 LTC SD PCS CLR_0 5...

Page 44: ... pins of CN3 listed below The pulses behaves like an encoder The sig nals generate the positioning information which guides the motor P1 Pin No Signal Name Axis P1 Pin No Signal Name Axis 26 PA 1 2 27 PA 1 2 28 PB 1 2 29 PB 1 2 Motion IC PA PB PA _ISO PB _ISO PA _ISO PB _ISO R 22 Ohm P1 Inside 8102 C 2 2 uF HP0631 ...

Page 45: ...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 PCI 8102 Users 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 8102 cards connect the K2 connector on the previous card to K1 connector on the followi...

Page 46: ...36 Signal Connections and stop signals to STA and STP pins on the K1 connector of the first PCI 8102 card ...

Page 47: ...gnal names pin numbers and axis numbers are shown in the table below The wiring diagram of the digit input signals are as followes The wiring diagram of the digit output signals are as followes Pin No Name Function 61 DIN0 Digital IN0 62 DIN1 Digital IN1 63 DIN2 Digital IN2 64 DIN3 Digital IN3 65 DOUT0 Digital Out0 66 DOUT1 Digital Out1 ...

Page 48: ...Channel 10 16 DI11 I Discrete Input Channel 11 17 EX_GND External Power Ground 18 EX_GND External Power Ground 19 DI12 I Discrete Input Channel 12 20 DI13 I Discrete Input Channel 13 21 DI14 I Discrete Input Channel 14 22 DI15 I Discrete Input Channel 15 23 DO0 O Discrete Output Channel 0 24 DO1 O Discrete Output Channel 1 25 DO2 O Discrete Output Channel 2 26 DO3 O Discrete Output Channel 3 27 EX...

Page 49: ...ignal Connections 39 1 Digital I O type N NPN Sinking Inputt N NPN Sinking Output 0 5V Max E5V To CPLD DI R 330 Inside 8102 P2 DGND PS2805 VCC 0 5V Max E5V To CPLD DI R 330 Inside 8102 P2 DGND PS2805 VCC ...

Page 50: ...mi nation board With maximum flexibility user should put more effort and care to use DIN 68S to avoid wiring errors The other termina tion board can be used for PCI 8102 is DIN 68M J3A This termi nation board is used only for Mitsubishi J3A Servo Motor For Mitsubishi J2A Servo Motor or other servo motors from different vendors please use DIN 68S termination board ...

Page 51: ...h about on the PWM power stage closed loop hall sensors vector space and so on Motion control talks much about on the speed profile generating trajectory following multi axes synchronization and coordinating 4 1 1 Voltage Type Motion Control Interface The interfaces between motion and motor control are changing rapidly From the early years people use voltage singal as a com mand to motor controlle...

Page 52: ...position controller the control loops are built outside on the motor drivers and users must tune the gains on drivers For more than one axes operation motion control seems more important than motor control In industial applications reliable is a very important factor Motor driver vendors make good perfor mance products and a motion controller vendors make powerful and variety motion software Integ...

Page 53: ... a micro processer itself and all motion control calculations can be done on it There is no real time software problem because DSP has its own OS to arrange all the procedures There is no interruption from other inputs or context switching problem like Windows based computer Although it has such a perfect performance on real time requirements its calcula tion speed is not as fast as PC s CPU at th...

Page 54: ...lations are done via our library For example if users want to perform a one axis point to point moition with a trapezoidal speed profile they just only fill the target position speed and acceleration time in one function Then the motor will run as the profile It takes no CPU s resource because every control cycle s pulses generation is done by ASIC The pre cision of target position depends on moto...

Page 55: ...n controller if we want to move 15mm How about if we want to move 15 0001mm Don t worry about that the motion controller will keep the residue value less than 1 pulse and add it to next command The motion controller sends incremental pulses to motor drivers It means that we can only send relative command to motor driver But we can solve this problem by calculating the difference between current po...

Page 56: ...ion controller will calculate it automatically if users set move ratio already The move ratio means the feedback resolution command resolution 4 2 2 Absolute and Relative Position Move In the coordinate system we have two kinds command for users to locate the target position One is absolute and the other is rela tive Absolute command means that user give the motion control ler a position then the ...

Page 57: ...the desired distance from user is smaller than the area of given speed parameters When this situation happens the motion controller will lower the maximum velocity but keep the acceleration rate to meet user s distane requirement The chart of this situation is shown as below This kind of speed profile could be applied on velocity mode posi tion mode in one axis or multi axes linear interpolation a...

Page 58: ...e It adds a linear curve between the upper side of s curve and lower side of s curve This shape improves the speed of acceleration and also reduces the vibration of acceleration For a bell curve we define its shape s parameter as below X Tacc Acceleration time in second X Tdec Deceleration time in second X StrVel Starting velocity in PPS X MaxVel Maximum velocity in PPS X VSacc S curve part of a b...

Page 59: ...n 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 following Figure 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 to Trapezoidal profile motion This kind of speed profile could be ...

Page 60: ... below 4 2 6 One Axis Position Mode Position mode means the motion controller will output a specific amount of pulses which is equal to users desired position or dis tance The unit of distance or position is pulse internally on the motion controller The minimum length of distance is one pulse But in PCI 8102 we provide a floating point function for users to transform a physical length to pulses In...

Page 61: ...ratio of speed of every axis is a constant value Assume that we run a motion from 0 0 to 10 4 The linear inter polation results are shown as below The pulses output from X or Y axis remains 1 2 pulse difference according to a perfect linear line The precision of linear interpo laition is shown as below If users want to stop an interpolation group just call a stop func tion on first axis of the gro...

Page 62: ... 2 axis linear interpolation functions the vector speed needs to define the start velocity StrVel and maximum velocity MaxVel 4 2 8 Two Axes Circular Interpolation Mode Circular interpolation means XY 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 ...

Page 63: ... precision range is at radius 1 2 pulse 4 2 9 Continuous Motion Continuous motion means a series of motion command or position can be run continuously Users can set a new command right after previous one without interrupting it The motion controller can make it possible because there are three command buffers pre registers inside When first command is executing users can set second command into fi...

Page 64: ...y The following diagram shows this architechture of continuous motion Besides position command the speed command should be set correctly to perform a speed continuous profile For the following example there are three motion command of this continuous motion The second one has high speed than the others The interconnection of speed between these three motion functions should be set as the following...

Page 65: ...etween two command s speed set ting If the INP checking is enabled the motion will have some delayed between each command in buffers INP check enabled make the desired point be reached but reduce the smoothing between each command If users don t need this delay and meed the smoothing please turn INP checking off ...

Page 66: ... done by ASIC No software efforts or CPU loading will be taken After home return is finished the target counter will be reset to zero at the desired condition of home mode For example a raising edge when ORG input Some times the motion controller will still output pulses to make machine show down after reseting the counter When the motor stops the counter may not be at zero point but the home retu...

Page 67: ...Operation Theory 57 Home mode 0 ORG Turn ON then reset counter Home mode 1 Twice ORG turn ON then reset counter Home mode 2 ORG ON then Slow down to count EZ num ...

Page 68: ...58 Operation Theory bers and reset counter Home mode 3 ORG ON then count EZ numbers and reset counter Home mode 4 ORG On then reverse to count EZ number ...

Page 69: ...Operation Theory 59 and reset counter Home mode 5 ORG On then reverse to count EZ number and reset counter not using FA Speed Home mode 6 EL On then reverse to leave EL and reset ...

Page 70: ...ory counter Home mode 7 EL On then reverse to count EZ number and reset counter Home mode 8 EL On then reverse to count EZ number and reset counter not using FA Speed Home mode 9 ORG On then reverse to zero position an ...

Page 71: ...Operation Theory 61 extension from mode 0 Home mode 10 ORG On then counter EZ and reverse to zero position an extension from mode 3 Home mode 11 ORG On then reverse to counter EZ and ...

Page 72: ...extension from mode 8 4 2 11 Home Search Function This mode is used to add auto searching function on normal home return mode described in previous section no matter which posi tion the axis is The following diagram is shown the example for home mode 2 via home search function The ORG offset can t be zero Suggested value is the double length of ORG area ...

Page 73: ...nd re directed to pulse output pins The input pulses could be multiplied or divided before send ing out The motion controller receives two kinds of pulse trains from man ual pulser device CW CCW and AB phase If the AB phase input mode is selected the multiplier has additional selection of 1 2 or 4 The following figure shows pulser ratio block diagram ...

Page 74: ...ronous mode will start at the same time 4 2 14 Speed Override Function Speed override means that users can change command s speed during the operation of motion The change parameter is a per centage of original defined speed Users can define a 100 speed value then change the speed by percentage of original speed when motion is running If users didn t define the 100 speed value The default 100 spee...

Page 75: ...f the new target position is far away from current position on the same direction the motion will remain its speed and run to new target position If the override timing is on the deceleration of current motion and the target position is far away from current position on the same direction it will accelerate to original speed and run to new target position The operation exam ples are shown as below...

Page 76: ...eset and emergency stop inputs The following sections will describe the functions these I O pins 4 3 1 Pulse Command Output Interface The motion controller uses pulse command to control servo step per motors via motor drivers Please set the drivers to position mode which can accept pulse trains as position command The pulse command consists of two signal pairs It is defined as OUT and DIR pins on ...

Page 77: ... distance in pulse The fre quency of the OUT pulse represents speed in pulse per second The DIR signal represents command direction of positive or negative The diagrams below show the output waveform It is possible to set the polarity of the pulse chain Mode Output of OUT pin Output of DIR pin Dual pulse output CW CCW Pulse signal in plus or CW direction Pulse signal in minus or CCW direction Sing...

Page 78: ...nds and negative commands The command pulses are counted by a 28 bit command counter The command counter can store a value of total pulses outputting from controller 4 3 2 Pulse Feedback Input Interface Our motion controller provides one 28 bit up down counter of each axis for pulse feedback counting This counter is called position counter The position counter counts pulses from the EA and EB sign...

Page 79: ...re internal counted from command output pulses The following diagrams show these two types of pulse feedback signal The pattern of pulses in this mode is the same as the Dual Pulse Output Mode in the Pulse Command Output section except that the input pins are EA and EB In this mode pulses from EA pin cause the counter to count up whereas EB pin caused the counter to count down 90 phase difference ...

Page 80: ...ion Signal The in position signal is an output signal from motor driver It tells motion controllers a motor has been reached a position within a predefined error The predefined error value is in position value Most motor drivers call it as INP value After motion controller issues a positioning command the motion busy status will keep true until the INP signal is ON Users can disable INP check for ...

Page 81: ...et correctly If the alarm logic s setting is not the same as motor driver s setting the ALM status will be always ON and the pulse command can never be output ted 4 3 5 Error Clear Signal The ERC signal is an output from the motion controller It tells motor driver to clear the the error counter The error counter is counted from the difference of command pulses and feedback pulses The feedback posi...

Page 82: ... servo signal is turned off the axis will be in uncontrolled state It could be falled down on the ground Some situations like servo alarm and emergeny signal ON will result in the same trou ble 4 3 7 Servo Ready Signal The servo ready signal is a general digital input on motion control ler It has no relative purpose to motion controller Users can con nect this signal to motor driver s RDY signal t...

Page 83: ...s This signal is used for defining zero position of this axis The logic of this signal must be set properly before doing home procedure Please refer to home mode section for details 4 4 2 End Limit Switch Signal The end limit switches are usually installed on both ending sides of one axis We must install plus EL at the positive position of the axis and minus EL at the negative position of the axis...

Page 84: ...nter Latch Switch The counter latch switch is an input singal which makes counter value to be kept into a register when this input active If users need to know counter value at the active moment of one input they can connect this pin to catch that 4 4 7 Emergency Stop Input Our motion controller provides a global digital input for emergeny situation Once the input is turned on our motion controlle...

Page 85: ...es the information of the current command position It is useful for debugging the motion system Our motion system is an open loop type The motor driver receives pulses from motion controller and drive the motor to move When the driver is not moving we can check this command counter and see if there is an update value on it If it is it means that the pulses have seen sent and the problem could be o...

Page 86: ...The command and feedback error counter is used to calculate the error between the command position and the feedback position The value is calculated from command subtracting feedback posi tion If the ratio between command and feedback is not 1 1 the error counter is meaningless This counter is a 16 bit binary up down counter 4 5 4 General Purpose Counter The source of general purpose counter could...

Page 87: ... 6 1 Soft End Limit Comparators There are two comparators for end limit function of each axis We call them for the soft end limit comparators One is for plus or pos itive end limit and the other is for minus or negative end limit The end limit is to prevent machine crash when over traveling We can use the soft limit instead of a real end limit switch Notice that these two comparators only compare ...

Page 88: ...generating a trigger pulse when condition is met Once the condition is met the CMP pin on the connector will output a pulse for specific purpose like triggering a camera to catch picture Not all of axes have this function It depends on the existence of CMP pin of the axis The following diagram shows the application of triggering In this application the table is controlled by the motion command and...

Page 89: ... slip correction functions These functions output the number of command pulses in FA speed The backlash compensation is performed each time when the direction changes on operation The slip correction function is performed before a motion command regardless of the direction The correction amount of pulses can be set by function library 4 7 2 Vibration Restriction Function The method of vibration re...

Page 90: ...is not exist for these parame ters At this situation motion library will keep the acceleration and deceleration rate It tries to lower the maximum speed from users automatically to reform a speed profile feasible The following dia gram shows this concept Our motion library has a series of functions to know the actual speed profile of the command from users Velocity pps StrVel Tacc Tdec MaxVel Time...

Page 91: ...rces can be maskable by _8102_set_motion_int_factor Its mask bits are shown as follow ing table Motion Interrupt Source Bit Settings Bit Description 0 Normally Stop 1 Next command in buffer starts 2 Command pre register 2 is empty and allow new command to write 3 0 4 Acceleration Start 5 Acceleration End 6 Deceleration Start 7 Deceleration End 8 Soft limit or comparator 1 is ON 9 Soft limit or com...

Page 92: ...ator or comparaor 4 is ON and axis is stopped 4 Trigger Comparator or comparator 5 is ON and axis is stopped 5 End Limit is on and axis is stopped 6 End Limit is on and axis is stopped 7 ALM is happened and axis is stop 8 CSTP is ON or _8102_stop_move_all is on and axis is stopped 9 CEMG is on and axis is stopped 10 SD input is on and axis is slowed down to stop 11 0 12 Interpolation operation err...

Page 93: ...nterrupt AXIS0 0x01 1000 Wait 1000ms for normally stop interrupt 6 _8102_wait_gpio_interrupt CARD0 0x01 1000 Wait 1000ms for DI0 falling edge interrupt 7 I16 ErrNo _8102_wait_error_interrupt AXIS0 2000 Wait 2000ms for error interrupts Bit Description 0 DI0 falling edge 1 DI1 falling edge 2 DI2 falling edge 3 DI3 falling edge 4 DI0 raising edge 5 DI1 raising edge 6 DI2 raising edge 7 DI3 raising ed...

Page 94: ...and can t change the resource settings When multiple cards are applied to a system the number of card must be noted The card number depends on the card ID switch setting on the the board The axis number is depends on the card ID For example if three motion controller cards are plugged in to PCI slots and the corresponding card ID is set then the axis num ber on each card will be Notice that if the...

Page 95: ...vironment 5 1 Execute MotionCreatorPro After installing the software drivers for the 8102 in Windows 2000 XP the MotionCreatorPro program can be located at chosen path PCI Motion MotionCreatorPro To execute the program double click on the executable file or use Start Program Files PCI Motion MotionCreatorPro 5 2 About MotionCreatorPro Before Running MotionCreatorPro the following issues should be ...

Page 96: ... from one system to another copy 8102 ini and 8102MC ini into the windows root directory 4 If multiple PCI 8102 cards use the same MotionCreator Pro saved configuration files the DLL function call _8102_config_from_file can be invoked within a user developed program This function is available in a DOS environment as well ...

Page 97: ...MotionCreatorPro 87 5 3 MotionCreatorPro Form Introduction 5 3 1 Main Menu The main menu appears after running MotionCreatorPro It is used to ...

Page 98: ...88 MotionCreatorPro 5 3 2 Select Menu The select menu appears after running MotionCreatorPro It is used to ...

Page 99: ...MotionCreatorPro 89 5 3 3 Card Information Menu In this menu it show some Information about this card ...

Page 100: ...90 MotionCreatorPro 5 3 4 Configuration Menu In this menu users can configure ALM INP ERC EL ORG and EZ ...

Page 101: ... of the ERC signal The related function call is _8102_set_erc 4 EL Response mode Select the response mode of the EL signal The related function call is _8102_set_limit_logic 5 ORG Logic Select the logic of the ORG signal The related function call is _8102_set_home_config 6 EZ Logic Select the logic of the EZ signal The related function call is _8102_set_home_config 7 Buttons Z Next Card Change ope...

Page 102: ...92 MotionCreatorPro In this menu users can configure LTC SD PCS and Select_Input ...

Page 103: ..._set_sd 4 PCS Logic Select the logic of the SelectNo signal The related function call is _8102_set_pcs_logic 5 pin23_Select Axis X Select the configurations of the Axis X The related function call is _8102_select_pin23_input 6 pin57_Select Axis Y Select the configurations of the Axis Y The related function call is _8102_select_pin57_input 7 Buttons Z Next Card Change operating card Z Next Axis Cha...

Page 104: ...94 MotionCreatorPro In this menu users can configure pulse input output and move ratio and INT factor ...

Page 105: ... of the Pulse input signal EA EB The related function calls are _8102_set_pls_iptmode _8102_set_feedback_src 3 INT Factor Select factors to initiate the event int The related function call is _8102_set_int_factor 4 Buttons Z Next Card Change operating card Z Next Axis Change operating axis Z Save Config Save current configuration to 8102 ini And 8102MC ini Z Close Close the menu ...

Page 106: ...MotionCreatorPro 5 3 5 Single Axis Operation Menu In this menu users can change the settings a selected axis including velocity mode motion preset relative absolute motion manual pulse move and home return ...

Page 107: ...or_counter Z _8102_reset_target_pos 3 Motion Status Displays the returned value of the _8102_motion_done function The related function is _8102_motion_done 4 INT Status Z int_factor bit no Set int_factor bit Z Normal INT display of Normal INT status The related function is _8102_wait_motion_interrupt Z Error INT display of Error INT status The related func tion is _8102_wait_error_interrupt Z GPIO...

Page 108: ...d as relative dis placement for motion The related function is _8102_start_tr_move _8102_start_sr_move Z Cont Move Velocity motion mode The related function is _8102_tv_move _8102_start_sv_move Z Manual Pulser Move Manual Pulse motion Clicking this button will invoke the manual pulse configuration win dow Z Home Mode Home return motion Clicking this button will invoke the home move configuration w...

Page 109: ...ome Mode figure The figure shown explains the actions of the individual home modes Z Close Click this button close this window 8 Position Set the absolute position for Absolute Mode It is only effective when Absolute Mode is selected 9 Distance Set the relative distance for Relative Mode It is only effective when Relative Mode is selected 10 Repeat Mode When On is selected the motion will become r...

Page 110: ...ly the value is effective For example 100 0 is the same as 100 0 In Cont Move both the value and sign are effective 100 0 means 100 0 in the minus direction Z Maximum Velocity Set the maximum velocity of motion in units of PPS In Absolute Mode or Relative Mode only the value is effective For example 5000 0 is the same as 5000 0 In Cont Move both the value and sing is effective 5000 0 means 5000 0 ...

Page 111: ...lated function is _8102_set_servo 17 Play Key Left play button Clicking this button will cause the 8102 start to outlet pulses according to previous setting Z In Absolute Mode it causes the axis to move to position1 Z In Relative Mode it causes the axis to move forward Z In Cont Move it causes the axis to start to move according to the velocity setting Z In Manual Pulser Move it causes the axis to...

Page 112: ...ulser Move it causes the axis to go into pulse move The speed limit is the value set by Maxi mum Velocity 18 Stop Button Clicking this button will cause the 8102 to decelerate and stop The deceleration time is defined in Decel Time The related function is _8102_sd_stop 19 I O Status The status of motion I O Light On means Active while Light Off indicates inactive The related function is _8102_get_...

Page 113: ...MotionCreatorPro 103 5 3 6 Two Axis Operation Menu In this menu users can change the settings two selected axis including velocity mode motion preset relative absolute motion ...

Page 114: ...e S curve range during acceleration in units of PPS Z Sdec Set the S curve range during deceleration in units of PPS 2 Repeat Mode When On is selected the motion will become repeat mode forward backward or position1 position2 It is only effective when Relative Mode or Absolute Mode is selected 3 Vel Profile Select the velocity profile Both Trapezoidal and S Curve are available for Absolute Mode Re...

Page 115: ... 11 Velocity The absolute value of velocity in units of PPS The related function is _8102_get_current_speed 12 Play Key Left play button Clicking this button will cause the 8102 start to outlet pulses according to previous setting Z In Absolute Mode it causes the axis to move to position1 Z In Relative Mode it causes the axis to move forward Right play button Clicking this button will cause the 81...

Page 116: ...106 MotionCreatorPro Z Save Config Save current configuration to 8102 ini And 8102MC ini Z Close Close the menu ...

Page 117: ...on Menu Press 2 D button in operating window will enter this window This is for 2 D motion test It includes the following topics X Linear Interpolation X Circular Interpolation X Incremental Jog X Continuous Jog X Other Control Objects ...

Page 118: ...l step a distance according to the Step Size s setting 2 Jog Setting Set the parameters for single axis motion This parameter is meaningless if Jog Mode is selected since the velocity and moving distance is decided by pulse input Z Start Velocity Set the start velocity of motion in units of PPS Z Maximum Velocity Set the maximum velocity of motion in units of PPS Z Tacc Set the acceleration time i...

Page 119: ...file Both Trapezoidal and S Curve are available for Linear Interpolation Mode and Circular Interpolation Mode 6 6 Speed Parameters Set the parameters for single axis motion This parameter is meaningless if Linear Interpo lation Mode or Circular Interpolation Mode is selected since the velocity and moving distance is decided by pulse input Z Start Velocity Set the start velocity of motion in units ...

Page 120: ...ommand counter The related function is _8102_get_command 12 Current Position Z Feedback displays the value of the feedback position counter The related function is _8102_get_position 13 Home Mode Home return motion Clicking this button will invoke the home move configuration window The related function is _8102_set_home_config There are two home return buttons at the left down corner of this windo...

Page 121: ...ous Jog Continuous Jog means that when you press one directional button the axis will continuously move with an increasing speed The longer you press the faster it runs When you un press the button the axis will stop immediately Incremental Jog Incremental jog means that when you click one directional button the axis will step a distance according to the Step Size s setting 15 Motion status Displa...

Page 122: ...o Dis tance By Pos Dist pulse The related function is _8102_start_tr_arc_xy _8102_start_sr_arc_xy Stop Button Clicking this button will cause the 8102 to deceler ate and stop The deceleration time is defined in Decel Time The related function is _8102_sd_stop 17 Buttons Z Next Card Change operating card Z Save Config Save current configuration to 8102 ini And 8102MC ini Z Close Close the menu ...

Page 123: ... Motion Graph Z Center Display the Motion Graph in center position 19 Graph Range controls X or Y axis s display range 20 Origin Position let user to pan the display location 5 3 8 Help Menu In this menu users can Click Mouse Right Key to show Help Infor mation ...

Page 124: ...114 MotionCreatorPro ...

Page 125: ...apter describes the supporting software for the PCI 8102 card User can use these functions to develop programs in C C or Visual Basic If Delphi is used as the programming envi ronment it is necessary to transform the header files pci_8102 h manually ...

Page 126: ... PCI 8102 setting from file Function Name Description _8102_set_pls_outmode Set pulse command output mode _8102_set_pls_iptmode Set encoder input mode _8102_set_feedback_src Set counter input source Function Name Description _8102_tv_move Accelerate an axis to a constant velocity with trapezoidal profile _8102_sv_move Accelerate an axis to a constant velocity with S curve profile _8102_sd_stop Dec...

Page 127: ...escription _8102_start_tr_move_xy Begin a relative 2 axis linear interpolation for X Y with trapezoidal profile _8102_start_ta_move_xy Begin an absolute 2 axis linear interpolation for X Y with trapezoidal profile _8102_start_sr_move_xy Begin a relative 2 axis linear interpolation for X Y with S curve profile _8102_start_sa_move_xy Begin an absolute 2 axis linear interpolation for X Y with S curve...

Page 128: ...Begin a home return action _8102_home_search Auto Search Home Switch Function Name Description _8102_set_pulser_iptmode Set pulser input mode _8102_disable_pulser_input Disable the pulser input _8102_pulser_vmove Start pulser v move _8102_pulser_pmove Start pulser p move _8102_set_pulser_ratio Set manual pulser ratio for actual output pulse rate Function Name Description _8102_motion_done Return t...

Page 129: ..._sd Set SD signal s logic and operating mode _8102_enable_sd Enable SD signal _8102_set_limit_logic Set EL signal s logic _8102_set_limit_mode Set EL operating mode _8102_get_io_status Get all the motion I O status of 8102 Function Name Description _8102_int_control Enable Disable INT service _8102_wait_error_interrupt Wait error related interrupts _8102_wait_motion_interrupt Wait motion related i...

Page 130: ...ounter Get the value of the general counter _8102_set_general_counter Set the general counter _8102_get_target_pos Get the value of the target position recorder _8102_reset_target_pos Reset target position recorder _8102_get_res_distance Get remaining pulses accumulated from motions _8102_set_res_distance Set remaining pulses record Function Name Description _8102_set_trigger_logic Set CMP signal ...

Page 131: ..._sr_move_all Multi axis simultaneous operation setup _8102_set_sa_move_all Multi axis simultaneous operation setup _8102_start_move_all Begin a multi axis trapezoidal profile motion _8102_stop_move_all Simultaneously stop multi axis motion Function Name Description _8102_set_gpio_output Set digital output _8102_get_gpio_output Get digital output _8102_get_gpio_input Get digital input _8102_set_gpi...

Page 132: ...mpensation _8102_suppress_vibration Set suppress vibration idle pulse counts _8102_set_fa_speed Set FA speed for home mode Function Name Description _8102_get_tr_move_profile Get relative trapezoidal speed profile _8102_get_ta_move_profile Get absolute trapezoidal speed profile _8102_get_sr_move_profile Get relative S curve speed profile _8102_get_sa_move_profile Get absoulte S curve speed profile...

Page 133: ...nment _ hardware_model _ action_name e g _8102_Initial In order to recognize the difference between a C library and a VB library a capital B is placed at the beginning of each function name e g B_8102_Initial Type Name Description Range U8 8 bit ASCII character 0 to 255 I16 16 bit signed integer 32768 to 32767 U16 16 bit unsigned integer 0 to 65535 I32 32 bit signed long integer 2147483648 to 2147...

Page 134: ... the parameter Manual_ID user can choose the type that the card s ID is assigned manually or automaticly _8102_close This function is used to close 8102 card and release its resources which should be called at the end of your applications _8102_get_version Lets users read back the firmware s driver s and DLL s version information _8102_set_user_code Set your own codes into EEPROM It can secure use...

Page 135: ..._feedback_src _8102_set_home_config _8102_set_soft_limit _8102_set_fa_speed _8102_set_sd Syntax C C Windows 2000 XP I16 _8102_initial U16 CardID_InBit I16 Manual_ID I16 _8102_close void I16 _8102_get_version I16 card_id I16 firmware_ver I32 driver_ver I32 dll_ver I16 _8102_set_user_code I16 card_id I16 Length U16 sec_code I16 _8102_get_user_code I16 card_id I16 Length U16 sec_code I16 _8102_config...

Page 136: ... you will read back the value as 0x000A because the bit 1 and bit 3 are 1 Card ID exists and other bits are OFF Manual_ID Enable the on board dip switch SW1 to decide the Card ID Value meaning The CardID could be decided by 0 the sequence of PCI slot 1 on board DIP switch SW1 card_id Specify the PCI 8102 card index The card_id could be decided by DIP switch SW1 or depend on slot sequence Please re...

Page 137: ...de Configure the output modes of command pulses There are 6 modes for command pulse output _8102_set_feedback_src If external encoder feedback is available in the system set the Src parameter in this function to an Enabled state Then the internal 28 bit up down counter will count according to the configuration of the _8102_set_pls_iptmode function Else the counter will count the command pulse outp...

Page 138: ...o Axis number designated to configure the pulse input out put It varied according to users ID setting The following is an example pls_iptmode Encoder feedback pulse input mode setting EA EB signals pls_logic Logic of encoder feedback pulse card_id Physical axis AxisNo 0 0 0 1 1 1 0 2 1 3 2 0 4 1 Value Meaning 0 1X A B 1 2X A B 2 4X A B 3 CW CCW Value Meaning 0 Not inverse direction 1 inverse direc...

Page 139: ...Function Library 129 pls_outmode Setting of command pulse output mode Src Counter source Return Code ERR_NoError Value Meaning 0 External signal feedback 1 Command pulse ...

Page 140: ... stop The direction is determined by the sign of the velocity parameter _8102_sv_move This function is to accelerate an axis to the specified constant velocity with a S curve profile The axis will continue to travel at a constant velocity until the velocity is changed or the axis is com manded to stop The direction is determined by the sign of velocity parameter _8102_emg_stop This function is use...

Page 141: ...his function is used before velocity motion Syntax C C Windows 2000 XP I16 _8102_tv_move I16 AxisNo F64 StrVel F64 MaxVel F64 Tacc I16 _8102_sv_move I16 AxisNo F64 StrVel F64 MaxVel F64 Tacc F64 SVacc I16 _8102_emg_stop I16 AxisNo I16 _8102_sd_stop I16 AxisNo F64 Tdec I16 _8102_get_current_speed I16 AxisNo F64 speed I16 _8102_speed_override I16 CAxisNo F64 NewVelPercent F64 Time I16 _8102_set_max_...

Page 142: ...r ByVal OvrdSpeed As Double ByVal Enable As Integer Argument AxisNo Axis number designated to move or stop StrVel Starting velocity in units of pulse per second MaxVel Maximum velocity in units of pulse per second Tacc Specified acceleration time in units of second SVacc Specified velocity interval in which S curve acceleration is performed Note SVacc 0 for pure S Curve Tdec specified deceleration...

Page 143: ...o become shorter while dV dt acceleration deceleration and d dV dt dt jerk are keep unchanged _8102_start_tr_move This function causes the axis to accelerate form a starting velocity StrVel rotate at constant velocity MaxVel and decelerate to stop at the relative distance with trapezoidal profile The accelera tion Tacc and deceleration Tdec time is specified indepen dently it does not let the prog...

Page 144: ...pletion but immedi ately returns control to the program _8102_set_move_ratio This function configures scale factors for the specified axis Usu ally the axes only need scale factors if their mechanical resolu tions are different For example if the resolution of feedback sensors is two times resolution of command pulse then the parameter move_ratio could be set as 2 _8102_position_override This func...

Page 145: ...nteger ByVal Dist As Double ByVal StrVel As Double ByVal MaxVel As Double ByVal Tacc As Double ByVal Tdec As Double ByVal SVacc As Double ByVal SVdec As Double As Integer B_8102_start_sa_move ByVal AxisNo As Integer ByVal Pos As Double ByVal StrVel As Double ByVal MaxVel As Double ByVal Tacc As Double ByVal Tdec As Double ByVal SVacc As Double ByVal SVdec As Double As Integer B_8102_set_move_ratio...

Page 146: ...dec Specified deceleration time in units of seconds SVacc Specified velocity interval in which S curve acceleration is performed Note SVacc 0 for pure S Curve For more details see section 4 2 4 SVdec specified velocity interval in which S curve deceleration is performed Note SVdec 0 for pure S Curve For more details see section 4 2 4 Move_ratio ratio of feedback resolution command resolution shoul...

Page 147: ...y Begin an absolute 2 axis linear interpolation for with S curve profile Description These functions perform linear interpolation motion with different profile Detail Comparsions of those functions are described by fol low table Velocity profile T trapezoidal profile S s curve profile Relative Absolute R Relative distance A Absoulte position Function Total axes Velocity Pro file Relative Absolute ...

Page 148: ...ByVal MaxVel As Double ByVal Tacc As Double ByVal Tdec As Double As Integer B_8102_start_ta_move_xy ByVal CardNo As Integer ByVal PosX As Double ByVal PosY As Double ByVal StrVel As Double ByVal MaxVel As Double ByVal Tacc As Double ByVal Tdec As Double As Integer B_8102_start_sr_move_xy ByVal CardNo As Integer ByVal DistX As Double ByVal DistY As Double ByVal StrVel As Double ByVal MaxVel As Doub...

Page 149: ...y profile in units of pulse per second MaxVel Maximum velocity in units of pulse per second Tacc Specified acceleration time in units of seconds Tdec Specified deceleration time in units of seconds SVacc Specified velocity interval in which S curve acceleration is performed Note SVacc 0 for pure S Curve For more details see section 4 2 4 SVdec specified velocity interval in which S curve decelerat...

Page 150: ..._8102_start_tr_arc_xy I16 Card_id F64 OffsetCx F64 OffsetCy F64 OffsetEx F64 OffsetEy I16 DIR F64 StrVel F64 MaxVel F64 Tacc F64 Tdec I16 _8102_start_ta_arc_xy I16 Card_id F64 Cx F64 Cy F64 Ex F64 Ey I16 DIR F64 StrVel F64 MaxVel F64 Tacc F64 Tdec I16 _8102_start_sr_arc_xy I16 Card_id F64 OffsetCx F64 OffsetCy F64 OffsetEx F64 OffsetEy I16 DIR F64 StrVel F64 MaxVel F64 Tacc F64 Tdec F64 SVacc F64 ...

Page 151: ...ByVal Tacc As Double ByVal Tdec As Double As Integer B_8102_start_sr_arc_xy ByVal CardNo As Integer ByVal OffsetCx As Double ByVal OffsetCy As Double ByVal OffsetEx As Double ByVal OffsetEy As Double ByVal CW_CCW As Integer ByVal StrVel As Double ByVal MaxVel As Double ByVal Tacc As Double ByVal Tdec As Double ByVal SVacc As Double ByVal SVdec As Double As Integer B_8102_start_sa_arc_xy ByVal Card...

Page 152: ...elocity in units of pulse per second Tacc Specified acceleration time in units of seconds Tdec Specified deceleration time in units of seconds SVacc Specified velocity interval in which S curve acceleration is performed Note SVacc 0 for pure S Curve For more details see section 4 2 4 SVdec specified velocity interval in which S curve deceleration is performed Note SVdec 0 for pure S Curve For more...

Page 153: ...ermined by the sign of velocity param eter svel mvel Since the stopping condition of this function is determined by the home_mode setting users should take care in selecting the initial moving direction Users should also take care to handle conditions when the limit switch is touched or other con ditions that are possible causing the axis to stop Executing v_stop function during home_move can also...

Page 154: ...e ByVal MaxVel As Double ByVal Tacc As Double As Integer B_8102_home_search ByVal AxisNo As Integer ByVal StrVel As Double ByVal MaxVel As Double ByVal Tacc As Double ByVal ORGOffset As Double As Integer Argument AxisNo Axis number designated to move or change position home_mode Stopping modes for home return This value is between 0 to 12 Please see Section 4 2 10 org_logic Action logic configurat...

Page 155: ...velocity of a velocity profile unit pulse sec MaxVel Maximum velocity unit pulse sec Tacc Specified acceleration time Unit sec ORGOffset The escape pulse amounts when home search touches the ORG singal Unit pulse Return Code ERR_NoError 1 Active high Value Meaning 0 no ERC out 1 ERC signal out when home move finishing ...

Page 156: ...l output one pulse when it receives one manual pulse until the _8102_disable_pulser_input function dis ables the pulser or the output pulse number reaches the distance _8102_pulser_vmove With this command the axis begins to move according to the man ual pulse input The axis will output one pulse when it receives one manual pulse until the _8102_disable_pulser_input function dis ables the pulser _8...

Page 157: ...ut ByVal AxisNo As Integer ByVal Disable As Integer As Integer B_8102_pulser_pmove ByVal AxisNo As Integer ByVal Dist As Double ByVal SpeedLimit As Double As Integer B_8102_pulser_vmove ByVal AxisNo As Integer ByVal SpeedLimit As Double As Integer B_8102_set_pulser_ratio ByVal AxisNo As Integer ByVal DivF As Integer ByVal MultiF As Integer As Integer B_8102_set_pulser_iptmode ByVal AxisNo As Integ...

Page 158: ... 100pps even the input pulser signal rate is more then 100pps DivF Divide factor 0 2047 MultiF Multiplication factor 0 31 InputMode Setting of manual pulse input mode from the PA and PB pins Inverse Reverse the moving direction from pulse direction Value Meaning 0 1X AB phase type pulse input 1 2X AB phase type pulse input 2 4X AB phase type pulse input 3 CW CCW type pulse input Value Meaning 0 no...

Page 159: ...1 Waiting for DR 2 Waiting for CSTA input 3 Waiting for an internal synchronous signal 4 Waiting for another axis to stop 5 Waiting for a completion of ERC timer 6 Waiting for a completion of direction change timer 7 Correcting backlash 8 Wait PA PB 9 At FA speed 10 At FL Speed 11 Accelerating 12 At FH Speed 13 Decelerating 14 Wait INP 15 Others Controlling Start 16 SALM 17 SPEL 18 SMEL 19 SEMG 20...

Page 160: ...dows 95 NT I16 _8102_motion_done I16 AxisNo Visual Basic Windows 95 NT B_8102_motion_done ByVal AxisNo As Integer As Integer Argument AxisNo Axis number designated to start manual move card_id Physical axis AxisNo 0 0 0 1 1 1 0 2 1 3 2 0 4 1 ...

Page 161: ...logic Set the logic of PEL MEL signal _8102_set_limit_mode Set PEL MEL operating mode _8102_select_pin23_input set pin NO 23 signal source _8102_select_pin57_input set pin No 57 signal source _8102_get_io_status Get all the motion I O statuses of each 8102 Description _8102_set_servo You can set the ON OFF state of the SVON signal with this func tion The default value is 1 OFF which means the SVON...

Page 162: ... control and operating mode of the SD signal input from a mechanical system Users can select whether they want to enable this function by _8102_enable_sd It is dis abled by default _8102_enable_sd Enable the SD signal input Default setting is default _8102_set_limit_logic Set the EL logic normal open or normal closed _8102_set_limit_mode Set the reacting modes of the EL signal _8102_select_pin23_i...

Page 163: ...o I16 sd_logic I16 sd_latch I16 sd_mode I16 _8102_enable_sd I16 AxisNo I16 enable I16 _8102_set_limit_logic I16 AxisNo U16 Logic I16 _8102_set_limit_mode I16 AxisNo I16 limit_mode I16 _8102_select_pin23_input I16 card_id U16 Select I16 _8102_select_pin57_input I16 card_id U16 Select 2 EL Positive Limit Switch 3 EL Negative Limit Switch 4 ORG Origin Switch 5 DIR DIR output 6 EMG EMG status 7 PCS PC...

Page 164: ...er ByVal erc_logic As Integer ByVal erc_pulse_width As Integer As Integer B_8102_set_sd ByVal AxisNo As Integer ByVal sd_logic As Integer ByVal sd_latch As Integer ByVal sd_mode As Integer As Integer B_8102_enable_sd ByVal AxisNo As Integer ByVal Enable As Integer As Integer B_8102_set_limit_logic ByVal AxisNo As Integer ByVal Logic As Integer As Integer B_8102_set_limit_mode ByVal AxisNo As Integ...

Page 165: ... a HIGH level inp_enable INP function enabled disabled X inp_enable 0 Disabled default X inp_enable 1 Enabled inp_logic Set the active logic for the INP signal alm_logic Setting of active logic for ALARM signals alm_mode Reacting modes when receiving an ALARM signal 2 0 4 1 Value Meaning 0 ON 1 OFF Value Meaning 0 Negative logic 1 Positive logic Value Meaning 0 Negative logic 1 Positive logic Valu...

Page 166: ...d_mode Set the reacting mode of the SD signal 0 motor immediately stops default 1 motor decelerates then stops Value Meaning 0 Negative logic 1 Positive logic Value Meaning 0 12 us 1 102 us 2 409 us 3 1 6 ms 4 13 ms 5 52 ms 6 104 ms 7 Level output Value Meaning 0 Negative logic 1 Positive logic Value Meaning 0 Do not latch 1 latch Value Meaning 0 slow down only 1 slow down then stop ...

Page 167: ...c limit_mode Select select the corresponding signal to specified pin Value Meaning 0 Automatic setting 1 Manual setting default Value Meaning 0 Normal low normal open 1 Normal high normal close Value Meaning 0 Stop immediatelly 1 Slow down then stop Value Meaning 0 CLR pin 1 LTC pin 2 SD pin 3 PCS pin ...

Page 168: ...ctor This function allows users to select motion related factors to initi ate the event int The error can never be masked once the inter rupt service is turned on by _8102_int_control Once the Interrupt function is enabled you can use _8102_wait_motion_interrupt to wait event _8102_set_gpio_int_factor This function allows users to select GPIO related factors to initiate the event int The error can...

Page 169: ..._control I16 card_id I16 intFlag I16 _8102_set_motion_int_factor I16 AxisNo U32 int_factor I16 _8102_set_gpio_int_factor I16 card_id U16 int_factor I16 _8102_wait_error_interrupt I16 AxisNo I32 TimeOut_ms I16 _8102_wait_motion_interrupt I16 AxisNo I16 IntFactorBitNo I32 TimeOut_ms I16 _8102_wait_gpio_interrupt I16 card_id I16 IntFactorBitNo I32 TimeOut_ms Visual Basic Windows 2000 XP B_8102_int_co...

Page 170: ...ard_id Physical axis AxisNo 0 0 0 1 1 1 0 2 1 3 2 0 4 1 Value meaning 0 Disable 1 Enable Bit Description 0 Normal stop 1 Starting the next operation continuously 2 Writing to the 2nd pre register 3 Writing to the 2nd pre register for trigger comparator 4 Start acceleration 5 Acceleration end 6 Start deceleration 7 Deceleration end 8 When soft limit turn on positive direction 9 When soft limit turn...

Page 171: ... 17 When the DR input is changed 18 When the CSTA input is ON 19 31 Not define Always set to 0 Value meaning 0 Disable 1 Enable Bit Description 0 Digital Input 0 falling dege 1 Digital Input 1 falling dege 2 Digital Input 2 falling dege 3 Digital Input 3 falling dege 4 Digital Input 0 rising dege 5 Digital Input 1 rising dege 6 Digital Input 2 rising dege 7 Digital Input 3 rising dege 8 CLR LTC SD...

Page 172: ...of target position recorder _8102_reset_target_pos Reset target position recorder _8102_get_res_distance Get remaining pulses accumulated from motions _8102_set_res_distance Set remaining pulses record Description _8102_get_position This function is used to read the feedback position counter value Note that this value has already been processed by the move ratio setting by _8102_set_move_ratio If ...

Page 173: ...e value of the general counter _8102_set_general_counter This function is used to set the counting source of and change the value of general counter By default the source is pulser input _8102_get_target_pos This function is used to read the value of the target position recorder The target position recorder is maintained by the 8102 software driver It records the position to settle down for curren...

Page 174: ...4 CntValue I16 _8102_set_general_counter I16 AxisNo I16 CntSrc F64 CntValue I16 _8102_get_target_pos I16 AxisNo F64 T_pos I16 _8102_reset_target_pos I16 AxisNo F64 T_pos I16 _8102_get_res_distance I16 AxisNo F64 Res_Distance I16 _8102_set_res_distance I16 AxisNo F64 Res_Distance Visual Basic Windows 2000 XP B_8102_get_position ByVal AxisNo As Integer Pos As Double As Integer B_8102_set_position By...

Page 175: ..._8102_set_res_distance ByVal AxisNo As Integer ByVal Res_Distance As Double As Integer B_8102_get_res_distance ByVal AxisNo As Integer ByRef Res_Distance As Double As Integer Argument AxisNo Axis number of Target Axis Pos Pos Feedback position counter value _8102_get set_position range 134217728 134217727 command command Command position counter value range 134217728 134217727 error Position error...

Page 176: ...166 Function Library CntValue CntValue the counter value T_pos T_pos Target position recorder value range 134217728 134217727 Res_Distance Res_Distance residue distance 3 System clock 2 ...

Page 177: ... for the error comparator When the position error counter s value reaches the comparing value the 8102 will generate an interrupt to the host PC Also see section 6 14 Interrupt control _8102_set_general_comparator This function is used to set the comparing source counter com paring method and value for the general comparator When the comparison conditions are met there is one of the 4 reactions wi...

Page 178: ...I16 CmpAction I32 Data I16 _8102_set_trigger_comparator I16 AxisNo I16 CmpSrc I16 CmpMethod I32 Data I16 _8102_set_latch_source I16 AxisNo I16 ltc_src 16 _8102_set_ltc_logic I16 AxisNo I16 ltc_logic I16 _8102_get_latch_data I16 AxisNo I16 CounterNo F64 Pos Visual Basic Windows 2000 XP B_8102_set_trigger_logic ByVal AxisNo As Integer ByVal Logic As Integer As Integer B_8102_set_error_comparator ByV...

Page 179: ...al AxisNo As Integer ByVal CounterNo As Integer Pos As Double As Integer Argument AxisNo Axis number of Target Axis Logic logic of comparing trigger CmpSrc The comparing source counters CmpMethod The comparing methods card_id Physical axis AxisNo 0 0 0 1 1 1 0 2 1 3 2 0 4 1 Value Meaning 0 Negative logic 1 Positive logic Value Meaning 0 Command counter 1 Feedback counter 2 Error counter 3 General ...

Page 180: ...urce counter Count down only 4 Data Source counter 5 Data Source counter Value Meaning 0 No action 1 Stop immediatlly 2 Slow down then stop Value Meaning 0 LTC pin input 1 ORG pin input 2 general comparator conditions are met 3 trigger comparator conditions are met Value Meaning 0 Negative logic 1 Positive logic Value Meaning 0 Command counter 1 Feedback counter 2 Error counter 3 General counter ...

Page 181: ...ister is empty or not Once the command pre register is empty users may write the next motion command into it Otherwise the new com mand will overwrite the previous command in the 2nd command pre register _8102_dwell_move This function is used to start a dwell move that means the move does not cause real motion for a specific time Following example is shown how does the user _8102_set_continuous_mo...

Page 182: ... Integer ByVal conti_flag As Integer As Integer B_8102_check_continuous_buffer ByVal AxisNo As Integer As Integer B_8102_dwell_move ByVal AxisNo As Integer ByVal miniSecond As Double As Integer Argument AxisNo axis number Target Axis conti_logic continuous motion logic miniSecond Time of dwell move the unit is in ms card_id Physical axis AxisNo 0 0 0 1 1 1 0 2 1 3 2 0 4 1 Value Meaning 0 continuou...

Page 183: ...ed are specified by the parameter AxisArray and the number of axes are defined by parameter TotalAxes in _8102_set_tr_move_all When properly setup with _8102_set_xx_move_all the function _8102_start_move_all will cause all specified axes to begin a trapezoidal relative movement and _8102_stop_move_all will stop them Both functions guarantee that motion Starting Stopping on all specified axes are a...

Page 184: ...16 _8102_set_sa_move_all I16 TotalAx I16 AxisArray F64 PosA F64 StrVelA F64 MaxVelA F64 TaccA F64 TdecA F64 SVaccA F64 SVdecA I16 _8102_start_move_all I16 FirstAxisNo I16 _8102_stop_move_all I16 FirstAxisNo Visual Basic Windows 2000 XP B_8102_set_tr_move_all ByVal TotalAxes As Integer ByRef AxisArray As Integer ByRef DistA As Double ByRef StrVelA As Double ByRef MaxVelA As Double ByRef TaccA As Do...

Page 185: ...irstAxisNo As Integer As Integer Argument TotalAxes Number of axes for simultaneous motion AxisArray Specified axes number array designated to move DistA Specified distance array in units of pulse StrVelA Starting velocity array in units of pulse per second MaxVelA Maximum velocity array in units of pulse per second TaccA Acceleration time array in units of seconds TdecA Deceleration time array in...

Page 186: ...t channels By this function user could control the digital outputs _8102_get_gpio_output This function is used to get the digitl output status _8102_get_gpio_input PCI 8102 has 4 digital input channels By this function user can get the digital input status _8102_set_gpio_output2 The PCI 8102 has 16 digital output channels on P2 By this func tion user could control the digital outputs _8102_get_gpi...

Page 187: ...io_output ByVal card_id As Integer ByVal do_value As Integer As Integer B _8102_get_gpio_output Lib 8102 dll Alias _8102_get_gpio_output ByVal card_id As Integer do_status As Integer As Integer B _8102_get_gpio_input Lib 8102 dll Alias _8102_get_gpio_input ByVal card_id As Integer di_status As Integer As Integer B _8102_set_gpio_output2 ByVal card_id As Integer ByVal do_value As Integer As Integer...

Page 188: ...ot sequence Please refer to_8102_initial do_value Unsigned 16 bits value Bit 0 D_out0 Bit 1 D_out1 do_status Digital output status Bit 0 D_out0 Bit 1 D_out1 di_status Digital input status Bit0 3 D_in0 3 di_status_2 Digital input status Bit0 15 D_in0 15 ...

Page 189: ...oft limit will be exactly the same as physi cal limit _8102_set_soft_limit This function is used to set the soft limit value Syntax C C Windows 2000 XP I16 _8102_disable_soft_limit I16 AxisNo I16 _8102_enable_soft_limit I16 AxisNo I16 Action I16 _8102_set_soft_limit I16 AxisNo I32 Plus_Limit I32 Neg_Limit Visual Basic Windows 2000 XP B_8102_disable_soft_limit ByVal AxisNo As Integer As Integer B_8...

Page 190: ...Axis Action The reacting method of soft limit Plus_Limit Soft limit value positive direction Neg_Limit Soft limit value negative direction card_id Physical axis AxisNo 0 0 0 1 1 1 0 2 1 3 2 0 4 1 Value Meaning 0 INT only 1 Immediately stop 2 slow down then stop ...

Page 191: ...chanical systems by outputting a single pulse for negative direction and the single pulse for positive direction right after completion of command movement _8102_set_fa_speed This function is used to specify the low speed for backlash correc tion or slip correction It also used as a reverse low speed for home return operation Syntax C C Windows 2000 XP I16 _8102_backlash_comp I16 AxisNo I16 CompPu...

Page 192: ... As Double As Integer Argument AxisNo Axis number of Target Axis CompPulse Specified number of corrective pulses 12 bit Mode ReverseTime Specified Reverse Time 0 65535 unit 1 6 us ForwardTime Specified Forward Time 0 65535 unit 1 6 us FA_Speed fa speed unit pulse sec card_id Physical axis AxisNo 0 0 0 1 1 1 0 2 1 3 2 0 4 1 Value Meaning 0 Turns off 1 enable backlash compensation 2 Slip correction ...

Page 193: ...ofile This function is used to get the absolute trapezoidal speed pro files By this function user can get the actual speed profile before running _8102_get_sr_move_profile This function is used to get the relative S curve speed profiles By this function user can get the actual speed profile before running _8102_get_sa_move_profile This function is used to get the absolute S curve speed profiles By...

Page 194: ...yRef pTconst As Double As Integer B_8102_get_ta_move_profile ByVal AxisNo As Integer ByVal Pos As Double ByVal StrVel As Double ByVal MaxVel As Double ByVal Tacc As Double ByVal Tdec As Double ByRef pStrVel As Double ByRef pMaxVel As Double ByRef pTacc As Double ByRef pTdec As Double ByRef pTconst As Double As Integer B_8102_get_sr_move_profile ByVal AxisNo As Integer ByVal Dist As Double ByVal St...

Page 195: ...me for acceleration unit sec Tdec time for deceleration unit sec SVacc S curve region during acceleration unit pulse sec Note SVacc 0 for pure S Curve For more details section 4 2 4 SVdec S curve region during deceleration unit pulse sec Note SVdec 0 for pure S Curve For more details section 4 2 4 pStrVel Starting velocity by calculation pMaxVel Maximum velocity by calculation pTacc Acceleration t...

Page 196: ...186 Function Library pSVdec S curve region during deceleration by calculation pTconst constant speed time maximum speed ...

Page 197: ...10205 Error trigger type 10206 Error event already enabled 10207 Error event not enable yet 10208 Error on board FIFO full 10209 Error unknown command type 10210 Error unknow chip type 10211 Error card not initial 10212 Error position out of range 10213 Error motion busy 10214 Error speed error 10215 Error slow down point 10216 Error axis range error 10217 Error compare parameter error 10218 Error...

Page 198: ...ror dwell time 10227 Error dwell distance 10228 Error new position 10229 Error motion not in running 10230 Error velocity change time 10231 Error speed target 10232 Error velocity percent 10233 Error postion change backward 10234 Error counter number Code Meaning ...

Page 199: ... 8102 and the pulse input servo driver or stepping driver The following figure illustrates how to integrate the PCI 810 2 and DIN 68M J3A 7 2 Wiring with DIN 68M J3A Notice The DIN 68M J3A is used for wiring between Mitsubishi J3A series servo drivers stepper with pulse trains input driver and ADLINK cPCI 8168 PCI 8102 motion controller card ONLY Never use this terminal board with any other servo ...

Page 200: ... to pin 50 PIN cables are required for connection between the CF1F1 CN1F2 and the Mitsubishi J3A driver It is available from ADLINK or users may contact the local dealer or distributor to get cable infor mation 3 JP1 Fuse selection Pin 1 2 short means the board is pro tected by fuse Pin 2 3 short menas the board is not protect ed by fuse 4 Fuse The fuse protects from demaging internal circuit This...

Page 201: ...19 RES O Reset 20 EX 24V I Ext power supply 24V 21 EX 24V I Ext power supply 24V 22 ABSB0 I ABS transmission data bit 0 23 ZSP I Zero speed 24 INP I Servo In Position signal 25 TLC I Limiting torque 26 Empty N C 27 TC O Analog torque command 28 EXGND Ext power ground 29 Empty N C 30 Empty N C 31 Empty N C 32 Empty N C 33 Empty N C 34 EXGND Ext power ground 35 DIR O Direction Signal 36 DIR O Direct...

Page 202: ... Output 25 PEL I Positive Limit EXGND Ext power ground 8 RES O Reset 26 ORG I Origin signal 9 DOUT O Digital Output 27 DO_COM I Digital Output COM 10 HSOUT O High Speed DO 28 HO_COM I Common of HSOUT AO Analog Output AGND Analog Ground 11 DIN I Digital Input 29 DI_COM I Digital Input COM 12 EMG I External EMG Signal 30 HSIN I High Speed DI AIN Analog Input 13 ABSB0 I ABS transmission data bit 0 31...

Page 203: ...nction 1 OUT O Pulse Signal 2 OUT O Pulse Signal 3 DIR O Direction Signal 4 DIR O Direction Signal 5 EZ I Index Signal 6 ALM I Servo Alarm 7 5V O Voltage output 8 Servo ON O Servo On 9 5V O Voltage output 10 EXGND Ext power ground No Name I O Function 1 EXGND External Power Supply Ground 2 EX 24V I External Power Supply Input 24V DC 5 ...

Page 204: ...194 Connection Example Signal Connections of Interface Circuit 1 PEL MEL ORG INP ALM RDY 2 CMP 3 ERC SVON 4 EA EB EZ EA EB EZ ...

Page 205: ...Connection Example 195 5 DIN DI_COM 6 DOUT DO_COM 7 DIR OUT DIR OUT ...

Page 206: ...196 Connection Example 8 HSIN 9 HSOUT HO_COM ...

Page 207: ...Connection Example 197 Mechanical Dimensions ...

Page 208: ...198 Connection Example ...

Page 209: ...Appendix 199 Appendix 8 1 Color code of Mitsubishi servo J3A cable MRJ3CN1 xM OPEN ...

Page 210: ...200 Appendix ...

Reviews: