FANUC Robotics System R-J3 through R-30iA Series Controller HandlingTool Application Programming Training Manual MATAGHAND1007CE REV. B This publication contains proprietary information of FANUC Robotics America Corporation furnished for customer use only. No other uses are authorized without the express written permission of FANUC Robotics America Corporation FANUC Robotics America Corporation 3900 W. Hamlin Road Rochester Hills, Michigan 48309-3253 The information illustrated or contained herein is not to be reproduced copied, translated into another language, or transmitted in whole or in part in any way without the prior written consent of the FANUC Robotics Corporation Copyright © 2010 by FANUC Robotics America Corporation All Rights Reserved Table of Contents 1 i COURSE OVERVIEW .................................................................................................... 1 1.1 COURSE GOAL: ................................................................................................................1 1.2 AUDIENCE: .......................................................................................................................1 1.3 PREREQUISITES: ..............................................................................................................1 1.4 COURSE SCHEDULE ..........................................................................................................2 1.5 TASK LIST ........................................................................................................................4 1.6 OBJECTIVES .....................................................................................................................6 2 PRE-TEST .................................................................................................................. 7 3 SAFETY .................................................................................................................... 15 3.1 3.1.1 Keeping People and Equipment Safe......................................................................16 3.1.2 Using Safety Enhancing Devices.............................................................................17 3.1.3 Setting Up a Safe Workcell......................................................................................17 3.1.4 Staying Safe While Teaching or Manually Operating the Robot..............................19 3.1.5 Staying Safe During Automatic Operation ...............................................................20 3.1.6 Staying Safe During Inspection ...............................................................................21 3.1.7 Staying Safe During Maintenance ...........................................................................21 3.2 KEEPING MACHINE TOOLS AND EXTERNAL DEVICES SAFE ...............................................23 3.2.1 Programming Safety Precautions ............................................................................23 3.2.2 Mechanical Safety Precautions ...............................................................................23 3.3 4 CONSIDERING SAFETY FOR YOUR ROBOT INSTALLATION .................................................16 KEEPING THE ROBOT SAFE ............................................................................................23 3.3.1 Operating Safety Precautions..................................................................................24 3.3.2 Programming Safety Precautions ............................................................................24 3.4 INDUSTRIAL ROBOT SAFETY TRAINING PROGRAM ............................................................24 3.5 FANUC TRAINING LAB SAFETY.......................................................................................25 ROBOT SYSTEM ........................................................................................................ 27 4.1 MECHANICAL UNIT ..........................................................................................................27 4.2 SOFTWARE ....................................................................................................................29 4.3 CONTROLLER .................................................................................................................30 4.3.1 Standard Operator Panel.........................................................................................32 4.3.2 MODE SELECT Switch (for Control Reliable option only).......................................34 4.3.3 T1 (<250mm/s): Test Mode 1 ..................................................................................35 Table of Contents ii MATAGHAND1007CE 4.3.4 T2 (100%): Test Mode 2 ..........................................................................................36 4.3.5 AUTO: Automatic Mode...........................................................................................37 4.3.6 Teach Pendant ........................................................................................................39 4.3.7 Motion Control Buttons and Keys ............................................................................41 4.3.8 Teach Pendant Keys ...............................................................................................42 4.3.9 Menu Favorites ........................................................................................................46 4.3.10 Quick/Full Menus ...................................................................................................49 4.4 5 PERIPHERAL EQUIPMENT ................................................................................................54 4.4.1 User Operator Panel (UOP).....................................................................................54 4.4.2 Communications ......................................................................................................54 POWER UP AND JOGGING ........................................................................................... 55 5.1 TURNING ON AND OFF THE CONTROLLER ........................................................................56 5.1.1 5.2 JOGGING THE ROBOT .....................................................................................................59 5.2.1 Jog Speed................................................................................................................60 5.2.2 Coordinate Systems ................................................................................................61 5.2.3 Jogging in JOINT .....................................................................................................63 5.2.4 Jogging in World ......................................................................................................64 5.2.5 Motion Groups .........................................................................................................68 5.2.6 Extended Axes and Sub-Groups .............................................................................69 5.2.7 Error Codes & Recovery..........................................................................................69 5.2.8 Hand Breakage Recovery........................................................................................76 5.2.9 Chain Failure Detection Error Recovery ..................................................................77 5.3 AXIS LIMITS ....................................................................................................................85 5.3.1 6 7 Cycle Power – R-30iA..............................................................................................56 Version Identification Status ....................................................................................88 FRAME SETUP ........................................................................................................ 101 6.1 TYPES OF FRAMES .......................................................................................................102 6.2 TOOL FRAME ................................................................................................................102 6.2.1 Jog Menu ...............................................................................................................121 6.2.2 User Frame............................................................................................................127 6.2.3 Jog Frame..............................................................................................................150 CREATING & WRITING A PROGRAM .......................................................................... 165 7.1 PLANNING A PROGRAM .................................................................................................171 7.1.1 Motion ....................................................................................................................171 Table of Contents iii MATAGHAND1007CE 7.2 WRITING A NEW PROGRAM ...........................................................................................174 7.2.1 Create a Program ..................................................................................................175 7.2.2 Defining Detail Information ....................................................................................180 7.3 TESTING A PROGRAM ...................................................................................................189 7.3.1 7.4 PROGRAM PAUSE AND RECOVERY ................................................................................190 7.4.1 7.5 Remote/Local Configuration ..................................................................................190 HOLD and Recovery..............................................................................................191 TEST CYCLE.................................................................................................................192 7.5.1 Test Cycle Setup ...................................................................................................192 7.5.2 Single Step Testing................................................................................................195 7.5.3 Continuous Testing................................................................................................200 7.6 CONTINUOUS TESTING USING CYCLE START BUTTON. ..................................................203 7.7 STANDARD OPERATOR PANEL CYCLE START PRODUCTION ...........................................205 8 MOTION INSTRUCTION ............................................................................................. 211 8.1 MOTION TYPE ..............................................................................................................212 8.2 POSITIONAL INFORMATION ............................................................................................219 8.3 SPEED .........................................................................................................................222 8.4 TERMINATION TYPE ......................................................................................................225 8.5 DEFINING DEFAULT MOTION INSTRUCTION INFORMATION ..............................................228 8.6 PREDEFINED POSITIONS ...............................................................................................230 8.7 POSITION REGISTERS ...................................................................................................234 COPYING & EDITING PROGRAMS .............................................................................. 245 9 9.1 COPYING A PROGRAM ..................................................................................................245 9.2 DELETING A PROGRAM .................................................................................................247 9.3 MODIFYING A PROGRAM ...............................................................................................248 10 PROGRAM INSTRUCTIONS ..................................................................................... 263 10.1 UNCONDITIONAL BRANCHING INSTRUCTIONS .................................................................264 10.1.1 JMP LBL[x] ..........................................................................................................264 10.1.2 CALL program .....................................................................................................264 10.1.3 END .....................................................................................................................265 10.2 CONDITIONAL BRANCHING INSTRUCTIONS .....................................................................266 10.2.1 IF R[x] [operator] [value] [action]..........................................................................266 10.2.2 IF [I/O] [operator] [value] [action] .........................................................................266 10.2.3 SELECT R[x] .......................................................................................................268 Table of Contents iv MATAGHAND1007CE 10.3 LABEL DEFINITION INSTRUCTION LBL[X]........................................................................269 10.4 REGISTER INSTRUCTIONS .............................................................................................270 10.5 REGISTERS ..................................................................................................................270 10.5.1 10.6 Register Addressing ............................................................................................270 LOOPING INSTRUCTIONS ...............................................................................................276 10.6.1 FOR…DO Loop ...................................................................................................276 10.6.2 While Loop...........................................................................................................277 10.6.3 Repeat Loop ........................................................................................................277 10.6.4 Position Register Instructions ..............................................................................278 10.6.5 PR[i,j] Position Register Element Instructions .....................................................279 10.7 WAIT [ITEM] [OPERATOR] [VALUE] [TIME] .......................................................................280 10.7.1 11 WAIT time ............................................................................................................282 I/O PROGRAMMING INSTRUCTIONS & OPERATION ................................................... 293 11.1.1 Input/Output (I/O).................................................................................................295 11.1.2 Remote I/O Interfaces..........................................................................................295 11.2 HARDWARE ..................................................................................................................297 11.3 TYPES OF SIGNALS .......................................................................................................301 11.4 SETTING UP I/O ...........................................................................................................303 11.4.1 Configuring I/O.....................................................................................................304 11.4.2 Digital I/O Setup...................................................................................................309 11.4.3 Robot IO/Setup ....................................................................................................314 11.4.4 Group I/O setup ...................................................................................................315 11.5 CONTROLLING I/O ........................................................................................................320 11.5.1 Forcing Outputs ...................................................................................................320 11.5.2 Simulating I/O ......................................................................................................323 11.6 STANDARD OPERATOR PANEL (SOP) I/O SETUP ............................................................327 11.7 INPUT/OUTPUT INSTRUCTIONS ......................................................................................329 11.7.1 Digital Input and Output Instructions....................................................................329 11.7.2 Robot Digital Input and Output Instructions .........................................................330 11.7.3 Group Input and Output Instructions....................................................................332 12 MISCELLANEOUS INSTRUCTIONS ........................................................................... 339 12.1 REMARK INSTRUCTION .................................................................................................339 12.2 OVERRIDE INSTRUCTION ............................................................................................339 12.3 TIMER INSTRUCTION .....................................................................................................340 Table of Contents v MATAGHAND1007CE 12.4 MESSAGE INSTRUCTION ...............................................................................................342 13 SYSTEM VARIABLES............................................................................................. 349 14 MACRO COMMANDS ............................................................................................. 355 14.1 SETTING UP MACRO COMMANDS ..................................................................................356 14.2 EXECUTING MACRO COMMANDS ...................................................................................362 15 PROGRAM ADJUST .............................................................................................. 369 15.1 16 ADJUSTING A PROGRAM OR A SCHEDULE ......................................................................371 PROGRAM AND FILE MANIPULATION ....................................................................... 383 16.1.1 Using a Memory Card Interface...........................................................................384 16.1.2 Setting the Default Device ...................................................................................385 16.1.3 Formatting Devices..............................................................................................387 16.1.4 Backing Up Files..................................................................................................392 16.1.5 Generating a Directory of Files ............................................................................399 16.2 DELETING A PROGRAM .................................................................................................402 16.3 LOADING PROGRAMS....................................................................................................407 16.3.1 16.4 CONTROLLER BACKUP AS IMAGES.................................................................................410 16.4.1 17 Loading an ASCII Teach Pendant Program ........................................................409 Restoring Controller Images ................................................................................413 POST-TEST ......................................................................................................... 419 List of Figures Figure 3-1 Sample Robot Cell ......................................................................................................................................25 Figure 4-1 Mode Select Switch ....................................................................................................................................34 Figure 4-2 Effect of Opening the Safety Fence While in AUTO Mode..........................................................................37 Figure 4-3 Legacy Standard Teach Pendant................................................................................................................39 Figure 4-4 iPendant Overview......................................................................................................................................40 Figure 4-5 iPendant Teach Pendant ............................................................................................................................41 Figure 4-6 EMERGENCY STOP Button.......................................................................................................................41 Figure 4-7 Menu Favorites ...........................................................................................................................................46 Figure 4-8 Teach Pendant............................................................................................................................................47 Figure 4-9 HandlingTool Full Menus (pages 1 and 2) ..................................................................................................49 Figure 4-10 Quick Menus (pages 1 and 2) ...................................................................................................................50 Figure 4-11 FCT Menus (pages 1 and 2) .....................................................................................................................50 Figure 4-12 DEADMAN Switch ....................................................................................................................................51 Figure 4-13 Teach Pendant Status Indicators ..............................................................................................................52 Figure 4-14 iPendant Status Indicators ........................................................................................................................52 Figure 5-1 Jog Speed Keys..........................................................................................................................................60 Figure 5-2 COORD Display..........................................................................................................................................61 Figure 5-3 Material Handling Teach Pendant...............................................................................................................91 Figure 6-1 Typical Tool Frame ................................................................................................................................... 106 Figure 6-2 Defining the Orientation of the Origin........................................................................................................ 115 Figure 6-3 World and User Frames............................................................................................................................ 131 vi Table of Contents MATAGHAND1007CE Figure 6-4 Defining the Origin .................................................................................................................................... 134 Figure 6-5 Defining the X Direction Point ................................................................................................................... 135 Figure 6-6 Defining the X-Y Plane.............................................................................................................................. 136 Figure 6-7 Defining the Origin .................................................................................................................................... 140 Figure 6-8 Defining the X Direction Point ................................................................................................................... 141 Figure 6-9 Defining the X-Y Plane.............................................................................................................................. 142 Figure 6-10 Defining the Second Origin ..................................................................................................................... 143 Figure 6-11 Jog Frame Defined Parallel to Part ......................................................................................................... 151 Figure 6-12 Defining the Origin .................................................................................................................................. 154 Figure 6-13 Defining the X Direction Point ................................................................................................................. 154 Figure 6-14 Defining the X-Y Plane............................................................................................................................ 155 Figure 6-15 Material Handling Teach Pendant........................................................................................................... 161 Figure 7-1 Continuous Termination Type for Palletizing............................................................................................. 171 Figure 7-2 Writing and Modifying a Program.............................................................................................................. 174 Figure 7-3 Example Program Showing Backward Execution ..................................................................................... 196 Figure 7-4 Material Handling Teach Pendant............................................................................................................. 207 Figure 8-1 Joint Motion Type...................................................................................................................................... 213 Figure 8-2 Linear Motion Type ................................................................................................................................... 214 Figure 8-3 Circular Motion Type................................................................................................................................. 216 Figure 8-4 Restart of Circular Motion Instruction........................................................................................................ 216 Figure 8-5 Restart of Circular Motion Instruction........................................................................................................ 217 Figure 8-6 Positional Information ............................................................................................................................... 219 Figure 8-7 Example of the Sec Speed Feature .......................................................................................................... 223 Figure 8-8 Robot Motion with Fine Termination Type................................................................................................. 226 Figure 8-9 Robot Motion with Continuous Termination Type...................................................................................... 227 Figure 8-10 Home Position......................................................................................................................................... 231 Figure 8-11 Repair Position........................................................................................................................................ 232 Figure 8-12 Safe Position........................................................................................................................................... 233 Figure 10-1 JMP LBL[x] ............................................................................................................................................. 264 Figure 10-2 CALL program......................................................................................................................................... 265 Figure 10-3 Program End Instruction ......................................................................................................................... 265 Figure 10-4 I/O IF Instruction for DI/DO, RI/RO, SI/SO and UI/UO ............................................................................ 267 Figure 10-5 I/O IF Instruction for R, AI/AO, GI/GO and System Variable................................................................... 267 Figure 10-6 Select Instruction .................................................................................................................................... 268 Figure 10-7 LBL[x]...................................................................................................................................................... 269 Figure 10-8 Direct and Indirect Addressing Example ................................................................................................. 271 Figure 10-9 R[x] = [value]........................................................................................................................................... 272 Figure 10-10 R[x] = [value] [operator] [value] ............................................................................................................. 274 Figure 10-21 PR[GRPn:x]=[value].............................................................................................................................. 278 Figure 10-22 PR[GRPn:x] = [value] [operator] [value] ................................................................................................ 278 Figure 10-23 Position Register Element PR[i,j] .......................................................................................................... 279 Figure 10-24 PR[i,j] = [value]...................................................................................................................................... 279 Figure 10-25 WAIT Condition for DI/DO, RI/RO, SI/SO, and UI/UO .......................................................................... 281 Figure 10-26 WAIT Condition for R, GI/GO, AI/AO, and Parameters......................................................................... 281 Figure 10-27 Wait Time.............................................................................................................................................. 282 Figure 12-1 Rack, Slot, Channel, and Starting Point .................................................................................................. 305 Figure 10-11 R[x] = DI[x] ........................................................................................................................................... 329 Figure 10-12 DO[x] = ON/OFF ................................................................................................................................... 330 Figure 10-13 DO[x] = PULSE [,width]......................................................................................................................... 330 Figure 10-14 DO[x] = R[x] .......................................................................................................................................... 330 Figure 10-15 R[x] = RI[x] ............................................................................................................................................ 331 Figure 10-16 RO[x] = ON/OFF ................................................................................................................................... 331 Figure 10-17 RO[x] = PULSE [,width]......................................................................................................................... 331 Figure 10-18 RO[x] = R[x] .......................................................................................................................................... 331 Figure 10-19 R[x] = GI[x]............................................................................................................................................ 332 Figure 10-20 GO[x] = value........................................................................................................................................ 332 Figure 11-1 Timer....................................................................................................................................................... 342 Figure 14-1 Teach Pendant User Keys ...................................................................................................................... 357 Figure 14-2 Operator Panel Buttons .......................................................................................................................... 358 Figure 16-1 Memory Card Interface Location............................................................................................................. 384 Table of Contents vii MATAGHAND1007CE List of Tables Table 4-1 Standard Operator Panel Status Indicators.................................................................................................33 Table 4-2 Navigation and Data Entry Keys ................................................................................................................42 Table 4-3 Execution/Robot Keys ..................................................................................................................................43 Table 4-4 Editing Keys .................................................................................................................................................44 Table 4-5 HandlingTool–Specific Keys.........................................................................................................................44 Table 4-6 Help and Diagnostic Key (iPendant only) ...................................................................................................44 Table 4-7 FCTN Menu Items........................................................................................................................................50 Table 5-1 Jog Speed Values .......................................................................................................................................60 Table 5-2 LCD Indicators .............................................................................................................................................61 Table 5-3 Coordinate Systems.....................................................................................................................................62 Table 5-4 Sub-Group Example.....................................................................................................................................69 Table 5-5 Hexadecimal Error Message Display ...........................................................................................................73 Table 5-6 Version Identification Status Items ...............................................................................................................88 Table 7-1 Test Cycle Conditions ................................................................................................................................ 193 Table 8-1 Range of Register Values to Specify a Variable Motion Speed.................................................................. 224 Table 9-1 Paste Methods ........................................................................................................................................... 255 Table 12-1 Rack Assignments for Different Kinds of I/O ............................................................................................ 306 Table 12-2 Slot Assignments for Different Kinds of I/O .............................................................................................. 307 Table 12-3 CONFIG Screen I/O Status...................................................................................................................... 311 Table 12-4 Range Setting Limitations ........................................................................................................................ 311 Table 12-5 UOP Input Signals.................................................................................................................................... 325 Table 12-6 UOP Output Signals................................................................................................................................. 327 Table 12-7 Standard Operator Panel Input Signals.................................................................................................... 327 Table 12-8 Standard Operator Panel Output Signals ................................................................................................. 328 Table 11-1 Program Timer Listing Screen Items........................................................................................................ 340 Table 11-2 Program Timer Detail Screen Items ......................................................................................................... 340 Table 14-1 Macro Command Assignments ................................................................................................................ 360 Table 16-5 System Files............................................................................................................................................. 393 Table 16-6 Types of Files........................................................................................................................................... 395 Table 16-7 File Types Listings and Descriptions........................................................................................................ 397 Table 16-8 Back Up Operations ................................................................................................................................. 398 Table 17-1 Startup Methods....................................................................................................................................... 445 Table 17-2 Error Facility Codes.................................................................................................................................. 445 Table B-3 Severity Descriptions ................................................................................................................................. 448 Table B-4 Effects of Error Severity............................................................................................................................. 450 Table B-5 Hexadecimal Error Message Display ......................................................................................................... 451 Table B-6 Hexadecimal Notation and Axis in Error Examples.................................................................................... 452 Table A-1 Password Levels........................................................................................................................................ 427 Table A-2 Password Error Messages......................................................................................................................... 437 Table A-3 Devices for Password Level Screen Permissions ...................................................................................... 441 Table A-4 Password Level Screen Permissions......................................................................................................... 441 viii Table of Contents MATAGHAND1007CE List of Procedures Procedure 4-1 Adding Menus to the Menu Favorites using MENUS Dialog Box.........................................................46 Procedure 5-1 Turning On the Robot ..........................................................................................................................57 Procedure 5-2 Cycling Controller Power (Controller R-30iA only) ...............................................................................58 Procedure 5-3 Turning Off the Robot ..........................................................................................................................58 Procedure 5-4 Displaying the Alarm Log Automatically...............................................................................................70 Procedure 5-5 Recovering from an Overtravel Error ...................................................................................................74 Procedure 5-6 Recovering from a Hand Breakage......................................................................................................76 Procedure 5-7 Chain Failure Detection Error Recovery ..............................................................................................78 Procedure 5-8 Jogging the Robot and Other Axes......................................................................................................80 Procedure 5-9 Setting Up Axis Limits..........................................................................................................................87 Procedure 5-10 Displaying the Version Identification Status .......................................................................................88 Procedure 6-1 Setting Up Tool Frame Using the Three Point Method ...................................................................... 107 Procedure 6-2 Setting Up Tool Frame Using the Six Point Method .......................................................................... 112 Procedure 6-3 Setting Up Tool Frame Using the Direct Entry Method ...................................................................... 117 Procedure 6-4 Using the Jog Menu........................................................................................................................... 121 Procedure 6-5 Selecting a Tool Frame ..................................................................................................................... 122 Procedure 6-6 Setting Up the User Frame Using the Three Point Method................................................................ 132 Procedure 6-7 Setting Up the User Frame Using the Four Point Method.................................................................. 138 Procedure 6-8 Setting Up User Frame Using the Direct Entry Method ..................................................................... 145 Procedure 6-9 Selecting a User Frame ..................................................................................................................... 148 Procedure 6-10 Setting Up the Jog Frame Using the Three Point Method ............................................................... 152 Procedure 6-11 Setting Up the Jog Frame Using the Direct Entry Method ............................................................... 157 Procedure 7-1 Change Wrist Orientation .................................................................................................................. 172 Procedure 7-2: Create a New Program ..................................................................................................................... 181 Procedure 7-3: Adding Motion Instructions to a TP Program ................................................................................... 188 Procedure 7-4 EMERGENCY STOP......................................................................................................................... 190 Procedure 7-5 Recovery from EMERGENCY STOP ................................................................................................ 191 Procedure 7-6 HOLD and Recovery.......................................................................................................................... 191 Procedure 7-7 Setting Up Test Cycle Conditions ...................................................................................................... 194 Procedure 7-8 Single Step Testing ........................................................................................................................... 197 Procedure 7-9 Continuous Testing Using the Teach Pendant .................................................................................. 201 Procedure 7-10 Continuous Testing Using the Operator Panel CYCLE START Button............................................ 203 Procedure 7-11 Running Production Using Standard Operator Panel (SOP) Cycle Start ......................................... 206 Procedure 8-1 Defining Default Motion Instructions .................................................................................................. 229 Procedure 8-2 Displaying and Setting Position Registers ......................................................................................... 235 Procedure 9-1 Copying a program within the SELECT menu ................................................................................... 246 Procedure 9-2 Deleting a Program from the SELECT Menu..................................................................................... 247 Procedure 9-3 Modifying a Program.......................................................................................................................... 250 Procedure 10-1 Displaying and Setting Registers ..................................................................................................... 275 Procedure 12-1 Setting up Digital I/O........................................................................................................................ 310 Procedure 12-2 Setting Up Group I/O ....................................................................................................................... 316 Procedure 12-3 Forcing Outputs ............................................................................................................................... 322 Procedure 12-4 Simulating and Unsimulating Inputs................................................................................................. 323 Procedure 11-1 Displaying the Program Timer Screen ............................................................................................. 341 Procedure 13-1 Displaying and Setting System Variables ........................................................................................ 351 Procedure 14-1 Setting Up Macro Commands.......................................................................................................... 359 Procedure 14-2 Assigning a Macro to SOP............................................................................................................... 362 Procedure 14-3 Assign Macro to USER key on Teach Pendant ............................................................................... 363 Procedure 14-4 Assign Macro to a Digital Input ........................................................................................................ 363 Procedure 14-5 Assign Macro to a Manual Functions Key........................................................................................ 364 Procedure 15-1 Adjusting Programs During Program or Production Run ................................................................. 372 Procedure 16-1 Using the Memory Card Interface .................................................................................................... 384 Procedure 16-3 Setting the Default Device ............................................................................................................... 386 Procedure 16-6 Formatting a Memory Card from the File Menu ............................................................................... 391 Procedure 16-7 File Backup...................................................................................................................................... 392 Procedure 16-8 Backing Up System and Program Files ........................................................................................... 397 Procedure 16-9 Generating a Directory of Files ........................................................................................................ 400 Procedure 16-10 Deleting a Program from the SELECT Menu................................................................................. 402 Procedure 16-11 Loading Files Using the FILE Menu............................................................................................... 404 Table of Contents ix MATAGHAND1007CE Procedure 16-12 Loading a Program ........................................................................................................................ 407 Procedure 16-13 Backing up a Controller as Images ................................................................................................ 410 Procedure 16-14 Restoring Controller Images .......................................................................................................... 413 Procedure A-1 Assigning Usernames and Default Passwords for each Password Level.......................................... 429 Procedure A-2 Logging In ......................................................................................................................................... 433 Procedure A-3 Logging Out....................................................................................................................................... 435 Procedure A-4 Changing Your Password.................................................................................................................. 435 Procedure A-5 Enabling the Password Log............................................................................................................... 439 Procedure A-6 Displaying the Password Log ............................................................................................................ 440 Lab Exercises Power Up and Jog the Robot in JOINT ........................................................................................................................93 Set Axis Limits..............................................................................................................................................................95 Jog the robot in WORLD mode ....................................................................................................................................97 Alternating Between QUICK/FULL MENU....................................................................................................................99 Viewing the Version Identification............................................................................................................................... 100 TOOL Frame Set up................................................................................................................................................... 125 Create a USER and JOG Frame................................................................................................................................ 163 Create a Program....................................................................................................................................................... 209 Motion Instruction....................................................................................................................................................... 241 Optional Program ....................................................................................................................................................... 243 Select/Modify and Execute a Program ....................................................................................................................... 261 Register Instructions .................................................................................................................................................. 285 Modifying Programs using Branching Instructions...................................................................................................... 289 Calling Programs........................................................................................................................................................ 290 Input/Output ............................................................................................................................................................... 337 Miscellaneous and Other TP Instructions................................................................................................................... 345 System Variable $SHFTOV_ENB and $DMAURST................................................................................................... 353 System Variable $SCR_GRP[1]................................................................................................................................. 354 MACRO COMMANDS ............................................................................................................................................... 367 Program Adjust .......................................................................................................................................................... 381 Program and File Manipulation .................................................................................................................................. 417 Image Backup and Restore........................................................................................................................................ 418 x Table of Contents MATAGHAND1007CE 1 1 COURSE OVERVIEW (5 days/32 hours) 1.1 Course Goal: Course Overview 1 HandlingTool Application Programming This course is intended for an operator, technician, engineer or programmer who must setup and record a programs on a robot. The course covers the Robot Operations outline intermixed with the tasks required to set up the specific application, test, run and refine the program and production setup. Upon successful completion of this course, the student can perform all procedures necessary to setup, test, and run application programs from the teach pendant. More specifically: Students successfully completing this course will be able to: • Power up and jog the robot • Recover from common program and robot faults • Execute production operations • Create, modify, and execute a material handling program • Create and execute MACROs • Monitor, force, and simulate input and output signals • Backup and restore individual programs and files Recommended safety procedures are integrated into all training exercises. The course consists of lectures, demonstrations, and a series of lab exercises designed to reinforce what the student has learned. In addition to lab exercises, a pre-test and a post-test are used to measure mastery of objectives. 1.2 Audience: This course is intended for the person who must setup and record a program on a robot with an application software package. 1.3 Prerequisites: None; although it maybe easier if the student has taken the Robot Operations class first. Course Overview 2 MATAGHAND1007CE 1.4 Course schedule Session 1 1. Administrative 2. Introduction – Course Description 3. Pre-Test 4. Safety 5. Power up/down the robot’s controller 6. Review servo faults recovery 7. Operating Procedures 8. Jog the robot in JOINT Session 2 1. Check the software limits and set as needed 2. Cartesian– Frames 3. Tool Frame Setup Session 3 1. Motion Programming 2. Test a program 3. Place the program into production mode Session 4 1. Editing a program 2. Looping instructions Session 5 1 Registers 2 Position registers Course Overview MATAGHAND1007CE Session 6 1. I/O review and instructions 2. Miscellaneous instructions Session 7 1. Macro setup and execution 2. Program Adjust Session 8 1. Program and file manipulation 2. Post-Test 3. Review Post Test 4. Complete Evaluations & Issue Certificates 3 Course Overview 4 MATAGHAND1007CE 1.5 Task List 1. Turning on & Jogging the Robot Perform the power up procedure. Jog the robot in JOINT, WORLD, and TOOL. Change the Jog Speed of the robot. Perform the power down procedure. Use SHIFT and COORD to access the current Jog Menu. 2. Change the Robot Software Limits Check/Change the software limits of the work envelope. 3. Set up Frames Set the User Frame to zero. Change the manual jog motion of the robot. Set a Tool Frame using Direct Entry with 4/5 axis robots. or Set a Tool Frame using 3Point Method with 6 axis robots. 4. Recover from Common Faults Look up each Error Message in the Alarm Log. Recover from servo down faults. Locate Error Code- Cause and Remedy 5. Create Teach Pendant Program Create a teach pendant program. Modify default motion instructions. Teach motion instructions. Teach a pre-defined position to a position register. Test a program using SHIFT and FWD/BWD. Write comments for programs, signals, positions, and/or position registers. Document some feature of the program in a REMARK. 6. Select/Modify Teach Pendant Program Select a teach pendant program. Place a program into production. Modify the logic of a program. Use the [INST] softkey to add program instructions. Use [EDCMD] to modify line features in the program. Touchup Points. Use SHIFT and POINT to replace an existing program line with a motion instruction. Modify motion instruction components. Course Overview MATAGHAND1007CE 7. Display & Setup I/O Use I/O instructions in an application. Force I/O signals. Simulate I/O signals. Monitor I/O signals. Configure I/O 8. Use the Program Adjust Feature Adjust a teach pendant program during production. 9. Setup and execute macros Create MACRO Headers. Assign MACRO Headers to a specific teach pendant program. Assign the motion control to the MACRO. Execute a MACRO. 10. Program & File Manipulation Load programs/files from the default device. Save programs/files to the default device. Copy programs in active RAM to another name. Copy files from one device to another. Backup teach pendant programs, application files, or system files. 5 Course Overview 6 MATAGHAND1007CE 1.6 Objectives 11. Safely power up the robot from a complete shutdown. Students successfully completing this course will be able to: Identify all components of the cell that are part of the powerup sequence. Recognize the main components of the robot Identify all safety considerations related to operating the cell. Describe the correct sequence for powering up the cell. Recognize and clear alarms that would inhibit cell operation. 12. Recover from common programming and servo alarm conditions. Clear servo alarm faults. 13. Safely and predictably jog the robot in specific manual jog systems. Lab safety in a robot cell in our Plant setting. 14. Create/Teach/Test a program. Login with a Password. Correct programming faults. Jog the robot in the Joint system. Setup and use Cartesian Frames while jogging. Create a program Header. Setup the User and Tool Frames. Teach the motion instructions. Test a program using the three-step method. 15. Select/Modify/Execut e a teach pendant program. Select a teach pendant program. 16. Use signals and specific cell and controller parameters. Force, simulate, and monitor signals. 17. Save/Load individual programs and files to/from a default device. Initialize a port. Edit the motion components of a program. Execute the program. Put it into production. Set needed system variables. Add signals and I/O instructions to the program. Set the default device. Perform file maintenance. 2 Pre-Test 7 HandlingTool Application Programming 2 PRE-TEST Name ___________________________________ Date _____________________________ This test is designed to evaluate your knowledge of FANUC HandlingTool Application Programming prior to your taking this course. Each question has four possible answers and a place to indicate, ”I don’t know.” Choose the one that best answers the question. There is only one right answer. This test tells us a little about you and helps us to tailor the course to meet your needs. We appreciate your taking the time to complete it. Score /25 1. Turning the Teach Pendant ON: A Activates the default program (MAIN) B Enables communications with external devices C Gives motion control solely to the operator via the Teach Pendant D Energizes robotic arm E I Don’t Know 2. Which must have been accomplished to avoid hard-stops and overtravels? A Set UTOOL offsets. B Set Software limits. C Set UFRAME offsets. D Move each robot joint at least +/- 20 degrees and reset. E I don’t know 3. SHIFT and the hardkey COORD will display the following menu: A The “POSITION” menu. B The “utilities” menu. C The “jog” menu. D The “manual functions” menu. E I Don’t Know Pre-Test 8 MATAGHAND1007CE 4. SHIFT and POINT are needed to do what? A Change robot speed B Request the positional screen to appear C Record the current position of the robot D Execute a MACRO program and return the robot to HOME E I Don’t Know 5. In the motion command “J P[2] 100% FINE”, If you wanted to change the “FINE” component to a “CNT100” what buttons would you press? A FCTN followed by ABORT ALL B SHIFT and FWD C SELECT followed by NEXT D Select component, then press [CHOICE] E I Don’t Know 6. To switch manually from one program to another, you have to be in which screen? A Select B Edit C Status D Position E I Don’t Know 7. How many Robot I/O points are standard on the RJ3iB controller? A 4 B 6 C 16 D 32 E I Don’t Know Pre-Test MATAGHAND1007CE 8. Which softkey is pressed to display the current motion instruction defaults from the EDIT screen? A POINT B NEXT C POSN D [INST] E I Don’t Know 9. Creating a program, which hard key should be pressed? A FCTN B FWD C Select D Hold E I Don’t Know 10. When using the Prog Adjust utility, which is correct? A All adjustments are relative to the TOOL frame B Pressing CLR_ADJ or CLR_ALL will save the current enabled/disabled data values C The maximum single linear adjustment allowed is 100 mm D Program Adjust is performed from the Status Setup Screen E I Don’t Know 11. Which of these tasks can be performed from the FILE menu? A Execute a program from a storage device. B Get a directory of the default device C List the program names for execution, teaching data, or editing D Print a program found on a disk E I Don’t Know 9 Pre-Test 10 MATAGHAND1007CE 12. If while jogging the robot, you get an “In singularity” error, what must you do? A Jog the robot in Tool B Change to the correct user frame C Joint jog J5 +/- at least 10 degrees D Press the position key and reset the axis limits E I Don’t Know 13. The “Program Header Information” at the DETAIL softkey enables you to modify the following program information, except: A Program name B Group mask C Active tool frame D Program sub type E I Don’t Know 14. What is the suggested type of motion used to move the robot to a Home position? A Linear B Simultaneous C Joint D Circular E I Don’t Know 15. Which softkey allows you to enter additional program instructions into a Teach Pendant program? A [ED_DEF] B EDIT C DETAIL D [INST] E I Don’t Know Pre-Test 11 MATAGHAND1007CE 16. Which of the following is a type of I/O signal? A UIP I/O B SIP I/O C Digital I/O D Configuration I/O E I Don’t Know 17. Which of the following hardkeys would bring the menu item ABORT ALL to the TP Screen? A FCTN B HOLD C RESET D E-STOP E I Don’t Know 18. If you would like to look at the positional data of P[3] in the instruction “J P[3] 100% FINE”, what buttons would you press? A Press the DATA hardkey, then F1 [TYPE], and choose 2 for PR[ ] B Press POSN hardkey to see the data directly C Cursor to the 3 of P[3] and press F5 POSITION D Press STATUS, NEXT, and F2 DETAIL E I Don’t Know 19. What are the two menus from which you can save Teach Pendant files? A SELECT & FILE B SELECT & DATA C SYSTEM & FILE D ED_CMD & CONFIG E I Don’t Know Pre-Test 12 MATAGHAND1007CE 20. Which is not a valid way to execute an assigned MACRO? A Pressing a Teach Pendant user key B Pressing the “USER 1” button on the SOP C Executing an item from the Manual Functions screen D Holding PREV and NEXT E I Don’t Know 21. Which instruction will increment Register 7 (R[7]) by 1? A R[7] = 1 B R[7] + 1 C R[7] ++ D R[7] = R[7] + 1 E I Don’t Know 22. What instruction will send program flow out to a sub-program? A JMP/LBL B REMARK C CALL D SELECT E I Don’t Know 23. What are the two (2) possible actions of an IF/SELECT statement? A SELECT & Set an OUTPUT B JMP/LBL & SELECT C Set an OUTPUT & CALL D CALL & JMP/LBL E I Don’t Know 24. To switch between JOINT, WORLD, TOOL, JGFRM, & USER for jogging purposes, you need to press which of the following keys? A Hold the SHIFT & FWD keys B Press POSN key C SHIFT & COORD keys D COORD key E I don’t know Pre-Test MATAGHAND1007CE 25. Where is Position Register (PR[ ]) data valid? A Within the current program only B Globally throughout the controller C Nowhere, Position registers are an instruction and therefore do not have data D Within a maximum of 2 programs E I Don’t Know 13 14 Pre-Test MATAGHAND1007CE 3 Safety 15 HandlingTool Application Programming 3 SAFETY HandlingTool Application Programming Safety FANUC Robotics is not and does not represent itself as an expert in safety systems, safety equipment, or the specific safety aspects of your company and/or its work force. It is the responsibility of the owner, employer, or user to take all necessary steps to guarantee the safety of all personnel in the workplace. – Considering Safety For Your Robot Installation – Keeping Machine Tools and External Devices Safe – Industrial Robot Safety Training Program – RIA Video – FANUC Training Lab Safety FANUC Robotics Safety system professionals can best determine the appropriate level of safety for your application and installation. FANUC Robotics therefore, recommends that each customer consult with such professionals in order to provide a workplace that allows for the safe application, use, and operation of FANUC Robotic systems. According to the industry standard ANSI/RIA R15-06, the owner or user is advised to consult the standards to ensure compliance with its requests for Robotics System design, usability, operation, maintenance, and service. Additionally, as the owner, employer, or user of a robotic system, it is your responsibility to arrange for the training of the operator of a robot system to recognize and respond to known hazards associated with your robotic system and to be aware of the recommended operating procedures for your particular application and robot installation. Safety 16 MATAGHAND1007CE FANUC Robotics therefore, recommends that all personnel who intend to operate, program, repair, or otherwise use the robotics system be trained in an approved FANUC Robotics training course and become familiar with the proper operation of the system. Persons responsible for programming the system– including the design, implementation, and debugging of application programs–must be familiar with the recommended programming procedures for your application and robot installation. The following guidelines are provided to emphasize the importance of safety in the workplace. 3.1 Considering Safety For Your Robot Installation 3.1.1 Keeping People and Equipment Safe Safety is essential whenever robots are used. Keep in mind the following factors with regard to safety: • The safety of people and equipment • Use of safety enhancing devices • Techniques for safe teaching and manual operation of the robot(s) • Techniques for safe automatic operation of the robot(s) • Regular scheduled inspection of the robot and workcell • Proper maintenance of the robot The safety of people is always of primary importance in any situation. However, equipment must be kept safe, too. When prioritizing how to apply safety to your robotic system, consider the following: • People • External devices • Robot(s) • Tooling • Workpiece Safety 17 MATAGHAND1007CE 3.1.2 3.1.3 Using Safety Enhancing Devices Setting Up a Safe Workcell Always give appropriate attention to the work area that surrounds the robot. The safety of the work area can be enhanced by the installation of some or all of the following devices: • Safety fences, barriers, or chains • Light curtains • Interlocks • Pressure mats • Floor markings • Warning lights • Mechanical stops • EMERGENCY STOP buttons • DEADMAN switches A safe workcell is essential to protect people and equipment. Observe the following guidelines to ensure that the workcell is set up safely. These suggestions are intended to supplement and not replace existing federal, state, and local laws, regulations, and guidelines that pertain to safety. • Sponsor your personnel for training in approved FANUC Robotics training course(s) related to your application. Never permit untrained personnel to operate the robots. • Install a lockout device that uses an access code to prevent unauthorized persons from operating the robot. • Use anti–tie–down logic to prevent the operator from bypassing safety measures. • Arrange the workcell so the operator faces the workcell and can see what is going on inside the cell. • Clearly identify the work envelope of each robot in the system with floor markings, signs, and special barriers. The work envelope is the area defined by the maximum motion range of the robot, including any tooling attached to the wrist flange that extend this range. • Position all controllers outside the robot work envelope. • Never rely on software as the primary safety element. • Mount an adequate number of EMERGENCY STOP buttons or switches within easy reach of the operator and at critical points inside and around the outside of the workcell. Safety 18 MATAGHAND1007CE • Install flashing lights and/or audible warning devices that activate whenever the robot is operating, that is, whenever power is applied to the servo drive system. Audible warning devices shall exceed the ambient noise level at the end–use application. • Wherever possible, install safety fences to protect against unauthorized entry by personnel into the work envelope. • Install special guarding that prevents the operator from reaching into restricted areas of the work envelope. • Use interlocks. • Use presence or proximity sensing devices such as light curtains, mats, and capacitance and vision systems to enhance safety. • Periodically check the safety joints or safety clutches that can be optionally installed between the robot wrist flange and tooling. If the tooling strikes an object, these devices dislodge, remove power from the system, and help to minimize damage to the tooling and robot. • Make sure all external devices are properly filtered, grounded, shielded, and suppressed to prevent hazardous motion due to the effects of electro–magnetic interference (EMI), radio frequency interference (RFI), and electro–static discharge (ESD). • Make provisions for power lockout/tagout at the controller. • Eliminate pinch points. Pinch points are areas where personnel could get trapped between a moving robot and other equipment. • Provide enough room inside the workcell to permit personnel to teach the robot and perform maintenance safely. • Program the robot to load and unload material safely. • If high voltage electrostatics are present, be sure to provide appropriate interlocks, warning, and beacons. • If materials are being applied at dangerously high pressure, provide electrical interlocks for lockout of material flow and pressure. Safety 19 MATAGHAND1007CE 3.1.4 Staying Safe While Teaching or Manually Operating the Robot Advise all personnel who must teach the robot or otherwise manually operate the robot to observe the following rules: • Never wear watches, rings, neckties, scarves, or loose clothing that could get caught in moving machinery. • Know whether or not you are using an intrinsically safe teach pendant if you are working in a hazardous environment. • Before teaching, visually inspect the robot and work envelope to make sure that no potentially hazardous conditions exist. The work envelope is the area defined by the maximum motion range of the robot. These include tooling attached to the wrist flange that extends this range. • The area near the robot must be clean and free of oil, water, or debris. Immediately report unsafe working conditions to the supervisor or safety department. • FANUC Robotics recommends that no one enter the work envelope of a robot that is on, except for robot teaching operations. However, if you must enter the work envelope, be sure all safeguards are in place, check the teach pendant DEADMAN switch for proper operation, and place the robot in T1 or T2 mode using the AUTO-T1T2 mode select switch. Take the teach pendant with you, turn it on, and be prepared to release the DEADMAN switch. Only the person with the teach pendant should be in the work envelope. WARNING Never bypass, strap, or otherwise deactivate a safety device, such as a limit switch, for any operational convenience. Deactivating a safety device is known to have resulted in serious injury and death. • Know the path that can be used to escape from a moving robot; make sure the escape path is never blocked. • Isolate the robot from all remote control signals that can cause motion while data is being taught. • Test any program being run for the first time in the following manner: WARNING Stay outside the robot work envelope whenever a program is being run. Failure to do so can result in injury. Safety 20 MATAGHAND1007CE ¾ Using a low motion speed, single step the program for at least one full cycle. ¾ Using a low motion speed, test run the program continuously for at least one full cycle. ¾ Using the programmed speed, test run the program continuously for at least one full cycle. • 3.1.5 Staying Safe During Automatic Operation Make sure all personnel are outside the work envelope before running production. Advise all personnel who operate the robot during production to observe the following rules: • Make sure all safety provisions are present and active. • Know the entire workcell area. The workcell includes the robot and its work envelope, plus the area occupied by all external devices and other equipment with which the robot interacts. • Understand the complete task the robot is programmed to perform before initiating automatic operation. • Make sure all personnel are outside the work envelope before operating the robot. • Never enter or allow others to enter the work envelope during automatic operation of the robot. • Know the location and status of all switches, sensors, and control signals that could cause the robot to move. • Know where the EMERGENCY STOP buttons are located on both the robot control and external control devices. Be prepared to press these buttons in an emergency. • Never assume that a program is complete if the robot is not moving. The robot could be waiting for an input signal that will permit it to continue activity. • If the robot is running in a pattern, do not assume it will continue to run in the same pattern. • Never try to stop the robot, or break its motion, with your body. The only way to stop robot motion immediately is to press an EMERGENCY STOP button located on the controller panel, teach pendant, or emergency stop stations around the workcell. Safety 21 MATAGHAND1007CE 3.1.6 3.1.7 Staying Safe During Inspection Staying Safe During Maintenance • When inspecting the robot, be sure to • Turn off power at the controller. • Lock out and tag out the power source at the controller according to the policies of your plant. • Turn off the compressed air source and relieve the air pressure. • If robot motion is not needed for inspecting the electrical circuits, press the EMERGENCY STOP button on the operator panel. • Never wear watches, rings, neckties, scarves, or loose clothing that could get caught in moving machinery. • If power is needed to check the robot motion or electrical circuits, be prepared to press the EMERGENCY STOP button, in an emergency. • Be aware that when you remove a servomotor or brake, the associated robot arm will fall if it is not supported or resting on a hard stop. Support the arm on a solid support before you release the brake. • When performing maintenance on your robot system, observe the following rules: • Never enter the work envelope while the robot or a program is in operation. • Before entering the work envelope, visually inspect the workcell to make sure no potentially hazardous conditions exist. • Never wear watches, rings, neckties, scarves, or loose clothing that could get caught in moving machinery. • Consider all or any overlapping work envelopes of adjoining robots when standing in a work envelope. • Test the teach pendant for proper operation before entering the work envelope. • If it is necessary for you to enter the robot work envelope while power is turned on, you must be sure that you are in control of the robot. Be sure to take the teach pendant with you, press the DEADMAN switch, and turn the teach pendant on. Be prepared to release the DEADMAN switch to turn off servo power to the robot immediately. • Whenever possible, perform maintenance with the power turned off. Before you open the controller front panel or enter the work envelope, turn off and lock out the 3– phase power source at the controller. Safety 22 MATAGHAND1007CE WARNING Lethal voltage is present in the controller WHENEVER IT IS CONNECTED to a power source. Be extremely careful to avoid electrical shock. HIGH VOLTAGE IS PRESENT at the input side whenever the controller is connected to a power source. Turning the disconnect or circuit breaker to the OFF position removes power from the output side of the device only. • Be aware that when you remove a servomotor or brake, the associated robot arm will fall if it is not supported or resting on a hard stop. Support the arm on a solid support before you release the brake. • Release or block all stored energy. Before working on the pneumatic system, shut off the system air supply and purge the air lines. • Isolate the robot from all remote control signals. If maintenance must be done when the power is on, make sure the person inside the work envelope has sole control of the robot. The teach pendant must be held by this person. • Make sure personnel cannot get trapped between the moving robot and other equipment. Know the path that can be used to escape from a moving robot. Make sure the escape route is never blocked. WARNING Do not try to remove any mechanical component from the robot before thoroughly reading and understanding the procedures in the appropriate manual. Doing so can result in serious personal injury and component destruction. • Use blocks, mechanical stops, and pins to prevent hazardous movement by the robot. Make sure that such devices do not create pinch points that could trap personnel. • Be aware that when you remove a servomotor or brake, the associated robot arm will fall if it is not supported or resting on a hard stop. Support the arm on a solid support before you release the brake. • When replacing or installing components, make sure dirt and debris do not enter the system. • Use only specified parts for replacement. To avoid fires and damage to parts in the controller, never use nonspecified fuses. Safety 23 MATAGHAND1007CE • Before restarting a robot, make sure no one is inside the work envelope; be sure that the robot and all external devices are operating normally. 3.2 Keeping Machine Tools And External Devices Safe Certain programming and mechanical measures are useful in keeping the machine tools and other external devices safe. Some of these measures are outlined below. Make sure you know all associated measures for safe use of such devices 3.2.1 Implement the following programming safety measures to prevent damage to machine tools and other external devices. 3.2.2 Programming Safety Precautions Mechanical Safety Precautions 3.3 Keeping The Robot Safe • Back–check limit switches in the workcell to make sure they do not fail. • Implement ‘‘failure routines” in programs that will provide appropriate robot actions if an external device or another robot in the workcell fails. • Use handshaking protocol to synchronize robot and external device operations. • Program the robot to check the condition of all external devices during an operating cycle. Implement the following mechanical safety measures to prevent damage to machine tools and other external devices. • Make sure the workcell is clean and free of oil, water, and debris. • Use software limits, limit switches, and mechanical hardstops to prevent undesired movement of the robot into the work area of machine tools and external devices. Observe the following operating and programming guidelines to prevent damage to the robot. Safety 24 MATAGHAND1007CE 3.3.1 3.3.2 Operating Safety Precautions Programming Safety Precautions The following measures are designed to prevent damage to the robot during operation. • Use a low override speed to increase your control over the robot when jogging the robot. • Visualize the movement the robot will make before you press the jog keys on the teach pendant. • Make sure the work envelope is clean and free of oil, water, or debris. • Use circuit breakers to guard against electrical overload. The following safety measures are designed to prevent damage to the robot during programming: • Establish interference zones to prevent collisions when two or more robots share a work area. • Make sure that the program ends with the robot near or at the home position. • Be aware of signals or other operations that could trigger operation of tooling resulting in personal injury or equipment damage. • In dispensing applications, be aware of all safety guidelines with respect to the dispensing materials. NOTE: Any deviation from the methods and safety practices described in this manual must conform to the approved standards of your company. If you have questions, see your supervisor. 3.4 Industrial Robot Safety Training Program RIA Video Safety MATAGHAND1007CE 3.5 FANUC Training Lab Safety Figure 3-1 Sample Robot Cell 25 26 Safety MATAGHAND1007CE NOTES: ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ 4 Robot System 27 HandlingTool Application Programming 4 ROBOT SYSTEM HandlingTool Application Programming Robot System • Four components to system – Mechanical Unit – Software – Controller – Peripheral Equipment FANUC Robotics 4.1 Mechanical Unit A robot is a series of mechanical links driven by servomotors. The area at each junction between the links is a joint, or axis. The first three axes make up the major axes as shown above. The major and minor axes, shown b elow, moves the tooling at the end of the robot arm. The movements are twisting, up-and-down, and side-to-side motions HandlingTool Application Programming Mechanical Unit AXIS 4 AXIS 3 AXIS 5 AXIS 6 AXIS 1 AXIS 2 FANUC Robotics Robot System 28 MATAGHAND1007CE HandlingTool Application Programming M1iA Unit J1 link J2 link J4 link J3 link J5 link J6 link FANUC Robotics A robot is classified by the number of linear and rotational major axes. . Hand ling Tool Appl icati on Prog ramm ing Mechanical Unit •Major Axes – J1, J2, J3 – Establish shape of work envelope – Position EOAT within work envelope – Define location of frames of motion FANUC Robotics •Minor Axes – J4, J5, J6 – Control orientation of EOAT – Orientation established by rotating about major axes of robot Robot System MATAGHAND1007CE HandlingTool Application Programming Mechanical Unit • Each axis is driven by an AC servomotor – 200 VAC – Uses Serial Pulse Coder for positioning – Motors are not customer serviceable • Each motor has an internal brake – Applied mechanically, released electrically by signal from servo amplifier – Can be damaged by improper lubrication of robot – Brake failure is typically due to lack of current at the brake rather than failure of the brake itself – If the brake fails, the motor must be replaced FANUC Robotics 4.2 Software HandlingTool Application Programming Software • • • • • Defines the function of the robot Contains core operating program User programs Fault Isolation and Diagnostics User Defined parameters – Frames – System Variables – I/O Configuration • Communication Protocols FANUC Robotics HandlingTool software works in conjunction with the robot and a controller to allow you to: • Set up information required for the application • Program your application • Test your program • Run production • Display and monitor process information 29 Robot System 30 MATAGHAND1007CE 4.3 Controller HandlingTool Application Programming Controller • Converts program data into servo drive signals – Main Board, Servo Amplifier • Contains communication hardware – I/O Hardware • Interface with work cell – – Emergency stop connections Communication ports FANUC Robotics The controller can be attached to the robot and contains the power supply, operator controls, control circuitry, and memory that direct the operation and motion of the robot and communication with external devices. You control the robot using a teach pendant or an operator panel. Some systems contain an optional cathode ray tube/keyboard (CRT/KB or an optional user operator panel (UOP) that provides a remote user interface to the controller. The controller can communicate with a variety of devices. Its I/O system provides an interface between the system software through I/O signals and serial communication ports to external devices. Remote I/O interfaces allow the controller to send signals to a remote device over a single cable. Consult your FANUC Robotics representative for more information. The motion system directs robot motion for all robot axes, including any extended axes and up to four additional motion groups. Controller memory stores the HandlingTool software in addition to any user-defined programs and data. The A and B-size controller is shown on the next page. Robot System 31 MATAGHAND1007CE HandlingTool Application Programming FANUC Controllers A - Size Controller B - Size Controller FANUC Robotics The controller provides the capability to interact with external devices. The controller is configurable internally depending on the number and kinds of external devices that you have in your system. Robot System 32 MATAGHAND1007CE 4.3.1 Standard Operator Panel The operator panel contains buttons, keyswitches, and connector ports and is part of the controller. HandlingTool Application Programming Identify the Standard Operator Panel (SOP) To identify each button on the Operator Panel, click on the Operator panel that you are using Standard Operator Panel (SOP) R-30iA Standard Operator Panel (SOP) R-J3iB SYSTEM R-J3 FANUC USER1 USER2 REMOTE/LOCAL HOLD EMERGENCY STOP FAULT RESET CYCLE START REMOTE BATTERY ALARM FAULT ON OFF Standard Operator Panel (SOP) R-J3 FANUC Robotics HandlingTool Application Programming SOP Components PCMCIA and Com ports Mode Select Switch FANUC Robotics Standard Operator Panel Robot System 33 MATAGHAND1007CE Table 4-1 Standard Operator Panel Status Indicators INDICATOR DESCRIPTION R-J3 R-J3iB R-30iA BATTERY ALARM This item indicates that the backup battery voltage is low. FAULT This item indicates that a fault condition has occurred. REMOTE This item indicates that the operator panel does not have motion control REMOTE/LOCAL This item allows you to set control to either remote (such as a PLC), or local (controller has control). ON/OFF This item indicates that the controller is either ON or OFF. CYCLE START This item, when lit, indicates that a program is running. USER LED #1, #2 These items are user-definable. You can assign macros to run when these buttons are pushed. HOLD This item pauses a running program without dropping servo motors. E-STOP This item stops the robot immediately. CAUTION Under certain load/speed conditions it could be possible to damage some mechanical units when E-stop button is pressed. In non-emergency situations the HOLD button is the preferred method of stopping the robot. FAULT RESET This item clears a fault message from the teach pendant screen after it has been corrected. NOTE: (checkmark) designates the Indicator is present Robot System 34 MATAGHAND1007CE 4.3.2 MODE SELECT Switch (for Control Reliable option only) The MODE SELECT switch is a keyswitch installed on the operator panel or operator box on controllers that have the Control Reliable option. You use the MODE SELECT switch to select the most appropriate way to operate the robot, depending on the conditions and situation. The operation modes are AUTO, T1, and T2. See Figure 4-1. Figure 4-1 Mode Select Switch When you change the mode using the MODE SELECT switch, a message is displayed on the teach pendant screen and the robot is paused. You can also lock the keyswitch in the AUTO or T1 modes by removing the key from the switch. You cannot remove the key from the keyswitch when the key is in the T2 position. NOTE: If you change the mode from T1 or T2 to AUTO and the DEADMAN switch is pressed, a system error will occur and the mode will not change to AUTO until the DEADMAN switch is released NOTE: When an invalid combination is detected by the MODE SELECT switch, programs can be activated only from the teach pendant and the robot cannot operate at speeds of more than 250 mm/s. If a program is being executed at that time, it is forcibly terminated. Refer to the description of the SYST-037 error message for more information. The operation modes you can select using the MODE SELECT switch are described in the following sections. Robot System 35 MATAGHAND1007CE 4.3.3 T1 (<250mm/s): Test Mode 1 Program activation – Programs can be activated from the teach pendant only. However, programs can be activated only when the teach pendant is enabled and when the DEADMAN switch is in the center position. Robot speed • During Cartesian jogging, Cartesian speed is less than 250 mm/sec and joint speed is less than 10% of the maximum joint speed. • During joint jogging, face plate speed is less than 250 mm/sec. • During program test run at 100% override, the robot’s speed will be the program speed if the program speed is below the T1 mode safe speed. T1 mode safe speed is defined as 250 mm/sec for TCP and 10% of maximum joint speeds. If the program speed is above the T1 mode safe speed, robot motion will be executed at the T1 mode safe speed. With lower overrides, the robot speed is reduced proportionally according to the override setting. Safety equipment – The safety fence is bypassed. Locking the mode – You can lock the switch in T1 mode by removing the key from the switch. Possible errors • If you turn the teach pendant ON/OFF switch to OFF when the switch is in T1 mode, the robot stops and an error message is displayed. To remove the error, turn the teach pendant ON/OFF switch to ON and press RESET . • If you have set the singularity stop system variable, $PARAM_GROUP[n].$T1T2_SNGSTP, to TRUE, the robot will stop at singularity points while in T1 mode. If you change the value of this variable, you must turn the controller off and then on again for the change to take effect. Robot System 36 MATAGHAND1007CE 4.3.4 T2 (100%): Test Mode 2 Program activation – Programs can be activated from the teach pendant only. However, programs can be activated only when the teach pendant is enabled and the DEADMAN switch is in the center position. Robot speed • During Cartesian jogging, Cartesian speed is less than 250 mm/sec and joint speed is less than 10% of the maximum joint speed. • During joint jogging, face plate speed is less than 250 mm/sec. • During program test run, full program speed is allowed, and the override can be changed from low to 100%. Safety equipment – The safety fence is bypassed. Locking the mode – You cannot lock the switch in T2. You cannot remove the key from the switch in this mode. Possible errors • If you turn the teach pendant ON/OFF switch to OFF when the switch is in T2 mode, the robot stops and an error message is displayed. To remove the error, turn the teach pendant ON/OFF switch to ON and press RESET . • If you have set the singularity stop system variable, $PARAM_GROUP[n].$T1T2_SNGSTP, to TRUE, the robot will stop at singularity points while in T2 mode. If you change the value of this variable, you must turn the controller off then on again for the change to take effect. Robot System 37 MATAGHAND1007CE 4.3.5 AUTO: Automatic Mode Program activation – You must select AUTO mode and satisfy all other required conditions to enable the activation of programs from remote devices connected through the peripheral I/O. When the switch is in AUTO mode, you cannot start programs using the teach pendant. Robot speed – The robot can be operated at the specified maximum speed. Safety equipment – The safety fence is monitored. If the safety fence is opened during program execution (Figure 4-2): • Case 1– If the robot deceleration time is less than the hardware timer, then the robot will decelerate to a stop. When the robot stops, servo power OFF is initiated. • Case 2– If the robot deceleration time is greater than the hardware timer, then the robot will decelerate for the duration of the hardware timer and then stop abruptly when the hardware timer expires. When the hardware timer expires, servo power is turned OFF. Figure 4-2 Effect of Opening the Safety Fence While in AUTO Mode Refer to the FANUC Robotics Controller System Software Reference Manual for more information on these system variables. Locking the mode – You can lock the switch in AUTO mode by removing the key from the switch. Robot System 38 MATAGHAND1007CE Possible errors • If you turn the teach pendant ON/OFF switch to ON when in AUTO mode, the robot stops and an error message is displayed. To remove the error, turn the teach pendant ON/OFF switch OFF and press RESET . • If you have set the singularity stop system variable, $PARAM_GROUP[n].$AUTO_SNGSTP, to FALSE, the robot will pass through singularity points while in AUTO mode. If you change the value of this variable, you must cycle power for the change to take effect. Robot System 39 MATAGHAND1007CE 4.3.6 Teach Pendant The teach pendant is an operator interface device that displays the HandlingTool software menus. It is connected to the controller via a cable that plugs into either the MAIN CPU board inside the controller or, if it is a disconnectable teach pendant, to the operator panel. The teach pendant is the device you use to: • Move the robot • Create and edit programs • Test programs • Set up production • Check status • Perform manual functions • Configure the application The legacy teach pendant provides: • A 16 line x 40 character teach pendant screen • Eleven status indicators • Teach pendant keys designed to make HandlingTool easy to use Figure 4-3 shows the standard teach pendant for HandlingTool. Figure 4-3 Legacy Standard Teach Pendant Robot System 40 MATAGHAND1007CE In addition to these features the optional iPendant, shown in Figure 4-4, provides • A color graphics interface • Pop–up menus • Multiple windows • Internet/intranet access • Integrated Help and Diagnostics • Customized displays Figure 4-4 iPendant Overview HandlingTool Application Programming iPendant Overview On/Off switch FANUC Robotics NOTE: iPendant works with R-J3iB, R-30iA and higher controllers. Robot System 41 MATAGHAND1007CE 4.3.7 Motion Control Buttons and Keys ON/OFF Switch The monochrome teach pendant and the iPendant include keys that are used to display software menus, select options from the teach pendant menus, help you program, move the robot, and perform specific functions. This switch turns on and off the teach pendant. When the teach pendant is off, you cannot jog the robot, create a program, or test or run a program. See Figure 4-5. Figure 4-5 iPendant Teach Pendant Original iPendant EMERGENCY STOP Button iPendant with USB port The red EMERGENCY STOP button is located on the front of both teach pendant styles and can be pressed to stop the robot immediately in case of an accident or failure. See Figure 4-6. Figure 4-6 EMERGENCY STOP Button Robot System 42 MATAGHAND1007CE 4.3.8 Teach Pendant Keys The teach pendant has the following keys: • Navigation and Data Entry Keys • Robot Motion Keys • Execution Keys • Editing Keys • Application–Specific Keys • Help/Diagnostic Keys (iPendant only) Table 4-2 Navigation and Data Entry Keys Monochrome Teach Pendant/iPendant Key Symbolic Teach Pendant Key (if available) Function The F1 through F5 function keys are used to make choices based on the teach pendant display. Each function key has a unique label depending on the menu displayed on the teach pendant screen. The PREV key restores the most recent state. In some cases, the screen might not return to the immediately preceding status. The next page key is used to display the next set of function keys. The MENUS key is used to display the screen menu. The FCTN key is used to display the function menu. The SELECT key is used to display the program selection screen. The EDIT key is used to display the program edit screen. The DATA key is used to display the program data screen. The DISP key is available only on the iPendant and is used to activate the DISPLAY menu or change the focus. When you press SHIFT and the DISP key together, the DISPLAY menu appears. The DISPLAY menu allows you to change the number of windows displayed to be Single, Double, or Triple. The Status/Single choice displays status in addition to the single window. You can also use it to display help or diagnostics, set up user views and menu favorites, or to display a menu history. The FCTN key is used to display the supplementary menu. Robot System 43 MATAGHAND1007CE Table 4-3 Execution/Robot Keys Monochrome Teach Pendant/iPendant Key Symbolic Teach Pendant Key (if available) Function The GROUP key is used to switch groups. Hold down the GROUP key and press the numeric key to switch to a specified group. Press the GROUP key and the 0 key together to toggle the sub group The SHIFT key is used to jog the robot, teach the position data, and start a program. The right and left SHIFT keys have the same function. The jog keys are effective while a SHIFT key is pressed. They are used to jog the robot. The COORD key selects a jog coordinate system. Each time the COORD key is pressed, it selects the next jog type in the order: JOINT, JGFRM, World frame, TOOL, USER. When this key is pressed while a SHIFT key is pressed and held down, a jog menu for changing the coordinate system is displayed. The override key adjusts the feedrate override. Each time the override key is pressed, it selects the next override in the order: VFINE, FINE, 1%, 5%, 50%, 100%. The FWD key or BWD key (+ SHIFT key) starts a program. When the SHIFT key is released during regeneration, the program halts. The HOLD key causes a program to halt. The STEP key selects step or continuous test operation. RESET This resets key to reset faults after resolving the fault Robot System 44 MATAGHAND1007CE Table 4-4 Editing Keys Symbolic Teach Pendant Key (if available) Monochrome Teach Pendant/iPendant Key Prev Function The PREV key restores the most recent state. In some cases, the screen might not return to the immediately preceding status. The ENTER key is used to process and activate the current information set. The BACK SPACE key deletes the character or numeral immediately before the cursor. The arrow keys are used to highlight or select an item on the screen. The ITEM key moves the cursor to a line whose number is specified. Table 4-5 HandlingTool–Specific Keys TOOL 1 or 2 key displays the tool 1 or 2 screen. The MOVE MENU key is not supported for HandlingTool. The SET UP key displays the SETUP screen. The STATUS key displays the STATUS screen. The POSN key displays position data. The I/O key displays the I/O screen. Table 4-6 Help and Diagnostic Key (iPendant only) The HELP key displays help files that are available that describe the functions available for the active window. The SHIFT and DIAG keys together display diagnostic information for the currently active error or the selected error in the Alarm menu. This key is only available on the iPendant. Robot System 45 MATAGHAND1007CE HandlingTool Application Programming Hardware Features • Keyboard layout almost identical to current Teach Pendant – Easy to use for current customers – SHIFT, PREV, and NEXT Swapped for balance – FOCUS/DISPLAY key added – HELP/DIAG Key added for instant access to Help or Diagnostics F1 SHIFT F3 F4 F5 SHIFT TEACH MENU SELECT EDIT DATA FCTN PREV NEXT DISP HOLD -X (J1) +X (J1) FWD -Y (J2) +Y (J2) BWD -Z (J3) +Z (J3) COORD -X (J4) +X (J4) +% -Y (J5) +Y (J5) -Z (J6) +Z (J6) STEP RESET BACK SPACE ITEM ENTER 7 8 9 WELD ENBL 4 5 6 WIRE + 1 2 3 WIRE - 0 . , - POSN STATUS DIAG HELP FANUC Robotics F2 MAN FCTN % OTF AWE2 Robot System 46 MATAGHAND1007CE 4.3.9 Menu Favorites Menu Favorites allows you to generate and store a list of menus that you display most often. The example shown below has added Frames, Utilities and Group I/O are added to the menu favorites. To add a favorite menu is the same way you add a radio station to your radio button in your car. Figure 4-7 Menu Favorites Frames, Utilities and Group I/O are added to the menu favorites. Procedure 4-1 Adding Menus to the Menu Favorites using MENUS Dialog Box Step 1 Display the menu that you want to add as a favorite menu. 2 Press MENUS key 3 If the dialog box is shown at the bottom of the screen, you may press and hold the button or function key which you want to set for 3 seconds. The currently displayed menu will be added to the button with an icon. You may overwrite existing buttons. In addition, you may press the right arrow button or next key to display and set the next 5 buttons. The left-most exit button or prev key will cancel the Dialog Box and the Menus popup Robot System 47 MATAGHAND1007CE Figure 4-8 Teach Pendant Screen: Displays the software menus. Status Indicators: Display system status. FAULT PAUSED PREV: Displays the previous screen. NEXT: Displays more function keys when more are available. STEP ON/OFF Switch: Together with the DEADMAN switch, enables or disables robot motion. SHIFT key:Together with other keys performs a specific function. BUSY RUNNING I/O ENBL Function keys: Take specific action depending on the screen displayed. PROD MODE TEST CYC JOINT XYZ SHIFT key:Together with other keys, performs a specific function. EMERGENCY STOP BUTTON: Use this button to stop a running program, turn off drive power to the robot servo system, and apply robot brakes. TOOL OFF ON MENUS key: Use this key to display the screen menu. FCTN key: Use this key to display the supplementary menu. Cursor keys: Use these keys to move the cursor. STEP key: Use this key to switch between step execution and cycle execution. Program keys: Use these keys to select menu options. RESET key: Use this key to clear an alarm. ENTER key: Use this key to enter a numeric value or to select an item from the menu. POSN key: Use this key to display position data. I/O key: Use this key to display the I/O menu. MOVE MENU key: Not supported currently. FWD (forward) key: Use this key to run a program in the forward direction. TOOL 2 BACK SPACE key: Use this key to delete the character or number immediately before the cursor. ITEM key: Use this key to select an item using its number. HOLD key: Use this key to stop the robot. TOOL 1 MOVE MENU POSN I/O SET UP BWD (backward) key: Use this key to run a program in the backward direction. STATUS Jog keys: Use these keys to move the robot manually. COORD (coordinate) key: Use this key to select the jog coordinate system or select another group. STATUS key: Use this key to display the status screen. SET UP key: Use this key to display the SETUP screen. TOOL Keys: Use these keys to display the Tool 1 screen and Tool 2 screen. Jog Speed keys: Use these keys to adjust the speed of the robot when it moves. Robot System 48 MATAGHAND1007CE HandlingTool Application Programming Teach Pendant (TP) Controls and Functions SRVO-001 Op Panel E-Stop Prog_Name Line # Status JOINT 100% Function Key Identifiers Line 1 – Error Messages Line 2 – Program Name, Line Number, Status (Running, Paused, Aborted) Line 3 – Coordinate System and Speed Override Line 16 – Function Key Identifiers FANUC Robotics Robot System 49 MATAGHAND1007CE Teach Pendant Screen The teach pendant screen displays the HandlingTool software menus. All functions can be performed by making selections from the HandlingTool menus. 4.3.10 Quick/Full Menus You can alternate between display of the quick and full menus using the QUICK/FULL menus selection on the FCTN menu. The FCTN menu is displayed by pressing the FCTN key. When QUICK menus are active, the available editing functions are limited. NOTE: When passwords are used, the controller will boot up using Quick Menus. The full menus are a complete list of all HandlingTool menus. The QUICK menus are a partial list of specific menus. The HandlingTool full menus are shown in Figure 4-9. The HandlingTool quick menus are shown in Figure 4-10 Figure 4-9 HandlingTool Full Menus (pages 1 and 2) Robot System 50 MATAGHAND1007CE Figure 4-10 Quick Menus (pages 1 and 2) Figure 4-11 FCT Menus (pages 1 and 2) 1 2 3 4 5 6 7 8 9 0 FUNCTIONS ABORT (ALL) Disable FWD/BWD CHANGE GROUP* TOGGLE SUB GROUP* TOGGLE COORD JOG** TOGGLE WRIST JOG RELEASE WAIT TOGGLE REMOTE TCP*** CHANGE RTCP FRAME*** ---NEXT--- 1 2 3 4 5 6 7 8 9 0 FUNCTIONS QUICK/FULL MENU SAVE PRINT SCREEN PRINT UNSIM ALL I/O CYCLE POWER (R-30iA ONLY) ---NEXT--- * Available with multiple groups ** Available when the coordinated motion option is loaded *** Available when the Remote TCP option is loaded Table 4-7 FCTN Menu Items Menu Item ABORT (ALL) Disable FWD/BWD CHANGE GROUP TOGGLE SUB GROUP TOGGLE COORD JOG TOGGLE WRIST JOG RELEASE WAIT TOGGLE REMOTE TCP CHANGE RTCP QUICK/FULL MENU SAVE PRINT SCREEN PRINT Description Aborts any paused or running program. Disables the ability to execute program instructions using SHIFT FWD and SHIFT BWD. Changes the current group. Available only if multiple groups are used. Changes the group of axes used for jogging between the first six axes and any extended axes. Available only if extended axes are installed. This item turns on or off whether the robot jogs coordinated pairs using the coordinated motion option Turns on or off whether the robot jogs with the wrist joint motion option Overrides a pause in a running program in which the robot is waiting for I/O conditions to be satisfied Changes between remote TCP jogging and standard jogging, if remote TCP is enabled Changes the selected remote TC P frame for jogging, if remote TCP is enabled Changes between quick and full menu structures Saves variables and other data to the default device Prints the current screen to a serial printer or, if a PC is connected to the P3 port, to a file called TPSCRN.LS This item is not used Robot System 51 MATAGHAND1007CE DEADMAN Switch The DEADMAN switch is used as an enabling device. When the teach pendant is enabled, this switch allows robot motion only while the DEADMAN switch is gripped. If you release this switch, the robot stops immediately. See Figure 4-12. Figure 4-12 DEADMAN Switch NOTE: If you have the Control Reliable (RS-1/RS-4) option, and if the DEADMAN switch is fully compressed, robot motion is not allowed and an error occurs. This is the same as when the DEADMAN switch is released. To clear the error, press the DEADMAN switch in the center position and press RESET . Teach Pendant Status Indicators The teach pendant has several indicators to assist you in determining controller status. Robot System 52 MATAGHAND1007CE Figure 4-13 Teach Pendant Status Indicators FAULT HOLD STEP BUSY RUNNING I/O ENABLE PROD MODE TEST CYCLE JOINT XYZ TOOL OFF ON Figure 4-14 iPendant Status Indicators Busy Step Hold Fault Run I/O Prod TCyc Robot System 53 MATAGHAND1007CE Indicator FAULT HOLD Description Indicates that a fault condition has occurred. Indicates that the robot is in a hold condition. HOLD is not on continuously during a hold condition. STEP Indicates that the robot is in step mode. BUSY Indicates that the controller is processing information. RUNNING Indicates that a program is being executed. I/O ENABLE Indicates that the I/O is ENABLED PROD MODE Indicates that the robot is in PRODUCTION MODE. TEST CYCLE Indicates that the robot is in the TEST CYCLE *JOINT Indicates that the current jog coordinate system is JOINT. *XYZ Indicates that the current jog coordinate system is CARTESIAN (JOG FRAME OR WORLD). *TOOL Indicates that the current jog coordinate system is TOOL. * = Standard Teach Pendant Status Indicators only Robot System 54 MATAGHAND1007CE 4.4 Peripheral Equipment HandlingTool Application Programming Peripheral Equipment • Any item not a part of the Mechanical Unit, Controller or Software – PLC – End-of-Arm Tooling (EOAT) FANUC Robotics 4.4.1 User Operator Panel (UOP) 4.4.2 Communications Your system might be equipped with a user operator panel (UOP). A UOP is a customized operator panel that is wired to the controller. It can be a custom control panel, a cell controller, or a host computer. Your company should provide the information necessary to operate this panel. The controller has the capability of serial communication using: • RS-422 serial port, which is used for the teach pendant • RS-232-C and RS-422 serial ports, which can be used for ¾ CRT/KB ¾ FANUC Robotics Industrialized Terminal ¾ DEC VT-220 terminal ¾ IBM PC compatibles ¾ PS-100, PS-110, or PS-200 disk drives ¾ FANUC Robotics floppy ¾ Printers ¾ Debug monitor Refer to the “Program and File Manipulation” chapter in this manual for more information about setting up the RS–232–C and RS–422 serial ports. The controller also has the capability of using standard TCP/IP and UDP/IP protocols. FANUC Robotics-supplied options are as follows: • Ethernet for Local Area Networks (LANs) • FTP • Ethernet Controller Backup and Restore • ControlNet 5 Power Up and Jogging 55 HandlingTool Application Programming 5 POWER UP AND JOGGING HandlingTool Application Programming Power Up and Jogging • Turning on the controller provides power to the robot and does the following: – Initializes changes to system variables – Initializes changes to I/O setup – Displays the utilities hints screen(during Cold Start only) – Executes a command file(if programmed) • Before turning on the power perform a safety inspection of the robot and workcell to ensure that it is safe to do so. FANUC Robotics NOTE: The action list above might vary according to your particular setup and installation. HandlingTool Application Programming Jogging • Moves the robot at a slow speed to: – – Record path nodes or positional data Correct path nodes or positional data • Jogging is affected by the following: – – – – – Jog speed – how fast the robot moves Coordinate system Motion group – for robots with more than 1 motion group Extended axes – for robots with extended axes Remote TCP jogging(if installed) FANUC Robotics Power Up and Jogging 56 MATAGHAND1007CE 5.1 Turning On and Off the Controller Turning on the robot provides power to the robot and controller and performs the following actions: • Initializes changes to system variables • Initializes changes to I/O setup • Displays the utilities hints screen (during Cold start only) • Initializes changes to cell I/O The action list above might vary according to your particular setup and installation. WARNING Lethal voltage is present in the controller WHENEVER IT IS CONNECTED to a power source. Be extremely careful to avoid electrical shock. Turning the disconnect or circuit breaker to the OFF position removes power from the output side of the device only. High voltage is always present at the input side whenever the controller is connected to a power source. CAUTION Your plant might require additional inspections before turning on power to the robot. To help ensure safe operation, you should familiarize yourself with the guidelines for your particular installation before you turn on the robot. 5.1.1 Cycle Power – R-30iA The CYCLE POWER option is available on the FCTN menu after a Cold start. This item toggles the power relay via external I/O. The teach pendant must be enabled for this to work. If the teach pendant is enabled, a prompt box will be displayed asking if you are sure. This is not available on an external robot connection — only from the teach pendant. Power Up and Jogging 57 MATAGHAND1007CE Procedure 5-1 Turning On the Robot Condition All personnel and unnecessary equipment are out of the workcell. Step 1 Visually inspect the robot, controller, workcell, and the surrounding area. During the inspection make sure all safeguards are in place and the work envelope is clear of personnel. 2 Turn the power disconnect circuit breaker on the operator panel to ON. This completes turning on the robot for R30iA controller. WARNING DO NOT turn on the robot if you discover any problems or potential hazards. Report them immediately. Turning on a robot that does not pass inspection could result in serious injury. 3 For R-J3iB and earlier controllers, press the ON/OFF button on the operator panel. • On the operator panel, the ON button will be illuminated, indicating robot power is on. • On the teach pendant screen, you will see a screen similar to the following. Power Up and Jogging 58 MATAGHAND1007CE Procedure 5-2 Cycling Controller Power (Controller R-30iA only) Condition Step The teach pendant is enabled. You are not using an external robot connection. This is only available on the teach pendant. The controller is currently in a Cold start state. 1 Press FCTN . 2 Select CYCLE POWER. 3 Press ENTER . You will see a screen similar to the following. This will cycle power. Are you sure? [NO] YES 4 Use the teach pendant arrow keys to select YES, and press ENTER . Procedure 5-3 Turning Off the Robot Step R-J3iB and earlier controllers 1 If a program is running or if the robot is moving, press the HOLD key on the teach pendant. 2 Perform any shutdown procedures specific to your installation. For R-30iA controllers, move to step 4. 3 For R-J3iB and earlier controllers, press the ON/OFF button on the operator panel. 4 Turn the disconnect circuit breaker to OFF when performing maintenance on the robot or controller. WARNING Lethal voltage is present in the controller WHENEVER IT IS CONNECTED to a power source. Be extremely careful to avoid electrical shock. Turning the disconnect or circuit breaker to the OFF position removes power from the output side of the device only. High voltage is always present at the input side whenever the controller is connected to a power source. Power Up and Jogging 59 MATAGHAND1007CE Jogging is moving the robot axes by pressing keys on the teach pendant. Before you add a motion instruction to a teach pendant program you must first jog the robot to the position you want. 5.2 Jogging The Robot The following items affect the way the robot jogs and the axes that move while jogging: • Jog speed – How fast the robot moves when jogging • Coordinate system – The way the robot moves when jogging • Minor axis wrist jogging – How the wrist axes will jog The following items that affect the axes that move while jogging are: • Motion Groups – Which motion group is selected • Extended axes and motion sub-groups – Which extended axes or sub-group that is selected NOTE: Some items listed above might not be supported by your software application. HandlingTool Application Programming Jog the Robot • Jog Procedure - Move the robot. – – – – Reset E-Stops/Clear Alarms Depress Deadman switch Enable the Teach Pendant Choose a manual jog coordinate system ¾ ¾ ¾ JOINT mode XYZ mode TOOL mode – Set the jog override speed – Hold the SHIFT key and press & hold the jog key for motion – When jogging is finished: ¾ ¾ Disable the Teach Pendant Release the DeadMan Switch FANUC Robotics A Power Up and Jogging 60 MATAGHAND1007CE 5.2.1 Jog Speed The jog speed is a percentage of the maximum speed at which you can jog the robot. The current jog speed is displayed in the right corner of every teach pendant screen. A jog speed of 100% indicates that the robot will move with the maximum possible jog speed. The maximum possible jog speed varies depending on the robot model. The maximum possible jog speed is defined by the tool center point (TCP) moving at and below 250 millimeters per second. A jog speed of FINE or VFINE indicates that the robot will move in incremental steps. Table 5-1 Jog Speed Values lists all the possible values of the jog speed. NOTE: When you use FINE and VFINE speed values, the robot moves one step at a time. You must release the jog key and press it again to move the robot again. Table 5-1 Jog Speed Values Degrees Joint Speed Values PULSE X,Y,Z Cartesian 100, 95, 90, 85, ... 20, 15, 10, 5, 4, 3, 2, 1 % of jog speed % of jog speed FINE Approximately 0.001 degrees Approximately 0.023 mm (incremental steps) VFINE Approximately 0.0001 degrees Approximately 0.002 mm (incremental steps) The jog speed keys on the teach pendant are used to increment or decrement the jog speed. The SHIFT key combined with a jog speed key causes the jog speed to be changed between 100, 50, 5, FINE, and VFINE. Figure 5-1 shows the jog speed keys. Figure 5-1 Jog Speed Keys Set the jog speed to a value that is appropriate for the conditions in the workcell, the kind of jogging the robot is doing, and your own experience in jogging a robot. Use a slow jog speed until you are familiar with the robot. The slower the jog speed, the more control you have over robot motion. NOTE: • The jog speed increments only when the COORD/JOG SPEED screen on the teach pendant is displayed. • Whenever the COORD key is depressed, the speed will be reduced to 10% if speed is higher than 10% Power Up and Jogging 61 MATAGHAND1007CE 5.2.2 Coordinate Systems • Press the COORD or +% or -% jog speed key to display the COORD/JOG SPEED screen. • Press the +% or -% jog speed key again to change the jog speed values. In jogging, a coordinate system defines how the robot will move. There are five coordinate systems: • JOINT • WORLD • JGFRM • USER • TOOL You change the coordinate system by pressing the COORD key on the teach pendant, shown in Figure 5-2. The coordinate system you choose is displayed in the upper right hand corner of the teach pendant screen, and on the teach pendant indicators. Table 5-2 indicates the LED indicator that corresponds to the coordinate system you choose. Figure 5-2 COORD Display Table 5-2 LCD Indicators LCD Coordinate System JOINT JOINT XYZ WORLD, USER, JGFRAME TOOL TOOL Refer to Table 5-3 for listings and descriptions of the JOINT, XYZ, and TOOL coordinate systems. 62 Power Up and Jogging MATAGHAND1007CE Table 5-3 Coordinate Systems Power Up and Jogging 63 MATAGHAND1007CE 5.2.3 Jogging in JOINT Jogging the robot in joint allows you to move one joint at a time. This is the most efficient type motion because the processor does not have to calculate a linear path or maintain the tool center point in line with a plane. It is highly recommended that joint coordinate be used to recover from an over travel condition. NOTE: Only joint coordinate is available when the robot is not mastered. Power Up and Jogging 64 MATAGHAND1007CE 5.2.4 Jogging in World HandlingTool Application Programming Cartesian/World Coordinate System +Z Origin -Y -X +X +Y -Z World Frame FANUC Robotics World frame allows you to move the robot tool center point in reference to a Cartesian frame. World is the default frame for the system and cannot be changed. World is also the default reference for other user-defined frames such as user and jog frame. NOTE: Changes to the mastering data can have a direct impact on how the robot moves in world frame. HandlingTool Application Programming Cartesian Axes • X-axis moves robot forward and backwards inside work envelop • Y-axis moves robot left and right inside of work envelope • Z-axis moves robot arm up and down inside of work envelope +Z -X +Y +X -Y -Z FANUC Robotics Power Up and Jogging 65 MATAGHAND1007CE HandlingTool Application Programming World Frame • Default frame of the robot • Fixed reference – Cannot be modified by user • Origin is predefined within robot – Center of rotation of J1 axis – Intersection with line parallel to rotation of J2 axis FANUC Robotics HandlingTool Application Programming World Frame (cont.) • Robot always knows where world frame is • Default for all other frames • Robot will use world frame if no other frames defined • Motion described by “Right Hand Rule” – Major axes move robot inside of frame – Minor axes rotate wrist about axes of frame FANUC Robotics 66 Power Up and Jogging MATAGHAND1007CE HandlingTool Application Programming Right Hand Rule FANUC Robotics HandlingTool Application Programming Orientation Orientation Yaw (W) – Rotation around X Pitch (P) – Rotation around Y Roll (R) – Rotation around Z X Y Z FANUC Robotics Power Up and Jogging 67 MATAGHAND1007CE HandlingTool Application Programming Singularity – Definition • • • • • • Singularity occur in a XYZ coordinate only Singularity is a point, through which a robot might move, that causes non-programmed and sometimes unexpected wrist rotation Singularity occurs when an infinite number of joint angles generates the same set of Cartesian data. (J4, J5 & J6 on the Yellow 6 Axes Robots) To complete the move, the controller calculates a path which might cause the robot to speed up Singularity can be eliminated by teaching points away from the singularity position Singularity points vary by robot model FANUC Robotics HandlingTool Application Programming To Recover from Singularity • If you are jogging the robot in a XYZ coordinate and experience Singularity. • Press the coord key on the teach pendant until joint coordinate is displayed. • Select the Joint coordinate and jog J5 in a plus or minus direction about 10 degrees. • Then return to the XYZ coordinate and jog the robot FANUC Robotics Power Up and Jogging 68 MATAGHAND1007CE 5.2.5 Motion Groups HandlingTool Application Programming Motion Group • • • Maximum of 16 axes on R-J3 Controller Maximum of 40 axes on R-30iA Controller Motion group – defines different groups of axes that can be used for independent pieces of equipment, positioning tables, and other devices. – Maximum of 5 motion groups on R-J3 series controller – Maximum of 7 motion groups on R-30iA series controller • Extended Axes – Axes beyond standard number of robot axes – Maximum of 3 extended axes in a motion group – Controller can control a maximum of 16 axes, however, only 9 axes can belong to a single group – Axes 1 through 6 is always assigned to group 1. FANUC Robotics When you create a program, you define the group mask which is the group of axes that the program will control. A single program can be defined to use all five motion groups, but a maximum of two motion groups can perform Cartesian interpolated motion within a single program. With multiple groups, the axes that jog depend on which group you have selected. You select groups using the FCTN menu or by pressing the SHIFT and COORD keys. Use Procedure 5-8 Jogging the Robot and Other Axes to select groups and jog the axes. To change the group number, you can also use the jog menu. Power Up and Jogging 69 MATAGHAND1007CE 5.2.6 Extended Axes and Sub-Groups Extended axes are the available axes controlled by the controller beyond the standard number of robot axes. There is a limit of three extended axes per motion group. Extended axes become a sub-group of the motion group to which they belong. Normally, the teach pendant keys control the first six robot axes. To jog the extended axes in a sub-group, you must first select the sub-group. You select sub-groups using the FCTN menu. The status line at the top of the screen displays whether a sub-group is being used, as shown below. PROGRAM NAME S JOINT 10% Sub-group selected For example, if the sub-group controls axes 7, 8 and 9, select the sub-group and then refer to Table 5-4 SubGroup Example. Table 5-4 Sub-Group Example For Axis Number 7 8 9 Use Jog Keys +X, -X +Y, -Y +Z, -Z To change the sub-group number, you can also use the jog menu. Refer to Section 6.2.1 for more information. Use Procedure 5-8 Jogging the Robot and Other Axes to select sub-groups and jog the robot and other axes. 5.2.7 Error Codes & Recovery Errors occur because of • Hardware problems - a broken cable or tooling • Software problems - incorrect program or data • External problems - an open safety door or an overtravel has occurred Depending on the severity of the error, you must take certain steps to recover from it. Power Up and Jogging 70 MATAGHAND1007CE Procedure 5-4 Displaying the Alarm Log Automatically Condition To display the Active Alarm screen automatically, - Set the system variable $ER_AUTO_ENB to TRUE either on the SYSTEM Variables menu or by setting Auto display of alarm menu to TRUE on the SYSTEM Configuration menu. Then perform a Cold start. - An error, whose severity is either PAUSE or ABORT must have occurred Step 1 Automatic Display of Active Alarm Screen: The following screen will automatically be displayed. It lists all errors with a severity other than WARN, that have occurred since the last controller RESET. The most recent error is number 1. SRVO-007 External emergency stop TEST1 Alarm: ACTIVE LINE 15 ABORTED 1 SRVO-007 External emergency stop 2 To toggle between the Active Alarm screen and Hist Alarm screen, press F3 (ACTIVE or HIST). 3 To disable the automatic display of all errors with a certain severity type, modify the value of the system variable $ER_SEV_NOAUTO[1-5]. Then these errors will still be logged in the Active Alarm screen, but they will no longer force the screen to immediately become visible. Refer to Section A.2.3 for more information. 4 To disable the automatic display of a specific error code, modify the $ER_NOAUTO.$noalm_num and $ER_NOAUTO.$er_code system variables. These errors will still be logged in the Active Alarm screen, but they will no longer force the screen to immediately become visible. 5 To display the screen that occurred immediately before the alarm, press RESET . If you have toggled between HIST and ACTIVE, the previous screen might not be available. When there are no active alarms (the system is not in error status), the following message will be displayed on the Active Alarm screen. There are no active alarms. Press F3(HIST) to enter alarm history screen. NOTE: When you reset the system by pressing the RESET key, the alarms displayed on this screen are cleared. Power Up and Jogging 71 MATAGHAND1007CE 6 To display the History Alarm screen manually: a Press MENU . b Press ALARM. c Press F3 , HIST. d Press F1 , [TYPE]. 7 Select Alarm Log. The alarm log will be displayed. This lists all errors. See the following screen for an example. SRVO-007 External emergency stop TEST1 LINE 15 ABORTED Alarm: HIST 1 SRVO-007 External emergency stop 2 SRVO-001 Operator panel emergency st 3 R E S E T 4 SRVO-029 Robot calibrated (Group:1) 5 SRVO-001 Operator panel emergency st 6 SRVO-012 Power fail recovery 7 INTP-127 Power fail detected 8 SRVO-047 LVAL alarm (Group:1 Axis:5) 9 SRVO-047 LVAL alarm (Group:1 Axis:4) 10 SRVO-002 Teach pendant emergency stop NOTE: The most recent error is number 1. • To display the complete error message that does not fit on the screen, press F5 , DETAIL, and the right arrow key on the teach pendant. • To display the cause code for an error message, press F5 , DETAIL. Cause codes provide further information about the cause of the error. If the specified error has a cause code, the cause code message is displayed immediately below the error line, on the status line. When you press RESET , the error and cause code disappears and the status line is redisplayed 8 To display the motion log, which lists only motion-related errors, press F1 , [TYPE], and select Motion Log. 9 To display the system log, which displays only system errors, press F1 , [TYPE], and select System Log. 10 To display the application log, which displays only application-specific errors, press F1 , [TYPE], and select Appl Log. 72 Power Up and Jogging MATAGHAND1007CE 11 To display the communication log, which displays only communication-specific errors, press F1 , [TYPE], and select Comm Log. 12 To display the password log, which displays only password-specific errors, press F1 , [TYPE], and select Password Log. 13 To display more information about an error, move the cursor to the error and press F5 , DETAIL. The error detail screen displays information specific to the error you selected, including the severity. If the error has a cause code, the cause code message will be displayed. When you are finished viewing the information, press PREV . 14 To remove all of the error messages displayed on the screen, press and hold SHIFT and press F4 , CLEAR. Power Up and Jogging 73 MATAGHAND1007CE Hexadecimal Notation Hexadecimal notation is used to indicate the specific axes in error, when one or more axes are in error at the same time. Most robots have interaction limits, in addition to normal joint limits. Even when all axes are within their respective limits an error might occur. This could possibly be caused by the interaction between multiple axes. In this case, hexadecimal notation can help you to find the specific axis in error. For example: MOTN-017 STOP limit error (G:1 A:6 Hex) The number after the "A " is the hexadecimal digit that shows which axes are out of limit. The "Hex " indicates that the axis numbers are in hexadecimal format. Table B-5 Hexadecimal Error Message Display lists the sixteen hexadecimal digits and the corresponding axes that are in error. NOTE: Hexadecimal digits for the decimal values of 10 through 15 are represented by the letters A through F respectively. Refer to Table B-5 Hexadecimal Error Message Display. To determine which axes are in error, you must evaluate each digit in the error message separately. Refer to Table A.5 Hexadecimal Error Message Display. NOTE: If only one number appears in the error message after the "A:", you must read it as the first digit. Table 5-5 Hexadecimal Error Message Display MOTN-017 limit error(G:1 A:(3) (2) (1) HEX) Hexadecimal Digit Third Digit (3) Second Digit (2) First Digit (1) 0 none none none 1 axis 9 axis 5 axis 1 2 n/a axis 6 axis 2 3 n/a axes 5 & 6 axes 1 & 2 4 n/a axis 7 axis 3 5 n/a axes 5 & 7 axes 1 & 3 6 n/a axes 6 & 7 axes 2 & 3 7 n/a axes 5, 6, & 7 axes 1, 2, & 3 8 n/a axis 8 axis 4 9 n/a axes 5 & 8 axes 1 & 4 A n/a axes 6 & 8 axes 2 & 4 B n/a axes 5, 6, & 8 axes 1, 2, & 4 C n/a axes 7 & 8 axes 3 & 4 D n/a axes 5, 7, & 8 axes 1, 3, & 4 E n/a axes 6, 7, & 8 axes 2, 3, & 4 F n/a axes 5, 6, 7, & 8 axes 1, 2, 3, & 4 Note: If only one number appears in the error message after the "A:", you must read it as the first digit (1). Power Up and Jogging 74 MATAGHAND1007CE Procedure 5-5 Recovering from an Overtravel Error Condition An axis (or axes) are in overtravel and the overtravel alarm has occurred. If you are jogging in JOINT the axis number indicating the axis (or axes) in an overtravel will be displayed in the error log. Step 1 Press MENU 2 Select SYSTEM 3 Press F1 , [TYPE]. 4 Select OT Release. You will see a screen similar to the following. The axis that is overtraveled will display TRUE in either OT_MINUS or OT_PLUS. MANUAL OT Release AXIS 1 2 3 4 5 6 7 8 9 If the robot is calibrated OT MINUS FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE OT PLUS TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 5 Move the cursor to the OT PLUS or OT MINUS value of the axis in overtravel. 6 Press F2 , RELEASE 7 If the robot is calibrated, you will see the message "Can't Release OT. Press HELP for detail." a If you press F5 , DETAIL, you will see a screen similar to the following. MANUAL OT Release When robot is calibrated, overtravel cannot be released. Press SHIFT & RESET to clear the error, and jog out of the overtravel condition. NOTE: For the following steps, press and hold down the SHIFT key until you have completed Step b. through Step d. Power Up and Jogging 75 MATAGHAND1007CE b Press and continue pressing SHIFT and press F2 , RESET Wait for servo power. c Continuously press and hold the DEADMAN switch and turn the teach pendant ON/OFF switch to ON. d Jog the overtraveled axis off the overtravel switch. When you have finished jogging, you can release the SHIFT key. NOTE: If you accidentally release the shift key during Step 7b. through Step 7d., you will have to repeat them. If the robot is not calibrated 8 If the robot is not calibrated, perform the following steps: NOTE: For the following steps, press and hold down the SHIFT key until you have completed Step a. through Step d. a Press and continue pressing SHIFT and press F2 , RESET . Wait for servo power. b Press COORD until you select the JOINT coordinate system. c Continuously press and hold the DEADMAN switch and turn the teach pendant ON/OFF switch to ON. d Jog the overtraveled axis off the overtravel switch. When you have finished jogging, you can release the SHIFT key. NOTE: If you accidentally release the shift key during Step 8a, you will need to repeat Step 8d. 9 Turn the teach pendant ON/OFF switch to OFF and release the DEADMAN switch. 10 Check CRM68 & CRF7 connection on the amplifier PCB if the robot is not in an actual overtravel condition. Power Up and Jogging 76 MATAGHAND1007CE 5.2.8 Hand Breakage Recovery A hand breakage error occurs when the hand breakage detection switch is tripped on robots equipped with hand breakage hardware. The switch is tripped when the robot tool strikes an obstacle, which could possibly cause the tool to break. The system • Shuts off drive power to the servo system and applies robot brakes • Displays an error message indicating that the hand is broken • Lights the operator panel FAULT light • Lights the teach pendant FAULT LED The status of the hand breakage detection switch is displayed on the STATUS Safety Signals screen. Procedure 5-6 Recovering from a Hand Breakage Condition The hand breakage error message is displayed. Step 1 If you have not already done so, continuously press and hold the DEADMAN switch and turn the teach pendant ON/OFF switch to ON. 2 Hold down the SHIFT key and press RESET . The robot can now be moved. 3 Jog the robot to a safe position. 4 Press the EMERGENCY STOP button. 5 Request a trained service person to inspect and, if necessary, repair the tool. 6 Determine what caused the tool to strike an object, causing the hand to break. 7 If the hand breakage occurred while a program was being executed, you might need to reteach positions, modify the program, or move the object that was struck. 8 Test run the program if it has been modified, if new positions have been recorded, or if objects in the work envelope have been moved. Power Up and Jogging MATAGHAND1007CE 5.2.9 Chain Failure Detection Error Recovery A Single Chain Failure Detection fault will be set if one safety chain is in an Emergency Stop condition, and the other is not in an Emergency Stop condition. When a Single Chain Failure Detection fault occurs, the system does the following: • Shuts off drive power to the servo system and applies robot brakes Chain Failure Detection Errors • Displays an error message indicating that a single chain failure has occurred. • Lights the operator panel FAULT light • Lights the teach pendant FAULT LED The following Chain Failure Errors might occur • SRVO-230 SVAL1 Chain 1 (+24V) abnormal SRVO-231 SVAL1 Chain 2 (0V) abnormal • SRVO-230 SVAL1 Chain 1 (+24V) abnormal with SRVO-001 Operator panel E-stop SRVO-231 SVAL1 Chain 2 (0V) abnormal with SRVO-001 Operator panel E-stop • SRVO-230 SVAL1 Chain 1 (+24V) abnormal with SRVO-002 Teach pendant E-stop SRVO-231 SVAL1 Chain 2 (0V) abnormal with SRVO-002 Teach pendant E-stop • SRVO-230 SVAL1 Chain 1 (+24V) abnormal with SRVO-003 Deadman switch released SRVO-231 SVAL1 Chain 2 (0V) abnormal with SRVO-003 Deadman switch released 77 Power Up and Jogging 78 MATAGHAND1007CE • SRVO-230 SVAL1 Chain 1 (+24V) abnormal with SRVO-004 Fence open SRVO-231 SVAL1 Chain 2 (0V) abnormal with SRVO-004 Fence open • SRVO-230 SVAL1 Chain 1 (+24V) abnormal with SRVO-007 External emergency stops SRVO-231 SVAL1 Chain 2 (0V) abnormal with SRVO-007 External emergency stops • SRVO-230 SVAL1 Chain 1 (+24V) abnormal with SRVO-019 SVON input SRVO-231 SVAL1 Chain 2 (0V) abnormal with SRVO-019 SVON input • SRVO-230 SVAL1 Chain 1 (+24V) abnormal with SRVO-232 SVAL1 NTED input SRVO-231 SVAL1 Chain 2 (0V) abnormal with SRVO-232 SVAL1 NTED input • SRVO-230 SVAL1 Chain 1 (+24V) abnormal with SRVO-233 SVAL1 TP disabled in T1, T2/Door open SRVO-231 SVAL1 Chain 2 (0V) abnormal with SRVO-233 SVAL1 TP disabled in T1, T2/Door open Procedure 5-7 Chain Failure Detection Error Recovery Condition Step The system detected either a SRVO-230 Chain 1 (+24V abnormal) or a SRVO-231 Chain 2 (0V abnormal) error. You cannot reset the chain failure errors, even after turning the controller OFF and then ON again. 1 Correct the cause of the alarm. 2 Create and then release a chain failure that is different from the original chain failure. An example of this would be to press and then RESET the EMERGENCY STOP button on the teach pendant. 3 Press MENU . 4 Select ALARMS. You will see a screen similar to the following. ALARM: Active SRVO-230 Chain 1(+24V) abnormal 5 Press F4 , RES_CH1. You will see a screen similar to the following Power Up and Jogging MATAGHAND1007CE ALARM: Active SRVO-230 Chain 1(+24V) abnormal Reset Single Channel Fault [NO] 6 Press F4 , YES to reset the fault. 7 Press the RESET button on the teach pendant or operator panel. WARNING If you reset the chain failure fault without fixing the cause of it, the same alarm will occur, but the robot can move until the alarm occurs again. Be sure to fix the cause of the chain failure before you continue. Otherwise, you could injure personnel or damage equipment. 79 Power Up and Jogging 80 MATAGHAND1007CE Procedure 5-8 Jogging the Robot and Other Axes Condition All personnel and unnecessary equipment are out of the workcell. All EMERGENCY STOP faults have been cleared. All other faults have been cleared and the fault light is not illuminated. The MODE SELECT switch is in the T1 or T2 position. WARNING Make certain that all safety requirements for your workplace have been followed; otherwise, you could injure personnel or damage equipment. Step 1 Select a coordinate system by pressing the COORD key on the teach pendant until the coordinate system you want is displayed in the upper right hand corner of the teach pendant screen, and on the teach pendant LEDs. You will see a screen similar to the following. NOTE: The jog speed value will automatically be set to 10%, when the teach pendant is turned on, or when the controller is first powered up. 2 Turn the teach pendant ON/OFF switch to the ON position. 3 Hold the teach pendant and continuously press the DEADMAN switch on the back of the teach pendant. NOTE: If you compress the DEADMAN switch fully, robot motion will not be allowed and an error occurs. This is the same as when the DEADMAN switch is released. To clear the error, press the DEADMAN switch in the center position and press RESET . NOTE: If you release the DEADMAN switch while the teach pendant is ON, an error will occur. To clear the error, continuously press the DEADMAN switch and then press the RESET key on the teach pendant. Power Up and Jogging 81 MATAGHAND1007CE 4 If your system is configured with multiple motion groups, select the motion group you want to jog by doing the following: a Press and hold the SHIFT key and press COORD to display the JOG menu. b Move the cursor to GROUP and press the appropriate numeric key. 5 If your system has extended axes, select the sub-group that you want to jog by doing the following: a Press FCTN . b Move the cursor to TOGGLE SUB-GROUP and press ENTER You will see a screen similar to the following. PROGRAM NAME S JOINT 10% Sub-group selected c To de-select a sub-group press FCTN , move the cursor to TOGGLE SUB-GROUP, and press ENTER . Refer to the table that is listed below to jog the extended axes. For Axis Number 7 8 9 6 Use Jog Keys +X, -X +Y, -Y +Z, -Z If you want to use wrist jogging, a Press FCTN . b Move the cursor to TOGGLE WRIST JOG and press ENTER The status line indicator for wrist jog is displayed in the upper right hand corner of the teach pendant screen. See the following screen for an example. PROGRAM NAME S W/TOOL 10% Wrist jogging selected c To de-select wrist jogging press FCTN , move the cursor to TOGGLE WRIST JOG, and press ENTER . NOTE: WRIST JOG is not available or applicable in "JOINT" mode. Power Up and Jogging 82 MATAGHAND1007CE 7 If you want to use optional remote TCP jogging, a Select the Cartesian coordinate system you want to use for remote TCP jogging. b Press FCTN . c Move the cursor to TOGGLE REMOTE TCP and press ENTER . The status line indicator for remote TCP jogging is displayed as "Rn/" in the upper right hand corner of the teach pendant screen next to the coordinate system, where "n" is the number of the remote TCP frame. PROGRAM NAME S R1/TOOL 25% Remote TCP Jogging d Press FCTN . e Move the cursor to CHANGE RTCP FRAME and press ENTER . Each time you select CHANGE RTCP FRAME, the user frame selection is advanced: from 1 (R1) to 2 (R2) to 3 (R3) to 4 (R4) to 5 (R5) and then back to 1 (R1). Select the user frame (UFRAME) you want to use for remote TCP jogging. f To de-select remote TCP jogging, press FCTN and move the cursor to TOGGLE REMOTE TCP and press ENTER . 8 If your system has auto singularity option installed and actived, you will see the following screen when an XYZ coordinates is selected: a Press FCTN . b Highlight T/Singularity JOG and press ENTER Power Up and Jogging 83 MATAGHAND1007CE 9 Select a jog speed by pressing and releasing the appropriate jog speed key until the jog speed you want is displayed in the upper right hand corner of the teach pendant screen, as shown below. NOTE: Set the jog speed to a low percentage (%) value if you are inexperienced in jogging the robot, or if you are uncertain how the robot will move. WARNING In the next step, the robot will move. To stop the robot immediately any time during jogging, release the DEADMAN switch or press the EMERGENCY STOP button. 10 To jog, press and hold the SHIFT key and continuously press the jog key that corresponds to the direction in which you want to move the robot. To stop jogging, release the jog key. 11 When you are finished jogging, turn the teach pendant ON/OFF switch to OFF, and release the DEADMAN switch 84 Power Up and Jogging MATAGHAND1007CE NOTES: ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ Power Up and Jogging 85 MATAGHAND1007CE 5.3 Axis Limits HandlingTool Application Programming Robot Axis Limits • Setting axis limits – Defines the motion range of the robot – Restricted because of work area limitation, tooling, and fixture interference points – Axis limits are upper and lower motion degree limitations FANUC Robotics Axis limits define the motion range of the robot. The operating range of the robot axes can be restricted because of: • Work area limitations • Tooling and fixture interference points • Cable and hose lengths There are three methods used to prevent the robot from going beyond the necessary motion range. These are • Axis limit software settings • Axis limit switches – optional • Axis limit hardstops WARNING Do not use axis software limits as the only method for restricting robot motion. Change the hard stops to match the software modifications; otherwise, you could injure personnel or damage equipment. Software Settings Axis limit software settings are upper and lower motion degree limitations. The limits can be set for all robot axes and will stop robot motion if the robot is calibrated. If the robot is not calibrated, overtravel limit switches or hardstops are contacted two to three degrees beyond the software limits. Limit Switches Axis limit switches are overtravel switches that, when tripped, cut power to the servo motors. These are located two or three degrees beyond the software limits. 86 Power Up and Jogging MATAGHAND1007CE Hardstops Axis limit hardstops are physical barriers that are located two or three degrees beyond the overtravel limit switch or software setting on the three major axes. The robot cannot move beyond a hardstop. Setting the axis limits software settings changes the motion range of the robot. The axis limit screen displays the current upper and lower axis limits, for each robot axis, in degrees. Upper Limits Displays the upper limits of each axis, or the axis limits, in a more positive direction. Lower Limits Displays the lower limits of each axis, or the axis limits, in a more negative direction. Saving Limits After you change the axis limits, turn off the controller and then turn it on again so the new settings can be used. CAUTION Changing the axis limits will affect the robot work area, and could change and could change robot motion. Anticipate the effects of changing axis limits before you change them; otherwise unexpected results could occur, such as errors in previously recorded positions. Power Up and Jogging 87 MATAGHAND1007CE Procedure 5-9 Setting Up Axis Limits Step 1 Press MENU . 2 Select SYSTEM. 3 Press F1 , [TYPE]. 4 Select Axis Limits. See the following screen for an example of the axis limits for an M–16i robot. The values for your robot could be different. SYSTEM Axis Limits AXIS GROUP 1 1 2 1 3 1 4 1 5 1 6 1 7 0 8 0 9 0 LOWER -165.00 -78.00 -170.50 -200.00 -140.00 -450.00 0.00 0.00 0.00 UPPER 165.00 dg 162.00 dg 285.00 dg 200.00 dg 140.00 dg 450.00 dg 0.00 mm 0.00 mm 0.00 mm NOTE: A “0” in the group column indicates the robot does not have these axes. 5 Move the cursor to the axis limit you want to set. WARNING Do not depend on axis limit software settings to control the motion range of your robot. Use the axis limit switches or hardstops also; otherwise, you could injure personnel or damage equipment. 6 Type the new value using the numeric keys on the teach pendant. 7 Repeat Steps 5 through 6 until you are finished setting the axis limits. WARNING You must turn off the controller and then turn it back on to use the new information; otherwise, you could injure personnel or damage equipment. 8 Turn off the controller and then turn it back on again so the new information can be used. Power Up and Jogging 88 MATAGHAND1007CE 5.3.1 The STATUS Version ID screen displays information specific to your controller. Use this information when you call the FANUC Robotics Hotline if a problem occurs with your controller. You cannot change the information displayed on this screen. Table 5-6. lists and describes the version identification status information. Version Identification Status Table 5-6 Version Identification Status Items ITEM DESCRIPTION SOFTWARE These items list the software item loaded. ID This item lists the version number of the software item loaded. Procedure 5-10 Displaying the Version Identification Status Step 1 Press MENU . 2 Select Status. 3 Press F1 , [TYPE]. 4 Select Version ID. 5 Press the key that corresponds to the version ID status screen you want to display: • To display software version information, press F2 , SOFTWARE. You will see a screen similar to the following. STATUS Version ID SOFTWARE: 1: application-Tool (TM) 2: S/W Serial No. 3: Controller ID 4: Default Personality 5: Robot Model 6: Servo Code 7: Cart. Mot. Parameter 8: Joint Mot. Parameter 9: Software Edition No. 10: Boot MONITOR ID: 1/11 Vx.xx xxxx F00000 xx-xxx-xx-xx xxxxx xxxx xxxx Vx.xx Vx.xx NOTE: Line 5 in the screen above will only be visible if you are using PaintTool. Power Up and Jogging 89 MATAGHAND1007CE • To display a list of the software features and options that are loaded, press F3 , CONFIG. STATUS Version ID SOFTWARE: 1: application-Tool (TM) 2: English Dictionary 3: Kernel Software 4: Analog I/O 5: Arc EQ Program Select 6: Arc Softpart 7: Background Edition 8: Basic Software 9: Controller Backup 10: Cycle Time Priority ORD NO: XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX 1/128 NOTE: The information displayed here could be different at your site. 90 Power Up and Jogging MATAGHAND1007CE NOTES: ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ Power Up and Jogging MATAGHAND1007CE Figure 5-3 Material Handling Teach Pendant FAULT HOLD STEP BUSY RUNNING I/O ENBL PROD MODE TEST CYC JOINT XYZ TOOL OFF ON TOOL 1 TOOL 2 MOVE MENU SETUP POSN I/O STATUS 91 Power Up and Jogging 92 MATAGHAND1007CE HandlingTool Application Programming Enabling Objectives Lab 1 • Awareness Lab – Power up the robot – Recover from system faults – Jog the robot in JOINT mode – Power down the robot FANUC Robotics Power Up and Jogging 93 MATAGHAND1007CE Lab 1 Power Up and Jog the Robot in JOINT Student Name:____________________________________________________ Assignment: Condition: Step: The student will: • Power up the robot • Recover from system faults • Jog the robot in JOINT mode • Power down the robot A FANUC robot and controller loaded with HandlingTool application software. 1 Power up the robot using Procedure 5-1 Turning On the Robot, and remove all servo faults or Select T1, T2, or AUTO mode as required. 2 Follow Procedure 5-8 Jogging the Robot so the tool touches an object or to a position having specific joint angles. Move the robot to another object. Rotate 50 degrees from the first object. Check the angle change using the POSN hardkey. 3 Vary the speed of the robot using the jog speed keys. 4 Exercise the joints of the robot to see the restrictive work envelope. Stay at least a foot away from the floor. Press the POSN hardkey to see the joint angles. Note the limits of movement on each axis in both directions in the table that follows. 5 Cause the following faults to occur and the recover from each: Teach PendantE-stop, Operator Panel E-stop, Deadman Switch Released 6 Power down the robot using Procedure 5-3 Turning Off the Robot. Completed: Instructor: ________________________________ Power Up and Jogging 94 MATAGHAND1007CE HandlingTool Application Programming Enabling Objectives Lab 2 • Set Axis Limits – Investigate and record the robot’s current software limits – Move robot arm to new restricted envelope if possible and write down new values – Set new software limits based on new values FANUC Robotics Power Up and Jogging 95 MATAGHAND1007CE Lab 2 Set Axis Limits Student Name: _______________________________________________________________ Assignment: Condition: Step: The student will: • Investigate and record the robot’s current software limits • Move robot arm to new restricted envelope if possible and write down new values. • Set new software limits based on new values. A FANUC robot and controller loaded with HandlingTool application software. The students will complete this task as a team. 1 If the robot exceeds the physical boundaries set by the equipment, jog the axis up to a level of safety, move robot location to indicate a need to change the present limits. 2 Write down the current software limits Joint _______________________________________________________ 1 __________________________________________________________ 2 __________________________________________________________ 3 __________________________________________________________ 4 __________________________________________________________ 5 __________________________________________________________ 6 __________________________________________________________ 3 Modify the major axes (1-3). These values should be determined within the cell by performing Procedure 5-9 to Setup Axis Limits Completed: Instructor: ________________________________ Power Up and Jogging 96 MATAGHAND1007CE HandlingTool Application Programming Enabling Objectives Lab 3 • Jog the robot in World mode – Learn to practice jogging the robot in World mode – Familiarize yourself with some of the teach pendant keys and the functions they normally perform while jogging the robot. FANUC Robotics Power Up and Jogging 97 MATAGHAND1007CE Lab 3 Jog the robot in WORLD mode Student Name:____________________________________________________ Assignment: The student will: • Learn and practice jogging the robot in World mode • Condition: Step: Familiarize with some of the Teach Pendant keys and functions normally used while jogging the robot. A FANUC robot and controller loaded with HandlingTool application software. A table or cardboard box in the robot’s work envelope. 1 Set the robot to jog in WORLD mode by hitting the COORD key until WORLD appears on the Teach Pendant screen. 2 What is the currently jogging method? _____________________________ 3 What is the currently selected jog/override speed? ___________________ 4 What is the fastest speed available? ______________________________ 5 What is the slowest?___________________________________________ 6 What increments does the speed change when the +% key is pressed by itself? ___________________________________________________________ 7 In what increments does the speed change when the +% key is pressed with the SHIFT key? ___________________________________________________________ 8 Practice jogging in the WORLD frame with the pointer perpendicular to each side of the box to ensure you can successfully move the TCP along the X, Y and Z planes as well as rotate about the X,Y and Z axes. Completed: Instructor: ________________________________ Power Up and Jogging 98 MATAGHAND1007CE HandlingTool Application Programming Enabling Objectives Lab 4 & 5 • Know how to alternate between Quick and Full menus • Know how to access the version ID menu FANUC Robotics Power Up and Jogging 99 MATAGHAND1007CE Lab 4 Alternating Between QUICK/FULL MENU Student Name: _______________________________________________________________ Assignment: Condition: Step: The student will: • Power up the robot • View both quick and full menus • Observe the change in the soft keys • Power down the robot A FANUC robot and controller loaded with HandlingTool application software. The students will complete this task as a team. 1 Power up the robot using Procedure 5-1 Turning On the Robot 2 Follow the example on Section 4.3.10 3 Take note to what the top of the pop up menu screen says 4 Press the FCTN key then select 0 for Next on the Teach Pendant 5 Select Quick/Full Menu 6 Press MENU key to view the different menu. 7 To return back to Full Menu repeat steps 4 through 6. Completed: Instructor: ________________________________ Power Up and Jogging 100 MATAGHAND1007CE Lab 5 Viewing the Version Identification Student Name: _______________________________________________________________ Assignment: The student will: • Determine the software version installed • Condition: Step: Determine the software options installed A FANUC robot and controller loaded with HandlingTool application software. The students will complete this task as a team. 1 Follow Procedure 5-10 Displaying the Version Identification Status. 2 What software version is installed? _______________________________ 3 What is the serial number?______________________________________ 4 What is the Boot Monitor Version? ________________________________ 5 In what way will this help the customer and the Hot Line help desk? ___________________________________________________________ Completed: Instructor: ________________________________ 6 Frame Setup 101 HandlingTool Application Programming 6 FRAME SETUP HandlingTool Application Programming Frames • FRAME - Set of three planes at right angles to each other – Intersection of planes is the Origin of the frame – Used to describe the location and orientation of a position with respect to a reference point (origin) – Called Cartesian Coordinate System FANUC Robotics How Frames are Used Frames are used to describe the location and orientation of a position. The location is the distance in the x, y, and z directions from the origin of the reference frame. The orientation is the rotation about the x, y, and z axes of the reference frame. When you record a position, its location and orientation is automatically recorded as x, y, z, w, p, and r relative to the origin of the frame it uses as a reference. The location of a position is expressed as three dimensions, which are measured in millimeters from the origin in the x, y, and z directions. For example, 300,425,25 means the position is 300mm in the x direction, 425mm in the y direction, and 25mm in the z direction from the origin. The orientation of a position is expressed as three dimensions, which are measured in degrees of rotation about the x, y, and z axes. For example, 0,–90,0 means that the position is rotated – 90 degrees about the y axis and is not rotated about the x or z axes. Frames 102 MATAGHAND1007CE 6.1 Types of Frames HandlingTool Application Programming Types of Frames • • • • • World frame - default frame of the robot User frame - user defined frame Tool frame - user defined frame Jog frame - user defined frame RTCP – Remote Tool Center Point Note: Joint is not a Frame FANUC Robotics 6.2 Tool Frame HandlingTool Application Programming Tool Frame • Default is center of faceplate • Origin of frame must be moved to new Tool Center Point (TCP) Location • All measurements are relative to origin of frame • Origin called Tool Center Point – Defines location and orientation of where work is done FANUC Robotics The tool frame is a Cartesian coordinate system that has the position of the tool center point (TCP) at its origin. You must set the tool frame to define the point on the applicator, gun, torch, or tool at which the painting, welding, sealing, handling, or other application work is to be done. Frames 103 MATAGHAND1007CE HandlingTool Application Programming Tool Frame (cont.) • HT programs taught in one tool frame will not run in any other tool frame • In a 6 point Tool frame method the user can define the +X and +Z direction • In a 3 point method +Z direction is towards the work piece • Active frame stored in system variable $MNUTOOLNUM • Active frame can be set and changed within program as needed – Use parameter instruction – SHIFT + COORD FANUC Robotics HandlingTool Application Programming Tool Frame (cont.) • Major Axes – X-Axis moves Tool Center Point in and out inside of work envelope – Y-Axis moves Tool Center Point left and right inside of work envelope – Z-Axis moves Tool Center Point up or down from work piece • Minor Axes – Control orientation of EAOT – Rotate EOAT about W, P, and R axes of robot FANUC Robotics 104 Frames MATAGHAND1007CE HandlingTool Application Programming Tool Frame Information • XYZ define the location of the tool frame origin relative to the faceplate and WPR define the direction we want the Tool frame axis to point relative to the faceplate. FANUC Robotics HandlingTool Application Programming Default Tool Center Point +X-Axis +Y-Axis FANUC Robotics +Z-Axis Frames 105 MATAGHAND1007CE HandlingTool Application Programming Tool offset data ( Utool) tell the controller where the Tool frame is relative to the center of the faceplate. Tooling to be added Tool Frame Origin FANUC Robotics Setting Up Tool Frame HandlingTool Application Programming Setting up Tool Frames • Three Point Method – Teaches location of Tool Center Point (TCP) • Six Point Method – Teaches location and orientation of TCP • Direct Entry Method – Must be used with 4-axis robots (M410i, M420i, A520) – Not limited to 4 axis robots – Used when tool dimensions are known FANUC Robotics By default, the origin of the tool frame is on the faceplate of the robot. You must move the origin of the tool frame to the position, both location and orientation, where the work is to be done. This position is called the tool center point (TCP) All measurements in tool frame are relative to the origin of the tool frame. • Before you use tool frame, you must set up its location and orientation. Frames 106 MATAGHAND1007CE • You can set up as many as ten different tool frames for each robot. They will be stored in the system variable $MNUTOOL. • You can select one tool frame to be active. The frame number will be stored in the system variable $MNUTOOLNUM. • You can jog the robot in tool frame. Figure 6-1 Typical Tool Frame +Y +Z +X You can use the following methods to define the tool frame: • Three point method • Six point method • Direct entry method NOTE: If you have a 4-axis robot, you can define a tool frame using only the direct entry method. Three Point Method Use the three point method to define the location of the tool frame when the values cannot be measured and directly entered. The three approach points must be taught with the tool touching a common point from three different approach directions. Use Procedure 6-1 to set up the tool frame using the three point method. Six Point Method Use the six point method to define the location and orientation of the tool frame when the values cannot be measured and directly entered. The six point method requires three points that define the direction vector for the tool, and three points that define Frames 107 MATAGHAND1007CE the location of the tool center point. Use Procedure 6-2 to set up the tool frame using the six point method. Direct Entry Method The direct entry method provides for direct recording and numerical entry of the frame position. For TCP dimensions, refer to the manufacturing specifications of the tool. Use Procedure 6-3 to set up the tool frame using the direct entry method. Use Procedure 6-5 to select a tool frame. Procedure 6-1 Setting Up Tool Frame Using the Three Point Method WARNING If you set up a new frame, make sure that all frame data is zero or uninitialized before you record any positions. Press F4 , CLEAR, to clear frame data. If you modify an existing frame, make sure that all frame data is set the way you want before you change it. Otherwise, you could injure personnel or damage equipment. Step 1 Press MENU . 2 Select SETUP. 3 Press F1 , [TYPE]. 4 Select Frames. 5 To choose the motion group for the frame you are setting up in systems with multiple motion groups, press F3 , [OTHER], and select the group you want. The default motion group is Group 1. 6 If tool frames are not displayed, press F3 , [OTHER], and select Tool Frame. If F3 , [OTHER], is not displayed, press PREV. 7 To display the settings for all frames, press PREV repeatedly until you see a screen similar to the following. Frames 108 MATAGHAND1007CE SETUP Frames Tool Frame Setup / Three Point X Y Z Comment 1: 0.0 0.0 0.0 ************* 2: 0.0 0.0 0.0 ************* 3: 0.0 0.0 0.0 ************* 4: 0.0 0.0 0.0 ************* 5: 0.0 0.0 0.0 ************* 6: 0.0 0.0 0.0 ************* 7: 0.0 0.0 0.0 ************* 8: 0.0 0.0 0.0 ************* 9: 0.0 0.0 0.0 ************* Active TOOL $MNUTOOLNUM[1]=1 NOTE: The maximum number of tool frames is set in the system variable $SCR.$MAXNUMUTOOL. 8 To set the numerical values to zero, move the cursor to the frame number, press F4 , CLEAR, and then press F4 , YES, to confirm. 9 Press F2 , DETAIL. a To select a frame, b Press F3 , FRAME. c Type the desired frame number. d Press ENTER . e Press F2 , [METHOD]. f Select Three Point. You will see a screen similar to the following. SETUP Frames Tool Frame Setup / Three Point Frame Number: 1 X: 0.0 Y: 0.0 Z: 0.0 W: 0.0 P: 0.0 R: 0.0 Comment: **************** Correct Incorrect Approach point 1: Approach point 2: Approach point 3: UNINIT UNINIT UNINIT Active TOOL $MNUTOOLNUM[1]=1 10 To add a comment: a Move the cursor to the comment line and press ENTER . b Select a method of naming the comment. c Press the appropriate function keys to enter the comment. d When you are finished, press ENTER . NOTE: Record the three approach points with the tool tip touching the same point from three different approach directions. Frames 109 MATAGHAND1007CE 11 Record the first approach point: a Move the cursor to Approach point 1. b Jog the robot so that the tool tip touches a reference point. c Press and hold the SHIFT key and press F5 , RECORD. 12 Record the second approach point: a Move the cursor to Approach point 2. b Rotate the faceplate about the z axis of the tool coordinates. Large rotations, near 90°, give the best results. However, smaller rotations can be used if motion is restricted by cabling or other attachments. c Jog the robot so that the tool tip touches the reference point. d Press and hold the SHIFT key and press F5 , RECORD. 13 Record the third approach point: a Move the cursor to Approach point 3. b Rotate the tool about the X, Y, & Z axis of the tool coordinates. The three approach point angles must converge on the same point in space, the reference point. The angles must not be 180º apart or in the same plane. c Jog the robot so that the tool tip touches the reference point. d Press and hold the SHIFT key and press F5 , RECORD. You have finished the tool frame. NOTE: To use the Tool Frame data taught, you must select it, continue to step 17 14 To select the tool frame to use, press F5 , SETIND, type the number of the tool frame you want, and press ENTER . If F5 , SETIND, is not displayed, press PREV . -ORUse the Jog Menu. Press and hold SHIFT and press COORD , move the cursor to Tool, and type the number of the frame you want to use. Jog the robot in the frame you just taught. • If the TCP is correct, it will remain stationary during rotational moves. Go to Step 15. Frames 110 MATAGHAND1007CE CAUTION When you are finished setting the frame configuration, save the information to the default device so that you can reload the configuration data if necessary. Otherwise, if the configuration is altered, you will have no record of it. • If the TCP is not correct, it will not remain stationary during rotational moves. You need to review your recorded positions. If they are not correct, re-record them correctly. Go to Step 11. WARNING When you use F4 , MOVE_TO, to move the robot, unexpected motion can occur. This could injure personnel or damage equipment. 15 To move to a recorded position, move the cursor to the desired position, press and hold the SHIFT key and press F4 , MOVE_TO. 16 To save the frames and related system variables to a file on the default device, a Press MENU . b Select FILE. c Press F1 , [TYPE]. d Select File. e Press F5 , [UTIL]. f Select Set Device. g Move the cursor to the device you want and press ENTER . h Display the tool frame screen. i Press FCTN . j Select SAVE. This will save the frame positions and comments for all frames to the file, FRAMEVAR.SV, on the default device. Display the SYSTEM Variables menu, k Press MENU . l Select SYSTEM. m Press F1 , [TYPE]. n Select Variables. o Press FCTN . Frames 111 MATAGHAND1007CE p Select SAVE. The tool frame positions and system variables are saved in the SYSVAR.SV file, on the default device. HandlingTool Application Programming Tool offset data (Utool) tell the controller where the Tool frame is relative to the center of the faceplate. Tool Frame Offset FANUC Robotics Frames 112 MATAGHAND1007CE Procedure 6-2 Setting Up Tool Frame Using the Six Point Method WARNING If you set up a new frame, make sure that all frame data is zero or uninitialized before you record any positions. Press F4 , CLEAR, to clear frame data. If you modify an existing frame, make sure that all frame data is set the way you want before you change it. Otherwise, you could injure personnel or damage equipment. Step 1 Press MENU . 2 Select SETUP. 3 Press F1 , [TYPE]. 4 Select Frames. 5 To choose the motion group for the frame you are setting up in systems with multiple motion groups, press F3 , [OTHER], and select the group you want. The default motion group is Group 1. 6 If tool frames are not displayed, press F3 , [OTHER], and select Tool Frame. If F3 , [OTHER], is not displayed, press PREV . 7 To display the settings for all the frames, press PREV repeatedly until you see a screen similar to the following. SETUP Frames Tool Frame Setup / Six Point X Y Z Comment 1: 0.0 0.0 0.0 ************* 2: 0.0 0.0 0.0 ************* 3: 0.0 0.0 0.0 ************* 4: 0.0 0.0 0.0 ************* 5: 0.0 0.0 0.0 ************* 6: 0.0 0.0 0.0 ************* 7: 0.0 0.0 0.0 ************* 8: 0.0 0.0 0.0 ************* 9: 0.0 0.0 0.0 ************* Active TOOL $MNUTOOLNUM[1]=1 Frames 113 MATAGHAND1007CE NOTE: The maximum number of tool frames is set in the system variable $SCR.$MAXNUMUTOOL. 8 To set the numerical values to zero, move the cursor to the frame number, press F4 , CLEAR, and then press F4 , YES, to confirm. 9 Press F2 , DETAIL. 10 To select a frame, a Press F3 , FRAME. b Type the desired frame number. c Press ENTER . d Press F2 , [METHOD]. e Select Six Point. You will see a screen similar to the following. SETUP Frames Tool Frame Setup/ Six Point Frame Number: 1 X: 0.0 Y: 0.0 Z: W: 0.0 P: 0.0 R: Comment: **************** Approach point 1: UNINIT Approach point 2: UNINIT Approach point 3: UNINIT Orient Origin Point: UNINIT X Direction Point: UNINIT Z Direction Point: UNINIT Active TOOL $MNUTOOLNUM[1]=1 0.0 0.0 11 To add a comment: a Move the cursor to the comment line and press ENTER . b Select a method of naming the comment. c Press the appropriate function keys to enter the comment. d When you are finished, press ENTER . NOTE: Record the three approach points with the tool tip touching the same point from three different approach directions. The Tool frame will be inaccurate if the approach points face each other. 12 Record the first approach point: a Move the cursor to Approach point 1. b Jog the robot so that the tool tip touches a reference point. c Press and hold the SHIFT key and press F5 , RECORD. 114 Frames MATAGHAND1007CE 13 Record the second approach point: a Move the cursor to Approach point 2. b Rotate the faceplate about the z axis of the tool coordinates. Large rotations, near 90°, give the best results. However, smaller rotations can be used if motion is restricted by cabling or other attachments. c Jog the robot so that the tool tip touches the reference point. d Press and hold the SHIFT key and press F5 , RECORD. 14 Record the third approach point: a Move the cursor to Approach point 3. b Rotate the tool about the X, Y, & Z axis of the tool coordinates. The three approach point angles must converge on the same point in space, the reference point. The angles must not be 180º apart or in the same plane. Large rotations, near 90°, give the best results. However, smaller rotations can be used if motion is restricted by cabling or other attachments. c Jog the robot so that the tool tip touches the reference point. d Press and hold the SHIFT key and press F5 , RECORD. 15 Define the orientation of the origin (Orient Origin Point): NOTE: To simplify teaching points 4, 5, and 6 in the Six Point Method, align the desired X, Y, and Z directions of the tool with the X, Y, and Z of the World frame in any order that avoids singularity. In this example it is convenient to align the tool frame Z with the World frame Z and the Tool frame X with the World frame X. This alignment is based on the shape of the tool and the need to avoid singularity. a Move the cursor to Orient Origin Point. b Jog the robot so that the tool is aligned with the robot’s World Frame. Any orientation of the tool will work as long as the tool is square to the World frame and the robot is not in singularity. See Figure 6-2 Defining the Orientation of the Origin. c Press and hold the SHIFT key and press F5 , RECORD. Frames 115 MATAGHAND1007CE Figure 6-2 Defining the Orientation of the Origin HandlingTool Application Programming Tool Frame +Z 45° +X +X Tool frame +Z 45° +Z World frame +X FANUC Robotics 16 Define the X direction point: a Move the cursor to X Direction Point. b Change the jog coordinate system to WORLD. c Jog the robot so that the tool moves in its X direction.In this example, the x axis of the tool is aligned with the world z axis, so jog in the world Z direction. NOTE: +x move the tool at least 250mm or more. d Press and hold the SHIFT key and press F5 , RECORD. 17 Define the Z direction point: a Move the cursor to Orient Origin Point. b Press and hold the SHIFT key and press F4 , MOVE_TO, to move the robot to the Orient Origin Point. c Move the cursor to Z Direction Point. d Jog the robot in the -Z direction (of the world frame). e Press and hold the SHIFT key and press F5 , RECORD. Frames 116 MATAGHAND1007CE 18 To select the tool frame to use, press F5 , SETIND, type the number of the tool frame you want, and press ENTER . If F5 , SETIND, is not displayed, press PREV . -ORYou can also select the frame using the Jog Menu. Press and hold SHIFT and press COORD , move the cursor to Tool, and type the number of the frame you want to select. 19 Jog the robot in the frame you just taught, to verify it is correct, • If the TCP is correct, it will remain stationary during rotational moves. Go to Step 20. CAUTION When you are finished setting the frame configuration, save the information to the default device so that you can reload the configuration data if necessary. Otherwise, if the configuration is altered, you will have no record of it. You may also wish to record the values now shown on the direct entry screen. • If the TCP is not correct, it will not remain stationary during rotational moves. You need to review your recorded positions. If they are not correct, re-record them correctly. Go to Step 12. WARNING When you use F4, MOVE_TO, to move the robot, unanticipated joint motion can occur. This could injure personnel or damage equipment. Remember, this is a JOIN move. 20 To move to a recorded position, press and hold the SHIFT key and press F4 , MOVE_TO. 21 To save the frames and related system variables to a file on the default device, a Press MENU . b Select FILE. c Press F1 , [TYPE]. d Select File. e Press F5 , [UTIL]. f Select Set Device. Frames 117 MATAGHAND1007CE g Move the cursor to the device you want and press ENTER . h Display the tool frame screen. i Press FCTN . j Select SAVE. This will save the frame positions and comments for all frames to the file, FRAMEVAR.SV, on the default device. Display the SYSTEM Variables menu, k Press MENU . l Select SYSTEM. m Press F1 , [TYPE]. n Select Variables. o Press FCTN . p Select SAVE. The tool frame positions and system variables are saved in the SYSVAR.SV file, on the default device. Procedure 6-3 Setting Up Tool Frame Using the Direct Entry Method WARNING If you set up a new frame, make sure that all frame data is zero or uninitialized before you record any positions. Press F4, CLEAR, to clear frame data. If you modify an existing frame, make sure that all frame data is set the way you want before you change it. Otherwise, you could injure personnel or damage equipment. NOTE: If you have a 4-axis robot (such as an A-520i, or M-410iHS/iHW, or M420i), you can define a tool frame using only the direct entry method. Step 1 Press MENU . 2 Select SETUP. 3 Press F1 , [TYPE]. 4 Select Frames. 5 To choose the motion group for the frame you are setting up in systems with multiple motion groups press F3 , [OTHER], and select the group you want. The default motion group is Group 1. Frames 118 MATAGHAND1007CE 6 If tool frames are not displayed, press F3 , [OTHER], and select Tool Frame. If F3 , [OTHER], is not displayed, press PREV . 7 To display the settings for all the frames, press PREV repeatedly until you see a screen similar to the following. SETUP Frames Tool Frame Setup / Direct Entry X Y Z Comment 1: 0.0 0.0 0.0 ************* 2: 0.0 0.0 0.0 ************* 3: 0.0 0.0 0.0 ************* 4: 0.0 0.0 0.0 ************* 5: 0.0 0.0 0.0 ************* 6: 0.0 0.0 0.0 ************* 7: 0.0 0.0 0.0 ************* 8: 0.0 0.0 0.0 ************* 9: 0.0 0.0 0.0 ************* Active TOOL $MNUTOOLNUM[1]=1 NOTE: The maximum number of tool frames is set in the system variable $SCR.$MAXNUMUTOOL. 8 To set the numerical values to zero, move the cursor to the frame number, press F4 , CLEAR, and then press F4 , YES, to confirm. 9 Press F2 , DETAIL. 10 To select a frame, a Press F3 , FRAME. b Type the desired frame number. c Press ENTER . 11 Press F2 , [METHOD]. 12 Select Direct Entry. You will see a screen similar to the following. SETUP Frames Tool Frame Setup / Direct Entry Frame Number: 1 1 Comment: **************** 2 X: 0.000 3 Y: 0.000 4 Z: 0.000 5 W: 0.000 6 P: 0.000 7 R: 0.000 Configuration: N R D B, 0, 0, 0 Active TOOL $MNUTOOLNUM[1]=1 13 To add a comment: a Move the cursor to the comment line and press ENTER . b Select a method of naming the comment. Frames 119 MATAGHAND1007CE c Press the appropriate function keys to enter the comment. d When you are finished, press ENTER 14 Set each position component: a Move the cursor to the component. b Enter the numeric value for the component. c Press the ENTER key to set the new value. 15 To select the tool frame to use, press F5 , SETIND, type the number of the tool frame you want, and press ENTER . If F5 , SETIND, is not displayed, press PREV . -ORUse the Jog Menu Press and hold SHIFT and press COORD , move the cursor to Tool, and type the number of the frame you want to select. CAUTION When you are finished setting the frame configuration, save the information to the default device so that you can reload the configuration data if necessary. Otherwise, if the configuration is altered, you will have no record of it. 16 To save the frames and related system variables to a file on the default device, a Press MENU . b Select FILE. c Press F1 , [TYPE]. d Select File. e Press F5 , [UTIL]. f Select Set Device. g Move the cursor to the device you want and press ENTER. h Display the tool frame screen. i Press FCTN . j Select SAVE. This will save the frame positions and comments for all frames to the file, FRAMEVAR.SV, on the default device. Frames 120 MATAGHAND1007CE Display the SYSTEM Variables menu, k Press MENU . l Select SYSTEM. m Press F1 , [TYPE]. n Select Variables. o Press FCTN . p Select SAVE. The tool frame positions and system variables are saved in the SYSVAR.SV file, on the default device. Frames 121 MATAGHAND1007CE 6.2.1 The jog menu provides a method to check and change the following jogging information: • Currently selected frame number of each frame (TOOL, JOG, USER) Jog Menu • Currently selected group number • Currently selected sub-group type (ROBOT/EXT). You will see a screen similar to the following. TEST1 UTILITY TOOL 100% | TOOL (.=10 2| | JOG 3| | USER 1| | ROBOT/EXT | +----------------+ Procedure 6-4 Using the Jog Menu Step 1 To display the jog menu, press and hold the SHIFT key and press the COORD key 2 Use the up and down arrow keys to move the cursor to the item you want to change. 3 To change the number of each frame, press the appropriate numeric key. The item on which the cursor is located is changed to the new value. Valid frame numbers are as follows: • USER: 0–9 • TOOL: 1–10 –– To select 10, press the “.” (period) key on the teach pendant. • JOG: 1–5 NOTE: The text (.=10) does not appear and the “.” key is not accepted if there are fewer than ten tool frames. NOTE: The maximum number of tool frames is set in the system variable $SCR.$MAXNUMUTOOL. Refer to the FANUC Robotics SYSTEM R–J3i MODEL B Controller Software Reference Manual for more information. Frames 122 MATAGHAND1007CE 4 To change to sub-group (available only for systems with extended axes), move the cursor to ROBOT/EXT and press the left and right arrow keys. 5 To change the group number (available only for multiple motion group systems), move the cursor to GROUP and press the appropriate numeric key. You can specify numbers only for existing motion groups. Upon selecting or entering your group number, the Jog Menu will close. Procedure 6-5 Selecting a Tool Frame NOTE: You can also use the Jog Menu to select the number of the tool frame you want to use. Step The tool frame you want to select has been set up. Use Procedure 6-1, Procedure 6-2, or Procedure 6-3. 1 Press MENU . 2 Select SETUP. 3 Press F1 , [TYPE]. 4 Select Frames. 5 To choose the motion group for the frame you are setting up in systems with multiple motion groups press F3 , [OTHER], and select the group you want. The default motion group is Group 1. 6 If tool frames are not displayed, press F3 , [OTHER], and select Tool Frame If F3 , [OTHER], is not displayed, press PREV . You will see a screen similar to the following. SETUP Frames Tool Frame Setup / Direct Entry 1/10 X Y Z Comment 0.0 0.0 0.0 ************* 2: 0.0 0.0 0.0 ************* 3: 0.0 0.0 0.0 ************* 4: 0.0 0.0 0.0 ************* 5: 0.0 0.0 0.0 ************* 6: 0.0 0.0 0.0 ************* 7: 0.0 0.0 0.0 ************* 8: 0.0 0.0 0.0 ************* 9: 0.0 0.0 0.0 ************* Active TOOL $MNUTOOLNUM[1]=1 Frames 123 MATAGHAND1007CE NOTE: The maximum number of tool frames is set in the system variable $SCR.$MAXNUMUTOOL. 7 To select the tool frame to use, press F5 , SETIND, type the number of the tool frame you want, and press ENTER . If F5 , SETIND, is not displayed, press PREV . -ORUse the Jog Menu Press and hold SHIFT and press COORD , move the cursor to Tool, and type the number of the frame you want to select. 8 When a position is recorded in the teach pendant program, the value of the position’s tool frame will always equal the value of $MNUTOOLNUM[group_no] at the time the position was recorded. When a teach pendant program is executed, you must make sure that the tool frame of the position equals the value of $MNUTOOLNUM [group_no], otherwise, an error will occur. Set the value of $MNUTOOLNUM using the UTOOL_NUM=n instruction in the teach pendant program before you record the position to guarantee that the tool frame numbers match during program execution. Frames 124 MATAGHAND1007CE HandlingTool Application Programming Enabling Objective Lab 6 • TOOL Frame Set up – Set/Teach a TOOL Frame using Direct Entry on any robot and/or the Six Point Method with six axis robots – Jog in WORLD and TOOL FANUC Robotics Frames 125 MATAGHAND1007CE Lab 6 TOOL Frame Set up Student Name: _______________________________________________________________ Assignment: Condition: Step: The student will: • Locate the present TOOL Frame value • Set/Teach a TOOL Frame using Direct Entry on any robot and/or the three Point Method with six axis robots • Set/Teach a TOOL Frame using Direct Entry on any robot and/or the six Point Method with six axis robots • Jog in TOOL A FANUC robot and controller loaded with HandlingTool application software. 1 Power up the robot in a safe fashion 2 Hold SHIFT while you press and release COORD on the teach pendant. A menu will pull down from the status bar. Follow Procedure 5-4 “Using the Jog Menu” to change between frame defaults. Notice the current TOOL, JOG, and USER default frames. If USER is not 0, cursor to USER and TYPE 0. The USER frame is changed to the Robot’s World. 3 Jog the robot into the air away from all obstacles. Press the COORD key on the teach pendant to change to the TOOL Jog System. Jog about each directions +X (J1) , +Y (J2) , and +Z (J3) axis to find the Tool’s individual 4 For all 6 axis robots, clear any values for the tool being set. Perform the procedure to set the tool using the “three-point” method. After the new tool has been set, make sure TOOL 1 is set properly by rotating quickly about each of the three axes. The tool tip should maintain the position. 5 For all 4 axis robots, clear any values stored for the tool being set. Perform the procedure to set the tool using the “Direct Entry” method. After the new tool has been set, verify accuracy by rotating quickly about each of the three axes. Once again, the tool tip maintain its position. Compare the approximation measurements and the taught offset values using the Three Point Method of approaching a common point. Completed: Instructor: ________________________________ 126 Frames MATAGHAND1007CE NOTES: ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ Frames 127 MATAGHAND1007CE 6.2.2 User Frame HandlingTool Application Programming User Frame • Can be set up in any location, with any orientation • All positions are recorded in user frame • If no user frame specified world frame is used by default • All positions in user frame are recorded with respect to origin of frame FANUC Robotics A user frame is a frame that you can set up in any location, with any orientation. User frames are used so that positions in a program can be recorded relative to the origin of the frame. All positions in a program are automatically recorded in user frame. If you do not set up the location and orientation of the user frame before you create a program, the user frame will be set by default to the world frame in the program and you cannot change it. NOTE: If you are using the remote TCP option, you must define a user frame to be your remote TCP (RTCP) frame. 128 Frames MATAGHAND1007CE HandlingTool Application Programming Frame Notes • The Orientation (w, p, r) is the rotation about the X, Y, and Z, axes of the reference frame. • When a position is recorded, its location and orientation is automatically recorded as X, Y, Z, /w, p, r, relative to the origin of the frame that is being used. • The X, Y, & Z is measured in millimeters and the w, p,& r, is measured in degrees. • X,Y,Z, w, p, r, is called Cartesian Coordinate System. FANUC Robotics HandlingTool Application Programming User Frame (cont.) • If origin and location of frame changes, positions change with frame • Frames stored in system variable $MNUFRAME – V5.XX software - up to 9 frames maximum – V4.4 software - up to 6 frames maximum – V4.31 and below - up to 5 frames maximum FANUC Robotics Frames 129 MATAGHAND1007CE HandlingTool Application Programming User Frame (cont.) • Active frame stored in system variable $MNUFRAMENUM • Active frame can be set and changed within program as needed • TPP – Use parameter instruction FANUC Robotics HandlingTool Application Programming Setting up User Frames • Three Point Method • Four Point Method • Direct Entry Method FANUC Robotics Frames 130 MATAGHAND1007CE Advanced Programming User Frame vs. Jog Frames Both User and Jog frames can be setup at any location with any orientation. Both User and Jog frames can be used for jogging World Frame Jog Frame 3 -Y +Y +X User Frame 5 +Y +X +Y +X THE DIFFERENCE: Notice the positional data and how it references only User Tools and User Frames FANUC Robotics Advanced Programming User Frame vs. Jog Frames If the Jog and User Frames move… World Frame Jog Frame 3 -Y +Y +X +Y +X FANUC Robotics +X User Frame 5 THE DIFFERENCE: Notice the +Y positional data and how it references only User Tools and User Frames Frames 131 MATAGHAND1007CE Figure 6-3 World and User Frames Three Point Method Recording three points defines the user frame. The three points are the origin, a position along the +x-axis of the user frame, and a position on the x-y plane of the user frame (defines the x-y plane and the y-z plane). Use Procedure 6-6 to define the user frame using the three point method. Four Point Method Use the four point method when you need to define a frame that has its origin at a position other than the reference of the frame. You can also use it to define multiple frames with parallel axes. The four points are the reference of the frame (called orient origin point), a point along the +x-axis of the frame (defines the x-z plane), a point on the x-y plane of the frame (defines the x-y plane and the y-z plane) and the origin of the frame (called system origin). Use Procedure 6-7 to define a user frame using the four point method. Direct Entry Method Use the direct entry method when you know the coordinates of the user frame. The direct entry method allows you to designate the origin with values for x, y, z, w, p, and r. Use Procedure 6-8 to define a user frame using the direct entry method. Use Procedure 6-9 to select a user frame. Frames 132 MATAGHAND1007CE Procedure 6-6 Setting Up the User Frame Using the Three Point Method Condition The tool frame you want to select has been set up. (Procedure 6-1, Procedure 6-2, or Procedure 6-3) WARNING If you set up a new frame, make sure that all frame data is zero or uninitialized before you record any positions. Press F4 , CLEAR, to clear frame data. If you modify an existing frame, make sure that all frame data is set the way you want before you change it. Otherwise, you could injure personnel or damage equipment. Step 1 Press MENU . 2 Select SETUP. 3 Press F1 , [TYPE]. 4 Select Frames. 5 To choose the motion group for the frame you are setting up in systems with multiple motion groups press F3 , [OTHER], and select the group you want. The default motion group is Group 1. WARNING Do not run a KAREL program that includes motion statements if more than one motion group is defined on your controller. If your controller is set up for more than one motion group, all motion must be initiated from a teach pendant program. Otherwise, the robot could move unexpectedly, personnel could be injured, and equipment could be damaged. 6 If user frames are not displayed, press F3 , [OTHER], and select User/RTCP. If F3 , [OTHER], is not displayed, press PREV . 7 To display the settings for all frames , press PREV repeatedly until you see a screen similar to the following. Frames 133 MATAGHAND1007CE SETUP Frames User/RTCP Setup / Three Point X Y Z Comment 1: 0.0 0.0 0.0 ************* 2: 0.0 0.0 0.0 ************* 3: 0.0 0.0 0.0 ************* 4: 0.0 0.0 0.0 ************* 5: 0.0 0.0 0.0 ************* 6: 0.0 0.0 0.0 ************* 7: 0.0 0.0 0.0 ************* 8: 0.0 0.0 0.0 ************* 9: 0.0 0.0 0.0 ************* Active UFRAME/RTCP $MNUFRAMNUM[1]=0 8 To set the numerical values to zero, move the cursor to the frame number, press F4 , CLEAR, and then press F4 , YES, to confirm. 9 Press F2 , DETAIL. 10 To select a frame, a Press F3 , FRAME. b Type the desired frame number. c Press ENTER . 11 Press F2 , [METHOD]. 12 Select Three Point. You will see a screen similar to the following. SETUP Frames User/RTCP Setup/ Three Point Frame Number: 2 X: W: 0.0 0.0 Y: P: 0.0 0.0 Z: R: 0.0 0.0 Comment: **************** Orient Origin Point: UNINIT X Direction Point: UNINIT Y Direction Point: UNINIT Active UFRAME/RTCP $MNUFRAMNUM[1]=1 13 To add a comment: a Move the cursor to the comment line and press ENTER . b Select a method of naming the comment. c Press the appropriate function keys to enter the comment. d When you are finished, press ENTER . 14 Define the origin point of the user frame: (Orient Origin Point) a Move the cursor to Orient Origin Point. b Jog the robot TCP to the origin. Figure 6-4 Defining the Frames 134 MATAGHAND1007CE Origin, the origin is labeled number 1. c Press and hold the SHIFT key and press F5 , RECORD. Figure 6-4 Defining the Origin 15 Define the +X (J1) direction point (X Direction Point) : a Move the cursor to X Direction Point. b Jog the robot tool tip along the x-axis. In Figure 6-5 Defining the X Direction Point this point is labeled number 2. c Press and hold the SHIFT key and press F5 , RECORD. Frames 135 MATAGHAND1007CE Figure 6-5 Defining the X Direction Point 16 Define a point on the positive X-Y plane (Y Direction Point) a Move the cursor to Y Direction Point. b Jog the robot to a location on the positive X-Y plane. In Figure 6-6 Defining the X-Y Plane, this point is labeled number 3. c Press and hold the SHIFT key and press F5 , RECORD. Frames 136 MATAGHAND1007CE Figure 6-6 Defining the X-Y Plane 17 To select the user frame to use, press F5 , SETIND, type the number of the user frame you want, and press ENTER. This sets the active user frame ($MNUFRAMNUM[1]) to the number of the frame you want. If F5 , SETIND, is not displayed, press PREV . -ORUse the Jog Menu. Press and hold SHIFT and press COORD , move the cursor to User, and type the number of the frame you want to use. 18 Jog the robot in the +x, +y, and +z directions. The robot should move in the correct directions according to the frame you defined. If the robot does not move in the correct directions, go to Step 15. Otherwise, go to Step 19. CAUTION When you are finished setting the frame configuration, save the information to the default device so that you can reload the configuration data if necessary. Otherwise, if the configuration is altered, you will have no record of it. 19 To move to a recorded position, move the cursor to the desired position, press and hold the SHIFT key and press F4 , MOVE_TO. Frames 137 MATAGHAND1007CE WARNING When you use F4 , MOVE_TO, to jog the robot, unexpected motion can occur. This could injure personnel or damage equipment. NOTE: If you want to clear the current user frame selected, press NEXT, >, and then F2 , CLRIND. This sets the active user frame ($MNUFRAMNUM[1]) to zero, which means that the default user frame is currently selected. 20 To save the frames and related system variables to a file on the default device, a Press MENU . b Select FILE. c Press F1 , [TYPE]. d Select File. e Press F5 , [UTIL]. f Select Set Device. g Move the cursor to the device you want and press ENTER . h Display the user frame screen. i Press FCTN . j Select SAVE. This will save the frame positions and comments for all frames to the file, FRAMEVAR.SV, on the default device. Display the SYSTEM Variables menu, k Press MENU . l Select SYSTEM. m Press F1 , [TYPE]. n Select Variables. o Press FCTN . p Select SAVE. The frame positions and system variables are saved in the SYSVAR.SV file, on the default device. Frames 138 MATAGHAND1007CE Procedure 6-7 Setting Up the User Frame Using the Four Point Method WARNING If you set up a new frame, make sure that all frame data is zero or uninitialized before you record any positions. Press F4 , CLEAR, to clear frame data. If you modify an existing frame, make sure that all frame data is set the way you want before you change it. Otherwise, you could injure personnel or damage equipment. Step 1 Press MENU . 2 Select SETUP. 3 Press F1 , [TYPE]. 4 Select Frames. 5 To choose the motion group for the frame you are setting up in systems with multiple motion groups, press F3 , [OTHER], and select the group you want. The default motion group is Group 1. 6 If user frames are not displayed, press F3 , [OTHER], and select User Frame. If F3 , [OTHER], is not displayed, press PREV . 7 To display the settings for all frames, press PREV repeatedly until you see a screen similar to the following. SETUP Frames User/RTCP Setup / Four Point X Y Z Comment 1: 0.0 0.0 0.0 ************* 2: 0.0 0.0 0.0 ************* 3: 0.0 0.0 0.0 ************* 4: 0.0 0.0 0.0 ************* 5: 0.0 0.0 0.0 ************* 6: 0.0 0.0 0.0 ************* 7: 0.0 0.0 0.0 ************* 8: 0.0 0.0 0.0 ************* 9: 0.0 0.0 0.0 ************* Active UFRAME/RTCP $MNUFRAMNUM[1]=0 8 To set the numerical values to zero, move the cursor to the frame number, press F4 , CLEAR, and then press F4 , YES, to confirm. 9 Press F2 , DETAIL. 10 To select a frame: a Press F3 , FRAME. Frames 139 MATAGHAND1007CE b Type the desired frame number. c Press ENTER . 11 Press F2 , [METHOD]. 12 Select Four Point. You will see a screen similar to the following. SETUP Frames User/RTCP Setup/ Four Point Frame Number: 2 X: 0.0 Y: 0.0 Z: W: 0.0 P: 0.0 R: 0.0 0.0 Comment: **************** Orient Origin Point: UNINIT X Direction Point: UNINIT Y Direction Point: UNINIT System Origin: UNINIT Active UFRAME/RTCP $MNUFRAMNUM[1]=1 13 To add a comment: a Move the cursor to the comment line and press ENTER . b Select a method of naming the comment. c Press the appropriate function keys to enter the comment. d When you are finished, press ENTER . 140 Frames MATAGHAND1007CE 14 Define the reference point of the user frame (Orient Origin Point): a Move the cursor to Orient Origin Point. b Jog the robot TCP to the origin. In Figure 6-7 Defining the Origin, the origin is labeled number 1. c Press and hold the SHIFT key and press F5 , RECORD. Figure 6-7 Defining the Origin Frames 141 MATAGHAND1007CE 15 Define the +X (J1) direction point (X Direction Point): a Move the cursor to X Direction Point. b Jog the robot TCP to a point along the +x-axis. In Figure 6-8 Defining the X Direction Point this point is labeled number 2. c Press and hold the SHIFT key and press F5 , RECORD, to record a position. Figure 6-8 Defining the X Direction Point 142 Frames MATAGHAND1007CE 16 Define a point on the X-Y plane (Y Direction Point): a Move the cursor to Y Direction Point. b Jog the robot to a location on the positive X-Y plane. In Figure 6-9 Defining the X-Y Plane, this point is labeled number 3. c Press and hold the SHIFT key and press F5 , RECORD. Figure 6-9 Defining the X-Y Plane Frames 143 MATAGHAND1007CE 17 Teach the origin of the second user frame (System Origin): a Move the cursor to System Origin. b Jog the robot TCP to the origin of the second user frame. In Figure 6-10 Defining the Second Origin, the origin is labeled number 4. c Press F5 , RECORD, to record a position. Figure 6-10 Defining the Second Origin 18 To select the user frame to use, press F5 , SETIND, type the number of the user frame you want, and press ENTER . This sets the active user frame ($MNUFRAMNUM[1]) to the number of the frame you want. If F5 , SETIND, is not displayed, press PREV . -ORUse the Jog Menu. Press and hold SHIFT and press COORD , move the cursor to User, and type the number of the frame you want to use. 19 Jog the robot in the +x, +y, and +z directions. The robot should move in the correct directions according to the frame you defined. If the robot does not move in the correct Frames 144 MATAGHAND1007CE directions, go to Step 15. Otherwise, go to Step 20. 20 To move to a recorded position, move the cursor to the desired position, press and hold the SHIFT key and press F4 , MOVE_TO. NOTE: If you want to clear the current frame to zero , move the cursor to the frame number, press NEXT, >, then F2 , CLRIND. This sets the active user frame ($MNUFRAMNUM[1]) to zero, meaning the default user frame is currently selected. 21 To save the frames and related system variables to a file on the default device, a Press MENU . b Select FILE. c Press F1 , [TYPE]. d Select File. e Press F5 , [UTIL]. f Select Set Device. g Move the cursor to the device you want and press ENTER . h Display the user frame screen. i Press FCTN . j Select SAVE. This will save the frame positions and comments for all frames to the file, FRAMEVAR.SV, on the default device. Display the SYSTEM Variables menu, k Press MENU . l Select SYSTEM. m Press F1 , [TYPE]. n Select Variables. o Press FCTN . p Select SAVE. The frame positions and system variables are saved in the SYSVAR.SV file, on the default device. Frames 145 MATAGHAND1007CE Procedure 6-8 Setting Up User Frame Using the Direct Entry Method Step 1 Press MENU . 2 Select SETUP. 3 Press F1 , [TYPE]. 4 Select Frames. 5 To choose the motion group for the frame you are setting up in systems with multiple motion groups press F3 , [OTHER], and select the group you want. The default motion group is Group 1. 6 If user frames are not displayed, press F3 , [OTHER], and select User Frame. If F3 , [OTHER], is not displayed, press PREV . 7 To display the settings for all the frames, press PREV repeatedly until you see a screen similar to the following. 8 To set the numerical values to zero, move the cursor to the frame number, press F4 , CLEAR, and then press F4 , YES, to confirm. Frames 146 MATAGHAND1007CE 9 Press F2 , DETAIL. 10 To select a frame, a Press F3 , FRAME. b Type the desired frame number. c Press ENTER . 11 Press F2 , [METHOD]. 12 Select Direct Entry. You will see a screen similar to the following. SETUP Frames User/RTCP Setup/ Direct Entry Frame Number: 1 1 Comment: **************** 2 X: 0.000 3 Y: 0.000 4 Z: 0.000 5 W: 0.000 6 P: 0.000 7 R: 0.000 Configuration: N, 0, 0, 0 Active UFRAME/RTCP $MNUFRAMENUM[1]=0 13 To add a comment: a Move the cursor to the comment line and press ENTER . b Select a method of naming the comment. c Press the appropriate function keys to enter the comment. d When you are finished, press ENTER . 14 Set each position component: a Move the cursor to the component. b Enter the numeric value for the component. c Press the ENTER key to set the new value. 15 To select the user frame to use, press F5 , SETIND, type the number of the user frame you want, and press ENTER. This sets the active user frame ($MNUFRAMNUM[1]) to the number of the frame you want. If F5 , SETIND, is not displayed, press PREV . -ORUse the Jog Menu. Press and hold SHIFT and press COORD , move the cursor to User, and type the number of the frame you want to use. Frames 147 MATAGHAND1007CE NOTE: If you want to clear the current frame to zero , move the cursor to the frame number and press NEXT , >, and then F2 , CLRIND. This sets the active user frame ($MNUFRAMNUM[1]) to zero, which means that the default user frame is currently selected. 16 To save the frames and related system variables to a file on the default device, a Press MENU . b Select FILE. c Press F1 , [TYPE]. d Select File. e Press F5 , [UTIL]. f Select Set Device. g Move the cursor to the device you want and press ENTER . h Display the user frame screen. i Press FCTN . j Select SAVE. This will save the frame positions and comments for all frames to the file, FRAMEVAR.SV, on the default device. Display the SYSTEM Variables menu, k Press MENU . l Select SYSTEM. m Press F1 , [TYPE]. n Select Variables. o Press FCTN . p Select SAVE. The frame positions and system variables are saved in the SYSVAR.SV file, on the default device. Frames 148 MATAGHAND1007CE Procedure 6-9 Selecting a User Frame NOTE: You can also use the Jog Menu to select the number of the user frame you want to use. Condition The user frame you want to select has been set up. 1 Press MENU . 2 Select SETUP. 3 Press F1 , [TYPE]. 4 Select Frames. 5 If user frames are not displayed press F3 , [OTHER], and select User Frame. If F3 , [OTHER], is not displayed, press PREV . You will see a screen similar to the following. SETUP Frames User/RTCP Setup / Direct Entry X Y Z Comment 1: 0.0 0.0 0.0 ************* 2: 0.0 0.0 0.0 ************* 3: 0.0 0.0 0.0 ************* 4: 0.0 0.0 0.0 ************* 5: 0.0 0.0 0.0 ************* 6: 0.0 0.0 0.0 ************* 7: 0.0 0.0 0.0 ************* 8: 0.0 0.0 0.0 ************* 9: 0.0 0.0 0.0 ************* Active UFRAME/RTCP $MNUFRAMNUM[1]=0 Frames 149 MATAGHAND1007CE 6 To select the user frame to use, press F5 , SETIND, type the number of the user frame you want, and press ENTER . This sets the active user frame ($MNUFRAMNUM[1]) to the number of the frame you want. If F5 , SETIND, is not displayed, press PREV . -ORUse the Jog Menu. Press and hold SHIFT and press COORD , move the cursor to User, and type the number of the frame you want to use. NOTE: When a teach pendant program is executed, you must make sure that the user frame of the position equals the value of $MNUFRAMENUM[group_no], otherwise, an error will occur. Set the value of $MNUFRAMENUM[1] using the UFRAME_NUM=n instruction in the teach pendant program and then execute that instruction before you record the position. This guarantees that the position corresponds to the correct user frame. Frames 150 MATAGHAND1007CE 6.2.3 Jog Frame HandlingTool Application Programming Jog Frame • Can be set up in any location, with any orientation • Used when part is oriented differently from world frame • Allows jogging along x,y, and z axes of part FANUC Robotics See Figure 6-11 Jog Frame Defined Parallel to Part. You can set up jog frame so that the coordinates of jog frame correspond to the coordinates of the part. You can then jog along x, y, and z to teach the positions on the part. • Before you use jog frame, you must set up its location and orientation. • You can set up as many as five different jog frames for each robot. • You can select one jog frame to be active at a time. • You can jog the robot in jog frame. Frames 151 MATAGHAND1007CE HandlingTool Application Programming Setting up Jog Frames • Three Point Method • Direct Entry Method FANUC Robotics Figure 6-11 Jog Frame Defined Parallel to Part You can use two methods to define the jog frame. • Three point method • Three Point Method Direct entry method The three point method allows you to define a jog frame by recording three points: the origin, a point along the +x-axis of the user frame, and a point on the x-y plane of the user frame (defines the x-y plane and the y-z plane). Use Procedure 6-10 to set up the jog frame using the three point method. Frames 152 MATAGHAND1007CE Direct Entry Method The direct entry method allows you to designate the origin with values for x, y, z, w, p, and r. This method provides direct recording and numerical entry of the frame position. Use Procedure 6-11 to set up the jog frame using the direct entry method. Procedure 6-10 Setting Up the Jog Frame Using the Three Point Method Step 1 Press MENU . 2 Select SETUP. 3 Press F1 , [TYPE]. 4 Select Frames. 5 To choose the motion group for the frame you are setting up in systems with multiple motion groups press F3 , [OTHER], and select the group you want. The default motion group is Group 1. 6 If jog frames are not displayed, press F3 , [OTHER], and select Jog Frame. If F3 , [OTHER], is not displayed, press PREV . 7 To display the settings for all frames, press PREV repeatedly until you see a screen similar to the following. Frames 153 MATAGHAND1007CE 8 To set the numerical values to zero, move the cursor to the frame number, press F4 , CLEAR, and then press F4 , YES, to confirm. 9 Press F2 , DETAIL. 10 To select a frame: a Press F3 , FRAME. b Type the desired frame number. c Press ENTER . 11 Press F2 , [METHOD]. 12 Select Three Point. You will see a screen similar to the following. 13 To add a comment: a Move the cursor to the comment line and press ENTER . b Select a method of naming the comment. c Press the appropriate function keys to enter the comment. d When you are finished, press ENTER . 14 Define the origin of the jog frame (System Origin Point): a Move the cursor to System Origin Point. b Jog the robot TCP to the origin. In Figure 6-12 Defining the Origin the origin is labeled number 1. c Press and hold the SHIFT key and press F5 , RECORD. Frames 154 MATAGHAND1007CE Figure 6-12 Defining the Origin 15 Define the +X (J1) direction point (X Direction Point): a Move the cursor to X Direction Point. b Jog the robot tool tip along the x-axis of the box. In Figure 6-13 Defining the X Direction Point this point is labeled number 2. c Press and hold the SHIFT key and press F5 , RECORD. Figure 6-13 Defining the X Direction Point Frames 155 MATAGHAND1007CE 16 Define a point on the positive X-Y plane (Y Direction Point): a Move the cursor to Y Direction Point. b Jog the robot to a location on the positive X-Y plane. In Figure 6-14 Defining the X-Y Plane, this point is labeled number 3. c Press and hold the SHIFT key and press F5 , RECORD. Figure 6-14 Defining the X-Y Plane 17 To select the jog frame to use, press F5 , SETIND, type the number of the jog frame you want, and press ENTER. If F5 , SETIND, is not displayed, press PREV . -ORUse the Jog Menu. Press and hold SHIFT and press COORD , move the cursor to Jog, and type the number of the frame you want to use. 18 Jog the robot in the +x, +y, and +z directions. The robot should move in the correct directions according to the frame you defined. If the robot does not move in the correct directions, go to Step 15. Otherwise, go to Step 19. Frames 156 MATAGHAND1007CE 19 To move to a recorded position, move the cursor to the desired position, press and hold the SHIFT key and press F4 , MOVE_TO. 20 To save the frames and related system variables to a file on the default device, a Press MENU . b Select FILE. c Press F1 , [TYPE]. d Select File. e Press F5 , [UTIL]. f Select Set Device. g Move the cursor to the device you want and press ENTER . h Display the jog frame screen. i Press FCTN . j Select SAVE. This will save the frame positions and comments for all frames to the file, FRAMEVAR.SV, on the default device. Display the SYSTEM Variables menu, k Press MENU . l Select SYSTEM. m Press F1 , [TYPE]. n Select Variables. o Press FCTN . p Select SAVE. The frame positions and system variables are saved in the SYSVAR.SV file, on the default device. Frames 157 MATAGHAND1007CE Procedure 6-11 Setting Up the Jog Frame Using the Direct Entry Method 1 Press MENU . 2 Select SETUP. 3 Press F1 [TYPE]. 4 To choose the motion group for the frame you are setting up in systems with multiple motion groups press F3 , [OTHER], and select the group you want. The default motion group is Group 1. 5 Select Frames. 6 If jog frames are not displayed, press F3 , [OTHER] and select Jog Frame. If F3 , [OTHER], is not displayed, press PREV . 7 To display the settings for all frames , press PREV repeatedly until you see a screen similar to the following. 8 To set the numerical values to zero, move the cursor to the frame number, press F4 , CLEAR, and then press F4 , YES, to confirm. 9 Press F2 , DETAIL. Frames 158 MATAGHAND1007CE 10 To select a frame: a Press F3 , FRAME. b Type the desired frame number. c Press ENTER . 11 Press F2 , [METHOD]. 12 Select Direct Entry. You will see a screen similar to the following. 13 To add a comment: a Move the cursor to the comment line and press ENTER . b Select a method of naming the comment. c Press the appropriate function keys to enter the comment. d When you are finished, press ENTER . 14 Set each position component: a Move the cursor to the component. b Enter the numeric value for the component. c Press ENTER to set the new value. 15 To select the jog frame to use, press F5 , SETIND, type the number of the jog frame you want, and press ENTER. If F5 , SETIND, is not displayed, press PREV . -ORUse the Jog Menu. Press and hold SHIFT and press COORD , move the cursor to Jog, and type the number of the frame you want to use. Frames 159 MATAGHAND1007CE 16 To save the frames and related system variables to a file on the default device: a Press MENU . b Select FILE. c Press F1 , [TYPE]. d Select File. e Press F5 , [UTIL]. f Select Set Device. g Move the cursor to the device you want and press ENTER . h Display the jog frame screen. i Press FCTN . j Select SAVE. This will save the frame positions and comments for all frames to the file, FRAMEVAR.SV, on the default device. Display the SYSTEM Variables menu, k Press MENU . l Select SYSTEM. m Press F1 , [TYPE]. n Select Variables. o Press FCTN . p Select SAVE. The frame positions and system variables are saved in the SYSVAR.SV file, on the default device. 160 Frames MATAGHAND1007CE NOTES: ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ Frames MATAGHAND1007CE Figure 6-15 Material Handling Teach Pendant FAULT HOLD STEP BUSY RUNNING I/O ENBL PROD MODE TEST CYC JOINT XYZ TOOL OFF ON TOOL 1 TOOL 2 MOVE MENU SETUP POSN I/O STATUS 161 Frames 162 MATAGHAND1007CE HandlingTool Application Programming Enabling Objective Lab 7 • Create a USER and JOG Frame – Create a USER Frame using the three-point method – Create a JOG Frame using the three-point method (optional) FANUC Robotics Frames 163 MATAGHAND1007CE Lab 7 Create a USER and JOG Frame Student Name:____________________________________________________ Assignment: The student will: • Create a USER Frame using the three-point method • Condition: Step: Create a JOG Frame using the three-point method (optional) A FANUC robot and controller loaded with HandlingTool application software. 1 Power up the robot using Procedure 5-1 Turning On the Robot. 2 Create a USER Frame using the three-point method as described in Procedure 6-6. 3 Jog the robot in the X, Y, and Z directions. 4 Jog the robot in the W, P, and R direction of the USER Frame and observe robot motion. 5 Select the USER Frame in the jog menu using Procedure 6-9. 6 Create a JOG Frame using the three point-method as described in Procedure 6-10. 7 Jog the robot in the JOG Frame to verify proper operation. 8 Power down the robot using Procedure 5-3 Turning Off the Robot Completed: Instructor: ________________________________ 164 Frames MATAGHAND1007CE NOTES: ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ 7 7 CREATING & WRITING A PROGRAM Creating & Writing a Program 165 HandlingTool Application Programming A FANUC Robotics application program includes a series of commands, called instructions, that tell the robot and other equipment how to move and perform a task. For example, a program directs the robot and controller to: • Move the robot in an appropriate way to required locations in the workcell. • Perform an application-specific operation • Send output signals to other equipment in the workcell. • Recognize and respond to input signals from other equipment in the workcell. • Keep track of time, part count, or job number. HandlingTool Application Programming What is a Program? • Series of instructions that control the operation of the robot and it’s associated equipment • Moves the robot to the required positions in the work cell • Sends/receives signals to/from other equipment in the work cell • Keep track of time, part count, job number FANUC Robotics or 166 Creating & Writing a Program MATAGHAND1007CE Status Indicators Current line number Indicates the number of the line in the program being executed Execution status – indicates ABORTED, PAUSED or RUNNING Speed Override – The override key specifies the percentage of the maximum speed rate Program which is being executed and being edited Line number Coordinate Motion Information Program end symbol Prompting message – Prompts the operator to enter data. The message depends on the selected screen and the position of the cursor Function key menu – indicates the function key labels. The menu depends on the selected screen and the position of the cursor. Labels including [] shows that the selection menu is displayed when this label is selected Current line and total number of lines indicates the line in the program being executed or edited and the total number of lines in the current program Creating & Writing a Program 167 MATAGHAND1007CE HandlingTool Application Programming Programming Process • • • • • Task Analysis Generate Operating Procedures Develop I/O Specifications Write the Program Verify the Program FANUC Robotics HandlingTool Application Programming Task Analysis • Develop overall strategy of the program • What are the program objectives • Develop task list – What are the subtasks – What is the subtask sequence – How are the subtasks inter-related FANUC Robotics 168 Creating & Writing a Program MATAGHAND1007CE HandlingTool Application Programming Task Analysis (cont.) • Prepare Maps of work cell, part, and part flow • Is the program path dependent or position dependent • List positions • Motion type, speed, termination FANUC Robotics HandlingTool Application Programming Task Analysis (cont.) • Use JOINT Moves – LINEAR moves slow down program – Use only when necessary • Use FINE termination only when necessary – FINE termination stops robot – Add 500-750 msec to cycle time for each FINE termination • Use Continuous (CNT) termination to move around objects • Minimize changes in wrist orientation – Change in wrist orientation can increase cycle time – Change in wrist orientation can create singularity errors FANUC Robotics Creating & Writing a Program 169 MATAGHAND1007CE HandlingTool Application Programming Generate Operating Procedures • Identify and define user interfaces • Specific Procedures – Startup – Operation – Fault Recovery – Shutdown – Menu Maps FANUC Robotics HandlingTool Application Programming Develop I/O Specifications • • • • • • List all Inputs and Outputs Identify source and destination Electrical Characteristics Signal Names Protocols Timing diagrams FANUC Robotics 170 Creating & Writing a Program MATAGHAND1007CE HandlingTool Application Programming Write the Program • Write Program • Test Program • Debug FANUC Robotics HandlingTool Application Programming Verify the Program • • • • Verification Maintenance Updates Changes FANUC Robotics Creating & Writing a Program 171 MATAGHAND1007CE 7.1 Planning a Program This section provides hints that will help you program specific tasks more efficiently. It contains hints for programming • Motion • Predefined positions NOTE: The hints in this section are for programming, not jogging. World frame or user frame are usually best for jogging and recording positions. 7.1.1 Motion Use the guidelines in this section to help you program certain kinds of robot motion. Use Joint for the Fastest Move Use joint motion type for the fastest moves and the shortest cycle time. Linear motion type results in slower moves. Use linear motion type when it is the only way to move to a certain position. Use Fine at the End of a Task Use fine termination type at the end of a task. Fine stops the robot precisely at the programmed point. Use Continuous to Move Around Obstructions Use continuous termination type for the most efficient movement around obstacles. Program the position near the obstacle and then adjust the termination type value as needed. See Figure 7-1 Figure 7-1 Continuous Termination Type for Palletizing Minimize Changes in Wrist Orientation Abrupt changes in wrist orientation can sometimes increase cycle time. Smooth, gradual changes are faster and more efficient. Plan motions to minimize wrist orientation changes when possible. When changes are necessary, distribute the rotation of the wrist smoothly throughout several moves; do not force the robot to Creating & Writing a Program 172 MATAGHAND1007CE change the entire wrist orientation at the end point of a series of moves. Procedure 7-1 Change Wrist Orientation Step 1 Move the robot to the first position (P[1]). Be sure that the orientation of the wrist is correct for that position. 2 Add a motion instruction to record the position of the robot. 3 Jog the robot to the last position that will be recorded. Be sure the robot is in the correct orientation for this position. 4 Add a motion instruction to record the position of the robot. 5 Record the number of motion instructions you think are necessary between the first position and the last position. 6 At a slow speed, step forward toward the P[1] position. 7 At a slow speed, step forward toward the second position, or P[2]. 8 Before the robot reaches P[2], release the SHIFT or FWD key. Record this new position between P[1] and P[2]. 9 Repeat Steps 7 and 8 for all the positions between the first position and the last position. CAUTION If, while you smooth the motion, axes 4, 5, and 6 attempt to reach zero degrees and axis 5 flips orientation, change the jog coordinate system to JOINT and continue jogging. Macros Macros are programs that can be executed from: • Specific teach pendant keys • The MACROS screen • The MANUAL FCTNS macro screen • Within a program using the macro Command instruction Macros allow you flexibility as to how and when the robot moves to the predefined position. For example, you could specify a macro from the MACROS screen to move the robot to the home position automatically. Macro positions are defined in the specific program and can be adjusted only if they are changed in the program using TOUCHUP. Programs You can write a program that moves the robot to a predefined position. You can use the macro command or CALL program instruction to branch to the macro or program that moves the Creating & Writing a Program 173 MATAGHAND1007CE robot to the predefined position. You can also include the position register used as a "predefined position" within the program. Program positions are defined in the specific program and can be adjusted only if they are changed in the program using TOUCHUP. Modifying a program includes: • Selecting the program • Modifying default instructions • Inserting instructions • Deleting instructions • Copying and pasting instructions • Searching for instructions • Renumbering instructions • Undoing operations • Displaying comments Creating & Writing a Program 174 MATAGHAND1007CE Figure 7-2 Writing and Modifying a Program 7.2 Writing a New Program When you write a new program you must • Name the program and set program header information. The program header information is a reserved area in the program that provides the controller with specific program characteristics. • Modify default instruction information. This includes modifying motion instructions and application–specific instructions. • Add motion instructions to the program. • Add application–specific instructions and other instructions to the program. Creating & Writing a Program 175 MATAGHAND1007CE 7.2.1 HandlingTool Application Programming Create a Program Program Name • • • • 8 Characters maximum length Must begin with a letter No special characters except underscore (_) Should describe program function FANUC Robotics HandlingTool Application Programming Program Name FANUC Robotics Creating & Writing a Program 176 MATAGHAND1007CE HandlingTool Application Programming Creating a Teach Pendant Program • Naming the program – On the Teach Pendant press SELECT – Press CREATE [F2] – Arrow down to select Upper Case – Upper case/Lower case ¾ Use F1 – F5 keys to create program name ¾ To delete character press BACK SPACE – Name the program by using key [F1 – F5] – Turn the ON/OFF switch to ON – Press ENTER when finished naming program – To begin programming press EDIT [F3] or to display program header information press DETAIL [F2] FANUC Robotics You can name a program using three different methods • Words – This method provides a list of words you can use to build a program name. ¾ RSR – Robot Service Request ¾ PNS – Program number select ¾ MAIN ¾ SUB ¾ TEST • Upper Case – This method lets you use upper case letters and any numbers. • Lower Case – This method lets you use lower case letters and any numbers. For the program name, lower case letters are automatically converted to upper case after you enter them. • Options allow you to change whether you are overwriting, inserting, or clearing the program name or comment information. The screen will display either Insert or Overwrite. Clear allows you to remove text from the current field. The total length of the program name must be no more than eight characters. You can combine words, upper case letters, and lower case letters to form the program name. Give the program a unique name that indicates the purpose of the program. NOTE: Do not use the asterisk * symbol in program names. Creating & Writing a Program 177 MATAGHAND1007CE HandlingTool Application Programming Program Header - Detail • Created automatically from Teach Pendant • Contains – Program Name – Type – Copy Source – Group Mask – Write Protection Setting FANUC Robotics HandlingTool Application Programming Program Header - Sub Type • None – Can contain any type of instruction • Macro – Can contain any type of instruction – Must be executed from Operator Panel or Teach Pendant Keys – Can also be called from a program when using MACRO instruction FANUC Robotics 178 Creating & Writing a Program MATAGHAND1007CE HandlingTool Application Programming Program Header - Sub Type (cont.) • Program Sub Type (cont.) • Condition Monitor – Monitors condition of I/O signal, register value, or alarm status during program execution • Program Monitor – Monitors conditions in TPP Program • System Monitor – Monitors system parameters, i.e PLC I/O signals FANUC Robotics HandlingTool Application Programming Program Header - Comment • Includes addition information to describe program – 16 Characters maximum – No restrictions on character use FANUC Robotics Creating & Writing a Program 179 MATAGHAND1007CE HandlingTool Application Programming Program Header – Group Mask • Group Mask • Identifies motion group the program will control • Controller can control maximum of 16 axes – 3 Groups on R-J2 Controller – 5 Groups on R-J3 Controller – Group 1 is default group – Axes 1-6 always in Group 1 FANUC Robotics HandlingTool Application Programming Program Header – Write Protection • Write Protection • OFF – Default setting – Allows modification of program • ON – Cannot modify program FANUC Robotics Creating & Writing a Program 180 MATAGHAND1007CE HandlingTool Application Programming Program Header – Ignore Pause • Ignore Pause • Specifies whether program will continue to run when error occurs, command is issued, or Teach Pendant is enabled • Allowed only in programs that have no motion groups – Group mask set to (*,*,*,*,*) • Programs cannot contain motion instructions • Off – Default Setting, program pauses when error occurs • On – Program continues operation when error occurs FANUC Robotics 7.2.2 Defining Detail Information Adding Instructions The detail of program header information includes: • Creation date • Modification date • Copy Source • Number of positions and program size • Program Name • Sub Type • Comment • Group mask • Write protection • Ignore pause You can also add other instructions not included in the default motion instruction to your program. To add these instructions, select the kind of instruction you want to add to the program and use the information on the screen to enter specific instruction information. Creating & Writing a Program 181 MATAGHAND1007CE Procedure 7-2: Create a New Program Condition Step No personnel or unnecessary equipment are in the work cell. The teach pendant is enabled. 1 Set the User frame number: a Press MENU . b Select SETUP. c Press F1 , [TYPE]. d Select Frames. e If user frames are not displayed press F3 , [OTHER], and select User Frame. If F3 , [OTHER], is not displayed, press PREV . f To select the user frame to use, press F5 , SETIND, type the number of the user frame you want, and press ENTER . This sets the active user frame ($MNUFRAMNUM[1]) to the number of the frame you specify. Naming the Program 2 Name the Program a Press SELECT . b If F2 , CREATE, is not displayed, press NEXT . c Continuously press the DEADMAN switch and turn the teach pendant ON/OFF switch to ON. 1 Words 2 Upper Case 3 Lower Case 4 Options Select -- Insert -- --- Create Teach Pendant Program --Program Name [ ] Enter program name -- End -- d Type the program name: NOTE: If you are writing a program for production operation using RSR or PNS, name the program as follows: Creating & Writing a Program 182 MATAGHAND1007CE • An RSR program must be RSRnnnn where nnnn is a fourdigit number, such as; RSR0001. • A PNS program must be PNSnnnn, where nnnn is a fourdigit number, such as; PNS0001. • The RSR or PNS option must be selected, and the UOP must be configured in the I/O setup. e Move the cursor to select a method of naming the program: Words, Upper Case, or Lower Case. f Press the soft keys whose labels correspond to the name you want to give to the program. The soft keys vary with the naming method chosen in Step a. BACK g To delete a character, press SPACE . h When finished, press ENTER . You will see a similar screen. 1 Words 2 Upper Case 3 Lower Case 4 Options Select --- Create Teach Pendant Program Name [TEST111 Program --- ] -- End -- Select function 1 Words 2 Upper Case 3 Lower Case 4 Options Select --- Create Teach Pendant Program Program Name [TEST111 ] Select function DETAIL 3 --- -- End\ -EDIT To display program header information, press F2 , DETAIL. You will see a similar screen. -OR- Press F3 EDIT to bypass Program Detail and display the TP Program screen. Creating & Writing a Program 183 MATAGHAND1007CE Program Detail Creation Date: 02-Jan-xxxx Modification Date: 02-Jan-xxxx Copy Source: [ ] Positions: 10 Size: 312 Byte 1; Program Name: [ RSR1000] 2; Sub Type: [NONE ] 3; Comment: [ ] 4; Group Mask: [1,*,*,*,*] 5; Write protect: [ON ] 6; Ignore pause: [OFF ] 4 To skip setting program header information and begin editing the program, press F1 , END, and skip to Defining Default Motion Instructions in this procedure. 5 To set or rename the program, move the cursor to the program name and press ENTER . a Move the cursor to select a method of naming the program: Words, Upper Case, or Lower Case. b Press the function keys whose labels correspond to the name you want to give to the program. These labels vary depending on the naming method you chose in Step a. To delete a character, move the cursor to the right of BACK the character and press SPACE . c When you are finished, press ENTER . NOTE: You cannot modify details if the program is set up as a system level macro. These macros are identified with the letter ‘s’ at the far right side of the macro setup screen. 6 To select a sub type, move the cursor to the sub type and press F4 , [CHOICE]. You will see a similar screen. Sub Type 1 None 2 Macro 3 Cond a Select a sub type. b Press ENTER . 7 To type a comment, move the cursor to Comment and press ENTER . a Select a method of naming the comment. b Press the appropriate function keys to add the comment. Creating & Writing a Program 184 MATAGHAND1007CE c When you are finished, press ENTER . For example, if you chose Upper Case, press a function key corresponding to the first letter. Press that key until the letter you want is displayed in the comment field. Press the right arrow key to move the cursor to the next space. Continue until the entire comment is displayed. 8 To set the group mask (or motion group), move the cursor to the group you want to enable or disable. You can use multiple groups in a single program, but only two groups can perform Cartesian motion within a single program. The first position in the group mask corresponds to the first group. a To enable a group, scroll right to the group you want and press F4 , 1, for each enabled group. b To disable a group, scroll right to the group you want and press F5 , *. If you disable all groups, you cannot add motion instructions to your program. NOTE: If your system is not set up for multiple groups, you will only be able to select a 1, for the first group, or an *, for no group. NOTE: After the group mask has been set, and motion instructions have been added to the program, the group mask cannot be changed for that program. 9 To set write protection, move the cursor to Write protect. a To turn write protection on, press F4 , ON. b To turn write protection off, press F5 , OFF. NOTE: Write protection must be set to OFF to create a program. 10 To set Ignore pause, move the cursor to Ignore pause. a To turn on Ignore pause, press F4 , ON. b To turn off Ignore pause, press F5 , OFF. 11 When you have finished entering program information, press F1 , END. The teach pendant editor screen will appear. NOTE: Whenever you want to return to the SELECT menu, press PREV until it is displayed. 12 Turn the teach pendant ON/OFF switch to OFF and release the DEADMAN switch. 13 When you have finished entering program information, press F1 , END. The teach pendant editor screen will be displayed. Creating & Writing a Program MATAGHAND1007CE HandlingTool Application Programming How the Robot Frames are Linked • Tool offset data (Utool) tell the controller where the Tool frame is relative to the center of the faceplate • Positional data tell the controller where the Tool frame is relative to the User frame. • User frame offset data ( UFRAME) tell the controller where the USER frame is relative to World frame. FANUC Robotics HandlingTool Application Programming Teach Pendant Programming • Programs created through Teach Pendant Editor – Does not require user to write source code – Uses Pre-defined instruction statements – Uses Pre-defined motion instructions ¾ Can be modified by changing default instruction or edited individually – Programs can be edited from Teach Pendant FANUC Robotics 185 Creating & Writing a Program 186 MATAGHAND1007CE HandlingTool Application Programming Writing a Program • You can write new programs and modify existing programs to direct the robot to perform a task. Writing a program includes: – Defining default instructions – Adding instructions to the program ¾ Motion Instructions ¾ Program Instructions FANUC Robotics HandlingTool Application Programming Defining Default Motion Instructions • Setting/Editing the Default Motion Statement – Hold in dead-man switch and turn teach pendant ON/OFF switch to ON – Press EDIT – Press POINT [F1] – To edit a default motion instruction ¾ Press ED_DEF [F1] ¾ Cursor down to instruction you wish to edit ¾ Cursor to the instruction element and modify using CHOICE [F4] and/or numeric entry keys and the ENTER key – To select a default motion instruction ¾ Cursor to the instruction you want as the default ¾ Press DONE [F5] FANUC Robotics Creating & Writing a Program MATAGHAND1007CE HandlingTool Application Programming TPP Programming • Line Number & End Marker • Line number – Automatically inserted next to each instruction – Numbers program lines sequentially • End Marker – Automatically inserted at end of program FANUC Robotics 187 Creating & Writing a Program 188 MATAGHAND1007CE Procedure 7-3: Adding Motion Instructions to a TP Program Adding Instructions When Finished 1 To record the position using the current default motion instruction, 2 Jog the robot to the location in the work cell where you want to record the motion instruction. 3 With the cursor on a blank line or on [END], press and hold the SHIFT key and press F1 , POINT. The instruction will be added to the program automatically at the location of the cursor. 4 To record the position using one of the other three default motion positions, 5 Jog the robot to the location in the work cell where you want to record the motion instruction. 6 With the cursor on a blank line or on [END], press F1 , POINT. 7 Use the cursor to select a new default motion instruction. 8 Press ENTER . This records the position and the motion instruction to the line at the cursor location. This also defines the current default motion instruction. 9 To add other instructions, press NEXT until F2 , [INST] is displayed. Press F2 , [INST]. Select the kind of instruction you want and use the appropriate selections on the screen to build the instruction. Disable the Teach Pendant, and release the DEADMAN switch. Creating & Writing a Program 189 MATAGHAND1007CE 7.3 Testing a Program HandlingTool Application Programming Testing and Running a Program • Programs can be executed by one of the following methods: – Teach Pendant – Standard Operator Panel – Remote Device (PLC, host computer) – Called from another program FANUC Robotics HandlingTool Application Programming Testing and Running a Program Mode Switch Remote/Local TP On/Off Control Auto Remote Off Program control determined by system variable $RMT_Master. Master device selects program and controls operation Auto Local Off R-J3 controller is master device. Programs selected from Teach Pendant and Cycle Start button initiates program On Teach Pendant controls al robot motion, selects and initiates program. Maximum speed of robot determined by T1 or T2 setting. T1/T2 FANUC Robotics During test operations you should: • Running a program by ¾ Stepping through each line of the program ¾ Continuously running the program for a single cycle • Monitoring your program Creating & Writing a Program 190 MATAGHAND1007CE Production Operations During production operations you should: • Run a thoroughly tested program continuously and repeatedly with all production conditions enabled • Perform maintenance procedures when necessary • Execute multiple programs NOTE: During testing and running production, you must know how to stop the program if there is a safety problem or adjustment to make, and know how to restart the program. 7.3.1 Remote/Local Configuration On Robots that have software prior to V6.10, the Remote/Local keyswitch is a hardware switch on the SOP. On robots that have V6.10 and above software, the Remote/Local keyswitch is a software switch that is controlled from the teach pendant. To change the setting of the Remote/Local keywsitch: 1. Press MENU 2. Select SYSTEM 3. Press TYPE F1 4. Select CONFIG 5. Cursor to Remote/Local and use the F4 or F5 key to change the setting 7.4 Program Pause and Recovery You can EMERGENCY STOP or HOLD any program running in production using: • The EMERGENCY STOP button on the teach pendant, operator box, or operator panel • The HOLD button on the teach pendant or operator panel Procedure 7-4 EMERGENCY STOP Step 1 Press the EMERGENCY STOP button on the teach pendant, operator box, or operator panel. This causes an EMERGENCY STOP fault. 2 Fix the problem that caused you to press the EMERGENCY STOP button. CAUTION The emergency stop button should be used in emergencies only; otherwise, the HOLD button should be used to stop program execution and robot motion. See the FANUC Robotics Safety statement for additional information Creating & Writing a Program 191 MATAGHAND1007CE Procedure 7-5 Recovery from EMERGENCY STOP Step 7.4.1 HOLD and Recovery 1 Turn the EMERGENCY STOP button clockwise to release it. 2 Press the RESET button on the teach pendant, or Fault Reset on the operator panel. Press the HOLD button on the teach pendant to pause a running program. Pressing the HOLD button • Pauses a running program • Causes the robot to decelerate and come to a controlled stop Use Procedure 7-6 to recover from a held program. Procedure 7-6 HOLD and Recovery Step 1 Press the HOLD button on the teach pendant. 2 Fix the problem that caused you to press HOLD . 3 Press the RESET button on the teach pendant to reset the fault. 4 Press CYCLE START to resume program execution. NOTE: HOLD is released when program execution begins. Creating & Writing a Program 192 MATAGHAND1007CE 7.5 Test Cycle You must test your program before you run production. For each step in the following test plan you must set up test cycle conditions as appropriate for the kind of testing you are performing. A typical testing plan will: 1. Single step through the program using the teach pendant while the process is disabled to check the robot motion, other instructions, and I/O. 2. Continuously run the program using the teach pendant at a low speed with the process disabled. 3. Continuously run the program using test cycle at high speed with the process disabled to check the robot positions and timing. 4. Continuously run the program, using the operator box or operator panel, at a high speed, with the process enabled, to check the robot positions and timing. NOTE: You can change test cycle conditions only if a program is not running. 7.5.1 Test Cycle Setup Setting up the test cycle allows you to control the conditions for test running a program. These conditions are in effect any time a program is run until you change the conditions. Table 7-1 Test Cycle Conditions lists and describes each test cycle condition. Use Procedure 7-7 to set up test cycle conditions. Creating & Writing a Program 193 MATAGHAND1007CE Table 7-1 Test Cycle Conditions TEST CYCLE CONDITION Group Robot Lock Dry Run Cartesian Dry Run Speed Joint Dry Run Speed Jog Dry Run Speed Digital/Analog I/O Step Statement Type Step Path Node DESCRIPTION This item specifies the motion group number of the program for which the test cycle conditions are being set. This item determines whether the robot will move during the test cycle. If set to OFF, the robot will move. If set to ON, the brakes are set, servo power is turned off, and the robot will not move. This item determines whether the EOAT will function during the test cycle. If set to OFF, the EOAT will function. If set to ON, the EOAT will not function. This item determines the speed at which the robot will move during program execution when using Cartesian motion (linear or circular moves) when dry run is set to ON. This item determines the speed at which the robot will move during program execution when using joint motion when dry run is set to ON. A joint dry run speed of 100 will test run the program at 100% of the programmed speed. This item determines the speed at which the robot will jog when dry run is set to ON. A jog dry run speed of 100% indicates that any jogging done during dry run test cycle will be at the normal jog speed. A jog dry run speed of less than 100% indicates that any jogging done during dry run test cycle will be reduced by that percentage. The jog dry run speed is independent of the Cartesian dry run speed and the Joint dry run speed. This item determines whether digital/analog input and output signals will turn on and off during the test cycle. If set to ENABLED, the input and output signals will turn on and off. If set to DISABLED, the input and output signals will not function. This item allows you to select at which statements the robot will pause between steps. There are the following statement types: ▪ TPP LINE OR KAREL STATEMENT – The program pauses when the execution of each program is completed. The program pauses after executing each step in a routine. ▪ MOTION – The program pauses when the execution of each motion statement is completed. ▪ ROUTINE – The program pauses after each statement is executed. However, when executing a routine, the program pauses only after every motion statement and when returning from the routine. ▪ TP & MOTION – The program pauses when the execution of a teach pendant statement or when a KAREL motion statement is completed. This item specifies whether to pause the program after each path node during a KAREL MOTION ALONG statement. When set to ON, the program will pause after each path node. When set to OFF, each path will be executed as one continuous step. Creating & Writing a Program 194 MATAGHAND1007CE Procedure 7-7 Setting Up Test Cycle Conditions Step 1 Press SELECT . 2 Select the program you want to test and press ENTER . 3 Press MENU . 4 Select TEST CYCLE You will see a screen similar to the following 5 To display help information, press NEXT , and then press F1 , HELP. When you are finished displaying help information, press PREV . TEST CYCLE Setup Group 1 1 Robot lock: 2 Dry run: 3 Cart. dry run speed: 4 Joint dry run speed: 5 Jog dry run speed: 6 Digital/Analog I/O: 7 Step statement type: 8 Step path node: 6 OFF OFF 300.00mm/s 25.00% 100.00% ENABLE STATEMENT OFF Set test cycle conditions as desired. NOTE: You can change test cycle conditions only if a program is not running. Creating & Writing a Program 195 MATAGHAND1007CE 7.5.2 Single Step Testing Single step testing is the process of running individual program instructions one at a time. You use the teach pendant to single step the current program displayed on the teach pendant screen. The MODE SELECT switch must be in the T1 or T2 position to test a program in single steps using the teach pendant. If you test a program in T1 mode, the robot speed will be no greater than 250mm/sec, regardless of any other speed settings.. If you set the singularity stop system variable, $PARAM_GROUP[n].$T1T2_SNGSTP, to TRUE, the robot will stop at singularity points while in T1 or T2 mode. If you change the value of this variable, you must cycle power for the change to take effect. Single step testing can be done two ways: • Forward Forward Backward • Backward • Executes the next instruction when the SHIFT and FWD keys are pressed and FWD is released. • Stops when the step is completed or SHIFT is released. • Executes subprograms one step at a time. • Executes the previous instruction when the SHIFT and BWD keys are pressed and then BWD is released. • Steps backward from a sub-program to the main program. Before you can do this, you must step forward from the main program to the sub-program. When you return to the main program from the sub program, the cursor pauses on the CALL instruction in the sub program. • Stops when the step is completed or the SHIFT key is released. • Can only be done for motion instructions. NOTE: You cannot use backward execution to call the sub program from the main program. Figure 7-3 Example Program Showing Backward Execution contains an example program that shows how to perform backward execution from the 4th line of the sub program SUB_PROG. Creating & Writing a Program 196 MATAGHAND1007CE Figure 7-3 Example Program Showing Backward Execution MAIN_PROG 1: 2: R[1] = R[1] + 1 3: J P[1] 100% FINE 4: 5: CALL SUB_PROG 6: [END] SUB_PROG 1: SDO[1] = ON 2: SDO[2] = ON 3: L P[2] 1000mm/sec FINE 4: L P[3] 1000mm/sec FINE [END] 1. Start to do the backward execution from 4th line of the SUB_PROG. Motion: The robot moves from P[3] to P[2]. Cursor: The cursor is on the 3rd line of the SUB_PROG. 2. Do the backward execution again. Motion: No motion. Cursor: The cursor is on the 5th line of the MAIN_PROG. 3. Do the backward execution again. Motion: The robot moves from P[2] to P[1]. Cursor: The cursor is on the 3rd line of the MAIN_PROG. DISABLE FWD/BWD DISABLE FWD/BWD allows you to disable the ability to execute program instructions when the SHIFT and FWD keys or SHIFT and BWD keys are pressed. To use DISABLE FWD/BWD, press FCTN and then select DISABLE FWD/BWD. The ability to use SHIFT FWD and SHIFT BWD will be disabled until you press FCTN and select DISABLE FWD/BWD again. When the teach pendant FWD and BWD keys are disabled and the teach pendant is enabled, "FBD" is displayed in the upper right hand corner of the teach pendant screen to indicate that you cannot use the teach pendant to run the program. Creating & Writing a Program 197 MATAGHAND1007CE Procedure 7-8 Single Step Testing NOTE: If the MODE SELECT switch is in the T1 position, the robot speed will be no greater than 250mm/sec, regardless of any other speed settings. NOTE: You can perform single step testing from the teach pendant only with the MODE SELECT switch in the T1 or T2 position. Condition Step A program has been created and positions have been recorded. Test cycle conditions have been set. All personnel and unnecessary equipment are out of the workcell. The MODE SELECT switch is in the T1 or T2 position. 1 Press SELECT 2 Select the program you want to test and press ENTER . 3 Press STEP to enable single step testing. The STEP indicator will turn on. 4 Move the cursor to the first line of the program you want to test. The program will start at the current cursor position. You will see a screen similar to the following. 5 Continuously press the DEADMAN switch and turn the teach pendant ON/OFF switch to ON. Creating & Writing a Program 198 MATAGHAND1007CE NOTE: If you compress the DEADMAN switch fully, robot motion will not be allowed and an error occurs. This is the same as when the DEADMAN switch is released. To clear the error, press the DEADMAN switch in the center position and press RESET . 6 Set the speed override or test cycle speed to the value you want. A low speed is recommended. 7 Check the program status on the top line of the teach pendant screen. If it is PAUSED, press FCTN and select ABORT (ALL). WARNING The next step causes a program instruction to run. This could cause the robot to move and other unexpected events to occur. Make sure all personnel and unnecessary equipment are out of the workcell and that all safeguards are in place; otherwise, you could injure personnel or damage equipment. In the next step of this procedure, if you want to stop the program instruction before the instruction has finished executing, release the SHIFT key, release the DEADMAN switch, or press the EMERGENCY STOP button. WARNING If you execute motion instructions that contain the remote TCP (RTCP) motion option and you skip motion instructions during testing, the robot might have to change orientation dramatically to reach the destination position. This will cause it to move in a large area. Be aware that this might happen before you skip motion instructions during testing; otherwise, you could injure personnel or damage equipment. Creating & Writing a Program 199 MATAGHAND1007CE NOTE: If you have set the singularity stop system variable, $PARAM_GROUP[n].$T1T2_SNGSTP, to TRUE, the robot will stop at singularity points while in T1 or T2 mode. If you change the value of this variable, you must cycle power for the change to take effect. 8 9 Test a program instruction. • To execute an instruction in the forward direction, press and hold in the SHIFT key and press and release the FWD key. You must hold in the SHIFT key continuously until the instruction has finished executing. • To execute an instruction in the backward direction, press and hold in the SHIFT key and press and release the BWD key. You must hold in the SHIFT key continuously until the instruction has completed executing. Repeat Step 8 for as many instructions as you want to test. 10 Press STEP to disable single step testing. The STEP indicator will turn off. 11 Turn the teach pendant ON/OFF switch to OFF and release the DEADMAN switch. Creating & Writing a Program 200 MATAGHAND1007CE 7.5.3 Continuous Testing Continuous testing is running a program from beginning to end without stopping. You can test a program continuously using the teach pendant, operator box, or operator panel CYCLE START button. To test a program continuously using the teach pendant the MODE SELECT switch must be in the T1 or T2 position. To test a program continuously using the CYCLE START button on the operator panel, the MODE SELECT switch must be in the AUTO position. If you set the singularity stop system variable, $PARAM_GROUP[n].$T1T2_SNGSTP, to TRUE, the robot will stop at singularity points while in T1 or T2 mode. If you change the value of this variable, you must cycle power for the change to take effect. Use Procedure 7-9 to test continuously using the teach pendant. Use Procedure 7-10 to test a program continuously using the operator panel CYCLE START button. Creating & Writing a Program 201 MATAGHAND1007CE Procedure 7-9 Continuous Testing Using the Teach Pendant NOTE: If the MODE SELECT switch is in the T1 position, the robot speed will be no greater than 250mm/sec, regardless of any other speed settings. NOTE: You can perform continuous testing from the teach pendant only with the MODE SELECT switch in the T1 or T2 position. Condition Step A program has been created and positions have been recorded. Test cycle conditions have been set. Refer to (Procedure 7-7) All personnel and unnecessary equipment are out of the workcell. You have tested the program in single steps. (Procedure 7-8) The MODE SELECT switch is in the T1 or T2 position. The Remote/Local Setup item in the System Configuration Menu is set to Local. 1 Press SELECT . 2 Select the program you want to test and press ENTER . 3 Disable single step testing. If the STEP indicator is ON, press STEP to disable it. 4 Move the cursor to line 1. The program will start at the current cursor position. 5 Continuously press the DEADMAN switch and turn the teach pendant ON/OFF switch to ON. NOTE: If you compress the DEADMAN switch fully, robot motion will not be allowed and an error occurs. This is the same as when the DEADMAN switch is released. To clear the error, press the DEADMAN switch in the center position and press RESET . 6 Set the speed override to the value you want. First run the speed at 5% - 10% value. 7 Check program status on the top line of the teach pendant screen. If it is PAUSED, press FCTN and select ABORT (ALL). Creating & Writing a Program 202 MATAGHAND1007CE WARNING The next step causes a program instruction to run. This could cause the robot to move and other unexpected events to occur. Make sure all personnel and unnecessary equipment are out of the workcell and that all safeguards are in place; otherwise, you could injure personnel or damage equipment. In the next step of this procedure, if you want to stop the program instruction before the instruction has finished executing, release the SHIFT key, release the DEADMAN switch, or press the EMERGENCY STOP button. WARNING If you execute motion instructions that contain the remote TCP (RTCP) motion option and you skip motion instructions during testing, the robot might have to change orientation dramatically to reach the destination position. This will cause it to move in a large area. Be aware that this might happen before you skip motion instructions during testing; otherwise, you could injure personnel or damage equipment. NOTE: You can test a program continuously in the forward direction only. 8 Press and hold down the SHIFT key and press and release the FWD key. You must hold in the SHIFT key continuously until the instruction has finished executing. Run the program in 5% - 10% intervals, up to 100%. If positions with continuous termination type are changed, restart the process at a low speed. 9 Turn the teach pendant ON/OFF switch to OFF and release the DEADMAN switch. Creating & Writing a Program 203 MATAGHAND1007CE 7.6 Continuous Testing Using Cycle Start Button. Continuous testing is running a program from beginning to end without stopping. You can test a program continuously using the teach pendant, operator box, or operator panel CYCLE START button. To test a program continuously using the CYCLE START button on the operator panel, the MODE SELECT switch must be in the AUTO position. Procedure 7-10 Continuous Testing Using the Operator Panel CYCLE START Button NOTE: You can perform continuous testing using the CYCLE START button only with the MODE SELECT switch in the AUTO position. Condition Step The program has been created and positions recorded. Test cycle conditions have been set. All personnel and unnecessary equipment are out of the workcell. The MODE SELECT switch is in the AUTO position. The Remote/Local setup item on the system config menu is set to local. 1 Press SELECT . 2 Disable single step testing. If the STEP indicator is on, press STEP to turn it off. 3 Select the program you want to test and press ENTER . 4 Set the speed override to the value you want. When CYCLE START is used, the speed override might automatically be set to 100%. Creating & Writing a Program 204 MATAGHAND1007CE WARNING The next step causes a program to run. This could cause the robot to move, the process to run, and other unexpected events to occur. Make sure all personnel and unnecessary equipment are out of the workcell and that all safeguards are in place; otherwise, personnel could be injured and equipment damaged. If you want to stop the program before it has finished executing, press the HOLD button for a decelerated stop, or the EMERGENCY STOP button for an immediate stop. WARNING If you execute motion instructions that contain the remote TCP (RTCP) motion option and skip motion instructions during testing, the robot might have to change orientation dramatically to reach the destination position, causing it to move in a large area. Be aware that this might happen before you skip motion instructions during testing; otherwise, you could injure personnel or damage equipment. 5 Press the CYCLE START button on the operator panel. You will be prompted to confirm program execution. If you select YES, then you must press CYCLE START again to run the program. Creating & Writing a Program 205 MATAGHAND1007CE 7.7 Standard Operator Panel Cycle Start Production A Standard Operator Panel Cycle Start is a method of automatically running the selected program. If you select Cycle Start, it implies that you are not using RSR or PNS, but will use the CYCLE START input on the Standard Operator Panel (SOP) to initiate production operation. The CYCLE START input will run the selected program for one cycle unless • The program contains a loop. • Your system is set up to send the CYCLE START input again as soon as the program has finished a cycle. The MODE SELECT switch must be in the AUTO position to perform SOP CYCLE START. If you set the singularity stop system variable, $PARAM_GROUP[n].$AUTO_SNGSTP to FALSE, the robot will pass through singularity points while in AUTO mode. If you change the value of this variable, you must cycle power for the change to take effect. Creating & Writing a Program 206 MATAGHAND1007CE Procedure 7-11 Running Production Using Standard Operator Panel (SOP) Cycle Start Condition The robot is powered up and all faults have been corrected. All personnel and unnecessary equipment are out of the workcell. The program has been tested thoroughly and found to operate correctly. All safeguards have been installed and are functioning correctly. Any other conditions related to the application or robot have been satisfied. Test cycle conditions are set properly to allow robot motion, I/O, and full production speed. Single step testing is disabled and the STEP LED is not illuminated. The mode select switch is in the AUTO position. WARNING This procedure starts production. Make sure all safety barriers are in place, all personnel are outside of the workcell, all equipment is in place, and all production conditions have been met before you continue; otherwise, you could injure personnel and damage equipment. Step 1 Set the LOCAL/REMOTE keyswitch on the operator panel to LOCAL. 2 Select the program using the SELECT menu. 3 Press CYCLE START on the standard operator panel or operator box to start the application program. Creating & Writing a Program MATAGHAND1007CE Figure 7-4 Material Handling Teach Pendant FAULT HOLD STEP BUSY RUNNING I/O ENBL PROD MODE TEST CYC JOINT XYZ TOOL OFF ON TOOL 1 TOOL 2 MOVE MENU SETUP POSN I/O STATUS 207 Creating & Writing a Program 208 MATAGHAND1007CE HandlingTool Application Programming Enabling Objectives Lab 8 • • • • Create your team’s first Handling Tool program Check the program Header information Set default motion instructions Teach, test, and execute from the Operator Panel FANUC Robotics Creating & Writing a Program 209 MATAGHAND1007CE Lab 8 Create a Program Student Name: _______________________________________________________________ Assignment: Condition: Step: The student will: • Create your team’s first HandlingTool program • Check the program Header information • Teach, test, and execute from the Operator Panel A FANUC robot and controller loaded with HandlingTool application software. The students will complete task individually. 1 Power up the controller, refer to Procedure 5-1 2 Create a new teach pendant program, refer to Procedure 7-2 and Procedure 7-3. Create a program and name it PROG1 and complete the program Header information as desired. 3 Fill in the default values from the Program Detail: 4 • Program name: ___________________________________ • Sub-type: ___________________________________ • Group mask ___________________________________ • Write protect ___________________________________ • Ignore Pause ___________________________________ Teach a simple HandlingTool path that begins from Start position and can return back to the Start position without collision with any object. PROG1: P1(Start) 1: J P[1] 100% FINE 2: J P[2] 100% FINE 3: J P[3] 100% FINE 4: J P[4] 100% FINE P2 P3 5: J P[5] 100% FINE 6: J P[2] 100% FINE 7: J P[1] 100% FINE END P5 P4 Creating & Writing a Program 210 MATAGHAND1007CE 5 Test program in STEP and in Continuous from the Teach Pendant, refer to Procedure 7-8 and Procedure 7-9. 6 Power down the controller, refer to Procedure 5-3 Completed: Instructor: ________________________________ 8 Motion Instruction 211 HandlingTool Application Programming HandlingTool Application Programming 8 MOTION INSTRUCTION Motion Instruction • A motion instruction directs the robot to move in a specified way to a specific location in the workcell using a specified speed. A motion instruction includes: – Motion type - How the robot moves to the position – Positional information - Where the robot moves – Termination type - How the robot ends the move to the position – Speed - How fast the robot moves to a position – Motion options - Additional commands that perform specific tasks during robot motion FANUC Robotics NOTE: Wrist Joint (W/JNT) is a motion option that allows the robot to move only in Linear or Circular. Motion Instruction 212 MATAGHAND1007CE 8.1 Motion Type Motion type defines how the robot will move to the destination position. There are three motion types: • Joint • Linear • Circular Joint Motion J P[2] 50% FINE HandlingTool Application Programming Joint Motion • Causes the robot to move all required axes to the destination position simultaneously. The motion of each axis starts and stops at the same time. • Is programmed at the destination position. • Speed is specified as a percentage of the total default speed, or in seconds. The actual speed of the move is dependant on the speed of the slowest axis. FANUC Robotics HandlingTool Application Programming TPP Programming J P[1] 100% FINE • Motion Type - Set for each move - Selected from default table - Up to 4 default statements - Can be changed from TP FANUC Robotics Motion Instruction MATAGHAND1007CE Figure 8-1 Joint Motion Type 213 214 Motion Instruction MATAGHAND1007CE Linear Motion L P[2] 100mm/sec FINE HandlingTool Application Programming Linear Motion • Causes the robot to move the tool center point in a straight line from the start position to the destination position. • Is programmed at the destination position. • Speed is specified in millimeters per second, centimeters per second, inches per minute, degrees per second, or seconds. FANUC Robotics During a linear move, the orientation of the tool changes gradually as the robot moves from the start position to the destination position, depending on how the destination position is programmed. Figure 8-2 Linear Motion Type Motion Instruction 215 MATAGHAND1007CE Circular Motion HandlingTool Application Programming C P[2]P[3] 100mm/sec FINE Circular Motion • Causes the robot to move the tool center point in an arc from the start position through an intermediate to the destination position. • Is programmed at the intermediate position. • Speed is specified in inches per minute, millimeters per second, and centimeters per minute. FANUC Robotics When you add a motion instruction that has circular motion type, the following appears on the screen: The first position, P[2] in the example, is the intermediate position. The intermediate position is automatically recorded as the current robot position when you add the motion instruction. The second position, P[3] in the example, is the destination position. You must record the destination position, after you add the circular motion instruction, using the TOUCHUP function key, F3 . If you change an existing point to ‘C’, that position becomes the ‘via’ or intermediate position. The following program instructions can be used to create a full circle. J P[1] 100% FINE C P[2] P[3] 100mm/sec C P[4] P[1] 100mm/sec FINE Circular Orientation Control at Intermediate (Via) Point Circular orientation control at the intermediate ‘via’ point ensures that the robot will go through the ‘via’ point at the taught orientation point. Orientation is smoothly changed between the start, via, and end points. 216 Motion Instruction MATAGHAND1007CE Figure 8-3 Circular Motion Type J P[1] 100% FINE C P[2] P[3] 100mm/sec C P[4] P[1] 100mm/sec FINE Restart of Circular Motion A single-step stop occurs at the destination position of a circular motion instruction. You can then jog the robot. Figure 8-4 Restart of Circular Motion Instruction When program execution is restarted after a single-step stop and jogging, the robot moves, using linear motion, which is the simplest circular motion to the end point of the previous circular motion. Motion Instruction 217 MATAGHAND1007CE Figure 8-5 Restart of Circular Motion Instruction Guidelines for Teaching a Small Circular Arc Small circular arcs can lead to large changes in orientation motion. This might be unexpected to a less experienced operator; however, large changes in orientation during motion are a legitimate result of motion planning according to the taught positions and orientations. Because of the possibility of surprise with respect to large changes in orientation during motion when teaching a small circular arc, follow the instructions outlined in this section for both forward and backward motion. Since the relative location of each point with respect to the others defines the circle in space, having an accurate tooling representation ensures that what you see is what the controller and the motion planner use for calculations. Motion Instruction 218 MATAGHAND1007CE Use the following guidelines when you teach a small circular arc: • Do not teach small circles if at all possible. You can always teach a very good approximation to a small circle using multiple linear segments. If you must teach small circles, be careful to follow all of the guidelines listed here. • Use extreme caution and care when you teach circles that have radii in the same order of magnitude as the tool length. The longer the tool, the more sensitive the definition of the circular arc becomes. If the tool axis is at an angle with the last joint of the robot, the effect is even more pronounced, since the major axes of the robot become involved in achieving the desired orientation along the arc. • Never start a program from a circular instruction. Since the current position of the robot is used as the starting point of the circle, the resulting circular arc is more than likely not what you had intended. The same applies to programs that are stopped on a circular instruction and restarted after you abort the program. • Ensure that tool frame ($UTOOLand $MNUTOOL) settings, for both XYZ and WPR, are as accurate as possible. This minimizes the discrepancy between what the operator sees and the numbers that the motion planner uses to plan the circular path. • When you recover from an EMERGENCY STOP or a similar condition that causes servo power to be turned OFF, reduce the speed override to 1% before you resume circular motion. • Do not teach points too close to each other. Try to space them out evenly around the circular arc. • Do not try to teach circular arcs that span angles larger than 180° with one circular instruction. Break the circular arc into two or more instructions. This ensures that a small change in one point will not result in a large change in the executed circle. • Keep the change in orientation to a minimum. It is difficult to visualize the change in orientation as the circle becomes smaller or the tool becomes longer. • Pay close attention to the case where the z-axis of the UTOOL frame looks perpendicular to the plane of the circle. In this case, the elevation angle is close to zero degrees and the azimuth angle is very sensitive to the direction of the zaxis of the UTOOL frame. Motion Instruction 219 MATAGHAND1007CE For example, if the z-axis of UTOOL is not perfectly perpendicular to the plane of the circle, then the azimuth angle could be very different, depending on the actual direction of the z-axis. As a result, the system might display the error message, ‘CRC large orient change’. In this case, you might get better and more accurate circles if 8.2 Positional Information • You do not set the z-axis of the UTOOL frame to be perpendicular to the plane of the circle; and/or • You enter the orientation manually instead of teaching it with the robot. Positional information describes the location, orientation, and configuration of the tool center point when a motion instruction is added to a program. Positional information is recorded when the motion instruction is added to the program. Positional information is made up of seven components. These components are represented by the position command, P[n]. HandlingTool Application Programming TPP Programming TPP Motion Command J P[1] 100% FINE • Position - Positions numbered in sequence as programmed - Can be assigned to a position register and used globally FANUC Robotics Figure 8-6 Positional Information Motion Instruction 220 MATAGHAND1007CE HandlingTool Application Programming Orientation & Configuration Orientation Yaw (W) – Rotation around X Pitch (P) – Rotation around Y Roll (R) – Rotation around Z X Y Z FANUC Robotics • Location components, (x,y,z), describe the three-dimensional location of the position. • Orientation components, (w,p,r), describe rotation about x, rotation about y, and rotation about z. • The configuration component describes the condition of the axes when the robot arrives at the destination position. Orientation of the wrist axes at the destination position remains the same, but the orientation of the other axes might change. Motion Instruction 221 MATAGHAND1007CE In the motion instruction, positional information is represented as a position command, P[n], or position register, PR[x]. The n is the position number. The x is the position register number. A position command stores positional information with the motion instruction in the program. A position register stores positional information in a storage location separate from the motion instruction The position number identifies the position. Position numbers are automatically assigned when a motion instruction is added to a program. The first number assigned is [1], the second [2], and so forth. If you add a position before an already existing position, the position number is incremented from the last numbered position regardless of its place in the program. You can request that positions be renumbered so that the position numbers are sequential in your program. When you delete positions, all other taught positions keep their current numbers unless you request that they be renumbered. Positions can also have comments of one to 16 characters. You specify these when you add or modify positional information. Frame Number of Positional Data The User Frame (UF) and User Tool frame number (UT) are displayed at the top of the Position Detail screen. These fields indicate the current frame number. UF: User Frame number • 0 = world coordinate • 1–9 = normal UFRAME number UT: User Tool frame number • 0 = not valid • 1–10 = normal UTOOL number Motion Instruction 222 MATAGHAND1007CE 8.3 Speed Speed defines how fast the robot moves to a position. The motion type used determines the units of speed. Depending on the motion type you want, you can specify speed in millimeters per second, centimeters per minute, inches per minute, rotational degrees per second, or seconds. When a program is running, you can change the speed override using the +% and –% keys on the teach pendant, if $MCR.$GENOVERRIDE=TRUE. The value ranges from .01% (very fine) to 100 percent of the programmed speed. Programmed speed is the speed specified in the program. NOTE: The programmed speed cannot exceed the capability of the robot. If programmed speed cannot be met, a warning message will occur. HandlingTool Application Programming TPP Programming Motion Command J P[1] 100% FINE • Speed – Speed programmed for each move – Selected from default table – Can be modified from TP FANUC Robotics J P[1] 50% FINE J P[1] 2 sec FINE L P[2] 2 sec FINE Joint motion uses • A percentage (%) of the total default speed. Joint motion speed can have a value of 1% to 100% of the maximum joint speed limit. • Seconds (sec), the length of time the motion lasts. Seconds can have a value of .1 to 3200. This is used for motion that requires an exact time span. If a program is paused and then resumed during execution of motion that uses seconds, the controller will be held in a busy and running state until the portion of time that had been executed elapses again. Then, the robot will complete the motion using the remaining amount of time. Motion Instruction 223 MATAGHAND1007CE Figure 8-7 Example of the Sec Speed Feature L P[1] 100mm/sec FINE or C P[1] 100mm/sec FINE Linear and circular motions use • Millimeters per second (mm/sec), with a range of values from 1 to 2000 millimeters per second. • Centimeters per minute (cm/min), with a range of values from 1 to 12000 centimeters per minute. • Inches per minute (inch/min), with a range of values from 0.1 to 4724.41 inches per minute. • Seconds (sec), the length of time the motion lasts. This is used for motion that requires an exact time span. If a program is paused and then resumed during execution of motion that uses seconds, the controller will be held in a busy and running state until the portion of time that had been executed elapses again. The robot will then complete the motion using the remaining amount of time. WARNING If you change the motion type of a positional instruction from linear to joint, the speed value can change from mm/sec to a default value of high as 100%. Be sure to check the speed value before you execute the instruction; otherwise, you could injure personnel or damage equipment. L P[1] 90 deg/sec FINE Rotational control of axes around the tool center point uses rotational degrees per second (deg/sec), with a default range of values from 1 to 500 degrees per second. Variable Motion Speed You can specify motion speed by using a register in a motion instruction. The value of the specified register defines motion speed. This is called variable motion speed. WARNING Before you run a program, make sure you are aware of any register values used to set speed in a motion instruction, otherwise, unexpected motion could occur that could injure personnel or damage equipment. Motion Instruction 224 MATAGHAND1007CE The following examples show various motion type instructions that take their speed value from a register (R[ ]). • • • Joint motion type ¾ J P[2] R[1]% CNT100 Linear motion type ¾ L P[1] R[2]mm/sec FINE Circular motion type ¾ C P[2] ¾ P[3] R[3]cm/min FINE The following features are changed to accommodate variable motion speed: • Default motion instructions include an instruction that uses variable motion speed. • The Motion Modify screen, displayed when you select REPLACE for a motion instruction on the [EDCMD] menu, includes items for specifying variable motion speed. • Specific motion speed values are valid for variable motion speed. Refer to Table 8-1 for valid variable motion speed values. If the specified register value is not a valid speed value (exceeds the speed limit or is out-of-range), an error will occur during the execution of the motion instruction. Table 8-1 Range of Register Values to Specify a Variable Motion Speed Unit % Sec mm/sec cm/min Inch/min deg/sec Range of Register Values 1 to 100 0.1 to 3200.0 1 to 2000 1 to 12000 0.1 to 4724.31 1 to 500 Motion Instruction 225 MATAGHAND1007CE 8.4 Termination Type Termination type defines how the robot ends the move in the motion instruction. The following termination types are available: • Fine • Fine Termination Type J P[1] 50% FINE Continuous Fine termination type causes the robot to stop at the destination position before moving to the next position. HandlingTool Application Programming TPP Programming TPP Motion Command J P[1] 100% FINE • Termination - Selected from default table - Can be changed from TP FANUC Robotics Motion Instruction 226 MATAGHAND1007CE Figure 8-8 Robot Motion with Fine Termination Type Continuous Termination Type J P[1] 50% CNT50 Continuous termination type allows the robot to decelerate as it approaches the destination position but does not stop at it before it accelerates toward the next position. A value from 0 to 100 defines how close the robot comes to the destination position. At CNT0 the robot is closest, with maximum deceleration. At CNT100 the robot is farthest, with minimum deceleration. NOTE: Programming certain instructions, such as WAIT, causes the robot to stop at the destination position and execute the instruction before it executes the next instruction. Motion Instruction MATAGHAND1007CE ÎÎ Î ÎÎ Figure 8-9 Robot Motion with Continuous Termination Type 227 228 Motion Instruction MATAGHAND1007CE 8.5 Defining Default Motion Instruction Information Motion instructions tell the robot to move to an area in the workcell in a specific way. When you create a program you can define, in advance, the way you want the robot to move when you add a motion instruction. You do this by defining default motion instruction information. Default motion instructions can include application–specific instructions to perform your work, as well as other motion options. After you have defined the default instructions you can add them to the program. You select one of the available default instructions to be the current default instruction by moving the cursor to that instruction. You can define and change default instructions any time while you write or modify a program. Modifying Default Motion Instructions by Adding Option Fields (adding instructions) You can also add other instructions not included in the default motion instruction to your program. To add these instructions, select the kind of instruction you want to add to the program and use the information on the screen to enter specific instruction information. You add all instructions using the same general procedure. Motion instructions, however, require some specific information. Motion Instruction 229 MATAGHAND1007CE Procedure 8-1 Defining Default Motion Instructions Step 1 Continuously press the DEADMAN switch and turn the teach pendant ON/OFF switch to ON. 2 Press EDIT . 3 Press F1 , POINT. You will see a list of default motion instructions. NOTE: If the instructions listed are the ones you want to use, do not modify them. Cursor to the instruction you next want to use and press ENTER . Continue with ‘Adding Instructions’ found later in this Procedure. 4 To modify the default motion instructions, press F1 , ED_DEF. 5 Cursor to the default instruction you want to modify. 6 Use the appropriate arrow and function keys to modify the component and press ENTER . If the [CHOICE] function key is displayed, press F4 to display a list of values for the selected component. For example, to change the speed value, move the cursor to 100%. Type a new value and press ENTER . The new value will be displayed. Each time you add this instruction to the program the new value will be used. 7 Repeat Steps 5 through 7 for each default instruction that you want to modify. 8 When you are finished defining default motion instructions, cursor to the instruction you next want to be the default instruction and press F5 , DONE. 230 Motion Instruction MATAGHAND1007CE 8.6 Predefined Positions HandlingTool Application Programming Predefined Positions • You can define a predefined position in the following ways:· – Macros - These use position registers that contain the predefined position. · – Programs - These also use position registers that contain the predefined position. · – Position registers · – Reference Positions FANUC Robotics You can use predefined positions in a program. A predefined position is a position you define that can be used several times in a program or in other programs. For example, predefined positions might include a position for maintenance, a perch position, or a "safe" position. Robot motion to or from a predefined position is often tied to an input signal. The robot must wait until the input signal is received before it can move to or from the predefined position. This allows the system to control when the robot is allowed to move to the predefined position. An output signal can also be used to indicate to the system that the robot has reached the predefined position. Motion Instruction 231 MATAGHAND1007CE Home Position The home position is a position away from the workpiece transfer area. Program the robot to move to home before the first position, between cycles, and any time the robot must be away from workcell activity. Figure 8-10 Home Position NOTE: "Home Position" is an input signal in UOP not a predefined position. It can be one of the Reference Positions, but these are not utilities or built-ins used to send the robot to the "HOME" position. 232 Motion Instruction MATAGHAND1007CE Repair Position The repair position is a position where robot repair operations are performed. Program the robot to move to the repair position any time repair operations must be performed. Record the repair position away from other equipment and the transfer area. Figure 8-11 shows an example of a repair position. NOTE: "Repair Position" is not a predefined position, but you can use one of the reference positions for this purpose. A user program with the same trained position must be run to move the robot to "REPAIR" position. Figure 8-11 Repair Position Motion Instruction 233 MATAGHAND1007CE Safe Position The safe position, is away from fixtures and the workpiece transfer area. Program the robot to move to the safe position any time it is necessary to move the robot away from other workcell activities. Figure 8-12 Safe Position NOTE: "Safe Position" is not a predefined position, but you can use one of the reference positions for this purpose. A user program with the same trained position must be run to move the robot to "SAFE" position. Other Positions You can define any other positions to be predefined positions. Define any position that the program uses more than once as a predefined position. This minimizes the time it takes to create and modify your program. Motion Instruction 234 MATAGHAND1007CE HandlingTool Application Programming 8.7 Position Registers Position Register Instructions • Stores position information for use in programs – Stores x,y,z,w,p,r, configuration • Default setting depends on software version – Can have a maximum of 200 position registers – Change number of position registers at controlled start FANUC Robotics A position register stores positional information (x,y,z,w,p,r, configuration). Up to 200 position registers are available for all programs in the controller combined. The default number of position registers is 100. Position registers are identified by numbers. You can increase the number of position registers at controlled start. Refer to the "System Operations" appendix of the Setup and Operations Manual for information on performing a controlled start. There are two kinds of position register instructions: • Instructions that manipulate position registers, PR[x] • Instructions that manipulate position register elements, PR[i,j] If your system is configured to have more than one group, you can set the group mask when you create any position register instruction. The group mask allows you to use function keys to specify: • Whether the group mask will be used. If the group mask is not used, the position register instruction affects the default group only. • The group or groups that the position register instruction will affect. Motion Instruction 235 MATAGHAND1007CE Procedure 8-2 Displaying and Setting Position Registers Step 1 Press DATA . 2 Press F1 , [TYPE]. 3 Select Position Registers. You will see a screen similar to the following. R indicates the position has been recorded. * indicates the position has not been recorded. CAUTION Position registers are used in programs. Do not modify position register values unless you are sure how the position register is used in the system; otherwise, you could affect how programs are executed. 4 To add a comment: a Move the cursor to the position register number and press ENTER . b Move the cursor to select a method of naming the comment. c Press the function keys whose labels correspond to the name you want to give to the comment. These labels vary depending on the naming method you chose in Step b. d For example, if you chose Upper Case, press a function key corresponding to the first letter. Press that key until the letter you want is displayed in the comment field. Press the right arrow key to move the cursor to the next space. Continue until the entire comment is displayed. BACK e To delete a character, press SPACE . f When you are finished, press ENTER . Motion Instruction 236 MATAGHAND1007CE 5 To change the value of the position register, enter the new value by recording a position (Step 6 ), or entering positional information (Step 8 ). 6 To record a position: a Press and hold the DEADMAN switch and turn on the teach pendant. b Jog the robot to the position you want. c Hold down the SHIFT key and press F3 , RECORD. The * (asterisk) will change to an R to indicate the position has been recorded. The user frame, UF, and the tool frame, UT, will be set to 15 (FHex), which indicates that the currently active user frame and tool frame will be used. Refer to Section Frame Setup (Chapter 6) for information on setting up frames. NOTE: If you want to change the user frame or tool frame value after you have recorded the position register, you must select the new user frame or tool frame, record the position register, and then manually enter the desired coordinates in order for the changed frame to take effect. Refer to Step 8 for information on entering position register information manually. 7 To move to a recorded position register: a Press and hold the DEADMAN switch and turn on the teach pendant. b Press and hold the SHIFT key and press F2 , MOVE_TO. Motion Instruction 237 MATAGHAND1007CE 8 To enter positional information manually, a Press F4 , POSITION. You will see a screen similar to the following. NOTE: R indicates the position has been recorded. * indicates the position has not been recorded. b To change the format of the position from Cartesian coordinates to joint angles or from joint angles to Cartesian coordinates, press F5 , [REPRE] and select the coordinate system. The proper joint angles or Cartesian coordinates will be displayed. The position is automatically converted. NOTE:Joint angles are useful to zero-position the robot or to control the motion of a positioning table. c To change a position component, move the cursor to the component, type the value, and press ENTER . d To change the motion group number, press F1 , GROUP, type the group number, and press ENTER . This only applies to systems that have been set up for multiple groups. e To change the configuration, press F3 , CONFIG. Select the proper configuration by pressing the up or down arrow key. f To display the extended axis position information, press F2 , PAGE. This only applies to systems that include extended axes. g When you are finished, press F4 , DONE. 9 To clear a position register press F5 , CLEAR. This converts all positional information to all asterisks (*******). Motion Instruction 238 MATAGHAND1007CE 10 To save all position registers into a file: a Press MENU . b Select FILE. c Press F1 , [TYPE]. d Select File. e Press F5 , [UTIL]. f Select Set Device. g Move the cursor to the device you want and press ENTER . h While the DATA Position Reg screen is displayed, press FCTN . i Select SAVE. The position registers will be saved to the file, POSREG.VR, on the default device. 11 To use a position register as a motion statement within a TP program: a Record a bogus position b Edit the position number – example: J P[1] 100% FINE c Press F4 CHOICE and select PR from the list. Result: J PR[1:HOME] 100% FINE d Enter the PR number that was recorded from the DATA screen. Motion Instruction 239 MATAGHAND1007CE NOTES: ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ Motion Instruction 240 MATAGHAND1007CE HandlingTool Application Programming Enabling Objectives Lab 9/10 • • • • Modify default motion instruction Create a pre-defined position. Modify motion instruction components Observe effect that changes on motion instruction have on program • Execute a program from the Standard Operators Panel • Lab #10 create a circular program FANUC Robotics Motion Instruction 241 MATAGHAND1007CE Lab 9 Motion Instruction Student Name: _______________________________________________________________ Assignment: Condition: Step: The student will: • Modify default motion instruction • Create a pre-defined position. • Modify motion instruction components • Observe effect that changes on motion instruction have on program • Execute a program from the Standard Operators Panel • Use a position register as one of the motion line of instructions A FANUC robot and controller loaded with HandlingTool application software. 1 Power up the robot in a safe fashion 2 Select and open the program created for lab 8 named PROG1. 3 Change line one of the program to a predefined position by recording it to a position register and call it HOME. Refer to 8.6, Predefined Positions 4 Change motion types, speed values, and termination type on some of the points. 5 Modify a position in the program to us a XY and Z value a position register that was defined, refer to Procedure 8-2, step 11. PROG1: PR(HOME) 1: J PR[1:HOME] 100% FINE 2: J P[2] 100% FINE 3: L P[3] 2000mm/s CNT100 4: L P[4] 1000mm/s FINE P2 P3 5: L P[5] 1500mm/s CNT50 6: L P[2] 2000mm/s CNT75 7: J PR[1] 100% FINE END P5 P4 Motion Instruction 242 MATAGHAND1007CE 6 Display and modify the Default Motion Instructions. 7 Perform all testing and test run your program from the teach pendant, then execute it from the cycle start on the operator panel. 8 OPTIONAL: Create and test run a circle program. 9 Power down the robot safely. Completed: Instructor: _______________________________ Motion Instruction 243 MATAGHAND1007CE Lab 10 Optional Program Student Name: _______________________________________________________________ Assignment: Objective: This program follows the path of a circle by putting together two arcs. Each arc requires three points: a start, an intermediate, and a destination position. The objective of this program is to: • Familiarize the student with the circular motion type. • Allow student to practice creating a circle path. Circle Program: J P[1] 100% FINE C P[2] P[3] 100mm/sec C P[4] P[1] 100mm/sec FINE To program a complete circle, add two circular motion instructions, which will generate two intermediate positions and two destination positions. The circular motion instructions can be added by: • Inserting a line. • Returning to DEFAULT • Selecting [INST]. • Editing a default instruction to add the circular motion instruction. • Teaching a point with the current default and then modifying the line to become a circular motion statement. Completed: Instructor: ________________________________ 244 Motion Instruction MATAGHAND1007CE NOTES: ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ 9 Copying and Editing Programs 245 HandlingTool Application Programming 9 COPYING & EDITING PROGRAMS HandlingTool Application Programming Writing and Modifying a Program FANUC Robotics It is highly recommended that, while modifying a program, a copy of the original program is created in case the original program has to be restored into the system. This chapter covers the procedure needed to accomplish this task. The ED_CMD softkey, within the programming menu, allows you make modifications to a program. The menu items generated by this key are covered in depth on this chapter. 9.1 Copying a Program Programs can be copied within the SELECT menu. This means that both the original program and the copied program will be on controller memory. Use procedure to copy programs within the SELECT menu. Copying and Editing Programs 246 MATAGHAND1007CE Procedure 9-1 Copying a program within the SELECT menu Condition Step A program has been created. The program you want to copy is listed on the SELECT screen. 1 Press SELECT . You will see a screen similar to the following. Select No. 1 2 3 4 5 6 Program name SUB1 MAIN25 PRG7 JOB0001 PROC0010 TEST 50983 BYTES FREE Comment TP [ TP [ TP [ TP TP TP ] ] ] 2 Move the cursor to the program you want to copy. 3 Press NEXT and then press F1 , COPY. You will see a screen similar to the following. 1 Words 2 Upper Case 3 Lower Case 4 Options Select --- --Insert-- Copy Teach Pendant Program --- From: To: [SUB1 [ ] ] --End-- Press Enter for next item 4 Type the program name to which to copy the selected program. Press ENTER . 5 If necessary, type the sub type for the copied program and press ENTER . 6 Copy the selected program: • If you do not want to copy the selected program, press F5 , NO. • If you want to copy the selected program, press F4 , YES. The selected program will be copied. The SELECT menu will be displayed. If the copied program has a new name, it will be displayed in the SELECT menu. Copying and Editing Programs 247 MATAGHAND1007CE If you no longer want to have a program loaded on controller memory (displayed on the SELECT menu) you can delete it. If you want to keep a copy of the program, save it to a storage device before you delete it from the SELECT menu. 9.2 Deleting a Program NOTE: Deleting a program from controller memory does not delete it from the storage device, if a copy exists on one of those devices. Procedure 9-2 Deleting a Program from the SELECT Menu Condition The program you want to delete is listed on the SELECT menu. Step 1 Press SELECT . You will see a screen similar to the following. Select No. 1 2 3 4 5 6 Program name SUB1 MAIN25 PRG7 JOB0001 PROC0010 TEST 50983 BYTES FREE Comment TP [ TP [ TP [ TP TP TP ] ] ] 2 Move the cursor to the name of the program you want to delete. 3 Press NEXT , >, and then press F3 , DELETE. See the following screen for an example. Select No. Program name 1 SUB1 2 MAIN25 3 PROG_1 4 PROG_1 5 VARS 6 Delete OK ? 50983 BYTES FREE Comment [ [ PC [ VR [ VR [ ] ] ] ] ] Copying and Editing Programs 248 MATAGHAND1007CE 4 Delete the program: • If you do not want to delete the selected program, press F5 , NO. • If you want to delete the selected program, press F4 , YES. The program will be deleted from controller memory. The SELECT menu will be displayed and the deleted program will no longer be listed. NOTE: You cannot delete a program that is paused, assigned to a macro, or write-protected. If the program is paused, you must abort it (press FCTN and select ABORT ALL). If the program is assigned to a macro, it must be "unassigned" first on the SETUP Macro screen. 9.3 Modifying a Program NOTE: You cannot modify details if the program is set up as a system level macro. These macros are identified with the letter "s" at the far right side of the Macro Setup screen. Selecting a Program You select a program by choosing the program name from a list of existing programs in controller memory. Refer to Chapter 16, "Program and File Manipulation," for more information on loading programs. Modifying Other Instructions When you modify other instructions, you change any element of the instruction. Inserting Instructions When you insert instructions, you place a specified number of new instructions between existing instructions. When you insert an instruction, the instructions that follow the new instruction are automatically renumbered. Deleting Instructions When you delete instructions, you remove them from the program permanently. When you remove an instruction the remaining instructions are automatically renumbered. Modify Motion Instruction Each of the five components of a motion instructions can be changed by moving the cursor to the component and pressing F4 , [CHOICE], or entering new numeric data. Touching up a Motion Instruction When you touch up a motion instruction, only the positional data at that memory location is changed. Other components of the motion instruction are unchanged. Copying and Pasting Instructions When you copy and paste, you select a group of instructions, make a copy of the group, and insert the group at one or more locations in the program. You can paste copied program instructions using the methods described in Finding and Replacing Instructions When you find and replace, you find specific instructions and, if desired, replace those instructions with new instructions. This function is useful, for example, when setup information that affects the program is changed. It is also useful when you need to find a specific area of a long program quickly. Copying and Editing Programs 249 MATAGHAND1007CE Renumbering Positions You can renumber positions in the program. When you add positions in a program, the first available position number is assigned to the position, regardless of its place in the program. When you delete motion instructions, all remaining positions keep their current numbers. Renumbering reassigns all position numbers in the program so that they are in sequential order. Undoing Operations You can undo an operation to recover from the last incorrect or faulty operation. You can undo the previous operation to edit the program, and you can redo the last Undo operation. Several modifications for one line can be recovered with a single Undo operation if you have not modified any other line in between modifications. You cannot Undo an operation when any of the following conditions exist: • The controller has been turned off and turned on • Another program has been selected • You are using a CRT and keyboard • The teach pendant ON/OFF switch is OFF • The program is write-protected • The teach pendant does not have enough available memory In addition, Undo will not work if you have executed any of the following instructions in a program: • Line tracking instructions • On-the-fly • On-line touch up NOTE: If power fails in the process of performing an Undo operation, unexpected results can occur, and the desired modification is not guaranteed to have taken effect when power is restored. Copying and Editing Programs 250 MATAGHAND1007CE Procedure 9-3 Modifying a Program Condition Step All personnel and unnecessary equipment are out of the workcell. The program has been created and all detail information has been set correctly 1 Select a program to modify: a Press SELECT . b Press F1 , [TYPE]. If F1 , [TYPE], is not displayed on the screen, press NEXT , until it is displayed. c Select the list you want: • All displays all programs. • TP Programs displays all teach pendant programs. • KAREL Progs displays all KAREL programs. • Macro displays all macro programs. • Cond displays all conditional programs. NOTE: You cannot modify details if the program is set up as a system level macro. These macros are identified with the letter "s" at the far right side of the macro setup screen. d Move the cursor to the name of the program you want to modify and press ENTER . e Continuously press the DEADMAN switch and turn the teach pendant ON/OFF switch to ON. WARNING Recorded positions are not affected by UFRAME, and UFRAME has no effect during playback. However, position registers are recorded with respect to the current UFRAME. If you change UFRAME, any recorded position registers will also change. Copying and Editing Programs 251 MATAGHAND1007CE 2 To touch up and modify motion instructions: a Move the cursor to the line number of the motion instruction you want to modify. b To change only the position component of the motion instruction, jog the robot to the new position, press and hold in the SHIFT key and press F5 , TOUCHUP. If F5 , TOUCHUP, is not displayed, press >, NEXT . WARNING If you change the motion type of a positional instruction from linear to joint you can cause the speed value to change from mm/sec to a default value as high as 100%. Be sure to check the speed value before you execute the instruction; otherwise, you could injure personnel or damage equipment. c To change other motion instruction components, move the cursor to the component using the arrow keys, and press the appropriate function keys to modify the component: • If function key labels are available, press the appropriate one. • If no function key labels are available, press F4 , [CHOICE], and select a value. • To change the position value, move the cursor to the position number and press F5 , POSITION. The position screen will be displayed showing the Cartesian coordinates or joint angles of the selected position. Move the cursor to the component you want to change and enter the new value using the number keys. To make other changes, use the function keys, described here. Position Detail P[1] UF:0 UT:1 X 1829.992 mm Y .050 mm Z 1170.024 mm CONF: N W -179.998 P -90.000 R 0.000 0 0 deg deg deg ¾ To change the motion group number, press F1 , GROUP. This applies only to systems that have been set up for multiple groups. ¾ To display components for extended axes, press F2 , PAGE. This only applies to systems that include extended axes. Copying and Editing Programs 252 MATAGHAND1007CE ¾ To change the configuration between flip (F) and no-flip or normal (N), press F3 , CONFIG, and then use the up and down arrow keys to change F to N and N to F. NOTE: Joint angles are useful for zeropositioning the robot or for non-kinematic motion control such as controlling the motion of a positioning table. ¾ To change the format of the position from Cartesian coordinates to joint angles or from joint angles to Cartesian coordinates, press F5 , [REPRE] and select the coordinate system. The position is converted automatically. ¾ When you are finished, press F4 , DONE. CAUTION When you change the representation from Cartesian to joint, the user frame and tool frame values currently in effect will be used to calculate the joint angles. After you have changed from Cartesian to joint, if you modify user frames and tool frames, these changes will have no effect on the position with joint representation, regardless of the motion type of the motion instruction that contains the position. d Repeat Steps a through c for each motion instruction you want to modify. 3 To modify other instructions: a Move the cursor to the line number of the instruction you want to modify. b Move the cursor to the component you want to modify and press the appropriate key: • If function key labels are available, press the appropriate one. • If no function key labels are available, press F4 , [CHOICE], and select a value. c Repeat Steps a and b for each instruction you want to modify. 4 To insert instructions: a Decide where you want to insert the instruction. Move the cursor to the line following that point. The cursor must be on the line number. For example, if you want to insert between lines 5 and 6 place the cursor on line 6. Copying and Editing Programs 253 MATAGHAND1007CE b Press NEXT until F5 , [EDCMD] is displayed. c Press F5 , [EDCMD]. d Select Insert. e Type the number of lines to insert and press ENTER . A blank line will be inserted into the program for each line you want inserted. All lines in the program will be renumbered automatically. Your program will look similar to the following. 5: J P[4] 50% CNT50 6: 7: 8: 9: J P[5] 50% CNT10 f Move the cursor to the line number of any inserted line and add any instruction. 5 To delete instructions: a Move the cursor to the line number of the instruction you want to delete. If you want to delete several instructions in consecutive order, move the cursor to the first line to be deleted. CAUTION If you delete an instruction, it will be permanently removed from the program. Be sure you want to remove an instruction before you continue; otherwise, you could lose valuable information. b Press NEXT , >, until F5 , [EDCMD] is displayed. c Press F5 , [EDCMD]. d Select Delete. e To delete a range of lines, move the cursor to select the lines to be deleted. The line number of each line to be deleted will be highlighted as you move the cursor. f Delete the line or lines: • If you do not want to delete the selected line(s), press F5 , NO. • To delete the selected line(s) press F4 , YES. NOTE: You can copy instructions from one program and paste them within that program or into another program. Copying and Editing Programs 254 MATAGHAND1007CE 6 To copy and paste instructions: a Press NEXT , > until F5 , [EDCMD] is displayed. b Press F5 , [EDCMD]. c Select Copy. d Move the cursor to the first line to be copied. e Press F2 , COPY. f Move the cursor to select the range of lines to be copied. The line number of each line to be copied will be highlighted as you move the cursor. g Press F2 , COPY, again. h Decide where you want to paste the lines. Move the cursor to the line following that point. The cursor must be on the line number. i Press F5 , PASTE. j Press the function key that corresponds to the way you want to paste the copied lines (refer to Table 9-1 for details and examples of each paste method): k Repeat Step 6.i through Step 6.j to paste the same set of instructions as many times as you want. • LOGIC ( F2 ) - adds the lines exactly as they were, does not record positions, and leaves the position numbers blank. • POS_ID ( F3 ) - adds the lines exactly as they were and retains the current position numbers. • POSITION ( F4 ) - adds the lines exactly as they were and renumbers the copied positions with the next available position numbers. All positional data is transferred. • CANCEL ( F5 ) - cancels the paste, but the copied lines are retained so you can paste them elsewhere. • R-LOGIC ( NEXT + F1 ) - adds the lines in reverse order, does not record the positions, and leaves the position numbers blank. • R-POS-ID ( NEXT + F2 ) - adds the lines in reverse order and retains their original position numbers. • RM-POS-ID ( NEXT + F3 ) - pastes all instructions except motion instructions in reverse order. Motion instructions are created using the current (first) and next (second) motion instruction: Original position numbers are retained. Refer to Table 9-1 for details and an example. Copying and Editing Programs MATAGHAND1007CE Table 9-1 Paste Methods Copied program instructions: 1: J P[1] 100% CNT100 2: L P[2] 500mm/sec CNT80 3: DO[1] = ON 4: J P[3] 50% CNT50 5: L P[4] 10mm/sec FINE 6: CALL HOME Method LOGIC (F2) Pasted Program Instructions 7: J P[...] 100% CNT100 8: L P[...] 500mm/sec CNT80 9: DO[1] = ON 10: J P[...] 50% CNT50 11: L P[...] 10mm/sec FINE 12: CALL HOME 7: J P[1] 100% CNT100 POS_ID (F3) • Pastes the lines exactly as they were copied 8: L P[2] 500mm/sec CNT80 • Retains the original position numbers 9: DO[1] = ON 10: J P[3] 50% CNT50 11: L P[4] 10mm/sec FINE 12: CALL HOME 7: J P[5] 100% CNT100 POSITION • Pastes the lines exactly as they were copied (F4) • Renumbers the copied positions with next available 8: L P[6] 500mm/sec CNT80 9: DO[1] = ON position numbers 10: J P[7] 50% CNT50 • Retains copied positional data 11: L P[8] 10mm/sec FINE 12: CALL HOME CANCEL (F5) Cancels the paste and retains the copied lines so you can paste them elsewhere 7: CALL HOME R-LOGIC • Pastes the lines in reverse order 8: L P[...] 10mm/sec FINE (NEXT+F1) • Does not record positions 9: J P[...] 50% CNT50 • Leaves the position numbers blank 10: DO[1] = ON 11: L P[...] 500mm/sec CNT80 12: J P[...] 100% CNT100 7: CALL HOME R-POS-ID • Pastes the lines in reverse order 8: L P[4] 10mm/sec FINE (NEXT+F2) • Retains the original position numbers 9: J P[3] 50% CNT50 10: DO[1] = ON 11: L P[2] 500mm/sec CNT80 12: J P[1] 100% CNT100 7: CALL HOME R-POS • Pastes the instructions in reverse order 8: L P[8] 10mm/sec FINE (NEXT+F4) • Renumbers the copied positions with the next 9: J P[7] 50% CNT50 available position numbers 10: DO[1] = ON 11: L P[6] 500mm/sec CNT80 12: J P[5] 100% CNT100 • • • Description Pastes the lines exactly as they were copied Does not record positions Leaves the position numbers blank 255 Copying and Editing Programs 256 MATAGHAND1007CE Method Rm-POS-ID (NEXT+F3) • • • • • • RM-POS (NEXT+F5) • • • • • • Description Pasted Program Instructions Pastes all instructions except motion instructions in 1st: J P[i] 100% CNT100, Offset,PR[x] reverse order Motion instructions are created using the current (first) and next (second) motion instruction: 2nd: o Motion type, speed, and motion-related options L P[j] 50 mm/sec FINE ACC150 PTH are used from the second motion instruction o Positional data, termination type, and nonmotion-related options are used from the first Result: motion instruction L P[j] 50mm/sec FINE ACC150 PTH o The bottom motion instruction in the copied L P[i] 50mm/sec CNT100 area is pasted as is Offset,PR[x] ACC150 PTH Retains the original position numbers 7: CALL HOME Modal instructions, such as I/O, are pasted in reverse order, but the states are not changed (ON to 8: L P[4] 10mm/sec FINE 9: L P[3] 10mm/sec CNT50 OFF, or OFF to ON); you must modify these after 10: DO[1] = ON the paste 11: J P[2] 50% CNT80 UTOOL and UFRAME change instructions and 12: L P[1] 500mm/sec CNT100 position register instructions are pasted in reverse order, but the frame numbers and register numbers are not changed; you must modify these after the paste Motion instructions that contain the following motion options are only copied in reverse order and cause a warning to be displayed: o Application commands o SKIP o INC (incremental motion) o Continuous turn o TIME BEFORE/AFTER Pastes all instructions except motion instructions in 1st: J P[k] 100% CNT100, Offset,PR[x] reverse order Motion instructions are created using the current (first) and next (second) motion instruction: 2nd: o Motion type, speed, and motion-related options L P[l] 50 mm/sec FINE ACC150 PTH are used from the second motion instruction o Positional data, termination type, and nonmotion-related options are used from the first Result: motion instruction L P[l] 50mm/sec FINE ACC150 PTH o The bottom motion instruction in the copied area L P[k] 50mm/sec CNT100 is pasted as is Offset,PR[x] ACC150 PTH Renumbers the copied positions with the next 7: CALL HOME available position numbers 8: L P[8] 10mm/sec FINE Modal instructions, such as I/O, are pasted in reverse order, but the states are not changed (ON to 9: L P[7] 10mm/sec CNT50 10: DO[1] = ON OFF, or OFF to ON); you must modify these after 11: J P[6] 50% CNT80 the paste 12: L P[5] 500mm/sec CNT100 UTOOL and UFRAME change instructions and position register instructions are pasted in reverse order, but the frame numbers and register numbers are not changed; you must modify these after the paste Motion instructions that contain the following motion options are only copied in reverse order and cause a warning to be displayed: o Application commands o SKIP o INC (incremental motion) o Continuous turn o TIME BEFORE/AFTER Copying and Editing Programs 257 MATAGHAND1007CE l 7 When you are finished copying and pasting instructions, press PREV To find instructions: a Move the cursor to the line number of any instruction. b Press NEXT until F5 , [EDCMD], is displayed. c Press F5 , [EDCMD]. d Select Find. e Select the kind of instruction to find. f When prompted, enter the necessary information. The system searches forward from the current cursor position for the item you want. If it finds an instance of the item, it highlights it on the screen. g To find the next instance of the item, press F4 , NEXT. h When you are finished finding items, press F5 , EXIT. i 8 If you pressed F5 , EXIT, press PREV . You do not need to press PREV if you pressed F4 , NEXT, until all instances had been found. To replace instructions: a Move the cursor to the line number of any instruction. b Press NEXT until F5 , [EDCMD], is displayed. c Press F5 , [EDCMD]. d Select Replace. e Select the instruction you want to replace from the list of instructions. Follow the information on the screen to specify the instruction. The system finds the first instance of the existing instruction and highlights it. f Select the replacement item and enter the necessary information. Copying and Editing Programs 258 MATAGHAND1007CE g Decide how to replace the instruction: 9 • To replace the existing instruction with a new instruction in all instances, press F2 , ALL. The system will prompt you to confirm that you want to replace all instances of the instruction. • To replace the existing instruction with the new instruction, press F3 , YES. The system will prompt you to search for the next one. • To ignore this instance and find the next, press F4 , NEXT, and the system will find the next instance, if there is one. • To stop the cancel and replace operation, press F5 , EXIT. To renumber positions: a Move the cursor to the line number of any instruction. b Press NEXT , >, until F5 , [EDCMD], is displayed. c Press F5 , [EDCMD]. d Select Renumber. e Renumber the positions: 10 • If you do not want to renumber positions press F5 , NO. • To renumber positions press F4 , YES. To undo an operation: a Press NEXT , >, until F5 , [EDCMD], is displayed. b Press F5 , [EDCMD]. c Select Undo. d Undo the operation. The recovered operation is displayed. • If you do not want to undo the operation, press F5 , NO. • To undo the operation, press F4 , YES. e To cancel the undo operation, press F5 , [EDCMD] , then press Undo. Press F4 , YES, to redo the operation. Copying and Editing Programs 259 MATAGHAND1007CE WARNING If you have used Undo, you should thoroughly test the modified program at a low motion speed before allowing it to run continuously. Otherwise, you could injure personnel or damage equipment. 11 To display comments on the teach pendant program screen, see the following screen for an example. PNS0001 1: 2: [END] R[2:COUNTER1]=DI[3:HAND1] DO[1:HAND1ACK]=ON 12 Press F5 , [EDCMD]. PNS0001 1: 2: [END] 1/3 R[2:COUNTER1]=DI[3:HAND1] DO[1:HAND1ACK]=ON +----------------+ | 1 Insert | | 2 Delete | | 3 Copy | | 4 Find | | 5 Replace | | 6 Renumber | | 7 Comment | | 8 Undo | +---------+ | 13 If you select Comment, the comments turn off. PNS0001 1: 2: [END] R[2]=DI[3] DO[1]=ON 1/3 14 Press F5 , [EDCMD], again. If you select Comment, the comments turn on. PNS0001 1: 2: [END] 15 R[2:COUNTER1]=DI[3:HAND1] DO[1:HAND1ACK]=ON 1/3 When you are finished, turn the teach pendant ON/OFF switch to OFF and release the DEADMAN switch. Copying and Editing Programs 260 MATAGHAND1007CE HandlingTool Application Programming Enabling Objectives Lab 11 • Select, Modify Motion Instruction, and Execute a Program – Know how to copy a program – Know how to modify existing motion instructions – Know how to add additional instructions – Know how to execute a program from the Standard Operators Panel FANUC Robotics Copying and Editing Programs 261 MATAGHAND1007CE Lab 11 Select/Modify and Execute a Program Student Name: _________________________________________________________ Assignment: The student will: • Select an existing program from the menu structure Condition: Step: • Copy a program • Insert new lines into the program. • Copy program and paste program lines within the program. • Execute a program from the Standard Operators Panel A FANUC robot and controller loaded with HandlingTool application software. 1 Power up the robot in a safe fashion 2 Select the PROG1 (your first program). 3 Copy this program and name it PROG2 and perform the current assignment on the new program, refer to Procedure 9-3 Modifying a Program. 4 Utilize the insert feature on ED_CMD to create new lines. 5 Highlight a group of lines from within the program and paste it on a different section of the program utilizing the different paste options refer to Table 9-1 Paste Methods. PROG2: 1: J PR[1:HOME] 100% FINE 2: J P[2] 100% FINE 3: L P[3] 2000mm/s CNT75 4: L P[4] 2000mm/s CNT75 5: L P[5] 2000mm/s CNT75 6: L P[2] 2000mm/s CNT75 7: L P[5] 2000mm/s CNT75 8: L P[4] 2000mm/s CNT75 9: L P[3] 2000mm/s CNT75 10: J P[2] 100% FINE 11: J PR[1:HOME] 100% FINE END Copying and Editing Programs 262 MATAGHAND1007CE 6 Perform all testing and test run your copied program from the teach pendant, and then execute it from the cycle start button on the operator panel. 7 Modify and TOUCHUP other motion instruction components to alter the execution of the task at your discretion. 8 Power down the robot safely. Completed: Instructor: ________________________________ 10 Program Instructions 263 HandlingTool Application Programming 10 PROGRAM INSTRUCTIONS HandlingTool Application Programming Program Instructions • All instructions can be displayed when you press INST F1 FANUC Robotics HandlingTool Application Programming TPP Branching Instructions • Unconditional branching – Jump (JMP LBL) – CALL • Conditional branching – Permits selection of option depending on specific conditions ¾ Boolean Expression ¾ Integer Expression ¾ Option controlled by I/O signal or integer variable FANUC Robotics Program Instructions 264 MATAGHAND1007CE 10.1 Unconditional Branching Instructions Branching instructions enable a program to have logical flow. In other words, these instructions will determine the next step to be executed on a program environment. Branching instructions come in two forms; unconditional and conditional. NOTE: All instructions can be found within the F1 key that displays INST.Unconditional branching instructions jump from one place in a program to another any time they are executed. There are two kinds of unconditional branching instructions: • Jump instructions - Cause the program to branch to a named label but do not have to return to the main program. • CALL instructions - Cause the program to branch to a remote program. The program is executed, and the motion control returns to the main program on the line just following the CALL instruction. 10.1.1 JMP LBL[x] HandlingTool Application Programming JMP LBL • JMP LBL [ ] – Unconditional branch instruction – Program jumps to another line regardless of input or output – Two-part instruction – JPM LBL is the instruction that causes the program to jump to another line in the program – LBL is the instruction line that the program jumps to J P[1] 100% FINE JMP LBL[2] J P[2] 100% FINE LBL[2] FANUC Robotics The JMP LBL[x] instruction causes the program to branch to the specified label. Figure 10-1 JMP LBL[x] 10.1.2 CALL program The CALL program instruction causes the program to branch to another program and execute it. When the called program finishes executing, it returns to the main program at the first instruction after the call program instruction. Program Instructions 265 MATAGHAND1007CE Figure 10-2 CALL program NOTE: If you have the Parameters for CALL Program option, you can include parameters in the CALL program instruction The program end instruction signals the end of a program. 10.1.3 END Figure 10-3 Program End Instruction Program Instructions 266 MATAGHAND1007CE 10.2 Conditional Branching Instructions Conditional branching instructions branch from one place to another in a program, depending on whether certain conditions are true. There are two kinds of conditional branching instructions: • IF instructions – Branch to a specified label or program if certain conditions are true. There are register IF instructions and input/output IF instructions • SELECT instructions – Branch to one of several jump or call instructions, depending on the value of a register 10.2.1 IF R[x] [operator] [value] [action] HandlingTool Application Programming IF Structure • Register IF instructions compare the value contained in a register with another value and take an action if the comparison is true. FANUC Robotics 10.2.2 IF [I/O] [operator] [value] [action] Input/output IF instructions compare an input or output value with another value and take an action if the comparison is true. Figure 10-4 I/O IF Instruction for DI/DO, RI/RO, SI/SO and UI/UO Program Instructions 267 MATAGHAND1007CE Figure 10-5 I/O IF Instruction for R, AI/AO, GI/GO and System Variable Operator For an IF instruction, conditions can be connecting using AND or OR, as follows: • AND operator IF [cond1] AND [cond2] AND ..., [action] For example, 1: IF R [1] = 1 AND R [2] = 2 AND DI [2] = ON, JMP LBL [2] • OR operator IF [cond1] OR [cond2] OR ..., [action] For example, 1: IF DI [10]=ON OR R [7]=R [8], JMP LBL [2] NOTE: You cannot mix the AND and OR operators in the same operation. When you replace the operator between AND and OR, any operators taught in the same line are also replaced automatically and the following message is displayed. TPIF-062 AND operator was replaced to OR TPIF-063 OR operator was replaced to AND The maximum number of logical conditions that can be taught in the same operation is 5. IF [cond1] OR [cond2] OR [cond3] OR [cond4] OR [cond5], [action] +--------------------------------------------+ Max 5 logical conditions Program Instructions 268 MATAGHAND1007CE 10.2.3 SELECT R[x] A select instruction compares the value of a register with one of several values and takes an action if the comparison is true: • If the value of the register equals one of the values, the jump or call instruction associated with that value is executed. • If the value of the register does not equal one of the values, the jump or call instruction associated with the word ELSE is executed. HandlingTool Application Programming SELECT Program Structure TPP example illustrates the SELECT branching R[1]=GI[1] SELECT R[1] = 1 JMP LBL[1] 2 JMP LBL[2] 3 JMP LBL[3] ELSE JMP LBL[4] LBL[1] J P[1] 100% FINE JMP LBL[5] LBL[2] J P[2] 100% FINE JMP LBL[5] LBL[3] J P[3] 100% FINE JMP LBL[5] LBL[4] J P[4] 100% FINE ABORT LBL[5] FANUC Robotics Figure 10-6 Select Instruction Program Instructions 269 MATAGHAND1007CE 10.3 Label Definition Instruction LBL[x] A label marks the location in a program that is the destination of a program branch. A Label is defined using a label definition instruction. A comment can be added to describe the label. After a label has been defined, it can be used with conditional and unconditional branching instructions. Figure 10-7 LBL[x] Program Instructions 270 MATAGHAND1007CE 10.4 Register Instructions HandlingTool Application Programming Register Instructions • Arithmetic Registers used to store numbers • Numbers can be used for arithmetic operations, track part count, cycle count, • May contain group I/O data • Default number of registers is 100 – Can be changed during initial setup or during control start FANUC Robotics Registers are very powerful programming tools. When used correctly, registers can be utilized as counters, to set program flags, or to adjust program speed. Position registers can be used to store global positions, such as a home or a maintenance position. A register stores one number. A position register stores positional information (x,y,z,w,p,r, configuration). 10.5 Registers 10.5.1 Register Addressing A register stores one number. Up to 999 registers are available for all the programs in the controller combined. The default number of registers is 100. Registers are identified by numbers. You can increase the number of registers during a controlled start. Register instructions manipulate register data arithmetically. Many instructions employ direct or indirect addressing techniques. When direct addressing is used, the actual value is entered into the instruction. For example, if the register instruction R[2]= 5 is used, the current contents of register 2 is replaced with the value 5. When indirect addressing is used, the instruction contains a register within a register. This indicates that the actual value of the internal register becomes the register number of the external register. Program Instructions 271 MATAGHAND1007CE Figure 10-8 Direct and Indirect Addressing Example In the figure above, the first instruction illustrates direct addressing. This instruction causes the current contents of register 3 to be replaced with the value 2. The second instruction in Figure 10-8 illustrates indirect addressing. In this instruction, R[3] is the internal register and R[R[3]] is the external register. Since in the previous instruction the value of the internal register R[3] is 2, the external register number becomes R[R[3]=2] or R[2]. Therefore, the result of the second instruction is that the contents of the external register, R[2], is to be replaced with the value 5. 272 Program Instructions MATAGHAND1007CE R[x] = [value] The R[x] = [value] instruction stores a value in a register. See Figure 10-9 R[x] = [value] Figure 10-9 R[x] = [value] Program Instructions 273 MATAGHAND1007CE R[x]=[value][operator][ value] The R[x] = [value] [operator] [value] instructions store the result of an arithmetic operation in a register. The arithmetic operations are • Addition • Subtraction • Multiplication • Division • Whole number division (DIV) • Remainder division (MOD) See Figure 10-10. You can use multiple arithmetic operators in a single instruction. However, there are the following limitations: • You can mix + and – in the same instruction. Arithmetic operations within an instruction that mixes + and – will be performed from left to right. You cannot mix * or / in an instruction that already contains + or –. • You can mix * and / in the same instruction. Arithmetic operations within an instruction that mixes + and – will be performed from left to right. You cannot mix + or – in an instruction that already contains * or /. • The maximum number of arithmetic operators you can have in the same instruction is 5. 274 Program Instructions MATAGHAND1007CE Figure 10-10 R[x] = [value] [operator] [value] Program Instructions 275 MATAGHAND1007CE Procedure 10-1 Displaying and Setting Registers Step 1 Press DATA . 2 Press F1 , [TYPE]. 3 Select Registers. You will see a screen similar to the following. CAUTION Registers are used in programs. Do not modify register values unless you are sure how the register is used in the system; otherwise, you could affect how programs are executed. 4 To add a comment a Move the cursor to the register number and press ENTER . b Move the cursor to select a method of naming the comment: Upper Case, Lower Case, Punctuation, Options. c Press the function keys whose labels correspond to the name you want to give to the comment. These labels vary depending on the naming method you chose in Step b. For example, if you chose Upper Case, press a function key corresponding to the first letter. Press that key until the letter you want is displayed in the comment field. Press the right arrow key to move the cursor to the next space. Continue until the entire comment is displayed. BACK To delete a character, press SPACE . d When you are finished, press ENTER . Program Instructions 276 MATAGHAND1007CE 5 To change the value of the register a Move the cursor to the register value. b Type the new value and press ENTER . 10.6 Looping Instructions In addition to conditional and unconditional branching instructions, there are three looping instructions that can be created using a combination of IF, JMP LBL, Register and I/O instructions. In conventional programming these are the FOR…DO loop, the REPEAT loop, and the WHILE loop. 10.6.1 FOR…DO Loop The FOR…DO loop creates a loop that repeats a series of program instructions for a specified number of iterations. This loop can be created to either count up or count down. It uses a combination of the IF, JMP LBL, and arithmetic register instructions. A sample program is shown below. R[1] = 5 R[2] = 0 LBL[1] J P[1] 100% FINE J P[2] 100% FINE J P[3] 100% FINE J P[4] 100% FINE R[2] = R[2] + 1 IF R[2] ≥ R[1] JMP LBL[2] JMP LBL[1] LBL[2] END This loop repeats the program for five iterations, and then ends the program. It is an example of a loop that counts up to a specific number. The program can be modified to count down as shown below. R[1] = 5 LBL[1] J P[1] 100% FINE J P[2] 100% FINE J P[3] 100% FINE J P[4] 100% FINE R[1] = R[1] - 1 IF R[1] ≤ 0 JMP LBL[2] JMP LBL[1] LBL[2] END Program Instructions 277 MATAGHAND1007CE 10.6.2 While Loop A second type of looping construct is the WHILE loop. This loop is also called a top-testing construct. It tests for a specific program condition before it executes the loop. If the condition is satisfied, it will execute the loop, if the condition is not satisfied, it will not execute the loop. The following is an example of the WHILE loop. The program will continue to run as long as DI[1] is on. It will stop running when it detects DI[1] is off LBL[1] IF DI[1] = OFF JMP LBL[2] J P[1] 100% FINE J P[2] 100% FINE J P[3] 100% FINE J P[4] 100% FINE JMP LBL[1] LBL[2] END 10.6.3 Repeat Loop The third type of looping construct is the REPEAT loop. It is called a bottom-testing construct. It will always execute the loop at least once, regardless of the program condition it is monitoring. As long as the condition is satisfied, it will continue to execute the loop. It stops executing the loop once the condition is no longer satisfied. The following is an example of a REPEAT loop. LBL[1] J P[1] 100% FINE J P[2] 100% FINE J P[3] 100% FINE J P[4] 100% FINE IF DI[1] = ON JMP LBL[1] END 10.6.4 Position Register Instructions PR[GRPn:x] = [value] PR[GRPn:x] position register instructions manipulate the position register. They include assignment, addition, and subtraction instructions. The PR[GRPn:x] = [value] instruction stores positional information in a position register. Figure 10-11 PR[GRPn:x]=[value] PR[GRPn:x]=[value] Group number (1–3) Direct: Position register number (1–32) Indirect: Position register number = Contents of R[x] LPOS, the current Cartesian coordinates in (x,y,z,w,p,r, config) JPOS, the current joint angles PR[x], Contents of PR[x], where x = Position register number P[x], Contents of P[x], where x = Position number UFRAME [] UTOOL [] Program Instructions 278 MATAGHAND1007CE PR[GRPn:x]=[value] [operator] [value] The PR[GRPn:x] = [value] [operator] [value] instructions store the result of an arithmetic operation in a register. The arithmetic operations are addition and subtraction. You can use multiple arithmetic operators in a single instruction. However, there are the following limitations: • You cannot mix +, -, or */ in the same instruction. • The maximum number of arithmetic operators you can have in the same instruction is 5. Figure 10-12 PR[GRPn:x] = [value] [operator] [value] Program Instructions 279 MATAGHAND1007CE 10.6.5 PR[i,j] Position Register Element Instructions PR[i,j] position register element instructions manipulate a specific position register element. A position register element is one element of a specified position register. In the designation PR[i,j], the i represents the position register number and the j represents the position register element. Position register element instructions include assignment, addition, and subtraction instructions. Figure 10-13 Position Register Element PR[i,j] PR[i, j] Direct: Position register element number (1–10) Indirect: Position register number = contents of R[x] PR[i,j] =[value] Figure 10-14 PR[i,j] = [value] Indirect: Position register element number=contents of R[x] Direct: Position register element number For Cartesian positions: For joint positions: 1=x 1 = joint 1 2=y 2 = joint 2 3=z 3 = joint 3 4=w 4 = joint 4 5=p 5 = joint 5 6=r 6 = joint 6 7 = config n = joint n Program Instructions 280 MATAGHAND1007CE 10.7 WAIT [item] [operator] [value] [time] HandlingTool Application Programming Wait Instructions • Delays program execution until specified conditions are true or until amount of time elapses – Timeout – Time Interval – Input/Output FANUC Robotics WAIT condition instructions delay program execution until specified conditions are true or until an amount of time elapses (a timeout occurs). The timeout can be specified as one of the following: • Forever - the program will wait until the condition is true. • Timeout, LBL[i] - the program will wait for the time specified in Timeout. If the condition is still not true, the program will branch to the specified label. Specify the timeout by setting the system variable $WAITTMOUT to a time, in milliseconds. The default timeout value is 3000 milliseconds. You can set $WAITTMOUT using the parameter name instruction. Program Instructions 281 MATAGHAND1007CE Figure 10-15 WAIT Condition for DI/DO, RI/RO, SI/SO, and UI/UO Figure 10-16 WAIT Condition for R, GI/GO, AI/AO, and Parameters Operators For WAIT instructions, logical instruction editing can contain multiple logical statements connected by AND or OR operators. • AND operator WAIT [cond1] AND [cond2] AND ... For example, 1: WAIT DI [1] = ON AND DI [2] = ON, TIMEOUT, LBL [1] • OR instruction WAIT [cond1] OR [cond2] OR ... For example, 1: IF DI [10] = ON OR R [7] = R [8], JMP LBL [2] NOTE: You cannot mix the AND and OR operators in the same operation. If an instruction contains multiple ORs or ANDs, and you change 282 Program Instructions MATAGHAND1007CE following message is displayed: TPIF-062 AND operator was replaced to OR TPIF-063 OR operator was replaced to AND The maximum number of logical condition; which can be taught in the same operation is 5. For example WAIT [cond1] OR [cond2] OR [cond3] OR [cond4] OR [cond5] +--------------------------------------------+ Max 5 logical conditions 10.7.1 WAIT time The WAIT time instruction delays program execution for a specified time. The time in a WAIT time instruction is specified in seconds, with a minimum unit of 0.01 seconds. Figure 10-17 Wait Time Program Instructions 283 MATAGHAND1007CE NOTES: ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ Program Instructions 284 MATAGHAND1007CE HandlingTool Application Programming Enabling Objectives Lab 12 • Create and run a counter program • Create and run an offset program • Assign and set registers and position registers FANUC Robotics Program Instructions 285 MATAGHAND1007CE Lab 12 Register Instructions Student Name: _______________________________________________________________ Assignment: Condition: Step: Refer to Section 10.6.5 The student will: • Create and run a counter program. • Create and run an offset program. • Assign and set registers and position registers A FANUC robot and controller loaded with HandlingTool application software 1 Power up controller. 2 Copy PROG2 and name the new program COUNTER. 3 Modify this program to cycle a predefined number of cycles and then end program. 4 To accomplish this you need to: 5 Assign a register at the DATA screen as your counter register. 6 Initialize register outside the main loop within the program. 7 Increment register within each loop. 8 Use a conditional branching instruction to monitor the number of cycles executed while the program runs. COUNTER: DATA REGISTERS : 1: R[1:COUNTER] = 0 1. R[1 :COUNTER] = 0 2: J PR[1:HOME] 100% FINE 3: LBL [1] POSITION REGISTERS : 4: J P[2] 100% CNT80 1. PR[1 :HOME] = R 5: L P[3] 2000mm/s CNT80 6: L P[4] 2000mm/s CNT80 7: L P[5] 2000mm/s CNT80 8: L P[2] 2000mm/s CNT80 9: R[1:COUNTER]=R[1:COUNTER]+1 10: IF R[1:COUNTER]<5 JMP LBL [1] 11: J PR[1:HOME] 100% FINE END Program Instructions 286 MATAGHAND1007CE 9 Copy COUNTER program and name it OFFSET. 10 Modify this program to move up a specific distance a predetermined number of times. 11 To accomplish this you need to: 12 Assign a position register to store the positional offset and manually enter a value of zero on all six elements at the DATA screen. 13 Initialize both registers (counter and offset – use same counter register from previous program) outside main loop. 14 Increment counter register within each loop. 15 Increment the Z element of offset register by about 25mm on each cycle. 16 Use a conditional branching instruction to monitor the number of cycles executed while the program runs. OFFSET: DATA REGISTERS : 1: PR[2,3:OFFSET] = 0 1. R[1 :COUNTER] = 0 2: R[1:COUNTER] = 0 3: J PR[1:HOME] 100% FINE POSITION REGISTERS : 4: LBL [1] 1. PR[1 :HOME] = R 5: L P[2] 2000mm/s CNT80 OFFSET PR[2:OFFSET] 2. PR[2:OFFSET] = R 6: L P[3] 2000mm/s CNT80 OFFSET PR[2:OFFSET] 7: L P[4] 2000mm/s CNT80 OFFSET PR[2:OFFSET] 8: L P[5] 2000mm/s CNT80 OFFSET PR[2:OFFSET] 9: L P[2] 2000mm/s CNT80 OFFSET PR[2:OFFSET] 10:PR[2,3:OFFSET]=PR[2,3:OFFSET]+25 11: R[1:COUNTER]=R[1:COUNTER]+1 PR [2] : X=0.00 Y=0.00 Z=0.00 W=0.00 P=0.00 R=0.00 R=Recorded 12: IF R[1:COUNTER]<5 JMP LBL [1] 13: J PR[1:HOME] 100% FINE END Completed: Instructor: ___________________________________ Program Instructions 287 MATAGHAND1007CE NOTES: ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ Program Instructions 288 MATAGHAND1007CE HandlingTool Application Programming Enabling Objectives Lab 13 & 14 • • • • • • Continue practicing the concept of saving programs before modifications Practice modifying a program by inserting lines and addition instructions Use the LBL and JUMP LBL Create a program that calls a group of programs in a specified sequence utilizing unconditional branching instructions. Create two programs that will call a specific program based on a program select register utilizing branching instructions IF and SELECT. Understand the differences between IF and SELECT instructions. FANUC Robotics Program Instructions 289 MATAGHAND1007CE Lab 13 Modifying Programs using Branching Instructions Assignment: Condition: Step: The student will create a program that runs an infinite loop: • Continue practicing the concept of saving programs before modifications • Practice modifying a program by inserting lines and addition instructions • Use the LBL and JUMP LBL A FANUC robot and controller loaded with HandlingTool application software. 1 Power up the robot in a safe fashion. 2 Copy PROG2 and name the new program PROG3. 3 Modify PROG3 to run on an infinite loop utilizing the insert feature on ED_CMD to create new lines. PROG3 1: J PR[1:HOME] 100% FINE 2: LBL [1] 3: J P[2] 100% CNT80 4: L P[3] 2000mm/s CNT80 5: L P[4] 2000mm/s CNT80 6: L P[5] 2000mm/s CNT80 7: L P[2] 2000mm/s CNT80 8: WAIT 1 SEC 9: JMP LBL [1] END 4 Perform all testing and test run your copied program from the teach pendant, and then execute it from the cycle start button on the operator panel. 5 Modify and TOUCHUP other motion instruction components to alter the execution of the task at your discretion. 6 Power down the robot safely. Program Instructions 290 MATAGHAND1007CE Lab 14 Calling Programs Student Name: _______________________________________________________________ Assignment: Condition: Step: The student will: • Create a program that calls a group of programs in a specified sequence utilizing unconditional branching instructions. • Create two programs that will call a specific program based on a program select register utilizing branching instructions IF and SELECT. • Understand the differences between IF and SELECT instructions. A FANUC robot and controller loaded with HandlingTool application software 1 Power up controller. 2 Create a new program called MAIN. This program will: 3 Loop forever calling a group of programs in a specific sequence. 4 Verify that none of the programs being called by MAIN contain an infinite loop (PROG3). MAIN: 1: LBL [1] 2: CALL PROG1 3: CALL PROG2 4: CALL PROG3 5: JMP LBL[1] END 5 Create a new program called MAIN1. This program will: 6 Loop forever until a value within a specific range has been entered on the program select register. MAIN1: 1:LBL[1] 2: IF R[5:PRGSLCT]=1 CALL PROG1 3: IF R[5:PRGSLCT]=2 CALL PROG2 4: IF R[5:PRGSLCT]=3 CALL PROG3 5: JMP LBL [1] END 7 Once the program has captured a valid number, it will execute this program until a new valued has been entered. Program Instructions 291 MATAGHAND1007CE 8 Create a new program called MAIN2. This program will: 9 Loop forever until a value within a specific range has been entered on the program select register. MAIN2: 1:LBL[1] 2: SELECT R[5:PRGSLCT]=1, CALL PROG1 3: =2, CALL PROG2 4: =3, CALL PROG3 5: ELSE JMP LBL[1] END 10 Once the program has captured a valid number, it will execute this program once and then it will move on to the next instruction. 11 Verify that all programs run as expected. 12 Power down the controller. Completed: Instructor: ________________________________ 292 Program Instructions MATAGHAND1007CE NOTES: ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ 11 I/O Programming Instructions & Operation 293 HandlingTool Application Programming 11 I/O PROGRAMMING INSTRUCTIONS & OPERATION Inputs and outputs (I/O) are electrical signals that enable the controller to communicate with the robot, end-of-arm tooling, and other external devices, such as sensors and actuators. To use I/O in a program instruction, you must do the following: 1. Identify the I/O hardware you need. 2. Install the I/O hardware, if necessary. 3. Connect the I/O hardware to the necessary devices. 4. Configure the I/O using the teach pendant. This informs the controller software of the I/O you installed and connected so it can be used by the robot. HandlingTool Application Programming I/O Setup and Operation • • • • Types of I/O Types of hardware Configuring Monitoring/Controlling FANUC Robotics 294 I/O Programming Instructions & Operation MATAGHAND1007CE HandlingTool Application Programming I/O Setup and Operation • Types of I/O – Analog – Digital – Group – Standard Operator Panel (SOP) – User Operator Panel (UOP) – PLC FANUC Robotics I/O Programming Instructions & Operation 295 MATAGHAND1007CE 11.1.1 Input/Output (I/O) The I/O system provides the interface between the controller, teach pendant, robot, and any other external device in your workcell. Controller I/O can consist of the following types of I/O software: • User Operator Panel (UOP Inputs (UI) • User Operator Panel (UOP Outputs (UO) • Standard Operator Panel (SOP) Inputs (SI) • Standard Operator Panel (SOP) Outputs (SO) • Robot Inputs (RI) • Robot Outputs (RO) • Digital Inputs (DI) • Digital Outputs (DO) • Group Inputs (GI) • Group Outputs (GO) • Analog Inputs (AI) • Analog Outputs (AO) • PLC Inputs • PLC Outputs FANUC allows the following hardware I/O: • Process I/O • Model A • Model B • Allen- Bradley Remote I/O • DeviceNet • Ethernet IP • Controlnet • Profibus The quantity of I/O can change, except for RI/RO, UOP, and SOP I/O signals, which are fixed. The number of RI and RO signals can vary slightly depending on the number of axes in your system. 11.1.2 Remote I/O Interfaces The controller has the capability to use certain signals from a remote device. These signals can include • UOP signals • Safety fence • RSR and PNS • External Emergency stop 296 I/O Programming Instructions & Operation MATAGHAND1007CE HandlingTool Application Programming I/O Setup and Operation • I/O is how the robot communicates with the workcell • I/O signals are either digital or analog • Digital signals – 24 VDC or 120 VAC – Can be sourcing or sinking FANUC Robotics HandlingTool Application Programming Analog signals • Uses voltage or current to represent signal in workcell • Must be scaled • Converted to/from digital word – 12 bit binary word – -2000 to +2000 counts • Analog signals – -10 to +10 VDC – -20 to +20 ma current FANUC Robotics I/O Programming Instructions & Operation MATAGHAND1007CE 11.2 Hardware The following kinds of I/O hardware are available: • Modular (Model A) I/O • Distributed (Model B) I/O • Process I/O HandlingTool Application Programming Process I/O • • • • Analog and Digital Signals on same circuit board Used Primarily in arc welding applications Interface between robot and weld controller Includes UOP, RSR/PNS connections FANUC Robotics HandlingTool Application Programming Model A (Modular) I/O • Discrete I/O modules • Communicates with CPU through interface module • Requires backplane in controller • Digital in/out – 8/16/32 inputs • Analog in/out – 2/4 channels FANUC Robotics 297 298 I/O Programming Instructions & Operation MATAGHAND1007CE HandlingTool Application Programming Model B (Distributed ) I/O • Discrete I/O modules – Can have both input and output on same unit • Digital Only • 24 VDC or 120 VAC • Serial communications with CPU via interface module • No backplane required FANUC Robotics HandlingTool Application Programming Robot I/O • • • • • • • Digital Signal 24 VDC All robots have it, not all robots use it Accessed on robot at EE connector Used to control EOAT 8 Inputs/8 Outputs Hardwired into controller CPU board – R-J2 Controller direct connection from CPU to robot – R-J3 Controller connection from Servo Amp to robot FANUC Robotics I/O Programming Instructions & Operation MATAGHAND1007CE HandlingTool Application Programming SOP (Standard Operator Panel) I/O • • • • 24 VDC signal Operator Panel Switches(except ON/OFF) Communicates Directly to controller CPU Controls program execution – Cycle Start, Hold • Indicates/Resets fault condition – Fault/Fault Reset FANUC Robotics HandlingTool Application Programming SOP (Standard Operator Panel) I/O • Can be used to select programs – User 1/User 2 • Warns of low backup battery for CMOS/SRAM memory – Battery – Also warns of low SPC batteries on R-J2 paint controllers FANUC Robotics 299 300 I/O Programming Instructions & Operation MATAGHAND1007CE HandlingTool Application Programming UOP (User Operator Panel) I/O • • • • Originally, UOP was a custom control panel Partially duplicated functions of SOP Connected to controller by digital I/O lines PLC now performs most UOP functions, UOP lines still used by controller • Dedicated digital lines between controller and panel/PLC • Can be discrete signal lines or serial digital data over coaxial or twisted pair cable • Predefined signals with specific meanings and functions FANUC Robotics HandlingTool Application Programming PLC I/O • Allows direct communication between controller CPU and PLC CPU – Allen Bradley (ABRIO) or GE Fanuc (GENIUS) – Must install software option • • • • • • PLC sees controller as I/O rack Eliminates extensive and often complicated wiring between controller and PLC Simplifies cell setup and communications Enables PLC to control R-J2/R-J3 controller I/O Requires installation of ABRIO or GENIUS board in controller PLC I/O is digital signals only, does not support analog FANUC Robotics I/O Programming Instructions & Operation 301 MATAGHAND1007CE HandlingTool Application Programming Group I/O • Provides access to more than one digital input or output signal • Allows program to monitor multiple signals as a digital word • Minimum 2 bits • Maximum 16 bits • Used in process control applications FANUC Robotics 11.3 Types of Signals Analog An analog I/O signal (AI or AO) is an input or output voltage that has a value within the range of the I/O board or module used. Analog input devices convert external analog signals into numeric signals for use by the controller. Analog output devices allow analog signals to be send out to external devices. Typical values of analog inputs and outputs are from -10 volts to 0 volts, or from 0 volts to +10 volts. These values depend on the particular device used in your controller. For teach pendant and KAREL programs, analog data is converted into digits and is then read by the program as numbers. Digital A digital I/O signal (DI or DO) is a control signal sent to or from the controller. Digital signals can have only one of two possible states: ON or OFF. Digital signals provide access to data on a single input or output signal line. Group Group I/O signals (GI or GO) are made up of a sequence of digital I/O signals. These are interpreted as a binary integer. A group signal is a group of up to 16 ones (1) and zeros (0), indicated ON or OFF. Each bit in group input or output is a single digital input or output line. Unused bits are assigned a "0." If you group your digital I/O signals, you can control or monitor the sequence of I/O signals within your program by setting or reading a single group using the group I/O instructions. 302 I/O Programming Instructions & Operation MATAGHAND1007CE User Operator Panel (UOP) I/O The User Operator Panel (UOP) provides 18 input signals and 20 or 24 output signals (four are optional), that can be connected to a remote device or a remote operator panel, to control the robot. Most UOP I/O signals (UI or UO) are active when the robot is in a remote condition (when the LOCAL/REMOTE keyswitch on the operator panel is set to REMOTE). Signals that affect safety are always active. For systems with a process I/O board, the UOP signals are configured by default to dedicated ports. NOTE: If you configure UOP input and output signals, the UI PLC I/O Standard Operator Panel (SOP) I/O Robot I/O and UO physical locations are actually DI/DO on the physical I/O. The physical DI/DO can be double configured as both UI/UO and DI/DO logicals. This allows you to control or monitor UI/UO signals within your program by using the DI/DO instructions. PLC I/O (PI or PO) is an optional feature that provides signals that allow a cell controller (PLC) to access the discrete I/O within a controller directly, in addition to transferring I/O signal status information. The cell controller views the robot I/O interface as a remote I/O rack (RIO). When you use the RIO interface along with the PLC I/O, outputs from the cell controller system are then stored to outputs from the controller output modules, and inputs into the controller input modules can be read as inputs into the cell controller I/O system. SOP I/O signals (SI or SO) correspond to internal controller software panel digital input and output signals that control the operator panel on the controller. You cannot change SOP I/O assignments, but might find it to be useful to display them during troubleshooting. Robot I/O signals (RI or RO) consist of the input and output signals between the controller and the robot. These signals are sent to the EE (End Effector) connector located on the robot. The number of robot input and output signals varies depending on the number of axes in your system. I/O Programming Instructions & Operation 303 MATAGHAND1007CE 11.4 Setting Up I/O This section describes how to set up the following kinds of I/O: • Digital inputs and outputs - DI[n] and DO[n] • Robot Inputs and outputs – RI[n] and RO[n] • Group inputs and outputs - GI[n] and GO[n] These kinds of I/O signals are attached to physical ports and are accessed from programs. The [n] corresponds to a signal number or group number. When you set up I/O, you do the following: • Configure I/O • Simulate I/O • Control outputs and display inputs • Configure polarity and complementary outputs • Add comments about the I/O When you configure I/O, you must define the following for each signal or range of signals you configure: • First point of range - for digital and UOP I/O only • Last point of range - for digital and UOP I/O only • Rack • Slot • Starting point – for digital only • Number of points - for group I/O only 304 I/O Programming Instructions & Operation MATAGHAND1007CE 11.4.1 Configuring I/O HandlingTool Application Programming I/O Configuration • Identifies location and type of signal to software • Done as part of setup process – Rack – Slot – Starting point - digital signal – Channel - analog signal FANUC Robotics When all appropriate I/O hardware has been installed and connections have been made, you must configure the I/O. Configuring I/O establishes the correspondence between the signal number or group number and the physical port. Each signal or sequence of signal numbers is configured to a rack, a slot in the rack, and the channel number or starting number , when the software is loaded on the controller. You can change this configuration. You configure I/O differently depending on the kind of I/O you are using. I/O Programming Instructions & Operation MATAGHAND1007CE Rack HandlingTool Application Programming Rack Assignment • The rack is the first part of the address for an I/O signal • It is the physical location where the module or board is mounted • The following ground rules apply to assigning I/O rack numbers – Process I/O is always rack 0 – Model A or Model B I/0 Starts at rack 1 – Racks are numbered sequentially – PLC I/O is always rack 16 – Devicenet is always rack 81-84 – Controlnet is always Rack 85/86 FANUC Robotics When you configure I/O, you must define the following for each signal or range of signals you configure: • First point of range - for digital and UOP I/O only • Last point of range - for digital and UOP I/O only • Rack • Slot • Channel - for analog I/O only • Starting point - for digital, UOP, and group I/O only • Number of points - for group I/O only Figure 11-1 Rack, Slot, Channel, and Starting Point 305 306 I/O Programming Instructions & Operation MATAGHAND1007CE The rack is the physical location on which the input or output process I/O board or modular I/O module is mounted. Your system can contain multiple racks. Refer to Table 11-1 Rack Assignments for Different Kinds of I/O Table 11-1 Rack Assignments for Different Kinds of I/O Kind of I/O Modular (Model A) I/O Rack Assignment Physical location on which the input or output modules are mounted. First on SLC chain is Rack 1. • When used without distributed (Model B) I/O, begins at Rack 1. • When used with distributed (Model B) I/O, the distributed system is Rack 1 and the modular rack is Rack 2. Distributed (Model B) I/O Process I/O Allen-Bradley Remote I/O Interface DeviceNet Interface Genius Interface Rack 1 Rack 0 Rack 16 Racks 81 - 84 Rack 16 I/O Programming Instructions & Operation 307 MATAGHAND1007CE Slot HandlingTool Application Programming Slot Assignment • The slot is the second part of the address for an I/O signal • The slot number distinguishes individual I/O modules on a rack • Identifies space on the rack where the individual module is connected • The following rules apply to slot assignment – Model A valid numbers are 1 through 9, no letters – Model B slot numbers determined by dip switch setting – DeviceNet slot number is the MAC ID for the device FANUC Robotics The slot is the space on the rack where the modular I/O module is connected. The meaning of slot depends on the kind of I/O you are using. Refer to Table 11-2 Slot Assignments for Different Kinds of I/O. Table 11-2 Slot Assignments for Different Kinds of I/O Kind of I/O Modular (Model A) I/O Slot Assignment The space on the rack where the I/O module is connected. Distributed (Model B) I/O Determined by the DIP switch settings on the unit. Process I/O Begin at Slot 1 for the first unit Allen-Bradley Remote I/O Interface Slot 1 DeviceNet Interface The slot number is the MAC Id for the device. Genius Interface Slot 1 I/O Programming Instructions & Operation 308 MATAGHAND1007CE Starting Point (for Digital, Group, and UOP I/O only) HandlingTool Application Programming Starting Point/Channel Assignment • Starting points-digital signals – The physical position on the I/O module or process I/O board that identifies the first port in a range • Channel-Analog Signals – Physical position of the port on a process I/O – Terminal number for modular I/O FANUC Robotics Starting point is the port number within the sequence of ports on the board or module. • For modular I/O, the starting point number refers to the terminal number. • On a distributed basic I/O unit that has both digital inputs and digital outputs, both inputs and outputs start at 1. • For expansion I/O units, mixed inputs and outputs are allowed. ¾ If the base and extension are the same (both digital inputs or digital outputs), the ports on the extension module start at (n+1), where n is the number of ports in the base module. ¾ If the base and extension are different, the ports on each start at 1. Refer to the FANUC Robotics Controller Maintenance Manual for the relationship between starting point numbers and pin numbers on connectors CRM2A and CRM2B on a process I/O board. I/O Programming Instructions & Operation 309 MATAGHAND1007CE 11.4.2 Digital I/O Setup HandlingTool Application Programming Digital I/O • The procedures for configuring digital I/O are the same for the R-J2 and R-J3 controllers • The primary differences are in the appearance of the screens and information displayed FANUC Robotics A digital I/O signal (DI or DO) is a control signal sent to or from the controller. Digital signals can have only one of two possible states: ON or OFF. Digital signals provide access to data on a single input or output signal line. Complementary Output Signals You can configure digital output signals to be controlled independently or in complementary pairs. If an output signal is controlled independently, a command to turn that output signal ON or OFF controls only that output signal. If an output signal is controlled in a complementary pair, a command to turn that signal ON will also turn its pair OFF. A command to turn the signal OFF will also turn its pair ON. Polarity You can configure digital input/output signals with normal polarity (active ON) or inverse polarity (active OFF). Label Signals Once signals are allocated they should always be labeled for ease of troubleshooting and programming. I/O Programming Instructions & Operation 310 MATAGHAND1007CE Procedure 11-1 Setting up Digital I/O NOTE: Analog and digital I/O is configured automatically by the system at Cold start when the system variable $IO_AUTO_CFG is set to TRUE. Use this procedure only if you want to change the configuration. Step 1 Press MENU . 2 Select I/O. 3 Press F1 , [TYPE]. 4 Select the kind of I/O you want to set up: analog, digital, or group. You will see either an input or output screen. Go to the appropriate step: 5 For digital I/O, you will see a screen similar to the following. I/O Digital In # SIM STATUS DI [ 1] U OFF [ DI [ 2] U OFF [ DI [ 3] U OFF [ DI [ 4] U OFF [ DI [ 5] U OFF [ DI [ 6] U OFF [ DI [ 7] U OFF [ DI [ 8] U OFF [ DI [ 9] U OFF [ DI [ 10] U OFF [ Sorted by number ] ] ] ] ] ] ] ] ] ] • To change between the display of the input and output screens, press F3 , IN/OUT. • To move quickly through the information, press and hold the SHIFT key and press the down or up arrow keys. NOTE: By default, signals are displayed in signal number order. Alternatively, they can be displayed in alphabetical order of comment. 6 7 To sort the signals, do the following: • To sort by number, press NEXT and then F2 , NUM_SRT. • To sort by comment, press NEXT and then F3 , CMT_SRT. To configure digital signals, move the cursor to the signals you want to configure and press F2 , CONFIG. You will see a screen similar to the following. I/O Programming Instructions & Operation 311 MATAGHAND1007CE I/O Digital Out # RANGE RACK SLOT START STAT. 1 DO [ 1- 16] 1 1 1 INVAL 2 DO [ 17- 19] 1 2 6 ACTIV 3 DO [ 20- 24] 0 0 0 UNASG 4 DO [ 25- 28] 1 2 1 ACTIV 5 DO [ 29- 100] 0 0 0 UNASG 6 DO [ 101- 356] 16 1 1 PEND 7 DO [ 357- 390] 0 0 0 UNASG 8 DO [ 391- 398] 1 3 0 INVAL 9 DO [ 399- 400] 0 0 0 UNASG Power OFF, then ON to enable changes Table 11-3 CONFIG Screen I/O Status Status ACTIV (Active) INVAL (Invalid) PEND (Pending) UNASG (Unassigned) Description The assignment is valid and currently active. The assignment is invalid, based on the digital I/O hardware present when the controller was turned on. The assignment is valid but was made since the last time the controller was turned on and is therefore not active. You must turn off the controller and then turn it back on to make the change take effect. An assignment has not been made. a Move the cursor to RANGE and set the range. Table 11-4 Range Setting Limitations DI/DO[ FFF, LLL] The first port number (FFF) must be greater than the last port number (LLL) of the preceding line if it is not UNASG. The first port number (FFF) must be greater than or equal to the FFF of the preceding line if it is UNASG. The first port number (FFF) must be greater than zero if there is no preceding line. The last port number (LLL) must be less than the first port number (FFF) in the next line if it is not UNASG. The last port number (LLL) must be less than or equal to the LLL of the next line, if it is UNASG. The last port number (LLL) must not be greater than the current value if there is no next line. 312 I/O Programming Instructions & Operation MATAGHAND1007CE b Move the cursor to RACK, type the value, and press ENTER . c Move the cursor to SLOT, type the value, and press ENTER . d Move the cursor to START, type the value, and press ENTER . e To delete the assignment for a range of ports, either set the RACK, SLOT, and START values to zero, or press F4 , DELETE, and then confirm the deletion. After a deletion, the range of ports will be merged with the UNASG lines immediately above or below it automatically. 8 To set polarity or complementary pairs for digital signal from the DETAIL screen, a If you are not already at the MONITOR screen, press F2 , MONITOR. b Move the cursor to the input or output port you want to configure. c Press NEXT and then press F4 , DETAIL. You will see a screen similar to the following. I/O Digital Out Port Detail Digital Output: 1 2 3 Comment: [ 1] [port-1 comment Polarity: Complementary[ 1 ] INVERSE , 2]: TRUE d To set polarity, move the cursor to Polarity and press F4 for INVERSE, or F5 for NORMAL. NOTE: Complementary will be displayed only for odd– numbered digital output signals. e To set complementary pairs, move the cursor to Complementary and press F4 for TRUE, or F5 for FALSE. 9 To add a comment for digital I/O signals, 10 From the Port Detail screen for the signals you want, move the cursor to Comment and press ENTER . 11 Press the appropriate function keys to type the comment and press ENTER . I/O Programming Instructions & Operation 313 MATAGHAND1007CE 12 To set comments, complementary pairs, or polarity for the previous signal, press F2 , PRV–PT, and for the next signal, press F3 , NXT–PT. 13 To determine if the assignment is valid (verify it), press NEXT , >, and then press F2 , VERIFY. • If the assignment is valid, the message, “Port assignment is valid,” is displayed. • If the assignment is not valid, the message, “Port assignment is invalid,” is displayed. CAUTION When all I/O is configured, save the information to the default device so that you can reload the configuration data if necessary. Otherwise, if the configuration is altered, you will have no record of it. 14 To save the information (when all I/O is configured): a Press MENU . b Select FILE. c Press F1 , [TYPE]. d Select File. e Press F5 , [UTIL]. f Select Set Device. g Move the cursor to the device you want and press ENTER . h Press MENU . i Select I/O. j Press FCTN . k Select SAVE. The file will be saved to the DIOCFGSV.IO file on the default device. WARNING You must turn off the controller and then turn it back on to use the new information; otherwise, you could injure personnel or damage equipment. 15 When you are finished configuring I/O, turn off the controller. Then, turn on the controller so it can use the new information. 314 I/O Programming Instructions & Operation MATAGHAND1007CE 11.4.3 Robot IO/Setup HandlingTool Application Programming Configuring I/O • Robot I/O and SOP I/O are hardwired and not assigned by rack, slot, starting point • Robot I/O signals may be configured as complimentary signals • SOP signals may be monitored from the Teach Pendant but not configured or controlled FANUC Robotics Robot I/O consists of the input and output signals between the controller and the robot. These signals are sent to the EE (End Effector) connector located on the robot. You can change the status of outputs on the robot I/O screen. You can do the following with robot signals: • Force robot output signals ON or OFF Complementary Output Signals Polarity • Configure complementary RO signals • Configure the polarity of RI and RO signals • Set comments • Display robot input and output signals You can configure robot output signals to be controlled independently or in complementary pairs. If an output signal is controlled independently, a command to turn that output signal ON or OFF controls only that output signal. If an output signal is controlled in a complementary pair, a command to turn that signal ON will also turn its pair OFF. A command to turn the signal OFF will also turn its pair ON. You can configure robot input/output signals with normal polarity (active ON) or inverse polarity (active OFF). I/O Programming Instructions & Operation 315 MATAGHAND1007CE 11.4.4 Group I/O setup Group I/O signals (GI or GO) are made up of a sequence of digital I/O signals. These are interpreted as a binary integer. A group signal is a group of up to 16 ones (1) and zeros (0), indicated ON or OFF. Each bit in group input or output is a single digital input or output line. Unused bits are assigned a "0." If you group your digital I/O signals, you can control or monitor the sequence of I/O signals within your program by setting or reading a single group using the group I/O instructions. HandlingTool Application Programming Configuring Group I/O • Digital Input/Outputs are made up of a sequence of digital I/O signals. These are interpreted as binary integer • Configured by Rack, Slot, Starting Point, and Number of Points – Minimum of 2 – Maximum of 16 – Points must be adjacent, no skips between points FANUC Robotics I/O Programming Instructions & Operation 316 MATAGHAND1007CE Procedure 11-2 Setting Up Group I/O Step 1 Press MENU . 2 Select I/O. 3 Press F1 , [TYPE]. 4 Select the kind of I/O you want to set up: analog, digital, or group. You will see either an input or output screen. Go to the appropriate step: 5 For group I/O, you will see a screen similar to the following. I/O Group Out # SIM GO [ 1] * GO [ 2] * GO [ 3] * GO [ 4] * GO [ 5] * GO [ 6] * GO [ 7] * GO [ 8] * GO [ 9] * GO [ 10] * VALUE 0 0 0 0 0 0 0 0 0 0 [ [ [ [ [ [ [ [ [ [ ] ] ] ] ] ] ] ] ] ] To change between the display of the input and output screens, press F3 , IN/OUT. To move quickly through the information, press and hold the SHIFT key and press the down or up arrow keys. 6 Move the cursor to the I/O signal you want to configure. 7 Press F2 , CONFIG. You will see a screen similar to the following. I/O Group Out GO # 1 2 3 4 5 6 7 8 9 RACK 0 0 0 0 0 0 0 0 0 SLOT 0 0 0 0 0 0 0 0 0 START PT 0 0 0 0 0 0 0 0 0 NUM PTS 0 0 0 0 0 0 0 0 0 I/O Programming Instructions & Operation 317 MATAGHAND1007CE 8 Configure the I/O: a Move the cursor to RACK, type the value, and press ENTER . b Move the cursor to SLOT, type the value, and press ENTER . c Move the cursor to START PT, type the value, and press ENTER . The starting point can be any number up to and including 999. d Move the cursor to NUM PTS, type the value, and press ENTER . The number of points can be from 1 up to and including 16. Refer to the following screen for a sample display I/O Group Out GO # 1 2 3 4 5 6 7 8 9 RACK 1 0 0 0 0 0 0 0 0 SLOT 2 0 0 0 0 0 0 0 0 AUTO JOINT 100 % 1/50 START PT NUM PTS 1 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 [ TYPE ] MONITOR IN/OUT HELP > e Cycle Start the controller (Turn the controller OFF then ON) f Press I/O, Type Group. The following is a sample screen showing the Group I/O after it was configured. AUTO I/O Group Out JOINT 100 % # SIM VALUE 1/50 GO[ 1] U 0 [ ] GO[ 2] * * [ ] GO[ 3] * * [ ] GO[ 4] * * [ ] GO[ 5] * * [ ] GO[ 6] * * [ ] GO[ 7] * * [ ] GO[ 8] * * [ ] GO[ 9] * * [ ] GO[ 10] * * [ ] Sorted by port number. [ TYPE ] CONFIG IN/OUT SIMULATE UNSIM > 318 I/O Programming Instructions & Operation MATAGHAND1007CE 9 To add a comment: a If you are not already at the MONITOR screen, press F2 , MONITOR. b Move the cursor to the input or output group for which you want to set a comment. c Press NEXT and then press F4 , DETAIL. You will see a screen similar to the following. I/O Group Out Port Detail Group Output: 1 Comment: [ [port-1 comment 1] ] d Press ENTER , press the appropriate function keys to type the comment, and press ENTER . e To set comments for the previous signal, press F2 , PRV–PT, and for the next signal, press F3 , NXT–PT. 10 To determine if the assignment is valid (verify it), press NEXT and then press F2 , VERIFY. • If the assignment is valid, the message, “Port assignment is valid,” is displayed. • If the assignment is not valid, the message, “Port assignment is invalid,” is displayed. CAUTION When all I/O is configured, save the information to the default device so that you can reload the configuration data if necessary. Otherwise, if the configuration is altered, you will have no record of it. I/O Programming Instructions & Operation 319 MATAGHAND1007CE 11 To save the information (when all I/O is configured): a Press MENU . b Select FILE. c Press F1 , [TYPE]. d Select File. e Press F5 , [UTIL]. f Select Set Device. g Move the cursor to the device you want and press ENTER . h Press MENU . i Select I/O. j Press FCTN . k Select SAVE. The file will be saved to the DIOCFGSV.IO file on the default device. WARNING You must turn off the controller and then turn it back on to use the new information; otherwise, you could injure personnel or damage equipment. l When you are finished configuring I/O, turn off the controller. Then, turn on the controller so it can use the new information. I/O Programming Instructions & Operation 320 MATAGHAND1007CE 11.5 Controlling I/O Controlling I/O allows you to test the I/O in your system for proper function during testing operations. Controlling I/O includes: • Forcing outputs • Simulating inputs and outputs 11.5.1 Forcing Outputs HandlingTool Application Programming Monitoring/Controlling I/O • I/O can be controlled from the Teach Pendant • Teach Pendant Can be used to Force or Simulate a signal condition • Simulating tells the software that a signal is present regardless of the actual state of the signal – Can be used for troubleshooting or testing programs – Does not send voltage or logic signal to work cell FANUC Robotics Forcing outputs is turning output signals on or off. Outputs can also be forced within a program using I/O instructions. Use Procedure 11-3 to force outputs outside of a program. NOTE: RO[1] and RO[2] control the same signals as HAND 1, and RO[3] and RO[4] control the same signals as HAND 2. I/O Programming Instructions & Operation MATAGHAND1007CE HandlingTool Application Programming Monitoring/Controlling I/O (cont.) • Forcing sends a signal from the controller to the work cell – Digital ON/OFF – Analog count – Forcing signals – Before forcing a signal be sure it is safe to do so – Signals should be forced for testing and troubleshooting purposes only – After completion of testing or troubleshooting be sure to return all I/O signals to their normal (unforced) condition FANUC Robotics HandlingTool Application Programming Monitoring/Controlling I/O (cont.) • Simulating signals – Before simulating a signal be sure it is safe to do so. – Signals should be simulated for testing and troubleshooting purposes only – After completion of testing or troubleshooting be sure to return all I/O signals to their normal (unsimulated) condition FANUC Robotics 321 I/O Programming Instructions & Operation 322 MATAGHAND1007CE Procedure 11-3 Forcing Outputs Condition The outputs you are forcing have been configured. Step 1 Press MENU . 2 Select I/O. 3 Press F1 , [TYPE]. 4 Select the kind of output you want to force: spot welding, digital, analog, group, robot, UOP, or SOP. WARNING Forcing digital outputs causes connected devices to function. Make certain you know what the digital output is connected to and how it will function before you force it; otherwise, you could injure personnel or damage equipment. For digital outputs for example, you will see a screen similar to the following. I/O Digital Input # SIM STATUS DO[ 1] U OFF DO[ 2] U ON DO[ 3] U OFF DO[ 4] U OFF DO[ 5] U OFF DO[ 6] U ON DO[ 7] U OFF DO[ 8] S OFF DO[ 9] U OFF DO[ 10] U OFF [ [ [ [ [ [ [ [ [ [ ] ] ] ] ] ] ] ] ] ] 5 Move the cursor to the STATUS of the output you want to force. 6 Press the function key that corresponds to the value you want. For digital, robot, UOP, and SOP outputs, press • F4 for ON • F5 for OFF For analog and group outputs, move the cursor to value, and use the numeric keys to type the value. Value entry is always in decimal format. To change the displayed value from decimal to hexadecimal, press F4 , FORMAT. Hexadecimal numbers are followed by an ``H'' on the screen. I/O Programming Instructions & Operation 323 MATAGHAND1007CE HandlingTool Application Programming 11.5.2 Simulating I/O Simulating I/O • Simulating a signal allows us to change the bit for the signal without a signal actually going into or out of the controller – By simulating an input signal, then switching it on, we can test program response to an input without actually receiving a signal from outside the controller – By simulating outputs we can test a program even if we don’t want peripheral devices connected to the controller to operate • When signals are simulated, no switching of I/O hardware can occur, so signals must be unsimulated before normal operation takes place – We can easily unsimulate all I/O at once by pressing FCTN, UNSIM ALL I/O FANUC Robotics WARNING Be careful when using Release Wait. Overriding I/O or wait periods can cause robot to move or equipment to operate unexpectedly Use Procedure 11-4 to simulate I/O Procedure 11-4 Simulating and Unsimulating Inputs Condition The input or output has been configured and is currently valid. Step 1 Press MENU . 2 Select I/O. 3 Press F1 , [TYPE]. 4 Select the type of input or output you want to simulate: digital, analog, or group. 324 I/O Programming Instructions & Operation MATAGHAND1007CE For digital inputs for example, you will see a screen similar to the following. I/O Digital Input # SIM STATUS DI[ 1] U OFF DI[ 2] U ON DI[ 3] U OFF DI[ 4] U OFF DI[ 5] U OFF DI[ 6] U ON DI[ 7] U OFF DI[ 8] S OFF DI[ 9] U OFF DI[ 10] U OFF [ [ [ [ [ [ [ [ [ [ ] ] ] ] ] ] ] ] ] ] 5 If you simulate a signal, you can force the status by setting it to a value. When the signal is unsimulated, its actual status is displayed. 6 Move the cursor to the SIM column of the signal you want to simulate. 7 8 • U means the signal is not simulated or unsimulated. • S means the signal is simulated. Simulate or unsimulate the signal. • To simulate, press F4 , SIMULATE. • To unsimulate, press F5 , UNSIM. To unsimulate all simulated signals, press FCTN and then select UNSIM ALL I/O. NOTE: If you disable Digital/Analog I/O from the TEST CYCLE Setup screen, all I/O becomes simulated. When you re-enable Digital/Analog I/O from the TEST CYCLE Setup screen, ports that were simulated using the SIMULATE function key are still simulated. I/O Programming Instructions & Operation 325 MATAGHAND1007CE HandlingTool Application Programming UOP (User Operator Panel) I/O • • • • Originally, UOP was a custom control panel Partially duplicated functions of SOP Connected to controller by digital I/O lines PLC now performs most UOP functions, UOP lines still used by controller • Dedicated digital lines between controller and panel/PLC • Can be discrete signal lines or serial digital data over coaxial or twisted pair cable • Predefined signals with specific meanings and functions FANUC Robotics Table 11-5 UOP Input Signals UOP Input signal *IMSTP Always active UI[1] Description This input is the immediate stop software signal. *IMSTP is a normally OFF signal held ON. When it is set to OFF, it • Pauses a program if one is running • Immediately stops the robot and applies robot brakes • Shuts off power to the servos Error code SRVO-037 *IMSTP Input (Group:i) will be displayed when this signal is lost. This signal is always active *HOLD Always active UI[2] This input is the external hold signal. *Hold is a normally OFF signal, held ON. When it is set to OFF, it will do the following: • Pause program execution • Slow motion to a controlled stop and hold • Optional Brake on Hold shuts off servo power after the robot stops This input is the safety speed input signal. This signal is usually connected to the safety fence. *SFSPD is a normally OFF signal held ON. When it is set to OFF it will do the following: • Pause program execution • Reduce the speed override value to that defined in a system variable. This value cannot be increased while *SFSPD is OFF. • Display error code message SYST009. • Not allow a REMOTE start condition. Start inputs from UOP or SOP are disabled when SFSPD is set to OFF and only the teach pendant has motion control with the speed clamped. *SFSPD Always active UI[3] 326 I/O Programming Instructions & Operation MATAGHAND1007CE UOP Input signal CSTOPI Always active UI[4] Description This input is the cycle stop input. The function of this signal depends on the system variable $SHELL_CFG.$USE_ABORT. If the system variable $SHELL_CFG.$USE_ABORT is set to FALSE, the CSTOPI Input • Clears the queue of programs to be executed that were sent by RSR signals • Automatic execution will be stopped after the current program has finished executing If the system variable $SHELL_CFG.$USE_ABORT is set to TRUE, the CSTOPI Input • Clears the queue of programs to be executed that were sent by RSR signals • Immediately aborts the currently executing program(s) for programs that were sent to be executed by either RSR or PNS This input is the external fault reset signal. When this signal is received the following will FAULT_RESET happen: Always active UI[5] • Error status is cleared • Servo power is turned on • The paused program will not be resumed This input is the remote start input. The function of this signal depends on the system START variable $SHELL_CFG.$CONT_ONLY. Active when the robot is in a remote condition If the system variable $SHELL_CFG.$CONT_ONLY is set to FALSE the START input signal (CMDENBL = ON) • Resumes a paused program UI[6] • If a program is aborted, the currently selected program starts from the position of the cursor. If the system variable $SHELL_CFG.$CONT_ONLY is set to TRUE the START input signal • Resumes a paused program only. The PROD_START input must be used to start a program from the beginning. HOME This input is the home input. When this signal is received the robot moves to the defined Active when the robot is in a remote condition home position. You configure the system to do this by setting up a macro program to run when UI[7] is received. (CMDENBL = ON) UI[7] This input is the enable input. This signal must be ON to have motion control ability. When ENBL this signal is OFF, robot motion cannot be done. When ENBL is ON and the REMOTE Always active switch on the operator panel is in the REMOTE position, the robot is in a remote operating UI[8] condition. RSR 1-4 These items are the robot service request input signals. When one of these signals is Active when the robot is received, the corresponding RSR program is executed or, if a program is running currently, in a remote condition stored in a queue for later execution. RSR signals are used for production operation and can (CMDENBL = ON) be received while an ACK output is being pulsed. UI[9-12] These items are program number select input signals. PNS selects programs for execution, PNS 1-8 Active when the robot is but does not execute programs. Programs that are selected by PNS are executed using the START input or the PROD_START input depending on the value of the system variable in a remote condition $SHELL_CFG.$CONT_ONLY. (CMDENBL = ON) The PNS number is output by using the SNO signal (selected number output) and the UI[9] - UI[16] SNACK signal (selected number acknowledge) will be pulsed. PNSTROBE Active when the robot is This item is the program number select strobe input signal. in a remote condition (CMDENBL = ON) UI[17] PROD_START Active when the robot is his item is the Production Start Input when used with PNS will initiate execution of the selected program from the PNS lines. When used without PNS, PROD_START executes in a remote condition the selected program from the current cursor position. Coordinate with CYCLE START. (CMDENBL = ON) UI[18] I/O Programming Instructions & Operation 327 MATAGHAND1007CE Table 11-6 UOP Output Signals UOP Output Signal CMDENBL UO[1] SYSRDY UO[2] PROGRUN UO[3] PAUSED UO[4] HELD UO[5] FAULT UO[6] ATPERCH UO[7] TPENBL UO[8] BATALM UO[9] BUSY UO[10] ACK 1-4 UO[11-14] Description This item is the command enable output. This output indicates that the robot is in a remote condition. This signal goes on when the remote switch is turned to ON. This output only stays on when the robot is not in a fault condition. When SYSRDY is OFF, CMDENBL is OFF. This output is the system ready output. This output indicates that the servo motors are turned on. This item is the program run output. This output turns on when a program is running. This output is the paused program output. This output turns on when a program is paused. This output is the hold output. This output turns on when the SOP HOLD button has been pressed, or the UOP *HOLD input is OFF. This output is the error output. This output turns on when a program is in an error condition. If the robot is at reference position 1, the robot is at the home position. This output is the teach pendant enable output. This output turns on when the teach pendant is on. This output is the battery alarm output. This output turns on when the CMOS RAM battery voltage goes below 2.6 volts. This output is the processor busy output. This signal turns on when the robot is executing a program or when the processor is busy. These items are the acknowledge signals output 1 through 4. These signals turn on when the corresponding RSR signal is received. These items are the signal number outputs. These signals carry the 8 bit representation of the corresponding PNS selected program number. If the program cannot be represented by an 8 bit number, the signal is set to all zeros or off. This output is the signal number acknowledge output. This output is pulsed if the program is selected by PNS input. SNO 1-8 UO[11] - UO[18] SNACK UO[19] The Standard Operator Panel (SOP) I/O screen indicates the status of the standard operator panel signals. SOP input (SI) signals and SOP output (SO) signals correspond to internal controller software Panel Digital Input (PDI) signals and Panel Digital Output (PDO) signals. Refer to Table 11-7 Standard Operator Panel Input Signals and Table 11-8 Standard Operator Panel Output Signals 11.6 Standard Operator Panel (Sop) I/O Setup Table 11-7 Standard Operator Panel Input Signals 0 1 PDI Function Not used 1 2 fault reset 2 3 remote 3 4 hold 4 5 USER PB#1 SI Description This is open for additional PDIs. This input signal is normally turned OFF, indicating that the FAULT RESET button is not being pressed. This input signal is turned OFF, indicating that the controller is not set to remote. This input signal is normally turned ON, indicating that the HOLD push button is not being pressed. This signal is USR PB#1, which is normally turned OFF, indicating that I/O Programming Instructions & Operation 328 MATAGHAND1007CE 5 6 6 7 7 8 9 10-15 8 9 10 11-16 USER PB#1 is not being pressed. This signal is USR PB#2, which is normally turned OFF, indicating that USER PB#2 USER PB#2 is not being pressed. This input signal is normally turned OFF, indicating that the CYCLE START cycle start push button is not being pressed. not used This is open for additional PDIs. CE/CR SELECT b0 This signal is used for the mode selection switch. CE/CR SELECT b1 This signal is used for the mode selection switch. not used This is open for additional PDIs. Table 11-8 Standard Operator Panel Output Signals SO 0 1 PDO Function remote LED 1 2 cycle start 2 3 4 3 4 5 hold fault led BATTERY ALARM 5 6 usr led#1 6 7 usr led#2 7 8 8-15 9-16 teach pendant enabled not used Description This output signal indicates the controller is set to remote. This output signal indicates the CYCLE START button has been pressed or a program is running. This output signal indicates a HOLD button has been pressed. This output signal indicates a fault has occurred and has not been reset. This output signal indicates the voltage in the battery is low. For SpotTool+, this output signal echoes the Process Complete output signal. For HandlingTool, this signal is not used. For other applications, this output signal is user-definable. For SpotTool+, this output signal echoes the UOP[ATPERCH] output signal. For HandlingTool, this signal is not used. For other applications, this output signal is user-definable. This output signal indicates the teach pendant is enabled. This is open for additional PDOs. I/O Programming Instructions & Operation 329 MATAGHAND1007CE 11.7 Input/Output Instructions HandlingTool Application Programming Input/Output Instructions • Input/output, or I/O, instructions allow the program to turn on and off output signals and receive input signals. There are several kinds of I/O instructions: – Digital input and output instructions – Robot digital input and output instructions – Group input and output instructions – PLC I/O FANUC Robotics 11.7.1 Digital Input and Output Instructions R[x] = DI[x] Digital input (DI) and digital output (DO) signals are usercontrolled input and output signals. Use digital input and output instructions to control digital input and output signals in a program. The R[x] = DI[x] instruction stores the condition of a digital input signal line (ON=1, OFF=0) in a register. See Figure 11-2 R[x] = DI[x]. Figure 11-2 R[x] = DI[x] 330 I/O Programming Instructions & Operation MATAGHAND1007CE DO[x] = ON/OFF The DO[x] = ON/OFF instruction turns on or off the specified digital output signal. See Figure 11-3 DO[x] = ON/OFF. Figure 11-3 DO[x] = ON/OFF DO[x] = PULSE [,width] The DO[x]=PULSE [,width] instruction turns on the digital output signal for the time specified. See Figure 11-4 DO[x] = PULSE [,width]. Figure 11-4 DO[x] = PULSE [,width] DO[x] = R[x] The DO[x] = R[x] instruction turns on or off the specified digital output signal based on the value of the register. A value of 0 turns the specified digital output OFF. All values except zero turn the specified digital output ON. See Figure 11-5 DO[x] = R[x]. Figure 11-5 DO[x] = R[x] 11.7.2 Robot Digital Input and Output Instructions Robot digital input (RI) and robot digital output (RO) signals are used to communicate between the controller and the robot. I/O Programming Instructions & Operation 331 MATAGHAND1007CE R[x] = RI[x] The R[x] = RI[x] instruction stores the condition of specified robot digital input signal (ON=1, OFF=0) in a register. See Figure 11-6 R[x] = RI[x]. Figure 11-6 R[x] = RI[x] RO[x] = ON/OFF The RO[x] = ON/OFF instruction turns on or off the specified robot digital output signal. See Figure 11-7 RO[x] = ON/OFF. Figure 11-7 RO[x] = ON/OFF RO[x] = PULSE [,width] The RO[x]=PULSE [,width] instruction turns on the specified robot digital output signal for the time specified. See Figure 11-8 RO[x] = PULSE [,width]. Figure 11-8 RO[x] = PULSE [,width] RO[x] = R[x] The RO[x] = R[x] instruction turns on or off the specified robot digital output signal based on the value of the register (1=ON, 0=OFF). See Figure 11-9 RO[x] = R[x]. Figure 11-9 RO[x] = R[x] 332 I/O Programming Instructions & Operation MATAGHAND1007CE 11.7.3 Group Input and Output Instructions Group input (GI) and group output (GO) signals are several digital input and output signals that have been assigned to a group, can be read as a binary number, and can be controlled by one instruction. R[x] = GI[x] The R[x] = GI[x] instruction places the decimal value of the binary number on the specified group input into the specified register. See Figure 11-10 R[x] = GI[x]. Figure 11-10 R[x] = GI[x] GO[x] = value The GO[x]=value instruction sends the binary equivalent of a value on the specified group output lines. See Figure 11-11 GO[x] = value. Figure 11-11 GO[x] = value UFRAME[i] = PR[x] The UFRAME[i] = PR[x] instruction defines the specified user frame using the information contained in a position register. See the figure below UFRAME[i] = PR[x] . UFRAME[i] = PR[x] Direct: User frame number (0–10) Indirect: R[x], where user frame number = contents of R[x] Direct: Position register number Indirect: R[x], where position register number = contents of R[x] I/O Programming Instructions & Operation 333 MATAGHAND1007CE UTOOL[i] = PR[x] The UTOOL[i] = PR[x] instruction defines the specified tool frame using the information contained in a position register. See the figure below UTOOL[i] = PR[x] . UTOOL[i] = PR[x] Direct: User tool number (0–10) Indirect: R[x], where user frame number = contents of R[x] UFRAME_NUM = [value] Direct: Position register number Indirect: R[x], where position register number = contents of R[x] The UFRAME_NUM=[value] instruction sets the number of the user frame to use in a program. A value of zero indicates that no user frame is used. This means that world frame is used. . Refer to Procedure 6-6 for information on setting up the user frame. NOTE: To verify that this feature is enabled, check the value of $USEUFRAME and be sure it is set to TRUE. Also, make sure the UFRAME number is not zero before you teach data. NOTE: You must execute the UFRAME_NUM = value instruction after you insert it into a teach pendant program in order for the subsequent positions to be recorded correctly with respect to the proper user frame. NOTE: This instruction can be used only if your system has the User frame input option installed. UFRAME_NUM[GRP1,2,3] = [value] Direct: User frame number (0–10) Indirect: R[x], where user frame number = contents of R[x] UTOOL_NUM = [value] The UTOOL_NUM=[value] instruction sets the number of the tool frame to use. A value of zero indicates that no tool frame is used. This means that the frame defined by the faceplate coordinates is used. See the figure below UTOOL_NUM=[value] . Refer to Procedure 6-1 for information on setting up the tool frame. 334 I/O Programming Instructions & Operation MATAGHAND1007CE UTOOL_NUM[GRP1,2,3] = [value] Direct: tool frame number (0–10) Indirect: R[x], where tool frame number = contents of R[x] I/O Programming Instructions & Operation 335 MATAGHAND1007CE NOTES: ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ 336 I/O Programming Instructions & Operation MATAGHAND1007CE HandlingTool Application Programming Enabling Objectives Lab 16 • Check the current controller I/O configuration. • Create a group input and group output. • Set up robot I/O signals. FANUC Robotics I/O Programming Instructions & Operation 337 MATAGHAND1007CE Lab 15 Input/Output Student Name:____________________________________________________ Assignment: Condition: Step: The student will: • Check the current controller I/O configuration. • Create a group input and group output. • Set up robot I/O signals. A FANUC robot and controller with HandlingTool application software and an I/O simulator. 1 Power up the robot using Procedure 5-1 Turning On the Robot. 2 Set up Digital I/O signals 1 and 2 as complimentary signals. 3 Check the configuration of the controller digital I/O signals. 4 Set up a group of output signals. 5 Cycle power, and verify that the configuration changes have taken effect. 6 Create a program and name it LIGHTS. Test run this program that will utilize the grouped signals in binary sequence. 7 Use the teach pendant and I/O simulator box to change the status of digital and group I/O signals, and monitor the condition of the signals. 8 Practice simulating input signals and forcing output signals. 9 Reset all simulated signals back to normal condition and safely power down the controller. LIGHTS : 1. DO [1 :READY] =ON 2. WAIT DI [1 :START PROGRAM] = ON 3. DO [1 :READY] = OFF 4. R[1 :Group Output] = 0 5. LBL [1] 6. GO[1] = R[1 :Group Output] 7. R[1 : Group Output] = R[1 :Group Output] + 1 I/O Programming Instructions & Operation 338 MATAGHAND1007CE 8. WAIT .5 sec 9. IF R[1: Group Output] < R[2: MaxNumber], JMP LBL [1] 10. GO [1] = 0 [End] Where : R[1: Group Output] = Current value for GO [1] R[2: MaxNumber ] = Maximum number of combinations. Completed: Instructor: ________________________________ 12 Miscellaneous Instructions 339 HandlingTool Application Programming 12 MISCELLANEOUS INSTRUCTIONS HandlingTool Application Programming Program Instructions • Miscellaneous Instructions – Remarks – Timer – Override – Message FANUC Robotics 12.1 Remark Instruction The remark instruction allows you to annotate the program. Remark information does not affect the execution of the program. When you add a remark instruction, you enter the message to display within the program. The remark instruction can be from 1 to 32 alphabetic, numeric, punctuation, and blank space characters. The first character of a remark instruction is an exclamation point (!). 12.2 OVERRIDE Instruction The OVERRIDE instruction sets the speed override to a percentage value of the programmed speed OVERRIDE = x % Miscellaneous Instructions 340 MATAGHAND1007CE 12.3 Timer Instruction Timer instructions allow you to start, stop, and reset up to ten different timers in a program. Timers allow you to determine how long a routine takes to execute, or how long your entire production program takes to execute. Timers can be started in one program and then stopped in another. The status of each timer is displayed in the $TIMER[n] system variable, where n is the number of the timer. There are two teach pendant screens: • Program timer listing screen • Program timer detail screen Table 12-1 lists and describes each item on the program timer listing screen. Table 12-2 lists and describes each item on the program timer detail screen. Table 12-1 Program Timer Listing Screen Items ITEM Timer[ ] Count Comment DESCRIPTION This item indicates the number of the timer. You use this number in the TIMER instruction in your program. There are ten timers available. This item indicates the length of time, in seconds, that the program or section of program took to execute. This item allows you to name or enter a comment about a timer. Table 12-2 Program Timer Detail Screen Items ITEM Timer[ ] Count Comment Start Program Line Stop Program Line DESCRIPTION This item indicates the number of the timer. You use this number in the TIMER instruction in your program. There are ten timers available. This item indicates the length of time, in seconds, that the program or section of program took to execute. This item allows you to name or enter a comment about a timer. This item indicates the name of the program that contains the TIMER start instruction. This item indicates the line number of the program where the counter started. This item indicates the name of the program that contains the TIMER stop instruction. This item indicates the line number of the program where the counter stopped. Miscellaneous Instructions 341 MATAGHAND1007CE Procedure 12-1 Displaying the Program Timer Screen Step 1 Press MENU . 2 Select Status. 3 Press F1 , [TYPE]. 4 Select Prg Timer. You will see a screen similar to the following. If you do not see this screen, press F2 , LISTING. PRG TIMER LISTING 1/10 count comment 1 Timer[ 1] 0.00(s) [ 2 Timer[ 2] 0.00(s) [ 3 Timer[ 3] 0.00(s) [ 4 Timer[ 4] 0.00(s) [ 5 Timer[ 5] 0.00(s) [ 6 Timer[ 6] 0.00(s) [ 7 Timer[ 7] 0.00(s) [ 8 Timer[ 8] 0.00(s) [ 9 Timer[ 9] 0.00(s) [ 10 Timer[10] 0.00(s) [ 5 ] ] ] ] ] ] ] ] ] ] To add or change a comment, a Move the cursor to the comment line and press ENTER . b Select a method of naming the comment. c Press the appropriate function keys to add the comment. d When you are finished, press ENTER . 6 To display detailed information about a single timer, a Move the cursor to the timer you want. b Press F2 , DETAIL. You will see a screen similar to the following. 7 To display the listing screen, press F2 , LISTING. 342 Miscellaneous Instructions MATAGHAND1007CE TIMER[x] = [action] You can display the status of program timers on the STATUS Prg Timer screen. Figure 12-1 Timer 12.4 Message Instruction The MESSAGE instruction displays the specified message on the USER screen. The message can be from 1 to 23 alphabetic, numeric, punctuation, and blank space characters. If you want a blank line between messages, leave the message content empty. MESSAGE [message content] Miscellaneous Instructions 343 MATAGHAND1007CE NOTES: ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ Miscellaneous Instructions 344 MATAGHAND1007CE HandlingTool Application Programming Enabling Objectives Lab 15 • Utilize some of the instructions introduced on this chapter • Write a “final” program as a team that will include most of the instructions covered during the programming portion of the class. FANUC Robotics Miscellaneous Instructions 345 MATAGHAND1007CE Lab 16 Miscellaneous and Other TP Instructions Student Name: _______________________________________________________________ Assignment: The student will: • Utilize some of the instructions introduced on this chapter • Condition: Step: Write a “final” program as a team that will include most of the instructions covered during the programming portion of the class. A FANUC robot and controller loaded with HandlingTool application software. 1 Power up controller. 2 Write and execute program in robot lab as a team. 3 Program will: a Require the operator to enter a value on a program select register at the data screen within a specified range. b Turn a “ready” light on, upon cycle start. c Wait for input from the operator. d Move to a ready position and check the current value of the program select register. e Based on that value the program will then activate a program and upon completion, move back to the ready position and check again. f If the value entered at the program select register is not within the proper range, the program will: g Send a signal to an “error” light. h Prompt the operator for a valid number. i Wait for the operator to press a push button when ready to continue. j Move back to the ready position. k In order to exit this program the operator must enter a value of 5 at the program select register. 4 Verify that program runs as expected. Miscellaneous Instructions 346 MATAGHAND1007CE 1. !To start a TP Program Enter a value in R[2] . 2. J PR[1:HOME] 100% FINE 3. DO [7] = ON 4. WAIT DI [7] = ON 5. DO [7] = OFF 6. GO [1] = 15 7. LBL [5] 8. J P[1:APPRFXTR] 100% CNT 35 9. 10. SELECT R[2] = 1, CALL PROG1 11. = 2, CALL PROG3 12. = 3, CALL REPAIR 13. = 4, CALL ZERO 14. = 5, JMP LBL [15] 15. ELSE JMP LBL[10] 16. JMP LBL [5] 17. LBL [10] 18. !REMARK-NOT A VALID CHOICE 19. DO [16] = ON 20. MESSAGE (R[2] OUT OF RANGE) 21. MESSAGE (ENTER A VALUE 1-5) 22. MESSAGE (NOW PRESS DI[16]) 23. WAIT DI[16] = ON 24. DO [16] = OFF 25. JMP LBL [5] 26. LBL [15] 27. GO [1] = 0 28. J PR[1:HOME] 100% FINE [END] Once this has been tested and it works for all values you put into R[2] (line 9) the instruction R[2] = GI[1]. The PLC, or in our case, the input switched 9-12 now determine the program to execute. Miscellaneous Instructions 347 MATAGHAND1007CE 5 Other modifications to make: 6 Set DO[1] through DO[5] OFF at program start. 7 Send digital output 4 pulsed 600 ms prior to looping jump instruction. 8 After 4 MENU cycles, execute REPAIR. 9 Copy the lines for DO[1] through DO[5] OFF and paste them in reverse order just before program end. Other possible modifications you might work up: Register 2 gets its value from a GI signal you enter at the simulation box OR Use DI[8] as a cycle stop switch to end the MENU program instead of R[2]=5. OR Registers used as counters in each looping program can be accumulated totally and displayed numerically as a group output. OR Modify the move to approach with a SKIP to LBL motion option. When DI[1] is turned ON once the robot leaves the workpiece and before it reaches the approach position, it should proceed at half speed to HOME, issue a USER ALARM message to explain why the program is stopping, and then ABORT the program using the ABORT Instruction. OR The output signal of a REFERENCE POSITION can trigger the start of the program rather than a WAIT. Prompt the need to jog into the safe area. 10 Power down the robot Completed: Instructor: ________________________________ 348 Miscellaneous Instructions MATAGHAND1007CE NOTES: ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ 13 13 SYSTEM VARIABLES $DMAURST System Variables 349 HandlingTool Application Programming The SYSTEM Variables status screen displays all system variables. You can change the value of several system variables using this screen. You can also change the value of a system variable in a program using the Parameter name instruction. $DMAURST Minimum: 0 False: 0 True: 1 karel/Data: RW Type: BOOLEAN Program: RW Control Start: RW Memory Location: CMOS Name: DEADMAN SWITCH automatic reset function Description: When this system variable is 1 and the teach pendant is enabled, you only need to grip the DEADMAN switch, to automatically reset any faults. You do not need to push the RESET key. The default value is 0. Power Up: This change takes effect immediately. User Interface Location: SYSTEM Variables screen $FRM_CHKTYP $FRM_CHKTYP Minimum: Not available Maximum: Not available Default: Not available KCL/Data: Not available Program: RW UIF: Not available CRTL: Not available Data Type: INTEGER Memory: Not available Name: Switch Frame Check Type Description: -1 = Prohibits FWD/BWD between two points which have different frame numbers. -2 = System does not check frame number at FWD and BWD. System does not change the frame number ($MNUFRAME_NUM, $MNUTOOL_NUM) when user FWD/BWD execute past a frame change. 2 = System does not check frame number at FWD and BWD. System changes the frame number ($MNUFRAME_NUM, $MNUTOOL_NUM) when user FWD/BWD execute past a frame change. Power Up: Changes to this variable take effect immediately. System Variables 350 MATAGHAND1007CE $SCR_T.$runovlim $SCR.$runovlim Minimum: 1 Maximum: 100 Default: 50 KCL/Data: RW Program: RW UIF: RW CRTL: RW Data Type: INTEGER Memory: CMOS Name: Program Run Speed Limit Description: The ceiling speed override value when you execute a program. If the current speed override is greater than the ceiling speed override, the current speed override will be updated to the ceiling speed override. Power Up: Takes effect immediately $SCR_GRP_T[1] $SCR_GRP[1].$coord_mask Minimum: 0 Default: 27 Maximum: 32767 karel/Data: RW Program: RW Control Start: RW Type: SHORT Memory Location: CMOS Name: Mask for Available Jog Coordinate Frames Description: Controls what jog frames the coordinate key cycles through. There is a bit defined for each coordinate system available: Bit 0 = Joint Mode Bit 1 = Jog Frame Bit 2 = World Frame Bit 3 = Tool Frame Bit 4 = User Frame Power Up: Changes take effect immediately. User Interface Location: SYSTEM Variables screen $SHFTOV_ENB $SHFTOV_ENB Minimum: 0 Default: 0 Maximum: 1 karel/Data: RW Program: RW Control Start: RW Type: ULONG Memory Location: CMOS Name: Enables Shifted Override Setting Description: If set to 0, the override will step up and down in fine increments of 5%. This occurs regardless of whether you press the SHIFT key. If set to 1, the override steps up and down from 50% to 100% and back if the SHIFT key is pressed. If the shift key is not pressed the override moves in fine increments. User Interface Location: SYSTEM Variables screen System Variables 351 MATAGHAND1007CE Procedure 13-1 Displaying and Setting System Variables WARNING System variables control how the robot and controller operate. Do not set system variables unless you are certain of their effect; otherwise, you could injure personnel, damage equipment, or disrupt the normal operation of the robot and controller. Step 1 Press MENU . 2 Select SYSTEM. 3 Press F1 , [TYPE]. 4 Select Variables. You will see a screen similar to the following. SYSTEM Variables 1 $ANGTOL 2 $APPLICATION 3 $AP_MAXAX 4 $AP_PLUGGED 5 $AP_TOTALAX 6 $AP_USENUM 7 $ASCII_SAVE 8 $AUTOINIT 9 $BLT 10 $CHECKCONFIG 5 [3] of STRING [21] 0 2 16777216 [32] of BYTE FALSE 2 0 FALSE To change the value of a system variable a Move the cursor to the variable you want to change. To move the cursor a group of lines at a time, press and hold the SHIFT key and press the up or down arrow key. b Type the new value. c Press ENTER , or press a function key as prompted. 6 If the variable is an array, a list of array elements is displayed or if the variable is a structure, a list of fields is displayed. a Move the cursor to the element or field you want to set and press ENTER . b Press PREV to return to the top level SYSTEM Variables screen. c Enter the necessary information. System Variables 352 MATAGHAND1007CE 7 To save the variables to a file a Press MENU . b Select FILE. c Press F1 , [TYPE]. d Select File. e Press F5 , [UTIL]. f Select Set Device. g Move the cursor to the device you want and press ENTER . h From any of the SYSTEM Variables screens, press FCTN . i Select SAVE. All the system variables will be saved to the file, SYSVARS.SV, on the default device. WARNING You must turn off the controller and turn on the controller to use the new information; otherwise, you could injure personnel or damage equipment. j When you are finished, turn off the controller. Then, turn on the controller so it can use the new information. System Variables 353 MATAGHAND1007CE Lab 17 System Variable $SHFTOV_ENB and $DMAURST Student Name: _______________________________________________________________ Assignment: Condition: Step: The student will: • Alter a system variable A FANUC robot and controller loaded with HandlingTool application software This is a team task. 1 On the Teach Pendant, press MENU and then select SYSTEM, and then Variables. Move the cursor to $SHFTOV_ENB. What is the value? 2 If a 0, press SHIFT and an override up key a couple of times. The manual jog speed increases by 5’s to 100%. 3 If a 1, the manual jog speed increases by large increments to 100%. 4 Change the value of $SHFTOV_ENB to the other value and test the results again by pressing the SHIFT and he override down key. 5 If a 0, the manual jog speed decreases by 5’s to V FINE. 6 If a 1, it decreases by large increments to V FINE. Before continuing, this variable in your plant is usually set to 1. Set $SHFTOV_ENB to 1 now if it is presently 0. Press just the override up key. Each time this key is pressed the jog speed increments by 5’s to 100%. Press the override down key and the speed will decrease by 5’s to 5%, then by 1’s to 1%, to FINE, and then to V FINE. 7 Set $DMAURST to TRUE. This is the automatic reset of the DEADMAN switch when the switch is made. Completed: Instructor: ________________________________ System Variables 354 MATAGHAND1007CE Lab 18 System Variable $SCR_GRP[1] Student Name: _______________________________________________________________ Assignment: Condition: Step: The student will: • Alter a system variable A FANUC robot and controller loaded with HandlingTool application software. This is a team task. 1 Access System Menu a MENU b SYSTEM c TYPE d SCR_GRP[1] e Press the ENTER twice. f Coord mask 2 Change the value to a number between 1-16 1 = Joint 2 = JG FRME 3 = Joint + JG Frame 4 = WORLD 5 = Joint + World 6 = Jog + World 7 = Joint + Jog + World 8 = Tool 9 = Tool + Joint 10= Jog Frame + Tool 11= Tool + Jog + Joint 12 = Tool + World 13= Tool + World + Joint 16 = User Frame 3 What do you get when using 14-30? 4 Put in 31 Completed: Instructor: ________________________________ 14 Macro Commands 355 HandlingTool Application Programming HandlingTool Application Programming 14 MACRO COMMANDS Macro Overview • A Macro is any program assigned the subtype Macro • A Macro, unlike ordinary programs, may be conveniently executed from the MANUAL FUNCTIONS screen or external signal FANUC Robotics HandlingTool Application Programming Macro Commands • Separate program – Can contain motion and non motion instructions • Runs under one of the following conditions – Teach pendant user key is pressed – Selected from MANUAL FCTNS menu – I/O signal – SOP input(USER1, USER2) – Program Instruction • To use a Macro – The macro command program must be written – Macro command must be defined FANUC Robotics This section describes how to set up macro commands from the teach pendant, MANUAL FCTNS Macros screen, and operator panel button. NOTE: System level macros are application-specific instructions that are predefined and cannot be changed by the user. These macros are identified with the letter "s" at the far right side of the Macro SETUP screen. You cannot change any information about system level macros on any screen. 356 Macro Commands MATAGHAND1007CE 14.1 Setting Up Macro Commands HandlingTool Application Programming Creating Macro • Write a TPP program that will become Macro – Change the program subtype in header to Macro – Test Program • Assign Macro – SOP Button (USER1, USER2) – USER Button on Teach Pendant – Input Signal (DI, RI, UI) – ¾ Note: when using UI some system variables may need to be set – Manual Functions Menu – TP Key FANUC Robotics Macro commands must be set up before they can be used. You can set them to run from a teach pendant user key, operator panel button, input signal, or from the MANUAL FCTNS screen. Teach Pendant User Keys You can set up a macro command to run when a teach pendant user key is pressed alone or with the SHIFT key. If you want to execute a program that contains robot motion when a user key is pressed, you must set it up to run when the SHIFT key is pressed. CAUTION Make certain that your application has not already assigned functions to the teach pendant user keys; otherwise, execution problems can occur When you set up macro commands, you can define up to seven macro commands to run when the user key is pressed alone (UK[1] - UK[7]), and seven macro commands to run when the user key is pressed with the SHIFT key (SU[1] - SU[7]). The macro commands that require the user key to be pressed alone (UK[1] - UK[7]) cannot contain any instructions that move the robot, and the group mask must be set to [*,*,*,*,*] in the program header information. Macro Commands 357 MATAGHAND1007CE Figure 14-1 Teach Pendant User Keys ÏÏÏ ÏÏÏ ÏÏÏ ÏÏÏ ÏÏÏ ÏÏÏ ÏÏÏ ÏÏÏ ÏÏÏ ÏÏÏ ÏÏÏ ÏÏÏ ÏÏÏ ÏÏÏÏ ÏÏÏÏ ÏÏÏ ÏÏÏÏ ÏÏÏÏ ÏÏÏ ÏÏÏÏ ÏÏÏÏ ÏÏÏÏ ÏÏÏÏÏÏÏ ÏÏÏ MANUAL FCTNS Macro Screen Items TOOL 1 UK [1] and SU [1] TOOL 2 UK [2] and SU [2] MOVE MENU UK [3] and SU [3] SETUP UK [4] and SU [4] POS I/O STATUS UK [7] and SU [7] UK [6] and SU [6] UK [5] and SU [5] You can set up a macro command program to be executed from the MANUAL FCTNS Macros screen. After you set up a macro command to run from this screen, you can then select a manual functions menu item and press the SHIFT key and the EXEC function key to execute the macro command. Refer to Section 14.2 Executing Macro Commands from the MANUAL FCTNS menu. Use Procedure 14-1 to set up a macro command to run from the Manual Functions screen. 358 Macro Commands MATAGHAND1007CE Operator Panel Buttons You can set up a macro command program to run when a button on the operator panel is pressed. You can execute a macro command when USER 1 (SP [4]) or USER 2 (SP [5]) is pressed on the operator panel. See Figure 14-2 Operator Panel Buttons for the operator panel buttons. Figure 14-2 Operator Panel Buttons Input Signals You can set up a macro command program to be executed when the input signal you specify is received. You can assign a macro command to a digital input (DI), robot input (RI), or user operator panel input (UI). By default, you can assign up to five macro commands as input signals, or UOP input signals. You can change the number of signals by modifying the value of the $MACROMAXDRI system variable. For digital input signals, indexes 0 through 999 are available. An index of 0 indicates that no macro is assigned. You can assign any of these index numbers to the macro command, but the digital signal must be configured properly for the macro command to execute. For robot input signals, indexes 0 through the number of robot input signals configured on your system, up to a maximum of 24, are available. An index of 0 indicates that no macro is assigned. For UOP input signals, indexes 0 through the number of UOP input signals configured on your system are available. An index of 0 indicates that no macro is assigned. WARNING Before you copy a program with embedded macros from one controller to another, compare the SETUP menu macro lists of the two controllers. Be sure that the list on the first controller matches the list on the second controller. If they are not identical, DO NOT copy the program; otherwise, when you run a program that uses macros, you could injure personnel or damage equipment. Macro Commands 359 MATAGHAND1007CE Procedure 14-1 Setting Up Macro Commands Condition Step A macro program has been created. The macro program has been tested and runs properly. 1 Press MENU . 2 Select SET UP . 3 Press F1 , [TYPE]. 4 Select Macro. You will see a screen similar to the following. Macro Command Instruction name Program Assign 1 [ ] [ ] [ 0] 2 [Hand open ] [hndopen1]UK[ 1] 3 [Hand close ] [hndclse1]MF[ 4] 4 [ ] [ ] [ 0] 5 [ ] [ ] [ 0] 6 [ ] [ ] [ 0] 7 [ ] [ ] [ 0] 8 [ ] [ ] [ 0] 9 [ ] [ ] [ 0] 10 [ ] [ ] [ 0] 5 Move the cursor to a blank Instruction name and press ENTER . 6 Name the instruction. 7 Select a method of naming. 8 Press the appropriate function keys to type a name. 9 When you are finished press ENTER . NOTE: Before you perform the next step, you must have a written and tested macro program. 10 Select the instruction you want to assign: 11 Move the cursor to Program and press F4 , [CHOICE]. 12 Select the macro program you want assigned to the instruction name and press ENTER . 13 Assign the macro command: 14 Move the cursor to Assign and press F4 , [CHOICE]. 15 Select the macro command assignment you want and press ENTER : Macro Commands 360 MATAGHAND1007CE NOTE: You cannot assign macro commands that include motion instructions to UK. • For a user key without SHIFT , select UK. • For a user key with SHIFT , select SU. • For a MANUAL FCTNS menu item, select MF. • For an operator panel button, select SP. • For a digital input, select DI. • For a robot input, select RI. • For a UOP input, select UI. • To remove an assignment, select -- . Refer to Table 14-1 Macro Command Assignments Table 14-1 Macro Command Assignments User Key on Teach User Key on MANUAL Input Pendant without Teach Pendant FCTNS Screen Signals SHIFT (UK) with SHIFT Item (MF) (DI, RI, UI) (SU) MF [ 1]-MF [ 99] Digital inputs DI[0] - DI[99] SU [ 1] UK [ 1] Robot inputs RI[0] - RI[n] SU [ 2] UK [ 2] UOP inputs UI[0] - UI[n] SU [ 3] UK [ 3] SU [ 4] UK [ 4] n: number of signals SU [ 5] UK [ 5] configured in your system SU [ 6] UK [ 6] SU [ 7] UK [ 7] 16 Move the cursor to the assignment number, enter the number, and press ENTER . The number that you assign to the manual function item defines the item number on the manual functions screen. NOTE: You cannot modify the instruction name or the program of a system level macro. These macros are identified with the letter "s" at the far right side of the macro setup screen. 17 If you want to modify an entry, move the cursor to the item you want to change and enter a new value (or, PRESS F2 , CLEAR, to the remove current value from the item and then begin typing). Macro Commands 361 MATAGHAND1007CE 18 To save the information a Press MENU . b Select FILE. c Press F1 , [TYPE]. d Select File. e Press F5 , [UTIL]. f Select Set Device. g Move the cursor to the device you want and press ENTER . h Display the macros screen. i Press FCTN . j Select SAVE. The file will be saved to the SYSMACRO.SV file on the default device. NOTE: Be sure to save any teach pendant programs that are affected by the macro command assignments you are making. Macro Commands 362 MATAGHAND1007CE After you have set up macro commands you can run them, using one of the following methods: • Press a teach pendant user key 14.2 Executing Macro Commands • Press the SHIFT key and a teach pendant user key • Select a MANUAL FCTNS Macros screen item • Execute a macro program from within another program using the macro command instruction • Receive an input signal (DI, RI, or UI) The method you use depends on how you set up the macro command to execute. This section describes how to execute a macro command from the MANUAL FCTNS Macros screen WARNING Before you copy a program with embedded macros from one controller to another, compare the SETUP screen macro lists of the two controllers. Be sure that the list on the first controller matches the list on the second controller. If they are not identical, DO NOT copy the program; otherwise, when you run a program that uses those macros, the robot could injure personnel or damage equipment. For UK, SU, and MF, the teach pendant must be ON and for SP, DI, RI, UI, the teach pendant must be OFF. Teach Pendant User Keys Use Procedure 14-3 Assign Macro to USER key on Teach Pendant to execute a macro command that has been assigned to a teach pendant user key. Procedure 14-2 Assigning a Macro to SOP Step 1 On the Teach Pendant press MENU 2 Select SETUP 3 Press TYPE F1 4 Select Macro 5 Move Cursor to a blank instruction name and press ENTER 6 Cursor to Program Column and Press CHOICE F4 7 Select program name and press ENTER 8 Cursor to Assign Column and press CHOICE F4 Macro Commands 363 MATAGHAND1007CE 9 Select SP[4] for USER1 and press ENTER 10 Select SP[5] for USER2 and press ENTER 11 Verify program operation Procedure 14-3 Assign Macro to USER key on Teach Pendant Step 1 On teach pendant press MENU 2 Select SET UP 3 Press F1 TYPE 4 Select Macro 5 Move Cursor to a blank instruction name and press ENTER 6 Cursor to Program Column and Press CHOICE F4 7 Select program name and press ENTER 8 Cursor to Assign Column and press CHOICE F4 9 Select UK for user key without shift 10 Select SU for user key with shift 11 Assign number 1 through 7 12 Verify program operation Procedure 14-4 Assign Macro to a Digital Input Step 1 On teach pendant press MENU 2 Select SET UP 3 Press TYPE F1 4 Select Macro 5 Move Cursor to a blank instruction name and press ENTER 6 Cursor to Program Column and Press CHOICE F4 7 Select program name and press ENTER 8 Cursor to Assign Column and press CHOICE F4 9 For a digital input select DI 10 For a robot input select RI 11 For a UOP input select UI 12 Verify program operation Macro Commands 364 MATAGHAND1007CE Procedure 14-5 Assign Macro to a Manual Functions Key Step 1 On teach pendant press MENU 2 Select SET UP 3 Press TYPE F1 4 Select Macro 5 Move Cursor to a blank instruction name and press ENTER 6 Cursor to Program Column and Press CHOICE F4 7 Select program name and press ENTER 8 Cursor to Assign Column and press CHOICE F4 9 Select Manual Functions MF 10 Assign number 1 through 99 11 Verify program operation Macro Commands 365 MATAGHAND1007CE NOTES: ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ Macro Commands 366 MATAGHAND1007CE HandlingTool Application Programming Enabling Objectives Lab 19 • Create or modify an existing program as a MACRO. • Setup the MACRO to run from: – A TP key – USER 1 or USER 2 on the SOP – A digital input – Manual Functions screen FANUC Robotics Macro Commands 367 MATAGHAND1007CE Lab 19 MACRO COMMANDS Student Name:____________________________________________________ Assignment: The student will: • Create or modify an existing program as a MACRO. • Setup the MACRO to run from: - Condition: Step: A TP key USER 1 or USER 2 on the SOP A digital input Manual Functions screen A FANUC robot and controller loaded with HandlingTool application software. 1 Power up the robot controller and recover from all faults. 2 Create a new program or modify and existing program as a MACRO 3 Verify that the program(s) runs without problems by running it manually. 4 Follow Procedure 14-2 through Procedure 14-5 to set a MACRO to the following: a A Teach Pendant key b USER 1 or USER 2 on the SOP c A digital input d Manual Functions screen 5 Power down the robot safely. Completed: Instructor: ________________________________ 368 Macro Commands MATAGHAND1007CE NOTES: ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ 15 Program Adjust 369 HandlingTool Application Programming 15 PROGRAM ADJUST HandlingTool Application Programming Program Adjust • Program adjust allows you to:· – Adjust taught positions – Adjust robot speed – linear and joint – Positional adjustment may be relative to the USER or TOOL frame FANUC Robotics Program adjust allows you to modify positional data of a program relative to different frames and handling rail axes, multiple groups, and line tracking. You can adjust positional offsets (values that specify how much of a difference there is between the current positional value and the positional value you want), robot speed, and rail axes. This can also be used to edit a program while another program is running. NOTE: Program adjust cannot correct for errors in mastering. HandlingTool Application Programming PROGRAM ADJUST • Allows modification of a program while it is executing. • The Teach Pendant is disabled. • Program components that can be modified are: – Positional offsets (linear and rotational) – Speed (joint and linear) • Up to ten program schedules are available for use. • A Program Adjust Schedule contains: – A number assigned to identify the schedule of 10 possible – The name of the program being adjusted – The starting and ending line numbers affected by the adjustment – The Positional offset value in X,Y,Z, W, P, and R – A linear robot speed – A joint robot speed FANUC Robotics 370 Program Adjust MATAGHAND1007CE HandlingTool Application Programming Program Adjust Schedules • A program is executing. Cursor to an open schedule. • To define a new specific schedule, press DETAIL. • To modify an existing schedule, cursor to the program name and press DETAIL. FANUC Robotics HandlingTool Application Programming Program Adjust (Cont.) –CLR_ALL saves the current data & clears all data from the schedule. –CLR_ADJ saves the current data & clears the adjustments on the schedule. FANUC Robotics Program Adjust 371 MATAGHAND1007CE 15.1 Adjusting a Program or a Schedule When you make program adjustments, the changes you make are grouped together into a program adjust schedule. You can use as many as 99 program adjust schedules to adjust program information during program or production run. Program Adjust Schedules The program adjust schedule contains: • A number you assign to identify the schedule. Program Adjust Guidelines • The name of the program being adjusted. • The starting and ending line numbers to be affected by the adjustment. • The frame adjustment reference: either USER or TOOL. • The positional offset value in x, y, z, w, p, and r in USER frame adjustment, or x, y, z, x rotation, y rotation, and z rotation in TOOL frame adjustment. • A linear robot speed. • A circular robot speed. • A joint robot speed. • The motion group selection. • A rail mode adjustment if you have rail axis as an integrated linear axis in the first group. Use the following program adjust sequence as a guideline for your program adjustments: 1 Edit the schedule to make the program adjustments you want. 2 ENABLE the program adjust schedule. The changes will take effect as soon as the robot motion system can process the new information. Allow for one complete cycle through the program after enabling the adjustment to ensure that all positions are adjusted. 3 To remove the adjustment, DISABLE the offset. Allow for one complete cycle of the program for all positions to disable the adjustments. 4 To make additional adjustments, clear the schedule (CLEAR_ADJ) and confirm. This will lock in the adjustments to the program and reset the program adjustment values to zero. 5 If the offset is a temporary adjustment, continue to use the offset until the temporary condition no longer exists and then DISABLE the offset. 6 Use Procedure 15-1 to adjust program information during program or production run. Program Adjust 372 MATAGHAND1007CE Procedure 15-1 Adjusting Programs During Program or Production Run Condition The program you want to adjust is currently selected. NOTE: Be sure robot is in AUTO and running Step 1 Press MENU . 2 Select UTILITIES. 3 Press F1 , [TYPE]. 4 Select Prog Adjust. Depending on the application you are using, you will see a screen similar to the following. 5 Select a program and line numbers to adjust. To adjust program parameters for the current program if it is not listed on the screen, select an unused schedule (********) and press F2 , DETAIL. The current program name will be entered automatically. 6 Press F2 , DETAIL. You will see a screen similar to the following. Program Adjust 373 MATAGHAND1007CE 7 To display the DETAIL for a different program, a Move the cursor to Program name. b Press F4 , [CHOICE]. c Move the cursor to the name of the program you want and press ENTER . 8 To display the DETAIL for a different schedule, press F3 , SCHED, and type the schedule number. 9 To display the next schedule DETAIL automatically, press SHIFT and F3 , SCHED. a Select item 2, Starting line number, and type the starting line number where you want the changes to take effect. If you enter a line number that is out of the range of program lines, the last line number in the program will be entered automatically. b Select item 3, Ending line number, and type the ending line number where you want the changes to stop taking effect. If you enter a line number that is out of the range of program lines, the last line number in the program will be entered automatically. NOTE: The ending line must be greater than or equal to the starting line number specified in item 2. To change only one line number, the ending line number must be the same as the starting line number. Program Adjust 374 MATAGHAND1007CE 10 To select the units (inches or millimeters) for x, y, and z offsets, press F2 , UNITS. 11 To toggle between USER frame and TOOL frame, move the cursor to item 4, Offset relative to, and press either F4 , USER, or F5 , TOOL. 12 To adjust x, y, and z offsets, select the item and type the new offset value. To indicate negative offsets, use the minus sign. The range of x, y, and z offsets is +/- 26.00 mm (1.024 of an inch). 13 To adjust w, p, and r offsets, select the item and type the new offset value. These offsets are always shown in degrees. To indicate negative offsets, use the minus sign. The range of w, p, and r offsets is +/- .500 dg. NOTE: If Offset relative to is set to TOOL frame, instead of adjusting w, p, and r values, you will adjust the “x rotation,” “y rotation,” and “z rotation. 14 To change linear or circular speed, select Linear/Circular Speed and type the new speed value. A value of 0 indicates no change. 15 To change joint speed, select Joint Speed and type the new speed value. A value of 0 indicates no change. 16 To select the motion group for multiple group processes, select Motion group and press F4 , [CHOICE]. You can select Single Group, All, or an individual group that is loaded on the controller. • Single Group indicates that only the first is being adjusted in this process. If only the first group is loaded, then Single Group is the only choice on the pop-up menu. • All indicates that all motion groups in the teach pendant program are being adjusted in this process. • If more than one group is loaded on the controller, the value for $SCR_GRP.$robot_id is displayed as a selection for individual groups from a pop-up menu. This selection allows you to adjust any individual group. 17 To adjust y for the robot rail or all, select the item and press F2 , [CHOICE], to make a selection. Program Adjust 375 MATAGHAND1007CE NOTE: Adjust Y for is displayed only if rail axis is loaded as an integrated linear axis in the first motion group. NOTE: If Frame Adj refer to is set to TOOL frame, only ROBOT is available. 18 If you want to clear the x, y, z, w, p, and r portion of this schedule, press NEXT , and then press F2 , CLR_ADJ. This - Changes the x, y, z, w/x rotation, p/y rotation, and r/z rotation offset values in the schedule to 0 - Retains the program name and line numbers - Resets the position to include the adjusted positional information • To clear, press F4 , YES. You will see the message “Schedule cleared successfully.” • To cancel, press F5 , NO. 19 When you are finished adjusting program parameters and the program is not currently running, press F4 , ENABLE. This activates the program adjustments you made and changes the program. The adjustments take effect and become permanent to the program as soon as the robot motion system processes them. Program Adjust 376 MATAGHAND1007CE NOTE: If a motion instruction contains a PR[n] (position register) or INC (Incremental motion option), it will not be adjusted. 20 To test the adjustments if the program is not running, refer to section 7.5. 21 If you are not satisfied with the adjustments, press F5 , DISABLE. (F5, DISABLE, appears after you have enabled adjustments.) This returns the program positions to the values they had before you enabled the schedule. The disable feature takes effect as soon as the robot motion system can process it. The changes are permanent. If you are not satisfied with speed changes, you must EDIT the schedule to enter new speed values and then press F4 , ENABLE. NOTE: DISABLE does not change linear speed or joint speed. You must change them to the original values by selecting each value and entering a new value. Before you can run the program the new program adjustments must be complete. 22 To save the changes to your program permanently, a Press F4 , ENABLE, to enable the changes. b Press NEXT . c Press CLR_ALL. • This activates the program adjustments you made and makes permanent changes to the program. • This changes the x, y, z, w/x rotation, p/y rotation, and r/z rotation offset values displayed on the screen to 0. • This changes the linear speed and joint speed values displayed on the screen to 0. • This clears the program name and line numbers displayed on the screen. • To clear, press F4 , YES. • To cancel, press F5 , NO. Program Adjust 377 MATAGHAND1007CE 23 To copy schedule information from one program to another, press NEXT , and then press F1 , COPY. Type the schedule number you want to copy to a specified schedule and press ENTER . 24 The message “Please wait, copying schedule...” is displayed for the moment. You will see the message “Schedule copied successfully.” 25 If the adjustment fails, the specific cause of error is posted and the line number where the error occurred is displayed. The schedule status is changed to PARTENABLED (or partial enabled). See the following screen for an example. 26 Press F5 , DISABLE, to disable the schedule. 27 Determine the cause of the error. - Fix the error in the program. OR - Change the ending line number to be one less than where the error occurred. 28 Press F4 , ENABLE, to enable the schedule. NOTE: Do not use a partially adjusted program. NOTE: When a schedule status is either PARTENABLED or PARTDISBLED, you will not be able to use CLR_ADJ or CLR_ALL to make partial adjustments permanent. Also, if you change any adjusted fields, the status changes to EDIT and you will be unable to recover positions lost due to power failure. Program Adjust 378 MATAGHAND1007CE Program Adjust Create Schedule Make Adjustments Enable Adjustments Verify Adjustments Make adjustments permanent? Yes Clear Adjustment Clear All No Disable Adjustment Clear Adjustment Clear All Program Adjust 379 MATAGHAND1007CE NOTES: ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ ____________________________________________________________________________ Program Adjust 380 MATAGHAND1007CE HandlingTool Application Programming Enabling Objectives Lab 20 • Program Adjust – Select and execute a looping TP program from cycle start – While in production mode, monitor execution and investigate the LOOK softkey – Adjust a line(s) of program data during execution FANUC Robotics Program Adjust 381 MATAGHAND1007CE Lab 20 Program Adjust Student Name: _______________________________________________________________ Assignment: Condition: Step: The student will: • Select and execute a looping TP program from cycle start • While in production mode, monitor execution and investigate the LOOK softkey • Adjust a line(s) of program data during automatic cycle A FANUC robot and controller loaded with HandlingTool application software. Use a looping program that you have created 1 Power up the robot safely. Remove all faults from the robot. Abort any running program. 2 Execute a program using cycle start with the REMOTE Key in LOCAL. If the program does not loop, insert appropriate instructions. Do not stop production mode during Prog Adjust execution! 3 During production, press EDIT and monitor the program. Pay close attention to the motion. Notice the line numbers for the program position above the table where adjustments might be needed. Use LOOK Mode if you are uncertain of the line numbers. In the LOOK mode, you can move the cursor about. 4 Select the Prog Adjust Menu. The program is still executing. Move the cursor to unused schedules and enter the line number or range of line numbers to be adjusted. Once enabled, adjustments take effect within the next full cycle: 5 Adjust the entire movement above the table down 10 mm (or your choice) and to the robot’s left 50 mm (or your choice) on one schedule if possible. 6 Adjust two positions close to the table without touching it. Program Adjust 382 MATAGHAND1007CE 7 Angle adjustments change a maximum of 0.5 degrees only. They are hard to see without small angle monitoring devices. So there is no need to use this feature. 8 You may adjust linear and/or joint speeds. Check to see if all linear speeds will become the value you set for linear or if the linear speeds become proportionate to the rates previously set – Do both a 325 mm/ sec and a 115 mm/sec become 600 mm/sec. What appears to be the answer? ____________________________________________________ ENABLE and/or DISABLE the adjustments as needed. With the adjustment enabled, to save the data, press NEXT , and CLR_ADJ if you want to continue or CLR_ALL if you are done with that particular schedule. 9 Return robot to HOME position. Power down the robot safely. Completed: Instructor: ________________________________ 16 Program and File Manipulation HandlingTool Application Programming 16 PROGRAM AND FILE MANIPULATION HandlingTool Application Programming Memory Architecture FANUC Robotics HandlingTool Application Programming Controller Memory • Flash ROM – Doesn’t require battery backup – Stores the majority of controller system software – Can be likened to a CD-ROM drive on a home PC ¾ Data can be read from, but normally not written to Flash ROM ¾ The contents of Flash ROM can be erased and reloaded from outside the controller • C-MOS/SRAM – Needs battery back-up – Stores user data (TPP programs and system variable data) compressed – Can be likened to the hard drive on a home PC FANUC Robotics 383 Program and File Manipulation 384 MATAGHAND1007CE 16.1.1 Using a Memory Card Interface The memory card interface is integral to all controllers and is located on the operator panel. Procedure 16-1 Using the Memory Card Interface Condition You are using either an SRAM memory card or a PCMCIAATA Flash card that is based on one of the following standards: – JEIDA “IC Memory Card Guideline Version 4.0” – PCMCIA “PC Card Standard R. 2.0” Step 1 Identify the memory card interface located on the operator panel. See Figure 16-1. Figure 16-1 Memory Card Interface Location CAUTION The memory card interface is fragile. Use care when inserting the memory card to avoid damage to the connector. 2 Insert the memory card or the Flash card as shown in Figure 16-1 Program and File Manipulation 385 MATAGHAND1007CE 16.1.2 Setting the Default Device Setting the default device specifies which device to use when manipulating programs and files. You must set the default device before you can perform any program or file manipulations, including formatting a memory card. You can set the default device to • Memory card (MC:) • Floppy disk – a floppy disk drive connected to a controller port, such as the PS-100, PS-110, or PS-200. • Serial printer – A serial printer connected to a controller port. • Flash File Storage disk (FR:) - built-in storage for controller system files. • UD1 = USB • Client tag (C1: – C8:) – used if the FTP option is installed. The client devices displayed are the client devices that have been defined and started. • Memory device (MD:) - treats the controller’s program memory as if it were a file device. • Console device (CONS:) - used for debug purposes only. This displays the conslog.ls and constail.ls powerup log files. • RAM disk – RAM disk, specified by RD: • MF device (MF:) – a composite device that searches the RAM Disk (RD:) and flash file storage disk (FR:) devices, in that order, for a specified file. After you set the default device, the device will remain the default until you change it. Use Procedure 16-2 to set the default device. Program and File Manipulation 386 MATAGHAND1007CE Procedure 16-2 Setting the Default Device CAUTION If devices such as a printer, floppy disk drive, or vision system are connected to the controller, always turn on the robot first, then turn on these devices; otherwise, equipment could be damaged. Condition If you are setting the default device to memory card or floppy disk, the memory card or floppy disk must be properly installed. Step 1 Press MENU . 2 Select FILE. 3 Press F1 , [TYPE]. 4 Select File. You will see a screen similar to the following. 5 Press F5 , [UTIL]. 6 Select Set Device. Program and File Manipulation 387 MATAGHAND1007CE 7 Move the cursor to the device you want to select and press ENTER . You will see a screen similar to the following. The default device is now set. The default device name is displayed on the FILE screen, under the word “FILE.”` 16.1.3 Formatting Devices You must format the SRAM memory card, the FLASH ATA memory card or a floppy disk only before you use them for the first time. Use Procedure Procedure 16-3 to format a memory card. The RAM disk is formatted automatically for you each time you change the disk size. CAUTION Formatting deletes all the files on a memory card or disk. Do not format a memory card or disk that contains files you want to keep. HandlingTool Application Programming File Manipulation • First choose a Storage Device – This is called setting the default device • The following storage devices can be used to store programs and files: – PS-100/PS-110 – IBM PC or compatible personal computers – PCMCIA Memory Card FANUC Robotics Program and File Manipulation 388 MATAGHAND1007CE HandlingTool Application Programming File Manipulation • File backup – Creates a backup copy of specific SRAM files • Steps – Press MENUS – Select FILE – Press F1 [TYPE] and select FILES (if necessary) FANUC Robotics HandlingTool Application Programming File Manipulation Setting a Device Within the FILE menu, this display is a similar screen: LINE 0 AUTO ABORTED FILE JOINT 100 % MC: *.* 1/23 1 * * (all files) 2 * KL (all KAREL source) 3 * CF (all command files) 4 * TX (all text files) 5 * LS (all KAREL listings) 6 * DT (all KAREL data files) 7 * PC (all __________________ 8 * TP (all | 1 Set Device | 9 * MN (all | 2 Format | 10 * VR (all | 3 Make DIR | Press DIR to generate ----------+ +[ TYPE ] [ DIR ] LOAD [BACKUP]|UTIL |> F1 F2 F3 F4 F5 Press F5 [UTIL] (a pop-up menu appears Select Set Device FANUC Robotics Program and File Manipulation MATAGHAND1007CE HandlingTool Application Programming Setting the Device (cont.) A pop-up menu will appear: 1 Floppy disk 2 Serial Printer 3 FROM Disk (FR:) 4 RAM Disk (RD:) FILE JOINT 100 % 5 MF Disk (MF:) 6 FTP (C1:) 7 Mem Card (MC:) 8 -- NEXT -- 1 * * (all files) 2 * KL (all KAREL source) 3 * CF (all command files) 4 * TX (all text files) 5 * LS (all KAREL listings) 6 * DT (all KAREL data files) Press DIR to generate directory [ TYPE ] [ DIR ] LOAD [BACKUP][UTIL ]> F1 F2 F3 F4 F5 Cursor to the device you want to select and press ENTER. The default device is now set. The default device name displays under the word ‘FILE’. FANUC Robotics 389 Program and File Manipulation 390 MATAGHAND1007CE HandlingTool Application Programming Formatting the Device When you select Format from the F5 UTIL function key, the following menu appears. Press F4 YES to confirm formatting. TEST FILE Format MC: *.* LINE 0 AUTO ABORTED JOINT 100 % 1/23 Formatting MC: ************* WARNING **************** ANY DATA ON THE DISK WILL BE LOST! Format disk? YES NO F4 F5 When you press F4 YES, name the disk (optional) or press ENTER. The format will begin. FANUC Robotics Program and File Manipulation 391 MATAGHAND1007CE Procedure 16-3 Formatting a Memory Card from the File Menu NOTE: This procedure can also be used to format floppy disks (FLPY:). Condition Step The default device is set to MC:. Refer to Procedure 16-2. The FLASH ATA or SRAM memory card is not write protected (if it has the write protect option). 1 Hold the card to be formatted with the label toward you and insert it into the interface. 2 Press MENU . 3 Select FILE. 4 Press F5 , [UTIL] and select 2 to format the card. 5 Select Format. You will see a screen similar to the following. 6 Format the card: 7 • If you do not want to format the memory card, press F5 , NO. • To format the memory card, press F4 , YES. You will see a screen similar to the following. Use the appropriate function keys and numeric keys to type a volume label, such as mcard1, and press ENTER . Formatting a memory card takes a few seconds. When the formatting is complete the teach pendant FILE menu will be displayed. Program and File Manipulation 392 MATAGHAND1007CE 16.1.4 Backing Up Files Procedure 16-4 File Backup Condition Memory Device needed Step 1 Press MENU , then select File 2 Press F1 [TYPE], then select Files 3 Press F4 [BACKUP], then select All of above 4 Press F4 [YES] and the file backup will begin 5 Press F2 [DIR] to view the backup files When you back up a file, you save it from controller memory to the default device so that you have a second copy of the file. You can back up program, system, application, diagnostic, and error log files to the default device using the FILE screen. NOTE: To back up all memory on the controller, use the Controller Backup and Restore function. Program Files When you back up program files, all teach pendant program files currently loaded onto controller memory (listed on the SELECT menu) and default motion instruction files (DF_xxxx.DF) will be saved to the default device. System Files System files are binary files that store default values for system variables, servo parameter data, and mastering data. They contain information specific to the controller, robot, and software. When you backup system files, all system variable, servo parameter, and mastering data currently on controller memory is saved to the default device. Table 16-1 lists and describes the various kinds of system files. NOTE: Some system files are application–specific; therefore, the files displayed in Table 16-1 might vary according to your setup. Program and File Manipulation 393 MATAGHAND1007CE Table 16-1 System Files NAME DIOCFGSV.IO FRAMEVAR.SV NUMREG.VR POSREG.VR SYSMACRO.SV SYSMAST.SV SYSPASS.SV SYSSERVO.SV SYSVARS.SV DESCRIPTION This file contains I/O configuration information. This file contains frame information. This file contains register information. This file contains position register information. This file contains macro command setup information that is created when macro commands are set up. This file must have all supporting macro files loaded before it can be restored. This file contains dynamic mastering data that is automatically created when the robot is mastered. This file contains password setup information. This file contains servo parameter data that the robot needs to function. The values in this file are loaded automatically when the controller is turned on. This file contains system variable default values for your system. The $STYLE_NAME system variable, which contains style names, is included in SYSVARS.SV. When you back up system files, your style names will be backed up also. Application Files Application files are all program variable files. When you select “Application,” all files listed in the $FILE_APPBCK system variable will be saved. Important .VR files are listed in this system variable. You should not modify this system variable. Application Teach Pendant Program Files Application teach pendant program files are teach pendant program files with file type .TP, .DF, or .MN. The names of the application TP files are stored in the system variable $FILE_AP2BCK. 394 Program and File Manipulation MATAGHAND1007CE Diagnostic Files Diagnostic files are ASCII files that provide you with a snapshot of the special diagnostic files on the memory device. Diagnostic files are the files with extension .DG. The names of the diagnostic files are stored in the system variable $FILE_DGBCK. The first element of this system variable is set to summary.dg. Remaining elements are, by default, uninitialized and you can set these elements to specific diagnostic file names to be backed up. Backdate.dt This file is created and saved on the default device when System files Backup, Application Backup, and All of above Backup is performed. This file contains information about the date and time of the file backup and information about the software version and software options loaded on the controller. Use Procedure 16-5 to back up system and program files. Program and File Manipulation 395 MATAGHAND1007CE Types of Files To manipulate a file you must know the type of file you are manipulating. Table 16-2 lists several types of files available. During your work on the controller, you might only work with a few types of files. You can determine the file type by looking at the file name as it is displayed on the FILE menu. The file name consists of a file name, followed by a period, followed by a twoletter file type: file.XX where file is the file name and XX is the file type. Table 16-2 Types of Files File Type Bit map file (.BMP) Command file (.CF) Condition handler file (.CH) Default file (.DF) Diagnostic file (.DG) Data file (.DT) I/O file (.IO) KAREL file (.KL) Listing file (.LS) Part model file (.ML) Mnemonic(.MN) Macro (.MR) P-Code file (.PC) PMC (.PMC) Process (.PR) System file (.SV) Description This file type contains bit map images used in robot vision systems. This file type contains text (ASCII) files that contain a sequence of KCL commands for a command procedure. This file type contains files that are used as part of the condition monitor feature. This file type contains binary files that contain the default motion instructions for teach pendant programming. This file type is an ASCII file that provides you with a snapshot of the special diagnostic files on the memory device. The names of the diagnostic files are stored in the system variable $FILE_DGBCK. This file type contains text (ASCII) or binary files that contain any data that is needed by the user. This file type contains binary files that store configuration data. This file type contains text (ASCII) files that contain the KAREL language statements for a KAREL program. This file type contains text (ASCII) files that contain the listing of a KAREL language program, and line numbers for each KAREL statement. Listing files are also generated when a teach pendant screen is printed. Listing files also include error log files and other special diagnostic files. This file type contains part model information used in robot vision systems. Files of this type are supported in previous versions of PaintTool. This file type contains programs with a macro sub type. This file type contains binary files that contain the translated version of a .KL KAREL program file. This is the file that is actually loaded into controller memory and executed. This file type contains Programmable Machine Controller (PMC) information. This file type contains programs with a process sub type. This file type contains binary files that store default values for system variable, servo parameter data, and mastering data. Program and File Manipulation 396 MATAGHAND1007CE File Type Teach pendant program file (.TP) Text file (.TX) Variable listing file (.VA) Variable file (.VR) Description This file type contains binary files that contain teach pendant instructions for teach pendant programs. This file type contains text (ASCII) files that contain systemdefined or user-defined text. This file type contains text (ASCII) files that contain the listing of KAREL variables or system variables. This file type contains binary files that contain variable data for a KAREL program. Program and File Manipulation 397 MATAGHAND1007CE Procedure 16-5 Backing Up System and Program Files WARNING If devices such as a printer, floppy disk drive, or vision system are connected to the controller, always turn on the robot first, then turn on these devices; otherwise, equipment could be damaged. Condition If you are backing up files to a memory card or floppy disk, the memory card or floppy disk is installed properly. Step 1 Set the default device to the device you want: 2 Press MENU . 3 Select FILE. 4 Press F5 , [UTIL]. 5 Select Set Device. 6 Move the cursor to the device you want and press ENTER . 7 Press F4 BACKUP 8 Select an item that you want to back up from Table 16-3 and press ENTER . Table 16-3 File Types Listings and Descriptions FILE TYPE System Files Teach Pendant Programs Application Files Application Teach Pendant Programs Error Log Files Diagnostic Files All of Above DESCRIPTION This item displays the first system file in the $FILE_SYSBCK system variable. This item displays the first teach pendant program loaded into controller memory. This item displays the first application file in the $FILE_APPBCK system variable. This item displays the first application teach pendant program in the $FILE_AP2BCK system variable. This item displays the first error log file in the $FILE_ERRBCK system variable. This item displays the first diagnostic file in the $FILE_DCBCK system variable. This item selects all of the various file types for back up. When you select this option, all files on the default device are deleted before the backup is performed. If the destination device is networked, however, the files are not deleted. When the backup is complete, a file called BACKDATE.DT is created that contains the date and time of the backup. Also, at the completion of the backup operation, the FILE menu is displayed, which allows you to generate a directory of the default device by pressing DIR. Program and File Manipulation 398 MATAGHAND1007CE 9 Choose the backup operation that you would like to perform from Table 16-4 and press the appropriate function key. Table 16-4 Back Up Operations IF YOU WANT TO Back up the current file Skip to the next file ON THE TEACH PENDANT PRESS F4, YES F5, NO Back up all files F3, ALL Exit Procedure F2, EXIT RESULT This item backs up the current file then displays the next file in the queue. This item skips the current file and displays the next file in the queue. This item backs up all files in the queue. If the file already exists, you will be prompted to either overwrite or skip the file, or cancel backing up that file. This item cancels the backup operation. Program and File Manipulation 399 MATAGHAND1007CE 16.1.5 Generating a Directory of Files Directory Subsets A directory is a list of files on a specific storage device. You can display a directory of files on the following devices: • Memory card: ATA Flash File storage or SRAM memory cards • Ethernet • Flash File storage disk • Floppy disk • Memory device Some devices contain hundreds of files. You can display a directory of all files, or a subset of the files. When you generate a directory of files, you can choose from among the following file subsets: • *.* - all files • *.BMP - bit map image files • *.CF - command files • *.CH - condition handler files • *.DF - default files • *.DT - data files • *.IO - I/O files • *.KL - KAREL program files • *.LS - listing files • *.ML - part model files • *.MN - teach pendant program files • *.PC - p-code files • *.PMC - PMC files • *.SV - system files • *.TP - teach pendant program files • *.TX - text files • *.VA - variable listing files • *.VR - variable files • ASCII Files - Text files, including files of type .KL, .CF, .TX, .LS, .DT, .ML, and .VA • Loadable Files - Files that can be loaded into controller memory, including files of type .PC, .TP, .MN, .VR, .SV, .IO, and .DF. Use Procedure 16-6 to generate a directory of files. Program and File Manipulation 400 MATAGHAND1007CE Procedure 16-6 Generating a Directory of Files CAUTION If devices such as a printer, floppy disk drive, or vision system are connected to the controller, always turn on the robot first, then turn on these devices; otherwise, equipment could be damaged. Step 1 Set the default device to the device you want: 2 Press MENU . 3 Select FILE. 4 Press F1 , [TYPE]. 5 Select File. 6 Press F5 , [UTIL]. 7 Select Set Device. 8 Move the cursor to the device you want and press ENTER 9 Press MENU . 10 Select FILE. 11 Press F1 , [TYPE]. 12 Select File. 13 Press F2 , [DIR]. You will see a screen similar to the following. Program and File Manipulation 401 MATAGHAND1007CE 14 Select the subset of files you want to display and press ENTER . If you select *.TP to display all teach pendant files, you will see a screen similar to the following. To select another subset of files, press F2 , [DIR], and repeat Step 4. Program and File Manipulation 402 MATAGHAND1007CE If you no longer want to have a program loaded on controller memory (displayed on the SELECT menu) you can delete it. If you want to keep a copy of the program, save it to a storage device before you delete it from the SELECT menu. 16.2 Deleting a Program NOTE: Deleting a program from controller memory does not delete it from the storage device, if a copy exists on one of those devices. Procedure 16-7 Deleting a Program from the SELECT Menu Condition The program you want to delete is listed on the SELECT menu. Step 1 Press SELECT . You will see a screen similar to the following. Select No. 1 2 3 4 5 6 Program name SUB1 MAIN25 PRG7 JOB0001 PROC0010 TEST 50983 BYTES FREE Comment TP [ TP [ TP [ TP TP TP ] ] ] 2 Move the cursor to the name of the program you want to delete. 3 Press NEXT , >, and then press F3 , DELETE. See the following screen for an example. Select No. Program name 1 SUB1 2 MAIN25 3 PROG_1 4 PROG_1 5 VARS 6 Delete OK ? 50983 BYTES FREE Comment [ [ PC [ VR [ VR [ ] ] ] ] ] Program and File Manipulation 403 MATAGHAND1007CE 4 Delete the program: • If you do not want to delete the selected program, press F5 , NO. • If you want to delete the selected program, press F4 , YES. The program will be deleted from controller memory. The SELECT menu will be displayed and the deleted program will no longer be listed. NOTE: You cannot delete a program that is paused, assigned to a macro, or write-protected. If the program is paused, you must abort it (press FCTN and select ABORT ALL). If the program is assigned to a macro, it must be "unassigned" first on the SETUP Macro screen. Restoring Files HandlingTool Application Programming File Manipulation • Restoring Files – Files are restored after reloading software due to a software crash – Files may be individually loaded using the load procedures previously described – Restoring files will automatically reload all *.sv, *.tp, *.io, *.df. and *.vr files – KAREL *.pc and *.kl files must be loaded FANUC Robotics You restore files from a disk when you have previously backed up the files using BACKUP on the FILE screen (Section 16.1.4). You can restore the following groups of files if you have previously backed them up using BACKUP: • System files • Teach pendant programs • Application files Use Procedure 16-5 to restore BACKUP files using the FILE menu. This procedure will restore all files on the default device that were backed up using the BACKUP command. Refer to Section 16.1.4 for more information on backing up files. Program and File Manipulation 404 MATAGHAND1007CE CAUTION When you load or restore the file FRAMEVAR.SV, SYSVARS.SV, or SYSMAST.SV, make sure the motion configuration (items such as the number of motion groups and extended axes) of your system is the same as the motion configuration of the system on which the FRAMEVAR.SV, SYSVARS.SV, or SYSMAST.SV files were created. Otherwise, your system might not function properly. WARNING Do not restore SYSVARS.SV, SYSMAST.SV, or SYSSERVO.SV files from an R-J3 controller to an R-J3iB controller. In most cases, this information is not compatible between R-J3 and R-J3iB. If you restore R-J3 system files on R-J3iB, the controller might not function properly and you could injure personnel or damage equipment. Procedure 16-8 Loading Files Using the FILE Menu CAUTION If devices such as a printer, floppy disk drive, or vision system are connected to the controller, always turn on the robot first, then turn on these devices; otherwise, equipment could be damaged. Condition If you are loading files from memory card or floppy disk, the memory card or floppy disk is installed properly. Step 1 Set the default device to the device you want: 2 Press MENU . 3 Select FILE. 4 Press F1 , [TYPE]. 5 Select File. 6 Press F5 , [UTIL]. 7 Select Set Device. 8 Move the cursor to the device you want and press ENTER . 9 Press MENU . 10 Select FILE. 11 Generate a directory of the default device that contains the Program and File Manipulation 405 MATAGHAND1007CE file you want to load. Refer to Procedure 16-6. 12 Move the cursor to the name of the file you want to load and press F3 , LOAD. You will see a screen similar to the following. CAUTION When you load or restore the file FRAMEVAR.SV, SYSVARS.SV, or SYSMAST.SV, make sure the motion configuration (items such as the number of motion groups and extended axes) of your system is the same as the motion configuration of the system on which the FRAMEVAR.SV, SYSVARS.SV, or SYSMAST.SV files were created. Otherwise, your system might not function properly. WARNING Do not restore SYSVARS.SV, SYSMAST.SV, or SYSSERVO.SV files from an R-J3 controller to an R-J3iB controller. In most cases, this information is not compatible between R-J3 and R-J3iB. If you restore R-J3 system files on R-J3iB, the controller might not function properly and you could injure personnel or damage equipment. 406 Program and File Manipulation MATAGHAND1007CE 13 Load the file(s): • To load the file(s) you selected, press F4 , YES. • If you do not want to load the file(s) you selected, press F5 , NO. 14 If the program already exists: • To overwrite, press F3 , OVERWRITE. • To skip the file, press F4 , SKIP. • To cancel, press F5 , CANCEL. Program and File Manipulation 407 MATAGHAND1007CE Loading programs allows you to load programs from the default device onto controller memory. A program must be loaded into controller memory and listed on the SELECT menu before it can be modified or executed. Use Procedure 16-9 to load programs. 16.3 Loading Programs Procedure 16-9 Loading a Program CAUTION If devices such as a printer, floppy disk drive, or vision system are connected to the controller, always turn on the robot first, then turn on these devices; otherwise, equipment could be damaged. Condition If you are loading programs from a memory card or floppy disk drive, the memory card or floppy disk is installed properly. Step 1 Set the default device: 2 Press MENU . 3 Select FILE. 4 Press F1 , [TYPE]. 5 Select File. 6 Press F5 , [UTIL]. 7 Select Set Device. 8 Move the cursor to the device you want and press ENTER . 9 Press SELECT . You will see a screen similar to the following. 408 Program and File Manipulation MATAGHAND1007CE 10 Press NEXT , and then press F3 , LOAD. You will see a screen similar to the following. 11 Type the program name to load and press ENTER . NOTE: Do not include the file extension. 12 Load the selected program: • If you do not want to load the selected program, press F2 , NO. • If you want to load the selected program, press F1 , YES. NOTE: If you see the message “Protection error occurred,” the same program already exists on the controller and it is write protected. To load that program, change its name and then load it. NOTE: If you see the error message SCIO-016, you are trying to load a program that uses the remote TCP motion option but do not have the remote TCP motion option loaded on your controller. If this happens, load the remote TCP option at controlled start and then reload the program. Refer to the FANUC Robotics Software Installation Manual for information on how to load this option. The program you specified will be loaded from the default device onto controller memory. The SELECT menu will be displayed and the loaded program will appear on the menu. NOTE: If the program you are loading is a line or rail tracking program and was made on an off-line PC, you must manually process all the line tracking information before you can run the program in production. Refer to section 7.3 Testing a Program for more information. Program and File Manipulation 409 MATAGHAND1007CE 16.3.1 Loading an ASCII Teach Pendant Program When robots are equipped with the ASCII upload option, you can load teach pendant programs that are saved as ASCII files (.LS) directly onto the robot. ASCII teach pendant programs can be stored offline and manipulated without the specialized software required for handling binary programs. You can use general purpose text editors such as those used for email to do the following. • Archive programs offline for code reuse in the same or different robots. • Examine human–readable hardcopy programs away from a robot. • Edit programs away from a robot with standard tools such as Microsoft(tm) notepad. • Generate programs using standard text–based scripting tools such as perl. • Use less expensive robot simulators than those limited to binary support. Robots equipped with the ASCII Upload option can read text– based, human–readable programs that were printed by the same or a compatibly configured robot. Program and File Manipulation 410 MATAGHAND1007CE 16.4 Controller Backup as Images This feature allows you to back up a controller with minimal system interaction. It will make a memory image of the F-ROM and S-RAM memory controller modules. Procedure 16-10 Backing up a Controller as Images All personnel and unnecessary equipment are out of the workcell Condition WARNING DO NOT turn on the robot if you discover any problems or potential hazards. Report them immediately. Turning on a robot that does not pass inspection could result in serious injury. The R-30iA controller is plugged in and is working properly. The teach pendant ON/OFF switch is OFF and the DEADMAN switch is released. The REMOTE/LOCAL setup item in the System Configuration Menu is set to LOCAL. You have a memory card that has enough free space. NOTE: You should use a memory card with enough free space to hold the full controller image files. For example, a 16MB FROM and 2MB S-RAM configuration will require a card with more than 18MB of free space and has been formatted using the R30iA controller. Step 1 If the controller is turned on, turn the power disconnect circuit breaker to OFF. 2 Press and hold the F1 and F5 keys on the teach pendant. 3 Turn the power disconnect circuit breaker to ON. You will see a screen similar to the following. ***BOOT MONITOR for R-30iA CONTROLLER*** Base System Version V7.xxxx (FRNA) Initializing file devices ... done. 1. Configuration Menu 2. All software installation (MC:) 3. INIT start 4. Controller backup/restore 5. Hardware diagnosis 6. Maintenance 7. All software installation (ETHERNET) Select : _ Program and File Manipulation 411 MATAGHAND1007CE 4 Release all of the keys. 5 Select Controller backup/restore and press ENTER . You will see a screen similar to the following. ***BOOT MONITOR for R-30iA CONTROLLER*** **** BACKUP/RESTORE MENU **** 0. Return To Main Menu 1. Emergency Backup 2. Backup Controller As Images 3. Restore Controller Images 4. Bootstrap To Cfg Menu Select: 6 Select Backup controller as Images and press ENTER . You will see a screen similar to the following. ***BOOT MONITOR for R-30iA CONTROLLER*** ** Device Selection ** 1. Memory card (MC:) 2. Ethernet (TFTP:) 7 Select Memory card (MC:) and press ENTER . You will see a screen similar to the following. ***BOOT MONITOR for R-30iA CONTROLLER*** **** BACKUP Controller as Images **** Module size to backup: FROM: 16 Mb SRAM: 2 Mb Please Insert MC: which has at least 1Mb free space. Are you ready?[Y=1/N=else]: 8 Place a memory card enough free space to hold the full controller image files. For example, a 16MB F-ROM and 2MB S-RAM configuration will require a card with 18MB of free space. 9 Type 1 and press ENTER . The memory files will be written to the memory card. You should see messages similar to the following. Writing MC:\FROM00.IMG (1/18) Writing MC:\FROM01.IMG (2/18) Writing MC:\FROM02.IMG (3/18) . . . Writing MC:\SRAM0x.IMG (18/18) NOTE: If BMON crashes or hangs during “Writing MC:\SRAM0x.img...,” this could be an indication of problems with the SRAM memory. If this occurs, contact a FANUC Robotics Service Representative. 412 Program and File Manipulation MATAGHAND1007CE NOTE: If the memory card does not have enough free space for the next image file, you will need to insert a new memory card. If this occurs, you will see the following message: **Not enough free space on MC: CHANGE card and Press ENTER> 10 When all the image files have been written to the memory card, you will see a message similar to the following. DONE!! Press ENTER to return> 11 Press ENTER to display the main BMON menu. CAUTION Be sure to label this memory card properly so that you can restore it to the correct configuration. Otherwise, if you restore an incorrect configuration you will lose valuable data and possibly corrupt the controller. Program and File Manipulation 413 MATAGHAND1007CE 16.4.1 Restoring Controller Images This feature allows you to restore the F-ROM and S-RAM controller memory from an image backup. It can only be restored to a controller with the same memory configuration, or larger. Procedure 16-11 Restoring Controller Images All personnel and unnecessary equipment are out of the workcell Condition WARNING DO NOT turn on the robot if you discover any problems or potential hazards. Report them immediately. Turning on a robot that does not pass inspection could result in serious injury. The R-30iA controller is plugged in and is working properly. The teach pendant ON/OFF switch is OFF and the DEADMAN switch is released. The REMOTE/LOCAL setup item in the System Configuration Menu is set to LOCAL. You have a memory card that has the controller images backed up in Procedure 16-11 Restoring Controller Images CAUTION A restore from a controller backup will be unsuccessful if the memory configuration of the restored CPU is different from the backup CPU. Step 1 If the controller is turned on, turn off the power disconnect circuit breaker. 2 Press and hold the F1 and F5 keys on the teach pendant. 3 Turn the power disconnect circuit breaker to ON. You will see a screen similar to the following ***BOOT MONITOR for R-30iA CONTROLLER*** Base System Version V7.xxxx (FRNA) Initializing file devices ... done. 1. Configuration Menu 2. All software installation (MC:) 3. INIT start 4. Controller backup/restore 5. Hardware diagnosis 6. Maintenance 7. All software installation (ETHERNET) Select : _ Program and File Manipulation 414 MATAGHAND1007CE 4 Release all of the keys. 5 Select Controller backup/restore and press ENTER . You will see a screen similar to the following. ***BOOT MONITOR for R-30iA CONTROLLER*** **** BACKUP/RESTORE MENU **** 0. Return To Main Menu 1. Emergency Backup 2. Backup Controller As Images 3. Restore Controller Images 4. Bootstrap To Cfg Menu Select: 6 Select Restore Controller Images and press ENTER . You will see a screen similar to the following. ***BOOT MONITOR for R-30iA CONTROLLER*** ** Device Selection ** 1. Memory card (MC:) 2. Ethernet (TFTP:) 7 Select Memory card (MC:) and press ENTER . You will see a screen similar to the following. ***BOOT MONITOR for R-30iA CONTROLLER*** **** RESTORE Controller Images **** Module size to backup: FROM: 16 Mb SRAM: 2 Mb CAUTION: You SHOULD have image files From the same size of FROM/SRAM. If you don’t, this operation will cause Fatal damage to the controller. Are you ready?[Y=1/N=else]: 8 Place a memory card with the controller images backed up in Procedure 16-10 Backing up a Controller as Images 9 Type 1 and press ENTER . The files will be read from the memory card and restored into the controller. You should see the following messages: Clearing FROM (total 16 Mb) 1M & 2M area ... done 2M & 4M area ... done . . . Reading MC:\SRAM01.IMG ... Done -- Restore complete -Press ENTER to return> Program and File Manipulation MATAGHAND1007CE 10 Press ENTER to display the main BMON menu. 11 Turn the controller off and then on again to accept the new image information. 415 Program and File Manipulation 416 MATAGHAND1007CE HandlingTool Application Programming Enabling Objectives Lab 21 • Perform a backup of all Teach Pendant Programs • Copy all Teach Pendant Programs *.tp, files to a backup device • Load all Teach Pendant Programs *.tp files back into the controller from the backup device FANUC Robotics Program and File Manipulation 417 MATAGHAND1007CE Lab 21 Program and File Manipulation Student Name:____________________________________________________ Assignment: Condition: Step: The student will: • Locate the 3 v Lithium battery • Perform a backup of all Teach Pendant Programs • Copy all Teach Pendant Programs *.tp, files to a backup device • Load all Teach Pendant Programs *.tp files back into the controller from the backup device A FANUC robot and controller loaded with HandlingTool application software. 1 The instructor will point out the location of the 3 v Lithium battery 2 Power up the robot using Procedure 5-1 Turning on the Robot. 3 Install the memory card in the controller using Procedure 16-1 Using the Memory Card Interface. 4 Set the backup device using Procedure 16-2 Setting the Default Device. Set the default device to Memory Card. 5 Format the memory card. 6 Back up all files to the memory card using Procedure 16-5 Backing Up System and Program Files. 7 Delete the Programs that were created during class. 8 Load the Teach Pendant Programs *.tp, files from the memory card to the controller. Refer to Procedure 16-9 Loading a Program Completed: Instructor: ________________________________ Program and File Manipulation 418 MATAGHAND1007CE Lab 22 Image Backup and Restore Student Name: _______________________________________________________________ Assignment: Condition: Step: The student will: • Backup and restore software using an appropriate storage device A non-production FANUC robot and an R-30iA controller 1 Insert PCMCIA card 2 Set the device and format the device 3 Perform an Image Backup – Refer to Procedure 16-10 Backing up a Controller as Images 4 Perform an Image Restore – Refer to Procedure 16-11 Restoring Controller Images Completed: Instructor: ________________________________ 17 Post-Test 419 HandlingTool Application Programming 17 POST-TEST Name ___________________________________ Date _____________________________ This test is designed to evaluate your knowledge of FANUC HandlingTool Application Programming upon completion of this course. Each question has four possible answers and a place to indicate, ”I don’t know.” Choose the one that best answers the question. There is only one right answer. Score /25 1. Turning the Teach Pendant ON: A Activates the default program (MAIN) B Enables communications with external devices C Gives motion control solely to the operator via the Teach Pendant D Energizes robotic arm E I Don’t Know 2. Which must have been accomplished to avoid hard-stops and overtravels? A Set UTOOL offsets. B Set Software limits. C Set UFRAME offsets. D Move each robot joint at least +/- 20 degrees and reset. E I don’t know 3. SHIFT and the hardkey COORD will display the following menu: A The “POSITION” menu. B The “utilities” menu. C The “jog” menu. D The “manual functions” menu. E I Don’t Know Post-Test 420 MATAGHAND1007CE 4. SHIFT and POINT are needed to do what? A Change robot speed B Request the positional screen to appear C Record the current position of the robot D Execute a MACRO program and return the robot to HOME E I Don’t Know 5. In the motion command “J P[2] 100% FINE”, If you wanted to change the “FINE” component to a “CNT100” what buttons would you press? A FCTN followed by ABORT ALL B SHIFT and FWD C SELECT followed by NEXT D Select component, then press [CHOICE] E I Don’t Know 6. To switch manually from one program to another, you have to be in which screen? A Select B Edit C Status D Position E I Don’t Know 7. How many Robot I/O points are standard on the RJ3iB controller? A 4 B 6 C 16 D 32 E I Don’t Know Post-Test MATAGHAND1007CE 8. Which softkey is pressed to display the current motion instruction defaults from the EDIT screen? A POINT B NEXT C POSN D [INST] E I Don’t Know 9. Creating a program, which hard key should be pressed? A FCTN B FWD C Select D Hold E I Don’t Know 10. When using the Prog Adjust utility, which is correct? A All adjustments are relative to the TOOL frame B Pressing CLR_ADJ or CLR_ALL will save the current enabled/disabled data values C The maximum single linear adjustment allowed is 100 mm D Program Adjust is performed from the Status Setup Screen E I Don’t Know 11. Which of these tasks can be performed from the FILE menu? A Execute a program from a storage device. B Get a directory of the default device C List the program names for execution, teaching data, or editing D Print a program found on a disk E I Don’t Know 421 Post-Test 422 MATAGHAND1007CE 12. If while jogging the robot, you get an “In singularity” error, what must you do? A Jog the robot in Tool B Change to the correct user frame C Joint jog J5 +/- at least 10 degrees D Press the position key and reset the axis limits E I Don’t Know 13. The “Program Header Information” at the DETAIL softkey enables you to modify the following program information, except: A Program name B Group mask C Active tool frame D Program sub type E I Don’t Know 14. What is the suggested type of motion used to move the robot to a Home position? A Linear B Simultaneous C Joint D Circular E I Don’t Know 15. Which softkey allows you to enter additional program instructions into a Teach Pendant program? A [ED_DEF] B EDIT C DETAIL D [INST] E I Don’t Know Post-Test 423 MATAGHAND1007CE 16. Which of the following is a type of I/O signal? A UIP I/O B SIP I/O C Digital I/O D Configuration I/O E I Don’t Know 17. Which of the following hardkeys would bring the menu item ABORT ALL to the TP Screen? A FCTN B HOLD C RESET D E-STOP E I Don’t Know 18. If you would like to look at the positional data of P[3] in the instruction “J P[3] 100% FINE”, what buttons would you press? A Press the DATA hardkey, then F1 [TYPE], and choose 2 for PR[ ] B Press POSN hardkey to see the data directly C Cursor to the 3 of P[3] and press F5 POSITION D Press STATUS, NEXT, and F2 DETAIL E I Don’t Know 19. What are the two menus from which you can save Teach Pendant files? A SELECT & FILE B SELECT & DATA C SYSTEM & FILE D ED_CMD & CONFIG E I Don’t Know Post-Test 424 MATAGHAND1007CE 20. Which is not a valid way to execute an assigned MACRO? A Pressing a Teach Pendant user key B Pressing the “USER 1” button on the SOP C Executing an item from the Manual Functions screen D Holding PREV and NEXT E I Don’t Know 21. Which instruction will increment Register 7 (R[7]) by 1? A R[7] = 1 B R[7] + 1 C R[7] ++ D R[7] = R[7] + 1 E I Don’t Know 22. What instruction will send program flow out to a sub-program? A JMP/LBL B REMARK C CALL D SELECT E I Don’t Know 23. What are the two (2) possible actions of an IF/SELECT statement? A SELECT & Set an OUTPUT B JMP/LBL & SELECT C Set an OUTPUT & CALL D CALL & JMP/LBL E I Don’t Know 24. To switch between JOINT, WORLD, TOOL, JGFRM, & USER for jogging purposes, you need to press which of the following keys? A Hold the SHIFT & FWD keys B Press POSN key C SHIFT & COORD keys D COORD key E I don’t know Post-Test 425 MATAGHAND1007CE 25. Where is Position Register (PR[ ]) data valid? A Within the current program only B Globally throughout the controller C Nowhere, Position registers are an instruction and therefore do not have data D Within a maximum of 2 programs E I Don’t Know . 426 Post-Test MATAGHAND1007CE A A Password Setup Passwords 427 HandlingTool Application Programming A password is a combination of up to 12 letters, numbers, and symbols, used to allow authorized personnel access to various operations and screens. The password feature can be an option and might not be used at your site. Password protection is inactive unless the password feature is installed and the Install user is defined. The password feature is included in the KAREL product but password protection is inactive unless the Install user is defined. Four password levels provide access to specific operations and menus. Table A-1. summarizes the four levels of password authorization. Table A-1 Password Levels Level Install Operations Assigns user names , passwords , and levels Clears usernames and passwords Disables and enables the Password Log Sets the number of Password users in the system Can perform all Setup, Program, and Operator operations. NOTE: There can be only one install user. Setup Program Operator Performs operations typically used to set up your system. Performs more advanced operations. Performs basic operations. NOTE: By default, the system is set to Operator level access when the controller is turned on. CAUTION If you do not know the Install password, you will be unable to perform several functions. Contact your FANUC Robotics technical representative if you lose or forget your Install password. Password Operations If you want to use passwords, you must first identify the Install User for your site. The Install user must assign the Install username and password and then log in . After logging in, the Install user assigns usernames, levels, and passwords for each user. NOTE: No passwords can be used until the Install username and password are assigned. Passwords 428 MATAGHAND1007CE After the Install User assigns your username, password level, and password, you must log in to work at your assigned level. When you log in, you select your username and type your password. Only one user can be logged in for a given device. Valid devices include the following: teach pendant, CRT/keyboard, and KCL. When you are finished working, you should log out . If you do not log out, the system will timeout in the number of minutes specified as the Default User Timeout. After the Default User Timeout expires, or you log out, the system reverts to the Operator level and other users can log in. If you forget to log out, other users can log you out. If Log events is set to ENABLE by the Install User on the SETUP Passwords screen, password information is logged on the ALARM screen. The Password Log contains information about changes to important data, which user made the changes, and when the changes were made. If you are the Install User, refer to Section A.1. for information on assigning usernames, password levels and passwords. NOTE: If you have HandlingTool, when you log out of the password screens, the menuing system will default to the QUICK menus. You can use an option on the Controlled start TOOL SETUP screen to change this default setting. If you set the line "Password: Oper. full menus" to YES then, when you log out of the password screen, the menu system will display the FULL menus A.1 Install User Password Operations The Install User must: • Assign the Install username and password • Assign usernames, levels, and passwords for all other users • Enable, disable, and display the Password Log Passwords 429 MATAGHAND1007CE Procedure A-1 Assigning Usernames and Default Passwords for each Password Level Step 1 Press MENU . 2 Select SET UP . 3 Press F1 , [TYPE]. 4 Select Passwords. You will see a screen similar to the following. SETUP Passwords Current user: Current level: Default user timeout: None OPERATOR 0 min Timeout occurs in: Log events: Number of users: 0 min DISABLE 10 Press F2 , USERS. You will see a screen similar to the following. 5 SETUP Passwords 1 USERNAME PWD * LEVEL TIME(min) INSTALL 0 NOTE: The Install username and password must be set up first. 6 Assign the Install username and password: 7 Press ENTER . 8 Use the arrow and function keys to type the Install username. When you are finished, press ENTER . You will see a screen similar to the following. Uppercase Lower Case Punctuation 4 Options SETUP Passwords --Set password for BOB Old password: New password: Verification: ‘ ‘ ‘ --Insert— ‘ ‘ ‘ Old Value: NOTE: The password must contain at least three characters. Passwords 430 MATAGHAND1007CE CAUTION Make a written note of the Install password. If you do not know the Install password, you will be unable to perform several functions. Contact your FANUC Robotics technical representative if you lose or forget your Install password. 9 Type the new password and press ENTER . 10 Type the new password again to verify that the first one is correct and press ENTER . You will see a screen similar to the following. Would you like to be logged in?[YES] YES NO 11 If you want to log in press F4 , YES. If you do not want to log in press F5 , NO. NOTE: You must log in as the Install User to enter other users. If you press F4 , YES, you will see a screen similar to the following. SETUP Passwords USERNAME PWD LEVEL 1 @BOB * INSTALL 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * Password has been set TIME(min) 15 0 0 0 0 0 0 0 0 NOTE: If you are logged in, the @ will be displayed to indicate the current user name. Passwords 431 MATAGHAND1007CE 12 To assign the next username, password, and level, 13 Move the cursor to the next available username, press ENTER , and use the function keys to type the username. 14 Move the cursor to PWD, press ENTER , and use the function keys to type the password. 15 Move the cursor to LEVEL, press F4 , [CHOICE], and select a level. 16 Move the cursor TIME and type a Default User Timeout value. You can adjust the Default User Timeout value from 0 to 10080 minutes (seven days). NOTE: If the Default User Timeout value is 0 when you log in, a timeout will not occur. 17 Repeat Step 12.Step a. through Step 12.Step d. for each user you want to have access to the system. 18 To clear the current username and password, press NEXT , and then press F2 , CLEAR. 19 To clear all usernames and passwords for all users except the Install user, press NEXT , and then press F3 , CLR_ALL. 20 To modify the number of usernames in the system, CAUTION If you modify the number of usernames to be fewer than the number of users currently assigned, some users will be deleted from the system. 21 Press PREV to display the first SETUP Passwords screen. 22 Move the cursor to Number of users and press ENTER . You can set the number of users to a minimum of 10 and a maximum of 100. If you are increasing the number of users, you will see the following prompt. Enter number of users for passwords: 23 Type the new number of users and press ENTER . You will see a screen similar to the following. 432 Passwords MATAGHAND1007CE Changing number of users. If you want to decrease the number of users, you will see the following prompt. Reconfiguring. DELETE users?[NO] YES NO To delete the users press F4 , YES. To cancel the operation press F5 , NO. 24 Turn off the controller then turn it on again to accept the new list of users. 25 To log out press F3 , LOGOUT. NOTE: After the Default User Timeout expires, or you log out, the system reverts to the Operator level for that device. If the controller is turned off, all devices revert back to the Operator level. Passwords 433 MATAGHAND1007CE A.1.1 Program and Set Up User Password Operations Program and Setup users can: • Log in (Procedure A-2 • Log out (Procedure A-3) • Change their password (Procedure A-4) • Display the Password Log (Procedure A-6) Procedure A-2 Logging In Condition Passwords have already been set up. No user is currently logged in. Only one user can be logged in at a time. NOTE: If you do not know your username and password, contact the Install User. Step 1 Display the Setup Password Screen • if you are using FULL menus: 2 Press MENU . 3 Select SETUP. 4 Press F1 , [TYPE]. 5 Select Passwords. • If you are using QUICK menus, 6 Press MENU . 7 Select SETUP PASSWORDS. 8 Press F2 , USERS. 9 Move the cursor to your username. 10 To log in, press F2 , LOGIN. You will see a screen similar to the following. 1 Uppercase 2 Lower Case 3 Punctuation 4 Options SETUP Passwords --Password for MARY Enter password: Old Value: --Insert-- ' ' Passwords 434 MATAGHAND1007CE 11 Type your password and press ENTER . 12 If you want to change the timeout value, move the cursor to the TIMEOUT value for the current user and type a new timeout value. You can adjust the Default User Timeout value from 0 to 10080 minutes (seven days). NOTE: If the Default User Timeout value is 0 when you log in to the teach pendant or CRT device. The timeout will not occur. NOTE: Only one user can be logged in at a time for a given device. If another user is currently logged in, you must choose whether or not to log them out before you can log in. You will see the following prompt only on the teach pendant or the CRT window. User JACK logged in. Force logout?[NO] YES NO 13 To log out the current user press F4 , YES. Otherwise press F5 , NO. If you select F4 , YES, you will see a screen similar to the following. SETUP Passwords 1 2 3 4 5 6 7 8 9 USERNAME JACK @MARY PWD * * * * * * * * LEVEL INSTALL SETUP TIME(min) 0 15 0 0 0 0 0 0 0 NOTE: If you are logged in, the @ will be displayed to indicate the current user name. Passwords MATAGHAND1007CE Procedure A-3 Logging Out Condition Step Passwords have already been set up You are currently logged in 1 Display the Setup Password Screen: • If you are using FULL menus, 2 Press MENU . 3 Select SETUP. 4 Press F1 , [TYPE]. 5 Select Passwords. • If you are using QUICK menus, 6 Press MENU . 7 Select SETUP PASSWORDS. 8 To log out, press F3 , LOGOUT. After you log out the system reverts to the Operator level. NOTE: When you log out, time out, or are an Operator user, the QUICK menus will be displayed. Procedure A-4 Changing Your Password Condition Step Passwords have already been set up. You are currently logged in. 1 Display the Setup Password Screen: • If you are using FULL menus, 2 Press MENU . 3 Select SETUP. 4 Press F1 , [TYPE]. 5 Select Passwords. • If you are using QUICK menus, 6 Press MENU . 7 Select SETUP PASSWORDS. 435 Passwords 436 MATAGHAND1007CE SETUP Passwords 1 Current user: Current level: Default user timeout: AAAA INSTALL 15 min 2 3 4 Timeout occurs in: Log events: Number of users: 4 min DISABLE 10 8 Press F4 , PASSWRD. You will see a screen similar to the following. 1 Uppercase 2 Lower Case 3 Punctuation 4 Options SETUP Passwords --Set password for AAAA Old password: New password: Verification: ' ' ' --Insert-- ' ' ' Old Value: 9 Type the old password and press ENTER . 10 Type the new password and press ENTER . 11 Type the new password again to verify the first one is correct, and press ENTER . 12 Press F3 , Logout. Passwords 437 MATAGHAND1007CE A.2 Password Log If the Log Events item is set to ENABLE by the Install user on the SETUP Passwords screen, the following events will be displayed in the Password Log: • Password events • Programming events • File manipulation events Each time an event occurs, such as when a user logs in or when a program is created, the event is logged in the Password Log. Only the Install user can enable the Logs Events item. Use Procedure 3.38. to enable the Password Log. Any user can display the Password Log. Use Procedure 3.39. to display the Password Log. Refer to Table A-2. for a listing of the password error messages (PWD). Table A-2 Password Error Messages Message Password Events PWD-001 Login (%s) Install PWD-002 Logout (%s) Install PWD-003 Login (%s) Setup PWD-004 Logout (%s) Setup PWD-005 Login (%s) Program PWD-006 Logout (%s) Program PWD-007 Password Timeout (%s) PWD-031 QUICK MENU forced PWD-032 Login (%s) Install from KCL PWD-033 Login (%s) Install from Teach Pendant PWD-034 Login (%s) Install from CRT/Keyboard PWD-035 Logout (%s) Install from KCL PWD-036 Logout (%s) Install from Teach Pendant PWD-037 Logout (%s) Install from CRT/Keyboard PWD-038 Login (%s) Setup from KCL PWD-039 Login (%s) Setup from Teach Pendant PWD-040 Login (%s) Setup from CRT/Keyboard PWD-041 Logout (%s) Setup from KCL PWD-042 Logout (%s) Setup from Teach Pendant PWD-043 Logout (%s) Setup from CRT/Keyboard Description The specified user logged in at the Install level. The specified user logged out from the Install level. The specified user logged in at the Setup level. The specified user logged out from the Setup level. The specified user logged in at the Program level. The specified user logged out from the Program level. The specified user's timeout expired. QUICK menus have been displayed. The specified user logged in at the Install level from KCL. The specified user logged in at the Install level from the teach pendant. The specified user logged in at the Install level from CRT/Keyboard. The specified user logged out at the Install level from KCL. The specified user logged out at the Install level from the teach pendant. The specified user logged out at the Install level from CRT/Keyboard. The specified user logged in at the Setup level from KCL. The specified user logged in at the Setup level from the teach pendant. The specified user logged in at the Setup level from the CRT/Keyboard. The specified user logged out at the Setup level from KCL. The specified user logged out at the Setup level from the teach pendant. The specified user logged out at the Setup level from the CRT/Keyboard. 438 Passwords MATAGHAND1007CE Message Description PWD-044 Login (%s) Program from Teach The specified user logged in at the Program level from the teach Pendant pendant. PWD-045 Login (%s) Program from The specified user logged in at the Program level from the CRT/Keyboard CRT/Keyboard. PWD-046 Logout (%s) Program from Teach The specified user logged out at the Program level from the teach Pendant pendant. PWD-047 Logout (%s) Program from The specified user logged out at the Program level from the CRT/Keyboard CRT/Keyboard. PWD-048 Password Timeout (%s) from The specified user's password timeout expired from KCL. KCL PWD-049 Password Timeout (%s) from The specified user's password timeout expired from the teach pendant. Teach Pendant PWD-050 Password Timeout (%s) from The specified user's password timeout expired from CRT/Keyboard. CRT/Keyboard Programming Events PWD-008 Create Program %s.TP The specified program has been created. PWD-009 Delete program %s.TP The specified program has been deleted. PWD-010 Rename %s.TP %s.TP The specified program has been renamed to the name specified. PWD-011 Set %s.TP subtype from %s to The subtype of the specified program has been changed. %s PWD-012 Set %s.TP comment The comment of the specified program has been changed. PWD-013 Set %s.TP group mask The group mask of the specified program has been changed. PWD-014 Set %s.TP write protect on Write protection for the specified program has been set to on. PWD-015 Set %s.TP write protect off Write protection to the specified program has been set to off. PWD-016 Set %s.TP ignore pause on Ignore pause for the specified program has been set to on. PWD-017 Set %s.TP ignore pause off Ignore pause for the specified program has been set to off. PWD-018 Write line %d, %s.TP The specified line has been added to the specified program. PWD-019 Delete line %d, %s.TP The specified line has been deleted from the specified program. PWD-020 Write pos %d, %s.TP The specified position has been added to the specified program. PWD-021 Delete pos %d, %s.TP The specified position has been deleted from the specified program. The specified position has been renumbered to the specified position, in PWD-022 Renumber pos %d as %d, %s.TP the specified program. PWD-023 Set application data %s.TP Application data has been set in the specified program. PWD-024 Delete application data %s.TP Application data has been deleted from the specified program. File Manipulation Events PWD-025 Load %s The specified file has been loaded. PWD-026 Load %s as Program %s The specified file has been loaded as the specified program. Passwords 439 MATAGHAND1007CE Procedure A-5 Enabling the Password Log Condition You are logged in as the Install User. Step 1 Press MENU . 2 Select SETUP. 3 Press F1 , [TYPE]. 4 Select Passwords. You will see a screen similar to the following. SETUP Passwords 1 Current user: Current level: Default user timeout: AAAA INSTALL 15 min 2 3 4 Timeout occurs in: Log events: Number of users: 4 min DISABLE 10 5 To disable or enable the Password Log, 6 Move the cursor to Log events. 7 To enable log events, press F4 , ENABLE. 8 To disable log events, press F5 , DISABLE. Passwords 440 MATAGHAND1007CE Procedure A-6 Displaying the Password Log Condition Step The Install User has set Log events to ENABLE You are logged in at the Install, Program, or Setup level. FULL menus are displayed. 1 Press MENU . 2 Select ALARM. 3 Press F1 , [TYPE]. 4 Select Password Log. You will see a screen similar to the following. Password Log 1 PWD -035 Login (BOB) Install from CR 2 PWD -031 QUICK MENU forced 3 PWD -039 Logout (BOB) Install from C 4 PWD -052 Pwd Timeout (MARY) from Teac= 5 PWD -034 Login (MARY) Install from Te 6 PWD -031 QUICK MENU forced 7 PWD -038 Logout (MARY) Install from T 5 To get more information about a specific error, move the cursor to the error and press F5 , HELP. You will see a screen similar to the following. DETAIL Alarm PWD -035 Login (BOB) Install from CRT/Keyboard Password Log 1 PWD -035 Login (BOB) Install from CR 2 PWD -031 QUICK MENU forced 3 PWD -039 Logout (BOB) Install from C 4 PWD -052 Pwd Timeout (MARY) from Teac= 5 PWD -034 Login (MARY) Install from Te Passwords 441 MATAGHAND1007CE A.3 Password Level Screen Permissions Depending on which level you are logged in, to the following password screen permissions are available: • n/a = The screen is not displayed • C = The information on the screen can be displayed, changed and operations can be performed • D = The screen can only be displayed (you cannot change any information on the screen) Table A-3. lists each device type and the corresponding password level permissions for each device. Table A-3 Devices for Password Level Screen Permissions Device Operation Access Allows all password levels access to screens based on Table Teach Pendant A-4. Allows all password levels access to screens based on Table CRT/Keyboard A-4 If the CRT/Keyboard option is not loaded, then only the install KCL (option only) or setup password levels are granted access to perform KCL commands. Table A-4. lists each screen and the corresponding password level permissions for each level. Table A-4 Password Level Screen Permissions Teach Pendant Screen Password Level Install Setup Program Full Operator Quick Operator Hints D D D D D Program Adjust C C D D n/a Auto TCP C C C C n/a Program Toolbox C C C C n/a Utilities Program Shift C C D D n/a Mirror Image C C D D n/a Tool Offset C C C C n/a Frame Offset C C C C n/a Test Run C C C C C Test Cycle Debug Ctl C C C C n/a Macro Manual Functions C C C C C Manual Functions Error Recovery C C C C n/a Alarm C D D D D Alarm Recovery C C C C n/a Password Log C D D D n/a I/O Digital C C D D D Analog C C D D n/a Menu Passwords 442 MATAGHAND1007CE Menu Setup File Status User User2 Select Teach Pendant Screen Password Level Install Setup Program Full Operator Quick Operator Group C C D D D Robot C C D D D UOP C C D D n/a SOP C C D D n/a Inter Connect C C D D n/a I/O Link Device C C D D n/a PLC I/O C C D D n/a General Setup C C D D n/a Frame Setup C C D D D Port Init C C D D n/a Macro C C D D n/a Reference Position C C D D n/a User Alarm C C D D n/a Override Select C C D D n/a RSR/PNS C D D D n/a Passwords C C C C C Host Communications C D D D n/a Space Check C C C C n/a Error Recovery C C C C n/a Group Motion C C C C n/a Coordinated Motion C D D D n/a Line Track Setup C C C C n/a Encoder Setup C C C C n/a Continuous Turn C C C C n/a Softfloat C C C C n/a Shell Config C C D D n/a Menu Utility C C D D n/a Easy normal C C D D n/a Profibus C C C C n/a Collision Guard C C C C n/a Shapes C C D D n/a File C C C D n/a File Memory C C C D n/a Controller Backup C C C C n/a Axis Status C D D D D Software Version C C C C n/a Safety Signals C C C C n/a Display Memory C C C C n/a Program Timer C D D D n/a System Timer C D D D n/a Exec-History C D D D n/a Conditions C D D D n/a Prod Status C D D D n/a User Status C D D D n/a Program C D D D n/a Profibus C C C C n/a User C C C C n/a User2 C C C C n/a Select C C C C n/a Passwords 443 MATAGHAND1007CE Menu Edit Data Position System Tools Vision Other Teach Pendant Screen Password Level Install Setup Program Full Operator Quick Operator Edit C C C C n/a Register C C C D D Position Register C C C D D Palletizing Register C C C C n/a KAREL Vars C C C C n/a KAREL Posns C C C C n/a Position C C C C C System Variables C C C D n/a Master/Calibrate C D D D n/a Axis Limits C C D D n/a Clock C C D D n/a Overtravel Release C C C C n/a System Config C D D D n/a Motion Performance C D D D n/a Tool1 C C C C C Tool2 C C C C C Vision C C C C n/a KCL C C D D D KAREL Editor C C C C C 444 Passwords MATAGHAND1007CE B B Error Facility Codes 445 HandlingTool Application Programming Error Facility Codes Table 17-1 Startup Methods Start Method Cold start (START COLD) Controlled start (START CTRL) Description Initializes changes to system variables Initializes changes to I/O setup Displays the UTILITIES Hints screen Allows you to set up application specific information Allows you to install options and updates Allows you to save specific information Allows you to start KCL Allows you to print teach pendant screens and the current robot configuration Allows you to unsimulate all I/O Does not allow you to load teach pendant programs B.1.1 Facility Name and Code Procedure Turn off the controller. On the teach pendant, press and hold the SHIFT and RESET keys and press the ON/OFF button on the operator panel. After you see files beginning to load on the teach pendant screen, release all of the keys. Turn off the controller. On the teach pendant, press and hold the PREV and NEXT keys and press the ON/OFF button on the operator panel. After the Configuration Menu screen is displayed, release the keys. Select Controlled start and press ENTER. The facility name and code identify the type of error that occurred. Facility information is displayed at the beginning of the error code: PROG-048 PAUSE Shift released while running In the example, the facility name PROG corresponds to facility code 3. The error code number is 048. Facility codes are used in error handling from a KAREL program. The facility codes are listed in Table A.2 Error Facility Codes. Table 17-2 Error Facility Codes Facility Name AG APPL APSH ARC ASBN ATCP BELL CALB CALM CART CD CMND Facility Code (Decimal) 107 20 38 53 22 80 86 55 106 81 82 42 Facility Code (Hexadecimal) 0x66 0x14 0x26 0x35 0x16 0x50 0x56 0x37 0x6a 0x51 0x52 0x2a Description Attach group error Application manager Application shell Arc welding application Mnemonic editor Auto TCP softpart BellTool Robot calibration CalMate Cartesian filter softpart Coordinated motion softpart Command processor Error Codes & Recovery 446 MATAGHAND1007CE Facility Name CNTR COMP COND COPT CUST DICT DJOG DMDR DMER DNET DX ELOG ELSE FABT FCT FILE FIND FLEX FLPY FRCE FRSY GBOX GUI GUID Facility Code (Decimal) 73 59 4 37 97 33 64 84 40 76 72 5 99 103 70 2 105 87 10 91 85 77 96 8 Facility Code (Hexadecimal) 0x4g 0x3b 0x4 0x25 0x61 0x21 0x40 0x54 0x28 0x4c 0x48 0x5 0x63 0x67 0x46 0x2 0x69 0x57 0xa 0x5b 0x55 0x4d 0x60 0x8 HOST HRTL 67 66 0x43 0x42 HSNS IBSS INTP ISD ISDT 71 88 12 39 95 0x47 0x58 0xc 0x27 0x5f JOG KCLI LANG LNTK LODC LSR MACR MARL MCTL MEMO MENT MHND 19 34 21 44 74 50 57 83 6 7 68 41 0x13 0x22 0x15 0x2c 0x4a 0x32 0x39 0x53 0x6 0x7 0x44 0x29 MIGE MOTN MUPS OPTN OS PAIN PAL2 PALT PFMS PRIO 49 15 48 65 0 52 78 26 75 13 0x31 0xf 0x30 0x41 0x0 0x34 0x4e 0x1a 0x4b 0xd Description Continuous turn softpart Computer interface Condition handler Common options Customer specific errors Dictionary processor Detached jog Dual Motion Drive Data monitor DeviceNet Delta Tool/Frame softpart Error logger Visual tracking Wafer handling robot Cutting tool File system Cell finder FlexTool Serial floppy disk system Impedance control (force control) Flash file system Graphic Toolbox Works/GUI errors AMM project, lead through and force control Host communications general Host communications run time library Height sensor softpart Interbus-S Interpreter internal errors ISD (Integral Servo Dispenser) ISDT (Integral Servo-Driven Tool) Manual jog task KCL Language utility Line tracking Load clutch Laser welding MACRO option Material removal Motion control manager Memory manager ME-NET Material Handling shell and menus MIG-Eye tracking Motion subsystem Multi-pass motion Option installation Operating system PaintTool application Simple palletizing Palletizing application Profibus - FMS Digital I/O subsystem Error Codes & Recovery 447 MATAGHAND1007CE Facility Name PROF PROG PMON PWD QMGR ROUT Facility Code (Decimal) 92 3 28 31 61 17 Facility Code (Hexadecimal) 0x5c 0x3 0x1c 0x1f 0x3d 0x11 RPC RPM RTCP SCIO 93 43 89 25 0x5d 0x2b 0x59 0x19 SEAL SENS SHAP SP SPOT SRIO SRVO 51 58 79 56 23 1 11 0x33 0x3a 0x4f 0x38 0x17 0x1 0xb SSPC SVGN SYST TAST TCPP TG THSR TKSP TOOL TPIF TRAK TRAN UAPL VARS VC VISN WEAV WNDW 69 30 24 47 46 90 60 36 29 9 54 35 27 16 94 32 45 18 0x45 0x1e 0x18 0x2f 0x2e 0x5a 0x3c 0x24 0x1d 0x9 0x36 0x23 0x1b 0x10 0x5e 0x20 0x2d 0x12 B.1.2 Severity Descriptions Description Profibus DP Interpreter PC monitor Password logging KAREL queue manager Softpart built-in routine for interpreter RPC Root Pass Memorization Remote TCP Syntax checking for teach pendant programs Sealing application Sensor interface Shape generation Softparts utility loader Spot welding application Serial driver FLTR & SERVO in motion subsystem Special space checking function Servo weld gun application Facility code of system Through-Arc Seam Tracking TCP speed prediction Triggering accuracy Touch Sensing softpart Translator/KCL scanner/parser Servo tool change Teach pendant user interface Tracking softpart Translator UAMR Variable Manager Subsystem VC errors Vision system Weaving Window I/O manager sub-system The severity of the error indicates how serious the error is. The severity is displayed after the error number. For example: PROG-048 PAUSE Shift released while running NOTE: You can display the severity of the error code on the ALARM screen. Refer to Procedure 5-4 Displaying the Alarm Log $ER_SEV_NOAUTO[15] System Variable The $ER_SEV_NOAUTO[1-5] system variable enables or disables the automatic display of all error codes with a particular severity. This is used in conjunction with the $ER_AUTO_ENB system variable. 448 Error Codes & Recovery MATAGHAND1007CE Table B-3 Severity Descriptions SEVERITY PAUSE STOP SERVO ABORT SYSTEM WARN $ER_SEV_NOAUTO[1-5] [1] [2] [3] [4] [5] WARN errors only warn of potential problems or unexpected circumstances. They do not directly affect any operations that might be in progress. If a WARN error occurs, you should determine what caused the error and what, if any, actions should be taken. For example, the WARN error Singularity position indicates a singularity position was encountered during a move. No action is required. However, if you do not want the motion to encounter a singularity position, you can reteach the program positions. PAUSE PAUSE errors pause program execution but allow the robot to complete its current motion segment, if any are in progress. This error typically indicates that some action must be taken before program execution can be resumed. PAUSE errors cause the operator panel FAULT light to go on and the teach pendant FAULT LED to go on. Depending on the action that is required, you might be able to resume a paused program at the point where the PAUSE error occurred after you have corrected the error condition. If the program can be resumed, you can either select the RESUME function key or press the operator CYCLE START button, or press the UOP CYCLE START button if the setting of the REMOTE/LOCAL setup item on the System Configuration menu is set to LOCAL. STOP STOP errors pause program execution and stop robot motion. When a motion is stopped, the robot decelerates to a stop and any remaining part of the current motion segment is saved, meaning the motion can be resumed. STOP errors usually indicate that some action must be taken before the motion and program execution can be resumed. Depending on the action that is required, you might be able to resume the motion and program execution after correcting the error condition. If the motion and program can be resumed, you can either select the RESUME function key or press the operator CYCLE START button if the setting of the REMOTE/LOCAL setup item on the System Configuration menu is set to LOCAL. If the robot is in production mode, you must choose the appropriate recovery option. Error Codes & Recovery 449 MATAGHAND1007CE SERVO SERVO errors shut off the drive power to the servo system and pause program execution. SERVO errors cause the operator panel FAULT light to go on and the teach pendant FAULT LED to go on. SERVO errors are usually caused by hardware problems and could require trained service personnel. However, some SERVO errors require you to reset the servo system by pressing the operator panel FAULT RESET button or the teach pendant RESET key. Others require a Cold start of the controller. ABORT ABORT errors abort program execution and STOP robot motion. When an ABORT error occurs, the robot decelerates to a STOP and the remainder of the motion is canceled. An ABORT error indicates that the program has a problem that is severe enough to prevent it from continuing to run. You will need to correct the problem and then restart the program. Depending on the error, correcting the problem might mean editing the program or modifying the data. SYSTEM SYSTEM errors usually indicate a system problem exists that is severe enough to prevent any further operation. The problem could be hardware or software related. You will need the assistance of trained service personnel to correct SYSTEM errors. After the error has been corrected, you will need to reset the system by turning off the robot, waiting a few seconds, and turning on the robot. If a program was executing when the error occurred, you will need to restart the program. ERROR ERROR errors occur during the translation of a KAREL program. When an ERROR error occurs, translation is stopped and a .PC file is not generated. Fix the error in the program and retranslate it. When you translate a program and no ERROR errors occur, translation is successful and a .PC file is generated. NONE NONE errors can be returned as status from some KAREL built-in routines and can also be used to trigger KAREL condition handlers. NONE errors are not displayed on the teach pendant or CRT/KB. They also are not displayed on the alarm log screen. NONE errors do not have any effect on programs, robot motion, or servo motors. Table B-4 Effects of Error Severity summarizes the effects of error severities. Error Codes & Recovery 450 MATAGHAND1007CE Table B-4 Effects of Error Severity Severity WARN PAUSE Program No effect Paused STOP SERVO ABORT SYSTEM Paused Paused Aborted Aborted Robot Motion No effect The current move is completed then the robot stops. Decelerated STOP, motion retained Decelerated STOP, motion retained EMERGENCY STOP, motion canceled EMERGENCY STOP, motion canceled ERROR NONE No effect No effect No effect No effect B.1.3 Error Message Text Servo Motors No effect No effect No effect Power shutdown No effect Power shut down Requires turning off/turning on the robot No effect No effect The message text describes the error that has occurred. Message text is displayed at the end of the error code. For example: PROG-048 PAUSE Shift released while Running Some error messages might contain cause codes, percent (%) notation, or hexadecimal notation. For more information on displaying cause codes, refer to Procedure 5-4 Displaying the Alarm Log. Percent Notation (%) A percent sign followed by the letter s (%s) indicates that a string, representing a program name, file name, or variable name, actually appears in the error message when the error occurs. A percent sign followed by the letter d (%d) indicates that an integer, representing a program line number or other numeric value, actually appears in the error message when the error occurs. For example: INTP-327 ABORT (%^s, %d^5) Open file failed When this error occurs, the actual name of the file that could not be opened will appear on the teach pendant error line instead of %s. The actual program line number on which that error occurred will appear on the teach pendant error line instead of %d. Hexadecimal Notation Hexadecimal notation is used to indicate the specific axes in error, when one or more axes are in error at the same time. Most robots have interaction limits, in addition to normal joint limits. Even when all axes are within their respective limits an error might occur. This could possibly be caused by the interaction between multiple axes. In this case, hexadecimal notation can help you to find the specific axis in error. For example: Error Codes & Recovery 451 MATAGHAND1007CE MOTN-017 STOP limit error (G:1 A:6 Hex) The number after the "A " is the hexadecimal digit that shows which axes are out of limit. The "Hex " indicates that the axis numbers are in hexadecimal format. Table B-5 Hexadecimal Error Message Display lists the sixteen hexadecimal digits and the corresponding axes that are in error. NOTE: Hexadecimal digits for the decimal values of 10 through 15 are represented by the letters A through F respectively. Refer to Table B-5 Hexadecimal Error Message Display. To determine which axes are in error, you must evaluate each digit in the error message separately. Refer to Table A.5 Hexadecimal Error Message Display. NOTE: If only one number appears in the error message after the "A:", you must read it as the first digit. Table B-5 Hexadecimal Error Message Display MOTN-017 limit error(G:1 A:(3) (2) (1) HEX) Hexadecimal Digit Third Digit (3) Second Digit (2) First Digit (1) 0 none none none 1 axis 9 axis 5 axis 1 2 n/a axis 6 axis 2 3 n/a axes 5 & 6 axes 1 & 2 4 n/a axis 7 axis 3 5 n/a axes 5 & 7 axes 1 & 3 6 n/a axes 6 & 7 axes 2 & 3 7 n/a axes 5, 6, & 7 axes 1, 2, & 3 8 n/a axis 8 axis 4 9 n/a axes 5 & 8 axes 1 & 4 A n/a axes 6 & 8 axes 2 & 4 B n/a axes 5, 6, & 8 axes 1, 2, & 4 C n/a axes 7 & 8 axes 3 & 4 D n/a axes 5, 7, & 8 axes 1, 3, & 4 E n/a axes 6, 7, & 8 axes 2, 3, & 4 F n/a axes 5, 6, 7, & 8 axes 1, 2, 3, & 4 Note: If only one number appears in the error message after the "A:", you must read it as the first digit (1). 452 Error Codes & Recovery MATAGHAND1007CE Table B-6 Hexadecimal Notation and Axis in Error Examples contains some examples of how to interpret Hexadecimal notation in an error message. Table B-6 Hexadecimal Notation and Axis in Error Examples Error MOTN-017 (G:1 A:6 Hex) MJOG-013 (G:1 A:20 Hex) MOTN-017 (G:1 A:100 Hex) Explanation Axes 2 and 3 are out of their interaction limit. Axis 6 jogged to limit. Axis 9 limit error. C C Menu Maps 453 Menu Maps HandlingTool Application Programming The following pages provides you, the user, with a set of Menu Maps to help in using the Teach Pendant Menu Structure. Figure C-1 Menu Map 1 #1 Utilities Figure C-2 Menu Map 1 #2 Test Cycle 454 Menu Maps MATAGHAND1007CE Figure C-3 Menu Map 1 #3 Manual Functions Figure C-4 Menu Map 1 #4 Alarm Menu Maps MATAGHAND1007CE Figure C-5 Menu Map 1 #5 I/O Figure C-6 Menu Map 1 #6 Setup 455 456 Menu Maps MATAGHAND1007CE Figure C-7 Menu Map #7 File Menu Map 1 #8 User The items on the User Menu are user–defined. Refer to the Message Instruction. Figure C-8 Menu Map 2 #3 Data Menu Maps MATAGHAND1007CE Figure C-9 Menu Map 2 #4 Status Figure C-10 Menu Map 2 #6 Status 457 458 Menu Maps MATAGHAND1007CE Figure C-11 Menu Map 2 # Browser 459 Index HandlingTool Application Programming FRAMES SETUP Setting Up Tool Frame ...................... 107, 109, 114, 119 Setting Up User Frame ...................................... 129, 147 A Axes Extended ......................................................................71 Axis Limits.........................................87, 89, 451 B battery alarm G Generating a Directory of Files ............. 405, 406 Group Input and Output Instructions............. 336 H indicator .......................................................................34 Branching Instructions ...................................267 hold indicator....................................................................... 34 HOLD and Recovery ..................................... 193 C CALL Program ..............................................269 Communications ......................................55, 450 Continuous Testing ........................202, 203, 205 Coordinate Systems ...................................63, 64 cycle start I indicator battery alarm................................................................ 34 cycle start .................................................................... 34 E-STOP ....................................................................... 34 fault ............................................................................. 34 fault reset..................................................................... 34 hold.............................................................................. 34 on/off ........................................................................... 34 remote.......................................................................... 34 remote/local................................................................. 34 user LED #1, #2 .......................................................... 34 indicator .......................................................................34 D Devices.............................................................23 Input/Output (I/O).......................................... 299 Instructions E Branching .................................................................. 267 Call ............................................................................ 268 Jump .......................................................................... 268 Register ............................................................. 274, 282 E-STOP indicator .......................................................................34 Extended Axes .................................................71 J F fault indicator .......................................................................34 fault reset indicator .......................................................................34 FILE MANIPULATION: ..............401, 405, 406 Frames Jog..............................................................................152 Jog direct entry method..............................................159 Tool, Setup.................................................................103 World ...........................................................................67 Jog Frame ...................................... 127, 356, 360 Jog Menu ....................... 111, 118, 123, 124, 127 Jog Speed......................................................... 62 jog speed values............................................... 62 Jogging ............................................................ 57 K Kinds of I/O ........................................... 310, 311 460 Index MATAGHAND1007CE M R Macro Commands ..........................................361 Mechanical Safety Precautions ........................23 MODE SELECT Switch ..................................35 MODE SELECT Switch (for Control Reliable (RS-1/RS-4) option only).............................35 Motion.......42, 43, 173, 185, 198, 220, 221, 227, 228, 252, 258, 380, 450, 451 remote Adding Instructions....................................................190 Defining Default ........................................................233 Linear.........................................................................218 MOTION Type ...........................................................................220 Motion Control Buttons and Keys ...................42 Motion Groups .................................................70 Motion Instruction .........................................215 MOTION PROGRAMMING Continuous Testing ............................................202, 203 Single Step Testing ....................................................197 TEST CYCLE............................................................328 Test Cycle Setup ........................................................194 MOTION PROGRAMMING: ...............198, 380 N indicator....................................................................... 34 Remote I/O Interfaces.................................... 299 remote/local indicator....................................................................... 34 Remote/Local Keyswitch................................ 192 Robot Digital Input and Output Instructions . 334 ROBOT SAFE................................................. 23 S Safe Equipment................................................ 16 SAFETY Mechanical Safety Precautions.................................... 23 Operating Safety Precautions ...................................... 24 People and Equipment Safe......................................... 16 Programming Safety Precautions .......................... 23, 24 Staying Safe .......................................................... 20, 21 Using Safety Enhancing Devices ................................ 17 Safety Operating Precautions .......................... 24 Safety Precautions ..................................... 23, 24 Safety Robot Installation ................................. 16 Setting Up a Safe Workcell ............................. 17 SETUP PROCEDURES Monitoring/Forcing Outputs...................................... 324 Simulating Inputs and Outputs .................................. 327 Naming the Program ......................................183 O on/off indicator .......................................................................34 Operator Panel (B-Size Controller)..................33 P Position Home .........................................................................235 Repair.........................................................................236 Safe ............................................................................237 Positional Information ...................................223 Positions Other ..........................................................................237 Power Up .........................................................57 Predefined Positions.......................................234 Program Create.........................................................................167 Delete.................................................................251, 408 Modifying ..................................................................254 Naming ......................................................................177 Planning .....................................................................173 Testing .......................................................................191 Writing.......................................................................176 Signals Types of ............................................ 305 Single Step Testing................................ 197, 199 Singularity ....................................................... 69 Speed ............................. 195, 226, 227, 228, 380 SPOTWELD PROGRAMMING TEST CYCLE ........................................................... 328 Standard Operator Panel Cycle Start Production ........................................................... 205, 207 Staying Safe During Automatic Operation...... 20 Staying Safe During Inspection ....................... 21 Staying Safe During Maintenance ................... 22 Staying Safe While Teaching or Manually Operating the Robot..................................... 19 System Variables ........................................... 355 T Teach Pendant..... 40, 48, 52, 190, 210, 359, 362, 363, 366, 368, 369, 399, 403, 415, 425, 445, 446, 449, 461 iPendant....................................................................... 41 Teach Pendant Programs ....................... 403, 425 Termination Type .................................. 173, 229 Continuous ................................................................ 230 Index 461 MATAGHAND1007CE TEST CYCLE........................................195, 328 Test Cycle Setup ............................................194 Tool Frame.....104, 108, 109, 114, 119, 124, 356 TPP Unconditional Branching Instructions .......................268 WAIT [item] [operator] [value] [time].......................284 WAIT time.................................................................286 Types of Files.................................................401 Types of Signals.............................................305 User Operator Panel (UOP) ..................... 55, 306 Using Safety Enhancing Devices..................... 17 V Version Identification Status ........................... 90 W U WAIT User Frame.....................................183, 225, 356 User Frames ...................................................133 user LED #1, #2 World Frame.................................................. 356 World Jogging ................................................. 66 Wrist Jogging................................................... 65 time............................................................................ 286 indicator .......................................................................34
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )