background image

204

Function Library

6.20 Soft Limit

@ Name

_8154_disable_soft_limit

 – Disable soft limit function

_8154_enable_soft_limit

 – Enable soft limit function

_8154_set_soft_limit

 – Set soft limit

@ Description

_8154_disable_soft_limit

:

This function is used to disable the soft limit function.

_8154_enable_soft_limit

:

This function is used to enable the soft limit function. Once
enabled, the action of soft limit will be exactly the same as
physical limit. 

_8154_set_soft_limit

:

This function is used to set the soft limit value.

@ Syntax

C/C++(Windows 2000/XP)

I16 _8154_disable_soft_limit(I16 AxisNo);

I16 _8154_enable_soft_limit(I16 AxisNo, I16 

Action);

I16 _8154_set_soft_limit(I16 AxisNo, I32 

PlusLimit, I32 MinusLimit);

Visual Basic (Windows 2000/XP)

B_8154_disable_soft_limit(ByVal AxisNo As Integer) As Integer

B_8154_enable_soft_limit(ByVal AxisNo As Integer, 

ByVal Action As Integer) As Integer

B_8154_set_soft_limit(ByVal AxisNo As Integer, 

ByVal PlusLimit As Long, ByVal MinusLimit As 

Long) As Integer

Summary of Contents for PCI-8154

Page 1: ...Advance Technologies Automate the World Manual Rev 2 00 Revision Date February 22 2006 Part No 50 11146 1000 PCI 8154 Advanced Modulized 4 Axis Servo Stepper Motion Control Card User s Manual ...

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

Page 3: ...vice adlinktech com TEL 886 2 82265877 FAX 886 2 82265717 Address 9F No 166 Jian Yi Road Chungho City Taipei 235 Taiwan Please email or FAX this completed service form for prompt and satisfactory service Company Information Company Organization Contact Person E mail Address Address Country TEL FAX Web Site Product Information Product Model Environment OS M B CPU Chipset BIOS Please give a detailed...

Page 4: ......

Page 5: ...ction 11 Installation Procedures 11 Troubleshooting4 11 2 4 Software Driver Installation 13 2 5 CN3 Pin Assignments Main Connector 13 2 6 K1 K2 Pin Assignments Simultaneous Start Stop 15 2 7 JP2 to JP9 Jumper Setting for Pulse Output 15 2 8 SW1 Card Index Selection 16 2 9 CN4 Manual Pulsar 17 3 Signal Connections 19 3 1 Pulse Output Signals OUT and DIR 20 3 2 Encoder Feedback Signals EA EB and EZ ...

Page 6: ...e of all motion control types 42 PCI 8154 motion controller type 42 4 2 Motion Control Modes 43 Coordinate system 43 Absolute and relative position move 44 Trapezoidal speed profile 45 S curve and Bell curve speed profile 46 Velocity mode 48 One axis position mode 49 Two axes linear interpolation position mode 50 Two axes circular interpolation mode 51 Continuous motion 52 Home Return Mode 55 Home...

Page 7: ...parators 79 Soft end limit comparators 79 Command and feedback error counter comparators 79 General comparator 79 Trigger comparator 80 4 7 Other Motion Functions 81 Backlash compensation and slip corrections 81 Vibration restriction function 81 Speed profile calculation function 82 4 8 Interrupt Control 83 4 9 Multiple Card Operation 87 5 MotionCreatorPro 89 5 1 Execute MotionCreatorPro 89 5 2 Ab...

Page 8: ...0 Home Return Mode 166 6 11 Manual Pulser Motion 169 6 12 Motion Status 172 6 13 Motion Interface I O 174 6 14 Interrupt Control 182 6 15 Position Control and Counters 186 6 16 Position Compare and Latch 191 6 17 Continuous motion 196 6 18 Multiple Axes Simultaneous Operation 198 6 19 General Purpose DIO 201 6 20 Soft Limit 203 6 21 Backlash Compensation Vibration Suppression 205 6 22 Speed Profil...

Page 9: ...Main Connector 13 Table 2 2 K1 K2 Pin Assignments Simultaneous Start Stop 15 Table 2 3 SW1 Card Index 16 Table 2 4 CN4 Manual Pulsar 17 Table 4 1 Motion Interrupt Source Bit Settings 84 Table 4 2 Error Interrupt return codes 85 Table 6 1 Data type definitions 131 ...

Page 10: ...vi List of Figures List of Figures Figure 1 1 PCI 8154 Block Diagram 2 Figure 1 2 Flow chart for building an application 3 Figure 2 1 PCB Layout of the PCI 8154 10 ...

Page 11: ...ion Like the line scan application the appli cation needs motion controller to generate high speed triggering pulse and gain the high resolution images In this situation you can adopt a DB 8150 to extend the function on PCI 8154 In addi tion to motion control sensors and actuators are key elements in machine automation There typically needs to I O to integrate the sensors and actuators in the cont...

Page 12: ... makers if the whole control system is very huge 2 Emergency Input An emergency input pin can be wired to an emergency button to stop sending pulse output once activated 3 Software s Security Protection To secure applications a 16 bit value can be set in the EEPROM to prevent copying of custom programs Figure 1 1 PCI 8154 Block Diagram ...

Page 13: ...ts all installed axes information and I O signal status of the PCI 8154 Windows programming libraries are also provided for C compil ers and Visual Basic Sample programs are provided to illustrate the operations of the functions Figure 1 2 illustrates a flow chart of the recommended process in using this manual in developing an application Refer to the related chapters for details of each step Fig...

Page 14: ...for all modes X 2 to 4 axes linear interpolation X 2 axes circular interpolation X Continuous interpolation for contour following motion X Change position and speed on the fly X 13 home return modes with auto searching X Hardware backlash compensator and vibration suppression X 2 software end limits for each axis X 28 bit up down counter for incremental encoder feedback X Home switch index signal ...

Page 15: ...ring X Software supports a maximum of up to 12 PCI 8154 cards operation in one system X Compact PCB design X Includes MotionCreatorPro a Microsoft Windows based application development software X PCI 8154 libraries and utilities for Windows 2000 XP Vista ...

Page 16: ...ency 6 55MPPS linear trape zoidal or S Curve velocity profile drive X Internal reference clock 19 66MHz X 28 bit up down counter range 0 268 435 455 or 134 217 728 to 134 217 727 X Position pulse setting range 28 bit 134 217 728 to 134 217 728 X Pulse rate setting range Pulse Ratio 1 65535 Z 0 1 PPS to 6553 5 PPS Multiplier 0 1 Z 1 PPS to 65535 PPS Multiplier 1 Z 100 PPS to 6553500 PPS Multiplier ...

Page 17: ...Input X Servomotor interface I O pins INP ALM and ERC X General purposed digital output pin SVON DO X General purposed digital input pin RDY GDI X Pulse signal input pin PA and PB with Isolation X Simultaneous Start Stop signal STA and STP General Specifications X Connectors 100 pin SCSI type connector X Operating Temperature 0 C 50 C X Storage Temperature 20 C 80 C X Humidity 5 85 non condensing ...

Page 18: ...to set I O logic parameters to be loaded in their own program This product is also bundled with the card Refer to Chapter 5 for more details 1 4 Available Terminal Board ADLINK provides the servo steppers use terminal board for easy connection For steppers we provide DIN 100S which is pin to pin terminal board For servo users ADLINK offers DIN 814M DIN 814M J3A DIN 814Y and DIN 814P A4 The suitabl...

Page 19: ...e connector pin assignments the remain ing sections and wiring the connections 2 1 Package Contents In addition to this User s Guide the package also includes the fol lowing items X PCI 8154 advanced 4 axis Servo Stepper Motion Control Card X ADLINK All in one Compact Disc Note The terminal board is an optional accessory and would not be included in PCI 8154 package If any of these items are missi...

Page 20: ...e 2 1 PCB Layout of the PCI 8154 X CN3 Input Output Signal Connector 100 pin X K1 K2 Simultaneous Start Stop Connector X CN4 Manual Pulsar X SW1 DIP switch for card index selection 0 15 X JP2 JP9 Pulse output selection jumper Line Driver Open Collector ...

Page 21: ... modem monitor etc connected to computer Remove the cover from the computer 3 Select a 32 bit PCI expansion slot PCI slots are shorter than ISA or EISA slots and are usually white or ivory 4 Before handling the PCI 8154 discharge any static buildup on your body by touching the metal case of the computer Hold the edge of the card and do not touch the components 5 Position the board into the PCI slo...

Page 22: ...12 Installation Check the control panel of the Windows system if the card is listed by the system If not check the PCI settings in the BIOS or use another PCI slot ...

Page 23: ...n Off 57 SVON2 O Servo On Off 8 ERC0 O Dev ctr clr Signal 58 ERC2 O Dev ctr clr signal 9 ALM0 I Alarm signal 59 ALM2 I Alarm signal 10 INP0 I In position signal 60 INP2 I In position signal 11 RDY0 I Multi purpose Input signal 61 RDY2 I Multi purpose Input signal 12 EXGND Ext power ground 62 EXGND Ext power ground 13 EA0 I Encoder A phase 63 EA2 I Encoder A phase 14 EA0 I Encoder A phase 64 EA2 I ...

Page 24: ...e 37 PEL0 I End limit signal 87 PEL2 I End limit signal 38 MEL0 I End limit signal 88 MEL2 I End limit signal 39 GDI0 I DI LTC PCS SD CLR0 89 GDI2 I DI LTC PCS SD CLR2 40 DO0 O General Output 0 90 DO2 O General Output 2 41 ORG0 I Origin signal 91 ORG2 I Origin signal 42 EXGND Ext power ground 92 EXGND Ext power ground 43 PEL1 I End limit signal 93 PEL3 I End limit signal 44 MEL1 I End limit signal...

Page 25: ...DIR and OUT The output signal type can either be differential line driver or open collector output Refer to section 3 1 for detail jumper set tings The default setting is differential line driver mode The map ping table is as follows No Name Function 1 5V PCI Bus power Output VCC 2 STA Simultaneous start signal input output 3 STP Simultaneous stop signal input output 4 GND PCI Bus power ground Tab...

Page 26: ...1 is set to ON and the others are OFF that card index is 1 The index value can be from 0 to 15 Refer to the following table for details Card ID Switch Setting ON 1 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 10 1010 11 1011 12 1100 13 1101 14 1110 15 1111 Table 2 3 SW1 Card Index ...

Page 27: ... bus power Therefore these signals are not isolated No Name Function Axis 1 VDD Isolated Power 5V 2 PA Pulser A phase signal input 3 PA Pulser A phase signal input 4 PB Pulser B phase signal input 5 PB Pulser B phase signal input 6 EXGND External Ground 7 N A Not Available 8 N A Not Available 9 N A Not Available Table 2 4 CN4 Manual Pulsar ...

Page 28: ...18 Installation ...

Page 29: ...2 Encoder Feedback Signals EA EB and EZ Section 3 3 Origin Signal ORG Section 3 4 End Limit Signals PEL and MEL Section 3 5 In position signals INP Section 3 6 Alarm signal ALM Section 3 7 Deviation counter clear signal ERC Section 3 8 general purpose signals SVON Section 3 9 General purpose signal RDY Section 3 10 Multifunction output pin DO CMP Section 3 11 Multifunction input signal DI LTC SD P...

Page 30: ... a pair of differential signals For example OUT0 consists of OUT0 and OUT0 signals The following table shows all pulse output signals on CN3 The output of the OUT or DIR signals can be configured by jump ers as either differential line drivers or open collector output Users CN3 Pin No Signal Name Description Axis 3 OUT0 Pulse signals 0 4 OUT0 Pulse signals 0 5 DIR0 Direction signal 0 6 DIR0 Direct...

Page 31: ...is PCI 8154 NOTE If the pulse output is set to open collector output mode OUT and DIR are used to transmit OUT and DIR signals The sink current must not exceed 20mA on the OUT and DIR pins The default setting is 1 2 shorted Output Signal For differential line driver output close breaks between 1 and 2 of For open collector out put close breaks between 2 and 3 of OUT0 JP6 JP6 DIR0 JP7 JP7 OUT1 JP4 ...

Page 32: ... Jumper 2 3 shorted and connect OUT DIR to a 470 ohm pulse input interface s COM of driver See the following figure Choose OUT DIR to connect to driver s OUT DIR Warning The sink current must not exceed 20mA or the 26LS31 will be damaged ...

Page 33: ...exing Its relative sig nal names pin numbers and axis numbers are shown in the fol lowing tables The input circuit of the EA EB and EZ signals is shown as fol lows CN3 Pin No Signal Name Axis CN3 Pin No Signal Name Axis 13 EA0 0 14 EA0 0 15 EB0 0 16 EB0 0 31 EA1 1 32 EA1 1 33 EB1 1 34 EB1 1 63 EA2 2 64 EA2 2 65 EB2 2 66 EB2 2 81 EA3 3 82 EA3 3 83 EB3 3 84 EB3 3 CN3 Pin No Signal Name Axis CN3 Pin ...

Page 34: ...n feed to the motion control ASIC Below are examples of connecting the input signals with an exter nal circuit The input circuit can be connected to an encoder or motor driver if it is equipped with 1 a differential line driver or 2 an open collector output Connection to Line Driver Output To drive the PCI 8154 encoder input the driver output must pro vide at least 3 5V across the differential pai...

Page 35: ... 8154 encoder and the power supply is shown in the diagram below Note that an external current limiting resistor R is necessary to protect the PCI 8154 input circuit The following table lists the suggested resistor values according to the encoder power supply If 8mA For more operation information on the encoder feedback signals refer to section 4 4 Encoder Power V External Resistor R 5V 0Ω None 12...

Page 36: ...the origin on one axis The specifi cations of the limit switch should have contact capacity of 24V 6mA minimum An internal filter circuit is used to filter out any high frequency spikes which may cause errors in the operation When the motion controller is operated in the home return mode the ORG signal is used to inhibit the control output signals OUT and DIR For detailed operations of the ORG sig...

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

Page 38: ...l names pin numbers and axis numbers are shown in the table below The input circuit of the INP signals is shown in the diagram below The in position signal is usually generated by the servomotor driver and is ordinarily an open collector output signal An external circuit must provide at least 8mA current sink capabilities to drive the INP signal CN3 Pin No Signal Name Axis 10 INP0 0 28 INP1 1 60 I...

Page 39: ... axis numbers are shown in the table below The input alarm circuit is shown below The ALM signal usually is generated by the servomotor driver and is ordinarily an open col lector output signal An external circuit must provide at least 8mA current sink capabilities to drive the ALM signal CN3 Pin No Signal Name Axis 9 ALM0 0 27 ALM1 1 59 ALM2 2 77 ALM3 3 ...

Page 40: ...m signal stops OUT and DIR signals 4 An emergency stop command is issued by software operator The signal names pin numbers and axis numbers are shown in the table below The ERC signal is used to clear the deviation counter of the servo motor driver The ERC output circuit is an open collector with a maximum of 35V at 50mA driving capacity CN3 Pin No Signal Name Axis 8 ERC0 0 26 ERC1 1 58 ERC2 2 76 ...

Page 41: ...be used as a servomotor on control or gen eral purpose output signal The signal names pin numbers and its axis numbers are shown in the following table The output circuit for the SVON signal is shown below CN3 Pin No Signal Name Axis 7 SVON0 0 25 SVON1 1 57 SVON2 2 75 SVON3 3 ...

Page 42: ...sed as motor driver ready input or gen eral purpose input signals The signal names pin numbers and axis numbers are shown in the following table The input circuit of RDY signal is shown in the following diagram CN3 Pin No Signal Name Axis 11 RDY0 0 29 RDY1 1 61 RDY2 2 79 RDY3 3 ...

Page 43: ...mparison Output CMP individually When configured as a Comparison Out put pin the pin will generate a pulse signal when the encoder counter matches a pre set value set by the user The multi functional channels are located on CN3 The signal names pin numbers and axis numbers are shown below The following wiring diagram is of the CMP on the first 2 axes CN3 Pin No Signal Name Axis 40 DO CMP0 0 46 DO ...

Page 44: ...osition override or CLR Counter clear or EMG Emergency To select the pin function please refer to 6 12 The multi functional input pins are on CN3 The signal names pin numbers and axis numbers are shown in the following table The multi functional input pin wiring diagram is as follows CN3 Pin No Signal Name Axis 39 DI LTC SD PCS CLR EMG_0 0 45 DI LTC SD PCS CLR EMG_1 1 89 DI LTC SD PCS CLR EMG_2 2 ...

Page 45: ...der The A B phase signals generate the positioning information which guides the motor The pulser signals are used for Axis 0 to Axis 3 User can decide to enable or disable each axis pulser with _8154_disable_pulser_input function The wiring diagram of the differential pulser input pins are as fol lowed CN4 Pin No Signal Name Axis CN4 Pin No Signal Name Axis 2 PA 0 3 3 PA 0 3 4 PB 0 3 5 PB 0 3 ...

Page 46: ...ol and external control are needed With software control the signals can be generated from any one of the PCI 8154 Users can also use an external open collector or switch to drive the STA STP signals for simultaneous start stop If there are two or more PCI 8154 cards connect the K2 connector on the previous card to K1 connector on the following card The K1 and K2 connectors on a same PCI 8154 are ...

Page 47: ...Signal Connections 37 and stop signals to STA and STP pins on the K1 connector of the first PCI 8154 card ...

Page 48: ...38 Signal Connections ...

Page 49: ... etc Motion control relates to speed profile generating tra jectory following multi axes synchronization and coordinating 4 1 1 Voltage motion control interface The interfaces between motion and motor control are changing rapidly Early on a voltage singal was used as a command to the motor controller The amplitude of the signal means how fast a motor is rotating and the time duration of the voltag...

Page 50: ...users must tune the gains on drivers For more than one axes operation motion control seems more important than motor control In industial applications reliable is a very important factor Motor driver vendors make good perfor mance products and a motion controller vendors make powerful and variety motion software Integrated two products make our machine go into perfect 4 1 3 Network motion control ...

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

Page 52: ...e speed parameter calculations are done via our library For example to perform a one axis point to point moition with a trapezoidal speed profile only fill the target position speed and acceleration time in one function Then the motor will run as the profile It takes no CPU resources because every control cycle pulse generation is done by the ASIC The precision of target posi tion depends on motor...

Page 53: ... 0001mm Simple The motion controller will keep the residue value less than 1 pulse and add it to next command The motion controller sends incremental pulses to motor drivers It means that we can only send relative command to motor driver But we can solve this problem by calculating the difference between current position and target position first Then send the differences to motor driver For examp...

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

Page 55: ...ion Sometimes the profile looks like a triangle because the desired distance from user is smaller than the area of given speed parameters When this situation happens the motion controller will lower the maximum velocity but keep the acceleration rate to meet user s distane requirement The chart of this situation is shown as below This kind of speed profile could be applied on velocity mode posi ti...

Page 56: ...areas We call this shape as Bell curve It adds a linear curve between the upper side of s curve and lower side of s curve This shape improves the speed of acceleration and also reduces the vibration of acceleration For a bell curve we define its shape parameters as below X Tacc Acceleration time in second X Tdec Deceleration time in second X StrVel Starting velocity in PPS X MaxVel Maximum velocit...

Page 57: ...n t allow an axis to reach the maximum velocity i e the moving distance is too small to reach MaxVel then the maximum velocity is automatically lowered see the following Figure The rule is to lower the value of MaxVel and the Tacc Tdec VSacc VSdec automatically and keep StrVel acceleration and jerk unchanged This is also applicable to Trapezoidal profile motion This kind of speed profile could be ...

Page 58: ...put pulse accelerates from a starting velocity to a specified maximum velocity It can be follow a linear or S curve acceleration shape The pulse output rate is kept at maximum velocity until another velocity command is set or a stop command is issued The velocity could be overrided by a new speed setting Notice that the new speed could not be a reversed speed of origi nal running speed The speed p...

Page 59: ...form a physical length to pulses Inside our software library we will keep those distance less than one pulse in register and apply them to the next motion function Besides positioning via pulse counts our motion controller provides three types of speed profile to accomplish positioning There are 1st order trape zoidal 2nd order S curve and mixed bell curve Users can call respective functions to pe...

Page 60: ...0 0 to 10 4 The linear inter polation results are shown as below The pulses output from X or Y axis remains 1 2 pulse difference according to a perfect linear line The precision of linear interpola tion is shown as below If users want to stop an interpolation group just call a stop func tion on first axis of the group As in the diagram below 4 axis linear interpolation means to move the XY positio...

Page 61: ...xes simultaneously start from ini tial point 0 0 and stop at end point 1800 600 The path between them is an arc and the MaxVel is the tangential speed Notice that if the end point of arc is not at a proper position it will move circularly without stopping The motion controller will move to the final point user desired even this point is not on the path of arc But if the final point is not at the l...

Page 62: ...nterrupting it The motion controller can make it possible because there are three command buffers pre registers inside When first command is executing users can set second command into first buffer and third command into second buffer Once the first command is finished the motion controller will push the sec ond command to the executing register and the third command to first buffer Now the second...

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

Page 64: ...n is the same concept You can set the speed matched between two command speed set tings If the INP checking is enabled the motion will have some delayed between each command in buffers INP check enabled make the desired point be reached but reduce the smoothing between each command If users don t need this delay and need the smoothing please turn INP checking off ...

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

Page 66: ...56 Operation Theory Home mode 0 ORG Turn ON then reset counter X When SD is not installed X When SD is installed and SD is not latched ...

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

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

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

Page 70: ...60 Operation Theory Home mode 8 EL On then reverse to count EZ number and reset counter not using FA Speed Home mode 9 ORG On then reverse to zero position an extension from mode 0 ...

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

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

Page 73: ...selected the multiplier has additional selection of 1 2 or 4 The following figure shows pulser ratio block diagram 4 2 13 Simultaneous Start Function Simultaneous motion means more than one axis can be started by a Simultaneous signal which could be external or internal signals For external signal users must set move parameters first for all axes then these axes will wait an extern start stop comm...

Page 74: ...ne a 100 speed value then change the speed by percentage of original speed when motion is running If users didn t define the 100 speed value The default 100 speed is the latest motion command s maximum speed This function can be applied on any motion func tion If the running motion is S curve or bell curve the speed over ride will be a pure s curve If the running motion is t curve the speed overri...

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

Page 76: ...ler uses pulse command to control servo step per motors via motor drivers Please set the drivers to position mode which can accept pulse trains as position command The pulse command consists of two signal pairs It is defined as OUT and DIR pins on connector Each signal has two pins as a pair for differential output There are two signal modes for pulse output command 1 single pulse output mode OUT ...

Page 77: ...mmand pulse chain The numbers of OUT pulse represent distance in pulse The fre quency of the OUT pulse represents speed in pulse per second The DIR signal represents command direction of positive or negative The diagrams below show the output waveform It is possible to set the polarity of the pulse chain ...

Page 78: ...ency of the pulse represents speed in pulse per second Pulses output from the CW pin makes the motor move in positive direction whereas pulse output from the CCW pin makes the motor move in negative direction The following diagram shows the output waveform of positive commands and negative commands The command pulses are counted by a 28 bit command counter The command counter can store a value of ...

Page 79: ...ltiply by 4 AB phase mode is the most commonly used in incremental encoder inputs For example if a rotary encoder has 2000 pulses per rotation then the counter value read from the position counter will be 8000 pulses per rotation when the AB phase is multiplied by four If users don t use encoder for motion controller the feedback source for this counter must be set as pulse command output or the c...

Page 80: ... Mode AB phase Mode In this mode the EA signal is a 90 phase leading or lagging in comparison with the EB signal Lead or lag of phase difference between two signals is caused by the turning direction of the motor The up down counter counts up when the phase of EA sig nal leads the phase of EB signal The following diagram shows the waveform The index input EZ signal is as the zero reference in line...

Page 81: ...y will be FALSE when the pulses command is all sent 4 3 4 Servo alarm signal The alarm signal is an output signal from motor driver It tells motion controller that there has something error inside servo motor or driver Once the motion controller receives this signal the pulses command will stop sending and the status of ALM signal will be ON The reasons of alarm could be servo motor s over speed o...

Page 82: ...l be set At following four situations the ERC signal will be outputted auto matically from motion controller to motor driver in order to clear error counter at the same time 1 Home return is complete 2 The end limit switch is touched 3 An alarm signal is active 4 An emergency stop command is issued 4 3 6 Servo ON OFF switch The servo on off switch is a general digital output signal on motion contr...

Page 83: ... as a general input for other purpose It doesn t affect motion control 4 3 8 Servo alarm reset switch The servo driver will raise an alarm signal if there is something wrong inside the servo driver Some alarm situations like servo motor over current over speed over loading and so on Power reset can clear the alarm status but users usually don t want to power off the servo motor when operating Ther...

Page 84: ...must be set properly before doing home procedure Please refer to home mode section for details 4 4 2 End Limit switch signal The end limit switches are usually installed on both ending sides of one axis We must install plus EL at the positive position of the axis and minus EL at the negative position of the axis These two signals are for safety reason If they are installed reversely the protection...

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

Page 86: ...n counter is a 28 bit binary up down counter Its input source is the output pulses from the motion controller It provides the information of the current command position It is useful for debugging the motion system Our motion system is an open loop type The motor driver receives pulses from motion controller and drive the motor to move When the driver is not moving we can check this command counte...

Page 87: ...otion controller is not a closed loop type the feed back position counter is just for reference after motion is moving The position closed loop is done by servo motor driver If the servo driver is well tuned and the mechanical parts are well assembled the total position error will remain in acceptable range after motion command is finished 4 5 3 Command and Feedback error counter The command and f...

Page 88: ...bout 9 8MHz 4 5 5 Target position recorder The target position recorder is used for providing target position information It is used in continuous motion because motion con troller need to know the previous motion command s target posi tion and current motion command s target position in order to calculate relative pulses of current command then send results into pre register Please check if the t...

Page 89: ...mit switch Notice that these two comparators only compare the command position counter Once the command position is over the limited set inside the positive or negative comparators it will stop moving as it touches the end limit switch 4 6 2 Command and feedback error counter comparators This comparator is only for command and feedback counter error Users can use this comparator to check if the er...

Page 90: ...function It depends on the existence of CMP pin of the axis The following diagram shows the application of triggering In this application the table is controlled by the motion command and the CCD Camera is controlled by CMP pin When the compar ing position is reached the pulse will be outputted and the image is captured This is an on the fly image capture If users want to get more images during th...

Page 91: ... number of command pulses in FA speed The backlash compensation is performed each time when the direction changes on operation The slip correction function is performed before a motion command regardless of the direction The correction amount of pulses can be set by function library 4 7 2 Vibration restriction function The method of vibration restriction of the motion controller is by adding one p...

Page 92: ... and a very short distance to motion function the speed profile is not exist for these parame ters At this situation motion library will keep the acceleration and deceleration rate It tries to lower the maximum speed from users automatically to reform a speed profile feasible The following dia gram shows this concept Our motion library has a series of functions to know the actual speed profile of ...

Page 93: ...trol to enable if disable the interrupt service There are three kinds of interrupt sources on PCI 8154 One is motion interrupt source and the other is error interrupt source and another is GPIO interrupt sources Motion and GPIO interrupt sources can be maskable but error interrupt sources can t Motion interrupt sources can be maskable by _8154_set_motion_int_factor Its mask bits are shown as fol l...

Page 94: ... Deceleration End 8 Soft limit or comparator 1 is ON 9 Soft limit or comparator 2 is ON 10 Error comparator or comparator 3 is ON 11 General comparator or comparator 4 is ON 12 Trigger comparator or comparator 5 is ON 13 Counter is reset by CLR input 14 Counter is latched by LTC input 15 Counter is latched by ORG Input 16 SD input turns on 17 0 18 0 19 CSTA input or _8154_start_move_all turns on 2...

Page 95: ...rator or comparator 5 is ON and axis is stopped 5 End Limit is on and axis is stopped 6 End Limit is on and axis is stopped 7 ALM is happened and axis is stop 8 CSTP is ON or _8154_stop_move_all is on and axis is stopped 9 CEMG is on and axis is stopped 10 SD input is on and axis is slowed down to stop 11 0 12 Interpolation operation error and stop 13 axis is stopped from other axis s error stop 1...

Page 96: ... Disable 0 2 Set interrupt sources for Event or GPIO interrupts 3 _8154_set_motion_int_facor AXIS0 0x01 Axis0 nor mally stop 4 _8154_wait_motion_interrupt AXIS0 0x01 1000 Wait 1000ms for normally stop interrupt 5 I16 ErrNo _8154_wait_error_interrupt AXIS0 2000 Wait 2000ms for error interrupts ...

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

Page 98: ...88 Operation Theory ...

Page 99: ...o setup configure test and debug a motion control system that uses 8154 cards Note that MotionCreatorPro is only available for Windows 2000 XP with a screen resolution higher than 1024x768 Recommended screen resolution is 1024x768 It cannot be executed under the DOS environment 5 1 Execute MotionCreatorPro After installing the software drivers for the 8154 in Windows 2000 XP the MotionCreatorPro p...

Page 100: ...r 8154 cards Saved configurations will be automatically loaded the next time MotionCreatorPro is executed Two files 8154 ini and 8154MC ini in the windows root directory are used to save all settings and configurations 3 To duplicate configurations from one system to another copy 8154 ini and 8154MC ini into the windows root directory 4 If multiple 8154 cards use the same MotionCreatorPro saved co...

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

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

Page 103: ...MotionCreatorPro 93 5 3 3 Card Information Menu In this menu it shows some Information about this card ...

Page 104: ...94 MotionCreatorPro 5 3 4 Configuration Menu In the IO_Config_1 menu users can configure ALM INP ERC EL ORG and EZ ...

Page 105: ...54_set_erc 4 EL Response mode Select the response mode of the EL signal The related function call is _8154_set_limit_logic 5 ORG Logic Select the logic of the ORG signal The related function call is _8154_set_home_config 6 EZ Logic Select the logic of the EZ signal The related function call is _8154_set_home_config 7 Buttons Z Next Card Change operating card Z Next Axis Change operating axis Z Sav...

Page 106: ...96 MotionCreatorPro In the IO_Config_2 menu users can configure LTC SD PCS and Select_Input ...

Page 107: ... signal The related function call is _8154_set_pcs_logic 5 Set gpio input Select the configurations of the gpio input The related function call is _8154_set_gpio_input_function 6 Gpio Logic Select the logic of the gpio The related function call is _8154_set_gpio_input_function 7 Buttons Z Next Card Change operating card Z Next Axis Change operating axis Z Save Config Save current configuration to ...

Page 108: ...98 MotionCreatorPro In the Pulse INT_Config menu users can configure pulse input output and move ratio and INT factor ...

Page 109: ...s are _8154_set_pls_iptmode _8154_set_feedback_src 3 INT Factor Select factors to initiate the event int The related function call is _8154_set_int_factor 4 Buttons Z Next Card Change operating card Z Next Axis Change operating axis Z Save Config Save current configuration to 8154 ini And 8154MC ini 5 I O Status The status of motion I O Light On means Active while Light Off indicates inactive The ...

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

Page 111: ...on Z _8154_set_command Z _8154_reset_error_counter Z _8154_reset_target_pos 3 Motion Status Displays the returned value of the _8154_motion_done function The related function is _8154_motion_done 4 INT Status Z int_factor bit no Set int_factor bit Z Normal INT display of Normal INT status The related function is _8154_wait_motion_interrupt Z Error INT display of Error INT status The related func t...

Page 112: ...ns for motion The related functions are _8154_start_ta_move _8154_start_sa_move Z Relative Mode Distance will be used as relative dis placement for motion The related function is _8154_start_tr_move _8154_start_sr_move Z Cont Move Velocity motion mode The related function is _8154_tv_move _8154_start_sv_move Z Manual Pulser Move Manual Pulse motion Clicking this button will invoke the manual pulse...

Page 113: ...number which is effective on certain home return modes Mode Select the home return mode There are 13 modes available Home Mode figure The figure shown explains the actions of the individual home modes Close Click this button close this window 8 Position Set the absolute position for Absolute Mode It is only effective when Absolute Mode is selected 9 Distance Set the relative distance for Relative ...

Page 114: ...ameters Set the parameters for single axis motion This parameter is meaningless if Manual Pulser Move is selected since the velocity and moving dis tance is decided by pulse input Z Start Velocity Set the start velocity of motion in units of PPS In Absolute Mode or Relative Mode only the value is effective For example 100 0 is the same as 100 0 In Cont Move both the value and sign are effective 10...

Page 115: ...on in units of PPS Z SVdec Set the S curve range during deceleration in units of PPS Z Move Delay This setting is effective only when repeat mode is set On It will cause the 8154 to delay for a specified time before it continues to the next motion 14 Speed_Profile Clicking this button will show the Speed Profile 15 Digital I O Display and set Digital I O The related func tions are _8154_get_gpio_o...

Page 116: ... to the velocity setting Z In Manual Pulser Move it causes the axis to go into pulse move The speed limit is the value set by Maxi mum Velocity Right play button Clicking this button will cause the 8154 start to outlet pulses according to previous setting Z In Absolute Mode it causes the axis to move to posi tion Z In Relative Mode it causes the axis to move back wards Z In Cont Move it causes the...

Page 117: ... The related function is _8154_sd_stop 19 I O Status The status of motion I O Light On means Active while Light Off indicates inactive The related function is _8154_get_io_status 20 Buttons Z Next Card Change operating card Z Next Axis Change operating axis Z Save Config Save current configuration to 8154 ini And 8154MC ini Z Close Close the menu ...

Page 118: ...n two axis and four axis menu users can change the settings of two or four selected axis including velocity mode motion preset relative absolute motion User can discover two axis and four axis operation menu are similarly that s because we just introduce two axis menu ...

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

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

Page 121: ...e related functions are _8154_set_position _8154_set_command _8154_reset_error_counter _8154_reset_target_pos Z Axis1 Reset clicking this button will set all positioning counters of selected axis to zero Z ClearPlots Clear the Motion Graph Z Save Config Save current configuration to 8154 ini and 8154MC ini Z Close Close the menu ...

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

Page 123: ...cremental jog means that when you click one directional button the axis will step a distance according to the Step Size s setting 2 Jog Setting Set the parameters for single axis motion This parameter is meaningless if Jog Mode is selected since the velocity and moving distance is decided by pulse input Z Start Velocity Set the start velocity of motion in units of PPS Z Maximum Velocity Set the ma...

Page 124: ...art_sr_move 4 DIR Specified direction of arc CW CCW It is only effec tive when Circular Interpolation Mode is selected 5 Vel Profile Select the velocity profile Both Trapezoidal and S Curve are available for Linear Interpolation Mode and Circular Interpolation Mode 6 Speed Parameters Set the parameters for single axis motion This parameter is meaningless if Linear Interpo lation Mode or Circular I...

Page 125: ...onal button to move 10 Velocity The absolute value of velocity in units of PPS The related function is _8154_get_current_speed 11 Interpolation Command Z Command displays the value of the command counter The related function is _8154_get_command 12 Current Position Z Feedback displays the value of the feedback position counter The related function is _8154_get_position 13 Home Mode Home return mot...

Page 126: ...and optimize option Please refer to section 6 7 and 6 8 to set them After setting these parameters you can enter the arc center and degree in Play Key Frame Click Run button to start cir cular interpolation motion Jog Type Continuous Jog Continuous Jog means that when you press one directional button the axis will continuously move with an increasing speed The longer you press the faster it runs W...

Page 127: ...ce The related function is _8154_start_tr_move_xy _8154_start_sr_move_xy Z In Circular Mode it causes the axis to move to Dis tance By Pos Dist pulse The related function is _8154_start_tr_arc_xy _8154_start_sr_arc_xy Stop Button Clicking this button will cause the 8154 to decel erate and stop The deceleration time is defined in Decel Time The related function is _8154_sd_stop 17 Buttons Z Next Ca...

Page 128: ...rPro 18 Graph Range Frame Z Clear Clear the Motion Graph Z Center Display the Motion Graph in center position 19 Graph Range controls X or Y axis s display range 20 Origin Position let user to pan the display location ...

Page 129: ...MotionCreatorPro 119 5 3 8 Help Menu In this menu users can Click Mouse Right Key to show Help Infor mation ...

Page 130: ...120 MotionCreatorPro ...

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

Page 132: ...he hardware and software version _8154_set_security_key Set security the password _8154_check_security_key Check security the password _8154_reset_security_key Reset the security password to default value _8154_config_from_file Config PCI 8154 setting from file Function Name Description _8154_set_pls_outmode Set pulse command output mode _8154_set_pls_iptmode Set encoder input mode _8154_set_feedb...

Page 133: ...154_get_current_speed Get current speed pulse sec _8154_speed_override Change speed on the fly _8154_set_max_override_speed Set the maximum override speed Function Name Description _8154_start_tr_move Begin a relative trapezoidal profile move _8154_start_ta_move Begin an absolute trapezoidal profile move _8154_start_sr_move Begin a relative S curve profile move _8154_start_sa_move Begin an absolut...

Page 134: ...rpolation for any 2 of 4 axes with trapezoidal profile _8154_start_ta_line2 Begin an absolute 2 axis linear interpolation for any 2 of 4 axes with trapezoidal profile _8154_start_sr_line2 Begin a relative 2 axis linear interpolation for any 2 of 4 axes with S curve profile _8154_start_sa_line2 Begin an absolute 2 axis linear interpolation for any 2 of 4 axes with S curve profile _8154_start_tr_lin...

Page 135: ..._arc_xy Begin a s curve absolute circular interpolation for X Y _8154_start_tr_arc_zu Begin a t curve relative circular interpolation for Z U _8154_start_ta_arc_zu Begin a t curve absolute circular interpolation for Z U _8154_start_sr_arc_zu Begin a s curve relative circular interpolation for Z U _8154_start_sa_arc_zu Begin a s curve absolute circular interpolation for Z U _8154_start_tr_arc2 Begi...

Page 136: ...or X Y and Z _8154_start_sa_helical Begin a s curve absolute helical interpolation for X Y and Z Function Name Description _8154_set_home_config Set the home index logic configuration _8154_home_move Begin a home return action _8154_home_search Perform an auto search home Function Name Description _8154_set_pulser_iptmode Set pulser input mode _8154_disable_pulser_input Disable the pulser input _8...

Page 137: ...g mode _8154_set_erc Set ERC signal s logic and timing _8154_set_erc_out Output an ERC signal _8154_clr_erc Clear the ERC signal _8154_set_sd Set SD signal s logic and operating mode _8154_enable_sd Enable SD signal _8154_set_limit_logic Set EL signal s logic _8154_set_limit_mode Set EL operating mode _8154_get_io_status Get all the motion I O status of 8154 Function Name Description _8154_int_con...

Page 138: ...eral counter _8154_get_target_pos Get the value of the target position recorder _8154_reset_target_pos Reset target position recorder _8154_get_res_distance Get remaining pulses accumulated from motions _8154_set_res_distance Set remaining pulses record Function Name Description _8154_set_trigger_logic Set CMP signal logic _8154_set_error_comparator Set the error comparator _8154_set_general_compa...

Page 139: ...n a multi axis trapezoidal profile motion _8154_stop_move_all Simultaneously stop multi axis motion Function Name Description _8154_set_gpio_output Set digital output _8154_get_gpio_output Get digital output _8154_get_gpio_input Get digital input _8154_set_gpio_input_function Set the signal types to any digital inputs Function Name Description _8154_disable_soft_limit Disable soft limit function _...

Page 140: ...e Description _8154_get_tr_move_profile Get relative trapezoidal speed profile _8154_get_ta_move_profile Get absolute trapezoidal speed profile _8154_get_sr_move_profile Get relative S curve speed profile _8154_get_sa_move_profile Get absolute S curve speed profile ...

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

Page 142: ...s used to initialize an 8154 card without assign ing the hardware resources All 8154 cards must be initialized by this function before calling other functions in your applica tions By setting the parameter Manual_ID user can choose the type that the card s ID is assigned manually or automati cally _8154_close This function is used to close 8154 card and release its resources which should be called...

Page 143: ...o load the configuration of the PCI 8154 according to specified file By using MotionCreatorPro user could test and configure the 8154 correctly After saving the configuration the file would be existed in user s system direc tory as 8154 ini When this function is executed all 8154 cards in the system will be configured as the following functions were called according to parameters recorded in 8154 ...

Page 144: ... XP B_8154_initial CardID_InBit As Integer ByVal Manual_ID As Integer As Integer B_8154_close As Integer B_8154_get_version ByVal card_id As Integer firmware_ver As Integer driver_ver As Long dll_ver As Long As Integer B_8154_set_security_key ByVal card_id As Integer ByVal old_secu_code As Integer ByVal new_secu_code As Integer As Integer B_8154_check_security_key ByVal card_id As Integer ByVal se...

Page 145: ...he card_id could be decided by DIP switch SW1 or depend on slot sequence Please refer to _8154_initial firmware_ver The current firmware version driver_ver The current device driver version dll_ver The current DLL library version old_secu_code Old security code new_secu_code New security code secu_code security code ...

Page 146: ...eter in _8154_set_feedback_src function is enabled _8154_set_pls_outmode Configure the output modes of command pulses There are 6 modes for command pulse output _8154_set_feedback_src If external encoder feedback is available in the system set the Src parameter in this function to an Enabled state Then the internal 28 bit up down counter will count according to the con figuration of the _8154_set_...

Page 147: ... As Integer B_8154_set_feedback_src ByVal AxisNo As Integer ByVal Src As Integer As Integer Argument AxisNo Axis number designated to configure the pulse input out put pls_iptmode Encoder feedback pulse input mode setting EA EB signals pls_logic Logic of encoder feedback pulse card_id Physical axis AxisNo 0 0 0 1 1 2 2 3 3 1 0 4 1 5 Value Meaning 0 1X A B 1 2X A B 2 4X A B 3 CW CCW Value Meaning 0...

Page 148: ...ut mode Src Counter source Value Meaning 0 External signal feedback 1 Command pulse Value Type Positive Direction Negative Direction 0 OUT DIR 1 OUT DIR 2 OUT DIR 3 OUT DIR 4 CW CCW 5 CW CCW 6 AB OUT DIR OUT DIR OUT DIR OUT DIR 7 AB OUT DIR OUT DIR OUT DIR OUT DIR ...

Page 149: ...he velocity is changed or the axis is commanded to stop The direction is determined by the sign of the velocity parameter _8154_sv_move This function is to accelerate an axis to the specified constant velocity with a S curve profile The axis will continue to travel at a constant velocity until the velocity is changed or the axis is commanded to stop The direction is determined by the sign of veloc...

Page 150: ...6 AxisNo F64 StrVel F64 MaxVel F64 Tacc F64 SVacc I16 _8154_emg_stop I16 AxisNo I16 _8154_sd_stop I16 AxisNo F64 Tdec I16 _8154_get_current_speed I16 AxisNo F64 speed Visual Basic6 Windows 2000 XP B_8154_tv_move ByVal AxisNo As Integer ByVal StrVel As Double ByVal MaxVel As Double ByVal Tacc As Double As Integer B_8154_sv_move ByVal AxisNo As Integer ByVal StrVel As Double ByVal MaxVel As Double B...

Page 151: ...locity in units of pulse per second Tacc Specified acceleration time in units of second SVacc Specified velocity interval in which S curve acceleration is performed Note SVacc 0 for pure S Curve Tdec specified deceleration time in units of second Speed Variable to get current speed pulse sec card_id Physical axis AxisNo 0 0 0 1 1 2 2 3 3 1 0 4 1 5 ...

Page 152: ...oving direction is determined by the sign of the Pos or Dist parameter If the moving distance is too short to reach the specified velocity the controller will automatically lower the MaxVel and the Tacc Tdec VSacc and VSdec will also become shorter while dV dt acceleration deceleration and d dV dt dt jerk are keep unchanged _8154_start_tr_move This function causes the axis to accelerate form a sta...

Page 153: ...on completion but immediately returns con trol to the program _8154_start_sa_move This function causes the axis to accelerate from a starting velocity StrVel rotate at constant velocity and decelerates to stop at the specified absolute position with S curve profile The acceleration and deceleration time is specified indepen dently This command does not let the program wait for motion completion bu...

Page 154: ... ByVal Dist As Double ByVal StrVel As Double ByVal MaxVel As Double ByVal Tacc As Double ByVal Tdec As Double As Integer B_8154_start_ta_move ByVal AxisNo As Integer ByVal Pos As Double ByVal StrVel As Double ByVal MaxVel As Double ByVal Tacc As Double ByVal Tdec As Double As Integer B_8154_start_sr_move ByVal AxisNo As Integer ByVal Dist As Double ByVal StrVel As Double ByVal MaxVel As Double ByV...

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

Page 156: ...axis linear inter polation for Z U axis with S curve profile _8154_start_sa_move_zu Begin an absolute 2 axis linear interpolation for Z U axis with S curve profile _8154_start_ta_line2 Begin an absolute 2 axis linear inter polation for any 2 of 4 axes with trapezoidal profile _8154_start_sr_line2 Begin a relative 2 axis linear interpo lation for any 2 of 4 axes with S curve profile _8154_start_sa_...

Page 157: ...il Comparisons of those functions are described by fol low table Note The target two axes of linear interpolation are the 2 of 4 axes on a card Function Total axes Velocity Profile Relative Absolute Target Axes _8154_start_tr_move_xy 2 T R Axes 0 1 _8154_start_ta_move_xy 2 T A Axes 0 1 _8154_start_sr_move_xy 2 S R Axes 0 1 _8154_start_sa_move_xy 2 S A Axes 0 1 _8154_start_tr_move_zu 2 T R Axes 2 3...

Page 158: ...Vel F64 Tacc F64 Tdec I16 _8154_start_ta_move_xy I16 Card_id F64 PosX F64 PosY F64 StrVel F64 MaxVel F64 Tacc F64 Tdec Function Total axes Velocity Profile Relative Absolute Target Axes _8154_start_tr_line3 3 T R Any 3 of 4 axes _8154_start_ta_line3 3 T A Any 3 of 4 axes _8154_start_sr_line3 3 S R Any 3 of 4 axes _8154_start_sa_line3 3 S A Any 3 of 4 axes Function Total axes Velocity Profile Relat...

Page 159: ...4 Tacc F64 Tdec F64 SVacc F64 SVdec I16 _8154_start_tr_line2 I16 AxisArray F64 DistArray F64 StrVel F64 MaxVel F64 Tacc F64 Tdec I16 _8154_start_ta_line2 I16 AxisArray F64 PosArray F64 StrVel F64 MaxVel F64 Tacc F64 Tdec I16 _8154_start_sr_line2 I16 AxisArray F64 DistArray F64 StrVel F64 MaxVel F64 Tacc F64 Tdec F64 SVacc F64 SVdec I16 _8154_start_sa_line2 I16 AxisArray F64 PosArray F64 StrVel F64...

Page 160: ...As Integer ByVal PosX As Double ByVal PosY As Double ByVal StrVel As Double ByVal MaxVel As Double ByVal Tacc As Double ByVal Tdec As Double As Integer B_8154_start_sr_move_xy ByVal Card_id As Integer ByVal DistX As Double ByVal DistY As Double ByVal StrVel As Double ByVal MaxVel As Double ByVal Tacc As Double ByVal Tdec As Double ByVal SVacc As Double ByVal SVdec As Double As Integer B_8154_start...

Page 161: ...rt_ta_line2 AxisArray As Integer PosArray As Double ByVal StrVel As Double ByVal MaxVel As Double ByVal Tacc As Double ByVal Tdec As Double As Integer B_8154_start_sr_line2 AxisArray As Integer DistArray As Double ByVal StrVel As Double ByVal MaxVel As Double ByVal Tacc As Double ByVal Tdec As Double ByVal Svacc As Double ByVal Svdec As Double As Integer B_8154_start_sa_line2 AxisArray As Integer ...

Page 162: ...y As Double ByVal StrVel As Double ByVal MaxVel As Double ByVal Tacc As Double ByVal Tdec As Double As Integer B_8154_start_sr_line4 AxisArray As Integer DistArray As Double ByVal StrVel As Double ByVal MaxVel As Double ByVal Tacc As Double ByVal Tdec As Double ByVal Svacc As Double ByVal Svdec As Double As Integer B_8154_start_sa_line4 AxisArray As Integer PosArray As Double ByVal StrVel As Doubl...

Page 163: ...ified deceleration time in units of seconds SVacc Specified velocity interval in which S curve acceleration is performed Note SVacc 0 for pure S Curve For more details see sec tion 4 2 4 SVdec specified velocity interval in which S curve deceleration is performed Note SVdec 0 for pure S Curve For more details see sec tion 4 2 4 AxisArray Array of axis number to perform interpolation Example I16 Ax...

Page 164: ...brary F64 DistArray 2 1000 0 2000 0 for axis 0 3 PosArray Array of absolute position for linear interpolation Example I16 AxisArray 3 0 2 3 axis 0 2 3 F64 PosArray 3 200 0 300 0 400 0 absolute position for axis 0 2 3 ...

Page 165: ... circular interpolation for Z U axis _8154_start_ta_arc_zu Begin a T curve absolute circular interpolation for Z U axis _8154_start_sr_arc_zu Begin a S curve relative circular interpolation for Z U axis _8154_start_sa_arc_zu Begin a S curve absolute circular interpolation for Z U axis _8154_start_tr_arc2 Begin a T curve relative circular inter polation for any 2 of 4 axes _8154_start_ta_arc2 Begin...

Page 166: ...cc F64 Tdec F64 SVacc F64 SVdec I16 _8154_start_sa_arc_xy I16 card_id F64 Cx F64 Cy F64 Ex F64 Ey I16 CW_CCW F64 StrVel F64 MaxVel F64 Tacc F64 Tdec F64 SVacc F64 SVdec Function Total axes Velocity Profile Relative Absolute Target Axes _8154_start_tr_arc_xy 2 trapezoidal R Axes 0 1 _8154_start_ta_arc_xy 2 trapezoidal A Axes 0 1 _8154_start_sr_arc_xy 2 S curve R Axes 0 1 _8154_start_sa_arc_xy 2 S c...

Page 167: ...F64 MaxVel F64 Tacc F64 Tdec I16 _8154_start_ta_arc2 I16 AxisArray F64 CenterPos F64 EndPos I16 CW_CCW F64 StrVel F64 MaxVel F64 Tacc F64 Tdec I16 _8154_start_sr_arc2 I16 AxisArray F64 OffsetCenter F64 OffsetEnd I16 CW_CCW F64 StrVel F64 MaxVel F64 Tacc F64 Tdec F64 SVacc F64 SVdec I16 _8154_start_sa_arc2 I16 AxisArray F64 CenterPos F64 EndPos I16 CW_CCW F64 StrVel F64 MaxVel F64 Tacc F64 Tdec F64...

Page 168: ...setCx As Double ByVal OffsetCy As Double ByVal OffsetEx As Double ByVal OffsetEy As Double ByVal CW_CCW As Integer ByVal StrVel As Double ByVal MaxVel As Double ByVal Tacc As Double ByVal Tdec As Double B_8154_start_ta_arc_zu ByVal card_id As Integer ByVal Cx As Double ByVal Cy As Double ByVal Ex As Double ByVal Ey As Double ByVal CW_CCW As Integer ByVal StrVel As Double ByVal MaxVel As Double ByV...

Page 169: ..._sr_arc2 AxisArray As Integer OffsetCenter As Double OffsetEnd As Double Byval CW_CCW As Integer ByVal StrVel As Double ByVal MaxVel As Double ByVal Tacc As Double ByVal Tdec As Double ByVal Svacc As Double ByVal Svdec As Double As Integer B_8154_start_sa_arc2 AxisArray As Integer CenterPos As Double EndPos As Double Byval CW_CCW As Integer ByVal StrVel As Double ByVal MaxVel As Double ByVal Tacc ...

Page 170: ...c Ey Y axis second axis of target axes absolute position of end of arc CW_CCW Specified direction of arc StrVel Starting velocity of a velocity profile in units of pulse per second MaxVel Maximum velocity in units of pulse per second Tacc Specified acceleration time in units of seconds Tdec Specified deceleration time in units of seconds SVacc Specified velocity interval in which S curve accelerat...

Page 171: ...le F64 OffsetCenter 2 2000 0 0 0 offset from start position initial point for 1st 2nd axes OffsetEnd Array of the offset to end of arc relative to the start position Example F 64 OffsetEnd 2 4000 0 0 0 offset from start position initial point for 1st 2nd axes CenterPos Array of the center of arc absolute position Example F64 CenterPos 2 2000 0 0 0 absolute center position for 1st 2nd axes EndPos A...

Page 172: ...an be used for circular interpolation between the axes X and Y and to adjust the angle of a jig toward an arc tangent point with the Z axis Also in this operation the U axis operation will be a dummy motion and it cannot be used for any other purpose Syntax C C Windows 2000 XP I16 _8154_start_tr_helical I16 card_id F64 OffsetCx F64 OffsetCy F64 OffsetEx F64 OffsetEy F64 PitchDist I16 CW_CCW F64 St...

Page 173: ...al MaxVel As Double ByVal Tacc As Double ByVal Tdec As Double As Integer B_8154_start_ta_helical Lib 8154 dll Alias _8154_start_ta_helical ByVal card_id As Integer ByVal Cx As Double ByVal Cy As Double ByVal Ex As Double ByVal Ey As Double ByVal PitchPos As Double ByVal CW_CCW As Integer ByVal StrVel As Double ByVal MaxVel As Double ByVal Tacc As Double ByVal Tdec As Double As Integer B_8154_start...

Page 174: ... OffsetCx X axis first axis of target axes offset to center OffsetCy Y axis second axis of target axes offset to center OffsetEx X axis first axis of target axes offset to end of arc OffsetEy Y axis offset to end of arc PitchDist Z axis specified relative distance to move Cx X axis first axis of target axes absoult position of center of arc Cy Y axis second axis of target axes absoult position of ...

Page 175: ...ime in units of seconds Tdec Specified deceleration time in units of seconds SVacc Specified velocity interval in which S curve acceleration is performed Note SVacc 0 for pure S Curve For more details see sec tion 4 2 4 SVdec specified velocity interval in which S curve deceleration is performed Note SVdec 0 for pure S Curve For more details see sec tion 4 2 4 Value Meaning 0 Clockwise cw 1 Counte...

Page 176: ...ion of this function is determined by the home_mode setting users should take care in selecting the initial moving direction Users should also take care to handle conditions when the limit switch is touched or other conditions that are possible causing the axis to stop For more detail description see section 4 2 10 _8154_home_search This function will cause the axis to perform a home search move a...

Page 177: ...logic As Integer ByVal ez_logic As Integer ByVal ez_count As Integer ByVal erc_out As Integer As Integer B_8154_home_move ByVal AxisNo As Integer ByVal StrVel As Double ByVal MaxVel As Double ByVal Tacc As Double As Integer B_8154_home_search ByVal AxisNo As Integer ByVal StrVel As Double ByVal MaxVel As Double ByVal Tacc As Double ByVal ORGOffset As Double As Integer Argument AxisNo Axis number d...

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

Page 179: ...ccording to the manual pulse input The axis will output one pulse when it receives one manual pulse until the _8154_disable_pulser_input function disables the pulser or the output pulse number reaches the distance _8154_pulser_vmove With this command the axis begins to move according to the manual pulse input The axis will output one pulse when it receives one manual pulse until the _8154_disable_...

Page 180: ...t_pulser_iptmode I16 AxisNo I16 InputMode I16 Inverse Visual Basic Windows 2000 XP B_8154_disable_pulser_input ByVal AxisNo As Integer ByVal Disable As Integer As Integer B_8154_pulser_pmove ByVal AxisNo As Integer ByVal Dist As Double ByVal SpeedLimit As Double As Integer B_8154_pulser_vmove ByVal AxisNo As Integer ByVal SpeedLimit As Double As Integer B_8154_set_pulser_ratio ByVal AxisNo As Inte...

Page 181: ...s can move at fastest 100pps even the input pulser signal rate is more then 100pps DivF Divide factor 1 2047 Note When 0 or 2048 is entered the division circuit will be OFF MultiF Multiplication factor 0 31 InputMode Setting of manual pulse input mode from the PA and PB pins card_id Physical axis AxisNo 0 0 0 1 1 2 2 3 3 1 0 4 1 5 Value Meaning 0 1X AB phase type pulse input 1 2X AB phase type pul...

Page 182: ...172 Function Library Inverse Reverse the moving direction from pulse direction Value Meaning 0 no inverse 1 Reverse moving direction ...

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

Page 184: ...ws 2000 XP I16 _8154_motion_done I16 AxisNo Visual Basic Windows 2000 XP B_8154_motion_done ByVal AxisNo As Integer As Integer Argument AxisNo Axis number designated to move or stop card_id Physical axis AxisNo 0 0 0 1 1 2 2 3 3 1 0 4 1 5 ...

Page 185: ...the logic of ERC signal and operating mode _8154_set_erc_out Output an ERC signal _8154_clr_erc Clear the ERC signal _8154_set_sd Set the logic SD signal and operating mode _8154_enable_sd Enable SD signal _8154_set_limit_logic Set the logic of PEL MEL signal _8154_set_limit_mode Set PEL MEL operating mode _8154_get_io_status Get all the motion I O statuses of each 8154 Description _8154_set_servo...

Page 186: ...abled by default _8154_set_alm Set the active logic of the ALARM signal input from the servo driver Two reacting modes are available when the ALARM sig nal is active _8154_set_erc Users can set the logic and on time of the ERC with this func tion It also can set the pulser width of ERC signal _8154_set_erc_out This function is used to output the ERC singal manually _8154_clr_erc This function is u...

Page 187: ...sNo I16 pcs_logic I16 _8154_set_pcs I16 AxisNo I16 enable I16 _8154_set_clr_mode I16 AxisNo I16 clr_mode I16 targetCounterInBit I16 _8154_set_inp I16 AxisNo I16 inp_enable I16 inp_logic Bit Name Description 0 RDY RDY pin input 1 ALM Alarm Signal 2 EL Positive Limit Switch 3 EL Negative Limit Switch 4 ORG Origin Switch 5 DIR DIR output 6 EMG EMG status 7 PCS PCS signal input 8 ERC ERC pin output 9 ...

Page 188: ...Integer ByVal pcs_logic As Integer As Integer B_8154_set_pcs ByVal AxisNo As Integer ByVal enable As Integer As Integer B_8154_set_clr_mode ByVal AxisNo As Integer ByVal clr_mode As Integer ByBal targetCounterInBit as Integer As Integer B_8154_set_inp ByVal AxisNo As Integer ByVal inp_enable As Integer ByVal inp_logic As Integer As Integer B_8154_set_alm ByVal AxisNo As Integer ByVal alm_logic As ...

Page 189: ...ByVal limit_mode As Integer As Integer I16 _8154_get_io_status ByVal AxisNo As Integer io_sts As Integer As Integer Argument AxisNo Axis number designated to move or stop on_off ON OFF state of SVON signal pcs_logic PCS signal input logic enable enable or disable card_id Physical axis AxisNo 0 0 0 1 1 2 2 3 3 1 0 4 1 5 Value Meaning 0 ON 1 OFF Value Meaning 0 Negative logic 1 Positive logic Value ...

Page 190: ... inp_logic Set the active logic for the INP signal alm_logic Setting of active logic for ALARM signals alm_mode Reacting modes when receiving an ALARM signal Value Meaning Bit Description 0 Reset command counter when CLR input turns ON 1 Reset position counter when CLR input turns ON 2 Reset error counter when CLR input turns ON 3 Reset general purpose counter when CLR input turns ON Value Meaning...

Page 191: ...rol for the SD signal Value Mmeaning 0 Negative logic 1 Positive logic Value Meaning 0 12 μs 1 102 μs 2 409 μs 3 1 6 ms 4 13 ms 5 52 ms 6 104 ms 7 Level output Value Meaning 0 Disable 1 Output ERC when stopped by EL ALM or EMG input 2 Output ERC when complete home return 3 Both 1 and 2 Value Meaning 0 Negative logic 1 Positive logic Value Meaning 0 Do not latch 1 latch ...

Page 192: ...c Set the PEL MEL logic limit_mode io_sts I O status Please refer to 6 12 function description Value Meaning 0 slow down only 1 slow down then stop Value Meaning 0 Automatic setting 1 Manual setting default Value Meaning 0 Normal low normal open 1 Normal high normal close Value Meaning 0 Stop immediately 1 Slow down then stop ...

Page 193: ...e error can never be masked once the interrupt service is turned on by _8154_int_control Once the Interrupt function is enabled you can use _8154_wait_motion_interrupt to wait event _8154_wait_error_interrupt When user enabled the Interrupt function by _8154_int_control He could use this function to wait the error interrupts Please refer to the operation theory section 4 8 _8154_wait_motion_interr...

Page 194: ...ntFlag As Integer As Integer B_8154_wait_error_interrupt ByVal AxisNo As Integer ByVal TimeOut_ms As Long As Integer B_8154_wait_motion_interrupt ByVal AxisNo As Integer ByVal IntFactorBitNo As Integer ByVal TimeOut_ms As Long As Integer B_8154_set_motion_int_factor ByVal AxisNo As Integer ByVal int_factor As Long As Integer Argument card_id Specify the index of target PCI 8154 card The card_id co...

Page 195: ...ved Always set to 0 4 Acceleration Start 5 Acceleration End 6 Deceleration Start 7 Deceleration End 8 Soft limit or comparator 1 is ON 9 Soft limit or comparator 2 is ON 10 Error comparator or comparator 3 is ON 11 General comparator or comparator 4 is ON 12 Trigger comparator or comparator 5 is ON 13 Counter is reset by CLR input 14 Counter is latched by LTC input 15 Counter is latched by ORG Inp...

Page 196: ...zero the function tests the states of the specified objects and returns immediately If TimeOut_ms is 1 the func tion s time out interval never elapses infinite IntFactorBitNo Specifies the bit number of the INT factor e g IntFactorBitNo 4 It means waiting the factor of Acceler ation Start interrupt ...

Page 197: ...general_counter Set the general counter _8154_get_target_pos Get the value of target position recorder _8154_reset_target_pos Reset target position recorder _8154_get_res_distance Get remaining pulses accumu lated from motions _8154_set_res_distance Set remaining pulses record Description _8154_get_position This function is used to read the feedback position counter value Note that this value has ...

Page 198: ...or counter _8154_reset_error_counter This function is used to clear the position error counter _8154_get_general_counter This function is used to read the value of the general counter _8154_set_general_counter This function is used to set the counting source of and change the value of general counter By default the source is pulser input _8154_get_target_pos This function is used to read the value...

Page 199: ...sNo I32 Command I16 _8154_get_error_counter I16 AxisNo I16 error I16 _8154_reset_error_counter I16 AxisNo I16 _8154_get_general_counter I16 AxisNo F64 CntValue I16 _8154_set_general_counter I16 AxisNo I16 CntSrc F64 CntValue I16 _8154_get_target_pos I16 AxisNo F64 T_pos I16 _8154_reset_target_pos I16 AxisNo F64 T_pos I16 _8154_get_res_distance I16 AxisNo F64 Res_Distance I16 _8154_set_res_distance...

Page 200: ...yVal Pos As Double As Integer B_8154_get_target_pos ByVal AxisNo As Integer ByRef Pos As Double As Integer B_8154_set_res_distance ByVal AxisNo As Integer ByVal Res_Distance As Double As Integer B_8154_get_res_distance ByVal AxisNo As Integer ByRef Res_Distance As Double As Integer Argument AxisNo Axis number designated to move or stop Pos Pos Feedback position counter value _8154_get set_position...

Page 201: ...unter source CntValue CntValue the counter value TargetPos TargetPos Target position recorder value range 134217728 to 134217727 ResDistance ResDistance residue distance Value Meaning 0 Command pulse 1 EA EB 2 Pulser input 3 System clock 2 ...

Page 202: ...d and value for the error comparator When the position error counter s value reaches the comparing value the 8154 will generate an interrupt to the host PC Also see section 6 14 Interrupt con trol _8154_set_general_comparator This function is used to set the comparing source counter com paring method and value for the general comparator When the comparison conditions are met there is one of the 4 ...

Page 203: ...general_comparator I16 AxisNo I16 CmpSrc I16 CmpMethod I16 CmpAction I32 Data I16 _8154_set_trigger_comparator I16 AxisNo I16 CmpSrc I16 CmpMethod I32 Data I16 _8154_set_latch_source I16 AxisNo I16 LtcSrc 16 _8154_set_ltc_logic I16 AxisNo I16 LtcLogic I16 _8154_get_latch_data I16 AxisNo I16 CounterNo F64 Pos Visual Basic Windows 2000 XP B_8154_set_trigger_logic ByVal AxisNo As Integer ByVal Logic ...

Page 204: ...AxisNo As Integer ByVal StcLogic As Integer As Integer B_8154_get_latch_data ByVal AxisNo As Integer ByVal CounterNo As Integer Pos As Double As Integer Argument AxisNo Axis number designated to move or stop Logic logic of comparing trigger CmpSrc The comparing source counters card_id Physical axis AxisNo 0 0 0 1 1 2 2 3 3 1 0 4 1 5 Value Meaning 0 Negative logic 1 Positive logic Value Meaning 0 C...

Page 205: ...pendent 2 Data Source counter Count up only 3 Data Source counter Count down only 4 Data Source counter 5 Data Source counter Value Meaning 0 No action 1 Stop immediately 2 Slow down then stop Value Meaning 0 LTC pin input 1 ORG pin input 2 general comparator conditions are met 3 trigger comparator conditions are met Value Meaning 0 Negative logic 1 Positive logic Value Meaning 0 Command counter 1...

Page 206: ...196 Function Library Pos Latch data Position ...

Page 207: ...mmand pre register buffer is empty users may write the next motion command into it Otherwise the new command will overwrite the previous command in the 2nd command pre register If the return code is 1 means buffer is full Otherwise return code is 0 buffer is not full _8154_dwell_move This function is used to start a dwell move that means the move does not cause real motion for a specific time Exam...

Page 208: ...As Integer As Integer B_8154_check_continuous_buffer ByVal AxisNo As Integer As Integer B_8154_dwell_move ByVal AxisNo As Integer ByVal ms As Double As Integer Argument AxisNo Axis number designated to move or stop Enable continuous motion switch logic millisecond Time of dwell move the unit is in milliseconds card_id Physical axis AxisNo 0 0 0 1 1 2 2 3 3 1 0 4 1 5 Value Meaning 0 continuous moti...

Page 209: ...ame time The axes moved are specified by the parameter AxisArray and the number of axes are defined by parameter TotalAxes in _8154_set_tr_move_all When properly setup with _8154_set_xx_move_all the func tion _8154_start_move_all will cause all specified axes to begin a trapezoidal relative movement and _8154_stop_move_all will stop them Both functions guaran tee that motion Starting Stopping on a...

Page 210: ...isArray F64 DistA F64 StrVelA F64 MaxVelA F64 TaccA F64 TdecA F64 SVaccA F64 SVdecA I16 _8154_set_sa_move_all I16 TotalAx I16 AxisArray F64 PosA F64 StrVelA F64 MaxVelA F64 TaccA F64 TdecA F64 SVaccA F64 SVdecA I16 _8154_start_move_all I16 FirstAxisNo I16 _8154_stop_move_all I16 FirstAxisNo Visual Basic Windows 2000 XP B_8154_set_tr_move_all ByVal TotalAxes As Integer ByRef AxisArray As Integer By...

Page 211: ...l FirstAxisNo As Integer As Integer B_8154_stop_move_all ByVal FirstAxisNo As Integer As Integer Argument TotalAxes Number of axes for simultaneous motion AxisArray Specified axes number array designated to move DistA Specified distance array in units of pulse StrVelA Starting velocity array in units of pulse per second MaxVelA Maximum velocity array in units of pulse per second TaccA Acceleration...

Page 212: ...et the digital output status _8154_get_gpio_input PCI 8154 has 4 digital input channels By this function user can get the digital input status _8154_set_gpio_input_function PCI 8154 has 4 digital input channels By this function user can set one of several input signals to any specific DI channels Those signals include LTCn SDn PCSn CLRn EMG The index word n mean axis index Syntax C C Windows 2000 ...

Page 213: ...teger ByVal Select As Integer ByVal Logic As Integer As Integer Argument card_id Specify the PCI 8154 card index The card_id could be decided by DIP switch SW1 or depend on slot sequence Please refer to _8154_initial DoValue DoValue Digital output value Bit 0 3 D_out 0 3 DiValue Digital input value Bit 0 3 D_in 0 3 Channel Digital channel DI0 DI3 Select signal types select Logic input signal logic...

Page 214: ...oft limit will be exactly the same as physical limit _8154_set_soft_limit This function is used to set the soft limit value Syntax C C Windows 2000 XP I16 _8154_disable_soft_limit I16 AxisNo I16 _8154_enable_soft_limit I16 AxisNo I16 Action I16 _8154_set_soft_limit I16 AxisNo I32 PlusLimit I32 MinusLimit Visual Basic Windows 2000 XP B_8154_disable_soft_limit ByVal AxisNo As Integer As Integer B_81...

Page 215: ...ve or stop Action The reacting method of soft limit PlusLimit Soft limit value positive direction MinusLimit Soft limit value negative direction card_id Physical axis AxisNo 0 0 0 1 1 2 2 3 3 1 0 4 1 5 Value Meaning 0 INT only 1 Immediately stop 2 slow down then stop ...

Page 216: ...lse numbers _8154_suppress_vibration This function is used to suppress vibration of mechanical sys tems by outputting a single pulse for negative direction and the single pulse for positive direction right after completion of com mand movement _8154_set_fa_speed This function is used to specify the low speed for backlash cor rection or slip correction It also used as a reverse low speed for home r...

Page 217: ...ger B_8154_set_fa_speed ByVal AxisNo As Integer ByVal FA_Speed As Double As Integer Argument AxisNo Axis number designated to move or stop CompPulse Specified number of corrective pulses 12 bit Mode ReverseTime Specified Reverse Time 0 65535 unit 1 6 us ForwardTime Specified Forward Time 0 65535 unit 1 6 us FA_Speed fa speed unit pulse sec card_id Physical axis AxisNo 0 0 0 1 1 2 2 3 3 1 0 4 1 5 V...

Page 218: ... relative trapezoidal speed pro files By this function user can get the actual speed profile before running _8154_get_ta_move_profile This function is used to get the absolute trapezoidal speed pro files By this function user can get the actual speed profile before running _8154_get_sr_move_profile This function is used to get the relative S curve speed profiles By this function user can get the a...

Page 219: ... F64 pSVacc F64 pSVdec F64 pTconst Visual Basic Windows 2000 XP B_8154_get_tr_move_profile ByVal AxisNo As Integer ByVal Dist As Double ByVal StrVel As Double ByVal MaxVel As Double ByVal Tacc As Double ByVal Tdec As Double ByRef pStrVel As Double ByRef pMaxVel As Double ByRef pTacc As Double ByRef pTdec As Double ByRef pTconst As Double As Integer B_8154_get_ta_move_profile ByVal AxisNo As Intege...

Page 220: ...uble ByRef pTacc As Double ByRef pTdec As Double ByRef pSVacc As Double ByRef pSVdec As Double ByRef pTconst As Double As Integer Argument AxisNo Axis number designated to move or stop Dist Specified relative distance unit pulse Pos Specified absolute position unit pulse StrVel Starting velocity unit pulse sec MaxVel Maximum velocity unit pulse sec Tacc time for acceleration unit sec Tdec time for...

Page 221: ...sec tion 4 2 4 pStrVel Starting velocity by calculation pMaxVel Maximum velocity by calculation pTacc Acceleration time by calculation pTdec Deceleration time by calculation pSVacc S curve region during acceleration by calculation pSVdec S curve region during deceleration by calculation pTconst constant speed time maximum speed ...

Page 222: ...10305 Error trigger type 10306 Error event already enabled 10307 Error event not enable yet 10308 Error on board FIFO full 10309 Error unknown command type 10310 Error unknown chip type 10311 Error card not initial 10312 Error position out of range 10313 Error motion busy 10314 Error speed error 10315 Error slow down point 10316 Error axis range error 10317 Error compare parameter error 10318 Erro...

Page 223: ...position 10329 Error motion not in running 10330 Error velocity change time 10331 Error speed target 10332 Error velocity percent 10333 Error position change backward 10334 Error counter number 10335 Error gpio input function parameter 10336 Error channel number 10337 Error ERC mode 10338 Error security code Code Meaning ...

Page 224: ...214 Function Library ...

Page 225: ... between the PCI 8154 and the pulse input servo driver or stepping driver The following figure illustrates how to integrate the PCI 8154 and DIN 814M J3A 7 2 Terminal Board User Guide Please refer the individual user guide of terminal board The sup port terminal boards are as follows Mitsubishi J2 Super DIN 814M Mitsubishi J3A DIN 814M J3A Yaskawa Sigma II DIN 814Y Panasonic MINAS A4 DIN 814P A4 ...

Page 226: ...214 Connection Example ...

Page 227: ...rd party products not manufactured by ADLINK will be covered by the original manufactur ers warranty X For products containing storage devices hard drives flash cards etc please back up your data before send ing them for repair ADLINK is not responsible for any loss of data X Please ensure the use of properly licensed software with our systems ADLINK does not condone the use of pirated software an...

Page 228: ... of battery fluid during or after change of batteries by customer user X Damage from improper repair by unauthorized ADLINK technicians X Products with altered and or damaged serial numbers are not entitled to our service X This warranty is not transferable or extendible X Other categories not protected under our warranty 4 Customers are responsible for shipping costs to transport damaged products...

Reviews: