IQ Master™ Version 3.2.
Important User Information Because of the variety of uses for the products described in this publication, those responsible for the application and use of this control equipment must satisfy themselves that all necessary steps have been taken to assure that each application and use meets all performance and safety requirements, including any applicable laws, regulations, codes and standards.
Table of Contents Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Who Should Use this Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Where to Find Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
iv Memory and I/O Expansion Card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 I/O Expansion Card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Personal Computer (PC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Symbols and Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
v Save As . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 IQ Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Open IQ Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Save Program to IQ (F7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vi Latched Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Velocity & Acceleration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Home Switch Active State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vii Tune . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Auto Tune Velocity and Position Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 To Tune the System using Auto Tune . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Manual Tune . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
viii Stop Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Flow Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Local Echo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ix IQ Master - Run Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Function Key Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Host Language Commands (Serial) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Stopping or Suspending a Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
x Enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Auto Tune . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Incremental Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xi IF Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 IF/ELSE Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 WAIT Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 ON Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xii Define Home (DH), Define Position (DP) and Define Position 1 or 2 . . . . . . . . . . . . 168 Enable / Disable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Miscellaneous Instruction Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Reserved Words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 Language Reference . . . . . . . . . . . . . . . . . . . . .
xiii Operator Terminal Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 Operator Terminal Key Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 DDE Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 System Programs . . . . . . . . . . . . . .
xiv Pause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358 Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358 Optional Home Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 Home to a Limit Switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
List of Figures ULTRA Plus/IQ-2000/IQ-5000 System Components ........................................................... 5 IQ-550 System Components ................................................................................................ 5 Personality Module Dialog Boxes ....................................................................................... 33 ULTRA Plus/IQ-Series Block Diagram .............................................................................
xvi Publication 1398-PM601A-EN-P — October 2000
PREFACE Preface Introduction Read this preface to familiarize yourself with this manual. This preface covers the following topics: • Introduction • Who Should Use this Manual • Where to Find Help • Contents of this Manual • Related Documentation • Conventions Used in this Manual • Using Online Help • Allen-Bradley Support Who Should Use this Manual Use this manual if you use IQ Master to configure and operate ULTRA Plus™ and IQ-Series® controllers, or to design, test or run programs.
P-2 Contents of this Manual PREFACE This manual contains the following sections: Title Contents Preface An overview of this manual and sources of information. Getting Started Introduces the ULTRA Plus and IQ-Series controllers, and the IQ Master software package. IQ Master Environment Examines the menus and menu items in IQ Master. Software and Hardware Integration Commissioning the ULTRA Plus and IQ-Series controllers with IQ Master.
P-3 The following documents contain additional information concerning related Rockwell Automation products. To obtain a copy, contact your local Rockwell Automation office or distributor. For information about: Read this document: Publication Number Installing an ULTRA Plus system. ULTRA Plus Series Positioning Drive Module Installation Manual 1398-5.1 Installing an IQ-550 system. IQ-550 Position Control Module Installation Manual Part Number 0013-1022-004 Installing an IQ-2000 and IQ5000 system.
P-4 Using Online Help PREFACE The following types of online help are available: To use this: Help Menu Do this: Either: • Click on Help in the menu bar. Description Displays the pull down Help Menu. • Press ALT to activate the menu bar, then H to pull down the Help menu. • Press the F1 key. Help Contents Either: • Click on the Contents selection. • Press the underlined letter (C in Contents). Contains help on every menu and menu item, and the IQ Basic programming language.
P-5 Allen-Bradley offers support services worldwide, with over 75 sales/support offices, 512 authorized distributors and 260 authorized systems integrators located throughout the United States alone, plus Allen-Bradley representatives in every major country in the world.
P-6 PREFACE Publication 1398-PM601A-EN-P — October 2000
INTRODUCTION Part 1 Getting Started This part of the manual introduces the Allen-Bradley ULTRA Plus and IQ-Series controllers and IQ Master software. The requirements for the Personal Computer (PC) to run IQ Master and the installation of IQ Master on your PC are covered.
INTRODUCTION Publication 1398-PM601A-EN-P — October 2000
About the Allen-Bradley IQ Master Manual This manual contains the procedures you will need to work with IQ Master software. Throughout this manual, the terms ULTRA Plus, IQ, IQ-Series controller, and controller are used to refer to either an ULTRA Plus, IQ-2000 or IQ-5000 Positioning Drive Module, or an IQ-550 Position Control Module unless otherwise specified. The term PDM is used to refer to either an ULTRA Plus, an IQ-2000 or an IQ-5000 Positioning Drive Module unless otherwise specified.
4 Introduction to IQ Master • ULTRA Plus or IQ-Series System Overview Description: Part Part 1 Getting Started INTRODUCTION This part of the manual discusses the requirements for running IQ Master and covers the installation of IQ Master on your Personal Computer (PC). Part 2 IQ Master Environment This part of the manual covers, in detail, each of the menu items in IQ Master.
5 INTRODUCTION Introduction to IQ Master • ULTRA Plus or IQ-Series System Overview ULTRA Plus/IQ-2000/IQ-5000 System Components IQ-550 System Components Publication 1398-PM601A-EN-P — October 2000
6 Introduction to IQ Master • ULTRA Plus or IQ-Series System Overview IQ Master IQ Master is a Windows based software package that provides the user interface to the ULTRA Plus or IQ-Series controller. It is used to edit and compile application programs, configure, monitor, and troubleshoot the controller. IQ-550 Position Control Module INTRODUCTION The IQ-550 Position Control Module is a stand alone single axis programmable position controller.
Introduction to IQ Master • ULTRA Plus or IQ-Series System Overview 7 Motors Operator Terminal The optional Operator Terminal is a rugged man/machine interface device. It allows the machine operator convenient access to status information, program variables, and control functions, plus message display capabilities. The operator terminal has a bright 4 line by 20 character vacuum fluorescent display and a sealed membrane keyboard with tactile feedback.
8 Introduction to IQ Master • Symbols and Conventions Memory and I/O Expansion Card Additional memory and I/O may be added with a Memory and I/O Expansion Card. This board adds the following memory, input and output capabilities to the ULTRA Plus or IQ-Series controller. INTRODUCTION • 32 Kbytes of additional nonvolatile memory for the storage of up to 32 additional programs. • 32 TTL Inputs. • 16 TTL Outputs. • 4 twelve bit Analog Inputs.
MOVD = G1, V = G2 Example programs or program fragments are shown in this font. win Text presented in lower case bold is information to type at the DOS prompt. For example: To start Windows from the DOS prompt, type win and then press ENTER. ALT+F4 Keys that should be pressed simultaneously are shown with a (+) between the key names. ALT, F, N Keys that should be pressed in sequence are shown with a (,) between the key names. This example would open the File menu and then open a new file.
10 Introduction to IQ Master • New Features New Features There have been many additions and enhancements to the ULTRA Plus or IQ systems. A detailed description of these new features and command changes is in the appendix “What’s New in Each Version” on page 410. If you have used the ULTRA Plus or IQ system before, reading this appendix is recommended. The following is a brief list of the new features: INTRODUCTION New in Version 3.2.4 vs. Version 3.2.
• Complete Host Language Command set • Off line compiler and full screen editor • IQ Basic language enhancements: 11 – Multiple statements can be treated as a group. – Two new statements have been added to repeatedly execute a statement or group of statements based on a condition: the While and the Do While statements. – Parentheses can be used around a condition for clarification or to establish operator precedence.
12 Quick Start Check List • Introduction INTRODUCTION Quick Start Check List Introduction New users of ULTRA Plus or IQ-Series controllers are encouraged to read through the appropriate ULTRA Plus or IQ-Series Installation Manual (1398-5.1, Part Number 0013-1027-004 or Part Number 0013-1022-004) and this manual before beginning a project. However, for experienced users of the ULTRA Plus or IQ-Series, this check list was developed to guide you through the process of getting your system up and running.
Quick Start Check List • Quick Start Check List If you get an “IQ not responding” error message, go to the Communications menu, PC Set Up and check your communications setup. You should first verify that the communications port you have selected is the one that your cable is connected to. Then verify that the communications protocol matches the protocol in the ULTRA Plus or IQ-Series controller.
14 Quick Start Check List • Quick Start Check List 12. Go to the Run menu, Tune. Follow the Auto Tuning procedure outlined in Part 2 of this manual. If required, perform the manual tuning procedure. 13. If you have programs that were created for version 1, refer to Appendix C to convert the programs to be compatible with version 2.
15 INTRODUCTION Getting Started with IQ Master • Hardware and Software Requirements Getting Started with IQ Master Hardware and Software Requirements At this point you should have Windows installed on your PC if you are going to use IQ Master. If not, refer to the appropriate Microsoft manuals to install Windows on your computer.
16 Getting Started with IQ Master • Using Windows Without a Mouse - A Quick Review INTRODUCTION 1. ALT+F6 Switch between the main application and one child window (for example, to switch between the IQ Master for Windows main menu and the Run Control dialog box); or, to switch between multiple child windows (for example, to switch between the Status and Run Control dialog boxes).
Getting Started with IQ Master • Using the IQ Master Setup Program 17 IQ Master Hot Keys Description F2 Compile the program in the active window. F7 Save the program in the active window to the ULTRA Plus or IQ.
18 Getting Started with IQ Master • The Readme File The Readme File When Setup installed IQ Master, a file, README.WRI was installed in the IQ Master directory. This file contains information that became available after this manual was printed. A Read Me Icon was added to the IQ Master group. After you install IQ Master you can access this file by double clicking on the Read Me Icon.
Getting Started with IQ Master • Starting and Quitting IQ Master 19 Starting and Quitting IQ Master Setup automatically creates the IQ Master program group, the IQ Master icon and then returns you to Windows. IQ Personality Module Generator icon IQ Master icon Read Me icon To Start IQ Master You can start IQ Master by using either the mouse or the keyboard. • Double-click the IQ Master icon. -orSelect the IQ Master icon using the arrow keys, and press ENTER.
20 Getting Started with IQ Master • On-line Help the name that it used to open it with, FILEn, ⇒with a QPS extension. IQ Master assigns a number n to each new file that is open to distinguish it from other unnamed files. To Quit IQ Master, from the File menu, choose Exit (ALT, F, X) or press ALT+F4. INTRODUCTION • If you are using a mouse, point to the File menu and click the left mouse button. Then point to the Exit command and click the left mouse button again.
21 INTRODUCTION Applying Power for the First Time • Start-Up Procedure for ULTRA Plus and IQ-2000 Systems Applying Power for the First Time Outlined below are the steps that should be followed when applying power to the equipment for the first time. This procedure covers ULTRA Plus, IQ-2000 PDMs, IQ-5000 PDMs, IQ-5000 PSM, IQ-550 Controllers, Motors and the Operator Terminal. This start-up procedures assumes that the equipment has previously been mounted and wired, but has not had power applied to it.
22 Applying Power for the First Time • Start-Up Procedure for ULTRA Plus and IQ-5000 Systems INTRODUCTION 8. Make sure that the motor is not connected to the load when applying power to prevent any mechanical damage in case of a fault. Apply input power with the PDM disabled and check the LEDs. The green READY LED should turn on and the bi-color status LED should turn green. If the status LED is red rather than green, the PDM is in a fault condition.
23 3. Make sure that each PDM has the Personality Module (PM) properly configured. If necessary, refer to the Applying Power chapter in the appropriate ULTRA Plus or IQ-Series Installation Manual (1398-5.1, Part Number 0013-1027-004 or Part Number 0013-1022-004) for step-by-step instructions on configuring a Personality Module using IQ Master software. 4. Install all covers. Connect all interface cables (P1-P7) to the PDMs. 5.
24 Applying Power for the First Time • Start-Up Procedure for IQ-550 Systems Start-Up Procedure for IQ-550 Systems INTRODUCTION 1. Measure voltage between IQ-550 terminals marked L1 and L2 to ensure incoming power is off. The bi-color status LED should be off. 2. Disconnect input wires connected to terminals L1 and L2. Arrange the wires in a safe position to test the incoming voltage. 3. Turn input power on and measure line voltage to ensure that it is in the proper voltage range (115/ 230 VAC).
Applying Power for the First Time • Operator Terminal 25 10. Enable the ULTRA Plus/IQ2000/IQ5000 using the Enable input or Enable from the Run menu of IQ Master. Verify the motor is stationary and has holding torque. 11. Command motion using the Jog inputs or the Run Control dialog box of IQ Master. Verify the motor rotates in the proper direction. Operator Terminal The Operator Terminal requires no special start-up procedure.
26 Applying Power for the First Time • Backup Personality Module INTRODUCTION Publication 1398-PM601A-EN-P — October 2000
MENUS Part 2 IQ Master Environment In this part of the manual, each menu and menu item is examined. The figures with menus and dialog boxes depict images from IQ Master.
MENUS Publication 1398-PM601A-EN-P — October 2000
MENUS File Menu The File menu provides all the functions to load (open) and save files to both the PC and the ULTRA Plus or IQ-Series controller. Along with these file commands, the menu contains the Print, Transfer, Initialize (program) Personality Module, and Exit functions. To Access File Menu Items • Select the File menu by clicking on File in the menu bar, -orpress ALT to activate the menu bar, then F to pull down the File menu.
30 File Menu • PC Disk Commands PC Disk Commands New Select New from the File menu or click the toolbar button to open (create) a new file on the PC. The default file name will be FILE1.QPS, the next one FILE2.QPS, and so on. After editing the program, use Save As to save the file to disk under a name you choose. To save the program to the ULTRA Plus or IQ, use Save Program to IQ (compile the program first if you want to save the executable as well as the source).
File Menu • File Extensions 31 Delete IQ Program Select Delete IQ Program from the File menu to delete a file in the ULTRA Plus or IQ. Select the type of program to be deleted–either just the source or both source and executable by selecting the appropriate radio button. Then select the program to be deleted from the IQ Directory dialog box. File Extensions QPS IQ Program Source file. Files with a QPS extension should be IQ programs in ASCII text format. QPE IQ Program Executable file.
32 File Menu • Miscellaneous Commands Miscellaneous Commands Print Select Print from the File menu or click the toolbar button to print the current file to the local printer. The Windows Print Manager handles the printing, so if you exit IQ Master and close Windows while the file is still being printed, some of the file may not be printed. Transfer An ASCII file may be transferred between the ULTRA Plus or IQ-Series controller and the PC.
File Menu • Miscellaneous Commands ULTRA Plus or IQ Series IQ 550 33 Factory Default Initialization Recently Used File List Use the numbers and filenames listed at the bottom of the File menu to open any of the last four most recently opened files. Choose the number that corresponds to the file you want to open. Send Mail Select Send Mail from the File menu to send a mail message with the active document attached. This command opens a Send Note window in Microsoft Mail.
34 Edit Menu • Miscellaneous Commands MENUS Edit Menu The Edit menu will not be available unless a file is opened for editing. The Editor is used to create or edit motion programs for the ULTRA Plus or IQ-Series controller. The Edit menu provides functions to cut, copy, and paste text to and from the Clipboard. You can also search for and replace text. The current program line number (where the cursor is positioned) is shown in the status bar and is updated as you scroll through the program.
Edit Menu • Undo 35 pressing the letter that is underlined in your selection (for example the “t” in Cut), -orusing the arrow keys to highlight your selection and then press ENTER. Undo Undo cancels the most recent command or action you completed. If you do not like the results of a command or accidentally delete some text, choose Undo as the next action. Selecting Text Select text by holding the left mouse button and dragging the mouse over the text.
36 Edit Menu • Finding Text Finding Text Find Select Find from the Edit menu to search for text in the current text file. The search can be case sensitive or insensitive. The direction of the search can be forward to the end of the file or backward to the beginning of the file. Find Next (F3) Select Find Next from the Edit menu, or press F3, to find the next occurrence of the search text in the current file.
Edit Menu • Compile Options 37 Compile Options The Compile Options item under the Edit menu allows you to choose what type of program to compile, generate a list file, include debug information in the compiled file, expand macros, and whether to compile the file to disk or memory. The default compiler settings may be overridden by using compiler options program statements such as PGMTYPE, DEBUG, etc. Refer to Part 5 • Language Reference for more detailed information.
38 Parameter Menu • Compile Options Parameter Menu MENUS The Parameter menu contains the parameter values used to control the ULTRA Plus or IQ system. The values are stored in a parameter table in nonvolatile RAM (NVRAM). All parameters should be reviewed, entered or changed based on the application. The parameters in the table are used unless overridden locally in a program. If a program does override parameters, the values in the parameter table are used once again when the program is stopped.
Parameter Menu • Gains/Limits 39 Gains/Limits Gains are used to adjust both the velocity and position loop performance. The velocity loop gains should be set up first, and then the position loop gains can be set. Change gains with care as excessive settings on any gain can result in motor instability.
40 Parameter Menu • System Following Error Limit sets the maximum allowable following error and time for fault recognition (following error is defined as the difference between commanded position and actual position). There are two parameters associated with the Following Error Limit: limit size and time. Part 5 Language Reference FEL and FET ILIMIT ILIMIT is the maximum current limit in amperes. The maximum current to the motor will not exceed this value.
Parameter Menu • System 41 Scale SCALE is the number of feedback counts for 1 user unit. The feedback counts can be generated from either encoder 1 or encoder 2 as specified in the Feedback Configuration dialog box. For more detailed information on this value, refer to Part 5 • Language Reference. Scale2 SCALE2 is the number of Encoder 2 counts for 1 user unit of distance when Encoder 2 is not used for position feedback. When Encoder 2 is used for position feedback SCALE is used.
42 Parameter Menu • Velocity & Acceleration Velocity & Acceleration Velocity, Acceleration, and Timebase settings are set in the Velocity/Acceleration dialog box. These values are the default values which are used if motion commands or programs do not use different settings. The ULTRA Plus or IQ is shipped from the factory with values for each of the settings. Verify that each of the settings is appropriate for the application before operating the system.
Jog Deceleration Jog Deceleration is the deceleration used for jog commands and MOVV. Part 5 Language Reference JDECEL Home Velocity Home Velocity defines the velocity for the Home Command. Part 5 Language Reference HVEL, Appendix A Home Offset Home Offset specifies the distance from encoder index to home position. Part 5 Language Reference HOFFS, Appendix A Overspeed Overspeed is the overspeed trip point in user units per Timebase for the system.
44 Parameter Menu • Inputs Pause Pause enables or disables the Pause input (I9). The default setting is enabled. Part 3 ULTRA Plus or IQ Software and Hardware Start Start enables or disables the Start input (I4). The default setting is enabled. Part 3 ULTRA Plus or IQ Software and Hardware Home Switch Active State Home Switch Active State selects the home switch input (I5) as active open or active closed. The default setting for this input is active closed.
Parameter Menu • Inputs 45 Program Select Lines Select Program from Inputs selects the program number to be run when a Start input is received, rather than the Default Run Program number. The range of program numbers is limited by the number of Program Select lines. If the Select Program from Inputs check box is selected, the Number of Program Select lines can be entered.
46 Parameter Menu • Outputs Outputs All dedicated outputs can be disabled and used as general purpose outputs. The ULTRA Plus or IQ is shipped from the factory with values for each of the settings. Verify that each of the settings is appropriate for the application before operating the system. The default settings are listed with description. After changing any output settings, choose OK to store the new settings and close the dialog box.
Parameter Menu • Default Outputs 47 Default Outputs The default outputs settings determine the state of the outputs when a program is stopped. Each output can be set to either turn ON, turn OFF, or remain unchanged when program execution is halted. These settings will affect the output if the program stops for any reason (loss of enable, an error, or the end of program reached). Choose the Next Bank button to set the next 8 outputs.
48 Parameter Menu • Fkey Set Up Configuration Menu Configuration menu selects the menu number to be set up. Enter the number of the menu to be set up and the values for that menu will be shown. Current Configuration Current Config shows the active configuration menu number. Feedback Position Source Feedback Position selects the source for the position feedback, POSN. The choices are Pos1 (Encoder 1–default), Pos2 (Encoder 2), or Pos3 (Encoder 3–available only with an option card).
Parameter Menu • Serial 49 To Program the Soft Function Keys on the Operator Terminal • Select Fkey Set Up from the Parameter menu. • Enter the Mode number (up to 6 different modes or function key definitions are available). • To assign a preprogrammed function to one of the function keys, select the function using the drop down list box for each function key you want to define. (If not using a mouse, press TAB to get to the desired drop down box, then press ALT+DOWN ARROW to open the box.
50 Parameter Menu • Serial Communications Mode (RS-232C/RS-422) The communications Mode can be set to RS-232C (default) for single axis applications with cable lengths less than 35 feet, or to RS-422 for multi-drop applications or cable lengths longer than 35 feet. Generic Operator Terminal The Generic check box selects the use of any generic operator terminal for the serial port 1 connection on P7. If this setting is cleared, the IQ Operator Terminal is selected.
Parameter Menu • Variables 51 Variables The Variables menu may be used to set the values of the nonvolatile variables G1 through G64. If values are changed in the program while this dialog box is open the new value will not be displayed. The value is updated whenever you open the dialog box or change from one G variable to another G variable. To continuously monitor the value of a variable continuously, refer to the Monitor menu, Monitor Variables on page 69.
52 Parameter Menu • Edit Parameter File MENUS Publication 1398-PM601A-EN-P — October 2000
Run Menu • 53 MENUS Run Menu The Run menu provides functions to start, stop, or pause a program, execute a move, start the home sequence, enable/disable the ULTRA Plus or IQ, define the present position as Home or redefine the present position. Along with the motion commands, the Run menu contains the Reset, Hardware Reset, Tune and Extended Debug functions.
54 Run Menu • Run Control To Access Run Menu Items • Select the Run menu by clicking on Run in the menu bar, -orpress ALT to activate the menu bar, then R to pull down the Run menu. • Select the menu item by clicking on your selection, -orpressing the letter that is underlined in your selection (for example the “S” in Stop), -orusing the arrow keys to highlight your selection and then press ENTER.
Run Menu • Run Control 55 Pause The Pause interrupts motion temporarily. If Pause is activated, the controller decelerates the system to a stop, and maintains position. If Pause is then deactivated, motion is resumed. The time that the system decelerates to zero and accelerates back to full speed is called the system slew time. The system slew time, in seconds is the default velocity, in units/second divided by the default acceleration in units/second².
56 Run Menu • Stop Stop Select Stop from the Run menu to stop a program. A program can also be stopped by pressing CTRL+X (press and hold down the CTRL key and press the X key) when the edit window is the active window or by choosing the Stop button in the Run Control dialog box. ATTENTION It is the responsibility of the user to ensure that the application process stops in a safe manner when the application program stops. Failure to observe this precaution could result in bodily injury.
Run Menu • Hardware Reset 57 Hardware Reset Select Hardware Reset from the Run menu to clear any “hard” errors that have occurred. All other errors are “soft” errors that can be cleared with Reset. Refer to “Error Messages” on page 418 for a list of “hard” errors. Define Home Position Select Define Home/Position from the Run menu to define the present commanded position as Home (position zero) or to redefine the present position. To define the present position as Home, choose the OK button.
58 Run Menu • Tune Note: Auto Tune is not recommended if too much compliance or backlash exists in the mechanical load. If this is the case, then manual tune is recommended. Manual Tune provides a means of tuning the velocity and position control loops independently. The inner velocity loop must be tuned first, as this tuning will affect the position loop response. This procedure assumes that the system, including the machine the motor is connected to, can tolerate small–signal step velocity changes.
Run Menu • Tune 59 high gain settings. This could cause instability when returned to the closed loop mode of operation. The conditions are: Max Distance or Max Velocity set too low. Either of these conditions can cause very rapid reversal of the servo motor and audible vibration. Increase Max Distance or Max Velocity. Step current set too low. This is shown by the lack of servo motor motion. Increase Step Current.
60 Run Menu • Tune 11. Turn off the FILTER by clearing the FILTER check box. 12. Choose the Enable button to enable the ULTRA Plus or IQ, then choose the Start button to begin the Manual Tune process. The motor shaft will oscillate back and forth. If the Step Velocity and/or Cycle Period need to be changed, choose the Stop button, adjust the values as necessary, and choose the Start button again. 13. Set IGAIN to a low value (no noticeable overshoot).
Run Menu • Tune 61 11. Adjust KI. Enter a value for IZONE (about twice the In-Position Window is a reasonable value). Begin slowly increasing the KI value from 0 while watching the VEL1 signal on the oscilloscope. As KI is increased, the system will begin to overshoot. KI should be adjusted to achieve the fastest possible time to come into position with minimum overshoot. 12.
62 Run Menu • Extended Debug Extended Debug Extended debug capabilities allow program execution to be verified. Debugger commands can be used by all program types, except for Fkey programs and the error program. Debugger commands are grouped into three categories: • Operational • Step • Breakpoints and Options Note: Debug information should not be included in the final executable that is transferred to the ULTRA Plus or IQ.
Run Menu • Extended Debug 63 Trace Trace initiates a program in a traceable mode at full speed. The execution trace bar is displayed in the source code window of IQ Master while the programs executes. To halt program execution, issue a Pause command from the Run menu. The commands Go, Auto or Abort may be issued anytime the program is running. Breakpoints may be added, deleted or disabled while the program is executing. Auto Auto initiates a program in a traceable mode at a reduced speed.
64 Run Menu • Extended Debug Clear all Breakpoints Clear All Breakpoints removes all defined break points in the source file. The View Active Breakpoint dialog allows defined break points to be enabled or disabled as a group or individually. Toggle Breakpoint Toggle Breakpoint creates or deletes a breakpoint within a line of source code. This allows a breakpoint bar to be toggled (added or deleted). To add a breakpoint: 1.
Run Menu • Extended Debug 65 Auto Execution Delay Sets the time delay in seconds to be inserted between the execution of source code lines. Typical values for this parameter are 1 to 3 seconds typically. If set to 0 (zero), the auto mode executes at the same speed as the Trace debugger mode. The range of values for this parameter is 0 to 65.5 seconds. Active Trace Paths Active Trace Path check boxes filter specific debug information sent by the IQ to IQ Master when debugging a source program.
66 Run Menu • Extended Debug • When a scanned event hits a breakpoint, all scanned events are halted. • When an XKey routine hits a breakpoint, all XKey routines are halted.
Monitor Menu • Extended Debug 67 MENUS Monitor Menu The Monitor menu is used to show the ULTRA Plus or IQ Status, Input/Output Status, select variables to be monitored, assign a variable to the Programmable Monitor output (P3-7), and call the Variable Monitor display. The Variable Monitor display can monitor up to 8 internal pre-defined variables.
68 Monitor Menu • Status Status To get the status of the ULTRA Plus or IQ, select Status from the Monitor menu or press F9. The Status dialog box shows certain inputs and outputs that are currently active, and machine faults (if any). If a program is running, program information is also shown.
Monitor Menu • Monitor Variables 69 Monitor Variables The Monitor Variables menu item displays the Variable Monitor dialog box which continuously displays the values of system variables. Up to eight different variables can be monitored at once. The variables to be monitored are set up in the Variable Monitor Set Up dialog box. The values assigned to be monitored are saved in the MASTER.INI file so they will remain assigned the next time IQ Master is run.
70 Monitor Menu • Monitor Variables MENUS IAVE (Average Current) Average current command. ICMD (Current Command) Instantaneous current command. IX1P1 (Index 1 Pos1) Position 1 (Pos1) when the index from Encoder 1 is received. IX1P2 (Index 1 Pos2) Position 2 (Pos2) when the index from Encoder 1 is received. IX2P1 (Index 2 Pos1) Position 1 (Pos1) when the index from Encoder 2 is received. IX2P2 (Index 2 Pos2) Position 2 (Pos2) when the index from Encoder 2 is received.
Monitor Menu • Monitor Variables 71 RFDR (Feedrate) Current run time feedrate value in percent. When assigned to the Monitor output, +10 volts equals 200% while -10 volts corresponds to 0%. VCMD (Velocity Command) 2 Velocity command as defined by the Velocity Scale parameter. (For example, 10 volts is 3,000 RPM if Velocity Scale = 300.) VEL1 (Motor Velocity) Actual motor velocity. When assigned to the Monitor output, 10 volts is the maximum motor speed as set by the Velocity Scale parameter.
72 Diagnostics Menu • Monitor Variables MENUS Diagnostics Menu The Diagnostics menu contains several submenus for various diagnostic tests. The Diagnostics mode is intended for troubleshooting while the ULTRA Plus or IQ is disabled and no program is running. The Encoder test checks both Encoder 1 and Encoder 2. The DAC1 Output test exercises the Digital to Analog Converter (DAC1) output. The Programmable Monitor Output test exercises the Programmable Monitor Output.
Diagnostics Menu • Encoder 73 To Access Diagnostics Menu Items Disable the ULTRA Plus or IQ. If assigned, turn OFF the Enable input. -orSelect Disable from the Run menu. • Select the Diagnostics menu by clicking on Diagnostics in the menu bar, -orby pressing ALT to activate the menu bar, then D to pull down the Diagnostics menu.
74 Diagnostics Menu • Programmable Monitor Output • To output a fixed voltage, select the Set DAC1 Voltage button, enter the desired voltage (between ±10 volts), and then choose the Start button. • Check the voltage signal on the voltmeter or oscilloscope. • To stop the waveform or the fixed voltage signal, select the Set DAC1 Voltage button and enter a value of 0 volts. To stop the waveform or the fixed voltage signal AND close the dialog box, select the Close button.
Diagnostics Menu • Operator Terminal 75 • To turn on all outputs, choose the All On button. Choose the All Off button to turn all outputs off. • To turn the Drive Ready or Drive Enabled relay on or off, select or clear the check box next to each item. • If there is an option card present with additional outputs, the Next Bank button will be enabled. Choose the Next Bank button to test the additional outputs.
76 Communications Menu • Version MENUS Communications Menu The Communications menu provides all the functions to select an axis on a multi-drop serial link, communicate using Terminal mode, and set the serial communication parameters for the PC. To Access Communications Menu Items • Select the Communications menu by clicking on Communications in the menu bar, -orpress ALT to activate the menu bar, then C to pull down the Communications menu.
Communications Menu • Axis Select 77 Axis Select Select Axis Select from the Communications menu to select a single ULTRA Plus or IQ from a group of ULTRA Plus or IQ units daisy-chained together on a multi-drop RS-422 serial link. To establish communication, enter the address of the desired ULTRA Plus or IQ in the Axis Address box. Address 0 is a global selection address-no response is allowed.
78 Communications Menu • PC Set Up SHIFT+UP ARROW Moves the display up one line. SHIFT+DOWN ARROW Moves the display down one line. SHIFT+LEFT ARROW Moves the display to the left. SHIFT+RIGHT ARROW Moves the display to the right. PAGE UP Moves the display up one page. PAGE DOWN Moves the display down one page. CTRL+HOME Moves to the beginning of the display. CTRL+END Moves to the end of the display.
Communications Menu • PC Set Up 79 Local Echo Local Echo determines whether to echo the character typed at the keyboard to the screen (known as half-duplex or HDX) or only put a character on the screen if it is received through the serial port (known as full-duplex or FDX). The ULTRA Plus or IQ runs in FDX mode. If double characters are seen on the screen when running in Terminal mode, turn off Local Echo.
80 Help Menu • PC Set Up MENUS Help Menu To Access Help Menu Items • Select the Help menu by clicking on Help in the menu bar, -orpress ALT to activate the menu bar, then H to pull down the Help menu. • Select the menu item by clicking on your selection, -orpressing the letter that is underlined in your selection (for example the “C” in Contents), -orusing the arrow keys to highlight your selection and then press ENTER. You may access the Help information at any time by pressing the F1 key.
Help Menu • Contents 81 Contents The Contents section contains help on every menu and menu item, and the IQ Basic programming language. How to Use Help Context Sensitive Help Select Context Sensitive Help from the Help menu, press Shift+F1, or click the (context sensitive help) toolbar button to obtain help on some portion of IQ Master. The mouse pointer will change to an arrow and question mark indicating Context Help mode.
82 Help Menu • About IQ Master MENUS Publication 1398-PM601A-EN-P — October 2000
I/O Part 3 Software and Hardware Integration The interaction of IQ Master and the ULTRA Plus or IQ-Series controller is discussed in this part of the manual. You will learn how to configure your ULTRA Plus or IQ-Series controller for your application using IQ Master.
I/O Publication 1398-PM601A-EN-P — October 2000
I/O Inputs and Outputs How to Turn an Input ON and OFF An input is turned on by pulling the input pin to 24 Volt common. When the input is not pulled to 24 Volt common, it is OFF. Consult the appropriate ULTRA Plus or IQ-Series Installation Manual (1398-5.1, Part Number 0013-1027-004 or Part Number 0013-1022-004) for voltage and current specifications of the inputs.
86 Inputs and Outputs • Assignable Inputs Associated Input Instruction 1. Name Description 1 IF ELSE IF I1 = ON …If input is ON then do something WHILE WHILE I1 = ON…While input is ON do something DO WHILE DO … WHILE I1 = ON Do something while input is ON WAIT WAIT I1 = ON Wait until input is ON Fn = In F1 = I1 Sn: IF S1: IF I1 = ON Scanned Event if input is ON Refer to Part Set Flag equal to input 5 • Language Reference detailed information.
Inputs and Outputs • Assignable Inputs 87 Emergency Return (I10) When Emergency Return Turns ON • If a program is running, it is aborted. Refer to Part 5 • Language Reference, ABORT, for more detailed information on what happens when a program is aborted. • Once all motion has stopped, System program 26 (Emergency Return) is executed. Refer to Appendix A, System Programs, for more detailed information. When Emergency Return Turns OFF This edge is ignored by the ULTRA Plus or IQ.
88 Inputs and Outputs • Assignable Inputs The ULTRA Plus or IQ must be Ready and Enabled for jogging motion to occur. ATTENTION ! This is a level sensitive input. Even if conditions are not satisfied to permit jogging when this input is turned ON, jogging will begin as soon as they are satisfied. For example, if there is a fault and the jog input is turned ON, when the fault is cleared jogging will begin.
Inputs and Outputs • Assignable Inputs 89 When Define Home Turns ON For this input to function the ULTRA Plus or IQ must NOT be running a program (Define Home is ignored while a program is running). When Define Home turns ON the DHCMD flag is turned ON. This internal flag causes the present position to be defined as home (position zero). Refer to Appendix A, System Programs, for more detailed information. When Define Home Turns OFF This edge is ignored by the ULTRA Plus or IQ.
90 Inputs and Outputs • Interrupt Inputs Program Select Lines Program select lines may be used to determine which program to execute when the Start input is turned ON. Up to 6 inputs can be used to select programs. Input I16 is always the most significant bit of the program select lines, input I15 is next significant and so on, down to input I11 if all 6 inputs are used. The inputs are decoded as a binary number.
Inputs and Outputs • General Purpose Outputs 91 Propagation Delay The maximum time delay between the interrupt input turning ON and the position data being captured is 50 microseconds for the software interrupts. The hardware latch captures the position of one encoder in 1.5 microseconds. When an Interrupt Turns ON If the interrupt is enabled, the positions of encoder 1 and encoder 2 are captured and stored in the appropriate system variable. See the table below.
92 Inputs and Outputs • Assignable Outputs Assignable Outputs All dedicated outputs can be disabled and used as general purpose outputs. Outputs are assigned in the Parameter menu, Output dialog box. Refer to Part 2 • IQ Master Environment, Parameter menu, Outputs, for more detailed information. The function of these outputs when they are assigned is described below. AtHome (05) The AtHome output can be enabled to provide an output that indicates when the system is at the home position.
Inputs and Outputs • Enabled Output (P3-2) 93 Enabled Output (P3-2) The Enabled output is a normally open relay that is closed when the ULTRA Plus or IQ is enabled and opened when the ULTRA Plus or IQ is disabled. Relay Common (P3-3) is the other contact of this relay. The Enable relay will open if any fault occurs in the ULTRA Plus or IQ. Ready Output (P3-1) The Ready output is a normally open relay that closes when the ULTRA Plus or IQ is powered up with no faults.
94 Starting a Program • Encoder 2 Starting a Program I/O There are several ways to start a program. They include: Assigned Inputs, the IQ Master Run Control Dialog box, Operator Terminal Fkeys, and Host Language Commands. In all cases the following conditions must be satisfied before a program will start: • The ULTRA Plus or IQ must be enabled. • The ULTRA Plus or IQ must be ready (no faults exist). • The ULTRA Plus or IQ must not be running a main program already.
Starting a Program • Assigned Input 95 Assigned Input If assigned, the START input can be used to start a program. Refer to the START input described earlier in Part 3. IQ Master - Run Control The Run Control dialog box of IQ Master can be used to select and run a program. Refer to Part 2 • IQ Master Environment, Run menu, Run Control, for more detailed information. Function Key Program I/O If you have an Operator Terminal, the default System Program 5 can be used to start your programs.
96 Stopping or Suspending a Program • Assigned Inputs Stopping or Suspending a Program I/O ATTENTION It is the responsibility of the user to ensure that the application process stops in a safe manner when the application program stops. Failure to observe this precaution could result in severe bodily injury. ! Assigned Inputs The following inputs may be used to stop or suspend a program from executing if assigned. Each input has various additional effects.
Stopping or Suspending a Program • Host Language Commands (Serial) 97 Host Language Commands (Serial) The following Host Language Command may be used to stop or suspend a program from executing. Each command has various additional effects. Refer to Part 6 • Host Language Commands, for more detailed information. Name Description X X-Kill motion. DISABLE Disable the ULTRA Plus or IQ. RESET Soft Reset the ULTRA Plus or IQ. HRESET Hardware Reset - Simulate turning the power OFF and ON.
98 Faults • When a Fault Occurs Faults I/O When a Fault Occurs When a fault condition has been detected by the ULTRA Plus or IQ the following events occur: • If a program is executing, it is stopped. Refer to Part 5 • Language Reference, STOP for more detailed information. • If a program is running and the Program Running output is assigned, the Program Running output will turn OFF. • If the ULTRA Plus or IQ is enabled, it is disabled.
Faults • Clearing Faults 99 Clearing Faults Clearing a fault will not fix the cause of the fault. The source of the fault should be investigated and fixed before returning the system to operation. The following procedures describe various methods for clearing faults and enabling the ULTRA Plus or IQ. When a fault is cleared using one of these procedures, the following events will occur: • The Ready relay will close. • If assigned, the Error output will turn OFF.
100 Faults • Clearing Faults JOGF / JOGR Send a JOGR command to serial port 2 to jog off a forward travel limit. Send a JOGF command to serial port 2, to jog off a reverse travel limit switch. These commands will jog the motor in the opposite direction of the limit switch. When the jog is stopped, if the system is off the travel limit switch, the ULTRA Plus or IQ will remain enabled and ready. Refer to Part 6 • Host Language Commands for more detailed information.
Operator Terminal • Installation 101 I/O Operator Terminal Installation Installation instructions for the Operator Terminal are in the appropriate ULTRA Plus or IQ-Series Installation Manual (1398-5.1, Part Number 0013-1027-004 or Part Number 0013-1022-004). Displaying & Reading Data The following instructions can be used to print text and data and read data from the Operator Terminal. Refer to Part 5 • Language Reference, for more detailed information.
102 Operator Terminal • Xkeys Xkeys There are four Xkeys on the operator terminal. These keys are used to activate Xkey routines that are written within an application program. The application program has control over when the Xkeys are active using the Xn function. If an Xkey is pressed while it is active, the Xkey routine will begin executing in parallel with the main program. Xkey routines are frequently used to enter data into the program.
Operator Terminal • Status Key 1. Commanded Position Status PGEN, PJOG, PEXT Peak Status PFE, PVEL1, PICMD 103 Refer to Part 5 • Language Reference for detailed information. I/O All position values displayed on the operator terminal status screens are in user units, velocity values are in user units per timebase, and torque variables are in amperes.
104 I/O Expansion • Using the Additional I/O I/O Expansion I/O Additional I/O may be added with either an I/O Expansion Card or a Memory and I/O Expansion Card. These boards add the following input and output capabilities to the ULTRA Plus or IQ. • 32 TTL Inputs • 16 TTL Outputs • 4 twelve bit Analog inputs (only with the Memory and I/O Expansion Card) For detailed specifications and installation instructions refer to the appropriate ULTRA Plus or IQSeries Installation Manual (1398-5.
Expansion Memory • Using Expansion Memory 105 I/O Expansion Memory Additional program memory may be added with the addition of an Memory and I/O Expansion Card. This board adds 32 Kbytes of addition nonvolatile program memory to the base ULTRA Plus or IQ for the storage of up to 32 additional programs. For detail specifications and installation instructions refer to the appropriate ULTRA Plus or IQ-Series Installation Manual (1398-5.1, Part Number 0013-1027-004 or Part Number 0013-1022-004).
106 Expansion Memory • Using Expansion Memory I/O Publication 1398-PM601A-EN-P — October 2000
Programming This part starts out with a tutorial on programming the ULTRA Plus or IQ which is designed to get you up and running quickly. From there it moves into a detailed discussion of programming. The chapters in this part are broken down into the major components of your program, for example: motion, math, etc.
TUITORIAL Publication 1398-PM601A-EN-P — October 2000
This tutorial demonstrates the operation of the ULTRA Plus or IQ system and introduces the basic system commands. It illustrates how to write a program quickly and spin a motor. The step by step section demonstrates how to create and run programs on the ULTRA Plus or IQ. The tutorial introduces all the main concepts and provides a frame of reference for the remainder of Part 4.
110 A Tutorial Introduction • Hardware Configuration Considerations log boxes there are groups of items with an underlined letter in the group name (for example the System Values group in the Parameters System dialog box). The cursor can be moved quickly to this group by pressing ALT+x where x is the underlined letter for that group. From there, the TAB and arrow keys can be used as before.
A Tutorial Introduction • Hardware Configuration Considerations 111 The Timebase parameter specifies the time used for Velocity (minutes or seconds). Select the Minutes radio button. Since the units have already been set up to be revolutions (using the Scale parameter), with a Timebase of minutes, velocities will be in units of revolutions per minute or RPM. If the motor does not have holding torque (it turns freely) the ULTRA Plus or IQ is probably not enabled.
112 A Tutorial Introduction • Motion TUITORIAL Set the Application Type, Direction, and Response as shown. Select the Start button to start the Auto Tune procedure. This will cause the motor to vibrate for a few seconds. During this time, the ULTRA Plus or IQ is measuring the load inertia and, based on this measurement, is selecting appropriate gain settings. Select the OK button to accept the gain settings and close the dialog box. The motor should now be ready to move.
A Tutorial Introduction • Motion 113 executed, home position must be defined. Home position can be defined in a number of ways: an input can set the current position to the home position; a Home Program can be run to find a set home position (see Appendix A); or a command can be issued to define the current position. We will now use the Define Home command to define the home position. Select the Define Home/Position menu item from the Run menu. This will display the following dialog box.
114 A Tutorial Introduction • Programming Basics Programming Basics Until now all moves have been done in what is called immediate mode: the ULTRA Plus or IQ is told to move and it moves. It is usually more useful to have all the moves a machine will do, along with I/O statements, etc., in a program. We will now explore how programs are written and used. Select New from the File menu.
A Tutorial Introduction • Programming Basics 115 At the bottom of your screen there will be a window showing the Compiler errors and warnings that have been generated. In this case, there is a Syntax Error in line 5. If the cursor is in the Edit window (the one that says *FILE1 at the top) the bottom right-hand corner shows what line the cursor is on. Move the cursor to line 5 (the line with the Syntax Error) by using the arrow keys or the mouse.
116 A Tutorial Introduction • Programming Basics If a program has already been stored in the ULTRA Plus or IQ as program #0, the title (if it exists) and the source and executable size will be displayed. Click the Program Number box or press ALT+N to select the program number you wish to save to. Click on the down-arrow just to the left of the Directory box to scroll through the existing programs.
• Inputs and Outputs 117 Inputs and Outputs Dedicated Inputs Setup TUTORIAL The ULTRA Plus or IQ has 16 digital inputs and 8 digital outputs. Some of these inputs and outputs have dedicated functions associated with them. For example, if the Forward Limit feature is used, the Forward Limit Switch must be connected to input I1. The input functions are enabled or disabled using the Inputs dialog box from the Parameters menu: Display this dialog box and set the inputs as shown and select the OK button.
118 • Inputs and Outputs pin 1. After I16 turns on, the motor will move ten revolutions. When the move is done, the ULTRA Plus or IQ will wait until I16 is off and then move ten revolutions backward. Set Outputs Some of the eight digital outputs available on the ULTRA Plus or IQ also have selectable dedicated functions. These are selected with the Outputs dialog box from the Parameters menu. Display this dialog box, set the outputs as shown, and select the OK button to accept these assignments.
• Inputs and Outputs 119 Monitor I/O Status TUTORIAL Display the I/O Status Monitor by selecting the Inputs/Outputs menu item from the Monitor menu. Display the Run Control dialog box and arrange these two dialogs so you can see both of them on your screen. To move a dialog, click in the title bar, hold down the mouse button and drag the window to where you want it. To use the keyboard, press ALT+F6 to select which window you wish to move, press ALT+Space and select Move.
120 • Inputs and Outputs Scanned Event to Implement a Programmable Limit Switch Next we will use Scanned Events to implement a programmable limit switch. A programmable limit switch is a mechanism that can be programmed to turn on at a specific position. A Scanned Event is a small program that runs independently of the main program.
• Local/Run-time Values 121 Run the program you just entered. Notice that whenever the position (POSN) is between three and six, O1 is ON, otherwise it is OFF. Local/Run-time Values The VEL=150 statement in the previous program overrides the system default for velocity until it is set again in the program or the program ends. While this value is in effect, it will be the default velocity used by move commands that use the default velocity.
122 • Variables Variables Programming the limits for the Programmable Limit Switch and compiling probably is not the most convenient way to “program” the limit switch. The ULTRA Plus or IQ has many variables that may be used in programs: G1..G64, V1..V64 number variables and F1..F64 and B1..B8 flag variables. The G and B variables retain their values even after power is removed from the ULTRA Plus or IQ. We will now use two variables to “program” the limits in the Programmable Limit Switch.
• Stick Moves 123 IF POSN > Maxdist INBAND = OFF ELSE INBAND = ON } S1 CONT MOVP = 0,V = 300 VEL = 150 MAIN: MOVD = 10 MOVD = -9.1 IF POSN < 7 JUMP MAIN END The first line of the Scanned Event is a condition that will always be true: IF F1=F1. This means the Scanned Event action will always be executed. The action, in this case, is actually a block of code. A block of code is signified by placing curly braces, {}, around the code and can be used anywhere a single statement can be used.
124 • S-Curve Acceleration can be programmed using DV moves. From the following table, write a program to execute the move profile shown, and run it. Stick Number Distance moved during stick Velocity at end of stick 1 3 56 2 3 12 3 4 16 4 2 57 5 2.5 61 6 3 11 7 5 20 8 8 0 The program for this profile should look something like this: TUTORIAL TITLE "stkmoves" D = 3,V = 56 D = 3,V = 12 D = 4,V = 16 D = 2,V = 57 D = 2.
• Subroutines and Loops 125 time regardless of which type of acceleration is used. To use S-Curve acceleration in a D-V stick requires only the addition of an “,S” at the end of the statement. So the first stick in the previous example would be written D=3,V=56,S. Modify the previous motion profile to use S-Curve acceleration.
126 • Subroutines and Loops ;This subroutine uses dist, V2 and V3 V2 = 500*VEL/TBase;calc.
User Variables and Arithmetic • User Variables 127 User Variables IQ Basic supports a fixed set of variables that the programmer can use to store data and perform arithmetic. There are four types of user variables: G, V, B, and F. There are 64 nonvolatile G variables, 64 volatile V variables, 64 volatile F flag variables and 8 nonvolatile B flag variables. In addition to the user variables, system variables are also supported. System variables are dedicated variables that contain particular values.
128 User Variables and Arithmetic • User Variables setup data (all the variables that are used to make a particular part) could be nonvolatile variables. Volatile variables are variables that are reset to a known state each time power is applied to the ULTRA Plus or IQ or at each Hard Reset. V and F variables are volatile. Volatile variables are useful if you want to know that power has been removed and to force the operator to do some initialization.
User Variables and Arithmetic • Arithmetic 129 Arithmetic Four function arithmetic, addition (+), subtraction (-), multiplication (*), and division (/) is supported by IQ Basic.
130 User Variables and Arithmetic • Boolean Operators NAND F3 = F1 NAND F2;F3 is OFF if F1 and F2 are ON; otherwise, F3 is ON F1 OFF OFF ON ON F2 OFF ON OFF ON F1 NAND F2 ON ON ON OFF OR F3 = F1 OR F2;F3 is ON if either F1 or F2 are ON; otherwise F3 is OFF F1 OFF OFF ON ON F2 OFF ON OFF ON F1 OR F2 OFF ON ON ON NOR F3 = F1 NOR F2;F3 is OFF if either F1 or F2 are ON; otherwise F3 is ON F1 OFF OFF ON ON F2 OFF ON OFF ON F1 NOR F2 ON OFF OFF OFF TUTORIAL XOR F3 = F1 XOR F2;F3 is ON if F1 and F2 are
User Variables and Arithmetic • Conversions 131 Conversions Position can be represented in encoder counts or as user units using a scale factor. Encoder counts are the number of encoder counts observed as the motor moves. The IQ counts each edge of an encoder pulse, therefore, the number of encoder lines is multiplied by 4 for one revolution. For a 2,000 line encoder, there are 8,000 encoder counts per motor revolution.
132 User Variables and Arithmetic • Conversions encoder positions to a value, for example, WAIT POS1 > V4. The comparison statement WAIT POS1 > V4 will not properly account for rollover. It should be written so that a direct 32 bit math function is performed on values in encoder counts before the comparison is done.
User Variables and Arithmetic • Summary of User Variables and Arithmetic 133 Summary of User Variables and Arithmetic The following table contains a summary of the instructions, flags, and variables that relate to user variables and arithmetic. Refer to Part 5 • Language Reference for more detailed information.
134 System Variables & Flags • Introduction System Variables & Flags TUTORIAL Introduction What is a System Flag? Flags that have a predefined function are referred to as system flags. These flags represent conditions in the ULTRA Plus or IQ. The flags can be tested and some can be set in your program. For example, the ATHOME flag can be tested to see if the motor is at the home position. What is a System Variable? System variables are variables that have a predefined meaning.
System Variables & Flags • Variable and Flag Summary 135 Variable and Flag Summary Below is a table that summarizes the system variables and flags, sorted by type. The Flag/Variable column categorizes each as a flag or a variable. The Read/Write column indicates which can be written (W) and which can be read (R). If the variable or flag is stored in the personality module it is marked with a “Y” in the personality column.
136 System Variables & Flags • Variable and Flag Summary Type Gain Name Description Flag/ Variable Read/ Write Personality Module PGAIN Proportional gain for the velocity loop V R/W Y PZONE Region where KPZ is used instead of KP V R/W Y ATHOME At home used in Absolute mode only F R N HOFFS Home offset V R/W Y HOMECMD Runs Home program when set F R/W N HSEQCPL Home sequence complete F R N HSWEN Set if Home Switch input enabled F R Y HSWSTAT Current status of Home S
System Variables & Flags • Variable and Flag Summary Interrupt Name Operator Terminal Position System Flag/ Variable Read/ Write Personality Module IX2P2 Position 2 latched by Encoder 2 index interrupt V R N LPOS Hardware latched position in user units V R N GEAR Gearing ratio V R/W N GEAREN Enables gearing F R/W N SLEW Limit for output of gear V R/W Y FNACTIVE Fkey active flag, indicates that an Fkey is pressed F R N XNACTIVE Xkey active flag, indicates that an Xkey
138 System Variables & Flags • Variable and Flag Summary Type System (cont.
System Variables & Flags • Variable and Flag Summary System (cont.
140 System Variables & Flags • Variable and Flag Summary TUTORIAL Publication 1398-PM601A-EN-P — October 2000
IQ Programming Structure One of the most important aspects of programming is developing a structure for the program. Before you begin to write a program you should develop a plan for that program.
142 IQ Programming Structure • Program Structure Instructions X1:;Xkey programs ... statements;Any IQ Basic instructions XEND Main Body ... statements;Any IQ Basic instructions ;End of main body of program Subroutines SUB SUB1 ... statements;Any IQ Basic instructions RET End of program END The Title section of the program consists of a single TITLE instruction, which designates a name up to 8 characters long. The program title is displayed in the directory.
IQ Programming Structure • Program Structure Instructions 143 } WHILE condition Refer to Part 5 • Language Reference for more detailed information. The following flowchart and code segment illustrate the use of the DO/WHILE instruction. Start … statements DO Move Distance 3 inches Output 1 ON Delay 2 seconds { MOVD = 3 O1 = ON DELAY = 2 } WHILE (I2 = ON) Is Input 2 ON … statements Yes No End WHILE Structure This instruction is used if you want a block of code to execute while a condition is true.
144 IQ Programming Structure • Program Structure Instructions When a CALL statement is executed, execution is transferred to the first line of the subroutine. The subroutine is executed until a RETURN statement is executed. When the RETURN is executed, program execution returns to the program line in the main program following the CALL. Subroutines may contain more that one RETURN statement. Subroutines may not be nested. Only the main body of the program may contain a CALL to a subroutine.
IQ Programming Structure • Program Structure Instructions 145 IF/ELSE Structure The IF/ELSE statement is used to execute an instruction or a block of instructions one time if a condition is true and a different instruction or block of instructions if the condition is false. The simplified syntax for the IF/ELSE instruction is: IF condition { … conditional statements } ELSE { … conditional statements } Refer to Part 5 • Language Reference for more detailed information.
146 IQ Programming Structure • Program Structure Instructions The following flowchart and code segment illustrate the use of the ON instruction. … statements Start BCD V1 = I12, 2 ON V1 JUMP MOVE0, MOVE1, MOVE2, MOVE3 BAD_V1:;number < 0 or > 3 PRINT 1,1 “Not a valid Num.
IQ Programming Structure • Scanned Event (Sn) Instructions Name 147 Description ON variable label1, label2,… Multi-dimensional branch RETURN Return from a subroutine SUB Define a subroutine WAIT Wait till a condition is true WHILE Execute while a condition is true Scanned Event (Sn) Instructions Scanned event instructions establish conditions that are scanned on a regular basis. Once established, the scanned event can be enable and disable in the main body of the application program.
148 IQ Programming Structure • Xkey (Xn) Functions Sn:TMRm condition action A timer (specified by TMRm where m is 1 or 2) may be set to start based on a specified condition and run for the time loaded during program execution. Once the programmed time has elapsed, the specified action is executed.
IQ Programming Structure • Xkey (Xn) Functions 149 programs and may be active even when no program is running. The program statements in an Xkey routine can be any legal program statement except motion statements or subroutine calls. Motion statements include MOVD, MOVP, DV, DIF, DELAY, and DWELL. JUMP commands in an Xkey routine must be to a label contained in that Xkey routine; jumps outside the Xkey routine are not allowed. PRINT and READ commands for the Operator Terminal are allowed.
150 IQ Programming Structure • Fkey (Fn) Functions Name XNPGM Description Simulates the pressing of an Xkey Fkey (Fn) Functions Function key programs are programs that are written and assigned to run whenever an associated Fkey is pressed on the operator terminal. The ULTRA Plus or IQ system directory programs 1 through 24 are designated for the storage of function key programs. Function key programs may be assigned to the operator terminal keys in the Parameter menu Fkey Set Up dialog box.
IQ Programming Structure • Interrupts 151 gram is executing. Fkey programs are defined separately and can execute without application programs running. Fkey Instruction Summary The following table contains a summary of instructions that relate to Fkeys. Refer to Part 5 • Language Reference for more detailed information.
152 IQ Programming Structure • Interrupts this section. Refer to Part 5 • Language Reference detailed information.
IQ Programming Structure • Miscellaneous Structure Instruction 153 Miscellaneous Structure Instruction As you write any program, one of your goals should be to make the program easily understood by others that may be required to read or maintain the program in the future. The following are guidelines that will make your programs easier to develop and maintain: • Use a lot of comments. There is no such thing as having too many comments in a program.
154 Motion • Introduction Motion TUTORIAL Introduction Position commands that cause motion can be generated from several sources with the ULTRA Plus or IQ. The figure below illustrates the generation of the position command that is sent to the position regulator. Each of four sources is independent and may run simultaneously. The resulting composite position command is the sum of the position commands from the four different sources.
155 Motion • Incremental (MOVD) and Absolute (MOVP) Motion struct complex profiles. MOVD and MOVP commands can be in the application program or can be a Host Language command. DV and DIF commands can only be used in the main body of the application program. PJOG is the position command generated by jogging motion. Jogging motion ramps up to a specified velocity and then continues to run at that velocity until a new velocity is specified.
156 Motion • Stick Moves Incremental (MOVD) Motion Incremental motion is defined as a move of some distance from the current position. Move four revolutions from the current position is an example of an incremental move (MOVD=4). MOVD is the instruction in IQ Basic to create incremental moves. The simplified syntax for this instruction is: MOVD = distance This instruction causes the motor to move distance from the current position.
Motion • Stick Moves 157 Velocity Position=1 Position=5 Position=7 D=2,V=0 D=4,V=3 D=1,V=2 Time This represents a three segment (stick) move. The first segment has a starting velocity of 0 and final velocity of 2. This velocity is reached by the time the motor travels 1 unit of distance. The second stick starts at a velocity of 2 and accelerates to a velocity of 3 while traveling a distance of 4. The final stick starts at a velocity of 3 and decelerates to a stop while traveling a distance of 2.
158 Motion • Gearing Velocity Input 1 ON 20 Conditional end of Move Normal end of Move Time D = 1, V = 20 DIF = 4, I1 = ON, JUMP STOPNOW STOPNOW: D = 1, V = 0 ;Accel to 20 in a distance of 1 ;If input 1 comes on stop now else ;Stop after a distance of 4 ;Decel to a stop in a distance of 1 S-Curve Acceleration Instead of using linear acceleration, motion created using stick moves (DV commands) can use S-Curve acceleration.
Motion • Step and Direction 159 no slew limit, the motor would attempt to accelerate up to the speed of the encoder instantaneously. With a proper slew limit set, the motor will make a smooth acceleration up to the speed of the encoder. Default values for SLEW and SLEWEN may be set in the Parameter menu, Velocity/Acceleration dialog box and changed at runtime.
160 Motion • Feedrate plished by executing a MOVD. The MOVD command will cause the motor to move by the specified distance relative to the encoder while following the encoder. Feedrate Feedrate (FDR) scales the timebase for motion. With the feedrate set at 100%, all velocities and DWELLs are at the programmed rates. Feedrate can be set to less than 100% to slow down a process, or above 100% to speed it up.
Motion • Motion Instruction Summary Name 161 Description Move an incremental distance MOVP = pos[, vel] Move to an absolute position MOVV = vel Move at a velocity ROTT =- ON/OFF Sets direction of the Tracking function SLEW = value Establish the maximum acceleration for the gear SLEWEN = ON/OFF Slew enable/disable TRACKINGEXTPOSSELECT = ON/OFF Sets whether the Tracking function is applied before or after the Gear and Slew functions TRACKINGMODE = mode Sets the mode of the Tracking function
162 Closed Loop Control • Introduction Closed Loop Control TUTORIAL Introduction Closed loop control systems operate by using feedback to measure the actual output of the system being controlled and comparing the measured output to the desired or commanded output. The comparison of actual to commanded output yields the error of the system, and the closed loop regulator acts on this error to cause the controlled variable to follow the command.
Closed Loop Control • Introduction 163 • Switches represent choices that are made in the configuration menus. • Circles are summing junctions that indicate that the signals flowing in to the circle are summed and the signal flowing out is the result of the summation. • The symbol “S” in a block indicates a Laplace transform. S is a derivative and 1/S is an integral.
164 Closed Loop Control • Closed Loop Position Control Closed Loop Position Control Position control applications generally fall into two broad categories: contouring and point-to-point positioning. Contouring applications require that the actual position follows the commanded position in a very predictable manner and that the system has high stiffness to reject external torque disturbances.
Closed Loop Control • Closed Loop Velocity Control 165 Closed Loop Velocity Control TUTORIAL The most common velocity controller structure is a Proportional plus Integral (PI) loop. The choice of the proportional (PGAIN) and integral (IGAIN) gains for the desired response is made based on the application requirements. Proportional gain is always used, and higher PGAIN values result in higher velocity loop bandwidths.
166 Inputs / Outputs • Introduction Inputs / Outputs TUTORIAL Introduction Inputs and outputs can be read and set as individuals or in groups. Groups of inputs can be read in a binary (BIN) format or binary coded decimal (BCD) format. Outputs can be set in BIN or BCD format or set all at one time. I/O Instruction Summary The following is a summary of the commands that can be used set outputs and read inputs. Refer to Part 5 • Language Reference for more detailed information.
Operator Terminal • Introduction 167 Introduction An optional Operator Terminal can be used to print messages and values for an operator, and input data from an operator. (see Fkeys and Xkeys above). Operator Terminal Instruction Summary The following is a summary of the commands that are used with the operator terminal. Refer to Part 5 • Language Reference for more detailed information.
168 Miscellaneous • Introduction Miscellaneous TUTORIAL Introduction Included in this section are the miscellaneous commands that do not fit into any of the other sections. CONFIG Statement Up to four configurations can be defined for a ULTRA Plus or IQ. The configuration determines which encoder is used for the position loop feedback, and whether the encoder 2 connector will bring encoder signals into the controller or source encoder signals out to an external device.
Miscellaneous • Miscellaneous Instruction Summary DH DP = 200 DP = 0 DP1 = 100 169 ;define current commanded position as zero ;define the current commanded position as 200 ;this is equivalent to a DH ;define the encoder 1 position (POS1) as 100 These commands change the commanded position. The feedback position is also changed in such a way as to maintain the same following error that was present before the instruction was executed.
170 Miscellaneous • Miscellaneous Instruction Summary TUTORIAL Publication 1398-PM601A-EN-P — October 2000
Part 5 WORDS Language Reference The Language Reference part contains a detailed description of each function, system variable and system flag. The items are arranged in alphabetical order.
WORDS Publication 1398-PM601A-EN-P — October 2000
a Reserved Words ABORT ACTIVEXN ADC4 ASSIGN BCD CF COMPILETOMEMORY CTOU2 DELAY DIF DISLIM DPM EFLAG ENABLE EPOS (ERETPOS) ERRPGM FDR FGAIN FIDX2 FNPGM FVEL1 GPOS HRESET HVEL I2P1 ICMD IGAIN INPOSN IX1P1 IZ JMP JVEL KPZ LPOS ABSMODE ADC1 ADC5 ATHOME BIN CLEAR CONFIG D DH DIS DISMTN DWELL EFM ENCMD ERET EXPANDMACROS FE FI1 FILTER FNVAR1 G1...G64 HLIMITS HSEQCPL I1...
174 Reserved Words • MOVD MV (MOVV) NOT OR PCAM PEXTACTIVE PGMNUM PJOG POSN PURGEMOTION PZONE RET ROT2 SCALE SINT2 SSHIFTS SUB TBASE TMR1 UTOC2 VEL WFLAG WNUM XNACTIVE WORDS Publication 1398-PM601A-EN-P — October 2000 MOVP MVOEN O1...O24 OTMON PCAMACTIVE PFE PGMRUNNING POS1 PRINT PURGEMOTIONACTIVE QUEUECAM RETURN RPT SCALE2 SLEW SSHIFTS2 SYSERROR TIMER1 TMR2 V VEL1 WHILE X1...
Language Reference • Format 175 Language Reference Format Each function, system variable, and system flag is documented using the format shown below. If there is no information in one of the fields the label is still shown. KEYWORD Long Name Type Syntax WORDS Purpose KEYWORD = value Variable = KEYWORD arguments Remarks See Also Example KEYWORD: The keyword is the name of the function, system variable, or system flag as it would appear in a program or host command.
176 Language Reference • Format flag may be read, written, or both. Optional arguments will be contained with square bracket []. Arguments will be written in italics. Arguments: The data that is supplied with a function that modifies the behavior of the function. For example, MOVD = 100. MOVD is the function and 100 is the argument. Remarks: The remark field contains additional information about the usage of the function, system variable, or system flag.
Language Reference • Reference 177 Reference @ Read Position in Counts Conversion Purpose The @ command will cause a position variable to be read in units of counts instead of user units. Syntax variable = @Posn_Variable Variable Variable can be a nonvolatile variable Gn, a volatile variable Vn, or another system variable. Posn_Variable Any position Variable: POS1, POS2, LPOS, POSN, FE, PCMD, PEXT, PFE, PGEN, PJOG, InPm, IXnPm and GPOS.
178 Language Reference • Reference ABSMODE Absolute Mode Purpose If the flag is ON the controller is in Absolute mode. Syntax variable = ABSMODE variable Remarks System The variable may be a nonvolatile flag Bn, a volatile flag Fn, or another system flag. If Absolute mode is ON, the following features will be enabled: Software Travel Limits, the At Home Flag, the At Home Output, and the Emergency Return function. These features will not operate until a home position has been defined.
Language Reference • Reference Scanned Event(s) Active System Purpose Variable to indicate the number of the scanned event that is active. Syntax variable = ACTIVESN variable The variable will be set to a value from 0 to 8. Variable = 0 indicates no scanned events are executing. Remarks This is a read-only variable. See Also Sn Example V1 = ACTIVESN ACTIVEXN Xkey Routine(s) Active System Purpose Variable to indicate the number of the Xkey routine that is active.
180 Language Reference • Reference ALL All Outputs Outputs Purpose Turn all outputs ON or OFF. Assigned outputs such as Program Running, Error, At Home, Home Sequence Complete, or In-Position are not affected unless disabled from the Parameters menu, Outputs dialog box. Syntax ALL ON/OFF ON Turn all outputs ON. Outputs are current sinking type. ON turns on the transistor and pulls the output to 24V common. OFF Turn all outputs OFF. Outputs are current sinking type.
Language Reference • Reference ASSIGN Assign 181 Program Structure Purpose Assign a name to a text string. The name can be used to represent an actual parameter on a machine such as COUNT, LENGTH, etc., making the application program easier to write and read. Syntax ASSIGN name text Remarks name The name may be up to 32 alphanumeric characters long and must begin with an alphabetical character. Name can NOT be a keyword or reserved word.
182 Language Reference • Reference ATHOME At Home Flag Home Purpose When the flag is ON it indicates that the motor is within the In-Position window of the zero position. ATHOME is used in Absolute mode only. Syntax variable = ATHOME variable Remarks The variable may be a nonvolatile flag Bn, a volatile flag Fn, or another system flag. WINDOW, INPOSN See Also Example IF ATHOME = ON O2 = ON F1 = ATHOME Bn Nonvolatile User Flag Purpose Set a user flag ON or OFF with another flag or constant.
Language Reference • Reference BCD Om, n BIN Om, n Output, Binary Coded Decimal Output, Binary 183 Outputs Purpose Set a group of outputs, in either binary (BIN) or binary coded decimal (BCD) format, to the value of a variable. Syntax BCD Om, n = value BIN Om, n = value Remarks m The output specified by m is set to the least significant bit of variable. n n is the number of outputs included in the group.
184 Language Reference • Reference CALL Call Subroutine Program Structure Purpose Call a subroutine to be executed. After the subroutine is completed, execution returns to the statement following the CALL statement. Syntax CALL subroutine subroutine The name of the subroutine. Subroutine names can be up to 32 alphanumeric characters long. Names cannot be keywords or reserved words. They must begin with a letter and contain only alphanumeric characters and underscores ( _ ).
Language Reference • Reference Clear Peaks System Purpose Clears peak current command (PICMD), motor velocity (PVEL1), and following error (PFE) when set to ON. Syntax CLRPEAKS = ON Remarks This flag is automatically set to OFF when the variables have been cleared. See Also PVEL1, PFE, PICMD Example CLRPEAKS = ON COMMENTS Comments Program Structure Purpose Comments can be placed anywhere in a program. A comment must be preceded by a semicolon (;).
186 Language Reference • Reference Example ;Any remark can follow a semicolon ;This is an example of a header that might be used. ;=========================================================== ; ;Source File Name: xxxxxxxx.
Language Reference • Reference COMPILETOMEMORY Compile to Memory 187 Compiler Options Purpose Selects whether the program executable should be saved in PC memory or to a disk file. Syntax COMPILETOMEMORY = ON/OFF ON The program executable information will be stored in PC memory. OFF The program executable information will be stored in a disk file.
188 Language Reference • Reference CTOU1 Convert counts to user units Purpose Convert a variable from encoder counts to user units using SCALE. Syntax variable_1 = CTOU1 variable_2 Conversion variable_1 Variable_1 can be a nonvolatile variable Gn, a volatile variable Vn, or another system variable. variable_2 Variable_2 can be a nonvolatile variable Gn, a volatile variable Vn, or another system variable, or a constant.
Language Reference • Reference D, V D, V Segments (Sticks) 189 Motion Purpose The Distance, Velocity (D, V) statement defines one move segment, or stick, of a complex motion profile. Syntax D = distance, V = velocity[, S] The incremental distance in user units to be moved, which may be a constant or a variable. Positive or negative distances may be used to determine the direction of the move. All the distances of a profile composed of sticks must be the same sign.
190 Language Reference • Reference Remarks The acceleration or deceleration for the move is calculated based on the specified distance, starting velocity, and final velocity. The final velocity of one segment become the starting velocity of the next segment There is no limit to the number of stick moves in a profile, other than available memory, but the final move in the profile should return the velocity to 0.
Language Reference • Reference DACn Digital to Analog Converter 191 Outputs Purpose Write a value to the analog output. The value may be a variable or a constant between ±10, with up to 2 decimal places. Syntax DACn = value Remarks value The value in volts for the DACn output. Value can be a constant, a nonvolatile variable Gn, a volatile variable Vn, or a system variable. n The number of the DAC output. Currently n = 1 is the only valid number. DAC1 is a 12 bit DAC.
192 Language Reference • Reference DELAY Time Delay Purpose Delay for the specified time. Time is entered in seconds. Syntax DELAY = time time Remarks Motion The time is specified in seconds and has a maximum value of 65,535 seconds. The time can be a constant, a nonvolatile variable Gn, a volatile variable Vn, or a system variable. The resolution of time is equal to the position loop update time (2mS).
Language Reference • Reference DHCMD Define Home Command 193 Home Purpose When this write only flag is set to ON, the present commanded position will be set to zero. This flag is used in function key programs to define a home position (DH is not permitted in function key programs). Syntax DHCMD = value value The value may be a nonvolatile flag Bn, a volatile flag Fn, ON, OFF, or another system flag.
194 Language Reference • Reference action The action to be taken if the condition is TRUE. The only action that is valid for the DIF instruction is JUMP. CAUTION: If a DV or DIF instruction is not executed quickly the motor will attempt to come to an instantaneous stop. You should avoid PRINT, READ, and CLEAR statements and only attempt to do one or two instructions before executing the next DIF or DV.
Language Reference • Reference DISABLE Disable Amplifier 195 Miscellaneous Purpose DISABLE the ULTRA Plus or IQ. Once the ULTRA Plus or IQ has been disabled with the DISABLE statement in a program, an ENABLE statement must be used to reenable the ULTRA Plus or IQ. If a motion statement is executed after the DISABLE statement, the ULTRA Plus or IQ will be “hung” trying to execute the motion profile the motion statement cannot be executed if the ULTRA Plus or IQ is disabled.
196 Language Reference • Reference DISLIM Travel Limits Disable System Purpose Disables the hardware travel limits when set to ON. Enables the inputs when OFF. Syntax DISLIM = value variable = DISLIM Remarks value The value can be ON, OFF, a nonvolatile flag Bn, a volatile flag Fn, or another system flag. variable The variable may be a nonvolatile flag Bn, a volatile flag Fn, or another system flag. Regardless of the state of this flag, the limit switches, inputs 1 and 2, may be read.
Language Reference • Reference condition 197 The condition to be tested. The condition may be a comparison, an input being ON or OFF, or a program flag being ON or OFF Comparisons compare the values of two operands and determine if the condition is TRUE or FALSE. A comparison may be greater than (>), less than (<), equal to ( = ), not equal to (<>), less than or equal to (< = ), or greater than or equal to (> = ).
198 Language Reference • Reference DPn Define Position Number Home Purpose Redefine an encoder position as a new position. The present encoder position will become the specified position, the encoder position that is not the feedback encoder is unaffected, the Home Sequence Complete output (if assigned) and the HSEQCPL system flag will be turned ON. Syntax DPn = value Remarks n The number of the encoder: n = 1 or 2 value Position in user units.
Language Reference • Reference DWELL Dwell for time Purpose Dwell (wait) for the specified time. Syntax DWELL = time time Remarks 199 Motion The time is in seconds and can be a constant, a nonvolatile variable Gn, a volatile variable Vn, or a system variable. Dwell times ARE affected by the Feedrate. For example, if a DWELL = 1 statement is used in a program, the dwell time will be for 1 second as long as the Feedrate is 100%. If the feedrate is changed to 200%, the dwell time will take 0.
200 Language Reference • Reference ENABLE Enable Amplifier Miscellaneous Purpose Enable the ULTRA Plus or IQ. The ENABLE statement is used to enable the ULTRA Plus or IQ after a DISABLE statement has been used in a program. Syntax ENABLE ENA Remarks The following action will take place when a ENABLE is executed. The ENABLE may come from an instruction in a program, a Host Language Command, the ENABLE Input or the Run Control dialog box.
Language Reference • Reference ENUM Error Number Purpose Currently active error number. Syntax variable = ENUM variable Remarks 201 System Variable can be a nonvolatile variable Gn, a volatile variable Vn, or another system variable. ENUM contains a value only while an error is active. Once the error is cleared ENUM is set to zero. Refer to the appendix “Error Messages” on page 418 for a list of errors.
202 Language Reference • Reference ERETPOS Emergency Return Position Position Purpose Set the ERETURN position. ERETURN position specifies the position the system moves to when the Emergency Return input is activated (if assigned). Syntax ERETPOS = position variable = ERETPOS EPOS = position variable = EPOS position The position is entered in user units. User units are defined by the SCALE parameter. Value can be a constant, a nonvolatile variable Gn, a volatile variable Vn, or a system variable.
Language Reference • Reference Fn Volatile User Flag Variable Purpose Set a user flag ON or OFF with another flag, or a constant. Syntax Fn = ON/OFF/Fn/Bm variable = Fn Remarks 203 n, m The number of the flag. n = 1, 2, 3, ..., 64. m = 1, 2, 3, …, 8 variable Variable may be a nonvolatile flag Bn, a volatile flag Fn, or a system flag. The changes made to Fn remain in effect as long as power is maintained. On power-up or HRESET all Fn flags are set to OFF.
204 Language Reference • Reference FDR Feedrate System Purpose Set the feedrate value. Feedrate can be changed at any time in the program. Feedrate scales the Timebase for motion. With the Feedrate set at 100%, all velocities and dwells are at the programmed rates. Feedrate can be set to less than 100% to slow down a process, or above 100% to speed it up. Syntax FDR = value variable = FDR Remarks value Feedrate is entered in percent (the percent sign is not needed) with a range of 0 to 200.
Language Reference • Reference FE Following Error 205 Position Purpose Following error is the difference between the commanded position and the actual position. Syntax variable = FE variable Following error in user units. User units are defined by the SCALE parameter. The variable may be a nonvolatile variable Gn, a volatile variable Vn, or a system variable.
206 Language Reference • Reference FET Following Error Time System Purpose Change the Following Error Time limit used in the program. The Following Error Time limit is the length of time that the following error may exceed the Following Error Limit without causing a fault. The following error is checked every position loop update (2mS). Syntax FET = value variable = FET value The value is entered in seconds with a resolution of 2mS.
Language Reference • Reference FIn Interrupt Flag 207 Interrupts Purpose Interrupt n flag. These flags are turned ON automatically by a transition on the interrupt n pin from OFF to ON. Interrupt 1 is on input 11 and interrupt 2 is on input 12. Syntax FIn = OFF variable = FIn n The number of the interrupt n = 1 or 2. variable The variable may be a nonvolatile flag Bn, a volatile flag Fn, or another system flag.
208 Language Reference • Reference FILTER Velocity Loop Filter Gain Purpose Set the current command filter. FILTER is the bandwidth in hertz (Hz) of the low pass filter on the output of the velocity regulator (the current command). Reducing the value of FILTER will smooth the current command which reduces noise from high frequency current pulsation. Syntax FILTER = value variable = FILTER Remarks value The low pass filter roll off frequency in hertz (Hz). The maximum value is 300 Hz.
Language Reference • Reference Function Program, Running Program Structure Purpose Starts an Fkey program. Fkey programs are system programs 1 through 24. Syntax FNPGM = number number Remarks Number specifies which function key program will be run. number = 1, 2, 3, ..., 24. No.
210 Language Reference • Reference FOUNDHOME Found Home Flag System Purpose This write only flag is used in a program to signal that the home cycle has been completed. Syntax FOUNDHOME = variable variable Variable may be ON, OFF, a nonvolatile flag Bn, a volatile flag Fn, or another system flag. Remarks This flag is normally used in the Home Program (System Program 25).
Language Reference • Reference Gn Variable, Nonvolatile, User Variable Purpose Load a user-defined variable with a value from another variable, result of a math expression, a constant, a timer, or an analog input. Syntax Gn = value variable = Gn Remarks 211 n The number of the variable. n = 1, 2, 3, ..., 64. value Value can be a constant, a nonvolatile variable Gn, a volatile variable Vn, or a system variable.
212 Language Reference • Reference GEAR Gear Motion Purpose The gear statement is used to set and change the pulse to pulse ratio for electronic gearing and step and direction following. If the gear is enabled, the ratio is changed immediately to the specified ratio. If the gear is not enabled, the value is set but will not affect motion.
Language Reference • Reference GEAREN Gear Enable 213 Motion Purpose Enable electronic gearing. Enable the follower motor to begin following the gear input source at the ratio specified by the last GEAR instruction. Syntax GEAREN = variable GEAREN = ON/OFF variable The variable may be a nonvolatile flag Bn, a volatile flag Fn, or another system flag. ON Enable electronic gearing. OFF Disable electronic gearing.
214 Language Reference • Reference HLIMITS Travel Limits Enabled Flag Purpose Set if travel limit inputs are enabled. Syntax variable = HLIMITS variable System The variable may be a nonvolatile flag Bn, a volatile flag Fn, or another system flag. Remarks See Also DISLIM Example F4 = HLIMITS IF HLIMITS = ON … HOFFS Home Offset Home Purpose Set the Home Offset. Home Offset specifies the distance from the encoder index, or home switch if there is no index, to the home position.
Language Reference • Reference HOMECMD Home Command Purpose Runs the home program when set to ON. Syntax HOMECMD = value value Home The value can be ON, OFF, a nonvolatile flag Bn, a volatile flag Fn, or another system flag. Setting this flag to ON causes the Home Program (System Program number 25) to run. Remarks This flag can only be used in Fkey programs. See Also DH, DP, Appendix A Example HOMECMD = ON HRESET Hardware Reset System Purpose Causes a hardware reset when set to ON.
216 Language Reference • Reference HSWEN Home Switch Enable Purpose Set if Home Switch input is enabled. Syntax variable = HSWEN variable Home The variable may be a nonvolatile flag Bn, a volatile flag Fn, or another system flag. Remarks This flag is provided so that you can configure the standard home program (system program 25) to your specific needs. This flag informs the home program that a home switch is present. HSWEN is set in the Parameter menu, Inputs dialog box.
Language Reference • Reference HVEL Home Velocity Purpose Set the velocity used by the Home program. Syntax HVEL = value variable = HVEL 217 Home value The velocity in user units per user Timebase. User units are defined by the SCALE parameter. Value can be a constant, a nonvolatile variable Gn, a volatile variable Vn, or a system variable. variable The variable may be a nonvolatile variable Gn, a volatile variable Vn, or a system variable.
218 Language Reference • Reference InPm Position, Latched Purpose Position of encoder m latched by interrupt n in user units. Syntax variable = InPm Interrupts n Interrupt number: n = 1 or 2. m Encoder number: m = 1 or 2. variable The variable may be a nonvolatile variable Gn, a volatile variable Vn, or a system variable. Remarks When interrupt n occurs the position of encoder m is captured and stored in the variable InPm.
Language Reference • Reference IAVG Average Current 219 Current Purpose Average current set point. This set point determines the threshold for an average current fault. Syntax IAVG= value variable = IAVG value Value can be a constant, a global variable Gn, a volatile variable Vn, or another system variable. variable Variable can be a nonvolatile variable Gn, a volatile variable Vn, or another system variable.
220 Language Reference • Reference IDXn ON/OFF Index Interrupt Enable/Disable Purpose Enable or disable encoder n index interrupt. Syntax IDXn ON/OFF Remarks n The number of the encoder: n = 1 or 2. ON Enable the index interrupt. OFF Disable the index interrupt. Interrupts After an IDXn ON is executed, one interrupt will be detected and the position of encoder 1 and encoder 2 will be saved into IXnP1 and IXnP2. The FIDXn flag is then set, and the interrupt is disabled.
Language Reference • Reference action2 221 The action to be taken if the condition is FALSE. The action may be any programming statement. Multiple statements may be enclosed in curly braces {}. Remarks Only action1 or action2 will happen. It is impossible for both actions to take place.
222 Language Reference • Reference ILIMIT Current Limit Current Purpose Set the current limit used by the ULTRA Plus or IQ. The average and peak current will be held below ILIMIT. Syntax ILIMIT = value variable = ILIMIT value Specifies the value in Amperes that the present limit is set to. Value can be a constant, a nonvolatile variable Gn, a volatile variable Vn, or a system variable. variable Sets the variable equal to the current setting of the current limit.
Language Reference • Reference INPOSN In-Position 223 Position Purpose In-Position flag. This flag indicates that the feedback position has been within the In-Position window of the commanded position for the time set by the window time parameter. This flag is valid during motion and while stopped, but only if the drive is enabled. Syntax variable = INPOSN variable Remarks The variable may be a nonvolatile flag Bn, a volatile flag Fn, or another system flag.
224 Language Reference • Reference INTn ON/OFF/ CONT Interrupt, ON/OFF/CONT Purpose Enable, disable, or continuously enable interrupt n. Syntax INTn ON/OFF/CONT Remarks Interrupts n Specifies the number of the input interrupt: n = 1 or 2. Interrupt 1 is on input 11 and interrupt 2 is on input 12. ON Enable the interrupt for a single interrupt. OFF Disable the interrupt. CONT Continuously enable the interrupt.
Language Reference • Reference IXnPm Position, Latched 225 Interrupts Purpose Position of encoder m latched by encoder n index interrupt. Syntax variable = IXnPm n The number of the encoder source of the index interrupt: n = 1 or 2. m The number of the encoder from which position is read: m = 1 or 2. variable The variable may be a nonvolatile variable Gn, a volatile variable Vn, or a system variable.
226 Language Reference • Reference JACCEL Jog Acceleration Acceleration Purpose Set the Jog acceleration. Jog acceleration is the acceleration used for jog commands and MOVV commands. Syntax JACCEL = value variable = JACCEL value Acceleration in user units per second per second. User units are defined by the SCALE parameter. Value can be a constant, a nonvolatile variable Gn, a volatile variable Vn, or a system variable.
Language Reference • Reference JDECEL Jog Deceleration 227 Acceleration Purpose Set the Jog deceleration. Jog deceleration is the deceleration used for jog commands and MOVV commands. Syntax JDECEL = value variable = JDECEL value Deceleration in user units per second per second. User units are defined by the SCALE parameter. Value can be a constant, a nonvolatile variable Gn, a volatile variable Vn, or a system variable.
228 Language Reference • Reference JOGF Jog Forward Purpose Activates forward jog motion when set to ON. Syntax JOGF = value variable = JOGF Remarks System value The value can be ON, OFF, a nonvolatile flag Bn, a volatile flag Fn, or another system flag. variable The variable may be a nonvolatile flag Bn, a volatile flag Fn, or another system flag. Turning this flag ON will cause the motor to jog in the forward direction at the jog velocity (JVEL), using JACCEL and JDECEL.
Language Reference • Reference JUMP Jump Program Structure Purpose Transfer program execution to the instruction following the label. Syntax JUMP = label label 229 The label must be located within the same program as the jump but may be located before or after the jump statement. Remarks The label must be located within the same program as the jump but may be located before or after the jump statement. See Also LABEL, SUB Example Begin: ... statements JUMP BEGIN JMP LABEL1 ...
230 Language Reference • Reference KFF Velocity feedforward Gain Gain Purpose Set the velocity feedforward gain to a new value. Velocity feedforward gain may be changed at any time in the program. Syntax KFF = value variable = KFF value The value is entered in percent. The value can be a constant, a nonvolatile variable Gn, a volatile variable Vn, or a system variable. The range of this value is 0 to 200%.
Language Reference • Reference KP Proportional Gain, Position Regulator 231 Gain Purpose Set the proportional gain to a new value. The position regulator proportional gain may be changed at any time in the program. Syntax KP = value variable = KP Remarks value The value is entered in distance units/minute per thousandth of a distance unit. The value can be a constant, a nonvolatile variable Gn, a volatile variable Vn, or a system variable.
232 Language Reference • Reference KPZ Proportional Gain Zone, Position Regulator Gain Purpose Set the proportional gain to be used instead of KP in the region defined by PZONE. The units of KPZ are inches/minute/mil or meters/minute/millimeter. Whenever the position error is less than PZONE, the position regulator uses KPZ for the proportional gain, otherwise it uses KP. If PZONE is zero, the KPZ gain is never active.
Language Reference • Reference LISTFILE Create List File Compiler Options Purpose Selects whether a list file should be created on disk. Syntax LISTFILE = ON/OFF Remarks 233 ON A list file will be created with the same name as the source file and an extension of .LST. OFF A list file will not be created. The LISTFILE statement overrides the default compiler option for Generate List File set in the Edit menu, Compiler Options dialog box.
234 Language Reference • Reference LOOPINDEX Loop Index System Purpose The LOOP counter for the LOOP instruction used in a subroutine or the main body of the program. Syntax variable = LOOPINDEX LOOPINDEX = value variable Variable can be a nonvolatile variable Gn, a volatile variable Vn, or another system variable. value Value can be a nonvolatile variable Gn, a volatile variable Vn, another system variable, or a constant.
Language Reference • Reference Monitor Output System Purpose The number of the currently active variable for the monitor analog output. Syntax MONOUT = value variable = MONOUT variable Variable can be a nonvolatile flag Bn, a volatile flag Fn, or another system flag. value The value represents the variable number to be displayed. Value can be a constant, a nonvolatile variable Gn, a volatile variable Vn, or a system variable. The numbers corresponding to the variable names are shown below.
236 Language Reference • Reference Syntax (cont.) value (cont.) 33 LPOS 34 FVEL1 Interrupt 1 Latched Position (encoder 1 or 2) Filtered Feedback Velocity Remarks See Also DACn, OTMON Example MONOUT = 3 V3 = MONOUT MONOUT = G24 MOVD Move a Distance Motion Purpose Move an incremental distance from the present position. The MOVD command generates a trapezoidal or triangular motion profile using the present acceleration and velocity and the specified incremental distance.
Language Reference • Reference MOVECOMPLETE Profile generated motion is complete Purpose OFF indicates profile generated motion is occurring. Syntax variable = MOVECOMPLETE variable 237 System Variable can be a nonvolatile flag Bn, a volatile flag Fn, or another system flag. Remarks This flag is useful to know when a move has finished commanding motion. The system variables PGEN and PCMD are changing while this flag is off.
238 Language Reference • Reference See Also MOVD, DV, DIF, MOVV, DH, DP, ACCEL, VEL Example MOVP = 0 MOVP = 0, V = 50 MP = G3, V = G5 MOVV Move at Velocity Motion Purpose Move at a velocity. Once a MOVV command is executed, the motor will continue moving at the commanded velocity until a MOVV = 0 command is executed or the program is stopped.
Language Reference • Reference MVOEN MVO Output Enable 239 System Purpose Test point TP3 may be used to monitor the velocity of the motor if MVOEN is set ON. Syntax MVOEN= value variable = MVOEN value Value can be ON, OFF, a nonvolatile flag Bn, a volatile flag Fn, or another system flag. variable Variable can be a nonvolatile flag Bn, a volatile flag Fn, or another system flag. Remarks Changes made to this flag by a program are only in effect while the program is running.
240 Language Reference • Reference Example 01 = ON 02 = OFF O3 = F1 04 = ON, T = 0.1 ;turn on output 4 for 100 mS 05 = OFF, T = 3.2 ;turn off output 5 for 3.2 S ON variable JUMP Case Statement Program Structure Purpose Jump to one of a list of labels based on the value of variable. The variable acts as a pointer into the list of labels. Labels are zero-based, so if variable = 0, the program jumps to the first label. If variable = 3, it jumps to the fourth label and so on.
Language Reference • Reference Operator Terminal Monitor Operator Terminal Purpose The OTMON = value statement is used to display monitor variables on the top line of the Operator Terminal screen. Syntax OTMON = value variable = OTMON value variable The value represents the variable number to be displayed. Value can be a constant, a nonvolatile variable Gn, a volatile variable Vn, or a system variable. The numbers corresponding to the variable names are shown below.
242 Language Reference • Reference Remarks The present value of OTMON can also be read and used in a conditional statement. See Also PRINT Example ;Monitor POSN on the Operator Terminal OTMON = 2 ;If POSN is being monitored, stop monitoring POSN and clear the top line ;of the Operator Terminal IF(OTMON = 2)OTMON = 0 OVERSPEED Overspeed Threshold System Purpose Peak velocity trip point in user units per timebase. If the velocity exceeds this trip point, a fault is reported.
Language Reference • Reference PAUSE Pause 243 System Purpose This instruction will cause motion to ramp to a stop and pause. Pause can also be set to ON or OFF by the Pause input. Syntax PAUSE = value variable = PAUSE Remarks value The value can be ON, OFF, a nonvolatile flag Bn, a volatile flag Fn, or another system flag. variable The variable may be a nonvolatile flag Bn, a volatile flag Fn, or another system flag. When set to ON all motion will ramp to a stop.
244 Language Reference • Reference PCAM Position Command, Cam Purpose Position command from cam profile generator Syntax variable = PCAM Position The variable may be a nonvolatile variable Gn, a volatile variable Vn, or a system variable. Remarks The value in this variable represents the position command generated by the cam profile generator. See Also PCMD Example V1 = PCAM PCAMACTIVE Position Command, Cam Active Purpose Flag to indicate the PCam position value is changing.
Language Reference • Reference PEXT Position Command, External Position Purpose External position command (from gear or step and direction) in user units after the SLEW limit. Syntax variable = PEXT variable 245 The variable may be a nonvolatile variable Gn, a volatile variable Vn, or a system variable. Remarks The value in this variable represents the position command generated by an external source.
246 Language Reference • Reference PFE Following Error, Peak Purpose Peak following error in user units. Syntax variable = PFE variable Remarks Position The variable may be a nonvolatile variable Gn, a volatile variable Vn, or a system variable. The following error is calculated every position loop update (2mS). If the present value is greater than the previous peak the value is saved as the new peak. The magnitude of the peak is calculated based on an absolute value of following error.
Language Reference • Reference PGEN Position Command, Profile Generator Purpose Position command from internal profile generator Syntax variable = PGEN variable 247 Position The variable may be a nonvolatile variable Gn, a volatile variable Vn, or a system variable. Remarks The value in this variable represents the position command generated by the profile generator. The profile generator is responsible for creating MOVD, MOVP, DV and DIF moves.
248 Language Reference • Reference PGMTYPE Program Type Compiler Options Purpose Set the type of program to be compiled. Syntax PGMTYPE = MAINPGM/AUTOPGM/FKEYPGM/ERRPGM/CAMPROF Remarks The PGMTYPE statement overrides the default compiler option for Program Type set in the Edit menu, Compiler Options dialog box.
Language Reference • Reference PJOG Position Command, Jog 249 Position Purpose The position command that is the result of Jog commands from the Jog input(s), Jog Fkey programs, and MOVV commands. Syntax variable = PJOG variable Remarks The variable may be a nonvolatile variable Gn, a volatile variable Vn, or a system variable. The value in this variable represents the position command generated by the jog command generator.
250 Language Reference • Reference POS2 Position, Encoder 2 Purpose Encoder 2 position in user units, scaled by the Scale2 parameter. Syntax variable = POS2 variable Position The variable may be a nonvolatile variable Gn, a volatile variable Vn, or a system variable. Remarks See Also POS1, POSN Example V1 = POS2 POS3 Position, Encoder 3 (Optional) Purpose Encoder 3 position (from option card).
Language Reference • Reference Print Operator Terminal Purpose Print a message or a variable, or both, to the Operator Terminal or a serial port. Syntax PRINT [#n] [row, column] ["message"] [, variable] [, field, precision[, F]] n Serial port 1 or 2 is specified by n. If a port is not specified, the output defaults to serial port 1, the Operator Terminal port. row The row that printing begins on. The top row is 1. column The column that printing begins on. The left hand column is 1.
252 Language Reference • Reference Remarks Numbers are always displayed justified to the right side of the field. However, the field will be overrun if the number of characters in the variable exceeds the specified field width. Control codes can be sent to a serial port using the standard PRINT statement. The control codes may be used to position the cursor, print other text, or perform special functions.
Language Reference • Reference Example PRINT PRINT PRINT PRINT #2 1, 1, 1, 253 1, 1 "The Length is ", V1, 3, 2 1 "Distance is ", V1, 3, 0, F 1, V1 1, F1 PRINT 2, 6 "^D0RUNNING^D1" ;The message RUNNING is displayed on ;line 2 in blinking mode PRINT "^C1" ;Display Fkey Mode 2 PRINT "^D2" ;Turn Fkey Mode display ON PRINT "^D4" ;Lock Fkey Mode ON--no other Fkey Mode ;can be displayed from the Operator ;Terminal using the Mode key PRINT F1 PRINTWARN Print Warning Operator Terminal Print the pro
254 Language Reference • Reference PURGEMOTION Purge Motion Motion Purpose This read/write variable will immediately remove the active Pgen motion. Control of deceleration and subsequent Pgen motion are dependent on the variable value. Syntax variable = PURGEMOTION variable The variable defines which of the purge mode states is valid. The numbers corresponding to the variable modes are shown below. Value Description 0 1 Normal Pgen motion in effect. Purge Pgen motion immediately.
Language Reference • Reference PURGEMOTIONACTIVE Motion Purged Purpose Flag to indicate a purge motion request is being processed. Syntax variable = PURGEMOTIONACTIVE variable 255 System The variable will be set to ON or OFF. This is a read-only system flag that signals motion queue purging is complete. Remarks FALSE (OFF) indicates that zero velocity has been reached.
256 Language Reference • Reference PZONE Proportional Gain Zone, Velocity Loop Gain Purpose Set the region in user units around the commanded position where KPZ is used instead of KP for the position regulator proportional gain. This allows the gain to be raised or lowered when the actual position is near the commanded position. If PZONE is zero, the KPZ gain is never active. Syntax PZONE = distance variable = PZONE distance Specifies a distance around the commanded position in user units.
Language Reference • Reference Remarks 257 precision precision determines the number of places (1 to 4) after the decimal point. The maximum precision that will be permitted is 4. If field and precision are not included, the default precision is 2. precision does not apply when printing flag variables. F If F is used after precision, AND precision is set to 0, the variable will be printed as a fraction if the variable contains a fractional part.
258 Language Reference • Reference REPEAT Repeat a LOOP Program Structure Purpose Mark the end of a block of instructions to be repeated. The block instructions to be repeated must be in the range of 0 to 65535. A LOOP statement must define the start of the block of instructions. Syntax REPEAT Remarks The LOOP statement defining the block to be repeated must be in the range of 0 to 65535.
Language Reference • Reference ROT Positive Rotation Encoder 1 Purpose Flag to indicate the positive direction of rotation for encoder 1. Syntax variable = ROT variable 259 System Variable can be a nonvolatile flag Bn, a volatile flag Fn, or another system flag. FALSE (OFF) indicates that clockwise (viewed facing the motor shaft) is the positive direction. Remarks See Also ROT2 Example F3 = ROT ROTT Tracking Rotation Direction Purpose Set the direction of the Tracking function.
260 Language Reference • Reference ROT2 Positive Rotation Encoder 2 Purpose Flag to indicate the positive direction of rotation for encoder 2. Syntax variable = ROT2 variable System Variable can be a nonvolatile flag Bn, a volatile flag Fn, or another system flag. TRUE (ON) indicates the Rotation2 parameter is set to CCW. Remarks Refer to Part 2 • IQ Master Environment, Parameter menu, System.
Language Reference • Reference Sn: IF Scanned Event 261 Scanned Event Purpose The scanned event IF statement is used in the same way as a normal IF statement but is preceded by Sn: , where n is a number from 1 to 8. These conditions are checked at every step of the program. If the scanned event is enabled AND the condition is found to be true, the specified action is taken. Syntax Sn: IF condition action n The number of the scanned event. There are eight scanned events: n = 1, 2, 3, .... , 8.
262 Language Reference • Reference Sn: TMRm Scanned Event Scanned Event Purpose A timer scanned event may be set up to start the timer based on a specified condition and run for a time. Once the programmed time has elapsed, the specified action is executed. Syntax Sn: TMRm condition action n The number of the scanned event. There are eight scanned events: n = 1, 2, 3, .... , 8. m The number of the timer used: m = 1 or 2. condition The condition to be tested.
Language Reference • Reference Sn: TMRm Scanned Event 263 Scanned Event Purpose A timer may also be used to determined the elapsed time between two events. In this case two conditions are specified. The timer starts counting up when the first event occurs and stops when the second event occurs. Syntax Sn: TMRm start_condition, stop_condition action n The number of the scanned event. There are eight scanned events: n = 1, 2, 3, .... , 8. m The number of the timer used: m = 1 or 2.
264 Language Reference • Reference SCALE Distance Scale System Purpose This instruction defines the scale of the position feedback encoder, in steps per user unit. The scale is defined to produce the desired user units (e.g., inches, centimeters, revolutions) for all measured movements of the motor during the program. For this reason the SCALE instruction should be executed before the execution of any motion instruction.
Language Reference • Reference SCALE2 Distance Scale Axis 2 Purpose Set the scale used for encoder 2. Syntax SCALE2 = value variable = SCALE2 Remarks 265 System value The number of encoder counts per user unit of measure. Value can be a constant, a nonvolatile variable Gn, a volatile variable Vn, or a system variable. Value must be a whole number. Fractional scales are not permitted variable The variable may be a nonvolatile variable Gn, a volatile variable Vn, or a system variable.
266 Language Reference • Reference SETTASKTIMES System Task Timing Purpose Allows control of timing of system tasks. Syntax SETTASKTIMES = backgroundtasktime, optermtasktime, i/otasktime Remarks System backgroundtasktime The new start time in microseconds of the background task. The background task handles Host command language processing. The default time for this task is 1649 microseconds. The background task start time cannot be less than 1649 microseconds.
Language Reference • Reference SINT2 Software Interrupt 2 267 Interrupts Purpose Syntax SINT2 Remarks Software interrupt command. The SINT2 instruction will generate an interrupt 2 in the program, without the I12 input changing. INT2 does NOT have to be set ON or CONT in the program to use SINT2. SINT2 will latch the values of POS1 and POS2 into the variables I2P1 and I2P2, respectively.
268 Language Reference • Reference Remarks Use the SLEW limit to limit the maximum acceleration of a motor that is geared to the input from encoder 2. If the acceleration of the master motor would result in an acceleration on the follower that is greater then the slew limit, the command would be “clipped” to slew limit. If the acceleration is clipped, the following axis will not track the encoder input exactly. For example: A gear ratio of 1 and a SLEW limit of 100 rev/s/s is established.
Language Reference • Reference SLEWEN ON/OFF Slew Enable Motion Purpose Enable or disable the slew rate limit for the output of the gear calculation. Syntax SLEWEN = value value Remarks 269 The value may be a nonvolatile flag Bn, a volatile flag Fn, ON, OFF or another system flag. If value is equal to ON, enable the slew rate limit. If value is equal to OFF, disable the slew rate limit.
270 Language Reference • Reference STARTP Start Program Purpose Start program flag. Syntax STARTP= value value System Value can be ON, OFF, a nonvolatile flag Bn, a volatile flag Fn, or another system flag. Setting STARTP OFF has no effect. Remarks This instruction may only be used in Fkey programs. See Also PGMNUM Example PGMNUM = 3 STARTP = ON STOP Stop System Purpose Stops all motion and programs when set to ON.
Language Reference • Reference SUB Subroutine 271 Program Structure Purpose Mark the beginning of a subroutine and assign a name (up to eight characters) to the subroutine. Subroutines must end with a RETURN statement. Subroutines cannot be nested-that is, another subroutine cannot be called from within a subroutine. Program flow must return from the present subroutine before calling another subroutine. Syntax SUB name name Subroutine names can be up to 32 characters long.
272 Language Reference • Reference SYSWARN Cause System Warning System Purpose Used to cause a system warning. If set to a value, a system warning occurs. Syntax SYSWARN= value value Value can be a constant, a nonvolatile Gn, a volatile Vn, or another system variable. Remarks This command takes effect only when the Disable on Fault parameter is set to Partial. Refer to Part 2 • IQ Master Environment, Parameter menu, System for more information on the Disable on Fault parameter.
Language Reference • Reference Example 273 TIMER1 = 0.250 TIMER2 = V23 G3 = TIMER2 TITLE Program Title Purpose Assign a name to a program. Syntax TITLE "name" name Remarks Program Structure The name can be up to eight characters long. name cannot be keywords or reserved words. name must begin with a letter and contain only alphanumeric characters and underscores ( _ ). The name is shown in the program directory.
274 Language Reference • Reference TRACKINGMODE Tracking Purpose Set the directional gearing mode of the Tracking function. Syntax TRACKINGMODE = n variable = TRACKINGMODE Motion n n specifies which of the modes to set. Values for n are 0 through 2. variable Value can be a nonvolatile variable Gn, a volatile variable Vn, or another system variable. Remarks Mode 0 is normal gearing. Mode 1 is when any forward motion of the master results in forward follower motion, much like a ratchet.
Language Reference • Reference UTOC1 Convert user units to counts Purpose Convert a variable from user units to encoder counts using SCALE. Syntax variable_1 = UTOC1 variable_2 275 Conversion variable_1 Variable_1 can be a nonvolatile variable Gn, a volatile variable Vn, or another system variable variable_2 Variable_2 can be a nonvolatile variable Gn, a volatile variable Vn, another system variable, or a constant.
276 Language Reference • Reference Vn Variable, Volatile, User Variable Purpose Load a user-defined variable with a value from another variable, a result of a math expression, a constant, a timer, or an analog input. Syntax Vn = value variable = Vn Remarks n The number of the variable: n = 1, 2, 3, ..., 64. value Value can be a constant, a global variable Gn, a volatile variable Vn, or a system variable.
Language Reference • Reference Velocity Command Purpose Velocity command in user units per Timebase. Syntax variable = VCMD variable Velocity The variable may be a nonvolatile variable Gn, a volatile variable Vn, or a system variable. Remarks VCMD may not go to zero when the there is no commanded position. VCMD represents the value that would be sent to a digital to analog converter as a velocity command if an external amplifier were used.
278 Language Reference • Reference VEL1 Motor Velocity Purpose Velocity feedback from encoder 1 in user units per Timebase. Syntax variable = VEL1 variable Velocity The variable may be a nonvolatile variable Gn, a volatile variable Vn, or a system variable. Remarks The velocity of encoder 1 is determined every velocity loop update (1mS). This value is stored in VEL1. See Also FVEL1, VCMD, VEL2 Example V1 = VEL1 VEL2 Velocity Encoder 2 Purpose Encoder 2 velocity in user units per Timebase.
Language Reference • Reference WAIT Wait Program Structure Purpose Wait for a condition to occur before proceeding to the next instruction. Syntax WAIT condition condition 279 The condition to be tested. The condition may be a comparison, an input being ON or OFF, or a flag being ON or OFF. Comparisons compare the values of two operands and determine if the condition is TRUE or FALSE.
280 Language Reference • Reference WHILE While Program Structure Purpose The WHILE condition statement executes the statement(s) repeatedly while the condition specified is TRUE. Syntax WHILE condition statement(s) condition The condition to be tested. The condition may be a comparison, an input being ON or OFF, or a flag being ON or OFF. Comparisons compare the values of two operands and determine if the condition is TRUE or FALSE.
Language Reference • Reference WINDOW In-Position Window System Purpose Change the present In-Position Window used in the program. Syntax WINDOW = value variable = WINDOW Remarks 281 value Specifies a distance around the commanded position in user units. User units are defined by the SCALE parameter. The distance can be a constant, a nonvolatile variable Gn, a volatile variable Vn, or a system variable.
282 Language Reference • Reference Xn: Xkey Program Structure Purpose Marks the beginning of an Xkey routine. Syntax Xn: Remarks The keys marked X1 through X4 on the Operator Terminal are special function keys that, when pressed, execute a routine in parallel with a main program. To enable an Xkey, a routine must be written for the Xkey and the program must contain an Xn ON or Xn CONT statement.
Language Reference • Reference Xkey Routine, Enable Purpose Enable or disable an Xkey. Syntax Xn ON/OFF/CONT Program Structure n Specify the number of the Xkey routine: n = 1, 2, 3, 4. ON After Xn ON is executed, one Xkey press will be recognized and then the Xkey will be disabled. Another Xn ON statement must be executed to re-enable the Xkey. OFF Disable the Xkey routine. CONT CONT allows a Xkey to be recognized continuously, without waiting for the program to re-enable the Xkey.
284 Language Reference • Reference XLOOPINDEX X-Routine Loop Index Purpose The LOOP counter for the LOOP instruction used in the Xkey routine. Syntax XLOOPINDEX= value variable = XLOOPINDEX Remarks System value Value can be a constant, a global variable Gn, a volatile variable Vn, or another system variable. variable Variable can be a nonvolatile variable Gn, a volatile variable Vn, or another system variable. Mark the end of a block of instructions to be repeated in a loop.
Language Reference • Reference XNPGM Run an Xkey Routine Program Structure Purpose Simulates pressing an Xkey from within a program if the Xkey routine has been enabled previously with an Xn ON or Xn CONT statement. Syntax XNPGM = number number 285 The number of the Xkey routine to be run: number = 1, 2, 3, 4. Only one Xkey routine can be running at a time. If an Xkey routine is running when the XNPGM statement is executed, the present Xkey routine ends and the new Xkey routine is started.
286 Language Reference • Reference WORDS Publication 1398-PM601A-EN-P — October 2000
IQ Host Command Language This part contains a detailed description of the host mode communication capability of the ULTRA Plus or IQ-Series controller. The host mode is used if there is a host computer or PLC that will control operation of the controller.
HOST MODE Publication 1398-PM601A-EN-P — October 2000
Introduction Overview • control motion and program execution • monitor status and other runtime information • execute diagnostics • set up all nonvolatile memory parameters, programs, etc. • set up runtime parameters and flags required for control • control any peripheral devices attached to the ULTRA Plus or IQ. The Host Command Language serves as the only interface between the ULTRA Plus or IQ and the host.
290 Introduction • Reserved Host Commands Reserved Host Commands The following host commands are part of IQ Cam. Refer to the IQ-Series IQ-Cam Software Manual (Part Number 0013-1053-001) for a complete description.
Introduction • Addressing 291 Series Controllers” in the appropriate ULTRA Plus or IQ-Series Installation Manual (1398-5.1, Part Number 0013-1027-004 or Part Number 0013-1022-004) for details on setting an address and wiring the ULTRA Plus or IQ. Refer to Part 2 • IQ Master Environment, Communications menu, Axis Select for setting IQ Master to communicate with an ULTRA Plus or IQ set to an address other than zero. A two character sequence is used to select an ULTRA Plus or IQ by address.
292 Syntax • Command Syntax Syntax This section details the syntax of commands expected by the ULTRA Plus or IQ and the responses to those commands. Command Syntax The ULTRA Plus or IQ determines the command type and the required action(s) from the syntax of the incoming command. Incoming commands are echoed to the host unless the ULTRA Plus or IQ is in a multi-drop mode of operation and not selected, or in a multi-drop mode and processing a global command.
Syntax • Response Syntax 293 WS WS (white space) may be an ASCII space or tab. It is ignored except where required to differentiate between data items associated with the command. data The data field is present in all assignment commands and specifies the value of the associated parameter. This field is most often numeric although a few commands use text strings as data. Numeric data is decimal unless specified otherwise for a specific command. Flag values are set as 1 = TRUE and 0 = FALSE.
294 Syntax • Response Syntax Acknowledge The acknowledge response is used as a simple handshake acceptance of all execution and assignment commands that are accepted without error. It consists of an ASCII ACK (^F) control character. Value The value response returns variable information to request commands. It consists of the ACK character, the value(s) requested, an optional SUM, and an END sequence. The value of the checksum, if present, when summed with the characters in value, will be zero.
Execution Commands • Motion Execution Commands 295 Execution Commands Execution commands are directives to the ULTRA Plus or IQ that require some internal action to be taken. These commands are not queued and must be executed as received. An error acknowledge will result if the command cannot be executed at the time it was received (for example, attempting to execute a program when one is already running).
296 Execution Commands • Non-Motion Execution Commands SRUN program Executes the specified program number. If no program number is given with the Run command, the command simulates the action of the “Start” input, executing either the default program or the program number specified on the program select inputs. The program number is required for the SRUN command to execute a program from the system program directory.
Execution Commands • Runtime Status and Version Commands 297 Runtime Status and Version Commands S Returns a word (16 bits) bit map of present status information.
298 Execution Commands • Runtime Status and Version Commands still be present). A program must have been compiled with the debug option selected before debug information will be available. VER [option] Returns ULTRA Plus or IQ version information for the specified option in the following formats: Option Description Return Value 0 ULTRA Plus or IQ Software Revision vv.rr 1 NVRAM Personality “personality info. string” 2 Text ROM Id “text id string” 3 Option Card Revision vv.
Variables and Flags Assignment and Request Commands • Introduction 299 Variables and Flags Assignment and Request Commands Introduction All variable assignment commands have an associated request command that can be used to query the current value of the variable. The value returned by the request command is in the same format as the data required in the assignment. When nonvolatile memory parameters are changed, the ULTRA Plus or IQ will automatically update internal checksum data if appropriate.
300 Variables and Flags Assignment and Request Commands • Introduction Example Commands Serial Command Resulting Action ACC = 200 Set the Personality Module default acceleration to 200 user units per Timebase. #ACC = 300 Set the current runtime value of acceleration to 300 user units per Timebase. ACC Read the value for acceleration stored in the Personality Module in user units per Timebase. #ACCEL Read the current runtime value for acceleration in user units per Timebase.
301 Variables and Flags Assignment and Request Commands • Acceleration and Velocity Acceleration and Velocity Command Description Flag/ Variable Read/ Write Personality Module ACCEL or ACC Acceleration used to calculate moves in user units per second² V R/W Y # FVEL1 Filtered VEL1 in user units per Timebase V R N JACCEL Jog acceleration in user units per second² V R/W Y # JDECEL Jog deceleration in user units per second² V R/W Y # JVEL or JV Jog velocity in user units per Time
302 Variables and Flags Assignment and Request Commands • Gains Gains Command Description Flag/ Variable Read/ Write Personality Module FGAIN Acceleration feedforward gain V R/W Y # FILTEN TRUE to enable the velocity loop filter F R/W Y # FILTER or FIL Velocity loop filter value V R/W Y # IGAIN Integral gain for the velocity loop V R/W Y # IZONE Region where KI has effect V R/W Y # KFF Velocity feedforward gain V R/W Y # KI Integral gain for the position loop V
303 Variables and Flags Assignment and Request Commands • Homing Homing These variables and flags are used in conjunction with the standard Home Program. Refer to Appendix A, System Programs, for more detailed information about the home program and the uses of these variables. Command Description Flag/ Variable Read/ Write Personality Module If the Define Home input is assigned, the single bit set in the word corresponds to the input assigned to the function.
304 Variables and Flags Assignment and Request Commands • Inputs – Analog and Digital Inputs – Analog and Digital The commands in this table cover all digital and analog inputs including inputs located on optional I/O Expansion Cards. Command Description Flag/ Variable Read/ Write Personality Module ADC1 Analog input 1 in volts (option card required). V R N ADC2 Analog input 2 in volts (option card required). V R N ADC3 Analog input 3 in volts (option card required).
Variables and Flags Assignment and Request Commands • Interrupts 305 Interrupts Command Description Flag/ Variable Read/ Write Personality Module TRUE if INT1 interrupt received. If TRUE, the I1P1, I1P2 positions are available. It is your responsibility to clear these flags. (See SI, INT1, INT2, I1P1, I1P2, I2P1, I2P2.) F R/W N FI2 TRUE if INT2 interrupt received. If TRUE, the I2P1, I2P2 positions are available. It is your responsibility to clear these flags.
306 Variables and Flags Assignment and Request Commands • Motion Motion The commands contained in this table are used to control the effect of motion. They do not cause any motion, they set conditions that affect motion. See also “Motion Execution Commands” on page 295. Command Description Flag/ Variable Read/ Write Personality Module GEAR Current value of the gear ratio. V R/W N GEAREN TRUE if the GEAR is enabled. F R/W N ROTT Rotation direction for tracking function.
IPREL TRUE for relative In-Position output. FALSE for absolute In-Position output. F R/W Y MDAC Monitor DAC value. This parameter is write-only and sets the MON analog output value. This output is normally updated internally but may be set directly if no MON variable is being converted. (See MONOUT.) V W N MONOUT Select the monitor variable for MON DAC output. V R/W Y MVO TRUE if internal monitor velocity output (MVO) is enabled.
308 Variables and Flags Assignment and Request Commands • Position Position This table contains commands for reading and setting most variables that relate to distance, position, position error, or commanded position. Position variables associated with interrupts are contained in the table dedicated to interrupts. See “Interrupts” on page 305. s. Command Description Flag/ Variable Read/ Write Personality Module EPOS ERETURN position. V R/W Y FE Following error in user units.
Variables and Flags Assignment and Request Commands • Serial 309 Serial Command Description Flag/ Variable Read/ Write Personality Module ADDR Returns the host axis identifier specified by the dip switch. The value will be in the range of 0..63. (Zero indicates no individual axis identifier.) byte R N HOST TRUE if the programming terminal is in host mode. In host mode, the ULTRA Plus or IQ will give less verbose responses to some commands and will not supply error message strings.
310 Variables and Flags Assignment and Request Commands • System ACTIVESN Indicates the number of scanned events active. Bit 0 1 to 8 ACTIVEXN AUXID N V R N byte R N Description No Xkey routines executing Number of Xkey routines active Returns a byte value indicating the option board type attached to the ULTRA Plus or IQ. BIT 0 1 2 3 4 R Description No scanned events executing Number of scanned events active Indicates the number of Xkey routines active.
311 Variables and Flags Assignment and Request Commands • System HISTORY or HIS [n] Returns a quoted string in the format “HHHHHHH:MM message” giving ULTRA Plus or IQ EEPROM fault information for the last “nth” fault number in reverse chronological order. If no fault # is given it defaults to zero (the latest fault). The time field is in the same format used for HTIME (see below) and the message specifies the fault information. (See HTIME, FTXT.
312 Variables and Flags Assignment and Request Commands • System PURGEMOTION Purge motion queue in the following manner: Mode bit 0 1 2 3 4 V R/W N Description Normal Pgen Purge Pgen motion queue immediately. No deceleration of Pgen to zero velocity performed. Purge Pgen motion from stick queue. Decelerate Pgen to zero velocity. Decel rate is the system Accel value. Purge Pgen motion queue immediately. No deceleration of Pgen to zero velocity performed. Normal Pgen motion after purge.
Variables and Flags Assignment and Request Commands • System 313 CF1 word CF2 word CF3 word CF4 word These commands set the four feedback configurations available to the CF command. The configurations are bit map encoded in the following format: Bit Description Values 0, 1 Unused 2 Encoder 2 3 Unused 6, 5, 4 Feedback 001 = Position 1 010 = Position 2 100 = Position 3 8, 7 Gear Input 01 = Position 2 10 = Position 3 (Option Card required) 9..11 Unused 12 13..
314 Variables and Flags Assignment and Request Commands • Tune Mode Tune Mode Command Description Flag/ Variable Read/ Write Personality Module TDIR Tune direction: 0 = bi-directional 1 = positive 2 = negative V R/W N TMXDIST Maximum distance in Auto Tune. V R/W N TMXVEL Maximum velocity in Auto Tune. V R/W N TPER Time period for Manual Tune. V R/W N TRATIO Inertia ratio calculated by Auto Tune. V R N TSCUR Step current for Auto Tune.
File Commands • Program Maintenance and Directory Commands 315 File Commands Program Maintenance and Directory Commands The following commands work with program and directory information. Commands with an “S” prefix work on the system program directory. DEL program SDEL program Deletes both the program executable and program source code. No error will be issued if the program is empty. DELS program SDELS program Deletes only the source code, if present, for the specified program.
316 File Commands • Transfer Commands Transfer Commands The following commands are used to transfer portions of the Personality Module to and from the Host. SAVE or LOAD MEM [page] SAVE or LOAD ALL [page] SAVE or LOAD PAR The Save command will transfer data from the ULTRA Plus or IQ to the host. The Load command will transfer from the host to the ULTRA Plus or IQ. MEM transfers the entire nonvolatile memory page. PAR transfers only the user nonvolatile parameters.
Operator Terminal Commands • Commands 317 Operator Terminal Commands Commands The following commands are available to directly access the Operator Terminal for diagnostics or simulation purposes. FNPGM fn# This command may be used to start execution of an Fkey program without forcing the operator to press a key on the operator terminal. OTADDR address Sets the address when using the Operator Terminal Multidrop mode. Valid range is 0-9. OTCLS Clears the Operator Terminal Screen.
318 Operator Terminal Commands • Commands OTFLUSH May be used to flush the characters to be presented to the OTGET command. Since the characters are available in a circular queue, the next character to be returned will be meaningless unless the queue has been continually monitored. After the OTFLUSH command is executed, no input will be available. This command should be issued before starting the monitoring of keystrokes. OTGET Returns an ASCII character indicating the last Operator Terminal key action.
Operator Terminal Commands • Commands 2 New output on line 3 3 New output on line 4 4 New cursor position (See OTCP) 5 Cursor is active 6 Unused 7 Operator Terminal is inactive (See OTX) 8 Key press input available (See OTGET, OTFLUSH) 9 Alarm LED is active 10 Terminal input buffer is full (See OTPUT) 319 OTTBL key [,code] Sets key codes for generic operator terminal set up. Refer to Part 2 • IQ Master Environment, Parameter menu, Serial for more details.
320 Operator Terminal Commands • Operator Terminal Key Codes Operator Terminal Key Codes The following codes may be used with the OTPUT command to simulate key input to the Operator Terminal. These codes are returned by the OTGET command.
Appendixes This part of the manual includes supplementary information and programming examples.
APPENDIXES Publication 1398-PM601A-EN-P — October 2000
DDE Server IQ Master supports DDE (Dynamic Data Exchange) using the DDEML (Dynamic Data Exchange Management Library). IQ Master is configured as a server only; another application (the client) can query IQ Master for information about variables that will be gathered over the serial link from the currently connected ULTRA Plus or IQ and sent to the client. In addition, the client can set variables to a specific value and also send executable commands to the ULTRA Plus or IQ.
324 DDE Server • ULTRA Plus or IQ flags or variables (additional Item names) that can be queried or set using DDE: All G variables(G1-G64) All V variables(V1-V64) All B flags(B1-B8) All F flags(F1-F64) Gear Gearen ULTRA Plus or IQ executable commands that can be executed using DDE (no data returned): Define HomeMovp Define PositionMovv DisableReset EnableRun # (# is program number to run) Hard ResetSelect # (# is address for multi-drop) HomeX Movd ULTRA Plus or IQ executable commands that return data: E
System Programs • What are System Programs? 325 System Programs What are System Programs? System programs are a group of ULTRA Plus or IQ programs which operate differently than normal motion programs. Some system programs automatically run upon power up. Some system programs are used with the function keys on the Operator Terminal. Other system programs have specific functions such as homing an axis, handling errors and warnings, or performing the Emergency Return function.
326 System Programs • When are system programs run? When are system programs run? On Power Up The AUTO program (System Program 0) is run each time the ULTRA Plus or IQ is powered up or after an HRESET command is executed. The AUTO program runs even if the ULTRA Plus or IQ is disabled. Operator Terminal Function Keys Operator Terminal function key programs (System Programs 1-24) are run using an Fkey on the Operator Terminal.
System Programs • System Program 0 - Auto 327 System Program 0 - Auto The AUTO program is a unique system program that runs automatically upon power up or after an HRESET command is executed. All programming statements including motion commands may be used. The AUTO program may be used to print a message to the Operator Terminal screen, initialize variables, or may contain the entire application program.
328 System Programs • System Program 1 - Jog Forward Operator Terminal function key programs (System Programs 1-24) are run using a Function Key (F1F4) on the Operator Terminal. Functions are assigned to the Fkeys in the IQ Master Parameter menu. See Part 2 • IQ Master Environment, for a complete description. These programs may also be run from within a program using the FNPGM command. See Part 5 • Language Reference, for a complete description. They may also be run using the SRUN and FNPGM host commands.
System Programs • System Program 2 - Jog Reverse 329 TITLE "Jog Fwd" PGMTYPE = FKEYPGM;Set compiler options DEBUG = OFF JOGF = ON ;Initiate jog motion WAIT FNACTIVE = OFF ;Wait for release of key JOGF = OFF ;Stop jog motion END System Program 2 - Jog Reverse This program activates jog motion in the reverse direction. Motion will continue as long as the Fkey is pressed. When the Fkey is released, motion will stop. The Jog Velocity, Jog Acceleration, and Jog Deceleration parameters are used for jog motion.
330 System Programs • System Program 3 - Start System Program 3 - Start This program will run a motion program by simulating the Start input. Parameters are used to determine which program to run. If parameters are set to run a specific program, that program will run. If parameters are set to read a program number from the Program Select Inputs, those inputs will be read to determine which program to run. Program Listing ;Source File Name: START.QPS ;Version: 3.00 ;Tested with IQMaster Version: 3.
System Programs • System Program 4 - Stop 331 System Program 4 - Stop This program stops motion and program execution by setting the system flag STOP. This duplicates the action of activating the X-Killmotion input or sending the X host command. Program Listing APPENDIXES ;Source File Name: STOP.QPS ;Version: 3.00 ;Tested with IQMaster Version: 3.00 ;Tested with IQ firmware Version: 3.
332 System Programs • System Program 5 - Run System Program 5 - Run This program runs a motion program by asking an operator to enter a program number to run. The Operator Terminal screen and keypad is used to prompt the operator. Program Listing APPENDIXES ;Source File Name: RUN.QPS ;Version: 3.00 ;Tested with IQMaster Version: 3.00 ;Tested with IQ firmware Version: 3.
System Programs • System Program 6 - Execute Home 333 System Program 6 - Execute Home This program runs the Home program (system program 25). Note: No motion program can be running in order to run the Home program. Program Listing APPENDIXES ;Source File Name: EXHOME.QPS ;Version: 3.00 ;Tested with IQMaster Version: 3.00 ;Tested with IQ firmware Version: 3.
334 System Programs • System Program 7 - Define Home System Program 7 - Define Home This program defines the present position as home (position zero). No motion programs may be running in order to define home. Program Listing ;Source File Name: DEFHOME.QPS ;Version: 3.00 ;Tested with IQMaster Version: 3.00 ;Tested with IQ firmware Version: 3.
System Programs • System Program 8 - Set Feedrate 335 System Program 8 - Set Feedrate This prompts an operator to enter a new Feedrate percentage. The Operator Terminal screen and keypad is used to READ the new value. The present value of Feedrate is displayed. Program Listing APPENDIXES ;Source File Name: SETFDR.QPS ;Version: 3.00 ;Tested with IQMaster Version: 3.00 ;Tested with IQ firmware Version: 3.
336 System Programs • System Programs 9-12 System Programs 9-12 These program locations may be used for other Operator Terminal function key programs as needed. Future standard Personality Modules may contain default programs in these locations. System Program 13 - Monitor VEL1 This program sets the system variable OTMON to the proper value which displays the system variable VEL1 on the top line of the Operator Terminal screen. This display is continuously updated.
System Programs • System Program 14 - Monitor POSN 337 System Program 14 - Monitor POSN This program sets the system variable OTMON to the proper value which displays the system variable POSN on the top line of the Operator Terminal screen. This display is continuously updated. If this program is run again, the display will be cleared. If other Fkey programs using OTMON are run, the display will switch to monitor the proper variable. Program Listing APPENDIXES ;Source File Name: MONPOSN.
338 System Programs • System Program 15 - Monitor PCMD System Program 15 - Monitor PCMD This program sets the system variable OTMON to the proper value which displays the system variable PCMD on the top line of the Operator Terminal screen. This display is continuously updated. If this program is run again, the display will be cleared. If other Fkey programs using OTMON are run, the display will switch to monitor the proper variable. Program Listing ;Source File Name: MONPCMD.QPS ;Version: 3.
System Programs • System Program 16 - Monitor FE 339 System Program 16 - Monitor FE This program sets the system variable OTMON to the proper value which displays the system variable FE on the top line of the Operator Terminal screen. This display is continuously updated. If this program is run again, the display will be cleared. If other Fkey programs using OTMON are run, the display will switch to monitor the proper variable. Program Listing APPENDIXES ;Source File Name: MONFE.QPS ;Version: 3.
340 System Programs • System Program 17 - Monitor ICMD System Program 17 - Monitor ICMD This program sets the system variable OTMON to the proper value which displays the system variable ICMD on the top line of the Operator Terminal screen. This display is continuously updated. If this program is run again, the display will be cleared. If other Fkey programs using OTMON are run, the display will switch to monitor the proper variable. Program Listing ;Source File Name: MONICMD.QPS ;Version: 3.
System Programs • System Program 18 - Monitor IAVE 341 System Program 18 - Monitor IAVE This program sets the system variable OTMON to the proper value which displays the system variable IAVE on the top line of the Operator Terminal screen. This display is continuously updated. If this program is run again, the display will be cleared. If other Fkey programs using OTMON are run, the display will switch to monitor the proper variable. Program Listing APPENDIXES ;Source File Name: MONIAVE.
342 System Programs • System Program 19 - Monitor RFDR System Program 19 - Monitor RFDR This program sets the system variable OTMON to the proper value which displays the system variable RFDR on the top line of the Operator Terminal screen. This display is continuously updated. If this program is run again, the display will be cleared. If other Fkey programs using OTMON are run, the display will switch to monitor the proper variable. Program Listing ;Source File Name: MONRFDR.QPS ;Version: 3.
System Programs • System Program 20 - Monitor ADC1 343 System Program 20 - Monitor ADC1 This program sets the system variable OTMON to the proper value which displays the system variable ADC1 (analog input 1 voltage) on the top line of the Operator Terminal screen. This display is continuously updated. If this program is run again, the display will be cleared. If other Fkey programs using OTMON are run, the display will switch to monitor the proper variable.
344 System Programs • System Program 25 - Home System Program 25 - Home To move to an absolute position a motion controller must first know where it is. But, when incremental encoders are used in the system, when the motion controller is first powered up, it does not know where the axis is. The motion controller must run a routine that will give it some absolute position reference. This is the function of a home program: to precisely locate a position on a machine.
System Programs • System Program 25 - Home 345 Legend Used in Home Diagrams Standard Home Program The standard home program has several configurations: • home switch may be active in either sense Parameter menu: Inputs • home to switch then index Parameter menu: Inputs Home Switch Active parameter: open or closed Home Switch: enabled Home to Encoder Index: enabled • limit switches may or may not be used Parameter menu: Inputs • home to switch only Parameter menu: Inputs Limits parameter: on or off
346 System Programs • System Program 25 - Home Normal Home Sequence Starting with the Home Switch Active If the home switch is active when the home program starts, the axis will move in the reverse direction as shown in the figure Normal Home Sequence Starting with the Home Switch Active.
System Programs • System Program 25 - Home 347 Home Switch Active in the Opposite Sense If only the Home to Encoder Index is selected, the axis will move at the creep speed in the direction set by the Home Velocity parameter until it sees an index. The index position will be the basis of the offset move.
348 System Programs • System Program 25 - Home Program Listing APPENDIXES ;Source File Name: HOME_STD.QPS ;Version: 3.00 ;Tested with IQMaster Version: 3.00 ;Tested with IQ firmware Version: 3.00 ;------------------------------ Description -----------------------------;This is the default ’Home’ program. ;This program is saved as System Program #25 in standard personality modules. ;The source is NOT saved in standard personality modules.
System Programs • System Program 25 - Home 349 ;Expansion I/O - Not used p;Expansion memory - Not used ; ;----------------------Scanned Events----------------------S1: IF I1=OFF state=2 ;looks for reverse limit S2: IF I2=OFF state=3 ;looks for forward limit S3: IF HSWSTAT=ON state=4 ;look for Home Switch active S4: IF HSWSTAT=OFF state=8 ;look for Home Switch not active S5: IF I1=I2 state=1 ;used during move off limit switch ;----------------------Begin Program ----------------------;Variable Initializati
350 System Programs • System Program 25 - Home DISLIM = ON MOVV HomeVel ;if here, start by moving backward ;will be looking for (-) edge if Home switch already on IF HSWSTAT=ON JMP C2 bkwrd: S3 ON WAIT state>1 c1: IF state>3 JMP c2 MOVV 0 IF state=2 JMP err S3 OFF WAIT VEL1 > -0.
System Programs • System Program 25 - Home state=0 HomeVel = -HomeVel limcnt = limcnt+1 IF limcnt < 2 JMP bkwrd MOVV 0 JMP err mf3: MOVV 0 WAIT VEL1 < .
352 System Programs • System Program 25 - Home APPENDIXES Publication 1398-PM601A-EN-P — October 2000
System Programs • System Program 26 - Emergency Return 353 System Program 26 - Emergency Return This system program runs after an off to on transition of the Ereturn input, or by setting the system flag ERET. This program is unique because a system STOP function is performed before running the program (all motion programs and present motion are stopped). The default program below performs a MOVP to the position defined in Parameters as the Emergency Return Position.
354 System Programs • System Program 27 - Error Routine System Program 27 - Error Routine This program runs each time a system error or warning occurs. If a fault has occurred, motion and programs are stopped, the ULTRA Plus or IQ is disabled, and the Error output is set (if defined) before this program runs. If a warning has occurred, motion and programs are allowed to continue, but the Error output is set (if defined) before this program runs.
System Programs • System Programs 28-31 355 ; message on the operator terminal screen. This is because the Eroutine ; program uses different ’screen’ memory than a main program, so when the ; error is reset and the eroutine program ends, the screen is restored to ; what was previously printed. END System Programs 28-31 APPENDIXES Allen-Bradley reserves these system programs for future development.
356 Optional Operator Terminal Function Key Programs • Clear Peaks Optional Operator Terminal Function Key Programs These programs may be used in place of or in addition to the default Operator Terminal function key programs (System Programs 1-24) included in standard Personality Modules. NOTE: The listings for these programs may be viewed or optionally installed to disk. They are stored on the IQ Master disk in the SYSPGM/OPTSYS directory. Clear Peaks This program, CLRPEAKS.
Optional Operator Terminal Function Key Programs • Hardware Reset 357 Hardware Reset This program, HRESET.QPS, performs a Hardware Reset of the ULTRA Plus or IQ. Monitor FVEL1 This program, MONFVEL1.QPS, sets the system variable OTMON to the proper value which displays the system variable FVEL1 on the top line of the Operator Terminal screen. This display is continuously updated. If this program is run again, the display will be cleared.
358 Optional Operator Terminal Function Key Programs • Monitor VCMD are run, the display will switch to monitor the proper variable. Monitor VCMD This program, MONVCMD.QPS, sets the system variable OTMON to the proper value which displays the system variable VCMD on the top line of the Operator Terminal screen. This display is continuously updated. If this program is run again, the display will be cleared. If other Fkey programs using OTMON are run, the display will switch to monitor the proper variable.
Optional Home Programs • Home to a Limit Switch 359 Optional Home Programs NOTE: The listings for these programs may be viewed or optionally installed to disk. They are stored on the IQ Master disk in the SYSPGM/OPTSYS directory. Home to a Limit Switch Home without Limit Switches Another alternative home program, home_nls.qps, provides the same functions as the standard home program but does not support changing directions if a limit switch is hit.
360 Application Examples • SmartBelt Application Application Examples ATTENTION These sample programs are included for illustration purposes only. They do not include the fault handling logic or safety considerations necessary for an actual machine operation. ! SmartBelt Application Description APPENDIXES In packaging applications, products are often transported in random fashion from a filling or wrapping operation to a final cartoning machine on a conveyor belt.
Application Examples • SmartBelt Application • 361 Microprocessor control provides maximum accuracy and speed Design Considerations Sensor Placement & Wiring The sensor to detect products should be placed so products are detected only after the majority of product weight is on the correction belt so that products will not slip. The sensor to detect flights should be placed so the flight that is detected is the same flight that the current product will be positioned to.
362 Application Examples • SmartBelt Application Flow Chart START INITIALIZE VARIABLES ACTIVATE INTERRUPTS ACTIVATE ELECTRONIC GEARING WAIT FOR A FLIGHT PRODUCT? NO YES CALCULATE CORRECTION DISTANCE PERFORM CORRECTION MOVE MAKE SURE PRODUCT IS OFF SENSOR ULTRA Plus or IQ Parameter Settings • CONFIGSet ULTRA Plus or IQ configuration to accept encoder 2 input for electronic gearing • SCALEnumber of encoder counts per unit distance on driven belt • SCALE2number of encoder counts per unit distanc
Application Examples • Feed-To-Length Application WAIT I12 ON V3=@I2P2-@I1P2-OFFSET2 MOVD = -CTOU2 V3 WAIT I12 OFF JUMP MAIN ; END 363 ;Wait for a product ;Calculate correction move distance: ;product position - flight position - offset.
364 Application Examples • Feed-To-Length Application Accuracy The accuracy of the system is determined by the mechanics of the system and the performance of the position controller. To achieve a given accuracy, the resolution of the position feedback should be at least five times better than the desired accuracy. Tuning of the position and velocity control loops also affects the accuracy of the system, as well as the settling time for the system to be in position after a move.
Application Examples • Feed-To-Length Application 365 Flow Chart START ASSIGN VARIABLES SCANNED EVENTS X KEY ROUTINES INITIALIZE VARIABLES ENABLE X KEYS START=ON No Yes BATCH COMPLETE OUTPUT OFF COUNT = 0 CALCULATE ANTICIPATE OUTPUT POSITION ENABLE ANTICIPATE OUTPUT SCANNED EVENT READY=ON No Yes MOVE DISTANCE=LENGTH + KERF BACKUP=ON Yes ADD BACKUP LENGTH TO MOVE DISTANCE No REGISTER=ON ADD REGISTRATION CORRECTION TO MOVE DISTANCE Yes No MOVE DISTANCE REGISTER=ON CALCULATE REGISTRATION CO
366 Application Examples • Feed-To-Length Application APPENDIXES TITLE "FEED" ;Version 3.00 2/29/96 ;This program implements a Feed-to-Length control with basic features ;such as backup moves, kerf, and registration. It also provides I/O for ;handshaking to the machine such as a cut output, ready and continue ;inputs, and a batch complete output.
367 ; ;The X2 key routine is similar to X1 for different variables.
368 Application Examples • Feed-To-Length Application PRINT 2,1 "X2:DWELL " ,TIME,6,3 PRINT 3,1 "X3:KERF " ,KERF,6,3 PRINT 4,1 "X4:NEXT MENU" JMP X4E M2: CLEAR PRINT 1,1 "X1:OUT ON " ,OUT_LEN,7,3 PRINT 2,1 "X2:BACKUP " IF BACKUP=OFF PRINT "OFF " IF BACKUP=ON PRINT BACK_LEN,7,3 PRINT 3,1 "X3:REG LEN " IF REGISTER=OFF PRINT "OFF " IF REGISTER=ON PRINT REG_LEN,6,3 PRINT 4,1 "X4:NEXT MENU" JMP X4E DI: CLEAR PRINT 4,1 "X4:NEXT MENU" IF STATE<>1 PRINT 2,2 "WAITING FOR START" IF STATE=1 PRINT 2,3 "RUNNING BATCH"
Application Examples • Feed-To-Length Application 369 NOTE: The correction distance is calculated in encoder counts so the distance is still properly calculated if the internal position counter rolls over Publication 1398-PM601A-EN-P — October 2000 APPENDIXES IF COUNT<>0 PRINT 3,14 "/",COUNT,5,0 FEED20: REL_LEN = UTOC1 OUT_LEN ;Calculate new relative output length ;REL_LEN is position where anticipate output will ; turn on REL_LEN = @PCMD + REL_LEN IF BACKUP ON REL_LEN = REL_LEN + UTOC1 BACK_LEN S1 ON
370 Application Examples • Continuous Web with Registration Continuous Web with Registration Description Controlling motion relative to a continuous web with registration is common in printing, die-cutting, and labeling processes. The application shown is slicing a printed web into strips. The printed patterns have been staggered to optimize web usage, so the slicing axis needs to cut with a zigzag pattern. This pattern must be registered to the printed pattern.
Application Examples • Continuous Web with Registration 371 usually desirable to limit the position around the target that an interrupt will be responded to. This will eliminate most spurious registration marks (due to ink spillage, material blemishes, etc.) and reduce the effect of those that do get through because only those marks close to the correct mark will be seen. This process is called windowing; there is a window around the target position in which registration interrupts will be allowed.
372 Application Examples • Continuous Web with Registration ual registration forward and reverse. After either of these switches is let up, the program will look for a signal from the sensor to measure where it is, and, from then on, attempt to hold the axis where it is. I15 is used to advance and I16 is used to retard. ULTRA Plus or IQ System Considerations There are a few parameters that are set by the programmer in the ULTRA Plus or IQ system. SCALE1 and SCALE2 should be set to 1.
Application Examples • Continuous Web with Registration 373 TITLE "WEB" ;Version 3.00 2/29/96 PGMTYPE = MAINPGM ;This program corrects every n patterns and has a capture band to reject ; noise. This program uses a Scale of 1 to compensate for roll-over. ;This was written assuming the web is moving "forward.
374 Application Examples • Continuous Web with Registration XEND X2: ;X2 key routine CLEAR READ 3,1 "Gear Ratio: ",SHOW Ratio GEAR=Ratio CLEAR XEND X3: ;X3 key routine CLEAR PDelaybuf=PDelay*1000 IF TBASE=30000 PDelaybuf=PDelaybuf*60 PRINT 3,1 "Detector delay " READ 4,1 "(mS): ",SHOW PDelaybuf PDelaybuf = PDelaybuf/1000 IF TBASE=30000 PDelaybuf=PDelaybuf/60 PDelay=PDelaybuf CLEAR XEND X4: ;X4 key routine CLEAR READ 3,1 "Window Radius: ",SHOW WindRad IF (WindRad > Incr/2) WindRad=Incr/2 EnPos = Target - Win
Application Examples • Continuous Web with Registration 375 D=1,V=1000 DIF Incr,I15=OFF, JMP i1em i1em: D=1,V=0 JMP mofs Ck2: IF I16=OFF JMP Ck3;if I16=ON, offset backward D=-1,V=1000 DIF -Incr,I16=OFF,i2em I2em: D=-1,V=0 JMP mofs Ck3: ;If more than 2 measurement lengths have ; gone by with no measurement, ; bring window out to a full-width search.
376 Application Examples • Continuous Web with Registration mofsO: S3 CONT mofscc: S4 CONT Offset = Offset/Incr ;calculate the new offset Offset = Offset-(INT Offset) JMP skpcor END APPENDIXES Publication 1398-PM601A-EN-P — October 2000
Application Examples • Auger Dispensing Application 377 Auger Dispensing Application Description In auger dispensing machinery, high performance motion control systems are essential to meet the demands of the application. Since the material being packaged varies in consistency, Allen-Bradley products enable machine builders to provide systems that can adapt readily to changes in packaging sizes and fill rates.
378 Application Examples • Auger Dispensing Application Flow Chart START INITIALIZE VARIABLES AUGER AXIS READY? No Yes INDEX CONVEYOR BAG IN POSITION? No Yes INDEX AUGER BAG AT DESIRED FILL SIZE? No Yes STOP FILL SIGNAL BAG SEAL BAG SEAL COMPLETE? No Yes APPENDIXES TITLE "AUGER" ;Version 3.
379 ASSIGN FSDONE O1 ;Fill & seal complete ASSIGN AUGERRDY O2 ;Auger axis ready ASSIGN SEALBAG O3 ;Instruct sealing operation ; Xkey Routines X1: CLR PRINT 1,2 "ENTER BAG WEIGHT" READ 2,1 "IN LBS -- ", SHOW FILLWGHT CLR PRINT 1,2 "X1 = FILL WEIGHT" PRINT 2,2 "X2 = AUGER SPEED" F1=ON XEND X2: CLR READ 1,1 "AUGER SPEED = ", SHOW AUGERSPD CLR PRINT 1,2 "X1 = FILL WEIGHT" PRINT 2,2 "X2 = AUGER SPEED" F2=ON XEND ;Start of Main Program F1=OFF F2=OFF X1 CONT X2 CONT CLR PRINT 1,1 "X1 = FILL WEIGHT" PRINT 2,1 "X2
380 Application Examples • Auger Dispensing Application APPENDIXES Publication 1398-PM601A-EN-P — October 2000
Application Examples • Thermoformer Application 381 Thermoformer Application Description Thermoformers are used in many applications where plastic sheet material is formed into shapes to make a product or package. The basic operation of a thermoformer requires the plastic sheet to feed into the machine where it is heated and formed, and then indexed again to a cutter which cuts out the formed part.
382 Application Examples • Thermoformer Application Flow Chart START ASSIGN VARIABLE NAMES; SCANNED EVENT SETUP; X KEY ROUTINES; INITIALIZE VARIABLES; ENABLE X KEYS SCREEN=2? YES PRINT WAITING FOR START STATUS MESSAGE NO START=ON? NO YES BATCH COMPLETE OUTPUT OFF; STATE=1; TEMP_CNT=0 SCREEN=2? YES PRINT RUNNING BATCH STATUS MESSAGE NO SET ACCELERATION; CALCULATE NEW ANTICIPATE OUTPUT TURN-ON POSITION; ENABLE ANTICIPATE EVENT SCREEN=2? YES PRINT COUNT NO READY=ON? NO YES EXECUTE MOVE
Application Examples • Thermoformer Application SPEED ALPHA TIME OUT_LEN REL_LEN SCREEN STATE TEMP_CNT READY ANTICIPATE CUT BATCH_CMPLT G3 G4 G5 G8 V31 V34 V35 V38 I10 O2 O3 O4 ;Move speed ;Acceleration ;Dwell time ;Anticipation output length ;Output length relative to start of move ;Current operator terminal screen ;State of the control ;Temporary counter used for batch count ;I10 is the Ready input ;O2 is the Anticipate output ;O3 is the Cut output ;O4 is the Batch complete output ; ;Scanned event S1 tu
384 Application Examples • Thermoformer Application APPENDIXES READ 3,4 "^D0COUNT^D1 " ,SHOW COUNT,5,0(0,99999) PRINT 3,1 "X3:COUNT " IF COUNT <> 0 PRINT COUNT,5,0 ;If count = 0 run continuously IF COUNT = 0 PRINT "CONT" JMP X3E X3_1: ;If screen = 1 read new anticipate output length READ 3,4 "^D0OUT ON^D1 " ,SHOW OUT_LEN,7,3(0,999) PRINT 3,1 "X1:OUT ON " ,G8,7,3 X3E: XEND ;End of X3 key program ; ;The X4 key routine changes the operator terminal from one menu to the next.
Application Examples • Thermoformer Application 385 APPENDIXES BATCH_CMPLT OFF ;Turn off batch complete output STATE = 1 ;Change state to 1 (running batch) TEMP_CNT = 0 ;Initialize temporary batch counter IF SCREEN <> 2 JMP TFMR10 ;If screen = 2 print status message CLEAR 2 PRINT 2,2 "RUNNING BATCH" TFMR10: ACCEL = ALPHA;Set acceleration used in move IF SCREEN <> 2 JMP TFMR20;If screen = 2 print count CLEAR 3 ;If not continuous show programmed batch ; count PRINT 3,1 "COUNT = ",TEMP_CNT,5,0 IF COUNT<>0 P
386 Application Examples • In-line Bottle Filler In-line Bottle Filler Description The In-line Bottle Filler is typical of a motion control application generally referred to as a flying shear. Flying shear applications require work to be performed on a material while the material is in motion. A flying shear control must accelerate from a stop to match the speed of the moving material at a specific position, and then maintain synchronization of both position and velocity while the work is performed.
Application Examples • In-line Bottle Filler 387 encoder and master encoder. The scale parameter should be set for each encoder according to the machine mechanics. For example, if the leadscrew pitch is 5 revolutions per inch, and the encoder on the controlled axis has 8,000 pulses per revolution, then the SCALE parameter for the motor encoder (encoder 1) is 8,000 x 5 = 40,000 counts per inch.
388 Application Examples • In-line Bottle Filler Flow Chart START ASSIGN VARIABLES SCANNED EVENT XKEY ROUTINES INITIALIZE VARIABLES CALCULATE NEXT TARGET RELATIVE POSITION WAIT FOR PROGRAMMED NUMBER OF BOTTLES TO PASS YES TOO MANY BOTTLES HAVE PASSED NO POSITION ERROR OUTPUT ON ENABLE INTERRUPT WAIT FOR A BOTTLE BOTTLE? NO YES ACTIVATE ELECTRONIC GEARING CALCULATE CORRECTION MOVE PERFORM CORRECTION MOVE FILL OPERATION OUTPUT ON FILL OPERATION COMPLETE? YES APPENDIXES FILL OPERATION OUTPU
389 ;Source File Name: FILLER.QPS ;Version 3.
390 Application Examples • In-line Bottle Filler X3: CLEAR PRINT "POSITIVE LIMIT" READ 2,1 ,SHOW POS_LIM,7,3 CLEAR PRINT "LENGTH = " ,BOTL_LEN PRINT 2,1 "NUMBER = " ,BOTL_NUM PRINT 3,1 "LIMIT = " ,POS_LIM PRINT 4,1 "X1:LEN X2:NUM X3:LIM" XEND ;Main Program X1 CONT X2 CONT X3 CONT CLEAR PRINT "LENGTH = " ,BOTL_LEN PRINT 2,1 "NUMBER = " ,BOTL_NUM PRINT 3,1 "LIMIT = " ,POS_LIM PRINT 4,1 "X1:LEN X2:NUM X3:LIM" ALL OFF MOVP 0 BOTL_LEN = 0 BOTL_NUM = 0 POS_LIM=0 GEAR = 2 LAST_BTL = @POS2 FILLER_HOM = POS1 CFILLE
Application Examples • In-line Bottle Filler WAIT FILL_CMPLT ON FILL_EN OFF GEAREN OFF MOVP FILLER_HOM JMP MAIN PSN_ERR: POS_ERR ON END 391 ;Wait until the fill operation has completed ;Turn off filling machine ;Turn off electronic gearing ;Return fillerhead to home position ;Return to start of main program APPENDIXES NOTE: The correction distance is calculated in encoder counts so the distance is still properly calculated if the position counter rolls over.
392 Application Examples • Vertical, Form, Fill and Seal Vertical, Form, Fill and Seal Description Vertical form, fill, and seal (VFFS) machines are used in a variety of packaging applications. As the name implies, the machine starts with film in a roll, forms the film into a tube, fills the tube with the correct amount of product, and seals the top and bottom of the package. The VFFS machine typically is used in packaging of dry materials such as cereals, snack foods, kitty litter, and fertilizer.
Application Examples • Vertical, Form, Fill and Seal 393 lish a window around the nominal registration mark position where it will recognize registration sensor transitions. Any sensor transitions outside this window are ignored. The controller must detect the registration marks and adjust the motion so that the cut and seal is in the proper position relative to the printing on the film.
394 Application Examples • Vertical, Form, Fill and Seal Flow Chart START ASSIGN VARIABLE NAMES; SCANNED EVENT SETUP; X KEY ROUTINES; INITALIZE VARIABLES; ENABLE X KEYS YES SCREEN=3? PRINT WAITING FOR START STATUS MESSAGE NO START=ON? NO YES STATE=1; CORRECT=0; TEMP_CNT=0 YES SCREEN=3? PRINT RUNNING STATUS MESSAGE NO SET ACCELERATION YES SCREEN=3? PRINT COUNT NO READY=ON? NO YES REGISTRATION ON? YES ADD CORRECTION TO MOVE; CALCULATE START AND END OF REGISTRATION WINDOW; INTERRUPT FLAG O
395 ; G Variable Assignments ASSIGN BOTL_LEN G1 ;Length between each bottle ASSIGN BOTL_NUM G2 ;Number of bottles being filled in one operation ASSIGN LAST_BTL G3 ;Position of last bottle where fillerhead began ; tracking conveyor speed ASSIGN POS_LIM G4 ;Fillerhead forward position limit ; V Variable Assignments ASSIGN FILL_LEN V1 ;Length between bottle 1 and botl_num + 1 ASSIGN NEXT_BTL V2 ;Next position where fillerhead will begin ; tracking conveyor ASSIGN TEMP1 V3 ;Botl_num - 1 position in counts (Sca
396 Application Examples • Vertical, Form, Fill and Seal CLEAR PRINT "LENGTH = " ,BOTL_LEN PRINT 2,1 "NUMBER = " ,BOTL_NUM PRINT 3,1 "LIMIT = " ,POS_LIM PRINT 4,1 "X1:LEN X2:NUM X3:LIM" XEND ;Main Program X1 CONT X2 CONT X3 CONT CLEAR PRINT "LENGTH = " ,BOTL_LEN PRINT 2,1 "NUMBER = " ,BOTL_NUM PRINT 3,1 "LIMIT = " ,POS_LIM PRINT 4,1 "X1:LEN X2:NUM X3:LIM" ALL OFF MOVP 0 BOTL_LEN = 0 BOTL_NUM = 0 POS_LIM=0 GEAR = 2 LAST_BTL = @POS2 FILLER_HOM = POS1 CFILLER_HOM = UTOC1 FILLER_HOM WAIT BOTL_LEN <> 0 WAIT BOT
Application Examples • Vertical, Form, Fill and Seal MOVP FILLER_HOM JMP MAIN PSN_ERR: POS_ERR ON END 397 ;Return fillerhead to home position ;Return to start of main program APPENDIXES NOTE: The correction distance is calculated in encoder counts so the distance is still properly calculated if the position counter rolls over.
398 Application Examples • Lane Diverter Lane Diverter Description In material handling, it is often necessary to sort packages based on size. The machine sorts packages by length, using a gate to steer the package to the appropriate output lane. The ULTRA Plus or IQ Positioning Drive Module (PDM) is required to measure package length by watching a photo-eye and an encoder connected to the conveyor.
Application Examples • Lane Diverter 399 This is the number of auxiliary encoder pulses/unit. The Scale2 parameter determines the units of speed for G6 (minimum velocity) as well as the units of distance for G7 (debounce distance). Timebase This parameter determines if the G6 (minimum velocity) speed is in units/minute or units/second. Accel This parameter determines the acceleration and deceleration rates used to move to a new position. See Part 5 • Language Reference for more details.
400 Application Examples • Lane Diverter Flow Chart Start Turn on Package Scan Turn on Feedrate Override Scan Wait for all exit sensors to clear Wait for package to be sensed Get package parameters reset Package Scan Set target according to package size yes Vel2 < minimum velocity ? Calculate velocity using minimum vel2 no Calculate velocity using vel2 Move to target with calculated velocity Wait for package to exit the gate APPENDIXES TITLE "lane_dv2" ;Version 3.
Application Examples • Lane Diverter V7 V8 V9 ; Input Assignments ASSIGN In_sense I11 ASSIGN Exit_sense1 I12 ASSIGN Exit_sense2 I13 ASSIGN Exit_sense3 I14 ; Scanned Events S1:IF I11 EDGE ON { Eon2=pos2 Deb_pos = Eon2 + Deb_dist S2 ON } ;the calculated move speed ;holds vel2 for computation and S4 ;temporary variable for calculation ;the input sensor, used to determine length and ; position ;first exit sensor, used to determine if package ; is out of gate ;second exit sensor ;third exit sensor ;look for
402 Application Examples • Lane Diverter ;Multiplying Min_vel by 8 brings the feedrate in ; Scanned Event S4 to 12.5%, and the mov_vel ; calculation to 800% of normal. This brings velocity to ; computed value, but allows speed-up to 16x this speed ; instead of the 2x FDR limit of 200%.
Application Examples • Automated Test Station 403 Automated Test Station Description An automated test station is used to perform various tests on a manufactured part or assembly. An operator loads the part into a mechanical fixture and starts the test. The Allen-Bradley ULTRA Plus or IQ Positioning Drive Module and brushless motor perform the tests and transmit results to a host computer through a serial interface.
404 Application Examples • Automated Test Station current to torque, the current can be multiplied by the KT of the motor. There are factors that can affect the accuracy of these results so if high accuracy is needed for torque measurements, some additional calculations may be necessary. The first factor is the variation of KT from one motor to another. If multiple stations are performing the same tests, this can be a concern.
Application Examples • Automated Test Station 405 Output 2 is connected to a light to indicate the part failed the test. It may also be used to fire a solenoid that moves a gate or conveyor to deflect the part to the proper location for rework or scrap. Output 3 - Ready Output 3 is used to tell the operator that the previous test is complete and to load a new part. Output 4 - Error Output 4 can be used to indicate an error in the test setup.
406 Application Examples • Automated Test Station APPENDIXES TITLE "ATS" ;Source File Name: ATS.QPS ;Version: 3.
Application Examples • Automated Test Station ;-----------------------------S1 CONT DISABLE ALL OFF Ready = ON Timerdone = OFF Begin: WAIT Testcomplete = OFF WAIT Starttest = ON ALL OFF ENABLE Setuperr: Setuperror = ON DISABLE JUMP Begin 407 Main Program -----------------------------;Activate scan for Stop input ;Disable IQ to allow operator to move motor ; shaft to load the part ;Clear all outputs ;Signal ready for a new part ;Clear timer ;Beginning of test loop ;Wait for host to read data and clear fla
408 Application Examples • Automated Test Station MOVV = 0 WAIT Timerdone = ON Test2deflect = POSN - Startpos IF Test2deflect > Maxdistance Fail = ON ELSE Pass = ON DISABLE ILIMIT = Normalcurrent JUMP Done ;Stop commanded motion ;Wait for timer to finish ;Measure how much the part moved ;Compare to tolerance ; to determine pass or fail ;Disable IQ ;Restore current limit ;Finish the test ;Test 3 - Measure velocity at constant torque Begin3: IF Testvel <= 0 JUMP Setuperr IF Maxvel <= 0 JUMP Setuperr IF Cu
Application Examples • Automated Test Station 409 ;This section contains instructions done at the end of each ; of the tests ;Turn on output to indicate test is complete ;Set flag to tell host to read data ;Clear timer ;Return to beginning APPENDIXES Done: Ready = ON Testcomplete = ON Timerdone = OFF JUMP Begin END Publication 1398-PM601A-EN-P — October 2000
410 What’s New in Each Version • New Features What’s New in Each Version New Features Changes to Version 3.2.4 from Version 3.2.3 • IQ Master software runs on Allen-Bradley ULTRA Plus. Changes to Version 3.2 from Version 3.0 APPENDIXES • Software driven programming of Personality Modules which removes the need for preprogrammed Personality Modules to accommodate each drive/motor configuration. • Addition of a Purge Motion function. • Ability to define positions (POS1 and POS2) independently.
What’s New in Each Version • New Features 411 Changes to Version 3.0 from Version 2.1 • Support for IQ Cam • Tracking function enhancement to electronic gearing • Compiler options program statements • Off-line parameter editing • DDE Server capability • Support for redefining key codes for generic operator terminals • Support for connecting one Operator Terminal to multiple IQs • Movecomplete and Jogactive system flags • Toolbar button for File Transfer Changes to Version 2.
412 What’s New in Each Version • New Features JACCEL = 100 JDECEL = V1 • Many other parameters, system variables, and system flags have been added to the programming language. Refer to the Help menu or the Version 2 IQ manual for a complete list of programming language statements. Syntax Changes to Version 2.0 from Version 1.xx Define Home (DH) The Define Home statement, DH, cannot specify a position. DH can only be used to define the present position as Home (0).
What’s New in Each Version • New Features 413 Some Error messages have been changed. Refer to the Help menu or the version 2 IQ Manual.
414 Upgrading From Version 1 • Backup Existing Files and Personality Module Upgrading From Version 1 Backup Existing Files and Personality Module Before you begin the installation process you should make a backup copy of your Personality Module. The Personality Module contains all the parameter and programs for your existing application. If something fails in the installation the backup copy will be required to operate again with version 1. To upgrade an existing IQ with Version 1.
Upgrading From Version 1 • Install new EPROMS 415 Install new EPROMS The following instructions are excerpted from the ULTRA Plus or IQ-Series Installation Manual (13985.1, Part Number 0013-1027-004 or Part Number 0013-1022-004). Refer to the apprporiate manual for more information. 1. Remove power from the IQ. Remove the cover from the IQ. 2. Remove the firmware EPROMS from the sockets U57, U66, U67, and U87. 3. Install the new EPROMS into the appropriate sockets.
416 Upgrading From Version 1 • Upgrade Personality Module program must be saved to the IQ using Save Program to IQ from the File menu. NOTE: All parameter settings will be preserved from previous values.
417 APPENDIXES Upgrading From Version 1 • Upgrade Personality Module Publication 1398-PM601A-EN-P — October 2000
418 Error Messages • Upgrade Personality Module Error Messages If there is a fault, the ULTRA Plus or IQ can provide specific error messages. The error messages are displayed on the optional Operator Terminal. If a personal computer running IQ Master is connected to the P6 connector, the error message can be displayed in the Monitor menu, Status dialog box. The error output may be disabled and used as a general purpose output. Therefore, this output may not be available for diagnostic purposes.
Error Messages • Upgrade Personality Module 419 The faults that activate the error output are (the number preceding the fault is the error number): Error Message Description 3 2ms Reentrancy Fault The system did not finish required calculations in the previous 2ms position loop update in time for the next position loop update. 4 Math Overflow A math overflow occurred (a calculation exceeded the internal system limit). Check the values of the variables used in the program.
420 33 Iavg Fault The average current output of the ULTRA Plus or IQ exceeded safe levels for the motor or PDM module. Check for correct connection of the motor encoder to the ULTRA Plus or IQ or of the motor leads to the PDM. Another possible cause is motor stall or end of travel condition, excessive duty cycle, or no DC bus (drive) voltage.
421 44 Bus Overvoltage The DC bus voltage exceeded safe levels. This error usually indicates that the power supply shunt is not operating properly. Check the shunt fuse on the Power Supply Module (ULTRA Plus or IQ-5000 only). Refer to the appropriate ULTRA Plus or IQ-Series Installation Manual (1398-5.1, Part Number 0013-1027-004 or Part Number 0013-1022-004).
422 Error Messages • Upgrade Personality Module APPENDIXES 66 Compiler Version Indicates that one or more programs need to be re-compiled (the program was compiled with an older version of the compiler). Open the program, compile the program, and save the new compiled program to the ULTRA Plus or IQ. This may have to be done for every program in the ULTRA Plus or IQ (this error may occur when a new version of IQ Master is installed).
Error Messages • Upgrade Personality Module 423 Uninitialized PM The ULTRA Plus or IQ cannot operate until the Personality Module (NVRAM) has proper information about the connected drive and motor. Use the Initialize PM selection from the File menu to enter the drive, motor and encoder data. 74 NVRAM Compatibility The program directory structure (stored in the NVRAM) is incompatible with the current version of the firmware. See the README.
424 Error Messages • Upgrade Personality Module APPENDIXES Publication 1398-PM601A-EN-P — October 2000
Index Symbols @ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 Numerics 2ms Reentrancy Fault . . . . . . . . . . . . . . . . . 419 A ABORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 Abort Program . . . . . . . . . . . . . . . . . . . . . . . 177 About IQ Master . . . . . . . . . . . . . . . . . . . . 4, 81 ABSMODE . . . . . . . . . . . . . . . . . . . . . 178, 309 Absolute (MOVP) Motion . . . . . . . . . . . . . . 156 Absolute Mode . . . . . . . . . . . . . . . . .
426 • Axis Select . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 B Backup Existing Files and Personality Module . 414 Baud Rate . . . . . . . . . . . . . . . . . . . . . . . . . 49, 78 BCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 BCD Input Out of Range . . . . . . . . . . . . . . . 183 BCD Input Range . . . . . . . . . . . . . . . . . . . . . 419 BIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Bn . . . . . . . . . . . . . . . . . . . . . . . . .
• Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 Peak Current Command . . . . . . . . . . . . . 248 PICMD . . . . . . . . . . . . . . . . . . . . . . . . . . 248 Current Configuration . . . . . . . . . . . . . . . . . . 48 Cutting Text . . . . . . . . . . . . . . . . . . . . . . . . . . 35 D D, V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 D, V Segments (Sticks) . . . . . . . . . . . . 156, 189 DAC1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
428 • Replace . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Undo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 EFLAG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 ELSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 Emergency Return (I10) . . . . . . . . . . . . . 43, 87 Emergency Return Position . . . . . . . . . . . . . 202 Emergency Return System Program . . . . . . 353 ENA see ENABLE ENABLE . . . . . . . . . .
• FLTDIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 Fn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203, 314 FNACTIVE . . . . . . . . . . . . . . . . . . . . . . . . . 208 FNPGM . . . . . . . . . . . . . . . . . . . . 150, 209, 317 Following Error . . . . . . . . . . . . . . . . . . . . . . 205 Limit . . . . . . . . . . . . . . . . . . . . . . . . . 40, 205 Peak . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 Time . . . . . . . . . . . . . . . . . . . . . . . . .
430 • Switch Status . . . . . . . . . . . . . . . . . . . . . 216 System Program . . . . . . . . . . . . . . . . . . . 344 Velocity . . . . . . . . . . . . . . . . . . . . . . 43, 217 Home Not Defined . . . . . . . . . . . . . . . . . . . . 419 Home Sw Not Found . . . . . . . . . . . . . . . . . . 422 Home to a Limit Switch Program . . . . . . . . 359 Home to Encoder Index Program . . . . . . . . 359 Home Without Limit Switch Program . . . . . 359 HOMECMD . . . . . . . . . . . . . . . . . . .
• Enable (I3) . . . . . . . . . . . . . . . . . . . . . 43, 86 Expansion . . . . . . . . . . . . . . . . . . . . . . . . 104 General Purpose Inputs . . . . . . . . . . . . . . 85 Hardware Reset . . . . . . . . . . . . . . . . . . . . 89 Home Command . . . . . . . . . . . . . . . . . . . 87 Home Command (I6) . . . . . . . . . . . . . . . . 43 Home Switch . . . . . . . . . . . . . . . . . . . . . . 87 Home Switch (I5) . . . . . . . . . . . . . . . . . . . 43 Host Commands . . . . . . . . . . . . . . . . . .
432 • KP . . . . . . . . . . . . . . . . . . . . . . . . . 39, 231, 302 KP Out of Range . . . . . . . . . . . . . . . . . . . . . 419 KPZ . . . . . . . . . . . . . . . . . . . . . . . . 39, 232, 302 KPZ Out of Range . . . . . . . . . . . . . . . . . . . . 419 KT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 L Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 LABELS . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 Latched Position . . . . . . . . . . . .
• Stick Moves . . . . . . . . . . . . . . . . . . . . . . 156 TRACKINGMODE . . . . . . . . . . . . . . . . 274 Motor Overtemperature . . . . . . . . . . . . . . . . 420 MOVD . . . . . . . . . . . . . . . . . . . . . . . . . 236, 295 Move a Distance . . . . . . . . . . . . . . . . . . . . . 236 Move at Velocity . . . . . . . . . . . . . . . . . . . . . 238 Move to Position . . . . . . . . . . . . . . . . . . . . . 237 MOVECOMPLETE . . . . . . . . . . . . . . . 237, 308 MOVP . . . . . . . . . . . . . . . . .
434 • OTMON . . . . . . . . . . . . . . . . . . . . . . . . 241, 318 OTPUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 OTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 OTW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 OTX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 Output Defaults . . . . . . . . . . . . . . . . . . . . . . . 47 Outputs . . . . . . . . . . . . . . . . . . . . . . . 46, 68, 166 ALL . . . . . . . . . . . . . . .
• Pause Switch Active State . . . . . . . . . . . . 44 PGAIN . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Program Running (O4) . . . . . . . . . . . . . . 46 Program Select Lines . . . . . . . . . . . . . . . . 45 PZONE . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Reverse Software Travel Limit . . . . . . . . 40 Reverse Travel Limit (I2) . . . . . . . . . . . . 43 Rotation . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Rotation 2 . . . . . . . . . . . . . . . . . . . . . . .
436 • PZONE . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Position, Encoder 1 . . . . . . . . . . . . . . . . . . . 249 Position, Latched . . . . . . . . . . . . . . . . . . . . . 234 Positive Rotation Encoder 1 . . . . . . . . . . . . 259 Positive Rotation Encoder 2 . . . . . . . . . . . . 260 POSN . . . . . . . . . . . . . . . . . . . . . . . . . . 250, 308 POSN Fkey Program . . . . . . . . . . . . . . . . . . 337 PRECISION Out of Range . . . . . . . . . . . . . 419 PRINT . . . . . . . . . .
• Rollover . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 ROT . . . . . . . . . . . . . . . . . . . . . . . . . . . 259, 312 ROT2 . . . . . . . . . . . . . . . . . . . . . . . . . . 260, 312 Rotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Rotation 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 ROTT . . . . . . . . . . . . . . . . . . . . . . . . . . 259, 306 RPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 RRLY . . . . . . . . . . . . .
438 • Soft Forward Limit . . . . . . . . . . . . . . . . 43, 421 Soft Reset . . . . . . . . . . . . . . . . . . . . . . . . 56, 269 Soft Reverse Limit . . . . . . . . . . . . . . . . . 43, 421 Software Interrupt 2 . . . . . . . . . . . . . . . . . . . 267 SRESET . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 SRUN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 SS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 SSAVE . . . . . . . . . . . . . . . . . . . .
• Execute Home . . . . . . . . . . . . . . . . . . . . 333 Feedrate . . . . . . . . . . . . . . . . . . . . . . . . . 335 Home . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 Jog Forward . . . . . . . . . . . . . . . . . . . . . . 328 Jog Reverse . . . . . . . . . . . . . . . . . . . . . . 329 Monitor ADC1 . . . . . . . . . . . . . . . . . . . . 343 Monitor FE . . . . . . . . . . . . . . . . . . . . . . . 339 Monitor IAVE . . . . . . . . . . . . . . . . . . . . 341 Monitor ICMD . . . . . . . . .
440 • Filtered Motor Velocity . . . . . . . . . . . . . 210 FVEL1 . . . . . . . . . . . . . . . . . . . . . . . . . . 210 Home . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 Host Commands . . . . . . . . . . . . . . . . . . . 301 Jog Velocity . . . . . . . . . . . . . . . . . . . . . . 229 JVEL . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 Motor . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 MOVV Velocity . . . . . . . . . . . . . . . . . . 229 Peak Velocity . . . . . . .
441
Publication 1398-PM601A-EN-P — October 2000 Supersedes 0013-1020-004 0013-1088-001 © 2000 Rockwell International Corporation. Printed in USA.