background image

Operation Theory 

 117

Figure 4-45: Conceptual Flow Chart - Timing B

There are totally 40 frames in this example.

2. Create Pattern 

In this step, we can group several frames into one pattern. For 
example, we can have the patterns as follows:

Figure 4-46: Conceptual Flow Chart - Pattern

The dash block represents the pattern. We mainly divide the tim-
ing chart of axis 0 into 4 patterns. Pattern 4 to 6 will activate 

Summary of Contents for PCI-8366+

Page 1: ...Advance Technologies Automate the World Manual Rev 2 04 Revision Date June 13 2008 Part No 50 1H001 1020 PCI 8372 8366 cPCI 8312H SSCNET Motion Control Card User s Manual ...

Page 2: ...ntial damages arising out of the use 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 Produc...

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: ...ity of SSCNET card 16 SSCNET Communication Test Utility 19 2 5 Software Driver Installation 21 2 6 CN1 Pin Assignment SSCNet Connector on PCB 22 2 7 CN5 Pin Assignment PCI 8372 8366 I O Connector 23 2 8 SP1 Pin Assignment cPCI 8312 H I O Connector 24 2 9 CN3 Pin Assignment TTL output Connector on bracket 25 2 10 HS1A HS2B Pin Assignments HSL Communication Signal RJ 45 26 3 Signal Connections 27 3 ...

Page 6: ...tion 53 Change Velocity on the Fly 54 Position Compensation on the Fly 57 4 4 Home move 59 Declaration for Beginning of Motion List 60 Add Trajectory pieces 61 Declaration for End of Motion List 68 Start Stop command 69 4 5 Motion Related IO 69 Position control and feedback 70 Velocity Feedback 72 Motion DIO status 72 Software limit 73 Motion Status 74 Motion Input as General Input 76 4 6 General ...

Page 7: ...2 Compare Start Condition 124 5 Motion Creator 131 5 1 Overview 131 5 2 Main Window 131 Component description 132 Operation Steps 137 5 3 General Purpose IO Operation Window PCI 8372 8366 137 Component description 138 Operation Steps 139 5 4 General Purpose IO Operation Window cPCI 8312H 140 Operation Steps 141 Pulse Output Page 142 Component description 143 5 5 Tuning Window 143 Component Descrip...

Page 8: ... Component description 160 Operation Steps 162 6 Appendix 163 6 1 MR J2S B Alarm List 163 6 2 MR J2S B Warning List 165 6 3 Driver Parameter List 166 6 4 Handshake Procedure 168 Card Initial Procedure 168 Card Close Procedure 169 Card Soft Reset Procedure 170 Motion Command Procedure 170 Motion Command Timing 172 6 5 cPCI 8312H High Speed Link Initial Guide 174 Warranty Policy 175 ...

Page 9: ...ble 4 1 start_tr_move Data Table 44 Table 4 2 set_position_compensate Values 58 Table 4 3 Axis Status 74 Table 4 4 Motion Status 75 Table 4 5 Encoder Resistor 78 Table 4 6 MR J2SB Parameters 84 Table 4 7 Monitoring Targets 88 Table 4 8 Axis Parameters 91 Table 4 9 Data Array Offset 93 Table 4 10 Servo Bit Information 93 Table 4 11 Selectable Gains 98 Table 4 12 Notch Frequency Settings 99 Table 4 ...

Page 10: ...vi List of Tables Table 6 5 Card Close Procedure 169 Table 6 6 Card Soft Reset Procedure 170 Table 6 7 Motion Command Procedure 171 ...

Page 11: ...eneral Purpose DO 36 Figure 3 11 TTL Output 37 Figure 3 12 D A Output Signals 38 Figure 3 13 Analog Input 39 Figure 3 14 Wiring Diagram for OUT and DIR Signals 40 Figure 3 15 OUT DIR SIgnal Selection 40 Figure 4 1 Frame Flowchart 43 Figure 4 2 Constant Jerk Graph 45 Figure 4 3 Single Axis Motion 46 Figure 4 4 Motion Function Graphs 47 Figure 4 5 2 Axis Linear Interpolation 49 Figure 4 6 2 Axis Lin...

Page 12: ...36 Notch Filter 99 Figure 4 37 Interrupt Control 103 Figure 4 38 DSP Action Graph 107 Figure 4 39 Interlock Area 107 Figure 4 40 Trigger Output 110 Figure 4 41 Triggering Frequency Under 500Hz 111 Figure 4 42 Positive Move 113 Figure 4 43 Negative Move 114 Figure 4 44 Conceptual Flow Chart Timing A 116 Figure 4 45 Conceptual Flow Chart Timing B 117 Figure 4 46 Conceptual Flow Chart Pattern 117 Fig...

Page 13: ...rame 146 Figure 5 14 Motion Frame 146 Figure 5 15 Display Frame 147 Figure 5 16 Response Diagram 148 Figure 5 17 Play Button 148 Figure 5 18 Stop Button 148 Figure 5 19 XY Interpolation Window 150 Figure 5 20 Two Axes Operation Window 152 Figure 5 21 Single Axis Operation Window 155 Figure 5 22 Motion I O Configration Window 157 Figure 5 23 Interrupt Configration Window 158 Figure 5 24 Driver Para...

Page 14: ...x List of Figures ...

Page 15: ... SSCNet II protocol SSCNet II connections offer the following advantages over pulse train type connections X Wiring is simplified because servo amplifiers are connected by multi drop method and the communication distance is up to 30 meters X Parameter management and the construction of absolute positioning system ABS are greatly simplified X Since commands are transmitted in serial data format noi...

Page 16: ...es circu lar linear interpolation etc and continuous motion Motion Creator a Microsoft Windows based software is provided with the SSCNET board card to support in application develop ments Motion Creator will be helpful in debugging a motion con trol system during the design phase of a project Figure 1 2 Block Diagram DSP Bus Controller Aux I O SSCNET Controller Computer Bus DA PEL MEL ORG DIO EA ...

Page 17: ...Introduction 3 Figure 1 3 Flowchart for Building an Application ...

Page 18: ...al DSP Type TI TMS320C6711 Clock 200 MHz DSP performance 1200 MFLOPS Board Interface I O Connector 68 pin VHDIC SSCNet Connector 3M 10220 52A2JL Driver Communication Protocol SSCNET II Bit Rate 5 625Mhz Physical layer RS 485 Maximum working length 30m for each 6 axes Error detection CRC Servo Loop Max No of controllable axes 8372 12 8366 6 Servo update rate 0 888ms Servo Data Monitors Current posi...

Page 19: ...jectory Add arc trajectory 2 axes Add Dwell Smooth Trajectory Start Sop command Motion IO status read configure Motion status Application Functions Move Ratio In unit of Pulse per mm Software Limit Each axis has 2 soft limits Position Compare Each axis has 2 comparators Interlock 2 axes interlock system System error check Watchdog timer Interrupt During operation stop Possible to select conditions...

Page 20: ...ogic L 0 5V XInput resistor 4 7kOhm 0 5W XDI change of state detection XIsolated voltage 500Vrms XBandwidth 10kHz 0 1ms Limit Switch x 12 MEL Proximity dog x 12 ORG General Purposed Input x 2 PCI board only Emergency Stop x 1 Digital Output DO x 2 XOutput type Z Open collec tor PC3H7 XSink Current 6 5mA Min XIsolated voltage 500 VDC XBandwidth 10kHz 0 1 ms Item Description Table 1 1 Specifications...

Page 21: ...Power On State Float ing XCalibration Self Cali bration XGain Error 3 Max XOffset Error Z1mV Max for PCI board Analog In AD x 2 Avaialble for cPCI board XResolution 16 bits no missing code XSampling Rate 250kS s XProgrammable Input Range 10V 5V 2 5V XCalibration Self Cali bration XGain Error 0 03 Max XOffset Error 0 2mV Max Item Description Table 1 1 Specifications ...

Page 22: ...ated voltage 500Vrms Pulse Output 2 channel differential pulses output Available for cPCI board XOUT DIR CW CCW AB phase selectable XMax Output Fre quence 4 16Mhz XIsolated voltage 500 Vrms Aux DIO 6 TTL Level Digital Output at CN3 on Extension bracket of PCI board only XVoltage output high Typical 5V Min 2 4v 15mA XVoltage output low Typical 0 3V 24mA Max 0 5V Item Description Table 1 1 Specifica...

Page 23: ...S C 0912 10g 3 direc tions 3 times X Noise resistance Noise voltage 1500V P P Noise frequency 25 60Hz using noise simulator X Operating tmosphere Minimal corrosive gas dust X Cooling method Self cooling Note One Octave from initial frequency to double initial frequen cy or half initial frequency For example 10Hz 20Hz 20Hz 40Hz 20Hz 20Hz 10Hz Each change is referred to as an octave Frequency Accele...

Page 24: ...I 8372 8366 and cPCI 8312 H It is shipped with these boards 1 3 2 Motion Creator Motion Creator is a Windows based utility to setup cards motors and system It can also help users debug hardware and software problems It also can let users set I O logic parameters which can be loaded in their own program This product is bundled with this card Refer to Chapter 5 for details ...

Page 25: ...should also include the following items X SSCNET Motion Control Card X ADLINK All in one Compact Disc for driver installation X User s Manual and Function Library You can find the PDF files in the installed directory If any of these items are missing or damaged contact the dealer from whom you purchased the product from Save the shipping materials and carton in case you want to ship or store the p...

Page 26: ...12 Installation 2 2 PCI 8372 8366 Outline Drawing Figure 2 1 PCI 8372 8366 Mechanical Drawing ...

Page 27: ...re 2 2 cPCI 8312 H Mechanical Drawing X SC1 1 SSCNET connector for Axis 0 5 X SC1 2 SSCNET connector for Axis 6 11 X H1A H1B First HSL Set X H2A H2B Second HSL Set X SP1 Daughter Board connector X L1 Board Status LED in Green X L2 Board Status LED in Red ...

Page 28: ...14 Installation X RST Board Reset Button X SW1 CardID X JP5 JP7 H1A H1B Communication Mode Selection X JP8 JP10 H2A H2B Communication Mode Selection ...

Page 29: ... touch the components 4 Position the board into the PCI CompactPCI slot you selected 5 For PCI CompactPCI borad secure the card in place at the rear panel of the system unit using screws removed from the slot 2 4 2 LED Status Please carefully read the following There are two LEDs present on the card s bracket Red and Green These LEDs indicate the operation status of the card If the system is turne...

Page 30: ... If the application runs the MDSP_initial function and it is suc cessfully executed the LEDs will turn on and off about every 1 second If the application program calls the MDSP_close func tion the two LEDs will be turn off 2 4 3 KernelUpdate Utility of SSCNET card To Reset DSP Press Step 1 then Step 1 1 To Update Kernel Press Step 1 Step 4 Ignore Step 1 1 1 Select a card and initial it ...

Page 31: ...Installation 17 2 Press HPI boot ...

Page 32: ...18 Installation 3 Press Flash DL button and select a kernel4 hex ...

Page 33: ...t about 5 sec and done 2 4 4 SSCNET Communication Test Utility We provide a test utility for SSCNET communication After initial ized you can check the communication error counts from the dia log Once it has communication errors please disconnect the driver one by one and use a new cable to verify it ...

Page 34: ...20 Installation Figure 2 3 SSCNET Communication Test Utility ...

Page 35: ...pecified during installa tion default directory C Program Files ADLINK SSC NET Z Library this folder contains files required for a project when programming an application Z DSPKernel this folder contents a DSP kernel program with default settings If a recovery of your system is required use the Motion Creator utility to download the DSP kernel firmware Z Utility Some utility for the board Z Manual...

Page 36: ...Signal Ground 11 GND Signal Ground 2 TXD1 O Transmit 12 TXD1 O Transmit 3 TXD2 O Transmit 13 TXD2 O Transmit 4 RXD1 I Receive 14 RXD1 I Receive 5 GND Signal Ground 15 GND Signal Ground 6 RXD2 I Receive 16 RXD2 I Receive 7 EMG1 O Emergency1 17 EMG1 O Emergency1 8 EMG2 O Emergency2 18 EMG2 O Emergency2 9 NC 19 NC 10 NC 20 NC Table 2 1 CN1 Pin Assignment ...

Page 37: ...49 EB2 I Encoder B Phase 16 EZ1 I Encoder Z Phase 50 EZ2 I Encoder Z Phase 17 EZ1 I Encoder Z Phase 51 EZ2 I Encoder Z Phase 18 PEL7 MDI19 I Positive End Limit 52 PEL8 MDI22 I Positive End Limit 19 MEL7 MDI20 I Minus End Limit 53 MEL8 MDI23 I Minus End Limit 20 ORG7 MDI21 I Origin Signal 54 ORG8 MDI24 I Origin Signal 21 PEL9 MDI25 I Positive End Limit 55 PEL10 MDI28 I Positive End Limit 22 MEL9 MD...

Page 38: ...I Encoder A Phase 47 EA2 I Encoder A Phase 14 EB1 I Encoder B Phase 48 EB2 I Encoder B Phase 15 EB1 I Encoder B Phase 49 EB2 I Encoder B Phase 16 EZ1 I Encoder Z Phase 50 EZ2 I Encoder Z Phase 17 EZ1 I Encoder Z Phase 51 EZ2 I Encoder Z Phase 18 PEL7 MDI19 I Positive End Limit 52 PEL8 MDI22 I Positive End Limit 19 MEL7 MDI20 I Minus End Limit 53 MEL8 MDI23 I Minus End Limit 20 ORG7 MDI21 I Origin ...

Page 39: ...ignal 67 DA2 O Analog Output 34 DIR2 O Dir signal 68 A_COM Analog Ground No Name I O Function Axis No Name I O Function Axis 1 GND Signal Ground 2 GND Signal Ground 3 TDO1 O TTL Output 1 4 TDO2 O TTL Output 2 5 TDO3 O TTL Output 3 6 TDO4 O TTL Output 4 7 TDO5 O TTL Output 5 8 TDO6 O TTL Output 6 9 5V 5V Supply 10 NC Not connected pin Table 2 4 CN3 Pin Assignment No Name I O Function Axis No Name I...

Page 40: ...26 Installation 2 10 HS1A HS2B Pin Assignments HSL Communi cation Signal RJ 45 PIN Signal PIN 1 NC PIN 2 NC PIN 3 TXD PIN 4 RXD PIN 5 RXD PIN 6 TXD PIN 7 NC PIN 8 NC Table 2 5 HS1A HS2B Pin Assignment ...

Page 41: ... s are described in this chapter Refer to the contents of this chapter before wiring any cables between the 8372 8366 and any motor drivers 3 1 SSCNet Servo Driver Connection Figure 3 1 Wiring for 6 Axes PCI 8372 8366 Figure 3 2 Wiring for 12 Axes PCI 8372 PCI 8372 PCI 8366 ...

Page 42: ... 3 3 Wiring for cPCI 8312 H Figure 3 4 SSCNet Cable SSCNET Servo amp MR J2S B for 6 drivers Max SSCNET Cable MR J2HBUS SSCNET Servo amp MR J2S B for 6 drivers Max SSCNET Cable MR J2HBUS SC1 SC2 MPC 8372 66 CPCI 8312 H cPCI 8312 H ...

Page 43: ... CN5 SP1 12 12 EA1 Encoder A Phase 13 13 EA1 Encoder A Phase 14 14 EB1 Encoder B Phase 15 15 EB1 Encoder B Phase 16 16 EZ1 Encoder Z Phase 17 17 EZ1 Encoder Z Phase 46 46 EA2 Encoder A Phase 47 47 EA2 Encoder A Phase 48 48 EB2 Encoder B Phase 49 49 EB2 Encoder B Phase 50 50 EZ2 Encoder Z Phase 51 51 EZ2 Encoder Z Phase 29 EA3 Encoder A Phase 30 EA3 Encoder A Phase 31 EB3 Encoder B Phase 32 EB3 Enc...

Page 44: ... converted to digital signals EA EB and EZ and then fed to the FPGA 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 SSCNET board encoder input the driver output must provide at l...

Page 45: ...ET board encoder and the power supply is shown in the diagram below Note that an external current limiting resistor R is necessary to protect the SSCNET board input circuit The following table lists the sug gested resistor values according to the encoder power supply If 6mA max Figure 3 7 Open Collector Output Connection Encoder Power VDD External Resistor R 5V 0 Ohms None 12V 1 8kΩ 24V 4 3kΩ Tabl...

Page 46: ...Signal Axis 3 8 8 PEL5 MDI13 Positive End Limit Axis 4 9 9 MEL5 MDI14 Minus End Limit Axis 4 10 10 ORG5 MDI15 Origin Signal Axis 4 43 43 PEL6 MDI16 Positive End Limit Axis 5 44 44 MEL6 MDI17 Minus End Limit Axis 5 45 45 ORG6 MDI18 Origin Signal Axis 5 18 18 PEL7 MDI19 Positive End Limit Axis 6 19 19 MEL7 MDI20 Minus End Limit Axis 6 20 20 ORG7 MDI21 Origin Signal Axis 6 52 52 PEL8 MDI22 Positive E...

Page 47: ...xis 10 58 58 PEL12 MDI34 Positive End Limit Axis 11 59 59 MEL12 MDI35 Minus End Limit Axis 11 60 60 ORG12 MDI36 Origin Signal Axis 11 62 DI1 General Digital Input 63 DI2 General Digital Input 27 27 IPT_COM Common for Digital Input 11 11 IPT_COM Common for Digital Input 61 IPT_COM Common for Digital Input 64 61 EMG Emergency Stop Signal 65 11 27 EMG_COM Emergency Stop Common Pin No Name Description...

Page 48: ...34 Signal Connections Figure 3 8 Source Type Control Circuit Inside PCI 8372 12 24 V GND PEL1 MEL1 ORG1 DI IPT COM EMG EMG COM SSCNET Board ...

Page 49: ...Signal Connections 35 Figure 3 9 Skin Type ...

Page 50: ...neral Purpose DO Note For Example R 4 7K and PWR 24V Pin No Name Description CN5 SP1 28 1 DO_COM Common for Digital Output 66 35 DO1 General Digital Output 67 36 DO2 General Digital Output 68 DO_COM Common for Digital Output Table 3 4 General Purpose DO Pinout ...

Page 51: ... the bracket Pin definition is defined in the below Figure 3 11 TTL Output Pin No Name Function 1 DGND Digital ground 2 DGND Digital ground 3 TDO1 Digital Output 1 4 TDO2 Digital Output 2 5 TDO3 Digital Output 3 6 TDO4 Digital Output 4 7 TDO5 Digital Output 5 8 TDO6 Digital Output 6 9 VCC VCC 5V Table 3 5 TTL Output Pinout PCI 8372 PCI 8366 ...

Page 52: ...ngle ended analog input chan nels The analog signal input range can be set as 10V 5V or 2 5V by software Pin No Name Description CN5 SP1 1 68 A_COM Common for Digital Output 35 66 DA1 Analog Output 1 36 67 DA2 Analog Output 2 Table 3 6 Analog Output Pinout Pin No Name Description SP1 68 A_COM Common for Digital Output 62 AD1 Analog Input 1 64 AD2 Analog Input 2 Table 3 7 Analog Input Pinout ...

Page 53: ...programmed as CW and CCW signal pairs In this section the electrical characteristics of the OUT and DIR sig nals are detailed Each signal consists of a pair of differential sig nals For example OUT2 consists of OUT2 and OUT2 signals Pin No Name Description SP1 28 P_GND Common ground of pulse interface 29 OUT1 Pulse signal 30 OUT1 Pulse signal 63 DIR1 Dir Signal 65 DIR1 Dir Signal 31 OUT2 Pulse sig...

Page 54: ...g example Choose either OUT DIR and OUT DIR to connect to driver s OUT DIR Figure 3 15 OUT DIR SIgnal Selection Notice that users can choose one pair of OUT DIR from SSCNET board to connect driver s OUT DIR For example Choose pair then OUT must be connected to driver s OUT pin and DIR must be connected to driver s DIR pin Of course OUT and DIR are useless You can ignore it ...

Page 55: ...ard the host PC needs to perform the read write functions to the DPRAM 4 1 2 SSCNet Communication The SSCNET board controls servomotors through the SSCNet communication The communication is a master slave architec ture Every 0 888 ms the SSCNET board master sends a com mand in which the position command is involved to each servo driver the slave and in return the servo drivers report back to the S...

Page 56: ...to the SSC NET board As mentioned in previous sections the SSCNET board is equipped with a DSP It is in charge of calculating the frame data so that the original motion trajectory information can be retrieved This is an example to illustrate how a frame works Suppose a user want an axis to move 10mm in distance The acceleration time is 0 5 sec deceleration time is 0 2 sec and max imum velocity is ...

Page 57: ...e 0 10 0 0 5 0 0 0 5 0 3 in his program The meaning of each parameter Axis No 0 Dist 10 0 mm Stat velocity 0 Maximum velocity 5 0 mm sec Final velocity 0 Tacc 0 5 Tdec 0 3 Step 2 DLL function start_tr_move is invoked to solve the frames of this motion command Assumes that the absolution position before ...

Page 58: ...ow an axis to move a certain distance with a specified speed and accel decel time Single motion functions can be categorized into the following types according to their functionality 4 3 1 Single axis velocity motion In this section the following functions are discussed tv_move Axis StrVel MaxVel Tacc sv_move Axis StrVel MaxVel Tacc Tlacc The single axis velocity motion function will allow the axi...

Page 59: ...4 2 Constant Jerk Graph 4 3 2 Single axis P to P motion In this section the following functions are discussed start_tr_move Axis Dist StrVel MaxVel FinVel Tacc Tdec start_sr_move Axis Dist StrVel MaxVel FinVel Tacc Tdec Tlacc Tldec start_ta_move Axis Pos StrVel MaxVel FinVel Tacc Tdec start_sa_move Axis Pos StrVel MaxVel FinVel Tacc Tdec Tlacc Tldec Single axis P to P motion functions will allow t...

Page 60: ... a The axis moves to an Absolute position regardless of its current position It is specified by the parameter Pos Figure 4 3 Single Axis Motion The distance moved during acceleration and deceleration can be calculated using the following formula For both trapezoidal and S curve profiles Dist_acc 0 5 StrVel MaxVel Tacc Dist_dec 0 5 FinVel MaxVel Tdec In some cases the distance moved may not be long...

Page 61: ...st_case 4 3 3 Multi axes velocity motion In this section the following functions are discussed tv_move_all Length Axis StrVel MaxVel Tacc sv_move_all Length Axis StrVel MaxVel Tacc Tlacc Multi axes velocity motion has exactly the same functionality as a single axis velocity motion except that multi axes velocity motion can be applied to 2 or more axes simultaneously with all applied axes beginning...

Page 62: ...es P to P motion can be applied to 2 or more axes simultaneously with all applied axes beginning to move at the same time and according to each axis s setting each axis will move to its position or distance as specified The parameter Length is used to indicate how many axes will be involved All motion parameters are passed to its function array just as single axis P to P motion Note 1 Each axis ru...

Page 63: ...tion As in the diagram below 2 axes linear interpolation means to move the XY or any 2 of the 4 axis position from P0 to P1 The 2 axes start and stop simultaneously and the path is a straight line Figure 4 5 2 Axis Linear Interpolation The speed ratio along X axis and Y axis is ΔX ΔY respectively and the vector speed is When calling the 2 axes linear interpolation functions it is the vec tor speed...

Page 64: ...ec Final vector speed 15mm sec X speed 9mm sec Y speed 12mm sec Acceleration time 0 3 sec Deceleration time 0 2 sec Figure 4 6 2 Axis Linear Interpolation Example 3 Axis Linear Interpolation Any 3 of the 12 axes of SSCNET board may perform 3 axes linear interpolation As the figure below 3 axes linear interpolation means to move the XYZ if axes 0 1 2 are selected and assigned to be X Y Z respective...

Page 65: ... functions it is the vector speed which defines the start velocity StrVel maximum velocity MaxVel and final velocity FinVel Both trapezoidal and S curve profile are available For example Axis 0 0 Axis 1 1 Axis 2 2 Dist 0 10 Dist 0 20 Dist 1 30 start_line_tr_move 3 Axis Dist 10 0 50 0 10 0 0 3 0 2 This causes the two axes axes 0 2 to perform a linear interpo lation movement in which ΔX 10 mm ΔY 20 ...

Page 66: ...d 10 2 67 mm sec Y spped 2 10 5 33 mm sec z spped 3 100 8 01 mm sec Acceleration time 0 3 sec Deceleration time 0 2 sec Figure 4 8 3 Axis Linear Interpolation Example 4 Axis Linear Interpolation In 4 axes linear interpolation the speed ratio along X axis Y axis Z axis and U axis Is ΔX ΔY ΔZ ΔU respectively and the vector speed is Axis 0 Velocity Axis 1 Velocity Linear Velocity 0 3 Sec 0 2 Sec 50 m...

Page 67: ...ectively axes simultaneously start from initial point 0 0 and stop at end point 1800 600 The path between them is an arc and the Max Vel is the tangential speed For example Axis 0 0 Axis 1 2 Dist 0 1000 Dist 1 0 start_arc_tr_move 2 Axis Dist 143 1 10 0 50 0 15 0 0 1 0 2 This causes the two axes axes 0 2 to perform a circular interpolation movement in which Center distance X 1000 mm Center distance...

Page 68: ...ounter clock wise 4 3 7 Change Velocity on the Fly In this section the following functions are discussed tv_stop Axis Tdec sv_stop Axis Tdec emg_stop Axis tv_change Axis SpeedFactor Tacc sv_change Axis SpeedFactor Tacc The first three functions are used to stop a moving axis The last two are used to adjust the moving speed of an axis tv_stop function stops the specified Axis with a deceleration ti...

Page 69: ...specified Axis with deceleration time period Tdec and a S Curve velocity profile during deceler ation See diagram below Figure 4 11 Stop with Deceleration The emg_stop function stops the a specified Axis immediately without deceleration See diagram below Figure 4 12 Immediate Stop ...

Page 70: ... is set to be 10 mm sec Then tv_change is applied with Speed Factor 1 5 The new speed is 1 5 10 15 mm sec As was shown below Figure 4 13 Moving Change The sv_change function changes the moving speed of a speci fied Axis with acceleration time period Tacc with a S Curve velocity profile during acceleration Figure 4 14 Change with S Curve Velocity If a second tv_change or sv_change function is appli...

Page 71: ...op sv_stop will complete its motion while tv_change sv_change will set speed to zero 4 3 8 Position Compensation on the Fly In this section the following function is discussed set_position_compensate I16 axis F64 Compen_value This function can be used to change the target position when an axis is commanded by the following single axis P to P motion functions start_tr_move start_ta_move start_sr_mo...

Page 72: ...ed after the axis has entered the deceleration region 3 The rest distance must be long enough for minus posi tion compensation The reset distance must be larger than deceleration section For example A trapezoidal absolute motion is applied start_ta_move 0 100 0 10 0 0 5 1 This causes axis 0 to move to position 100mm and the maximum velocity is 10 mm sec The necessary number of pulses to accel erat...

Page 73: ...Tacc define the acceleration time and the axis continues traveling at the con stant velocity until it reaches the ORG switch Note The sign of MaxVel defines the moving direction while the sign of StrVel and FinVel is meaningless User must care fully define the direction of the home return motion so that the axis can find the ORG switch correctly Mode 0 ORG only Figure 4 16 Mode 0 Home 15 90 115 OK...

Page 74: ...udes X Declaration for beginning of motion list X Add Trajectory pieces X Declare end of motion list Beside on line construction of the motion trajectory in the applica tion program an off line method using the Trajectory generator and then save it to file and using the load_trajectory_file func tion to load the motion trajectory will produce the same result X Load Trajectory file After constructi...

Page 75: ...1 and axis 5 are to perform a continuous motion then the command line would be start_motion_list 3 0 1 5 in the program Note that all specified axis no must be of the same card And the Length must not exceed 4 4 4 2 Add Trajectory pieces In this section the following functions are introduced add_line_tr_move DistArray StrVel MaxVel FinVel Tacc Tdec add_line_sr_move DistArray StrVel MaxVel FinVel T...

Page 76: ...d be categorized into four types of trajectories and any combinations of added trajectory functions are possible Line add_line_XX_move Arc add_arc_XX_move add_arc2_XX_move Dwell add_dwell Smooth smooth_enable Adding a line trajectory When any of the following four functions are executed add_line_tr_move add_line_sr_move dd_line_ta_move add_line_sa_move A straight line will be added into the contin...

Page 77: ...the start_motion_list function with Length 2 and the parameter definitions of this added arc func tions the same as those of the single motion circular interpolation The last 4 are used after the start_motion_list function with Length 2 The additional parameter AxisArray defines the 2 axes that this arc belongs to The following are 2 examples Example 1 Suppose both axes 0 2 are at position 0 start...

Page 78: ...ctory Figure 4 19 Velocity vs Time Example 2 Suppose both axes 0 1 2 are at position 0 start_motion_list 3 0 1 2 add_line_ta_move 100 0 0 0 100 100 1 0 0 add_arc2_tr_move 1 2 0 50 180 100 100 100 0 0 add_line_ta_move 0 0 0 100 100 0 0 1 end_motion_list ...

Page 79: ... Add dwell When add_dwell function is executed the motion will be freezed for a specified period of time definied by parameter Sec in unit of second The following is an example Example Suppose both axes 0 2 are at position 0 start_motion_list 2 0 2 add_line_tr_move 100 0 0 100 0 1 0 1 0 ...

Page 80: ...ell 1 0 add_line_ta_move 320 110 80 100 100 0 5 0 end_motion_list Figure 4 22 Adding Dwell Example Figure 4 23 Velocity vs Time Smoothing trajectory When smooth_enable functions is executed the motion trajec tory thereafter will be rounded The following figures show the rounding cases ...

Page 81: ... to disable smoothing or to change smoothing radius R as program s need For example Suppose both axes 0 2 are at position 0 start_motion_list 2 0 2 add_line_tr_move 100 0 0 100 100 1 0 0 add_line_sr_move 60 80 100 100 100 0 0 0 0 smooth_enable 1 50 add_line_ta_move 320 110 100 100 100 0 0 smooth_enable 1 20 add_line_sa_move 320 160 100 100 0 0 1 0 0 0 5 ...

Page 82: ... acceleration at the smoothing point 4 4 3 Declaration for End of Motion List In this section the following function is discussed end_motion_list This function is used to declare the variables for the end of motion list describing a continuous motion trajectory After adding trajec tories piece wisely using the function calls discussed above end_motion_list must be called so that the motion traject...

Page 83: ... erased and cannot be retrieved except to reconstruct it again The user must be careful with this especially when multiple threading programs are implemented For example Suppose both axes 0 2 are at position 0 start_motion_list 2 0 2 add_line_tr_move 100 0 0 100 0 1 0 1 0 add_dwell 0 5 add_line_sr_move 60 80 0 150 0 0 5 0 5 0 0 add_dwell 1 0 add_line_ta_move 320 110 80 100 100 0 5 0 end_motion_lis...

Page 84: ...cluding position com mand and position feedback The function call get_position will retrieve such information The parameter Pos_F retrieves the current position feedback which is reported from the servo driver through SSCNet communi cation The parameter Pos_C retrieves the current position command which is calculated on each SSCNet cycle 0 888 ms by the DSP The command position is sent to the serv...

Page 85: ...tor is used to drive the moving part through a geared mechanism 1 If the resolution of the motor is 8000 pulses round and 2 The resolution of the gear mechanism is 10 mm round i e part moves 100 mm if motor turns one round Then the move ratio will be 8000 10 800 pulses mm Figure 4 29 Move Ratio Control All motion commands issued by the SSCNET board are in units of mm or mm sec Users need to set th...

Page 86: ...on the following functions are discussed set_PEL_config Axis Logic mode set_MEL_config Axis Logic mode set_ORG_config Axis Logic set_EMG_config CardID Logic get_PEL_status Axis status get_MEL_status Axis status get_ORG_status Axis status get_EMG_status CardID status The motion DIO mentioned here refers to the motions dedicated to the digital I O signals including PEL MEL ORG and EMG Each axis has ...

Page 87: ...lected by setting the HomeMode argument in the software function set_home_mode The logic polarity of the ORG signal is selectable using the parameter Logic of set_ORG_config The ORG status can be monitored using the software function get_ORG_status EMG signal Each SSCNET board has an EMG signal input Whenever this EMG signal becomes active all the axes control by in the card will stop moving immed...

Page 88: ...tware limit values in the negative or minus direction X ON_OFF is used to enable disable the software limit func tion Users can read back current software limit setting using the get_soft_limit function 4 5 5 Motion Status In this section the following functions are discussed axis_status Axis AxisStatus motion_status Axis MotionStatus Axis status The function call axis_status is used to retrieve t...

Page 89: ...ng the set_servo_on function refer to section 4 8 4 Motion status The function call motion_status is used to retrieve the motion sta tus information It is successful only when the AxisStatus in axis_status is 0 That is this axis must be in control no alarm and ready servo on Check if the return code of motion_status is equals to 0 The parameter Axis applies to the specified axis only X MotionStatu...

Page 90: ...r lauching velocity change command this bit will be ON till the change is done 4 In_P_Change After lauching position change command this bit will be ON till the change is done 5 MEL_ON Axis touches the positive limit switch 6 PEL_ON Axis touches the negative limit switch 7 ORG_ON Axis touched the origin switch 8 EMG_ON Emergency input pin is ON 9 P_Soft_ON Axis is reached the positive software lim...

Page 91: ...iptmode CardID EncNo IptMode set_cnt_to_axis CardID EncNo Axis Resolution set_cnt_value CardID EncNo Value get_cnt_value CardID EncNo Value Each PCI 8372 8366 has 3 encoder counters and can be use to receive A B phase signals from a linear encoder Also these counters can be programmed to receive CW CCW OUT DIR type signals Input circuit The input circuits for EA EB and EZ signals are shown below F...

Page 92: ...of the two sides must also be tied together Figure 4 31 Line Driver Circuit Connection to Open Collector Output To connect with an open collector output an external power supply is necessary Some motor drivers can provide the power source The connection between the SSCNET board encoder and the power supply is shown in the diagram below Note that an external current limiting resistor R is necessary...

Page 93: ...ines which counter is used the third parameter defines which axis and the last parameter declares the resolution of the counter in units of pulses Reso lution is defined as the number of pulses counted by a counter when the SSCNet motor rotates one revolution For example set_cnt_to_axis 0 0 1 10000 0 this function will 1 Set counter 0 as position feedback source for axis 1 2 Command the PCI 8372 e...

Page 94: ...ase whereas EA count the number of pulses Figure 4 34 OUT DIR Pulses The index input EZ signal of the encoder is used as the ZERO index This signal is common to most rotational motors EZ can be used to define the absolute position of the mechanism When a rising edge of EZ signal is received it will clear the encoder counter value to 0 Counter value read write To read the encoder counter value use ...

Page 95: ...et_da_value CardID ChNo Value Each SSCNET board has 2 analog voltage output channels and can be independently configured using the set_da_config func tion to set the DA to either be a direct DA output or for a velocity profile output The default setting is DA direct output By using direct DA output users can control the DA value using the set_da_value function While using velocity profile output w...

Page 96: ...urce of this channel could be choosed from internal 5V ground DA0 or DA1 It is very useful in debugging 4 6 5 Analog channel auto calibration In this section the following functions are discussed tune_ref_5V CardID Value save_auto_k_value CardID Channel Value get_auto_k_value CardID Channel Value tune_ad_offset_gain CardID Step Value tune_da_offset CardID Step Value reload_auto_k_setting CardID In...

Page 97: ... tune_ad_offset_gain for Step 1 Check AD2 s value as 0 0 PCI 8372 8366 does not have this feature 6 Calibrate AD gain using tune_ad_offset_gain for Step 2 Check AD2 s value as 5 0 PCI 8372 8366 does not have this feature 7 Execute tune_da_offset by Step 1 Value 128 8 Execute tune_da_offset by Step 3 Value 128 9 Calibrate DA offset using tune_da_offset for Step 0 Check AD2 s value as 0 0 10 Calibra...

Page 98: ...rameters user can call set_servo_para or set_servo_para_all set_servo_para will set new values for specified parameters only while set_servo_para_all will set all parameters value After a servo parameter tuning process user may use save_servo_para to store current parameter setting These val ues are stored in a Flash ROM of the SSCNET board Whenever the user wants to restore default parameter sett...

Page 99: ...PG2 Position control gain 2 Pr 15 rad sec 1 1000 VG2 Speed control gain 2 Pr 16 rad sec 20 20000 VIC Speed integration compen sation Pr 17 msec 1 1000 NCH Mechanical resonance con trol filter Pr 18 0 031FH FFC Feed forward gain Pr 19 0 100 INP In position range Pr 20 pulse 0 50000 MBR Electromagnetic brake sequence output Pr 21 msec 0 1000 MOD Monitor output mode Pr 22 0000H 0B0B H OP1 Optional fu...

Page 100: ...channels to monitor a variety of I O data such as Speed feedback INP in position etc MOA For manufacturer s settings Pr 29 0001H ZSP Zero speed Pr 30 rpm 0 10000 ERZ Error excess alarm level Pr 31 kpulse 1 1000 OP5 Option function 5 Pr 32 0000H 0002H OP6 For manufacturer s settings Pr 33 0000H 0113H VPI PI PID change position droop Pr 34 0 50000 TTT For manufacturer s settings Pr 35 0000H VDC Spee...

Page 101: ...operating procedures Configuring procedures Configuring procedure is necessary before a monitor function can be started There are two main instructions during configuration 1 set_monitor_channel This function is used to set the monitoring target This function must be executed before monitoring can started ...

Page 102: ...erved 04 Accumulated pulse Pulse 05 Reserved 06 Regenerative load factor 07 Execution load factor 08 Peak load factor 09 Bus voltage 0A Load inertia ratio 0B ABS counter Rev 0C Position within one revolution Pulse 0D Reserved 0E F B present value Pulse 0F Reserved 10 Position droop Pulse 11 Reserved 12 Speed command 0 1rpm 13 Reserved 0 1rpm 14 Speed feedback 0 1rpm 15 Reserved 0 1rpm 16 Current c...

Page 103: ...L 6 26 Alarm status AL 7 27 Alarm status AL 8 28 Alarm status AL 9 29 Alarm status AL E 2A Reserved 2B Reserved 2C Reserved 2D Reserved 2E Reserved 2F Reserved 30 Alarm history 1 2 31 Alarm history 3 4 32 Alarm history 5 6 33 Alarm history 7 8 34 Alarm history 9 10 35 Reserved 36 Reserved 37 Reserved 38 Parameter error NO Pr01 to Pr16 39 Parameter error NO Pr17 to Pr32 3A Parameter error NO Pr33 t...

Page 104: ...ion etc This function must be exe cuted before monitoring can start 3B Reserved 3C Reserved 3D Reserved 3E Reserved 3F Reserved A5 INP in position Active 1 Inactive 0 B0 Velocity Command Pulse sec B2 DA1 Value B3 DA2 Value B4 Speed Feedback B6 External Encoder Feedback B8 Command Pulse Value Description Unit Table 4 7 Monitoring Targets ...

Page 105: ...lue 0 No trigger Value 1 CH0 as trigger source going high Value 2 CH1 as trigger source going high Value 3 CH2 as trigger source going high Value 4 CH3 as trigger source going high Value 1 CH0 as trigger source going low Value 2 CH1 as trigger source going low Value 3 CH2 as trigger source going low Value 4 CH3 as trigger source going low TriggerLevel Define the trigger level SamplePeriod This var...

Page 106: ...ng Step 0 Set monitor channel and configuration using function call set_monitor_channel set_monitor_config Step 1 Start normal monitoring using the function call start_monitor This will start the DSP Step 2 Check if the monitoring has completed by calling the func tion check_monitor_ready The parameter status returns a value if the monitoring process has completed Step 3 If monitoring has complete...

Page 107: ... is discussed get_servo_info Axis ServoInfo This function is used to retrieve the servo driver s status informa tion The parameter ServoInfo carries the information about servo driver s status in individual bit s Bit 0 In Ready ON Bit 1 In Servo ON Bit 2 In course of in Position Table 4 10 Servo Bit Information ...

Page 108: ...FF status 4 7 5 Driver information In this section the following functions are discussed understand_driver Axis Class_Code understand_motor Axis MotorType Capacity RateRPM RateCurrent MaxRPM MaxTorq PPR ENCInfo OptionalInfor When booting the SSCNET board will gather some static informa tion about the servo driver and servomotor This information is Bit 3 In course of zero speed Bit 4 Pass through Z...

Page 109: ...s the case users can exam the fault condition by 1 Examining the return code from the function call 2 Set an IRQ Allow a IRQ to be generated if an alarm occurs Refer to section 4 9 After noticing the occurrence of the alarm users can use get_alarm_no to retrieve the alarm code which is displayed on the LED of the servo driver After removing the alarm condition users can use the alarm_reset functio...

Page 110: ...elocity integral compensation Used to set the integral time constant of a speed loop A higher set value increases the response level but is likely to generate vibra tion and or noise PG2 Position loop gain 2 This gain is used to increase the response due to level load distur bance A higher set value increases the response level but is likely to generate vibration and or noise VG2 Velocity loop gai...

Page 111: ...he user must specify the load inertia moment for the machine GD2 with all other control gains set automatically creating a machine response frequency that matches the user s requirements RSP Under this mode set_control_gain does not work and will return errors Manual setting mode If the user is not satisfied with the adjustment of auto tuning he she can make manual adjustments Manual mode 1 Under ...

Page 112: ...electable gains under differ ent operation modes X A automatically set X M manually specify X Not used X Interpolation mode is normally not used 4 8 2 Mechanical resonance suppression filter The functions set_notch_filter and get_notch_filter are related to the mechanical resonance suppression filter function If a mechanical system has a natural resonance point increasing the servo system response...

Page 113: ... notch frequency from a higher to lower order The optimum notch frequency is set at the point where vibration is minimal The notch frequency is set with the parameter NotchFrequency The setting values and corresponding notch frequency are listed in the table below Setting Frequency Setting Frequency Setting Frequency Setting Frequency 0 Invalid 8 562 5 16 281 3 24 187 5 1 4500 9 500 17 264 7 25 18...

Page 114: ...ch fil ter setting Since the adaptive filter characteristics notch frequency and depth are set automatically user need not be conscious of the resonance frequency of a mechanical system Also while adap tive vibration suppression control is valid the servo driver always detects machine resonance and if the resonance frequency changes it changes the filter characteristics in response to that frequen...

Page 115: ...sion control filter 4 8 3 Low pass filter The functions set_LP_filter and get_LP_filter are related to low pass filter functions When a ball screw or the like is used resonance of high frequency may occur as the response of the servo system is increased To prevent this the low pass filer is factory set to be valid with a torque command The filtering frequency of this low pass filter is automatical...

Page 116: ... the low pass filter to be Disabled may increase the servo system response to short en the settling time 4 9 Interrupt control In this section the following functions are discussed int_control CardID Flag set_int_factor CardID Source IntFactor get_int_status CardID Source IntStatus set_int_event CardID HEvent link_interrupt CardID callbackAddr The SSCNET board can generate an interrupt for certain...

Page 117: ...ll cease to generate any interrupt signals to the host system In addition to int_control users need to define the conditions under which an interrupt signal should occurs by using the set_int_factor function in order to successfully introduce an inter rupt signal to the host system The SSCNET board has 3 possible sources of interrupts it includes the motion axes general pur posed I O and the DSP o...

Page 118: ... reached 8 ALM Alarm signal on 9 WRN Servo Warning on 10 HOME Home Move completed 11 MTC Motion Completed 12 CPBF Curve Parameter Buffer Full 13 EPD Position deviation is too large 14 CMP1 Position compare1 is true 15 CMP2 Position compare2 is true Table 4 15 Axis Interrupts Bit of IntFactor Description 0 System Error 1 Emergency Stop 2 Cyclic Timer Interrupt Table 4 16 System Interrupts Bit of In...

Page 119: ...to set up a call back rou tine Each SSCNET board has its own call back routine This rou tine will be executed once an interrupt occurs Note during routine execution the next interrupt is on hold until the routine has ended By thread The set_int_event function helps users to set up a event handle This event will be fired once an interrupt occurs Therefore users can create an independent thread to w...

Page 120: ...e bit0 of status will become 1 If the comparison of channel1 comes into exist ence bit1 of status will become 1 Other method to obtain comparison result is through an interrupt When a comparison comes into existence the SSCNET board will generate an interrupt signal Users need to set the interrupt to enabled and correct the interrupt factor so that the program can accept interrupt signals 4 11 Int...

Page 121: ...prevent collision Now SSCNET motion control card has this feature inside Users don t need to worried about this problem The axis will automatically slow down when the other axis is inside the predefined region and speed up again when the other axis leave from this region It is much useful in this situation The encoder update rate is one SSCNET cycle The slow down action will be token in the same c...

Page 122: ...rt next time it will restore the absolute position of each axis from the ROM The machine needn t to doing the home procedure again Mitsubishi servo drivers use a battery to keep its encoder s value inside at absolute position mode The position value is on servo driver and users must turn on absolute position mode in parameter AMS before using this feature Of course users need to install a battery ...

Page 123: ...function The Coding Guides are as followings X Physical homing Axis doesn t know its origin position or program needs Z home_move Axis0 Z WaitforSingleObject Axis0Event TimeOut or Polling motion_done Z save_abs_position Axis0 X Non Physical homing Axis already knew its Origin Position Z set_position AxisNo 4 13 Compared Trigger Output In this section the following function is discussed map_dout_an...

Page 124: ...on happens First users must set one of the digital output channels as one comparator s triggering output Map more than one comparators to single digital output channel is not allowed but reverse case is allowed Second users must build up an array that contains the table of compare points You can assign a region by giving start and end index of this array for the table of compare points Third users...

Page 125: ...ifferent digital output channel is allowable The first element in compare table must be the smallest The max imum number of point in the table is 100 This value is limited by DSP firmware The triggering pulse width is about 1ms and com pare accuracy is about 1ms Finally set the compare direction in the table Once users build a table the table will remain on SSCNET board The table can be compared e...

Page 126: ... 1 0 9 Table_Data2 Set Compare direction increaing set_compare_table_dir 0 0 0 set_compare_table_dir 0 1 0 Start Move from 0 to 8000 See results Picture 1 start_tr_move AxisNo 8000 0 60000 0 0 0 Wait for last move finished Users must handle this by any method Set Compare direction decreasing set_compare_table_dir 0 0 1 set_compare_table_dir 0 1 1 Start Move from 8000 to 0 See results Picture 2 sta...

Page 127: ...Operation Theory 113 Figure 4 42 Positive Move X Picture two Negative Move CH1 in scope is DO Channel 0 CH2 in scope is DO Channel 1 ...

Page 128: ... and has slower response In order to improve the response time the motion control board can let users have their own motion patterns downloaded into on board DSP and realize the precisely timing control All motion pat terns can be executed in the DSP layer with the on board RAM The delivering time of motion command from computer to SSCNet board can be eliminated It can increase the response time a...

Page 129: ...letely describe the motion patterns and achieve the time dependent motion The sequence contains the pattern information of one axis Sequence is the container of patterns Pattern is the container of frames Sequence also has the time dependent description to complete the motion behavior that users want to realize Finally every sequence designs triple pattern buffers to meet the motion continuity Whi...

Page 130: ... that are based on the rule introduced ear lier The spot in the figure is the starting condition Some axes will start to move based on the other axes condition Here we have to be aware of one thing The synchronous relation should be noted In this example we have three dependent axes which are axis 0 1 2 Axis 11 is independent of these three axes In a word those three axes have the synchronous rela...

Page 131: ... example 2 Create Pattern In this step we can group several frames into one pattern For example we can have the patterns as follows Figure 4 46 Conceptual Flow Chart Pattern The dash block represents the pattern We mainly divide the tim ing chart of axis 0 into 4 patterns Pattern 4 to 6 will activate ...

Page 132: ...ty of axis 0 passes through point A X External I O signal You can also use the I O signal as trig ger to let the pattern start to move Then Pattern 8 is an independent one The following table is the summary 3 Sequence with Three Pattern Buffers The sequence conatins three pattern buffers and realizes the desired motion Every sequence has three pattern buffers in order to execute the pattern smooth...

Page 133: ...nd wait to be executed If you have more than three patterns you can use API function to check that the buffer status is full or not It not the next pattern can be put into the buffer It is shown as follows Figure 4 48 Conceptual Flow Chart Buffers B In some cases users may have multiple selectable patterns based on specific situation For example they are Pm and Pk Currently you can depend on your ...

Page 134: ...point A of axis 0 X P5 will start to move referring to point B of axis 0 The same rule is for pattern 6 and 7 4 14 2 Coding Example 1 Using C Language Figure 4 49 Coding Example 1 1 Variables Setting I16 FirstFrame LastFrame I16 AxisNo I16 SynAxes I16 PatternNo I16 WaitAxis WaitCondition 2 Create Patterns for Sequence 1 Sequence Contains Sequence 0 P0 to P3 Sequence 1 P4 to P6 Sequence 2 P7 Sequen...

Page 135: ...stFrame 10 15 0 10 0 0 1 0 1 LastFrame add_frame_ta_move AxisNo LastFrame 15 0 0 10 0 0 1 0 1 set_pattern 0 PatternNo FirstFrame LastFrame FirstFrame SynAxes PatternNo Pattern 2 FirstFrame LastFrame LastFrame add_frame_ta_move AxisNo FirstFrame 0 5 0 10 0 0 1 0 1 LastFrame add_frame_ta_move AxisNo LastFrame 5 0 0 10 0 0 1 0 1 set_pattern 0 PatternNo FirstFrame LastFrame FirstFrame SynAxes PatternN...

Page 136: ...rame LastFrame LastFrame add_frame_ta_move AxisNo FirstFrame 0 5 0 10 0 0 1 0 1 LastFrame add_frame_ta_move AxisNo LastFrame 5 0 0 10 0 0 1 0 1 set_pattern 0 PatternNo FirstFrame LastFrame FirstFrame SynAxes PatternNo 4 Start Sequence 0 1 at the same time reset_seq_buffer 0 1 First pattern of this sequence will wait pattern3 s frame 2 of axis0 to start WaitAxis 0 WaitCondition 3 Pattern 3 P3 SynAx...

Page 137: ...command buffer users must use the following function to check if the buffer is full I16 check_seq_buffer I16 CardID I16 SeqNo If the function returns 1 it means the sequence buffer is ready for next command If the function returns 0 It means all sequence command buffers are full while check_seq_buffer CardID SeqNo 0 wait buffer empty Pause and resume a sequence Sometimes users need to pause sequen...

Page 138: ...e LastFrame I16 AxisNo I16 SynAxes I16 PatternNo I16 WaitAxis StartCondition 2 Create Patterns for Sequence 0 AxisNo 0 SynAxes 0x1 PatternNo 0 Pattern 0 FirstFrame 0 LastFrame add_frame_ta_move AxisNo FirstFrame 0 45 0 30 0 2 1 set_pattern 0 PatternNo FirstFrame LastFrame FirstFrame SynAxes PatternNo Pattern 1 FirstFrame LastFrame ...

Page 139: ...o LastFrame 45 41 5 0 2 0 2 2 LastFrame add_frame_ta_move AxisNo LastFrame 41 5 41 4 0 0 1 0 0 01 0 01 set_pattern 0 PatternNo FirstFrame LastFrame FirstFrame SynAxes PatternNo Pattern 3 FirstFrame LastFrame LastFrame add_frame_dwell AxisNo FirstFrame 41 4 2 LastFrame add_frame_ta_move AxisNo LastFrame 41 4 45 0 5 0 1 1 LastFrame add_frame_ta_move AxisNo LastFrame 45 45 0 10 0 2 2 set_pattern 0 Pa...

Page 140: ...stFrame SynAxes PatternNo Pattern 6 FirstFrame LastFrame LastFrame add_frame_dwell AxisNo FirstFrame 45 1 LastFrame add_frame_ta_move AxisNo LastFrame 45 0 0 1 0 0 1 1 set_pattern 0 PatternNo FirstFrame LastFrame FirstFrame SynAxes PatternNo 4 Create Patterns for Sequence 2 AxisNo 2 SynAxes 0x4 Pattern 7 FirstFrame LastFrame LastFrame add_frame_ta_move AxisNo LastFrame 0 0 05 0 0 1 0 0 01 0 01 set...

Page 141: ...rstFrame SynAxes PatternNo Pattern 10 FirstFrame LastFrame LastFrame add_frame_ta_move AxisNo LastFrame 0 0 05 0 1 0 0 01 0 01 set_pattern 0 PatternNo FirstFrame LastFrame FirstFrame SynAxes PatternNo 5 Insert pattern in sequences sequence 0 SynAxes 0x1 reset_seq_buffer 0 0 WaitAxis 0 StartCondition 0 insert_pattern_to_seq_buffer 0 0 0 SynAxes 0 Wai tAxis StartCondition 0 insert_pattern_to_seq_buf...

Page 142: ...is 0 StartCondition 200 insert_pattern_to_seq_buffer 0 2 7 SynAxes 1 Wai tAxis StartCondition 40 WaitAxis 0 StartCondition 0 insert_pattern_to_seq_buffer 0 2 8 SynAxes 0 Wai tAxis StartCondition 0 WaitAxis 0 StartCondition 102 insert_pattern_to_seq_buffer 0 2 9 SynAxes 1 Wai tAxis StartCondition 0 6 Start sequence move and wait for buffer being empty start_seq_move 0 7 while check_seq_buffer 0 0 0...

Page 143: ...Operation Theory 129 insert_pattern_to_seq_buffer 0 2 10 SynAxes 1 Wa itAxis StartCondition 40 7 Test Results Figure 4 51 Test Results ...

Page 144: ...130 Operation Theory ...

Page 145: ... following features and functionality X Language support for English Chinese Traditional and Jap anese X 32 bit operation under Windows95 98 2000 and Windows NT X Access and configuration of Multi Axes control system X Ability to access all of the servo driver parameter X Direct access to the general purpose I O X Full tuning capability for all servo driver and motion parame ter X XY Interpolation...

Page 146: ...dow 5 2 1 Component description Toolbar Use Motion Creator s toolbar to access the following functions Figure 5 2 Load Servo Parameter From File Load the servo parameter file from saved file This file records the servo parameters of all axes in all cards ...

Page 147: ...ndows NT Chinese Tradi tional Version Card list table This table lists all SSCNET board cards plugged in the PCI Bus The Card No column displays the card index the Type column display the card type the IRQ column displays the IRQ number of the card and the Address column displays the PCI Bus base address of the card The ID number column displays the card ID of the card If the ID is a minus value I...

Page 148: ...index of the axis the Motor Type display the motor type of the axis the Pulse Rev indicate the pulse per revolution of the axis The default value is 131072 Axis information If you double click the axis in the axis list table the axis informa tion window will appear and display the information of the axis Figure 5 5 Axis Information Software version Information Check the software version from the h...

Page 149: ...Motion Creator 135 Figure 5 6 Software Version Information ...

Page 150: ...lar interpolation Z Linear interpolation Z 2 D graph of command and feedback trajectory X 2 Axes Operate Z Two axes motion Z Driver status display Z Relative absolute and repeat motion mode Z Velocity profile display X 1 Axes Operate Z Driver status display Z Support Trapezoidal S Curve Home return Continuous motion Z Relative absolute and repeat motion mode Z Velocity profile display Z On the fly...

Page 151: ...t all of the axes listed in the table please quit MotionCreator and restart again 2 Select the axis in the Axis List table 3 Clicks the command button to operate 5 3 General Purpose IO Operation Window PCI 8372 8366 General Purpose IO Operation Window appears when clicking I O Configure button in the Main window Figure I O Configure shows the General Purpose IO Operation Window Figure 5 7 General ...

Page 152: ...read back the current value of two analog output channels Enter the analog output value in the textbox then click the Set Value button to write the analog output value External Encoder Setting X SSCNET board includes three external encoder channels Value X If the external encoder channels are used and the signals are connected you can read the encoder value for each channel X Enter the new value o...

Page 153: ...output enter the analog output value in the textbox then click the Set Value button to write the analog output value X The current value textboxes read back the current value of two analog output channels automatically External Encoder Setting X Mode Select the attribute of each external encoder signal if the external encoder signals are connected X Apply To select the axis that uses the external ...

Page 154: ...e shows the General Purpose IO Operation Window Figure 5 8 General Purpose IO Operation Window Component description The General Purpose IO Operation Window is divided into several frames Each frame is described as follows General Purpose DO There are two digital output channels in SSCNET board Click the rectangle button to write the digital output value for each digital output channel ...

Page 155: ...r channels are used and the signals are connected you can read the encoder value for each channel X Enter the new value of encoder in the textbox then click the Set button to write the value Apply To X Specify the axis that uses the external encoder signal Mode X Select the attribute of each external encoder signal if the external encoder signals are connected Control Loop X The attribute of the c...

Page 156: ...g X Mode Select the attribute of each external encoder signal if the external encoder signals are connected X Apply To select the axis that uses the external encoder X Control Loop select open or close loop control X Parameter enter the corresponding parameter for control loop Read and write encoder value X If the external encoder channels are used and the signals are connected you can read the en...

Page 157: ...erlapped by SSCNET axis Mode X Select the attribute of pulse output signal 5 5 Tuning Window Tuning Window appears when clicking Tuning button in the Main window The following figure shows the Tuning Window This win dow displays the response diagrams of selected channels by set ting the motion parameter in Single Axis Operation Window and trigger setting in this window ...

Page 158: ...144 Motion Creator Figure 5 10 Tuning Window 5 5 1 Component Description Figure 5 11 Trigger Setting Frame ...

Page 159: ...e specify the rising edge or falling edge trigger X Sample Number total amount of the gathering data X Pretrigger sample No amount of the pretrigger data Figure 5 12 Parameter Tuning Frame This frame affords an easy way to access a set of fundamental servo parameter Read All read the current servo parameter Channel Selection Frame This frame is used to set the signal of each channel Sample interva...

Page 160: ...146 Motion Creator Figure 5 13 Channel Selection Frame Figure 5 14 Motion Frame ...

Page 161: ...of PRM X Tacc Set the total acceleration time in unit of second X Tdec Set the total deceleration time in unit of second X Tlacc Set the linear acceleration time in unit of second X Tldec Set the linear deceleration time in unit of second X Ratio Set the move ratio between pulse and displacement Figure 5 15 Display Frame X Vertical Z Channel Select the channel you want to adjust Z Scale Adjust he ...

Page 162: ...hannels in different colors Timing Line There are two timing lines in the response diagram and the time difference between two lines will shows in the left corner of response diagram Play Keys Figure 5 17 Play Button Click this button will cause SSCNET board start to move Figure 5 18 Stop Button ...

Page 163: ... the response 5 5 3 Example X Click Channel tab select F B present value for channel 1 INP In Position for channel 2 Speed Command for channel 3 Speed Feedback for channel 4 and set Sam ple Interval 1x0 88 ms X Click Trigger tab select Ch 2 to be the trigger source trigger value 1 down slope 1 x0 88 ms sample interval X Click Motion tab select relative motion mode Distance 20000 Trapezoidal veloci...

Page 164: ... difference between two lines Note The range of Y Axis in the response diagram is 1000 to 1000 if the scaled data exceeds this range it will not display on the diagram 5 6 XY Interpolation Window XY Interpolation Window appears when clicking XY Interpolation button in the Main window The following figure shows the XY Interpolation Window Figure 5 19 XY Interpolation Window ...

Page 165: ... shows the current speed ratio current speed motor maximum speed of the horizontal and vertical axis 5 6 2 Operation steps The operation steps of XY Interpolation Window are described as following X Click Tab 0 to select the circular or liner mode of Interpola tion X Select the relative or absolute interpolation mode X Input the require parameters the require parameters are in the green background...

Page 166: ... relative or absolute trapezoidal mode and displays the velocity profile driver status for the users Figure 5 20 Two Axes Operation Window 5 7 1 Component description Axis 0 Axis 1 frame These frames display the required parameters for motion the parameters are described below X Start Velocity Set the start velocity of motion in unit of PRM In Absolute Mode or Relative Mode only the value is effec...

Page 167: ...nd sing is effective 5000 0 means 5000 0 in minus direction X Tacc Set the total acceleration time in unit of seconds X Tdec Set the total deceleration time in unit of seconds X Ratio Pulse mm set the move ratio between pulse and displacement X Relative or absolute mode for each axis X Absolute Mode Position will be used as absolution target position for motion X Relative Mode Distance will be use...

Page 168: ...ion X Stop button Click Stop button will cause SSCNET board to decelerate to stop The deceleration time is defined in parameter Tdec 5 7 2 Operation Steps X Select the motion mode and input the require parameters for each axis the require parameters are in the green back ground color X Click the Servo button to keep the Servo On state X Click right play and left play button to start the motion X C...

Page 169: ...and driver status Figure 5 21 Single Axis Operation Window 5 8 1 Component description Motion Mode Frame This frame provides selection of all modes for single axis motion each mode is described below Motion Parameters Frame This frame displays the require parameters for motion the param eters are described below X Start Velocity Set the start velocity of motion in unit of PRM In Absolute Mode or R...

Page 170: ...nd displacement X Tacc Set the total acceleration time in unit of seconds X Tdec Set the total deceleration time in unit of seconds X Tlacc Set the linear acceleration time in unit of seconds X Tldec Set the linear deceleration time in unit of seconds Driver Status frame This frame monitors the driver status in the update rate of 50ms Motion Status frame Left part is the motion done status and the...

Page 171: ...he SSCNET board to decelerate to stop The deceleration time for a Trapezoi dal Velocity Profile is defined in parameter Tdec and for S Curve Velocity Profile is defined in parameter Tdec Tldec Change Velocity On The Fly Button click this button to change the velocity of current motion The new velocity must be defined in Maximum Velocity 5 8 2 Motion I O Configration Window If you press the Motion ...

Page 172: ...ou press the Interrupt button you will see a window below It is for users to set interrupt factor the axis The setting will be automatically saved by MotionCreator It is userful to users to test the interrupt functions Figure 5 23 Interrupt Configration Window ...

Page 173: ...inuous Mode X Input the require parameters the require parameters are in the green background color X Click the Servo button to keep the Servo On state X Click right play and left play button to start the motion X Change Position On The Fly Button When this button is enabled users can change the target position of current motion The new position must be defined in Position2 X Change Velocity On Th...

Page 174: ...ndow This win dow supports full access to all servo driver parameters Figure 5 24 Driver Parameter Configuration Window 5 9 1 Component description Servo Driver Parameter Table This table lists all the accessible servo driver parameters and the attribute of the parameter Each column in this table is described as following X Name the short name of the parameter For any parameter whose symbol is pre...

Page 175: ...ttons and are described as following X Read All reads all of the servo driver parameter from servo driver and displays the value in the Current Value column of Servo Driver Parameter Table X Default modify the setting value of all servo driver parame ters to default value X Save to File save the current setting of all servo driver parameters into a file X Load from File modify the setting value of...

Page 176: ...odify the setting value of the parameter X Click Write Parameter button to adjust the parameters that you have modified X You can also click the default button to modify all the parameters to default setting then click Write Parameter button to adjust all the parameters to default value Note For any parameter whose symbol is preceded by set the parameter value and switch power off once then switch...

Page 177: ...rm 3 ROM memory fault AL 1A Motor combination alarm Combination of servo amplifier and servo motor is wrong AL 20 Encoder alarm 2 Communication error occurred between encoder and servo ampli fier AL 24 Main circuit error Ground fault occurred at the servo motor outputs U V W phases of the servo amplifier AL 25 Absolute position erase Absolute position data in error Power was switched on for the fi...

Page 178: ...abnormally AL 46 Motor overheat Servo motor temperature rise actu ated the thermal protector AL 50 Overload 1 Load exceeded overload protection characteristic of servo ampli fier Load ratio 300 2 5s or more Load ratio 200 100s or more AL 51 Overload 2 Machine collision etc caused max output current to flow successively for several seconds Servo motor locked 1s or more AL 52 Error excessive Droop p...

Page 179: ...ing Voltage of battery for absolute position detection system reduced AL E0 Excessive regenera tive load warning There is a possibility that regenerative power may exceed permissible regen erative power of built in regenerative brake resistor or regenerative brake option AL E1 Overload warning There is a possibility that overload alarm 1 or 2 may occur AL E3 Absolute position counter warning Absol...

Page 180: ...mum torque DG2 Moment of inertia ratio of load Pr 12 0 1 0 3000 PG1 Position control gain 1 Pr 13 rad sec 4 2000 VG1 Speed control gain 1 Pr 14 rad sec 20 8000 PG2 Position control gain 2 Pr 15 rad sec 1 1000 VG2 Speed control gain 2 Pr 16 rad sec 20 20000 VIC Speed integration compensation Pr 17 msec 1 1000 NCH Mechanical resonance control filter Pr 18 0 031FH FFC Feed forward gain Pr 19 0 100 IN...

Page 181: ...facturer s settings Pr 33 0000H 0113H VPI PI PID change position droop Pr 34 0 50000 TTT For manufacturer s settings Pr 35 0000H VDC Speed integration compensation Pr 36 0 1000 OP7 For manufacturer s settings Pr 37 0010H ENR Encoder output pulse Pr 38 0 32768 For manufacturer s settings Pr 39 0000H BLK Parameter block Pr 40 0000H 000EH Symbol Name MR J2SB Instruction Manual parameter Unit Setting ...

Page 182: ...e This is so called handshake It takes time in handshake The handshake latency is 0 888ms because of the SSCNET protocol Some procedure needs a series of handshaking and they will be introduced in the following sections 6 4 1 Card Initial Procedure The initial procedure is very complicated in SSCNET board Once the function MDSP_initial is lauched the following flow char will be taken Step Action O...

Page 183: ...se KernelUpdate exe to reset DSP and try again 9 The servo drivers will display b Maximun_Number_Of_ Card_Exceed Close program and open again 10 Check DSP ready for FPGA download FPGA_Handshake_Ti me_Out Time Out 100ms Use KernelUpdate exe to reset DSP and try again 11 Load daughter board s FPGA code FPGA_Download_Tim e_Out Time Out 5000ms Use KernelUpdate exe to reset DSP and try again 12 If ever...

Page 184: ...one by one and off No LED Flashing or LED always ON ROM data corrupt Please download ROM data again Use Kerne lupdate exe to do it 2 Initial Board 3 DSP_OK 1 LED turns off DSP_Reset_Time_O ut 4 No Error Card_ID_Out_Of_Ra nge The CardNo parameter of this function invalid 5 No Error Card_Reinitialized In the same program card dosen t close nor mally then want to initial again 6 Check DSP_OK 1 Card_N...

Page 185: ...pare frames for motion if you are very sure the motion is ended use stop command to can cel it 9 Axis_Busy_For_Motion Axis is busy for motion if you are very sure the motion is ended use stop command to cancel it 10 Axis_In_EMG_ON The EMG signal is ON Check EMG logic and switch 11 Axis_In_PEL_ON The axis is going to a direction which PEL ON Check PEL logic and switch 12 Axis_In_MEL_ON The axis is ...

Page 186: ...nized with SSCNET cycle low voltage level duration X DSP codes has two process Synchronized and Non Syn chronized process this channel displays the processing time of synchronized process X 2 start_tr_move command processing time at host side low voltage level duration X 3 DSP response time for Host motion command high volt age level duration ...

Page 187: ...ke some time the Peak to set a motion go flag for DSP syn chronized process X 3 4 DSP enter the synchronized process X 4 DSP starts calculating first position for servo driver and put it on SSCNET data stream X 4 5 The position data is sent to servo driver through cable X 5 Servo motor runs according to the position data X 5 6 Host start_ta_move object is in ending process X 6 start_ta_move functi...

Page 188: ...ET but also initializing the board on Windows system It will register the board s resources on sys tem The HSL functions are executable from this information only after the MDSP_Initial is successfully issued 2 HSL_Start or HSL_Auto_Start This function will start to search all the modules on HSL network 3 HSL_Slave_Live Use this function to check the status of searched HSL module After these proce...

Page 189: ...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 190: ... 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: