background image

 

Motion Libra 

 71 

Visual Basic 5.0 or higher 

B_8136_D_Output(ByVal CardNo As Integer, ByVal Channe As 

Integer, ByVal Control As Integer) As Integer 

B_8136_D_Input(ByVal CardNo As Integer, ByVal Channel As 

Integer, Control As Integer) As Integer 

B_8136_D_OutputA (ByVal CardNo As Integer, ByVal Value As 

Integer) As Integer 

B_8136_D_InputA(ByVal CardNo As Integer, Value As Long) As 

Integer 

@ Argument 

CardNo: card number designated to set (Range 0 ~ 3) 
Channel: channel number designated to set (Range 0 ~ 6) 
Control: control value for the designated channel (Range 0 ~ 1) 
Value: control value for all digital output (Range 0 ~ 0x7f ) 
Control: return value for designated channel (Range 0 ~ 1) 
Value: return value for all digital input (Range 0 ~ 0x7ffff) 

@ Return Code 

 ERR_RangeError 
 ERR_NoError 

Содержание PCI-8136M

Страница 1: ...PCI 8136M 6 Axis Motion Controller Card User s Guide ...

Страница 2: ......

Страница 3: ...f advised of the possibility of such damages This document contains proprietary information protected by copyright All rights are reserved No part of this manual may be reproduced by any mechanical electronic or other means in any form without prior written permission of the manufacturer Trademarks NuDAQ PCI 8136 PCI 8136M are registered trademarks of ADLINK Technology Inc MS DOS Windows 95 are re...

Страница 4: ...k com tw NuPRO nupro adlink com tw Software sw adlink com tw TEL 886 2 82265877 FAX 886 2 82265717 Address 9F No 166 Jian Yi Road Chungho City Taipei 235 Taiwan R O C Please inform or FAX us of your detailed information for a prompt satisfactory and constant service Detailed Company Information Company Organization Contact Person E mail Address Address Country TEL FAX Web Site Questions Product Mo...

Страница 5: ...election 12 2 3 3 Installation Procedures 12 2 3 4 Trouble shooting 12 2 4 Software Installation 13 2 5 CN1 PIN ASSIGNMENTS MAIN CONNECTOR 14 2 6 CN2 PIN ASSIGNMENTS EXTERNAL POWER INPUT 15 2 7 CN3 PIN ASSIGNMENTS DB25 CONNECTOR 16 2 8 CN4 PIN ASSIGNMENTS DB9 CONNECTOR 16 Chapter 3 Signal Connection 17 3 1 Pulse output signals OUT and DIR 18 3 2 Voltage output signals DAC 20 3 3 Encoder feedback s...

Страница 6: ...en loop and close loop control 45 4 8 1 Open loop control 45 4 8 2 Close loop control 45 4 9 Constant Velocity Motion 46 4 10 Trapezoidal Motion 47 4 11 S Curve Profile Motion 49 4 12 2D Interpolation 51 4 13 3D Interpolation 54 4 14 Home Return Mode 55 4 15 Motion Parameters Setting 56 4 16 The Motion IO Interface 57 4 16 1 SERVO ON 57 4 16 2 Limit Switch Signal 57 4 16 3 ORG 57 4 16 4 Emergency ...

Страница 7: ...Loop Initialization 84 5 11 Motion Parameters 85 5 12 Motion Status 88 5 13 PTP Movement 90 5 14 2D Interpolation 92 5 15 3D Interpolation 94 5 16 Continuous Motion 96 5 17 Homing 97 5 18 Motion Function 98 Product Warranty Service 99 ...

Страница 8: ... the product features applications and specifications Chapter 2 Installation describes how to install the PCI 8136M Chapter 3 Signal Connection describes the connectors pin assignment and how to connect the outside signal and devices with the PCI 8136M Chapter 4 Operation Theorem describes detail operations of the PCI 8136M Chapter 5 Motion Library describes high level programming interface in C C...

Страница 9: ...ws the function block diagram of PCI 8136M card PCI 8136M uses one motion control ASIC to perform 6 axes motion control This ASIC outputs the velocity profile through DDA module from the motion library It supports one axis PTP two axes linear interpolation two axes circular interpolation three axis linear interpolation with linear and S curve acceleration deceleration velocity profiles The PCI 813...

Страница 10: ...mote IO Master 2 64In 64Out DR Slave 2 64In 64Out Slave 1 64In 64Out Remote IO Master 1 64In 64Out Local Digital I O 26 DR Serial IO IF Encoder Counter x 6 LR PLC x 6 DAC x 6 DDA x 6 ADC x 6 LD Sensor Pulse Command V Command Pulse Signals System Bus 1 2 3 4 5 6 Servo Stepping Motors Drivers ...

Страница 11: ...nctions 0 1 2 3 4 5 6 Analog Input 6 6 6 6 6 6 6 Analog Output 6 5 6 4 6 3 6 2 6 1 6 0 6 Digital Input 19 15 19 12 19 9 19 6 19 3 19 0 19 Digital Output 7 6 7 5 7 4 7 3 7 2 7 1 7 Pulse Input Encode Counter 6 5 6 4 6 3 6 2 1 0 Pulse Output Pulse Generator 6 6 5 4 3 2 1 Note means close loop control mode with v command output is set For example If 2 motion axes are used it remains 6 AI 4 or 6 AO dep...

Страница 12: ... pulse generators 2 optional remote I O modules with 128 I Os One 24 bit programmable timer Software supports maximum up to 4 cards 6 axis motion control ability with voltage closed loop pulse open loop type command output Applicable motor type Analog digital servo stepping micro stepping Support Trapezoidal and S curve velocity profile for every motion functions One axes PTP control Any 2 axes li...

Страница 13: ...Pulse command output up to 1024KHz Control loop cycle time up to 1 024 ms Analog command output range 10V 32 bit 2 MHz Up Down counter for encoder feed back signals each axis 32 bit position comparator with interrupt each axis 1 3 3 Motion Interface I O Signals 2500 Vrms optically isolated for all Motion Interface IO Incremental encoder signals input pins EA and EB each axis Encoder index signal i...

Страница 14: ...g rate 133 KHz multiplexing Analog Output 6 output channels Output range bipolar 10V 16 bit DAC resolution 14 bit accuracy guaranteed Settling time 2 µ second Voltage output drive 5mA max Digital Input 19 input channels for NPN type sensor Input impedance 4 7K Ohms Max Current 20mA Isolated voltage 2500V RMS Throughput 10KHz 0 1ms Digital Output 7 Output channels Output type Darlington transistor ...

Страница 15: ... encoder counter comparison Pulse Output Pulse Generator 6 output channels with differential line drivers Pulse command type CW CCW Pulse Direction A B Phase Maximum pulse rate 500KHz with 1 µ second pulse width Timer One 24 bit programmable timer Base clock 33MHz from PCI bus 1 3 5 General Specifications Connectors 100 pin SCSI type connector DB25 female connector DB9 male connector Operating Tem...

Страница 16: ... max Dimension 164mm L X 98 4mm H 1 4 Software Supporting 1 4 1 Programming Library The Programming Library enables motion control functionality of PCI 8136M It provides versatile function calls for customers who are writing their own motion control programs The Motion Library supports MS DOS Borland C C with programming library and Windows 95 98 NT 2000 with DLL ...

Страница 17: ...ware correctly Please follow the follow steps Section 2 1 Check what you have Section 2 2 PCB Outline Drawing Section 2 3 Install the hardware Section 2 4 Install the software driver Section 2 5 CN1 Pin Assignments Section 2 6 CN2 Pin Assignments Section 2 7 DB25 Connector Section 2 8 DB9 Connetctor ...

Страница 18: ...ller Card DB9 and DB25 Bracket External Power cable for CN2 124O DIP type resistance 6 ADLINK All in one Compact Disc PCI 8136M User s Manual If any of these items are missing or damaged contact the dealer from whom you purchased the product Save the shipping materials and carton in case you want to ship or store the product in the future ...

Страница 19: ...PCB Layout of the PCI 8136M CN1 Pin Assignments Main Connector CN2 Pin Assignments External Power Input CN3 Pin Assignments DB25 Connector CN4 Pin Assignments DB9 Connector DAC offset VR1 6 ADC offset VR CN4 CN3 CN1 CN2 DAC Offset VR 1 6 ADC Offset VR ...

Страница 20: ...etc connected to computer 3 Remove the cover from your computer 4 Select a 32 bit PCI expansion slot PCI slots are short than ISA or EISA slots and are usually white or ivory 5 Before handling the PCI 8136M discharge any static buildup on your body by touching the metal case of the computer Hold the edge and do not touch the components 6 Position the board into the PCI slot you selected 7 Secure t...

Страница 21: ...Installation 13 2 4 Software Installation Please refer to the ADLINK All in one Compact Disc Manual to install it ...

Страница 22: ... 70 SVON6 O Servo on signal 21 EA1 I Encoder A phase 71 EA2 I Encoder A phase 22 EA1 I Encoder A phase 72 EA2 I Encoder A phase 23 EB1 I Encoder B phase 73 EB2 I Encoder B phase 24 EB1 I Encoder B phase 74 EB2 I Encoder B phase 25 EZ1 I Encoder Z phase 75 EZ2 I Encoder Z phase 26 EZ1 I Encoder Z phase 76 EZ2 I Encoder Z phase 27 EA3 I Encoder A phase ƒ 77 EA4 I Encoder A phase 28 EA3 I Encoder A p...

Страница 23: ...rminal connector with no screw 2 Be sure to use the external power supply The 24V DC is used by external input output signal circuit 3 Wires for connection to CN2 Solid wire ϕ 0 32mm to ϕ 0 65mm AWG28 to AWG22 Twisted wire 0 08mm 2 to 0 32mm 2 AWG28 to AWG22 Naked wire length 10mm standard 4 The EX 24V is shorted inside PCI 8136M with COM in CN1 No 6 7 8 5 The EXGND is shorted inside PCI 8136M wit...

Страница 24: ...te Serial IO 2 is reserved for future functions 2 8 CN4 PIN ASSIGNMENTS DB9 CONNECTOR The signals on CN4 are for remote serial IO 1 G1SIOCLK G1SCS0 G1S2MD G1M2SD GND 1 2 3 4 5 G1SIOCLK S1SCS0 G1S2MD G1M2SD 6 7 8 9 G2SIOCLK G2SCS0 G2S2MD G2M2SD AGND DAC3 ADC1 ADC2 ADC3 ADC4 ADC5 ADC6 AGND 1 2 3 4 5 6 7 8 9 10 11 12 13 G2SIOCLK S2SCS0 G2S2MD G2M2SD DAC1 DAC2 ADC1 ADC2 ADC3 ADC4 ADC5 ADC6 NC 14 15 16...

Страница 25: ...the following sections Section 3 1 Pulse output signals OUT and DIR Section 3 2 Voltage output signals DAC Section 3 3 Encoder feedback signals EA EB and EZ Section 3 4 Voltage input signals ADC Section 3 5 Origin signal ORG Section 3 6 End Limit signals PEL and MEL Section 3 7 Emergency stop signal ESTOP Section 3 8 Servo on signal SVON Section 3 9 General purpose output PRDY Section 3 9 VCC pins...

Страница 26: ... signal CN1 PIN No Signal Name Description Axis No 39 OUT1 Pulse Signal 40 OUT1 Pulse Signal 41 DIR1 Direction Signal 42 DIR1 Direction Signal 1 89 OUT2 Pulse Signal 90 OUT2 Pulse Signal 91 DIR2 Direction Signal 92 DIR2 Direction Signal 2 43 OUT3 Pulse Signal 44 OUT3 Pulse Signal 45 DIR3 Direction Signal 46 DIR3 Direction Signal 3 83 OUT4 Pulse Signal 84 OUT4 Pulse Signal 85 DIR4 Direction Signal ...

Страница 27: ...ut pulse generator circuit If the driver side is open collector mode please use any one of positive and negative pins to be a control signal and EXGND as its output ground Please take care that the current sink to these pins must not exceed 20mA ...

Страница 28: ...d from 10 V to 10V To make correct connection please refer to following figure Figure 3 2 1 DAC circuit The Analog outputs are all single ended with common ground AGND The following table is the pin assignment information for DAC CN1 Pin No Signal Name Description 2 DAC1 DAC Channel 1 3 DAC2 DAC Channel 2 4 DAC3 DAC Channel 3 52 DAC4 DAC Channel 4 53 DAC5 DAC Channel 5 54 DAC6 DAC Channel 6 1 AGND...

Страница 29: ...Signal Connection 21 Notice that the DAC Channel 1 3 in CN1 and CN3 are connected inside the PCI 8136M ...

Страница 30: ... Z Phase 26 EZ1 Encoder Z Phase 1 71 EA2 Encoder A Phase 72 EA2 Encoder A Phase 73 EB2 Encoder B Phase 74 EB2 Encoder B Phase 75 EZ2 Encoder Z Phase 76 EZ2 Encoder Z Phase 2 27 EA3 Encoder A Phase 28 EA3 Encoder A Phase 29 EB3 Encoder B Phase 30 EB3 Encoder B Phase 31 EZ3 Encoder Z Phase 32 EZ3 Encoder Z Phase 3 77 EA4 Encoder A Phase 78 EA4 Encoder A Phase 79 EB4 Encoder B Phase 80 EB4 Encoder B ...

Страница 31: ...coder feedback or motor driver feedback Here are two examples of connecting the input signals with the external circuits The input circuits can connect to the encoder or motor driver which are equipped with 1 differential line driver or 2 open collector output Connection to Line Driver Output To drive the PCI 8136M encoder input the driver output must provide at least 3 5V across the differential ...

Страница 32: ... between PCI 8136M encoder and the power supply is shown in the following diagram Please note that the external current limit resistor R is necessary to protect the PCI 8136M input circuit The following table lists the suggested resistor value according to the encoder power supply Encoder Power VDD External Resistor R 5V 0 Ω None 12V 1 8kΩ 24V 4 3kΩ Figure 3 5 3 Connect to open collector output ...

Страница 33: ... 20 mA by soldering a 124O DIP resistance which is shipped with PCI 8136M Figure 3 4 1 Current input mode location of 124O DIP resistance To avoid ground loops and get more accuracy measurement of A D conversion it is quite important to understand the signal source type The PCI 8136M provides differential input mode that consists of two inputs each channel ...

Страница 34: ...l 4 24 ADC5 ADC channel 5 11 ADC5 ADC channel 5 25 ADC6 ADC channel 6 12 ADC6 ADC channel 6 A differential source means the ends of the signal are not grounded To avoid the danger of high voltage between the local ground of signal and the ground of the PC system a shorted ground path must be connected Figure 3 1 2 shows the connection of differential source Figure 3 4 2 Analog input circuit Figure...

Страница 35: ... Common Ground COM Notice that the alternative name means that if users don t use motion functions at one or more axes the digital input will be treated as general purpose input channel The input circuits of the ORG signals are shown as following Usually a limit switch is used to indicate the origin of one axis The specifications of the limit switches should with contact capacity of 24V 6mA minimu...

Страница 36: ...MEL3 End limit ƒ DI 12 64 PEL4 End limit DI 13 65 MEL4 End limit DI 14 18 PEL5 End limit DI 15 19 MEL5 End limit DI 16 68 PEL6 End limit DI 17 69 MEL6 End limit DI 18 55 COM Ext Common Ground COM 56 COM Ext Common Ground COM Notice that the alternative name means that if users don t use motion functions at one or more axes the digital input will be treated as general purpose input channel The sign...

Страница 37: ...COM COM 8 Ext 24V COM ESTOP 57 Emergency stop signal DI 19 COM 55 Ext Common Ground COM COM 56 Ext Common Ground COM Notice that the alternative name means that if users don t use motion functions at one or more axes the digital input will be treated as general purpose input channel The input circuit of alarm circuit is shown in the following diagram The external circuit must provide at least 6 mA...

Страница 38: ... on signal DO 2 SVON3 16 Servo on signal DO 3 SVON4 66 Servo on signal DO 4 SVON5 20 Servo on signal ƒ DO 5 SVON6 70 Servo on signal ƒ DO 6 COM 55 Ext Common Ground COM COM 56 Ext Common Ground COM The output circuit of SVON signal is shown in the following diagram Figure 3 8 1 Connection of SVON The SVON is open collector output with 2500V rms isolation The maximum output switching frequency is 1...

Страница 39: ...t Common Ground COM The spec and wiring are the same with SVON pin Please refer to 3 8 3 10 VCC Pin There is one pin named VCC 5V on Pin5 of CN1 This voltage source isfrom computer directly Please don t use this voltage source on any devices which are connected to PCI 8136M s isolation I Os If not the grounds will be connected both at the isolative sides and the noise will be introduced from this ...

Страница 40: ...rator Driver and Motor Encoder Read encoder feedback Can be opened no connection to OUT DIR pins from EA EB pins Internal connected only for axis 0 to 2 1 AD DA is free to use at this mode 2 DIO is free to use at this mode if not set motion I O active 3 Others ADPIO are free to use except this axis 4 Encoder 0 2 are free to use if feedback loop is opened Closed Loop Control Mode axis independent U...

Страница 41: ...al DIO Section 4 4 Pulse Input and position compare Section 4 5 Pulse Output Section 4 6 Remote serial IO Section 4 7 Introduction to DDA Section 4 8 Open loop and closed loop control Section 4 9 Constant velocity motion Section 4 10 Trapezoidal Motion Section 4 11 S Curve Motion Section 4 12 2D Interpolation Section 4 13 3D Interpolation Section 4 14 Home return mode Section 4 15 Motion Parameter...

Страница 42: ...ASIC PCI9050 Motion ASIC DAC ENC LIO ADC RIO PCL DDA ADC Please refer to section 4 1 AD Conversion and Preloaded Trigger DAC Please refer to section 4 2 DA Conversion LIO Please refer to section 4 3 DIO ENC Please refer to section 4 4 Pulse Input and Position Compare RIO Please refer to section 4 6 Remote serial IO DDA Please refer to section 4 5 and 4 7 PCL Please refer to section 4 8 ...

Страница 43: ... is 12 bit The following figure shows the A voltage or current to D value read converting table The zero voltage or current is at value 2000 Related functions _8136_A_Initial please refer to section 5 2 _8136_A_Read_Value _8136_A_Read_Volt please refer to section 5 7 4 1 2 Voltage Compare The voltage compare function of PCI 8136 is very useful It allows us er to set a compare value by software fun...

Страница 44: ... The value will be sent once any trigger condition for this channel is happened The trigger source could be from encoder counter comparators or ADCs by setting the trigger map in the software functions Users can set every channel s trigger sources independently The compare method could be set in Set_Int_Factor function Related functions _8136_A_Initial please refer to section 5 2 _8136_A_Write_Val...

Страница 45: ... The max current passing trough DIf must b e less than 20mA Related functions _8136_D_Input _8136_D_InputA please refer to section 5 5 4 3 2 Digital Output The PCI 8136M provides 7 open collector output channels with 2500rms isolation Please carefully refer to section 3 7 3 8 for the circuit wiring DO COM DOut Inside PCI 8136 DOx DGND PhotoCouple Isolation EXGND ULN2003 Related functions _8136_D_O...

Страница 46: ...ted to be multiplied by a factor of 1 2 or 4x AB phase mode is the most commonly used for incremental encoder input For example if a rotary encoder has 2000 pulses per phase A or B phase then the value read from the counter will be 8000 pulses per turn or 8000 pulses per turn depends on its turning direction These input modes can be selected by software function call Plus and Minus Pulses Input Mo...

Страница 47: ...unter value to increase or decrease Direction whereas EA decide the count number Pulse 4 4 2 Position Counter Value Capture Latch The EZ index signal of each pulse input channel doesn t affect counter value It can capture latch current counter value by proper setting and generates an interrupt signal when receiving a rising edge The counter value capture function is very useful to sensing position...

Страница 48: ...els Once the counter value is reached the pre set compare value an interrupt signal will be generated immediately This function can effectively reduce the overhead of CPU s polling for current position Related functions _8136_S_Set_Int_Factor please refer to section 5 9 _8136_P_Set_Compare_Value please refer to section 5 8 ...

Страница 49: ...ion output Pulse DIR In this mode the high low status of DIR defines the plus negative direction whereas OUT generates the pulse train Plus and Minus Pulses Output Mode CW CCW Mode In this mode plus frequency plus direction goes on OUT whereas negative frequency negative direction is generated from DIR 90 phase difference signals Output Mode AB phase Mode In this mode the OUT signal is 90 phase le...

Страница 50: ...ation Theorem Related functions _8136_P_Initial please refer to section 5 2 _8136_P_Set_Output_Type _8136_P_Send _8136_P_Stop _8136_P_Change_Speed please refer to section 5 2 OUT DIR Negative Direction OUT DIR ...

Страница 51: ...ach set may consist at most 64DI and 64DO To use remote serial IO function a slave module is needed Note The remote I O functions are reserved on current version Related functions _8136_R_Initial please refer to section 5 2 _8136_R_Status _8136_R_Write _8136_R_Read please refer to section 5 6 ...

Страница 52: ...ata The data is transmitted via PCI Bus into FIFO in PCI 8136M The size of FIFO is 64 for each axis Every 4ms or less the DDA engine takes a data from FIFO and send these pulses to motor driver with equal time interval The DDA engine is in charge of generate pulse in a smooth way If DDA takes a data of 500 from FIFO it generates a pulse every 8µs in the following 4ms Its means that the DDA engine ...

Страница 53: ... Pulse Direction or AB phase pulses chains will generated from OUT DIR channels 4 8 2 Close loop control When the DAC channel is selected as motion command output the block diagram is as following figure In this mode the pulse output channel OUT DIR is disabled and won t generate any pulse signals The DAC output value is decided by position error multiplied by Kp gain Position error is calculated ...

Страница 54: ...erate constantly while the _8136_sv_move function is to accelerate according to S curve constant jerk The pulse output rate will keep at maximum velocity until stop function is issued The _8136_motion_stop function is used to stop the velocity to zero stop The following graph is the trapezoidal velocity profile for v_move function Relative Functions _8136_v_move _8136_motion_stop _8132_sv_move Ref...

Страница 55: ... actual position so External encoder feedback EA EB pins must be connected or the feedback source must be assigned in _8136_M_set_Feedback function if you don t have encoder on axis0 to 2 You can assign the feedback source to be the command pulses only if you are using axis0 to 2 Otherwise you must connect a encoder feedback signal on that axis An example for PTP motion function is as follows _813...

Страница 56: ... Functions _8136_P_Initial refer to section 5 2 _8136_Motion_Stop refer to section 5 18 _8136_Motion_Status refer to section 5 12 _8136_Start_TR_Move _8136_Start_TA_Move refer to section 5 13 Velocity pps str_vel Tacc Tdec max_vel ...

Страница 57: ...s all sent The following diagram shows the trapezoidal profile The target position or distance must be given in the unit of pulse The physical length or angle of one movement is dependent on the motor driver and the mechanism includes the motor Since absolute move mode needs the information of current actual position so External encoder feedback EA EB pins must be connected or the feedback source ...

Страница 58: ... i e the moving distance is too small to reach maximum velocity the maximum velocity is automatically lowered and recalculated the deceleration time The trapezoidal motion also has these characteristics but its shape is like a triangle Relative Functions _8136_P_Initial refer to section 5 2 _8136_Motion_Stop refer to section 5 18 _8136_Motion_Status refer to section 5 12 _8136_Start_SR_Move _8136_...

Страница 59: ... moving speed along X axis and Y axis will be X t Y t respectively The interpolation function of PCI 8136M has similar format For example a S Curve 2 axis 2 and 3 linear interpolation int16 AxisArray 2 2 3 _8136_Start_S_Move_XY CardNo AxisArray Px Py Start_V Max_V Tacc Tdec The first axis at the axis array of interpolation functions is the main axis and the other axis is the secondary axis The spe...

Страница 60: ...D0 AxisArray 0 10000 360 0 100 10000 1 0 2 0 The third and fourth parameters represent the arc center The fifth parameter means total arc angle 1 0000 00 500 0 0 0 0 00 5000 00 100 00 00 2000 0 0 0 1600 0 0 0 1200 0 0 0 800 0 0 0 400 0 0 0 0 0 0 The position of Axis 1 Axis 2 are shown as followings 0 00 400 00 800 00 1200 00 1600 00 2000 00 10000 00 5000 00 0 00 5000 00 10000 00 0 00 400 00 800 00...

Страница 61: ...Functions _8136_P_Initial refer to section 5 2 _8136_Motion_Stop refer to section 5 18 _8136_Motion_Status refer to section 5 12 _8136_Start_Move_XY _8136_Start_S_Move_XY _8136_Start_Arc_XY _8136_Start_S_Arc_XY Refer to section 5 14 ...

Страница 62: ...ph is the result of 3 axes linear interpolation The command line of the result is int16 AxisArray 3 2 3 4 Start_Move_XYZ CARD0 AxisArray 20000 10000 5000 0 100 30000 0 01 0 1 Parameters 3 to 5 means the absolute position of the next 3D point 0 0 5 1 1 5 2 x 10 4 0 5000 10000 0 1 2 3 4 5 x 10 4 Relative Functions _8136_P_Initial refer to section 5 2 _8136_Motion_Stop refer to section 5 18 _8136_Mot...

Страница 63: ... the axis will start to move toward one direction until the ORG signal is reached Once the ORG is triggered the axis will stop immediately and clear the encoder counter The example of homing function is as follows _8136_Home_Move CardNo AxisNo Str_V Max_V Tacc The Str_V and Max_V s value decide the searching direction of homing Relative Functions _8136_P_Initial refer to section 5 2 _8136_Motion_S...

Страница 64: ...dth 32µs 16µs 8µs 4µs 2µs 1µs Control Loop Cycle Time 32 768ms 16 384ms 8 192ms 4 096ms 2 048ms 4 096ms default 1 024ms 2 048ms 4 096ms If the stepping motor or pulse type servo driver is used the pulse width and maximum motor speed must be set properly If a voltage command servo driver is used the loop cycle time could be set higher as fast as the computer is capable to run If the system becomes ...

Страница 65: ...T and DIR are toward positive direction the pulse train will be immediately stopped when the PEL signal is inserted while the MEL signal is meaningless in this case and vise versa When the PEL is inserted and the output pulse is fully stop only the negative minus direction output pulse can be generated for moving the motor to negative minus direction The end limit signals can be used to generate t...

Страница 66: ...58 Operation Theorem Relative Functions _8136_M_Set_IO_Active refer to section 5 11 _8136_M_ORG_Status _8136_M_PEL_Status _8136_M_MEL_Status _8136_M_ALM_Status refer to section 5 12 ...

Страница 67: ...ADC is analog compare true INP is motion command finished For each axis number the interrupt can be set according to this table Because users can t deal with interrupt under Windows System PCI 8136M has another way for user to receive interrupts That is Windows message system This card uses events to notice user s program if interrupt is coming Users can create a thread to get the interrupt events...

Страница 68: ...1 Define a Global Value to deal with interrupt event HANDLE hEvent 7 volatile bool ThreadOn 2 In Initializing Section you must Initialize PCI 8136M properly first set interrupt types and enable an event for each axis _8136_S_Set_Int_Factor 0 0 0x40 _8136_S_INT_Control 0 1 _8136_INT_Enable 0 hEvent 0 _8136_INT_Enable function Note For each card you must assign a 7 events array in 3 Define a Global ...

Страница 69: ...d and use WaitForSingleObject for each events in order to guarantee the performance You can also use _8136_Callback_Function to receive INT event and ignore the above method but the interrupt service routine in this function should be programmed carefully The total spent time in this call back function should not be too long Relative Functions _8136_INT_Enable _8136_INT_Disable _8136_S_Set_Int_Fac...

Страница 70: ...ger 32768 to 32767 U16 16 bit unsigned integer 0 to 65535 I32 32 bit signed long integer 2147483648 to 2147483647 U32 32 bit unsigned long integer 0 to 4294967295 F32 32 bit single precision floating point 3 402823E38 to 3 402823E38 F64 64 bit double precision floating point 1 797683134862315E308 to 1 797683134862315E309 Boolean Boolean logic value TRUE FALSE The functions of PCI 8136 s software d...

Страница 71: ...emote Analog I O Section 5 7 _8136_A_Write_Value cardno ch value Output DAC in value _8136_A_Write_Volt cardno ch value Output DAC in voltage _8136_A_Read_Value cardno ch value Input from ADC in value _8136_A_Read_Volt cardno ch volt Input from ADC in voltage _8136_A_Output_Control cardno ch ctrl Start or stop DAC output _8136_A_Set_Trigger cardno ch ctrl Set DAC output by trigger _8136_A_Set_Trig...

Страница 72: ...cardno axisno speed Get axis speed _8136_Motion_Status cardno axisno Get motion status PTP Movement Section 5 13 _8136_Start_TR_Move cd ax dist sv mv ta td Trapezoidal relative move _8136_Start_SR_Move cd ax dist sv mv ta td S Curve relative move _8136_Start_TA_Move cd ax pos sv mv ta td Trapezoidal absolute move _8136_Start_SA_Move cd ax pos sv mv ta td S Curve absolute move 2D Interpolation Sect...

Страница 73: ... function before the program ends _8136_A_Initial This function enables serial ADC and DAC functions and set the transmission clock divider User must use this function before he wants to use Analog IO _8136_P_Initial This function is for setting the encoder counter s clockand enable pulse output functions User must use this function to enable pulse input and output Syntax C C DOS Windows 95 98 NT ...

Страница 74: ...o card number designated to set Range 0 3 AxisNo axis number designated to set Range 0 5 existCards a return value to indicate how many cards are found SlaveNo assign slave number Range 0 1 SlaveControl Enable Disable Slave Module 1 for enable 0 for disable Return Code ERR_RangeError ERR_PCIBiosNotExist ERR_NoError ...

Страница 75: ...DAC transmission rate The maximum transmission clock is about 8 33 Mhz and the minimum is about 65Khz _8136_A_Set_ADC_Clk There are 6 serial type AD channels in PCI 8136 This function is for setting the ADC transmission clock Assign a clock divider number to change the DAC transmission rate The maximum transmission clock is about 8 33 Mhz and the minimum is about 65Khz _8136_S_Set_Timer_Value Ther...

Страница 76: ...eger As Integer B_8136_A_Set_DAC_Clk ByVal CardNo As Integer ByVal Clk_Divider As Integer As Integer B_8136_A_Set_ADC_Clk ByVal CardNo As Integer ByVal Clk_Divider As Integer As Integer B_8136_S_Set_Timer_Value ByVal CardNo As Integer ByVal TimerValue As Long As Integer B_8136_P_Set_Enc_Filter ByVal CardNo As Integer ByVal Filter As Integer As Integer Arguments CardNo card number designated to set...

Страница 77: ...d user can use this function to get the I O Base Address which is assigned by PCI BIOS This value is no meaning when operating this card It is only a part of PCI 813 s information Syntax C C DOS Windows 95 98 NT 2000 void _8136_S_Get_IRQ_Channel I16 cardNo U16 irq_no void _8136_S_Get_Base_Addr I16 cardNo U16 base_addr Visual Basic 5 0 or higher B_8136_S_Get_IRQ_Channel ByVal cardNo As Integer irq_...

Страница 78: ...he pin assignment for bit numbers _8136_D_OutputA There are 7 open collector output channels in PCI 8136 This function is for controlling these output bits by setting them on or off This function can set all output channels on off by a value once Each bit of this value represents the actual output bit Please refer to the pin assignment for bit numbers _8136_D_InputA There are 19 open isolated digi...

Страница 79: ...eger ByVal Value As Integer As Integer B_8136_D_InputA ByVal CardNo As Integer Value As Long As Integer Argument CardNo card number designated to set Range 0 3 Channel channel number designated to set Range 0 6 Control control value for the designated channel Range 0 1 Value control value for all digital output Range 0 0x7f Control return value for designated channel Range 0 1 Value return value f...

Страница 80: ...o use this function _8136_R_Read This function is for reading a word from one set Each slave module has 4 sets User must assign the slave number and set number and a value to use this function Syntax C C DOS Windows 95 98 NT 2000 I16 _8136_R_Status I16 CardNo U16 _8136_R_Write I16 CardNo I16 SlaveNo I16 SetNo U16 SetValue U16 _8136_R_Read I16 CardNo I16 SlaveNo I16 SetNo U16 SetValue Visual Basic ...

Страница 81: ...Motion Libra 73 SetNo I O range in slave module 0 bit 0 15 1 bit 16 31 2 bit 32 47 3 bit 48 63 SetValue 16 bit value to write SetValue 16 bit value to read Return Code ERR_RangeError ERR_NoError ...

Страница 82: ...hannels are free to run individually _8136_A_Write_Volt This function is for generating a DC value from DAC channel The resolution of DA converter is 16 bits User can assign a voltage value to this function directly The range of voltage value is from 10 0 to 10 0 There are six channels in one card All channels are free to run individually _8136_A_Read_Value This function is for reading a digital v...

Страница 83: ...put this preload value _8136_A_Set_Compare_Value This function is for DAC trigger output or simply for generating ADC comparator interrupt When user wants to output a preload voltage which is triggered by ADC level the trigger level must be set by this function The trigger level is set by a 12 bits ADC value with a range from 0 to 4000 _8136_A_Set_Compare_Volt This function is for DAC trigger outp...

Страница 84: ...36_A_Set_Compare_Volt ByVal CardNo As Integer ByVal Channel As Integer ByVal Volt As Double As Integer B_8136_A_Output_Control ByVal CardNo As Integer ByVal Channel As Integer ByVal Control As Integer As Integer B_8136_A_Set_Trigger_Map ByVal CardNo As Integer ByVal Channel As Integer ByVal Source As Integer As Integer B_8136_A_Set_Trigger ByVal CardNo As Integer ByVal Channel As Integer ByVal Con...

Страница 85: ...value 2 is for A B phase type _8136_P_Set_Input_Type There are 3 encoder counter input types in PCI 8136 This function is for configuring encoder counter input type Write a value 0 is for A B phase type Write a value 1 is for CW CCW type Write a value 2 is for pulse direction type When setting A B phase type user must assign the multiplier value by this function _8136_P_Read This function is for r...

Страница 86: ...or this latch Set 0 to be first trigger latch and set 1 to be last trigger latch First trigger latch means only trigger once and last trigger latch means latch every time if index signal comes _8136_P_Read_Latch_Value Once the encoder counter is latched Use this function can get the counter value at latched moment It will not be clear until next index latched signal is coming _8136_P_Set_Compare_V...

Страница 87: ...P_Stop ByVal CardNo As Integer ByVal AxisNo As Integer As Integer B_8136_P_Clear ByVal CardNo As Integer ByVal EncNo As Integer As Integer B_8136_P_Set_Compare_Value ByVal CardNo As Integer ByVal EncNo As Integer ByVal CompValue As Long As Integer B_8136_P_Read_Latch_Value ByVal CardNo As Integer ByVal EncNo As Integer Value As Long As Integer B_8136_P_Set_Index_Latch ByVal CardNo As Integer ByVal...

Страница 88: ... encoder data FrqL Pulse output frequency Range 0 500k Hz CompValue Encoder Compare Value Index Index Status 0 or 1 Type two trigger latch mode 0 for first trigger 1 for last trigger WhichIndex select index no 0 5 Frq Pulse output frequency for change Range 0 500k Hz Return Code ERR_RangeError ERR_PCIBiosNotExist ERR_NoError ...

Страница 89: ...annel Every channel has 6 types of interrupt can be set It includes four digital input interrupt index interrupt encoder compare interrupt timer interrupt and voltage compare interrupt _8136_S_INT_Control This function controls the hardware interrupt pin The interrupt won t come if this function hasn t used _8136_S_Get_Int_Status Once the interrupt comes user must use this function to check the in...

Страница 90: ...r ByVal OptionType As Integer As Integer B_8136_S_Get_Int_Status ByVal CardNo As Integer ByVal AxisNo As Integer IntStatus As Long As Integer B_8136_Callback_Function ByVal CardNo As Integer ByVal lpCallBackProc As Long As Integer Arguments CardNo card number designated to set Range 0 3 ChannelNo channel number designated to set Range 0 6 phEvent event handler array contains 7 handler for each car...

Страница 91: ...Encoder value compared bit6 Timer interrupt bit7 ADC pre load value reached OptionType Set ADC compare direction 1 Rising Direction 2 Falling Driection 3 Both Direction callbackAddr I16 AxisNo U16 IntSts function pointer type Return Code ERR_RangeError ERR_NoError ...

Страница 92: ... Users can choose any axis for V command mode and the other axes for pulse command mode Users also can utilize other channels which are not for motion to get data or send command Default situation is for pulse command open loop mode after you use P_Initial command If users wants to use closed loop control mode they must use P_Initial first then C_Initial Syntax C C DOS Windows 95 98 NT 2000 I16_81...

Страница 93: ...e corresponding cycle time for 32k 64k 128k 256k are 32 768ms 16 384ms 8 192ms and 4 096ms Windows NT system is not a real time system so please choose the most suitable and stable cycle time for your system _8136_M_Set_IO_Active This function enables PEL MEL ALM ORG checking when sending pulses For example one user needs to use axis0 and axis 1 for motion control He must use this function to enab...

Страница 94: ...gic ByVal CardNo As Integer ByVal Home_Logic As Integer ByVal EL_Logic As Integer ByVal ALM_Logic As Integer As Integer B_8136_M_Set_IO_Active ByVal CardNo As Integer ByVal AxisNo As Integer ByVal Control As Integer As Integer B_8136_M_Set_System_Param ByVal CardNo As Integer ByVal Speed As Integer ByVal CycleTime As Integer As Integer B_8136_A_Set_Source ByVal CardNo As Integer ByVal Channel As I...

Страница 95: ...Libra 87 2 128k 3 256k 4 512k 5 1024k CycleTime select motion cycle time 0 1 024ms for 1024k only 1 2 048ms for 512k and 1024k only 3 4 096ms for 256 512k and 1024k only Return Code ERR_RangeError ERR_NoError ...

Страница 96: ...on is for checking the PEL pin s status _8136_M_MEL_Status There are 6 MEL minus limit switch digital input pins in PCI 8136M Every axis has one MEL pin for protection This function is for checking the MEL pin s status _8136_M_ALM_Status There is one ALM alarm switch digital input pins in PCI 8136M Every PCI 8136M has one ALM pin for protection This function is for checking the ALM pin s status _8...

Страница 97: ...Channel As Integer As Integer B_8136_M_MEL_Status ByVal CardNo As Integer ByVal Channel As Integer As Integer B_8136_M_ALM_Status ByVal CardNo As Integer B_8136_Motion_Status ByVal CardNo As Integer ByVal AxisNo As Integer As Integer B_8136_M_Get_Speed ByVal CardNo As Integer ByVal AxisNo As Integer Speed As Double As Integer Argument CardNo card number designated to set Range 0 3 AxisNo axis numb...

Страница 98: ...r s program after it starts _8136_Start_SA_Move This function is for users to start a S Curve velocity profile absolute PTP motion It wont occupy user s program after it starts Syntax C C DOS Windows 95 98 NT 2000 I16 _8136_Start_TR_Move I16 CardNo I16 AxisNo I32 Dist F64 StrVel F64 MaxVel F64 Tacc F64 Tdec I16 _8136_Start_SR_Move I16 CardNo I16 AxisNo I32 Dist F64 StrVel F64 MaxVel F64 Tacc F64 T...

Страница 99: ...ByVal CardNo As Integer ByVal AxisNo As Integer ByVal Pos As Long ByVal StrVel As Double ByVal MaxVel As Double ByVal Tacc As Double ByVal Tdec As Double Argument CardNo card number designated to set Range 0 3 AxisNo axis number designated to set Range 0 5 Dist PTP distance in pulse Range 32bits Pos PTP absolute position in pulse Range 32bits StrVel starting velocity MaxVel maximum velocity Tacc a...

Страница 100: ...position for any two axes in one Card _8136_Start_S_Move_XY This function is for 2D linear interpolation of S curve velocity profile motion with absolute position for any two axes in one Card _8136_Start_S_Move_XY _8136_Start_S_Arc_XY This function is for 2D circular interpolation of S curve velocity profile motion with absolute position for any two axes in one Card Syntax C C DOS Windows 95 98 NT...

Страница 101: ... As Integer IByVal PX As Long ByVal PY As Long ByVal StrVel As Double ByVal MaxVel As Double ByVal Tacc As Double ByVal Tdec As Double As Integer B_8136_Start_S_Arc_XY ByVal CardNo As Integer AxisArray As Integer ByVal PX As Long ByVal PY As Long ByVal Angle As Double ByVal StrVel As Double ByVal MaxVel As Double ByVal Tacc As Double ByVal Tdec As Double As Integer Argument CardNo card number desi...

Страница 102: ...axes in one Card Syntax C C DOS Windows 95 98 NT 2000 I16 _8136_Start_Move_XYZ I16 CardNo I16 AxisArray I32 PX I32 PY I32 PZ F64 StrVel F64 MaxVel F64 Tacc F64 Tdec I16 _8136_Start_S_Move_XYZ I16 CardNo I16 AxisArray I32 PX I32 PY I32 PZ F64 StrVel F64 MaxVel F64 Tacc F64 Tdec Visual Basic 5 0 or higher B_8136_Start_Move_XYZ ByVal CardNo As Integer AxisArray As Integer ByVal PX As Long ByVal PY As...

Страница 103: ...ge 0 3 AxisNo axis number designated to set Range 0 5 PX line x position PY line y position PZ line z position StrVel starting velocity MaxVel maximum velocity Tacc acceleration time in seconds Tdec deceleration time in seconds Return Code ERR_RangeError ERR_NoError ...

Страница 104: ... S curve acceleration move of one axis Syntax C C DOS Windows 95 98 NT 2000 I16 _8136_V_Move I16 CardNo I16 AxisNo F64 StrVel F64 MaxVel F64 Tacc I16 _8136_SV_Move I16 CardNo I16 AxisNo F64 StrVel F64 MaxVel F64 Tacc Visual Basic 5 0 or higher B_8136_V_Move ByVal CardNo As Integer ByVal AxisNo As Integer ByVal StrVel As Double ByVal MaxVel As Double ByVal Tacc As Double B_8136_SV_Move ByVal CardNo...

Страница 105: ...ax C C DOS Windows 95 98 NT 2000 I16 _8136_Home_Move I16 CardNo I16 AxisNo F64 StrVel F64 MaxVel F64 Tacc Visual Basic 5 0 or higher B_8136_Home_Move ByVal CardNo As Integer ByVal AxisNo As Integer ByVal StrVel As Double ByVal MaxVel As Double ByVal Tacc As Double As Integer Argument CardNo card number designated to set Range 0 3 AxisNo axis number designated to set Range 0 5 StrVel starting veloc...

Страница 106: ... and the other is shift gain Kp2 The total compensation gain is Kp1 2 Kp2 16 Syntax C C DOS Windows 95 98 NT 2000 I16 _8136_Motion_Stop I16 CardNo I16 AxisNo I16 _8136_C_Set_Gain I16 cardNo I16 Axis I16 Kp1 I16 Kp2 Visual Basic 5 0 or higher B_8136_Motion_Stop ByVal CardNo As Integer ByVal AxisNo As Integer As Integer B_8136_C_Set_Gain ByVal cardNo As Integer ByVal Axis As Integer ByVal Kp1 As Int...

Страница 107: ...quipment has been used in a manner exceeding its specifications or if the serial number has been removed ADLINK does not assume any liability for consequential damages as a result from our product uses and in any event our liability shall not exceed the original selling price of the equipment The remedies provided herein are the customer s sole and exclusive remedies In no event shall ADLINK be li...

Отзывы: