YASKAWA XTRAWARE - V3.0 Manual
YASKAWA XTRAWARE - V3.0 Manual

YASKAWA XTRAWARE - V3.0 Manual

Supporting xtradrive versions 3.04 - 3.23
Table of Contents

Advertisement

XtraWare User Manual
XtraWare Version 3.0
(Supporting XtraDrive Versions 3.04 - 3.23)
Catalog No. 8U0109
Revision G

Advertisement

Table of Contents
loading

Summary of Contents for YASKAWA XTRAWARE - V3.0

  • Page 1 XtraWare User Manual XtraWare Version 3.0 (Supporting XtraDrive Versions 3.04 - 3.23) Catalog No. 8U0109 Revision G...
  • Page 3 However, no warranty of suitability, purpose or fitness is made or implied. YET Ltd. is not liable or responsible to any person or entity for loss or damage in connection with or stemming from the use of XtraWare and/or the information contained in this publication YET Ltd.
  • Page 5: Table Of Contents

    Table of Contents Table of Contents 1. INTRODUCTION ................. 1 2. SYSTEM REQUIREMENTS AND SOFTWARE INSTALLATION ..3 3. THE MAIN SCREEN INTERFACE ..........5 3.1. Title Bar (A) ....................5 3.2. Menu Bar (B)/Toolbar (C) ................5 3.2.1. File Menu....................6 3.2.2. Edit Menu ....................8 3.2.3.
  • Page 6 4.9.8. Deleting a Profile ..................58 4.9.9. Viewing the Master-Slave Table ..............59 4.9.10. Viewing the Data Graph................. 60 4.9.11. Printing from the Electronic Cam Window ..........60 4.9.12. The Cam List Window................61 4.9.13. Downloading Profiles to the XtraDrive............61 4.9.14.
  • Page 7 5. COMMAND REFERENCE ............87 5.1. XtraWare Modes..................88 5.1.1. Program Mode (User Program Buffer UPB)........... 88 5.1.2. Sequential Mode (Sequential Command Buffer SCB) ........88 5.1.3. Immediate Mode (Immediate Command Buffer ICB) ........89 5.2. SCB and UPB Command Flushing............... 89 5.2.1.
  • Page 8 WAIT_EXACT ....................165 WAIT_FOR_START ................... 166 WAIT_INPUT ....................167 WAIT_STOP ....................168 WAIT_VAR...................... 169 WRITE_TO_ARRAY ................... 170 5.6. Serial Communication Commands ............171 CLEAR_BUFFER ....................171 ECAM_POINTS ....................171 ECAM_PROFILE ....................172 ECAM_SEGMENT....................173 ECAM_TABLE_BEGIN..................173 ECAM_TABLE_END................... 174 GET_FROM_ARRAY ..................174 GET_PAR ......................
  • Page 9 8.8. Table 26: Extended Output Signal Selection ..........231 8.9. Table 27: Input and Output Availability per Mode ........232 8.10. Table 28: Auxiliary Functions ..............233 8.11. Table 25: Monitor Modes ................. 234 9. LIST OF SYSTEM VARIABLES ..........235 LIST OF STATUS WORD BITS ..........
  • Page 10 12.1. Electronic Gear..................249 12.1.1. Electronic Gear Parameters ..............249 12.2. Motion Profile..................250 12.2.1. Profile Velocity ................... 250 12.2.2. Profile Acceleration ................250 12.2.3. Profile Jerk Smoothing Time..............251 12.3. Explanation of Command Table ............... 251 XtraWare User Manual...
  • Page 11: Introduction

    Introduction The XtraWare software constitutes the user interface and tool of operation for the XtraDrive. It enables the user to set parameters, tune control loops and monitor faults. It also facilitates programming of the driver both for professional programmers and novices.
  • Page 13: System Requirements And Software Installation

    ♦ Super VGA or better graphics display, minimum 256 colors (65536 colors recommended). ♦ When using a computer that does not have a serial port, use either a USB-to-serial converter or a PC Card expansion interface (PMCIA) with a serial port. Review vendors’ system requirements for further details, as not all USB-to-serial converters have exhibited satisfactory performance.
  • Page 14 The installation screen is displayed, the installation procedure commences and a message welcoming you to XtraWare is displayed. 3. Click Next to continue. 4. Follow the onscreen instructions to choose a destination folder for the XtraWare files. 5. Click Next to continue.
  • Page 15: The Main Screen Interface

    This chapter describes the XtraWare main screen. The main screen comprises a main toolbar, menus and several windows. A sample main screen is shown in Figure 1 below. For clarity, the screen has been divided into separate elements. Figure 1: Sample Main Screen 3.1.
  • Page 16: File Menu

    The Main Screen Interface 3.2.1. File Menu A project contains all the data currently active in XtraWare, such as the user program, parameter settings, and definitions. The File Menu options are used to create new XtraWare projects, open existing projects, and save changes to projects.
  • Page 17 If the project has not yet been named, the Save Project window is opened: Figure 4: Save Project Window In the File name field, type a name for the project and click Save. Save Saves the current project under a new Project as name.
  • Page 18: Edit Menu

    1) The ECAM-related options are only activated if an ECAM license has been purchased. 3.2.2. Edit Menu The Edit Menu options are used to edit the command order of a program in the Program window. Table 2: Edit Menu Options Option...
  • Page 19: View Menu

    The Main Screen Interface 3.2.3. View Menu The View Menu options are used to select which windows you want displayed on the XtraWare screen. Table 3: View Menu Options Option Icon Description Program Displays/hides the Program window. Parameters Displays/hides the Parameters window.
  • Page 20: Run Menu

    The Main Screen Interface 3.2.4. Run Menu The Run Menu options enable you to control the program running on the XtraDrive driver. Table 4: Run Menu Options Option Icon Description Runs the program immediately. Program Stop Stops the program immediately.
  • Page 21: Communication Menu

    The Main Screen Interface 3.3. Communication Menu The Communication Menu options are used to switch the communication between the XtraWare and the XtraDrive on and off. Options in this menu are used to customize the communication parameters. Table 5: Communication Menu Options Option...
  • Page 22: Maintenance Menu

    ECAM license has been purchased. 3.3.2. Maintenance Menu The Maintenance Menu options allow you to tune the control loops automatically or manually, to open and close a log file, and to send a command to the XtraWare device. Table 7: Maintenance Menu Options Option...
  • Page 23: Window Menu

    Send For internal use only. Command 3.3.3. Window Menu The Window menu is used to switch between different views in the XtraWare system, and to save a customized screen for future use. Table 8: Window Menu Options Option Description Project...
  • Page 24: Status Bar (D)

    Figure 7: Status Bar The indicators on the right of the status bar are as follows: ♦ A: Indicates whether or not a program is running on the controller (Run or Stop). ♦ B: Need Reset indicator. After certain parameters are edited, the main circuit and control power supply must be cycled in order to enable the new settings.
  • Page 25 The Main Screen Interface To view the project subsections, click the + sign next to the project name in the Workspace window. Figure 8: Workspace Window – Project Tab 3.5.2.1. Command Tab The Command tab (Figure 9) lists the commands that can be used to write the program.
  • Page 26 See section 4.4.1, Writing a Program, for details on how to insert commands into the program. 2. Click on a command name to see a short description of the command in the Description pane, or see Chapter 5, Command Reference, for a more detailed description.
  • Page 27: Program Window

    WAIT_VAR 3.5.3. Program Window The Program Window (Figure 10) displays the entire program. The program is written by selecting commands from the Command tab, and entering values for the commands’ parameters. See section 4.4.1, Writing a Program, for details on how to write a program.
  • Page 28: History Window

    The Main Screen Interface To change the value of a command’s argument after it has been added to the program: 1. Double-click on the command line to open its window, and enter a new value or values. Figure 10: Program Window 3.5.4.
  • Page 29: Cam Window

    XtraDrive when the Download Cam button is pressed. ♦ Profile#: The profiles are identified in the Cam List by their numbers. ♦ Download: Check the checkboxes corresponding to all profiles that should be downloaded to the XtraDrive when the Download Cam button is pressed.
  • Page 30 The Electronic Cam window is opened, with the Position Setting tab displaying the selected profile. See section 4.9, ECAM (Electronic Cam). Note: The ECAM related options are only activated if an ECAM license has been purchased. Contact YET to purchase an ECAM license. XtraWare User Manual...
  • Page 31: Operating The Xtradrive Using Xtraware

    Serial communication is used between the PC and the driver. To connect the driver to the PC: 1. Connect a communication cable to an available COM port of your PC. Note that XtraWare supports serial communications ports COM1 through COM7. Their usage depends upon available hardware 2.
  • Page 32: Setup Wizard

    Operating the XtraDrive Using XtraWare 3. Set the Port to the correct COM port of your PC (the default is COM1 on most computers). 4. Set the Axis Address. 5. All other communication parameters are predefined and are for display purposes only: Baud Rate –...
  • Page 33 1. Select New Project from the File menu. 2. Follow the instructions on the following Wizard screens: ♦ Motor Selection: Select your motor from the list or add a new motor. ♦ Basic Selection: Set the control method, usually “programming”. For host controller applications with pulse train output use “Position control...
  • Page 34 Allocate digital outputs to system functions. If digital outputs are to be used as general purpose outputs simply refer to the output number in the program. Each output can be used either as a system function output or as a general-purpose output. ♦ Encoder Output Settings: For a host-controlled application where output pulses (PG out) are required, set the output gear.
  • Page 35: Parameter Control

    Note: If the motor is not fitted with a serial encoder (SII or W Series) and the project was opened using Open Project and not by running the Wizard, you must enter a password or the motor parameters (highlighted in red) will not be changed.
  • Page 36 1. Select one of the predefined groups (e.g., Digital I/O, Servo Control) listed in the Group pane. Figure 14: Parameters Window The fields in the panes of the Parameters window are listed below (from left to right): ♦ Group: Parameter group selection.
  • Page 37: Setting Parameters Online

    Figure 15: Parameter Setting Window 2. Use the buttons below each digit to change the value of the parameter. Note that the changed value is sent on-line to the XtraDrive. Some values take effect immediately; others are sent to the driver but take effect only after the power is cycled.
  • Page 38 3.5.3, Program Window. To add a command to a program: 1. Open the relevant command group. 2. Double-click the required command to open a pop-up dialog box (Figure 18) relating to the command. Figure 18: Sample Command Pop-up Dialog Box...
  • Page 39: Programming Commands With Variable Arguments

    Arguments that can be specified by variables are indicated by the letter V in the Arg columns of the table in Chapter 11, List of Operation Codes, and in the Syntax Arguments section of each command table in Chapter 5, Command Reference.
  • Page 40 For each combination of digital inputs, a different set of values are assigned to the variables that set the motion characteristics. The main part of the program (lines 8 to 16) sets the profile velocity and initiates motion. Once a pre-specified position has been passed, the speed is reduced.
  • Page 41 Operating the XtraDrive Using XtraWare Evaluation of Digital Inputs LABEL 1 WAIT_INPUT 1 = 0 -1 WAIT_INPUT 1 = 1 -1 INPUT_CASE 12 4 CALL 3 INPUT_CASE 12 12 CALL 4 Main LABEL 2 SET_VAR Profile_velocity Var_03 GO_H Var_01 WAIT_VAR Position_actual_value > Var_02...
  • Page 42: Running A Program

    3 and 4 respectively. For example, note how the initial peak in target speed for Case 2 exceeds that for Case 1. This is because line 9 sets the profile velocity equal to the value of Var_03. Case 1 specifies Var_03 as 1000 user speed units, while Case 2 specifies Var_03 as 1300 user speed units.
  • Page 43: Program Modes

    PC (for example, to change the state of an output while a program is running or to lower the gain while the motor is enabled and not in motion and no program is running). Commands sent in Immediate Mode are stored in the Immediate Command Buffer (ICB) and are executed within 2 ms (or less).
  • Page 44: Tuning The Control Loops

    Tuning the Control Loops The mathematical coefficients of the control loop, an advanced control algorithm, must be tuned in order to ensure good system behavior. These coefficients can be tuned either manually or automatically (Auto- tuning). Two Auto-tuning procedures are available: one that calculates the...
  • Page 45: Performing Fast Tuning

    ♦ Fast Tuning: The driver loads a group of parameters from predefined tuning groups, based on the motor and driver type and the load inertia. ♦ Fine Tuning: The driver moves the motor back and forth and searches for the parameters that allow the best system performance.
  • Page 46: Evaluating Control Loop Performance

    (Pn2C8 – Pn2CB). To perform fine tuning: 1. Place the motor so that it can move according to the auto-tuning profile. 2. Enter a rough estimation of load inertia in the Inertia Ratio field.
  • Page 47 7. Click Run Program to run the program. The program runs and the data is uploaded. A graph of the motion is displayed. 8. Study the graph, particularly the Position Error, shown by default in yellow, and decide whether the control coefficients are set appropriately.
  • Page 48: Charts

    Two analog signals and two digital I/O signals can be displayed. 4.7.1. The Chart Main Window Select the Charts option from the View menu to display the Chart Main window (Figure 24). Figure 24: Chart Main Window XtraWare User Manual...
  • Page 49 ♦ Source - Trigger object selection Specifies the variable on which the trigger is conditional. Any one of the variables listed in the Y1, Y2, I/0 –1 and I/O – 2 fields can be selected from the drop-down menu. Figure 25: Trigger Selection (1) ♦...
  • Page 50 4.7.1.2. Graph Settings For all of the graph settings described below, you can select the scale (available values are 1, 2, 5, 10, 25, 50, 100, 500, 1000) and the color in which the results will be displayed. ♦ X – Sampling Time Interval Specifies the time interval for obtaining trace data (default: 25ms).
  • Page 51 The toolbar icons are explained in the following table. Table 12: Chart Toolbar Icon Definitions Option ICON DESCRIPTION Save Saves a copy of the trace graph to a specified Chart file. Open Loads a trace data file. Up one Restores the previous zoom level.
  • Page 52: Using Zoom

    The view of an area selected by the mouse can be magnified. To zoom in on an area: 1. Position the mouse at one corner of the area you want to select. 2. Hold down the left mouse button and drag to the opposite corner.
  • Page 53: Starting The Trace

    4.7.4. Printing a Chart The chart and data of the Chart main window can be printed. To print a chart: 1. Select the Print Chart option from the File menu while the chart is open. XtraWare User Manual...
  • Page 54: Mechanical Analysis

    The mechanical analysis (FFT) option samples and analyzes 2000 speed data points. The speed is a response to sinusoidal torque frequency commands. The response is displayed as a graph of the gain (dB) and phase angle (degree) versus frequency (Hz in log scale). Using the graph, the relevant parameters can then be adjusted in order to reduce the effect of the mechanical restrictions.
  • Page 55: Mechanical Analysis Window

    The measuring frequency and excitation time depend on the sampling time. To begin with, set the sampling time to a small value. Then reset it to a more appropriate value in accordance with the results produced.
  • Page 56 ♦ Allowable Rotations [Rotation] Range: ±1 to 1000 rotations The number of Allowable Rotations must be set so the measurements can be taken safely. Set the motor revolutions so the setting is within the operable range. Select the limit of motor rotations during measurement. If the allowable number of rotations is exceeded, the zero clamp function will cause the motor to stop and measurements will be halted.
  • Page 57: Mechanical Analysis Toolbar

    Operating the XtraDrive Using XtraWare 4.8.2. Mechanical Analysis Toolbar The mechanical analysis toolbar is shown below. Figure 31: Mechanical Analysis Toolbar The following table explains the function of each icon: Table 13: Description of Mechanical Analysis Toolbar Icons Option ICON...
  • Page 58: Running The Mechanical Analysis

    Operating the XtraDrive Using XtraWare 4.8.3. Running the Mechanical Analysis To perform a mechanical analysis 1. Run the motor to excite the machine and measure the frequency characteristics. 2. Run the process by pressing the START button. Warning: The motor will begin moving once Start has been pressed.
  • Page 59: Ecam (Electronic Cam)

    ECAM (Electronic Cam) Cam creates motion according to a specified profile, depending either on the position of a master axis or on time elapsed. The ECAM feature allows you to specify the position that a slave axis must reach, depending on the position of a master axis or on the time elapsed.
  • Page 60: Ecam Profiles

    A profile consists of a number of segments. For example, the profile shown consists of four segments: the first stretches from Master Position 0 to 100, the second from 100 to 200 and so on. You need only specify the start and end points of each segment; XtraWare interpolates between those points according to shape specified.
  • Page 61: Creating A Profile

    1. Select Electronic CAM from the Tool menu, or click Electronic Cam on the toolbar. The Electronic CAM window is displayed. 2. Enter a number that you will use to identify the profile in the Profile Number field. 3. Click Add Profile.
  • Page 62 ♦ Curve Shape: Specifies whether the start and end points of the segment are to be joined by a straight line, by a portion of a sinusoidal graph, or by a user-defined array. 4.9.5.3. Defining the Master and Slave End Points...
  • Page 63 For example, consider the following specification. Figure 36: Example of End Point Specification The length of the segment is 1000 master counts and the Master Step is 20. The number of points in the segment, including the start and end points is thus 51.
  • Page 64 Entering the values directly into the table To enter the values into the Curve Shape table: 1. Enter the values in the Slave Value column. Note that the first and last values are entered for you, according to the values you assigned to Slave Start and Slave End.
  • Page 65 ♦ The number of rows in the spreadsheet must be the same as the number of rows in the table displayed in the Curve Shape window. ♦ The slave values of the first and last points must be the same as those in the table displayed in the Curve Shape window.
  • Page 66 The Save Cam Profile dialog box is displayed. 2. Enter a name for the profile file in the File name field, select a folder in which to save the file, and click Save. The file is saved with an .XDP extension.
  • Page 67: Loading A Profile

    1. Select Electronic CAM from the Tool menu, or click Electronic Cam on the toolbar. The Electronic CAM window is displayed. 2. Enter a number that you will use to identify the profile in the Profile Number field. 3. Click Add Profile.
  • Page 68: Deleting A Profile

    Operating the XtraDrive Using XtraWare 4.9.7.2. Deleting a Segment To delete a segment: 1. Click any field in the row of the segment that is to be deleted. 2. Click Delete. The selected segment is deleted. 4.9.7.3. Editing Values in the Position Setting Table To edit an entered value: 1.
  • Page 69: Viewing The Master-Slave Table

    To view the Master-Slave table: 1. Open the Data-List tab. 2. Click on one of the segments listed on the left panel of the Data List tab. The master-slave table is displayed on the right, listing all of the interpolated points, as well as the specified start and end points of the selected segment.
  • Page 70: Viewing The Data Graph

    The data graph is displayed. Figure 41: Data Graph 4.9.11. Printing from the Electronic Cam Window The contents of each of the Position Setting, Data List and Data Graph tabs can be printed: To print from the Electronic Cam Window: 1.
  • Page 71: The Cam List Window

    4. Make any necessary changes to the settings shown and click Print. 4.9.12. The Cam List Window By default, the Cam List window is displayed on the project screen. If the window is not displayed, ensure that Cam list is checked in the View menu.
  • Page 72: Programming With Electronic Cam

    Figure 43: Programming an ECAM_ENGAGE Command 4.9.14.2. ECAM_DISENGAGE Format: ECAM_DISENGAGE This command is used to terminate ECAM motor motion. ECAM_DISENGAGE will cause the motion to stop only once the current profile is completed. To stop the motion immediately, use the STOP_EX command. XtraWare User Manual...
  • Page 73: Modifying A Profile Using Variables

    4.9.15.1. Profile Scaling The Master scale can be adjusted by multiplying it by a fraction A/B. If A/B is larger than one, the profile will be stretched. If A/B is less than one, the profile will be contracted. ♦ A, the numerator, is defined by the variable ECAM_Master_scale_num.
  • Page 74 Figure 46: Sample Profile After Master Axis Scaling Similarly, the profile can be stretched or compressed vertically by multiplying the Slave scale by a fraction C/D. If C/D is larger than one, the profile will be stretched. If C/D is less than one, the profile will be contracted.
  • Page 75 The shift is specified as an absolute distance from the origin of the profile graph. In the case of a cyclic profile, the next profile will be followed as it was originally specified, unless a different shift is specified. To apply a shift: 1.
  • Page 76 When applying a shift before engaging ECAM motion, ensuring that the profile is shifted to a point at which the slave position is zero will ensure a smooth initial motion. Applying an offset will always result in a sudden change to the target slave position.
  • Page 77: Monitoring Master And Slave Positions

    ♦ ECAM_SEGMENT: Defines the range of the master values covered by the next segment that is to be defined, and specifies the size of the increments between consecutive points. ♦ ECAM_POINTS: Specifies the difference between the slave positions of consecutive points.
  • Page 78 Operating the XtraDrive Using XtraWare ECAM_SEGMENT 100 100 0 ECAM_POINTS 1 140 ECAM_SEGMENT 200 10 0 ECAM_POINTS 4 15 16 15 15 ECAM_POINTS 4 15 14 14 13 ECAM_POINTS 4 12 12 11 9 ECAM_POINTS 4 9 8 6 6...
  • Page 79 Operating the XtraDrive Using XtraWare Table 14: Sample ECAM Table XtraWare User Manual...
  • Page 80: Registration And Latching

    Operating the XtraDrive Using XtraWare 4.10. Registration and Latching The latching function is used to capture the position of the motor encoder or external encoder when signaled to do so by a digital input. Latching is performed within 62.5μs of the digital input being received.
  • Page 81: Latching Workflow

    The deceleration caused by registration is defined by the variable Profile_acceleration. When specifying the registration distance, ensure that it is sufficiently long for the motor to be able to decelerate to a stop at the profile acceleration. ♦ The motor decelerates to a stop.
  • Page 82: Troubleshooting

    2. The motor stopped at the target position specified by the original motion command, as if registration had not occurred. This will occur if the latching condition was not met. To ensure that the motor will stop by registration, increase the distance to be traveled specified by the motion command.
  • Page 83: Registration Variables

    <Distance> argument, which is specified in user position units. Note the following: ♦ The rate at which the motor will decelerate is governed by the profile acceleration (See section 12.2.2, Profile Acceleration). ♦ The motor will stop at the requested position unless the distance required for the deceleration exceeds the remaining motion distance.
  • Page 84: Registration Example

    This variable records the position of the master axis when the latching condition was met. Because the sampling time is 62.5 μs, the accuracy of the latching is dependent on the motor speed and the exact moment in the sampling interval at which latching takes place. The position is recorded in terms of master counts.
  • Page 85 Operating the XtraDrive Using XtraWare MOVE_H 5000 Starts motion. WAIT_VAR Latched_position_ready = 1 Delays next command until variable changes to 1. REGISTRATION_DISTANCE 100 Starts registration movement to stop 100 user position units after latching condition is met. XtraWare User Manual...
  • Page 86: Interrupts

    4.11.1. Interrupt Events Interrupt events can be either: ♦ External, such as a change in an input from one value to another, ♦ Internal, such as a variable value meeting a given condition. 4.11.2. Multiple Interrupts The XtraDrive provides for eight different interrupts to be specified for a single program.
  • Page 87: Interrupt Masks

    If no mask is specified, the program will not react to any interrupt event. An interrupt mask must therefore always be specified if interrupt are to be used.
  • Page 88 The value of the variable must be set in decimal format. For example, to set bits 0 and 1 to 1, and all other bits to 0, Interrupt_request would have to be set to 3, which in binary form is 0000011.
  • Page 89 Interrupt_mask: To specify that only interrupts 3 and 7 be handled, should their conditions be met, bits 3 and 7 in the variable Interrupt_mask must be set to 1 and all other bits must be set to 0, as shown:...
  • Page 90: Interrupt Commands

    Because only bit 3 is set to 1 in the Interrupt_mask variable, only interrupt 3 will be handled; interrupts 4 and 1 will be ignored. Only bit 3 in Interrupt_pending will be set to 1, as it is the only bit set to 1 in both Interrupt_request and Interrupt_mask:...
  • Page 91 Operating the XtraDrive Using XtraWare as a value from 0 to 7, where 0 is the highest priority and 7 is the lowest. <Variable> specifies on which internal variable the interrupt is conditional. Any XtraDrive variable can be used. <Condition> and <Value> specify the interrupt condition.
  • Page 92: Interrupt Example

    Operating the XtraDrive Using XtraWare 4.11.8. Interrupt Example The following example program illustrates the use of interrupts. (The indented lines comment on the lines above.) SET_VAR Interrupt_mask 3 Activates Interrupt 0 and 1. LABEL 2 SET_OUTPUT 1 OFF Sets Output 1 value to 0.
  • Page 93 From the chart: ♦ The motor started moving after In 1 became true. ♦ As the motor target speed reached 400, output 1 was set to ON as interrupt 0 was invoked as a result of its condition (Target_velocity>=400) being met.
  • Page 94 From the chart: ♦ The motor started moving after In 1 became true. ♦ As the motor target speed reached 400, output 1 was set to ON as interrupt 0 was invoked as a result of its condition (Target_velocity>=400) being met.
  • Page 95: Master-Slave Synchronization

    The command MOVE_R is used to commence synchronization. Conditioning the MOVE_R command using the WAIT_INPUT command will result in a delay of up to 2 ms, which may cause too great a position error between the master and slave. The New_move_enable flag can be used to reduce the delay to 125 μs.
  • Page 96 Operating the XtraDrive Using XtraWare 9. GO_TO 1 10. END The command MOVE_R 0 (line 2) is suspended until an input is received at CN1-40. Once the slave is synchronized to the master (line 3), Output 1 is set On (line 4).
  • Page 97: Command Reference

    Command Reference Command Reference This chapter provides a reference for the use of all XtraWare commands. Before the details of the actual commands are presented, some general topics relating to XtraWare’s handling of commands are presented: ♦ 5.1 XtraWare Modes: Describes the three modes of XtraDrive operation, as they relate to command handling.
  • Page 98: Xtraware Modes

    (MCB). This enables the setting of an output or insertion of a certain term immediately after the motion begins until it ends. Commands with the suffix _D are fetched to the MCB. Only after their completion (i.e., the MCB is empty) is the next command fetched.
  • Page 99: Immediate Mode (Immediate Command Buffer Icb)

    _D command. For example, setting an output will occur at the end of the movement. 5.2.2. Motion Commands Without _D Suffix These commands are transferred to the MCB, and are flushed from SCB or UPB immediately following execution.
  • Page 100: Motion Modes

    (TORQUE_ANALOG). ♦ ECAM: In ECAM mode, you specify the position that a slave axis must reach, depending on the position of a master axis or on the time elapsed.
  • Page 101: Transition Between Motion Modes

    Transition Between Motion Modes When motion commands that function under different motion modes are issued consecutively, in some cases the motor will first be stopped, at the Profile_acceleration, and only then will the second motion commence. In other cases, the second motion will start continuously after the first, without stopping in between.
  • Page 102 Command Reference Table 16: Nature of Transition Between Motion Modes Speed mode Profile position Profile Velocity. Profile Torque. Homing ECAM (-7) Analog torque (-5) Analog Speed (-4) Pulse train (-3) Auto tuning (-2) Hunting (-1) XtraWare User Manual...
  • Page 103: Motion Command Buffer

    Motion Command Buffer All motion commands are executed through the MCB. The motion buffer can contain commands from only one motion mode at a time. For example, if you send GO and MOVE commands followed by a SLIDE command, the buffer will first flush the motion commands before executing the SLIDE command.
  • Page 104 Command Reference Where the argument is specified by an option, such as a conditional operator, and not by a number, the numerical code for each option is provided. When programming in XtraWare, the numerical code is not required as the options are simply selected from drop-down menus.
  • Page 105 When using XtraWare, simply select the required option from a drop-down menu. Example An example that shows the use of the command. Example An explanation of the example. Explanation Note Addition information relating to the use of the command.
  • Page 106: Acceleration

    SLIDE 1000 DELAY 1000 SLIDE 0 Example The acceleration value is defined as 720, which is used by the Explanation SLIDE command. The next slide motions (SLIDE 1000 and SLIDE 0) will use the new acceleration value, i.e., 360. The SLIDE 0 command stops the motor.
  • Page 107: Alarm_Reset

    XtraDrive User Manual (see catalog number 8U0108). The ALARM_RESET command can only reset alarms not marked with * in the table listed there. If the command is used to clear other alarms the program will be stopped.
  • Page 108: Call

    The program checks if a certain input combination has occurred. Explanation If the combination exists, it will call the subroutine LABEL 2. A SLIDE motion will occur for 500ms. Otherwise the CALL 2 code line is skipped. End of program.
  • Page 109: Control

    Op. Code Modes Program, Immediate, Sequential Description Enables/disables the motor. If the servomotor is disabled while a motion is in progress, a quick stop is first made using the maximum deceleration before the motor disable command is executed. Syntax Switch...
  • Page 110: Delay

    Program, Sequential Description Waits for the specified period of time before executing the next command. The actual delay is up to 2 ms longer than the delay specified by the user. Syntax The time to wait before executing the next command.
  • Page 111: Ecam_Disengage

    ECAM_ENGAGE 3, CYCLIC DELAY 10000 ECAM_DISENGAGE Example ECAM profile number 3 will be followed for 10 seconds. After 10 Explanation seconds, the ECAM motion will continue until the current profile has been completed, irrespective of how many cycles have already been completed. ECAM motion will then stop.
  • Page 112: Ecam_Engage

    Initiates motion according to the ECAM profile <Profile_ID>, which is specified in the ECAM table. See section 4.9.14.1, ECAM_ENGAGE. Syntax Profile_ID The identifying number of the profile to be used. Arguments Serial Mode Specifies whether the motion should continue indefinitely or only until the profile has been...
  • Page 113: Electronic_Gear

    ELECTRONIC_GEAR 4 1 MOVE_R 1000 Example The electronic gear is set to an 8/1 ratio before the MOVE_R 2000 Explanation command. The motor (follower) is then synchronized and waits for an input to start a new MOVE_R command with a different electronic gear, this time 4 to 1.
  • Page 114: End

    LABEL 2 SET_OUTPUT 1 ON RETURN Example Waits for INPUT 1 to be ON and then calls a subroutine that sets Explanation OUTPUT 1 to ON. Returns to the program, end of program. Notes The END command must be used at the end of all programs.
  • Page 115: Engage_Virtual_Axis

    Op. Code Modes Program, Sequential Description Initiates motion according to the ECAM profile <Profile_ID>, where the ECAM profile is time based. In this case, the master pulse is generated internally every 125 μs. See 0, ENGAGE_VIRTUAL_AXIS. Syntax Profile_ID The identifying number of the profile to be Arguments used.
  • Page 116: Ext_Int

    Op. Code Modes Program Description This command indicates the beginning of an interrupt service routine and is used for interrupts that are conditional on the value of external inputs. See section 4.11.7.1, EXT_INT. Syntax Priority Specifies the interrupt number, from 0 to 7.
  • Page 117: Fast_Output_Setting

    Explanation to interrupt 0. A motor movement to position 655360 is started. If, during the motion, the value of input 1 changes from 0 to 1, Output 1 will be set ON. The program will then continue: once the motor motion has finished, Output 1 will be set OFF.
  • Page 118 Specify the value against which the variable must be compared, using decimal format. Serial Notes Specify which output must be set to ON by setting parameter Pn2D2.0 as follows: 0: Fast output setting disabled (default). 1: Output 1 (CN1-25,26) 2: Output 2 (CN1-27,28) 3: Output 3 (CN1-29,30) After configuring Pn2D2.0, the assigned output will function as a...
  • Page 119 Explanation Position_actual_value exceeding 100000. Output 1 is set ON as soon as this condition is met. The fast output condition is then changed so that Output 1 will remain on until position 250000 is reached. Once this position is reached, Output 1 is turned off.
  • Page 120: Fault_Manager

    Description This command allows smart handling of faults and alarms. It acts as an interrupt of the highest priority when an alarm or a fault condition occurs. The user can define the actions within the fault manager routine for certain conditions. The routine ends with a FAULT_MANAGER_RETURN command.
  • Page 121: Fault_Manager_Return

    HOME_SW 1000, 100 FAULT_MESSAGE_CLEAR FAULT_MESSAGE_RETURN 5 Example In this example, if the error code is neither 151 nor 152, the Explanation program endlessly returns to the FAULT_MANAGER, checking this condition over and over again. In case the over-travel fault occurs, label 22 is called and then the program returns to label...
  • Page 122: Fault_Message_Clear

    Program Description Used by the fault manager to clear the fault message from the fault buffer. The list of faults can be found in Chapter 7, Error Messages. This command can only be used in a fault manager routine. Example...
  • Page 123: Gain

    Sets a user factor for the control loop gains. This command can be used to momentarily decrease system bandwidth, i.e., when the motor is not in motion but is holding its position, or to increase system bandwidth for short and stiff motion.
  • Page 124 Moves the motor to a specified <target> (absolute coordinates) in the specified <time>. The controller calculates the speed of the motor based on the profile acceleration (see section 12.2.2, Profile Acceleration) and profile jerk (see section 12.2.3, Profile Jerk Smoothing Time).
  • Page 125: Go_D

    (see section 12.2, Motion Profile). Unlike the GO example in which the output was set at the beginning of the command, output 1 is set to ON only after the movement has ended. Motor moves to point 0 (zero position)
  • Page 126: Go_H

    Hunting (-1) Mode Description Enables change of the <target> while the motor is still in motion. This is unlike the GO and GO_D commands where every command is executed only after the previous one has ended. (After the GO and GO_D commands the motor comes to a full stop).
  • Page 127 WAIT_VAR Position_actual_value > 800000 SPEED 500 Example The speed is set to 1500 rpm and movement commences to a Explanation destination of 600,000 user units. While in motion, the destination is changed to 1,000,000 user units. When the Actual position equals 800,000 user units, the speed changes to 500 rpm.
  • Page 128: Go_To

    C-pulse. Do not define the over-travel switch as the home switch. ♦ The accuracy of Home position in an A quad B encoder by C-pulse is +/- 1 count if the motor searches in the same direction. If the motor searches in both directions the accuracy is the C-pulse width +/- 1 count.
  • Page 129: Hard_Home

    <torque> for 2 seconds. The torque will not exceed the defined <torque> during this procedure. It is recommended to first set a low <torque> value. If the machine hard stop is not found, gradually increase the <torque> value.
  • Page 130: Home_C

    <speed1> to the C-pulse and only then does the encoder counter zero and the motor decelerate to a stop. The motor stops after the C-pulse. Use the GO or GO_D commands to set the motor at the zero position.
  • Page 131: Home_Sw

    Only then does the encoder counter zero and the motor decelerate to stop. The motor does not stop at the zero position. Use the GO or GO_D command to set the motor at the zero position. <speed1> and <speed1> must have opposite signs, i.e., the movement is in opposite directions.
  • Page 132: Home_Sw_C

    <speed2> towards the C-pulse. Only then does the encoder counter zero and the motor decelerate to stop. The motor stops after the C-pulse. Use the GO or GO_D command to set the motor at the zero position.
  • Page 133 Op. Code Modes Program Description Defines the different types of conditions/terms that control the flow of the program. If the IF condition is true, the action specified by <then> is performed. Otherwise, the next program line is performed. Syntax variable...
  • Page 134 SET_OUTPUT 1 ON SLIDE 0 Example Position is set to zero, output 1 is set to off. The motor starts Explanation moving at a constant speed. After a short delay the term is checked (motor is still running). If true (i.e., the position value is greater than 550000) go to LABEL 2, output 1 is set to ON, motion stops, end of program.
  • Page 135: If_Input

    Op. Code Modes Program Range Input number 0 to 7 and 8 to 24 (depending on Option board type, if any). Description The program flow is conditional on the state of a digital input. If the condition is True, the action specified by <then> will occur.
  • Page 136 SET_OUTPUT 2 ON LABEL 2 MOVE_D -4096 –1 Example If INPUT 1 is false (the condition is true) jump to LABEL 2 and Explanation move forward, else, set OUTPUT 2 to ON and move forward. See Also IF, WAIT_INPUT, INPUT_CASE...
  • Page 137: Input_Case

    <input mask> is used to define which inputs are detected and which are ignored (1 - detected, 0 - ignored). For example, if <input mask> is set to 5 (in binary: 0101) only inputs 0 and 2 are checked; the rest are ignored.
  • Page 138 0, 1, 2 and to ignore the rest. <input state> is 2 (in binary is 0010). True means input 0 is OFF, input 1 is ON and input 2 is OFF. If the condition is true, proceed to the MOVE command. Otherwise skip the next command and jump to GO_TO command.
  • Page 139: Int

    Op. Code Modes Program Description This command indicates the beginning of an interrupt service routine, and is used for interrupts that are conditional on the value of internal variables. See section 4.11.7.2, INT. Syntax Priority Specifies the interrupt number. Arguments...
  • Page 140 SET_OUTPUT 1 ON INT_RETURN –1 Example The interrupt mask is set so that the program will only respond to Explanation interrupt 0. A motor movement to position 655360 is started. When, during the motion, the value of the variable Target_velocity reaches or exceeds 400, Output 1 will be set ON.
  • Page 141: Int_Return

    Explanation the motion, the value of the variable Target_velocity reaches or exceeds 400, Output 1 will be set ON. The program will then continue from the point at which it was interrupted: once the motor motion has finished, Output 1 will be set OFF.
  • Page 142: Jerk_Time

    3. For commands GO_H, MOVE_H, changing the jerk value will affect them only if the change is made before the first command is issued. For the change to affect the motion, the motion mode must first be changed (e.g., by using the STOP_EX command).
  • Page 143: Label

    Program Description Defines the beginning of a program or subroutine. May be used to mark the beginning of a code line in order to use the GO_TO, CALL or LOOP commands or for program auto-start after power-up. Syntax The label number.
  • Page 144: Latching_Trigger

    One of two conditions can be chosen: registration will either start once the input at CN1-46 changes from 0 to 1 (Rising), or once the input has changed from 1 to 0 (Falling). Specifying the condition as OFF disables the registration function.
  • Page 145 Command Reference See Also REGISTRATION_DISTANCE, WAIT_VAR Variables: Latched_motor_position, Latched_master_position, Motion_Status, Latched_position_ready XtraWare User Manual...
  • Page 146: Loop

    Program Description Repeats a portion of code beginning at a label a specified number of times. Up to four loops may be nested within one another but they may not cross one another. Syntax The levels of nesting within this loop (up to 4).
  • Page 147: Math

    First level: Loop_2 and Loop_3. Second level: Loop1. Ten movements to the positive side will occur (first loop marked by LABEL 2), then ten to the negative side (second loop marked by LABEL 3). The two sets of movements will be repeated 5 times (2nd nesting level that contains the two 1st nesting level loops).
  • Page 148 The ECAM_SHIFT variable is calculated by dividing the Explanation Actual_position_registration by the value of Var_01. For example, if Actual_position_registration is 19300, ECAM_SHIFT will be set to 2, since 19300 / 8192 = 2.36 and only the integer part is considered. See Also SET_VAR...
  • Page 149: Move

    The motor moves 4096 user units in the positive direction, 2000 ms after the motion begins. The next MOVE command is executed, Explanation this time in the opposite direction. The time of the movement is determined internally according to the Motion Profile you specified (see section 12.2, Motion Profile).
  • Page 150: Move_D

    Mode Description Moves the motor a specified <distance> (incremental coordinates) in the specified <time>. This command is identical to the MOVE command in motion execution, but it delays the execution of the next program command until the command (theoretical motion) generated by the MOVE_D command is completed.
  • Page 151: Move_H

    Motion Profile). Speed and acceleration can be changed during motion (as shown in the example below). The jerk value used at the beginning of the motion remains in effect while in Hunting mode (see section 5.3, Motion Modes). Use the STOP_EX command to change the motion mode.
  • Page 152: Move_R

    WAIT_VAR Position_actual_value > 800000 SPEED 500 Example The speed is set to 1500 rpm and movement commences to a Explanation distance of 600,000 user units. While in motion, another 400,000 user units is added so the total movement distance is 1,000,000 user units.
  • Page 153 Description Starts synchronization to a master encoder (external pulse source) in terms of speed and position. As soon as the command is issued, the XtraDrive starts to count the incoming pulses and accelerates at the profile acceleration (see section 12.2.2, Profile Acceleration) rate.
  • Page 154 Velocity) is greater than that of the master encoder and that the profile acceleration (see section 12.2.2, Profile Acceleration) is sufficient to follow it. If the profile velocity is less than that of the master encoder, the axes can be never synchronized.
  • Page 155: Read_From_Array

    Syntax READ_FROM_ARRAY <Index> <Variable> Op. Code Modes Immediate; Sequential; Program Description Reads the value of an array element according to <index> and sets it to <variable>. Syntax Index Decimal value in range of 1-512 representing the Arguments index of the member in the data array.
  • Page 156: Registration_Distance

    Registration is enabled, setting the condition that input CN1-46 Explanation must change from 0 to 1 for registration to begin. The motor is commanded to move 5000 user units. Once the latching condition has been met, the registration begins, such that the motor will move 100 user units before stopping.
  • Page 157: Return

    Smoothing Time) is set to 700 ms, MOVE command executes, subroutine LABEL 2 is called. Within the subroutine: output 2 is set ON; jerk time is set to 350 ms; movement in the negative direction; return to the main program; command that follows the CALL code line is executed: output 2 is set OFF, servo disabled, end of program.
  • Page 158: Run

    Program, Immediate, Sequential Description Sets a digital output pin to ON or OFF. There are three logical outputs that can be set corresponding to the three output pins on the XtraDrive. Syntax Digital output number, set according to the table Arguments below.
  • Page 159 WAIT_VAR Position_actual_value >= 10000 SLIDE 0 SET_OUTPUT 2 ON Example Current Position is set to zero; slide motion takes place until the Explanation position value equals or exceeds 10000 uu (the WAIT_VAR command stalls the execution of the next command). When the position value equals or exceeds 10000 uu, the SLIDE 0 command “stops”...
  • Page 160: Set_Outputs

    When the position value equals or exceeds 100 uu, digital output Explanation 1 is set to OFF and digital output 2 to ON. <Output mask> is 6 (0110), meaning that only outputs 1 and 2 can be affected. <Output state> is 4 (0100) and determines the value of the affected digital outputs.
  • Page 161: Set_Var

    Serial Example SET_VAR Var_01 329 MATH Profile_velocity = Analog_Speed * Var_01 Example The value of VAR_1 set to 329. This value is then used in the Explanation calculation of the new value of Profile_velocity. See Also MATH, WRITE_TO_ARRAY, READ_FROM_ARRAY XtraWare User Manual...
  • Page 162: Set_Zero_Position

    After searching the C pulse with the HOME_C command the motor moves to position 7800 UU. When the motor is theoretically on position 7800 UU the scale is changed and Position_Demand_Value is set to zero.
  • Page 163: Slide

    Motion Velocity (3) Mode Description Moves the motor at the specified speed. Acceleration to a speed of <n> is according to the profile acceleration (see section 12.2.2, Profile Acceleration) and jerk_time (see section 12.2.3, Profile Jerk Smoothing Time) parameters. Syntax Speed of movement.
  • Page 164: Slide_Analog

    Motor Rated Speed x [Input Voltage (0.01V)] / Pn300 = Demand Speed Where Motor Rated Speed: Parameter of motor (PnF05 low bite) For example, the rated speed is 3000 rpm, Pn300 is set to 600 (6V), if the voltage generated is 3V, the speed will be 1500 rpm. Note 1.
  • Page 165: Speed

    Notes The speed value <n> can only be specified by a number. To set the profile velocity (see section 12.2.1, Profile Velocity) equal to the value of a variable, use the SET_VAR command.
  • Page 166: Speed_Control

    SPEED_CONTROL <switch> Op. Code Modes Program, Sequential Motion Speed control (0) Mode Description Changes control to NCT speed control. The type of speed command is determined according to the <switch> setting. Syntax switch Arguments Mode Code ANALOG_INPUT: Analog speed command (similar to the...
  • Page 167: Speed_Limit_For_Torque_Mode

    SET_VAR Speed_limit_reference 300 SPEED_LIMIT_FOR_TORQUE_MODE SP_REF_VAR TORQUE 50 Example In this example, the user set 300 user units as the speed limit. Explanation The SPEED_LIMIT_FOR_TORQUE_MODE refers to the Speed_limit_reference variable as the source. When the TORQUE 50 command is then executed, the motor will generate 5% of the motor’s rated torque while not exceeding the 300 user units speed...
  • Page 168: Start

    Pn2A9 cannot be defined as zero. The default rate of this deceleration is automatically calculated by the XtraDrive according to the motor torque. If you change this value, it is your responsibility to set a value that is appropriate for an emergency stop.
  • Page 169: Stop_Ex

    Position (1) Mode Description This command is used to stop motor motion. The rate of deceleration is dependent on the <Type> chosen. The <Servo> argument specifies whether or not the servo must remain enabled after stopping (but cannot be used to enable a previously disabled servo).
  • Page 170 Servo OFF: The motor is disabled. Serial Notes Unless <Type> is set to Emergency + Program Stop, the program line following the STOP_EX command will only be executed once the theoretical deceleration has been completed. Example SLIDE 1000...
  • Page 171: Stop_Motion

    Explanation opposite direction) are continuously executed as long as Input 1 is false. When Input 1 is set to true, subroutine LABEL 2 is called and the motion stops. By setting Input 1 to false, the motor returns to its zero position and the two MOVE motions are executed in an endless loop.
  • Page 172: Torque

    DELAY 1500 TORQUE 0 DELAY 1000 Example The Torque Profile value is changed four times, each time for a Explanation period of time determined by the subsequent DELAY command. The final TORQUE command sets the profile value to zero (see Notes below).
  • Page 173: Torque_Analog

    [Motor Rated Torque] x [Input Voltage (0.01V)] / Pn400 = [Generated Torque]. For example, if the rated torque is 500 [Nm], Pn400 is set to 60 (6V) and the voltage generated is 3V, the torque will be 250[Nm]. The rate of change of torque is specified by the parameter Pn2C1.
  • Page 174: Torque_Limits

    Note Increasing torque limits while the motor is in CONTROL ON can cause a fast and therefore dangerous movement. It is highly recommended to first set the motor to CONTROL OFF and only then increase the torque limits. See Also...
  • Page 175: Wait_Exact

    WAIT_EXACT –1 SET_OUTPUT 1 ON Example Motor starts to move; output 2 is set ON; motion continues; when Explanation motion ends output 1 is set ON. (The WAIT command pauses execution of the following lines of the program until the motion is complete.)
  • Page 176: Wait_For_Start

    This command pauses the execution of motion commands until a sequential START command is applied. The main purpose of this command is to enable you to send a group of (up to 10) sequential commands, so that execution of the commands is delayed until a START command is received.
  • Page 177: Wait_Input

    <time> Op. Code Modes Program, Sequential Description Pauses execution of program until the condition on digital input is true or until the time specified by <time> has elapsed. Syntax Input number Digital input number according to the pin on CN1. Pin CN1-40 corresponds to Arguments <input number>...
  • Page 178: Wait_Stop

    1 is set to ON. The WAIT_STOP Explanation command delays execution of the next command until the theoretical motion is over (800 ms). Then output 1 is set to OFF. Note The MOVE command followed by WAIT_STOP performs the same operation as the MOVE_D command, but enables the execution of commands while the motion is in progress.
  • Page 179: Wait_Var

    WAIT_VAR Position_actual_value = 20000 SLIDE 0 Example Position_actual_value is set to zero; motor starts moving at a constant speed (50 uu); as soon as the motor reaches position Explanation 20000 the next command is executed and motor stops. See Also...
  • Page 180: Write_To_Array

    WRITE_TO_ARRAY 17 5432 Array value after: Index Value 5432 Example Data array [17] was equal to 98. After the WRITE_TO_ARRAY command it was changed to 5432. Explanation See Also SET_VAR, READ_FROM_ARRAY, GET_FROM_ARRAY (Only in immediate or sequential mode). XtraWare User Manual...
  • Page 181: Serial Communication Commands

    Command Reference 5.6. Serial Communication Commands The commands described in this section are available only in the serial communication protocol; they are not available in XtraWare. Detailed information about the serial communication protocol can be found in Chapter 6, Serial Interface Protocol.
  • Page 182: Ecam_Profile

    Modes Immediate Description Each profile loading should start with this command, which specifies the profile ID. The profile ID is used to run that profile. Up to 4 profiles can be loaded. Syntax <ID> Long type. Up to 4 profiles can be loaded but the ID can have be any number in the range.
  • Page 183: Ecam_Segment

    ECAM_SEGMENT <Master Delta> <Master Step> <N/A> Op. Code Modes Immediate Description Defines the range and size of increments of the master in this segment. Must be sent at the beginning of each segment. Syntax <Master Delta> Defines the relative distance between...
  • Page 184: Ecam_Table_End

    Command Reference ECAM_TABLE_END Table explanation Syntax ECAM_TABLE_BEGIN Op. Code Modes Immediate Description Finalizes the ECAM table. Must be sent at the end of each ECAM table loading procedure. See Also ECAM_TABLE_BEGIN; ECAM_PROFILE; ECAM_SEGMENT; ECAM_POINTS GET_FROM_ARRAY Table explanation Syntax GET_FROM_ARRAY <Index>...
  • Page 185: Get_Var

    Reads XtraDrive status. For details, see Chapter 10, List of Status Word Bits. SAVE_PRG_ECAM Table explanation Syntax SAVE_PRG_ECAM Op. Code Modes Immediate Description Saves program and ECAM table to the EPROM for further use after power up. XtraWare User Manual...
  • Page 186: Set_Par

    SET_PAR Table explanation Syntax SET_PAR <parameter number> <value> Op. Code Modes Immediate, Sequential. Description Sets XtraDrive parameter. The driver must be reset before the change takes effect. Syntax parameter number XtraDrive parameter (see Chapter 8, Arguments Parameter Reference). Serial value Sets value to specified parameter.
  • Page 187: Serial Interface Protocol

    This chapter describes the XtraDrive serial communication protocol. XtraDrive can work with XtraWare or with any other software that complies with this protocol. Up to 15 XtraDrive units can be connected on a bus. Broadcast commands can be sent to all axes (XtraDrive units).
  • Page 188: Message Data Structure

    Serial Interface Protocol 6.2.1. Message Data Structure ♦ A message consists of bytes where each byte holds one digit of hexadecimal data in ASCII code representation. ♦ The data can be signed or unsigned according to the Command Operational Code argument type (see Chapter 11, List of Operation Codes).
  • Page 189 Program Mode Description: Message Identification (two bytes for two digits). Since the range is greater than 0xF, two bytes are required for holding the number. Message Identification is needed to bind a fault condition to a specific command and to enable download (new or replace) of XtraDrive program lines.
  • Page 190 Example: Consider the IF command, which consists of five arguments: [Arg 1] [Arg 2] [Arg 3] [Arg 4] [Arg 5]. If Arg 3 is to be specified by a variable, and all others by numerical values, then the V string, in binary form, would be 00100, where the right-most 0 corresponds to Arg 1 and the left-most to Arg 5.
  • Page 191 (excluding N and CR) is two digits of a hexadecimal number and consists of two adjacent bytes. The checksum of the message: N A M id1 id2 C1 C2 V1 V2 P1 P2 P3 P4 S1S2 CR is: S1S2 = 0x100 – (a m + id1id2 + V1V2 + P1P2 + P3P4) Only the two digits on the right are considered.
  • Page 192 S1S2 = 0x1F. 6.2.2.3. Master Message Short Format In cases where all the arguments P1 – Pn are specified by numerical values, and not by variable ID numbers, a shortened form of the master message format may be used. Use the short format only when backward support for old projects written in short format is required.
  • Page 193: Response Message

    Serial Interface Protocol To use the short format master message, M (mode) must be set for the short format, according to the following table. Mode Code Broadcast Message Polling Message Immediate Mode Sequential Mode Program Mode In this format, the V1 and V2 (Variable indicators) bytes are omitted, as the arguments can only be specified by numerical values.
  • Page 194 Description: Message Identification in case of Fault (Response type, m = 1). Otherwise (no fault) the Message Identification is set to 0x00 (two bytes for two digits). If a fault is related to a specific command / message, Id1 and Id2 contain the Message Identification as sent by the master.
  • Page 195 Serial Interface Protocol 6.2.3.1. Answer Field for Acknowledge (ACK) A response message is sent either in response to a Data Request command or as a response to the other commands such as ACK. ACK accepts only when Response type m=0,1,3. ACK format: Where: Description: Fault Code.
  • Page 196 Serial Interface Protocol Description: Data field. Number of bytes in data field depends on command type. Answer Field for GET_VAR Command Inx_1 Inx_2 Where: Description: Response message Operational Code. C1 and C2 hold the same Operational Code as the original message.
  • Page 197 Operational Code as the original message. Description: XtraDrive version number with the following format: V1 . V2 V3 _ V4. Note that V4 can only be set as A or B. For example, XtraDrive with version number 2.80 A will respond with: 6.2.3.3.
  • Page 198 MOVE Command Example of response message to MOVE <600> <1000> command (600uu in 1000ms), of axis 0 in Sequential mode, with message identification of 0x96 when control is off. Because a motion cannot be executed when CONTROL_OFF, fault 0x8C occurs.
  • Page 199 Response message format in case of no fault: → → GET_VAR command Example of response message to GET_VAR command to variable Position_Actual_value (0x09) to axis 0 in Immediate mode with message identification of 0x7F. Master Message Format: Response Message Format in cases of no fault: Inx_1 Inx_2 →...
  • Page 200 Serial Interface Protocol negative and equals (–4000) decimal. S1 = 3; S2 = D 0x100–(0x02+0x65+0x48+0x09+0xFF+ 0xFF+0xF0+0x60)= 0xFA. XtraWare User Manual...
  • Page 201: Troubleshooting

    Serial Interface Protocol 6.3. Troubleshooting Table 17: Serial Interface Protocol Troubleshooting Solution roblem ossible ause Unable to establish Communication cable does See cable scheme in XtraDrive communication with not match XtraDrive User Manual, (See section in XtraDrive requirements. Appendix E10.) Communication setting is See section 4.1.1,...
  • Page 203: Error Messages

    XtraWare, the error code, and a description of each error. If the error does not stop the operation with Fault Manager it means that the error is recoverable in Program Mode (Mode D) with the appropriate Fault Manager code.
  • Page 204 SET_VAR: An invalid Invalid variable index has been used in variable index the SET_VAR command. Variable is Variable is read- read-only only. Wrong This command does not exist in op-code the command list.
  • Page 205 Mngr Mngr Mngr Mngr Mngr Mngr Code Code Code Code Code Code Message too The size of a long message sent to XtraDrive via serial communication is limited to 64 characters. C-Phase 1. C-phase is not (Index) defined by Pn190.
  • Page 206 Mngr Mngr Mngr Mngr Code Code Code Code Code Code Parameter Contact your storing fault distributor or YET during representative. auto tuning Parameter Contact your storing fault distributor or YET representative. Motor moving XtraDrive has during detected that the motor is moving...
  • Page 207 EEPROM read EEPROM read buffer full buffer full. Home Home Command: Command: Both speeds are Both speeds in the are in the same same direction. direction HARD_HOME: HARD_HOME: Torque Torque exceeded torque limits. exceeded torque limits Unable to Unable to...
  • Page 208 Number of points is (Delta Master)/(Master step). ECAM – In ECAM_POINTS command, up to Too many 4 points at a time points in can be sent. ECAM_POINTS command (max ECAM - No No ECAM table ECAM table was stored in drive.
  • Page 209 Mngr Mngr Code Code Code Code Code Code ECAM - Too Profile can many contain up to 16 segments only. segments in profile (max ECAM table too Table can contain long up to 256 points only. (max 256 points) Duplicated...
  • Page 210 Mngr Mngr Mngr Code Code Code Code Code Code Alarm Reset Alarm Reset Fail - Fail - Attempt Attempt to reset to reset an alarm that alarm that cannot cannot be reset be reset. Fault message Fault message buffer full.
  • Page 211 Pn280. Pn199 or Pn280 A.10: Over An over current current or Heat flowed through Sink the IGBT. Heat Overheated sink of the servo amplifier was overheated. A.30: Regeneration Regeneration Error Detected. Error Detected Regeneration circuit, or resistor, is faulty.
  • Page 212 A.74: Overload The main circuit of Surge power was Current Limit frequently Resistor turned ON and OFF. * A.7A: The Heat Sink of the servo Heat Sink amplifier Overheated overheated. A.80: Position Position error error exceeds the setting in Pn51E.
  • Page 213 Overheated too high. A.91: Overload This warning (Warning) occurs before either of the overload alarms ( A.71 or A.72) occurs. If the warning is ignored and operation continues, an overload alarm may result. A.92: This warning Regenerative occurs before the...
  • Page 214 Encoder AB - AB - Phase Phase disconnection of disconnection of encoder encoder signal signal line line. A.C4: Encoder Encoder AB - C- AB - C-phase phase disconnection of disconnection encoder signal of encoder line. signal line A.C5: Linear Linear motor pole...
  • Page 215 Encoder Echo communications back Error with encoder is incorrect. A.CC: Multi- Different multi- Turn Limit turn limits have Disagreement been set in the encoder and servo amplifier. A.D0: Position error pulse exceeded Position Error parameter Overflow (Pn505). A.E7: Option Option unit Unit Detection detection fails.
  • Page 216 Cannot perform The requested this motion motion cannot be with present performed. The profile specified motion acceleration time is too short for the specified acceleration. Cannot perform The required this motion speed for this with present motion is greater profile speed than the max.
  • Page 217 Motion cannot The motion be executed cannot be while executed while the motor is CONTROL_ disabled. Make sure the motor is enabled (CONTROL_ON) before issuing the motion command. TORQUE_ The maximum torque limit is LIMITS: Invalid smaller than...
  • Page 218 Can't perform Can’t perform motion . motion. Reconfigure Reconfigure New move enable New move digital input enable digital ( Pn2D1 . 1 ) Input (Pn2D1.1) or use Override_ new_move_ enable ECAM Table is Table sending not ready was not completed (or not even started).
  • Page 219 Fault buffer full Contact your distributor or YET representative. Note: *These alarms can only be reset by turning power off, eliminating the cause of the alarm, and then restoring power. XtraWare User Manual...
  • Page 221: Parameter Reference

    This chapter provides information on all the parameters available in XtraWare. 8.1. Table 19: Parameters The table below lists all the parameters according to their ID numbers. For each parameter this information is provided: ♦ The group or category to which the parameter belongs ♦ Parameter Number ♦...
  • Page 222 Online Auto-tuning 0010 8.3.6 Switches Pn190* Motor selection switch 0000 Pn191* Motor selection switch 0000 Pn192* Pulses number of A quad pulses/ 0-9999 2048 B encoder Low) Pn193* Pulses number of A quad pulse* 0-419 B encoder (High) 10000/ Pn199*...
  • Page 223 7.8.2 Pn216 Command smoothing 0.1 ms 0-65535 8.3.4 Pn281* PG Divider Counts / 1-256 — Scale Pitch Pn2A0* Rotation base in user — 0-65535 65535 — units (low) Pn2A1* Rotation base in user — 0-32767 32767 — units (high) Pn2A2*...
  • Page 224 Pn2C4 Synchronize window for user 0-250 Chapter pulse train position Command units Reference XtraWare User Manual Pn2C5 Zero speed when find speed 0-32000 5.9.3 hard home units Pn2C6 Communication switch selection Pn2C7* Home switch selection 0008 7.10.3 Pn2C8 Auto-tuning – time 200-2000 7.10.5...
  • Page 225 Parameter Reference Parameter Setting Default Cat. Name Unit Ref. Number Range Setting Pn2D0* Reserved Pn2D1* Expand input signal 0078 7.10.4 selection 2 Pn2D2* Expand output signal 0000 7.10.4 selection 1 Pn2F0*** Reserved Contact Pn2F1*** Reserved Baud Contact Pn300 Speed Reference Input 0.01V/...
  • Page 226 Parameter Reference Parameter Setting Default Cat. Name Unit Ref. Number Range Setting Pn403 Reverse Torque Limit 0 to 800 7.1.3 Pn404 Forward External Torque 0 to 800 7.1.3 Limit Pn405 Reverse External Torque 0 to 800 7.1.3 Limit Pn406 Emergency Stop Torque 0 to 800 7.1.2...
  • Page 227 Absolute Encoder Usage is set to “2”. The value will be processed in the range of “+32767 to-32768” for other settings even if the value is changed. There is no need to change the multi-turn limit except for in special cases. Be careful not to change the setting unless necessary.
  • Page 228: Table 20: Application Setting Parameters

    0 - Do not use checksum 1 - Use checksum Pn2C6.1: Communication definitions 0 – Default comm setting (1 Start, 7 data, 1 stop, Even-parity) 1 - Communication with Legend (1 start, No parity, 8 data, 1 stop) Pn2C6.2: Reserved Pn2C6.3: Reserved...
  • Page 229: Table 21: Switches

    Stops the motor by applying Alarm Stop dynamic brake (DB) Mode Stops the motor by applying dynamic brake (DB) and then releases DB Makes the motor coast to a stop state without using the dynamic brake (DB) XtraWare User Manual...
  • Page 230 DB or by coasting) Sets the torque of Pn406 to the maximum value, decelerates the motor to a stop, and then sets it to servo lock state Sets the torque of Pn406 to the maximum value, decelerates the...
  • Page 231 Analog monitor Pn003.0 used for analog monitor 1 -selection of source Pn006.0 used for analog monitor parameter Analog monitor 0: x1, 1: x10, 2: x100 3: 1 – x1/10, 4: x1/100 magnification of signal Not used Analog monitor Servo position error: 1V/10...
  • Page 232 Analog monitor Pn003.1 used for analog monitor 2 -selection of source Pn007.0 used for analog monitor parameter Analog monitor 0: x1, 1: x10, 2: x100 3: 2 – x1/10, 4: x1/100 magnification of signal Not used Communication With commutation sensors...
  • Page 233 Manual) Not used Reference Pulse Sign + pulse, positive logic Form CW + CCW, positive logic A phase + B phase (x1), positive logic A phase + B phase (x2), positive logic A phase + B phase (x4), positive logic...
  • Page 234 Parameter Reference Default Parameter Name Description Setting A phase + B phase (x2), negative logic A phase + B phase (x4), negative logic Error Counter Clears error counter when the Clear Signal signal goes high Form Clears error counter at the rising...
  • Page 235 Parameter Reference Default Parameter Name Description Setting Not used — — XtraWare User Manual...
  • Page 236: Table 22: Input Signal Selections

    Place Setting Input Signal Sets the input signal Allocation Mode allocation for the sequence Pn50A to the same one as for the YASKAWA special servo amplifier Possible to freely allocate the input signals /S-ON Signal Inputs from the SI0 (CN1-...
  • Page 237 Parameter Reference Digit Default Parameter Name Setting Description Place Setting Inputs the reverse signal from the SI6 (CN1-46) input terminal /P-CON 0 to F Same as above 1: SI1 Mapping (P- control when low) P-OT Signal 0 to F Same as above...
  • Page 238 When working in YASKAWA Option Board Mode, all input and output assignments are available. When working in modes C and D, consult Table 27: Input and Output Availability per Mode for a list of input and output signals that can be assigned. XtraWare User Manual...
  • Page 239: Table 23: Home Switches

    Mode for a list of input and output signals that can be assigned. 8.6. Table 24: Extended Input Signal Selection The inputs listed in the table below are used in the user program. Table 24: Extended Input Signal Selection Parameter Digit Place Name...
  • Page 240: Table 25: Output Signal Selections

    0 to 3 Same as above Mapping Reserved 0 to 3 Same as above Not used Not used Note: Output states can not be monitored in watch window/variables unless they are assigned as programmable outputs in a program. XtraWare User Manual...
  • Page 241: Table 26: Extended Output Signal Selection

    Mode for a list of input and output signals that can be assigned. 8.8. Table 26: Extended Output Signal Selection The outputs listed in the table below are used in the user program. Table 26: Extended Output Signal Selection Parameter Digit Name...
  • Page 242: Table 27: Input And Output Availability Per Mode

    Parameter Reference 8.9. Table 27: Input and Output Availability per Mode The table below indicates the modes in which the various inputs and outputs are available. Table 27: Input and Output Availability per Mode Available in YASKAWA Signal Available in Mode C...
  • Page 243: Table 28: Auxiliary Functions

    (Reserved parameter). Fn005 Parameter settings initialization. Fn006 Alarm traceback data clear. Fn007 Writing to EEPROM inertia ratio data obtained from online auto-tuning. Fn008 Absolute encoder multi-turn reset and encoder alarm reset. Fn009 Automatic tuning of analog (speed, torque) reference offset. Fn00A Manual adjustment of speed reference offset.
  • Page 244: Table 25: Monitor Modes

    Parameter Reference 8.11. Table 25: Monitor Modes The table below lists the available monitor modes. Table 29: Monitor Modes Parameter Content of Display Unit Remarks Un000 Actual motor speed — Un001 Input speed reference — Un002 Internal torque reference Value for rated torque...
  • Page 245: List Of System Variables

    List of System Variables List of System Variables Table 30: List of System Variables Name Unit Description Group Absolute_position_error Position 214748364 The absolute value Position Units Variables Following_actual_val Analog_Speed 0.1 % 214748364 Value of analog Analog of max 2147483648 speed input. See Inputs Pn300 and Pn380.
  • Page 246 Motion_end_window. Fault_code 16384 The fault / alarm Status code that caused the fault. To be used in FAULT_MANAGER. Automatically resets when exiting the fault manager routine. Fault_line The program line Status that caused the fault.
  • Page 247 In_position 214748364 Indicates whether Status the motor is in position. Is active in the following Motion_modes: 1, 3, 6, -1, -3, -4 and –7. Inputs_State 214748364 Input ports state. Digital 2147483648 For example, when Inputs_State is 010, the state of In_1...
  • Page 248 Latched_position_ready Indicates if the Encoder latched position Latching value is ready for use: 0: No 1: Yes. Is reset to 0 by the LATCHING_TRIGGER command. LimitSwitchStatus Status of limit Status switch: 0: No Limit Switch 1: Negative limit switch ON 2: Positive limit switch ON.
  • Page 249 Window for System Following_error_actu Units Profile al_value. Specifies the maximum satisfactory position error at the end of a movement, for use when Exact_mode is set to 1. The WAIT_EXACT command delays program flow until the position error is smaller than Motion_end_window.
  • Page 250 Unit Description Group Outputs_State 214748364 Output ports state. Digital 2147483648 The right-most digit is not in use. For example, when Outputs_State is 010, only output 1 (CN1-25/26) is on. Only outputs that are set by commands are monitored, including the /Fast Output embedded function.
  • Page 251 Each of the three binary digits represents the state of one sensor: 100 indicates that the motor is positioned at commutation sensor W, 010 at sensor V, 001 at sensor U. Servo_cycle_time 0.1 us 214748364 Servo cycle time Status Speed_limit_active...
  • Page 252 List of System Variables Name Unit Description Group Speed_reference Velocity 214748364 Defines the Speed Units 2147483648 reference speed for Variables SPEED_CONTROL command when Variable is selected as the input to SPEED_CONTROL. Target_position Position 214748364 Final destination of Position Units 2147483648 motion commands.
  • Page 253 2 ms: The variable is updated every 2 milliseconds. Whenever specifying a condition based on the value of a variable, it is important that the update time or interval of that variable is considered. XtraWare User Manual...
  • Page 254: List Of Status Word Bits

    List of Status Word Bits List of Status Word Bits A status word is a 16-bit string containing the current XtraDrive status. Use the POLLING command to get a status word. An acknowledge (ACK) message also contains a status word.
  • Page 255: List Of Operation Codes

    List of Operation Codes List of Operation Codes Table 32: List of Operation Codes Mode of Name Operation Code ACCELERATION 2;3;4 CALL CLEAR_BUFFER CONTROL 2;3;4 DELAY 4 U V ECAM_DISENGAGE ECAM_ENGAGE 1 U V ECAM_POINTS ECAM_PROFILE ECAM_SEGMENT ECAM_TABLE_BEGI ECAM_TABLE_END ENGAGE_VIRTUAL_...
  • Page 256 List of Operation Codes Mode of Name Operation Code LATCHING_TRIGGE LOOP 4 U V (3E) (3A) MATH 2;3;4 MOVE MOVE_D MOVE_H MOVE_R POLLING READ_FROM_ARRAY 2;3;4 2 U V REGISTRATION_DIS TANCE RETURN SAVE_PRG_ECAM SET_OUTPUT 2;3;4 2 U V SET_OUTPUTS 2;3;4 4 U V...
  • Page 257 ASCII values 30, 33, 45, 38. U - Unsigned integer. V – Argument value can be specified by numerical value or by a variable. Example: 2 U V indicates that the argument consists of 2 hexadecimal digits, is unsigned, and can be specified either by a numerical value or by a variable.
  • Page 258 List of Operation Codes versions, use STOP_EX. XtraWare User Manual...
  • Page 259: Glossary Of Terms And Concepts

    XtraDrive control algorithm to the number of reference input pulses received from the host controller. The user position units can then be set in terms of the pulses that are input to the XtraDrive control algorithm.
  • Page 260: Motion Profile

    ♦ Pn2A3: The profile speed in user speed units, in the high bits format. Pn2A2 is used to store the work speed default if its value is less than 65536. Values over 65536 must be converted to high bits format, and stored in Pn2A3, which can hold values up to 256.
  • Page 261: Profile Jerk Smoothing Time

    ♦ Pn2A5: The profile acceleration in user acceleration units, in the high bits format. ♦ Pn2A4 is used to store the profile acceleration if its value is less than 65536. Values over 65536 must be converted to high bits format, and stored in Pn2A5, which can hold values up to 256.
  • Page 262 When using XtraWare, simply select the required option from a drop-down menu. Example An example that shows the use of the command. Example An explanation of the example. Explanation Note Addition information relating to the use of the command.
  • Page 263 Tel: 603-641-1822 E-mail: info@yetmotion.com Fax: 603-641-1239 Homepage: E-mail: info@yet-motion.com www.yetmotion.com Homepage: www.yet-motion.com Specifications are subject to change without notice due to ongoing product modifications and improvements. XtraWare Ver. 3.0 for XtraDrive Vers. 3.04 - 3.23 Catalog No. 8U0109 Rev. G...

This manual is also suitable for:

Xtraware 3.0

Table of Contents