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