ADLINK Technology PCI-8366+ User Manual

Cpci-8312h sscnet motion control card
Table of Contents

Advertisement

Quick Links

PCI-8372+/8366+
Manual Rev.
Revision Date:
Part No:
Advance Technologies; Automate the World.
cPCI-8312H
SSCNET Motion Control Card
User's Manual
2.04
June 13, 2008
50-1H001-1020

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the PCI-8366+ and is the answer not in the manual?

Questions and answers

Summary of Contents for ADLINK Technology PCI-8366+

  • Page 1 PCI-8372+/8366+ cPCI-8312H SSCNET Motion Control Card User’s Manual Manual Rev. 2.04 Revision Date: June 13, 2008 Part No: 50-1H001-1020 Advance Technologies; Automate the World.
  • Page 2 Copyright 2008 ADLINK TECHNOLOGY INC. All Rights Reserved. The information in this document is subject to change without prior notice in order to improve reliability, design, and function and does not represent a commitment on the part of the manufacturer.
  • Page 3 Getting Service from ADLINK Customer Satisfaction is top priority for ADLINK Technology Inc. Please contact us should you require any service or assistance. ADLINK TECHNOLOGY INC. Web Site: http://www.adlinktech.com Sales & Service: Service@adlinktech.com TEL: +886-2-82265877 FAX: +886-2-82265717 Address: 9F, No. 166, Jian Yi Road, Chungho City,...
  • Page 5 Table of Contents Table of Contents..............i List of Tables................v List of Figures ............... vii 1 Introduction ................ 1 Specifications............... 4 Environmental Conditions............ 9 Software Support ............... 10 Programming Library ............ 10 Motion Creator .............. 10 2 Installation ................ 11 What You Have..............
  • Page 6 Pulse Output (cPCI-8312(H) Only) ........39 4 Operation Theory .............. 41 Architecture................ 41 HOST PC and SSCNET Board ........41 SSCNet Communication ..........41 Frame Architecture ............42 Frame Introduction ............42 Single Motion ..............44 Single axis velocity motion ..........44 Single axis P to P motion ..........
  • Page 7 Driver information ............94 Servo Alarm ..............95 Control Gain Tuning............95 Control Gains ..............96 Mechanical resonance suppression filter ...... 98 Low pass filter ............. 101 Interrupt control..............102 4.10 Position Compare Function ..........105 4.11 Interlock Function ............106 4.12 Absolute Position System ..........
  • Page 8 Component description ..........155 Motion I/O Configration Window ......... 157 Interrupt Configration Window ........158 Operation Steps ............159 Driver Parameter Configuration Window ......160 Component description ..........160 Operation Steps ............162 6 Appendix................163 MR-J2S-B Alarm List ............163 MR-J2S-B Warning List ...........
  • Page 9 List of Tables Table 1-1: Specifications ............4 Table 1-2: Vibration Resistance ..........9 Table 2-1: CN1 Pin Assignment ..........22 Table 2-2: CN5 Pin Assignment ..........23 Table 2-3: SP1 Pin Assignment ..........24 Table 2-4: CN3 Pin Assignment ..........25 Table 2-5: HS1A - HS2B Pin Assignment ........
  • Page 10 Table 6-5: Card Close Procedure .......... 169 Table 6-6: Card Soft Reset Procedure ........170 Table 6-7: Motion Command Procedure ........ 171 List of Tables...
  • Page 11 List of Figures Figure 1-1: SSCNet II High-Speed Connections......1 Figure 1-2: Block Diagram ............2 Figure 1-3: Flowchart for Building an Application ......3 Figure 2-1: PCI-8372+/8366+ Mechanical Drawing....12 Figure 2-2: cPCI-8312(H) Mechanical Drawing ......13 Figure 2-3: SSCNET Communication Test Utility ...... 20 Figure 3-1: Wiring for 6 Axes (PCI-8372+/8366+) .....
  • Page 12 Figure 4-18: Example 1 - Arc Trajectory ........64 Figure 4-19: Velocity vs. Time............64 Figure 4-20: Example 2 - Arc Trajectory ........65 Figure 4-21: Velocity vs. Time............65 Figure 4-22: Adding Dwell Example..........66 Figure 4-23: Velocity vs. Time............66 Figure 4-24: Line &...
  • Page 13 Figure 5-7: General Purpose IO Operation Window ....137 Figure 5-8: General Purpose IO Operation Window ....140 Figure 5-9: Pulse Output............143 Figure 5-10: Tuning Window............144 Figure 5-11: Trigger Setting Frame..........144 Figure 5-12: Parameter Tuning Frame ........145 Figure 5-13: Channel Selection Frame ........
  • Page 14 List of Figures...
  • Page 15: Introduction

    Introduction PCI-8372+/8366+ is a PCI bus interface card designed for per- sonal computer or industrial computer accompanied with a Mitsub- ishi MR-J2S-B type or SSCNET type servo amplifier. PCI-8372+ can control up to 12 servo amplifiers, where as PCI-8366+ can control up to 6 servo amplifiers.
  • Page 16: Figure 1-2: Block Diagram

    Since all axes are synchronized within the SSCNet cycle, multi-axis interpolation has better synchronicity than tradi- tional pulse train control. The on-board DSP controls all calculations necessary for perform- ing various motion functions, thus, the host CPU loading is greatly reduced.
  • Page 17: Figure 1-3: Flowchart For Building An Application

    Figure 1-3: Flowchart for Building an Application Introduction...
  • Page 18: Specifications

    1.1 Specifications Item Description Bus Type for PCI board PCI Rev. 2.2, 33MHz Bus width for PCI 32-bit System Bus Voltage Memory usage 16KByte IRQ on PCI board Assigned by PCI controller ° ° Operating temperature C - 60 ° °...
  • Page 19 Item Description Motion Velocity Profile Trapezoidal & S-Curve Jog move Single axis P to P motion Single motion Change P/V on the fly Linear interpolation: up to 4 axes 2-axis Circular interpolation Home move 1 home mode Motion Function Start / End motion list Add linear trajectory Add arc trajectory: 2 axes Add Dwell...
  • Page 20 Item Description +Limit Switch x 12 (PEL) Sink or source type are selectable in all chan- -Limit Switch x 12 (MEL) nels (all channels must Proximity dog x 12 (ORG) be the same) General Purposed Input x 2 Input voltage range: 0 - (PCI board only) Logic H: 14.4 - 24V Logic L: 0 - 5V...
  • Page 21 Item Description Resolution: 16 bits Settling Time: 10mS Max. Output Range: ±10V Output Coupling: DC Output Impedance: 30W Max. Output Driving: ±5mA max. Analog Out DA x 2 Power On State: Float- Calibration: Self-Cali- bration Gain Error: ±3% Max. Offset Error: 1mV Max.
  • Page 22 Item Description Incremental Encoder Input Max. Speed: 5Mhz Input Voltage: 0 - 5Vdc Logic H: 3 - 5V 32-bit Encoder input (A,B,Z) Encoder Interface x 3 channel (PCI) Logic L: 0 - 2.4V Ω Input resistor: 220 0.125W Isolated voltage: 500Vrms OUT/DIR, CW/CCW, AB phase selectable...
  • Page 23: Environmental Conditions

    1.2 Environmental Conditions Ambient Temperature Operation: 0 - 55°C Ambient Temperature Storage: -20 - 75°C Ambient Humidity Operation: 10 - 90%RH, avoid condensa- tion Ambient Humidity Storage: 10 - 90%RH, avoid condensa- tion Vibration Resistance Confirms to JIS C 0911 Frequency Acceleration Amplitude of Vibration Sweep 10~55Hz...
  • Page 24: Software Support

    1.3 Software Support 1.3.1 Programming Library For customers who are programming their own applications, we provide Windows 95/98/NT/2000/XP DLLs for the PCI-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.
  • Page 25: Installation

    Installation This chapter describes how to install the PCI-8372+/8366+ or cPCI-8312 (H). Please follow these steps below to install the board. 2.1 What You Have In addition to this User’s Guide, the package should also include the following items: SSCNET Motion Control Card ADLINK All-in-one Compact Disc for driver installation User’s Manual and Function Library.
  • Page 26: Pci-8372+/8366+ Outline Drawing

    2.2 PCI-8372+/8366+ Outline Drawing Figure 2-1: PCI-8372+/8366+ Mechanical Drawing Installation...
  • Page 27: Cpci-8312(H) Outline Drawing

    2.3 cPCI-8312(H) Outline Drawing Figure 2-2: cPCI-8312(H) Mechanical Drawing SC1-1: SSCNET connector for Axis 0-5 SC1-2: SSCNET connector for Axis 6-11 H1A, H1B: First HSL Set H2A, H2B: Second HSL Set SP1: Daughter Board connector L1: Board Status LED in Green L2: Board Status LED in Red Installation...
  • Page 28 RST: Board Reset Button SW1: CardID JP5-JP7: H1A,H1B Communication Mode Selection JP8-JP10: H2A, H2B Communication Mode Selection Installation...
  • Page 29: Hardware Installation

    2.4 Hardware Installation 2.4.1 Installation Procedures 1. Turn off your computer and all accessories (printer, modem, monitor, etc.) connected to computer. Remove the cover from your computer. 2. Hardware installation: For PCI board: Select a 32-bit PCI expansion slot. PCI slots are shorter than ISA or EISA slots and are usually white or ivory.
  • Page 30: Kernelupdate Utility Of Sscnet Card

    date.EXE utility or change the power supply. If this board still in the faulty situation, please try to test it in another platform or replace a new board for testing again. 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.
  • Page 31 2. Press “HPI boot” Installation...
  • Page 32 3. Press “Flash DL” button and select a kernel4.hex Installation...
  • Page 33: Sscnet Communication Test Utility

    4. Wait the value become 0 and displays Download Fin- ished 5. Press “ROM Boot” and wait 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.
  • Page 34: Figure 2-3: Sscnet Communication Test Utility

    Figure 2-3: SSCNET Communication Test Utility Installation...
  • Page 35: Software Driver Installation

    2.5 Software Driver Installation 1. Auto-Run from the ADLINK ALL-In-One CD, choose Motion Control and then SSCNET series baord 2. Follow the installation wizard 3. Shut down your computer, and insert the SSCNET series board into a slot and then power up the computer 4.
  • Page 36: Cn1 Pin Assignment: Sscnet Connector On Pcb

    2.6 CN1 Pin Assignment: SSCNet Connector on PCB Receptacle: 10220-52A2JL Manufacturer: 3M No Name I/O Function No Name I/O Function Signal Ground 11 Signal Ground TXD1+ Transmit+ 12 TXD1- Transmit - TXD2+ Transmit+ 13 TXD2- Transmit - RXD1+ Receive + 14 RXD1- Receive - Signal Ground 15...
  • Page 37: Cn5 Pin Assignment: Pci-8372+/8366+ I/O Connector

    2.7 CN5 Pin Assignment: PCI-8372+/8366+ I/O Connector Name Function Axis Name Function Axis A.COM Analog Ground Analog Output PEL1/MDI1 Positive End Limit Analog Output MEL1/MDI2 Minus End Limit PEL2/MDI4 Positive End Limit ORG1/MDI3 Origin Signal MEL2/MDI5 Minus End Limit PEL3/MDI7 Positive End Limit ORG2/MDI6 Origin Signal...
  • Page 38: Sp1 Pin Assignment: Cpci-8312(H) I/O Connector

    2.8 SP1 Pin Assignment: cPCI-8312(H) I/O Connec- Name Function Axis Name Function Axis Common for DO_COM General Digital Output Digital Output PEL1/MDI1 Positive End Limit General Digital Output MEL1/MDI2 Minus End Limit PEL2/MDI4 Positive End Limit ORG1/MDI3 Origin Signal MEL2/MDI5 Minus End Limit PEL3/MDI7 Positive End Limit...
  • Page 39: Cn3 Pin Assignment: Ttl Output Connector On Bracket

    Name Function Axis Name Function Axis OUT2+ Pulse signal (+) DIR1- Dir. signal (-) OUT2- Pulse signal (-) Analog Output DIR2+ Dir. signal (+) Analog Output DIR2- Dir. signal (-) A_COM Analog Ground Table 2-3: SP1 Pin Assignment Note: *MDI# is for general purpose input if it is not used for motion 2.9 CN3 Pin Assignment: TTL output Connector on bracket No Name I/O Function Axis No Name I/O...
  • Page 40: Table 2-5: Hs1A - Hs2B Pin Assignment

    2.10 HS1A - HS2B Pin Assignments: HSL Communi- cation Signal (RJ-45) Signal PIN 1 PIN 2 PIN 3 TXD+ PIN 4 RXD- PIN 5 RXD+ PIN 6 TXD- PIN 7 PIN 8 Table 2-5: HS1A - HS2B Pin Assignment Installation...
  • Page 41: Signal Connections

    Signal Connections Signal connections of all I/O’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 PCI-8372+ PCI-8366+ Figure 3-1: Wiring for 6 Axes (PCI-8372+/8366+) Figure 3-2: Wiring for 12 Axes (PCI-8372+) Signal Connections...
  • Page 42: Figure 3-3: Wiring For Cpci-8312(H)

    SSCNET Servo-amp (MR-J2S-B) for 6 drivers Max. MPC- SSCNET Cable MR-J2HBUS 8372/66 cPCI-8312(H) CPCI- 8312(H) SSCNET Servo-amp (MR-J2S-B) for 6 drivers Max. SSCNET Cable MR-J2HBUS Figure 3-3: Wiring for cPCI-8312(H) Figure 3-4: SSCNet Cable: Signal Connections...
  • Page 43: Encoder Feedback Signals: Ea, Eb And Ez

    3.2 Encoder Feedback Signals: EA, EB and EZ Pin No. Name Description EA1+ Encoder A-Phase (+) EA1- Encoder A-Phase (-) EB1+ Encoder B-Phase (+) EB1- Encoder B-Phase (-) EZ1+ Encoder Z-Phase (+) EZ1- Encoder Z-Phase (-) EA2+ Encoder A-Phase (+) EA2- Encoder A-Phase (-) EB2+ Encoder B-Phase (+)
  • Page 44: Figure 3-5: Encoder Feedback Signals

    Figure 3-5: Encoder Feedback Signals Please note that the voltage across each differential pair of encoder input signals (EA+, EA-), (EB+, EB-) and (EZ+, EZ-) should be at least 3.5V or higher. Therefore, the output current must be observed when connecting to the encoder feedback or motor driver feedback as not to over drive the source.
  • Page 45: Table 3-2: Encoder Power

    Connection to Open Collector Output To connect with an open collector output, an external power sup- ply 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 to protect the SSCNET board input circuit.
  • Page 46: Pel, Mel, Org, Emg And General Purpose Di

    3.3 PEL, MEL, ORG, EMG and General Purpose DI Pin No. Name Description PEL1/MDI1 Positive End Limit / Axis 0 MEL1/MDI2 Minus End Limit / Axis 0 ORG1/MDI3 Origin Signal / Axis 0 Table 3-3: PEL, MEL, ORG, EMG and General Purpose DI PEL2/MDI4 Positive End Limit / Axis 1 MEL2/MDI5...
  • Page 47 Pin No. Name Description ORG10/MDI30 Origin Signal / Axis 9 PEL11/MDI31 Positive End Limit / Axis 10 MEL11/MDI32 Minus End Limit / Axis 10 ORG11/MDI33 Origin Signal / Axis 10 PEL12/MDI34 Positive End Limit / Axis 11 MEL12/MDI35 Minus End Limit / Axis 11 ORG12/MDI36 Origin Signal / Axis 11 General Digital Input...
  • Page 48: Figure 3-8: Source Type

    SSCNET Board Inside PCI-8372 PEL1 +12/24 V MEL1 ORG1 Control Circuit Figure 3-8: Source Type Signal Connections...
  • Page 49: Figure 3-9: Skin Type

    Figure 3-9: Skin Type Signal Connections...
  • Page 50: General Purpose Do

    3.4 General Purpose DO Pin No. Name Description DO_COM Common for Digital Output General Digital Output General Digital Output DO_COM Common for Digital Output Table 3-4: General Purpose DO Pinout Figure 3-10: General Purpose DO Note: For Example: R=4.7K and PWR=24V Signal Connections...
  • Page 51: Ttl Output

    3.5 TTL Output The PCI-8372+/8366+ provides 6 general-purposed TTL digital outputs. The TTL output is available via CN3 of the bracket. Pin definition is defined in the below. Pin No. Name Function DGND Digital ground DGND Digital ground TDO1 Digital Output 1 TDO2 Digital Output 2 TDO3 Digital Output 3 TDO4 Digital Output 4...
  • Page 52: Analog Output

    3.6 Analog Output Pin No. Name Description A_COM Common for Digital Output Analog Output 1 Analog Output 2 Table 3-6: Analog Output Pinout The SSCNET board has two bipolar analog output channels. Figure 3-12: D/A Output Signals 3.7 Analog Input (cPCI-8312(H) Only) Pin No.
  • Page 53: Pulse Output (Cpci-8312(H) Only)

    Figure 3-13: Analog Input 3.8 Pulse Output (cPCI-8312(H) Only) Pin No. Name Description P_GND Common ground of pulse interface OUT1+ Pulse signal (+) OUT1- Pulse signal (-) DIR1+ Dir Signal (+) DIR1- Dir Signal (-) OUT2+ Pulse signal (+) OUT2- Pulse signal (-) DIR2+ Dir Signal (+)
  • Page 54: Figure 3-14: Wiring Diagram For Out And Dir Signals

    Figure 3-14: Wiring Diagram for OUT and DIR Signals Warning: The sink current must not exceed 20mA or the 2631 will be damaged! Non-differential type wiring 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.
  • Page 55: Architecture

    Operation Theory This chapter describes the detail operation of the SSCNET board card 4.1 Architecture 4.1.1 HOST PC and SSCNET Board The communication between the host PC and the SSCNET board is through a 16Kbyte Dual Port RAM that is integrated inside the SSCNET board.
  • Page 56: Frame Architecture

    4.2 Frame Architecture In this section, the frame architecture, which is the basis of all motion functions, is described. 4.2.1 Frame Introduction A frame is a mathematical description of a piece of motion trajec- tory. When user gives a motion command, for example: start_sr_move(), the motion command will be translated into sev- eral frames.
  • Page 57: Figure 4-1: Frame Flowchart

    Figure 4-1: Frame Flowchart Example of start_tr_move: [Step 1]: User calls start_tr_move(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...
  • Page 58: Single Motion

    start_tr_move is ‘0’. Start_tr_move will be disassembled into 3 frames. (1)X(t) = 10 * t^2 , t = 0 ~ 0.5 (2)X(t) = 1.25 + 5 * t , t = 0 ~ 1.6 (3)X(t) = 9.25 + 5*t - 16.666667 * t^2 , t = 0 ~ 0.3 [Step 3]: Download frame data to the SSCNET board.
  • Page 59: Single Axis P To P Motion

    tv_change(), sv_change() or stopped by the functions tv_stop(), sv_stop(), emg_stop(). Two kinds of acceleration method are available. By using tv_move(), the acceleration is constant as shown in the in left dia- gram below. By using sv_move(), the derivative of acceleration, the ‘jerk’, is a constant as Illustrated in the right diagram below.
  • Page 60: Figure 4-3: Single Axis Motion

    the function and provides information about the velocity profile and position method to achieve the target position. ‘t:’ The velocity profile is ‘Trapezoidal’. That is the accelera- tion and deceleration is a constant (shown in left diagram). ‘s:’ The velocity profile is ‘S-Curve’. This is a derivative of acceleration, ‘jerk’, and is a constant (shown in right dia- gram).
  • Page 61: Multi Axes Velocity Motion

    Figure 4-4: Motion Function Graphs Case 1 to case 2: The constant velocity period is reduced while the Tacc, Tdec, StrVel, MaxVel and FinVel remain unchanged. Case 2 to case 3: The constant velocity period vanished, and, StrVel, MaxVel and FinVel become smaller according to the ratio described below.
  • Page 62: Multi Axes P To P Motion

    Note: 1.Each axis runs independently. Thus, a stop function for each axis must be issued separately. 2.All axes must be on the same card. 4.3.4 Multi axes P to P motion In this section, the following functions are discussed. start_tr_move_all(Length, *Axis, *Dist, *StrVel, *MaxVel, *FinVel, *Tacc, *Tdec) start_sr_move_all(Length, *Axis, *Dist, *StrVel, *MaxVel, *FinVel, *Tacc, *Tdec, *Tlacc,...
  • Page 63: Figure 4-5: 2-Axis Linear Interpolation

    start_line_sa_move(Length, *AxisArray, *PosArray, StrVel, MaxVel, FinVel, Tacc, Tdec, Tlacc, Tldec) These four functions applies to any 2, any 3 or any 4 of the 12 axes in one card, so that these axes can “start simultaneously, and reach their ending points at the same time” and the ratio of speed between these axes is a constant value.
  • Page 64: Figure 4-6: 2-Axis Linear Interpolation Example

    start_line_tr_move(2, Axis, Dist, 10.0, 50.0, 15.0, 0.3, 0.2) This cause the two axes (axes 0 & 2) to perform a linear interpola- tion movement, in which: Δ X = 30 mm Δ Y = 40 mm Start vector speed=10mm/sec, X speed=6mm/sec, Y speed = 8mm/sec Max.
  • Page 65: Figure 4-7: 3-Axis Linear Interpolation

    Figure 4-7: 3-Axis Linear Interpolation Δ Δ Δ The speed ratio along X-axis, Y-axis and Z-axis is ( respectively, and the vector speed is: When calling those 3 axes linear interpolation functions, it is the vector speed, which defines the start velocity, ‘StrVel’, maximum velocity, ‘MaxVel’...
  • Page 66: Figure 4-8: 3-Axis Linear Interpolation Example

    Δ Z = 30 mm Start vector speed=10mm/sec X spped= 10/ = 2.67 mm/sec Y spped= 2*10/ = 5.33 mm/sec z spped= 3*10/ = 8.01 mm/sec Max. vector speed = 50mm/sec X spped= 50/ = 13.36 mm/sec Y spped = 2*50/ = 26.72 mm/sec z spped = 3*50/ = 40.08 mm/sec...
  • Page 67: Circular Interpolation

    Note: 1. Each axis runs independently. Thus, a stop function for each axis must be issued separately. 2. All axes must be of the same card 4.3.6 Circular Interpolation Any 2 of the 12 axes of SSCNET board can perform circular inter- polation.
  • Page 68: Change Velocity On The Fly

    (1800,600) (0,0) Center (1000,0) Figure 4-9: Circular interpolation To specify a circular interpolation path, the following parameters must be clearly defined. Center point: The coordinate of the center of arc (In absolute mode) or the off_set distance to the center of arc (In relative mode) Angle: The moving angle, either clockwise (-) or counter clock- wise (+)
  • Page 69: Figure 4-10: Stop A Moving Axis

    Figure 4-10: Stop a Moving Axis The sv_stop() function stops a 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.
  • Page 70: Figure 4-13: Moving Change

    The tv_change() function changes the moving speed of a specified ‘Axis’ with acceleration time period, ’Tacc’, and a ‘Trapezoidal’ velocity profile during acceleration. The second parameter ‘Speed- Factor’ is used to define the new speed. For example, if the speci- fied axis start its motion using tv_move() function and the ‘MaxVel’...
  • Page 71: Position Compensation On The Fly

    Note: 1. All change speed on the fly function calls can be applied any time when an axis is moving, no matter which function started its motion. 2. tv_change(), sv_change() with ‘SpeedFactor’ = 0 doesn’t have the same affect as tv_stop() , sv_stop(). For tv_stop(), sv_stop() will complete its motion, while tv_change(), sv_change() will set speed to zero.
  • Page 72: Table 4-2: Set_Position_Compensate Values

    Theory of position compensation This function is to change the target position defined originally by the previous motion functions. After changing position, the axis will move to the new target position and totally forget the original posi- tion. This operation can only be applied on the constant velocity section.
  • Page 73: Home Move

    Compen_Value AppliedPos Final Position Note Not allowed Table 4-2: set_position_compensate Values 4.4 Home move In this section, the following functions are discussed. set_home_mode(Axis, HomeMode) home_move(Axis, StartVel, MaxVel, FinVel, Tacc) After configuring set_home_mode(), user home_move() function to command the axis to start returning home.
  • Page 74: Declaration For Beginning Of Motion List

    1. Accelerate from StrVel to MaxVel. 2. Travel with constant velocity ‘MaxVel’ until ORG turns 3. Slow done to stop. 4. Return and accelerate to ‘FinVel’. 5. Travel with constant velocity ‘FinVel’ until ORG turn Off. 6. Slow done to stop. 7.
  • Page 75: Add Trajectory Pieces

    start_motion_list(), user can call the functions discussed in next section to piece-wisely extend the trajectory. start_motion_list() automatically checks whether the previous motion list is finished or not. If the previous list is not completed it will return an error. The first parameter ‘Length’ defines the total number of axes that will be involved in the continuous motion.
  • Page 76 add_arc2_sa_move(*AxisArray, *CenterPosArray, Angle, StrVel, MaxVel, FinVel, Tacc, Tlacc, Tdec, Tldec) add_arc2_sr_move(*AxisArray, *CenterDistArray, Angle, StrVel, MaxVel, FinVel, Tacc, Tlacc, Tdec, Tldec) add_arc2_ta_move(*AxisArray ,*CenterPosArray, Angle, StrVel, MaxVel, FinVel, Tacc, Tdec) add_arc2_tr_move(*AxisArray, *CenterDistArray, Angle, StrVel, MaxVel, FinVel, Tacc, Tdec) add_dwell(Sec) smooth_enable(Flag, R) These functions are used to construct a continuous motion trajec- tory.
  • Page 77: Figure 4-17: Example 2-D Trajectory

    end_motion_list() The resulting 2-D trajectory is: Figure 4-17: Example 2-D Trajectory Adding an arc trajectory When any of the following 8 functions are executed add_arc_tr_move(), add_arc_sr_move() add_arc_ta_move(), add_arc_sa_move() add_arc2_tr_move(), add_arc2_sr_move() add_arc2_ta_move(), add_arc2_sa_move() A 2-D arc will be added to the continuous motion trajectory. The first 4 are used after 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.
  • Page 78: Figure 4-18: Example 1 - Arc Trajectory

    Figure 4-18: Example 1 - Arc Trajectory 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: Figure 4-20: Example 2 - Arc Trajectory

    Figure 4-20: Example 2 - Arc Trajectory Figure 4-21: Velocity vs. Time 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 &...
  • Page 80: Figure 4-22: Adding Dwell Example

    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, 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”.
  • Page 81: Figure 4-24: Line & Line

    Figure 4-24: Line & Line Figure 4-25: Line & Arc Figure 4-26: Arc & Arc smooth_enable() function could be executed second or more rimes in order to disable smoothing or to change smoothing radius ‘R’ as program’s need. For example: (Suppose both axes 0 &...
  • Page 82: Declaration For End Of Motion List

    end_motion_list() Figure 4-27: Smoothing Example Figure 4-28: Velocity vs. Time Note: 1. Smoothing is also applicable for 3D and 4D. 2. The smoothing trajectory guarantees continuous velocity and acceleration at the smoothing point. 4.4.3 Declaration for End of Motion List In this section, the following function is discussed.
  • Page 83: Start/Stop Command

    be translated into frame data such that the SSCNET board can understand. This function takes no parameters. 4.4.4 Start/Stop command In this section, the following functions are discussed. start_cont_move(Void) stop_cont_move(Void) After building a trajectory by either on-line (start/end motion list) or off-line (load trajectory file) method, user can call the start_cont_move() function to perform the continuous motion tra- jectory.
  • Page 84: Position Control And Feedback

    feedback…etc. This section will concentrate on the motion related I/O and their function calls. 4.5.1 Position control and feedback In this section, the following functions are discussed. get_position(Axis,*Pos_F, *Pos_C) set_position(Axis,Pos) get_target_pos(Axis,*TargetPos) get_move_ratio(Axis, *PulsePerMM) set_move_ratio(Axis, PulsePerMM) Get position information The SSCNET board controls servo drivers & motors via an SSC- Net protocol.
  • Page 85: Figure 4-29: Move Ratio Control

    Since the target position is a software recorder for the motion end position, it doesn’t work under the following conditions: Case 1: Velocity motion is applied, because velocity motion have no end position information. Case 2: emg_stop(), tv_stop() and sv_stop() are executed, because motion stop before motion completed.
  • Page 86: Velocity Feedback

    4.5.2 Velocity Feedback In this section, the following function is discussed. get_velocity(Axis,*Vel_F, *Vel_C) This function is used to retrieve the velocity information. Two velocity values can be retrieved. ‘*Vel_F’: Feedback velocity, just as for position feedback, the SSCNET board receives the velocity feedback via SSC- Net communication and is refreshes on each SSCNet cycle and is measured by the servo driver.
  • Page 87: Software Limit

    PEL signal indicates the end-limit in the positive (plus) direc- tion. The MEL signal indicates the end-limit in the negative (minus) direction. When the axis is moving towards the positive direction, the axis will be stopped when the PEL signal becomes active, while the MEL signal is no affect in this case, and vise versa.
  • Page 88: Motion Status

    are extremely useful in protecting a user’s mechanical system, as it can operate as a physical limit switch, when configured correctly. The software limit works because the DSP of the SSCNET board compares the current feedback position with the setting of the soft- ware limit value every SSCNet cycle.
  • Page 89: Table 4-4: Motion Status

    Name Value & Description 1: Axis not Servo ON Not_Servo_ON 0: Axis is Servo ON Table 4-3: Axis Status Not_In_Control: (Bit 0) When initializing the SSCNET board card, the on-board DSP com- mands the SSCNet controller IC to search all axes for SSCNet servo drivers.
  • Page 90: Motion Input As General Input

    Name Description After lauching velocity change command, this bit will be In_V_Change ON till the change is done After lauching position change command, this bit will be In_P_Change ON till the change is done MEL_ON Axis touches the positive limit switch PEL_ON Axis touches the negative limit switch ORG_ON...
  • Page 91: General Purpose Io

    You can get the return code from get_MDI_status(CARD0, 9) and get_MDI_status(CARD0, 10) to read input status. If you don't set the mode to 1, you still can read the MDI status by this function. 4.6 General Purpose IO General purpose I/Os are input and output signals that user can freely use.
  • Page 92: Table 4-5: Encoder Resistor

    Below are examples of connecting the input signals with an external 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 least 3.5V across the differential pairs with at...
  • Page 93: Figure 4-32: Open Collector Circuit

    Figure 4-32: Open Collector Circuit Configuring encoder counter Each encoder counter can be configured to receive one of the following three types of signals using the function call set_cnt_iptmode(). 1. A/B phase (Quadrature pulse signal) 2. CW/CCW (Dual pulses signal) 3.
  • Page 94: Figure 4-33: A/B Phase Timing

    when the phase of the EA signal leads the phase of the EB sig- nal. A timing waveform is illustrated below. Figure 4-33: A/B Phase Timing CW/CCW Mode In this mode, the pulse from EA causes the counter to count up, while EB will cause the counter to count down.
  • Page 95: Figure 4-35: Da Output

    4.6.2 DIO In this section, the following functions are discussed. get_di_status(CardID, ChNo, *Sts) set_do_value(CardID, ChNo, Value) Each PCI-8372+ board has 2-isolated digital output and 2 isolated digital input channels. Use the get_di_status() function to retrieve the current DI status, and set_do_value() to set the DO value. 4.6.3 DA In this section, the following functions are discussed.
  • Page 96: Analog Channel Auto Calibration

    4.6.4 AD In this section, the following functions are discussed. set_ad_function(CardID,Enable, AD_gain, AD_Last, AD2_src) get_da_value(CardID,ChNo,*Value) There are two analog input channels on the cPCI-8212H. It is used for sensing anlog output device ranged from –10V to +10V. Users can choose the gain by 1, 2, or 4. It means that the input voltage range could be +/-10V, +/-5V and +/- 2.5V for optimizing input res- olution.
  • Page 97 we have done this when this board is produced. The procedure of tuning these analog channels are as following: 1. Tune the on board +5V generator to exactly +5.0000V by measuring it from JP1 connector on daughter board. PCI-8372+/8366+ don’t have this feature. 2.
  • Page 98: Driver Management

    4.7 Driver Management 4.7.1 Driver parameter In this section, the following functions are discussed. get_servo_para(Axis, ParaNo,*Value) set_servo_para(Axis, ParaNo, Value) get_servo_para_all(Axis, *Value) set_servo_para_all(Axis, *Value) save_servo_para(I16 Axis) set_servo_para_default(I16 Axis) With the SSCNET board, servo parameters read/write becomes very easy using function calls listed above. read current parameter...
  • Page 99 MR-J2SB Instruction Setting Symbol Name Unit Manual Parameter Range *MCA For manufacturer’s settings Pr.04 0000H *MTR For manufacturer’s settings Pr.05 *FBP Feedback pulse number Pr.06 0,1,6,7,225 *POL Direction of motor rotation Pr.07 Auto-tuning Pr.08 0000H~0004H Servo response setting Pr.09 0001H~000FH Forward rotation torque lim- 0~Maximum Pr.10...
  • Page 100: Data Monitoring

    MR-J2SB Instruction Setting Symbol Name Unit Manual Parameter Range For manufacturer’s settings Pr.29 0001H Zero speed Pr.30 0~10000 Error excess alarm level Pr.31 kpulse 1~1000 Option function 5 Pr.32 0000H~0002H For manufacturer’s settings Pr.33 0000H~0113H PI-PID change position Pr.34 0~50000 droop For manufacturer’s settings Pr.35...
  • Page 101 To be able to use the monitoring function, users must understand the configuring and 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: Table 4-7: Monitoring Targets

    The first parameter ‘Axis’ specifies the axis. The remaining four parameters are used for the monitoring targets. The relationship between set values and monitoring targets are list below. Value Description Unit Not Used Feedback pulse accumulation Pulse (Reserved) Motor revolution speed 0.1rpm (Reserved) Accumulated pulse...
  • Page 103 Value Description Unit Origin revolution counts Origin position within one revolution Pulse (Reserved) (Reserved) (Reserved) Alarm status AL-1 Alarm status AL-2 Alarm status AL-3 Alarm status AL-4 Alarm status AL-5 Alarm status AL-6 Alarm status AL-7 Alarm status AL-8 Alarm status AL-9 Alarm status AL-E (Reserved) (Reserved)
  • Page 104 Value Description Unit (Reserved) (Reserved) (Reserved) (Reserved) (Reserved) INP (in position) Active: 1, Inactive: 0 Velocity Command Pulse/sec DA1 Value DA2 Value Speed Feedback External Encoder Feedback Command Pulse Table 4-7: Monitoring Targets 2. set_monitor_config This function is used to set the monitoring configuration, such as sampling period, trigger condition…etc.
  • Page 105: Table 4-8: Axis Parameters

    The first parameter ‘Axis’ specifies which axis. Other parameters are listed below. Parameter Name Description This variable is used to define the trigger source. Trigger_Select: Value = 0: No trigger Value = 1: CH0 as trigger source, going high Value = 2: CH1 as trigger source, going high Trigger_Select Value = 3: CH2 as trigger source, going high Value = 4: CH3 as trigger source, going high...
  • Page 106 The first parameter ‘Axis’ specifies which axis. The remaining four parameters are used to retrieve monitoring data from the monitor- ing channels. This function returns a value immediately and carries out real time monitoring of specified monitoring targets. 2. Normal monitoring Normal monitoring is data sampling with the help of the on-board DSP.
  • Page 107: Servo Information

    Table 4-9: Data Array Offset 4.7.3 Servo Information In this section, the following function 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...
  • Page 108: Servo On

    Bit 3 In course of zero speed Bit 4 Pass through Z phase of servo motor Bit 5 In Torque limit Bit 6 In Alarm Bit 7 In warning Bit 8 Reserve Bit 9 Reserve Bit 10 ~ 14 Reserved Bit 15 In course of Speed limit Bit 16 ~ 31...
  • Page 109: Servo Alarm

    kept by the SSCNET board and users can retrieve the info using the following two functions. To read the servo driver’s static info, use understand_driver() To read servo motor’s static info, use understand_motor() 4.7.6 Servo Alarm In this section, the following functions are discussed. get_alarm_no(Axis,*AlarmNo) alarm_reset(Axis) When a fault occurs, the servo driver will stop the motor and report...
  • Page 110: Control Gains

    get_LP_filter(Axis,*ON_OFF) 4.8.1 Control Gains The first 4 functions are used to set/read the gain controls of the servomotor control system. There are 6 control gains, and they are PG1, VG1, VIC, PG2, VG2, and FFC. The following are some simple description of the control gains, for more information refers to the “Instruction Manual”...
  • Page 111 Auto-Tuning mode The MR-J2S-B servo driver has as read-time auto tuning function, which can automatically estimate the machines characteristic and set the optimum control gain values in real time. There are two Auto-Tuning modes: Auto-Tuning mode 1: In this mode, the load inertia moment of a machine is estimated, and all control gains are set automatically, creating a machine response frequency that matches the user’s requirements (RSP).
  • Page 112: Mechanical Resonance Suppression Filter

    The function call set_auto_tune() is used to select the auto-tuning or manual tuning mode with the parameter ‘Mode’ specifying the operation mode. If Auto-tuning mode is selected, ‘RSP’ specifies the user’s machine response frequency requirements, while in manual mode it’s not applicable. ‘GD2’ specifies the load inertia moment of a machine.
  • Page 113: Table 4-12: Notch Frequency Settings

    Notch filter The notch filter is a filter function, which decreases the gain of the specific frequency (notch frequency) and gain decreasing depth. Figure 4-36: Notch Filter Note: The machine resonance suppression filter is a delay factor for the servo system. Hence, vibration may increase if you set a wrong resonance frequency or a too deep notch.
  • Page 114: Table 4-13: Notch Gain Settings

    A deeper notch provides better resonance suppression but increases the phase delay and may increase vibration. The notch frequency can be set with the parameter ‘NotchDepth’. The setting values and corresponding notch gain are listed in the table below. Setting Depth (Gain) -40db -14db -8db...
  • Page 115: Low Pass Filter

    Setting Control Selection Valid_0 - The adaptive vibration sup- pression control is enabled with normal sensitivity of detecting machine reso- nance. Valid_1 - The adaptive vibration sup- pression control is enabled with large sensitivity of detecting machine reso- nance. Hold - filter characteristic generated so far is held, and detection of machine resonance is stopped.
  • Page 116: Interrupt Control

    The low pass filter can be enabled or disabled using the parameter ‘ON_OFF’. ‘ON_OFF’ = 0, Disabled ‘ON_OFF’ = 1, Enabled Note: In a mechanical system where rigidity is extremely high and resonance s difficult to occur, setting the low pass filter to be ‘Disabled’...
  • Page 117: Figure 4-37: Interrupt Control

    Figure 4-37: Interrupt Control Users can either set a call back routine that will be executed when an interrupt occurs, or create a thread to wait for an event that will be triggered when an interrupt occurs. To enable or disable the interrupt generated from the SSCNET board, use the int_control() function.
  • Page 118: Table 4-15: Axis Interrupts

    “Source” = 0 - 11, for Axis 0 - Axis 11 respectively. Bit of ‘IntFactor’ Name Description Positive Limit Switch Negative Limit Switch Home Switch Servo Ready In Position Index signal passed ZSPD Zero Speed Torque Limit reached Alarm signal on Servo Warning on HOME Home Move completed...
  • Page 119: Position Compare Function

    Bit of ‘IntFactor’ Description Compare_Counter_CH1 Compare_Counter_CH2 Table 4-17: GPIO Interrupts After setting the interrupt source and factors, the interrupt signal can be detected by using either a call back routine or a event wait- ing thread. Note: For the PCI-8372+, the number of controllable axis is “12”, Thus: Source: 0 - 11 is for axis 0 - 11 individually, Source: 12 for system,...
  • Page 120: Interlock Function

    Each axis of the SSCNET board has 2-position compare chan- nels. After setting the channels using set_compare(), the DSP of the SSCNET board compares the feedback position on each SSC- NET cycle with “CMP#Pos” for each channel. The comparison includes the direction. The user can specify the compare succeed condition to be any of the following: Direction = 0, whenever feedback across ComparePos...
  • Page 121: Figure 4-38: Dsp Action Graph

    Figure 4-38: DSP Action Graph Figure 4-39: Interlock Area Interlock function is much like a crossroad semaphore. In some applications, two independent axes will work on the same region occasionally. In the past, users must take care these two axes’ movement to prevent collision.
  • Page 122: Absolute Position System

    get_interlock(…) will retrieve above parameters for users’ to check. Note: 1. Enable=1 means enable this function and 0 means dis- able 2. Time means slow down time when interlock happens 3. X1,X2,Y1,Y2 form a interlock region 4.12 Absolute Position System In this section, the following function is discussed.
  • Page 123: Compared Trigger Output

    The formal procedure to use this features are as followings: Launch home_move() function to complete homing. Check if the home position is correct Launch save_abs_position() to store the ABS position as an origin position reference. Next time, when SSCNET motion control card starts, users don’t need to launch home_move() anymore.
  • Page 124: Figure 4-40: Trigger Output

    sider the continuous compared with triggering pulse output feature. Figure 4-40: Trigger Output SSCNET motion board has a compare mechanism of each axis that is operated by DSP. DSP will compare the receiving counter with users’ desired value and do the actions in one SSCNET cycle if the position is achieved.
  • Page 125: Figure 4-41: Triggering Frequency Under 500Hz

    Figure 4-41: Triggering Frequency Under 500Hz Before using this feature, users must map on-board digital output channel to axis’ comparator. The mapping could be one ouptput channel to one comparator or two output channels to one compar- ator. For example, users can map Dout Channel 0 to axis2’ comparator0 and Dout Channel 1 to axis3’...
  • Page 126 < Example: Dual trigger pulses output by comparing two Table in one axis > Table_Data1[10]={1500,2000,2500,3000,3500,4 000,4500,5000,5500,6000}; Table_Data2[10]={1800,2300,2800,3300,3800,4 300,4800,5300,5800,6300}; I16 AxisNo=1; // Normal high setting map_dout_and_comparator(0, 0, AxisNo, 0 ,1); map_dout_and_comparator(0, 1, AxisNo, 1 ,1); // Build Compare Table1,2 from index 0 to 9, totally 10 points link_dout_and_compare_table(0, 0, 0, 9,Table_Data1);...
  • Page 127: Figure 4-42: Positive Move

    Figure 4-42: Positive Move Picture two: Negative Move (CH1 in scope is DO Channel 0, CH2 in scope is DO Channel 1.) Operation Theory...
  • Page 128: Sequence Motion Control

    Figure 4-43: Negative Move 4.14 Sequence Motion Control SSCNet has the property of the deterministic time, which is 0.888 ms. Theoretically, the motion command will be passed down to DSP with hand-shaking way. It takes two or three cycle times to complete the delivery and execute the motion command.
  • Page 129: Conceptual Flow Chart

    unit in this sequence motion control. Properly group some of those frames into one pattern. Simply put, a pattern contains many frames inside. The motion pattern can be reused and in the form of T-curve, S-curve, combined T-curve and S-curve, or arbitrary velocity profile.
  • Page 130: Figure 4-44: Conceptual Flow Chart - Timing A

    Figure 4-44: Conceptual Flow Chart - Timing A As the diagram, you can see the timing chart of the 4 axes. In this case, we only control 4 axes –axis 0, 1, 2 and 11. As soon as hav- ing the complete timing chart, you can segment the velocity profile and obtain the frames that are based on the rule introduced ear- lier.
  • Page 131: Figure 4-45: Conceptual Flow Chart - Timing B

    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.
  • Page 132: Table 4-18: Pattern Index

    depending on the axis 0. Pattern 7 will activate depending on axis 1. Here, users can have three selections to meet the requirement: Position compare: While the axis moves through certain position, it can let the other axis start to move. Like pattern 5, it will start to move while the axis 0 passes through point Velocity transition: The pattern can activate while the veloc- ity of the other axis is at the end of the acceleration or the...
  • Page 133: Figure 4-47: Conceptual Flow Chart - Buffers A

    Figure 4-47: Conceptual Flow Chart - Buffers A The sequence is an abstract object. It collects several patterns as a group. The pattern is a substantial object. It contains the infor- mation of frames. Inside the board, the first three patterns can be stored in those three pattern buffers in advance.
  • Page 134: Coding Example 1: Using C Language

    In this case, we let every axis to be as a sequence. Group the pat- terns and we can have the sequence as follows: Sequence Contains Sequence 0 P0 to P3 Sequence 1 P4 to P6 Sequence 2 Sequence 3 Table 4-19: Sequences Then, you can use the API to link the synchronous relation.
  • Page 135 AxisNo=1; SynAxes=0x02; PatternNo=0; // Pattern 0 FirstFrame=0; LastFrame=add_frame_ta_move(AxisNo, FirstFrame, 0, 5, 0, 10, 0, 0.1, 0.1); LastFrame=add_frame_ta_move(AxisNo, LastFrame, 5, 10, 0, 10, 0, 0.1, 0.1); set_pattern(0, PatternNo, FirstFrame, LastFrame - FirstFrame, SynAxes); PatternNo++; // Pattern 1 FirstFrame=LastFrame; LastFrame=add_frame_ta_move(AxisNo, FirstFrame, 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);...
  • Page 136 LastFrame=add_frame_ta_move(AxisNo, LastFrame, 5, 10, 0, 10, 0, 0.1, 0.1); set_pattern(0, PatternNo, FirstFrame, LastFrame- FirstFrame, SynAxes); PatternNo++; // Pattern 4 FirstFrame=LastFrame; LastFrame=add_frame_ta_move(AxisNo, FirstFrame, 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);...
  • Page 137 insert_pattern_to_seq_buffer(0, 0, 3, SynAxes,0,0,0,0); insert_pattern_to_seq_buffer(0, 0, 4, SynAxes,0,0,0,0); insert_pattern_to_seq_buffer(0, 0, 5, SynAxes,0,0,0,0); start_seq_move(0, 0x3); Working with more than 3 patterns in one sequence If the patterns are morer than three, users must know how to use the sequecen command buffers. There are three command buffers in each sequence.
  • Page 138: Coding Example 2: Compare Start Condition

    4.14.3 Coding Example 2: Compare Start Condition Figure 4-50: Coding Example 2 1. Variables Setting I16 FirstFrame, 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;...
  • Page 139 LastFrame = add_frame_dwell(AxisNo,FirstFrame,- 45,1); LastFrame = add_frame_ta_move(AxisNo,LastFrame,- 45,-44.8,0,1,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,- 44.8,45,0,20,0,1,1); LastFrame = add_frame_ta_move(AxisNo,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);...
  • Page 140 LastFrame = add_frame_ta_move(AxisNo,FirstFrame,0,- 15,0,15,0,1,1); set_pattern(0,PatternNo,FirstFrame, LastFrame- FirstFrame, SynAxes); PatternNo++; // Pattern 5 FirstFrame = LastFrame; LastFrame = add_frame_ta_move(AxisNo,FirstFrame,- 15,45,0,30,0,1,1); set_pattern(0,PatternNo,FirstFrame, LastFrame- FirstFrame, 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++;...
  • Page 141 LastFrame = add_frame_dwell(AxisNo,FirstFrame,0.05,1); LastFrame = add_frame_ta_move(AxisNo,LastFrame,0.05,0.2 3,0,1,0,0.1,0.1); set_pattern(0,PatternNo,FirstFrame, LastFrame- FirstFrame, SynAxes); PatternNo++; // Pattern 9 FirstFrame = LastFrame; LastFrame = add_frame_ta_move(AxisNo,LastFrame,0.23,0,0 ,1,0,0.1,0.1); set_pattern(0,PatternNo,FirstFrame, LastFrame- FirstFrame, 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++;...
  • Page 142 WaitAxis = 0; StartCondition = 0; // pattern no insert_pattern_to_seq_buffer(0,1,4,SynAxes,0,Wai tAxis,StartCondition,0); WaitAxis = 0; StartCondition = 2; insert_pattern_to_seq_buffer(0,1,5,SynAxes,1,Wai tAxis,StartCondition,1); WaitAxis = 0; StartCondition = 0; insert_pattern_to_seq_buffer(0,1,6,SynAxes,0,Wai tAxis,StartCondition,0); // sequence 2 SynAxes = 0x4; reset_seq_buffer(0,2); WaitAxis = 0; StartCondition = 200; insert_pattern_to_seq_buffer(0,2,7,SynAxes,1,Wai tAxis,StartCondition,-40);...
  • Page 143: Figure 4-51: Test Results

    insert_pattern_to_seq_buffer(0,2,10,SynAxes,1,Wa itAxis,StartCondition,-40); 7. Test Results Figure 4-51: Test Results Operation Theory...
  • Page 144 Operation Theory...
  • Page 145: Motion Creator

    Motion Creator After installing all the hardware according to Chapters 2 and 3, it is necessary to correctly configure all cards and double check before running. This chapter gives guidelines for establishing a control system and manually testing the SSCNET board cards to verify correct operation.
  • Page 146: Component Description

    Figure 5-1: Motion Creator Main Window 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. Motion Creator...
  • Page 147: Figure 5-3: Save Servo Parameter To File

    Figure 5-3: Save Servo Parameter to File Save the servo parameters to file with a file extension “par”. Language Support Click the “Language” item in the menu bar, and select the lan- guage you want to display. (The language you select must be available in your operation system, for example: only Chinese-Tra- ditional and English are available in Windows NT Chinese-Tradi- tional Version.
  • Page 148: Figure 5-5: Axis Information

    Axis list table If you click one of the cards in the card list table, the axis list table lists all the axes connected to this card. The "Station No" column display the ID of each axis, the "Axis No" column display the index of the axis, the "Motor Type"...
  • Page 149: Figure 5-6: Software Version Information

    Figure 5-6: Software Version Information Motion Creator...
  • Page 150 Command buttons The functionality of command buttons are described following I/O Configure General purpose digital input and output General purpose Analog output External Encoder setting Tuning Trigger setting Basic servo driver parameter setting Multiple channel display and adjustment XY-Interpolation Circular interpolation Linear interpolation 2-D graph of command and feedback trajectory 2-Axes Operate...
  • Page 151: Operation Steps

    5.2.2 Operation Steps 1. Check if all the SSCNET cards, which are plugged into the PCI-Bus show on the “Card List” table, then click each card in the card list table and check if all the axes are displayed. If not all of the axes listed in the table, please quit MotionCreator and restart again.
  • Page 152: Component Description

    5.3.1 Component description The General Purpose IO Operation Window is divided into several frames. Each frame is described as follows: General Purpose DI/O There are two digital input and 2 digital output channels in SSC- NET board 1. The circular buttons show the status of two digital input channels.
  • Page 153: Operation Steps

    Parameter The corresponding parameter for the external encoder 5.3.2 Operation Steps The General Purpose IO Operation Window accesses the digital input, output and analog output value of the SSCNET board. The operation steps are described as follows: General Purpose DI/O Digital input: the circular buttons display and update the cur- rent status of two digital input channels in the scan rate of 100 ms.
  • Page 154: General Purpose Io Operation Window (Cpci-8312H)

    5.4 General Purpose IO Operation Window (cPCI- 8312H) 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-8: General Purpose IO Operation Window Component description The General Purpose IO Operation Window is divided into several frames.
  • Page 155: Operation Steps

    General Purpose DA/AD There are two analog output and input channels in SSCNET board. The current value textboxes read back the current value of two analog output channels. Enter the analog output value in the textbox then click the “Set Value”...
  • Page 156: Pulse Output

    General Purpose DI/O Digital output: click the rectangle button to write the digital output value for each digital output channel. General Purpose AD/DA Analog output: enter the analog output value in the textbox then click the “Set Value” button to write the analog output value.
  • Page 157: Component Description

    Figure 5-9: Pulse Output 5.4.3 Component description Apply To Specify the axis that uses pulse output function. Notice that the axis number can’t be overlapped by SSCNET axis. Mode Select the attribute of pulse output signal. 5.5 Tuning Window Tuning Window appears when clicking “Tuning” button in the Main window.
  • Page 158: Component Description

    Figure 5-10: Tuning Window 5.5.1 Component Description Figure 5-11: Trigger Setting Frame Motion Creator...
  • Page 159: Figure 5-12: Parameter Tuning Frame

    This frame provides a flexible choice to configure the trigger. Once the signal is triggered, the data from the four channels will be plot- ted on the response diagram. Source: select one of the channel signal to be the trigger source Value: trigger value Slope: specify the rising edge or falling edge trigger...
  • Page 160: Figure 5-13: Channel Selection Frame

    Figure 5-13: Channel Selection Frame Figure 5-14: Motion Frame Motion Creator...
  • Page 161: Figure 5-15: Display Frame

    This frame is used to construct a motion. Velocity profile: Select the Trapezoidal or S-Curve velocity profile. Start Velocity Set the start velocity of motion in unit of PRM. Maximum Velocity: Set the maximum velocity of motion in unit of PRM. Final Velocity: Set the finvel velocity of motion in unit of PRM.
  • Page 162: Figure 5-16: Response Diagram

    Figure 5-16: Response Diagram This diagram displays the waveform from four channels 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.
  • Page 163: Operation Steps

    Click “Stop” button will cause SSCNET board to decelerate to stop. 5.5.2 Operation Steps The operation steps are description as follows: Click “Channel” tab to specify the signal data, and sample interval Click “Trigger” tab to set trigger source, trigger value, slope, Sample Number, and pretrigger sample No.
  • Page 164: Xy-Interpolation Window

    Timing Move the cursor to the “timing line”. Drag the “timing line to” any position. The textbox in left corner in “Response Diagram” will indi- cate the time 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.
  • Page 165: Component Description

    5.6.1 Component description Position Graph This graph shows the feedback and command position of the interpolation dynamically. Parameter Page The parameter page affords a friendly and intelligent interface to configure the interpolation motion. Control Panel The control panel starts or stops the interpolation motion, set the horizontal, vertical axis for the interpolation, and scale or shift the data.
  • Page 166: Two-Axes Operation Window

    5.7 Two-Axes Operation Window Two-Axes Operation Window appears when clicking “2-Axis Oper- ate” button in the Main window. The following figure shows the Two-Axes Operation Window. This window affords the simple con- trol of motion (relative or absolute trapezoidal mode), and displays the velocity profile, driver status for the users.
  • Page 167 both the value and sing is effective. –100.0 means 100.0 in minus direction. Maximum Velocity: Set the maximum velocity of motion in unit of PRM. In “Absolute Mode” or “Relative Mode”, only the value is effective. ie, -5000.0 is the same as 5000.0. In “Cont.
  • Page 168: Operation Steps

    Play keys Right play button: Click this button will cause SSCNET board start to outlet pulses according to previous setting. In “Relative Mode”, it cause axis move Positive Distance. In “Absolute Mode”, it cause axis move to Positive Position. Left play button: Click this button will cause SSCNET board start to outlet pulses according to previous setting.
  • Page 169: Single Axis Operation Window

    5.8 Single Axis Operation Window Single Axis Window appears when clicking “1-Axis Operate” but- ton in the Main window. The following figure shows the Single Axis Window. This window supports the full control of a single axis motion, and displays the velocity profile and driver status. Figure 5-21: Single Axis Operation Window 5.8.1 Component description Motion Mode Frame...
  • Page 170 both the value and sing is effective. –100.0 means 100.0 in minus direction. Maximum Velocity: Set the maximum velocity of motion in unit of PRM. In “Absolute Mode” or “Relative Mode”, only the value is effective. ie, -5000.0 is the same as 5000.0. In “Cont.
  • Page 171: Motion I/O Configration Window

    Left play button: Clicking this button will cause the SSCNET board to start outputting pulses according to a previous setting. In “Relative Mode”, it cause axis move Negative Distance In “Absolute Mode”, it cause axis move to Negative Position In “Continuous Mode”, it cause axis start to move according to the velocity setting Stop button: Clicking the “Stop”...
  • Page 172: Interrupt Configration Window

    5.8.3 Interrupt Configration Window If you 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.
  • Page 173: Operation Steps

    5.8.4 Operation Steps Selecting a motion mode: Absolute Mode: “Position1” and “position2” will be used as absolute target position for motion Relative Mode: “Distance will” be used as relative dis- placement for motion. Home Mode: The Motion keeps going until the ORG sig- nal is active.
  • Page 174: Driver Parameter Configuration Window

    Driver Parameter Configuration Window Driver Parameter Configuration Window appears when clicking “Servo Parameter” button from the Main window. The following fig- ure shows the Driver Parameter Configuration Window. 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...
  • Page 175 and switch power off once, then switch it on again to make that parameter setting valid. Description: explains the meaning of the parameter briefly Default Value: the default setting of the parameter Current Value: the current value of the parameter Unit: the unit of the parameter Setting Range: the range of the parameter.
  • Page 176: Operation Steps

    5.9.2 Operation Steps Click “Read Parameter” button to read current value of all parameters from servo driver. Click the parameter you want to adjust in the parameter list table. Input the value, and click the “modify” button to modify the setting value of the parameter.
  • Page 177: Appendix

    Appendix 6.1 MR-J2S-B Alarm List When any alarm has occurred, eliminate its cause, ensure safety, then deactivate the alarm, and restart operation. Not doing so can cause injury. Power supply voltage dropped. AL.10 Undervoltage MR-J2S-B: 160V or lessMR-J2S- oB1: 83V or less AL.12 Memory alarm 1 RAM memory fault...
  • Page 178 Current that flew is higher than the AL.32 Overcurrent permissible current of the servo amplifier. Converter bus voltage input value- AL.33 Overvoltage exceeded 400V. AL.34 CRC error Bus cable is faulty. Command pulse fre- The pulse frequency of the input AL.35 quency alarm command pulses is too high.
  • Page 179: Mr-J2S-B Warning List

    6.2 MR-J2S-B Warning List If E6, E7, E9 or EE occurs, the servo off status is established. If any other warning occurs, operation can be continued but an alarm may take place or proper operation may not be performed. Eliminate the cause of the warning according to this section. Use the optional servo configuration software to refer to the cause or warning.
  • Page 180: Driver Parameter List

    6.3 Driver Parameter List MR-J2SB Instruction Symbol Name Unit Setting range Manual parameter *AMS Amp setting Pr.01 0000H~0001H *REG Regenerative resistor Pr.02 0000H~0011H *MTY For manufacturer’s settings Pr.03 0080H *MCA For manufacturer’s settings Pr.04 0000H *MTR For manufacturer’s settings Pr.05 *FBP Feedback pulse number Pr.06...
  • Page 181 MR-J2SB Instruction Symbol Name Unit Setting range Manual parameter Monitor output 2 offset Pr.28 -999~999 For manufacturer’s settings Pr.29 0001H Zero speed Pr.30 0~10000 Error excess alarm level Pr.31 kpulse 1~1000 Option function 5 Pr.32 0000H~0002H For manufacturer’s settings Pr.33 0000H~0113H PI-PID change position droop Pr.34...
  • Page 182: Handshake Procedure

    6.4 Handshake Procedure SSCNET board is composed of a DSP and other control units on it. The DSP is a microprocessor for managing all devices on the board. Once the CPU on host PC needs to communicate with DSP, it must use dual port RAM on SSCNET board to do it. On the same way, the DSP must communicate host CPU via dual port RAM.
  • Page 183: Card Close Procedure

    Step Action OK Reponse Error Response Error Reason Card_ID_Out_Of_Ran The CardNo parameter of this No Error function invalid In the same program, card No Error Card_Reinitialized dosen’t close normally then want to initial again Card_Not_Ready Tim- Use KernelUpdate.exe to Check “DSP_OK”=1 eOut=200ms reset DSP and try again Card_ReClose_Fail...
  • Page 184: Card Soft Reset Procedure

    6.4.3 Card Soft Reset Procedure We strongly recommend you using kernelupdate.exe utility to reset board. The following table describe the procedure of MDSP_reset(). Step Command OK Reponse Error Response Error Reason ROM data corrupt. LED Flash one No LED Flashing or Please download ROM by one and off LED always ON...
  • Page 185: Table 6-7: Motion Command Procedure

    Step Action Item Error Response Error Reason “DSP_OK” is 0, please reset the Card_Not_Ready card. Check Card MDSP_Initial() failed, please Card_Not_Initial restart program “Initial_Status” is not at finished Check DSP DSP_Not_Ready state. Please restart program. Axis is out of control. Check con- Axis_Not_In_Control nection and restart program Axis is in servo alarm.
  • Page 186: Motion Command Timing

    6.4.5 Motion Command Timing Figure 6-1: PCI-8372+ Single Motion Command Timing Chart Signal Channel: [1] DSP processing time synchronized with SSCNET cycle (low voltage level duration ) DSP codes has two process: Synchronized and Non-Syn- chronized process, this channel displays the processing time of synchronized process.
  • Page 187 Label number: (1)start_tr_move() command starts (1~2) Trajectory calculation time on host (2)Send motion-download command to DSP. DSP will take some time (the Peak) to transfer the trajectory data and set a “transferring done flag” for host. *(2~3) Host waits the “transferring done flag” and get a mutex from system for continue (3)Send motion-go command to DSP and DSP will take some time(the Peak) to set a “motion go”...
  • Page 188: Cpci-8312H High Speed Link Initial Guide

    6.5 cPCI-8312H High Speed Link Initial Guide cPCI-8312H has two master chips of High Speed Link on the board. So it has all the features of HSL just like PCI-7852. In this chapter, we will introduce how to to initial the HSL functions on this board.
  • Page 189: Warranty Policy

    Warranty Policy Thank you for choosing ADLINK. To understand your rights and enjoy all the after-sales services we offer, please read the follow- ing carefully. 1. Before using ADLINK’s products please read the user man- ual and follow the instructions exactly. When sending in damaged products for repair, please attach an RMA appli- cation form which can be downloaded from: http:// rma.adlinktech.com/policy/.
  • Page 190 3. Our repair service is not covered by ADLINK's guarantee in the following situations: Damage caused by not following instructions in the User's Manual. Damage caused by carelessness on the user's part dur- ing product transportation. Damage caused by fire, earthquakes, floods, lightening, pollution, other acts of God, and/or incorrect usage of voltage transformers.

This manual is also suitable for:

Pci-8372+

Table of Contents