XMP Software Tools & Utilities Guide

154
33 South La Patera Lane Santa Barbara, CA 93117 ph (805) 681-3300 fax (805) 681-3311 [email protected] SERCOS Programming Reference For the MultiDrive Version 1.5 - 1997 XMP Software Tools and Utilities Guide January 2002

Transcript of XMP Software Tools & Utilities Guide

Page 1: XMP Software Tools & Utilities Guide

33 South La Patera LaneSanta Barbara, CA 93117ph (805) 681-3300fax (805) [email protected]

SERCOS

Programming Reference

For the MultiDrive

Version 1.5 - 1997

XMP Software Toolsand Utilities Guide

January 2002

Page 2: XMP Software Tools & Utilities Guide

XMP Software Tools and Utilities Guide

January 2002Doc # M001-0068 Rev. AECO 1465

Copyright © 2002 Motion Engineering

Motion Engineering33 South La Patera LaneSanta Barbara, CA 93117-3214ph 805-681-3300fax 805-681-3311on-line technical support: http://support.motioneng.comwebsite: http://www.motioneng.comftp site: ftp.motioneng.come-mail: [email protected]

This document contains proprietary and confidential information of Motion Engineering, Inc. and is protect-ed by Federal copyright law. The contents of the docu-ment may not be disclosed to third parties, translated, copied, or duplicated in any form, in whole or in part, without the express written permission of Motion En-gineering, Inc.

The information contained in this document is subject to change without notice. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of Motion En-gineering, Inc.

All product names shown are trademarks or registered trademarks of their respective owners.

Page 3: XMP Software Tools & Utilities Guide

33 South La Patera LaneSanta Barbara, CA 93117ph (805) 681-3300fax (805) [email protected]

Warning! Read Me!CAUTION! RAPID MOTION!

Motion Console can effect rapid movements in machinery under its control. Entered pa-rameter values take effect immediately, and may cause sudden, unexpected move-ment of machinery. Before entering or changing Motion Console parameters, verify that all personnel, hands, fingers, body parts, and property are clear of the movement area; otherwise, injury or death may result!

ATTENTION! MOUVEMENTS RAPIDES!Motion Console est capable de produire des mouvements rapides des machines sous son contrôle. Les valeurs de paramètres introduites agissent immédiatement, et peu-vent produire des motions soudaines et inattendues. Avant d’introduire ou de changer les paramètres, vérifiez que toutes personnes, mains, doigts, parties de corps, soient hors de la région de mouvement afin de ne pas causer de blessures ou de mort.

CAUTION! ELECTRICAL HAZARD!Before connecting servo amplifiers to motion control components, verify that all power is off and equipment is unplugged from its power source.

ATTENTION! DANGER ELECTRIQUE!Avant de mettre en contact les amplificateurs servo avec les éléments composant le contrôle de mouvement, vérifiez que l’électricité soit éteinte et que l’équipement soit débranché de sa source électrique.

Page 4: XMP Software Tools & Utilities Guide

CAUTION! CONFIGURE PANIC STOP NOW!Motion Console provides a software-based Panic Stop feature which may be activated in one of two ways:

• <F12> keyboard key

• Panic Stop button:

The Panic Stop behaves according to the user-specified Panic Action parameter lo-cated on Motion Console’s Motion Supervisor Summary / General Configuration tab page. Depending upon how Panic Action is configured, a panic stop may initiate a slow or rapid motion stop, an error state, or no error at all. For details on configuring your Panic Stop, see Chapter 2 of this manual. You must custom-configure your Panic Stop according to the level of control and safety demanded by your motion system! Configure your Panic Stop now, before proceeding!

IMPORTANT! In addition to the software-based Panic Stop feature offered in Motion Console, users are strongly urged to construct a hardware-based emergency stop sys-tem. This should be done before commencing motion control testing and configuration. (Most such hardware-based safety systems work by interupting power to motion com-ponents.) For assistance with constructing a hardware-based emergency stop, readers are directed to their local governmental occupational safety guidelines.

Page 5: XMP Software Tools & Utilities Guide

HOW TO USE THIS MANUAL

IntroductionThis manual is designed to introduce you to MEI’s Motion Console, Motion Scope, and VM3 utilities, as well as introduce you to the world of object-orient-ed motion control. The utilities described in this manual are unique software tools that will assist you in the building of your motion control applications.

Chapter 1— Hardware and Software FundamentalsThis section provides a quick overview of what you will need to install XMP hardware and software on your system. For specific hardware information, please see the XMP Motion Controller Hardware Installation Manual (Doc# M001-0066).

Chapter 2— Motion ConsoleMotion Console provides users with a simple, direct method for accessing mo-tion control hardware. It is not a platform for writing application software, nor a software compiler; however, it will prove extremely useful for experimenting with equipment, and trying different approaches to motion control problems. It also provides an excellent introduction to object-oriented motion control soft-ware.

Chapter 3— Motion ScopeMotion Scope is essentially a computer-based oscilloscope. It allows you to study the inputs and outputs to your motion control hardware, generate timing plots, and analyze two or more axes simultaneously. It is particularly useful during the software development stage of an application when settings are be-ing optimized for maximum efficiency. It is also an excellent tool for trouble-shooting.

Chapter 4— VM3The “VM” in VM3 stands for View Memory; the “3” is the version number for XMP. (Version 2 works with DSP-series controllers.) This is a low-level, DOS-based memory buffer reader for monitoring cycle times and the status of vari-ous inputs and outputs. You can use VM3 to monitor various values in memory without interrupting the execution of the application. It compliments the Motion Console and Motion Scope utilities by providing a window into the controller’s memory.

5

Page 6: XMP Software Tools & Utilities Guide

Chapter 5— XMP Configuration UtilityThe XMP Configuration Utility provides a means of configuring the XMP using text files. The text files contain symbolic configuration data for MPI objects in a format that is independent of firmware version. You can get configuration data for MPI objects from XMP RAM or flash memory and save it to a text file. Sim-ilarly, you can load configuration data for MPI objects from a text file and set either XMP RAM or flash memory. Command line arguments to the config util-ity make it possible to selectively configure MPI objects. The config utility also makes it easy to upgrade to a new release of XMP firmware while retaining custom firmware configuration. Using the config utility, any XMP setting can be configured without writing any code.

6

Page 7: XMP Software Tools & Utilities Guide

XMP Software Tools & Utilities GuideTable of Contents

Safety Warnings

How to Use This Manual

Chapter 1 RequirementsSafety Precautions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2

Mechanical Hazards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2Electrical Hazards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2

Hardware Requirements and Installation . . . . . . . . . . . . . . . . . . 1-3Hardware: Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3Hardware: SIM4 Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3Hardware: Sinusoidal Commutation . . . . . . . . . . . . . . . . . . . . 1-3Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3

Chapter 2 Motion ConsoleObject-oriented Motion Control . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1Motion Console Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2

Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2Motion Console User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4

Main Motion Console Frame . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4Toolbar Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4

Adding a New Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7Device Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8Client Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8Error Messages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10Removing Controllers . . . . . . . . . . . . . . . . . . . . . . . 2-11A Note Regarding Synchronized Motion . . . . . . . . . 2-11

Object Summary Windows . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12Configuring Object Summaries . . . . . . . . . . . . . . . . 2-12View Sub-objects . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12Anatomy of an Object Summary . . . . . . . . . . . . . . . 2-14“Configurable Attributes” versus “Status

Parameters” . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-15Cell Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16

Navigating within a Summary . . . . . . . . . . . . . . . . . . . . . . . . 2-17Mouse-less Navigation within a Summary Window . 2-17

1

Page 8: XMP Software Tools & Utilities Guide

Selecting Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17Copying Cell Data . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17Configure Grid Rows . . . . . . . . . . . . . . . . . . . . . . . 2-18

Object Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19Summary of Configuration Buttons . . . . . . . . . . . . . 2-20Object Explorer: Mouse Controls . . . . . . . . . . . . . . . 2-21

Object List Configuration Dialog Boxes . . . . . . . . . . . . . . . . . 2-22Object List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-23Object Pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-23Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-24

Configuring New Systems with Motion Console . . . . . . . . . . . 2-26Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-26Getting Started with Motion Console . . . . . . . . . . . . . . . . . . . 2-26

What is Motion Console? . . . . . . . . . . . . . . . . . . . . . 2-26What is Motion Scope? . . . . . . . . . . . . . . . . . . . . . . 2-26First Things First: Safety . . . . . . . . . . . . . . . . . . . . . 2-26

Saving Parameter Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-27Saving to Flash Memory . . . . . . . . . . . . . . . . . . . . . 2-27Uploading Firmware . . . . . . . . . . . . . . . . . . . . . . . . . 2-28Downloading Firmware . . . . . . . . . . . . . . . . . . . . . . 2-29

Associating Objects with Motion Console . . . . . . . . . . . . . . . 2-30How Many Controllers? . . . . . . . . . . . . . . . . . . . . . . 2-30Creating a New Controller Object . . . . . . . . . . . . . . 2-30Mapping a Motion Supervisor . . . . . . . . . . . . . . . . . 2-32

Configuring a Motion Supervisor . . . . . . . . . . . . . . . . . . . . . . 2-33Mapping Axes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-34Mapping One Object to Another . . . . . . . . . . . . . . . 2-34Mapping Filters and Motors . . . . . . . . . . . . . . . . . . . 2-35

Removing (Deleting) a Mapped Object . . . . . . . . . . . . . . . . . 2-36Safety Reminders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-38

Establish a Safety Zone . . . . . . . . . . . . . . . . . . . . . . 2-38Mount an Emergency Off Switch . . . . . . . . . . . . . . . 2-38Wire all Drive Amplifiers for Fail Safe Operation . . . 2-38Motor Attributes: Config Tab . . . . . . . . . . . . . . . . . . 2-39Motion Supervisor: Config Tab . . . . . . . . . . . . . . . . 2-39

Motion Console Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-40 Controller Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-40

Controller-Client Configuration . . . . . . . . . . . . . . . . . 2-41XMP Controller Placement on PCI Buses . . . . . . . . 2-42Configuration Attributes: Actions Tab . . . . . . . . . . . 2-43Configuration Attributes: Config Tab . . . . . . . . . . . . 2-44Configuration Attributes: Version Tab . . . . . . . . . . . 2-45Configuration Attributes: Stats Tab . . . . . . . . . . . . . 2-46

2

Page 9: XMP Software Tools & Utilities Guide

Motion Supervisor Object . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-47Configuration Attributes: Config Tab . . . . . . . . . . . . 2-47Configuration Attributes: Actions Tab . . . . . . . . . . . . 2-50Status Attributes: Status Tab . . . . . . . . . . . . . . . . . . 2-51Error States. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-52

Axis Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-53Configuration Attributes: Motion Tab . . . . . . . . . . . . 2-50Configuration Attributes: Config Tab . . . . . . . . . . . . 2-56Status Attributes: Status Tab . . . . . . . . . . . . . . . . . . 2-57

Filter Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-58Configuration Attributes: Config Tab . . . . . . . . . . . . 2-58Configuration Attributes: Coeffs Tab . . . . . . . . . . . . 2-59PID Coefficients . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-60PIV Coefficients . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-61SERCOS Coefficients . . . . . . . . . . . . . . . . . . . . . . . 2-62Configuration Attributes: SERCOS Tab . . . . . . . . . . 2-63

Motor Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-64Configuration Attributes: Config Tab . . . . . . . . . . . . 2-64Configuration Attributes: Events Tab . . . . . . . . . . . . 2-68Configuration Attributes: I/O Tab . . . . . . . . . . . . . . . 2-72Configuration Attributes: SinCom Tab . . . . . . . . . . . 2-73Status Attributes: Status Tab . . . . . . . . . . . . . . . . . . 2-74Status Attributes: I/O Tab . . . . . . . . . . . . . . . . . . . . . 2-75

SERCOS Ring Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-77Configuration Attributes: General Config Tab . . . . . 2-77

SERCOS Node Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-78Configuration Attributes: General Config Tab . . . . . 2-78Status Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-79

Idn Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-80Configuration Attributes: General Config Tab . . . . . 2-80

Chapter 3 Motion ScopeDescription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1Material Contained Within This Chapter . . . . . . . . . . . . . . . . . . . 3-1Installing and Launching Motion Scope . . . . . . . . . . . . . . . . . . . 3-1Motion Scope User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1

Motion Scope Quick-start Guide . . . . . . . . . . . . . . . . . 2

Motion Scope Toolbar Functions . . . . . . . . . . . . . . . . . . . . . . . . 3-12File Menu Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12View Menu Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13

3

Page 10: XMP Software Tools & Utilities Guide

Pane Menu Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18Print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19Traces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19Trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-26

Trace Menu Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-28Window Menu Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-29Other Data and Display Features . . . . . . . . . . . . . . . . . . . . . . . . 3-30

MaxBuffer (ms) and SampleSize (samples) . . . . . . . . . . . . . 3-30XRange and XOffset Fields . . . . . . . . . . . . . . . . . . . . . . . . . . 3-31YScale and YOffset Fields. . . . . . . . . . . . . . . . . . . . . . . . . . . 3-32XRange and YRange Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-34Zoom and Step Buttons:

Zoom In; Zoom Out; Full Out; Step In; and, Step Out . . . 3-36Trace and AutoScale Menu Items . . . . . . . . . . . . . . . . . . . . . 3-37

Direct Cursor Measurement of Traces . . . . . . . . . . . . . . . . . . . . 3-38

Chapter 4 VM3: View Memory Utility, Ver. 3Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1Installing and Running VM3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1VM3 Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2“Board Data” Panel (F1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4VM3 Data Panels and Header Files . . . . . . . . . . . . . . . . . . . . . . 4-6“Commands” Panel (F2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7“Auto” Panel (F3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8“Hex” Panel (F4). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9“Decimal” Panel (F5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9“Float” Panel (F6) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10“Dump” Panel (F8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11

Chapter 5 XMP Configuration UtilityIntroduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1Command-Line Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3

4

Page 11: XMP Software Tools & Utilities Guide

Firmware/Library Upgrades . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4Modifying Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5Open Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6

5

Page 12: XMP Software Tools & Utilities Guide

6

Page 13: XMP Software Tools & Utilities Guide

CHAPTER 1REQUIREMENTS

IntroductionTo fully understand Motion Console, Motion Scope and the VM3 utility, you will need to experiment with hardware. Ideally, a test stand has been obtained for this purpose so that you may experiment with the XMP to the fullest extent pos-sible. This reduces risks to personnel and property. (If you are new to XMP, your first motion experiments should not be with a 20-ton wrecking crane!) This section will assist you in getting your hardware connected. You should then proceed to the “Motion Console” section (Chapter 2) to begin using your XMP motion controller.

Required Materials• XMP Motion Controller Hardware Installation Manual

(P/N M001-0066)

• XMP controller card(s)

• VHDCI cable (“VHDCI” = Very High Density Connector Interface) One cable for every two motors (servo or stepper). Each controller card accepts 1-4 cables, depending upon its configuration. NOTE: If you are configuring for a SERCOS system, you do not need a VHDCI cable.

• Screw terminal connector (STC-136) for connecting one or two VHDCI cables to your motion hardware. NOTE: If you are configuring for a SERCOS system, you do not need a terminal connector.

• Host computer

• Servo amplifier(s) or stepper motors

• Hand tools (sufficient to open host computer and install controller card, secure cables, etc.)

1-1

Page 14: XMP Software Tools & Utilities Guide

Safety Precautions

Mechanical HazardsThe following mechanical precautions should always be observed, especially when operating large, powerful components:

Crush-Collision Danger to Personnel— Even small mechanical compo-nents can exert sufficient force to crush or injure you! Before powering your motion control system, verify that personnel, including their hands, fingers and feet are clear of the safety zone. If you have not already done so, define a safe-ty zone, then employ barriers and/or clearly marked boundary lines so that per-sonnel are excluded from the zone. Before powering motion control compo-nents, verify that all personnel remain outside the safety zone.

Crush-Collision Hazard to Equipment— The same precautions applied to personnel should be observed for equipment. Components can be damaged or destroyed due to collision with other components or fixed hardware.

Component Hazards— Motion control may be applied to components which themselves present hazards. These include welders, saws, lasers, presses, cutters, etc. Be aware that the introduction of movement to a component ex-tends the reach and range of that component’s hazards. In addition, any object can be made dangerous if suddenly jarred loose or pitched due to sudden, wild movements. When testing new applications, it is recommended that you begin at very low speeds, then slowly increase to the design speed.

Electrical HazardsElectrocution Hazard— Some motion control systems utilize high voltages and currents which present hazards to personnel. During installation and ser-vicing of components:

• Power off all electrical components and accessories connected to your motion control system.

• Unplug electrical devices from their source of power. Safe-lock all power plugs to prevent them from being plugged in during servicing.

• Allow sufficient time for components using capacitors to discharge fully before making connections.

• Do not repower any components until installation is complete and personnel are clear of component spaces.

ESD— Due to the use of sensitive microelectronics, all XMP boards are sub-ject to damage due to electrostatic discharge (ESD). When handling XMP components, users are advised to observe basic ESD precautions, including the use of grounding straps and grounding mats. Removed XMP components should always be stored in protective ESD bags and/or cases.

1-2

Page 15: XMP Software Tools & Utilities Guide

Hardware Requirements and InstallationHardware: ControllersController hardware requirements and detailed installation instructions are de-tailed in the XMP Motion Controller Hardware Installation Manual (P/N M001-0066), .

Hardware: SIM4 ModulesInstallation instructions and hardware requirements for scale interpolation modules (or “SIM4 modules”) are detailed in Application Note 206, “SIM4 Op-tion: Installation and Calibration,” available from Motion Engineering.

Hardware: Sinusoidal CommutationInstallation instructions and hardware requirements for utilizing sinusoidal commutation are detailed in Application Note 203, “Sinusoidal Commutation,” available from Motion Engineering.

SoftwareOperating System— Operates on WindowsNT 4.0, or Windows 95/98, or 2000. Detailed software installation instructions are included with the current release note of your software version.

1-3

Page 16: XMP Software Tools & Utilities Guide

This is a blank page.

1-4

Page 17: XMP Software Tools & Utilities Guide

CHAPTER 2MOTION CONSOLE

Object-oriented Motion ControlThe XMP motion control system is distinguished by its unparalleled flexibility in design. This is largely the result of two features: 1) a firmware-configured DSP processor which can be customized for efficient tasking; and, 2) a dual-library software architecture containing both general (MPI) and specialized (MEI) software objects. These objects encompass complex motion control functions, enabling the programmer to quickly build programs without writing hundreds or thousands of lines of code. Objects lend extraordinary portability to the software environment, allowing complex functions to be executed by calling them as single objects.

Motion Console embodies this object-oriented approach to motion control through its unique graphical user interface. It has been designed as a utility to assist programmers. It does not write custom applications. Rather, it provides an environment for the testing and monitoring of motion control components. This will prove extremely helpful to you when writing new applications, be-cause it allows you to check your code against a proven interface. (For exam-ple, if your application fails to move a component, you can try Motion Console to see whether the problem lies within the hardware or software.)

This chapter will guide you through the basic use of Motion Console, and in-cludes a description of objects and attributes. If you would like to try configuring a simple motion control system with Motion Console, please see the Quick-Start Guide, which accompanies MEI’s Firmware Developer’s Kit. For more in-formation, please see “Configuring New Systems with Motion Console,” in this chapter.

2-1

Page 18: XMP Software Tools & Utilities Guide

Motion Console ObjectsMotion Console divides motion control into several distinct software objects. Some of these objects have direct hardware equivalents, such as Motor ob-jects. Other objects are more abstract and complicated, such as Filter objects. Motion Console provides direct configuration and monitoring of XMP motion control objects, including:

Controller (Motion Controller) — A single XMP controller, capable of control-ling motion supervisors, and served by a host computer. A Controller folder lists the controllers served by the host computer, of which there may be more than one. However, each Controller demands its own separate motion con-troller hardware (i.e., one main controller board, with or without an attached ex-pansion board).

Motion Supervisor — Topmost level of motion control associated with a Con-troller. Each Motion Supervisor, in turn, has 0 (zero) or more Axes mapped to it.

Axis — A motion vector associated with either linear (e.g., linear slide), or ro-tary (e.g., turntable) motion, and associated with a Motion Supervisor. Each Axis has 0 (zero) or more Filters mapped to it.

Filter — Attributes applied to closed-loop motor control, such as gains and mo-tion algorithms. Each Filter has 0 (zero) or more Motors mapped to it.

Motor — A motor, which may be either rotary (such as a rotary motor shaft), or linear (such as a linear motor, pneumatic cylinder, hydraulic actuator, etc.).

SERCOS — Read-only configuration attributes for monitoring SERCOS rings.

Node — SERCOS nodes. Each Node is associated with a particular SERCOS object.

IDN — SERCOS identification number. Each IDN object is associated with a particular Node object.

Mapping“Mapping” means associating one object with another. For example, one axis may have one motor mapped to it (such as a motor-driven leadscrew on a slide), or one axis may have two motors mapped to it (such as a gantry crane).

Frequently, motion designers think of each axis in terms of a single motor; how-ever, the XMP environment allows you to expand this model. For example, the X-Y table on a three-axis machine is simply controlled by two motors, each of which represents a single, independent axis. However, it may be advanta-geous to add a second motor to each axis, in order to obtain independent, rap-id-coarse motion and slow-fine motion. In this model, each axis has two motors associated with it: one coarse, one fine. The choice of when to use what motor is performed by a Filter object, written into the custom application code. If the fine motor is commanded to move to a point outside its range, the filter object can be configured to use the coarse motor to reposition the axis. Once the coarse motor has positioned the axis at its starting point, the filter will switch to

2-2

Page 19: XMP Software Tools & Utilities Guide

the fine motor. This level of flexibility is made possible by object mapping.

Figure 2-1 Motors 1 and 2 (M1 and M2) are mapped to Axis 1 (A1) on the X-axis. Motors 3 and 4 (M3 and M4) are mapped to Axis 2 (A2) on the Y-axis.

Motor 3 (Ycoarse) Motor 2 (Xfine)Motor 1 (Xcoarse)

Motor 4 (Yfine)

Axis 1 (X)

Axis 2 (Y)

M1

M2

A1

M3

M4

A2

2-3

Page 20: XMP Software Tools & Utilities Guide

This allows one component to be associated with another by simply dragging one object to another on the computer screen with a mouse.

IMPORTANT! Object mappings, along with all other Motion Console settings, are NOT saved until the Save to Flash Memory function is used on the Object Explorer or object summary window. If you do not save your set-tings to flash memory, your settings will be lost when the system is powered down, or when the controller is reset.

Before using Motion Console to map objects, it will help to review how the user interface is designed.

Motion Console User Interface

Main Motion Console FrameThe outermost Motion Console window frame presents a toolbar at the top with several buttons. Each button function is summarized below.

Toolbar FunctionsView Error List — MPI library function errors are displayed in the Library Function Errors window. When there are no errors to display, the View Error List button is disabled. Otherwise, it is enabled and clicking on it opens the Li-brary Function Errors window.

To empty the list, click on the Reset button. To close the list, click on either the Close button, or the close (“X”) icon in the upper-right corner of the window. Some MPI error messages are described in the Software Reference.

<Alt> E

2-4

Page 21: XMP Software Tools & Utilities Guide

New — Clicking on the New Profile button will create a new initialization file (.INI), or profile. The default setting will initially display only the Object Explorer box with no controllers. See the Profile Files section for more information.

Open — Clicking the Open Existing Profile button will open a specified .INI file. See the Profile Files section for more information.

Save As — Clicking the Save Profile As button will save the current profile into the specified .INI file. See the Profile Files section for more information.

View Object Explorer — Clicking on the View Object Explorer button dis-plays the Object Explorer window. See “Object Explorer” section below in this chapter for more information.

Open and Configure Controller Summary — Clicking on this button opens and configures the Controller Summary window. See “Controller Objects” section below in this chapter for more information.

Open and Configure Motion Supervisor Summary — Clicking on this button opens and configures the Motion Supervisor Summary window. See “Motion Supervisor Objects” section below in this chapter for more information.

Open and Configure Axis Summary — Clicking on this button opens and configures the Axis Summary window. See “Axis Objects” section below in this chapter for more information.

Open and Configure Filter Summary — Clicking on this button opens and configures the Filter Summary window. See “Filter Objects” section below in this chapter for more information.

Open and Configure Motor Summary — Clicking on this button opens and configures the Motor Summary window. See “Motor Objects” section below in this chapter for more information.

Open and Configure SERCOS Ring Summary — Clicking on this button opens and configures the SERCOS Ring Summary window. See “SERCOS Ring Objects” section below in this chapter for more information.

Open and Configure SERCOS Node Summary — Clicking on this button opens and configures the SERCOS Node Summary window. See “SERCOS Node Objects” section below in this chapter for more information.

<Ctrl> N

<Ctrl> O

<Ctrl> A

<Alt> O

<Alt> C

<Alt> S

<Alt> A

<Alt> F

<Alt> M

<Alt> R

<Alt> N

2-5

Page 22: XMP Software Tools & Utilities Guide

Open and Configure SERCOS Idn Summary — Clicking on this button opens and configures the SERCOS Idn Summary window. See “SERCOS Idn Objects” section below in this chapter for more information.

Configure Grid Rows — Clicking on this button displays a window to config-ure the Row Configuration of the highlighted Object Summary window. This allows the configfuration of each window to display only the required parame-ters. This will simplify the Motion Console interface and hide parameters that should not be modified. The Row Configuration settings can be saved to an initialization file.

Add Controller — Clicking on this button adds a new Controller object. See “Controller Objects” section below in this chapter for more information.

Refresh — Clicking on this button will refresh the Motion Console display. While the Status tabs at the bottom of the Object Summary windows are con-stantly updated, the Configuration tabs at the top are only updated when man-ually changed by the user, when Motion Console is restored after being minimized, or when the Refresh button is clicked. This is particularly helpful if another application is also accessing the XMP controller and changing the con-troller configuration.

Panic Button — Clicking on this button activates a Panic action for each Mo-tion Supervisor.

WARNING! The Panic Stop behaves according to the user-specified Panic Action parameter located in the Motion Supervisor Summary / Config tab. Depending upon how Panic Action is configured, a panic stop may initiate a slow or rapid motion stop, an error state, or no error at all. For details on con-figuring your Panic Stop, see the “Motion Supervisor Object” section below in this chapter. You must custom-configure your Panic Stop according to the lev-el of control and safety required by your motion system!

NOTE — The Shift and Ctrl keys can be used to modify the action performed when clicking on a toolbar button that opens a window. The modified actions are listed below:

• Shift + button — Changes the state of the window. If the window is closed, it will be opened. If the window is open, it will be closed.

• Ctrl + button — If the window is already open, it activates the window and brings it to the foreground. This is useful for locating a window that is buried under other windows.

Furthermore, for those buttons that open object Summaries, the Ctrl and Shift keys will cause the Summary Object List Configuration dialog box to be by-passed. The Summary window will be opened to the current configuration.

<Alt> I

<Ctrl> R

<Alt> NumKey +

F5

<F12>

2-6

Page 23: XMP Software Tools & Utilities Guide

Adding a New ControllerRecall that each Controller is represented by an actual, physical controller. Therefore, a new Controller cannot be added until a new motion controller has first been installed in your computer. After installation is complete, click on the Add Controller button on the toolbar of the Object Explorer to add a new con-troller.

Clicking on the Add Controller button displays the Add Controller dialog box. Enter the name of the new Controller in the Name field. This may be any al-phanumeric label up to 27 characters long (“Controller 1,” “XY Table,” “Julie Ann,” etc.). The Name need not be the same as the Controller Number, but many users find this less confusing.

There are three ways to address a new controller:

• If only one controller is being installed on the host computer, simply assign a Name, then click on the OK button. The Controller number will be 0. This is the Default option.

• Click on the Device tab if there is more than one controller card in the computer.

• Click on the Client tab if the controller card resides inside a sepa-rate client computer (i.e., not in the same computer running Motion Console), linked across a TCP/IP network with it.

2-7

Page 24: XMP Software Tools & Utilities Guide

Device SettingsDevice settings should be used whenever more than one XMP controller card is in the host system. If ALL controllers reside inside the host, you may ignore settings on the Client tab.

• Controller Number — the MEI-specific index, inside the device list, that is used by the computer to identify each controller. Although you may customize the name of the controller, you cannot customize the “Controller Number,” because it is already preconfigured to coordi-nate with the appropriate XMP controller board. For example, you can call a controller “Martha,” but if the Controller Number is 3, MoCon will be referencing the 3rd board installed on your system.

Client SettingsNOTE: Before a client-based controller can be added to the object tree, the cli-ent computer must be running the server.exe utility. If you have not already done so, start the utility now before proceeding. Once server.exe is running, it can be “minimized” on the client computer’s monitor and kept running in the background.

Client settings apply to XMP controllers which reside on separate client com-puters (i.e., computers other than the one running the Motion Console utility). To access a client controller, its client computer must be networked with the host computer AND be running the server.exe application.

• Controller Number — the MEI-specific index, inside the device list, that is used by the computer to identify each controller. Although you may customize the name of the controller, you cannot customize the “Controller Number,” because it is already preconfigured to coordi-nate with the appropriate XMP controller board. For example, you

2-8

Page 25: XMP Software Tools & Utilities Guide

can call a controller “Martha,” but if the Controller Number is 3, MoCon will be referencing the 3rd board installed on your system.

• Port — Socket connection to use for the client. NOTE: In most cases this will be the same for host and client(s), and the default value (3300) can be used.

• Server — IP address of the client computer serving the XMP con-troller.

2-9

Page 26: XMP Software Tools & Utilities Guide

Error MessagesIf error messages are encountered while adding a new controller, refer to the table below.

Table 2-1 Error Messages when Adding a Controller

Error Message Controller Type Action

A mpiControlInit failed whilecreating (controller name)a

a. This error is most likely caused if the “MEIXMP” device driver has not been started. Despite the error, a “phantom” Controller object will appear on the Motion Console Object Explorer window; however, it will not be active. To remove the phantom Controller object, highlight the object with your mouse, then click on the Remove Controller icon.

Device Recheck hardware installation, espe-cially PCI bus socket.

A

B Open the “Control Panel” and double-click “Devices.” Find the “MeiXMP” device and make sure its status is “started.”

B

C Swap XMP board with a reliable card in a reliable host computer. If card fails to respond, contact MEI.

C

D Client Recheck client address. D

E Verify that client is running server.exe application.

E

F Refer to Actions A and C above. F

G Controller (controller name) will not be added because a board already exists at the specified address.

Device Verify Controller Number field under the Device tab is different from existing controller(s).

G

H Client Verify that Controller Number, Port and Server fields under the Client tab are different from existing controller(s).

H

I MPIControlInit() returns 0x8603:Packet:communica-tion error

All Verify that client is running server.exe application.

I

2-10

Page 27: XMP Software Tools & Utilities Guide

Removing ControllersControllers may be removed quickly with the Object Explorer by highlighting the controller to be removed and clicking on the Remove Controller icon. A controller can also be removed by clicking on the Remove button for the con-troller on the Operations tab of the Controller Summary window.

A Note Regarding Synchronized MotionDesigners should bear in mind that Motion Console does NOT support syn-chronized motion between separate controllers. (For example, you cannot per-form a precision, interpolated move between Controller 0 and Controller 1 using only Motion Console.) However, coordinated motion between controllers on the order of milliseconds is supportable from user-written applications. Please contact an MEI applications engineer.

2-11

Page 28: XMP Software Tools & Utilities Guide

Object Summary WindowsObject Summary windows display the attributes of individual objects using a grid control, much like a spreadsheet. Each object is represented by a column and the attributes are represented by rows. For some objects, there are so many attributes that they are divided and categorized into several tab windows. The user can configure which objects are to be displayed by an Object Sum-mary.

Configuring Object SummariesSummary windows are configured to display objects directly or by association. For example, the Axis Summary can be configured to display a set of axes, such as Axis 0, Axis 1, and Axis 2, or it can be configured to display all the axes associated with a set of super-objects, such as MS 0, MS 1, and MS 2.

Object Summaries can be configured by using 1) the Object Explorer, or 2) the Object List Configuration dialog box, or 3) the View Sub-objects buttons on an-other Summary window. See the sections related to these windows for more information. The View Sub-objects buttons are described below.

View Sub-objects The View Sub-objects button is displayed as a general configuration item on most object windows. It is not displayed for Motor and IDN objects because they do not have any sub-objects. A “sub-object” is meant to signify any object that is mapped to another object, either directly or indirectly. The summaries shown are identical to those presented by clicking on summary icons in the Ob-ject Explorer. For example, clicking on the View Sub-objects button within the Controller Summary window displays seven types of subordinate objects:

2-12

Page 29: XMP Software Tools & Utilities Guide

A lower-level object such as the Filter object will display fewer sub-object types:

Clicking on a button in the drop-down list will cause the Object Summary asso-ciated with that button to be configured. It will display the set of sub-objects that are mapped to this super-object. More than one button can be selected from a list by simultaneously holding down the <Shift> or <Ctrl> key while clicking on both.

<Shift> Click

2-13

Page 30: XMP Software Tools & Utilities Guide

Anatomy of an Object SummaryBelow is a diagram that illustrates the various parts of an Object Summary win-dow.

Title barTab page

Minimize CloseRestore/Maximize

Column Header(Object Identifier)

Row Header(Object AttributeName)

Column Divider

Object Attribute

Grid Cell

Current Cell

Selected Cells(Darkened)

Read-onlyParameters(gray)

Grid

Configurable

Read-only Status

(Bordered Cell)

2-14

Page 31: XMP Software Tools & Utilities Guide

“Configurable Attributes” versus “Status Parameters”Some summary windows are divided into two sections. The top section of the window lists attributes which may be altered through direct data entry; these are configurable. The bottom section of the window contains read-only infor-mation regarding the status of objects; these are not configurable. An example of one such panel (an Axis summary) is shown below.

In this example, the bottom, read-only parameters provide status information about the axis; they cannot be manually changed. Attributes in the upper por-tion of summary windows may be altered by manually entering values.

Configurable

Read-only Status

2-15

Page 32: XMP Software Tools & Utilities Guide

Cell ControlsEach grid cell contains a user interface control that displays data and, for con-figurable attributes, allows the user to enter data. Below are shown some con-trols found within an object grid.

Edit Box — Data is entered manually into the cell using the keyboard.

Combo Box — Clicking on a cell yields a pull-down menu of options, which can be selected, or data can be manually entered via the keyboard. Combo boxes consist of two parts: 1) the edit box; 2) a drop-down button. If you choose to type in your selection manually, you must enter it exactly as shown in the list of options. Clicking on drop-down button will cause a window to appear that displays the option list. You may then click on a selection. If you do not want to use a mouse for entry, type <Alt><down arrow> to display the choice list and then use the navigation keys to make a selection. Every control type has a method for entering data without using the mouse.

Checklist Combo Box — Similar to the regular combo box, except it has se-lectable check boxes.

Push Buttons — Clicking on the button will cause an action to be performed on the selected object. If multiple buttons are selected in a row, then the action will be executed on all selected objects. Selecting buttons on multiple rows is not allowed. Buttons can also be activated by selecting the cell containing the button and pressing the Space bar.

Button Grid — This is a set of Push Buttons displayed in a grid, with each but-ton appearing in a separate row. Each individual button behaves exactly as a regular push button. Multiple buttons may be selected.

CAUTION! Parameter values take effect immediately. If you are entering a val-ue which influences machine movement, be certain to keep clear of all moving components!

ChecklistCombo Box Combo Box

Edit Box

Push Button

Button Grid

2-16

Page 33: XMP Software Tools & Utilities Guide

Navigating within a Summary

Mouse-less Navigation within a Summary Window• Tab — Move the focus to the next control in the window.

• Shift + Tab — Move the focus to the previous control in the window.

• <Arrow Key> — Within a grid control, set the current cell to the adjacent cell in the direction of the arrow key. The arrows keys are also used to change the tab page on a tab control.

• Ctrl + <Arrow Key> — Set the current cell to the extreme cell in the direction of the arrow key. For example, Ctrl + <Right arrow> sets the current cell to the right-most cell in the current row.

• Ctrl + Home — Set the current cell to the top, left-most cell.

• Ctrl + End — Set the current cell to the bottom, right-most cell.

Selecting CellsTo select a single cell within the the table, click on the cell. To toggle the selec-tion state of a single cell, hold down the <Ctrl> key while clicking on the cell. To select a range of cells, click on the first cell in the range, then hold down the shift key while clicking on the last cell in the range.

An entire row of cells can be selected by clicking on the row header button. An entire column can be selected by clicking on the column header button.

Cells can also be selected with the keyboard:

• Shift + <Arrow Key> — Set the current cell to the next cell in the direction of the arrow key and select both the new and previous cur-rent cell.

• Shift + Ctrl + <Arrow Key> — Set the current cell to the extreme cell in the direction of the arrow key and select all cells between the former current cell and the new current cell.

• Shift + Ctrl + Home — Set the current cell to the top, left-most cell and select all cells in the range between the former current cell and the new current cell.

• Shift + Ctrl + End — Set the current cell to the bottom, right-most cell and select all cells in the range between the former current cell and the new current cell.

Copying Cell DataIt is possible to select cells within the grid, then copy them to another group of cells just by dragging. (For example, when configuring two side-by-side col-umns.) Text values of selected cells can also be copied into the clip board by typing <CTRL> C, or by clicking on the Edit / Copy menu item.

2-17

Page 34: XMP Software Tools & Utilities Guide

Configure Grid Rows The Configure Grid Rows button (Ctrl-R) will open a window that cus-tomizes the Object Summary display. This allows the user to select which parameters to display. This provides a simplified display for Mo-tion Console that omits many unneeded or pre-configured parame-ters. It also hides parameters that should not be changed by users less familiar with the system.

In order to click the Configure Grid Rows button, one of the Object Summary windows must first be selected. Clicking the button will dis-play a new window with all the parameters for the Object. Each pa-rameter has a Check Box in the Hidden column. To hide a Row, simply select the appropriate Check Box. In the example below, the Axis Summary Row Configuration window is open. Note that the Rel-ative Distance, AccelJerk and DecelJerk rows have been checked as Hidden. This causes the Axis Summary window to no longer displays these rows. To display these rows, simply un-check the appropriate box in the Row Configuration window.

<Ctrl> R

Notice that the Relative Distance, AccelJerk, and DecelJerk parameters are now hidden.

Select which parameters are to be hidden.

BEFORE AFTER

2-18

Page 35: XMP Software Tools & Utilities Guide

Object ExplorerThe Object Explorer provides the topmost, “bird’s eye” view of the XMP mo-tion control system. Objects such as Motion Supervisors and Motors are grouped together in their own separate folders. When opened, folders reveal objects available for mapping.

In this example, the Filter icon is double-clicked to reveal currently available Filter objects (or you can click once on the file tree’s “+” junction).

Tool Buttons— Clicking on a tool button causes an action to be performed in relationship to the object or folder currently selected in the object explorer. An-other way to act on a selection is to right-click on the selected icon. Actions that can be performed on a specific type of object are unique to that object. There-fore, the user will notice that the tool buttons in the toolbar will change when a different object is selected.

The Tool Buttons can be roughly divided up into two groups:

• buttons that open and configure object Summaries

• buttons that perform an action on the selected object

Object Summary Configuration Tools

Object Folders

Controller object

Tool Buttons

Double-click icon to open folder

2-19

Page 36: XMP Software Tools & Utilities Guide

Summary of Configuration ButtonsWhen you click on a summary button, it opens and configures the selected object’s summary window (see below).

For example, suppose Axis 1 is selected on the Object Explorer. Clicking on the Filter Summary button will configure the Filter Summary window to display the Filter objects that are mapped to Axis 1. Clicking on the Axis Summary but-ton will program the Axis Summary window to display Axis 1.

Summary buttons are lettered with the first letter of the object they represent. In the case of Motion Supervisor and Motor objects, the Motor is represent-ed by an M, while the Motion Supervisor is represented with an S.

Within the View menu, summaries can also be displayed by typing their hot keys (“c” for Controller, “a” for Axis, etc.).

The Other Tool Buttons include:

• Reset the selected controller(s)

• Refresh display of the selected controller(s) and sub-objects

• Upload the firmware of the selected controller(s) to a file

• Download firmware from a file to the selected controller(s)

• Remove the selected controller(s)

• Add a controller

• Disassociate (un-map) the selected sub-object from the object con-taining it.

Controller Summary

Motion Supervisor

Axis Summary

Filter Summary

Motor Summary

SERCOS Ring

SERCOS Node

SERCOS Idn

Summary

Summary

Summary

2-20

Page 37: XMP Software Tools & Utilities Guide

Object Explorer: Mouse Controls• Shift-click— When holding down the Shift key and clicking on a

Summary window icon, the selected object is either: 1) added to the Summary window (if it is not already there); or 2) removed from the Summary window (if it is already being displayed).

• Right mouse button — The functions performed by the toolbar but-tons can also be accessed by clicking on the selected object or folder with the right mouse button. This provides a drop-down menu listing of all actions that can be applied to the selected item.

Each item on the pull-down menu corresponds to an icon on the tool bar.

Click on folderwith right mousebutton to show available actions.

2-21

Page 38: XMP Software Tools & Utilities Guide

Object List Configuration Dialog Boxes

When using Motion Console, it is sometimes necessary to define a list of ob-jects. The Object List Configuration Dialog Box is used for this purpose. Ob-ject lists are used for three different purposes:

• To display all objects mapped to a list of objectsAn Object Summary can be programmed to display all the objects mapped directly or indirectly to a list of objects. For this purpose, the Object List Configuration Dialog Box is opened by clicking on one of the Open and Configure Object Summary buttons on the main frame toolbar, or by selecting one of the View/Object Summary menu items.

• To map sub-objects to a super-objectA super-object (Motion Supervisor 1, for example) can be mapped

Object Pool

Object ListTitle Bar

Click on the Add button tocopy objects from the “ObjectPool” to the “Object List.”

Object Summary Items

2-22

Page 39: XMP Software Tools & Utilities Guide

to a list of sub-objects (Axis 0-3, for example) . The Object Explorer can be used to map sub-objects one at a time to a super-object, but the Object List Configuration Dialog Box is used to define the entire list of sub-objects all at once. For this purpose, the Object List Configuration Dialog Box is opened by clicking on the sub-object map button on the Config tab page of the Object Summary. These buttons are listed below for each object that has sub-objects:

• Motion Supervisor: Axis Map

• Axis: Filter Map

• Filter: Motor Map

Save objects to flash memoryA list of objects can be defined to save to flash memory. There is a Save To Flash button on the Config tab page of each Object Summary. Clicking on this button will open the Object List Configuration Dialog Box, allowing multiple ob-jects to be selected and saved to flash memory.

The title bar of the Object List Configuration Dialog Box tells the user what function is currently being performed. It may be one of the following:

• [Object] Summary Object List Configuration: For example: MS Summary Object List Configuration. In this case, the Object List Configuration Dialog Box is being used to configure the MS Sum-mary to display a set of Motion Supervisors.

• [Object] [Sub-Object] List Configuration: [Object Name]: For Example: "MS Axis List Configuration: MS 0, Controller 0". In this case, the Object List Configuration Dialog Box is being used to map a set of axes to MS 0, Controller 0.

• Save To Flash Memory Object List Configuration: The Object List Configuration Dialog Box is being used to define a list of objects to save to flash memory.

Object ListThe Object List displays the list of objects that will be the result of clicking the OK button. In most cases, the order of objects in the Object List is insignificant. The only exception to this is when configuring the Motion Supervisor Axis List. When the order of objects in the Object List is significant, then the order of the list can be modified using the Up and Down buttons, or by using the mouse to drag selected objects to a new position. (The Up and Down buttons are hidden if the order of objects in the Object List is insignificant.)

Object PoolThe Object Pool displays all objects that are valid candidates for the Object List. It consists of a set of tab pages, one for each type of object that can be in the Object List. The set of tab pages will vary, depending on the function of the object list that is being defined.

• Summary Object List ConfigurationFor this purpose, the Object Pool will include all objects hierarchi-cally greater than or equal to the object type that is being displayed.

2-23

Page 40: XMP Software Tools & Utilities Guide

For example, when configuring the Motor Summary Object List, the Object Pool will contain all Motors, Filters, Axes, Motion Supervi-sors, and Controllers. This is because the Motor Summary window can be configured to display motor objects directly, or it can be con-figured to display all motors that are associated with a set of super-objects.

• Sub-object List ConfigurationFor this purpose, the only objects displayed in the Object Pool will be those of the same type as the sub-object list that is being config-ured. For example, when the Axis List of a Motion Supervisor is being configured, then only axes will appear in the Object Pool.

• Save to flash memory object list configurationEvery object will appear in Object Pool.

ButtonsAdd — Adds the highlighted object(s) in the Object Pool to the Object List.

NOTE: You may select more than one object in the Object Pool by holding down the Ctrl button while clicking on individual objects with the mouse. To se-lect all objects between two items, hold down the <Shift> button while using the mouse to click on both items. Objects can also be selected without the mouse by using the navigation keys in conjunction with <Ctrl> and <Shift>. <Ctr><Enter> will toggle selection of the current object.

The entire list can be selected by double-clicking on any member in the list. Se-lected items in either list can be dragged and dropped onto the other list.

Controller Summary

1 Tab page:Controller

Motor Summary

5 Tab Pages:ControllerMotion SupervisorAxisFilterMotor

2-24

Page 41: XMP Software Tools & Utilities Guide

NOTE: Clicking the Add button is equivalent to dragging the selection in the Object Pool and dropping it into the Object List.

Set — Sets the Object List to those objects selected in the Object Pool.

NOTE: Clicking on the Set button is equivalent to dragging the selection in the Object Pool and dropping it into the Object List while simultaneously holding town the Alt key.

Configure Sub-object Summaries Identically — This check box is only vis-ible when configuring an Object Summary and the object type for the Summary that is being configured has sub-objects associated with it. Checking the box will cause all the Object Summaries that display objects that are hierarchically lower than the object type of the Summary that is currently being configured, to be configured identically. For example, if the Motion Supervisor Summary is being configured to display MS 0, then the Axis, Filter, and Motor Summary windows will be configured to display all of their associated object types that are directly and indirectly mapped to MS 0.

NOTE: The sub-object Summary windows must be open for them to be config-ured.

Up and Down— Clicking on the Up or Down button will move objects that are selected in the Object List up or down one position. The same result can be achieved by dragging the selected objects and dropping them into the desired position. These buttons are hidden when the order of objects in the Object List is insignificant.

Remove— Removes highlighted object(s) from the Object List.

NOTE: Clicking on the Remove button is equivalent to dragging the selection in the Object List and dropping it into the Object Pool.

OK— Closes the dialog box and retains the Object List settings.

Cancel— Closes the dialog box without retaining the Object List settings.

2-25

Page 42: XMP Software Tools & Utilities Guide

Configuring New Systems with Motion Console

IntroductionThis section describes how to configure a new motion control system using Motion Console. If you are new to Motion Console, you should read this section first, then proceed to the other sections in this manual.

Getting Started with Motion ConsoleMotion Console is a utility designed to assist software and hardware designers with MEI motion controllers. There are two major releases of Motion Console: one for the XMP Series motion controllers, and another, older release for DSP Series motion controllers. This section discusses only the XMP version of Mo-tion Console; the DSP release is outlined in separate documents available from MEI.

What is Motion Console?Briefly stated, Motion Console is a software interface linking the programmer to the MEI motion controller. It gives you the ability to perform simple motions with hardware and verify that controller-hardware wiring is working properly. Motion Console is NOT a software authoring tool. It does not compile pro-grams or check code. However, using Motion Console alongside a line editor and compiler will allow you to quickly troubleshoot programs and determine whether problems lie in hardware or software. Motion Console also provides a quick way to demonstrate the full range of mechanical movement in your sys-tem, so that you may perfect hardware designs while software is still being de-veloped.

What is Motion Scope?Another MEI utility, separate from Motion Console is Motion Scope. Motion Scope provides a virtual “oscilloscope” to plot the movements of your motion system. Using Motion Scope in conjunction with Motion Console allows you to command and plot the movement of any axis. Motion Scope is described sep-arately in this manual, in Chapter 3.

First Things First: SafetyBefore configuring your system, you must consider the safety aspects of your motion control system. Such configurations as amplifier enabling impact every movement that your system makes, and dramatically redefine the degree of safety. Specifically, the following safety issues must be addressed when con-figuring new systems:

• What hazards are posed by your motion control system to personnel and material? Has a safety zone been established to exclude per-sonnel, their hands and fingers, etc. from dangerous spaces? Are warnings posted to alert personnel when and where hardware is in motion?

• Are safety interlocks in place to automatically protect personnel from exposed high voltage and mechanical movements? Are emergency switches in place to perform instant, electro-mechanical shut-downs when needed?

2-26

Page 43: XMP Software Tools & Utilities Guide

• How will your drive amplifiers be wired? Are they wired in a fail-safe mode which leaves your system safe when power is suddenly or unexpectedly lost? (See the Hardware Manual for details regarding amplifier enabling.)

Designers of new systems are sometimes tempted to rush and ignore basic safety issues; however, safety is an integral part of your system’s usability. If you design your system with safety in mind from the beginning, you will allevi-ate major hardware and software design problems later, saving valuable time and preventing potential accidents.

Saving Parameter SettingsBefore proceeding, you must learn to save your object settings and mappings. If you do not save your configurations, they will be lost the next time your con-troller is reset and/or powered down. Saving in Motion Console is NOT like saving files in other applications. (Remember, you are dealing with a lower-lev-el hardware controller which interacts directly with hardware.) Motion Console saves parameter settings directly to its own flash memory, which ensures the same settings are reused when you repower your controller. You may also up-load settings from flash memory to a firmware file, located on a hard disk or separate storage media. This permits the saving of more than one set of pa-rameter settings, and allows multiple controllers to be loaded with the same pa-rameter values. To ensure that your settings are protected, it is recommended that you both Save to Flash and save to an archived firmware file (Firmware Upload). Both functions are explained below.

Saving to Flash MemoryEach object has its own Save to Flash [Memory] button, which opens the Save Objects to Flash Memory dialog box. This dialog box configures a list of objects to be saved to flash memory. When the controller is powered down and restarted, the last-flashed settings are loaded automatically. For example, clicking on the Save to Flash button under Motor 2 will open the dialog box, with Motor 2 shown in the object list.

CAUTION! Do NOT Connect Your Hardware Yet!Before connecting your MEI controller to hardware you must first follow the steps outlined below in this section. This will help ensure a proper level of safety. Please read the sections below before using Motion Console. For details regarding hardware connections, refer to the XMP Hardware Installation Manual.

Clicking on Save to Flashhere opens the Save Objectsto Flash Memory dialog box with Motor 2 preseleted.

2-27

Page 44: XMP Software Tools & Utilities Guide

Uploading FirmwareFirmware settings which are flashed to the controller’s memory can also be saved as a file on separate media using the FW [Firmware] Upload function. It is highly recommended that settings be uploaded to an archive for secure storage. This ensures protection of your settings in case the controller is dam-aged or lost, and allows storage of multiple configurations.

IMPORTANT! The FW Upload function saves only what is stored in flash memory, NOT settings on the Motion Console screen. Therefore, you must first use the Save to Flash function (see above) before using the FW Upload func-tion.

The FW Upload function can be accessed either from the Object Explorer window, or the Controller Summary window. Clicking on the FW Upload but-ton displays a file manager window:

Enter the path and filename of the firmware file to be saved, then click on the Save button. The controller’s firmware in flash memory will be saved to the file indicated.

Define the path to beused for uploading

Enter the name of thefile to be uploaded to.

to firmware file.

2-28

Page 45: XMP Software Tools & Utilities Guide

Downloading FirmwareThe opposite of uploading is downloading. Once a firmware file has been saved, the FW Download function copies the saved firmware file into the con-troller’s flash memory, and volatile memory as well.

To download a firmware file into the controller’s flash memory, click on the FW Download function in the Object Explorer or Controller Summary windows.

Clicking on the FW Download button displays a file manager window:

Enter the path and filename of the firmware file to be loaded, then click on the OK button. The selected file will be loaded into the controller’s flash memory.

Clicking the Advanced button allows the user to choose the FPGA files that will be loaded with the Firmware code. Please contact MEI for more informa-tion about using custom FPGA files. Choosing the Basic button will automat-ically find and download the default FPGA files.

Define the path to beused for downloadingfirmware file.

2-29

Page 46: XMP Software Tools & Utilities Guide

Associating Objects with Motion ConsoleMotion Console’s Object Explorer can be used to associate objects compris-ing your motion control system. Objects are associated (mapped) in specific ways, for example:

• Motors are mapped to Filters

• Filters are mapped to Axes

• Axes are mapped to Motion Supervisors

If SERCOS is employed, you must also configure:

• SERCOS rings

• SERCOS nodes

• SERCOS IDNs

NOTE: At this time, Motion Console is not used to configure SERCOS rings or nodes. This is done using a separate SERCOS initialization program (sercinit).

How Many Controllers?In Motion Console, each “Controller” designates a physical piece of hardware: one XMP controller, with or without an expansion card. Depending upon how your XMP controller is configured, you will be able to command 8-24 axes per controller. If you require more axes, you will need to install additional XMP con-trollers.

Creating a New Controller ObjectBefore any mapping can de done, you must first add a Controller. To determine whether a Controller object already exists, look at the Object Explorer. The Object Explorer may appear as shown below if a Controller has NOT yet been added. (No objects will be listed below the Controllers icon in Object Explorer, or listed within the Controller Summary.)

Figure 2-2. An unconfigured Motion Console.

No objects shown.

2-30

Page 47: XMP Software Tools & Utilities Guide

Figure 2-3. To add a Controller to Motion Console, click on the Add Controller icon on the Object Explorer toolbar or the main toolbar.

Clicking on the Add Controller icon displays the Add Controller dialog box. In most cases, the default settings may be left as-is. If you desire to make changes to settings, refer to the “Controller Object” section of this chapter for a description of attributes.

Click on the OK button to add a new Controller. The new Controller will be add-ed to the object tree of the Object Explorer, which now appears as shown here:

Whenever a Controller is added to the Object Explorer, it will have a number of sub-objects. These objects are explained below.

Controller 0 added

2-31

Page 48: XMP Software Tools & Utilities Guide

Mapping a Motion SupervisorThe Motion Supervisor is a high-level, motion “task master,” which may be con-figured to manage any number of axes. In the majority of cases, however, it is advantageous to assign to each Motion Supervisor one Axis. This keeps the architecture simple, and offers maximum flexibility. In limited cases (e.g., gan-try cranes), it may prove helpful to map additional axes to a single Motion Su-pervisor.

The mapping displayed below shows one configuration. In this case, Axis 0 has been mapped to MS 0. Motion Supervisors 1-7 (not shown below) are also mapped to the same Controller object, giving a total of eight (8) Motion Su-pervisors.

As shown here, Motion Supervisor 0 has the following sub-objects mapped to it: Axis 0; Filter 0; and Motor 0. Other mappings and combinations are pos-sible too, subject to the user’s control.

2-32

Page 49: XMP Software Tools & Utilities Guide

Configuring a Motion SupervisorBecause Motion Supervisors comprise the highest level of object organization (after the controller itself), they provide a convenient starting point from which to map. Mapping will require some forethought. Some of these objects are linked tightly together (e.g., Axes, Motors and Filters); therefore, it is useful to think of them as a single unit, operating under the direction of a given Motion Supervisor. Other objects may operate independently of others.

The Object Explorer gives the best single overview of your motion control sys-tem. To look at what you have now, open the object tree below Motion Super-visors by clicking on the file “branch” at this point. It will look something like the object tree shown here:

In this example, we have displayed some of the objects for MS 0, MS 1 and MS 2. Notice that only MS 0 has sub-objects mapped to it (Axis 0, Filter 0, and Motor 0, respectively). MS 1 and MS 2 have no objects yet mapped to them. In the descriptions below, an example of each object will be mapped to a Mo-tion Supervisor.

Click here to displaysub-objects.

2-33

Page 50: XMP Software Tools & Utilities Guide

Mapping AxesClassically, a single motion axis is powered by a single motor. The XMP’s ar-chitecture accommodates this traditional arrangement, but also allows more than one motor to be mapped to a single axis. (Through the use of Filters, mul-tiple motors can be configured to operate differently upon the same axis.) For now, do not worry about the type of motor(s) to be used. Think only of the axes of motion. Before further mapping, you should know the following about your motion control system:

• How many axes of motion are required?

• Do some axes have special requirements or limitations?

• Will some motors always operate with other motors? How?

After these questions have been answered, you may begin mapping Axis ob-jects to Motion Supervisors. In the examples which follow, it is assumed that objects will be mapped in numerical order (e.g., we will map Motor 1 before we map Motor 2). This is the usual order of progress, although you may do things differently if you prefer.

Mapping One Object to AnotherTo map Axis 0 to MS 0, use the cursor to select the Axis 0 object, then drag it into MS 0.

A dialog box will be displayed to confirm the object mapping:

To confirm the object mapping, click on the Yes button. The Object Explorer

1. Click on Axis 0.

2. Drag to MS 0.

2-34

Page 51: XMP Software Tools & Utilities Guide

will now show Axis 1 mapped to Motion Supervisor 0:

To map several objects to their “default” sub-object, i.e., the one with the same number, use the “Sub-Object Map” button on the Summary window. (For Mo-tion Supervisors, this button is labeled “Axis Map.”) If the entire row is selected and the button is clicked, then an Object List Configuration Dialog Box will be opened to map sub-objects to each object. If the <Shift> key is held down when the button is clicked, then each object will be mapped to its default sub-object.

Mapping Filters and MotorsEach Axis has at least one Motor and Filter object associated with it. Mapping of these objects is performed exactly as demonstrated above with Axis objects.

Before mapping these objects, it will help to answer the following questions:

• What types of motors are required by your system? Servo or step-per? If servo-type, what phase? What are the speed and travel con-straints of each axis? How does this affect the torque capabilities of your selected motors? What duty cycle is expected of your motors?

• Is your system closed-loop or open-loop? If closed-loop, how many encoders? What levels of resolution and repeatability are required?

• Which motion path algorithm will best answer your needs (PID, PVT, PD, etc.)? How will you tune and adjust your system?

Based upon the mechanical requirements and overall architecture of your sys-tem, you should proceed to mapping objects with the simplest configuration possible. Motor objects correlate to specific pieces of hardware having connec-tion and power constraints. These can be determined by referring to the XMP Hardware Installation Manual and the manufacturer’s specifications.

Axis 1 mapped toMotion Supervisor 0.

2-35

Page 52: XMP Software Tools & Utilities Guide

Removing (Deleting) a Mapped Object Recall that in the example above, Axis 0 was mapped to Motion Supervisor 0. But what if you prefered to map Axis 1 to Motion Supervisor 0 (MS 0) in-stead? To do this, you must first remove Axis 0 from MS 0. Object removal is done by first selecting the object to be removed, then clicking on the Remove Axis From List icon (or use the <Delete> key).

A dialog box will be displayed to confirm the object removal:

1. Click on Axis 0.

2. Click on Removeicon.

2-36

Page 53: XMP Software Tools & Utilities Guide

To confirm the object removal, click on the Yes button. The Object Explorer will now appear as shown here:

Notice that Axis 0 is no longer mapped to MS 0. Moreover, all of the sub-objects associated with Axis 0 (e.g., Filter 0 and Motor 0) have also been removed from MS 0. This is because Filter 0 and Motor 0 were mapped to Axis 0. When we removed Axis 0, all its sub-objects were removed with it.

Note that Axis 0 has not been entirely removed from use. If you click on the Axes portion of the object tree, you will still find it there. But, it is no longer mapped to another object.

Axis 0 removed fromMotion Supervisor 0.

Sub-objects mapped toAxis 0 also removed.

2-37

Page 54: XMP Software Tools & Utilities Guide

Safety RemindersAs you map out your motion control system using the Object Explorer, you must address specific safety factors. These should be addressed before you mechanically engage motors to axes, and connect motion hardware to the con-troller.

Establish a Safety ZoneIf you have not already done so, define a safety zone around the motion sys-tem to be configured. Areas traversed by hardware should be clearly marked and/or partitioned to keep out personnel, hands, fingers, etc. Warning signs and labels should be clearly posted.

Mount an Emergency Off SwitchAt least one emergency off (EMO) switch should be prominently mounted where operators and technicians can easily locate and reach it at all times. De-pending upon your system, the EMO should effect a rapid and safe stop of all components, preferably wired through the power lines of the system compo-nents themselves. Consider using automatic mechanical braking where heavy and/or fast components might coast dangerously after the loss of a controller.

Wire all Drive Amplifiers for Fail Safe OperationThe wiring of your system’s drive amplifiers is a critical design detail and is dis-cussed in the XMP Hardware Installation Manual. As part of your design, you must decide whether to wire the drive’s amplifier enable (Amp En) line as “ac-tive high” or “active low.” Regardless of the method used, ensure that your mo-tion system cannot run away when power to the controller is lost. Design for the worst possible power loss scenario, then ask yourself: “Is this machine safe with power to the controller turned off?” Amplifier enabling should be tested in crude hardware fashion before the system is either mechanically coupled or connected to an XMP controller. Once hardware wiring has been tested for fail-safe design, proceed to the configuration of Motor Summary / General Con-figuration attributes (see below).

2-38

Page 55: XMP Software Tools & Utilities Guide

Motor Attributes: Config Tab Attributes in the Motor Summary / Config tab page configure both motors and encoders. Of particular import to safety are the following:

• Type

• Amp Enable

• Amp Polarity

• Encoder Phase

• Encoder Term

• Encoder Cnts/Rev.

• Amp Disable Delay

• Brake Delay

Each of these attributes are described in a separate section of this chapter. The Amp Enable and Polarity attributes are treated in the XMP Hardware In-stallation Manual. Note especially that once a motor’s Amp Enable line has been wired, the Amp Enable and Polarity attributes must accord with system wiring to avoid problems.

Encoder Phase and Encoder Cnts/Rev affect the safety of your system by telling the controller which way an axis is moving, how far and how fast. If en-coder attributes are set wrong, you may experience runaway problems.

Motion Supervisor Attributes: Config TabAttributes in the Motion Supervisor Summary / Config tab page include those used to configure a motion system’s panic actions. These tell the con-troller what to do when an error or panic stop command is encountered. If they are not correctly configured, your controller may ignore an operator’s com-mand to stop! Attributes include the following:

• Stop Time

• E-Stop Time

• Panic Action

The Panic Action parameter is of particular importance. When switched to None, the controller will take no action after panic events! Please note that the <F12> panic stop key generates a panic action for all Motion Supervisors, ac-cording to how Panic Action is configured.

2-39

Page 56: XMP Software Tools & Utilities Guide

Motion Console Objects

Controller ObjectsWithin the Motion Console program, Controller objects occupy the highest level on the motion control tree. This prominent software position reflects the hardware reality: each controller represents a separate, physical piece of hardware (i.e., an XMP card) having local control. Moreover, each controller is capable of operating multiple motion supervisors, each with its own subordi-nate array of axes, motors, SERCOS nodes, etc.

2-40

Page 57: XMP Software Tools & Utilities Guide

Controller-Client ConfigurationA Controller is physically connected with a host computer via PCI bus. Hosts may be linked to clients, which allows virtually unlimited configuration combi-nations.

Each controller in a machine is assigned a unique device identification number by the operating system. Motion Console uses this number to communicate with the controller. When all controllers reside within a single host computer, Motion Console requires only Controller numbers (0, 1, 2, etc.) to differentiate between them. When controllers reside in separate client computers linked through a network to the Motion Console host, each controller must also be as-signed a unique IP address and Port Number.

1 host / 3 clients / 7 controllers

1 host / 1 controller 1 host / 5 controllers

(Host)

Host Client AIP address: 000.000.000.1Port: 3300

Client BIP address: 000.000.000.2Port: 3300

(Motion Console)

ControllerNumber: 0

ControllerNumber: 1

ControllerNumber: 0

2-41

Page 58: XMP Software Tools & Utilities Guide

XMP Controller Placement on PCI BusesPCI bus architecture imposes constraints which must be observed during card installation. When adding controllers to Motion Console, each XMP board is assigned a physical location on the PCI bus in the form of a Controller Num-ber. This is a device index number beginning at “0,” which indexes with each new addition of a controller board, and which ignores non-MEI devices. Motion Console uses the device index number to associate configuration/status infor-mation with a particular controller.

Adding, removing, or rearranging PCI devices can cause a motion controller device number to change. For systems with only a single controller, this is not a problem. For systems with multiple controllers, Motion Console will not know whether the device index to the physical controller map has changed. This is because some data is stored in the Motion Console initialization file and is as-sociated with the device number. The following data will be associated with the wrong controller in Motion Console if the device number changes:

• Controller name

• Summary object list configuration

• Axis attributes:

Position 1

Position 2

Velocity

Acceleration

Deceleration

Jerk Percent

WARNING! When using Motion Console with multiple controller systems, make sure you know exactly which physical controller is associated with which device index. Be sure to always verify controller-to-device index relationships before commanding any motion.

2-42

Page 59: XMP Software Tools & Utilities Guide

The Controller Summary window lists Controller attributes in four tab pages: Actions, Config, Version, and Stats.

Controller Configuration Attributes: Actions Tab

Reset — Resets the controller to the power-up configuration saved in flash memory.

Refresh — Refreshes display to reflect any external modifications.FW Upload — Uploads Flash memory to the firmware file. See the Uploading Firmware section earlier in this chapter for more information.

FW Download — Downloads the firmware file to Flash memory. See the Downloading Firmware section earlier in this chapter for more information.

Remove — Removes controller from Motion Console controller list.

2-43

Page 60: XMP Software Tools & Utilities Guide

Controller Configuration Attributes: Config Tab

Save to Flash — Pre-selects current Controller settings for saving to flash memory. For more information on using Save to Flash, see description in the first part of this chapter.

View Sub-objects — Shows all sub-objects for the Controller. For more infor-mation, see View Sub-objects on page 12.

User Version — User defined version. Also see MPIControl Config.

Sample Rate — Sample Rate (samples/sec). Also see MPIControl Config.

MS Count — Number of enabled Motion Supervisor objects. Also see MPI-Control Config.

Axis Count — Number of enabled Axis objects. Also see MPIControl Config.

Filter Count — Number of enabled Filter objects. Also see MPIControl Config.Motor Count — Number of enabled Motor objects. Also see MPIControl Con-fig.Adc Count — Number of enabled Adc objects. Also see MPIControl Config.

Capture Count — Number of enabled Capture objects. (Not configurable.) Also see MPIControl Config.

Compare Count — Number of enabled Compare objects. (Not configurable.) Also see MPIControl Config.

DAC Count — Number of enabled DAC objects. Also see MPIControl Config.

Aux DAC Count — Number of enabled Auxiliary DAC objects. Also see MPI-Control Config.

Record Count — Number of enabled Record objects. Also see MPIControl Config.

Sequence Count — Number of enabled Program Sequence objects. Also see MPIControl Config.

SERCOS Count — Number of initialized SERCOS rings. Also see MPIControl Config. This is a read-only attribute.

Available Memory — The amount of external memory available on the con-troller. The maximum value for Record Count and Axis Count is limited by the available memory.

2-44

Page 61: XMP Software Tools & Utilities Guide

Controller Configuration Attributes: Version Tab

Model — Currently only “XMP.”

Type — Currently either “Device” or “Client.”

Number — The device number of the controller on the IDE bus.

Address — The device driver for “Device” type controllers, the IP address for “Client” type controllers.

Port — Port for “Client” type controllers only.

Firmware Dev. ID — Firmware Development ID.

Firmware Version — Firmware Version.

Firmware Revision — Firmware Revision.

Firmware Option — Firmware Option.

2-45

Page 62: XMP Software Tools & Utilities Guide

Controller Configuration Attributes: Stats Tab

Zero Max. Times — Zeros the maximum foreground and background timers.

Recalculate — Triggers a recalculation of the timing statistics.

Max. Fg. Time — Maximum foreground time in microseconds.

Max. Bg. Time — Maximum background time in microseconds.

Max Delta — Maximum Delta (samples/ background cycle).

Avg. Bg. Cycle Rate — Average interrupted background cycle rate (cycles/sec).

Avg. Bg. Cycle Time — Average interrupted background cycle time in micro-seconds.

Bg. Cycle Time — Uninterrupted background cycle time in microseconds.

2-46

Page 63: XMP Software Tools & Utilities Guide

Motion Supervisor ObjectMotion Supervisors can be thought of as specialized task-masters for motion control. Many system designers find it convenient to divide their system into specialized sub-tasks, each handled by a separate motion supervisor. As you organize your motion control system, the advantages of this approach will be-come obvious.

The Motion Supervisor summary window is divided into two configuration tab pages, plus a General Status page as shown below, and includes such at-tributes as Motion Type and Stop Time:

Motion Supervisor Configuration Attributes: Config Tab

Save to Flash — Pre-selects current Motion Supervisor settings for saving to flash memory. For more information on using Save to Flash, see description in the first part of this chapter.

View Sub-objects — Shows all sub-objects for the Motion Supervisor. For more information, see View Sub-objects on page 12.

Axis Map — Displays the MS Axis List Configuration window. For more in-formation, see Object List Configuration Dialog Boxes on page 22.

Motion Type — There are 12 Motion Type settings, 5 of which are supported in Motion Console. However, all settings are supported by the MPI library.

• Jog — (Unsupported)

• PT — (Unsupported)

• PVT — (Unsupported)

• Spline — (Unsupported)

• B-Spline 2 — (Unsupported)

• Bessel — (Unsupported)

2-47

Page 64: XMP Software Tools & Utilities Guide

• B-Spline — (Unsupported)

• S-Curve — Implements an S-curve velocity trajectory, using the Jerk Percent parameter to reach the target position.

• Jerk, S-Curve — Implements an S-Curve velocity trajectory, using the AccelJerk and DecelJerk parameters.

• Trapezoidal — (Default) Implements a trapezoidal velocity trajec-tory to reach the target position. Does not use the Jerk Percent parameter.

• Velocity — Implements an S-curve velocity trajectory using the Jerk Percent parameter to reach the target velocity.

• Jerk, Velocity — Implements an S-Curve velocity trajectory, using the AccelJerk parameter to reach the target velocity.

Attributes — Applies special attributes to motion objects via mpiMotionModify.

• Relative — Axes are commanded to move to a point relative to their present location (i.e., without regard to their starting points).

• Sync End — Axes are commanded to end motion simultaneously at the same point.

• Sync Start — Axes are commanded to start motion simultaneously from the same point.

• Stop Time — Time (in seconds) to decelerate axis to a stop.

Time

Velocity

Area = Distance

Time

Velocity

Area = Distance

Time

Velocity

2-48

Page 65: XMP Software Tools & Utilities Guide

CAUTION! Actual stopping time is limited by mass and speed! If you are mov-ing a heavy object at high speed and command a very rapid Stop Time, your motion control or mechanical system may be unable to comply. Verify that the drive and motor manufacturer’s specifications meet the demands placed upon your system before assuming a stop time.

E-Stop Time — Time to decelerate to an emergency stop. When E-Stop is ac-tivated, the State will be flagged with a Stopping Error while the axis is decel-lerated. An Error state is flagged when the axis comes to a complete stop; however, amp enable outputs are NOT disabled. NOTE: If the axis is close to completing a move when E-Stop is activated, the axis may halt before the E-Stop Time has expired.

Normal Feedrate — Speed scaling factor applied to movement. 0 = stopped; 1 = normal speed (unscaled); 1.5 = 150%; 2 = 200%, -1 = reversed normal speed; etc.

Delay — Time delay (in seconds) before execution of next move command. If operating in Repeat Mode, the delay will be applied to the beginning of each move segment.

Panic Action — Action to execute when the <F12> panic key is activated. NOTE: Some panic action states (E-Stop and Abort) flag a fault condition. To reset the system after a fault, click on the Clear Fault button (MS Summary / Actions tab page).

• None — Motion is halted at the end of the currently commanded move. (No-fault condition.)

• Stop — Motion is halted using a Stop. (No-fault condition.)

• E-Stop — Motion is halted using an E-Stop, and a fault condition is flagged.

• E-Stop, Abort — Motion is halted using both an E-Stop and an Abort, and a fault condition is flagged.

• Abort — Motion is halted using an Abort. A fault condition is flagged.

2-49

Page 66: XMP Software Tools & Utilities Guide

Motion Supervisor Configuration Attributes: Actions Tab

Repeat Mode— [Enabled; (not enabled)] Repeats programmed motion. NOTE: Each repeated motion will be delayed by the Delay amount (see de-scription above).

Move Pos. 1 — Command each axis associated with the Motion Supervisor to the Axis attribute "Position 1.” If the "Relative" motion attribute is checked, then the target offset will be the axis attribute "Relative Distance" instead of "Position 1.”

Move to Further — Command each axis associated with the Motion Supervi-sor to either Position 1 or Position 2, whichever is further away. This button is disabled if the "Relative" motion attribute is checked.

Move Pos. 2 — Command each axis associated with the Motion Supervisor to the Axis attribute "Position 2". If the "Relative" motion attribute is checked, then the target offset will be the axis attribute "Relative Distance" instead of "Posi-tion 2".

Stop — Stops movement of objects under control of the current Motion Super-visor within Stop time (seconds).

E-Stop — Emergency stop. Halts movement of objects under control of current Motion Supervisor within E-Stop time (seconds) and leaves the axes in an Er-ror state. NOTE: E-Stop does NOT disable closed-loop control and does not disable the amp enable output(s).

Abort — Immediately stops movement of objects under the control of the cur-rent Motion Supervisor, disables closed-loop control, and disables the amp en-able output(s), leaving the axes in an Error state.

CAUTION! Do not use Abort when testing equipment which depends upon servos or stepper motors to secure personnel or equipment (e.g., lifting cranes, elevators, etc.). The Abort command disables servos and steppers and, in some circumstances, may present a hazard to personnel or equipment due to sudden loss of power.

Zero Position — Sets the origin of the axis to the current actual position and

2-50

Page 67: XMP Software Tools & Utilities Guide

the command position to 0. The algorithm for setting the origin is:new origin = current origin + actual position.

Clear Fault — Clears the Motion Supervisor’s error state and all sub-object statuses.

Motion Supervisor Status Attributes: Status TabStatus fields are read-only:

State — Current motion state. (See Table 2-2 below.)

Table 2-2 Motion States

State Description

Idle (State parameter). Awaiting a move command.

In motion (State parameter). Performing a move command.

Stopping. (State parameter). Motion has been commanded to stop.

Moving when not commanded to move. NOTE: This occurs when another application commands a move.

Initializing.

Unknown state.

Fault or limit detected. (See Table 2-3 below.)

(green)

(yellow)

2-51

Page 68: XMP Software Tools & Utilities Guide

Error States

Table 2-3 Event Status Flags

Error Flag Description

Amp[lifier] Fault Amplifier fault.

Home Limit Encoder home pulse exceeded or not found.

Position Error Limit Error between command and actual position exceeds user-defined limit.

HW Neg. limit Hardware negative limit activated.

HW Pos. limit Hardware positive limit activated.

SW Neg. limit Software negative limit exceeded.

SW Pos. limit Software positive limit exceeded.

Encoder Fault Encoder fault detected.

Motion Done Move command completed.

At Velocity Commanded velocity attained.

(red)

(red)

(red)

(red)

(red)

(red)

(red)

(red)

(black)

(black)

2-52

Page 69: XMP Software Tools & Utilities Guide

Axis ObjectsAxis objects are classically associated with a single vector of motion, particu-larly as it relates to a specific motor. In Motion Console, Axis objects bridge the control link between Filters and Motion Supervisors.

Figure 2-4 Object Explorer panel

2-53

Page 70: XMP Software Tools & Utilities Guide

Axis Configuration Attributes: Motion TabThe following attributes appear on the Motion configuration tab page:

• Position 1 — Move to Target Position when user clicks on , except when the “Relative” motion attribute is checked.

• Position 2 — Move to Target Position when user clicks on , except when the “Relative” motion attribute is checked.

• Relative Distance — Relative distance moved when user clicks on

either Move Pos. 1 for motion in positive direction or Move Pos. 2 for motion in negative direction when the “Relative” motion attribute is checked.

NOTE: Either Position 1 or 2 can be the target position at the end of the move. Position 1 is where the axis will be commanded to move when the user clicks on .

• Velocity — Command velocity during move (in encoder counts / second).

• Acceleration — Command acceleration during move (in encoder counts / sec2).

• Deceleration — Command deceleration during move (in encoder counts / sec2).

• Jerk Percent — Percentage of acceleration / deceleration curve uti-lized for transitioning between Acceleration, Velocity, and Deceler-ation components. In the figure below, the effects of various Jerk Percent values are illustrated for a simple triangular profile move.

• AccelJerk — Command acceleration jerk during move (in encoder counts / sec3). Only used with Jerk, S-Curve and Jerk Velocity type moves.

• DecelJerk — Command deceleration jerk during move (in encoder counts / sec3). Only used with Jerk, S-Curve type moves.

2-54

Page 71: XMP Software Tools & Utilities Guide

Figure 2-5 Changes in Jerk Percent parameter change the acceleration-decelera-tion curve characteristics. The graphs below display commanded and actual veloci-ties. (Commanding trajectories with AccelJerk and DecelJerk will not change acceleration-decleration curve characteristics.)

Jerk Percent = 0

Jerk Percent = 50

Jerk Percent = 100

2-55

Page 72: XMP Software Tools & Utilities Guide

Axis Configuration Attributes: Config Tab

The following attributes appear on the Config tab page:

• Save to Flash — Pre-selects current Axis settings for saving to flash memory. For more information on using Save to Flash, see the description in the first part of this chapter.

• View Sub-objects — Shows all sub-objects for Axis object. For more information, see View Sub-objects on page 12.

• Filter Map — Displays the Axis Filter Map Configuration window. For more information, see Object List Configuration Dialog Boxes on page 22.

• Pos. Tol., Fine — Fine Positional Tolerance. Maximum allowable positional deviation (error) from target position to be considered done.

• Pos. Tol., Coarse — Coarse Positional Tolerance. Arbitrarily set deviation (error) from target position.

NOTE: The Pos. Tol., Coarse parameter is useful for triggering auxil-lary events just prior to attaining the target position. (E.g., on an auto-mated milling machine, Pos. Tol., Coarse can be used to trigger the flow of cutting fluid when the tool is close to the object being milled.)

• Velocity Tol. — Velocity Tolerance. Maximum allowable velocity deviation (error) from target velocity to be considered “at velocity.”

• Settling Time — Minimum time interval for both the Fine Pos[itional] Tol[erance] and Velocity Tol[erance] attributes to qualify as “done.”

NOTE: As they approach their target positions / velocities, all axes will spend some interval of time settling. Only when an axis attains both its Fine Positional Tolerance and Velocity Toler-ance within the Settling Time is that axis regarded as truly “done”; this triggers a Motion Done event (See: Motion Supervi-sor objects).

2-56

Page 73: XMP Software Tools & Utilities Guide

• Settle on Stop — When checked, the settling criteria is applied to moves halted by a stop.

• Settle on E-Stop — When checked, the settling criteria is applied to moves halted by an E-Stop.

Axis Status Attributes: Status Tab

• State — Current state of the axis.

• Actual Position — Real, current position of axis. Where the axis actually IS.

• Command Position — Commanded axis position. Where the axis SHOULD be.

• Position Error — Difference between Command and Actual posi-tions.

• Velocity — Command velocity.

• Acceleration — Command acceleration.

• In Coarse Pos. — Reflect the state of the respective flags.

• In Fine Pos. — Reflect the state of the respective flags.

• At Target — Reflect the state of the respective flags.

Table 2-4 Motion States and Descriptions

Motion State Description

Moving toward target position 1.

Moving toward target position 2.

Moving when not commanded to move. NOTE: this occurs when another application commands a move while Motion Console is displaying the MS.

Error state

Idle

2-57

Page 74: XMP Software Tools & Utilities Guide

Filter ObjectsFilter objects provide linkage between motors and axes: motors are mapped to filters, and filters are mapped to axes. (It is not possible to map a motor di-rectly to an axis without a filter.) Depending upon the algorithm employed, fil-ters use such coefficients as gains, feed forward and torque limits.

The Filter Summary window lists Filter attributes in three tab pages: "Config," "Coeffs," and "SERCOS."

Filter Configuration Attributes: Config Tab "Config" Filter attributes include configurations for standard and custom filter features.

• Save to Flash — Pre-selects current Filter settings for saving to flash memory. For more information on using Save to Flash, see description in the first part of this chapter.

• View Sub-objects — Shows all sub-objects for Filter object. For more information, see View Sub-objects on page 12.

• Motor Map — Displays the Filter Motor Map Configuration win-dow. For more information, see Object List Configuration Dialog Boxes on page 22.

• Algorithm — Software filter algorithm. There are five types:

None — Filter is OFF. No algorithm is applied.

PID — Proportional Integral Differential algorithm.

PIV — Proportional Integral Velocity.

PIV1 — Proportional Integral Velocity.

SERCOS Drive — SERCOS protocols applied. (See "SERCOS Coefficients" below.)

2-58

Page 75: XMP Software Tools & Utilities Guide

User — User-defined algorithm defined in firmware. (For more information, pleas contact MEI.)

Filter Configuration Attributes: Coeffs Tab

The display of filter coefficients changes according to the Algorithm chosen (selectable from the Filter / General panel). The algorithm combo box on the Coeffs tab merely changes how the coefficients are displayed. It changes the row headers and displays N/A for coefficients that are not used for the selected algorithm. If the algorithm of a filter object does not match the algorithm being displayed, then N/A is displayed for all coefficients.

Each set of coefficients is described in separate tables below.

2-59

Page 76: XMP Software Tools & Utilities Guide

PID CoefficientsPID coefficients are defined in Table 2-5 below.

Table 2-5 Filter Coefficients (PID Algorithm)

Coefficient Description

Kp Proportional gain

Ki Integral gain

Kd Derivative gain

Kpff Position feed forward gain

Kvff Velocity feed forward gain

Kaff Acceleration feed forward gain

Kfff Friction feed forward gain

ImaxMoving Position loop integration maximum (while moving)

IMaxRest Position loop integration maximum (while resting)

DRate Derivative sub-sampling rate

Output Limit Voltage command output limit

Output Limit High Maximum command output voltage limit.

Output Limit Low Minimum command output voltage limit.

Output Offset Offset added to output.

Ka0 Fast Fourier transform (FFT) testing gain (0)

Ka1 Fast Fourier transform (FFT) testing gain (1)

Ka2 Fast Fourier transform (FFT) testing gain (2)

MPI/MEI Objects Associated with PID Filter AttributesPID Filter gains in Motion Console correspond closely to several Filter ob-jects. These include the following:

• MPIFilterGain

• MEIFilterGainPID

• MEIFilterGainPIDCoeff

For more information on using MPI/MEI objects, please see the Software Reference.

2-60

Page 77: XMP Software Tools & Utilities Guide

PIV CoefficientsPIV coefficients are described in Table 2-6 below.

Table 2-6 Filter Coefficients (PIV Algorithm)

Coefficient Description

Kpp Position loop proportional gain

Kip Position loop integral gain

Kpv Velocity loop proportional gain

Kvff Velocity feed forward gain

Kaff Acceleration feed forward gain

Kfff Friction feed forward gain

ImaxMoving Position loop integration maximum (while moving)

IMaxRest Position loop integration maximum (while resting)

Kdv Velocity estimate feedback gain

Output Limit Voltage command output limit

Output Limit High Upper voltage command output limit.

Output Limit Low Lower voltage command output limit.

Output Offset Offset added to output

Kiv Velocity loop integral gain

VintMax Velocity loop integration maximum

Ka0 Fast Fourier transform (FFT) testing gain (0)

Ka1 Fast Fourier transform (FFT) testing gain (1)

MPI/MEI Objects Associated with PIV Filter AttributesPIV Filter gains in Motion Console correspond closely to several Filter ob-jects. These include the following:

• MPIFilterGain

• MEIFilterGainPIV

• MEIFilterGainPIVCoeff

For more information on using MPI/MEI objects, please see the Software Reference.

2-61

Page 78: XMP Software Tools & Utilities Guide

SERCOS Coefficients SERCOS coefficients are described in Table 2-7 below

Table 2-7 Filter Coefficients (SERCOS Algorithm)

Coefficient Description

IDN Value 0 Value of IDN mapped to this coefficient.

. . .

. . .

IDN Value 15 Value of IDN mapped to this coefficient.

Kvff Velocity feed forward gain

Kaff Acceleration feed forward gain

Kfff Friction feed forward gain

Ksff Feed forward scale factor.

2-62

Page 79: XMP Software Tools & Utilities Guide

Filter Configuration Attributes: SERCOS Tab

The SERCOS tab page maps gain values to IDNs. If the map value is 0, then the gain is not mapped to an IDN. If the gain value is non-zero, then the MPI functions for getting and setting gain values will automatically read/write the gain values to the drive via the SERCOS service channel.

MPI/MEI Objects Associated with SERCOS Filter AttributesSERCOS Filter gains in Motion Console correspond closely to several Filter objects. These include the following:

• MPIFilterGain

• MEIFilterGainSercos

• MEIFilterGainSercosCoeff

For more information on using MPI/MEI objects, please see the Software Reference.

2-63

Page 80: XMP Software Tools & Utilities Guide

Motor ObjectsMotor objects are mapped to Filter objects. Because motor type determines many other attributes found in Motion Console, it is essential that attributes in the Motor Summary window are the first ones configured.

The four configuration pages are:

• Config — General motor, stepper, and encoder configuration table.

• Events — Dedicated I/O and encoder event configuration table.

• IO — Transceiver and User I/O configuration table.

• SinCom — Sinusoidal Commutation configuration table.

There are also two status pages:

• Status — Fault and Limit event status display.

• IO — Dedicated I/O, Tranceiver I/O and User I/O status display.

Amplifier Enabling and Motor Configuration AttributesTwo attributes found within the Motor Configuration / Config tab page use software to configure amplifier enable lines on drive amplifiers. These in-clude:

• Amp Enable

• Amp Polarity

These attributes are NOT the sole determiners of whether a drive amplifier is enabled. Rather, they work together with the wiring of a drive’s enable line(s) to provide software control. For example, the Amp Polarity parame-ter may be used to reverse signals sent to your amplifier’s enable lines. But is your amplifier wired as an “active high” or “active low” system? The differ-ence is crucial to control and safety.

Because amplifier enabling is central to the design of safety protocols on many motion control systems, it is imperative that you fully understand how your amplifier’s enable lines are wired BEFORE using Motion Console to op-erate it. For more information on the wiring of amplifier enable lines, refer to the XMP Hardware Installation Manual.

2-64

Page 81: XMP Software Tools & Utilities Guide

Motor Configuration Attributes: Config Tab

• Save to Flash — Pre-selects current Motor settings for saving to flash memory. For more information on using Save to Flash, see description in the first part of this chapter.

• Amp Enable — Set active Amp Enable output state.

Enabled — Enable amplifier. NOTE: actual state depends on Amp Polarity and wiring. See the XMP Hardware Installation Manual for more information.

(not enabled) — Disable amplifier. NOTE: enable state depends on Amp Polarity and wiring. See the XMP Hardware Installation Manual for more information.

• Type

Servo — Configure a servo-type motor (including DC brush/brushless and linears) for ± 10V servo output.

Stepper — Configure step/direction, pull up/down, or clockwise/counterclockwise type motor for stepper output. See the XCVR configuration section under the I/O tab page to determine whether to set for step/dir or CW/CCW.

SERCOS Drive — Configure motor for use with SERCOS1 drive.

1. SERCOS— SErial Real-time COmmunications System. Note that a separate applica-tion (sercinit) is utilized to configure attributes for operating a SERCOS drive.

2-65

Page 82: XMP Software Tools & Utilities Guide

• Amp Polarity — Configure polarity of Amp Enable Output.

Inverted — Amplifier enabled when output signal is high. NOTE: this is dependent upon external wiring. See the XMP Hardware Installation Manual for more information.

(not inverted) — Amplifier enabled when output signal is low. NOTE: this is dependent upon external wiring. See the XMP Hardware Installation Manual for more information.

• Encoder Phase — Determines which direction of motor movement results in incrementing or decrementing encoder counts. It is very important to use the correct encoder phasing so that positive voltage will result in increasing counts and vice-versa. NOTE: phasing can also be reversed by reconfiguring the A+/- and B+/- encoder wires, e.g., swapping the A+ and A- wires.

(not reversed) — Encoder phasing is passed to the controller directly, as wired.

Reversed — Inverts direction of actual position traveled for given encoder feedback.

• Encoder Term — Encoder termination.

Enabled— Enables 100 Ω resistor between complimentary encoder signals. Use this setting for XMP controllers without SIM4 modules.

(not enabled)— Disables 100 Ω resistor between complimentary encoder signals. Use this setting for XMP controllers with SIM4 modules, using analog interpolated feedback.

• Encoder Type —

Incremental — Standard incremental-type encoders. No abso-lute position information stored.

ABS 0 — Configures encoder feedback for absolute encoders. Not all absolute encoders are supported; please contact MEI.

• Encoder Cnts/Rev — (Used with ABS 0 above.) Encoder counts per revolution. Used primarily for sinusoidal commutation.

• Amp Disable Delay — Delay (in seconds) before disabling amplifier on events that cause an Abort.

• Brake Delay — (Unsupported.)

• Step Pulse Width — Sets the width of a step pulse. (Range: 50 ns to 1.6 ms)

• Step Loopback — (Used with stepper motors only.) Loops back the step output pulses into the encoder inputs to simulate feedback.

Enabled — Uses step output to determine IN.POSITION and ACTUAL.POSITION. (Correct choice for stepper systems to pre-vent unwanted error limit events.)

2-66

Page 83: XMP Software Tools & Utilities Guide

(not enabled) — Requires feedback device for ACTUAL POSI-TION, Error Limit, etc. (Should be selected for non-stepper sys-tems.)

• Step Resource # — Reflects which motor block the motor is associ-ated with. This parameter is only useful for XMP-Pulse controllers. All other XMP controllers should set the Step Resource Number equal to the Motor number.

• For XMP-Pulse users, the Step Resource Number can be used to share the resources of a single motor block between two stepper motors. This is useful when you have more motors than motor blocks. You can remap a motor so that it will share resources with another motor block by setting the ResourceNumber to the appropriate Motor Block number. Each motor block can have up to two stepper motors mapped to it. The Step Resource Number reflects which motor block a stepper motor is mapped to. For more infomation, see the XMP-Pulse Appliction Note 218.

• DAC Offset — Adds an offset value to the Motor's DAC Output sig-nal. Valid values are +10V through -10V.

• AUX DAC Offset — Adds an offset value to the Motor's Auxiliary DAC Output signal. Valid values are +10V through -10V.

• SIM4— Scale Interpolation Module.2

Enabled— Using SIM4 module.

(not enabled)— Not using SIM4 module.

2. For more information regarding the SIM4 module, refer to Application Note 206, avail-able from MEI.

2-67

Page 84: XMP Software Tools & Utilities Guide

Motor Configuration Attributes: Events TabThe generation of Motor events is based upon the Motor configuration at-tributes.

Motor events are state changes in the motor object that can be programmed to trigger a particular action. The status of motor events can be monitored in the Event Status page of the Motor Summary window. Motor events are passed up to the Motion Supervisor object (via Filter and Axis objects) and can be monitored as event status flags on the Status tab page on the Motion Supervisor Summary window. If action is taken when the event is triggered, then the event status flag is “sticky,” i.e., stays on until explicitly cleared by the user. This allows the user to determine which motor(s) caused an error. Events have some or all of the below configurable attributes.

2-68

Page 85: XMP Software Tools & Utilities Guide

TriggersTriggers listed on the Motor Summary / Events tab page include:

Triggers can be a state change (e.g., Amp Fault Trigger or Hardware Nega-tive Limit Trigger) or positional information (e.g., Error Limit Trigger).

Inverted— I/O polarity is inverted.

(not inverted)— Condition triggers event.

Amp Fault Trigger

Home Trigger

Error Limit Trigger

Hardware Negative Limit Trigger

Hardware Positive Limit Trigger

Software Negative Limit TriggerSoftware Positive Limit TriggerEncoder Fault Trigger

2-69

Page 86: XMP Software Tools & Utilities Guide

ActionsActions listed on the Motor Summary / Events tab page include:

Actions are taken when an event is triggered (see “Triggers” above). In all cas-es, the following acions are available:

None— No action taken. The event status will be flagged only while the condition of the event is met. For all other actions, the event status is “sticky” (i.e., stays on until explicitly cleared by the user).

Stop— Stop the motor within the Stop Time defined in the Motion Supervisor / General Config tab page associated with the motion of this motor. There is no effect on the state of the axis (axes) or Motion Supervisor(s) associated with the motor. The event status is “sticky,” but it will clear the next time motion is commanded.

E-Stop— Stop the motor within the E-Stop Time defined in the Motion Supervisor / General Config tab page associated with the motion of this motor. The Axis (or Axes) and Motion Super-visor(s) associated with the motor will be left in an error state.

E-Stop, Abort— Same as E-Stop action (above), except that the motor amplifier is disabled after the motor stops. An additional delay can be defined by setting the Amp Disable Delay attribute on the Motor Summary / General Config tab page.

Abort— Disable the motor amplifier. A delay can be inserted before disabling the amplifier by setting the Amp Disable Delay attribute on the Motor Summary / General Config tab page.

Amp Fault Action

Home Action

Error Limit Action

Hardware Negative Limit Action

Hardware Positive Limit Action

Software Negative Limit ActionSoftware Positive Limit ActionEncoder Fault Action

2-70

Page 87: XMP Software Tools & Utilities Guide

DurationMinimum amount of time, in seconds, that the Trigger condition must exist in order for the event to trigger.

DirectionThe Direction attribute, when Enabled, characterizes the Hardware Nega-tive or Positive Limit Trigger directionally.

When not enabled, the event will always be triggered, even when the motor is not in motion. When enabled, both hardware and software limit events are trig-gered, when the motor is commanded, to move only in the Direction that the limit is associated with.

Amp Fault Duration

Home Duration

Error Limit Duration

Hardware Negative Limit Duration

Hardware Positive Limit Duration

Encoder Fault Duration

Hardware Negative Limit Direction

Hardware Positive Limit Direction

2-71

Page 88: XMP Software Tools & Utilities Guide

Motor Configuration Attributes: I/O Tab Tranceiver (XCVR) configurations are controlled from the Motor Summary / I/O tab page. Input-output status can be monitored by viewing the I/O status page at the bottom of the window.

• XCVR A[B, C] Config— Configures transceiver (XCVR) for use.

Input— XCVR configured to receive an input signal.Output— XCVR configured to send an output signal.Step— XCVR configured for step mode. (XCVR A and B only.)Dir[ection]— XCVR configured for direction mode. (XCVR A and B only.)CW— Clockwise. (XCVR A and B only.)CCW— Counterclockwise. (XCVR A and B only.)Quad A— Standard quadrature operation (A). (XCVR A and B only.)Quad B— Standard quadrature operation (B). (XCVR A and B only.)Compare— XCVR C only.Diag— XCVR C only.

• XCVR A[B, C] Invert— Inverts the polarity of XCVR configured for Output (incl. step, etc.) if Inverted is selected.

• XCVR A[B, C] Out Level— Active or (not active).

• User Out: Invert— Inverts the polarity of output bit (Inverted), or normal.

• User I/O: Out Level— When Active, internal logic sets bit level to high.

2-72

Page 89: XMP Software Tools & Utilities Guide

Motor Configuration Attributes: SinCom Tab

• Mode—

None— Non-commutated.Closed Loop Mode— Commutated, closed loop.Open Loop Mode— Commutated, open loop.Simulate— Sets the motor commutation mode to MEIXmpCom-mModeSIMULATE.

• Length— Number of encoder counts per revolution for a rotary motor and the number of counts of one electrical cycle length for a linear motor.

• Scale— (Type float) Total number of commutation points per motor revolution, divided by the total number of encoder counts per revolu-tion (i.e., Length).

• Output Level— Sets the DAC level during open-loop commutation. Output level is in DAC units (i.e., 32,767 = 10V).

• Offset— Expressed in units of commutation table points (i.e., 1024). 1024 table points equal 360 electrical degrees.

• Phase Delta— Usually set to 120 degrees for a three-phase, brush-less motor with 120 degrees of phase separation. [120 degrees is represented by 341 commutation table points (i.e., 1024/3).] Switch-able options include: 0 degrees; 90 degrees; 120 degrees. NOTE: 90 degrees is normally reserved for a two- or four-phase motor.

• DAC Phasing— Sets phasing of three-phase motors.

(Normal)— Phasing is unaltered.Reversed— Phasing is reversed 120 degrees.

Scale Commutation points rev⁄Encoder counts rev⁄

------------------------------------------------------------=

Commutation table points Electrical cycles rev⁄( )×Length

----------------------------------------------------------------------------------------------------------------------------=

2-73

Page 90: XMP Software Tools & Utilities Guide

Motor Status Attributes: Status TabThis page displays the status of motor events, as well as several general status flags. DAC output level is also displayed.

• Amp Fault — Amp Fault Event status

• Home Limit — Home Limit Event status

• Position Err Limit — Position Error Limit Event status

• HW Neg. Limit — Hardware Negative Limit Event status

• HW Pos. Limit — Hardware Positive Limit Event status

• SW Neg. Limit — Software Negative Limit Event status

• SW Pos. Limit — Software Positive Limit Event status

• Power Failure — Power Failure Event status

• Comm. Error — Communication Error status flag

• Illegal State — Illegal State status flag

• Abs. Enc. Fault — Absolute Encoder Fault status flag

• DAC Level — DAC output level in volts

• Aux DAC Level — Auxiliary DAC output level in volts

2-74

Page 91: XMP Software Tools & Utilities Guide

Motor Status Attributes: I/O TabThis page displays Motor I/O status.

• Amp Enable — Amp Enable output status.

• XCVR A In Level — Tranceiver A input level

• XCVR B In Level — Tranceiver B input level

• XCVR C In Level — Tranceiver C input level

• XCVR D In Level — Tranceiver D input level

• XCVR E In Level — Tranceiver E input level

• XCVR F In Level — Tranceiver F input level

• User I/O In Level — User I/O input level

• Broken Wire — Broken Wire input level

• Illegal State — Illegal State input level

• + Overtravel — Positive Limit input level

• — Overtravel — Negative Limit input level

• Home Sensor — Home Limit input level

• Amp Fault — Amp Fault input level

2-75

Page 92: XMP Software Tools & Utilities Guide

DAC Phasing ParameterThe digital-to-analog converter (DAC) provides signals for three-phase ser-vo motor drives. Depending upon how the servo motor and drive are wired, the DAC Phasing parameter can be used to operate a motor in Normal or Reversed phase. The diagrams below illustrate the difference.

TimeVo

ltage

A B C

A B C

Normal DAC Phasing

30º

30º

Time

Volta

ge

A C B

A BC

Reversed DAC Phasing

30º

30º

Motor Windings

Motor Windings

2-76

Page 93: XMP Software Tools & Utilities Guide

SERCOS Ring Objects

Sercos Configuration Attributes: General Config TabAll SERCOS Ring attributes are read-only in Motion Console. They are set by running a custom SERCOS ring initialization application (sercinit).

• Phase— Displays current SERCOS phase.

• Node Count— Displays the number of Nodes found on the SER-COS loop.

• Baud Rate— Current baud rate used in SERCOS loop.

• Intensity— Intensity of XMP’s transmitter in SERCOS loop.

2-77

Page 94: XMP Software Tools & Utilities Guide

SERCOS Node ObjectsSERCOS Node objects are mapped to SERCOS Ring objects. The SERCOS Node attributes viewable in the Node Summary are read-only. They are set by running a custom SERCOS ring initialization application (sercinit).

Configuration Attributes: General Config Tab• Address— SERCOS address of the Node.

• Motor— Motor number assigned to the SERCOS Node.

• Filter— Filter number assigned to the SERCOS Node.

• Mode— Operating mode for control loop. A Node may be in one of the following modes:

Openloop, Position dualOpenloop, Position externalOpenloop, Position motorOpenloop, TorqueOpenloop, VelocityPosition, Torque externalPosition, Torque motorPosition, Velocity externalPosition, Velocity motor

For Openloop and Position motor, feedback is provided by the motor; for Openloop and Torque, there is NO feedback.

2-78

Page 95: XMP Software Tools & Utilities Guide

SERCOS Node Status Attributes: Status TabNode status attributes display the current state of bits in the Node’s status word.

Amplifier— Handshake bit. Service transport and handshake for Node.

Busy— If set (1), Node is processing service channel data.

Service Error— If set (1), error ocurred processing service channel data.

Procedure— If set (1), a procedure has finished in the Node.

Real Time 1— State of real-time status bits. See IDNs for mapping.

Real Time 2— State of real-time status bits. See IDNs for mapping.

Diag. Class 3— If set (1), see IDN S-0-0013.

Diag. Class 2— If set (1), see IDN S-0-0012.

Shutdown— If set (1), see IDN S-0-0011. This will cause an Amp Fault to oc-cur in the XMP.

Ready— Indicates ready state of Node:

• 0 = 0x00 -> not ready

• 1 = 0x01 -> ready for main power

• 2 = 0x10 -> ready; main power applied; servo not active.

• 3 = 0x11 -> ready; main power applied; servo active.

2-79

Page 96: XMP Software Tools & Utilities Guide

Idn Objects

Configuration Attributes: General Config TabIdn objects are mapped to SERCOS Node objects. Note that attributes Factor, Length, Variable, Procedure, Data Type and Places are all aquired from the Attribute parameter.

Number— IDN element #1. IDN number.

Name— IDN element #2. Name; text string.

Attribute— IDN element #3. Attributes; 32-bit binary value.

Units— IDN element #4. Units, text strings.

Minimum— IDN element #5. Minimum data value, valid only if the data field is a 16- or 32-bit value.

Maximum— IDN element #6. Maximum data value, valid only if the data field is a 16- or 32-bit value.

Data— IDN element #7. Writable. Can be 16 or 32 bits, or a text string. If the data is variable, 8-bit data, then it will be displayed, and editable, as a character string. If it is variable 16-bit, 32-bit, or IDN, then it is editable as a multi-line edit control.

Factor— Scaling factor used for the data element. See also Places parameter.

Length— Size of data in the data element:

• 0 = 8 bits

• 1 = 16 bits

• 2 = 32 bits

Variable— Indicates whether data element is of variable length.

Procedure— Indicates whether IDN is a procedure or not.

2-80

Page 97: XMP Software Tools & Utilities Guide

Data Type— Specifies data type of data element. The Data Type will be one of the following:

BinaryUnsignedLongHexTextIDN

Places— Places after the decimal point. Used with Factor (see above) to de-termine scaling applied to data.E.g., Places = 7 yields scaling of Factor * 10-7 places.

Count— Number of entries in data field.

Periodic Refresh— When Enabled, Motion Console periodically updates el-ement #7 (Data).

2-81

Page 98: XMP Software Tools & Utilities Guide

2-82

Page 99: XMP Software Tools & Utilities Guide

CHAPTER 3MOTION SCOPE

DescriptionMotion Scope plots and traces IO signal data from the motion controller. It is similar in its presentation to an oscilloscope, and provides a utility for checking and troubleshooting motion control systems. It is a purely “passive,” read-only utility, with no ability to write data, or control motion. Combined with the Motion Console and VM3 utilities, Motion Scope serves as the system designer’s eyes while working with the XMP motion control system. Motion Scope can also be used in conjunction with the designer’s motion control application.

Material Contained Within This ChapterThis chapter contains two important sections: an early section provides a “Quick-start Guide” to using Motion Scope for new users; in another section, Motion Scope’s unique control features are referenced in detail.

Installing and Launching Motion ScopeBoth Motion Scope and Motion Console are installed using a dedicated In-stallShield software release package. To launch Motion Scope, locate and double-click its application icon.

Motion Scope User InterfaceMotion Scope is designed to function as a virtual “oscilloscope,” tracing signal data and presenting it visually to the user. Signal data can be assigned sepa-rate colors (see Trace / Color section below).

In addition, Motion Scope data can be exported for use by third-party programs and spreadsheets. See the “Export” section for more information.

3-1

Page 100: XMP Software Tools & Utilities Guide

Motion Scope Quick-start Guide

Quick-start DescriptionThis section will guide you through the most basic steps of using Motion Scope. It does not describe how to utilize advanced features, but it should prove helpful to new users. Three quick-start scenarios are presented below:

Scenario A: How to use the built-in Demo feature. No XMP controller required.

Scenario B: How to use Motion Scope motion data from XMP controller con-figured for stepper motors with sinusoidal feedback.

Scenario C: How to use Motion Scope with Motion Console or application. Mo-tion data from XMP controller with real motion system.

Select a scenario (e.g., “B”), then follow the steps labeled with that letter below.

1. Launch Motion ScopeDouble click on the Motion Scope icon to launch the utility. A pane is displayed for XMP Controller 0:

Figure 3-1 Motion Scope start-up screen.

If you wish to close this pane, click on the Close icon in the upper-right corner.

AB

C

ABC

3-2

Page 101: XMP Software Tools & Utilities Guide

2. Open and Configure a New PaneIf a pane is not already visible, the Motion Scope screen will appear blank, as shown here:

To open a new (or additional) pane, click on the File / New menu option. You will be presented with the Pane Mode panel:

The Pane Mode panel identifies the source of signal data to be plotted. De-pending upon your scenario, use the following list as a setting guide:

• To Quickly Demonstrate Motion Scope’s FeaturesIf you wish to quickly demonstrate Motion Scope’s features without connecting to real signal data, use the built-in Demo option. You should set your Pane Mode options as follows:

Data Source................. DemoAcquire Cycle.............. 50 ms (default setting)Redraw Time ............... 200 ms (default setting)

A

3-3

Page 102: XMP Software Tools & Utilities Guide

• To Use Motion Scope Using Simulated Feedback DataMotion Console can be used to generate simulated data, which is then viewed using Motion Scope. The simplest way to do this is to run Motion Console on the same platform where Motion Scope is installed. Set your Pane Mode options as follows:

Data Source................. Device (MPI)Controller Number#.... 0Acquire Cycle.............. 50 ms (default setting)Redraw Time ............... 200 ms (default setting)

NOTE: The Motion Console set-up for generating simulated feed-back data is included below in Step #3.

• To View Real Signal Data with Motion ScopeIf you intend to use Motion Scope to view real motion control data, set your Pane Mode options as follows:

Data Source................. Device (MPI) (if controller card resideswithin same platform where Motion Scope is installed)Controller Number#.... # of controller card. (On platformsrunning a single control card, set this to 0; otherwise, enter thenumber of the active controller.

ORData Source................. Client (MPI) (if controller card resideson a remotely networked platform, separate from where MotionScope is installed)Controller Number#.... # of controller card. (On platformwhere control card resides)Port .............................. of platform where controller is installedServer .......................... IP address of platform where controlleris installed

Acquire Cycle.............. 50 ms (default setting)Redraw Time ............... 200 ms (default setting)

The Motion Console set-up for generating fake signal data is included below in Step #3.

Click the Ok button to enter settings into the Pane Mode panel and close.

B

C

3-4

Page 103: XMP Software Tools & Utilities Guide

3. Configure Trace SettingsAt this point, you have a blank pane with no traces. The next step is to tell Mo-tion Scope which signal data to trace. This is done using the Pane / Traces menu item.

To Quickly Demonstrate Motion Scope’s FeaturesIf you have configured the new pane to run the built-in Demo (from Step 2-A above), you have only four sources of signal data available to you. All of them are “fake” and exist only in your computer’s memory. Now, let’s look at them.

Click either on the Pane / Traces menu item, or use the Traces button at the top-middle of the display pane to access the Select Traces Set panel:

In the left column of the panel are listed the four sources of signal data avail-able to you. They consist of:

• ActualPosition• ActualVelocity• PositionError• ControlOutput

Remember, the displayed signals consist of “fake,” archival data for demon-stration purposes only. They do not correspond to anything real on your motion controller.

To select demo data for tracing, click on the signal(s) to be plotted, then click on the Add==> button near the bottom-left corner of the panel. The selected signal(s) will be listed to the right, within the “Trace Set for Pane” window. If you make a mistake, or want to deselect a signal, highlight the signal with your mouse, then click on the Delete button on the right side of the pane.

Click the Ok button to close the Select Traces Set panel.

A

3-5

Page 104: XMP Software Tools & Utilities Guide

To Use Motion Scope Using Simulated Feedback DataAfter you have configured the new pane to view simulated data from an XMP controller (from Step #2B above), Then you need to configure the XMP control-ler for step controller for step motor control with sinusoidal feedback:

• Disconnect your XMP controller from all external motion control hardware. (i.e., leave the controller in the computer, but disconnect all external cables between the card and motion equipment.) This will allow you to practice with Motion Console and Motion Scope in complete safety.

• Launch Motion Console.

• Use the Object Explorer to map Axis 0 to Motion Supervisor 0 (MS 0).Map Motor 0 to Filter 0 and Filter 0 to Axis 0.

• Open the Motion Supervisor Summary / General Config tab page for Controller 0.Set the Motion Type field to either Trapezoidal or S-curve.On the Motion Supervisor / Actions page, switch Repeat Mode to Enable.

• Open the Motor Summary / General Config tab page.Set the Type field to Stepper.Switch the Step Loopback field to Enabled.

• Open the Axis Summary / Motion tab page.Set Position 1 to 0.Set Position 2 to 10000.Set Velocity, Acceleration and Deceleration to 100000.

B

3-6

Page 105: XMP Software Tools & Utilities Guide

Your Motion Console panels should appear similar to those shown here:

• Set Motion Console in “motion” by clicking on the Move to Farthest Position button You should see the Command and Actual Posi-tion fields on the Axis Summary panel count back and forth between the Position 1 and 2 values (simulating a back-and-forth motion). This will continue running until you click on the MS Sum-mary panel’s Stop icon.

• If you experience difficulty, recheck your Motion Console settings. If the system appears to be hung, click on the Stop icon on the MS Summary panel and the Clear Fault button, then retry the Move to Farthest Position button.

Click here to start motion.

+ +

3-7

Page 106: XMP Software Tools & Utilities Guide

With the XMP controller generating the simulated data, you are now ready to use Motion Scope to view the data. Click either on the Pane / Traces menu item, or use the Traces button at the top-middle of the display pane to access the Select Traces Set panel:

In the left column of the panel are listed the signal data available to you. Re-member that for this example we have configured Motion Console to utilize Axis 0; therefore only Ax 0 signals will produce interesting traces. All other non-configured signals will generate flat, “dead” traces.

To select data for tracing, click on the signal(s) to be plotted, then click on the Add==> button at the bottom of the panel. The selected signal(s) will be listed to the right, within the “Trace Set for Pane” window. If you make a mistake, or want to deselect a signal, highlight the signal with your mouse, then click on the Delete button on the right side of the pane.

For this example, click on the Ax 0 Cmd Pos and Ax 0 TC. Velocity signals.

Click the Ok button to close the Select Traces Set panel.

3-8

Page 107: XMP Software Tools & Utilities Guide

To View Real Signal Data with Motion ScopeIf you have configured the new pane to view real motion controller data (from Step #2C above), you may now proceed to setting your hardware into motion and using Motion Scope to view controller data. We will follow a procedure sim-ilar to Step #3B above, except that you do not need Motion Console. The intent here is to establish a simple, repeated motion with your hardware, then trigger Motion Scope at the point of interest to you.

If Using Motion Console...If you wish to use Motion Console to command motion, configure it now to op-erate your hardware. Motion Console is detailed in separate chapters of this manual. Ideally, you should establish a simple, repeating motion that can be examined over and over.

If Using a Motion Control Application...If you wish to examine motion details as hardware is commanded by a motion control application, set your application up now. Again, a simple, repeating mo-tion is preferred.

You are now ready to use Motion Scope to view the data. Click either on the Pane / Traces menu item, or use the Traces button at the top-middle of the display pane to access the Select Traces Set panel:

In the left column of the panel are listed the signal data available to you. Any signal data can be plotted, but only active signals will produce interesting trac-es. All other non-configured signals will generate flat, “dead” traces.

To select data for tracing, click on the signal(s) to be plotted, then click on the Add==> button at the bottom of the panel. The selected signal(s) will be listed to the right, within the “Trace Set for Pane” window. If you make a mistake, or want to deselect a signal, highlight the signal with your mouse, then click on the Delete button on the right side of the pane.

Click the Ok button to close the Select Traces Set panel.

C

3-9

Page 108: XMP Software Tools & Utilities Guide

4. Configure TriggerThe next step consists of configuring the trigger to start Motion Scope. Be-cause Motion Scope has a limited memory buffer, it cannot acquire and display data indefinitely. You must configure it to acquire data during the time of partic-ular interest to you.

Triggering operates the same, regardless of how you have configured your Trace panel, or whether you are working with real or fake data.

Click either on the Pane / Trigger menu item, or use the Trigger button at the top-middle of the display pane to access the Trigger Conditions panel:

For quick-start purposes, we will trigger manually. Other forms of triggering are discussed in the “Trigger” reference section of this chapter below.

• Set “Start Condition”To manually trigger Motion Scope, select the Go button menu item.

• Set “End Condition”To halt tracing manually, select the Stop button menu item.

• Set “Trigger Detection”Select the Status Data Stream menu item.

Click the Ok button to close the Trigger Conditions panel.

ABC

3-10

Page 109: XMP Software Tools & Utilities Guide

5. Generate a Trace!The final step consists of making a trace with Motion Scope. At this point, you should have followed Steps #1-4 above to configure your pane, select the trac-es you want, and set up manual triggering. Signal data—either real or simulat-ed—should now be available for plotting.

To trigger a plot, click on the Go button located at the front of the display pane. You should see the data trace begin on the left side, then sweep right and con-tinue.

Your pane may appear as shown here:

When triggering manually, Motion Scope will continue tracing data until the Stop button is clicked.

In the “Motion Scope Feature Reference” section remaining in this chapter, you may learn more about Motion Scope’s features, or contact MEI for assistance.

ABC

3-11

Page 110: XMP Software Tools & Utilities Guide

Motion Scope Toolbar Functions

File Menu Items

File menu items found in Motion Scope match those found in most Windows programs. They may be accessed either through the File pull-down menu, or (in the case of New, Open and Save), by clicking on icons located within the toolbar.

NOTE: The files for Motion Scope settings consist of the various display, trace, and trigger settings for a single pane. The actual trace data can also be saved in a settings file (see Save As, below). Trace data can also be exported to a text file (see Export, page 3-17). The image that is displayed in a pane can be copied into the Windows clipboard by pressing the "Print Scrn" key and then pasting the clipboard data into a graphics editor, such as the MS Paint acces-sory program that is provided by Windows.

New— Opens a new Motion Scope file.

Open— Opens the selected Motion Scope file. If the selected file includes trace data, you can then choose to import the data by checking the "In-clude data" checkbox at the bottom of the "Open" dialog box. You can also select the file to be opened as read-only by checking the “Read-only” checkbox. In this case, the pane associated with the file will not be “active,” (i.e. data acquisition will be disabled.) If the selected file does not include data, then the “Include data” and “Read-only” checkboxes are disabled. See screenshots below.

“Data.pan” has data that can be included. “NoData.pan” does not have data that can be included.

3-12

Page 111: XMP Software Tools & Utilities Guide

Close— Closes the current pane.

Save As— Saves the selected file to a directory specified by the user. Save the settings of the current Pane into a file. If there is data being dis-played in the Pane, the user has the option of saving the trace data by checking the "Include data" checkbox in the "Save As" dialog box.

Print— Print the entire Motion Scope application window as it currently ap-pears. NOTE: The layout of the window may be altered by utilizing View commands before printing (see “View Commands” section below).

Print Setup— Accesses your computer’s printer setup utility.

Exit— Quits the Motion Scope utility.

View Menu Items

View menu items permit you to alter the layout of the Motion Scope panel by enabling/disabling various toolbars and menus. Refer to the diagram below for the location of each View menu item.

Each menu item is fully described in its own section below.

NOTE: Movable control bars— All control bars may be moved from the dis-play panel to your computer’s desktop area by clicking and dragging with the mouse. Control bars continue to operate normally while not on the panel.

Status Bar

Toolbar

Pane Bar

Go Bar

Trace Bar

Click and drag tomove control bars.

Zoom Bar

3-13

Page 112: XMP Software Tools & Utilities Guide

Pane Menu Items

A “pane” is a viewing area within Motion Scope’s main frame, and Pane menu items are at the heart of what Motion Scope does. They allow you to select which IO signal data is plotted, how plots are triggered, and how they are dis-played. Motion Scope can display multiple panes simultaneously, one per con-troller.

Display

The Pane Display Settings panel sets the X- and Y-axis plotting characteris-tics for Motion Scope. Menu Items include:

3-14

Page 113: XMP Software Tools & Utilities Guide

Y-axis / Connect points— When enabled, traces are displayed with the Y-axis plotted as a continuous line between sample points. When disabled, Y-axis sample points are plotted as discrete points.

Points connected.Points not connected.

3-15

Page 114: XMP Software Tools & Utilities Guide

X-axis menu items:

Sample Band— When enabled, a blue sample band is added to the bot-tom of the plot which indicates individual samplings. Immediately below the blue sample band, separate Gain Index and Custom Drive Mode bands are visible when zoomed-in to higher magnification using the Zoom In button (see below).

• Gain Index (0 = red, 1 = yellow, 2 = orange, 3 = green)• Custom Drive Mode

Sample numbers— Changes the X-axis units from milliseconds (default) to sample numbers. NOTE: Enabling this menu item will affect the Range units displayed within the Range bar near the top of the Motion Scope panel.

Gain IndexDrive Mode

3-16

Page 115: XMP Software Tools & Utilities Guide

Export

The Export command allows the export of Motion Scope trace data in text (*.txt) format for third-party programs such as spreadsheets (e.g., Microsoft Ex-cel). Exported data is tab and new line-delineated. Tabs delineate individual fields of data, new lines delineate a sample’s worth of data. A segment from a typical presentation for a dual trace (“Ax 0 Cmd Pos” and “Ax 0 Act Pos”) is shown below:

The leftmost column is the sample number (“Sample #”), followed by columns for “Ax 0 Cmd Pos” and “Ax 0 Act Pos,” respectively.

The text file name defaults to the current Controller number. For example, in the Save As panel above, the File name field defaults to “Controller 0.txt,” which reflects the currently active controller.

"Sample # " "Ax 0 Cmd Pos" "Ax 0 Act Pos"0 0 01 0 02 0 03 0 04 0 05 0 0...500 405 395501 409 399502 414 404503 418 408504 423 413505 427 418

3-17

Page 116: XMP Software Tools & Utilities Guide

Import

The Import command allows the import of Motion Scope trace data in text (*.txt) format from third-party programs such as spreadsheets (e.g., Microsoft Excel). You can only import data that is tab and new line-dilineated. See Ex-port section for an example of a properly formatted .txt file.

NOTE: In Microsoft Excel, you can save data in a spreadsheet as a *.txt file by selecting “Text (Tab delimited) (*.txt)” from the Save As Type menu options.

Mode

The Pane Mode panel is the first panel presented when opening a new (File / New) trace pane. Through it, the user informs the Motion Scope software which source of signal data to use, and what the data access and redraw cy-cles are.

Data Source— The actual source of data to be traced. Three menu items:

Demo— Built-in data traces for demonstration and training purposes. NOTE: This setting is not used for signal data measurements!

Device (MPI)— Standard, default option for examining signal data from controller cards installed within the host computer running Motion Scope.

Controller #— PCI-assigned controller card whose signal data is to be accessed.

Client (MPI)— Option for examining signal data from a controller card in-stalled within a remotely networked client computer.

3-18

Page 117: XMP Software Tools & Utilities Guide

Controller #— PCI-assigned controller card whose signal data is to be accessed.

Port— Port number of client computer to be accessed.

Server— IP address (XXX.XXX.XXX.XXX) of client computer to be accessed.

Acquire Cycle Time— Time between acquisitions of view data from the con-troller. Data is appended to the memory buffer.

Redraw Time— Cycle time to write (plot) signal data in memory buffer to dis-play pane.

Print“Print” the contents of the active pane. The Print Setup dialog box will ap-pear. You can also print by clicking, File > Print.

Traces“Traces” refer to the actual signal data plot(s) generated on a display pane. The Traces menu item may be selected either by clicking on Pane / Traces in the pull-down menu, or by clicking on the Traces button on the main display. This displays the Select Traces Set panel:

3-19

Page 118: XMP Software Tools & Utilities Guide

On the left side of the panel are listed some of the possible signal data which can be traced. They are selected by clicking with the mouse, then clicking on the Add==> button below.

Figure 3-2 Click on the signal data to be traced, then on the Add==> button. The signal data will be added to the Trace Set for Pane list.

• To select all signal data between two listings, hold down the Shift key while selecting with the mouse.

• To select two or more signal data, hold down the Ctrl key while selecting each with the mouse.

Trace Ordering— Once a list is defined in the “Trace Set for Pane” window, you may order the arrangement by using the Trace Ordering switch. There are three menu items:

UserName— Orders the list by user name.

MapName— Orders the list by map name.

Address— Orders the list by memory address (as ordered within the con-troller’s firmware memory). TIP: click this menu item again to reverse the order.

3-20

Page 119: XMP Software Tools & Utilities Guide

Figure 3-3 Trace Ordering menu items arrange signal data on the Trace Set for Pane window by user name, map name, or memory address.

MapName

UserName

Address

3-21

Page 120: XMP Software Tools & Utilities Guide

Modify TraceModify Trace menu items create, edit and close individual traces. These menu items are accessed on the right side of the Select Traces Set panel:

New and Edit— Clicking on either the New or Edit button displays the Edit Trace Properties panel. If no trace is currently listed or selected within the “Trace Set for Pane” window, only the New button may be used.

Name— Name assigned to the new or edited trace. Trace names can be as-signed to correlate to specific axes, such as “X,” “Y,” etc.

Address— Hexadecimal memory address to be assigned to the selected trace. NOTE: An Address must be specified for each Name. To determine the memory address of signal data, use the VM3 utility (described in Chapter 4 of this manual).

In the example below, SystemData.SampleCounter is shown on the VM3 screen with its hexadecimal address. When this address (0x00028010) is en-tered into the Address field of the Edit Traces Properties window, it may be plotted on the Motion Scope grid. The data’s name (SystemData.Sample-Counter) is manually entered into the Name field. Configure the Trigger win-dow, then plot the data. Notice that the plot of SystemData.SampleCounter, which records time, is a constantly increasing line.

3-22

Page 121: XMP Software Tools & Utilities Guide

Figure 3-4 Plot of SystemData.SampleCounter data.Bitmasking— Allows bitmasking of current trace address. The following fields are used:

Masking Enabled— When enabled, the data is masked.

Mask— Bit pattern to be masked (bitwise ANDed with mask).

Normalize Right— If a Mask has zeros in its lower-order bit(s), the data value is shifted to the right. This is especially convenient for viewing binary, two-state values.

Data type— Specifies the data type of the value stored at the Address. The following data types are selectable:

long— Data is a long integer (32 bits).

float— Data is a floating decimal point value (32 bits).

unsigned long— Data is an unsigned, long integer (32 bits).

Display as hex— When selected, data stored at the Address is displayed in hexadecimal form. If not selected, data stored at the Address is dis-

Enter data Address.VM3 panel

Plot of SystemData.SampleCounter

3-23

Page 122: XMP Software Tools & Utilities Guide

played in its default format.

Units— Units applied to the vertical (Y) axis of the display pane. The fol-lowing units are selectable:

Counts— Encoder counts.

Counts/sec— Encoder counts per second.

MilliSecs— Milliseconds.

MilliVolts— Millivolts.

None— No units are applied to the vertical axis.

Ok— Enters settings and closes the Edit Trace Properties panel.

Cancel— Closes the Edit Trace Properties panel without changing settings.

NOTE: Demo traces (available from the Pane / Mode menu item) cannot be edited.

3-24

Page 123: XMP Software Tools & Utilities Guide

Status Banding

The Status Banding menu item within the “Select Traces Set” panel turns on-off separate trace bands at the top of the pane for monitoring IN_COARSE and IN_FINE status on a single axis. Two color schemes are used: green = FALSE; red = TRUE.

Figure 3-5 Trace showing use of Status Banding menu items.In Figure 3-5 above, the Status Banding menu item has been enabled for the axis indicated by the Axis field. Command velocity (trapezoidal profile) reveals motor movement. As the command position (curved profile) crosses the IN_COARSE position value at , the IN_COARSE band (topmost band) changes color from green-FALSE, to red-TRUE. (Meaning, the position of the axis is now within the IN_COARSE envelope of the target position.) As the axis reaches the target position, it enters the IN_FINE envelope at , and the low-er (IN_FINE) status band changes color from green-FALSE, to red-TRUE.

NOTE: The IN_COARSE status band remains green-FALSE for all conditions if the servo-stepper system is not commanded (e.g., dead or disconnected). Green can be interpreted as “not in position,” which usually, but not always, means “moving.”

Top band = IN_COARSE status

Bottom band = IN_FINE status

A

B

A

B

3-25

Page 124: XMP Software Tools & Utilities Guide

Trigger

The Trigger Conditions panel may be accessed in either of two ways:

• Click on the Pane / Trigger menu item.• Click on the Trigger button.

Trigger includes menu options for beginning and ending signal data acquisi-tion, such as by manually clicking on the Go and Stop buttons, or through the use of external inputs such as motor movement.

The Trigger Conditions panel is divided into four different sections, each of which is described below, along with their respective menu items.

Start Condition

Start Condition defines the triggering event used to start signal data acquisi-tion. This may be either user-triggered, or activated automatically using an out-side condition.

Go button— Traces are started when the Go button is clicked on the front of the display pane. Selecting this option displays two support buttons on the front of the display pane:

• Go— Tracing begins immediately after the Go button is clicked.

• Stop— Tracing is halted when the Stop button is clicked.

3-26

Page 125: XMP Software Tools & Utilities Guide

Motion Start— Tracing begins when movement is detected in the Motion Supervisor chosen for tracing after the Arm button is clicked on the display pane. Selecting this option displays two support buttons on the front of the display pane:

• Arm— The Arm button is displayed on the display pane whenever Motion Start is selected. Tracing does not begin until the Arm but-ton has been clicked; tracing ends according to the condition set in the “End Condition” box of the Trigger Conditions panel (see below).

• Repeat— The Repeat button is used to continue data acquisition beyond a single pane, after the Arm button has been clicked. The previous move data will be overwritten and the new move data will be displayed.

External Event— (Not yet implemented.)

Pre-Trigger (ms)— [Usable only when Motion Start enabled.] Amount of data to include with plot before triggered data.1

End Condition

The End Condition defines how tracing is to be halted.

Stop button— Tracing ends when the Stop button is clicked on the main display panel.

Buffer Full— Tracing ends when the data buffer has filled. NOTE: the data buffer size is set by the MaxBuffer field on the main display pane and may be as large as 50000 ms.

Motion Done— Tracing ends when motion halts (i.e., when MotionDone condition is TRUE).

External Event— (Not yet implemented in Version 1.19.07.)

1. Acquisition of data is ongoing, even before the start of tracing. When a Pre-trigger time is entered, the display will include buffered data of Pre-trigger length with the triggered trace.

Arm button Repeat button

3-27

Page 126: XMP Software Tools & Utilities Guide

Trigger Source

If either the Start Condition or End Condition fields are set to Motion Start or Motion End respectively, the Trigger Source field will be enabled. This field specifies which Motion Supervisor is used to trigger start and/or end of tracing.

Trigger Detection

Trigger detection may be implemented either by monitoring changes to motion status in the data stream (Status Data Stream), or by polling the controller for status (Status Poll). Note that changes to the motion status can be extremely fast, and may go undetected. Under most conditions, selection of the Status Data Stream menu item is recommended.

Trace Menu Items

The Trace pull-down menu features the following menu items:

Color— This feature is used to custom-color individual traces to distin-guish them

Edit— Open the Edit Trace Properties dialog box. This is the same dialog box that is documented on 3-22.

.

To use the Color menu item, first select the trace to be colored from the pull-

Click on trace to be colored.

Select new color from the Color panel.

3-28

Page 127: XMP Software Tools & Utilities Guide

down Trace field in the upper-left corner of the main Motion Scope panel. Next, click on Trace / Color to access the Color panel.

Colors may be chosen directly from the pallet provided, or click on the Define Custom Colors>> button to access the custom color function. Custom colors are defined in one of two ways:

• Move the cursor to a point of the spectrum pallet which best approx-imates the desired color.

• Enter the correct values for: Hue, Saturation, Luminosity, Red, Green, and Blue to render the desired color.

To add the color to the custom color to the pallet, click on the Add to Custom Colors button.

To set the selected trace to the new color and close the Color panel, click on the Ok button.

Window Menu Items

Window menu items control the manner in which two or more Motion Scope panels are displayed. There are two menu items:

Cascade— Presents panels in a “cascading” format.

Tile— Presents panels in a “tiled” format.

Note that in either format panels may be dragged and sized to suit the user. (The Windows menu items merely set up the initial presentation.) Note that the Tile format is useful for comparisons between multiple plots.

Cascade Tile

3-29

Page 128: XMP Software Tools & Utilities Guide

Other Data and Display FeaturesIn addition to the data and display menu items described above, there are oth-er basic display features built into Motion Scope. These menu items control qualities such as presentation and data buffer size.

MaxBuffer (ms) and SampleSize (samples)

The MaxBuffer and SampleSize fields occupy the same portion of the Motion Scope control panel; when one is selected, the other is deselected. Both serve the same function: setting the amount of memory to be used for recording data. Both also affect X-axis scaling of the display pane.

• The Max Buffer field is displayed when the Display / X-Axis / Sam-ple Numbers menu item is not selected. This value is entered in milliseconds and may be set up to 50000 ms (50 seconds).

• The SampleSize field is displayed when the Display / X-Axis / Sample Numbers menu item is selected. This value is entered in samples and may be set up to 200000.

MaxBuffer and SampleSize set the amount of buffered memory available for tracing. As new signal data is written to the memory buffer, old signal data is permanently lost. Therefore, you should set this value to a size at least as large as the event to be traced.

Note that as the size of MaxBuffer and SampleSize increases, the width of the XOffset slider bar decreases. (See “XOffset” section below.) This is be-cause, for larger samples, the displayed portion of the data shown in the pane represents a smaller portion of the whole.

Max Buffer value

Sample Size value

3-30

Page 129: XMP Software Tools & Utilities Guide

XRange and XOffset Fields

The XRange value controls the scale of the X-axis. As this value is changed, plots are stretched and compressed horizontally; simultaneously, X-axis units change at the bottom of the display pane. XRange units of measurement de-pend upon whether MaxBuffer (units in milliseconds) or Sample Size (units in samples) is selected in the Pane / Display window. You may enter XRange values in one two ways:

• Manual entry in the XRange field (click with cursor and enter value).• Use of Zoom Bar functions.

As XRange is increased-decreased, X-axis units are rescaled to fit the display pane.

The XOffset value controls which X-axis portion of the buffered data (see “Max Buffer” section above) is displayed inside the pane. XOffset may be adjusted by moving the slider bar left-right, or by entering a value into the XOffset field manually.

XRange valuecontrols horizontal,X-axis scaling onbottom of pane.

Move slider left-right to change XOffset, orenter value into fieldmanually.

XOffset field

XRangeBar (moveleft-right to adjust.See XRangeBarand YRangeBar section)

3-31

Page 130: XMP Software Tools & Utilities Guide

YScale and YOffset Fields

YScale sets Y-axis scaling of data selected in the Trace field. You may enter YScale values in one of two ways:

• Manual entry in the YScale field (click with cursor and enter value).• Use of YRangeBar slider bar. See YRange Bar and XRangeBar

section.IMPORTANT! Displayed Y-axis units apply only to data selected in the Trace field! As different data is selected using the Trace pull-down menu, Y-axis values change. Verify that the correct data is selected in Trace field before reading units.

YOffset is used to offset displayed Trace plots vertically. This can be especial-ly useful when trying to separate one data plot from another (e.g., “Ax 0 Com Pos” versus “Ax 0 Pos”).

YScale valuecontrols Y-axis scaling ofTrace data.

Select Trace data to be Yscaled from pull-down menu.

YScale units apply only todata selectedin Trace field.

3-32

Page 131: XMP Software Tools & Utilities Guide

You may enter YOffset values in one two ways:

• Manual entry in the YOffset field (click with cursor and enter value).• Use of YOffset slider bar.

To realign offset data plots, use AutoScale and (if applicable) zoom Full Out.

Changed YOffset valueseparates Trace data (white)from adjacent data (yellow).

Selected YOffset data is indicatedin the Trace field.

(Zoomed-in pane)

3-33

Page 132: XMP Software Tools & Utilities Guide

XRangeBar and YRangeBar

XRangeBarThe XRangeBar provides another way of modifying the XScale and XOffset of either the currently selected trace or all traces.

Left Click + Drag— Move selected trace.

Shift + Left Click + Drag— Same as above, but applied to all traces.

YRangeBarThe YRangeBar provides another way of modifying the YScale and YOffset of either the currently selected trace or all traces. The functionality of the YR-angeBar is broken down into the following parts:

High Span—

Left Click— Nudge selected trace up. This decreases the YOffset.

Shift + Left Click— Same as above, but applied to all traces.

Ctrl + Left Click— Extend the YRangeBar up to the clicked location for the selected trace. This affects both the YOffset and the YScale.

Ctrl + Shift + Left Click— Same as above, but applied to all traces.

Low Span— behaves as the High Span, but in the opposite direction.

Slider—

Left Click + Drag— Move selected trace. This only affects the YOff-set.

Shift + Left Click + Drag— Same as above, but applied to all traces.

Ctrl + Left Click— Shorten the Slider to the clicked position for the selected trace.

XRangeBarYRangeBar

3-34

Page 133: XMP Software Tools & Utilities Guide

Shift + Ctrl + Left Click— Same as above, but applied to all traces.

Left Double-Click— Step in for the selected trace.

Shift + Left Double-Click— Same as above, but applied to all trac-es.

Right Double-Click— Step out for the selected trace.

Shift + Right Double-Click— Same as above, but applied to all traces.

3-35

Page 134: XMP Software Tools & Utilities Guide

Zoom and Step Buttons:Zoom In; Zoom Out; Full Out; Step In; and, Step Out

When traces are generated, the pane automatically scales the X-axis to the XRange size, and scales the Y-axis to accommodate the full vertical range of the data. Zoom and Step buttons are used to magnify portions of a pane by rescaling a selected area. Zoom buttons rescale both X- and Y-axis; the Step button rescales only the X-axis. To select an area for zooming or stepping, click and drag with the mouse to form a “zoom box” over the area of interest, then select one of the buttons below.

Zoom In— Magnifies area within by rescaling both X- and Y-axis.

Zoom Out— Resizes previously zoomed-in area of pane to last used X- and Y-axis scaling.

Full Out— Returns X- and Y-axis scaling of pane to their original (starting) values. The pane’s X-axis is resized to its full XRange value.

Step In— Magnifies the central area of the entire pane. The zoom box is ig-nored.

Step Out— Resizes previously stepped or zoomed-in area of pane to last used X-axis scaling.

Click and drag toselect zoom area.

3-36

Page 135: XMP Software Tools & Utilities Guide

Trace and AutoScale Menu Items

Trace— The Trace field lists all currently plotted signal data using a pull-down menu. Y-axis scaling applies only to data currently selected from the Trace field.

NOTES:

• You may also select traces by clicking on them with a right click.• The color of the selected trace is white.

AutoScale button— Automatically scales the vertical, Y-axis of the display pane according to the range of data points plotted within the space afforded by the user-sized window.

Trace

AutoScale

3-37

Page 136: XMP Software Tools & Utilities Guide

Direct Cursor Measurement of TracesMotion Scope permits direct measurement of selected traces to determine X- and Y-axis values. This is done by clicking and dragging with the mouse (left button) while simultaneously holding down the Ctrl key.

The X- and Y-axis values for the cursor intersection are displayed at the lower-right and upper-left corners, respectively.

Y-axis value of data point at cursor intersection.

X-axis value of data point at cursor intersection.

3-38

Page 137: XMP Software Tools & Utilities Guide

CHAPTER 4VM3: View Memory UTILITY, VER. 3

IntroductionVM3 is the third version of the “View Memory” utility written for MEI motion con-trollers; earlier versions (VM and VM2) worked with DSP-series controllers. The VM3 utility allows you to view and alter data stored in memory on the XMP-series controller card. This includes data inside and outside the SHARC DSP processor. When using VM3 to alter data on motion controllers, exercise ex-treme caution at all times:

DANGER! Changes made to memory take effect immediately, including data designed for motion components such as motors and encoders. Verify that per-sonnel are clear of the movement zone and equipment is safeguarded BE-FORE making any changes to memory data. Always operate equipment with an emergency off switch (EMO) at the ready, especially when writing and test-ing new software configurations.

Installing and Running VM3VM3 is installed with each full XMP software installation, along with Motion Console, Motion Scope and various system files. The VM3 executable (vm3.exe) is normally located within the XMP/bin/Win95 and WinNT paths. The utility is launched from the DOS command prompt by entering vm3.

When booting, VM3 first examines data in the xmpNNLN.xmp file to map memory, where NNN is the firmware version number. It is necessary that the version of VM3 you are running matches the firmware version of the xmpNNN.map file; otherwise, the system will fault or request an update.

4-1

Page 138: XMP Software Tools & Utilities Guide

VM3 LayoutVM3 is organized into panels and functions, each of which is assigned a func-tion key. The “Board Data” panel is accessed by pressing the F1 key, the “Com-mands” panel is accessed with the F2 key, and so on.

Table 4-1 Function Key Assignments, VM3

FunctionKey Description

Esc Exits VM3

F1 “Board Data” panel. XMP board configuration.

F2 “Commands” panel. Data organized by command number.

F3 “Auto” panel. Memory organized by object. Data is automatically displayed in most commonly used form, either hexadecimal or decimal.

F4 “Hex” panel. Memory organized by object. All data is displayed in hexadecimal form.

F5 “Decimal” panel. Memory organized by object. All data is displayed in decimal form.

F6 “Float” panel. Memory organized by object. All data is displayed in floating decimal point form.

F7 “Recorder” panel. (Not implemented this version.)

F8 “Labels” panel. Removes labels, displaying memory address and data only.

F9 “Reset.” Resets motion controller (reloads from flash).

4-2

Page 139: XMP Software Tools & Utilities Guide

Within panels, various control keys permit you to move the cursor between lines of data, and between objects:

Table 4-2 Command Keys

CommandKey Description

PgUp/PgDn↑↓

Moves forward-backward through data.

Ctrl-PgUp / PgDn Moves to next class of object.

Ctrl-↑↓ Moves to next instance within the object class.

Ctrl-Home Jumps to first memory address.

Ctrl-End Jumps to last memory address.

r Moves to beginning of RipTide Data.

> Follows data pointer, pushing current location onto address stack.

< Pops pointer from address stack, making it the current location.

Data having pointers are preceded by an asterisk (*)

4-3

Page 140: XMP Software Tools & Utilities Guide

“Board Data” Panel (F1)The start-up panel contains data about the controller board, including software and hardware configuration.

Figure 4-1 “Board Data” VM3 Panel.

• Board Type— XMP controller board installed. Two settings:01— Hammerhead1

02— XMP standard (includes both PCI and CPCI).

• FPGA Prom Version— FGPA (Field Programmable Gate Array) Version type on controller board.

XXX— Undetermined— VM3 cannot determine version of FPGA PROM

• Board Revision— Revision designator for XMP board. Two options:

01— Old version.02— New version.

• Signature— Only one signature is used: C0FFEE. This confirms that firmware has been successfully loaded onto the board. Any other signature—or a missing signature—indicates that the board lacks firmware and/or is malfunctioning.

• Maximum Axes— Maximum number of axes configurable on the XMP controller. This is hardware-dependent, and ranges between 1 and 24 axes. Standard XMP boards can accommodate up to 8 axes; additional axes may be added via an expansion board.

• Enabled Motors— Number of Motors currently configured for the XMP controller.

• Enabled Filters— Number of Filters currently configured for the XMP controller.

1. The “Hammerhead” board (FPGA Prom Version 01) is a prototype controller card which preceded the standard XMP-series controller.

4-4

Page 141: XMP Software Tools & Utilities Guide

• Enabled Axes— Number of Axes currently configured for the XMP controller card. This number cannot exceed the Maximum Axes value.

• Enabled Motion Supervisors— Number of Motion Supervisors currently configured for the XMP controller.

• Enabled Program Sequencers— Number of Program Sequencers currently configured for the XMP controller.

• Software ID— Firmware number. This is usually a three-digit num-ber (e.g., 266, etc.).

• Revision— Firmware revision number.

• Sub-Revision— Firmware minor revision number.

• Developmental— N/A.

• Option— Optional number for custom firmware identifier.

• Timer— Cumulative timer counts. To reset the motion controller and zero the timer, use the F9 key.

• Sample Period— Samples per second. Default is 20 kHz (19999). Each tick is 50 nanoseconds.

• Command Buffer Address— Location of command buffer.

• Map File— Map file utilized in current configuration (e.g., xmp-NNN.map, where NNN is the firmware version number). NOTE: NNN must be the same as the firmware number.

4-5

Page 142: XMP Software Tools & Utilities Guide

VM3 Data Panels and Header FilesXMP data structures displayed on VM3 panels correspond to data structures in the xmp.h header file. Consider the following example:

In this example, data structures MEIXmpSystemData and MEIXmpData (bot-tom), located in the header file xmp.h, are represented in VM3 as shown (top).

/* SystemData */

typedef struct long Signature;long Disable;long SoftwareID;long Option;long EnabledMotors;long EnabledFilters;long EnabledAxes;long EnabledMSs;long EnabledPSs;long EnabledPreFilters;long EnabledCompensators;long EnabledDACs;long EnabledADCs;long EnabledSercosRings;long SingleMotionBlock;long SamplePeriod;long SampleCounter;long CountDelta;long BackgroundCycle;long MaxForegroundTime;long MaxBackgroundTime;long Gate;long HostGate;MEIXmpHWVersionHWVersion[MEIXmpMaxBoards];

MEIXmpSystemData;

typedef struct MEIXmpSystemData SystemData;MEIXmpMotor Motor[MEIXmpMAX_Motors];MEIXmpFilter Filter[MEIXmpMAX_Filters];MEIXmpAxis Axis[MEIXmpMAX_Axes];MEIXmpMotionSupervisor MS[MEIXmpMAX_MSs];MEIXmpProgramSequencer PS[MEIXmpMAX_PSs];MEIXmpHostMessage HostMessage;MEIXmpDataRecorder Recorder;MEIXmpCompensator Compensator[MEIXmpMAX_Compensators];MEIXmpDAC DAC[MEIXmpMAX_DACs];MEIXmpADC ADC[MEIXmpMAX_ADCs + 1];MEIXmpBlock Block[MEIXmpMaxCapBlocks];MEIXmpInternalData Internal;

MEIXmpData;

4-6

Page 143: XMP Software Tools & Utilities Guide

“Commands” Panel (F2)Pressing the F2 key displays external memory (i.e., memory located on XMP board components other than the SHARC DSP processor), organized by com-mand number. The first address in this memory block is 0x00400000.

Figure 4-2 “Commands” VM3 Panel

MemoryAddress

Command Comment MemoryData

4-7

Page 144: XMP Software Tools & Utilities Guide

“Auto” Panel (F3)Pressing F3 displays memory data, arranged by object, with data values dis-played in either hexadecimal, decimal, or float format. Objects with pointers have their data preceded by an asterisk (e.g., *0x0028026 on the sixth memory data line below). The choice of which data format to use is determined auto-matically, with data generally displayed in its most commonly used format.

Figure 4-3 “Auto” VM3 Panel‘

XMP data structure label MemoryAddress

Memory Data(hexadecimal, decimal, or float) Pointers

with an (*).indicated

4-8

Page 145: XMP Software Tools & Utilities Guide

“Hex” Panel (F4)Pressing F4 displays memory data, arranged by object, with data values dis-played in hexadecimal format only.

Figure 4-4 “Hex” VM3 Panel‘

“Decimal” Panel (F5)Pressing F5 displays memory data, arranged by object, with data values dis-played in decimal format only.

Figure 4-5 “Decimal” VM3 Panel‘

XMP data structure label MemoryAddress

Memory Data(Hexadecimal)

XMP data structure label MemoryAddress

Memory Data(Decimal)

4-9

Page 146: XMP Software Tools & Utilities Guide

“Float” Panel (F6)Pressing F6 displays memory data, arranged by object, with data values dis-played in floating decimal format.

Figure 4-6 “Float” VM3 Panel ‘

MemoryAddressXMP data structure label

Memory Data(Floating Decimal Point)

4-10

Page 147: XMP Software Tools & Utilities Guide

“Dump” Panel (F8)Pressing F8 dumps memory data to the file, "Xmpdump.bin" in the local direc-tory. This file can be loaded later into VM3 for further inspection.

Figure 4-7 “Dump” VM3 Panel‘

4-11

Page 148: XMP Software Tools & Utilities Guide

4-12

Page 149: XMP Software Tools & Utilities Guide

CHAPTER 5XMP CONFIGURATION UTILITY

IntroductionThe XMP Configuration Utility provides a means of configuring the XMP using text files. The text files contain symbolic configuration data for MPI objects in a format that is independent of firmware version. You can get configuration data for MPI objects from XMP RAM or flash memory and save it to a text file. Similarly, you can load configuration data for MPI objects from a text file and set either XMP RAM or flash memory. Command line arguments to the config utility make it possible to selectively configure MPI objects.

The config utility makes it easy to upgrade to a new release of XMP firmware while retaining custom firmware configuration. It is also easy to configure the XMP without writing any code.

Command-Line SyntaxThe config utility is located in the XMP\bin\WinNT directory of your MPI/XMP installation path. The command-line syntax is as follows:

config [-ram|-flash] [-map map-file] get output-file [object[#] ...]

config [-ram|-flash] [-map map-file] set input-file [object[#] ...]

Options:

-ram use XMP’s volatile memory (default)

-flash use XMP’s non-volatile (flash) memory

-map use map-file in place of the default input map file

map-file filename of input map file

NOTICE The default input map file is named xmp###.map where ### is the firmware version number for which the config utility was built. It is installed into the XMP\bin\WinNT directory of your MPI/XMP installation path.

The input map file will be searched for in the directory from which the config utility was executed, the current directory, the Windows system directory (system32), the Windows directory and the directories in the PATH environ-ment variable.

get get configuration from XMP RAM or flash and save to output-file

output-file path/filename for output configuration file

set load configuration from input-file and set XMP RAM or flash

5-1

Page 150: XMP Software Tools & Utilities Guide

input-file path/filename for input configuration file

object MPI object(s) to get/set.

Case-sensitive values for object are:

• adc[#]

• axis[#]

• capture[#]

• control

• dac[#]

• eventmgr

• filter[#]

• motion[#]

• motor[#]

• node[#]

• recorder

• sequence[#]

• sercos[#]The absence of a number (i.e. #) immediately following an object on the com-mand line indicates that all objects of that type are selected. Otherwise, only the object specified by the number is selected. Objects must be separated by a space. If no objects are specified, all objects are selected.

5-2

Page 151: XMP Software Tools & Utilities Guide

ExamplesThe examples below use a configuration file with a suffix of “.cfg”. The use of this suffix is recommended, but it is not required.

To get RAM configuration of all MPI objects and save to a file:

config get all.cfg

To get flash configuration of all MPI objects and save to a file:

config –flash get all.cfg

To load configuration of all MPI objects from a file and set flash (non-volatile) memory:

config -flash set all.cfg

To get RAM configuration for all axes and save to a file:

config get axes.cfg axis

To get RAM configuration for axis 3 and filter 5 and save to a file:

config get a3f5.cfg axis3 filter5

To load configuration of axis objects from a file and set flash (non-volatile) memory:

config -flash set all.cfg axis

To load configuration of axis objects from a file and set RAM:

config set a3f5.cfg axis

Note that the a3f5.cfg file contains configuration data only for axis3 and filter5, so the only axis that will actually be configured is axis 3. Similarly, while the fol-lowing defaults to all MPI objects, only axis3 and filter 5 will be configured:

config set a3f5.cfg

To get RAM configuration of the control object and save to a file:

config get control.cfg control

To set RAM configuration to an axis count of 8:

Create file axis.cfg with the following line:

MPIControlConfig.axisCount 8config set axis.cfg control

or

config set axis.cfg

5-3

Page 152: XMP Software Tools & Utilities Guide

Firmware/Library UpgradesConfiguration files are usable with different firmware and library revisions, i.e. older configuration files will generally work with newer versions of the firmware and library. The exception is when a field from an older configuration file is no longer supported. In such a case, one of the following messages will be dis-played:

`field`: name not found

This message indicates that the `field` member of an MPI Config structure is either no longer supported or in error.

`field`: `value`: name not found

This message indicates that the `field` member of an MPI Config structure is a pointer and the symbolic XMP address `value` is either no longer supported or in error.

In either case the field will be ignored.

If a new field has been added, there is no way for an older configuration file to handle it. Newly added fields will remain at their current value.

To upgrade to a new version of the MPI library and/or XMP firmware while re-taining custom configuration, do the following:

• config –flash get all.cfg

• install new library and firmware

• config –flash set all.cfg

5-4

Page 153: XMP Software Tools & Utilities Guide

Modifying ConfigurationIt is possible to create a configuration file or to modify an existing one. For ex-ample, to modify gain configuration for filters 0 through 2, create a file called filter.cfg with the following lines:

MEIFilterConfig[0].GainSwitchType 0

MEIFilterConfig[0].GainDelay 0.000000

MEIFilterConfig[0].GainWindow 500

MEIFilterConfig[1].GainSwitchType 0

MEIFilterConfig[2].GainDelay 0.000000

MEIFilterConfig[1].GainWindow 500

MEIFilterConfig[2].GainSwitchType 0

MEIFilterConfig[2].GainDelay 0.000000

MEIFilterConfig[3].GainWindow 500

Changing the numeric value on the right hand side will change the configura-tion value on the XMP, only after you execute a config set command, such as any of the floowing:

config set filter.cfg

config set filter.cfg filter

config set filter.cfg filter0 filter1 filter2

You must not change the data type when you change a value. Values for type long may be specified in decimal, octal (leading 0) or hexadecimal (leading 0x). Values for type float or double must contain a decimal point. Values for type pointer must be a symbolic XMP address.

5-5

Page 154: XMP Software Tools & Utilities Guide

Open Issues• There is no backward compatibility with earlier configuration files.

5-6