Technical Manual of ADT-series Motion Controlling CardA D T E C H ( S H E N Z H E N ) C N C T E C H N O L O G Y C O . , LT D Add:36th building, Majialong Industrial Park,Nanshan District,Shenzhen City,Guangdong Province,China Post Code: 518052 Tel:+86 755 26099116 Fax: +86 755 26722718 ADT-series Servo/Stepping Motion Card Statement about the Copyright The book property right in this manual belongs to Adtech Digital Tech Co., Ltd only (Further it is Adtech for short). Without the permission of Atech, anyone can not willfully imitate, copy, copy out or re-translate it. The manual has no any forms of guarantee, experession of stand point or other suggestions. The Adtech and its staff have no any responsibilities if there is a information given away secret to bring about a loss of interests or stop of deeds. Besides, the sizes and data are only for reference in the manual. Its contents may be innovotaed without any further notice. Statement about the Trade Mark The product names involving in the manual are only used to distinguish while they may belong to other different trade marks or copyrights. Our statement is as follows: INTEL, PENTIUM are trade marks of INTEL Company. All WINDOWS,MS—DOS are product trade marks of DT-850 is trade mark of Adtech Company. The marks not mentioned above belong to companies registered. MICROSOFT Company. All rights reserved A D T E C H ( S H E N Z H E N ) C N C T E C H N O L O G Y C O . , LT D 2 http://www.adtechen.com ADT-series Servo/Stepping Motion Card Contents Chapter I General Information ............................................................................................................................ 5 Chapter II Hardware Accessories Supply............................................................................................................ 6 Chapter III Electric Connection ........................................................................................................................... 7 PCI CARD ELECTRIC CONNECTION ............................................................................................................................. 7 PC104 CARD ELECTRIC CONNECTION......................................................................................................................... 8 ChapterIV Performance Introduction.................................................................................................................... 9 PCI bus type ........................................................................................................................................................... 9 ADT-856 ADVANCED 6-AXIS SERVO/STEPPER MOTION CONTROL CARD ....................................................................... 9 ☆ FEATURES .................................................................................................................................................................... 9 ☆ INPUT/OUTPUT INTERFACES DESCRIPTION ................................................................................................................... 9 ADT-8946A1 ADVANCED 4-AXIS SERVO/STEPPER MOTION CONTROL CARD .............................................................. 14 ☆ FEATURES .................................................................................................................................................................. 14 ☆ INPUT/OUTPUT INTERFACES DESCRIPTION ................................................................................................................. 14 ADT-8948A1 ADVANCED 4-AXIS SERVO/STEPPER MOTION CONTROL CARD .............................................................. 19 ☆FEATURES ................................................................................................................................................................... 19 ☆ INPUT/OUTPUT INTERFACES DESCRIPTION ................................................................................................................. 19 ADT-8940A1 ADVANCED 4-AXIS SERVO/STEPPER MOTION CONTROL CARD .............................................................. 24 ☆ FEATURES .................................................................................................................................................................. 24 ☆ INPUT/OUTPUT INTERFACES DESCRIPTION ................................................................................................................. 24 ADT-8960A1 ADVANCED 6-AXIS SERVO/STEPPER MOTION CONTROL CARD .............................................................. 27 ☆ FEATURES .................................................................................................................................................................. 27 ☆ INPUT/OUTPUT INTERFACES DESCRIPTION ................................................................................................................. 27 ADT-8920A1 ADVANCED 2-AXIS SERVO/STEPPER MOTION CONTROL CARD .............................................................. 30 ☆FEATURES ................................................................................................................................................................... 30 ☆INPUT/OUTPUT INTERFACES DESCRIPTION .................................................................................................................. 30 PCI104 bus type ................................................................................................................................................... 32 ADT-836 ADVANCED 6-AXIS SERVO/STEPPER MOTION CONTROL CARD ..................................................................... 32 ☆ FEATURES .................................................................................................................................................................. 32 ☆ INPUT/OUTPUT INTERFACES DESCRIPTION ................................................................................................................. 32 ☆ SET ADDRESS: ............................................................................................................................................................ 35 ADT-860 ADVANCED 4-AXIS SERVO/STEPPER MOTION CONTROL CARD ..................................................................... 37 ☆ FEATURES .................................................................................................................................................................. 37 ☆ INPUT/OUTPUT INTERFACES DESCRIPTION ................................................................................................................. 37 ☆ SET ADDRESS ............................................................................................................................................................. 39 ADT-864 ADVANCED 4-AXIS SERVO/STEPPER MOTION CONTROL CARD ..................................................................... 40 ☆ FEATURES .................................................................................................................................................................. 40 ☆ INPUT/OUTPUT INTERFACES DESCRIPTION ................................................................................................................. 40 ☆ SET ADDRESS ............................................................................................................................................................. 42 Chapter V Installing Software ............................................................................................................................ 43 INSTALL DRIVER IN WIN2000 .................................................................................................................................... 43 INSTALL DRIVER IN WINXP ....................................................................................................................................... 44 3 http://www.adtechen.com ............................................................................................................................................................................................................ 50 POSITION LOCK ......................................................................................................... 96 MOTION CARD DETECTION FAILED ......................................................................................................... 47 COMPARE REGISTER AND SOFTWARE LIMIT .... 47 INTERPOLATION OF ACCELERATION/DECELERATION DRIVING........ 97 CODER ERROR..................................................................................................................................... 62 MOVING PARAMETER SETTINGS..................................................................................... 57 BASIC PARAMETERS SETTINGS .................. 85 SERVO SIGNAL ...................................... 79 Chapter IX Motion Control Function Library Guide ............................................ 68 SYNCHRONIZED FUNCTION SETTING ............................................. 50 AUTOMATICALLY BACK TO HOME ................................................................. 72 COMPOSITE DRIVING .................. 49 PULSE OUTPUT MODE...............................................................................................................................................................adtechen.................................................. 82 Chapter X Key Points of Motion Control Development.......................................... 74 SWITCH QUANTITY INPUT/OUTPUT ............................................................................................ 86 INITIALIZATION PART ....................................................................................................................................... 45 POSITION MANAGEMENT .................................................................................................................................... 47 LOGICAL POSITION COUNTER AND ACTUAL POSITION COUNTER .........................................................................................................................................................ADT-series Servo/Stepping Motion Card Chapter VI Functions Introduction.................................................. 51 Chapte VII Basic Library Functions List of ADT-series Motion Control Card.. 45 CONTINUOUS DRIVING...................................................................................................................................................... STOP1 AND STOP2 SIGNAL .................................................................................................... 96 MALFUNCTION OF MOTOR ...... 86 SET SPEED PART ........... 50 STEPPING INTERPOLATION ... 85 Chapter XI Examples of Motion Control Developing and Programming .................................................................................................................................... 67 LIBRARY FUNCTION VERSION CHECKING ............................................................................................................................................................................................................................................................................................................................................................................................................................. 87 I/O OPERATION.................................................... 45 QUANTITATIVE DRIVING .......................................................................................................................................................................................................................................................................................................................................................................................................................... 95 Chapter XII Troubleshooting........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 96 SWITCH QUANTITY OUTPUT ERROR ......... 57 DRIVING STATUS CHECKING.................................................................................................................................................................................................................................................................................................................................................. 50 EXTERNAL SIGNAL DRIVING .. 47 INTERPOLATION .............................. 84 SPEED SETTING ......................................................................................................com ........................................................................................................................................................................................................................................................................................................................... 96 SWITCH QUANTITY INPUT ERROR..................................... 68 BASIC DRIVING ................ 97 4 http://www..................................... 84 INITIALIZE THE CARD .......................... 52 ChapteVIII Details of Basic Library Functions .................................... 45 VELOCITY CURVE................................................................................................................................................................................................................................................................................................................................................................ 84 STOP0................................................................................................................................................................................. 63 MOVING PARAMETER CHECKING .............................................................................................................................................................................................. 86 PART FUNCTION INTRODUCES........................................................................ CC fixed axis CW.16 output 20 input. with variable cyclic function I/O each axis has 8-in/8-out digital I/O 40 input. no variable cyclic function 32input.CC random2axis CW. One system can use up to 16 motion cards Pulse+Direction .you can all used them as input or ouput counter the logical position counter and actual position counter are 32-bit up/down cyclic counters.CCW fixed axis CW. with variable cyclic function the logical position counter and actual position counter are 32-bit up/down cyclic counters.CC W random2 -axis CW. with 16unoccup ied IO.CCW unavailable available max driving frequency 2MHZ fixed axis CW.16 output.adtechen.com .8 output each axis has 8-in/8-out digital I/O Support card number pulse mode frequency error range Note: CW is clockwise.CC unavailable the logical position counter and actual position counter are 32-bit up/down cyclic counters.ADT-series Servo/Stepping Motion Card Chapter I General Information slot type card type axis number motor max output pulse frequency ADT-856 6 16*6 ADT-89 46A1 4 16*4 4MHZ Symmetric linear acceleration/deceleration asymmetric linear acceleration/deceleration S-curve acceleration/deceleration fixed 2-6 fixed 2-4 random23 ADT-894 8A1 4 16*4 PCI ADT-894 0A1 4 16*4 ADT-8960 A1 6 16*6 2MHZ ADT-89 20A1 2 16*2 ADT-836 6 16*6 PC104 ADT-860 4 16*4 4MHZ Symmetric linear acceleration/deceleration asymmetric linear acceleration/deceleration S-curve acceleration/deceleration random 2-3 ADT-864 4 16*4 move mode Symmetric linear acceleration/deceleration linear interpolatio n axis number whether continuous interpolatio whether arc interpolatio random2 -4 random26 random 2 fixed2-6 fixed2-4 available max driving frequency 2MHZ fixed axis CW.CCW is clock against.Pulse+Pulse the frequency error is less than 0.1% 5 http://www. Chapter II Hardware Accessories Supply slot type Card type Technical Manual card number Data CD ADT-9137 ADT-9164 DB37 ADT-9162 D62GG DB64 D37GG ADT-9125 D25GG DB25 40-pin line 20-pin line 1 1 4 2 2 2 1 2 2 1 1 4 1 1 1 1 1 2 2 1 1 2 2 2 2 2 1 1 1 2 1 1 1 1 1 1 1 1 2 2 2 ADT-856 ADT-8946A1 ADT-8948A1 PCI ADT-8940A1 ADT-8960A1 1 1 1 1 2 2 2 ADT-8920A1 ADT-836 PC104 ADT-860 ADT-864 Note: ADT-9137: 37-core terminal blocks ADT-9162: 62-core terminal blocks D37GG:37-core shielded cables DB25:25-core flat cable ADT-9164:transition board DB37:37-core flat cable D62GG:62-core shielded cables DB64:64-core flat cable ADT9125:25-core terminal blocks D25GG:25-core shielded cables 6 http://www.com .ADT-series Servo/Stepping Motion Card In circular arc interpolation mode and continuous interpolation mode.adtechen.only symmetric acceleration/deceleration and asymmetric acceleration/deceleration are available.S-curve acceleration/deceleration is unavailable. Chapter III Electric Connection PCI Card Electric Connection ADT-856 card: ADT-8940A1 card: ADT-8960A1 card: ADT-8946A1 card: ADT-8948A1 card: ADT-8920A1 card: . 2. Cut off the power supply of PC. Open the back cover of computer case.adtechen.ADT-series Servo/Stepping Motion Card PC104 Card Electric Connection ADT-836 card: ADT-864 card: ADT-860 card: Install: 1. 4. Select an idle PCI slot or PC104 port and insert the motion control card. 3.com .Install interface cable 8 http://www. Select one from the 8 constants for the filter time Up to 16 motion cards can be used in one system Supported operating systems: DOS. alarm signal. coder Z-phase signal. the logical position counter and actual position counter are 32-bit up/down cyclic counters Each axis has 8-in/8-out digital I/O.147. all signals can be used as general I/O.g. real position. You can select to activate/deactivate the filter of certain input signal. WINDOWS95/98/NT/2000/XP. 32-bit counting. top driving speed: 2MHz Each axis has two 32-bit compare registers.647 Linear or S-curve acceleration/deceleration Asymmetric linear acceleration/deceleration 2-6 axes linear interpolation CW and CCW circular-arc interpolation Continuous interpolation is available. do not connect to external power supply EXT_VCC Positive port of internal +5V power supply. WINCE XPU+ XPUXDR+ XDRYPU+ YPUYDR+ YDRZPU+ ZPUZDR+ ZDREXT_VCC X pulse signal + X pulse signal X direction signal + X direction signal Y pulse signal + Y pulse signal Y direction signal + Y direction signal Z pulse signal + Z pulse signal Z direction signal + Z direction signal Positive port of internal +5V power supply. can be used as universal input signal X home signal 1. do not connect to external power supply EXT_VCC Positive port of internal +5V power supply. e. driving speed.1% Maximum pulse output frequency is 4MHz Pulse output can be either single pulse (pulse + direction) or double pulse (pulse + pulse) All the 6 axes have code feedback input. etc Each axis has 3 STOP signals. acceleration/ deceleration and driving state in real-time in the motion process Position counter is integrated with variable cyclic function. can be used as . which are used for position comparison between logical position counter and actual position counter.483.483.648~+2.ChapterIV Performance Introduction PCI bus type ADT-856 advanced 6-axis servo/stepper motion control card ☆ Input/output interfaces description J1 cable marker description ☆ Features 32-bit PCI bus. Digital output can be used in signals of servo on and servo alarm reset The input port of every input signal is equipped with integral filter. each axis can control independently The frequency error of pulse input is less than 0. and software limit Receive signals from servo motor drive. Except two limit signals. PnP 6-axis servo/stepping motor control. in-position signal.147. do not connect to external power supply INCOM1 XLMT+ XLMTXSTOP0 XSTOP1 Common port of photoelectric coupling input (signals below) X positive limit signal X negative limit signal X home signal 0. which are used to search for home and Z-phase of coder The speed and target position can be changed in real-time in the motion process Read the logical position. maximum counting range: -2. can be used as universal input signal Z home signal 1. do not connect to external power supply Positive port of internal +5V power supply. can be used as universal input signal B positive limit signal B negative limit signal B home signal 0. can be used as universal input signal Z positive limit signal Z negative limit signal Z home signal 0. do not connect to external power supply Common port of photoelectric coupling input (signals below) A positive limit signal A negative limit signal A home signal 0. can be used as universal input signal Internal power supply ground wire Common ground wire of output point of switching quantity Digital output INCOM1 EXT_VCC EXT_VCC BPUBDR+ BDRCPU+ CPUCDR+ CDREXT_VCC B pulse signal B direction signal + B direction signal C pulse signal + C pulse signal C direction signal + C direction signal Positive port of internal +5V power supply.com OUT7 OUT8 OUT9 OUT10 OUT11 Digital output ALMT+ ALMTASTOP0 Y positive limit signal Y negative limit signal Y home signal 0. can be used as universal input signal A home signal 1. do not connect to external power supply Positive port of internal +5V power supply. can be used as universal input signal C home signal 1. can be used as universal input signal Y home signal 1. can be used as universal input signal C positive limit signal C negative limit signal C home signal 0.ADT-series Servo/Stepping Motion Card universal input signal YLMT+ YLMTYSTOP0 YSTOP1 ZLMT+ ZLMTZSTOP0 ZSTOP1 GND OUTCOM OUT0 OUT1 OUT2 OUT3 OUT4 OUT5 NC untapped ASTOP1 BLMT+ BLMTBSTOP0 BSTOP1 CLMT+ CLMTCSTOP0 CSTOP1 OUTCOM OUTCOM OUT6 APU+ APUADR+ ADRBPU+ A pulse signal + A pulse signal A direction signal + A direction signal B pulse signal + 10 http://www. can be used as universal input signal Common output J2 cable marker description .adtechen. can be used as universal input signal B home signal 1. can be used as universal input signal Y servo alarm signal. can be used as universal input signal Z servo alarm signal.ADT-series Servo/Stepping Motion Card NC untapped INCOM2 BINPOS BALARM BSTOP2 BIN0 CINPOS CALARM CSTOP2 CIN0 XINPOS XALARM XSTOP2 XIN0 YINPOS YALARM YSTOP2 YIN0 INCOM1 ZINPOS ZALARM ZSTOP2 ZIN0 AINPOS AALARM ASTOP2 AIN0 X servo in-position signal. A home signal 2.can be used as universal input signal Common port of photoelectric coupling input (signals above) Z servo in-position signal.com OUT12 OUT13 OUT14 OUT15 OUTCOM1 OUT16 OUT17 OUT18 OUT19 OUTCOM2 Common output Common output Digital output Digital output INCOM3 universal input signal Common port of photoelectric coupling input (signals above) B ervo in-position signal. can be used as universal input signal C servo alarm signal. can be used as universal input signal X servo alarm signal.can be used as universal input signal A servo in-position signal.can be used as universal input signal C ervo in-position signal. can be used as universal input signal B input signal 0.can be used as universal input signal Common port of photoelectric coupling input (signals above) P1 cable marker description P2 cable marker description . C home signal 2.can be used as universal input signal Y servo in-position signal. X home signal 2.adtechen. can be used as universal input signal A servo alarm signal. Y home signal 2. Z home signal 2. can be used as universal input signal A input signal 0. can be used as universal input signal Z input signal 0. can be used as universal input signal X input signal 0. can be used as universal input signal Y input signal 0. can be used as universal input signal C input signal 0. B home signal 2. can be used as universal input signal B servo alarm signal.can be used as 11 http://www. ADT-series Servo/Stepping Motion Card XECA- XECA+ XECB- XECB+ YECA- YECA+ YECB- YECB+ ZECA- ZECA+ ZECB- ZECB+ AECA- WECA+ AECB- AECB+ BECA- BECA+ BECB- BECB+ CECA- CECA+ CECB- CECB+ OUT20 OUT21 OUT22 OUT23 OUT24 OUT25 OUT26 OUT27 OUT28 OUT29 OUT30 OUT31 OUTCOM Digital output Notice: (1) To make the input signals valid. INCOM2. INCOMB) to the positive port of 12V or 24V power supply. PU+/CW+ 、 DR+/CCW+ can’t connect with onther (electrical) appliance. The following figure shows the differential wiring of pulse/direction (this mode is recommended for its strong anti-interference performance): Connection of input signals of coder Connection of digital input Connection of pulse/direction output signals Impulse output is of differential output and can be easily connected with stepping/servo driver. INCOM4. INCOM3. .adtechen. or else will destroy the motion control card. connect the “common photoelectric coupling port” of corresponding input signals (INCOM1.com Digital output X-axis coder phase A input X-axis coder phase A input + X-axis coder phase B input X-axis coder phase B input + Y-axis coder phase A input Y-axis coder phase A input + Y-axis coder phase B input Y-axis coder phase B input + Z-axis coder phase A input Z-axis coder phase A input + Z-axis coder phase B input Z-axis coder phase B input + A-axis coder phase A input A-axis coder phase A input + A-axis coder phase B input A-axis coder phase B input + B-axis coder phase A input B-axis coder phase A input + B-axis coder phase B input B-axis coder phase B input + C-axis coder phase A input C-axis coder phase A input + C-axis coder phase B input C-axis coder phase B input + Notice: In open-collector connection. connect one end of common switch or ground wire of approach switch to negative 12 http://www. Next chart shows that impulse and direction are joined up with positive electrode. INCOMA. with external power supply (take J1 terminal borad for example)。 Connection of digital output Notice: (1) To make the output signals valid.ADT-series Servo/Stepping Motion Card port (ground wire) of power supply. connect common output (OUTCOM) to negative end (ground wire) of external power supply. connect the ground wire (GND) of internal power supply to earth. (3) The following figure shows the actual wiring diagram of relay 13 http://www.adtechen. connect the other end of common switch or control end of approach switch to corresponding input port of terminal board. (2) The following figure shows the wiring diagram of common switch and approach switch supplying “common photoelectric coupling port” with external power (take J1 terminal board for example). (2) Do not connect positive ends of external and internal power supply. Connect one end of relay coil to positive end of power supply and the other end to corresponding output of terminal board.com . which are used to search for home and Z-phase of coder The speed can be changed in real-time in the motion process Read the logical position. 32-bit PCI bus.1% Maximum pulse output frequency is 4MHz Pulse output can be either single pulse (pulse + direction) or double pulse (pulse + pulse) All the 4 axes have position feedback input. top driving speed: 2MHz Each axis has two 32-bit compare registers. which are used for position comparison between logical position counter and actual position counter.147. can be used as universal input signal X home signal 1.483. level speed and deacceleration). Handwheel and external signal operation Each axis has 8-in/8-out digital I/O. You can select to activate/deactivate the filter of certain input signal.483. maximum counting range: -2. in-position signal. real position. coder Z-phase signal. Select one from the 8 constants for the filter time Up to 16 motion cards can be used in one system Supported operating systems: DOS. PnP 4-axis servo/stepping motor control.647 Linear or S-curve acceleration/deceleration Asymmetric linear acceleration/deceleration 2-4 axes linear interpolation CW and CCW arc interpolation Continuous interpolation is available.ADT-8946A1 advanced 4-axis servo/stepper motion control card ☆ Features All the input and output are under photoelectric coupler isolation. 32-bit counting. with strong resistance to disturbance. and software limit Receive signals from servo motor drive. Digital output can be used in signals of servo on and servo alarm reset The input port of every input signal is equipped with integral filter.147. e. can be used as ☆ Input/output interfaces description J1 cable marker description XSTOP1(IN3) . not available for external power supply Z pulse signal + Z pulse signal Z direction signal + Z direction signal A pulse signal + A pulse signal A direction signal + A direction signal Common port of 20-27pin digital input X negative limit signal X positive limit signal X home signal 0. alarm signal. Except two limit signals. acceleration and driving state in real-time in the motion process (at acceleration. each axis can control independently The frequency error of pulse input is less than 0.g.648~+2. WINCE Symbol PCOM1 XPU+/CW+ XPU-/CWXDR+/CCW+ XDR-/CCWYPU+/CW+ YPU-/CWYDR+/CCW+ YXDR-/CCWPCOM2 ZPU+/CW+ ZPU-/CWZDR+/CCW+ ZDR-/CCWAPU+/CW+ APU-/CWADR+/CCW+ ADR-/CCWINCOM1 XLMT-(IN0) XLMT+(IN1) XSTOP0(IN2) Description Used for single-port input. all signals can be used as general I/O. etc Each axis has 3 stop signals. WINDOWS95/98/NT/2000/XP. not available for external power supply X pulse signal + X pulse signal X direction signal + X direction signal Y pulse signal + Y pulse signal Y direction signal + Y direction signal Used for single-port input. driving speed. can be used as universal input signal Z positive limit signal Z negative limit signal Z home signal 0. Internal power supply ground wire J2 cable marker description . can be used as universal input signal Digital output Digital output Digital output Digital output Common port of OUT0-3 digital 15 http://www. can be used as universal input signal X servo alarm signal. can be used as universal input signal Z servo alarm signal. can be used as universal input signal Common port of 38-45pin digital input Z home signal 2. can be used as universal input signal Y negative limit signal Y positive limit signal Common port of 29-36pin digital input Y home signal 0. can be used as universal input signal A home signal 2. can be used as universal input signal Z home signal 1. can be used as universal input signal A home signal 1. do not connect to external power supply. can be used as universal input signal Y home signal 1.adtechen.ADT-series Servo/Stepping Motion Card universal input signal XSTOP3(IN4) XALARM(IN5) YLMT-(IN6) YLMT+(IN7) INCOM2 YSTOP0(IN8) YSTOP1(IN9) YSTOP3(IN10) YALARM(IN11) ZLMT-(IN12) ZLMT+(IN13) ZSTOP0(IN14) ZSTOP1(IN15) INCOM3 ZSTOP3(IN16) ZALARM(IN17) ALMT-(IN18) ALMT+(IN19) ASTOP0(IN20) ASTOP1(IN21) ASTOP3(IN22) AALARM(IN23) OUT0 OUT1 OUT2 OUT3 OUTCOM1 X home signal 2. can be used as universal input signal Y home signal 2. can be used as universal input signal A servo alarm signal.com Symbol XECA+ XECAXECB+ XECBYECA+ YECAYECB+ Description /MCX314 pin X-axis coder phase A input + X-axis coder phase A input X-axis coder phase B input + X-axis coder phase B input Y-axis coder phase A input + Y-axis coder phase A input Y-axis coder phase B input + GND +12V OUT8 OUT9 OUT10 OUT11 OUTCOM3 OUT4 OUT5 OUT6 OUT7 OUTCOM2 output negative Digital output Digital output Digital output Digital output Common port of OUT4-7 digital output negative Digital output Digital output Digital output Digital output Common port of OUT8-11 digital output negative Positive port of internal +12V power supply. can be used as universal input signal A positive limit signal A negative limit signal A home signal 0. can be used as universal input signal Y servo alarm signal. PU+/CW+、DR+/CCW+ can’t connect with onther (electrical) appliance. can be used as universal input signal hand wheel input positive direction + hand wheel input positive direction hand wheel input negative direction + hand wheel input negative direction the power of the emergency stop input emergency stop input use the power of the common stop input general input Digital output Digital output Digital output Digital output Digital output Common port of OUT12-16 digital output negative Digital output Digital output 16 http://www. do not connect to external power supply Internal power supply ground wire Internal power supply ground wire Connection of pulse/direction output signals pulse output is of differential output and can be easily connected with stepping/servo driver. can be used as universal input signal A home signal 3. do not connect to external power supply Positive port of internal +5V power supply. can be used as universal input signal X servo in-position signal. or else will destroy the motion control card. The following figure shows the differential wiring of . can be used as universal input signal Z home signal 3. do not connect to external power supply Positive port of internal +12V power supply. can be used as universal input signal A servo in-position signal.adtechen.com Notice: GND GND +5V +12V +12V OUT27 OUT28 OUT29 OUT30 OUT31 OUTCOM7 OUT22 OUT23 OUT24 OUT25 OUT26 OUTCOM6 OUT19 OUT20 OUT21 OUTCOM5 Digital output Digital output Digital output Common port of OUT17-21 digital output negative Digital output Digital output Digital output Digital output Digital output Common port of OUT22-26 digital output negative Digital output Digital output Digital output Digital output Digital output Common port of OUT27-31 digital output negative Positive port of internal +12V power supply.ADT-series Servo/Stepping Motion Card YECBZECA+ ZECAZECB+ ZECBAECA+ AECAAECB+ AECBINCOM4 XIN(IN24) XINPOS(IN25) YIN(IN26) YINPOS(IN27) ZIN(IN28) ZINPOS(IN29) AIN(IN30) AINPOS(IN31) EXPP+ EXPPEXPM+ EXPMINCOMA EMGN INCOMB XIN1 OUT12 OUT13 OUT14 OUT15 OUT16 OUTCOM4 OUT17 OUT18 Y-axis coder phase B input Z-axis coder phase A input + Z-axis coder phase A input Z-axis coder phase B input + Z-axis coder phase B input A-axis coder phase A input + A-axis coder phase A input A-axis coder phase B input + A-axis coder phase B input Common port of OUT18-25 digital input X home signal 3. can be used as universal input signal Y home signal 3. Next chart shows that impulse and direction are joined up with positive electrode. In open-collector connection. can be used as universal input signal Z servo in-position signal. can be used as universal input signal Y servo in-position signal. Connection of input signals of coder Connection of digital output Connection of digital input Notice: (1) To make the output signals valid.J2 terminal borad recommend to use internal power supply. connect common output (OUTCOM) to negative end (ground wire) of external power supply.com . Connect one end of relay coil to positive end of power supply and the other end to corresponding output of terminal board (2) When J2 terminal borad use external power supply. connect the other end of common switch or control end of approach switch to corresponding input port of terminal board. (3) Do not connect positive ends of external and internal power supply. to make the output signals valid. (2) The following figure shows the wiring diagram of common switch and approach switch supplying “common photoelectric coupling port” with external power.adtechen. connect one end of common switch or ground wire of approach switch to negative port (ground wire) of power supply.ADT-series Servo/Stepping Motion Card pulse/direction (this mode is recommended for its strong anti-interference performance). (4) The following figure shows the actual wiring diagram of relay with external power supply 17 http://www. connect the “common photoelectric coupling port” of corresponding input signals to the positive port of 12V or 24V power supply. connect the common output port (GND) of external power supply to earth. connect the ground wire (GND) of internal power supply Notice: (1) To make the input signals valid. to earth. adtechen.com .ADT-series Servo/Stepping Motion Card 18 http://www. and software limit Receive signals from servo motor drive. COM for common anode wiring ZPU+/CW+ ZPU-/CWZDR+/CCW+ ZDR-/CCWAPU+/CW+ APU-/CWADR+/CCW+ ADR-/CCWINCOM1 XLMT-/IN0 Z pulse signal + Z pulse signal Z direction signal + Z direction signal A pulse signal + A pulse signal A direction signal + A direction signal Common port of photoelectric coupling input (signals below). the logical position counter and actual position counter are 32-bit up/down cyclic counters Each axis has 8-in/8-out digital I/O. e. Select one from the 8 constants for the filter time Constant linear speed mode is available Automatic back to home in various modes Position lock triggered by external signal Synchronized motion triggered by external signal Synchronized stop triggered by external signal Synchronized motion at specified position Synchronized stop at specified position Handwheel and external signal operation Stepping interpolation function Up to 16 motion cards can be used in one system Symbol PUCOM Description Positive port of internal +5V power supply. acceleration/deceleration and driving state in real-time in the motion process Position counter is integrated with variable cyclic function. do not connect to external power supply. PnP 4-axis servo/stepping motor control. do not connect to external power supply. Digital output can be used in signals of servo on and servo alarm reset The input port of every input signal is equipped with integral filter. 32-bit counting. maximum counting range: -2. 12V-24V X positive limit signal . each axis can control independently The frequency error of pulse input is less than 0. WINDOWS95/98/NT/2000/XP. which are used to search for home and Z-phase of coder The speed and target position can be changed in real-time in the motion process Read the logical position.647 Linear or S-curve acceleration/deceleration Asymmetric linear acceleration/deceleration Random 2-3 axes linear interpolation Random 2 axes arc interpolation Continuous interpolation is available.483. COM for common anode wiring XPU+/CW+ XPU-/CWXDR+/CCW+ XDR-/CCWYPU+/CW+ YPU-/CWYDR+/CCW+ YDR-/CCWPUCOM X pulse signal + X pulse signal X direction signal + X direction signal Y pulse signal + Y pulse signal Y direction signal + Y direction signal Positive port of internal +5V power supply.1% Maximum pulse output frequency is 4MHz Pulse output can be either single pulse (pulse + direction) or double pulse (pulse + pulse) All the 4 axes have position feedback input. all signals can be used as general I/O.483. driving speed. WINCE Input/output interfaces description J1 cable marker description Features 32-bit PCI bus. in-position signal. etc Each axis has 3 STOP signals.147. Except two limit signals. You can select to activate/deactivate the filter of certain input signal. alarm signal.ADT-8948A1 advanced 4-axis servo/stepper motion control card Supported operating systems: DOS. coder Z-phase signal. real position. top driving speed: 2MHz Each axis has two 32-bit compare registers. which are used for position comparison between logical position counter and actual position counter.147.g.648~+2. can be used as universal input signal A home signal 1. can be used as universal input signal Y home signal 2. can be used as universal input signal Z home signal 1. 12V-24V Z home signal 2. can be used as universal input signal Y home signal 1. can be used as universal input signal Z servo alarm signal. 12V-24V Y home signal 0. can be used as universal input signal A home signal 2. common port of digital output OUT4-7 Digital output OUT1 OUT2 OUT3 OUTCOM External power supply ground wire. can be used as universal input signal Y positive limit signal Y negative limit signal Common port of photoelectric coupling input (signals below). common port of digital output OUT0-3 Digital output J2 cable marker description .ADT-series Servo/Stepping Motion Card XLMT+/IN1 XSTOP0/IN2 XSTOP1/IN3 XSTOP2/IN4 XALM/IN5 YLMT-/IN6 YLMT+/IN7 INCOM2 YSTOP0/IN8 YSTOP1/IN9 YSTOP2/IN10 YALM/IN11 ZLMT-/IN12 ZLMT+/IN13 ZSTOP0/IN14 ZSTOP1/IN15 INCOM3 ZSTOP2/IN16 ZALM/IN17 ALMT-/IN18 ALMT+/IN19 ASTOP0/IN20 ASTOP1/IN21 ASTOP2/IN22 AALM/IN23 OUT0 X negative limit signal X home signal 0. can be used as universal input signal Common port of photoelectric coupling input (signals below). can be used as universal input signal Digital output 20 http://www.adtechen. can be used as universal input signal Z servo alarm signal. can be used as universal input signal X servo alarm signal. do not connect to external power supply Internal power supply ground wire OUT4 OUT5 OUT6 OUT7 OUTCOM External power supply ground wire. can be used as universal input signal Z positive limit signal Z negative limit signal Z home signal 0. can be used as universal input signal X home signal 2. common port of digital output OUT8-12 Positive port of internal +12V power supply. can be used as universal input signal X home signal 1. can be used as universal input signal A positive limit signal A negative limit signal A home signal 0.com Symbol XECA+ XECAXECB+ XECBDescription X-axis coder phase A input + X-axis coder phase A input X-axis coder phase B input + X-axis coder phase B input GND +12V OUT8 OUT9 OUT10 OUT12 OUTCOM External power supply ground wire. can be used as universal input signal Y servo alarm signal. adtechen. can be used as universal input signal X servo in-position signal. common port of digital output OUT12-16 Digital output EMGN INCOMB Emergency stop input signal (IN34) Common port of photoelectric coupling input (signals below). 12V-24V Stepping interpolation input signal . do not connect to external power supply Potive port of internal +5V power Digital output OUT22 OUT23 OUT24 OUT25 OUT26 OUTCOM External power supply ground wire. can be used as universal input signal A position lock signal.ADT-series Servo/Stepping Motion Card YECA+ YECAYECB+ YECBZECA+ ZECAZECB+ ZECBAECA+ AECAAECB+ AECBINCOM Y-axis coder phase A input + Y-axis coder phase A input Y-axis coder phase B input + Y-axis coder phase B input Z-axis coder phase A input + Z-axis coder phase A input Z-axis coder phase B input + Z-axis coder phase B input A-axis coder phase A input + A-axis coder phase A input A-axis coder phase B input + A-axis coder phase B input Common port of photoelectric coupling input (signals below). do not connect to external power supply Potive port of internal +12V power supply. can be used as universal input signal Handwheel phase A input +. can be used as universal input signal Z position lock signal. common port of digital output OUT22-26 Digital output OUT17 OUT18 OUT19 OUT20 OUT21 OUTCOM External power supply ground wire. can be used as universal input signal (IN32) Handwheel phase B input +. can be used as universal input signal Y position lock signal. can be used as universal input signal Z servo in-position signal.com +5V +12V +12V OUT27 OUT28 OUT29 OUT30 OUT31 OUTCOM External power supply ground wire. can be used as universal input signal A servo in-position signal. 12V-24V XIN/IN24 XINPOS/IN2 5 YIN/IN26 YINPOS/IN2 7 ZIN/IN28 ZINPOS/IN2 9 AIN/IN30 AINPOS/IN3 1 EXPP+ X position lock signal. common port of digital output OUT17-21 Digital output EXPLSN OUT12 OUT13 OUT14 OUT15 OUT16 OUTCOM External power supply ground wire. common port of digital output OUT27-31 Potive port of internal +12V power supply. can be used as universal input signal (IN33) Common port of photoelectric coupling input (signals below). can be used as universal input signal Y servo in-position signal. can be used as common port of universal input signal (IN32) EXPPEXPM+ Handwheel phase A input -. can be used as common port of universal input signal (IN33) EXPMINCOMA Handwheel phase B input -. 12V-24V 21 http://www. com . the output current of each line should be smaller than 100Ma. INCOM2.ADT-series Servo/Stepping Motion Card supply. (2) The following figure shows the wiring diagram of common switch and approach switch supplying “common photoelectric coupling port” with external power (take J1 terminal board for example). connect the “common photoelectric coupling port” of corresponding input signals (INCOM1. or else will destroy the motion control card. see the figure above for wiring mode. INCOMB) to the positive port of 12V or 24V power supply. INCOMA. Next chart shows that impulse and direction are joined up with positive electrode. Notice: http://www.adtechen. do not connect to external power supply GND GND Notice: XIN. The following figure shows the differential wiring of pulse/direction (this mode is recommended for its strong anti-interference performance): Connection of input signals of coder Connection of digital output Connection of digital input 22 OUT0-OUT31 is photoelectric coupling isolation output. Internal power supply ground wire Internal power supply ground wire Connection of pulse/direction output signals Pulse output is of differential output and can be easily connected with stepping/servo driver. ZIN and AIN are control signals of position lock and synchronous control Notice: (1) To make the input signals valid. INCOM4. Notice: In open-collector connection. connect one end of common switch or ground wire of approach switch to negative port (ground wire) of power supply. connect the other end of common switch or control end of approach switch to corresponding input port of terminal board. INCOM3. YIN. PU+/CW+、DR+/CCW+ can’t connect with onther (electrical) appliance. (3) The following figure shows the actual wiring diagram of relay with external power supply (take J1 terminal borad for example). (2) Do not connect positive ends of external and internal power supply.adtechen. connect the ground wire (GND) of internal power supply to earth.ADT-series Servo/Stepping Motion Card (1) To make the output signals valid.com . 23 http://www. Connect one end of relay coil to positive end of power supply and the other end to corresponding output of terminal board. connect common output (OUTCOM) to negative end (ground wire) of external power supply. 1% Maximum pulse output frequency is 2MHz Large capacity of hardware features. maximum counting range: -2. can be used as universal input signal X home signal 1. PnP All the input and output are under photoelectric coupler isolation. can be used as universal input signal Y home signal 1. 32-bit counting. can be used as universal input signal Z negative limit signal Features 32-bit PCI bus. can be used as universal input signal X home signal 2.which can ensure the continous movement Pulse output can be either single pulse (pulse + direction) or double pulse (pulse + pulse) All the 4 axes have position feedback input.648~+2.147. not available for external power supply X pulse signal + X pulse signal X direction signal + X direction signal Y pulse signal + Y pulse signal Y direction signal + Y direction signal Used for single-port input. altogether 8) Two limit input for each axis may be set as invalid and work as general input Up to 16 motion cards can be used in one system Supported operating systems: DOS.483. 4-axis servo/stepping motor control.647 Trapezoidal acceleration/ deceleration Random 2-4 axes linear interpolation The maximum interpolation speed: 1MHz Read the logical position. WINCE Input/output interfaces description J1 cable marker description . each axis can control independently The frequency error of pulse input is less than 0. can be used as universal input signal X servo alarm signal.147. can be used as universal input signal Y home signal 2. in real-time in the motion process 40-line digital input (each axis of position feedback may be used as 2 input points. WINDOWS95/98/NT/2000/XP. can be used as universal input signal Y negative limit signal Y positive limit signal Common port of 29-36pin digital input Y home signal 0. real position. can be used as universal input signal Y servo alarm signal. not available for external power supply Z pulse signal + Z pulse signal Z direction signal + Z direction signal A pulse signal + A pulse signal A direction signal + A direction signal Common port of 20-27pin digital input X negative limit signal X positive limit signal X home signal 0.ADT-8940A1 advanced 4-axis servo/stepper motion control card Symbol PCOM1 XPU+/CW+ XPU-/CWXDR+/CCW+ XDR-/CCWYPU+/CW+ YPU-/CWYDR+/CCW+ YDR-/CCWPCOM2 ZPU+/CW+ ZPU-/CWZDR+/CCW+ ZDR-/CCWAPU+/CW+ APU-/CWADR+/CCW+ ADR-/CCWINCOM1 IN0(XLMT-) IN1(XLMT+) IN2 (XSTOP0) IN3 (XSTOP1) IN4 (XSTOP2) IN5 (XALARM) IN6 (YLMT-) IN7 (YLMT+) INCOM2 IN8 (YSTOP0) IN9 (YSTOP1) IN10 (YSTOP2) IN11(YALARM) IN12(ZLMT-) Description Used for single-port input. driving speed.483. with strong resistance to disturbance. can be used as universal input signal A servo alarm signal. can be used as universal input signal Z home signal 1. can be used as universal input signal A home signal 3. can be used as universal input signal X servo in-position signal. can be used as universal input signal A home signal 1. can be used as universal input signal Y servo in-position signal. do not connect to external power supply. can be used as universal input signal Z home signal 3. can be used as universal input signal Common port of 38-45pin digital input Z home signal 2. can be used as universal input signal 25 http://www.ADT-series Servo/Stepping Motion Card IN13(ZLMT+) IN14(ZSTOP0) IN15(ZSTOP1) INCOM3 IN16(ZSTOP2) IN17(ZALARM) IN18(ALMT-) IN19(ALMT+) IN20(ASTOP0) IN21(ASTOP1) IN22(ASTOP2) IN23(AALARM) OUT0 OUT1 OUT2 OUT3 OUTCOM1 OUT4 OUT5 OUT6 OUT7 OUTCOM2 OUT8 OUT9 OUT10 OUT11 OUTCOM3 Z positive limit signal Z home signal 0.adtechen. can be used as universal input signal A home signal 2.com J2 cable marker description . Internal power supply ground wire IN30(AIN) IN29(ZINPOS) IN28(ZIN) IN27(YINPOS) IN26(YIN) IN25(XINPOS) IN24(XIN) Symbol XECA+ XECAXECB+ XECBYECA+ YECAYECB+ YECBZECA+ ZECAZECB+ ZECBAECA+ AECAAECB+ AECBINCOM4 Description X-axis coder phase A input + X-axis coder phase A input X-axis coder phase B input + X-axis coder phase B input Y-axis coder phase A input + Y-axis coder phase A input Y-axis coder phase B input + Y-axis coder phase B input Z-axis coder phase A input + Z-axis coder phase A input Z-axis coder phase B input + Z-axis coder phase B input A-axis coder phase A input + A-axis coder phase A input A-axis coder phase B input + A-axis coder phase B input Common port of OUT18-25 digital output negative X home signal 3. can be used as universal input signal Digital output Digital output Digital output Digital output Common port of OUT0-3 digital output negative Digital output Digital output Digital output Digital output Common port of OUT4-7 digital output negative Digital output Digital output Digital output Digital output Common port of OUT8-11 digital output negative Positive port of internal +12V power +12V GND supply. can be used as universal input signal A negative limit signal A positive limit signal A home signal 0. can be used as universal input signal Z servo in-position signal. can be used as universal input signal Z servo alarm signal. can be used as universal input signal Y home signal 3. do not connect to external power supply +5V Positive port of internal +5V power supply. XECB+. XECA+.com . The digital input connection part for wiring method. and AECB+ will be respectively used as public ports of corresponding input signals. AECA+. 26 http://www. in case of .. . using an external+12V power supply. do not connect to external power supply +12V Positive port of internal +12V power supply. do not connect to external power supply +5V Positive port of internal +5V power supply.adtechen.ADT-series Servo/Stepping Motion Card IN31(AINPOS) OUT12 OUT13 OUT14 OUT15 OUTCOM4 +12V A servo in-position signal. YECA+. Voltage at the public ports can only be +5V. can be used as universal input signal Digital output Digital output Digital output Digital output Common port of OUT12-15 digital output negative Positive port of internal +12V power supply. users must serially connect a 1K resistance. do not connect to external power supply GND GND GND Internal power supply ground wire Internal power supply ground wire Internal power supply ground wire Notice: In case an encoder is used for general input signals. YECB+. ZECB+. ZECA+. Please refer to ADT-8946A1 card and ADT-8948A1 card. not available for external power supply B pulse signal + B pulse signal B direction signal + B direction signal C pulse signal + C pulse signal - Input/output interfaces description J1 cable marker description http://www. each axis can control independently ●Random 2-6 axes linear interpolation. to make them all input signal or output signal. acceleration and driving state in real-time in the motion process ● Each axis has 2 STOP signals. ●The speed and target position can be changed in real-time in the motion process ●All the 6 axes can synchronized motion and synchronized stop. etc ● Up to 16 motion cards(96 axes) can be used in one system ● Supported operating systems: DOS.648~+2.483.147. frequency reach up to 2MHz. Except two limit signals. 32-bit counting. coder Z-phase signal. PnP ● Maximum pulse output frequency is 2MHz ● 6-axis servo/stepping motor control.and you can sudden stop by hardware ● Read the logical position.483. including every axis contains two positive and negative limit signals.com . which are used to search for home and Z-phase of coder ● Each axis has 8-in/8-out digital I/O.647 ● Pulse output type: pulse + direction.g. e. in-position signal. WINCE ● Supported C/BC++/VC/VB/C++Builder/Delphi/LabVIEW/EVC to develop Symbol PUCOM0 XPU+/CW+ XPU-/CWXDR+/CCW+ XDR-/CCWYPU+/CW+ YPU-/CWYDR+/CCW+ YDR-/CCWPUCOM1 ZPU+/CW+ ZPU-/CWZDR+/CCW+ ZDR-/CCWAPU+/CW+ APU-/CWADR+/CCW+ ADR-/CCWPUCOM2 BPU+/CW+ BPU-/CWBDR+/CCW+ BDR-/CCWCPU+/CW+ CPU-/CW27 Description Used for single-port input. driving speed. maximum counting range: -2.adtechen. besides 16-either input/output.147.32-digital input/16-digital output. Digital output can be used in signals of servo on and servo alarm reset ● Receive signals from servo motor drive. real position. alarm signal. all signals can be used as general I/O.WINDOWS95/98/NT/2000/XP.ADT-series Servo/Stepping Motion Card ADT-8960A1 advanced 6-axis servo/stepper motion control card Features ● 32-bit PCI bus. not available for external power supply X pulse signal + X pulse signal X direction signal + X direction signal Y pulse signal + Y pulse signal Y direction signal + Y direction signal Used for single-port input. multiple axes continuous motion ●All the 6 axes have position feedback input. not available for external power supply Z pulse signal + Z pulse signal Z direction signal + Z direction signal A pulse signal + A pulse signal A direction signal + A direction signal Used for single-port input. pulse + pulse ●Photoelectric coupling isolation. can be used as universal input signal C home signal 1. can be used as universal input signal Z negative limit signal Z positive limit signal Z home signal 0.adtechen. can be used as universal input signal A home signal 1. can be used as universal input signal X home signal 1. can be used as universal input signal Y negative limit signal Y positive limit signal Y home signal 0. can be used as universal input signal B negative limit signal B positive limit signal B home signal 0.com Symbol XECA+ XECAXECB+ XECBYECA+ YECAYECB+ YECBZECA+ ZECAZECB+ ZECBAECA+ AECAAECB+ AECBDescription X-axis coder phase A input + X-axis coder phase A input X-axis coder phase B input + X-axis coder phase B input Y-axis coder phase A input + Y-axis coder phase A input Y-axis coder phase B input + Y-axis coder phase B input Z-axis coder phase A input + Z-axis coder phase A input Z-axis coder phase B input + Z-axis coder phase B input A-axis coder phase A input + A-axis coder phase A input A-axis coder phase B input + A-axis coder phase B input OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 Digital output Digital output Digital output Digital output Digital output Digital output Digital output J2 cable marker description . can be used as universal input signal B home signal 1. can be used as universal input signal Common port of OUT0-OUT7 Digital output 28 http://www. can be used as universal input signal Y home signal 1. can be used as universal input signal C negative limit signal C positive limit signal C home signal 0. can be used as universal input signal Z home signal 1. can be used as universal input signal Common port of IN12-23 digital input A negative limit signal A positive limit signal A home signal 0.ADT-series Servo/Stepping Motion Card CDR+/CCW+ CDR-/CCWINCOM1 IN0(XLMT-) IN1(XLMT+) IN2(XSTOP0) IN3(XSTOP1) IN4(YLMT-) IN5(YMT+) IN6(YSTOP0) IN7(YSTOP1) IN8(ZLMT-) IN9(ZLMT+) IN10(ZSTOP0) IN11(ZSTOP1) INCOM2 IN12(ALMT-) IN13(ALMT+) IN14(ASTOP0) IN15(ASTOP1) IN16(BLMT-) IN17(BLMT+) IN18(BSTOP0) IN19(BSTOP1) IN20(CLMT-) IN21(CLMT+) IN22(CSTOP0) IN23(CSTOP1) OUTCOM1 OUT0 C direction signal + C direction signal Common port of IN0-11 digital input X negative limit signal X positive limit signal X home signal 0. Please refer to ADT-8946A1 card and ADT-8948A1 card. XECA+、 XECB+、 YECA+、 YECB+、 ZECA+、 ZECB+、 AECA+、 AECB+、BECA+、BECB+、CECA+ and CECB+ will be respectively used as public ports of corresponding input signals. users must serially connect a 1K resistance.adtechen. Voltage at the public ports can only be +5V. in case of .. . using an external+12V power supply. I/O14 I/O15 either input/output either input/output .ADT-series Servo/Stepping Motion Card BECA+ BECABECB+ BECBCECA+ CECACECB+ CECBINCOM3 IN24 IN25 IN26 IN27 IN28 IN29 IN30 IN31 OUTCOM2 OUT8 OUT9 OUT10 OUT11 OUT12 OUT13 OUT14 OUT15 INCOM4 OUTCOM3 I/O0 I/O1 I/O2 I/O3 I/O4 I/O5 I/O6 I/O7 INCOM5 OUTCOM4 I/O8 I/O9 I/O10 I/O11 I/O12 I/O13 B-axis coder phase A input + B-axis coder phase A input B-axis coder phase B input + B-axis coder phase B input C-axis coder phase A input + C-axis coder phase A input C-axis coder phase B input + C-axis coder phase B input Common port of OUT24-OUT31 Digital output Digital output Digital output Digital output Digital output Digital output Digital output Digital output Common port of OUT8-OUT15 Digital output Digital output Digital output Digital output Digital output Digital output Digital output Digital output Common input port of I/O0-I/O7 Common input port of I/O0-I/O7 either input/output either input/output either input/output either input/output either input/output either input/output either input/output either input/output Common input port of I/O8-I/O15 Common input port of I/O8-I/O15 either input/output either input/output either input/output either input/output either input/output either input/output 29 http://www. The digital input connection part for wiring method.com Notice: In case an encoder is used for general input signals. can be used as universal input signal Y positive limit signal Y negative limit signal Common port of 29-32pin digital input Y home signal 0. each axis can control independently The frequency error of pulse input is less than 0. driving speed.648~+2. can be used as universal input signal Input/output interfaces description J1 cable marker description . 2-axis servo/stepping motor control. in real-time in the motion process 20-line digital input (each axis of position feedback may be used as 2 input points.483. can be used as universal input signal X home signal 1. real position. altogether 8) Two limit input for each axis may be set as invalid and work as general input Up to 16 motion cards can be used in one system Supported operating systems: DOS. can be used as universal input signal X home signal 2.which can ensure the continous movement Pulse output can be either single pulse (pulse + direction) or double pulse (pulse + pulse) All the 2 axes have position feedback input.483.647 Trapezoidal acceleration/ deceleration Random 2-axes linear interpolation The maximum interpolation speed: 1MHz Read the logical position.147. with strong resistance to disturbance. PnP All the input and output are under photoelectric coupler isolation.1% Maximum pulse output frequency is 2MHz large capacity of hardware features.ADT-8920A1 advanced 2-axis servo/stepper motion control card Features 32-bit PCI bus. WINCE Symbol PCOM1 XPU+/CW+ XPU-/CWXDR+/CCW+ XDR-/CCWYPU+/CW+ YPU-/CWYDR+/CCW+ YDR-/CCWINCOM1 IN0(XLMT-) IN1(XLMT+) IN2 (XSTOP0) IN3 (XSTOP1) IN4 (XSTOP2) IN5 (XALARM) IN6 (YLMT-) IN7 (YLMT+) INCOM2 IN8 (YSTOP0) Description Used for single-port input.147. can be used as universal input signal X servo alarm signal. 32-bit counting. maximum counting range: -2. not available for external power supply X pulse signal + X pulse signal X direction signal + X direction signal Y pulse signal + Y pulse signal Y direction signal + Y direction signal Common port of 20-27pin digital input X positive limit signal X negative limit signal X home signal 0. WINDOWS95/98/NT/2000/XP. Please refer to ADT-8946A1 card and ADT-8948A1 card. do not connect to external power supply GND GND GND Internal power supply ground wire Internal power supply ground wire Internal power supply ground wire J2 cable marker description Notice: In case an encoder is used for general input signals.ADT-series Servo/Stepping Motion Card IN9 (YSTOP1) IN10 (YSTOP2) IN11(YALARM) OUT0 OUT1 OUT2 OUT3 OUTCOM1 OUT4 OUT5 OUT6 OUT7 OUTCOM2 +12V Y home signal 1. YECA+ and YECB+will be respectively used as public ports of corresponding input signals. can be used as universal input signal Positive port of internal +12V power supply. The digital input connection part for wiring method. can be used as universal input signal Y home signal 2. do not connect to external power supply Positive port of internal +12V power supply. do not connect to external power supply Positive port of internal +5V power supply. Symbol XECA+ XECAXECB+ XECBYECA+ Description X-axis coder phase A input + X-axis coder phase A input X-axis coder phase B input + X-axis coder phase B input Y-axis coder phase A input + 31 http://www. can be used as universal input signal Y servo in-position signal.com . can be used as universal input signal Y servo alarm signal. XECB+.adtechen. users must serially connect a 1K resistance. XECA+. Voltage at the public ports can only be +5V. do not connect to external power supply Positive port of internal +5V power supply. can be used as universal input signal Digital output Digital output Digital output Digital output Common port of OUT0-3 digital output negative Digital output Digital output Digital output Digital output Common port of OUT4-7 digital output negative Positive port of internal +12V power supply. can be used as universal input signal X servo in-position signal. can be used as universal input signal Y home signal 3. do not connect to external power supply GND Internal power supply ground wire +5V +5V +12V +12V IN27(YINPOS) IN26(YIN) IN25(XINPOS) YECAYECB+ YECBINCOM4 IN24(XIN) Y-axis coder phase A input Y-axis coder phase B input + Y-axis coder phase B input Common port of 18-21pin digital input X home signal 3. in case of .. . using an external+12V power supply. 648~+2. real position. and software limit Receive signals from servo motor drive. etc Each axis has 3 STOP signals.147.g.can be used for signals of servo-on and alarm reset of servo Position counter is integrated with variable cyclic function. in-position signal.PCI104 bus type ADT-836 advanced 6-axis servo/stepper motion control card Input/output interfaces description J1 cable marker description Features 6-axis servo/stepping motor control. top driving speed: 2MHz Each axis has two 32-bit compare registers. each axis can control independently The frequency error of pulse input is less than 0.1% 4MHz Maximum pulse output frequency is 4MHz Pulse output can be either single pulse (pulse + direction) or double pulse (pulse + pulse) All the 6 axes have position feedback input. which are used for position comparison between logical position counter and actual position counter. 32-bit counting.483. Except two limit signals. DI signals up to48 Digital output add up to 32. driving speed. WINDOWS95/98/NT/2000/XP. Select one from the 8 constants for the filter time Supported operating systems: DOS. all signals can be used as general DI. the logical position counter and actual position counter are 32-bit up/down cyclic counters The input port of every input signal is equipped with integral filter.147. e. You can select to activate/deactivate the filter of certain input signal. acceleration and driving state in real-time in the motion process Each axis has 8-in digital I/O.483.647 Linear or S-curve acceleration/deceleration Asymmetric linear acceleration/deceleration 2-6 axes linear interpolation CW and CCW circular-arc interpolation Continuous interpolation is available. maximum counting range: -2. alarm signal. coder Z-phase signal. which are used to search for home and Z-phase of coder The speed and target position can be changed in real-time in the motion process Read the logical position. WINCE Symbol XPUXPU+ XDRXDR+ YPUYPU+ YDRYDR+ ZPUZPU+ ZDRZDR+ APUAPU+ ADRADR+ BPUBPU+ BDRBDR+ CPUCPU+ CDRCDR+ GND X pulse signal X pulse signal + Description X direction signal X direction signal + Y pulse signal Y pulse signal + Y direction signal Y direction signal + Z pulse signal Z pulse signal + Z direction signal Z direction signal + A pulse signal A pulse signal + A direction signal A direction signal + B pulse signal B pulse signal + B direction signal B direction signal + C pulse signal C pulse signal + C direction signal C direction signal + Internal power supply ground wire J3 cable marker description . can be used as universal input signal X home signal 0. can be used as universal input signal X home signal 1. can be used as universal input signal X axis in-position signal X axis alarm signal X axis input signal.com YLMT+ YLMTYINCOM XINPOS XALARM XIN XSTOP0 XSTOP1 Digital output XLMT+ XLMTXSTOP2 Symbol XINCOM Description Common port of X axis photoelectric coupling input (signals below) X positive limit signal X negative limit signal X home signal 2.ADT-series Servo/Stepping Motion Card DOUT0 DOUT1 DOUT2 DOUT3 DOUT4 DOUT5 DOUT6 DOUT7 DOUT8 DOUT9 DOUT10 DOUT11 DOUT12 DOUT13 DOUT14 DOUT15 DOUT16 DOUT17 DOUT18 1 20 2 21 3 22 4 23 5 24 6 25 7 26 8 27 9 28 10 29 11 30 12 31 13 32 14 33 15 34 16 35 17 36 18 37 19 DOUT19 DOUT20 DOUT21 DOUT22 DOUT23 DOUT24 DOUT25 DOUT26 DOUT27 DOUT28 DOUT29 DOUT30 DOUT31 GND GND GND GND GND OUT28 OUT29 OUT30 OUT31 GND GND GND GND GND Internal power supply ground wire Internal power supply ground wire Internal power supply ground wire Internal power supply ground wire Internal power supply ground wire J6 cable marker description OUT0 OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 OUT8 OUT9 OUT10 OUT11 OUT12 OUT13 OUT14 OUT15 OUT16 OUT17 OUT18 OUT19 OUT20 OUT21 OUT22 OUT23 OUT24 OUT25 OUT26 OUT27 33 http://www. can be used as universal input signal Common port of Y axis photoelectric coupling input (signals below) Y positive limit signal Y negative limit signal .adtechen. can be used as universal input signal A axis in-position signal A axis alarm signal A axis input signal. can be used as universal input signal A home signal 0.com CSTOP0 CSTOP1 CLMT+ CLMTCSTOP2 CINCOM BINPOS BALARM BIN BSTOP0 BSTOP1 BLMT+ BLMTBSTOP2 Symbol BINCOM Description Common port of B axis photoelectric coupling input (signals below) B positive limit signal B negative limit signal B home signal 2. can be used as universal input signal Y home signal 0. can be used as universal input signal Y home signal 1.adtechen. can be used as universal input signal C axis in-position signal C axis alarm signal C axis input signal. can be used as universal input signal Common port of A axis photoelectric coupling input (signals below) A positive limit signal A negative limit signal A home signal 2. can be used as universal input signal Common port of C axis photoelectric coupling input (signals below) C positive limit signal C negative limit signal C home signal 2. can be used as universal input signal Y axis in-position signal Y axis alarm signal Y axis input signal. can be used as universal input signal Z home signal 1. can be used as universal input signal B home signal 1. can be used as universal input signal C home signal 1. can be used as universal input signal Common port of Z axis photoelectric coupling input (signals below) Z positive limit signal Z negative limit signal Z home signal 2. can be used as universal input signal Z axis in-position signal Z axis alarm signal Z axis input signal.ADT-series Servo/Stepping Motion Card YSTOP2 YSTOP1 YSTOP0 YINPOS YALARM YIN ZINCOM ZLMT+ ZLMTZSTOP2 ZSTOP1 ZSTOP0 ZINPOS ZALARM ZIN AINCOM ALMT+ ALMTASTOP2 ASTOP1 ASTOP0 AINPOS AALARM AIN Y home signal 2. can be used as universal input signal Internal power supply ground wire Internal power supply ground wire J7 cable marker description . can be used as universal input signal B axis in-position signal B axis alarm signal B axis input signal. can be used as universal input signal Z home signal 0. can be used as universal input signal B home signal 0. can be used as universal input signal untapped CINPOS CALARM CIN GND GND 34 http://www. can be used as universal input signal C home signal 0. can be used as universal input signal A home signal 1. com 0x1000 0x1040 0x1080 0x10C0 …… 0x1800 Notice:The output circuit voltage is 12VDC only. do not connect to external power supply untapped Connection of pulse/direction output signals The pulse output of ADT-836 control card is open-collector.adtechen. also connect to +5V external power supply XECA+ XECAXECB+ XECBYECA+ YECAYECB+ YECBZECA+ ZECAZECB+ ZECBAECA+ AECAAECB+ AECBBECA+ BECABECB+ BECBCECA+ CECACECB+ CECBX-axis coder phase A input + X-axis coder phase A input X-axis coder phase B input + X-axis coder phase B input Y-axis coder phase A input + Y-axis coder phase A input Y-axis coder phase B input + Y-axis coder phase B input Z-axis coder phase A input + Z-axis coder phase A input Z-axis coder phase B input + Z-axis coder phase B input A-axis coder phase A input + A-axis coder phase A input A-axis coder phase B input + A-axis coder phase B input B-axis coder phase A input + B-axis coder phase A input B-axis coder phase B input + B-axis coder phase B input C-axis coder phase A input + C-axis coder phase A input C-axis coder phase B input + C-axis coder phase B input 35 http://www.not 24 VDC Connection of digital input Connection of digital output set address: 1(A11) On On On On …… Off 2(A10) On On On On …… On 3(A9) On On On On …… On 4(A8) On On On On …… On 5(A7) On On Off Off …… On 6(A6) On Off On Off …… On .”pulse+pulse” and “pulse+direction” wire connecting mode. do not connect to external power supply Positive port of internal +12V power supply.ADT-series Servo/Stepping Motion Card GND VCC VCC VCC +12V Internal power supply ground wire Positive port of internal +5V power supply. J8 cable marker description Connection of input signals of coder Above example use internal +5V power supply. do not connect to external power supply Positive port of internal +5V power supply. do not connect to external power supply Positive port of internal +5V power supply. com . 0x1f00 0x1f40 0x1f80 0x1fC0 Off …… Off Off Off Off On …… Off Off Off Off On …… Off Off Off Off On …… Off Off Off Off On …… On On Off Off Off …… On Off On Off “ON” is resistance connect. default address is 0x1000 36 http://www.ADT-series Servo/Stepping Motion Card 0x1840 …….adtechen.”OFF” is resistance separate. and software limit Receive signals from servo motor drive.CCW arc interpolation Continuous interpolation is available. can be used as universal input signal Y axis alarm signal. acceleration/deceleration and driving state in real-time in the motion process Each axis has 8-in/8-out digital I/O. which are used for position comparison between logical position counter and actual position counter. can be used as universal input signal X axis alarm signal. can be used as universal input signal Y home signal 0. You can select to activate/deactivate the filter of certain input signal. can be used as universal input signal Y home signal 1.147. WINCE Symbol XINCOM XLMT+ XLMTXSTOP2 XSTOP1 XSTOP0 XINPOS XALARM XIN0 YINCOM YLMT+ YLMTYSTOP2 YSTOP1 YSTOP0 YINPOS YALARM YIN0 Description Common port of X axis photoelectric coupling input X negative limit signal X positive limit signal X home signal 2. WINDOWS95/98/NT/2000/XP. top driving speed: 2MHz Each axis has two 32-bit compare registers.1% Maximum pulse output frequency is 4MHz Pulse output can be either single pulse (pulse + direction) or double pulse (pulse + pulse) All the 4 axes have position feedback input. 32-bit counting. Select one from the 8 constants for the filter time Supported operating systems: DOS. alarm signal. can be used as universal input signal X home signal 1. each axis can control independently The frequency error of pulse input is less than 0.648~+2. can be used as universal input signal X axis universal input signal Common port of Y axis photoelectric coupling input Y negative limit signal Y positive limit signal Y home signal 2. etc Each axis has 3 stop signals.g.483. maximum counting range: -2. coder Z-phase signal. Except two limit signals. can be used as universal input signal Y axis in-position signal. real position. can be used as universal input signal X axis in-position signal. e. can be used as universal input signal Y axis universal input signal Input/output interfaces description J3 cable marker description . all signals can be used as general I/O.147.ADT-860 advanced 4-axis servo/stepper motion control card Features 4-axis servo/stepping motor control. in-position signal. can be used as universal input signal X home signal 0.483.647 Linear or S-curve acceleration/deceleration Asymmetric linear acceleration/deceleration Random 2-3 axes linear interpolation Random 2 axes CW. which are used to search for home and Z-phase of coder The speed and target position can be changed in real-time in the motion process Read the logical position. Digital output can be used in signals of servo on and servo alarm reset The input port of every input signal is equipped with integral filter. driving speed. can be used as universal input signal A axis universal input signal untapped OUT8 OUT9 OUT10 OUT11 OUT12 OUT13 OUT14 OUT15 OUTCOM2 OUTCOM2 OUTCOM2 OUTCOM2 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 OUTCOM1 OUTCOM1 OUTCOM1 OUTCOM1 Digital output 2 Digital output 3 Digital output 4 Digital output 5 Digital output 6 Digital output 7 Common port of 0-7 digital output Common port of 0-7 digital output Common port of 0-7 digital output Common port of 0-7 digital output untapped Digital output 8 Digital output 9 Digital output 10 Digital output 11 Digital output 12 Digital output 13 Digital output 14 Digital output 15 Common port of 8-15 digital output Common port of 8-15 digital output Common port of 8-15 digital output Common port of 8-15 digital output J6 cable marker description J5 cable marker description Symbol XPU+ XPUSymbol OUT0 OUT1 Description Digital output 0 Digital output 1 38 XDR+ XDRYPU+ Description X pulse signal + X pulse signal X direction signal + X direction signal Y pulse signal + http://www. can be used as universal input signal Z home signal 1. can be used as universal input signal A axis alarm signal.com . can be used as universal input signal A axis in-position signal. can be used as universal input signal A home signal 1. can be used as universal input signal Z home signal 0.adtechen.ADT-series Servo/Stepping Motion Card ZINCOM ZLMT+ ZLMTZSTOP2 ZSTOP1 ZSTOP0 ZINPOS ZALARM ZIN0 AINCOM ALMT+ ALMTASTOP2 ASTOP1 ASTOP0 AINPOS AALARM AIN0 Common port of Z axis photoelectric coupling input Z negative limit signal Z positive limit signal Z home signal 2. can be used as universal input signal Z axis in-position signal. can be used as universal input signal Z axis universal input signal Common port of A axis photoelectric coupling input A negative limit signal A positive limit signal A home signal 2. can be used as universal input signal A home signal 0. can be used as universal input signal Z axis alarm signal. ADT-series Servo/Stepping Motion Card YPUYDR+ YDRAPU+ APUADR+ ADRZPU+ ZPUZDR+ ZDREXT_VCC EXT_VCC EXT_VCC XECA+ XECAXECB+ XECBYECA+ YECAYECB+ YECBAECA+ AECAAECB+ AECBZECA+ ZECAZECB+ ZECBY pulse signal Y direction signal + Y direction signal A pulse signal + A pulse signal A direction signal + A direction signal Z pulse signal + Z pulse signal Z direction signal + Z direction signal In open-collector mode , connection of Common port of drive X-axis coder phase A input + X-axis coder phase A input X-axis coder phase B input + X-axis coder phase B input Y-axis coder phase A input + Y-axis coder phase A input Y-axis coder phase B input + Y-axis coder phase B input A-axis coder phase A input + A-axis coder phase A input A-axis coder phase B input + A-axis coder phase B input Z-axis coder phase A input + Z-axis coder phase A input Z-axis coder phase B input + Z-axis coder phase B input untapped untapped “ON” is resistance connect,”OFF” is resistance separate, default address is 0x1000 0x1000 0x1040 0x1080 0x10C0 …… 0x1800 0x1840 ……. 0x1f00 0x1f40 0x1f80 0x1fC0 On On On On …… Off Off …… Off Off Off Off On On On On …… On On …… Off Off Off Off On On On On …… On On …… Off Off Off Off On On On On …… On On …… Off Off Off Off On On Off Off …… On On …… On On Off Off On Off On Off …… On Off …… On Off On Off Notice: Connection of pulse/direction output signals,Connection of input signals of coder,Connection of digital input, refer to ADT-836 set address 1(A11) 2(A10) 3(A9) 4(A8) 5(A7) 6(A6) 39 http://www.adtechen.com ADT-864 advanced 4-axis servo/stepper motion control card Features 4-axis servo/stepping motor control; each axis can control independently The frequency error of pulse input is less than 0.1% Maximum pulse output frequency is 4MHz Pulse output can be either single pulse (pulse + direction) or double pulse (pulse + pulse) All the 4 axes have position feedback input; 32-bit counting; maximum counting range: -2,147,483,648~+2,147,483,647 Linear or S-curve acceleration/deceleration Asymmetric linear acceleration/deceleration Random 2-4 axes linear interpolation CW and CCW arc interpolation Continuous interpolation is available; top driving speed: 2MHz Each axis has two 32-bit compare registers, which are used for position comparison between logical position counter and actual position counter, and software limit Receive signals from servo motor drive, e.g. coder Z-phase signal, in-position signal, alarm signal, etc Each axis has 3 STOP signals, which are used to search for home and Z-phase of coder The speed and target position can be changed in real-time in the motion process Read the logical position, real position, driving speed, acceleration/deceleration and driving state in real-time in the motion process (at acceleration, level speed and deacceleration). Each axis has 8-in/8-out digital I/O. Except two limit signals, all signals can be used as general I/O. Digital output can be used in signals of servo on and servo alarm reset The input port of every input signal is equipped with integral filter. You can select to activate/deactivate the filter of certain input signal. Select one from the 8 constants for the filter time Supported operating systems: DOS, WINDOWS95/98/NT/2000/XP, WINCE Symbol XINCOM XLMT+ XLMTXSTOP2 XSTOP1 XSTOP0 XINPOS XALARM XIN0 YINCOM YLMT+ YLMTYSTOP2 YSTOP1 YSTOP0 YINPOS YALARM YIN0 ZINCOM Description Common port of X axis photoelectric coupling input X negative limit signal X positive limit signal X home signal 2; can be used as universal input signal X home signal 1; can be used as universal input signal X home signal 0; can be used as universal input signal X axis in-position signal, can be used as universal input signal X axis alarm signal, can be used as universal input signal X axis universal input signal Common port of Y axis photoelectric coupling input Y negative limit signal Y positive limit signal Y home signal 2; can be used as universal input signal Y home signal 1; can be used as universal input signal Y home signal 0; can be used as universal input signal Y axis in-position signal, can be used as universal input signal Y axis alarm signal, can be used as universal input signal Y axis universal input signal Common port of Z axis photoelectric Input/output interfaces description J3 cable marker description ADT-series Servo/Stepping Motion Card coupling input ZLMT+ ZLMTZSTOP2 ZSTOP1 ZSTOP0 ZINPOS ZALARM ZIN0 AINCOM ALMT+ ALMTASTOP2 ASTOP1 ASTOP0 AINPOS AALARM AIN0 Z negative limit signal Z positive limit signal Z home signal 2; can be used as universal input signal Z home signal 1; can be used as universal input signal Z home signal 0; can be used as universal input signal Z axis in-position signal, can be used as universal input signal Z axis alarm signal, can be used as universal input signal Z axis universal input signal Common port of A axis photoelectric coupling input A negative limit signal A positive limit signal A home signal 2; can be used as universal input signal A home signal 1; can be used as universal input signal A home signal 0; can be used as universal input signal A axis in-position signal, can be used as universal input signal A axis alarm signal, can be used as universal input signal A axis universal input signal untapped OUT8 OUT9 OUT10 OUT11 OUT12 OUT13 OUT14 OUT15 OUTCOM2 OUTCOM2 OUTCOM2 OUTCOM2 Digital output 8 Digital output 9 Digital output 10 Digital output 11 Digital output 12 Digital output 13 Digital output 14 Digital output 15 Common port of 8-15 digital output Common port of 8-15 digital output Common port of 8-15 digital output Common port of 8-15 digital output OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 OUTCOM1 OUTCOM1 OUTCOM1 OUTCOM1 Digital output 2 Digital output 3 Digital output 4 Digital output 5 Digital output 6 Digital output 7 Common port of 0-7 digital output Common port of 0-7 digital output Common port of 0-7 digital output Common port of 0-7 digital output J6 cable marker description J5 cable marker description Symbol XPU+ XPUXDR+ Symbol OUT0 OUT1 Description Digital output 0 Digital output 1 41 XDRYPU+ YPU- Description X pulse signal + X pulse signal X direction signal + X direction signal Y pulse signal + Y pulse signal - http://www.adtechen.com default address is 0x1000 0x1080 0x10C0 …… 0x1800 0x1840 …….ADT-series Servo/Stepping Motion Card YDR+ YDRAPU+ APUADR+ ADRZPU+ ZPUZDR+ ZDREXT_VCC EXT_VCC EXT_VCC XECA+ XECAXECB+ XECBYECA+ YECAYECB+ YECBAECA+ AECAAECB+ AECBZECA+ ZECAZECB+ ZECBY direction signal + Y direction signal A pulse signal + A pulse signal A direction signal + A direction signal Z pulse signal + Z pulse signal Z direction signal + Z direction signal In open-collector mode .Connection of input signals of coder.adtechen.”OFF” is resistance separate. connection of Common port of drive X-axis coder phase A input + X-axis coder phase A input X-axis coder phase B input + X-axis coder phase B input Y-axis coder phase A input + Y-axis coder phase A input Y-axis coder phase B input + Y-axis coder phase B input A-axis coder phase A input + A-axis coder phase A input A-axis coder phase B input + A-axis coder phase B input Z-axis coder phase A input + Z-axis coder phase A input Z-axis coder phase B input + Z-axis coder phase B input untapped untapped “ON” is resistance connect. refer to ADT-836 set address 1(A11) 0x1000 0x1040 On On 2(A10) On On 3(A9) On On 4(A8) On On 5(A7) On On 6(A6) On Off 42 http://www. 0x1f00 0x1f40 0x1f80 0x1fC0 On On …… Off Off …… Off Off Off Off On On …… On On …… Off Off Off Off On On …… On On …… Off Off Off Off On On …… On On …… Off Off Off Off Off Off …… On On …… On On Off Off On Off …… On Off …… On Off On Off Application: 1. Multi-asix carving and milling system 2. Robot system 3. Coordinate measuring system 4. Numerical control system based on PC Notice: Connection of pulse/direction output signals.com .Connection of digital input. Other cards installing refer to ADT-856. the computer shall notify “Found new hardware” as follows: Click again “Next” to display the following dialogue: Then select “Specify a location” and Click again “Next” and Click “Browse” button to select DevelopmentPackage/ Drive/ CardDrive and find the adt856. you need to install driver first. The driver isn’t necessary in DOS.inf) of the motion card is in the folder “Development package\Drivers\Driver of motion card” in the disc. Refer to this part to install driver in other operating systems.Win2000. then click “OK” to display the following dialogue: Just click “Next” to display the following dialogue: Click “Next” to display the following dialogue: . After attaching the ADT-856 card to the PCI slot of a computer. upon display of the initial interface. The driver (filename: adt856.Win98. Win NT. except PC104 cards.WinXP. Install driver in Win2000 The following part takes Win2000 Professional Version as example to indicate installation of the drive.inf file.Chapter V Installing Software To use the ADT-856 card in Win95. other versions of Win2000 are similar. a user shall log in as administrator to the computer. The following section shows the procedures of installing driver in Win2000 and WinXP. Select “Install from a list or specific position (Advanced)”.adtechen. Click “Browse” button to select Drive/ CardDrive and find Install driver in WinXP Install driver in WinXP as the same as above. as shown in the figure below: 44 http://www.ADT-series Servo/Stepping Motion Card Finally click “Finish” to complete installation.com .inf file. and the following dialogue box: the adt856. then click “Next” to display the following dialogue: Click “Next” and the following dialogue box appears Click “Finish” to complete installation. Constant velocity continuous driving is used in low speed searching. Only low velocity constant driving is necessary if you use home searching and coder phase Z signals and stop immediately when signals are searched. STOP1 and STOP2. It is useful in home searching. Acceleration/deceleration continuous driving is used in high speed searching. thus the manual calculation is necessary: The velocity changes frequenctly in linear acceleration/deceleration quantitative driving. home signal and coder phase Z . sudden stop is used. decelerated stop is used. In the following conditions. Perform arc and quantitative interpolation in acceleration/deceleration. scanning and controlling of motor velocity. in acceleration/deceleration. If the set valid signal is in activated electricity level. STOP1 and STOP2 signals are decelerated stop in acceleration/deceleration driving and sudden stop in constant velocity driving. Each axis has the three external signals STOP0. Configure the following parameters to execute the quantitative driving of acceleration/deceleration: a) Range R b) c) d) e) Acceleration/deceleration A/D Start velocity SV Driving velocity V Output pulse P logical electricity of every signal of each axis. Manual deceleration is also available. the automatic deceleration point can’t be calculated accurately. To drive continuously output pulses.com Continuous driving In continuous driving. Configure the following parameters to execute linear acceleration/deceleration driving: Range R Acceleration A Acceleration and deceleration Deceleration D Deceleration if they are set separately (if necessary) Start velocity SV Driving velocity V 45 http://www. The quantitative driving of acceleration/deceleration is shown in the following picture. output driving pulse continuously until the high stop command or external stop signals are valid.need to change into manual deceleration mode and select deceleration point. the acceleration counter records the accumulated pulses of acceleration. Set the valid/invalid and Chapter VI Functions Introduction Quantitative driving Quantitative driving means to output pulse of specified amount in constant velocity or acceleration/deceleration. Deceleration starts when left output pulses are less than accumulated acceleration pulses. there is only constant velocity driving. In deceleration. you need to configure same parameters as quantitative driving except Velocity curve 1)Constant velocity driving Constant velocity driving is to output driving pulses in constant speed. Cinfigure home approach signal. Configure the following parameters to execute constant velocity driving: Range R Start velocity SV Driving velocity V Acceleration/deceleration quantitative driving automatically decelerates from the deceleration point as shown in the picture above. The driving stops after the output of specified pulses. it will decelerate (automatically). If left output pulses are less than acceleration pulses. 2)Linear acceleration/deceleration driving Linear acceleration/deceleration driving is to accelerate from start velocity to specified driving velocity linearly. If the set driving velocity is lower than start velocity. STOP0. If the set valid signal is in activated electricity level. The application of continuous driving in home searching. In quantitative driving.adtechcn.ADT-series Servo/Stepping Motion Card signal to STOP0. it will decelerate to start velocity linearly in specified velocity. Two stop commands are available: decelerated and sudden. STOP1 and STOP2 for decelerated/sudden stop. It is useful to move to specified position or execute specified action. Every signal can be set as valid/invalid electricity. you’d better change the acceleration and deceleration in such asymmetrical linear acceleration/deceleration quantitative driving whose acceleration and deceleration are different. At this moment. The acceleration tends to be 0 if the difference between target velocity (V) and current velocity is less than the velocity 46 http://www. 3 ) Asymmetrical linear acceleration/deceleration driving When an object is moved vertically. Therefore. therefore. the velocity curve is in linear mode and the velocity is accelerating (b-zone). 2 shows the example that deceleration is lower than acceleration When the driving accelerates. triangle waves as shown in the picture will appear.adtechcn. it has the load of acceleration of gravity. When the acceleration reaches this value (A).ADT-series Servo/Stepping Motion Card Triangle prevention in quantitative driving In quantitative driving of linear acceleration/deceleration. it is in constant velocity field. even if output pulses are less than 1/2 of output pulses. At this moment. 1 shows the example that acceleration is lower than deceleration and Fig. this velocity curve becomes secondary parabola (a-zone). it will retain this value. the acceleration/deceleration can be increased or decreased linearly to generate S type velocity curve. and triangle prevention is activated in this case. Fig. Configure the following parameters like common linear acceleration/deceleration driving: Range R Acceleration A Deceleration D Start velocity SV Driving velocity V 4)S-curve acceleration/deceleration driving When driving velocity accelerates or decelerates. S-curve acceleration/deceleration driving is shown in the picture below. you needn’t to set manual deceleration point and automatic deceleration is used. the acceleration increases from zero linearity to appointed value (A) in appointed rate (K). if the output pulses are less than the required pulses to accelerate to driving velocity.com . In acceleration. Therefore. The triangle prevention function is to prevent triangle wave if the output pulses are less than required pulses in linear acceleration/deceleration quantitative driving. acceleration stops and keeps in constant velocity field. if the pulses consumed by acceleration and deceleration are more than 1/2 of total output pulses. It counts up 1 after the output of one positive pulse and counts down 1 . ADT-836 card can perform linear interpolation of 2-6 axes and arc interpolation of 2 axes. the accelerating with partly fixed acceleration is called as partial S-curve accelerating On the other hand. The counting direction can be customized. Actual position counter counts the input pulses from external coder. b-zone will disappear if the difference between target velocity (V) and current velocity is less than the velocity increased in corresponding time before the acceleration reaches appointed value (A) in a-zone. The decreasing rate is same as increasing rate and decreases in appointed rate (K). When software limit is valid. ADT-8946A1 card can perform linear interpolation of 2-4 axes and arc interpolation of 2 axes. COMP+ register and COMP. Do not drive are interpolation or continuous interpolation when performing S-curve acceleration/deceleration. The counting range is -2.483. Position management Interpolation ADT-856 card can perform linear interpolation of 2-6 axes and arc interpolation of 2 axes. The accelerating without fixed acceleration is called as complete S-curve accelerating. which can compare size with logical position counter and actual position counter. and then only positive driving commands can be executed until the value of logical/actual position counter is bigger than the value of COMP-. COMP+ register is mainly used to detect the upper limit of logical/actual position counter and COMPregister is mainly used to detect the lower limit. you need to set the accelerating mode as S-curve and then configure the following parameters: Range R Change rate of acceleration/deceleration K Acceleration A Deceleration D (if necessary) Start velocity SV Driving velocity V Precautions of performing S-curve acceleration/deceleration driving: Do not change the driving velocity when performing S-curve acceleration/deceleration quantitative driving.adtechcn. and then only negative driving commands can be executed until the value of logical/actual position counter is smaller than the value of COMP+. You can customize the objects of the two compare registers as logical position counter or actual position counter. ADT-8940A1 card can perform linear interpolation of random 2-4 axes. ADT-8960A1 card can perform linear interpolation of random 2-6 axes. In this manual.147. The data of the two counters can be written or read at any time.register can be written at any time.ADT-series Servo/Stepping Motion Card increased in corresponding time. ADT-8920A1 card can perform linear interpolation of 2 axes.483. deceleration stop is performed if the value of logical/actual position counter in the driving is bigger than the value of COMP+.647. ADT-8948A1 card can perform linear interpolation of random 2-3 axes and arc interpolation of random 2 axes.648~+2. You can select the type of input pulse A/B phase signal or independent 2-pulse up/down counting signals. deceleration stop is performed if the value of ogical/actual position counter is smaller than the value of COMP-.147. the velocity curve is in linear mode and the velocity is accelerating (c-zone). after the output of one negative pulse. Similarly. 47 http://www. At this moment. To perform S-curve acceleration/deceleration. ADT-860 card can perform linear interpolation of 2-3 axes and arc interpolation of 2 axes. Compare register and software limit Each axis has two 32-bit registers (COMP+ COMP-).com Logical position counter and actual position counter Logical position counter is used to count the positive/negative output pulses of ADT8948A1 card. In-position signal of servo motor The interpolation driving will stop once the INPOS signal of each axis is valid. It will draw a complete circle if the end point is (0. In set end-point values. Short axes always output dricing pulses in these quadrants and long axes output pulses sometimes according to the result of arc interpolation operation. 0). 3. and then perform arc interpolation. 4 and 7 are Y axes.607. The interpolation driving will stop if the limit of any axis changes. The coordinate range of linear interpolation is 24-bit with symbols. Quadrants 1.com . Before executing interpolation command.388. every driving axis can perform hardware limit and software limit. The arithmetic of arc interpolation is shown in the picture below. 2)Arc interpolation Set the center coordinates and end-point coordinates of the arc 48 http://www. you must be careful when perform arc interpolation and can't leave limit area. Devide it into 8 quadrants (0-7) around center coordinates. The above picture also shows the example of pulse output of linear interpolation driving. A plane is defined by X-axis and Y-axis. Notice The interpolation will stop if the hardware limit or software limit in any direction (+/-) is activated in the arc interpolation process. the interpolation operation is performed in basic pulse time series of appointed axis. relative to the start point of current position. The axes with smaller absolute values are short axes. 1) 2-6 axes linear interpolation The linear interpolation starts when the end coordinate relative to current position is set. Therefore. 5 and 6 are X axes and quadrants 0. the axis with maximum absolute value is long axis and this axis always outputs pulses in the interpolation driving process. In interpolation driving process. Y) of quadrant 0. CW arc interpolation draws arc from current coordinates to end-point coordinates in clockwise direction around the center coordinates. The INPOS signals of all axes are in effective electricity level when the interpolation driving is finished. As shown in the picture above. Other axes are short axes and they output pulses sometimes according to the result of linear interpolation operation. 2.ADT-series Servo/Stepping Motion Card ADT-864 card can perform linear interpolation of 2-4 axes and arc interpolation of 2 axes. absolute value Y is always smaller than absolute value X. The following examples show the output of a complete circle (take pulse output as an example). you need to set the start velocity and driving velocity of appointed axis. CCW arc interpolation draws arc around the center coordinates in counterclockwise direction. Threshold-crossing error in interpolation In interpolation driving.388.adtechcn. the position precision of appointed line is ±0.607~+8.5LSB in the whole interpolation range. At the interpolation coordinates (X. The interpolation range is from current position of each axis to -8. ADT-8948A1. deactivate interpolation deceleration first and then perform 49 http://www. occurs between interpolations. the appointed end-point may be not on the track of the circle. In continuous interpolation. If you haven’t checked. Acceleration/deceleration driving of arc interpolation In bit mode arc interpolation. linear acceleration/deceleration driving. the deceleration valid command is invalid when you write it in the driving process. if invalid drivings like threshold-crossing error occur.ADT-86 0 and ADT-864 cards is intergrated with continuous interpolation function and thus this problem is solved. If any error is found. in all interpolation nodes. In continuous interpolation driving. S-curve acceleration/deceleration driving and automatic deceleration can be performed. This manual deceleration point is set on the final node of deceleration and the value of basic oulse from X axis is also set. the time from the beginning to the end of continuous interpolation driving should be more than the time of setting the data of next interpolation node and sending command.ADT-8948A1. Therefore. Interpolation of acceleration/deceleration driving The interpolation is usually driven in constant velocity. the value of short axis of arc interpolation end point might deviate one pulse from actual value. you must select deceleration valid state before driving. To run interpolation driving in acceleration/deceleration separately. But ADT-856. otherwise. an intermission. which has a adverse impact on effect and velocity of interpolation. you have to check. you have to confirm the end point of every arc interpolation first and then determine the mode of 3)Judgment of end-point For arc interpolation. you need to . determine the radius according to the value of center coordinates and draw a circle. If the upper computer is too slow. the circle of continuous interpolation should be disengaged. you need to set manual deceleration point first. When the arc interpolation enters the quadrant of end-point. you can use deceleration valid command and deceleration invalid command.ADT-836. continuous interpolation. or multi-task OS is run on the upper computer. you have to check whether the previous interpolation is finished and then output the data of next interpolation. ADT-856. The error of arc algorithmic is one pulse within the range of interpolation driving. the command is invalid although the data and command of next node still exist. it will stop if the value of end point is same to the value of short axis of end point. To perform continuous interpolation. the data and command will be invalid when error occurs and driving stops. It can output the data of next interpolation before previous interpolation is finished.ADT-8946A1.ADT-836. 5)Errors in continuous interpolation In continuous interpolation driving process. then. read the writable state of continuous interpolation and interpolation driving state first. Acceleration/deceleration driving of continuous interpolation In continuous interpolation.com 4)Continuous interpolation For motion card without continuous interpolation function. To avoid accumulating the errors of every node.ADT-860 and ADT-864 cards can perform interpolation in linear acceleration/deceleration driving or S-curve acceleration/deceleration driving (for linear interpolation only) To realize acceleration/deceleration driving in continuous interpolation. set the current coordinates as (0. deceleration valid command is used to make automatic or manual deceleration valid and deceleration invalid command is used to make them invalid. only manual decelerated linear acceleration/deceleration driving instead of S-curve acceleration/deceleration driving and automatic deceleration can be performed.adtechcn. Acceleration/deceleration driving of linear interpolation In linear interpolation. It can get excellent effect even if the computer is slow. If it is started from the second interpolation node at the bottom. Therefore. 0) before starting interpolation driving. If there is arc interpolation in continuous interpolation. In addition.ADT-8946A1. it stops immediately at current interpolation node. if you want to continue next interpolation after the previous interpolation. only manual decelerated linear acceleration/deceleration driving instead of S-curve acceleration/deceleration driving and automatic deceleration can be performed. you can write the command of next interpolation if the interpolation hasn’t been finished and it is writable.ADT-series Servo/Stepping Motion Card check error before sending interpolation command. At stopped interpolation node. In interpolation driving. ADT-series Servo/Stepping Motion Card interpolation driving. Automatically back to home This function only in ADT-8948A1 card.com . For example. PU/CW output driving pulse in positive driving and DR/CCW output driving pulse in negative driving.000. set manual deceleration point as 5. With one lock signal. in the continuous interpolation from node 1 to node 5. It monitors the ALARM input signal if it is valid.000=3. you can also use same signal in different steps. the driving will be stopped immediately. 2. reset counter or turn on servo. the current position (either logical or actual) of all axes can be locked. only one 50 http://www. At the final interpolation node to be decelerated. In single pulse mode. INPOS signal corresponds to the position end signal of servo motor. as well as the direction of each step. Position lock This function only in ADT-8948A1 card. You can activate/deactivate each signal and set the logical electricity level. (3) Approach stop2 signal in low velocity. you can select decelerated stop or sudden stop with command. Set the acceleration/deceleration mode and parameters of main axis ↓ Write manual deceleration point ↓ Write deceleration invalid command ↓ Interpolation command of node 1 ↓ Detect error and wait to write next data ↓ Interpolation command of node 2 : Detect error and wait to write next data ↓ Write deceleration valid command ↓ Interpolation command of node 5 Set the manual deceleration point according to the value of basic pulses from node 5. supposing that the deceleration consumes 2. Signals corresponding to servo motor The input signals connected to servo motor drive are INPOS signal and ALARM signal. Back to hone includes four steps: (1) Approach stop0 signal in high velocity. Deceleration starts when basic pulses from X axis of final interpolation node are bigger than the value of manual deceleration point. write allow deceleration command before writing interpolation command. 1. If the mode is valid. It is mainly used in the manual debugging of machines and provides a lot of convenience in teaching system. You can read the status of the input signals for servo motor drive with universal I/O function.adtechcn.000-2. Process analysis You can select whether perform the above four steps or not. Pulse output mode The driving output pulse has two pulse output modes as shown in the figure below. Then. (2) Approach stop1 signal in low velocity. ALARM input signal receives alarm signal from servo motor drive. In independent 2-pulse mode. (4) Move from home to start point of processing in high velocity. If the limit signals and their logical level are valid. PU/CW output driving pulse and DR/CCW output direction signal. The total basic pulses from X axis to Z axis of final interpolation point of decelerated stop should be more than the pulses consumed by deceleration. the motion card short connects the positive driving signals of the four axes and also short connects the negative driving signals of the four axes. For example. To simplify the wiring. External signal driving This function only in ADT-8948A1 card.000. Universal output signal can be used to clear counter. LMT-) are used to limit the input signals of positive and negative direction driving pulses. the waiting INPOS input signal is valid and the driving state is finished. therefore. the deceleration is valid when the driving of final interpolation node starts. when a driving is finished. Hardware limit signal Hardware limit signals (LMT+.000 pulses and total amount of basic pulses from node 5 is 5. External signal driving is the motion controlled by external signals (handwheel or switch). The deceleration should be performed within one node from start to end. the procedures are as follows if manual deceleration is performed on final node 5. The position lock is usefyl in mearsuring system. Realize hardware position lock function with the IN signal on each axis. If the signal is valid. Stepping interpolation is to perform interpolation in single step.com . the next interpolation motion will be performed while waiting for the command or signal of next interpolation.adtechcn. 51 http://www. Stepping interpolation This function only in ADT-8948A1 card.ADT-series Servo/Stepping Motion Card signal cable of the coder is connected to the external interface of external singals. Stepping interpolation is mainly used in multi-axis manual debugging. When one step is finished. ADT-8940A1. ADT-8960A1 59 59 Basic parameters set_delay_time In ADT-8920A1.AD 62 60 61 61 61 61 61 61 62 62 60 59 59 59 60 60 60 60 the follow function only in ADT-8948A1 card .ADT-8940A1.ADT-series Servo/Stepping Motion Card Chapte VII Basic Library Functions List of ADT-series Motion Control Card Function catalog Function name adt856_initial adt8946_initial adt8948_initial adt8960_initial adt8940A1_initial set_address set_stop0_mode set_stop1_mode set_stop2_mode set_pulse_mode set_limit_mode set_suddenstop_mod e Description initial ADT-856 card initial ADT-8946A1 card initial ADT-8948A1 card initial ADT-8960 A1 card initial ADT-8940A1 card initial card-PC104 home signal mode home signal mode home signal mode pulse mode limit mode hardware stop delay status Remark Page 57 57 57 57 57 ADT-836、ADT-860、ADT-864 57 57 58 58 58 58 ADT-8920A1.ADT-8940A1.ADT-8960A1 these cards.com ADT-8920A1.ADT-8940A1. ADT-8960A1 ADT-8920A1.there is no the follow function set_actualcount_mode set_softlimit_mode1 set_softlimit_mode2 set_softlimit_mode3 set_inpos_mode set_alarm_mode set_ad_mode set_dec1_mode actula position counter mode soft limit mode soft limit mode soft limit mode servo in-position mode servo alarm mode acceleration/deceleration mode asymmetric acceleration/deceleration setting set_dec2_mode set_circle_mode set_input_fiilter set_filer_time disable_soft_limit enable_soft_limit set_lock_position get_status get_inp_status deceleration mode variable circle mode signal filtering signal filtering time disable software limit mode enable software limit mode set position lock mode get axis driving status get interpolation driving status get_delay_status delay status 52 http://www.adtechcn. adtechcn. ADT-8960A1 65 65 66 66 66 66 66 67 67 67 67 67 68 ADT-8948A1 ADT-8948A1 68 68 68 68 68 68 68 65 63 63 63 63 64 64 64 64 64 ADT-8920A1.ADT-series Servo/Stepping Motion Card Driving status checking T-8960A1 In get_stopdata get_inp_status2 get error stop data continuous interpolation writing status the follow function only in ADT-8948A1 card get_lock_status get_home_status get_home_error set_startv set_speed set_command_pos set_actual_pos set_acc set_io_mode set_symmetry_speed get lock status get back-to-home status get back-to-home errors set start speed set driving speed set logical position counter set actual position counter set acceleration set input/output mode sets ymmetric acceleration/deceleration ADT-8960A1 ADT-8948A1.there is no the follow function set_range set_acac set_dec set_comp1 set_comp2 set_dec_pos set_soft_limit set_vector_speed set_home_mode set_unsymmetry_spee d get_command_pos set range set acceleration changing rate set deceleration set COMP+ register set COMP.ADT-8960A1 these cards.ADT-8940A1.there is no this function as above 63 Driving parameters setting In ADT-8920A1.ADT-8946A1.AD T-8920A1.com the follow function only in ADT-8948A1 card Driving parameters checking Version number Basic driving get_actual_pos get_speed get_ad get_lock_position get_lib_version pmove .ADT-8940A1. 62 ADT-8960A1 these cards.ADT-8940A1.register set deceleration position set software limit value set speed mode set back-to-home mode set asymmetric acceleration/deceleration get logical position get actual position get driving speed get acceleration get lock position get library functions version single axis quantitative driving dec_stop sudden_stop inp_move2 decelerated stop sudden stop two axes inperpolation 53 http://www. ADT-860ADT-8 920A1 these cards.com 72 72 72 72 72 71 71 71 71 71 71 71 70 70 70 70 ADT-8948A1.ADT-8940A1 these card.adtechcn.ADT-8960A1 these cards.ADT-8940A1.ADT-8946A1 70 ADT-8948A1. there is no this function manual_pmove manual_continue manual_disable ADT-8948A1.ADT-8946A1 70 ADT-8920A1 no this function InADT-8948A1.there is no this function ADT-8960A1 only ADT-836.ADT-856.ADT-series Servo/Stepping Motion Card inp_move3 inp_move4 inp_move5 inp_move6 inp_clear continue_move three axes interpolation four axes interpolation five axes interpolation six axes interpolation clear interpolation errors continuous driving quantitative driving of external signals continuous driving of external signals disable external signals driving clockwise arc interpolation counterclockwise arc interpolation inp_dec_enable inp_dec_disable interpolation deceleration enabled interpolation deceleration disabled the follow function only in ADT-8948A1 card stop_axis stop_all inp_step_command2 inp_step_command3 inp_step_move inp_step_signal2 inp_step_signal3 inp_step_stop home clear_home_error set_in_move1 set_in_move2 stop axis stop all axes two axes command stepping interpolation three axes command stepping interpolation stepping interpolation driving command two axes signal stepping interpolation three axes signal stepping interpolation stepping interpolation stop command back to home clear back-to-home error single axis following signal moving two axes following signal 54 http://www.ADT-8946A1 70 69 69 69 69 69 69 In ADT-8920A1.ADT-8960A1 ADT-856 In ADT-8920A1.there is no the follow function inp_cw_arc inp_ccw_arc Synchronized function setting only in ADT-8948A1 card . com as above 76 ADT-8940A1.ADT-series Servo/Stepping Motion Card moving set_in_move3 set_in_stop1 three axes following signal moving single axis following signal stop two axes following signal stop set_in_stop3 set_comp_pmove1 set_comp_pmove2 set_comp_pmove3 set_comp_stop1 set_comp_stop2 set_comp_stop3 three axes following signal stop position comparison single axis moving position comparison two axes moving position comparison three axes moving position comparison single axis stop position comparison two axes stop position comparison three axes stop symmetry_relative_m ove symmetry_absolute_ move symmetry_relative_lin e2 symmetry_absolute_li ne2 symmetry_relative_lin e3 symmetry_absolute_li ne3 symmetry_relative_ar single axis symmetric relative moving single axis symmetric absolute moving two axes symmetric linear interpolation relative moving two axes symmetric linear interpolation absolute moving three axes symmetric linear interpolation relative moving three axes symmetric linear interpolation absolute moving two axes symmetric arc interpolation relative moving two axes symmetric arc interpolation absolute moving symmetry_relative_lin e4 symmetry_absolute_li ne4 four axes symmetric linear interpolation relative moving four axes symmetric linear interpolation absolute 55 http://www. ADT-8960A1 as above 75 75 74 74 74 74 73 73 73 73 73 72 Synchronize d function setting set_in_stop2 Composite driving c symmetry_absolute_a rc .adtechcn.ADT-8960A1 as above 75 75 as above 75 as above 75 ADT-8948A1.ADT-8940A1.AD T-8940A1.AD T-8920A1.ADT-8946A1.ADT-8946A1 76 ADT-8948A1.ADT-8946A1.ADT-8960A1 76 as above 76 ADT-8948A1. ADT-8920A1.ADT-series Servo/Stepping Motion Card moving the follow function only in ADT-8948A1 card unsymmetry_relative_ line2 unsymmetry_absolute _line2 unsymmetry_relative_ move unsymmetry_absolute _move unsymmetry_relative_ line3 unsymmetry_absolute _line3 unsymmetry_relative_ arc unsymmetry_absolute _arc two axes asymmetric linear interpolation relative moving two axes asymmetric linear interpolation absolute moving single axis asymmetric relative moving single axis asymmetric absolute moving three axes asymmetric linear interpolation relative moving three axes asymmetric linear interpolation absolute moving two axes asymmetric arc interpolation relative moving two axes asymmetric arc interpolation absolute moving the follow function only in ADT-8960A1 card symmetry_relative_li ne5 symmetry_absolute_l ine5 symmetry_relative_li ne6 symmetry_absolute_l ine6 read_bit five axes symmetric linear interpolation relative moving five axes symmetric linear interpolation absolute moving six axes symmetric linear interpolation relative moving six axes symmetric linear interpolation absolute moving read single input bit output single bit get output status read all input switching status set all output switching status ADT-8948A1.adtechcn.com . ADT-8940A1 ADT-836 ADT-836 80 80 79 80 80 79 78 78 78 78 78 77 77 77 76 76 76 Switch signals write_bit get_out read_di write_do 56 http://www. The variable circle function of counter is invalid Input filtering is invalid Note:ADT-836 、 ADT-860 、 ADT-864 motion cards Initialization in the same way Set stop0 signal mode int set_stop0_mode(int cardno. int axis. symmetric and automatic.Return value is the quantity of ADT-856 cards in the system. ADT-8946A1 、 ADT-8948A1 、 ADT-8920A1 、 ADT-8940A1、ADT-8960A1 initialization as the same as the ADT-856. Initialize card (PC104 card) int set_address(int cardno. (3) Return value<0. You need to invoke this function first to confirm available cards and initialize certain parameters.int logic). STOP1 and STOP2 are invalid Limit signals LMT+ and LMT. Function: Initialize ADT-864 motion card Parameter: cardno:card number address:card address Initialization functions are preliminary conditions to call other functions. The variable circle function of counter is invalid Input filtering is invalid (ADT-8920A1、ADT-8940A1、ADT-8960A1 motion cards ) Relative default status after initialization: Pulse output mode: pulse + direction STOP0. ( ADT-856 、 ADT-8946A1 、 ADT-8948A1 motion cards ) Relative default status after initialization: Pulse output mode: pulse + direction Feedback input is A/B phase coding pulse input with 4 times frequency doubling STOP0.long address). Value 3 indiates that three cards have been installed and available card numbers are 0. Function: Setup of STOP0 signal valid /invalid and logic electric level Parameter: cardno axis value logic card number axis number 0:invalid 1:valid 0: low electric stop 1:high electric stop . Function: Initialize ADT-856 motion card (1) Return value>0.are low electricity level valid. (ADT-836、ADT-860、ADT-864 motion cards) Relative default status after initialization: Pulse output mode: pulse + direction Feedback input is A/B phase coding pulse input with 4 times frequency doubling STOP0. 1 and 2.ChapteVIII Details of Basic Library Functions Basic parameters settings Initialize card (PCI card) int adt8948_initial(void). STOP1 and STOP2 are invalid Limit signals LMT+ and LMT. int value. symmetric and automatic. STOP1 and STOP2 are invalid Limit signals LMT+ and LMT.are low electricity level valid. sudden stop Software limit is invalid Servo nINPOS signal is invalid Servo nALARM signal is invalid Available acceleration/deceleration modes are linear. sudden stop Software limit is invalid Servo nINPOS signal is invalid Servo nALARM signal is invalid Available acceleration/deceleration modes are linear. (2) Return value=0.Value -1 indicates that the drivers of ADT-856 card haven’t been installed. thus must be called firstly so as to verify available cards and initialize some parameters.Value 0 indicates that no ADT-856 card has been installed.are low electricity level valid sudden stop is invalid Notice: Initialization function is the premise to invoke other functions. Function Setup of STOP1 signal valid /invalid and logic electric level Parameter cardno axis value logic stop Return 1:wrong Default modes Signal is invalid and low electric level stops.int logic).int logic).adtechcn. Function Setup of STOP2 signal valid /invalid and logic electric level Parameter cardno axis value logic stop Return 1:wrong Default modes level stops.int logic. Function Set the mode of positive/negative limit input signal nLMT Parameter cardno axis value logic 58 http://www. positive logical dir-logic 0: Positive direction pulse output value 0:correct card number axis number 0:invalid 1:valid 0: low electric stop 1:high electric logic 0:Positive logical pulse logical pulse 1:Negative Set working mode of output pulse Parameter cardno axis card number axis number 1:Pulse+ direction Default modes: Signal is invalid and low electric level stops. int value. it can delete real-position counter at the same time because of the delay of servo system or mechanic system. Notice: The way to stop rests on that it is A/D drive or uniform acceleration drive.ADT-series Servo/Stepping Motion Card Return value: 0: correct 1: wrong is certain error of initial position to make the function more high intension. int value. Return value Default modes 0:correct 1:wrong Pulse + direction. Set stop1 signal mode int set_stop1_mode(int cardno. there Return value .com card number axis number 0:sudden stop 0:low level valid 0:correct 1:decelerated stop 1:high level valid 1:wrong int axis. Function value 0:Pulse + Pulse 1: Negative direction pulse output pulse. int axis. int logic). int value. STOP1 and STOP2 are just the same. Positive logic of direction output signal Notice: When STOP2 is effective. int axis. Signal is invalid and low electric value 0:correct card number axis number 0:invalid 1:valid 0: low electric stop 1:high electric Set the working mode of limit signal int set_limit_mode(int cardno. int value.int dir_logic). Set stop2 signal mode int set_stop2_mode(int cardno. int axis. For former it is A/D stop while for latter instant stop. If after stop of drive clear counter with software. STOP2 has the function only Set working mode of output pulse int set_pulse_mode(int cardno. register as software limit Counting direction 0: A leads B or PPIN pulse input up count B leads A or PMIN pulse input down count 1:B leads A or PMIN pulse input up count A leads B or PPIN pulse input down count 59 http://www. i.long time) Delay time Parameter: cardno time Return value card number Delay time 0:correct 1:wrong Function: card number 0:invalid 0:low level 1:valid 1:high Most position feedback devices use coder or grating scale. or disable frequency doubling. int axis.adtechcn. with the maximum integer value as its maximum value.int logical) Function: Hardware stop Parameter: cardno v logical level Return value 0:correct 1:wrong Notice:Hardware stop signals are assigned to use the 34 pin at the P3 terminal panel (IN31) Delay time int set_delay_time(int cardno. value).ADT-series Servo/Stepping Motion Card Default modes Notice The limit signal can’t be set as valid or invalid Hardware stop int set_suddenstop_mode(int cardno.int dir. Function Set COMP . int value. this should be considered when setting the range. You can select 4 times or 2 times. Therefore. Function Set the working mode of actual position counter (coder input) Parameter cardno axis value pulse input dir 0:A/B pulse input . so the count value may exceed the set value. int sudden stop.e.int v.register as software limit Parameter int axis. Set COMP . For 4 times frequency doubling.com int set_softlimit_mode2(int cardno. int card number axis number 0:invalid 0:correct invalid 1:valid 1:wrong int axis. the counter value will increase by 4000 when it rotates one circle clockwise. value). so you need to select A/B phase pulse input mode.int freq). low level valid freq Frequency multiplication of A/B pulse 0: 4× Return value 1: 2× 0:correct 2: 1× 1:wrong input, Invalid for Up/Down pulse input Initialization status: A/B pulse input,direction: 0, Frequency multiplication: 4× Notice:The time unit is 1/8us. the precision is increased by 4 times Set COMP + register as software limit int set_softlimit_mode1(int cardno. if a coder of 1000 pulse per circle is used. Function Set COMP + register as software limit Parameter cardno axis value Return value Default modes Notice card number axis number Pulse input mode 1:Up/Down (PPIN/PMIN) Software limit always decelerate to stop. Set the working mode of actual position counter (coder input) int set_actualcount_mode(int cardno. The precision of this mode can be improved with frequency doubling technology. Function Select symmetric or asymmetric A/D Parameter Cardno card number axis number 0:invalid 0:low level valid 0:correct 1:valid 1:high level valid 1:wrong Return value Default modes axis value card number axis number acceleration/deceleration mode 0:symmetric A/D. int axis. int value). int 0:correct 1:wrong Logical position counter card number axis number 0:Logical position counter 1:Actual int axis. 1:manual deceleration . invalid,low level valid value 0:linear A/D Return value Default modes This function is to set the compare objects of Asymmetric ladder acceleration/deceleration setting int set_dec1_mode(int cardno. value. int card number axis number 0:invalid 0:correct invalid 1:valid 1:wrong cardno axis value card number axis number 0:invalid 0:correct 1:valid 1:wrong logic 0:low level valid 1:high level valid Return value Default modes Notice Do not select valid if nALARM isn’t connected to servo or stepping motor is used. value.com card number axis number 0:automatic deceleration int axis. Function Select linear or S-curve acceleration/deceleration. int Do not select valid if nINPOS isn’t connected to servo or stepping motor is used.ADT-series Servo/Stepping Motion Card cardno axis value Return value Default modes Notice as above Set COMP+/-register as compare objects int set_softlimit_mode3(int cardno. 1:asymmetric A/D 0:correct symmetric A/D 1:wrong int axis.adtechcn. Setting of servo in-position signal nINPOS int set_inpos_mode(int cardno.int logic). value). int logic). Function set the compare objects of software limit Parameter cardno axis value position counter Return value Default modes software limit. Function int setting deceleration mode Parameter cardno axis value 60 http://www. value). Setting of servo alarm signal nALARM int set_alarm_mode(int cardno. int Function Setting of servo in-position signal nINPOS Parameter cardno axis value logic Return value Default modes Notice invalid,low level valid Deceleration mode setting of acceleration/deceleration quantitative driving int set_dec2_mode(int cardno. Acceleration/deceleration setting int set_ad_mode(int cardno. value). Function Set the working mode of servo alarm signal nALARM Parameter int axis. Parameter Cardno axis card number axis number 1:S-curve A/D 1:wrong 0:correct linear A/D int axis. ADT-series Servo/Stepping Motion Card Return value Default modes Notice Automatic deceleration is used in most cases.com Counter type Electricity level logic of lock signals (0: low level lock. Set the working mode of position lock int set_lock_position(int cardno. Function Enable software limit Parameter cardno axis value card number axis number compare objects 0:correct 1:wrong card number axis number 0:correct 1:wrong Input signal filtering function setting int set_input_filter(int cardno.and COMP+/.1:Actual position counter) Return value Notice This function is encapsulated with COMP+. Function Disable software limit Parameter cardno axis Return value Notice This function is encapsulated with COMP+ and COMP.setting functions.setting functions.int number. int value). and the meanings are as follow: .int axis. 1: high level lock ) (0: logical position counter. it is necessary to set deceleration point.int value).int regi. int axis.int axis. COMP. int axis).1:actual position counter) Constant setting of filtering time of input signals int set_filter_time(int cardno. Function Set the variable circle mode of counter Parameter cardno axis value Return value Default modes card number axis number 0:invalid 0:correct invalid 1:valid 1:wrong 0:correct 1:wrong 0:correct 1:wrong automatic deceleration Return value Disable software limit int disable_soft_limit(int cardno.int value). Function Set the working mode of position lock Parameter cardno card number axis axis number regi logical 61 http://www. To use manual deceleration.int value).int axis. int axis. Function Set the filtering time constant of input signals Parameter cardno axis value card number axis number range: 1-8.adtechcn.int logical). Enable software limit int enable_soft_limit(int cardno. Function Set the filtering function of input signal Parameter cardno axis number card number axis number Input types 1:LMT+、LMT-、STOP0、STOP1 2:STOP2 3:nINPOS、nALARM 4:nIN Set the filtering state of the four types input signals above value 0: Filtering invalid Return value Default modes 0:correct invalid 1: Filtering valid 1:wrong (0: logical position counter. Setting of variable circle function of the counter int set_circle_mode(int cardno. the meanings are: 0: Driving stopped Non-0: the value is in 2 bytes and their meanings are: D0 is the lowest position and D15 is the highest position D0: indicate the size comparison of logical/actual position counter and COMP+ register 1: logical/actual position counter >=COMP+ register 0: logical/actual position counter <COMP+ register D1: indicate the size comparison of logical/actual position counter and COMPregister 1: logical/actual position counter >=COMP.int axis.com . you can send next driving instruction to the axis when the driving of corresponding axis is stopped.ADT-series Servo/Stepping Motion Card Return value 0:correct 1:wrong Notice If single axis driving command is executed. Otherwise. Get the driving status of interpolation int get_inp_status(int cardno. it is 1 in constant speed D4: In acceleration/deceleration driving. it is 1 when acceleration/deceleration is increased D6: In S-curve acceleration/deceleration driving.int *value) Function Get the error stop data of axes Parameter cardno axis value card number axis number Index of error status 0: No error Non-0: the value is in 2 bytes and their meanings are : D0 is the lowest position and D15 is the highest position D0: Stopped by STOP0 D1: Stopped by STOP1 D2: Stopped by STOP2 http://www.adtechcn.int *value) Function Get the driving status of single axis Parameter cardno axis value card number axis number Index of driving status. Delay status int get_delay_status(int cardno) Function: Delay status Parameter: cardno Return value card number 0: delay stop 1: delay in process card number Index of interpolation status 1: Interpolating 1:wrong 0:corre Driving status checking Get the driving status of single axis int get_status(int cardno. it is 1 when acceleration/deceleration is constant D7: In S-curve acceleration/deceleration driving.int *value) Function Get the driving status of interpolation Parameter cardno value Return value Notice If interpolation driving command is executed. Otherwise. it is 1 in deceleration D5: In S-curve acceleration/deceleration driving.int axis. it is 1 in acceleration D3: In acceleration/deceleration driving. it is 1 when acceleration/deceleration is decreased D8-D15: Reserved Return value 0:correct 1:wrong 62 0: Interpolation stopped Get the error stop data of axes int get_stopdata(int cardno.register 0: logical/actual position counter <COMPregister D2: In acceleration/deceleration driving. you can send next driving instruction to the axis when the interpolation driving of corresponding axis is stopped. previous driving instruction stops immediately and next instruction is executed. previous driving instruction stops immediately and next instruction is executed. Function Get back-to-home status Parameter cardno card number axis axis number status Whether driving is stopped (0: stopped. it is necessary to check whether error occurs in continuous interpolation process. int axis.long value). Function Set the value of driving speed Parameter 63 http://www.000. Start velocity setting int set_startv(int cardno. int axis. You need to set before using.com card number axis number range(1-8000) 0:correct 1:wrong Get back-to-home status int get_home_status(int cardno. Get lock status int get_lock_status(int cardno.ADT-series Servo/Stepping Motion Card D3: Stopped by positive limit LMT+ D4: Stopped by negative limit LMTD5: Stopped by servo alarm D6: COMP+ register limit driving stopped D7: COMP. the drving will be performed in driving speed constantly even if the acceleration/deceleration has been set.register limit driving stopped D8-D15: Reserved Return value 0:correct 1:wrong Function Get back-to-home error information Parameter cardno card number axis axis number err Error marker 0: :correct >0: wrong Get the writable status of continuous interpolation int get_inp_status2(int cardno. the status is 0.the range value is (1-2.int *err). . 1: locked) 0:correct 1:wrong 0:correct 1: Writable 1:wrong The meanings of first 7 digits of err: D0: comp+ limit D1: comp. int *err). The start velocity value is SV and the actual value of start velocity is: actual value of start velocity (PPS) = SV*M =SV*(8000000/R) If the value of start velocity is higher than that of driving speed.adtechcn.limit D4: Servo alarm D5: Emergency stop D6: Z phase signal arrives in advance Return value 0:correct 1:wrong Moving parameter settings The values of the following parameters are not fixed when the motion card is initialized. int *status. int axis .limit D2: LMT+ limit D3: LMT. Function Set the value of start velocity Parameter cardno axis value Return value Notice in ADT-8920A1、ADT-8940A1、 ADT8960A1 these cards.int *value) Function Get the writable status of continuous interpolation Parameter cardno value card number Index of writing status 0: Unwritable Return value Notice If the driving is stopped. Driving speed setting int set_speed(int cardno. 1: Error) Return value 0:correct 1:wrong Get back-to-home error int get_home_error(int cardno.long value).int axis. 1: moving) err Whether error occurs (0:Normal. int *status) Function Get the status of position lock Parameter cardno card number axis axis number status Return value Lock status (0: unlocked.000) Start velocity is the velocity when the driving starts. Threrfore.int axis. Function setting actual position counter Parameter Cardno axis value Return value Notice You can access the actual position counter in real time card number axis number range(-2147483648~+2147483647) 0:correct 1:wrong Notice You can access the logical position counter in real time Actual position counter setting .int axis. The acceleration is: 100*125* (8000000/80000) =1250000 PPS/SEC set input/output int set_io_mode(int cardno. if the speed is changed in acceleration area or deceleration area in the continuous driving process of S-curve acceleration/deceleration. the range is 800000 and magnification M=8000000/800000=10 set_acc(0.000) This is the acceleration and deceleration parameter in linear acceleration/deceleration driving.long value).the range value is (1-32. Function Set the value of logical position counter Parameter Cardno axis value Return value card number axis number range(-2147483648~+2147483647) 0:correct 1:wrong Acceleration setting int set_acc(int cardno.ADT-series Servo/Stepping Motion Card cardno axis value Return value Notice in ADT-8920A1、ADT-8940A1、 ADT8960A1 these cards.long value). The set acceleration value is A and the actual acceleration is: Actual acceleration (PPS/SEC) = A*125*M = A*125*(8000000/R) The range of acceleration value is 1~8. Function: set input/output bit Parameter: 64 http://www.int v2).int axis.000.1. If the setting is as follow: set_range(0. the acceleration and deceleration increase linearly from 0 to set acceleration value.100). In S-curve acceleration/deceleration driving. the dragging driving in start velocity will probably occur in the deceleration at the end of output pulse. Driving speed is the speed that reaches constant speed area in the moving process. Please change the speed in constant speed area In the quantitative pulse driving of linear acceleration/deceleration.1.int axis. Logical position counter setting int set_command_pos(int cardno.int v1. you can’t run correct S-curve.adtechcn. you can change the driving speed in real time. You can’t change the driving speed in the quantitative pulse driving process of S-curve acceleration/deceleration.000).000.com card number axis number range(1-8000) 0:correct 1:wrong card number axis number range(1-8000) 0:correct 1:wrong int set_actual_pos(int cardno. Besides. The driving speed should be no lower than start velocity in principle.80000). The driving speed is V and the actual value of driving speed is: actual value of driving speed (PPS) = V*M = V*(8000000/R) In ladder acceleration/deceleration or constant speed moving process.the range value is (1-2. Function Set the value of acceleration Parameter cardno axis value Return value Notice in ADT-8920A1、ADT-8940A1、 ADT8960A1 these cards. if the driving speed si changed frequently.long value). Do not change the Range setting int set_range(int cardno.long value). Step 2: Calculate range (R) according to magnification: R = 8000000/M.int axis.long lspd. In a word.int axis. the speed may jump. then. the formula to calculate M is: M = 8000000/R. If magnification is increased. acceleration/deceleration and change rate of acceleration/deceleration. Function Set the change rate of acceleration/deceleration Parameter cardno axis value Return value Notice card number axis number range(1-65535) 0:correct 1:wrong Set symmetric acceleration/deceleration Int set_symmetry_speed(int cardno. If the range is R. M = 40*1000/8000 = 5 and R = 8000000/5 = 1600000.adtechcn.long vacc. If 65 http://www. The range of R is 8000000-16000 and corresponding rate is 1-500. you need to set the range and adjust the magnification. Function set range Parameter Cardno axis value Return value Notice Range is the rate parameter that determines the speed.long hspd. .int mode). For example: if required maximum speed is 40KPPS.double tacc. the actual speed and acceleration/deceleration can be increased in same scale. otherwise. Set the change rate of acceleration/deceleration int set_acac(int cardno. Therefore. To calculate the range: Step 1: Calculate the magnification (M) according to estimated maximum actual speed (Vmax) M=Vmax/8000 (8000 is the maximum speed). acceleration and change rate of acceleration/deceleration. You’d better set the range in the process of system initialization. inialization speed and acceleration/deceleration is 1~8000. Function Set the value of symmetric acceleration/deceleration Parameter cardno axis lspd hspd tacc vacc mode (0: trapezoid 1: S-curve) Return value 0:correct 1:wrong Notice This function is composed of the function that sets acceleration/deceleration mode and the functions that set start velocity. the setting of card number axis number Start speed Driving speed Acceleration time Acceleration change rate Acceleration mode reasonable range is the premise to get ideal actual speed curve.long value). driving speed. In engineering practice. actual speed = set value of speed * magnification. it is recommended that you set minimum value for magnification and maximum value for range within stated range of actual speed.ADT-series Servo/Stepping Motion Card v1 0:define the first 8 bit as input 1: define the first 8 bit as output v2 0: define the last 8 bit as input 1: define the last 8 bit as output Return value 0:correct 1:wrong required actual speed or acceleration/deceleration is higher than 8000. The effective range of driving speed.com card number axis number R.value range(8000000-16000) 0:correct 1:wrong range in the moving process.int axis. but the resolution of speed and acceleration/deceleration becomes rough. Note: In ADT-8920A1、ADT-8940A1、 ADT-8960A1 these card no range function. Then. acceleration/deceleration change rate is 100. Manual deceleration point = output pulses – pulses consumed by deceleration Software limit setting int set_soft_limit (int cardno. If the setting is as follow: set_range(0.int axis.535. Function Set the value of COMP+ register Parameter cardno axis value card number axis number range value (-2147483648~+2147483647) Return value Notice You can access the COMP+ register in real time COMP+ register setting int set_comp2(int cardno.1.1.long value).int axis.com card number axis number D-value(1-8000) 0:correct 1:wrong Manual deceleration point setting int set_dec_pos(int cardno. If the value of acceleration/deceleration change rate is K.800000).long value).100).int axis.1. the actual change rate of acceleration/deceleration is (62500000/100)*10=6250000 PPS/SEC2 Deceleration setting int set_dec(int cardno.000. If the setting is as follow: set_range(0.long value1. Function Set the value of manual deceleration point Parameter cardno axis value Return value Notice If manual deceleration mode is used.register in real time 0:correct 1:wrong 0:correct 1:wrong PPS/SEC .int axis. the range is 800000 and magnification M=8000000/800000=10 set_dec(0. the range is 800000 and magnification M=8000000/800000=10 set_acac(0.int axis. you need to set manual deceleration point first.long value). In S-curve acceleration/deceleration driving. Function Set the value of COMP.adtechcn. Function Set the value of acceleration Parameter cardno axis value Return value Notice It is the deceleration parameter in linear acceleration/deceleration driving in acceleration/deceleration fixed mode. Function card number axis number range(0~268435455) 0:correct 1:wrong COMP+ register setting int set_comp1(int cardno.register Parameter cardno axis value card number axis number range value (-2147483648~+2147483647) Return value Notice You can access the COMP.ADT-series Servo/Stepping Motion Card The change rate of acceleration/deceleration is the parameter that determines the change rate of acceleration and deceleration of S-curve acceleration/deceleration in unit time.80000).1. The deceleration value is D and the actual deceleration is: Actual deceleration (PPS/SEC) = D*125*M=D*125*(8000000/R) The range of deceleration value D is 1~8. long value2). the actual value V (PPS/SEC2) of acceleration/deceleration change rate is V = (62500000/K)*M = (62500000/K)*(8000000/R). The range of acceleration/deceleration change rate is 1~65. the deceleration increases linearly from 0 to set deceleration value.100). The deceleration is: 100*125* (8000000/80000) =1250000 66 http://www.long value). 1: negative) Direction approaching stop0 (0: positive.long lspd. 1:high level stop.int axis.int dir0. acceleration. Get the logical position of axes int get_command_pos(int cardno. int logical1.-1:invalid) offset dir0 dir1 dir2 offsetdir Offset symbol(0: do not offset from home. int logical2. 1:high level stop.ADT-series Servo/Stepping Motion Card Set the value of software limit Parameter cardno axis value1 value2 Return value Notice This function is encapsulated by COMP+ and COMPSet linear speed mode int set_vector_speed(int cardno.int logical0. Function Linear speed mode setting Parameter cardno card number mode Speed mode (0: do not use constant linear speed. 1: offset from home) Direction approaching stop0 (0: positive. int mode).-1: invalid) logical1 stop1 electricity level logic (0:low level stop. 1:high level stop.long pulse). Function Set back-to-home mode of appointed axis Parameter cardno card number axis axis number speed Low speed (this value should be lower than start velocity of high speed) logical0 stop0 electricity level logic (0:low level stop. coder feedback value) card number axis number index of logical position 0:correct 1:wrong .double tacc.double tdec. Function Set the value of asymmetric acceleration/deceleration Parameter cardno card number axis lspd hspd tacc tdec vacc mode axis number Start speed Driving speed Acceleration time deceleration time Acceleration change rate Acceleration mode (0: trapezoid 1: S-curve) Return value 0:correct 1:wrong Notice This function is composed of the function that sets acceleration/deceleration mode and the functions that set start velocity.int clear. driving speed. Set back-to-home mode int set_home_mode(int cardno.-1:invalid) logical2 stop2 electricity level logic (0:low level stop.int offset.int offsetdir. 1: No) pulse Offset pulses Return value 0:correct 1:wrong Set asymmetric acceleration/deceleration int set_unsymmetry_speed(int cardno. 1: negative) Direction approaching stop0 (0: positive.com card number axis number Positive limit value negative limit value 0:correct 1:wrong negative) clear Clear counter? (0: Yes.long hspd. Moving parameter checking The following functions can be invoked at any moment.long speed.int mode). int axis. Get the actual position of axes (i.long *pos).int axis. Function Get the logical position of axes Parameter cardno axis pos Return value Notice You can use this function to get the logical position of axes and it can represent the current position of axes if the motor is not out of step. int dir2. 1: use constant linear speed) Return value 0:correct 1:wrong Notice Linear speed indicates vector speed. int dir1. deceleration and change rate of acceleration/deceleration. 1: 67 http://www.e. 1: negative) Offset direction (0: positive.adtechcn. Constant linear speed can guarantee the constant combination speed in interpolation.long vacc. long *speed). Function Get the actual position of axis Parameter cardno axis pos Return value Notice You can use this function to get the actual position of axes and you can get the current position of axes even if the motor is out of step.int axis).adtechcn.int axis1.int axis.long 68 http://www. Get lock position int get_lock_position(int cardno.int axis2. Two axes linear interpolation int inp_move2(int cardno. Function Get the current driving speed of axes Parameter cardno axis speed Return value Notice *(8000000/R) Value of actual speed = Getting speed*M = Getting speed*(8000000/R) Get the current acceleration of axes int get_ad(int cardno. Function Stop current driving process in deceleration Parameter cardno axis Return value Notice This command is decelerated stop in acceleration/deceleration driving process and sudden stop in constant speed driving process. Function Get the current acceleration of axes Parameter cardno axis ad Return value card number axis number Index of current acceleration 0:correct 1:wrong card number axis number Index of current driving speed 0:correct 1:wrong Decelerated stop int dec_stop(int cardno. Function Get the latest lock position Parameter cardno card number axis axis number pos Return value Locked position 0:correct 1:wrong Library function version checking Get the version of library function int get_lib_version(int cardno).long *pos). Sudden stop int sudden_stop(int cardno.int axis.com card number axis number 0:correct 1:wrong card number axis number 0:correct 1:wrong card number axis number index of actual position 0:correct 1:wrong Return value Version number of library function Basic driving Quantitative driving int pmove(int cardno.int axis. Function Stop current driving process immediately Parameter cardno axis Return value Notice Stop pulse output immediately in acceleration/deceleration and constant speed driving process.long *pos).int axis).long pulse); Function Single axis quantitative driving Parameter cardno axis pulse card number axis number output pulses >0: Positive 0:correct <0: Negative 1:wrong range(-268435455~+268435455) Return value Notice You need to set valid speed parameter before writing driving command. Function: Get the version number of library function .int axis.ADT-series Servo/Stepping Motion Card int get_actual_pos(int cardno. Get the current driving speed of axes int get_speed(int cardno.long *ad).int axis. long pulse2). range(-8388608~+8388607) Return value 0:correct 1:wrong range(-8388608~+8388607) Return value Notice The interpolation speed takes the speed of the axis with smaller axis number between axis1 and axis2 as the standard.long pulse1.long pulse1.long pulse5.pulse2.axis2 pulse1.axis2. Function Two axes linear interpolation Parameter cardno axis1.int axis.long pulse5) 69 You need to set valid speed parameter before writing driving command. Manual quantitative driving http://www.long pulse2.axis3.com .pulse2.pulse2.axis and 4-axis SR doesn’t normally stop. Un-normal stop means stop order is used or takes place limited operation during drive.long pulse2.int axis3.pulse2.long pulse1.pulse4.pulse4 0:correct card number axis number Moving distance 1:wrong 0:correct 1:wrong Return value Notice When 3.int axis4.int axis4.int axis2.ADT-series Servo/Stepping Motion Card pulse1.int axis1.pulse2 card number axis number Moving distance 1:wrong Six axes linear interpolation Int inp_move6(int cardno. four axes linear interpolation int inp_move4(int cardno. Function Threeaxes linear interpolation Parameter cardno axis1.long pulse3). range(-8388608~+8388607) Return value 0:correct 1:wrong Delete interpolation error int inp_clear(int cardno).pulse3 Moving distance range(-8388608~+8388607) Return value Notice The interpolation speed takes the speed of the axis with smaller axis number between axis1.pulse5 Moving distance.axis3.long pulse1. 2-axix has no need using Continuous driving int continue_move(int cardno.pulse6 Moving distance.pulse5.long pulse2.axis2.pulse3.axis5 pulse1. axis2 and axis3 as the standard.long pulse6) Function: Three axes linear interpolation int inp_move3(int cardno.int axis3.axis4.long pulse3.long pulse3.int axis2.adtechcn.long pulse4. 0:correct Function: five axes linear interpolation Parameter: cardno card number axis number axis1. Z and W are always under driving status and need making them normal with the functions above. int axis1.int axis3.int axis1.pulse4.long pulse2.int axis2. int axis5.axis2.pulse3.axis3 card number axis number Six axes linear interpolation Parameter: cardno card number pulse1.long pulse3.pulse3.int dir); Function Single axis continuous driving Parameter cardno axis dir card number axis number Driving direction 0: Positive 1: Negative Return value Notice 0:correct 1:wrong range(-8388608~+8388607) Return value Five axes linear interpolation int inp_move5(int cardno. cardno card number 0:correct 1:wrong pulse1.long pulse4) Function: four axes linear interpolation Parameter: cardno axis1.long pulse4.axis4 pulse1. CCW arc interpolation int inp_ccw_arc(int cardno.y card number Parameter Cardno x. the trigger signal isn’t valid even if it drops to low electricity level. the trigger signal isn’t valid even if it drops to low electricity level. Manual continuous driving int manual_continue(int cardno. Function Disable manual driving function Parameter cardno card number axis axis number Return value 0:correct 1:wrong Notice If this function is used. (2) In the driving process. int axis). Function Enable deceleration of interpolation Parameter cardno Return value card number 0:correct 1:wrong 0:correct 1:wrong .long j). Disable manual driving int manual_disable(int cardno.int axis2.long y. Function Two axes CW arc interpolation 70 http://www.long x.axis2 interpolation (relative to start point) range(-8388608~+8388607) i. the quantitative driving can be triggered when external signal (trigger signal) drops to low electricity level. (3) The trigger signal may be triggered with handwheel or normal switch. the axis won’t move even if there is manual trigger signal as long as manual quantitative driving and manual continuous driving instructions are not invoked CW arc interpolation int inp_cw_arc(int cardno.int axis1. long pulse). int axis).int axis2.int axis1. (3) The trigger signal may be triggered with handwheel or normal switch.j Circle center position of arc interpolation (relative to start point) range(-8388608~+8388607) Return value 0:correct 1:wrong axis number End point position of arc interpolation (relative to start point) range(-8388608~+8388607) Circle center position of arc interpolation (relative to start point) range(-8388608~+8388607) Return value Notice The interpolation speed takes the speed of the axis with smaller axis number between axis1 and axis2 as the standard Enable interpolation deceleration int inp_dec_enable(int cardno).com Disable interpolation deceleration int inp_dec_disable(int cardno). int axis.ADT-series Servo/Stepping Motion Card int manual_pmove(int cardno. Function Quantitative driving of external signals Parameter cardno card number axis axis number pulse pulse Return value 0:correct 1:wrong Notice (1) After the command is sent.adtechcn.axis2 x.long x.long j). Function continuous driving of external signals Parameter cardno card number axis axis number Return value 0:correct 1:wrong Notice (1) After the command is sent.long i.j Notice The interpolation speed takes the speed of the axis with smaller axis number between axis1 and axis2 as the standard. (2) In the driving process.long i.y card number axis number End point position of arc axis1.long y. the quantitative driving can be triggered when external signal (trigger signal) drops to low electricity level. Function Disable deceleration of interpolation Parameter i. Function Two axes CCW arc interpolation Parameter cardno axis1. long pulse3).cardno Return value Notice card number 0:correct 1:wrong ADT-series Servo/Stepping Motion Card Set the data of three axes command stepping interpolation. See the following card number axis number1 axis number2 axis number3 moving distance of axis1 moving distance of axis2 moving distance of axis3 0:correct 1:wrong Command stepping interpolation driving int inp_step_move(int cardno). Parameter cardno mode card number stop mode (0:sudden stop 0:correct 1:wrong 0:correct 1:wrong interpolation.long pulse1.int axis1. Stop single axis int stop_axis(int cardno.int axis1.long pulse2).int axis3.int axis. Function Set the data of three axes stepping interpolation.int axis1.long pulse2.long pulse2).long pulse1.int axis1.int mode).int axis2.int axis2.long pulse1. Parameter cardno card number Return value 0:correct 1:wrong Notice When you execute two axes or three axes command type stepping interpolation in single step.int axis2. Function Set the data of two axes signal type stepping interpolation Parameter cardno card number axis1 axis number1 axis2 axis number2 pulse1 pulse2 Return value moving distance of axis1 moving distance of axis2 0:correct 1:wrong 1:decelerated stop) Return value Command type two axes stepping interpolation Int inp_step_command2(int cardno. Function Execute command stepping interpolation in single step. you can sned this command consecutively to execute stepping interpolation consecutively.long pulse1. Function Stop the moving of all axes of appointed card in set mode. Parameter cardno axis1 axis2 axis3 pulse1 pulse2 pulse3 Return value This function and previous function are used in interpolation of acceleration/deceleration. Parameter cardno axis mode card number axis number stop mode(0:sudden stop 1:decelerated stop) Return value Stop all axes int stop_all(int cardno.int mode).adtechcn. Signal type two axes stepping interpolation int inp_step_signal2(int cardno. Parameter cardno card number axis1 axis number1 axis2 pulse1 pulse2 Return value axis number2 Moving distance of axis1 Moving distance of axis2 0:correct 1:wrong Signal type three axes stepping interpolation int inp_step_signal3(int cardno. Select Enable for single interpolation and select Disable at first and then select Enable at the last point for continuous examples. Function Stop the moving of singl axis in set mode. Function . Parameter cardno card number axis1 axis number1 71 http://www.long pulse2.int axis3.int axis2.com Command type three axes stepping interpolation int inp_step_command3(int cardno. Function Set the data of two axes command stepping interpolation.long pulse3). int axis).long . int axis.ADT-series Servo/Stepping Motion Card axis2 axis3 pulse1 pulse2 pulse3 Return value Notice Stepping interpolation can be triggered when stepping interpolation signal is in low electricity level. Function When the IN signal of active axis is changed into set logic. 1: appointed pulse) 0:correct 1:wrong Return value Signal type three axes follow moving setting int set_in_move3(int cardno.long pulse.int logical. Automatic back-to-home int home(int cardno. Function Appointed axis executes back-to-home motion automatically. The motion of active axis 72 http://www. Parameter cardno card number axis axis number Return value Notice Once the stepping interpolation driving is started. Function When the IN signal of active axis is changed into set logic.long pulse2.int axis2. Clear back-to-home error int clear_home_error (int cardno. 1: high) Running status of active axis (0:persistent.int axis.com Synchronized function setting Signal type single axis follow moving setting int set_in_move1(int cardno. Function When the IN signal of active axis is changed into set logic. Function Clear back-to-home error Parameter cardno card number axis axis number Return value 0:correct 1:wrong mode 0:correct 1:wrong 0:correct 1:wrong axis number2 axis number3 moving distance of axis1 moving distance of axis2 moving distance of axis3 0:correct 1:wrong pulse. Function Stop executing stepping interpolation. the driven axis1.int axis3. the driven axis1 and axis2 follow to move.int axis1. the driving is always active state before it is stopped normally. you need to use stepping interpolation stop command. int axis ).int mode). int axis1. The motion of active axis depends on set mode Parameter cardno axis axis1 axis2 pulse pulse1 pulse2 logical card number Active axis number Driven axis number1 Driven axis number2 Active axis pulses Driven axis1 pulses Driven axis2 pulses Electricity level logic of IN signal (0: low.long pulse1.long pulse2.long pulse.int logical.int mode). 1: appointed pulse) Return value 0:correct 1:wrong Signal type two axes follow moving setting int set_in_move2(int cardno. int axis. 1: high) Running status of active axis (0:persistent. int axis1. axis2 and axis3 follow to move.long pulse1. Parameter cardno card number axis Active axis number axis1 pulse pulse1 logical mode Driven axis number1 Active axis pulses Driven axis1 pulses Electricity level logic of IN signal (0: low.int logical. rather than sudden or decelerated stop.long pulse3.int mode). The motion of active axis depends on set mode.long pulse1. Stop stepping interpolation int inp_step_stop(int cardno.adtechcn.int axis2. To stop stepping interpolation moving in advance.int axis). Parameter cardno card number axis axis number Return value Notice You need to select valid mode before using automatic back-to-home function. the driven axis1 follows to move. Parameter cardno card number axis Active axis number axis1 axis2 axis3 pulse pulse1 pulse2 pulse3 logical mode Driven axis number1 Driven axis number2 Driven axis number3 Active axis pulses Driven axis1 pulses Driven axis2 pulses Driven axis3 pulses Electricity level logic of IN signal (0: low. Function When active axis reaches appointed position.long pulse2. Function When the IN signal of active axis is changed into set logic. int axis.int mode). 1: appointed pulse) Return value 0:correct 1:wrong Signal type single axis follow stopping setting int set_in_stop1(int cardno. the driven axis1 and axis2 stop immediately. int axis.1: persistent) Return value 0:correct 1:wrong Signal type three axes follow stopping setting int set_in_stop3(int cardno.int axis2.adtechcn. long pulse1.int axis.1:high level) mode Running status of active axis (0:stop. 1: appointed pulse) Return value 0:correct 1:wrong Position comparison single axis follow moving setting int set_comp_pmove1(int cardno. int axis1. int axis. int term).int mode). int regi. The motion of active axis depends on set mode. Parameter cardno card number axis Active axis number axis1 logical mode Driven axis number1 Electricity level logic of IN signal (0: low. Parameter cardno card number axis Active axis number axis1 pulse pulse1 regi Driven axis number1 Active axis pulses Signal type two axes follow stopping setting int set_in_stop2(int cardno.axis2. Parameter cardno card number axis Active axis number axis1 axis2 logical Driven axis number1 Driven axis number2 Electricity level logic of IN signal 73 Driven axis1 pulses Comparison register type (0:comp+. Parameter cardno card number axis Active axis number logical mode Electricity level logic of IN signal (0: low.com . 1: high) Running status of active axis (0:persistent. int axis1. long pulse.int axis1. 1: high) Running status of active axis (0:persistent. Function When the IN signal of active axis is changed into set logic. long pulse1. The motion of active axis depends on set mode. Function When the IN signal of active axis is changed into set logic. 1: high) Running status of active axis (0:persistent.ADT-series Servo/Stepping Motion Card depends on set mode.1:comp-) term Relational operator (0:>=. Function When active axis reaches appointed position. long pulse. int axis.int logical. the other three axes stop immediately. the driven axis1 stops immediately.int logical. The motion of active axis depends on set mode. Parameter cardno card number axis Active axis number http://www. driven axis1 and axis2 move immediately. int axis1. driven axis1 moves immediately. int term).int mode). 1: appointed pulse) Return value 0:correct 1:wrong (0:low level. int regi.1:<) Return value 0:correct 1:wrong Position comparison two axes follow moving setting int set_comp_pmove2(int cardno.int logical. int regi. Function When active axis reaches appointed position. These functions mainly http://www.adtechcn. driven axis1. The motion of active axis depends on set mode. Position comparison single axis stop setting int set_comp_stop1(int cardno. driven axis1. int axis1.1:<) Running status of active axis (0:persistent. int regi. long pulse.1:<) Return value 0:correct 1:wrong Position comparison three axes follow moving setting int set_comp_pmove3(int cardno.ADT-series Servo/Stepping Motion Card axis1 axis2 pulse pulse1 pulse2 regi Driven axis number1 Driven axis number2 Active axis pulses Driven axis1 pulses pulse regi term mode Active axis pulses Comparison register type (0:comp+. Function When active axis reaches appointed position.com . 1:stop) Return value 0:correct 1:wrong Composite driving To provide convenience for the customers.1:comp-) Relational operator (0:>=. 1:stop) Return value 0:correct 1:wrong Driven axis2 pulses Comparison register type (0:comp+. driven axis1 and axis2 move immediately. int axis. Function When active axis reaches appointed position. Parameter cardno card number axis Active axis number axis1 axis2 pulse regi term mode Driven axis number1 Driven axis number2 Active axis pulses Comparison register type (0:comp+. Parameter cardno card number axis Active axis number axis1 axis2 axis3 pulse pulse1 pulse2 pulse3 regi term Return value Notice Position comparison driving is to compare the current position (logical and actual) of active axis with comparison register.1:comp-) Relational operator (0:>=. The motion of active axis depends on set mode. the driven axis will run appointed pulses immediately.int mode). 1:stop) Return value 0:correct 1:wrong Position comparison three axes stop setting int set_comp_stop3(int cardno. long pulse. int term).int mode). driven axis1 moves immediately. axis2 and axis3 move immediately.int axis2. If they satisfy the condition of relational operator.1:comp-) term Relational operator (0:>=. int regi. int term. Parameter cardno card number axis Active axis number pulse regi term mode Active axis pulses Comparison register type (0:comp+. Function When active axis reaches appointed position. long pulse.int axis.1:<) Running status of active axis (0:persistent. int term.axis2. axis2 and axis3 move immediately. int regi.long pulse3. long pulse. int term.int axis3.1:<) Running status of active axis (0:persistent.int axis1. we encapsulated composite driving functions in the basic library functions.1:<) 0:correct 1:wrong Position comparison two axes stop setting int set_comp_stop2(int cardno.long pulse1.1:comp-) Relational operator (0:>=. int axis. int axis1.int mode).1:comp-) Relational operator (0:>=. The motion of active axis depends on set mode Parameter cardno card number axis Active axis number axis1 Driven axis number1 74 Driven axis number1 Driven axis number2 Driven axis number3 Active axis pulses Driven axis1 pulses Driven axis2 pulses Driven axis3 pulses Comparison register type (0:comp+. int axis.long pulse2. Function Refer to current position and perform linear interpolation in symmetric acceleration/deceleration.adtechcn. Function Refer to current position and perform linear interpolation in symmetric acceleration/deceleration. int axis2. 1: S-curve) Return value 0:correct 1:wrong Three axes symmetric linear interpolation relative moving int symmetry_relative_line3(int cardno. 1: S-curve) Return value 0:correct 1:wrong Three axes symmetric linear interpolation absolute moving int symmetry_absolute_line3(int cardno. int axis1. long vacc. double tacc. int axis2. long vacc. Parameter cardno card number axis1 axis number1 axis2 axis number2 axis3 axis number3 pulse1 axis1 pulse pulse2 axis2 pulse pulse3 axis3 pulse lspd low speed hspd high speed tacc acceleration time (unit: second) vacc change rate of acceleration mode mode (0: trapezoid. Function Refer to current position and perform quantitative motion in symmetric acceleration/deceleration. long lspd . double tacc. int mode). 1: S-curve) Return value 0:correct 1:wrong Two axes symmetric linear interpolation absolute moving int symmetry_absolute_line2(int cardno. long vacc. int mode) . long lspd . long pulse2.long hspd.long hspd. long lspd .long hspd. long pulse. long pulse1. int mode). long vacc. int mode) . int axis1. Parameter cardno card number axis axis number pulse pulse lspd low speed hspd high speed tacc acceleration time (unit: second) vacc change rate of acceleration mode mode (0: trapezoid.long pulse1. Single axis symmetric relative moving int symmetry_relative_move(int cardno. long lspd . speed parameter setting and motion functions. long pulse2. Parameter cardno card number axis1 axis number1 axis2 axis number2 pulse1 axis1 pulse pulse2 axis2 pulse lspd low speed hspd high speed tacc acceleration time (unit: second) vacc Change rate of acceleration mode Mode (0: trapezoid. long pulse3. double tacc. int axis.long hspd. long vacc. Parameter cardno card number axis1 axis number1 axis2 axis number2 75 ADT-series Servo/Stepping Motion Card pulse1 axis1 pulse pulse2 axis2 pulse lspd low speed hspd high speed tacc acceleration time (unit: second) vacc change rate of acceleration mode mode (0: trapezoid. double tacc. int http://www. long pulse. 1: S-curve) Return value 0:correct 1:wrong Two axes symmetric linear interpolation relative moving int symmetry_relative_line2(int cardno.integrate speed mode setting. while absolute motion and relative motion are also considered.long hspd. int axis3.long pulse1. int mode). int axis. Function Refer to the position of zero point and perform linear interpolation in symmetric acceleration/deceleration. Parameter cardno card number axis axis number pulse pulse lspd low speed hspd high speed tacc acceleration time (unit: second) vacc Change rate of acceleration mode Mode (0: trapezoid. Function Refer to the position of zero point and perform quantitative motion in symmetric acceleration/deceleration. long lspd . long pulse2. double tacc. int axis1. int axis1. int axis2.com . 1: S-curve) Return value 0:correct 1:wrong Single axis symmetric absolute moving int symmetry_absolute_move(int cardno. counterclockwise) lspd low speed hspd high speed tacc acceleration time (unit: second) vacc change rate of acceleration mode mode (0: trapezoid. int dir. Parameter cardno card number axis1 axis number1 axis2 axis number2 76 ADT-series Servo/Stepping Motion Card arc end point coordinates (refer to zero point) i.long hspd. int axis1. long x. double tacc. long lspd . Parameter cardno card number axis1 axis number1 axis2 axis number2 axis3 axis number3 pulse1 axis1 pulse pulse2 axis2 pulse pulse3 axis3 pulse lspd low speed hspd high speed tacc acceleration time (unit: second) vacc change rate of acceleration mode mode (0: trapezoid. long pulse2. long vacc. long pulse2.clockwise. 1: S-curve) Return value 0:correct 1:wrong x. int dir. Function Refer to the position of zero point and perform linear interpolation in symmetric acceleration/deceleration. long pulse1. y arc end point coordinates (refer to zero point) i.long hspd.com . long j. long pulse1. int mode). double tacc. long pulse4. long pulse3.long hspd. 1: S-curve) Return value 0:correct 1:wrong Two axes symmetric arc interpolation relative moving int symmetry_relative_arc(int cardno. long lspd . long pulse3. y Four axes linear interpolation relative moving int symmetry_relative_line4(int cardno.long hspd. double tacc. Function Refer to current position and perform arc interpolation in symmetric A/D Parameter cardno card number axis1 axis number1 axis2 axis number2 x. j circle center coordinates (refer to zero point) dir moving direction (0. int mode). long vacc. long pulse4. int axis. Function Refer to current position and perform quantitative motion in asymmetric A/D Parameter cardno card number http://www. int axis1. long lspd . long i.axis2. long lspd . Function Refer to the position of zero point and perform arc interpolation in symmetric acceleration/deceleration. 1. Function Refer to the position of zero point and perform linear interpolation in symmetric A/D. long j. long lspd . double tacc.long hspd. Function Refer to current position and perform linear interpolation in symmetric A/D. long pulse. double tacc).long hspd. Parameter cardno card number pulse1 axis1 pulse pulse2 axis2 pulse pulse3 axis3 pulse pulse4 axis3 pulse lspd low speed hspd high speed tacc acceleration time (unit: second) Return value 0:correct 1:wrong Four axes linear interpolation absolute moving int symmetry_absolute_line4(int cardno. long vacc.adtechcn. long x.counterclockwise) lspd low speed hspd high speed tacc acceleration time (unit: second) vacc change rate of acceleration mode mode (0: trapezoid. int axis2. int mode). Parameter cardno card number pulse1 axis1 pulse pulse2 axis2 pulse pulse3 axis3 pulse pulse4 axis3 pulse lspd low speed hspd high speed tacc acceleration time (unit: second) Return value 0:correct 1:wrong Single axis asymmetric relative moving int unsymmetry_relative_move (int cardno. long pulse3. 1.long lspd . long pulse2. double tacc). long y. int axis3. long i. double tdec. long y. int mode). long vacc. int axis2. j circle center coordinates (refer to zero point) dir moving direction (0.clockwise. long pulse1. 1: S-curve) Return value 0:correct 1:wrong Two axes symmetric arc interpolation absolute moving int symmetry_absolute_arc(int cardno. long lspd . int axis2.double tacc. double tdec. long vacc. 1: S-curve) Return value 0:correct 1:wrong Three axes asymmetric linear interpolation absolute moving int unsymmetry_absolute_line3(int cardno. double tacc.long hspd. Function Refer to current position and perform linear interpolation in symmetric A/D. 1: S-curve) Return value 0:correct 1:wrong Two axes asymmetric linear interpolation absolute moving int unsymmetry_absolute_line2 (int cardno.long hspd. double tacc. Parameter cardno card number axis axis number pulse axis pulse lspd low speed hspd high speed tacc acceleration time (unit: second) tdec deceleration time (unit: second) vacc change rate of acceleration mode mode (0: ladder. long pulse1. long lspd . int mode). int axis1. long vacc.long hspd. int axis1.long pulse2. long pulse1.double tdec. int axis2. int axis. Parameter cardno card number axis1 axis number1 axis2 axis number2 axis3 axis number3 pulse1 axis1 pulse pulse2 axis2 pulse pulse3 axis3 pulse lspd low speed hspd high speed tacc acceleration time (unit: second) tdec deceleration time (unit: second) vacc change rate of acceleration mode mode (0: ladder. long pulse3. Parameter cardno card number axis1 axis number1 axis2 axis number2 axis3 axis number3 pulse1 axis1 pulse pulse2 axis2 pulse pulse3 axis3 pulse lspd low speed hspd high speed tacc acceleration time (unit: second) 77 http://www. 1: S-curve) 0:correct 1:wrong linear interpolation in symmetric A/D.long pulse3. Function Refer to current position and perform linear interpolation in symmetric A/D.int axis2. Function Refer to the position of zero point and perform linear interpolation in symmetric A/D. long pulse.double tacc.long pulse1.ADT-series Servo/Stepping Motion Card axis pulse lspd hspd tacc tdec vacc mode Return value axis number axis pulse low speed high speed acceleration time (unit: second) deceleration time (unit: second) change rate of acceleration mode (0: ladder. 1: S-curve) Return value 0:correct 1:wrong Three axes asymmetric linear interpolation relative moving int unsymmetry_relative_line3(int cardno. Function Refer to the position of zero point and perform quantitative motion in asymmetric A/D.long pulse1. int axis1.long pulse2. int mode). Parameter cardno card number axis1 axis number1 axis2 axis number2 pulse1 axis1 pulse pulse2 axis2 pulse lspd low speed hspd high speed tacc acceleration time (unit: second) tdec deceleration time (unit: second) vacc change rate of acceleration mode mode (0: ladder.int axis3. 1: S-curve) Return value 0:correct 1:wrong Two axes asymmetric linear interpolation relative moving int unsymmetry_relative_line2 (int cardno. long pulse2.long lspd. int mode) . double tdec. int mode) . int mode). double tdec. long pulse2.com Single axis asymmetric absolute moving int unsymmetry_absolute_move (int cardno. Function Refer to the position of zero point and perform .long hspd.adtechcn. long vacc. Parameter cardno card number axis1 axis number1 axis2 axis number2 pulse1 axis1 pulse pulse2 axis2 pulse lspd low speed hspd high speed tacc acceleration time (unit: second) tdec deceleration time (unit: second) vacc change rate of acceleration mode mode (0: ladder. long lspd .double tdec. int axis1. double tacc.long hspd. long lspd . long vacc. int axis2. int axis3. long vacc. long vacc. int axis3. int axis3. long i. int axis2.long lspd . int mode). int axis1. long x. long pulse4.clockwise. j circle center coordinates (refer to zero point) dir moving direction (0. int dir. long j.long hspd. int axis1. y arc end point coordinates (refer to zero point) i. long i. long lspd .long pulse1. double tacc) Function: Refer to current position and perform linear .com Two axes asymmetric arc interpolation relative moving int unsymmetry_relative_arc(int cardno.counterclockwise) lspd low speed hspd high speed tacc acceleration time (unit: second) tdec deceleration time (unit: second) vacc change rate of acceleration mode mode (0: trapezoid.long pulse1. long pulse3. long vacc. long pulse4.int axis5. Parameter cardno card number axis1 axis number1 axis2 axis number2 x.long lspd .int axis5.int axis4.long hspd. long lspd . y arc end point coordinates (refer to zero point) i.int axis4. double tacc) Function: Refer to current position and perform linear . int axis2. long pulse6. Parameter: cardno card number axis1 axis number1 axis2 axis number2 axis3 axis number3 axis4 axis number4 axis5 axis number5 pulse1 axis1 pulse pulse2 axis2 pulse pulse3 axis3 pulse pulse4 axis4 pulse pulse5 axis5 pulse lspd low speed hspd high speed tacc acceleration time (unit: second) Return value 0:correct 1:wrong Six axes linear interpolation relative moving int symmetry_relative_line6(int cardno. 1. int dir. double tacc.long hspd. long pulse3. Parameter cardno card number axis1 axis number1 axis2 axis number2 x. int mode).adtechcn. long x.long hspd. long pulse2.counterclockwise) lspd low speed hspd high speed tacc acceleration time (unit: second) tdec deceleration time (unit: second) vacc change rate of acceleration mode mode (0: trapezoid. Function Refer to current position and perform arc interpolation in asymmetric A/D. 1. double tdec.long pulse5.long lspd .interpolation in symmetric A/D Parameter: cardno card number pulse1 axis1 pulse pulse2 axis2 pulse pulse3 axis3 pulse pulse4 axis4 pulse pulse5 axis5 pulse 78 http://www. long pulse2. Function Refer to the position of zero point and perform arc interpolation in asymmetric A/D. 1: S-curve) Return value 0:correct 1:wrong Five axes linear interpolation relative moving .interpolation in symmetric A/D Parameter: cardno card number axis1 axis number1 axis2 axis number2 axis3 axis number3 axis4 axis number4 axis5 axis number5 pulse1 axis1 pulse pulse2 axis2 pulse pulse3 axis3 pulse pulse4 axis4 pulse pulse5 axis5 pulse lspd low speed hspd high speed tacc acceleration time (unit: second) Return value 0:correct 1:wrong Five axes linear interpolation absolute moving int symmetry_absolute_line5(int cardno.ADT-series Servo/Stepping Motion Card tdec vacc mode Return value deceleration time (unit: second) change rate of acceleration mode (0: ladder.long pulse5. int axis1.clockwise. long y. int axis2.int axis1.long pulse5. int axis2. long pulse4. 1: S-curve) 0:correct 1:wrong int symmetry_relative_line5(int cardno. double tacc.long pulse1. double tdec. long y. long j. j circle center coordinates (refer to zero point) dir moving direction (0. long pulse3. long pulse2.long hspd. 1: S-curve) Return value 0:correct 1:wrong Two axes asymmetric arc interpolation absolute moving int unsymmetry_absolute_arc(int cardno. double tacc) Function: Refer to the position of zero point and perform linear interpolation in symmetric acceleration/deceleration. ADT-series Servo/Stepping Motion Card pulse6 axis6 pulse lspd low speed hspd high speed tacc acceleration time (unit: second) Return value 0:correct 1:wrong Six axes linear interpolation absolute moving int symmetry_absolute_line6(int cardno. long pulse6. long pulse2. Parameter: cardno card number pulse1 axis1 pulse pulse2 axis2 pulse pulse3 axis3 pulse pulse4 axis4 pulse pulse5 axis5 pulse pulse6 axis6 pulse lspd low speed hspd high speed tacc acceleration time (unit: second) Return value 0:correct 1:wrong 36:BSTOP2 38:BALARM 40:CLMT+ 42:CSTOP0 44:CSTOP2 46:CALARM (0-34)meanings are: 0:X LMT2:X STOP0 4:X STOP2 6:Y LMT8:Y STOP0 10:YSTOP2 12:Z LMT14:Z STOP0 16:Z STOP2 18:A LMT20:A STOP0 22:A STOP2 24:X IN 26:Y IN 28:Z IN 30:A IN 32:EXPP 34:EMGN ADT-836 input bit(0-47)meanings are: 0:X LMT+ 2:X STOP2 4:X STOP0 6:X ALARM 8:Y LMT+ 10:Y STOP2 12:YSTOP0 14:Y ALARM 16:Z LMT+ 18:Z STOP2 20:Z STOP0 22:Z ALARM 24:A LMT+ 26:A STOP2 28:A STOP0 30:A ALARM 32:B LMT+ 34:B STOP2 79 http://www.long hspd.adtechcn.long pulse5.long lspd .long pulse1. long pulse4. long pulse3.com 1:X LMT3:X STOP1 5:X INPOS 7:X IN 9:Y LMT11:Y STOP1 13:Y INPOS 15:Y IN 17:Z LMT19:Z STOP1 21:Z INPOS 23:Z IN 25:A LMT27:A STOP1 29:A INPOS 31:A IN 33:B LMT35:B STOP1 1:X LMT+ 3:X STOP1 5:X ALARM 7:Y LMT+ 9:Y STOP1 11:Y ALARM 13:Z LMT+ 15:Z STOP1 17:Z ALARM 19:A LMT+ 21:A STOP1 23:A ALARM 25:X INPOS 27:Y INPOS 29:Z INPOS 31:A INPOS 33:EXPM 37:BINPOS 39:BIN 41:CLMT43:CSTOP1 45:CINPOS 47:CIN ADT-8946A1、ADT-8948A1 input bit Switch quantity input/output Read single input bit int read_bit(int cardno.int number) cardno number Return value card number input bit 0:low level 1:high level -1:wrong input bit meaning are: ADT-856 input bit(0-47)meanings are: 0:XLMT+ 2:XSTOP0 4:XSTOP2 6:XALARM 8:YLMT+ 10:YSTOP0 12:YSTOP2 14:YALARM 16:ZLMT+ 18:ZSTOP0 20:ZSTOP2 22:ZALARM 24:ALMT+ 26:ASTOP0 28:ASTOP2 30:AALARM 32:BLMT+ 34:BSTOP0 1:XLMT3:XSTOP1 5:XINPOS 7:XIN 9:YLMT11:YSTOP1 13:YINPOS 15:YIN 17:ZLMT19:ZSTOP1 21:ZINPOS 23:ZIN 25:ALMT27:ASTOP1 29:AINPOS 31:AIN 33:BLMT35:BSTOP1 . double tacc) Function: Refer to the position of zero point and perform linear interpolation in symmetric acceleration/deceleration. adtechcn. D0:X LMT+ D2:X STOP2 D4:X STOP0 D6:X ALARM D8:Y LMT+ D10:Y STOP2 D12:YSTOP0 D14:Y ALARM D16:Z LMT+ D18:Z STOP2 D20:Z STOP0 D22:Z ALARM D24:A LMT+ D26:A STOP2 D28:A STOP0 D30:A ALARM Return value 0:correct D1:X LMTD3:X STOP1 D5:X INPOS D7:X IN D9:Y LMTD11:Y STOP1 D13:Y INPOS D15:Y IN D17:Z LMTD19:Z STOP1 D21:Z INPOS D23:Z IN D25:A LMTD27:A STOP1 D29:A INPOS D31:A IN 1:wrong ADT-8920A1、ADT-8940A1、 ADT-8960A1 input bit(0-39)meanings are: 0:X LMT2:X STOP0 4:X STOP2 6:Y LMT8:Y STOP0 0:YSTOP2 12:Z LMT14:Z STOP0 16:Z STOP2 18:A LMT20:A STOP0 22:A STOP2 24:X IN 26:Y IN 28:Z IN 30:A IN Output single bit int write_bit(int cardno.unsigned long value) Parameter cardno value card number Output status value the value is in 4 bytes http://www.int value).int number. int number).ADT-series Servo/Stepping Motion Card 36:B STOP0 38:B ALARM 40:C LMT+ 42:C STOP2 44:C STOP0 46:C ALARM are: 0:X LMT+ 2:X STOP2 4:X STOP0 6:X ALARM 8:Y LMT+ 10:Y STOP2 12:YSTOP0 14:Y ALARM 16:Z LMT+ 18:Z STOP2 20:Z STOP0 22:Z ALARM 24:A LMT+ 26:A STOP2 28:A STOP0 30:A ALARM 1:X LMT3:X STOP1 5:X INPOS 7:X IN0 9:Y LMT11:Y STOP1 13:Y INPOS 15:Y IN0 17:Z LMT19:Z STOP1 21:Z INPOS 23:Z IN0 25:A LMT27:A STOP1 29:A INPOS 31:A IN0 37:B INPOS 39:B IN 41:C LMT43:C STOP1 45:C INPOS 47:C IN value Return value cardno number card number output bit(0-31) D0:OUT0 D1:OUT1 …… D31:OUT31 0:low 0:correct 1:high 1:wrong ADT-860、 ADT-864 input bit 0-31) ( meanings Get the status of output bit int get_out(int cardno. Function Get the status of output port Parameter cardno card number number Output bit(0-31) Return value Get the current status of appointed port 0: OFF 1: ON -1: Parameter error Read all switch quantitative output status (ADT-836) int read_di(int cardno. Function Corresponding port performs output operation. Parameter 80 1:X LMT+ 3:X STOP1 5:X ALARM 7:Y LMT+ 9:Y STOP1 11:Y ALARM 13:Z LMT+ 15:Z STOP1 17:Z ALARM 19:A LMT+ 21:A STOP1 23:A ALARM 25:X INPOS 27:Y INPOS 29:Z INPOS 31:A INPOS Setup of all switch quantitative output status int write_do(int cardno.com .unsigned long *value) Parameter cardno value card number index of input status value the value is in 4 bytes D0 is the lowest position and D47 is the highest position.0 is the low level and 1 is the high level. com . D0:OUT0 D1:OUT1 …… D31:OUT31 Return value 0:correct 1:wrong Note: “A/D “meaning is “acceleration/deceleration” 81 http://www.ADT-series Servo/Stepping Motion Card D0 is the lowest position and D31 is the highest position.adtechcn. 0 is the low level and 1 is the high level. VC. (3) Select “Project\Add module” menu and select “Existing” tag in the dialogue box. The invoking methods of functions library in DOS and Windows are introduced below.lib” or “8948dosl.LIB” or “***dos.NET.lib” and “adt***. (4) Add #include “adt***. Note: Use same method to invoke in VC. To invoke functions library in Borland C: (1) In Borland C.lib)” in the file type dialogue box. you can invoke the DLL in the program.h” in “Development kits\BC” in the CD to the directory of new project. Copy the “adt***lib. (3) Select “Project\Add to Project” menu.bas” module file and click “Open”. and then select desired library function in the “Select the VI to Open” window and drag it into the program window. you can invoke the DLL in the program.lib” and “adt***. you can invoke the functions in DLL.Users can control the motion card and perform corresponding functions by invoking interface functions. (3) Right click the mouse in the blank area of the program window and the Functions Palette popup.lib” in the dialogue box. VC. search and select “adt***. then.lib” and then click “OK”.Chapter IX Motion Control Function Library Guide 1. Delphi and configuration software LabVIEW.h” to the declaration part of the program.lib)” in file type.1 and saved in “Development kits\BC” or “Development kits\C” of the CD. The library functions are in large model or huge model.lib” and then click “OK”. Invoking library function in DOS The functions library in DOS is written with Borland C3.dll” in Windows is written with VC and locates in directory “Development kits\Drivers\DLL” in the CD.lib” and “adt***. Invoking DLL in Windows The DLL “adt***. Invoke in C++Builder (1) Create a new project. and then click “Add”. you can invoke the functions in DLL. (2) Copy the “***dosh. It is suitable for standard C and Borland C3. Select “Select a VI. Invoke in LabVIEW 8 (1) Create a new VI.” and select adt***. Then. Introduction of ADT series motion control card functions library ADT8948A1 functions library is actually the interface for users to operate motion card. (3) Select “Project\Add Item” and select “***DOSH. 2. The static library is loaded. (4) Add “#include ‘adt***.bas” in “Development kits\VB” to the directory of new project. Then. .dll” in “Development kits\LabVIEW” to the directory of new project.h’” to the declaration part of source program file or header file or global header file “StdAfx. Invoke in VB (1) (2) Create a new project.llb” and “adt***. Note: Use same method to invoke in VB. (2) Copy the “adt***.llb file in the popup window. (3) In the “File view” of working area of the new project. C++Builder. right click the mouse and select “Add Files to Project”. Then. search the “adt***lib.NET. VB. Then. Common programing tools in Windows are: VB.h”.1 or later. 3.NET. search and select “adt***. select “Project\Open Project” to create a new project. Invoke in VC (1) (2) Create a new project. select “Library Files(.h” in “Development kits\VC” to the directory of new project.NET.h” in “Development kits\C++Builder” to the directory of new project. Copy the “adt***. and select “Library files(*. In the dialogue box. The motion card provides motion functions library in DOS and DLL in Windows.. (2) Copy the “adt***. 4. counting form small to big. the return values of other functions are “0” (normal) and “1” (error) The meanings of return values are introduced in the following table.h’” declaration to the program file.5or 6. The values of card number are 0. Remark:” adt***”meaning is adt856 、 adt8946A1 、 adt8948A1、adt8940A1、adt8960A1、adt8920A1 、adt836、 adt860、adt864. The axis number should be 1. 83 http://www. every library function in the library will return the result after execution.set_address(int cardno. 1 and 2. you can invoke the library functions in the program.long add) and “int read_bit(int cardno. Users can check whether the function is invoked successfully according to the return value. the card number should be 0. int number)”. Then. Return values of library function and their meanings To make sure that users can monitor the normal execution while using library functions. Except “int adt***_initial(void)”. 4. If there is only one card.adtechcn.ADT-series Servo/Stepping Motion Card (4) Add “#include ‘adt***. 2.com . Function name Return value -1 -2 Adt***_initial 0 >0 0 1 read_bit -1 All other functions 0 1 Meaning Port driver isn’t installed PCI slot fault Motion card isn’t installed Quantity of motion cards low level high level Card No. error or input bit exceeding limit Normal Error Note: Return value 1 error is caused by the cardno or axis error in the processs of invoking library functions. 3 . Related functions: set_startv set_speed set_acc set_dec set_ad_mode set_dec1_mode set_dec2_mode (set as linear A/D) (set as asymmetric mode) (set as automatic deceleration) Notice:In ADT-8920A1、 ADT-8940A1 and ADT-4960A1 card there is no this function. The invoking of other functions is effective only when the motion card is initialized with this function. 2.but the actual acceleration result of ADT-8920A1、ADT-8940A1 and ADT-8960A1 is that acceleration function multiplys 250. . If the maximum frequency of X axis is 100K.1. Refer to the following section for common problems. The calculation of acceleration/deceleration has a big influence on the shape of 84 http://www. Then. 640000). Related functions: set_startv set_speed set_acc (Notice:The follow function consist in ADT-8920A1、 ADT-8940A1、ADT-4960A1these card) set_ad_mode acceleration/deceleration) set_dec1_mode set_dec2_mode (set as symmetric mode) (set as automatic deceleration) (set as linear Initialize the card Invoke the adt***_initial() function and set_address()first. Related functions: set_startv set_speed Notice: The actual speed is the result that function value multiplys magnification. you need to set the values of acceleration/deceleration.com Speed setting 2.4 S-curve acceleration/deceleration For certain modes with heavy load. The acceleration time is different from deceleration time and you need to set the value of deceleration. Do not change the R value in the application process unless the minimum frequency can’t satisfy your requirement.adtechcn. Set only once when the program is initialized. the magnification should be 100000/8000=12. and make sure that the ADT8948A1 card has been installed properly.800) Minimum output frequency is 1*12.5=640000.e. 2.1. 2. (Notice:in ADT-8920A1、 ADT-8940A1、 ADT-8960A1 these card no this function.needn’t set range) To output 100K frequency set_speed(cardno. These parameters should be set according to the PC configuration. the maximum value of “set_speed” is 8000. i.3 Asymmetric linear acceleration/deceleration This mode is mainly used in moving objects in vertical direction. In this case.5,the range R should be 8000000/12. set the pulse output mode and working mode of limit switch.5Hz Confirm the R value according to maximum application frequency.1 Constant speed moving The parameter configuration is simple.2 Symmetric linear acceleration/deceleration This is a common used mode and you need to set start speed. You just need to set the driving speed same as start speed. driving speed. set_range(cardno. Notice: The actual acceleration is the result that acceleration function multiplys magnification and then multiplys 125.8000) To output 10K frequency set_speed(cardno. Notice: Library function “adt***_initial” and set_address is the “door” to ADT motion control card.1. The “set_range” function is usually set according to maximum pulse frequency and do not change it after this. S-curve acceleration is used to get better acceleration.ADT-series Servo/Stepping Motion Card Chapter X Key Points of Motion Control Development Most of the problems in the programming of the card are caused by the misunderstanding of the principle of the motion card. The ranges of different axes can be different. acceleration and automatic deceleration.5=12. adtechcn. if the setting is valid. you just need to set the parameter of first axis. Related functions: set_startv set_speed set_acc set_acac set_ad_mode set_dec2_mode (set as S-curve A/D) (set as automatic deceleration) use two STOP signals (one for home switch and the other for deceleration switch). In servo driving process. you need to calculate the manual deceleration point. the setting is complicated but necessary. the actual position counter will be cleared by STOP2 if you use STOP2 signal to stop. Refer to the following examples. Other servo signals. This is suitable for continuous interpolation. Actually. For high speed resetting. many functions are necessary only when the speed and effect requirements are very high. STOP1 and STOP2 signals. because the in-position signal is the symbol to stop driving. it stops in deceleration. it is normal if the actual position isn’t 0 after resetting. Notice: In ADT-8920A1、ADT-8940A1 and ADT-4960A1 card there is no this function. The interpolation is usually driven in constant speed. This is to ensure that the value of the counter is 0 in home position. In this case. The back-to-home mode can use either one signal or several signals. i. you can add one deceleration switch before home switch. If servo in-position signal is activated before it is connected. e.ADT-series Servo/Stepping Motion Card S-curve. If single interpolation is used. The first axis is the axis1 in the interpolation function parameters of basic library function drivings. STOP0. In this case.e. when the machine receives STOP signal. then. However. S-curve interpolation can’t be used in arc interpolation and continuous interpolation. STOP1 and STOP2 signal Every axis has STOP0. there is only acceleration process in the driving. thus the position error occurs. Servo signal Servo in-position signal and servo alarm signal are valid only when the signals have been connected. The interpolation deceleration is disabled by default.g.com .5 manual deceleration Manual deceleration is used only when automatic deceleration can’t be used normally. therefore. The aforesaid settings are to exert the functions of the card. Other motion cards reset the counter with software when the driving is stopped. STOP2 has a special function. moves to opposite direction in constant speed and stops when receives the signal again. These signals are mainly used in back-to-home operation. You can also use one signal only. Therefore.g. the driving won’t be able to stop. can be driven with general output signal.6 Interpolation speed For interpolation speed. Remark: “adt***_initial()” meaning is adt856_initial()、 adt8946_initial()、adt8948_initial()、adt8920_initial()、 adt8940a1_initial()、adt8960_initial().e. acceleration/deceleration driving of arc interpolation and continuous interpolation. servo ON signal and clear alarm signal. You can also use acceleration/deceleration interpolation if you set valid X axis parameter. 2. there are 12 STOP signals totally. it will move forward a little as there are still pulses acclumulated in the servo. If acceleration/deceleration interpolation is used. 2. It isn’t necessary to invoke function and reset. With the aforesaid method of the card. e. 85 http://www. Please note that this signal is decelerated stop. you need to enable interpolation deceleration before driving. i. In this case. even if the pulse output is stopped. you just need to set start speed and driving speed. Refer to the following examples. PC104 bus card include ADT-836. it is recommended that you set minimum value for magnification and maximum set_actualcount_mode(0. i.example forADT-8948A1 card } 4 // max axis number //function of the card set_command_pos(0.ADT-8946A1.com .ADT-8960 A1 and ADT-8920A1. 8000000 / 5).000. Result =adt 8948_initial() . If magnification is increased. but the resolution of speed and acceleration/deceleration becomes rough. 100). // initialization is successful // initialization is failed Set speed part (1)set range: set_range() If the range is R . } for (int i = 1. 0).0. for (int i = 1. If required actual speed or acceleration/deceleration is higher than 8000. //set range set_command_pos (0.0).&pos).adtechcn.ADT-series Servo/Stepping Motion Card Chapter XI Examples of Motion Control Developing and Programming Initialization part PCI bus card include ADT-856.// Reset actual position counter set_startv (0. example as follows: example(I) #define MAXAXIS int Init_Board() { int Result.000(ratio=500) If the ratio is M. 0).1000/ MULTIPLE). Result = set_address(0. acceleration/deceleration and change rate of acceleration/deceleration. i. 0). if (Result <= 0) return Result. In engineering practice. example(II) #define MULTIPLE 10 4 // ratio // max axis number #define MAXAXIS int Init_Board() { int Result. i. return 1. Therefore. 0). set_speed (0.ADT-8940A1. // Set the range. i<=MAXAXIS.//Set the start velocity set_speed (0.ADT-8948A1. inialization speed and acceleration/deceleration is 1~8000. i. i. you need to set the range and adjust the magnification. the actual speed and acceleration/deceleration can be increased in same scale. i++) { set_range (0. long pos. // Reset actual position counter //Initialization function of } //the card. // Set the //driving speed return 1. i.range value is R:8. set the //initial ratio to be 5 set_command_pos (0. i<=MAXAXIS. the setting of reasonable range is the premise to get ideal actual speed curve. // Reset logical counter // Set the start velocity // Set the driving speed // Set the acceleration // Set the working mode of actual //position counter } inp_dec_enable(0). set_acc (0. Notice: Range is the rate parameter that determines the speed. 1000/ MULTIPLE). //Initialization 86 value for range within stated range of actual speed.the formula to calculate M is: M = 8000000/R.0. To calculate the range: Step 1: Calculate the magnification (M) according to estimated maximum actual speed (Vmax) http://www.0x1000) .i. 0).these cards initialize use “set_address()”. get_command_pos(0. 1. i. 1000). i. i. if(pos!=1000) { return -1.ADT-860 and ADT-864. 8000000 / MULTIPLE).i.1. // Reset logical counter set_actual_pos (0. i. The effective range of driving speed.000(ratio=1)~16. } set_actual_pos (0. set_startv (0. i++) { set_range (0.these cards initialize use” adt×××_initial()”. 100). 0. …… 87 http://www. if(cardno<=0) return. continuous move. You’d better set the range in the process of system initialization.1. // Not installing ADT-850 //Card(example as ADT-850 Card) // Next operation for 1st card only on X axis // If multiple card. Step 2: Calculate range (R) according to magnification: R = 8000000/M. i.adtechcn. M = 40*1000/8000 = 5 and R = 8000000/5 = 1600000. actual speed = set value of speed * magnification. pmove(0. The range of R is 8000000-16000 and corresponding rate is 1-500. there is no this function.g. example: if required maximum speed is 40KPPS.8000000).etc. set_speed(0. interpolation . then. cardno=adt856_initial(). e. (2) Constant speed moving: Related functions: set_startv set_speed set_range (3) Symmetric linear acceleration/deceleration: Related functions: set_range set_startv set_speed set_acc (Notice:The follow function not consist in ADT-8920A1、 ADT-8940A1 and ADT-4960A1these card) set_ad_mode set_dec1_mode set_dec2_mode (set as linear A/D) (set as symmetric mode) (set as automatic deceleration) void main() { int cardno. // Set magnification as 8000000/8000000=1 set_startv(0. In a word. (5): S-curve acceleration/deceleration . there is no this function. cardno > 1 // Change card numbers to operate other cards set_pulse_mode(0. it is uniform motion Related functions: set_range set_startv set_speed set_acc set_acac set_ad_mode set_dec2_mode (set as S-curve A/D) (set as automatic deceleration) Notice: In ADT-8920A1、ADT-8940A1 and ADT-4960A1 these card.1. the speed may jump. // Read the board to show position // If starting speed > or = // starting drive //driving speed.1. while(1) { get_status(0.1. 1. otherwise. there is no this function. Do not change the range in the moving process.1 Single quantitative constant move Target:Make stepping generator on X axis motion 10000 steps at 1000 PPS speed: (4):Asymmetric linear acceleration/deceleration: Related functions: set_range set_startv set_speed set_acc set_dec set_ad_mode set_dec1_mode set_dec2_mode Notice: In ADT-8920A1、ADT-8940A1 and ADT-4960A1 these card.0).1. circle interpolation.1000).1000). part function introduces ADT series motion control card supports multiform move function. Notice: In ADT-8920A1、ADT-8940A1 and ADT-4960A1 these card. // Drive ends and springs out. pmove.10000). // Set X axis as pulse + direction set_range(0.ADT-series Servo/Stepping Motion Card M=Vmax/8000 (8000 is the maximum speed).1.com // Read driving status if(s==0)break.&s).1.e. (set as linear A/D) (set as symmetric mode) (set as automatic deceleration) int s. 400). while(1) { get_status(0.0. while(1) { get_status(0.&s).ADT-series Servo/Stepping Motion Card //and other functions } return . (20000-2000) /40000=0.400). set_pulse_mode(0.32). //deceleration 20000/125/5=32 pmove(0. // Set trapezoid A/D // Asymmetry A/D // set magnification as 5 // start speed 2000/5=400 // drive speed20000/5=4000 set_pulse_mode(0.1.1.1. // Drive ends and break out // Read the board and show position //and other functions. // acceleration 40000/125/5=64 set_dec(0.4000).9 SEC deceleration time is deceleration pulses is 0.1.0).9*(20000+2000)/2=9900 PLUSE set_dec2_mode(0.0). set_startv(0.0).// automatically decelerates set_acc(0. //automatically decelerates set_dec2_mode(0.1. set_acc(0. set_dec1_mode(0. //set magnification as 8000000/1600000=5 set_startv(0.1.1. …… // Read driving status if(s==0)break. int s.4000).64).1. //starting drive // start speed 2000/5=400 set_speed(0.1.1.1.1. …… } 88 http://www.0).1).1.1. //starting drive .1600000).1.1.20000).adtechcn.1.3 Single axis quantitative asymmetry trapezoid acceleration/deceleration motion Note:The ADT-8920A1、ADT-8940A1 and ADT-8960A1 cards there is no this function Target: make X axis motion at following speed 30000 steps start speed:2000 PPS drive speed:20000 PPS acceleration speed:40000 PPS deceleration speed:20000 PPS return .0. // Drive ends and break out // Read the board and show position //and other functions. set_speed(0.1. acceleration time is (20000-2000) /40000=0.&s).1.1.45* 20000+2000) ( /2=4950PLUSE deceleration is the same as above void main() { …… // inialization part the same as above // Set X axis as pulse + direction set_ad_mode(0.1.com // Read driving status if(s==0)break.0).0).45 SEC acceleration pulses is0. //acceleration/deceleration 40000/125/5=64 pmove(0. // drive speed 20000/5=4000 // Set trapezoid A/D // Symmetry A/D void main() { …… // inialization part the same as above // Set X axis as pulse + direction set_ad_mode(0. set_range(0.0). } 1.64).45*(20000+2000)/2=4950 PLUSE (20000-2000) /20000=0. int s.45 SEC acceleration time is acceleration pulses is 0. set_dec1_mode(0.1600000).1. set_range(0.20000).1.2 Single axis quantitative symmetry trapezoid acceleration/deceleration motion Target: make X axis motion at following speed 20000 steps start speed: 2000pss drive speed: 20000pss acceleration/deceleration speed: 40000pss } 1. 2 sec.0).1.200).1. continue_move(0. which have respectively STOP0.1. is20000*2/0.0. set_dec2_mode(0.1. to 40KPPS. } return .1. Then acceleration speed linearly increase to 0. but there is no need setting pulse number.1.2=1000000 PPS/SEC/SEC } 2.1.2 sec. // start speed 1000/10=100 set_speed(0.100). The following is an example for constantly back to home Adopt STOP0 as home signals . It is easy ta make various seek ways at initial point with continuous function.the rate of acceleration speed is 200000/0. integral value is equal to increase speed 20KPSS. One is position limiting signal (LMT+ and LMT-) used for protection and another is stop signal. So acceleration speed of 0. For stop instruction and external stop signal there are two ways to stop. //STOP0 valid, level stop low set_range(0.1. } 1.1.800000).4 SEC First in computer there is no thing about initial speed (take it as 0) for it is entire S curve acceleration speed.1.4000). set_speed(0. …… // Read driving status if(s==0)break.4 sec make the speed increase to 1/2 of 40KPPS (20KPPS) while within the remainder of 0. int s. pmove(0.8000000).1). It is used for operation of seeking scanning at the initial point and controlling motor circling speed.4 Single quantitative S curve line acceleration/deceleration motion Note: The ADT-8920A1、ADT-8940A1 and ADT-8960A1 cards there is no this function e.// automatically decelerates set_stop0_mode(0.1. while(1) { get_status(0.200). // drive speed 40000/10=4000 set_acc(0.160). // set magnification as 8000000/800000=10 set_startv(0.1.0).ADT-series Servo/Stepping Motion Card } return .1 Single axis continuous drive Setup single axis continuous drive and quantitative drive is the same as setup of A/D.1. It doesn’t stop continuously output driving pulse until stop instruction is put out or external stop instruction is effective. set_startv(0.&s).g: entire S curve lines Target: make X axis motion at S-curve line for 20000 steps start speed:1000 PPS drive speed:40000 PPS acceleration time:0. Within 1/2 of 0.1. There are two external stop ways.0).com // Set S-curve A/D //symmetric A/D …… // inialization part the same as above // set magnification as 1 // drive speed 200 //Positive direction moves set_pulse_mode(0.adtechcn.0).1. //A/D speed 200000/125/10=160 set_acac(0. STOP1 and STOP2 and can be individually set up effective/non-effective. //Drive ends and break out // Read the board and show position //and other functions.625). set_dec1_mode(0. //and suppose home position is at positive direction.20000). //62500000*10/1000000=625 // starting drive 89 http://www.2=200000 PPS/SEC.0). During A/D drive it is of speed reducing stop while during uniform drive of instant stop. One is immediate stop and another is speed reducing stop. void main() { …… // inialization part the same as above //Set X axis as pulse + direction set_ad_mode(0.1.2 sec. set_range(0. Instant stop usually is used for uniform motion while speed reducing for high speed drive.1.1. . For instance. set_speed(0.53).3.2 Multiple axes motion Mentioned above is single operation. set up Y axis parameter and then drive Y axis without any influence For X.0.0).1. set_speed(0. // 6667/125=53.1000).s4. it can set up the other axis data at the same time without mutual influence.// automatically decelerates .300000).8000000).4. but as a matter of fact. // Set Aaxis as pulse + direction // Set Y axis acceleration/deceleration set_ad_mode(0. when X axis is driven.adtechcn.2.0).).2.3.2 = 950000 Then calculate z axis acceleration and its change rate. if(s==0)break. acceleration/deceleration time 0.1.0. // Set Y axis as pulse + direction set_pulse_mode(0. set_startv(0. // set magnification as 8000000/320000=25 set_startv(0.1000).1. set_acc(0. // set magnification as 10000/25=400 set_speed(0. pmove(0. driving speed 4000pps.1. // set magnification as 1 //start speed 1000 // drive speed 1000 // Read driving status // Drive ends and break out // Set Z axis acceleration/deceleration set_ad_mode(0.7500).7500). it can independently operate 4 axes The following is a simple example.5625).3.3.2SEC.3. delete stop instruction to prevent unnecessary stop during normal operation. set_acac(0.0).3 //62500000/11111=5625 set_acc(0.2.Z axis continuously motion at entire S-curve line acceleration/deceleration (start speed 100pps.8000).3. // Read Y driving status get_status(0.100). set_speed(0. acceleration time 1.1000).1. pmove(0.3.0. The method is change rate as 6667/0.8000000).&s3). …… 2.&s). X axis motion1000 steps at constant speed (1000pps).3.com int s1.2.s3.320000).2.3.1.0). // Set trapezoid A/D //symmetric A/D 90 http://www. set_startv(0. while(1) { get_status(0.3.4.0).&s1). // STOP0 is invalid. // Read Z driving status set_pulse_mode(0.0).2.0).0).// automatically decelerates set_dec2_mode(0.4000).4. // magnification 8000000/200000=40 set_startv(0.2. // drive speed 200000/25=8000 //X axis set_range(0. // Set Z axis as pulse + direction set_pulse_mode(0.s2. When home position is found. set_range(0. continue_move(0.1).1.4.ADT-series Servo/Stepping Motion Card int s. Press “S” key for stop. Thus.0.1.1.2SEC.&s2).0.4.0). // starting drive // 300000/40=7500 //Z axis set_range(0. continue_move(0.1. A axis continuously motion at constant speed (300000PPS).6 = 11111PPS/SEC/SEC //A axis The sequence is as follows: void main() { …… // inialization part the same as above // Set X axis as pulse + direction set_pulse_mode(0. Y axis motion 300000 steps at linear acceleration/deceleration(start speed 10000pps.2. drive speed 200000PPS. // Set trapezoid A/D //symmetric A/D set_dec2_mode(0.0). set_dec1_mode(0.2.). // Read X driving status get_status(0.2.400).1.200000).1.3. // acceleration speed 950000/125/25=304 //Y axis set_range(0. while(1) { get_status(0. } set_stop0_mode(0. set_dec1_mode(0. First calculate Y axis acceleration as (200000 – 10000) / 0.304).0).0). 10000.1000).1.2000). //Z axis drive speed 2000 inp_move2(0. { …… // inialization part the same as above // Set X axis as pulse + direction set_pulse_mode(0. // Read the board functions…… key=getch().4). // Read Z-A interpolation status if(s1==0 && s2==0)break. } Interpolation part:ADT-856、ADT-836、ADT-864 and ADT-8946A1 cards support fixed 2-3 axes interpolation . while(1) { get_inp_status(0.1.1. // Read X-Y interpolation status get_inp_status(0.0). Circular arc interpolation is basic the same as multi-axis constant speed linear interpolation The sequence is as follows: void main() { …… // inialization part the same as above // Set X axis as pulse + direction set_pulse_mode(0.3). // set magnification as 1 //X axis start speed 1000 //X axis drive speed 1000 // set magnification as 1 //Z axis start speed 2000 91 http://www.ADT-8948A1、ADT-860、ADT-8940A1 and ADT-8960A1 support random 2-3 axes interpolation. …… int s1. set_pulse_mode(0.1. set_dec2_mode(0. dec_stop(0. set_speed(0. Notice that before drive it needs setting as deceleration valid.20000.0). set_dec1_mode(0. 3.0).3.1.3.2.1000).1.2.1.1.0). The sequence is as follows: void main() } 3.1. Before it you must set up X axis parameter (Z-A take Z axis as basis).2.0). The following is simple example for constant speed linear interpolation.3.1. // Set Z axis as pulse + direction set_pulse_mode(0.1.-30000).2 2-axis linear interpolation(acceleration/deceleration) For 2-axis linear interpolation it is necessary to set X axis (or Z axis) as linear A/D or S-curve A/D.0).0). set_startv(0. // Drive ends and break out // Read the board and show position //and other functions.1.0.0).3.4.0.0.adtechcn.0. //X. set_startv(0.-20000). // Set Z axis as pulse + direction set_pulse_mode(0. X-Y linear A/D.&s2).0).1.but ADT-8920A1 only support 2 axes interpolation.4.0). // Z. // Set Y axis as pulse + direction set_pulse_mode(0. Z-A curve line A/D.1.&s4).1 2-axis linear interpolation(constant speed) Interpolation speed is basis on X axis speed.0).2000). if(key==’s’) { dec_stop(0.// Drive ends and break out if(kbhit()) else key=-1.1.4.8000000). Make the example above as A/D drive.0.A axis start interpolation //Z positive motion 20000 step //A negative motion 30000 step .2.1. // Set A axis as pulse + direction set_ad_mode(0.8000000).&s1). // Set A axis as pulse + direction set_range(0.com set_pulse_mode(0.3.s2. set_range(0.ADT-series Servo/Stepping Motion Card get_status(0. set_speed(0.1.0.Y axis starting interpolation // X positive motion 10000 step // Y negative motion 20000 step inp_move2(0.1. } return . // Set Y axis as pulse + direction set_pulse_mode(0.0. } } return . // Read A driving status if(s1==0 && s2==0 && s3==0 &&s4==0)break.0. 2.-30000).1.0. set_speed(0. read next write permission. you must withdraw continuous interpolation circulation.3.1. // X axis set magnification as 1 set_startv(0.&s2). while(1) { get_inp_status(0.1.0.Y .1.3.s2.3.0). drive speed 16000 //X start speed 1000 //X drive speed 8000 // Set X axis as pulse + direction set_pulse_mode(0.0). set_speed(0.3. You must set up deceleration point beforehand.10000.20000.3.4000000).0.&s1). void main() { …… // inialization part the same as above set_pulse_mode(0.com // Read the board and show position //and other functions.0).1.-20000). First set it as } return .adtechcn. // Z axis. set magnification as 8000000/4000000=2 set_startv(0. …… int s1.Z axis starting interpolation // X positive motion 5000 step //Y positive motion 10000 step // Z negative motion 20000 step // X start speed 1000 // X drive speed 8000 .0).1.1.8000). // X. // Read X-Y interpolation status get_inp_status(0. while(1) { get_inp_status(0. Constant continuous interpolation is a little same as single axis interpolation. inp_move3(0.1. } 3.1.0).1.Y axis starting interpolation // X positive motion 10000 step // Y negative motion 20000 step inp_move2(0. write next interpolation data. set_dec1_mode(0. //X axis set magnification as 1 set_startv(0.5000.1.1).1000). If it is permitted. set_acc(0. set_speed(0.1.0).2. the S-curve acceleration/deceleration and auto deceleration are forbidden.8000000).4 Continuous interpolation Note: In ADT-8920A1、 ADT-8940A1 and ADT-4960A1 these card. inp_move2(0.1000).2. // X.3 3-axis linear interpolation(acceleration/deceleration) The following is a simple example for acceleration/deceleration linear interpolation and the others only need to modify parameter setup. At the same time check driving status. //Drive ends and break out …… } return . Only manual deceleration with linear acceleration/deceleration drive is permitted.A axis starting interpolation //Z positive motion 20000 step //A negative motion 30000step int s1. //Z.8000000).3.8000). set_dec2_mode(0.&s1).3.ADT-series Servo/Stepping Motion Card set_range(0. // Set Y axis as pulse + direction set_pulse_mode(0.1.1.0). set_dec2_mode(0. set_ad_mode(0.1.1. If it stops for error. //Z.1000).1.1000).1. } 3. ser_acac(0.-20000). set_acc(0. start speed 2000 //Z.3.0. there is no arc interpolation function. // Read Z-Ainterpolation status if(s1==0 && s2==0)break. // Set A axis as pulse + direction set_ad_mode(0. Acceleration/deceleration continuous interpolation is more complicated. // Read X-Y-Z interpolation status if(s1==0 )break.1. // Drive ends and break out // Read the board and show position //and other functions.0). When interpolation data starts.0).1000).10000.3.8000). set_range(0. set_range(0. // Set Z axis as pulse + direction set_pulse_mode(0. set_dec1_mode(0.1000).1000). set_acc(0.4. 92 http://www. // X axis set magnification as 1 set_startv(0.1500. get_inp_status2(0.&s1). while(1) { get_stopdata(0.&s2). while(1) { get_stopdata(0.0. // Write is permitted //Read error infor // Break out for errors } if(s2!=0)break. // Write is permitted // Read error infor // Break out for errors get_inp_status2(0. set_dec_pos(0. if(s1!=0)goto err.1.0). if(s2!=0)break.1).1.1. // linear acceleration/deceleration set_ded1_mode(0. // manual deceleration point .1). set_acc(0.1500.// Break out for errors } //symmetric A/D // manual deceleration } // part 4 inp_ccw_arc(0. while(1) { get_stopdata(0.-1500). if(s2!=0)break.1.-1500. The terminal interpolation point output pulse must be larger than that of wasted pulse number.0). acceleration time (2000-500) / 6000 = 0. deceleration position is 2121-313=1808. // Break out for errors //part 6 inp_ccw_arc(0. at the last length point set it valid.1.0.&s1).48).2000). //X start speed 500 //X drive speed 2000 //X acceleration 6000/125 //part 5 inp_move2(0.0).&s1). if(s2!=0)break.1. // Set Y axis as pulse + direction set_ad_mode(0.com get_inp_status2(0.1. set_dec2_mode(0.-1500.0.1. // part 2 inp_ccw_arc(0.4500.&s2). } get_stopdata(0. } Take the chart above as example.1. get_inp_status2(0.1. // Write is permitted // Read error infor // Break out for errors set_pulse_mode(0. inp_move2(0.1. From beginning to stop operation is carried out within 1 length point for deceleration speed.&s1).0. if(s2!=0)break.1.1.1500.0. // Write is permitted. // part 3 inp_move2(0. while(1) { // part 1 inp_dec_disable(0. get_inp_status2(0.&s2).1.&s2).&s2).25/2=313.1.1.ADT-series Servo/Stepping Motion Card invalid.1. if(s1!=0)goto err. Start speed is 500pps. set_range(0. set_speed(0.&s1).1500).0). while(1) { get_stopdata(0.2.1.1.1.// Read error information if(s1!=0)goto err.1. if(s1!=0)goto err.0). // Write is permitted // Read error infor if(s1!=0)goto err.1.8000000).0).1500).1.adtechcn.-1500.1.25 sec. driving speed is 2000pps.0).-4500.500).1. accelerate is 6000pps/sec.1. 93 http://www.1.1808). then the wasted pulse number is (2000+500)*0. The sequence is as follows: void main() { …… // inialization part the same as above // Set X axis as pulse + direction set_pulse_mode(0.-1500. ADT-series Servo/Stepping Motion Card while(1) { get_stopdata(0,1,&s1); get_inp_status2(0,1,&s2); if(s2!=0)break; } //part 7 inp_move2(0,1,0,-1500); while(1) { get_stopdata(0,1,&s1); get_inp_status2(0,1,&s2); if(s2!=0)break; } As shows above, radius outputs 10000/1.414 = //part 8 inp_dec_enable(0,1); // deceleration permitted inp_ccw_arc(0,1,1500,-1500,1500,0); while(1) { get_stopdata(0,1,&s1); get_inp_status(0,1,&s2); if(s2==0)break; } return ; err: return ; 4、 2-axis circular arc interpolation(acceleration/deceleration) ADT-8940A1 and ADT-4960A1 these Note: In ADT-8920A1、 card, there is no arc interpolation function. 2-axis circular interpolation commonly adopts constant speed drive, but also acceleration/deceleration for drive. However, only manual deceleration with linear acceleration/deceleration drive,the S-curve acceleration/deceleration and auto deceleration are forbidden. It is simple for constant drive for only it needs setup of X axis (or Z axis)start speed the same as driving speed. Acceleration/deceleration drive needs setting a good deceleration point. Take the following radius as example 10000 to show drive method 94 http://www.adtechcn.com // Drive ends // Read error infor if(s1!=0)goto err;// Break out for errors 7071pusle, whose basic pulse number is 7070 x 8 = 56568. Besides, set start speed a 500pps, within 0.3 sec. speed up with linear acceleration to increase 20000 pps, acceleration will be (20000-500)/0.3=65000pps/sec. The pulse number wasted is oblique area above of (500+20000) *0.3/2=3075. If deceleration is as the same as acceleration, manual deceleration point will be set as 56568-3075=53493. If make a half circle, general pulse is 56568/2=28284, speed deceleration point is 28284-3075=25209. The others are just the same The sequence is as follows: void main() { …… // inialization part the same as above // Set X axis as pulse + direction set_pulse_mode(0,2,1,0,0); // Set Y axis as pulse + direction set_pulse_mode(0,3,1,0,0); // Set Z axis as pulse + direction set_pulse_mode(0,4,1,0,0); // Set A axis as pulse + direction set_ad_mode(0,1,0); set_dec1_mode(0,1,0); set_dec2_mode(0,1,1); set_range(0,1,1600000); // X axis set magnification as 8000000/1600000=5 //linear A/D //symmetric A/D // manual deceleration set_pulse_mode(0,1,1,0,0); // Write is permitted // Read error infor if(s1!=0)goto err;// Break out for errors // Write is permitted // Read error infor if(s1!=0)goto err;// Break out for errors ADT-series Servo/Stepping Motion Card set_startv(0,1,100); //X axis start speed 500/5=100 set_speed(0,1,4000); //X axis drive speed 20000/5 set_acc(0,1,104); //X axis acceleration 65000/125/5 set_dec_pos(0,1,53493); // manual deceleration point set_ad_mode(0,3,0); set_dec1_mode(0,3,0); set_dec2_mode(0,3,1); set_range(0,3,1600000); set_startv(0,3,100); set_speed(0,3,4000); set_acc(0,3,104); set_dec_pos(0,3,25209); // manual deceleration point inp_cw_arc(0,1,0,0,0,10000); // X-Y clockwise circular interpolation // Terminal point0,0; i.e. a complete circle // centre point 0,10000 inp_ccw_arc(0,2,0,20000,0,10000); //Z-A clock against interpolation // Terminal point 0,20000; i.e. a half circle // centre point 0,10000 int s1,s2; while(1) { get_inp_status(0,1,&s1); // Read X-Y interpolation status get_inp_status(0,2,&s2); // Read Z-A interpolation status if(s1==0 && s2==0)break; // Drive ends and break out …… // Read the board and show position //and other functions. } return ; } //the same as above Remark: (1) PPS:pulse percentage second (2) SEC:second (3 )CW: clockwise (4 )CCW: clock against (5)A/D: acceleration/deceleration I/O operation Read single input bit int read_bit(); Output single bit int write_bit(); // Corresponding port performs output operation. Get output status int get_out(); // Get the status of output bit // get single input bit status 95 http://www.adtechcn.com ADT-series Servo/Stepping Motion Card Chapter XII Troubleshooting Motion card detection failed If the motion card could not be detected during its usage, refer to the following methods to rule out the problem。 (1) Make sure to follow the installation instructions of control card to install the driver step by step. In Win2000 and WinXp, port driver must be installed to ensure that there are dynamic library file of control card in system folders (system32 or System); (2) Check to see if the motion card is connected well with the slot. Re-insert the card or change the slot to test, besides, use the eraser to clean the golden finger of control card, then, test it again; (3) Check the system device manager to see if there is any conflict between motion card and other hardware. Take off other cards, such as sound card and network card, when the PCI card is used; PC104 card is able to adjust the DIP switch and reset the base address, the base address used in the initialization of program must be the same with the actual base address; (4) Check to see if there is any problem with the operation system, this could be done by re-installing other version of operation system; (5) Follow the above steps, if the motion card still can not be detected, it is recommended to change another motion card to test, so as to check whether the card is broken; running, and the motor shows obviously out of step. The speed of controller is too fast, please calculate the speed of motor, 10~15 rounds/sec is normal for stepping motor; Mechanical part is blocked or the resistance of machine is too big; The selected motor is not proper, please change for a high-torque motor; Please check the current and voltage of driver, set the current to be 1.2 times of rated current and supply voltage to be within rated range; Check the start velocity of controller, generally speaking, the start velocity is about 0.5~1 and time of acceleration/deceleration is above 0.1 sec; (3) There are obvious vibration and noise when the servo and stepping motor work Position loop gain and speed loop gain of servo driver are too high, lower them on the condition that the positional accuracy allows; The rigidity of machine is too bad, adjust the structure; The selected stepping motor is not proper, please change for a high-torque motor; The speed of stepping motor is in resonance region of motor, please avoid the resonance region or enlarge the subdivision. (4) Motor is not positioned well Check the screw pitch and the pulse/rev of motor to see if they are compliance with the set parameter of practical system, viz. pulse equivalent; If it is the problem of servo motor, then, increase the position loop gain and speed loop gain; Check the screw gap of the machine, test the screw opposite gap with dial indicator, adjust the screw if there is gap; If the position is not accurate due to the uncertain time and position, then, check to see if there is external interference signal; The model of motor is not proper that it shows vibration and out of step; (5) Motor has no direction Check to see if there is any problem with the DR+ and DR-connection or if the connection is firm; Check to see if the pulse mode of the control card is compliance with actual driver mode, this card supports “Pulse+Direction” and “Pulse+Pulse”; Check the stepper motor to see if the motor wire is broken or malfunction etc. Malfunction of motor Motor error appears when the motion card is working well. You could follow the following situations to clear the trouble. (1) The motor does not work when the motion card sends out pulse Check whether the control card is connected well with the terminal board; Check whether the pulse and direction signal line of motor driver are correctly connected to the terminal board; Check whether the external power supply of servo driver is well connected; Check whether the servo driver and stepping motor driver are in the state of alarm, if so, check the reason according to the corresponding code of the alarm; Check whether the servo SON is well connected or whether the servo motor is in the state of magnetization etc; If it is the problem of servo motor, please check the control mode of driver, our control card supports “position control”; Check whether the motor or driver is broken (2) There is abnormal scream when the stepping motor is 96 Switch quantity input error If there is malfunction in detection of some input signals during the debugging and working of the system, check according to the following methods: (1) No signal input Check the line according to the wiring diagram of normal switch and proximity switch http://www.adtechcn.com instead. use the universal meter to test the optical coupler to see if it is punctured. check the outer line. Manual direction error. The diode type is IN4007 or 97 http://www. ADT-series Servo/Stepping Motion Card IN4001. The motion card usually receives +5V signal. please check the interference source. Output earth wire should be connected to GND of power supply while the red test pen of universal meter connected to 12V positive electrode and black test pen connected to signal output end. change the optical coupler to solve this problem. Check whether the 12V or 24V switching power supply is normal.adtechcn. and the input state does not change when the input point is in the state of turnoff and closure. The line should not be tied together with wire that with strong interfere such as strong electricity. Use the universal meter to test whether the optical coupler is punctured. Installation position of back to home switch is improper or the switch is loosened. please check the type of switch and the wiring. make sure the “optical coupler common” of input signal is connected with positive pole of inner/external power supply (+12V or 24V) Our input switch of I\O point is NPN type. then. check whether the common port of card is well connected or the inner optical coupler is broken etc. then. Direction of back to home is wrong. Outer wiring connection of coder must use the shielded twisted pair (STP). If there is voltage. follow the methods below to check out: Check the connection of coder. Check whether the output device is broken. then. There is interference on external signal.mentioned before. The speed of manual/auto processing is too fast. Check whether the external wiring connection is connected well. connect a pull-up resistor at around 10K on it to the power supply. Coder error When there is error in the use of coder. (2) Judgment of bad output Cut off the outer connection on output points. (2) Signal disappear from time to time Check whether there is interference. Check the voltage of coder. The switch is brokenl. At the same time. For safety: make sure to parallel connect the freewheeling diode when output and use the inductive load. Inaccurate counting of coder. They should be put separately at a distance of 30~50MM. If the coder is +12V or +24V. if it is not that type. please check out the interference source. add type 104 monolithic capacitor or use the shielding conductor etc. if there exist interference. Make sure the connection is compliance with the differential or open-collector mode. click the button of test menu by hand to check if there is output voltage. Check whether the optical coupler is broken. Switch quantity output error Switch quantity output error can be checked out as follow: (1) Output error Check whether the line is connected properly according to the aforesaid wiring diagram of output. Check whether the optical coupler is broken. to see if it is connected correctly. (4) Invalid limit Test the limit switch in I\O test to see if it is in effect. When the line is well. otherwise. Make sure the output common (earth wire ) is connected with all the earth wires of power supply.com . slow down the speed of back to home. Obvious vibration or abnormal stop during the normal running,please check whether there is interference in limit switch signal or the performance of limit switch is reliable. make sure to serial connect a 1K(+12V) resistance between A and B phase of coder and A and B phase of terminal board. (3) Inaccurate back to home The speed is too fast. Installation position of limit switch is improper or the switch is loosened. test the signal state in I\O test. change the optical coupler to solve this problem. There is interference on external signal.