AXIMA Software Reference Manual
Transcription
AXIMA Software Reference Manual
AXIMA Software Reference Manual P/N 400262-00 Rev.: A1 Date: October 31, 1997 © 1997 EMERSON Motion Control. All Rights Reserved. P/N 400260-0 AXIMA Software Reference Manual Information furnished by EMERSON Motion Control is believed to be accurate and reliable. However, no responsibility is assumed by EMERSON Motion Control for its use. EMERSON Motion Control reserves the right to change the design or operation of the equipment described herein and any associated motion products without notice. EMERSON Motion Control also assumes no responsibility for any errors that may appear in this document. Information in document is subject to change without notice. P/N 400262-00 Rev.: A1 Date: October 31, 1997 © 1997 EMERSON Motion Control. All Rights Reserved. P/N 400290-00 AXIMA Software Reference Manual © 1997 EMERSON Motion Control. All Rights Reserved. Document Number: 400262-00 No part of this manual may be reproduced by any means without the written permission of EMERSON Motion Control. EMERSON Motion Control is a registered trademark of EMERSON Motion Control. AXIMA is a trademark of EMERSON Motion Control. Printed in U.S.A. October 1997, Revision A2 Microsoft, Excel, and Windows are registered trademarks of Microsoft Corporation. IBM is a registered trademark of International Business Machines, Inc. Modbus is a trademark of Modicon, Inc. Data Highway Plus are trademarks of Allen-Bradley This document has been prepared to conform to the current released version of hardware and software system. Because of our extensive development efforts and our desire to further improve and enhance the product, inconsistencies may exist between the product and documentation in some instances. Call your customer support representative if you encounter an inconsistency. ii Customer Service EMERSON Motion Control offers a wide range of services to support our customer’s needs. Listed below are some examples: Service Support (612) 474-8833 EMERSON Motion Control’s products are backed by a team of professionals who will service your installation wherever it may be. Our customer service center in Minneapolis, Minnesota is ready to help you solve those occasional problems over the telephone. Our customer service center is available 24 hours a day for emergency service to help speed any problem solving. Also, all hardware replacement parts, should they ever be needed, are available through our customer service organization. Need on-site help? EMERSON Motion Control provides service, in most cases, the next day. Just call EMERSON’s customer service center when on-site service or maintenance is required. Training Services (612) 474-1116 EMERSON Motion Control maintains a highly trained staff of instructors to familiarize customers with EMERSON Motion Control’s products and their applications. A number of courses are offered, many of which can be taught in your plant upon request. Application Engineering An experienced staff of factory application engineers provided complete customer support for tough or complex applications. Our engineers offer you a broad base of experience and knowledge of electronic motion control applications. Bulletin Board System (612) 474-8835 EMERSON Motion Control maintains a BBS which provides you access to software updates, and technical information and services. Communications protocol: 300 to 28,800 baud, N, 8, 1 FAX (612) 474-8711 Internet Website www.emersonemc.com iii AXIMA Software ReferTable of Contents Getting Started Hardware and Software Requirements . . . . . . . . . . . 1 Additional Reference Materials . . . . . . . . . . . . . . . . . 1 Installation Instructions . . . . . . . . . . . . . . . . . . . . . . . 1 Firmware Compatibility . . . . . . . . . . . . . . . . . . . . . . . 2 Starting and Exiting . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Starting the Software . . . . . . . . . . . . . . . . . . . . . . 3 Exiting the Software . . . . . . . . . . . . . . . . . . . . . . . 4 Accessing Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Upload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Download . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 OnLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Working with Applications Creating or Opening Applications. . . . . . . . . . . . . . . . 9 Viewing or Editing Applications . . . . . . . . . . . . . . . . . 9 Application Creation Procedure . . . . . . . . . . . . . . 11 Dialog Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Controller Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Coordinate System. . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Axis Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Axis Servo Loop Options . . . . . . . . . . . . . . . . . . . . . . . 26 Axis Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Program Quantity . . . . . . . . . . . . . . . . . . . . . . . . . 31 Program Verification . . . . . . . . . . . . . . . . . . . . . . . 31 Editing Programs . . . . . . . . . . . . . . . . . . . . . . . . . 32 Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Variable List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Variable Definition . . . . . . . . . . . . . . . . . . . . . . . . 40 Cut, Copy, Paste. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Cutting and Copying Application Items. . . . . . . . 43 Cutting, Copying Program Instructions. . . . . . . . 44 v AXIMA Software Reference Manual Pasting from the AXIMA Software Clipboard . . Conflicts Resolution Dialog Box. . . . . . . . . . . . . . Resolving Conflicts . . . . . . . . . . . . . . . . . . . . . . . . Conflict Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . Analog Input Configuration . . . . . . . . . . . . . . . . . . . . Configuration Overview . . . . . . . . . . . . . . . . . . . . Analog Input Configuration Dialog Box . . . . . . . Configuration Steps . . . . . . . . . . . . . . . . . . . . . . . Assigning Variables to Analog Input Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Analog Input Calibration . . . . . . . . . . . . . . . . . . . . . . Expanded I/O Option . . . . . . . . . . . . . . . . . . . . . . . . . Expanded I/O Overview . . . . . . . . . . . . . . . . . . . . Expanded I/O Software Setup . . . . . . . . . . . . . . . 45 47 49 51 55 55 55 56 57 58 59 59 59 Motion and Auxiliary Instruction Reference Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Instruction Definitions . . . . . . . . . . . . . . . . . . . . . . . . 67 PLC Instruction Reference Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 Instruction Definitions . . . . . . . . . . . . . . . . . . . . . . . . 141 Expression Reference Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 Expression Definitions . . . . . . . . . . . . . . . . . . . . . . . . 153 Tuning Procedures Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Step 1 - Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Step 2 - Adjust Offset . . . . . . . . . . . . . . . . . . . . . . . . . Adjusting the Drive Offset . . . . . . . . . . . . . . . . . . Step 3 - Drive Tuning . . . . . . . . . . . . . . . . . . . . . . . . . Setting up a Motion Profile . . . . . . . . . . . . . . . . . Procedures for Drive Tuning . . . . . . . . . . . . . . . . Step 4 - AXIMA Tuning . . . . . . . . . . . . . . . . . . . . . . . vi 157 158 162 163 164 165 167 170 Diagnostics and Debugging Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 AXIMA Controller Status Display . . . . . . . . . . . . . . . 173 Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 Application Diagnostics. . . . . . . . . . . . . . . . . . . . . 174 Coordinate System Diagnostics . . . . . . . . . . . . . . 175 Axis Diagnostics . . . . . . . . . . . . . . . . . . . . . . . . . . 176 Program Diagnostics . . . . . . . . . . . . . . . . . . . . . . . 177 Program Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 Program Control with PLC Programs . . . . . . . . . 178 Error Messages Controller Messages. . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Software Messages. . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 Communications Messages . . . . . . . . . . . . . . . . . . 187 Application Messages . . . . . . . . . . . . . . . . . . . . . . 190 Coordinate System Messages . . . . . . . . . . . . . . . . 190 Axis Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 Axis Limits Messages . . . . . . . . . . . . . . . . . . . . . . 192 Program Messages. . . . . . . . . . . . . . . . . . . . . . . . . 192 Instruction Messages . . . . . . . . . . . . . . . . . . . . . . 194 Variable Messages . . . . . . . . . . . . . . . . . . . . . . . . . 197 Cut/Copy/Paste Messages . . . . . . . . . . . . . . . . . . . 199 Other Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 Troubleshooting Guide Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 AXIMA Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 AXIMA 2000/4000 Controller . . . . . . . . . . . . . . . . . . . 207 Pre-defined Variables Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Coordinate System. . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 Integer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 Floating Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 Axis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 vii AXIMA Software Reference Manual Integer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Floating Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . Other . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Other (Bit) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Other (Integer) . . . . . . . . . . . . . . . . . . . . . . . . . . . Encoders (Integer) . . . . . . . . . . . . . . . . . . . . . . . . Command Outputs (Floating Point) . . . . . . . . . . Analog Inputs (Floating Point) . . . . . . . . . . . . . . 226 228 234 234 236 236 237 237 Pre-defined Variable Generic Identifiers Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Coordinate System Parameters . . . . . . . . . . . . . . Axis Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . Object Parameters . . . . . . . . . . . . . . . . . . . . . . . . PLC Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . Miscellaneous Parameters . . . . . . . . . . . . . . . . . . Flags. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Coordinate System Flags . . . . . . . . . . . . . . . . . . . Axis Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Secondary Master Flags . . . . . . . . . . . . . . . . . . . . Program Flags: PROG1 - PROG8 . . . . . . . . . . . . Program Flags: PROG9 - PROG16 . . . . . . . . . . . PLC Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Inputs and Outputs. . . . . . . . . . . . . . . . . . . . . . . . . . . Miscellaneous Inputs . . . . . . . . . . . . . . . . . . . . . . Miscellaneous Outputs . . . . . . . . . . . . . . . . . . . . . Expanded Inputs and Outputs . . . . . . . . . . . . . . . . . . Index viii 239 240 240 241 243 244 244 245 245 247 248 249 250 250 252 253 253 254 AXIMA Reference ManGetting Started Hardware and Software Requirements The AXIMA Software will run on any IBM® personal computer (PC) or compatible with Microsoft Windows® version 3.1 or higher, at least 4 MB of RAM, 6 MB of available hard disk space, one serial port (a second port is required if you are using one for a mouse) and a 3.5” floppy disk drive. It is recommended, but not necessary, to use a mouse when operating in the AXIMA Software. Additional Reference Materials The following related reference and installation manuals may be required to use the AXIMA Software with your particular system. • • • • • • • AXIMA User’s Guide (P/N 400262-00) AXIMA Connectivity Manual (P/N 400265-00) AXIMA Installation Manual (P/N 400328-00) AXIMA 2000/4000 Installation Manual (P/N 400266-00) E Series Drives Basic Installation Manual (P/N 400500-01) User’s Guide for the LX Brushless Servo Drives (P/N 400272-00) User’s Guide for the MX Brushless Servo Drives (P/N 400268-00) Installation Instructions 1. Insert disk into drive A. 2. Choose the Run command from the File menu in the Windows Program Manager. 1 P/N 400290-00 AXIMA Reference Manual 3. Type A:\install (substitute the appropriate letter for your floppy disk drive). Installation will take about five minutes. The install program automatically: • Creates the directories on your hard drive named: C:\EMERSON\AXIMA C:\EMERSON\MONITOR • Creates a new Windows group called "EMERSON Motion Control". • Loads the required DLL's into your Windows system directory. Refer to the readme.txt file located on the installation floppy for more information. Firmware Compatibility The AXIMA firmware is burnt into the PROM chip which is installed on the AXIMA controller. The information below summaries the AXIMA firmware revisions: A0 • Initial release. A1 • Not used. A2 • Added “Pause”, “Continue”, “Where Am I?” and “Single Step” features to the program control. • Added Rotary and Rotary PLS programming Instructions. • Added Jog Incremental, Jog Absolute and Jog Forward/Revers flags. A3 • Installed faster PROM chip. A4 • Added the S-Curve feature. 2 Getting Started • • Added Gear Acceleration/Deceleration. Added Analog Inputs. A5 • • Added Masking to support Modbus® and Data Highway Plus®. Added stepper support. A6 • • • • Com 2 port autobaud overdrive selection in controller options. Direction limit bit parameters. Added Registration Move. Initial Release for AXIMA 2000/4000. A7 • Modbus and Data Highway can identify the AXIMA type; 1 AXIMA, 3 - AXIMA 2000/4000. Starting and Exiting Starting the Software From Windows 3.1: Double click the “EMERSON Motion Control” Group. Double click the “AXIMA 2.0” icon. From Windows 95: Click the Start button on the taskbar at the bottom left of the screen. Click on the Programs selection. The Programs menu appears. Click on the “EMERSON Motion Control” selection. Click on the AXIMA 2.0 selection. 3 AXIMA Reference Manual Exiting the Software Choose File from the menubar, then click Exit. If you are using the keyboard, press the shortcut key combination Alt, F, X. If you made changes to any Application, the AXIMA Software displays an Alert dialog box asking whether you want to save your current work. Click the “Yes” button or press Enter to save your work, or click the “No” button to quit without saving. Accessing Help All AXIMA Software dialog boxes provide a Help button. This retrieves help for that part of the Application or that Instruction type (e.g. Sinusoidal Move) and provides details to assist you in the use of each dialog box. Also provided is a “Table of Contents” based help system. Lastly, there is the ability to search based upon a keyword. Online Help displays detailed procedural and reference information. It contains some information that does not appear in this manual. To display Online Help in the AXIMA Software, do one of the following: 4 • Press F1. • Choose a command from the Help menu. • Click the Help button on a dialog box. Getting Started Communications Setup The AXIMA Software will establish serial communications when you select either the Upload, Download or OnLine commands from the File menu (or by selecting the Upload, Download or Online icons from the tool bar). In a multi-drop configuration you will be prompted for the controller address unless you check the Prompt For Controller Address option in the Communications tab of the Preferences dialog box. Upload The Upload option (from the File menu or the Upload icon) allows you to upload an Application from the controller. This process may take up to three minutes (at 19.2 Kbaud). A window is displayed showing the percent complete and provide the ability to cancel the upload. The new Application window is placed on top of any previous Applications. The new Application is created with the data from the controller. An important feature of the AXIMA Software is the ability to upload (restore) the entire Application from the controller. This means that File,Upload and File,Open provide identical functionality. File,Upload restores all instructions, comments, names, programs, coordinate systems with no exceptions. Download The Download option (from the File menu or the Download icon) transmits the current application from your PC to the AXIMA controller. This process may take up to three minutes (at 19.2 Kbaud). 5 AXIMA Reference Manual NOTE: It is important that you remember that when creating and editing Applications off-line, the changes you make do not occur in the AXIMA controller until they are downloaded. AXIMA CONTROLLER DO WN LO AD UP LO AD PERSONAL COMPUTER WITH AXIMA SOFTWARE AND YOUR APPLICATION Figure 1 6 Upload/Download Applications Getting Started Version Download Message After communications with the AXIMA controller has been established, the AXIMA Software displays a message box (shown below) if an application already exists in the AXIMA controller’s memory. The purpose of this message is to provide data about the application currently in memory and to provide you with the option to cancel the download before the new Application is downloaded overwriting the Application currently in the AXIMA controller. Figure 2 Version Download Message Figure 3 Download Completed Message 7 AXIMA Reference Manual OnLine The OnLine option (from the File menu) allows you to go “online” with the AXIMA controller. This process may take up to 30 seconds (at 19.2 Kbaud). When the Online mode is initially selected, the AXIMA Software uploads all application details except the instructions contained within the programs. As programs are selected in Online mode each program is uploaded as needed. When in the Online mode the software operates differently in important ways. First, the OK buttons for Application, Coordinate System, Axis and Programs have been changed to Send. However, these buttons are grayed since the online mode operates in read-only. OnLine mode also provides the following features: Diagnostics, Program Control, EEPROM Utilities and Tuning. 8 AXIMA Reference ManWorking with Applications Creating or Opening Applications Applications are created by selecting either New, Open, Upload or OnLine from the File menu. • The New option is used to create a completely new Application. • The Open option is used to open an existing Application from your hard drive. • The Upload option will upload the Application currently in the AXIMA controller to your PC. • The Online option will upload and download sections of the Application as you move between dialog boxes. Viewing or Editing Applications An important and useful feature of the AXIMA Software is the support for editing and viewing of multiple Applications simultaneously. For example, it is possible to edit two Applications off-line (from your PC's disk) and also have an online Application open. All combinations are supported with the single exception that only one online Application per serial port is allowed to be open at any one time. Editing an Application is done from the "Edit Window" within the AXIMA Software. The edit window is divided into two halves, the left half is referred to as the hierarchy view and a right half is referred to as the details view. The hierarchy view displays your Application in a hierarchical fashion with the Application name at the top left. The 9 P/N 400290-00 AXIMA Reference Manual first Coordinate System below and indented from the Application followed by the first axis in the Coordinate System below and indented from there and so on. Highlighted Item Hierarchy View Figure 4 Detail View AXIMA Software’s Edit Window The right half displays a detailed view of the item highlighted in the hierarchy view. Double clicking a line on the hierarchy view will expand or contract that line’s sub-parts. Double clicking a line on the details view will bring up the appropriate dialog box to edit that piece of information with the focus on the correct field within the dialog box for easy modification. Below is the recommended procedure for creating an Application. This procedure assumes that the Application is a new application offline. If the Application is not new, subsets of this procedure are used. This procedure illustrates the steps involved and the navigation between the various dialog boxes. 10 Working with Applications Application Creation Procedure 1. Select New from the File menu. A new application window is displayed 2. Double click on Application Name in the details view side. The Application dialog box will appear where you name your Application and add comments as needed. We recommend that the first word of the Application name is the file name. 3. With Controller Options highlighted in the hierarchy view, choose Add Coordinate System from the Edit menu or use the Add Coordinate System icon from the toolbar. Add the Coordinate Systems needed for the application and give each Coordinate System a unique name. 4. For each Coordinate System, add the axes, give each axis a unique name and select the DAC and encoder for each axis. 5. For each axis, select the drive type, motor size, velocity, torque, or pulseloop control. This allows defaults to be used for the axis servo loop options 6. Review the servo loop options, using the Defaults button to load gains and add filters (if necessary). Later you will be able to adjust these values with the Tuning Procedure. 7. Edit the axis limits in the Axis Limits dialog box. 8. Create the Motion and PLC Programs for all of the Coordinate Systems. 9. Save the Application to disk. All dialog boxes used to create and/or edit an Application (including creating Motion, PLC and Auxiliary Programs) are described on the following pages. The order of the dialog boxes follows the Application setup procedure above. 11 AXIMA Reference Manual Dialog Boxes The AXIMA Software uses dialog boxes as a method of gathering information. Most of the dialog boxes are “modal”, that is, you can not switch between dialog boxes until you finish (OK/Cancel) the currently displayed dialog box. Each dialog box contains a series of fields you can move between by pressing the Tab key. These fields allow you to enter information in a number of ways (e.g. select from lists, press buttons, enter test in boxes, check boxes, etc.). Some fields on these dialog boxes will not be needed in certain situations, these fields are “grayed”. Application To display this dialog box, highlight the Application name (top line on the hierarchy view side) then double click any line on the details view side (right side). This dialog box allows you to do the following: 12 • Name the Application using up to 20 alpha-numeric characters. • View Coordinate Systems and Auxiliary Programs. • Enter Comments that describe the Application in detail. • Set Application options. • Enter a User Version which provides a convenient way to keep track of updates done to your Application. Working with Applications Figure 5 Application Dialog Box Options Button Clicking on this button displays the Applications Options dialog box allowing you to adjust the Servo Loop Update Interval (SUI). The units are in microseconds. Figure 6 Application Options Dialog Box The position loop for all axes will be updated within the SUI time you enter here. The smaller the setting, the quicker the servo loop will be updated. However, the servo update processing time takes away from Motion or Auxiliary Program instruction execution time. One PLC (Programmable Logical Controller) program is executed per interval, therefore, this setting will effect the PLC program performance. Also, the Input/Output (I/O) is updated after all PLC programs are executed, this setting will affect the I/O update rate. 13 AXIMA Reference Manual The goal is to balance DSP (Digital Signal Processor) performance to provide as much processing time for all Motion, Auxiliary and PLC Programs while updating the servo loops adequately. The table below shows general guidelines for the Servo Loop Update Interval verses the number of axes in your Application. Table 1 Servo Loop Update Interval Number Of Axes Range In Microseconds 2 Axes 200-700 4 Axes 200-700 6 Axes 300-700 8 Axes 400-700 Memory Button The Controller Memory dialog box shown below is displayed when you select the Memory button from the Application dialog box. Figure 7 Controller Memory Dialog Box There are two numbers provided, the first number is the controller memory used by the application. To avoid running out of memory, you should keep track of memory consumption while programming in the AXIMA Software. The second number is the total controller memory available. These two numbers will total 64K bytes (or 128K depending on the AXIMA controller model). 14 Working with Applications Every character, instruction, comment, formula, program, variable definition, system parameter, etc. will take up additional memory. Below is a list of memory required to generate the desired function: Application definition 550 bytes* Coordinate System definition 575 bytes* Auxiliary Program definition 275 bytes* Axis configuration 400 bytes Servo limit values 20 bytes Instructions 200 - 20 bytes Variables (definition of 6 characters) 40 bytes (plus type...) Integer 4 bytes Floating Point 8 bytes Array 4 bytes (plus INT. or F.P.) * more memory is used with additional commenting. 15 AXIMA Reference Manual Controller Options Clicking on the words "Controller Options" on the left side (hierarchy view) of the edit window will display the controller option parameters on the right side (details view). Double clicking on any of the Controller Option lines in the details view will display the Controller Options dialog box. This dialog box allows you to select the memory, number of axes in the controller, standard or expanded I/O, connectivity type and enable or disable the analog inputs feature. Figure 8 Controller Options Dialog Box Reconfiguration When you select the different AXIMA controller types the AXIMA Software will try to reconfigure the Application for that particular 16 Working with Applications controller type. You will be informed about conflicts and changes that need to be completed before the configuration can be completed. ! WARNING Changing the configuration of a AXIMA to an AXIMA 2000/4000 will not update the PLS array and mask automatically. Change these under the PLS Definition Instruction or reconfiguration options. Coordinate System The Coordinate System dialog box appears when you select "Add Coordinate System" from the Edit menu or by double clicking on the Coordinate System name in the details view of the applications window. The Coordinate System dialog box allows you to add, view or make changes to a Coordinate System in the Application that is currently open. The dialog box allows you to do the following: • • • Give or change the name of the Coordinate System. View axes. Set Coordinate System options. Confirm (OK) or cancel changes to this Coordinate System. Note that the only changes canceled are the ones done with this dialog box. Figure 9 Coordinate System Dialog Box 17 AXIMA Reference Manual Options Button The Coordinate System Options dialog box below appears when you select the Options button from the Coordinate System dialog box. Figure 10 Coordinate System Options Dialog Box Acceleration The Acceleration time set here, is the initial value used by the motion program. Deceleration The Deceleration time set here is the initial value used by the motion program. S-Curve The S-Curve parameter is used to reduce the tendency of the motor to jerk when accelerating and decelerating by controlling the slope of the acceleration versus time profile. If this values is zero (Ø), the acceleration profile is rectangular. Otherwise, the acceleration profile is trapezoidal, clipped at the top or bottom by the current acceleration or deceleration. The best value for S-Curve is four to eight times the acceleration value. A zero value disables this feature. 18 Working with Applications The following figure illustrates the result of the S-Curve feature on a normal move. Figure 11 S-Curve Velocity Profile External Time Button The External Time Base Setup dialog box appears when you select the External Time button from the Coordinate System dialog box. This option sets up the external time base parameters used when external time base velocity is selected in a Motion Program. When an external time source is used to determine the velocity of a move instead of the internal clock, the move is based on the frequency of encoder pulses rather than seconds or minutes. Figure 12 External Time Base Setup Dialog Box Master Units Use this parameter to specify user units that will be associated with this coordinate system’s external encoder such as Revs, Feet, Inches, mm, etc. 19 AXIMA Reference Manual Master Counts/Units This parameter defines the number of encoder counts per Master Unit. For example, if you entered “inches” for master units, and on revolution of the encoder equals four inches of travel, then the Master Counts/Units would be 4096/4 = 1024. Time Source This parameter allows you to select the encoder which will be the external time source for this coordinate system when external time base velocities are used. Signal This options in this list box determine how the encoder pulses will be will be acted on. There are five options to choose from: Comp +, Comp -, Plus, Minus, and Plus and Minus. Comp + In this mode, The follower axes will only respond to master encoder pulses when the master encoder is running in the CW direction. The AXIMA counts the pulses received in the CCW direction and ignores that same number of CW pulses before motion resumes in the follower axes. Comp In this mode, The follower axes will only respond to master encoder pulses when the master encoder is running in the CCW direction. The AXIMA counts the pulses received in the CW direction and ignores that same number of CCW pulses before motion resumes in the follower axes. Plus In this mode, motion will only occur in the follower axes when master encoder pulses are received in the CW direction. Follower axes will not respond to encoder pulses in the CCW direction. 20 Working with Applications Minus In this mode, motion will only occur in the follower axes when master encoder pulses are received in the CCW direction. Follower axes will not respond to encoder pulses in the CW direction. Plus And Minus In this mode, motion will occur in the follower axes, in the commanded direction, whenever master encoder pulses are received, regardless of the direction (either CW or CCW). Axis Parameters The Axis Parameters dialog box below allows you to define each axis. Each axis has a command output (DAC) and an encoder input (ENC). Figure 13 Axis Parameters Dialog Box Axis Name You can enter up to 20 alpha-numeric characters for the name of each axis. 21 AXIMA Reference Manual Connector Number The number box is where you specify which axis connector (located on the front panel of the AXIMA) this axis will interface with. Servo Control The servo control section describes drive controller and motor combination is used with this axis. For example, If you are using an EMERSON Motion Control MX-280 amp with a BL-316 motor, select the appropriate drive and motor models in the Drive and Motor boxes. If you are not using an EMERSON drive or motor, select unspecified. Loop Control The loop control options are used to select whether DAC signal is connected to the drives velocity or torque loop input. This selection will cause different servo defaults to be loaded in the axis servo options dialog box. Polarity This parameter allows you to change the polarity of the polarity of the axis which controls the direction of the motor and the encoder. Units You can specify individual user units to be associated with each axis, this allows all motion to be defined in terms of the user units. The CW Direction and CCW Direction boxes allow you to enter descriptive names for what it means to turn the motor CW and CCW. User units name are used as labels in various programming instructions. Encoder Counts/Unit Encoder counts/unit is the number of encoder pulses per user unit times the multiplier. For example, if your encoder produced 1024 pulses/revolution, and user units are revolutions, one revolution of the encoder is equated to one user unit of motion (or one revolution) with a multiplier of 4 the Encoder Counts/Unit would be 4096. 22 Working with Applications Rotary Length The Rotary Length function is only available when A4 or later firmware is used. This option sets the rotary axis length used for the shortest distance calculations. The default rotary length is 0.0 for all axes, disabling shortest distance moves. If the rotary length of an axis is non-zero, a MOD function is done on absolute moves and the result is run through a shortest distance calculation. The resulting move will never be longer than half the rotary axis length. Incremental moves are not affected by the rotary axis length. This option actually converts absolute moves into incremental moves that are up to plus or minus half the rotary length. Profiler positions are normally generated that lie outside of the rotary length boundaries. The Normalize instruction can be used to return the current position to within the bounds of the rotary length. Options Button The More Axis Parameters dialog box below appears when you select the Options button from the Axis Parameters dialog box. Figure 14 More Axis Parameters Dialog Box 23 AXIMA Reference Manual Command Gain The value you enter here is used to calibrate the analog output signal (i.e. gain adjust will linearly adjust the output). Offset The Offset box allows you to apply a correction to the analog output command which otherwise may cause slow rotation of the motor with a zero command output. Feedback Source Encoder Number The number box is where you specify which axis connector (located on the front panel of the AXIMA) this axis will interface with. Typically, this is the same connector as the command connector number. Encoder Multiplier The encoder multiplier may be either -4, -2, -1, 1, 2, or 4. A positive encoder multiplier will count up with encoder pulses, negative counts down. A multiplier of 1 counts on the rising edge of the A channel. A multiplier of 2 counts on the rising AND falling edge of the A channel. A multiplier of 4 (highest resolution) counts on the rising and falling edge of the A and B channels. This multiplier will directly effect the Encoder Counts/Unit on this Axis Parameters Dialog. For example, if you have a 1024 line encoder, a multiplier of 4, and a User Unit of Revs (motor revolutions) then 4096 should be used for Encoder Counts/Unit. Drive Enable Output # Drive Enable assigns an output to the drive enable switch. The default output is 32 for the first axis and increments by one for each axis thereafter. 24 Working with Applications NOTE: If a potential runaway condition is detected, a warning dialog box will appear. It means the Encoder Multiplier and the Command Gain do not match recommended polarities based on drive type and Loop Control (vel/torq) selections. Change the polarity of the multiplier to “-” and the gain to “+”. Drive Loop Control Gain Multiplier MX Velocity + + MX Torque + + LX Velocity + + LX Torque - + EN Velocity + - EN Torque + - Reconfigure If you change the Axis Connection Number to a different axes type, your application will be reconfigured to the new axis type. This is mainly accomplished by deleting instructions (or portions of instructions) when the axis is changed to pulse. 25 AXIMA Reference Manual Axis Servo Loop Options The Axis Servo Loop Options dialog box allows you to modify the setup of the servo parameters when the Application is downloaded to the controller. These settings can be changed using the Program Control dialog box or by instructions within the Motion Program. Figure 15 Servo loop Dialog Box The Axis Servo Loop Options are the Proportional, Integral, Derivative (PID), Feedforward Velocity and Feedforward Acceleration parameters. There are two parts to the output filter (Low-pass and Notch) that you can adjust. Defaults Button This button will change all options to default values based on the Drive/Motor/Loop control selected on the axis parameters dialog box. 26 Working with Applications Proportional Gain The proportional gain is the coarse adjustment which is used to calculate the proportional term. The gain is multiplied by the total following error at the time of the servo loop update. If the error is zero the Proportional term is zero. The error may be positive or negative. The larger the error the larger the proportional term for a constant gain. The units are Volts/Error Pulses. Integral Gain The integral gain is used to calculate the integral term. The integral term is an additive term that is only modified by addition (could be a negative value being added) at each servo loop update. This term is calculated by integrating the following error over time and multiplying the total error by the integral gain. Delay The integral delay is the time after a move is completed before the integral term is calculated. This is typically used with a time value (i.e. > 0) this causes the integral term to be calculated only after motion has completed. If the integral delay is zero then the integral term is calculated at all times, even when during motion. This term is useful to fine tune the balance of the controller and the LX/MX drive. Limit Since the integral term is additive with each calculation, over time, it may become unbounded. The integral limit is to control (limit) the voltage output produced by the integral term. The units are volts. Derivative Gain The derivative gain is a fine tune adjustment to dampen oscillation of the output signal. The derivative term adjusts the output based 27 AXIMA Reference Manual upon the change (rate of change and direction of change) of the error. This gain should be zero when the Axis is connected to the Velocity loop of the LX/MX Drive. Sample The derivative width controls the rate at which the derivative term is calculated this width is rounded up to the nearest servo loop update calculation. Filter Low-pass Frequency If the frequency is zero the low-pass filter is disabled. If the frequency is non-zero the low-pass filter will filter high frequency output oscillations down to the cutoff frequency entered here. Notch Frequency If the frequency is zero the notch filter is disabled. The notch filter is designed to remove specific output oscillation frequencies that may cause machine vibration. This edit field specifies the center frequency for the notch filter. Notch Bandwidth This edit field is used with the notch frequency field described above. This field specifies the frequency width for the notch filter. Feed Forward Velocity The Feed Forward Velocity term is an open-loop calculation (not error based) that is used by the controller to reduce the following error during constant velocity motion. Acceleration The Feed Forward Acceleration term is an open-loop calculation (not error based) that is used by the controller to reduce the following error during acceleration. 28 Working with Applications Axis Limits The Axis Limits dialog box allows you to define limits for the motion of the axis. These limits control the setting and clearing of Predefined Variables. If a travel limit is exceeded a bit variable is turned on. If you need to disable the drive when limits are exceeded. ! CAUTION Following error, travel limit A and B do not cause the AXIMA controller to Stop motion, they only set flags which allow you to determine the action, usually in one of the AXIMA Software PLC Programs. Figure 16 Axis Limits Dialog Box Position Following Error The AXIMA controller continuously checks the commanded position from the DSP and feedback position from the encoder (or motor). The difference between them is the following error. If the following error 29 AXIMA Reference Manual exceeds the value you enter here, the AXIMA clears a bit "Not Following Error". Travel Limits (A and B) This parameter sets the high and low limits monitored by the "Within Travel Limit A" and "Not Within Travel Limit B" bits Position Band The values you enter here set the in position (motion completed) error limits monitored by the "Not In-Position" bits. When the in position error of a given axis is outside of its in-position band, the not in position bit is set. Command Command Limit Depending on which option you select for the Loop Control parameter in the Axis Parameters dialog box, this parameter limits either the velocity or the torque produced by the drive. The DAC signal must be wired to either the drive velocity input or the drive torque input depending on the loop control mode. Refer to the LX/MX drive manual for further information on command signal wiring. Each drive (axis) in your application may have a different maximum command/velocity rating. Refer to your drive's technical manual for maximum command rating for each drive in your application. Command Band This parameter sets the positive and negative command limit for the analog output to the DAC which is monitored by the not command band bit. If the drive is connected for velocity mode, these values serve as the velocity limits. If the drive is connected for torque mode, these limits serve as the torque limit. The output will be clamped at this limit. If the analog output is more negative than the negative value you enter here, the axis and coordinate system not in command band bits are cleared. If the analog output is more positive than the positive 30 Working with Applications value you enter here, the axis and coordinate system not in command band bits are set. The units are in volts. Programs The dialog box used for creating and editing Motion, PLC or Auxiliary Programs are very similar with the exceptions listed below: • • • • • Auxiliary Programs include a user defined name. PLC Program instructions may not be commented. PLC Programs do not have a priority adjust option. Motion Programs default to High Priority. Auxiliary Programs default to Low Priority. Program Quantity Each of the program types (Motion, PLC, and Auxiliary) have limits on the total number of each. • Number of Motion Programs <= 8 (coordinate systems) • Number of PLC Programs <= 8 (coordinate systems) • Number of Auxiliary Programs <= 15 minus the number of Motion Programs • Number of High Priority Programs <= 8 • Number of Low Priority Programs <= 7 Program Verification All programs (Motion, PLC and Auxiliary) are verified as you edit them. Warning messages are presented as inconsistencies are created within any program. Examples include; deleting referenced variables, labels and axes. See the Troubleshooting section for a description of the messages produced by the AXIMA Software. 31 AXIMA Reference Manual Editing Programs The dialog boxes for each of the three program types (Motion, PLC and Auxiliary) have the same basic layout that includes an instructions area that is divided into two sections, groups and instructions. The group list lists the available instruction groups in alphabetical order. The instruction list lists the instructions available with the group you have highlighted in the groups area. To view all programming instructions available at once, select All from the groups area. To add an instruction double click on the desired instruction, an instruction dialog box is displayed asking the necessary information specific to that instruction. After entering all necessary information click on the OK button. Most edit fields in the instruction dialog boxes allow for the entry of user variable names. When the focus is changed and if a variable name was entered the software will check for a variable defined with this name. If the name is not found the Variable Definition dialog box will appear. Variables Button The variables button opens the variable list dialog box where you can add, edit, delete or view references to a variable. Find Button The find button allows you to quickly locate a specific line of text or key word in your program. The find option is case sensitive. Which means you must type the word (or words) exactly as they appear in your program including capitalization, spaces, dashes, numbers and any other ASCII characters used. Edit Button To edit an instruction, highlight the desired instruction line (in the program list) then click on the edit button or simply double click on the instruction line. The edit button is grayed if you have more than one instruction highlighted at a time. 32 Working with Applications Cut Button This feature allows you to cut an instruction (or group of instructions) to the AXIMA clipboard. Copy Button This feature allows you to copy an instruction (or group of instructions) to the AXIMA clipboard. Paste Button The paste button will insert the contents of the AXIMA clipboard into the program based upon the append check box. The Paste button is grayed if the AXIMA clipboard is empty. Up/Down Buttons The up/down buttons are used to move the highlighted instruction(s) up one line or down one line. Comment Out The comment out check box is used to temporarily remove an instruction line, or lines, from a program. To comment out an instruction line highlight the desired line then click on the comment out check box. When an instruction is commented out, three stars are inserted (*) at the beginning and end of the instruction line. Run On Power Up The run on power up check box, when checked, will cause that program to begin running when power is applied to the AXIMA controller. It is necessary to set the run on power up in at least one program. Append The append check box, when checked, will cause instructions to be added directly below the currently highlighted line (in the program 33 AXIMA Reference Manual list). If not checked, the added instruction is added directly above the highlighted line. Program Priority This feature is only available in Advanced Mode. This feature allows you change the priority of a program. 34 Working with Applications Variables Variables are either User Defined or Pre-defined. See Pre-defined Variables section for a complete list of Pre-defined Variables. The Scope of User Defined Variables can be either Local or Global. The Type can be set as a Bit, Integer or Floating Point. Variable List The Variable List dialog box lists all of the variables that have been defined. From this dialog box you can add, edit, delete or view references to a variable. After adding or editing a variable, selecting the OK button will save and validate that variable. The cancel button will undo any changes you may have made while this dialog box was open. You can quickly reference information in this dialog box by changing the amount of information displayed and how it is displayed using the Hierarchy Level and Sort By buttons respectively. Figure 17 Variable List Dialog Box 35 AXIMA Reference Manual The Variables list box displays several pieces of information about each variable you define including: • User assigned variable names. • Scope (Local, Global or Pre-defined). • Generic name (e.g. LA#). • Type; Bit, Integer or Floating Point (Bit, Int, F32 or F64 respectively). • Array size. • Initial value. • Modbus® or Data Highway® addresses. • Pre-Defined Variable descriptions (e.g., Desc: Output-32). • Program name and number, and the Coordinate System name associated with Local Variables. Each variable has a generic name associated with it which is only displayed when the Advanced Mode option is checked in the Preferences dialog box. Example variable from the Variable List dialog box: ACCEL_RATE(10) [LA0(10)] Int where: ACCEL_RATE is the user assigned name (10) is the array size [LA0(10)] is the generic name (and array size) Int stands for Integer type variable. Hierarchy Level Buttons The Hierarchy Level buttons are used to globally expand and contract the hierarchy levels of the variables in the Variables List dialog box. When a variable is preceded by a plus sign (+), you can 36 Working with Applications double click on it to expand an individual variable or click on the highest number hierarchy button available (button #2 or #3) to expand all variables simultaneously. Expanding a variable displays additional information about that variable such as: • Generic number/Bit values (Bit# P#, LV#, LA#, DV#, DA#, SV#, SA#). • Array size. • Pre-defined Variable group and description. • Modbus or Data Highway Plus addresses. • The Coordinate System and Program associated with a Local Variable. Edit/Add Button To add a variable click on the add button. The Variable Definition dialog box will appear to define the name, type, scope, quantity and parameter group. Arrays of variables are allowed (these are referenced in with ( )’s) To edit a variable highlight the variable in the list then click on the edit button or double click on the variable in the variable list window. References Button The "References" button is used to determine if the currently highlighted variable is referenced in any program. If the variable is referenced, AXIMA will display the variable references dialog box which displays the coordinate system, program and the instruction that the variable reference occurs in. You can go to the program directly from the variables references window by clicking on the "Edit Program" button or by double clicking on the reference you wish to edit. If the variable highlighted 37 AXIMA Reference Manual is not referenced in any programs, AXIMA will pop-up a message that says "Variable {name} is not used in any program". Figure 18 Variable References Dialog Box Unreferenced Button This feature is used to quickly identify all variables that are currently not referenced in your application. When this button is clicked, AXIMA will search all motion, PLC and auxiliary programs, highlighting all un-referenced variables it finds. Once the unreferenced variables are selected, they can be deleted which will freeup valuable memory space. Sort By The "Sort By" radio button determines how the variables are sorted in the Variables List dialog box. You can sort the variables by Name, Scope, Type or Modbus/Data Highway addresses (if available). The sort by option you select is aligned to the left side of the dialog box. Modbus/Data Highway Address This data window displays the Modbus or Data Highway address of the highlighted variable. If the highlighted variable has not yet been assigned to a Modbus/Data Highway address, this box will be empty 38 Working with Applications and the Assign button will display the next available address based off the previously assigned address. Clear Button The Clear button will delete the Modbus or Data Highway addresses from all highlighted variables. A convenient way to view the Modbus or Data Highway addresses, is to select the Modbus or Data Highway radio button in the Sort By area. Compress Button This button used to re-number all Global and Local Variables for the application thus reducing the amount of memory used by variables. When the Compress button is pressed the following warning message is displayed: Figure 19 Variables Compress Warning As new variables are defined they will be assigned the next sequentially available number and will retain that number until the variable is deleted or the Compress button is clicked. 39 AXIMA Reference Manual Variable Definition Selecting the Add or Edit buttons will open the Variable Definition dialog box which allows you to define/or edit variables to be used in Motion, Auxiliary and/or PLC Programs. Figure 20 Variable Definitions Dialog Box Name You can enter up to 40 alpha-numeric or underscore characters (spaces are not allowed) for the name of each variable. The first character must be an alpha (A through Z). Scope The "Scope" defines the variable as Global, Local or Pre-defined. The scope you select for a variable will determine the "Type" you can assign to that variable. For example, if you select Local, all four "Type" options will be available, however, if you select Pre-defined, the floating Point 64 type will be grayed and if you select global, the floating point 32 type will be grayed. 40 Working with Applications • A Global Variable is available for use in all motion, auxiliary and PLC programs. • A Local Variable is available only in the program where it was originally created. • A Pre-defined Variable is a controller defined variable which can be used globally in all motion, auxiliary and PLC programs. Type The "Type" defines the variable as a bit, integer, floating point 32 or floating point 64. • A bit is a single binary value either -1 for true or on, 0 for false or off. • An integer is any whole number between +/- 2,147,483,648. • A floating point 32 value allows for a signed seven (7) significant digits plus a signed exponent and decimal point. • A floating point 64 value allows for a signed fifteen (15) significant digits plus a signed exponent and decimal point. Groups/Selected Variable These options are only available when the variable Scope is defined as "Pre-defined" otherwise it is grayed. To view the list of the different groups available, click on the arrow button on the right side of the combo box. The list of groups available is different depending on the variable "Type" you select. Additionally, the list of "Selected Items" is different depending on the "Group" you select. The table below shows all possible pre-defined variables. Array Size/Initial Value This field will display "Array Size" when Local is selected, "Initial Value" when Global is selected and be grayed when Pre-defined is selected for the variable type. 41 AXIMA Reference Manual Array variables may be any size but large arrays will consume large quantities of memory. Arrays are used with PLS instruction, CAM tables and many other uses. Initial Value is used with global integer and floating point variables only. The initial value may be set with this dialog box or may also be set by the Quick Move Instruction (available from the Immediate Instructions). This value is initialized within the controller immediately after the downloading is completed. This value is also retrieved upon uploading the application from the controller. Modbus/Data Highway Address This data window allows you to enter a Modbus or Data Highway address to the variable. The drop down box of Pre-defined Variables is dependent on your Application configuration. For example, only the defined axis variables are available in the drop down lists. This dialog box is also launched from instructions when a new variable name is typed in. Scope and type options are grayed depending on where the variable definition is launched. You cannot create Local Variables unless you have the Program Edit dialog box open (then either the Variables List dialog box or an instruction must be opened). When the dialog box is launched from an instruction, only the type and scope options are allowed. 42 Working with Applications Cut, Copy, Paste This feature allows you to cut or copy a Coordinate System, an axis, a program or part of a program (Motion, PLC or Auxiliary) to a special AXIMA Software clipboard (as opposed to the Windows clipboard), then paste that Application into the target Application which may be the same Application or to another Application. When an Application fragment (e.g., Coordinate System) is cut or copied then pasted, all components of the fragment (e.g., Axes, Motion, and PLC Programs) are also pasted. This allows the combining of Coordinate Systems from two different Applications. Program fragments (i.e. instructions) may also be cut or copied then pasted. This is useful when duplicating motion and or control logic for similar Applications or Coordinate Systems. It is important to note that variables may be automatically pasted if no conflicts or unresolved references exist. Cutting and Copying Application Items An Application fragment is any part of an Application displayed in the hierarchy on the left side of the Application window such as Coordinate Systems, Axes, Programs, etc. You can select one Application item at a time to be cut or copied from the Application hierarchy. The table below list the Application items which can be copied or cut: 43 AXIMA Reference Manual Table 2 Applications Items, Cut or Copied Application Item Copy Cut Application No No Controller Options No No Connectivity Options No No Analog Input No No Coordinate System Yes Yes Axis Yes Yes Axis Servo No No Axis Limits No No Motion Program Yes No PLC Program Yes No Auxiliary Program Yes Yes Instructions Yes Yes Cutting, Copying Program Instructions When creating or editing programs (Motion, PLC or Auxiliary), you can cut or copy program instructions then paste them into other programs or to a new location of the same program. However, there are some restrictions when pasting instructions from one program to another, for example, you can not paste PLC instructions into Motion or Auxiliary Programs (see table below). Instructions may only be cut, copied and pasted from within a program dialog box. Table 3 Program Instructions Pasting Restrictions To Motion PLC Auxiliary From PLC No Yes No Motion Yes No No Auxiliary Yes No Yes To select a group of instruction lines simultaneously you wish to cut or copy, highlight the instruction line you wish to start with, while continuing to hold down the left mouse button, drag the cursor to the 44 Working with Applications instruction line you wish to end with and release the button. Or, you can highlight the starting instruction line, move the cursor to the line you wish to end with, press the Shift key and select the ending instruction. You can then either cut or copy the selected lines using the cut or copy buttons. NOTE: Your selection cannot include partial IF-THEN/ENDIF clauses. If you do not select the entire IF-THEN/ENDIF clause, cutting and copying is not allowed. Pasting from the AXIMA Software Clipboard When the Application fragment on the clipboard is pasted to an Application, some Application items will be replaced and others will be added depending on the nature of the item. The following table shows weather an item on the AXIMA Software clipboard will replace or be added to an Application. Table 4 Applications Fragment, Cut or Copied Application Fragment In Clipboard Target Application Paste Result Coordinate System Application Addition Coordinate System Coordinate System Replacement Axis Coordinate System Addition Axis Axis Replacement Motion Program Motion Program Replacement PLC Program PLC Program Replacement Auxiliary Program Application Addition Auxiliary Program Auxiliary Program Replacement Instructions Any Addition 45 AXIMA Reference Manual Pasting Restrictions The following restrictions apply when pasting Applications items from the AXIMA Software clipboard into the target Application: • When pasting a Coordinate System into an Application, pasting is not allowed if the resulting number of Coordinate Systems or axes would exceed the maximum number allowed in the target Application. • Pasting an axis is not allowed if the resulting number of axes would exceed the maximum number allowed in the target Application. • Pasting a program of High/Low Priority to the target Application where there are no more programs available with that priority. • Pasting Latch, Counter and Timer instructions that cause the maximum eight to be exceeded. • Pasting an External Time instruction requires a Coordinate System with an encoder selected for external time. • When pasting program instructions into a Motion, PLC or Auxiliary Program, you will not be allowed to paste instructions into a program where the instruction(s) are not supported (e.g. instructions that are only allowed in PLC Programs can not be pasted into Motion or Auxiliary Programs). If you attempt to paste an Application item that violates one of the restriction above, AXIMA Software will display an error message box which will briefly explain the problem. 46 Working with Applications Conflicts Resolution Dialog Box The Conflict Resolution dialog box is automatically displayed when there are conflicts or unresolved references existing between the Application fragment in the AXIMA Software clipboard and the target Application. This dialog box is divided into two windows, Clipboard and Target. Each of these windows are described in more detail below. Figure 21 Conflict Resolution Dialog Box Conflicts Resolution Dialog Box Hierarchy Application items that are cut or copied to the AXIMA Software clipboard are displayed in a hierarchical fashion similar to applications in the AXIMA Software window. 47 AXIMA Reference Manual The top level (flush left) Application items in the clipboard window can be one of the following Application items: -Coordinate Systems -Axes -Encoders and Command Numbers -Instructions -Variables -Analog Inputs -Programs -PLC Resources The type of conflict level is indented once from the left and can be one of the following: -Unresolved Reference -Unassigned -Conflict -Duplicate Name -Pre-Defined Variable conflict The conflict item level is indented twice from the left and identifies the conflict item. For example, the top level is Coordinate System. The next level in is 'Unresolved Reference', and the last level in from the left is '5th Winder Servo'. Which simply means that there is an unresolved reference in the 5th Winder Servo Coordinate System that needs to be resolved before the paste operation can be completed. By default, this level is preceded by a plus (+) sign, which can be expanded by double clicking which will reveals the details level of the item that caused the conflict. As you highlight items in the hierarchy, specific details about that item will be displayed above and below the clipboard and target. This data is provided to assist you when resolving conflicts between the clipboard data and the target Application. 48 Working with Applications Resolving Conflicts All conflicts must be resolved before a paste operation may be completed. It is strongly recommended that you resolve all conflicts displayed in this dialog box starting with the first hierarchical level and working your way down to the last level. Resolving the first level hierarchical conflicts first, often will result in lower level conflicts being automatically resolved. Conflicts that occur when cutting, copying and pasting application items can be organized into one of the following two categories, Resource Conflicts or Unresolved References. Resource Conflicts Resource Conflicts refer to AXIMA Software resources such as Encoders, Command Connectors, DAC's, Timers, Inputs, Outputs and Names. Example 1 If you cut or copy an axis from one Coordinate System to another, and the target Coordinate System has an existing axis with the same name, a Duplicate Name conflict will occur. Example 2 If you cut or copy an axis that uses encoder 1 and command number 1 from one Coordinate System to another, and the target Coordinate System has an existing axis which also uses encoder 1 and command number 1, a Encoder Conflict and a Command Number Conflict will occur. Unresolved References Unresolved references are caused by program instructions which refer to Pre-defined Variables, Coordinate Systems, Axes, etc. that were not pasted. Unresolved references can occur when pasting part of a program into another program or when pasting an entire program into a different Coordinate System (or Application). 49 AXIMA Reference Manual Example 1 If you attempt to paste a program that has an instruction that references a Pre-defined Variable that does not exist in the target Coordinate System (or Application), an unresolved reference will occur. Example 2 If you attempt to paste a program that has an instruction that references an axis that does not exist in the target Coordinate System (or Application), an unresolved reference will occur. The table below shows the conflict types that can occur in each category. 50 Working with Applications Conflict Types Category Application Item Resource Conflicts Unresolved References Coordinate System Duplicate Name Unassigned Coordinate System Axis Duplicate Name DAC Conflict Encoder Conflict Unassigned Axis DAC and Encoder Unassigned DAC Unassigned Encoder Unassigned PLS Unassigned DAC Unassigned Axis Program Auxiliary Duplicate Name PLC Program Reference Program Reference Variable Unassigned DAC Unassigned Encoder N/A PLC Instruction PLC Counter Conflict PLC Latch Conflict PLC Timer Conflict Duplicate Name Unmapped Label Analog Unassigned Analog Channel Application Item Resource Conflicts Coordinate System Duplicate Name Clipboard Coordinate System name matches a Coordinate System name in the target Application. Edit the Coordinate System name to be unique. Unresolved Reference One or more clipboard instructions have Pre-defined Variables associated with the Coordinate System Unresolved Reference. Assign the clipboard Coordinate System to an Coordinate System in the target Application. Or Assign to a new Coordinate System in the target Application, this choice will create another Coordinate System. Cause Note: Resolving this reference may reassign multiple variables. Solution 51 AXIMA Reference Manual Application Item Resource Conflicts Axis Conflict Duplicate Name Clipboard Axis name matches an Axis name in the target Application. Edit the Axis name to be unique. Command Number Conflict Clipboard Axis command number matches the command number of an Axis in the target Application. Edit the command number to be unique. Encoder Conflict Clipboard Axis encoder matches the encoder of an Axis in the target Application. Edit the encoder to be unique. Unresolved Reference One or more clipboard instructions have Pre-defined Variables associated with the Axis Unresolved Reference. Assign the clipboard Axis to an Axis in the target Application. Or Assign to a new Axis in the target Application, this choice will create another Axis in the Coordinate System that the instructions were pasted. Cause Note: Resolving this reference may reassign multiple variables. Program Conflict Unresolved Reference One or more clipboard instructions have Pre-defined Variables associated with the Program Unresolved Reference. Solution Assign the clipboard Program to a Program in the target Application. Note: Resolving this reference may reassign multiple variables. Duplicate Name 52 Auxiliary Program has duplicate name. Edit Auxiliary name to be unique. Working with Applications Application Item Resource Conflicts Instructions Conflict Duplicate Name The conflict can only occur for Label Instructions. Clipboard Label matches a Label in the target Application. Edit the Label to be unique. Unresolved Reference GoTo or Call Subroutine Instruction references a Label which does not exist in the target Application. Edit the GoTo or Call Subroutine to select an existing Label. Or Assign to an existing Label. Or Assign to a new Label, which will create a new Label below the instructions that are pasted. Duplicate Name A clipboard instruction uses a variable name which exists in the target Application. Compare the Variable information below the lists and determine if you want to assign to the existing variable. Otherwise map to a new variable and change the name. Predefined/ Global A clipboard Pre-defined Variable that uses the same parameter as an existing Predefined Variable in the target Application. Usually resolved by assigning the clipboard variable to the target Application variable that uses the same parameter since they have the same meaning. Also resolved by assigning to a new variable. Variables Conflict Cause Solution 53 AXIMA Reference Manual Application Item Resource Conflicts Encoder and Command Numbers Unavailable Encoder An Encoder Reset, PLS Definition, Gear Definition Instructions that uses an encoder number that is not available in the target Application. Assign to an available encoder in the target Application. Or edit the instruction to use a different encoder. Unavailable Command Number A DAC Instruction that uses an command number that is not available in the target Application. Assign to an available command number in the target Application. Or edit the instruction to use a different command number. Unresolved Reference One or more clipboard instructions have Pre-defined Variables associated with unavailable encoders/ command numbers. Assign the clipboard encoder/ command number to an available encoder/command number available in the target Application. Cause Solution Note: Resolving this reference may reassign multiple variables. PLC Resources Analog Inputs 54 Unresolved Reference Unresolved Reference Timer/Counter/Latch Instruction resource numbers exist in the target Application. Target Application list shows the available resource numbers. Assign to an available resource number. Load/And/Or Instructions use Timer/Counter/Latch resource numbers. Assign to any Timer/ Counter/Latch resource number. Any Pre-defined Variable in the analog inputs group. These variables are not automatically resolved. Assign the clipboard analog input to an available analog input in the target Application. Working with Applications Analog Input Configuration Configuration Overview There are eight analog input channels available which can be individually configuration with the Analog Input Configuration dialog box. Each channel represents a terminal on the analog input terminal block located on the front panel of the AXIMA controller. These inputs are sampled at the servo interrupt rate (200 microseconds is the minimum SUI). Figure 22 Analog Input Conversion Diagram The Connection Type you select in this dialog box must match the physical wiring on the analog input terminal. Analog Input Configuration Dialog Box To access the Analog Input Configuration dialog box, follow the steps listed below: 1. Double click on the words "Controller Options" near the top of the hierarchy view (left side of the edit window) to display the Controller Options dialog box, then check the Analog Input check box. 2. Highlight the words "Analog Inputs" in the hierarchy view (left side of the edit window). 55 AXIMA Reference Manual 3. Double click on any line within the analog input channel text in the details view (right side of the edit window). Figure 23 Analog Input Configuration Dialog Box. Configuration Steps The first time this dialog box is opened all channels will be disabled (the "Enable This Channel" check box is empty). To configure a selected channel follow the steps below: 1. Select the channel you wish to configure. 2. Check the Enable This Channel checkbox. 3. Choose the connection type, either Differential or Signal-Ended. A differential type connection is typically more noise immune than a single ended connection. 4. Enter the Minimum and Maximum Voltages. Both the Minimum and Maximum Voltages must be within ± 10 volts and the Minimum Voltage must be less than the Maximum Voltage 56 Working with Applications 5. Enter the User Units and the Minimum and Maximum Values (in user units) which makes the analog input voltage meaningful to your Application. 6. Select a single input terminal if you are configuring a signal ended or a positive and a negative terminal if you are configuring differential inputs. 7. The last step in this dialog box is to enter a Variable name. You can enter a new or existing Pre-defined Variable that corresponds to the Analog Input reading for the selected channel. The range of this variable will be within the minimum and maximum user units. The following criteria must be met before you can select another channel tab or press the OK button: • The minimum voltage value must not be the same as the maximum voltage value. • The user units must be specified. The initial default is volts. • For a differential channel, the positive and negative terminals must not be connected to the same analog terminal. To configure another channel, select the next channel tab and perform the steps listed above for each channel you wish to configure. Assigning Variables to Analog Input Channels Each analog input channel must be assigned to a variable name which can be used in a Motion or an Auxiliary Program. When you enter a variable name, a Pre-defined 32 bit floating point Variable is automatically created and assigned to the currently selected channel. If a variable name has already been assigned to the pre-defined analog input variable, that name will be displayed variable data box. 57 AXIMA Reference Manual Analog Input Calibration Depending on the accuracy required by your system, analog inputs can be used without calibration, however, calibration of an analog inputs minimum and maximum voltages is necessary in order to get accurate results. This process requires online communications with the AXIMA controller, therefore, calibration is allowed only when you are online with an Application. The Analog Input Calibration dialog box is accessed by selecting Calibrate from the Tools pull-down menu. This menu item is enabled only when: • You are online with the Application you will be calibrating. • The Analog Input option has been enabled for this Application. • The Analog Inputs item in the hierarchy view is highlighted. When you select Calibrate from the Tools menu, the Analog Input Calibration dialog box appears as shown: Figure 24 58 Analog Input Calibration Dialog Box. Working with Applications Expanded I/O Option Expanded I/O Overview The expanded I/O option adds 32 optoisolated inputs and 32 optoisolated outputs to the standard I/O which gives you a total of 64 inputs and 64 outputs. The expanded I/O option requires that 24 VDC power be supplied to the AXIMA controller and the external components (if this option is used). The total current requirement should be calculated by the user based on their unique configuration in order to properly size the 24 VDC supply. (See your AXIMA controller’s installation manual for more information about expanded I/O options.) Expanded I/O Software Setup The Expanded I/O option is selected in the Controller Options dialog box (accessed from the Options menu). The 32 expanded inputs and 32 expanded outputs are enabled by checking the Expanded 64 DI, 64 DO radio button. 59 AXIMA Reference Manual Figure 25 Controller Options - Expanded I/O Assigning An Expanded I/O To A Variable Expanded I/O's are assigned to variables exactly the same as standard I/O's. To select an expanded I/O Pre-defined Variable, click on the Pre-defined and the Bit radio buttons, select either Inputs or Outputs from the Groups select box, then select the expanded input or output number you wish to use from the Selected Variable scroll box. 60 Working with Applications Figure 26 Expanded Input #01 Assigned To Variable Name "SENSOR INPUT" Using Expanded I/O in an AXIMA Program When writing an AXIMA Software program, the expanded I/O is used in the same way as the standard I/O. An important difference to be aware of when using the external components option is the time delay inherent in the digital Opto22® modules. NOTE: This time delay is the additional amount of time it takes for inputs to be recognized or outputs to change state, therefore, time critical I/O's should be assigned to the standard I/O or, if they are electrically compatible, use the direct wire option. Shown below in an insert of a Motion Program which sets the Enable Expanded I/O bit and uses the SENSOR_INPUT variable in a Wait Instruction which was assigned to Expanded Input #01 in the sample dialog box above. 61 AXIMA Reference Manual Figure 27 62 Example Insert of an AXIMA Motion Program AXIMA Reference ManMotion and Auxiliary Instruction Reference Overview This section describes the instructions that are used by the AXIMA Software. These instructions are presented first in a tabular format to show when each instruction may be used. They are also listed alphabetically including detailed information. Instructions are used to control the operation of the AXIMA controller. Depending on the instruction, they can be used in either a Motion, Auxiliary or a PLC Program or in Program Control. Instructions are inserted, deleted or commented in the program dialog boxes. Each instruction is associated with a dialog box that is presented when you insert or edit an instruction. Most fields in the instruction dialog boxes allow the entry of a value or a variable name. If you enter a value, it is verified against any limits that may be associated with that instruction. A variable name may be entered even if the variable name is not defined yet. When the OK button is pressed, a verification is made for all variable used. You will be prompted to define any variables not defined. 63 P/N 400290-00 AXIMA Reference Manual Table 8 Instruction Names AXIMA Instructions Listed Alphabetically Group Motion Auxiliary PLC Absolute Path Shift Path And PLC Arc Move Motion X X Automatic Vector Velocity X X Axis Other X X Call Subroutine Flow X Command Band Limits X X Command Limit Limits X X Comment Flow X X Counter PLC DAC Other X X Derivative Gain Servo X X Derivative Sample Period Servo X X Dwell Logic X X Encoder Capture Feedback X X Encoder Match Feedback X X Encoder Preload Feedback X X Encoder Reset Other X End Program Flow X External Time Profile Velocity X Feedforward Acceleration Servo X Feedforward Velocity Servo X Feedrate Override Velocity X X Following Error Limits X X Formula Logic X Gear Control Motion X X Gear Definition Motion X X Generic Other X X GoTo Label Flow X X Group Instructions Flow X 64 X Program Control X X X X X X X X X X X Motion and Auxiliary Instruction Reference Instruction Names Group Motion Auxiliary PLC Program Control Home Motion X X If/Then Flow X In Position Band Limits X X Integral Delay Servo X X Integral Gain Servo X X Integral Limit Servo X X Jog Control Motion X X Jog Definition Motion X Label Flow X Latch PLC X Load PLC X Low-pass Filter Servo X X Manual Vector Velocity X X Move (Basic) Motion X X Move Motion X X Normalize Other X X Notch filter Servo X X Or PLC X Output PLC X PLS Control Other X X X PLS Definition Other X X X Print Other X X X Proportional Gain Servo X X Quick Jog Motion * X Quick Move Motion * X Real Time Accel Ramp Velocity X X Real Time Decel Ramp Velocity X X Real Time Profile Velocity X X Real Time Velocity Velocity X X Registration Move Motion X X Relative Path Shift Path X X Return Flow X X X X X 65 AXIMA Reference Manual Instruction Names Group Motion Auxiliary PLC Program Control Rotate Path Path X X Scale Path Path X X Set/Clear Bit Logic X Sinusoidal Move Motion X Timer PLC Travel Limit Limits X Update Status Display Other X X Wait Logic X X Wait For Value Logic X X X X X X X * Runs Only in program control under a Motion program 66 X Motion and Auxiliary Instruction Reference Instruction Definitions All instructions are listed alphabetically on the following pages. Absolute Path Shift Instruction Group: Path See also: Relative Path Shift Instruction Description: This instruction will cause the path of all motion in the Coordinate System to be shifted by an absolute amount. The amount of the Path Shifts for each axis is defined by the offset in user units. This instruction does not by itself cause any motion. Figure 28 Absolute Path Shift Dialog Box Arc Move Instruction Group: Motion See also: Sinusoidal Move Instruction Description: This instruction produces a circular arc motion. The plane of the motion is defined by the first and second axes. The Start Point and Center Point is specified for both axes. The End Point is calculated based on these values, the Degrees Of Motion and the Motion Direction. The End Point is provided to confirm the actual motion. The Start Point and Point Center values cannot be variables. If variables are required use the Sinusoidal Move Instruction to generate the arc. 67 AXIMA Reference Manual The Move to Start Point, if checked, will produce an absolute move to the start point before the arc move is started. The Compound Into Next Move, if checked, will compound this move into the next move. Compounding is accomplished by smoothly accelerating or decelerating to the velocity of the next move. Not available in Immediate Mode. Figure 29 68 Arc Move Dialog Box Motion and Auxiliary Instruction Reference The value you enter in the Degrees Of Motion box will determine the sweep angle. The direction of the arc move is determined with the Motion Direction radio buttons. Figure 30 Arc Move Diagram Automatic Vector Instruction Group: Velocity See also: Manual Vector Instruction Description: This instruction controls how the coordinate system move vector is calculated. The weight of an axis determines how much the axis contributes to the vector calculation. The default weight value is 100 percent for all axes. With the Automatic Vector Instruction, the vector length of the coordinate system move is calculated using the following formula: vector length = sqrt ( ∑ ( delta (axis)2 * weight (axis) ) ) where: delta (axis) = distance the axis is moving weight (axis) = vector contribution of axis The Coordinate System will move (caused by a move, arc, sinusoidal move, etc.) from the current position to the specified destination, using the current velocity, acceleration, deceleration and feedrate 69 AXIMA Reference Manual override settings to control its velocity profile. The vector length calculated here effects only the velocity of the move because the velocity profile is generated based upon the vector length. The vector length is equal to the actual distance traveled if all weights are set to 100 percent. All axes in the coordinated move will start when the coordinate system starts and reach their target positions as the coordinate system move finishes its move. For single axis moves the weight should remain or be set to 100 percent. In many multi-axis configurations, it is not necessary (nor desirable) to have all the axes contributing to this calculation. For example, in a configuration containing three Cartesian axes and a rotary axis, just the Cartesian axes need to be included in the vector distance not the rotary axis. For non-contributing axes, the vector weight should be set to zero. If these axes are to be moved by themselves, the automatic vector calculation must be overridden by using the Manual Vector Instruction. Figure 31 70 Automatic Vector Dialog Box Motion and Auxiliary Instruction Reference Axis Instruction Group: Other See also: Open Servo Loop, DAC Output Description: The Axis Instruction turns “On” or “Off” the servo loop associated with an axis. Turning off unnecessary servo loops will reduce CPU load and improve system performance. It is suggested that this instruction be included at the beginning of a Motion program to turn off all unused axes. When the Axis is off the DAC output is available for direct program manipulation as an analog output. Figure 32 Axis Dialog Box Call Subroutine Instruction Group: Flow See also: Label Instruction, Return Instruction Description: This instruction causes an unconditional call or jump to a subroutine. Each subroutine must be terminated with a Return Instruction. Select a label (previously defined) from the list provided in the dialog box. If no labels are defined, the Call Subroutine Instruction is not allowed. Subroutines may be nested up to 10 levels deep. Figure 33 Call Subroutine Dialog Box 71 AXIMA Reference Manual Command Band Instruction Group: Limits See also: Max Command Band, Min Command Band, Coordinate System Not In Command Band, Axis Not In Command Band, Command Limit Instruction Description: This instruction sets the command band limits monitored by the "Not In Command Band" bits. The Command Band Instruction only defines bit monitoring boundaries, it does not affect the analog command output in any way. See the Command Limit Instruction for information on physical output clamping. Command Band for Stepper axis is entered in Counts/Seconds. This is converted into volts when this instruction is downloaded. If you use a variable for Stepper the value must be in volts. Volts = (counts/second)/(409.6/servo interrupt period) This instruction overrides the initial values in the a Axis Limits dialog box. If power cycled, the value automatically reverts back to the value in the Axis Limits dialog box. Figure 34 72 Command Band Dialog Box Motion and Auxiliary Instruction Reference Command Limit Instruction Group: Limits See also: Max Command Limit, Min Command Limit, Coordinate System Not Command Limit, Axis Not Command Limit Description: This instruction sets the voltage limits monitored by the "Not Command Limit" bits. The limits set by the Command Limit Instruction cause the output of the servo loop to be clipped at the given values. See the Command Band Instruction for non-clipping command monitoring. This instruction overrides the initial values in the Axis Limits dialog box. If power cycled, the value automatically reverts back to the value in the Axis Limits dialog box. Figure 35 Command Limit Dialog Box 73 AXIMA Reference Manual Comment Instruction Group: Flow Description: This instruction allows the user to enter comments anywhere in the Motion or Auxiliary Programs (comments are not allowed in PLC Programs). Comments are used to record program design issues such as how and why the instructions are used or how the program is designed. Figure 36 Comment Dialog Box DAC Instruction Group: Other See also: DAC Gain, DAC Offset Description: The DAC Instruction gives you direct access to change the Gain and the Offset of a D/A converter. The default Gain setting is 3276.8 and the default Offset Ø.Ø volts, which supports a ±10 volt output. The output voltage is inverted in the output stage of the hardware, therefore the default DAC Gain will physically send out a negative voltage for positive settings. Figure 37 74 DAC Dialog Box Motion and Auxiliary Instruction Reference Derivative Gain Instruction Group: Servo See also: Derivative Term, Derivative Gain, Derivative Sample Period, Derivative Sample Period Instruction. Description: This instruction is used to set the derivative gain for one or more axes. The derivative gain set by this instruction overrides the initial value set by the Axis Servo dialog box. The derivative term results from the multiplication of the derivative gain times the rate of change in the following error and is typically used to dampen oscillation. The derivative term is calculated at every servo update by default. However, the interval of this calculation may be modified by using the Derivative Sample Period Instruction.If power cycled, the value automatically reverts back to the value in the Axis Servo Loop Options dialog box. Derivative gain is typically not used when the AXIMA controller is connected to the velocity command input of the drive. For more information see, the “Tuning Procedures” section. Figure 38 Derivative Gain Dialog Box 75 AXIMA Reference Manual Derivative Sample Period Instruction Group: Servo See also: Derivative Term, Derivative Gain, Derivative Gain Instruction, Derivative Sample Period Description: This instruction allows you to set the derivative sample period for multiple axes in one instruction. Derivative sampling period determines how often the following error is sampled when calculating the derivative term. Setting this value to zero will set the sampling to occur at the servo update interval set in the Application Option dialog box. If power cycled, the value automatically reverts back to the value in the Axis Servo Loop Options dialog box. The units are milliseconds, however, the actual time is a multiple of the servo update interval. For more information see, the “Tuning Procedures” section. Figure 39 76 Derivative Sample Period Dialog Box Motion and Auxiliary Instruction Reference Dwell Instruction Group: Logic See also: Program Dwelling Description: The Dwell Instruction causes a delay in program execution specified in the edit field. It is important to note that the Dwell will begin when the instruction is encountered in the program. For example In the case of a Move Instruction followed by a Dwell Instruction, the dwell time will start when the motion starts since the move is actually executed by the servo loop unless the move is a Wait Until Complete move. The minimum dwell time is one millisecond, maximum dwell time is 9,999,999 seconds. For more information see, the “Understanding Motion in a Coordinate System” section. Figure 40 Dwell Dialog Box Encoder Capture Instruction Group: Feedback See also: Hardware Capture, Capture Complete, Trigger Software Capture, Software Capture Description: This instruction sets an encoder capture for one or more axes. For each axis the edge sensitivity and source is defined. This instruction enables a hardware position capture triggered from one of several 77 AXIMA Reference Manual different sources. This can be either the encoder marker line or from an external input. After the instruction is executed, the next source edge will cause a hardware latch of the encoder count to be stored in the hardware capture value (a Pre-defined Variable) and sets the "Capture Complete" bit. The latency on the capture is less than 100 nanoseconds for the marker channels or ten microsecond delay for external input signals coming through the optoisolators. It is also possible to initiate an encoder capture sequence through a program by setting the trigger software capture bit. This captures all of the encoder positions and transfers them into the software capture Pre-defined Variables. Figure 41 Encoder Capture Dialog Box Encoder Match Instruction Group: Feedback See also: Profiler Position, Cam Position, Gear Position, Jog Position, Encoder Position, Following Error, Secondary Setpoint Description: This instruction loads the profiler position with the following formula. Profiler Position = Encoder Position - Cam/Jog/Gear Position Backlash Compensation Position - Ballscrew Compensation Position 78 Motion and Auxiliary Instruction Reference The result of this instruction is to set the secondary setpoint equal to the encoder position for each axis listed. This instruction is useful to learn the current axis position after the motor is turned manually with the motor power off. If this instruction is done just before motor power is applied, the controller will learn the new position and zero the command signal, this will avoid the motor jumping when the drive is re-enabled. An Encoder Match Requested flag is also available which can be used by a PLC program. Figure 42 Encoder Match Dialog Box 79 AXIMA Reference Manual Encoder Preload Instruction Group: Feedback See also: Profiler Position, Cam Position, Gear Position, Jog Position, Encoder Position, Following Error, Secondary Setpoint Description: This instruction preloads the profiler position and the encoder position with the specified count value for each axis. Also the cam, gear and jog positions are set to zero. The result of this instruction is to set the secondary setpoint equal to the encoder position and equal to the preload value which in turn, will zero out the following error. Figure 43 Encoder Preload Dialog Box Encoder Reset Instruction Group: Other See also: Encoder Position, Encoder Preload Description: This instruction provides direct access to encoder register and multiplier. The encoder position will be set equal to the Reset value specified. The Multiplier can be setup to -4, -2, -1, 1, 2, 4. This instruction will override the initial value of the Multiplier set in the Axis dialog box. 80 Motion and Auxiliary Instruction Reference Multiplier Description -4 Counts down on rising and falling edges of A and B channels. -2 Counts down on rising and falling edges of the A channel. -1 Counts down on rising edges of the A channel. 1 Counts up on rising edges of the A channel. 2 Counts up on rising and falling edges of the A channel. 4 Counts up on rising and falling edges of A and B channels. ! CAUTION Changing the Encoder Register value will cause instantaneous Following Error which will cause axis motion if drives are enabled. Figure 44 Encoder Reset Dialog Box 81 AXIMA Reference Manual End Program Instruction Group: Flow See also: Program Running Description: This instruction causes a program to terminate execution. This instruction is typically used to cause a premature termination of the program based on some condition (e.g. Fault). If the program executes beyond the last instruction, an End Program Instruction is automatically executed and the program will terminate. A GoTo Label Instruction is required as the last line if you want the program to repeat. Figure 45 82 End Program Dialog Box Motion and Auxiliary Instruction Reference External Time Profile Instruction Group: Velocity See Also: Real Time Instruction All External Time Base functions require A4 or later firmware. Description: This instruction is used to switch the time base from the internal clock to an external encoder (which is defined in the Coordinate System dialog box) and is applied only to Coordinated Move, Arc and Sinusoidal Instructions. Figure 46 External Time Profile Dialog Box NOTE: When the Begin External Time box is checked, the program will wait on this instruction until the previous move is complete. This is done to avoid switching time bases in the middle of a real time move. This instruction must be used whenever switching from real time to external time. A new Velocity, Acceleration and Deceleration must also be programmed. This box can be unchecked if this instruction is used only to change Velocity, Acceleration or Deceleration values when already in external time base mode. 83 AXIMA Reference Manual ! CAUTION Do not use the AXIMA standard Velocity, Acceleration or Deceleration Instructions while in External Time Base. The Velocity Instruction will generate velocities faster than desired. Instead, use the External Time Profile Instruction to set velocities, accelerations and decelerations values. The S-Curve value controls the slope of the acceleration versus time profile. If the value is zero, the acceleration profile is rectangular. Otherwise, the acceleration profile is trapezoidal, clipped at the top or bottom by the current acceleration or deceleration. The rule of thumb value for S-Curve is four to eight times the acceleration value. A zero value disables this feature. Feedforward Acceleration Instruction Group: Servo See also: Acceleration Term, Feedforward Acceleration, Proportional Gain, Following Error, Feedforward Velocity Instruction Description: This instruction sets the acceleration feedforward for one or more axes. Acceleration feedforward is used to reduce the following error during the acceleration and deceleration phases of the motion profile. This instruction will override the initial value set in the Axis Servo dialog box. The correct value can be determined using the following formula: Feedforward Accel = Proportional Gain * Following Error/Accel Where: Following Error = error at a given acceleration (pulses) Accel = the given acceleration (pulses / second2) If power cycled, the value automatically reverts back to the value in the Axis Servo Loop Options dialog box. NOTE: 84 This formula only applies after the velocity feedforward gain has been set correctly with the Feedforward Velocity Instruction. Motion and Auxiliary Instruction Reference For more information see, the “Tuning Procedures” section. Figure 47 Feedforward Acceleration Dialog Box Feedforward Velocity Instruction Group: Servo See also: Velocity Term, Proportional Gain, Following Error, Feedforward Acceleration Instruction Description: This instruction sets the feedforward velocity for one or more axes. Velocity feedforward is used to reduce the following error during constant velocity. This instruction will override the initial value set in the Axis Servo dialog box. The correct value can be determined using the following formula: Feedforward Velocity = Proportional Gain * Following Error/Vel Where: Following Error = error at a given velocity (counts) Vel = the given velocity (counts/second) If power cycled, the value automatically reverts back to the value in the Axis Servo Loop Options dialog box. 85 AXIMA Reference Manual For more information see, the “Tuning Procedures” section. Figure 48 Feedforward Velocity Dialog Box Feedrate Override Instruction Group: Velocity See Also: Velocity Instruction Description: This instruction sets the velocity override for all subsequent movements (by the profiler) for all axes in the coordinate system. The override is a floating point percentage scaling factor for the coordinate system's velocity profile. This instruction does not effect motion caused by the Jog, Gear and Cam Instructions. Feedrate override takes place immediately upon execution of the instruction. If a move is in progress, the Coordinate System will use its acceleration or deceleration settings to ramp to the new velocity. A feedrate override of 200 percent will produce a velocity of twice the velocity specified by the Velocity Instruction. A feedrate override of 25 percent will produce a velocity of one fourth of the velocity specified.Feedrate Override can also be controlled by writting a value to the Feedrate Override Pre-defined Variable. Figure 49 86 Feedrate Override Dialog Box Motion and Auxiliary Instruction Reference Following Error Instruction Group: Limits See also: Max Following Error Limit, Min Following Error Limit, Coordinate System Not Following Error, Axis Not Following Error Description: This instruction sets the following error limits monitored by the "Not Following Error" bit. The not following error bit may be used to disable the drive(s). These bits are typically handled by the PLC Program for performance and safety reasons. This instruction overrides the initial values in the Axis Limits dialog box. If power cycled, the value automatically reverts back to the value in the Axis Limits dialog box. Figure 50 Following Error Dialog Box Formula Instruction Group: Logic Description: The Formula Instruction supports algebraic logic including; variables modification, variable usage, constant integer and floating point values, expressions and the use of parenthesis to control operator precedence. See the Expressions Reference section for a list of expressions used with this instruction. Use of formulas in not recommended for setting bit variables. 87 AXIMA Reference Manual For example A = (ENCODER_POS) MOD (4096) N=N+1 ROTATIONAL_SPEED = (USER_TARGET * 360) + OFFSET Figure 51 Formula Dialog Box Gear Control Instruction Group: Motion See also: Gear Position, Gear Definition Instruction, Profiler Position, Primary Setpoint, Gearing Active, Gear Active, Gear at Speed, Gear Lock, Gear Stopping Description: The Gear Instruction allows you to synchronize the motion of an axis (or axes) to an encoder signal. This instruction either disables, enables or resets electronic gearing for a Slave Axis. The Gear Definition Instruction is used to setup the necessary parameters required for the desired motion (see Gear Definition Instruction below). Figure 52 88 Gear Control Dialog Box Motion and Auxiliary Instruction Reference The Slave Axis field allows you to select the axis (or axes) to be synchronized to the master encoder selected in the Gear Definition dialog box. When you select an axis, it will be displayed along with the Action and Offset information in the Gear Controls window on the right side of the dialog box. Each axis selected can have a different Action applied to it (On, Off or Reset). When turned “On”, enables gearing motion in the selected Slave Axis (or axes) after the Gear Control Instruction is processed will be synchronized to the master encoder selected in the Gear Definition Instruction. When turned “Off”, disables all gearing motion in the selected Slave Axis (or axes) after the Gear Control Instruction is processed will no longer be synchronized to the selected master encoder. The Reset parameter resets the Gear Position to zero and adds the Position value to the profiler position. The value entered in the offset parameter (in user units) is stored directly into the gear position. If the newly loaded gear position is different than the previous value, the difference is added to the profiler position. This allows the primary setpoint to remain unchanged so the axis will not jump. Normally this value is left at Ø. Gear Definition Instruction Group: Motion See also: Gear Position, Profiler Position, Primary Setpoint, Gearing Active, Gear Control Instruction Description: In electronic gearing, encoder counts are used from the master encoder source and are divided by the Master Encoder Counts Per Unit specified in this dialog box. The Master To Slave Ratio is then applied to produce a slave axis position change in user units. The slave position is multiplied by the Slave Axis Counts Per Unit and the results (if gearing is “On”) are added into the gear position. The gear position is added to the primary setpoint. Gearing is turned “On” and “Off” by the Gear Control Instruction. In this dialog box the six check boxes to the left of Define Gear parameters allow you to “enable” or “disable” each parameter individually. In order for a gear definition parameter to be active it's corresponding check box must be checked. 89 AXIMA Reference Manual Figure 53 Gear Logic Diagram Figure 54 Gear Definition Dialog Box The Master Encoder parameter selects the master encoder that the Slave Axes will be synchronized to. The master encoder number here corresponds directly with the master encoder connector on the front of the AXIMA controller. 90 Motion and Auxiliary Instruction Reference The Master Encoder Counts Per Unit value represents the number of Master Encoder counts per user unit of measure (User units are specified in the Axis Parameters dialog box). For example If your user units were feet, and your master encoder produced 4096 counts per revolution which equaled ten feet of linear movement, your Master Counts Per User Unit would be: 4096 / 10 feet = 409.6 feet The Master To Slave Ratio values is the ratio in user units of the Master Encoder to the Slave Axis. To set an axis up for a 2:1 ratio (two turns of the master equals one turn of the slave), enter two for the Master parameter and one for the To Slave parameter. The Acceleration parameter is used to smooth-out the velocity ramp when the Gear Instruction is turned “On” or “Off” or if the gear ratio is changed. The Deceleration parameter is used to smooth-out the velocity ramp when the Gear Instruction is turned “On” or “Off” or if the gear ratio is changed. The Reset parameter resets the Gear Position to zero and adds the Gear Position value to the profiler position. The Offset value entered in user units is stored directly into the gear position. If the newly loaded gear position is different than the previous value, the difference is added to the profiler position. This allows the primary setpoint to remain unchanged so the axis will not jump. 91 AXIMA Reference Manual Generic Instruction Group: Other Description: This instruction allows you to enter any instruction supported by the controller but not yet implemented in the AXIMA Software. This provides flexibility for advanced users to take control of AXIMA’s lower level instructions. Complete control over all instruction is accomplished by using this instruction but they must be formatted with BASIC Language syntax. See the AXIMA Generic Instruction Reference Manual, P/N 40026400, for a description of the instructions supported by the AXIMA controller but not currently supported by the AXIMA Software. Figure 55 92 Generic Dialog Box Motion and Auxiliary Instruction Reference GoTo Label Instruction Group: Flow See also: Label Instruction Description: This instruction causes an unconditional branch to the label specified. Labels must be previously defined using the Label Instruction. Select one of the pre-defined labels from the list provided in the GoTo Label dialog box. If no labels are defined, the GoTo Instruction is not allowed. Care should be taken regarding the accidental creation on an infinite loop within the program. Also make sure the label referenced by this instruction is not actually a label for a subroutine since the execution of a Return Instruction without a call subroutine will cause an error. Figure 56 GoTo Label Dialog Box Group Instructions Instruction Group: Flow Description: Some instructions operate differently when they are grouped. This instruction is used to Group Motion Instructions. An example of a grouping is a helical move which includes sinusoidal moves (for the circle) and a linear move. Motion Instructions that are grouped will start their motion at the same time and end their motion at the same time. The instructions that may be grouped include: • • • • • Move Sinusoidal Move Feedrate Override Gear Control Jog Control 93 AXIMA Reference Manual Figure 57 Group Dialog Box Home Instruction Group: Motion See also: Encoder Position, Hardware Capture, Capture Complete, Special Purpose I/O Description: This instruction allows the searching for a source input in one or more axes. Each axis seek operation is actually done in series (one after another). When the source input is detected the AXIMA controller uses the high-speed encoder capture to record the position. Then the motion will decelerate to a stop and then move back to the exact encoder position where the sensor was detected at which time the encoder position will be reset to zero. A cycle start request bit must be cleared for this instruction to operate properly. The source may be one of the following: • The encoder marker channel for the select axis. • The encoder marker channel for the other axis in the pair (pairs are defined as axes 1/2, 3/4, 5/6, and 7/8) • One of two Inputs. The distance specified should provide enough motion to cause the source input to be found. If the marker source is the encoder marker channel, a minimum distance should produce more than one motor revolution. This is to ensure that motion is long enough to find the marker signal. 94 Motion and Auxiliary Instruction Reference If the source is an input number, a distance should be provided to move beyond the home sensor (or other external device connected to the input). The capture complete flag can be monitored to vary the source input. ! CAUTION You must allow enough movement clearance for the motor to decelerate after the source sensor is detected. Figure 58 Home Dialog Box 95 AXIMA Reference Manual If/Then Instruction Group: Flow See Also: Expression References, Variable Definition Description: This instruction is used for conditional branching within a program. If the boolean expression is True, then the instructions inserted (later) between the If and EndIf Instructions will be executed. Otherwise, the program skips the instruction(s) and continues after the EndIf Instruction. The matching EndIf Instruction is automatically added to the program with the If Instruction and can be moved to any location below the if statement. Also, it is not possible to delete only the If or EndIf Instructions without deleting the matching instruction. There is no support for Else, therefore GoTo’s must be used to create if/then/else flow control. For example IF IF IF IF POSITION > 10 NOT(POSITION > 10) (POSITION > 10) AND (POSITION < 20) (DRIVE_ENABLED AND NO_FAULT) Figure 59 96 If/Then Dialog Box Motion and Auxiliary Instruction Reference In Position Band Instruction Group: Limits See also: Max In Position, Min In Position Description: This instruction sets the position band limits monitored by the "Not In Position" bits. The Not In Position bits are updated only when the move is completed. After the move is completed if the position error is greater than the position band the appropriate bit is set. Otherwise, the bit is cleared. For Coordinate Systems, the bit is set if any of its axes are outside of their position bands. The Position Band Instruction will override the initial value set in the Axis Servo dialog box. Figure 60 In Position Band Dialog Box Integral Delay Instruction Group: Servo See also: Integral Term, Integral Gain, Integral Delay, Integral Limit, Integral Limit Instruction, Integral Gain Instruction Description: The Integral Delay Instruction determines the amount of time, after a move ends, before the integral term calculation begins. If the integral delay is set to zero, the integral term calculation is active all the time, even during motion. Typically, the integral delay is non-zero. This allows the integral term to eliminate in position error and improve in position stiffness. 97 AXIMA Reference Manual Figure 61 Integral Delay Dialog Box Integral Gain Instruction Group: Servo See also: Integral Term, Integral Gain, Integral Delay, Integral Limit, Integral Limit Instruction, Integral Delay Instruction Description: This instruction modifies the integral gain used in the PID algorithm. The integral term is calculated by integrating (summing) the following error over a time interval and multiplying the total error by the gain. The Integral Gain Instruction overrides the initial value set in the Axis Servo Loop Options dialog box. If power cycled, the value automatically reverts back to the value in the Axis Servo Loop Options dialog box. The integral term is a summation value that is not zeroed by setting the gain to zero. The formula is: Integral Term New = (Integral Term Old) + (Total Error)*(Gain) To zero the integral term the gain must be set to zero and the integral limit must be set to zero, see the Integral Limit Instruction. When using this instruction to modify the integral gain the Integral Limit Instruction should be used to set the integral limit temporarily to zero. The Integral Gain Instruction will override the initial value set in the Axis Servo dialog box. 98 Motion and Auxiliary Instruction Reference Figure 62 Integral Gain Dialog Box Integral Limit Instruction Group: Servo See also: Integral Term, Integral Gain, Integral Delay, Integral Delay Instruction, Integral Gain Instruction Description: This instruction modifies the integral limit used by the servo loop. The units of the integral term is in volts. Since the integral term is additive (the new integral term is calculated using the old integral term), it may become unbounded and produce a voltage output of 10 volts. This is not desirable, so the integral term may be limited to a voltage output specified in this instruction. The Integral Limit Instruction overrides the initial value setting the Axis Servo Loop dialog box. If power cycled, the value automatically reverts back to the value in the Axis Servo Loop Options dialog box. This instruction should be used to the temporarily set the integral limit to zero if the integral gain value is modified. The integral limit instruction will override the initial value set in the Axis Servo dialog box. 99 AXIMA Reference Manual Figure 63 Integral Limit Dialog Box Jog Control Instruction Group: Motion See also: Jog Active, Jog At Speed, Jog Direction, Jog Stopping, Primary Setpoint, Jog Position, Profiler Position, Jog Definition Instruction. Description: This instruction is used to control the starting, stopping and resetting, and direction of the jog motion. The velocity, acceleration and deceleration are defined in the Jog Definition Instruction dialog box. Jogging sets up an individual velocity profile for an axis based on the current jog parameters. This profile ramps to a given velocity, generating a jog position. The jog position is used during the summation of the primary setpoint. ! CAUTION Jog commands are initiated immediately, they are not buffered. Which means when a Jog Instruction is executed, the jogging motion is started immediately and the program continues on to the next step. Jogging will continue until a Stop is issued or the absolute or incremental position is reached. Halting a program does not stop Jog Motion. 100 Motion and Auxiliary Instruction Reference For example If a Jog Instruction is issued in the forward direction, then later a Jog Instruction is executed in the reverse direction the axis will immediately decelerate to a stop and reverse. ! WARNING Halting a program does not stop jog motion. Likewise, if an Incremental Jog is executed and during the jog move an Absolute Jog Instruction is executed the Incremental Jog decelerates to a stop and the Jog Absolute Jog starts. Figure 64 Jog Control Dialog Box Jog Motion can be used simultaneously with the Move Instruction. The motions will be summed together at the Primary Set Point. There are seven Action options to chose from. You can select only one Action option per Axis. Use the Add button to add (or the Delete button to delete) an Axis to the Jog Controls list box. 101 AXIMA Reference Manual The first two options (CW and CCW) are the user defined direction parameters. The Stop parameter is used to bring a jogging Axis to a stop. Each axis must be assigned its own jog Stop within the Jog Control Instruction. Selecting the Reset button will cause the axis jog position to be reset to zero. The old jog position will be rolled into the profiler position. This is necessary to maintain the primary setpoint value so the axis will not change position when resetting the jog position. The jog reset is needed for returning to the "real world" absolute position. For example A move of 5 revs CW and a jog of 10 revs CW from the home position known as zero. Although the "real world" application movement generated a 15 revolution motion profile CW, the move profiler registers only 5 revs while the jog profiler registers 10 revs. Therefore, a 15 CCW move of the move profiler would reset a "real world" position of -10 revs CW (or 10 revs CCW). To move back to the zero position it is necessary to do a jog reset (to move the jog position into the profiler position) followed by a move to absolute position zero. The Profiler Position Into Jog Position button does the opposite of Reset button. When this option is selected the profiler position is rolled into the jog register which allows the jog position to always be in the “real world” for absolute position. The Incremental and Absolute move an axis the distance or to the Position selected. These jog moves are similar to the Move Instruction except there is no coordination between axes. Each axis, even within the same Coordinate System, can be controlled independently. If you select Incremental, you will need to enter a Distance and a Movement Direction. If you select Absolute, the Distance parameter will change to Position and the Movement Direction parameter will be grayed out. These values may be fixed numbers or variables. Jogging can also be accomplished through the PLC Program with Jog Forward and Jog Reverse Pre-defined Bits. 102 Motion and Auxiliary Instruction Reference Jog Definition Instruction Group: Motion See also: Jog Acceleration, Jog Deceleration, Jog Velocity, Jog Control Instruction. Description: This instruction defines the parameters to be used when jogging in either direction and stopping. The jog Velocity, Acceleration and Deceleration values are independent of the Coordinate System velocity, acceleration and deceleration values. This dialog box allows you to define the Acceleration, Deceleration, Velocity and the S-Curve value of the jog motion for the list of axes. Figure 65 Jog Definition Dialog Box 103 AXIMA Reference Manual Label Instruction Group: Flow See also: GoTo Instruction, Call Subroutine Instruction Description: This instruction defines a label within a Motion or Auxiliary Program. Labels are used by the GoTo or Call Subroutine Instructions. Deleting labels is not allowed if the label that is being deleted has references to it elsewhere in the program. Labels may be up to 20 characters. Figure 66 Label Dialog Box Low-pass Filter Instruction Group: Servo See also: Summation Point, Filter Output Signal, Notch Filter Instruction Description: This instruction initializes an output filter to act as a low-pass filter. This instruction is useful in reducing any mechanical resonance that may occur in the Coordinate System. Figure 67 104 Low-Pass Filter Motion and Auxiliary Instruction Reference For example If the servo update interval is 400 microseconds the cut-off frequency is no more than 1250 Hertz. The Low-pass Filter Instruction will override the initial value set in the Axis Servo dialog box. If power cycled, the value automatically reverts back to the value in the Axis Limits dialog box. Figure 68 Low-pass Filter Dialog Box Cutoff Setting the cutoff frequency to zero, turns off the low-pass filter. The maximum cutoff frequency (fc) is limited to 1/2 times the inverse of the servo update interval. Manual Vector Instruction Group: Velocity See Also: Vector Length, Automatic Vector Instruction Description: This instruction allows manual velocity override of the vector length calculations for moves. If the Vector Length is set to zero (with this instruction), the vector length is calculated automatically as described in the Automatic Vector Instruction. When a move is executed, the coordinate system profiler controlling the move is actually calculating the move velocity along the vector length move for a certain number of "units" specified in this dialog box. The velocity profile of this move is controlled by the current 105 AXIMA Reference Manual velocity, acceleration, deceleration and feedrate override velocity settings. The purpose for this instruction is to allow you to define the velocity as a relation to the vector length. This may be a more convenient method to change the amount of time it takes to make a move rather than recalculating the velocity, acceleration and deceleration. For example, if the actual vector length is 10 user units and the manual vector length is set to 5 the same move will be accomplished in half the time. The actual distance moved is not modified by this instruction. Figure 69 106 Manual Vector Dialog Box Motion and Auxiliary Instruction Reference Move (Basic) Instruction Group: Motion See also: Move Instruction, Group Instruction, Target Velocity, Vector Velocity, Vector Acceleration, Distance To Go, Distance Into Move Description: The Move (Basic) Instruction can only be accessed from the Group Instructions. This instruction operates exactly like the standard Move Instruction except that it does not have the Interruptible or Trigger features. See the Move Instruction for details about this dialog box. Figure 70 Move (Basic) Dialog Box 107 AXIMA Reference Manual Move Instruction Group: Motion See also: Move (Basic) Instruction, Target Velocity, Vector Velocity, Vector Acceleration, Distance To Go, Distance Into Move Description: The Move Instruction can be used to move one or more axes simultaneously. If you want to move multiple axes in a coordinated movement, all coordinated axes must be added to the Coordinated Move list box (right hand side of dialog box) using the Add button. Figure 71 Move Dialog Box There are four different Move Types available at the top of this dialog box. To select a Move Type click on its associated check box. The Move Type you select will apply to all axes in the move. If none of the Move Type boxes are checked, the move will be a simple coordinated move. (i.e., when the Move Instruction is executed the profile is calculated, the motion is started and the program continues on the next step without waiting for the move to be complete.) 108 Motion and Auxiliary Instruction Reference Trigger move provides a method of quickly starting the move based on the status of a bit, usually an input bit. When the (Trigger) Move Instruction is executed the motion profile is pre-calculated and the move is buffered, no motion is started, the program continues to execute. The Trigger attribute can be combined with the Interruptible, Compound or Wait Until Complete attribute. Interruptible move provides an easy method of stopping a move in progress. The move can be either absolute or incremental. The Define Move parameters (either Position or Distance depending on whether its an absolute or incremental move) defines the move if the interrupt bit condition is not satisfied. If the interrupt condition is satisfied, the move will stop a specified interrupt distance (defined with the Distance parameter under Interrupt Parameters) from the point where the interrupt bit condition was satisfied, this distance is always incremental. If the interrupt distance is greater than the distance required to stop at the programmed deceleration rate, the velocity will remain constant and the programmed deceleration ramp will be followed to stop at the interrupt distance point. If the interrupt distance is less than required by the programmed deceleration rate, a new decel rate will be calculated and the move will stop at the interrupt distance point. If the interrupt distance is zero or in the opposite direction of the move the axis will attempt to stop or reverse as required a controlled deceleration. When an Interruptible move is executed the program remains at the Move Instruction until the move is complete, regardless of whether the interrupt bit condition satisfied. An interruptible move cannot be compound into next move. If the Application requires that an Interruptable move cannot come to a stop at the end of the interrupt distance a generic (Final Velocity) instruction can be used. Compound Into Next Move provides a method of blending moves together without decelerating to a stop between moves. Moves can be compound into moves of the same or different velocities. If the velocities are different the acceleration, deceleration and S-Curve ramps will be followed. This is not available in Immediate Mode. 109 AXIMA Reference Manual The Arc and Sinusoidal Instructions also have Compound Into Next Move check boxes to provide an easy method of blending linear and circular motions. When compounding moves together care must be taken to ensure the instructions in between move commands do not take longer to execute than the time it take for the previous move to complete. In other words, you must be sure the program can find and process a second move before the first one is complete. Wait Until Move Complete inhibits program execution until the move profile is complete. Complete, in this case, means the move is complete when it reaches the Commanded position not Feedback position. Wait Until Move Complete cannot be used in the same move as Compound Into Next Move. The user units of each axis is defined in the Axis Parameters dialog box. The Movement Type of each axis is defined as either Absolute or Incremental. In Absolute moves the Position parameter specifies an absolute position in user units. In incremental moves Distance specifies a distance from zero in user units. With incremental moves you can also define the direction of the move by selecting on of the Movement Direction parameters. Absolute and Incremental moves may be combined in a single coordinated move. All coordinated axes will start and end their motion at the same time. The velocity, acceleration, deceleration and S-Curve (through separate instructions) are Coordinate System attributes used for this move Bit Control enables you to select the bit that will trigger the move by typing the name of the bit in the Bit Control box then select the Condition of the selected bit. During each servo interrupt the status of the trigger bit is checked, if the selected Condition is satisfied, the move then starts immediately. Bit Control enables you to select the bit that will cause the move to be interrupted by typing the name of the bit in the Bit Control box then select the Condition of the selected bit. During each servo interrupt the status of the Interrupt Bit is checked, if the selected Condition is satisfied, the move is immediately interrupted. 110 Motion and Auxiliary Instruction Reference Normalize Instruction Group: Other See Also: Encoder Reset Instruction Figure 72 Normalize Dialog Box The Normalize Instruction is only available with A4 or later firmware. Description: This instruction normalizes the current position of an axis. A "MOD" operation is done on the current position, resulting in a new current position between zero and the length. If the Use Rotary Value box is checked, the Length box is grayed and the Rotary Length Value from the Axis Parameter dialog box is used. The primary setpoint and the encoder count are adjusted accordingly in order to prevent the axis from jumping. This instruction will not execute if the axis is in motion. Notch Filter Instruction Group: Servo See also: Summation Point, Filter Output Signal, Low-Pass Filter Instruction Description: This instruction initializes an output filter to act as a notch filter. This instruction is useful in reducing any mechanical resonance that may occur in the coordinate system. Setting the center frequency to zero turns off the low-pass filter. The maximum notch frequency (fn) is 1/2 times the inverse of the servo update interval. 111 AXIMA Reference Manual For example, if the servo update interval is 700 microseconds the cutoff frequency is no more than 714.285 Hertz. In addition, the width of the notch filter is also specified with this instruction. Figure 73 Notch Filter The Notch Filter Instruction will override the initial value set in the Axis Servo dialog box. If power cycled, the value automatically reverts back to the value in the Axis Limits dialog box. Figure 74 112 Notch Filter Dialog Box Motion and Auxiliary Instruction Reference PLS Control Instruction Group: Other See Also: PLS Definition Instruction Description: This instruction controls the operation of the PLS On or Off. If the PLS is “On”, it will operate as defined in the PLS Definition Instruction. Figure 75 PLS Control Dialog Box PLS Definition Instruction Group: Other See Also: PLS Control Instruction Description: This instruction will define one of the eight Programmable Limit Switches (PLS) that are executed at the servo update interval. When a PLS is turned “On”, the AXIMA Software will use an encoder position to index into an array. The value in the array is sent to the digital outputs. Legal values for the PLS numbers are 1 through 8. • Correct values for "encoder" are 1 through 8. • The "offset" is an integer that defines a table offset value. • The "mask" is an integer bit mask for selecting only active outputs desired. • The "ratio" is a floating point number that connects the source encoder into the table index. 113 AXIMA Reference Manual The following figure explains how the PLS parameters are used. Figure 76 PLS Operation You can choose one of eight encoders as source for the PLS. As the encoder turns, the encoder position is multiplied by the multiplier and the result is added to the offset which produces a table index. This table index value corresponds directly to the array element number. The table index is used to retrieve an integer value (32 bits) from the array specified. This integer value retrieved from the array is masked with the Mask value to produce a final result. The final result is written with the physical outputs on the AXIMA controller. The PLS mask can be set up to modify anywhere from just one to all 32 outputs. If the calculated table index is beyond the range of the array, the outputs are clamped in the “Off” state. When the PLS is turned “Off” the outputs will remain unmodified by the PLS. NOTE: 114 Before using the PLS Definition Instruction, a Local Integer Array must be defined in the Variable List dialog box. Motion and Auxiliary Instruction Reference The array must be filled with integer values before the PLS Control Instruction turns on the PLS. Figure 77 PLS Definition Dialog Box Calculating array element integer values: For AXIMA controller The array values are ANDed with the mask and written to the AXIMA controller outputs 32 through 63. To control outputs 32 through 62 use the following formula: Value = 2** (n-32) + 2** (n1-32) + 2** (n2-32) etc. where n, n1, n2 etc. are the output numbers you wish to turn on for a given element of the array, Where: n = output numbers 32 through 62. e.g. turn “On” outputs 45 and 46. Value = 2** (45-32) + 2** (46-32) = 2**13 + 2**14= 24576. To control output 63 the formula changes slightly Value = 2 ** (n-32) + 2** (n1-32) + 2** (n2-32) etc. - 2** (31). Any time output 63 is controlled by the PLS the Integer value will be negative. 115 AXIMA Reference Manual For AXIMA 2000/4000 controller The array values are ANDed with the mask and written to the AXIMA 2000/4000 outputs 1 through 12. To control outputs 1 through 12 use the following formula. Value = 2** (n + 3) + 2** (n1+3) + 2** (n2 +3) etc. Where n, n1, n2 are output numbers you wish to turn on for a given element of the array. Where: n = AXIMA 2000/4000 output numbers 1 through 12. e.g. turn “On” outputs 11 and 12. Value = 2** (11+3) + 2** (12 +3)= 2**14 + 2**15= 49152 Array values can be entered into the AXIMA from using the Formula Instruction to make equate statements or a program loop in the same program as the PLS. Array values can also be loaded serially from a text file or an operator interface. Equate statement examples: PLS_ARRAY(0) = 1024 PLS_ARRAY(1) = 24576 PLS_ARRAY(13) = 384 Program loop to fill array example: N=0 Label = Loop PLS_ARRAY(N) = N +1 N=N+1 IF N < 5 then GOTO Loop Rotary Length: This parameter is only available with A4 or later firmware. 116 Motion and Auxiliary Instruction Reference This parameter sets the PLS rotary length. The default rotary length is 0 counts. If the rotary length is zero, the PLS is linear and the output will be turned off if a table index is generated that lies outside the boundaries of the PLS array. The internal input count is always equal to the current value of the source encoder when a PLS is linear. If the rotary length is non-zero, the source encoder is used to generate an input count that "wraps-around" by the given length (modulus) before it is used to generate a table index. NOTE: This only affects the internal PLS input count and that it is still possible to generate table indexes outside of the array boundaries. If the instantaneous changes are made to the Encoder Register with the Encoder Reset, Encoder Preload, or the Home Instruction. A generic PLS Reset Instruction should be used to sync up the interim PLS Register with the Encoder Register. Calculating the mask value: For AXIMA controller Since the PLS function has the ability to control all of the outputs, a mask is provided so the PLS can operate without interfering with outputs controlled by other PLSs, PLCs or Programs. The same formulas for calculating the array values can be used to calculate the Mask value. e.g. If the PLS is to control outputs 40 through 47, Mask = 2** (8) +2** (9) +2** (10) + 2** (11) +2** (12) +2** (13) +2** (14) + 2** (15)= 65280. To use all enable all the outputs for a PLS the mask value would be -1. For AXIMA 2000/4000 controller e.g. If the PLS is to control outputs 9 through 12 the mask value will be Mask = 2** (9+3) + 2** (10+3) + 2** (11+3) + 2** (12+3) =2**12 + 2**13 + 2**14 + 2**15, Mask = 61440 Calculating the multiplier: Multiplier = 1/(# encoder counts per array element) See PLS Generic Instructions to customize the PLS for your application with features such as: 117 AXIMA Reference Manual 118 • PLS reset • Directing the PLS output to registers other the AXIMA outputs • Use registers other the encoder for a PLS source. NOTE: Keep in mind when using Generic Instructions the PLS numbers are 0 through 7 as opposed the PLS Instruction which uses the numbers 1 through 8. NOTE: The PLS is designed to track the encoder under normal operating conditions. If a rotary value is used, the AXIMA PLS logic checks the PLS register at each servo interrupt to see if the rotary value has been exceeded. If it has, the AXIMA subtracts the rotary value. If large instantaneous changes are made to the encoder register in between servo interrupts it may take a number subtractions to catch up. In an extreme example, the encoder position may be at 2** 31 and the Motion Program executes an Encoder Preload Instruction to zero the encoder position. The AXIMA will take several minutes to catch up. To avoid this condition, if a rotary PLS function is used, the PLS should first be turned “Off”, then execute an Encoder Preload Instruction. Then, use a Generic Instruction executing a PLS Reset. (see the AXIMA Generic Instructions Reference Manual). Finally, the PLS can be turned back on. This logic is usually programmed in the Home Subroutine. Motion and Auxiliary Instruction Reference Print Instruction Group: Other Description: This instruction prints a series of expressions to a serial port. The Program Control dialog box and monitor program output are used to monitor printing. The expression list is a list of expressions (variables are allowed). Each expression is separated by either commas or semicolons. The comma will insert a tab character between the expressions and a semicolon will output the expressions back to back. A print statement that does not end with either a comma or a semicolon will output a carriage return and linefeed combination. To print a text string you must enclose the text in quotation marks (e.g. "Message"). The text strings entered with this instruction will be displayed in the Program Control dialog box and in terminal mode. Figure 78 Print Dialog Box 119 AXIMA Reference Manual Proportional Gain Instruction Group: Servo See also: Proportional Gain, Proportional Term, Following Error Description: This instruction is used to set the proportional gain for one or more axes. The proportional gain set by this instruction will override the initial value set in the Axis Servo dialog box. The proportional term results from the multiplication of the proportional gain times the following error and is used to a proportional response to all errors. The proportional gain provides in-position stiffness. If power cycled, the value automatically reverts back to the value in the Axis Limits dialog box. Figure 79 120 Proportional Gain Dialog Box Motion and Auxiliary Instruction Reference Quick Jog Instruction Group: Motion See also: Quick Move Instruction, Jog Control Instruction, Jog Definition Instruction Description: The Quick Jog Instruction is only available when online from the Immediate Instruction dialog box which is accessed from the Tools/ Program Control dialog box. Figure 80 Quick Jog (Online) Dialog Box You can enter Velocity, Acceleration and Deceleration values for each axis individually. To edit any of these values, highlight the Axis you wish to make changes to in the axis list box then make the desired changes. Your changes will be automatically updated in the axis list box when you move between the Velocity, Acceleration and Deceleration parameters. You can select either CW (clockwise) or CCW (counter clockwise) for the Movement Direction of each axis in the quick jog move. 121 AXIMA Reference Manual Quick Move Instruction Group: Motion See also: Quick Jog Instruction, Jog Control Instruction, Jog Definition Instruction Description: The Quick Move Instruction is only available when online from the Immediate Instruction dialog box which is accessed from the Tools/ Program Control dialog box. Figure 81 Quick Move (Online) Dialog Box For each axis the Movement Type is either Absolute or Incremental. Absolute moves are specified by Position and does not include the Movement Direction. Incremental moves are specified by distance and direction. The Velocity, Acceleration and Deceleration are included for simplicity and are Coordinate System attributes. The operation of these fields is the same as the Velocity, Acceleration and Deceleration Instructions. The initial values are retrieved from the controller. Upon closing this dialog box the Acceleration, Deceleration and Velocity parameters are set back to the initial values. The Current Profiler Position list box shows the position (in user units) of all axes in the Coordinate System. Initialized Global Variables are provided to store these "learned" positions within the 122 Motion and Auxiliary Instruction Reference Application. These variables can then be used within the Motion Program. To initialize a Global Variable, select an axes current position and press the Init Global Var button or double click on the Axis list box and a list of Global Variables is presented. Then selects the appropriate variable to initialize and it is stored immediately. Since the Application is online, the change to the Global Variable initial values will be immediately transmitted to the controller as well as changed in the Application. These changes may be stored on disk by either pressing File Save or by selecting File Upload and then File Save. File Upload retrieves the current value stored in the initialized Global Variable within the controller. Real Time Acceleration Ramp Instruction Group: Velocity See also: Accelerating, Real Time Deceleration Ramp Instruction This instruction overrides any previous acceleration instruction or the initial value set in the Coordinate System Option dialog box. The acceleration is set for all subsequent movements by any axis or axes in the Coordinate System. Figure 82 Real Time Accel Ramp Dialog Box This instruction sets the acceleration that is used when ramping from lower to higher speeds. Setting the acceleration to zero disables the acceleration ramp which produces instantaneous acceleration. 123 AXIMA Reference Manual The following figure explains the acceleration and deceleration ramp usage. Figure 83 Acceleration/Deceleration Motion Profile The acceleration is set for the entire Coordinate System. For multiaxis motion the acceleration is along the vector for all axes in a coordinated move. 124 Motion and Auxiliary Instruction Reference Real Time Deceleration Ramp Instruction Group: Velocity See also: Decelerating, Real Time Acceleration Ramp Instruction Description: This instruction overrides any previous deceleration instruction or the initial value set in the Coordinate System Option dialog box. The deceleration ramp is set for all subsequent movements by any axis in the Coordinate System. The deceleration is set for the entire Coordinate System. For multiaxis motion the deceleration is along the vector for all axes in a coordinated move. Deceleration is used when ramping from higher to lower speeds. Setting deceleration to zero disables the deceleration ramp which produces instantaneous deceleration. Figure 84 Real Time Decel Ramp Dialog Box Real Time Profile Instruction Group: Velocity See Also: External Time Profile Instruction Description: The main purpose of this instruction is to change from external time base to real time base. It can also be used to set Acceleration, Deceleration and S-Curve in instructions. NOTE: The program will wait on this instruction until the previous move is complete (this is done to avoid switching time bases in the middle of a external time base move). This is only true if the Begin Using Real Time box is checked. 125 AXIMA Reference Manual When switching to real time from external time, you must program a new Velocity, Acceleration and Deceleration values. Figure 85 Real Time Profile Dialog Box The Begin Using Real Time box must checked to switch from external time to real time. A new Velocity, Acceleration and Deceleration must also be programmed. It can be unchecked if this instruction is used only to change Velocity, Acceleration or Deceleration values when already in real time base mode. This parameter is only available with A4 or later firmware. The S-Curve value controls the slope of the acceleration versus time profile. If the value is zero, the acceleration profile is rectangular. Otherwise, the acceleration profile is trapezoidal, clipped at the top or bottom by the current acceleration or deceleration. The normal value for S-Curve is 4 to 8 times the acceleration value. A zero value disables this feature. 126 Motion and Auxiliary Instruction Reference Real Time Velocity Instruction Group: Velocity See Also: Target Velocity, Vector Velocity, Feedrate Override Instruction Description: This instruction sets the target velocity for all subsequent motion by the profiler. This programmed velocity may be over-ridden by the Feedrate Override Instruction. The velocity specified with this instruction is a Coordinate System attribute. Therefore when coordinating the motion of multiple axes the velocity of each individual axis will be less than the target velocity. For more information see the, “Understanding Motion in a Coordinate System” section. Figure 86 Real Time Velocity Dialog Box Registration Move Instruction Group: Feedback See Also: Description: This command initiates a high-speed interruptable move. The Registration Move sequence consists of an Initial Move (either incremental or absolute) with a Registration Input Valid Window in the middle of it. Within the capture window, an internal encoder capture is initiated and monitored. If a capture occurs within the window, the initial move is killed and the Registration Move is started. The components of the Registration Move Instruction are as follows: The Movement Type can be either incremental (trailing forward slash) or absolute. 127 AXIMA Reference Manual The Movement Direction is used to start the incremental or absolute move indicated by the axis designator. This move drives the rest of the Registration Move sequence. The Registration Move parameter is added to the encode position when the Registration Input is detected within the Registration Input Valid Window. In this case, this axis Registration Captured flag is set, the move in progress is killed, and the Registration Input is used as the starting reference for the Registration Move Instruction. The Registration Input Source parameters are dependent on controller type and axis selected. The optional Registration Input Valid Window “Window” parameter defines the width of the capture window. If this parameter is not present or is zero, the capture window is then defined as the area between the start of the window and the end of the move. The optional Registration Input Valid Window "Start" parameter defines the start of the capture window. If this parameter is not present, the window begins at the start of the move. The optional Abort Bit parameter is a flag that is monitored during the entire Registration Move Instruction sequence. If the bit is seen, the current move is killed and the axis Registration Aborted flag is set indicating a user abort condition. Program flow will continue to the next instruction after the Registration Move begins or after the end of the capture window has been passed. If, however, the Abort Bit is being monitored, program flow will continue only after the Initial Move ends, the Registration Move ends, or the entire sequence is aborted. 128 Motion and Auxiliary Instruction Reference Operation Sequence: The following figure outlines the Registration Move Instruction operating sequence: MOVEMENT DIRECTION START REGISTRATION INPUT VALID WINDOW WINDOW REGISTRATION MOVE REGISTRATION INPUT POSITION Figure 87 Operation Sequence Figure 88 Registration Move Dialog Box 129 AXIMA Reference Manual Relative Path Shift Instruction Group: Path See Also: Absolute Path Shift Instruction Description: This instruction will cause the path of all motion in the Coordinate System to be shifted by a relative amount to the current location. The amount of the path shift for each axis is defined by the offset in encoder pulses. If an axis is not specified in the shift vector list, the zero location for that axis will be set equal to its current location. This instruction does not by itself cause any motion. Figure 89 Relative Path Shift Dialog Box Return Instruction Group: Flow See also: Call Subroutine Instruction Description: This instruction causes an unconditional return from a subroutine. Program execution will continue at the instruction following the last Call Subroutine Instruction that was executed. Return Instructions must be matched with call subroutines to avoid stack problems. Figure 90 130 Return Dialog Box Motion and Auxiliary Instruction Reference Rotate Path Instruction Group: Path Description: This instruction will cause the programmed path to be rotated about the given center point (identified by the position field for each axis). The plane of rotation is defined by the primary and secondary axes. This instruction requires two axes in a coordinate system. The Rotation Angle specifies the number of degrees of rotation angle. Positive rotation is defined as rotation from the primary to the secondary axis. A negative rotation is also allowed. The rotation is relative to the absolute Coordinate System. This instruction does not by itself cause any motion. Figure 91 Rotate Path Dialog Box 131 AXIMA Reference Manual Scale Path Instruction Group: Path See also: Vector Length Description: This instruction will cause the programmed path to expand or contract about the given center point. The center point is specified by the Position field. Axes not specified are scaled about the Current Position. For example, a 200 percent Scale Factor will double the distance of all moves generated by the profiler. This instruction does not by itself cause any motion. Figure 92 132 Scale Path Dialog Box Motion and Auxiliary Instruction Reference Set/Clear Bit Instruction Group: Logic See Also: Program Bits, PLC Program Bits, Coordinate System Bits, Axis Bits, Other Bits Description: This instruction sets or clears one or more specified bits. The bits must be a variable. It is not possible to set or clear some of the Predefined Variables since they are read only. For example, inputs may not be set or cleared. Figure 93 Set/Clear Bit Dialog Box Sinusoidal Move Instruction Group: Motion See also: Target Velocity, Vector Velocity, Vector Acceleration, Distance To Go, Distance Into Move, Arc Move Instruction Description: This instruction generates a sinusoidal profile on the selected axes. When executed on two axes at the same time, this instruction can be used to generate circles or ellipses. The sinusoidal movement for each axis is defined by the destination in absolute user units, phase angle (in degrees), the sweep in number of degrees (360 for one period), and the amplitude of the Sinusoidal in user units. 133 AXIMA Reference Manual Figure 94 Sinusoidal Motion Dialog Box The Destination parameter is the final end point where a particular axis will finish. The Phase Angle parameter sets the direction of travel along the arc segment (i.e., CW or CCW). This parameter relates to current position at the start, which, in turn, correlates to position of a sinusoidal wave form. For example To create CCW circular motion in a two axis system (X and Y), the X Axis would leads the Y Axis by 90°. To create motion in the CW direction, the Y Axis would lead the X by 90°. The Sweep parameter determines the arc segment length. The Amplitude parameter determines the amount of curvature. Typically these values would be the same for any two axes generating a circular arc segment. For a parabolic curve, the amplitude on each axis would be different. Sinusoidal Move Example: The figure below graphically shows a circular move from (5,Ø) to (5,Ø) with a 360° sweep, the table below shows the X and Y axis values necessary to produce the desired motion. The amplitude and phase angle of the sine wave plot directly correlates to the radius and position on the circle. 134 Motion and Auxiliary Instruction Reference Figure 95 Circular Move Figure 96 Amplitude Versus Time Plot of a CCW Circular Move with a Two Inch Radius Table 9 Circular Move Parameters X Axis Y Axis Destination 5.0 0.0 Phase 0.0 270.0 Sweep 360.0 360.0 Amplitude 2.0 2.0 135 AXIMA Reference Manual Travel Limit Instruction Group: Limits See Also: Max Travel Limit A/B, Min Travel Limit A/B, Within Travel Limit A, Not Within Travel Limit B Description: This instruction sets the travel limits monitored by the within Travel Limit A limit and/or not within travel limit B bits. There are two types of Travel Limit (“A” and “B”). The “A” travel limit sets its bit on when the axis is within its limits and “B” travel limit sets its bit when the axis is outside its limits. For coordinate systems the bit(s) is set if all of its axes are within their limits. This instruction overrides the values set in the Axis Limits dialog box. If power cycled, the value automatically reverts back to the value in the Axis Limits dialog box. Figure 97 Travel Limit Dialog Box Update Status Display Instruction Group: Other See Also: AXIMA Controller Status Display Description: This instruction controls the status display on the front of the AXIMA controller. The eight axis AXIMA controller has two digits in the status display. Either the Left Digit, Right Digit or both may be updated. The allowed character set is Ø through 9 and C, E, F, H, J, L, P, U and a space character. The space character is used to blank a digit. 136 Motion and Auxiliary Instruction Reference Figure 98 Update Status Display Dialog Box for AXIMA The AXIMA 2000/4000 controller has one 15 segment LED status display Figure 99 Update Status 14 Segment Display Dialog Box for AXIMA 2000/4000 This instruction is encoded into several low level instructions for the display decoder. NOTE: The eight axis AXIMA takes 14 milliseconds to execute this instruction, therefore, it should not be used in time critical portions of your program since this instruction uses an internal time delay it is best to only use in high priority programs. 137 AXIMA Reference Manual Wait Instruction Group: Logic See also: Program Inhibited, Program Bits PLC Program Bits, Coordinate System Bits, Axis Bits, Other Bits Description: This instruction causes the program to suspend further execution until the specified bit variable is in the selected state. Either the Set (On) or Clear (Off) state may be selected. When the program execution is suspended (inhibited) the program inhibited Pre-defined bit is set. Figure 100 Wait Dialog Box Wait For Value Instruction Group: Logic See also: Program Inhibited, Program Bits, PLC Program Bits, Coordinate System Bits, Axis Bits, Other Bits Description: This instruction causes the program to suspend further execution until the specified Variable is >= or <= the setpoint (the specified Variable must be an Integer type). If Enable Time-out is checked, a Maximum Wait Duration can be entered which defines the maximum time the program will wait on this instruction, even if the setpoint has not been satisfied. When the program execution is suspended (inhibited) the program inhibited Pre-defined Variable is set. 138 Motion and Auxiliary Instruction Reference Figure 101 Wait For Value Dialog Box 139 AXIMA Reference ManPLC Instruction Reference Overview PLC Instructions may only be used in a PLC program. These instructions use digital inputs and outputs and operate using a ladder logic model. Instruction Definitions All instructions are listed alphabetically on the following pages. And Instruction Group: PLC See Also: Or Instruction, Load Instruction Description: This instruction connects contacts in series with the current logic block. Figure 102 And Dialog Box 141 P/N 400290-00 AXIMA Reference Manual The Contact Name may be any Global or Pre-Defined Variable. A numeric entry is not allowed for the Contact Name. The Timer, Counter and Latch radio buttons AND the current logic block with the output of the Timer, Counter or Latch number specified. A variable name is not allowed for the Timer, Counter and Latch numbers. The Load is used to logically And two separate logic blocks. In this example, the PLS solves and stores the result of the first “Load” and “OR” Instructions, then solves the second “Load” and “OR” Instruction. The result of the two are then “ANDed” together. 142 PLC Instruction Reference The Not check box connects a normally closed (N.C.) contact in series with the current logic block. Not is graphically shown as (N.C.) instead of (N.O.). Counter Instruction Group: PLC Description: This instruction takes two logic blocks and connects them to the given counter. The first block is connected to the count input and the second block is connected to the reset input of the counter. The Counter # value is limited to a range of 1 through 8. The Counter # value decrements once on every rising edge of its clock input until it reaches zero. Upon reaching zero the counter output will be on. If the reset input of a counter is on, the counter value is reset to its preset value and the counter output will be off. Rising edge clock inputs are ignored while the reset input is on. Counter Preset is the preset value of the counter is reset to this value when the reset logic block is true. 143 AXIMA Reference Manual Both the current Counter # value and Preload are retained in battery backup memory during power down. The output of the counter will also remain at the state that it was at prior to removal of power (unless the reset line is on) when power is re-applied. Counter Preload and Counter values are Pre-defined Variables and can be monitored or changed by Motion or Auxiliary Programs if desired. Figure 103 Counter Dialog Box 144 PLC Instruction Reference Latch Instruction Group: PLC Description: The Latch Instruction implements a set/reset flip flop shown in the example below. The truth table for the latch output is as follows: Where X is the previous condition. If the reset input is “On” the output of the latch will be “Off”. If the set input is “On” and the reset input is “Off” the output of the latch is “On”. If both the set and reset inputs are “Off” the latch condition will be unchanged from its previous condition even if the power is cycled. 145 AXIMA Reference Manual Figure 104 Latch Dialog Box Load Instruction Group: PLC See Also: Timer Instruction, Latch Instruction, Output Instruction, Counter Instruction, And Instruction, Or Instruction Description: The Load Instruction is used to begin a logic block (ladder rung). This instruction loads the status of an Input, Timer, Counter or Latch into a logic block. This logic block may then be output, ANDed, ORed etc. to generate more complex digital logic. Figure 105 Load Dialog Box 146 PLC Instruction Reference The input choices are Contact, Timer, Counter or Latch. If the input is a contact a contact name (variable name) is required, otherwise a number is required for Timer, Counter and Latch. All inputs are assumed to be N.O. (normally open). The Not check box is used to invert the status for an N.C. (normally closed) operation. Or Instruction Group: PLC See Also: And Instruction, Load Instruction Description: This instruction connects contacts in parallel with the current logic block. Figure 106 Or Dialog Box The Contact Name may be any Global or Pre-Defined Variable. A numeric entry is not allowed for the Contact Name. 147 AXIMA Reference Manual The Timer, Counter and Latch radio buttons OR the current logic block with the output of the timer, counter or latch number specified. A variable name is not allowed for the timer, counter and latch numbers. Load is used to “OR” two seperate logic blocks. In this example the PLC solves and stores the result of the first Load and “AND” Instructions. Then solves the second set of Load and “AND” Instructions. The result is then “ORed” together. 148 PLC Instruction Reference The Not check box connects a normally closed contact in parallel with the current logic block. Graphically shown below as “A” instead of “B”. Figure 107 “A” Figure 108 “B” 149 AXIMA Reference Manual Output Instruction Group: PLC See also: And Instruction, Load Instruction, Or Instruction Description: Two Output Instructions may not be used to "write to" the same variable. The Output Instruction outputs the current logic block to a bit variable. It is not possible to set or clear some of the Pre-defined Variables since they are read-only. Figure 109 Output Dialog Box Timer Instruction Group: PLC Description: The Timer Instruction requires a logic block which is used to start the timer or reset the timer. The Timer # will begin timing upon the rising edge of the logic block and continue counting as long as the input is on. If the logic block is off the timer is reset. Therefore the timer output will not turn on unless the input logic block is on for the entire timer interval. This instruction is the equivalent of an "on delay". 150 PLC Instruction Reference The actual and timer preload values are Pre-defined Variables and can be monitored be set by Motion or Auxiliary Programs. Figure 110 Timer Dialog Box 151 AXIMA Reference ManExpression Reference Overview Expressions are used in the Formula, Generic and If/Then Instruction. Expressions provide numeric or logical results. The numeric results are generally used in the Formula and Generic Instructions, while the logical results are used in the If/Then instructions. Listed below are all the expressions available. Expression Definitions All expressions are listed alphabetically on the following pages. Expression Format Result + Addition expression1 + expression2 Numeric. - Subtraction expression1 expression2 Numeric. * Multiplication expression1 * expression2 Numeric. / Division expression1 / expression2 Numeric. ** Exponentiation expression1 ** expression2 Numeric. << Left Shift expression1 << expression2 Numeric. >> Right Shift expression1 >> expression2 Numeric. < Less Than expression1 < expression2 Logical. = Equal To expression1 = expression2 Logical. 153 P/N 400290-00 AXIMA Reference Manual Expression Format Result = Equal Assign expression1 = expression2 Numeric. > Greater Than expression1 > expression2 Logical. <> Not Equal To expression1 <> expression2 Logical. <= Less Than Or Equal expression1 <= expression2 Logical. >= Greater Than Or Equal expression1 >= expression2 Logical. ACOS Arc Cosine ACOS (expression) Numeric. ACOSH Hyperbolic Arc Cosine ACOSH (expression) Numeric. ACOT ACOT (expression) Numeric. ACOTH Hyperbolic Arc Cotangent ACOTH (expression) Numeric. AND Logical AND expression1 AND expression2 Logical. ASIN Arc Sine ASIN (expression) Numeric. ASINH Hyperbolic Arc Sine ASINH (expression) Numeric. ATAN ATAN (expression) Numeric. ATANH Hyperbolic Arc Tangent ATANH (expression) Numeric. BIT Bit Status BIT (expression) Logical. This function returns the state of a bit flag. The result is -1 if the bit is set and Ø if the bit is clear. This allows the result to be used in logical expressions. COS Cosine COS (expression) Numeric. CEIL Ceiling CEIL (expression) Numeric. This function returns the smallest integral value greater than or equal to the expression. The expression is rounded toward positive infinity. COSH Hyperbolic Cosine COSH (expression) Numeric. COT Cotangent COT (expression) Numeric. 154 Arc Cotangent Arc Tangent Expression Reference Expression COTH Hyperbolic Cotangent Format Result COTH (expression) Numeric. FLOOR Floor FLOOR (expression) Numeric. This function returns the largest integral value less than or equal to the expression. The expression is rounded toward negative infinity. LN Natural Logarithm LN (expression) Numeric. LOG Common Logarithm LOG (expression) Numeric. MOD Modules (expression1) MOD (expression2) Numeric. This operator returns the modulus of the two expressions. The modulus is the remainder after dividing "expression1" by "expression2" an integral number of times. If the second expression evaluates to zero, the MOD operator returns Ø.Ø. Otherwise, the modulus is calculated according to the following formula: X MOD Y = X FLOOR ( X / Y ) * Y. NAND Logical NAND expression1 NAND expression2 Numeric and Logical. NOR Logical NOR expression1 NOR expression2 Numeric and Logical. NOT Bitwise Complement NOT expression Numeric and Logical. OR Logical OR expression1 OR expression2 Numeric and Logical. RND Random Integer RND (expression) Numeric. This function returns a random integer between Ø and "expression" - 1. ROUND Round ROUND (expression) Numeric. This function returns the nearest integral value to the expression. SIN Sine SIN (expression) Numeric. SINH Hyperbolic Sine SINH (expression) Numeric. SQRT Square Root SQRT (expression) Numeric. TAN Tangent TAN (expression) Numeric. TANH Hyperbolic Tangent TANH (expression) Numeric. 155 AXIMA Reference Manual Expression Format Result TRUNC Truncation TRUNC (expression) Numeric. This function removes any fractional part of the expression and returns an integral result. The expression is rounded toward Ø.Ø. XNOR Logical XNOR expression1 XNOR expression2 Numeric and Logical. XOR Logical XOR expression1 XOR expression2 Numeric and Logical. 156 AXIMA Reference ManTuning Procedures Overview While closed loop systems offer the highest performance, they must be properly tuned to achieve this performance. Tuning your AXIMA controller involves changing the constants used in the servo loop computations. This is easily accomplished using the AXIMA Software’s tuning tools. Select the tuning fork icon from the toolbar or using the menu, Tools,Tune Drives or F9. The Tuning dialog box has four tabs labeled Step 1 through Step 4. Step 1 is the initial setup tab. Step 2 and 3 are for tuning the drives (one axis at a time). Step 4 is used for tuning the AXIMA controller. 157 P/N 400290-00 AXIMA Reference Manual Step 1 - Setup The purpose of Step 1 is to select the axis to be tuned and to enter the appropriate data to permit the tuning software to assist you during a tuning session. The data entered in Step 1 sets up the correct scaling for the graphs ans is used to determine whether or not you can control the drive enable using this software. It is also needed to calculate the initial proportional and feedforward velocity gains used in Step 3 and Step 4. These initial gains will typically be 1/2 to 1/4 of the gains set up by the AXIMA Defaults button in the servo dialog box. These lower gain values are more forgiving of the mechanical backlash and drive train torsional windup that are common in most systems. Figure 109 Tuning Dialog Box: Step 1 - Setup Select the Coordinate System and Axis you wish to tune by clicking on the arrow buttons on the right side of the list boxes. 158 Tuning Procedures Enter the appropriate Encoder Density. This line density is entered in “lines per motor revolution”. If you are using linear motors, enter the number of “lines per inch". The field will still display lines/motor revolutions The encoder multiplier for that axis is used to convert the line density to “counts/motor revolutions” for motors and “counts/ inch” for linear motors. Make sure that the numbers entered correspond to the way the DIP switches (LX drives) or parameters (MX and E Series drives) are setup in the drive. The motor/drive type, loop type (either velocity or torque) and the encoder lines/motor revolutions are displayed in static fields. This information is retrieved from the servo setup in the AXIMA. The Maximum Velocity (in RPM’s) and the Maximum Voltage (in volts) values need to be entered in the Command Scaling area for a velocity mode drive. If torque mode is selected and the drive/motor are unspecified, enter the continuous torque (lb.-in.) and Maximum Voltage (volts). If torque mode is selected and the drive is either an E Series or an MX or LX drive, these fields are grayed and no information is required. View Current AXIMA Gains Button This option provides a convenient way to view the current AXIMA gain values without having to exit the tuning procedure. The information in this dialog box is for reference only and is not editable. Initialize Gains/Original Gains Button The Initialize Gains button calculates a reasonable starting value for gains for the selected axis and sends the gains for the current axis to the AXIMA controller. The gain values that are in the axis are saved so they can be restored at any time during the session. Initialized gains are a good starting point for system tuning. If your axis becomes unstable when you click on the Apply Now button, click on the Initialize Gains button to initialize the AXIMA gains. If the unstable condition continues, it is most likely being caused by drive tuning ans should be corrected before continuing. After you click on this button it’s text will change to Original Gains. Clicking on the Original Gains button will send down the gain values that were originally in the AXIMA before entering the tuning session. You can go back to the gains you started with at any time by clicking 159 AXIMA Reference Manual on the Original Gains button. This button is grayed out (not active) until you click on the Apply Now button. Apply Now Button Once the data has been set up for this axis and coordinate system, and the Apply Now button is pushed, it will be retained through the entire tuning session even if other axes are subsequently set up. The Apply Now button also tests the enable line assignments ans actually tests the output to determine if it can take software control over the enable output. The enable output is determined by the enable output data box in the Axis Servo dialog box seen during AXIMA axis setup. If no assignment conflicts are detected the software will attempt to enable the drive and if it is successful, the drive will be enabled for about 1/2 second during the test. If the software cannot enable it or suspects it cannot control the output, AXIMA will display a message (see Figure 110) alerting you to this fact and what your options are for proceeding. If the drive becomes momentarily unstable during the enable test, click on the Initialize Gains button. If it’s still unstable, adjust the drive gains, not AXIMA gains, to stabilize it. Usually this will involve reducing the drives proportional and possibly the derivative gain. If you want the AXIMA Software to control the enabling and disabling, and the enable test was successful, you can proceed to Step 2 if the axis is in velocity mode or Step 3 if the axis is in torque mode. Enable/Disable Control Test However, if you want the AXIMA Software to control enabling and disabling, but you were unsuccessful in enabling the drive with the Apply Now button, the following window will be visible. The enable output is determined by the enable output data box in the Axis Servo dialog box seen during AXIMA axis setup. You must make changes in the external control or in your application to allow AXIMA Software to take control. To permit software to take control once the enable, you must not be controlling the setting or clearing of the drive enable output from within your AXIMA Motion or PLC Programs. This can be accomplished one of three ways. 160 Tuning Procedures Figure 110 Enable Test Failure Prompt The simplest method is to Halt All Programs by pushing the Halt All Programs and Test button in the Enable Test Failure dialog box. Choosing this will halt execution of all Motion, PLC and Auxiliary Programs and will relinguish all control to the tuning software. Another method is to choose the Halt Motion/PLC Program on Test button. This will halt the Motion and PLC Programs only in the selected coordinate system. This can be chosen if you need the AXIMA to continue accepting another coordinate system to keep the machine running while you tune the selected axis. ! CAUTION The Halt Motion/PLC Program should be chosen only if you are sure that the running program will not affect the enable output and will not restart the halted program. The last method would be to rewrite your program to allow it to run normally but still allow the tuning session to control the enable/ disable output. This is the least attractive of the choices because of the inconvenience involved in rewriting a program and reassigning outputs. 161 AXIMA Reference Manual The Skip Test And Proceed button will put the drive under External Enable/Disable control.This means that the software will not try to enable or disable the drive during the remainder of the tuning session and the Enable/Disable button will remain grayed in Steps 2 through 4. You will need to use some external means to enable and disable the drive. Step 2 - Adjust Offset The purpose of Step 2 is to null the offset of an axis that is in velocity mode. If the axis is being operated in torque mode, no offset adjustment is required and the Open Servo Loop and Enable Axis buttons are grayed. Move on to Step 3. The drive must be enabled and the servo loop must be opened to perform this adjustment. If the Enable button is grayed, you do not have control over the enabling and disabling of the drive (see Step 1) using the AXIMA Software. In this case, you are responsible for enabling the drive externally to adjust the offset. Figure 111 Tuning Dialog Box: Step 2 - Adjust Offset 162 Tuning Procedures Open/Close Servo Loop Button The Open/Close Servo Loop button opens and closes the servo loop associated with the current axis. The analog command wires should remain connected to the drive so that all components in the system will be compensated for when adjusting the drive offset. This button will be grayed if you have motion occurring due to a running Motion Program and you choose not to stop this motion. Enable/Disable Axis Button This button enables and disables the current axis. If it is grayed, the enabling and disabling of the axis is not being controlled by the tuning session and must be externally controlled. Display/Procedure This option allows you to switch between viewing the procedure for nulling the offset and the graph which displays the encoder position. The graph can be expanded to fill the Tuning dialog box by clicking on the Size button in the upper right corner of the graph. Adjusting the Drive Offset If the motor shaft drifts more than one revolution in 12 seconds the offset must be adjusted. The graph window displays encoder position as a function of time and is a very useful tool to determine when drifting has stopped. The graph is scaled for 12 seconds horizontal and ±.5 rev vertical. The offset pot for the LX drive is located on the LX personality board (see User’s Guide for the LX Brushless Servo Drives, P/N 400272-00, for information). The offset for the MX drive can be adjusted with Pr06 (see User’s Guide for the MX Brushless Servo Drives, P/N 400268-00, for more information). The E Series drives are factory adjusted ans will normally need no field offset adjustment. E Series drives offset is adjusted either with the FM-P module or the PowerTools Software. If using the FM-P module the analog input offset can be found in the analog group parameter #9.02 AI zero off. If using PowerTools use Details View, Analog Tab, Analog Zero Offset. 163 AXIMA Reference Manual Step 3 - Drive Tuning The purpose of Step 3 is to setup a test motion profile and, if the axis is in velocity mode, tune the drive. If the drive is an LX, there are four pots that need to be adjusted in this step. If the drive is an MX, one pot and three MX parameters (Pr13, Pr14 and Pr15 - see User’s Guide for the MX Brushless Servo Drives, P/N 400268-00) need to be adjusted. E Series drives will not require tuning for most applications up to 10:1 inertia mismatch. However, in application requiring maximum performance, adjustment of the factory default tuning parameters can be done with either the FM-P module mounted on the drive, or with the PowerTools Base or Base Plus software, loaded onto a PC with a serial port connection to the drive. No drive adjustments are required if the axis is being operated in torque mode. However, you must enter information in the edit fields for the motion profile which will be used in Step 4 - AXIMA Tuning. Figure 112 Tuning Dialog Box: Step 3 - Drive Tuning 164 Tuning Procedures Setting up a Motion Profile To setup a motion profile, choose a Motion Type and enter a Distance, Velocity, Acceleration and Deceleration rates, and Dwell. Next, click on the Apply Now button to accept the parameters you entered. Then click on the Start Motion button to initiate motion on the axis. Each of these motion profile parameters are explained below. There are seven different motion types available (six are pre-defined and the seventh option is the Motion Program of the Coordinate System you choose in Step 1). Click on the arrow on the right side of the Motion Type list box to select the desired motion type. The seven motion types are described below: The CW Then CCW Once option creates motion in the CW direction, decelerates, then immediately creates that same motion in the CCW direction. This option works exactly like CW Then CCW Repeated, except that the axis will perform the motion only once each time you click on the Start Motion button. The CW Then CCW Repeated option creates repeated motion in the CW direction, decelerates, then immediately creates that same motion in the CCW direction and continuous to repeat until you click on the Stop Motion button. For example If you entered a distance of ten revolutions, a velocity of ten revolutions/second and no dwell. When you click on the Start Motion button the axis will accelerate at the rate specified, move ten motor revolutions at ten revolutions/second in the CW direction first. Then decelerate to a stop at the decel rate specified then immediately (unless you enter a Dwell) accelerates and performs the same motion in the CCW direction. The axis will continue to run this motion profile until you click on the Stop Motion button. The CW Once option creates motion only in the CW direction. This option works exactly like CW Repeated except that the axis will perform the motion only once each time you click on the Start Motion button. The CW Repeated option creates motion only in the CW direction, and after decelerating to a stop immediately repeats the motion (unless you enter a dwell, in which case it will repeat the motion when the dwell expires). 165 AXIMA Reference Manual The CCW Once option creates motion only in the CCW direction. This option works exactly like CCW Repeated except that the axis will perform the motion only once each time you click on the Start Motion button. The CCW Repeated option creates motion only in the CCW direction, and after decelerating to a stop immediately repeats the motion (unless you enter a dwell, in which case it will repeat the motion when the dwell expires). The Motion Program option runs the Motion Program in the Coordinate System that the axis currently being tuned is defined in. When you select this option, the Distance, Velocity, Acceleration, Deceleration and Dwell parameters will be grayed out. Enter a Distance in user units. If you select CW and CCW Repeated as a Motion Type, the motor will travel the distance you entered, first in the CW, then in the CCW direction. Enter a Velocity in user units/second2. The Acceleration rate is in user units/second 2. The Deceleration rate is in user units/second2. Enter a Dwell in seconds. A dwell is only meaningful if you selected a “Repeated” Motion Type. The axis will dwell for the amount of time entered before repeating the motion profile. The View Current AXIMA Gains button provides a convenient way to view the current AXIMA gain values without having to exit the tuning procedure. The information in this dialog box is for reference only and is not editable. The Open Loop Gains/Restore Gains button is used for sending gains to the AXIMA. The Open Loop Gains are used during drive tuning. The Restore Gains button sends down the gain values that were in the AXIMA before doing this step. You can always go back to the gains you had when you entered this step at any time by clicking on the Restore Gains button. A feedforward velocity gain and a very small proportional gain will be calculated from the information provided in Step 1 and used to simulate an open loop command signal to the drive. This will provide some position loop control so the axis actually goes the distance programmed. 166 Tuning Procedures The Start/Stop Motion button is used to start and stop motion on the current axis. When there is no motion the Start/Stop Motion button will read Start Motion. After you click on it, it changes to Stop Motion. The Run/Halt Program button runs and halts the motion program associated with the axis being tuned. The Start/Stop Motion button changes to Run/Halt Program when you choose Motion Program as a Motion Type (unless there is a run or halt conflicts) and select the Apply Now button. Display/Procedure The Display/Procedure option allows you switch between viewing the procedure for drive tuning and the graph options. There are three graph options available to assist you in tuning your drive, they are: Encoder Velocity and DAC Output, Encoder Velocity and Following Error, and DAC Output and Following Error. The graph can be expanded to fill the Tuning dialog box by clicking on the Size button in the upper right corner of the graph. Procedures for Drive Tuning For All Types Of Drives 1. Choose one of the seven Motion Types you would like to use for tuning. A suggested minimum velocity is 500 RPM. Fill in the edit fields to define the characteristics of the profile (if you select Motion Program the edit fields will be grayed out). Click on the Apply Now button. 2. Enable the drive by clicking on the Enable Axis button. If it is grayed, the enabling and disabling of the axis is not being controlled by the AXIMA Software and must be externally set. 3. Click on the Open Loop Gains button to send down gains that simulate an open position loop. E Series Drive Tuning Procedure: Initial drive setup with PowerTools use Advanced Mode Viewing. 167 AXIMA Reference Manual 1. Enter the reflected load inertia ratio into the inertia data box (FM-P ). If you are not sure of your inertia, it is better to guess low. 2. Enter the friction value into the Friction data box (FM-P ). To determine the friction value, run the axis at a constant 100 RPM (this can be done easily in Step 3) and view the load percent in the Status Tab (FM-P ). If this value varies, note the lowest value seen here and enter it into the Friction data box. 3. Make sure high performance gain box is not checked in the Motor Tab (FM-P ). 4. Now click the Analog Tab to verify the Input Command Voltage (FM-P ) 5. Now check the Motor Max Speed value in the Motor Tab to verify it is correct (FM-P ). 6. Save all these parameters into the drive by clicking Memorize button in PowerTools. If the Memorize button is grayed then use the Update button. 7. The only adjustment left is the response also found on the Motor Tab. This adjustment is made while watching the Motion Graph. Increasing the response will tighten the system up. 8. Start the Motion Profile you have selected in Step 3 and monitor the graph DAC output versus encoder feedback. These two traces should overlay each other. If they do not, you may need to make an adjustment to either the Analog Input Full Scale or the Max Speed parameter in the E Series drive. 9. Run your profile, still with Open Loop Gains, and check the ends of the accel/decel ramps of the encoder feedback trace. This may be easier to see with the graph set to Encoder Feedback versus Following Error. Adjust the E Series drive Response parameter until you have optimized this (FM-P ). 168 Tuning Procedures LX Drive Tuning Procedure: 1. Make sure the Accel/Decel pot is set fully CCW (factory default). If the motor is unstable, turn the Gain pot and Response pot CCW until it becomes stable. 2. Select graph of encoder velocity and DAC output. This will set the scaling to that defined in Step 1 (example: 10V = 3000 RPM). Verify that the drive speed scaling switch in the LX (DIP switch 1/1) is set properly. 3. While viewing the graph, adjust the Cal Speed pot so that the constant speed portion of both graphs are on top of one another and are actually constant. NOTE: The Cal Speed adjustment will be easiest to perform if the profile has a constant velocity that is at least one second long. 4. Increase the Gain until the encoder velocity graph matches well with the DAC output graph. In particular, look for overshoot or oscillation during the point in the profile that the speed changes occur and listen for excessive noise or vibrations in the machine. Too much Gain will cause instability. 5. Increase the Response pot to maintain a good match between the two graphs. In particular, look for overshoot or oscillation during the point in the profile that the speed changes occur and listen for excessive noise or vibrations in the machine. Listen for noise/vibration and oscillations in the velocity graph. If you experience this, the Response is set too high. MX Drive Tuning Procedure: 1. If the motor is unstable, set Pr13 and Pr14 lower than the default values until it becomes stable. 2. Select graph of encoder velocity and DAC output. This will set the scaling to that defined in Step 1 (example: 10V = 3000 RPM). Verify that the drive speed scaling switch in the MX is set properly. 169 AXIMA Reference Manual 3. This will set the scaling to that defined in Step 1 (example: 10V = 3000 RPM). Verify that Pr99 is set correctly for the application. 4. While viewing the graph, adjust the Full Scale adjust pot (access it from the front of the drive under the connections cover between connection #8 and #9) so that the constant speed portion of both graphs are on top of one another and are actually constant. NOTE: The Cal Speed adjustment will be easiest to perform if the profile has a constant velocity that is at least one second long. 5. Increase Pr13 (Gain) until the encoder velocity graph matches well with the DAC output graph. In particular, look for overshoot or oscillation during the point in the profile that the speed changes occur and listen for excessive noise or vibrations in the machine. Too much Gain will cause instability. 6. Increase the Pr14 (Response) to maintain a good match between the two graphs. In particular, look for overshoot or oscillation during the point in the profile that the speed changes occur and listen for excessive noise or vibrations in the machine. Listen for noise/vibration and oscillations in the velocity graph. If you experience this, Pr14 is set too high. 7. Adjust Pr15 only if there is more than a ten percent difference between the two graphs (velocity error) for more than 100 milliseconds after a speed change. The default value, or a value close to it, is satisfactory for most applications. Too much integral gain will cause instability. Step 4 - AXIMA Tuning The profile that will be used for this step is actually entered in Step 3. Once this is done, click on the Initialize Gains button which initializes the gains. For velocity mode; proportional and feed forward velocity are initialized. In torque mode; proportional, feedforward velocity, and derivative gain are initialized. These values are calculated based on the data from Step 1. 170 Tuning Procedures These initial gains are intended to provide stable motion with reasonably good performance for most applications. In some applications the proportional gain will need to be increased for optimum performance Figure 113 Tuning Dialog Box: Step 4 - AXIMA Tuning The motion may be started by clicking on the Start Motion button (or Run, if a Motion Program has been chosen in Step 3). The Enable/Disable button allows you to enable and disable a drive. The graph can display either; Encoder Velocity and DAC Output, Encoder Velocity and Following Error, or DAC Output and Following Error. If further optimized tuning is required, follow the procedures below. Velocity Mode Axis Zero all the gains except proportional. The initial proportional gain should be used as a starting point. Optimize the motion performance 171 AXIMA Reference Manual by working on one gain at a time. The gains should be worked on in the following order: 1. 2. 3. 4. Proportional Integral gain, integral delay, and integral limit Feedforward velocity Feedforward acceleration Torque Mode Axis Zero all the gains except proportional and derivative. The initial proportional and derivative gains should be used as a starting point. Optimize the motion performance by working on one gain at a time. The gains should be worked on in the following order: 1. 2. 3. 4. 5. Derivative Proportional Integral gain, integral delay, and integral limit Feedforward velocity Feedforward acceleration Typically, the optimization process is an iterative one whereby the value of the gain is increased and indicators of performance such as velocity profile, following error, sound and vibration of the mechanics are observed and used to determine when the gain is set right. The derivative, proportional, and integral gains are determined interactively by increasing the gain until performance is no longer improved. The feedforward gains are calculated with the following equations: FFVEL = (PG)(ERROR)/VEL FFACC = (PG)(ERROR)/ACCEL Where: PG (proportional gain) = Volts/Pulse ERROR (following error) = Pulses VEL (axis velocity) = Pulses/Seconds ACCEL (axis acceleration) = Pulses/Second2 172 AXIMA Reference ManDiagnostics and Debugging Overview This section provides the you with guidelines and hints on troubleshooting various problems that may be encountered during setup and operation of your AXIMA controller. The AXIMA Software provides you with a variety of diagnostics aids including a programmable Status Display, Diagnostics, Program Control, Error Messages, and User Messages. This section includes the Program Control feature which can be used to control the execution (start/stop) of a Motion, Auxiliary or PLC Program, issue immediate mode instructions, view error messages or the status of program outputs. AXIMA Controller Status Display The LED display on the front of the AXIMA controller is a programmable status display used to indicate machine status and condition. The decimal point on the display indicate the status of the AXIMA watchdog output. If the decimal point is off, the AXIMA has encountered a watchdog problem. The decimal point is normally on. For more information on controlling the characters displayed on the status display see the Update Status Display Instruction. 173 P/N 400290-00 AXIMA Reference Manual Diagnostics Diagnostics are provided for Online Applications only. To begin an online session, select either File,Online or the Online button on the toolbar. Diagnostics are provided are various levels of the Application hierarchy (Application, Coordinate System, Axis and Programs). To use the diagnostics select, the level of the application you wish to diagnose in the hierarchy view to select Application, Coordinate System, Axis, or Program, then select Tools,Diagnostics or the Diagnostics button on the toolbar. Application Diagnostics The left side of the Application Diagnostic dialog box shows the status of the digital inputs and outputs. The right side of the box displays the Encoder Position, Encoder Velocity and Output Volts of each axis of your system. Below the inputs and outputs is the status of the various DC voltages used by the AXIMA controller. To view the status of the expanded inputs and outputs use the Selection list box. An input or output is on (active) if its associated radio button is filled. These radio buttons are not selectable they simply show I/O status, either “On” or “Off”. Figure 114 Application Diagnostics (Online) Dialog Box 174 Diagnostics and Debugging Coordinate System Diagnostics The left side of the Coordinate System Diagnostics shows the status of various pre-defined bit values (for more information see Coordinate System floating points and bits variables). The right side show a list of analog values related to the Coordinate System. Two choices of analog values may be selected by pressing the Next button on the dialog box. The two choices of analog values are Vector and Tracking. The vector values define the vectored motion, including velocity, acceleration and length. The Tracking values define the motion as it is in progress, including distance to go, feedrate override and fraction into move. Figure 115 Coordinate System Diagnostics Dialog Box 175 AXIMA Reference Manual Axis Diagnostics The left side of the Axis Diagnostics shows the status of various predefined bit values (for more information see Coordinate System floating point and bit variables). The right side show a list of analog values related to the Axis. The list of analog values may be selected by pressing the Next button on the dialog box (lower right). There are four choices of analog values Position, PID, Jog and Drive I/O. The position values define the position (both commanded and actual) in user units. The PID values define the voltage output generated by each of the PID terms. The Jog values define the jog motion as it is in progress, including velocity, acceleration and deceleration. Figure 116 Axis Diagnostics Dialog Box 176 Diagnostics and Debugging Program Diagnostics The Program Diagnostics shows the status of the program selected in the hierarchy view. The diagnostic data provided is the same for all type of programs including; Motion, Auxiliary and PLC. The data includes the running/halted status, dwelling, inhibited and run/halt request bits. For more information see Pre-defined Variable Definitions. Figure 117 Program Diagnostics (Online) Dialog Box 177 AXIMA Reference Manual Program Control The Program Control dialog box is displayed when the Application is online and program control is selected from the Tools menu or from the icon on the toolbar. You can control the execution (start/stop) of the Motion, Auxiliary and PLC Programs, issue immediate mode instructions, view error messages and the status of program outputs. Program Control with PLC Programs The PLC Programs are a special case for this feature. PLC Programs execute at the servo update rate and provide very high performance processing. Therefore, due to the PLC Program design, the Pause, Continue, Where Am I?, Single Step and Immediate buttons will be grayed. Figure 118 Program Control (Online) Dialog Box 178 Diagnostics and Debugging Select The Select combo box at the top of this dialog allows you to select any program contained by the application. Once you select a program it will be displayed in the program list box along the status (running, halted, dwelling, waiting). Monitor Program The Monitor Program check box displays output messages from the program in the small list box including error messages and Print Instructions. Run Button The Run button causes the program to begin execution from the first instruction in the program. Halt Button The Halt button is used to stop the execution of the currently selected program. When you press the Halt button the instruction that the program was executing when the halt was requested will be highlighted. Motion generated by the profiler will stop with zero deceleration. Pause Button The Pause button causes the program execution to be stopped on the current instruction. If their is motion in progress (generated by the motion profiler) the Pause button will cause the motion to decelerate to a stop. When you press the Pause button the instruction that the program was executing when the pause was requested will be highlighted. Continue Button The Continue button resumes program execution after the program is stopped by the user with the Pause button. Any remaining motion interrupted by the pause will be completed when you press the Continue button. 179 AXIMA Reference Manual Where Am I? Button The Where Am I? button is used to update the current instruction the program list will be updated to show the instruction in the list box. The Halt, Pause and Single Step buttons will automatically execute the Where Am I? feature to show you the current execution location. The Where Am I? button matches the AXIMA program counter up with the AXIMA instruction. The program counter points to the generic instruction that was just executed. AXIMA instructions normally are implemented with a single generic instruction, but in some cases it takes multiple generic instructions. In the cases of multiple generic instructions it may take several single steps to get through an AXIMA instruction. The program counter is not updated until the generic instruction has been queued for execution. Therefore, in some cases, the program counter update is delayed. The program control is polling AXIMA in a time loop for the program counter and matching the AXIMA instruction. Therefore you may see the Where Am I? update delayed. Single Step Button The Single Step button is used to step one instruction at a time through the program. The current executing instruction will be highlighted and will be visible within the list box at all times. Variables Button The Variables button will display the Variable Diagnostics dialog box. This dialog allows you to view the contents of up to eight user variables. Which can be a useful tool when diagnosing problems in a program. 180 Diagnostics and Debugging You can modify the contents of a variable by highlighting a variable then selecting the Modify button. Figure 119 Variables Diagnostics Dialog Box Modify Button The Modify button (on the Modify Variable dialog box) displays the Modify Variable dialog box shown below. This dialog box allow you to view the contents and/or modify a single variable at a time. Figure 120 Modify Variables (Online) Dialog Box 181 AXIMA Reference Manual The New Value and New State controls will initially be grayed when this dialog box is displayed. When you press the Modify button it will change to an Update button and the New Value and New State will be enabled. After changing the value or state you then press the Update button which causes the variable contents to be updated. NOTE: Input status cannot be modified. If the program is writing or setting the variables the program will overwrite the value so you may not be able to modify it from this dialog box. References Button The References button is used to find all references to the variable selected. Note that variable references are available only in the programs that have been uploaded. Diagnostics Button The Diagnostics button displays the Program Diagnostics dialog box. For a definition of the program diagnostic data see the Pre-defined Variables, program (bits) section. Also see the, “Troubleshooting Guide” section for more information on AXIMA diagnostics. Figure 121 Program Diagnostics Dialog Box 182 Diagnostics and Debugging Immediate Button The Immediate button displays the Immediate Instructions dialog box. Some instructions (commands) may be ignored if the selected program is running The Immediate Instructions list box displays a list of all available immediate instructions. To send an immediate instruction to a selected program, double click on the desired instruction. Most instruction dialog boxes will require you to enter a parameter or value. When you select OK from the instruction dialog box the instruction is immediately sent to the controller. Use CAUTION when issuing immediate instructions since they may affect the motion immediately. Figure 122 Immediate Instruction (Online) Dialog Box The Quick Move and Quick Jog Instructions are only available from this dialog box and can not be executed from within a program. See program instruction Quick Jog or Quick Move. 183 AXIMA Reference ManError Messages Controller Messages The table below list all of the error messages you could receive from the AXIMA controller and the probable cause of the error message. Message Cause/Correction Syntax error. General error in instruction format. Unknown command. Instruction was not found. Check spelling or spacing. Line not found. GoTo/Call Subroutine to non-existent label. Range error. Numeric value out of range. Programming running. Tried to edit or run a program that is running. No Coordinate System profile. Issued a Coordinate System Instruction with no Coordinate System attached. Axis not attached. Tried to run a program after detaching one or more axes. Not at program level. Tried to list or run at system level. Bad numeric format. Could not phrase value as number. Missing Bracket. Expression is missing a bracket. Re-dimensioned block. Used DIM to allocate data to a different size. Type not allocated. Referenced an undimensioned variable. To dimension a local variable, the program must be run. Out of memory. The application or individual program has consumed its allocated memory. Parser overflow. Instruction line too complex to parse. Parser underflow. Could not parse instruction line. Bad data type. Instruction expected a specific data type which was not used. 185 P/N 400290-00 AXIMA Reference Manual Software Messages The following sections detail all messages generated by the AXIMA Software to the operator. The sections include Communications, Application, Coordinate System, Axis, Axis Limits, Program, Instruction, Variable, Editing and Other Messages. These messages are grouped logically and following the Application hierarchy. 186 Error Messages Communications Messages Message Cause/Correction Closing This Application Will Close The Serial Port. When closing an unmodified online application this message is displayed for information purposes only. Can not initialize on-line mode, no application found in the controller. If no application exists within the controller the online mode is not allowed. Communications Error - Timeout. A timeout occurred during communications with the controller. Communications Error - Too Many Characters. Too many characters were received from the controller. Communications Data Error. Caused by several different conditions. The most common cause of this error is line noise. Communications Error - An error occurred while trying to poll AXIMA for application data. Continue trying? If NO, this window will close. Displayed when Diagnostics are in use and the AXIMA controller does not respond to the diagnostics query messages. This may be caused by a loose cable or a loss of power to the controller (or communications equipment). Controller Is Not Responding. Displayed when Diagnostics are in use and the AXIMA controller does not respond to the diagnostics query messages. This may be caused by a loose cable or a loss of power to the controller (or communications equipment). Could not change monitor status. An attempt was made to change the running status of the controller that did not succeed. Could not execute a freehold with the current Coordinate System. A freehold is done to stop all motion before a download. Downloading without stopping motion will cause all motion to stop without deceleration. It is recommended that you stop all motion before continuing with the download. Do You Want To Start Running The Run On Power Up Programs? If the firmware version is A2 or higher this question is presented immediately after the downloading has been completed. Do you wish to continue with your current operation? This message is a verification response displayed when you click on the Cancel button during a download operation. If answering Yes. Encoding error! Could not send changes to controller. During the translation of the instruction into the controller syntax an error occurred. Error sending your instruction to the controller. An error occurred when sending the immediate instruction to the controller, retry the operation. 187 AXIMA Reference Manual Message Cause/Correction Establishing communications terminated by user. The user terminated communicationsestablishment by pressing Cancel in the status window. Halting a program with AXIMA. The AXIMA Software was unable to halt one or more programs. Programs Were Not Started. This message is displayed if the was an error in starting the run on power up programs. Communications Error while writing to AXIMA. During immediate mode execution, if instruction uses a local variable, the program must be run at least once to define the local variable. Reboot Problem With AXIMA. After downloading of an Application is complete, the AXIMA controller automatically reboots before it can run a "Run On Power-up Program". This message will be displayed if the reboot was unsuccessful. This Application Has Changes That Have Not Been Sent. An Online Application is read-only. Changes made when Online will not be saved. This message is displayed when the Online Application is closed. This file already exists. Replace existing file? This message appears when you attempt to overwrite an existing file using the Save As command. Answering Yes to this message will overwrite the file. Unable to establish communications. The AXIMA Software was unable to establish communications with the AXIMA controller. This may be caused by a bad or disconnected cable. Unable to initialize online mode. If there is a failure during the uploading, Online mode will not be initialized and this message will be displayed. Unable to send changes! If the downloading of an application is unsuccessful this message will be displayed. Unsuccessful download. This message has many causes including; premature termination of download by user, timeout errors, or corrupted response from the AXIMA controller. Unsuccessful upload. This message has many causes including; premature termination of uploading by user, invalid or corrupted response from the AXIMA controller. 188 Error Messages Message Cause/Correction WARNING: Unable to determine run status. Do you wish to continue? The AXIMA Software verifies the status of the program (Online mode) and if the program status could not be determined this message is displayed. WARNING: This program is currently running. You will not be able to send your changes. The AXIMA Software verifies the status of the program (Online mode) and if the program status is running the changes can not be sent to the controller. Would you like to exit Online mode? Press NO to ignore this error and continue. This message is caused by a communications timeout error during Online mode. 189 AXIMA Reference Manual Application Messages Message Cause/Correction Application - Corrupted. The data uploaded from the controller has too many lines in the Application section or has a missing end-of-application marker. Can not complete the upload, no application found in controller. This message can be caused by any of the following conditions: You have not yet downloaded an Application to the AXIMA controller. The AXIMA controller is shipped with no Applications (or programs) in memory. The AXIMA controller’s memory has been cleared. The battery has not been activated or it has failed. The BRESET (generic) Instruction was sent which clears the AXIMA controller’s memory. Are You Sure You Want To Delete the Auxiliary Program. This is a message to confirm the Deletion operation. Unable To Add Another Auxiliary Program. The number of Auxiliary Programs is limited to seven and this message is presented if adding an eighth auxiliary program is attempted. Unable To Add Another Coordinate System. The number of Coordinate Systems is limited to eight and this message is presented if adding an ninth Coordinate System is attempted. Coordinate System Messages Message Cause/Correction Are You Sure You Want To Delete the Coordinate System. This is a message to confirm the Deletion operation. Coordinate System - Corrupted. The data uploaded from the controller has too many lines in the Coordinate System section or has a missing end-of-coordinate-system marker. Unable To Add Another Axis. The number of axes is limited to the number specified in the Options Controller dialog box. The default number of axes is eight. The user should use the Options Controller dialog box to specify the actual number of axes, memory and Inputs/Outputs. 190 Error Messages Axis Messages Message Cause Axis Name May Not Be Deleted Since It Is Referenced By One Or More Instructions In The Motion Program The First Reference Is: InstructionName. The AXIMA Software maintains the integrity of the entire Application at all times. If an attempt is made to delete an Axis that is used by any instruction within any Program this message will be displayed. The first reference to the AxisName is provided. Axis - Corrupted. The data uploaded from the controller has too many lines in the Axis section or has a missing end-ofaxis marker. Are You Sure You Want To Delete the Axis? This is a message to confirm the Deletion operation. Encoder Multiplier Must Be -4, -2, -1, 1, 2, or 4. The encoder multiplier is based upon the counting of the encoder signals (rising/falling edges of A and B). The multiplier may be ± 1, 2, or 4. Integral Limit Numeric Range is 0 to 10 Volts. The Integral Limit value limits the voltage command due to the integral term calculation the specified output voltage. The range on the output voltage is 0 to 10 volts for the integral term. Limits - Corrupted. The data uploaded from the controller has too many lines in the Limits section or has a missing end-oflimits marker. Servo - Corrupted. The data uploaded from the controller has too many lines in the Servo section or has a missing end-ofservo marker. This action will overwrite all servo parameters. This message is displayed when the Defaults button is pressed on the Servo Loop Options dialog box. This message is a warning that all data on this dialog box will be overwritten. When Using An LX Drive In Torque Mode, The Sign Of The Encoder Multiplier And Command Gain Must Be Opposite To Avoid A Runaway Condition. The polarity of the LX drive torque input is opposite of the LX drive velocity input. 191 AXIMA Reference Manual Axis Limits Messages Message Cause/Correction Travel negative limit can not be positive. A positive value was entered. The value must be less than zero. Travel positive limit can not be negative. A negative value was entered. The value must be greater than zero. Following error negative limit can not be positive. A positive value was entered. The value must be less than zero. Following error positive limit can not be negative. A negative value was entered. The value must be greater than zero. In position negative limit can not be positive. All negative limits must be less than zero and all positive limits must be greater than zero. In position positive limit can not be negative. All negative limits must be less than zero and all positive limits must be greater than zero. Command Band Negative Limit Numeric Range is -10 to 0 Volts. All negative limits must be less than zero and all positive limits must be greater than zero. Command Band Positive Limit Numeric Range is 0 to +10 Volts. All negative limits must be less than zero and all positive limits must be greater than zero. Command Limit Negative Limit Numeric Range is -10 to 0 Volts. All negative limits must be less than zero and all positive limits must be greater than zero. Command Limit Positive Limit Numeric Range is 0 to +10 Volts. All negative limits must be less than zero and all positive limits must be greater than zero. Program Messages Messages Cause/Correction All Changes Made Will Be Lost. This message is displayed when canceling changes in the Program dialog box. All changes made will be lost including, variable and instruction changes. Could not change running status! This message is displayed if the Program Control dialog box used to run and halt programs does not change the status of the program. Program - Corrupted. The data uploaded from the is missing end-ofprogram marker. There are no Low Priority programs available. An attempt was made to change the priority of a program to low priority. There is a limit of eight Low Priority programs. 192 Error Messages Messages Cause/Correction There are no High Priority programs available. An attempt was made to change the priority of a program to high priority. There is a limit of eight High Priority programs. This change would make this program inconsistent! This message is caused by an integrity check which verifies that there are an equal number of If/Then Instruction and EndIf Instructions. Too Many Instructions: A PLC Program May Contain Up To 100 Instructions. A PLC program may contain up to 100 instructions. To access more PLC instructions create an empty Coordinate System (with no axes) and use the PLC program for more instructions. Also, with 100 instructions per PLC program and one PLC program per Coordinate System and up to eight Coordinate Systems the total number of PLC instructions is 800. 193 AXIMA Reference Manual Instruction Messages Message Cause/Correction At Least One Digit Must Be Enabled. When using the Update Status Display Instruction, the instruction must update at least one of the characters (left or right) to be useful. Cannot delete Endif instructions without deleting matching If/Then instructions. The AXIMA Software maintains the integrity of the entire Application at all times. Characters are limited to 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, C, E, F, H, J, L, P, U. The Update Status Display Instruction allows a limited set of characters (listed the left column). Duplicate labels cannot be copied. Do you wish to copy the rest of the instructions? There is a label in the list of instructions that are being copied to a buffer. Pasting this list would cause two labels with the same name to exist (which is not allowed). Empty generic instruction. Instruction not added. You attempted to add an empty instruction. Adding an empty generic instruction is not allowed. Enter Integer Value. You either have not entered a value for a field in the current dialog box or entered a value that is out of range. Error translating formula! Re-enter formula. The formula entered could not be successfully translated into the AXIMA controller syntax. Reenter the formula in a simplified organization and/ or clarify with the use of parenthesis. Improper End of a PLC Program Unused logic blocks. The PLC program has ended with an inconsistency. A Load instruction has been done with no Output, Timer, Counter or Latch to use the logic block. Invalid encoder number. The encoder numbers are defined with the Axis numbers from 1 to 8. Invalid expression. This message is displayed if an invalid expression is used in an If/Then Instruction or within a Formula Instruction. Invalid instructions in group. The line length specified by the Group Instruction is too long or the instructions were not able to be converted to the AXIMA controller syntax. Invalid print string! There is a lexical error in the print string entered. Label Cannot Be Empty. A label name must contain at least one character. Label Already Used. Two labels with the same name are not allowed. Please Enter a number between 0 and 7. When selecting a timer, counter or latch, the available numeric choices are 0 through 7. 194 Error Messages Message Cause/Correction Please Enter a Variable Name. Some fields in the PLC instructions require variable names. Please Select a Base Array. The PLS Instruction requires an array of data values to control the outputs. An array must be selected in the combo box. Only arrays previously defined as integer will be included in the combo box. Set/Clear Instruction Warning - Too Many Operations. There are too many set and/or clear operations in the Set/Clear Instruction. Set or Clear Defined With No Bit. The list of bits to be Set or Cleared (right side of dialog) includes at least one bit variable that is not provided. This must be a Variable - Do Not enter a number. This field in the instruction requires a variable, a numeric value may not be used. The weight must be positive percentage. In the Automatic Vector Instruction, the weight for each axis must be greater than or equal to zero. A negative percentage is not allowed. There are instructions that reference the label that you are trying to delete. Those instructions must be edited/removed first. The AXIMA Software maintains the integrity of the entire Application at all times. If an attempt is made to delete a Label that is reference by a GoTo or a Call Subroutine this message is displayed. There are no labels defined! An attempt was made to use a GoTo or a Call Subroutine Instruction before any label. This instruction is blank. It will not be added. The instruction that is being edited is empty or does not contain any operations and therefore will not be added to the program list. To Move A Negative Distance Use The Direction Button. This message is displayed by the Home and Move (incrementally) Instructions if a negative distance is specified. Two instructions are accessing the same axis. This is not allowed inside a group instruction. The Group Instruction is used to combine the motion of multiple axes so their combined motion may be vectored together. The instructions used within a group may not move the same axis twice. Two instructions are of the same type. This is not allowed inside a group instruction. The Group Instruction requires one and only one reference to each type of instruction used within the group instruction. Unable to copy labels. This is not allowed because pasting from the buffer will cause two labels to exist with the same name. 195 AXIMA Reference Manual Message Cause/Correction Wait until complete and compound move flags are incompatible. Waiting for a compound move to complete will cause the motion to stop with no deceleration ramp (possibly causing physical machine damage) this mode is not allowed. You Must Either Reset or Multiplier. When using the Encoder Reset Instruction, the instruction must either reset the encoder counts or set the encoder multiplier to be useful. You can only move a sequential block of instructions. The up and down buttons, on the Program dialog box, are used to move instructions up and down the list of instructions. The moved instructions must be a contiguous block of instructions. Set or Clear Defined With No Bit. The list of bits to be Set or Cleared (right side of dialog) includes at least one bit variable that is not provided. This must be a Variable - Do Not enter a number. This field in the instruction requires a variable, a numeric value may not be used. 196 Error Messages Variable Messages Message Cause/Correction Empty Variable Name. When defining a variable the name must include at least one alpha-numeric letter. First Character In A Variable Name Must Be A Letter. When defining a variable the name must begin with a letter, A through Z. Global Bit Variables - Too Many Created (256 Max.). The number of Global Bit variable is restricted to 256 variables maximum. Either delete other global bit variables or choose local for the scope. Global Variables - Corrupted. The data uploaded from the controller has too many lines in the global variables section or has a missing end-of-variables marker. Invalid Character In Variable Name. The valid character set for variable names includes 0 - 9, A - Z, and _ (underscore). Invalid Variable Name. Cannot Start With LV2. In this example the variable name cannot start with LV2. The list of these reserved alphanumeric combinations includes; LV#, DV#, LA#, DA#, SV#, SA#, where # is numeric. Please Enter a Variable Name. The set/clear bit instruction requires the entry of a variable name. A numeric entry is not allowed. References Exist - Variable(s) May Not Be Deleted. An attempt was made to delete a variable that is used by one or more instructions in one or more of the programs (Motion, Auxiliary or PLC). The Variable VariableName Is Not Used In Any Program. This message is displayed if the References button is pressed on the Variable List dialog box and no instructions use the VariableName. The variable you defined is already being used. Another variable with the same name and scope is already defined, change the scope/variable name or use the existing variable. Too Many Global Variables. This message is displayed when an attempt is made to define more than 256 global bit variables or 4096 global floating point and global integer variables. Unable to delete this variable. There are references to this variable. The AXIMA Software maintains the integrity of the entire Application at all times. If an attempt is made to delete a Variable that is used within any Program this message will be displayed. Variable VariableName Is A Reserved Word. When defining variables, the name can not also be a reserved word. Choose an alternate spelling or variable name. 197 AXIMA Reference Manual Message Cause/Correction Variable VariableName is READ ONLY. Some of the predefined variables are read-only. Setting, clearing, or formulas are not allowed to change a Read-Only variable. Variables with Global or Predefined Scope may Not be changed to Local Scope. Once a variable is defined as Global or Predefined (pseudo Global scope) it is not possible to change the scope to Local. Delete and recreate the variable or use a different name for the desired local variable. You Have Selected The Same Predefined Variable VariableName - Please Reselect. This message is displayed because one and only one variable may reference a particular predefined variable. You Must Select A Specific Predefined Variable. When defining a variable with predefined scope, it is necessary to choose a specific predefined variable from the combo box. You must select a position before you can initialize a variable. In the Quick Move Instruction dialog box you must select a position before the Init. Global Vars button can be pressed. You Must Select A Variable To Initialize. This message is shown when initializing variables (from the Quick Move Instruction) if the user does not select a variable to initialize. You Must Select A Predefined Group. When defining a variable with Pre-Defined scope the it is necessary to choose a predefined variable group from the combo box. 198 Error Messages Cut/Copy/Paste Messages Message Cause/Correction The Auxiliary program name has already been used. Please use another name. Occurs when you have changed an Auxiliary program name, and it is identical to another Auxiliary program in the application. The Axis name has already been used in the Coordinate System. Please use another name. Occurs when you have changed an Axis name, and it is identical to another Axis within the same Coordinate System. Unable to paste instruction. Can occur during the paste operation or during conflict resolution after a paste operation. The software was unable to add the instruction to the program. This may be caused by a program that is too long, or there is not enough memory for the AXIMA Software. The Coordinate System name has already been used. Please use another name. Occurs when you have changed a Coordinate System name, and it is identical to another Coordinate System in the Application. The counter has already been used. Please use another counter. Occurs when you are trying to add a Counter Instruction that references a counter that has already been used in the Application. The latch has already been used. Please use another latch. Occurs when you are trying to add a Latch Instruction that references a latch that has already been used in the Application. The timer has already been used. Please use another timer. Occurs when you are trying to add a Timer Instruction that references a timer that has already been used in the Application. Unable to add counter. The maximum number of counters have already been used. You attempted to paste a Counter Instruction, and all the counters have already been used. Unable to add latch. The maximum number of latches have already been used. You attempted to paste a Latch Instruction, and all the latches have already been used. Unable to complete paste operation. All available PLS numbers are in use. You attempted to paste a PLS Definition Instruction, and all the PLS numbers have already been used. Unable to add timer. The maximum number of timers have already been used. You attempted to paste a Counter Instruction, and all the counters have already been used. 199 AXIMA Reference Manual Message Cause/Correction Unable to add instruction. A variable references a analog input and analog inputs have not been enabled in this application. You attempted to paste a instruction or program the requires the use of the Analog Inputs feature, but the feature was not enabled in the “Controller Options” section of the Application. Unable to complete paste operation. The maximum number of high priority Auxiliary programs has been exceeded. Occurs during the paste operation when the user attempts to paste a high priority Auxiliary program, but the maximum number of high priority programs have already been assigned. Unable to complete paste operation. The maximum number of low priority Auxiliary programs has been exceeded. Occurs during the paste operation when you attempt to paste a low priority Auxiliary program, but the maximum number of low priority programs have already been assigned. Unable to complete paste operation. The target application does not support expanded I/O and there is an instruction that requires the option. You attempted to paste a instruction or program the requires the use of the Expanded I/O feature, but the feature was not enabled in the “Controller Options” section of the application. Unable to paste object here! Occurs when you attempt to paste a object into an application in the wrong place. Cannot paste variable. A variable reference a PLC program resource but there are no PLC programs defined in the application. Occurs when an instruction using a predefined variable (which references a PLC Program resource) is pasted into an Application that does not have a PLC Program. A PLC Program must be defined in the Application first. Unable to complete paste operation. There is not enough memory to add variables. Occurs during a paste operation, or during conflict resolution after a paste operation. The maximum number of variables was exceeded. Unable to perform paste operation. The source and destination programs are not of the same type. Occurs when you attempt to paste an instruction into a program which is not of the same type. For example, you are not allowed to paste a PLC instruction into a Motion program. Please select an item from the left and right lists before using the 'Assign To' button. Occurs during the conflict resolution phase of a paste operation when the ‘Assign To’ button was pressed, but items were no selected on either the right or left list boxes. Please select an item from the left list before using the 'Assign To New' button. Occurs during the conflict resolution phase of a paste operation when the “Assign To New” button was pressed, but an item was not selected from the left list box. 200 Error Messages Message Cause/Correction Unable to complete paste operation. Too many labels are being pasted at once (100 maximum). Occurs when you try to paste a label, or a program containing a label, and the maximum number of labels have already been defined. Unable to add variable. Please check for duplicate name. Occurs during the conflict resolution phase of a paste operation. You attempted to add a new variable that had the same name as another variable. This is only a problem between a local, global or Pre-Defined Variable, and another Global or Pre-Defined Variable. The Application allows for local variables in separate programs to have the same name. 201 AXIMA Reference Manual Other Messages Message Cause/Correction Attempting To Read A File Created By Revision x.y - Not Allowed. This message is displayed if the file being opened was created by an AXIMA Software revision greater than the running AXIMA Software revision. Future file formats are not supported by each AXIMA Software revision. Backwards file compatibility is always provided. Click OK To SAVE The Controller Parameters To EEPROM. This is a confirmation message to verify the intent to Save To EEPROM. Click OK To LOAD The Controller Parameters From EEPROM. This is a confirmation message to verify the intent to Load From EEPROM. Click OK To ERASE The Controller Parameters Stored In EEPROM. This is a confirmation message to verify the intent to Erase the EEPROM. Graphical Monitor Execution Failed Out Of Memory or Corrupt Graphical Monitor. Execution of the Graphical Monitor from within the AXIMA Software was attempted but did not succeed due to either Windows is Out Of Memory or the Graphical Monitor is corrupt. Graphical Monitor Execution Failed File Not Found. Execution of the Graphical Monitor from within the AXIMA Software was attempted but did not succeed because the file (MONITOR.EXE) was not found. Graphical Monitor Execution Failed Path Not Found. Execution of the Graphical Monitor from within the AXIMA Software was attempted but did not succeed because the path the file (MONITOR.EXE) was not found. Graphical Monitor Execution Failed Insufficient Memory. Execution of the Graphical Monitor from within the AXIMA Software was attempted but did not succeed due to a lack of available memory. Graphical Monitor Execution Failed Executable File Invalid. Execution of the Graphical Monitor from within the AXIMA Software was attempted but did not succeed due to an invalid executable file. Graphical Monitor Execution Failed Executable File Compressed. Execution of the Graphical Monitor from within the AXIMA Software was attempted but did not succeed because the file (MONITOR.EXE) is compressed. 202 AXIMA Reference ManTroubleshooting Guide Overview Use the troubleshooting guide tables below to determine what to do in case of a fault. The AXIMA controller and the AXIMA 2000/4000 controller have different troubleshooting tables. Verify that the table you are using is the correct one. AXIMA Controller Symptom Possible Cause Watchdog fault and/or status display decimal point are not displayed. 1.) Low or no AC power. 2.) Noise on AC line. 3.) Improper grounding. (see installation manual) 4.) Lack of noise suppression on coils and relays. No torque on motor shaft or amplifiers not enabled. 1.) Low or no external 24 volts. 2.) Axis enable output has not been programmed "on". 3.) No AC power to amplifier. 4.) Amplifier is faulted. Motor has torque but will not move when commanded. 1.) Check Axis Encoder and Command (DAC) assignments. 2.) Check for non zero command limit values. 3.) Use Coordinate System, Axis and Program Diagnostics dialog boxes to check status of feed hold, output clamp, open servo loop, kill move, stop move, program running or halted. 203 P/N 400290-00 AXIMA Reference Manual Symptom Possible Cause Motor jumps on power up. 1.) Be sure a Encoder Match Instruction or Encoder Match Request bit is set prior to enabling the amplifier. 2.) With the amplifier disconnected; A.) Adjust amplifier offset for no motor motion with zero volts at the input. See the appropriate LX/MX manual. B.) Adjust DAC offset for zero volts output from AXIMA when zero volts is commanded. Output LED's do not come “On”. 1.) Check 24 VDC power supply at the AXIMA controller terminals. 2.) Use the Application diagnostics to check the status of the I/O power supplies and output status. 3.) Check 24 VDC fuse on AXIMA interface and controller boards. 4.) Halt all programs including PLC programs, then use Program Control mode to set the output. This will determine if multitasking programs are fighting for control of the output. 5.) Check ribbon cable connections between the AXIMA interface and controller boards. Output LED is “On” but output is “Off”. 1.) Output are sinking only. Measure the voltage from the output to the +24 volt supply. 2.) Check the output fuse. There is one fuse for each group of four outputs. Input LED's do not come “On”. 1.) Check 24 VDC power supply at the AXIMA controller terminals. 2.) Use application diagnostics to check the status of the I/O power supplies and input status. 3.) Measure voltage at AXIMA controller terminals from group common to input (input can be wired for sinking or sourcing). 4.) Check ribbon cable connections between the AXIMA interface and controller boards. 204 Troubleshooting Guide Symptom Possible Cause Communications between AXIMA and your PC (running AXIMA Software) cannot be established. 1.) Verify cable connections. 2.) Verify address switch selection is accurate. 3.) Try the following power up sequence to eliminate the possibility of windows drivers sending erroneous information to the AXIMA controller. A.) Power down the AXIMA controller. B.) Open the AXIMA Software. C.) Power up the AXIMA controller. D.) Try to establish communications by selecting the Terminal icon from the toolbar. 4.) Try communications with the AXIMA controller address switches set to 0. 5.) Slow baud rate to 9600. This will help eliminate communication errors from long or noisy cables. Note: The AXIMA controller has an auto baud rate change detection. Each time the baud rate is changed, the AXIMA controller power must be cycled. 6.) Try a different communication port on your PC. 7.) Try a different communications port on the AXIMA controller. Input LED is “On” but AXIMA does not recognize it. 1.) Use application diagnostic functions to check the status of the I/O power supplies and input status. 2.) Check fuse on AXIMA controller board. 3.) Check ribbon cable connections between the AXIMA interface and controller boards. Motor does not move proper distance. 1.) Check encoder multiplier value and encoder counts per user unit values on the Axis Parameters dialog box. 2.) Check the amplifier setting for pulses per motor revolution (see LX or MX manual). 3.) With the amplifier disabled, manually turn the motor one revolution and observe the number of encoder counts on the Application Diagnostics dialog box. 205 AXIMA Reference Manual Symptom Possible Cause Motor moves in the wrong direction. Change polarity of the Axis using the radio buttons on the Axis Parameters dialog box. Motor runs away on power up. 1.) Check wiring of command and encoder connections both at the AXIMA controller and at the amplifier. 2.) Check for loss of encoder feedback by monitoring encoder position in the Application Diagnostics dialog box while the motor is moved by hand. 3.) Be sure either Encoder Preload or Encoder Match Instruction is executed before the amplifiers are enabled. 4.) With the drive disabled, check the command output with no motion commanded in the Application Diagnostics dialog box. Also, measure the voltage at the terminals. 5.) Check for proper phasing of encoder. Disable the drive, select positive polarity on the Axis Parameter dialog box, select Application Diagnostics (you must be online). As the motor shaft rotates CW (as viewed from the shaft end), the encoder position should count up and the command output should go negative as displayed on the screen. Motor is unstable or overshoots when positioning. If the motor is controlled by an LX drive see LX Tuning. If controlled by an MX drive see MX Tuning. Also, unsuitability can be caused by improper AXIMA Tuning. 206 Troubleshooting Guide AXIMA 2000/4000 Controller Symptom Possible Cause Watchdog fault and/or status display decimal point are not displayed. 1.) Low or no AC power. 2.) Noise on AC line. 3.) Improper grounding. (see installation manual) 4.) Lack of noise suppression on coils and relays. No torque on motor shaft or amplifiers not enabled. 1.) Low or no external 24 volts. 2.) Axis enable output has not been programmed "on". 3.) No AC power to amplifier. 4.) Amplifier is faulted. Motor has torque but will not move when commanded. 1.) Check Axis Encoder and Command (DAC) assignments. 2.) Check for non zero command limit values. 3.) Use Coordinate System, Axis and Program Diagnostics dialog boxes to check status of feed hold, output clamp, open servo loop, kill move, stop move, program running or halted. Motor jumps on power up. 1.) Be sure a Encoder Match Instruction or Encoder Match Request bit is set prior to enabling the amplifier. 2.) With the amplifier disconnected; A.) Adjust amplifier offset for no motor motion with zero volts at the input. See the appropriate LX/MX manual. B.) Adjust DAC offset for zero volts output from AXIMA 2000/4000 when zero volts is commanded. Output LED's do not come on. 1.) Use the Application diagnostics to check the output status. 2.) Halt all programs including PLC programs, then use Program Control mode to set the output. This will determine if multitasking programs are fighting for control of the output. 207 AXIMA Reference Manual Symptom Possible Cause Output LED is “On” but output is “Off”. 1.) Check 24 VDC power supply LED at the AXIMA 2000/4000 controller terminals. Check fuse F103 behind access panel, and voltage at the terminals. 2.) Outputs are sourcing only. Measure the voltage from the output to the 24 VDC common. Input LED's do not come “On”. 1.) Check 24 VDC power supply LED at the AXIMA 2000/4000 controller terminals. 2.) Measure voltage at AXIMA 2000/4000 controller terminals from group common to input (input can be wired for sinking or sourcing). 3.) Use application diagnostics to check the input status. 208 Troubleshooting Guide Symptom Communications between AXIMA 2000/4000 and your PC (running AXIMA Software) cannot be established. Possible Cause 1.) Verify cable connections. 2.) Verify address switch selection is accurate. 3.) Try the following power up sequence to eliminate the possibility of windows drivers sending erroneous information to the AXIMA 2000/4000 controller. A.) Power down the AXIMA 2000/4000 controller. B.) Open the AXIMA Software. C.) Power up the AXIMA 2000/4000 controller. D.) Try to establish communications by selecting the Terminal icon from the toolbar. 4.) Try communications with the AXIMA 2000/ 4000 controller address switches set to Ø. 5.) Slow baud rate to 9600. This will help eliminate communication errors from long or noisy cables. Note: The AXIMA 2000/4000 controller has an auto baud rate change detection. Each time the baud rate is changed, the AXIMA 2000/4000 controller power must be cycled. 6.) Try a different communication port on your PC. 7.) Try a different communications port on the AXIMA 2000/4000 controller. Input LED is “On” but AXIMA 2000/ 4000 does not recognize it. 1.) Call your service representative. Motor does not move proper distance. 1.) Check encoder multiplier value and encoder counts per user unit values on the Axis Parameters dialog box. 2.) Check the amplifier setting for pulses per motor revolution (see LX or MX manual). 3.) With the amplifier disabled, manually turn the motor one revolution and observe the number of encoder counts on the Application Diagnostics dialog box. Motor moves in the wrong direction. Change polarity of the Axis using the radio buttons on the Axis Parameters dialog box. 209 AXIMA Reference Manual Symptom Possible Cause Motor runs away on power up. 1.) Check wiring of command and encoder connections both at the AXIMA 2000/4000 controller and at the amplifier. 2.) Check for loss of encoder feedback by monitoring encoder position in the Application Diagnostics dialog box while the motor is moved by hand. 3.) Be sure either Encoder Preload or Encoder Match Instruction is executed before the amplifiers are enabled. 4.) With the drive disabled, check the command output with no motion commanded in the Application Diagnostics dialog box. Also, measure the voltage at the terminals. 5.) Check for proper phasing of encoder. Disable the drive, select positive polarity on the Axis Parameter dialog box, select Application Diagnostics (you must be online). As the motor shaft rotates CW (as viewed from the shaft end), the encoder position should count up and the command output should go negative as displayed on the screen. Motor is unstable or overshoots when positioning. If the motor is controlled by an LX drive, see LX Tuning. If controlled by an MX drive, see MX Tuning. Also, unsuitability can be caused by improper AXIMA 2000/4000 Tuning. 210 AXIMA Reference ManPre-defined Variables Overview One of the AXIMA Software’s most powerful features is the ability to access information through Pre-defined Variables. These Pre-defined Variables are either Bits (Bit), Integers (Int) or Floating Point (FP) values and can be accessed by all Motion, PLC and Auxiliary Programs to control and monitor such things as motion, I/O and programs. The tables below list all the Pre-defined Variables available alphabetically by Group (e.g., Coordinate System, Axis, etc.), Scope and Type, followed by a description of each. r = read w = write Program Bit Pre-defined Variables related to the program status. Halt Request Bit r/w Setting this bit will cause the program to halt execution and any motion commanded by the Motion Profiler to stop without deceleration. ! CAUTION Setting this bit does not stop jog, cam or gear motion. 211 P/N 400290-00 AXIMA Reference Manual Move Pending Bit r This bit is set if the a second Move Instruction has been processed while the first move is being completed. The second move will be executed and pending the first move completion. The Motion Program will be waiting on the second Move Instruction until the first move is completed. Program Dwelling Bit r Set if the program is executing a Dwell Instruction. Program Inhibited Bit r Set if the program is inhibited (waiting) on a Wait or Wait For Parameter Instruction. Program Modified Bit r Set if the program has been edited since the last time it was executed. Program Running Bit r Set if the program is running, clear if the program is halted. Program Timeout Bit r Set if the Wait for Parameter Instruction has been satisfied by the time out test condition instead of the parameter test condition. Run Request Bit r/w When this bit is set it will cause a program to start running. The flag will be cleared when the program has been started. Run Request should not be held on by a PLC Program. 212 Pre-defined Variables First Scan Bit r This bit is set for the first scan (pass) of the PLC Program, clear at all other times. Halt Request Bit r/w Setting this bit will cause the program to halt execution. When the program has halted the flag will clear. Run Request Bit r/w When this bit is set it will cause a program to start running. A Run Request should not be held on by a PLC program. Running Bit r Set if the program is running, clear if the program is halted. Coordinate System Bit Pre-defined Bit Variables related to the Coordinate System. Accelerating Bit r Set when the axes in this Coordinate System are currently in an acceleration ramp generated by the Motion Profiler. Cycle Start Request Bit r/w Setting this bit will cause motion to continue from a in feedhold condition. This flag will be cleared when the cycle has been restarted. Do not hold this input on in a PLC Program. 213 AXIMA Reference Manual Decelerating Bit r Set when the axes in this Coordinate System are currently in a deceleration ramp generated by the Motion Profiler. Set Decrement Move Count Bit r/w Set this bit to decrement the Move Counter Pre-defined Variable. Encoder Match Request Bit r/w Set this bit to the current encoder positions into the Motion Profiler. The operation of this bit is the same as the Encoder Match Instruction. It is used to zero Following Error before the drives are enabled. Do not turn this bit on when the drives are enabled. Feedhold Request Bit r/w Setting this bit will cause motion controlled by the profiler to be decelerated to a stop at the current deceleration ramp. The move is not canceled, the move remains in queue. Feedhold Request will not stop motion caused by jog, gear or cam. Use Cycle Start Request to resume motion after a Feedhold Request. Feedholding Bit r Set if a Feedhold Request bit has been set and the profiler is in the process of decelerating the axes. Feedrate Override Lock Active Bit r/w When the lock active bit is set the Feedrate Override will be immediately set to 1.0 (or 100%) for the current move. Also this bit is set after the Feedrate Override Lock Pending has taken effect. 214 Pre-defined Variables Feedrate Override Lock Pending Bit r/w Sets the Feedrate Override of the next move and subsequent moves to 1.0 regardless of the current Feedrate Override setting. If set during a move the 1.0 (or 100%) override will not take affect until the start for the next move. Can be used to lock out Feedrate Override during section 1 of compound moves. Final Velocity Zero Active Bit r/w Set if the current Move Instruction is to decelerate to a final velocity of zero as instructed by Final Velocity Zero Pending bit. Final Velocity Zero Pending Bit r/w If the Final Velocity is non-zero, this bit, when set, is used to force the Final Velocity of the next move to be zero. The bit must be set before the move with desired zero velocity is started. This bit only affects the next move and must be reset for each move that a zero final velocity is desired. See the Generic FVEL Instruction. In Feedhold Bit r Set if a Feedhold Request bit is set and all the Coordinate Systems axes have decelerated to a stop. (Motion Profiler only). In Motion Bit r Set when any of the axes in this Coordinate System are currently in motion caused by the Motion Profiler. Other modes of motion such as jog, gear or cam do not set this output. This bit is used by the Wait Until Move Is Complete check box on the Move Instruction dialog box. Set Increment Move Count Bit r/w Set this bit to increment the move counter Pre-defined Variable. 215 AXIMA Reference Manual Kill Move Request Bit r/w This bit stops the current move without deceleration and cancels the rest of the move. The Motion Program continues to execute. Move Buffered Bit r Set when another move is has been processed but has not yet started in a multiple move sequence. Not Command Limit Bit r Set when any of the analog output values to Coordinate System drives are outside the window setup by the axis parameters Max and Min Command Limit or the Command Limit Instruction. Not Following Error Bit r Set when the Following Error of all axes in the Coordinate System are inside the window setup by the axis parameters Max and Min Following Error Limits or by the Following Error Instruction. Not In Command Band Bit r Set when any of the analog output values to the Coordinate System drives is outside the window setup by the axis parameter Max and Min Command Band Limit or by the Command Band Instruction. Not In Position Band Bit r Set when the Following Error (after the move is complete) of any of the axes in the coordinate is outside the window setup by the axis parameters Max and Min In Position or the Position Band Instruction or when the In Motion bit is set. 216 Pre-defined Variables Not Within Travel Limit B Bit r Set when the commanded position for any of the axes in the Coordinate System are outside the window set by the axis parameters Max and Min Travel Limit B or the Travel Limit Instruction. Start Move Inhibit Bit r/w Setting this bit will inhibit the start of the next programmed move. When this bit is set, the profiler position is set to the current actual position for each axis in the Coordinate System. Stop Move Request Bit r/w This bit stops the current move at the current deceleration ramp then cancels the rest of the move. The Motion Program continues to execute. Stopping Bit r Set when any of the axes in this Coordinate System are currently deceleration to a stop. Move Trigger Pending Bit r/w Set when a trigger type move has been processed and is waiting for the assigned trigger bit to be set. Within Travel Limit A Bit r Set when the current position for all the axes in the Coordinate System are within the window set by the axis parameters Max and Min Travel Limit A or the Travel Limit Instruction. 217 AXIMA Reference Manual Integer Pre-defined Integer Variables related to the Coordinate System. Move Counter Int r/w When multiple moves are programmed, the move counter will keep track of which move in a sequence is currently being executed. See the Increment Count and Decrement Count. The counter will only increment or decrement if the increment or decrement flag is set before each move is commanded. Floating Point Pre-defined Floating Point Variables related to the coordinate system. Distance Into Move FP r The Distance Into Move is the vector distance that has been completed. The units are in user units for the axes involved in the move. Distance Into Path FP r The Distance Into Path value is equal to the Total Distance minus the Distance To Go. This variable is for user information only and is not used by the DSP for motion calculations. Distance Squared FP r The square of the vector distance. The units are in user units for all axes in motion, squared. Distance To Go FP r/w The vector distance remaining in the current move. The units are in user units for all axes in motion, squared. 218 Pre-defined Variables Feedrate Override FP r/w The Feedrate Override value is multiplied by the programmed velocity to determine the target velocity. If Feedrate Override variable is changed during a move the motion will immediately acceleration or deceleration using the acceleration or deceleration and S-Curve rates. Fraction Into Move FP r The fraction into the move is equal to the distance into move divided by the vector length. Manual Vector FP r/w Allows a manual adjustment of the vector length to override the automatic vector length calculations. This is used for applications where velocities other than the calculated vector velocity is desired. This Pre-defined Variable does not affect the length of the move of any axis. Target Velocity FP r The vector velocity is the result of the programmed velocity multiplied by the feedrate override. This Pre-defined Variable is modified by the Velocity Instruction. Total Distance FP r/w This value is equal to the sum of the current, plus all of the previous vector lengths. For example; if Move #1 vector length is 10 inches and Move #2 is 15 inches, the Total Distance is updated to 25 inches at the beginning of Move #2. This variable is for user information only and is not used by the DSP for motion calculations. The Total Distance can be set to a value using the Formula Instruction. 219 AXIMA Reference Manual Vector Acceleration FP r The vector acceleration of all the axes involved in the current move. The units are units/sec/sec for all axes in motion. The value is dynamic during any motion. Vector Length FP r The resultant vector length of all the axes in the current move. Vector length equals distance into move plus distance to go in user units. This vector length is equal to either the automatic vector calculation (controlled by the Automatic Vector Instruction or the Manual Vector Instruction). Vector Velocity FP r The current vectored velocity of all the axes in the current move. This value will increase during acceleration up to the target velocity and decrease during deceleration. The units are in user units/second for the axes involved in the move. Velocity Squared FP r The square of the current vector velocity. The units are in user units/ second for the axes involved in the move. 220 Pre-defined Variables Axis Bit Pre-defined Bit Variables related to the axes. Ballscrew Active Bit r/w This bit will be set if the ballscrew compensation is active. If the ball screw compensation parameters have been previously set up, this bit can be used to turn on and off the ball screw compensation. Cam Active Bit r/w Set if camming is active. If the cam parameters have been previously set up, this bit can be used to turn on and off camming. Cam Activate If the cam parameters have been previously set up, this bit can be used to turn on and off camming. Encoder Completed Bit r Set when an hardware capture has been completed. The hardware capture is enabled by the Encoder Capture Instruction and the Home Instruction. This bit will be cleared automatically when the next Encoder Capture Instruction is executed. Clamp Output Signal Bit r/w Setting this bit clamps the analog output to the drive to Ø volts. Encoder Match Request Bit r/w Setting this bit matches the commanded position to the actual encoder position. Setting this bit just before the drive is enabled will 221 AXIMA Reference Manual zero the Following Error and the command output signal. Setting this bit is the same as issuing an encoder match instruction. Do not hold this set when drives are enabled. Filter Activate Bit r/w Setting this bit activates the low-pass and/or notch filters. If this bit is clear the filter output signal will be equal to the summation point. Gear Active Bit r Set when gearing is active. Must inhibit on this bit after a gear off command to check for completion of the gear decel ramp. Gear Activate Bit r This bit can be used to start and stop gearing motion. Same as Gear On/Off Instruction. Gear At Speed Bit r Set when gearing is active and the current gear ratio is equal to the target gear ratio. Cleared if executing a gear acceleration or deceleration ramp. Gear Lock Bit r/w Overrides the gearing acceleration and deceleration rate. Locks the current gear ratio to the target gear ratio regardless of the current gear acceleration or deceleration settings. Gear Stopping Bit r Set when gearing is active and the gear activate bit is clear. When the current gear ratio reaches zero, the gear active bit is cleared. 222 Pre-defined Variables Jog Active Bit r Bit r This bit set if jog is active. Jog At Speed Set if the axis has completed the acceleration portion of a jog motion profile and is currently at the programmed jog velocity. Jog Direction Bit r/w Set if a jog motion in the CCW motor direction has been caused by the jog control instruction or if Jog Reverse bit is set. Jog Forward1 Bit r/w Setting this bit initiates a ramp to the programmed Jog Velocity in the positive direction. The Jog Direction bit is cleared and the Jog Active bit is set. When the Jog Velocity is reached the Jog At Speed bit is set. Set if a Jog Feed Instruction has been executed from a Motion Program. If Jog Reverse bit is also set no, jog motion will occur. Jog Limit Check Bit r/w Setting this bit will cause jog motion to stop if either the positive or negative jog limits are reached. Jog Lockout Bit r/w Setting this bit will disable any new jog motion from starting. Any jog motion in progress will continue. 1. This Pre-Defined Variable is only available with A2 or later firmware. 223 AXIMA Reference Manual Jog Reverse Bit r/w Setting this bit initiates a ramp to the programmed Jog Velocity in the negative direction. the Jog Direction bit is cleared and the Jog Active bit is set. When the Jog Velocity is reached the Jog At Speed bit is set. Jog Stopping Bit r/w Bit r Set while a jog motion is decelerating. Not Command Limit Set when the analog output to the axis drive is outside the window set up by the axis Max and Min Command Limits or Command Limit Instruction. Not Following Error Bit r Set when the following error is within the window set up by the Max and Min Following Error Limit values or the Following Error Limit Instruction. Not In Command Band Bit r Set when the analog output to the drive is outside the window set up by the axis Max and Min Command Band values or the Following Error Limit Instruction. Not In Position Bit r Set when any axis in the coordinate system is executing a Move Instruction or the following error of any of the axis in the coordinate system is outside of the window defined by the positive and negative in position windows values. 224 Pre-defined Variables Not Marker Bit r Bit r Set when not on encoder marker pulse. Not Within Travel Limit B Set when the secondary setpoint is outside the window set up with Max and Min Travel Limit A axis parameter. Open Servo Loop Bit r Setting this bit opens the servo loop. With this bit set the AXIMA has no control over motor position. Use extreme caution when using this bit. Sinusoidal Mode Bit r Setting this bit will cause linear moves to be converted into sine instructions where: Target = linear move target Phase = 270° (positive) or 90° (negative) moves Sweep = 180° Amplitude = 1/2 linear move distance Within Travel Limit A Bit r Set when the secondary setpoint is within the window set up with Max and Min Travel Limit A axis parameter. 225 AXIMA Reference Manual Integer Pre-defined Integer Variables related to the axes. Actual Position Int r The actual position as measured by the encoder feedback. The value of the actual position is the same as the encoder position for the encoder number attached to this axis. Units are in encoder counts. Backlash Compensation Int r The position from the Backlash Compensation Instruction. This value will be either Ø or the backlash setting value converted from user units to encoder counts depending on the direction of the move. Units, encoder counts. Ballscrew Compensation Int r The position from the Ballscrew Compensation Instruction. Units, encoder counts. Cam Command Position Int r The commanded position from the cam instructions executed in the motion. The units are encoder counts. The cam uses its own independent position, which is controlled by the Cam Control Instruction. The cam position is summed with other positions to produce the primary setpoint and secondary setpoint. Following Error Int r Following Error is defined as the secondary setpoint minus the actual position. The units are encoder counts. 226 Pre-defined Variables Gear Command Position Int r The position from the Gear Instruction. The units are encoder counts. The gearing uses its own independent position, which is controlled by the Gear Control Instruction. The gear position is summed with other positions to produce the primary setpoint and secondary setpoint. Hardware Capture Int r The encoder position captured by the Encoder Capture or Home Instruction. The units are encoder counts. Jog Command Position Int r The position from the Jog Instruction. The units are encoder counts. The jogging uses its own independent position, which is controlled by the Jog Control Instruction. The jog position is summed with other positions to produce the primary setpoint and secondary setpoint. Primary Setpoint Int r The summation of the coordinate system profiler position, gear position, cam position, and jog position. The units are encoder counts. Profiler Command Position Int r The profiler position is from the Coordinate System Profiler, in encoder counts. When a linear or circular arc move is instructed by the motion program the AXIMA controller calculates the motion profile. The position here is the currently commanded position by the profiler and is updated every servo update calculation. Secondary Setpoint Int r The summation of the primary setpoint, backlash compensation position and ball screw compensation position. Units are in encoder counts. 227 AXIMA Reference Manual Target Position Int r The desired end position of the current move from the coordinate move profiler. This position is independent of any active gearing, camming, or jogging. The units are encoder counts. Floating Point Pre-defined Floating Point Variables related to the axes. Acceleration Term FP r The units of the acceleration term is volts. This term is open loop and is calculated by multiplying the current commanded acceleration by the feedforward acceleration parameter. Backlash Setting FP r/w The setting of the Backlash Compensation Instruction in user units. Jog Acceleration - Current FP r FP r FP r/w The current jog acceleration in user units/sec/sec. Jog Velocity - Current The current jog velocity in user units/sec. Derivative Gain The derivative gain is the multiplier used to calculate the derivative term. Derivative Sample Period FP r/w The derivative sample period sets the interval (in seconds) of the derivative term calculation. 228 Pre-defined Variables Derivative Term FP r The units of the derivative term is volts. This term is closed loop and is calculated by multiplying the rate of change (derivative) of the following error by the derivative gain. Feedforward Acceleration FP r/w The feedforward acceleration is the multiplier used to calculate the acceleration term. Also see Feedforward Velocity. Feedforward Velocity FP r/w The feedforward velocity is the multiplier used to calculate the velocity term. Also see Feedforward Acceleration. Filter Output Signal FP r The filter output signal is the output of the low-pass and notch filters. If the filters are disabled then the value is equal to the summation point Integral Delay FP r/w The integral delay specifies the number of seconds of delay after a move completes before the integral term is calculated. If the integral delay is zero then the integral term is calculated at all times. Integral Gain FP r/w The integral gain is the multiplier used to calculate the integral term. Integral Limit FP r/w The integral limit specifies a limit on the integral term to contain its value so it does not become unbounded (sometimes referred to as anti-windup). 229 AXIMA Reference Manual Integral Term FP r The units of the integral term is volts. This term is closed loop and multiplies the summation (integral) of the following error by the integral gain to calculate an adder. The adder is then added to the previous integral term to calculate the new integral term. Jog Acceleration Setting FP r/w The programmed jog acceleration in user units/sec/sec/. This value is controlled by the Jog Definition Instruction. Jog Deceleration Setting FP r/w The programmed jog deceleration in user units/sec/sec/. This value is controlled by the Jog Definition Instruction. Jog Velocity Setting FP r/w The target jog velocity in user units/sec. This value is controlled by the Jog Definition Instruction. Command Band Min FP r/w Sets the Min Command Band limit which is monitored by the not in command band bit. If the analog output is more negative than this value, the axis and coordinate system not in command band bits are set. The units are volts. Command Limit Min FP r/w Sets the Min Command Limit for the analog output to the DAC which is monitored by the not command limit bit. If the drive is connected for velocity mode, the parameter serves as a velocity limit. If the drive is connected for torque mode, this limit serves as a torque limit. The output will be clamped at this limit. If the analog output is more negative than this value, the axis and coordinate system not in command limit bits are cleared. The units are in volts. 230 Pre-defined Variables Following Error Limit Min FP r/w Sets the Min Following Error Limit. When the following error is more negative than this value the axis and coordinate system not following error bits are cleared. The units are in user units. In Position Band Min FP r/w Sets the minimum limit for the in position window. When the following error (after the move is complete) is less than this value the axis and coordinate system not in position bits are set. The units are in user units. Negative Jog Limit FP r/w This variable sets the negative jog limits for an axis. The jog limits are only checked when the Jog Limit Check bit is set and Jog Reverse bit or the Jog Direction Instruction is used to jog. Incremental and Absolute Jogs ignore jog limits, even if the Jog Limit Check bit is set. Jog limits only place limits on jog offset calculations. The primary and secondary setpoints are not part of the jog limits. When the Negative Jog Limit Check bit is set, a Jog Reverse will jog to the negative jog limit and stop with deceleration. If the current Jog Position is less than the negative jog limit, Jog Reverse will do nothing. Within Travel Limit A Min FP r/w Sets the minimum limit for the Within Travel Limit A bit. When the actual position of the axis is more negative than this value the axis and coordinate system Within Travel Limit A bits are cleared. The units are in user units. Within Travel Limit B Min FP r/w Sets the minimum limit for the Not Within Travel Limit B bit. When the actual position of the axis is more negative than this value the axis and coordinate system Not Within Travel Limit B bits are set. The units are in user units. 231 AXIMA Reference Manual Axis Command Output Signal FP r/w The source of the output signal is sent to the digital to analog chip (DAC) for conversion into ± 10 Volts. This output signal may be set to zero volts by using the clamp output signal bit. The command limit is applied to the filter output signal to calculate the output signal. Beyond this point only the DAC gain and offset will effect the actual output voltage. Command Band Max FP r/w Sets the Max Command Band limit which is monitored by the Not In Command Band bit. If the analog output is more positive than this value, the axis and coordinate system Not In Command Band bits are set. The units are volts. Command Limit Max FP r/w Sets the Max Command Limit for the analog output to the DAC which is monitored by the Not Command Limit bit. If the drive is connected for velocity mode, the parameter serves as a velocity limit. If the drive is connected for torque mode, this limit serves as a torque limit. The output will be clamped at this limit. If the analog output is more positive than this value, the axis and coordinate system Not In Command Limit bits are cleared. The units are in volts. Following Error Limit Max FP r/w Sets the Max Following Error Limit. When the following error is more positive than this value the axis and coordinate system not following error bits are cleared. The units are in user units. In Position Band Max FP r/w Sets the maximum limit for the in position window. When the following error (after the move is complete) is greater than this value the axis and coordinate system not in position bits are set. The units are in user units. 232 Pre-defined Variables Positive Jog Limit FP r/w This variable sets the Positive Jog Limits for an axis. The jog limits are only checked when the Jog Limit Check bit is set and Jog Forward bit or the Jog Direction Instruction is used to Jog. Incremental and Absolute Jogs ignore jog limits, even if the Jog Limit Check bit is set. Jog limits only place limits on jog offset calculations. The primary and secondary setpoints are not part of the jog limits. When the Positive Jog Limit Check bit is set, a Jog Forward will jog to the Positive Jog Limit and stop. If the current Jog Position is greater than the positive jog limit, Jog Forward will do nothing. Within Travel Limit A Max FP r/w Sets the positive limit for the Within Travel Limit A bit. When the actual position of the axis is more positive than this value the axis and coordinate system Within Travel Limit A bits are cleared. The units are in user units. Within Travel Limit B Max FP r/w Sets the positive limit for the Not Within Travel Limit B bit. When the actual position of the axis is more positive than this value the axis and coordinate system Not Within Travel Limit B bits are set. The units are in user units. Proportional Gain FP r/w The Proportional Gain is the multiplier used to calculate the Proportional Term. Proportional Term FP r The units of the Proportional Term is volts. This term is closed loop and is calculated by multiplying the following error by the Proportional Gain. 233 AXIMA Reference Manual Summation Point FP r The summation point is an addition of the acceleration term, velocity term, proportional term, integral term and derivative term. Velocity Term FP r The units of the Velocity Term is volts. This term is open loop and is calculated by multiplying the current commanded velocity by the feedforward velocity. Other Other (Bit) Other (general) Pre-defined Bit Variables. Clock Pulse 1 min Bit r This clock pulse is a square wave a period of 2 minutes. Clock Pulse 1 sec Bit r This clock pulse is a square wave a period of 2 seconds. Clock Pulse 100 msec Bit r This clock pulse is a square wave a period of 200 milliseconds. Clock Pulse 20 msec Bit This clock pulse is a square wave a period of 40 milliseconds. 234 r Pre-defined Variables Enable Expanded I/O Bit r Setting this bit will enable the expanded I/O within the AXIMA controller. Expanded I/O provides an additional 32 digital inputs and 32 digital outputs. Sample In Progress Bit r/w Enables an actual sample to be taken and is normally set by a sample trigger condition but can also be set directly. The bit is cleared when all of the sample registers have been filled. It is also cleared after every sample if the controller is in the edge trigger mode. This is to prevent multiple samples from being taken on the edge trigger condition. Sample Mode Select Bit r Selects either the continuous or edge triggered mode of sampling. In the continuous mode, a trigger condition will set the sample in progress bit causing a sample to be taken every servo interrupt until all of the sample registers have been filled. In the edge trigger mode a trigger edge will set the sample in progress bit which is then cleared after the single sample has been taken. Sample Trigger Armed Bit r Set if sample mode trigger has been armed, cleared when the sample is compete. Sample Trigger Latched Bit r Tracks the previous state of the trigger condition for detection trigger edges. If a trigger condition is detected and the previous trigger condition was false, an edge trigger will occur. Normally, this bit is not modified by the user programs. 235 AXIMA Reference Manual Address DIP Switch1_8 - 1_1 Bit r/w These represent the status of the rocker switches on the controller board. On the AXIMA 2000/4000 the switches 1-4 are located behind the access panel on the front of the unit. Trigger Software Capture Bit r When this bit is set all of the encoder positions are simultaneously latched. The latched encoder positions can retrieved from the Software Capture Pre-defined Variable. Other (Integer) Other (general) Pre-defined Integer Variables. Software Capture Int r The encoder position captured when the Trigger Software Capture bit was set. Units are in encoder counts. Encoders (Integer) Pre-Defined Integer Variables related to the encoder feedback. Encoder Velocity Int r The velocity of the encoder. The units are in encoder counts per servo update interval. Encoder Position Int r Units are in encoder counts, after the encoder pulses have been multiplied by the encoder multiplier. Encoder position can set (reset) using the Encoder Reset, Encoder Preload and Encoder Match instructions. 236 Pre-defined Variables Command Outputs (Floating Point) Pre-defined Floating Point Variables related to the command output. Command Output # Output FP The command output to the DAC converter in volts. Command Output # Gain FP r/w The DAC gain is used to scale the output voltage from the DAC. This is a digital replacement of an analog pot. Units are in DAC units/volt, the default is 3276.8. The minus (-) sign can be used to change output polarity. Command Output # Offset FP r/w The DAC offset is used to adjust the command output voltage to the desired voltage, which is typically used for a zero volts adjustment. This is a digital replacement of an analog pot. The units are volts. Analog Inputs (Floating Point) Pre-defined 64 Bit Floating Point Variables related to Analog Inputs. Analog Input # Input1 FP r/w Analog input signals are in volts for the selected analog input. Analog Input # Gain FP r/w The ADC Gains are used to scale the analog input voltage. Units are in volts/input unit, the default is 10. 1. This Pre-Defined Variable is only available with A2 or later firmware. 237 AXIMA Reference Manual Analog Input # Offset FP r/w The Analog Offsets are used to adjust the analog input voltage for a zero volts adjustment. The units are in volts, the default is Ø (zero). 238 AXIMA Reference ManPre-defined Variable Generic Identifiers Overview When using generic parameter and bit references, care should be taken to determine the correct axis and coordinate system reference numbers. Notice that coordinate system and axis numbers range from 0 to 7 and program numbers range from 0 through 14. The AXIMA Software assigns numbers in the order they are created. Since you can assign any encoder and DAC number to an axis, the axis numbers (0 to 7) do not necessarily correspond directly to the axis connector numbers (1 to 8). To determine the generic parameter reference number, select the Advanced option from the Options menu then print out your Application. The reference numbers for user variables can also be found in the Variable dialog box after selecting the Advanced option. 239 P/N 400290-00 AXIMA Reference Manual Parameters Coordinate System Parameters P8192-P10000 Coordinate System Number Position Parameters Type 1 2 3 4 5 6 7 8 Distance Into Move FP32 8192 8448 8704 8960 9216 9472 9728 9984 Vector Velocity FP32 8193 8449 8705 8961 9217 9473 9729 9985 Vector Acceleration FP32 8194 8450 8706 8962 9218 9474 9730 9986 Vector S-Curve FP32 8195 8451 8707 8963 9219 9475 9731 9987 Vector Length FP32 8196 8452 8708 8964 9220 9476 9732 9988 Target Velocity FP32 8197 8453 8709 8965 9221 9477 9733 9989 Target Acceleration FP32 8198 8454 8710 8966 9222 9478 9734 9990 Reserved FP32 8199 8455 8711 8967 9223 9479 9735 9991 Distance To Go FP32 8200 8456 8712 8968 9224 9480 9736 9992 Feedrate Override FP32 8201 8457 8713 8969 9225 9481 9737 9993 Manual Vector FP32 8202 8458 8714 8970 9226 9482 9738 9994 Total Distance FP32 8203 8459 8715 8971 9227 9483 9739 9995 Distance Squared FP32 8204 8460 8716 8972 9228 9484 9740 9996 Velocity Squared FP32 8205 8461 8717 8973 9229 9485 9741 9997 Fraction Into Move FP32 8206 8462 8718 8974 9230 9486 9742 9998 Distance Into Path FP32 8207 8463 8719 8975 9231 9487 9743 9999 Move Counter Int 8208 8464 8720 8976 9232 8488 9744 10000 240 Pre-defined Variable Generic Identifiers Axis Parameters P12288-P14143 Axis Number Position Parameters Type 1 2 3 4 5 6 7 8 Profiler Command Position Int 12288 12544 12800 13056 13312 13568 13824 14080 Target Position Int 12289 12545 12801 13057 13313 13569 13825 14081 Actual Position Int 12290 12546 12802 13058 13314 13570 13826 14082 Following Error Int 12291 12547 12803 13059 13315 13571 13827 14083 Hardware Capture Int 12292 12548 12804 13060 13316 13572 13828 14084 Software Capture Int 12293 12549 12805 13061 13317 13573 13829 14085 Primary Setpoint Int 12294 12550 12806 13062 13318 13574 13830 14086 Secondry Setpoint Int 12295 12551 12807 13063 13319 13575 13831 14087 Offset Parameters Axis Number Type 1 2 3 4 5 6 7 8 Gear Command Position Int 12296 12552 12808 13064 13320 13576 13832 14088 Jog Command Position Int 12297 12553 12809 13065 13321 13577 13833 14089 Cam Command Position Int 12298 12554 12810 13066 13322 13578 13834 14090 Ballscrew Compensation Int 12299 12555 12811 13067 13323 13579 13835 14091 Backlash Compensation Int 12300 12556 12812 13068 13324 13580 13836 14092 Reserved Int 12301 12557 12813 13069 13325 13581 13837 14093 Reserved Int 12302 12558 12814 13070 13326 13582 13838 14094 Reserved Int 12303 12559 12815 13071 13327 13583 13839 14095 Servo Parameters Axis Number Type 1 2 3 4 5 6 7 8 Proportional Gain FP32 12304 12560 12816 13072 13328 13584 13840 14096 Integral Gain FP32 12305 12561 12817 13073 13329 13585 13841 14097 Integral Limit FP32 12306 12562 12818 13074 13330 13586 13842 14098 Integral Delay FP32 12307 12563 12819 13075 13331 13587 13843 14099 Derivative Gain FP32 12308 12564 12820 13076 13332 13588 13844 14100 Derivative Sample Period FP32 12309 12565 12821 13077 13333 13589 13845 14101 Feedforward Velocity FP32 12310 12566 12822 13078 13334 13590 13846 14102 Feedforward Acceleration FP32 12311 12567 12823 13079 13335 13591 13847 14103 241 AXIMA Reference Manual Monitor Parameters Axis Number Type 1 2 3 4 5 6 7 8 Proportional Term FP32 12312 12568 12824 13080 13336 13592 13848 14104 Integral Term FP32 12313 12569 12825 13081 13337 13593 13849 14105 Derivative Term FP32 12314 12570 12826 13082 13338 13594 13850 14106 Velocity Term FP32 12315 12571 12827 13083 13339 13595 13851 14107 Acceleration Term FP32 12316 12572 12828 13084 13340 13596 13852 14108 Summation Point FP32 12317 12573 12829 13085 13341 13597 13853 14109 Filter Output Signal FP32 12318 12574 12830 13086 13342 13598 13854 14110 Axis Command Output Signal FP32 12319 12575 12831 13087 13343 13599 13855 14111 Limit Parameters Axis Number Type 1 2 3 4 5 6 7 8 Following Error Limit Max FP32 12320 12576 12832 13088 13344 13600 13856 14112 Following Error Limit Min FP32 12321 12577 12833 13089 13345 13601 13857 14113 In Position Band Max FP32 12322 12578 12834 13090 13346 13602 13858 14114 In Position Band Min FP32 12323 12579 12835 13091 13347 13603 13859 14115 Within Travel Limit A Max FP32 12324 12580 12836 13092 13348 13604 13860 14116 Within Travel Limit A Min FP32 12325 12581 12837 13093 13349 13605 13861 14117 Within Travel Limit B Max FP32 12326 12582 12838 13094 13350 13606 13862 14118 Within Travel Limit B Min FP32 12327 12583 12839 13095 13351 13607 13863 14119 Command Limit Max FP32 12328 12584 12840 13096 13352 13608 13864 14120 Command Limit Min FP32 12329 12585 12841 13097 13353 13609 13865 14121 Command Band Max FP32 12330 12586 12842 13098 13354 13610 13866 14122 Command Band Min FP32 12331 12587 12843 13099 13355 13611 13867 14123 Backlash Setting FP32 12332 12588 12844 13100 13356 13612 13868 14124 Reserved FP32 12333 12589 12845 13101 13357 13613 13869 14125 Jog Limit Max FP32 12334 12590 12846 13102 13358 13614 13870 14126 Jog Limit Min FP32 12335 12591 12847 13103 13359 13615 13871 14127 Jog Parameters Axis Number Type 1 2 3 4 5 6 7 8 Jog Velocity - Current FP32 12346 12602 12858 13114 13370 13626 13882 14138 Jog Acceleration - Current FP32 12347 12603 12859 13115 13371 13627 13883 14139 Jog Velocity Setting FP32 12348 12604 12860 13116 13372 13628 13884 14140 Jog Acceleration Setting FP32 12349 12605 12861 13117 13373 13629 13885 14141 Jog Deceleration Setting FP32 12350 12606 12862 13118 13374 13630 13886 14142 Jog S-Curve Setting FP32 12351 12607 12863 13119 13375 13631 13887 14143 242 Pre-defined Variable Generic Identifiers Object Parameters P6144-P6527 Encoder Parameters Encoder Number Type 1 2 3 4 5 6 7 8 Encoder Position Int 6144 6160 6176 6192 6208 6224 6240 6256 Encoder Velocity Int 6145 6161 6177 6193 6209 6225 6241 6257 Reserved Int 6146 6162 6178 6194 6210 6226 6242 6258 Reserved Int 6147 6163 6179 6195 6211 6227 6243 6259 Reserved Int 6148 6164 6180 6196 6212 6228 6244 6260 Reserved Int 6149 6165 6181 6197 6213 6229 6245 6261 Reserved Int 6150 6166 6182 6198 6214 6230 6246 6262 Reserved Int 6151 6167 6183 6199 6215 6231 6247 6263 Stepper Parameters Stepper Number Type 1 2 3 4 5 6 7 8 Stepper Signal FP32 6152 6168 6184 6200 6216 6232 6248 6264 Stepper Count Int 6156 6172 6188 6204 6220 6236 6252 6268 Command Output Parameters Command Output Number Type 1 2 3 4 5 6 7 8 Command Output # Output FP32 6400 6416 6432 6448 6464 6480 6496 6512 Reserved FP32 6401 6417 6433 6449 6465 6481 6497 6513 Command Output # Gain FP32 6402 6418 6434 6450 6466 6482 6498 6514 Command Output # Offset FP32 6403 6419 6435 6451 6467 6483 6499 6515 Reserved FP32 6404 6420 6436 6452 6468 6484 6500 6516 Reserved FP32 6405 6421 6437 6453 6469 6485 6501 6517 Reserved FP32 6406 6422 6438 6454 6470 6486 6502 6518 Reserved FP32 6407 6423 6439 6455 6471 6487 6503 6519 Analog Input Parameters Analog Input Number Type 1 2 3 4 5 6 7 8 Analog Input # Input FP32 6408 6424 6440 6456 6472 6488 6504 6520 Reserved FP32 6409 6425 6441 6457 6473 6489 6505 6521 Analog Input # Gain FP32 6410 6426 6442 6458 6474 6490 6506 6522 Analog Input # Offset FP32 6411 6427 6443 6459 6475 6491 6507 6523 243 AXIMA Reference Manual Analog Input Parameters Analog Input Number Type 1 2 3 4 5 6 7 8 Reserved FP32 6412 6428 6444 6460 6476 6492 6508 6524 Reserved FP32 6413 6429 6445 6461 6477 6493 6509 6525 Reserved FP32 6414 6430 6446 6462 6478 6494 6510 6526 Reserved FP32 6415 6431 6447 6463 6479 6495 6511 6527 PLC Parameters P6656-P6775 PLC Parameters PLC Number Type 1 2 3 4 5 6 7 8 Tick Preload Int 6656 6672 6688 6704 6720 6736 6752 6768 Tick Count Int 6657 6673 6689 6705 6721 6737 6753 6769 Timer Parameters Timer Number Type 1 2 3 4 5 6 7 8 Timer Preload Int 6660 6676 6692 6708 6724 6740 6756 6772 Timer Count Int 6661 6677 6693 6709 6725 6741 6757 6773 Counter Parameters Counter Number Type 1 2 3 4 5 6 7 8 Counter Preload Int 6662 6678 6694 6710 6726 6742 6758 6774 Counter Count Int 6663 6679 6695 6711 6727 6743 6759 6775 Miscellaneous Parameters P6912-P7027 Position Parameters 244 Type P Sample Array Index Int 6912 Sample Trigger Index Int 6913 Sample Timer Clock Int 6914 Sample Timer Period Int 6915 Global System Clock Int 6916 Pre-defined Variable Generic Identifiers Flags Coordinate System Flags P4112 - P4119 Flag Parameter Status Flags 4112 4113 4114 4115 4116 4117 4118 4119 Coordinate System Number 1 2 3 4 5 6 7 8 Accelerating 512 544 576 608 640 672 704 736 Decelerating 513 545 577 609 641 673 705 737 Stopping 514 546 578 610 642 674 706 738 In S-Curve 515 547 579 611 643 675 707 739 In Motion 516 548 580 612 644 676 708 740 Move Buffered 517 549 581 613 645 677 709 741 Feedholding 518 550 582 614 646 678 710 742 In Feedhold 519 551 583 615 647 679 711 743 Control Flags Coordinate System Number 1 2 3 4 5 6 7 8 Feedhold Request 520 552 584 616 648 680 712 744 Cycle Start Request 521 553 585 617 649 681 713 745 Kill Move Request 522 554 586 618 650 682 714 746 Stop Move Request 523 555 587 619 651 683 715 747 Final Velocity Zero Pending 524 556 588 620 652 684 716 748 Final Velocity Zero Active 525 557 589 621 653 685 717 749 Feedrate Override Lock Pending 526 558 590 622 654 686 718 750 Feedrate Override Lock Active 527 559 591 623 655 687 719 751 Limit Flags Coordinate System Number 1 2 3 4 5 6 7 8 Not In Position Band 528 560 592 624 656 688 720 752 Not Following Error 529 561 593 625 657 689 721 753 Within Travel Limit A 530 562 594 626 658 690 722 754 Not Within Travel Limit B 531 563 595 627 669 691 723 755 245 AXIMA Reference Manual Limit Flags 1 2 3 4 5 6 7 8 Not Command Limit 532 564 596 628 660 692 724 756 Not In Command Band 533 565 597 629 661 693 725 757 Reserved 534 566 598 630 662 694 726 758 Reserved 535 567 599 631 663 695 727 759 Sequence Flags 246 Coordinate System Number Coordinate System Number 1 2 3 4 5 6 7 8 Set Decrement Move Count 536 568 600 632 664 696 728 760 Set Increment Move Count 537 569 601 633 665 697 729 761 Trigger ISA AT Bus Interrupt On Move 538 570 602 634 666 698 730 762 Move Trigger Pending 539 571 603 635 667 699 731 763 Start Move Inhibit 540 572 604 636 668 700 732 764 Encoder Match Request 541 573 605 637 669 701 733 765 Cycle Start Lockout 542 574 606 638 670 702 734 766 Reserved 543 575 607 639 671 703 735 767 Pre-defined Variable Generic Identifiers Axis Flags P4120 - P4127 Flag Parameter Limit Flags 4120 4121 4122 4123 4124 4125 4126 4127 Axis Number 1 2 3 4 5 6 7 8 Not In Position 768 800 832 864 896 928 960 992 Not Following Error 769 801 833 865 897 929 961 993 Within Travel Limit A 770 802 834 866 898 930 962 994 Not Within Command Limit B 771 803 835 867 899 931 963 995 Not Command Limit 772 804 836 868 900 932 964 996 Not In Command Band 773 805 837 869 901 933 965 997 Reserved 774 806 838 870 902 934 966 998 Reserved 775 807 839 871 903 935 967 999 Status Flags Axis Number 1 2 3 4 5 6 7 8 Not Marker 776 808 840 872 904 936 968 1000 Encoder Captured 777 809 841 873 905 937 969 1001 Registration Move Captured 778 810 842 874 906 938 970 1002 Registration Move Aborted 779 811 843 875 907 939 971 1003 Sinusoidal Mode 780 812 844 876 908 940 972 1004 Gear Lock 781 813 845 877 909 941 973 1005 Gear At Speed 782 814 846 878 910 942 974 1006 Gear Stopping 783 815 847 879 911 943 975 1007 Control Flags Axis Number 1 2 3 4 5 6 7 8 Clamp Output Signal 784 816 848 880 912 944 976 1008 Open Servo Loop 785 817 849 881 913 945 977 1009 Filter Activate 786 818 850 882 914 946 978 1010 Encoder Match Request 787 819 851 883 915 947 979 1011 Gear Activate 788 820 852 884 916 948 980 1012 Gear Active 789 821 853 885 917 949 981 1013 Cam Activate 790 822 854 886 918 950 982 1014 Ballscrew Activate 791 823 855 887 919 951 983 1015 247 AXIMA Reference Manual Jog Flags Axis Number 1 2 3 4 5 6 7 8 Jog Active 792 824 856 888 920 952 984 1016 Jog Direction 793 825 857 889 921 953 985 1017 Jog At Speed 794 826 858 890 922 954 986 1018 Jog Stopping 795 827 859 891 923 955 987 1019 Jog Forward 796 828 860 892 924 956 988 1020 Jog Reverse 797 829 861 893 925 957 989 1021 Jog Limit Check 798 830 862 894 926 958 990 1022 Jog Lockout 799 831 863 895 927 959 991 1023 4172 4173 4174 4175 Secondary Master Flags P4160 - P4167 Flag Parameter Secondary Axis Flags 248 4168 4169 4170 4171 Axis Number 1 2 3 4 5 6 7 8 Positive Direction Limit 2304 2336 2368 2400 2432 2464 2496 2528 Negative Direction Limit 2305 2337 2369 2401 2433 2465 2497 2529 Direction Limit Activate 2306 2338 2370 2402 2434 2466 2498 2530 Direction Limit Tripped 2307 2339 2371 2403 2435 2467 2499 2531 Reserved 2308 2340 2372 2404 2436 2468 2500 2532 Reserved 2309 2341 2373 2405 2437 2469 2501 2533 Reserved 2310 2342 2374 2406 2438 2470 2502 2534 Reserved 2311 2343 2375 2407 2439 2471 2503 2535 Pre-defined Variable Generic Identifiers Program Flags: PROG1 - PROG8 P4128 - P4135 Flag Parameter Program Flags 4128 4129 4130 4131 4132 4133 4134 4135 Program Number 1 2 3 4 5 6 7 8 Program Running 1024 1056 1088 1120 1152 1184 1216 1248 Program Dwelling 1025 1057 1089 1121 1153 1185 1217 1249 Program Inhibited 1026 1058 1090 1122 1154 1186 1218 1250 Move Pending 1027 1059 1091 1123 1155 1187 1219 1251 Program Timeout 1028 1060 1092 1124 1156 1188 1220 1252 Program Modified 1029 1061 1093 1125 1157 1189 1221 1253 Reserved 1030 1062 1094 1126 1158 1190 1222 1254 Reserved 1031 1063 1095 1127 1159 1191 1223 1255 Control Flags Program Number 1 2 3 4 5 6 7 8 Run Request 1032 1064 1096 1128 1160 1192 1224 1256 Halt Request 1033 1065 1097 1129 1161 1193 1225 1257 Reserved 1034 1066 1098 1130 1162 1194 1226 1258 Reserved 1035 1067 1099 1131 1163 1195 1227 1259 Reserved 1036 1068 1100 1132 1164 1196 1228 1260 Reserved 1037 1069 1101 1133 1165 1197 1229 1261 Reserved 1038 1070 1102 1134 1166 1198 1230 1262 Reserved 1039 1071 1103 1135 1167 1199 1231 1263 249 AXIMA Reference Manual Program Flags: PROG9 - PROG16 P4136 - P4143 Flag Parameter 4136 4137 4138 4139 4140 4141 4142 4143 Program Number Status Flags 9 10 11 12 13 14 15 16 Program Running 1280 1312 1344 1376 1408 1440 1472 1504 Program Dwelling 1281 1313 1345 1377 1409 1441 1473 1505 Program Inhibited 1282 1314 1346 1378 1410 1442 1474 1506 Move Pending 1283 1315 1347 1379 1411 1443 1475 1507 Program Timeout 1284 1316 1348 1380 1412 1444 1476 1508 Program Modified 1285 1317 1349 1381 1413 1445 1477 1509 Reserved 1286 1318 1350 1382 1414 1446 1478 1510 Reserved 1287 1319 1351 1383 1415 1447 1479 1511 4146 4147 4148 4149 4150 4151 PLC Flags P4144-4151 Flag Parameter PLC Flags 4145 PLC Number 1 2 3 4 5 6 7 8 Running 1536 1568 1600 1632 1664 1696 1728 1760 First Scan 1537 1569 1601 1633 1665 1697 1729 1761 Run Request 1538 1570 1602 1634 1666 1698 1730 1762 Halt Request 1539 1571 1603 1635 1667 1699 1731 1763 Stepper Flags 250 4144 Stepper Number 1 2 3 4 5 6 7 8 Stepper Direction 1544 1576 1608 1640 1672 1704 1736 1768 Stepper Low Power 1545 1577 1609 1641 1673 1705 1737 1769 Pre-defined Variable Generic Identifiers Timer Flags Timer Number 1 2 3 4 5 6 7 8 Timer Output 1552 1584 1616 1648 1680 1712 1744 1776 Timer Input 1553 1585 1617 1649 1681 1713 1745 1777 Counter Flags Counter Number 1 2 3 4 5 6 7 8 Counter Output 1556 1588 1620 1652 1684 1716 1748 1780 Counter Clock 1557 1589 1621 1653 1685 1717 1749 1781 Counter Reset 1558 1590 1622 1654 1686 1718 1750 1782 Latch Flags Latch Number 1 2 3 4 5 6 7 8 Latch Output 1564 1596 1628 1660 1692 1724 1756 1788 Latch Set 1565 1597 1629 1661 1693 1725 1757 1789 Latch Reset 1566 1598 1630 1662 1694 1726 1758 1790 251 AXIMA Reference Manual Inputs and Outputs P4096-P4097 Flag Parameter Flag Description 4096 Pinout Number Input 00 P4-1 0 Input 01 P4-2 1 Input 02 P4-3 Input 03 Flag Parameter Pinout Number Output 32 P3-1 0 Output 33 P3-2 1 2 Output 34 P3-3 2 P4-4 3 Output 35 P3-4 3 Input 04 P4-5 4 Output 36 P3-5 4 Input 05 P4-6 5 Output 37 P3-6 5 Input 06 P4-7 6 Output 38 P3-7 6 Input 07 P4-8 7 Output 39 P3-8 7 Input 08 P4-9 8 Output 40 P3-9 8 Input 09 P4-10 9 Output 41 P3-10 9 Input 10 P4-11 10 Output 42 P3-11 10 Input 11 P4-12 11 Output 43 P3-12 11 Input 12 P4-13 12 Output 44 P3-13 12 Input 13 P4-14 13 Output 45 P3-14 13 Input 14 P4-15 14 Output 46 P3-15 14 Input 15 P4-16 15 Output 47 P3-16 15 Input 16 P4-17 16 Output 48 P3-17 16 Input 17 P4-18 17 Output 49 P3-18 17 Input 18 P4-19 18 Output 50 P3-19 18 Input 19 P4-20 19 Output 51 P3-20 19 Input 20 P4-21 20 Output 52 P3-21 20 Input 21 P4-22 21 Output 53 P3-22 21 Input 22 P4-23 22 Output 54 P3-23 22 Input 23 P4-24 23 Output 55 P3-24 23 Input 24 P4-25 24 Output 56 P3-25 24 Input 25 P4-26 25 Output 57 P3-26 25 Input 26 P4-27 26 Output 58 P3-27 26 Input 27 P4-28 27 Output 59 P3-28 27 Input 28 P4-29 28 Output 60 P3-29 28 Input 29 P4-20 29 Output 61 P3-20 29 Input 30 P4-31 30 Output 62 P3-31 30 Input 31 P4-32 31 Output 63 P3-32 31 252 Flag Description 4097 Pre-defined Variable Generic Identifiers Miscellaneous Inputs P4098 Flag Parameter 4098 Flag Description Flag Number Address DIP Switch1-8 64 Address DIP Switch1-7 65 Address DIP Switch1-6 66 Address DIP Switch1-5 67 Address DIP Switch1-4 68 Address DIP Switch1-3 69 Address DIP Switch1-2 70 Address DIP Switch1-1 71 Clock Pulse 20 ms 80 Clock Pulse 100 ms 81 Clock Pulse 1 sec 82 Clock Pulse 1 min 83 Miscellaneous Outputs P4099 Flag Parameter 4099 Flag Description Flag Number Sample Trigger Armed 104 Sample In Progress 105 Sample Mode Select 106 Sample Trigger Latched 107 Trigger ISA AT Bus Interrupt 112 Trigger Software Capture 113 Enable Bank 0 Expanded I/O 116 Enable Bank 1 Expanded I/O 117 253 Expanded Inputs and Outputs P4104-P4107 Flag Parameter 4104 I/O Number 4105 4106 4107 Expansion I/O Board Number INP OUT INP OUT INP OUT 00 32 256 288 320 352 01 33 257 289 321 353 02 34 258 290 322 354 03 35 259 291 323 355 04 36 260 292 324 356 05 37 261 293 325 357 06 38 262 294 326 358 07 39 263 295 327 359 08 40 264 296 328 360 09 41 265 297 329 361 10 42 266 298 330 362 11 43 267 299 331 363 12 44 268 300 332 364 13 45 269 301 333 365 14 46 270 302 334 366 15 47 271 303 335 367 16 48 272 304 336 368 17 49 273 305 337 369 18 50 274 306 338 370 19 51 275 307 339 371 20 52 276 308 340 372 21 53 277 309 341 373 22 54 278 310 342 374 23 55 279 311 343 375 24 56 280 312 344 376 25 57 281 313 345 377 26 58 282 314 346 378 27 59 283 315 347 379 28 60 284 316 348 380 29 61 285 317 349 381 30 62 286 318 350 382 31 63 287 319 351 383 AXIMA Software ReferIndex dialog box, 26 A Absolute Path Shift Instruction, 67 Analog Input Configuration assigning variables, 57 calibration, 58 dialog box, 55 overview, 55 procedure, 56 And Instruction, 141 Application dialog box, 12 application error messages error messages applications, 190 applications creating, 9 setup, 11 Arc Move Instruction, 67 Automatic Vector Instruction, 69 axis flags, 247 parameters, 241 axis error messages error messages axis, 191 Axis Instruction, 71 Axis Limits dialog box, 29 axis limits error messages error messages axis limits, 192 Axis Parameters dialog box, 21 reconfigure, 25 Axis Servo Loop Options C Call Subroutine Instruction , 71 clipboard, 45 Command Band Instruction, 72 Command Limit Instruction , 73 Comment Instruction , 74 communications download , 5 setup, 5 upload , 5 communications error messages error messages communications , 187 compatibility firmware , 2 Conflict Resolution hierarchy, 47 conflict types, 51 conflicts resolving, 49 Conflicts Resolution dialog box, 47 controller error messages, 185 Controller Options dialog box, 16 reconfiguration, 16 Coordinate System dialog box, 17 coordinate system flags, 245 parameters , 240 coordinate system error messages, 190 Counter Instruction , 143 255 creating applications , 9 cut/copy/paste application items , 43 capabilities , 43 from clipboard, 45 instructions , 44 pasting restrictions, 46 cut/copy/paste error messages error messages cut/copy/paste , 199 D DAC Instruction, 74 Derivative Gain Instruction, 75 Derivative Sample Period Instruction , 76 diagnostics , 173 application , 174 axis, 176 coordinate system, 175 program , 177 status display, 173 dialog boxes description , 12 download message, 7 downloading , 5 Dwell Instruction , 77 E edit window , 10 Encoder Capture Instruction , 77 Encoder Match Instruction , 78 Encoder Preload Instruction , 80 Encoder Reset Instruction , 80 End Program Instruction , 82 error messages , 185 controller, 185 coordinate system, 190 other, 202 256 software, 186 exiting the software, 4 expanded I/O flags, 254 expanded I/O option, 59 assigning variables, 60 in an AXIMA Program, 61 software setup, 59 expression addition, 153 arc cosine, 154 arc cotangent, 154 arc sine, 154 arc tangent, 154 bit status, 154 bitwise complement, 155 ceiling, 154 common logarithm, 155 cosine, 154 cotangent, 154 division, 153 equal assign, 154 equal to, 153 exponentiation, 153 floor, 155 greater than, 154 greater than or equal, 154 hyperbolic arc cosine, 154 hyperbolic arc cotangent, 154 hyperbolic arc tangent, 154 hyperbolic cosine, 154 hyperbolic cotangent, 155 hyperbolic sine, 155 hyperbolic tangent, 155 left shift, 153 less than, 153 less than or equal, 154 logical AND, 154 logical NAND, 155 logical NOR, 155 logical OR, 155 logical XNOR, 156 Index logical XOR, 156 modules, 155 multiplication, 153 natural logarithm, 155 not equal to, 154 random integer, 155 right shift, 153 round, 155 sine, 155 square root, 155 subtraction, 153 tangent, 155 truncation, 156 expression reference, 153 External Time Profile Instruction, 83 F features cut/copy/paste, 43 Feedforward Acceleration Instruction, 84 Feedforward Velocity Instruction, 85 Feedrate Override Instruction, 86 flags expanded I/O, 254 standard I/O, 252 Following Error Instruction, 87 Formula Instruction, 87 G Gear Control Instruction, 88 Gear Definition Instruction, 89 generic identifiers, 239 flags axis, 247 coordinate system, 245 PLC, 250 programs 0 - 7, 249 programs 8 - 14, 250 secondary master, 248 parameters axis, 241 coordinate system, 240 object, 243 PLC, 244 Generic Instruction , 92 getting help , 4 GoTo Label Instruction, 93 Group Instructions Instruction , 93 H hardware requirements, 1 help , 4 hierachy view Axis Parameters, 21 hierarchy view Application, 12 Controller Options, 16 Coordinate System, 17 Home Instruction, 94 I If/Then Instruction , 96 In Position Band Instruction , 97 installing software, 1 instruction error messages error messages instruction, 194 Integral Delay Instruction , 97 Integral Gain Instruction, 98 Integral Limit Instruction, 99 257 J P Jog Control Instruction , 100 Jog Definition Instruction, 103 pasting restrictions, 46 PLC flags, 250 parameters, 244 PLC instruction reference, 141 PLS Control Instruction, 113 PLS Definition Instruction, 113 pre-defined generic identifiers, 239 Pre-Defined Variables, 211 axis bit, 221 floating point, 228 integer, 226 coordinate system bit, 213 floating point, 218 integer, 218 other Analog Inputs (Floating Point), 237 bit, 234 Command Outputs (Floating Point), 237 encoders (integer), 236 program motion, 211 Print Instruction, 119 program control, 178 immediate instructions, 183 PLC, 178 program error messages error messages program, 192 programming online, 8 Programs dialog box, 31 programs editing, 32 quantity, 31 type, 31 verification, 31 L Label Instruction , 104 Latch Instruction , 145 Load Instruction , 146 Low-pass Filter Instruction , 104 M Manual Vector Instruction , 105 motion and auxiliary instructions list of, 63 Move (Basic) Instruction , 107 Move Instruction, 108 N Normalize Instruction, 111 Notch Filter Instruction , 111 O object parameters , 243 online control , 8 online help , 4 option expanded I/O, 59 Or Instruction , 147 Output Instruction , 150 258 Index programs 0 - 7 flags, 249 programs 8 - 14 flags, 250 Proportional Gain Instruction, 120 Q Quick Jog (Online) Instruction, 121 Quick Move (Online) Instruction, 122 R Real Time Acceleration Ramp Instruction, 123 Real Time Deceleration Ramp Instruction, 125 Real Time Profile Instruction, 125 Real Time Velocity Instruction, 127 reconfiguration, 16 Registration Move Instruction, 127 Relative Path Shift Instruction, 130 requirements hardware, 1 software, 1 resolving conflicts, 49 resources, 49 types, 51 analog inputs, 54 axis conflict, 52 coordinate system, 51 encoder and command numbers, 54 instructions conflict, 53 PLC resources, 54 program conflict, 52 variables conflict, 53 unrelved references, 49 resource conlicts, 49 Return Instruction, 130 Rotate Path Instruction, 131 S Scale Path Instruction , 132 secondary master flags, 248 Set/Clear Bit Instruction, 133 Sinusoidal Move Instruction , 133 software exiting, 4 installation, 1 requirements, 1 starting, 3 software error messages , 186 standard I/O flags, 252 starting the software, 3 status display, 173 T Timer Instruction , 150 Travel Limit Instruction , 136 troubleshooting , 203 tuning procedure, 157 adjust offset, 162 AXIMA tuning, 170 drive tuning, 164 setup, 158 U unresolved references , 49 Update Status Display Instruction , 136 uploading , 5 V Variable Definition 259 dialog box, 40 Variable List dialog box, 35 variables Pre-Defined , 35 user defined , 35 varible error messages error messages variable , 197 W Wait For Value Instruction , 138 Wait Instruction, 138 260