FANUC America Corporation SYSTEM R-30iB Plus/R-30iB Mate Plus/R-30iB Compact Plus HandlingTool Setup and Operations Manual MAROUHT9102171E REV F Version 9.10 series © 2019 FANUC America Corporation All Rights Reserved. This publication contains proprietary information of FANUC America Corporation furnished for customer use only. No other uses are authorized without the express written permission of FANUC America Corporation. FANUC America Corporation 3900 W. Hamlin Road Rochester Hills, Michigan 48309–3253 About This Manual Copyrights and Trademarks This new publication contains proprietary information of FANUC America Corporation, furnished for customer use only. No other uses are authorized without the express written permission of FANUC America Corporation. FANUC America Corporation 3900 W. Hamlin Road Rochester Hills, MI 48309-3253 The descriptions and specifications contained in this manual were in effect at the time this manual was approved. FANUC America Corporation, hereinafter referred to as FANUC America, reserves the right to discontinue models at any time or to change specifications or design without notice and without incurring obligations. FANUC America's manuals present descriptions, specifications, drawings, schematics, bills of material, parts, connections and/or procedures for installing, disassembling, connecting, operating and programming FANUC America Corporation's products and/or systems. Such systems consist of robots, extended axes, robot controllers, application software, the KAREL ® programming language, INSIGHT® vision equipment, and special tools. FANUC America recommends that only persons who have been trained in one or more approved FANUC America Training Course(s) be permitted to install, operate, use, perform procedures on, repair, and/or maintain FANUC America's products and/or systems and their respective components. Approved training necessitates that the courses selected be relevant to the type of system installed and application performed at the customer site. Warning This equipment generates, uses, and can radiate radio frequency energy and if not installed and used in accordance with the instruction manual, may cause interference to radio communications. As temporarily permitted by regulation, it has not been tested for compliance with the limits for Class A computing devices pursuant to subpart J of Part 15 of FCC Rules, which are designed to provide reasonable protection against such interference. Operation of the equipment in a residential area is likely to cause interference, in which case the user, at his own expense, will be required to take whatever measure may be required to correct the interference. FANUC America conducts courses on its systems and products on a regularly scheduled basis at its headquarters in Rochester Hills, Michigan. For additional information contact FANUC America Corporation 3900 W. Hamlin Road Rochester Hills, MI 48309-3253 i About This Manual MAROUHT9102171E REV F www.fanucamerica.com For customer assistance, including Technical Support, Service, Parts & Part Repair, and Marketing Requests, contact the Customer Resource Center, 24 hours a day, at 888-FANUC-US (888-326-8287). Send your comments and suggestions about this manual to: product.documentation@fanucamerica.com The information illustrated or contained herein is not to be reproduced, copied, downloaded, translated into another language, distributed, or published in any physical or electronic format, including Internet, or transmitted in whole or in part in any way without the prior written consent of FANUC America Corporation. AccuStat®, ArcTool®, i RVision ®, KAREL ®, PaintTool ®,PalletTool®, SOCKETS ®, SpotTool ®, SpotWorks ®, and TorchMate® are Registered Trademarks of FANUC America Corporation. FANUC America reserves all proprietary rights, including but not limited to trademark and trade name rights, in the following names: AccuAir ™, AccuCal ™, AccuChop ™, AccuFlow™, AccuPath ™, AccuSeal ™, ARC Mate ™, ARC Mate Sr.™, ARC Mate System 1 ™, ARC Mate System 2™, ARC Mate System 3 ™, ARC Mate System 4 ™, ARC Mate System 5™, ARCWorks Pro ™, AssistTool ™, AutoNormal ™, AutoTCP™, BellTool ™, BODYWorks ™, Cal Mate ™, Cell Finder™, Center Finder ™, Clean Wall ™, DualARM™, i RProgrammer ™, LR Tool™, MIG Eye ™, MotionParts ™, MultiARM ™, NoBots™, Paint Stick ™, PaintPro ™, PaintTool 100 ™, PAINTWorks™, PAINTWorks II ™, PAINTWorks III ™, PalletMate™, PalletMate PC ™, PalletTool PC ™, PayloadID ™, RecipTool™, RemovalTool ™, Robo Chop ™, Robo Spray S-430i ™, ShapeGen ™, SoftFloat ™, SOFT PARTS™, SpotTool+ ™, SR Mate ™, SR ShotTool ™, SureWeld™, SYSTEM R-J2 Controller R-J3i B Controller™, SYSTEM R-J3i C Controller™, SYSTEM R-30i A Controller™, SYSTEM R-30i A Mate Controller™, SYSTEM R-30i B Controller™, SYSTEM R-30i B Mate Controller™, SYSTEM R-30i B Plus Controller™, SYSTEM R-30i B Mate Plus Controller™, TCP Mate ™, TorchMate ™, TripleARM ™, TurboMove™, visLOC ™, visTRAC ™, WebServer ™, WebTP ™, and YagTool™. Patents One or more of the following U.S. patents might be related to the FANUC America products described in this manual. FRA Patent List 4,630,567 4,639,878 4,707,647 4,708,175 4,708,580 4,942,539 4,984,745 5,238,029 5,239,739 5,272,805 5,293,107 5,293,911 5,331,264 5,367,944 5,373,221 5,421,218 5,434,489 5,644,898 5,670,202 5,696,687 5,737,218 5,823,389 5,853,027 5,887,800 5,941,679 5,959,425 5,987,726 6,059,092 6,064,168 6,070,109 6,086,294 6,122,062 6,147,323 6,204,620 6,243,621 6,253,799 6,285,920 6,313,595 6,325,302 6,345,818 6,356,807 6,360,143 6,378,190 6,385,508 6,425,177 6,477,913 6,490,369 6,518,980 6,540,104 6,541,757 6,560,513 6,569,258 6,612,449 6,703,079 ii MAROUHT9102171E REV F About This Manual 6,705,361 6,726,773 6,768,078 6,845,295 6,945,483 7,149,606 7,149,606 7,211,978 7,266,422 7,399,363 FANUC LTD Patent List 4,571,694 4,626,756 4,700,118 4,706,001 4,728,872 4,732,526 4,742,207 4,835,362 4,894,596 4,899,095 4,920,248 4,931,617 4,934,504 4,956,594 4,967,125 4,969,109 4,970,370 4,970,448 4,979,127 5,004,968 5,006,035 5,008,834 5,063,281 5,066,847 5,066,902 5,093,552 5,107,716 5,111,019 5,130,515 5,136,223 5,151,608 5,170,109 5,189,351 5,267,483 5,274,360 5,292,066 5,300,868 5,304,906 5,313,563 5,319,443 5,325,467 5,327,057 5,329,469 5,333,242 5,337,148 5,371,452 5,375,480 5,418,441 5,432,316 5,440,213 5,442,155 5,444,612 5,449,875 5,451,850 5,461,478 5,463,297 5,467,003 5,471,312 5,479,078 5,485,389 5,485,552 5,486,679 5,489,758 5,493,192 5,504,766 5,511,007 5,520,062 5,528,013 5,532,924 5,548,194 5,552,687 5,558,196 5,561,742 5,570,187 5,570,190 5,572,103 5,581,167 5,582,750 5,587,635 5,600,759 5,608,299 5,608,618 5,624,588 5,630,955 5,637,969 5,639,204 5,641,415 5,650,078 5,658,121 5,668,628 5,687,295 5,691,615 5,698,121 5,708,342 5,715,375 5,719,479 5,727,132 5,742,138 5,742,144 5,748,854 5,749,058 5,760,560 5,773,950 5,783,922 5,799,135 5,812,408 5,841,257 5,845,053 5,872,894 5,887,122 5,911,892 5,912,540 5,920,678 5,937,143 5,980,082 5,983,744 5,987,591 5,988,850 6,023,044 6,032,086 6,040,554 6,059,169 6,088,628 6,097,169 6,114,824 6,124,693 6,140,788 6,141,863 6,157,155 6,160,324 6,163,124 6,177,650 6,180,898 6,181,096 6,188,194 6,208,105 6,212,444 6,219,583 6,226,181 6,236,011 6,236,896 6,250,174 6,278,902 6,279,413 6,285,921 6,298,283 6,321,139 6,324,443 6,328,523 6,330,493 6,340,875 6,356,671 6,377,869 6,382,012 6,384,371 6,396,030 6,414,711 6,424,883 6,431,018 6,434,448 6,445,979 6,459,958 6,463,358 6,484,067 6,486,629 6,507,165 6,654,666 6,665,588 6,680,461 6,696,810 6,728,417 6,763,284 6,772,493 6,845,296 6,853,881 6,888,089 6,898,486 6,917,837 6,928,337 6,965,091 6,970,802 7,038,165 7,069,808 7,084,900 7,092,791 7,133,747 7,143,100 7,149,602 7,131,848 7,161,321 7,171,041 7,174,234 7,173,213 7,177,722 7,177,439 7,181,294 7,181,313 7,280,687 7,283,661 7,291,806 7,299,713 7,315,650 7,324,873 7,328,083 7,330,777 7,333,879 7,355,725 7,359,817 7,373,220 7,376,488 7,386,367 7,464,623 7,447,615 7,445,260 7,474,939 7,486,816 7,495,192 7,501,778 7,502,504 7,508,155 7,512,459 7,525,273 7,526,121 VersaBell, ServoBell and SpeedDock Patents Pending. Conventions This manual includes information essential to the safety of personnel, equipment, software, and data. This information is indicated by headings and boxes in the text. Warning Information appearing under WARNING concerns the protection of personnel. It is boxed and in bold type to set it apart from other text. Caution Information appearing under CAUTION concerns the protection of equipment, software, and data. It is boxed to set it apart from other text. iii About This Manual MAROUHT9102171E REV F Note Information appearing next to NOTE concerns related information or useful hints. iv Contents About This Manual Safety ............................................................................................................................ i .......................................................................................................................................... lxiii .................................................................................................................... lxxi QUICK REFERENCE Chapter 1 1.1 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.3.10 1.3.11 1.3.12 1.3.13 1.3.14 1.4 1.5 OVERVIEW AND STARTUP ..................................................................................... OVERVIEW ............................................................................................................... ROBOT ...................................................................................................................... Robot Overview ............................................................................................................ Robot Models ............................................................................................................... HandlingTool End-of-Arm Tooling (EOAT) ....................................................................... Extended Axes ............................................................................................................. CONTROLLER ............................................................................................................ Controller Overview ..................................................................................................... Standard Operator Panel ................................................................................................ MODE SELECT Switch .............................................................................................. Robot Stop Variation .................................................................................................... User Operator Panel (UOP) ........................................................................................... Emergency Stop Devices .............................................................................................. Communications ........................................................................................................ Input/Output (I/O) ...................................................................................................... Remote I/O Interfaces .................................................................................................. Motion ..................................................................................................................... Extended Axes ........................................................................................................... Controller Backplane ................................................................................................... Memory ................................................................................................................... Line Tracking ............................................................................................................ FANUC SOFTWARE ................................................................................................. STARTUP (AND POWER OFF) OF THE ROBOT ........................................................... 1–1 1–2 1–2 1–2 1–3 1–3 1–4 1–5 1–5 1–9 1–12 1–15 1–16 1–16 1–16 1–17 1–18 1–18 1–19 1–20 1–20 1–22 1–22 1–23 Chapter 2 2.1 2.2 2.3 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.3.7 2.3.8 2.3.9 2.4 2.5 iPENDANT OPERATIONS ....................................................................................... OVERVIEW ................................................................................................................. TEACH PENDANT SWITCHES...................................................................................... SCREEN NAVIGATION................................................................................................. Touch/Non-Touch Screen ................................................................................................ Screen Backlighting ..................................................................................................... Zoom......................................................................................................................... Related View Menu ...................................................................................................... Maximize/Restore ........................................................................................................ Window Display .......................................................................................................... Browser Guidelines .................................................................................................... Changing Focus .......................................................................................................... Color Setup ............................................................................................................... TEACH PENDANT KEYS ........................................................................................... HAPTIC iPENDANT ................................................................................................... 2–1 2–3 2–4 2–6 2–6 2–10 2–11 2–12 2–12 2–13 2–20 2–25 2–26 2–27 2–36 v Contents Overview ................................................................................................................... Hardware/Software Requirements, Application Tools ......................................................... Testing the Haptic iPendant ............................................................................................ Configuring the Haptic iPendant ..................................................................................... Haptic Log ................................................................................................................. Common Haptic Functions ............................................................................................ Material Handling Haptic Functions ................................................................................ STATUS..................................................................................................................... Status Bar Displays ..................................................................................................... Status indicators ......................................................................................................... LEDs ....................................................................................................................... Display Equip ............................................................................................................ HELP ........................................................................................................................ MORE INFO .............................................................................................................. Help and Diagnostics .................................................................................................. ADDITIONAL iPENDANT FUNCTIONS ....................................................................... Document Viewer ........................................................................................................ Menu Favorites ........................................................................................................... Menu History ............................................................................................................. Multi-Pane Edit .......................................................................................................... Other iPendant Guidelines ........................................................................................... Popup Menus ............................................................................................................. Screen Customizations ................................................................................................. Software Keyboard ...................................................................................................... Top Menu ................................................................................................................... Universal Serial Bus (USB) Port ................................................................................... User Views ................................................................................................................ 2–36 2–37 2–38 2–38 2–40 2–40 2–48 2–55 2–55 2–57 2–57 2–57 2–57 2–57 2–58 2–60 2–60 2–62 2–65 2–65 2–66 2–67 2–68 2–82 2–91 2–98 2–98 Chapter 3 3.1 3.1.1 3.1.2 3.2 3.2.1 3.2.2 3.2.3 3.3 3.3.1 3.3.2 3.4 3.4.1 3.5 3.5.1 3.5.2 3.5.3 iHMI GUIDES ......................................................................................................... iHMI GUIDE NAVIGATION ........................................................................................... The First Time you use iHMI Guided Setup ........................................................................ How to Use iHMI Setup Guides ........................................................................................ BASIC SETUP ............................................................................................................ Overview ................................................................................................................... Initial Setup ................................................................................................................ End of Arm Tool Setup ................................................................................................. TEACH ..................................................................................................................... Creating a Program ...................................................................................................... Selecting a Program ..................................................................................................... RUN ......................................................................................................................... Monitoring a Running Program ...................................................................................... UTILITY ................................................................................................................... Backup ...................................................................................................................... Jog Assist ................................................................................................................... Tutorials..................................................................................................................... 3–1 3–2 3–2 3–3 3–10 3–10 3–11 3–12 3–13 3–13 3–14 3–15 3–15 3–16 3–17 3–17 3–18 Chapter 4 4.1 4.1.1 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 4.2 4.2.1 4D FUNCTIONALITY ............................................................................................... OVERVIEW ................................................................................................................ Introduction .................................................................................................................. Navigation .................................................................................................................... Basic Display Concepts ................................................................................................... Selected Program ......................................................................................................... Frames ....................................................................................................................... Groups ....................................................................................................................... USER INTERFACE SCREENS ..................................................................................... VIEWING 4D SCENES ................................................................................................ 4–1 4–2 4–2 4–5 4–8 4–10 4–10 4–10 4–11 4–11 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.6 2.6.1 2.6.2 2.6.3 2.6.4 2.7 2.7.1 2.7.2 2.8 2.8.1 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.8.10 2.8.11 vi MAROUHT9102171E REV F MAROUHT9102171E REV F Contents ADJUSTING THE VIEW ............................................................................................. VISUAL JOG ............................................................................................................. EDIT NODE MAP SCREEN ......................................................................................... SELECT SCREEN ....................................................................................................... VIEWING TWO DIFFERENT PROGRAMS ................................................................... PROGRAM UTILITIES ............................................................................................... TCP TRACE .............................................................................................................. FRAME SETUP ......................................................................................................... POSITION REGISTERS .............................................................................................. REMOTE CONTROLLER DISPLAY ............................................................................. DCS 4D VISUALIZATION .......................................................................................... 4D CUSTOMIZATION ................................................................................................. ACCESSING THE 4D DISPLAY FROM A PC ................................................................. View Adjustment Mode ................................................................................................ Scene Visibility ........................................................................................................... 4D GRAPHICS IMPORT .............................................................................................. 4–13 4–20 4–25 4–28 4–29 4–30 4–32 4–34 4–35 4–36 4–39 4–40 4–41 4–42 4–43 4–43 Chapter 5 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.9.1 5.9.2 5.10 5.11 5.12 JOGGING THE ROBOT ......................................................................................... Overview .................................................................................................................... Visual Jog..................................................................................................................... Jog Speed ..................................................................................................................... Coordinate Systems ........................................................................................................ Wrist Jogging ................................................................................................................ Remote TCP Jogging (Option) ......................................................................................... Motion Groups .............................................................................................................. Jog Menu ..................................................................................................................... Extended Axes and Sub-Groups ...................................................................................... Overview ................................................................................................................... J7 and J8 Jog Keys ....................................................................................................... Incremental Jogging ..................................................................................................... Jogging the Robot and Other Axes .................................................................................. Jogging the Robot without the Teach Pendant .................................................................... 5–1 5–2 5–2 5–2 5–4 5–6 5–7 5–8 5–9 5–11 5–11 5–12 5–16 5–17 5–22 Chapter 6 6.1 6.2 6.3 6.4 6.5 6.6 6.6.1 6.6.2 6.6.3 6.7 6.7.1 6.7.2 6.7.3 6.8 FRAMES ................................................................................................................. Frames Overview ......................................................................................................... How Frames are Used ..................................................................................................... Using the Right-Hand Rule to Understand Robot Frames ....................................................... Frame Types ................................................................................................................. World Frame ................................................................................................................. Tool Frame ................................................................................................................... Tool Frame General Information ....................................................................................... Setting Up a Tool Frame.................................................................................................. Selecting a Tool Frame ................................................................................................ User Frame ................................................................................................................. Overview ................................................................................................................... Setting Up a User Frame ............................................................................................... Selecting a User Frame ................................................................................................. Remote TCP Frame ...................................................................................................... 6–1 6–2 6–2 6–4 6–5 6–5 6–6 6–6 6–9 6–35 6–37 6–37 6–39 6–57 6–58 4.2.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.14.1 4.14.2 4.15 vii Contents 6.8.1 6.9 6.9.1 6.9.2 6.10 6.10.1 6.10.2 6.11 6.12 Chapter 7 7.1 7.2 7.2.1 7.2.2 7.2.3 7.2.4 7.2.5 7.2.6 7.2.7 7.2.8 7.2.9 7.2.10 7.3 7.3.1 7.3.2 7.3.3 7.3.4 7.3.5 7.3.6 7.3.7 7.3.8 7.3.9 7.3.10 7.3.11 7.3.12 7.3.13 7.3.14 7.3.15 7.3.16 7.3.17 7.3.18 7.3.19 7.3.20 7.3.21 7.4 7.5 7.5.1 7.5.2 7.5.3 7.5.4 7.5.5 7.6 7.6.1 7.6.2 7.6.3 viii MAROUHT9102171E REV F Setting Up a Remote TCP Frame ................................................................................... Jog Frame................................................................................................................... Setting Up Jog Frame .................................................................................................. Selecting a Jog Frame ................................................................................................. Cell Frame and Cell Floor ............................................................................................. Cell Frame Setup ......................................................................................................... Cell Floor Setup .......................................................................................................... Saving Frame Data ....................................................................................................... Frame Visualization...................................................................................................... 6–58 6–68 6–68 6–78 6–79 6–80 6–85 6–85 6–87 PROGRAM INSTRUCTIONS .................................................................................. 7–1 OVERVIEW ............................................................................................................... 7–5 MOTION INSTRUCTION ............................................................................................ 7–5 Overview .................................................................................................................... 7–5 Motion Type ................................................................................................................ 7–6 Circular Arc Type A Motion Instructions .......................................................................... 7–11 Positional Information ................................................................................................. 7–35 Position Confirmation ................................................................................................. 7–36 Motion Status Display ................................................................................................. 7–37 Frame Number of Positional Data .................................................................................. 7–45 Switch Frame Check Type ........................................................................................... 7–46 Speed ....................................................................................................................... 7–47 Termination Type ....................................................................................................... 7–54 MOTION OPTIONS INSTRUCTION ............................................................................. 7–56 Acceleration Override ................................................................................................. 7–58 Advanced Constant Path .............................................................................................. 7–59 Break ....................................................................................................................... 7–76 Constant Path ............................................................................................................ 7–77 Coordinated Motion ..................................................................................................... 7–87 Corner Distance Control Option ...................................................................................... 7–87 Extended Velocity EV Motion Option ............................................................................ 7–98 FacePlate Linear ........................................................................................................ 7–100 Incremental Motion .................................................................................................. 7–102 Minimal Rotation (HandlingTool Only) ........................................................................ 7–103 Offset ..................................................................................................................... 7–105 Offset Position Register ............................................................................................. 7–105 ORNT_BASE ........................................................................................................... 7–106 Remote TCP Motion Option (optional) ......................................................................... 7–109 Search [ ] Motion Option ........................................................................................... 7–111 Skip Jump ................................................................................................................ 7–112 Skip Label .............................................................................................................. 7–113 Time Before / Time After ........................................................................................... 7–114 Tool_offset .............................................................................................................. 7–115 Tool offset position register ........................................................................................ 7–116 Wrist Joint .............................................................................................................. 7–117 ALL-POINT TEACHING FOR PALLETIZING ........................................................ 7–118 TOUCH SENSE INSTRUCTIONS ............................................................................. 7–120 Overview ................................................................................................................ 7–120 Search Start Instruction ............................................................................................. 7–121 Search End Instruction .............................................................................................. 7–121 Touch Offset Instruction ............................................................................................ 7–122 Touch Offset End Instruction ...................................................................................... 7–123 PALLETIZING INSTRUCTIONS ............................................................................... 7–123 Overview ................................................................................................................ 7–123 PALLETIZING-B Instruction ..................................................................................... 7–126 PALLETIZING-BX Instruction ................................................................................... 7–132 MAROUHT9102171E REV F 7.6.4 7.6.5 7.6.6 7.7 7.8 7.8.1 7.8.2 7.8.3 7.9 7.9.1 7.9.2 7.9.3 7.9.4 7.9.5 7.10 7.11 7.12 7.12.1 7.12.2 7.12.3 7.12.4 7.12.5 7.13 7.13.1 7.13.2 7.13.3 7.13.4 7.13.5 7.13.6 7.14 7.15 7.15.1 7.15.2 7.15.3 7.15.4 7.15.5 7.15.6 7.15.7 7.16 7.16.1 7.16.2 7.16.3 7.16.4 7.16.5 7.16.6 7.16.7 7.16.8 7.16.9 7.16.10 7.16.11 7.17 7.17.1 7.17.2 7.17.3 7.17.4 7.17.5 Contents PALLETIZING-E Instruction ..................................................................................... PALLETIZING-EX Instruction ................................................................................... PALLETIZING-END Instruction ................................................................................ PALLET REGISTER INSTRUCTIONS ......................................................................... BASIC PROCESS AXES INSTRUCTIONS (OPTION) .................................................... Overview ................................................................................................................. SET ISDT SPEED Instruction ...................................................................................... STOP ALL ISDT Instruction........................................................................................ BRANCHING INSTRUCTIONS ................................................................................ Overview ................................................................................................................ Label Definition Instruction LBL[x] ............................................................................ Unconditional Branching Instructions .......................................................................... Conditional Branching Instructions .............................................................................. Wizard to Input Arguments .......................................................................................... COLLISION GUARD INSTRUCTIONS (OPTION) ...................................................... CONDITION MONITOR INSTRUCTIONS ................................................................. FOR/ENDFOR INSTRUCTIONS ................................................................................. Overview ................................................................................................................. FOR/ENDFOR Instruction Specification ........................................................................ Teach FOR/ENDFOR Instruction .................................................................................. Execution examples.................................................................................................... Alarms ..................................................................................................................... INPUT/OUTPUT INSTRUCTIONS ............................................................................ Overview ................................................................................................................ Digital Input and Output Instructions ........................................................................... Robot Digital Input and Output Instructions .................................................................. Analog Input and Output Instructions ........................................................................... Group Input and Output Instructions ............................................................................ Input and Output Instruction Format .............................................................................. MACRO COMMAND INSTRUCTION ....................................................................... MATH FUNCTION INSTRUCTIONS .......................................................................... Type of Math Functions .............................................................................................. Instruction Format of Math Function ............................................................................. Function Specification of Math Functions ....................................................................... Background Operation of Math Function ........................................................................ Teach Math Function Instruction ................................................................................... Restriction of Teaching Math Function ........................................................................... Exceptions and Restriction........................................................................................... MISCELLANEOUS INSTRUCTIONS ........................................................................ Overview ................................................................................................................ RSR Enable/Disable Instruction .................................................................................. User Alarm Instruction .............................................................................................. Timer Instruction ...................................................................................................... OVERRIDE Instruction ............................................................................................. Remark Instruction ................................................................................................... Multi-lng Remark Instruction ....................................................................................... Line Remark (Comment out) Instruction ........................................................................ Message Instruction .................................................................................................. Parameter Name Instruction ....................................................................................... Maximum Speed Instruction ....................................................................................... MIXED LOGIC INSTRUCTIONS .............................................................................. Overview ................................................................................................................ Data Types .............................................................................................................. Operators ................................................................................................................ Expressions ............................................................................................................. Adding Mixed Logic Instructions ................................................................................ 7–139 7–146 7–154 7–154 7–156 7–156 7–156 7–158 7–158 7–158 7–158 7–158 7–160 7–164 7–173 7–173 7–177 7–177 7–177 7–178 7–183 7–187 7–188 7–188 7–189 7–190 7–192 7–193 7–194 7–196 7–196 7–197 7–197 7–199 7–204 7–205 7–207 7–208 7–208 7–208 7–209 7–209 7–210 7–210 7–210 7–211 7–212 7–213 7–213 7–214 7–216 7–216 7–216 7–217 7–218 7–220 ix Contents 7.17.6 7.17.7 7.18 7.19 7.19.1 7.19.2 7.19.3 7.19.4 7.20 7.21 7.21.1 7.21.2 7.21.3 7.21.4 7.21.5 7.21.6 7.21.7 7.22 7.23 7.23.1 7.23.2 7.23.3 7.24 7.24.1 7.24.2 7.24.3 7.25 7.26 7.26.1 7.26.2 7.26.3 7.26.4 7.26.5 7.26.6 7.26.7 7.26.8 7.27 7.28 7.28.1 7.28.2 7.28.3 7.29 7.30 7.31 7.31.1 7.31.2 7.31.3 7.31.4 7.31.5 7.31.6 7.32 7.33 7.33.1 7.33.2 x MAROUHT9102171E REV F Background Logic .................................................................................................... Backup/Restore ........................................................................................................ MULTIPLE CONTROL INSTRUCTIONS ................................................................... MOTION GROUP INSTRUCTIONS (OPTION) ....................................................... Overview ................................................................................................................ Independent Motion Group Instructions ........................................................................ Simultaneous Motion Group Instructions ...................................................................... Defining Motion Group Instructions ............................................................................. OFFSET/FRAME INSTRUCTIONS ........................................................................... PARAMETERS FOR PROGRAM CALL AND MACRO INSTRUCTIONS ....................... Overview ................................................................................................................ Parameter Instruction Syntax ...................................................................................... String Value Selections .............................................................................................. Argument Registers .................................................................................................. Guidelines for Using Parameters ................................................................................. Including Parameters in Program Call and Macro Instructions ........................................... Including Argument Registers in Sub-Programs ............................................................. PAYLOAD INSTRUCTION ...................................................................................... POINT LOGIC INSTRUCTION ................................................................................... Overview ................................................................................................................. Point Logic Instruction................................................................................................ Point Logic View Function .......................................................................................... POSITION REGISTER INSTRUCTIONS .................................................................... Overview ................................................................................................................ PR[x] Position Register Instructions ............................................................................. PR[i,j] Position Register Element Instructions ................................................................ POSITION REGISTER LOOK-AHEAD INSTRUCTIONS ............................................. PROGRAM CONTROL INSTRUCTIONS ................................................................... Overview ................................................................................................................ PAUSE Instruction ................................................................................................... ABORT Instruction .................................................................................................. Error Program Instruction .......................................................................................... Resume Program Instruction ....................................................................................... Maintenance Program Instruction ................................................................................ Clear Resume Program Instruction .............................................................................. Return Path Disable Instruction ................................................................................... PROCESS SYNCHRONIZATION .............................................................................. QUICK SKIP (HIGH-SPEED SKIP) ........................................................................... Overview ................................................................................................................ Execution ............................................................................................................... Limitations ............................................................................................................. REGISTER INSTRUCTIONS .................................................................................... SKIP INSTRUCTION ............................................................................................... STRING REGISTER INSTRUCTIONS ......................................................................... Overview ................................................................................................................. String Register Assignment and Concatenation ................................................................ String Conversion and Precedence ................................................................................ STRLEN Instruction ................................................................................................... FINDSTR Instruction ................................................................................................. SUBSTR Instruction ................................................................................................... TOOL OFFSET CONDITION INSTRUCTION ............................................................. VIA INSTRUCTION.................................................................................................. How to Use............................................................................................................... Specifications ............................................................................................................ 7–222 7–233 7–234 7–234 7–234 7–235 7–235 7–235 7–237 7–240 7–240 7–241 7–242 7–244 7–245 7–247 7–251 7–252 7–253 7–253 7–255 7–257 7–260 7–260 7–260 7–262 7–264 7–265 7–265 7–265 7–266 7–266 7–267 7–267 7–267 7–268 7–268 7–271 7–271 7–271 7–272 7–272 7–276 7–279 7–279 7–279 7–281 7–282 7–282 7–283 7–284 7–285 7–285 7–288 MAROUHT9102171E REV F 7.34 7.34.1 7.34.2 7.34.3 7.34.4 7.34.5 7.34.6 7.34.7 7.34.8 7.34.9 7.34.10 7.34.11 7.34.12 7.34.13 7.34.14 7.34.15 7.34.16 7.34.17 7.34.18 7.34.19 7.34.20 7.34.21 7.34.22 7.34.23 7.34.24 7.34.25 7.35 Chapter 8 8.1 8.2 8.2.1 8.2.2 8.2.3 8.3 8.3.1 8.3.2 8.3.3 8.4 8.4.1 8.4.2 8.4.3 8.5 8.5.1 8.5.2 8.5.3 8.5.4 8.5.5 8.5.6 8.5.7 8.5.8 8.5.9 8.5.10 8.5.11 8.5.12 8.5.13 8.5.14 8.5.15 Contents VISION INSTRUCTIONS ......................................................................................... Overview ................................................................................................................ RUN_FIND ............................................................................................................ GET_OFFSET ......................................................................................................... GET_PASSFAIL........................................................................................................ GET_NFOUND ........................................................................................................ SET_REFERENCE .................................................................................................. OVERRIDE .............................................................................................................. CAMERA_CALIB ................................................................................................... VR[]. MODELID ..................................................................................................... VR[].MES[] .............................................................................................................. VR[].FOUND_POS[] ................................................................................................. VR[].OFFSET ......................................................................................................... VR.[].ENC ............................................................................................................... RUN_FIND SR[] ....................................................................................................... GET_OFFSET SR[] ................................................................................................... SET_REF SR[] .......................................................................................................... CAMERA_CAL SR[] ................................................................................................. GET_PASSFAIL SR[] ................................................................................................ GET_READING ....................................................................................................... SAMPLE PROGRAM .............................................................................................. Re-Calibration and Verification Sample Program.............................................................. Bar Code Reading Sample Program ............................................................................... Inspection Sample Program ......................................................................................... 2D Single Multi-View Vision Process ............................................................................ Calling Vision by String Register Sample Program ........................................................... WAIT INSTRUCTIONS ............................................................................................ 7–288 7–288 7–289 7–289 7–289 7–290 7–290 7–291 7–291 7–292 7–292 7–293 7–293 7–293 7–294 7–294 7–295 7–295 7–296 7–296 7–296 7–297 7–299 7–299 7–299 7–300 7–300 CREATING A PROGRAM ....................................................................................... OVERVIEW ............................................................................................................... PLANNING A PROGRAM ........................................................................................... Overview .................................................................................................................... Robot Motion .............................................................................................................. Special Positions .......................................................................................................... CREATING AND NAMING A PROGRAM ..................................................................... Naming a Program ....................................................................................................... Creating a New Program ................................................................................................. Select Screen and Operations ......................................................................................... ADDING INSTRUCTIONS AND EDITING A PROGRAM ............................................... Overview ................................................................................................................... Adding Instructions to a Program .................................................................................... Editing a Program ...................................................................................................... PROGRAM DETAIL INFORMATION .......................................................................... Overview .................................................................................................................. Creation Date ............................................................................................................ Modification Date ...................................................................................................... Copy Source .............................................................................................................. Positions and Program Size .......................................................................................... Program Name ........................................................................................................... Sub Type .................................................................................................................. Program Comment ..................................................................................................... Group Mask .............................................................................................................. Write Protection ......................................................................................................... Ignore Pause .............................................................................................................. Stack Size ................................................................................................................. Collection ................................................................................................................... No-Disp Sub-Program .................................................................................................. Application Mask ....................................................................................................... 8–1 8–3 8–3 8–3 8–3 8–4 8–7 8–7 8–9 8–12 8–13 8–13 8–13 8–16 8–32 8–32 8–36 8–36 8–36 8–37 8–37 8–38 8–39 8–39 8–40 8–40 8–41 8–41 8–41 8–42 xi Contents 8.5.16 8.5.17 8.5.18 8.5.19 8.5.20 8.6 8.6.1 8.6.2 8.6.3 8.7 8.8 8.8.1 8.8.2 8.8.3 8.8.4 8.8.5 8.8.6 8.8.7 8.9 8.9.1 8.9.2 8.10 8.10.1 8.10.2 8.10.3 8.10.4 8.10.5 8.11 8.12 8.12.1 8.12.2 8.12.3 8.12.4 8.12.5 8.12.6 8.12.7 Chapter 9 9.1 9.2 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.3 9.3.1 9.3.2 9.3.3 9.3.4 9.3.5 9.4 9.5 9.5.1 9.5.2 xii MAROUHT9102171E REV F Program Type ............................................................................................................ Multi-Arm Main ........................................................................................................ Head of Family .......................................................................................................... Family Members ........................................................................................................ Procedure for Accessing and/or Changing Program Detail Information................................... COLLECTIONS .......................................................................................................... Overview ................................................................................................................... Adding to a Collection .................................................................................................. Displaying a Collection ................................................................................................. LINE NUMBER AND PROGRAM END MARKER ........................................................ MACROS ................................................................................................................. Overview .................................................................................................................. Writing a Macro .......................................................................................................... Setting Up Macros ...................................................................................................... Executing Macros ...................................................................................................... Assigning I/O and Recording Positions in Macro Command Programs ................................. HandlingTool Macro Commands ................................................................................... Creating a Macro Program ........................................................................................... ICON (TOUCH PANEL) EDITOR .................................................................................. Displaying/Exiting the Icon (Touch Panel) Editor ............................................................... Using the Icon Editor .................................................................................................... MODIFYING A PROGRAM IN THE BACKGROUND (BACKGROUND EDITING) ................................................................................................................. Overview .................................................................................................................. Background Edit Process Flow ..................................................................................... Background Editing Using the iPendant .......................................................................... Modifying a Program in the Background ........................................................................ Troubleshooting Background Edit ................................................................................. DISPLAYING A PROGRAM IN THE BACKGROUND (BACKGROUND LOOK)................ SETTING PROGRAM STORAGE CONFIGURATION ..................................................... User Interface ............................................................................................................. Maximum Program Size ............................................................................................... KAREL Control of STORAGE ....................................................................................... File Formats................................................................................................................ Storage When Loading from a File .................................................................................. Backup and restore ..................................................................................................... Issues relating to SHADOW programs ............................................................................. 8–43 8–43 8–43 8–43 8–43 8–47 8–47 8–47 8–48 8–49 8–50 8–50 8–50 8–50 8–56 8–59 8–60 8–62 8–62 8–62 8–64 TESTING A PROGRAM AND RUNNING PRODUCTION ......................................... OVERVIEW ............................................................................................................... PROGRAM PAUSE AND RECOVERY ........................................................................... Program Pause and Recovery Overview ............................................................................ EMERGENCY STOP and Recovery ................................................................................ HOLD and Recovery .................................................................................................... Setting Tolerance for Resuming a Program ........................................................................ Disable Fault Checking ............................................................................................... TEST CYCLE ........................................................................................................... Test Cycle Overview ................................................................................................... Test Cycle Setup ........................................................................................................ Single Step Testing ..................................................................................................... Continuous Testing ..................................................................................................... Monitoring Programs .................................................................................................. RELEASE WAIT ....................................................................................................... PRODUCTION OPERATION ...................................................................................... Production Operation Overview .................................................................................... Standard Operator Panel Cycle Start Production ............................................................... 9–1 9–2 9–3 9–3 9–3 9–5 9–6 9–11 9–15 9–15 9–15 9–17 9–23 9–27 9–28 9–28 9–28 9–30 8–70 8–70 8–71 8–73 8–74 8–76 8–78 8–78 8–81 8–83 8–84 8–84 8–84 8–85 8–85 MAROUHT9102171E REV F 9.5.3 9.5.4 9.5.5 9.6 9.6.1 9.6.2 9.6.3 9.7 Chapter 10 10.1 10.1.1 10.1.2 10.1.3 10.1.4 10.1.5 10.2 10.3 10.4 10.4.1 10.4.2 10.4.3 10.4.4 10.4.5 10.4.6 10.5 10.6 10.7 10.7.1 10.7.2 10.7.3 10.7.4 10.7.5 10.7.6 10.7.7 10.7.8 10.7.9 10.7.10 10.7.11 10.8 10.8.1 10.8.2 10.9 10.9.1 10.9.2 10.9.3 10.9.4 10.9.5 10.10 10.10.1 10.10.2 10.10.3 10.10.4 10.10.5 10.11 Contents User Operator Panel Start ............................................................................................ Robot Service Request (RSR) Production Start ................................................................ Program Number Select (PNS) and UOP Production Start .................................................. ADJUSTING A PROGRAM (PROG ADJUST) ............................................................... Overview .................................................................................................................. Adjusting a Program or a Schedule ................................................................................ Error Handling ........................................................................................................... MAINTENANCE AND REPAIR .................................................................................. 9–32 9–33 9–34 9–36 9–36 9–36 9–44 9–46 GENERAL SETUP ............................................................................................... 10–1 PRODUCTION OPERATION SETUP ........................................................................... 10–3 Production Operation Setup Overview ............................................................................ 10–3 Robot Service Request (RSR) Setup .............................................................................. 10–7 Program Number Select (PNS) Setup ........................................................................... 10–11 Style Name Setup ..................................................................................................... 10–16 OTHER Program Select Mode .................................................................................... 10–21 AXIS LIMITS SETUP .............................................................................................. 10–22 BRAKE TIMERS SETUP ......................................................................................... 10–25 GENERAL SETUP SCREEN ..................................................................................... 10–30 Overview ................................................................................................................ 10–30 Brake on Hold Setup ................................................................................................. 10–30 Current Language Setup ............................................................................................ 10–31 Ignore Offset Setup ................................................................................................... 10–32 Ignore Tool Offset Setup ............................................................................................ 10–33 Enable VOFFSET Setup ............................................................................................ 10–33 USER ALARM SETUP ............................................................................................ 10–34 OVERRIDE SELECT SETUP .................................................................................... 10–37 PASSWORD SETUP ................................................................................................ 10–40 Password Operations Overview ................................................................................... 10–40 Install User Password Operations ................................................................................ 10–41 Disabling Passwords ................................................................................................. 10–44 Disabling Passwords without INSTALL login ................................................................. 10–45 Program and Set Up User Password Operations .............................................................. 10–46 Configuring Passwords .............................................................................................. 10–50 Password Log .......................................................................................................... 10–67 Password Level Screen Permissions .............................................................................. 10–69 USB Password Function .............................................................................................. 10–71 Using KCL with Passwords Enabled ............................................................................ 10–72 Password Auto Login Function ..................................................................................... 10–74 ERROR SEVERITY TABLE ..................................................................................... 10–75 Error Severity Table Overview .................................................................................... 10–75 Modifying Error Severity ........................................................................................... 10–75 ERROR CODE OUTPUT SETUP (OPTION) ................................................................ 10–80 Error Code Output Setup Overview ............................................................................. 10–80 Method 1: Output Errors Using 33 Digital Outputs ......................................................... 10–80 Method 2: Output Errors Using 3 Group Outputs ........................................................... 10–84 Output Error Parameters ............................................................................................ 10–86 Procedure ............................................................................................................... 10–86 ROBOT PAYLOAD SETTING ................................................................................... 10–87 Overview ................................................................................................................ 10–87 Setting the Active Payload Schedule ............................................................................ 10–88 Setup of Payload Schedules ........................................................................................ 10–90 Using Payload Ident. (J669) to Set Up Payload Schedules ................................................ 10–94 Setting Up Arm Load Information .............................................................................. 10–107 STROKE LIMIT SETUP .......................................................................................... 10–108 xiii Contents 10.12 Chapter 11 11.1 11.1.1 11.1.2 11.1.3 11.2 11.3 11.4 11.4.1 11.4.2 11.4.3 11.4.4 11.4.5 11.4.6 11.5 11.5.1 11.6 11.6.1 11.6.2 11.7 11.8 11.9 11.10 11.11 11.12 11.13 11.14 11.15 11.16 11.16.1 11.16.2 11.16.3 11.16.4 11.16.5 11.16.6 11.16.7 11.16.8 11.16.9 11.17 11.18 11.19 11.20 11.21 11.21.1 11.21.2 11.21.3 11.22 11.23 11.24 xiv MAROUHT9102171E REV F SYSTEM CONFIGURATION SETUP ........................................................................ STATUS DISPLAYS AND INDICATORS ................................................................ STATUS DISPLAYS AND INDICATORS ...................................................................... Overview .................................................................................................................. Teach Pendant Status Indicators .................................................................................... Standard Operator Panel Status Indicators ....................................................................... CLOCK STATUS ....................................................................................................... EXECUTION HISTORY ............................................................................................. MAINTENANCE REMINDER ...................................................................................... Overview ................................................................................................................... Main Menu ................................................................................................................. Setup ....................................................................................................................... Check Maintenance Time and Complete Maintenance ....................................................... Maintenance Record ................................................................................................... Robot Setting ............................................................................................................ MEMORY STATUS ................................................................................................. Checking Memory .................................................................................................... NOTIFICATIONS ..................................................................................................... Overview ................................................................................................................. Notifications Screen ................................................................................................... PALLET REGISTER STATUS ................................................................................... POSITION REGISTER STATUS ................................................................................. POSITION STATUS ................................................................................................. POWER CONSUMPTION MONITOR.......................................................................... PROCESS AXES STATUS (OPTION) .......................................................................... PROGRAM TIMER STATUS .................................................................................... PROGRAM or PRODUCTION STATUS ...................................................................... PROGRAM MONITOR STATUS ............................................................................... REGISTER STATUS ................................................................................................ ROBOT AXES STATUS ........................................................................................... Overview ................................................................................................................ Status 1 Screen ........................................................................................................ Status 2 Screen ........................................................................................................ Pulse Screen ............................................................................................................ Torque Monitor Screen .............................................................................................. Tracking Screen ....................................................................................................... Disturbance Torque Screen ......................................................................................... Servo Diagnosis ....................................................................................................... Procedure ............................................................................................................... STOP SIGNAL STATUS ........................................................................................... STRING REGISTER STATUS ..................................................................................... SYSTEM TIMER STATUS ........................................................................................ SYSTEM VARIABLE STATUS .................................................................................. TURN NUMBER DISPLAY ...................................................................................... Overview ................................................................................................................ Usual Configuration .................................................................................................. $SCR_GRP[group].$turn_axis[i] System Variable .......................................................... USER SCREEN STATUS .......................................................................................... VERSION IDENTIFICATION STATUS ...................................................................... VISUAL DIAGNOSTICS ........................................................................................... 10–109 11–1 11–3 11–3 11–3 11–4 11–5 11–6 11–8 11–8 11–9 11–10 11–14 11–17 11–20 11–21 11–21 11–23 11–23 11–24 11–26 11–27 11–31 11–33 11–34 11–35 11–38 11–39 11–40 11–42 11–42 11–43 11–46 11–47 11–48 11–48 11–49 11–50 11–57 11–57 11–59 11–62 11–64 11–65 11–65 11–66 11–69 11–70 11–71 11–76 MAROUHT9102171E REV F Contents 11.24.1 Overview ................................................................................................................. 11.24.2 Creating and Editing Visual Diagnostic Screens ............................................................... 11.24.3 Managing Screens ...................................................................................................... 11.24.4 Viewing Visual Diagnostic Screens ............................................................................... 11–76 11–78 11–88 11–90 Chapter 12 PROGRAM AND FILE MANIPULATION ............................................................... 12.1 STORAGE DEVICES ................................................................................................. 12.1.1 Overview .................................................................................................................. 12.1.2 Storage Device Hints .................................................................................................... 12.1.3 Setting the Default Device ........................................................................................... 12.1.4 Setting Up a Port ...................................................................................................... 12.1.5 Using a Memory Card or USB Memory Stick Interface ................................................... 12.1.6 Formatting Devices .................................................................................................. 12.1.7 Subdirectories .......................................................................................................... 12.2 MANIPULATING PROGRAMS ................................................................................ 12.2.1 Overview ................................................................................................................ 12.2.2 Selecting Programs On the SELECT Menu ................................................................... 12.2.3 Saving Programs ...................................................................................................... 12.2.4 Loading Programs .................................................................................................... 12.2.5 Copying Programs Within the SELECT Menu ............................................................... 12.2.6 Deleting Programs from the SELECT Menu .................................................................. 12.2.7 Saving Files as ASCII ............................................................................................... 12.2.8 Filtering Programs in the Select List .............................................................................. 12.3 MANIPULATING FILES .......................................................................................... 12.3.1 Overview ................................................................................................................ 12.3.2 Altering the FILE Menu View .................................................................................... 12.3.3 Generating a Directory of Files ................................................................................... 12.3.4 Backing Up Files ..................................................................................................... 12.3.5 Loading and Restoring Files to Controller Memory ......................................................... 12.3.6 Conversion of PC Files .............................................................................................. 12.3.7 Auto Software Update................................................................................................. 12.3.8 Displaying Text (ASCII) Files .................................................................................... 12.3.9 Copying Files .......................................................................................................... 12.3.10 Deleting Files .......................................................................................................... 12.3.11 Saving Files ............................................................................................................ 12.3.12 Checking File Memory .............................................................................................. 12.4 AUTOMATIC BACKUP ........................................................................................... 12.4.1 Overview ................................................................................................................ 12.4.2 Automatic Backup .................................................................................................... 12.5 TROUBLESHOOTING FILE BACKUP OR AUTOMATIC BACKUP ERRORS ................ 12.6 IMAGE BACKUP .................................................................................................... 12.6.1 Overview ................................................................................................................ 12.6.2 Performing an Image Backup ..................................................................................... 12.6.3 Restoring an Image Backup ........................................................................................ 12.7 ASCII PROGRAM LOADER (formerly known as ASCII UPLOAD) ................................ 12.7.1 Overview ................................................................................................................ 12.7.2 Loading an ASCII Teach Pendant Program From the Teach Pendant .................................. 12.7.3 Loading an ASCII Teach Pendant Program from KCL ..................................................... 12.7.4 Viewing ASCII Program Loader Errors ........................................................................ 12.7.5 Example ASCII File ................................................................................................. 12–1 12–3 12–3 12–9 12–9 12–11 12–15 12–19 12–23 12–24 12–24 12–25 12–26 12–27 12–29 12–30 12–32 12–33 12–34 12–34 12–39 12–41 12–42 12–48 12–53 12–53 12–54 12–55 12–57 12–59 12–62 12–62 12–62 12–63 12–67 12–70 12–70 12–71 12–74 12–76 12–76 12–77 12–80 12–81 12–82 INPUT/OUTPUT (I/O) SETUP ............................................................................... OVERVIEW ............................................................................................................. Overview .................................................................................................................. Hardware .................................................................................................................. Kinds of I/O .............................................................................................................. SETTING UP I/O ....................................................................................................... 13–1 13–3 13–3 13–3 13–3 13–5 Chapter 13 13.1 13.1.1 13.1.2 13.1.3 13.2 xv Contents 13.2.1 Overview .................................................................................................................. 13.2.2 Configuring I/O ......................................................................................................... 13.2.3 Adding Comments About I/O ....................................................................................... 13.2.4 Complementary Output Signals and Polarity .................................................................... 13.2.5 Simulating I/O ........................................................................................................... 13.2.6 Controlling Outputs .................................................................................................... 13.2.7 Memory Image Port Assignment ................................................................................. 13.2.8 Procedure for Setting Up I/O ...................................................................................... 13.2.9 Custom I/O ............................................................................................................. 13.3 DISTRIBUTED (MODEL B) I/O SETUP ..................................................................... 13.3.1 Overview ................................................................................................................ 13.3.2 Setting the DIP Switches ........................................................................................... 13.3.3 Setting Up the Basic Digital I/O Units .......................................................................... 13.3.4 Setting Up User I/O .................................................................................................. 13.4 ROBOT I/O SETUP ................................................................................................. 13.5 STANDARD OPERATOR PANEL (SOP) I/O SETUP .................................................... 13.6 SETTING UP I/O LINK DEVICES ............................................................................. 13.6.1 Overview ................................................................................................................ 13.6.2 I/O Link Devices ...................................................................................................... 13.6.3 Process I/O ............................................................................................................. 13.6.4 Model A I/O ............................................................................................................ 13.6.5 Model B I/O ............................................................................................................ 13.6.6 I/O Link Device Screen ............................................................................................. 13.6.7 I/O Link Connection ................................................................................................. 13.6.8 FANUC I/O Link Connection Unit .............................................................................. 13.6.9 Setting the Number of Ports ....................................................................................... 13.7 I/O INTERCONNECT SETUP ................................................................................... 13.8 CONTROLLING I/O ................................................................................................ 13.8.1 Overview ................................................................................................................ 13.8.2 Forcing Outputs ....................................................................................................... 13.8.3 Simulating Inputs and Outputs .................................................................................... 13.8.4 Output When WAITing on Input ................................................................................... 13.9 USER OPERATOR PANEL (UOP) SIGNAL DEFINITION ............................................. 13.9.1 Overview ................................................................................................................ 13.9.2 UOP Input Signals .................................................................................................... 13.9.3 UOP Output Signals ................................................................................................. 13.10 HANDLINGTOOL CELL INTERFACE I/O SIGNALS .................................................. 13.10.1 Overview ................................................................................................................ 13.10.2 HandlingTool Cell Interface I/O Signals ....................................................................... 13.10.3 Custom I/O ............................................................................................................. 13–5 13–5 13–9 13–9 13–9 13–9 13–10 13–10 13–25 13–26 13–26 13–28 13–31 13–33 13–33 13–38 13–41 13–41 13–41 13–41 13–42 13–42 13–43 13–45 13–47 13–53 13–55 13–61 13–61 13–61 13–62 13–63 13–65 13–65 13–67 13–73 13–76 13–76 13–76 13–83 ADVANCED FUNCTIONS .................................................................................... ADAPTIVE PROCESS CONTROL .............................................................................. Overview .................................................................................................................. Setting Up Input Parameters ....................................................................................... Setting Up Output Parameters ..................................................................................... Setting Up Map Functions .......................................................................................... Setting Up Options ................................................................................................... Adding the APC Instructions To a Program ................................................................... ANGLE ENTRY SHIFT FUNCTION .......................................................................... AUTO BACKWARD EXIT ......................................................................................... Overview ................................................................................................................. Specifications ............................................................................................................ Programming ............................................................................................................ AUTOMATIC ERROR RECOVERY (OPTION) ........................................................... Overview ................................................................................................................ 14–1 14–8 14–8 14–10 14–11 14–13 14–16 14–17 14–18 14–23 14–23 14–24 14–28 14–28 14–28 Chapter 14 14.1 14.1.1 14.1.2 14.1.3 14.1.4 14.1.5 14.1.6 14.2 14.3 14.3.1 14.3.2 14.3.3 14.4 14.4.1 xvi MAROUHT9102171E REV F MAROUHT9102171E REV F 14.4.2 14.4.3 14.4.4 14.4.5 14.4.6 14.4.7 14.4.8 14.4.9 14.5 14.5.1 14.5.2 14.5.3 14.5.4 14.5.5 14.6 14.6.1 14.6.2 14.6.3 14.6.4 14.6.5 14.6.6 14.7 14.7.1 14.7.2 14.7.3 14.8 14.8.1 14.8.2 14.8.3 14.9 14.9.1 14.9.2 14.9.3 14.9.4 14.9.5 14.10 14.10.1 14.10.2 14.10.3 14.10.4 14.10.5 14.10.6 14.11 14.11.1 14.11.2 14.11.3 14.11.4 14.11.5 14.11.6 14.11.7 14.11.8 14.12 14.12.1 14.12.2 14.12.3 14.12.4 14.12.5 Contents Features .................................................................................................................. Limitations ............................................................................................................. I/O Interface ............................................................................................................ Setup ..................................................................................................................... Programming .......................................................................................................... Testing ................................................................................................................... Error Recovery Manual Function ................................................................................ I/O Timing Sequence ................................................................................................ AUXILIARY AXIS SERVO OFF (LOCAL STOP) FUNCTION ........................................ Specifications ............................................................................................................ Limitations ............................................................................................................... Settings .................................................................................................................... Additional Information ............................................................................................... Programming ............................................................................................................ BRAKE CHECK FUNCTION ..................................................................................... Overview ................................................................................................................. Setup ....................................................................................................................... Start Brake Check ...................................................................................................... Result of Brake Check ................................................................................................ Limitations ............................................................................................................... Caution .................................................................................................................... CENTER FINDER ................................................................................................... Overview ................................................................................................................ Using Center Finder .................................................................................................. Troubleshooting ....................................................................................................... COLLISION DETECTION FOR AUXILIARY AXIS ...................................................... Overview ................................................................................................................. Initial Setting ............................................................................................................ Tuning Procedure ....................................................................................................... COLLISION GUARD ............................................................................................... Overview ................................................................................................................ Limitations ............................................................................................................. Falsely Detected Collisions ........................................................................................ Setup ..................................................................................................................... Programmed Motion ................................................................................................. COLLISION RECOVERY (formerly known as Automatic Collision Recovery) ................... Overview ................................................................................................................ Enabling and Disabling Collision Recovery ................................................................... Collision Recovery Setup ........................................................................................... Mode 1 of Collision Recovery .................................................................................... Mode 2 of Collision Recovery .................................................................................... Limitations ............................................................................................................. CONDITION MONITOR FUNCTION ........................................................................ Overview ................................................................................................................ Monitors ................................................................................................................. Monitor State .......................................................................................................... Monitor Instructions ................................................................................................. Condition Handler Program ........................................................................................ Conditions .............................................................................................................. Condition Menu ....................................................................................................... Restrictions ............................................................................................................. CONTINUOUS TURN FUNCTION (OPTION) ............................................................. OVERVIEW .......................................................................................................... HARDWARE AND SOFTWARE ................................................................................ GENERAL SETUP ................................................................................................. OPERATIONAL RULES ......................................................................................... PROGRAMMING ................................................................................................... 14–29 14–30 14–31 14–32 14–39 14–42 14–43 14–45 14–50 14–51 14–53 14–54 14–57 14–58 14–63 14–63 14–63 14–64 14–65 14–65 14–66 14–66 14–66 14–67 14–74 14–74 14–74 14–75 14–75 14–77 14–77 14–78 14–78 14–78 14–80 14–84 14–84 14–84 14–84 14–86 14–88 14–89 14–90 14–90 14–91 14–92 14–93 14–94 14–94 14–95 14–98 14–104 14–104 14–106 14–107 14–110 14–115 xvii Contents MAROUHT9102171E REV F 14.12.6 TROUBLESHOOTING ............................................................................................. 14.12.7 NOTES AND RESTRICTIONS ................................................................................. 14.12.8 SPECIAL KAREL REMASTERING PROGRAM FOR HANDLING CONTINUOUS ROTATING AXES.................................................................................................... 14.12.9 GEAR INFORMATION ........................................................................................... 14.12.10 SPIRAL CLADDING ................................................................................................ 14.13 COORDINATES OFFSET FUNCTION ...................................................................... 14.13.1 Using the Coordinates Offset Function ........................................................................ 14.13.2 Tool Frame Offset Function ....................................................................................... 14.13.3 User Frame Offset Function ...................................................................................... 14.14 CYCLE TIME LOGGING AND DISPLAY ................................................................. 14.14.1 Overview ............................................................................................................... 14.14.2 Modes ................................................................................................................... 14.14.3 Tracking Cycle Time ................................................................................................ 14.15 DATA MONITOR ................................................................................................... 14.15.1 Overview ............................................................................................................... 14.15.2 Data Monitor Setup ................................................................................................. 14.15.3 Data Monitor Schedule ............................................................................................. 14.15.4 Data Monitor Programming ....................................................................................... 14.15.5 Data Monitor Chart ................................................................................................... 14.15.6 Data Monitor Operation ............................................................................................. 14.16 DISTANCE BEFORE .............................................................................................. 14.16.1 Overview ............................................................................................................... 14.16.2 Specification .......................................................................................................... 14.16.3 Program Instruction ................................................................................................. 14.16.4 Distance Value ........................................................................................................ 14.16.5 Action ................................................................................................................... 14.16.6 Changing the Trigger Condition ................................................................................. 14.16.7 Alarms Posted When Distance Before is Not Triggered .................................................. 14.16.8 Single Step Execution .............................................................................................. 14.16.9 Hold and Resume .................................................................................................... 14.16.10 Resume After Jogging .............................................................................................. 14.16.11 Power Failure Recovery ........................................................................................... 14.16.12 Adding the Distance Before Motion Option (Procedure) ................................................. 14.16.13 Cautions and Limitations .......................................................................................... 14.16.14 System Variables ..................................................................................................... 14.16.15 Error Codes ............................................................................................................ 14.17 DUAL MOTOR DRIVE ............................................................................................ 14.17.1 Introduction ............................................................................................................. 14.17.2 Setup ...................................................................................................................... 14.18 EASY NORMAL UTILITY (formerly known as Auto Normal Utility) .............................. 14.18.1 Overview ............................................................................................................... 14.18.2 Using the Easy Normal Utility ................................................................................... 14.18.3 Setup .................................................................................................................... 14.18.4 Execution .............................................................................................................. 14.19 EASY TEACH SUITE (formerly known as Simple Teach Suite) ....................................... 14.19.1 Overview ............................................................................................................... 14.19.2 Auto Path Smoothing ............................................................................................... 14.20 ENHANCED MIRROR IMAGE (OPTION) ................................................................ 14.21 EXECUTING MULTIPLE PROGRAMS (MULTI-TASKING) ........................................ 14.21.1 Overview ............................................................................................................... 14.21.2 Guidelines ............................................................................................................. 14.21.3 Synchronizing the Execution of Multiple Programs ........................................................ 14.21.4 Effect of Multi-Tasking on Dedicated I/O Signals .......................................................... 14.21.5 Standard Operator Panel (SOP) Cycle Start Execution .................................................... 14.21.6 Program Number Select (PNS) Execution .................................................................... 14.21.7 RUN Program Instruction Execution ........................................................................... xviii 14–118 14–120 14–121 14–123 14–135 14–136 14–136 14–140 14–143 14–147 14–147 14–149 14–151 14–155 14–155 14–157 14–161 14–165 14–166 14–168 14–169 14–169 14–169 14–170 14–170 14–172 14–173 14–175 14–176 14–176 14–179 14–181 14–181 14–183 14–184 14–187 14–187 14–187 14–188 14–189 14–189 14–190 14–194 14–196 14–196 14–196 14–197 14–206 14–224 14–224 14–224 14–225 14–225 14–226 14–227 14–228 MAROUHT9102171E REV F 14.21.8 14.22 14.22.1 14.22.2 14.22.3 14.23 14.23.1 14.23.2 14.23.3 14.24 14.24.1 14.24.2 14.24.3 14.25 14.25.1 14.25.2 14.25.3 14.25.4 14.26 14.26.1 14.26.2 14.26.3 14.26.4 14.26.5 14.26.6 14.26.7 14.26.8 14.26.9 14.26.10 14.26.11 14.26.12 14.26.13 14.26.14 14.26.15 14.26.16 14.26.17 14.26.18 14.26.19 14.26.20 14.27 14.27.1 14.27.2 14.27.3 14.27.4 14.28 14.29 14.29.1 14.29.2 14.29.3 14.29.4 14.29.5 14.29.6 14.29.7 14.30 14.31 14.31.1 Contents Single Step Program Execution .................................................................................. GRAVITY COMPENSATION ................................................................................... System Variables ..................................................................................................... MOTION Screen ..................................................................................................... Mastering ............................................................................................................... GROUP MASK EXCHANGE ................................................................................... Overview ............................................................................................................... Setting Up Group Mask Exchange .............................................................................. Troubleshooting Group Mask Exchange ...................................................................... HIGH SPEED INPUT FUNCTIONS .......................................................................... Overview ............................................................................................................... Frequency Interface ................................................................................................. High Speed Scanning (for Line Tracking Part Detect). ................................................... HIGH SPEED POSITION OUTPUT ............................................................................ Overview ................................................................................................................ Functions ................................................................................................................ Data formats ............................................................................................................ Setup ...................................................................................................................... INTERFACE PANEL ................................................................................................ Overview ................................................................................................................ Displaying the Interface Panel ..................................................................................... Interface Panel ......................................................................................................... Interface Panel Setup Screen ....................................................................................... Button Type Setup Screen ........................................................................................... Setting of Button Type ............................................................................................... Button Detail Setup Screen ......................................................................................... Type of Button ......................................................................................................... Common Properties ................................................................................................... Operation Condition .................................................................................................. Push Button ............................................................................................................. Push Button Lamp .................................................................................................... 2 Contact Point Switch ............................................................................................... Lamp ...................................................................................................................... Digital Switch .......................................................................................................... Digital Display ......................................................................................................... Miscellaneous Setting Screen ...................................................................................... External I/F Panel Selection Setup Screen ...................................................................... Backup and Restore ................................................................................................... Limitations .............................................................................................................. JOG RETRACT & RETURN ...................................................................................... Overview ................................................................................................................ Sequence of Operations .............................................................................................. Setup and I/O Menus ................................................................................................. Operation ................................................................................................................ LIMIT SET ............................................................................................................ MENU UTILITY (OPTION) ..................................................................................... Overview ............................................................................................................... Prompt Box Message Menu ....................................................................................... Prompt Box Yes/No Menu ........................................................................................ List Menu .............................................................................................................. Status Menu ........................................................................................................... Operator Entry Menu ............................................................................................... Using Your Teach Pendant Menus .............................................................................. MIRROR IMAGE UTILITY ..................................................................................... MONITORING PROGRAMS ................................................................................... Montioring Teach Pendant Programs ........................................................................... 14–228 14–230 14–230 14–231 14–232 14–235 14–235 14–236 14–237 14–238 14–238 14–239 14–239 14–239 14–239 14–239 14–240 14–241 14–242 14–242 14–244 14–245 14–248 14–250 14–253 14–255 14–260 14–260 14–263 14–267 14–269 14–272 14–274 14–276 14–278 14–280 14–283 14–284 14–285 14–285 14–285 14–286 14–286 14–288 14–291 14–293 14–293 14–295 14–300 14–306 14–313 14–324 14–333 14–334 14–348 14–348 xix Contents 14.32 14.32.1 14.32.2 14.32.3 14.32.4 14.32.5 14.33 14.33.1 14.33.2 14.33.3 14.33.4 14.34 14.34.1 14.34.2 14.34.3 14.35 14.35.1 14.35.2 14.35.3 14.36 14.36.1 14.36.2 14.36.3 14.36.4 14.36.5 14.37 14.38 14.39 14.39.1 14.39.2 14.40 14.40.1 14.40.2 14.40.3 14.40.4 14.40.5 14.41 14.41.1 14.41.2 14.41.3 14.41.4 14.42 14.42.1 14.42.2 14.43 14.44 14.45 14.45.1 14.45.2 14.45.3 14.45.4 14.45.5 14.45.6 14.45.7 xx MAROUHT9102171E REV F MOTION GROUP DO OUTPUT FUNCTION (MULTIPLE MOTION GROUP OPTION) ............................................................................................................... Overview ............................................................................................................... Restrictions ............................................................................................................ Operations ............................................................................................................. Setup .................................................................................................................... Subprogram and Multi-tasking Execution .................................................................... MOTION START DELAY DETECTION FUNCTION ................................................... Overview ............................................................................................................... Restrictions ............................................................................................................ Detection Information and System Variables ................................................................. Motion Start Delay Detection Function Example ........................................................... OPERATION LOG BOOK [OPTION] ........................................................................ Overview ............................................................................................................... Recorded Events ..................................................................................................... Operations ............................................................................................................. OPERATIONS WITHOUT A TEACH PENDANT ......................................................... OVERVIEW ............................................................................................................ SETUP ................................................................................................................... OPERATIONS ......................................................................................................... OPERATIONS WITHOUT A MODE SWITCH ............................................................. Overview ................................................................................................................ Setup ...................................................................................................................... TP MODE SELECT Function ..................................................................................... External Mode Select Function .................................................................................... Optional Mode Switch ............................................................................................... ORIGINAL PATH RESUME ..................................................................................... PATH SWITCHING FUNCTION ................................................................................ PAYLOAD CONFIRM ............................................................................................ Overview ............................................................................................................... Payload Setting and Payload Over Confirm .................................................................. POSITION BUMPBOX (formerly known as Bump Box) ................................................ Overview ............................................................................................................... Setting Up Position BumpBox Schedules ..................................................................... Setting Up Position BumpBox I/O .............................................................................. Position BumpBox with Coordinated Motion - Overview ................................................. Bump Frames for Normal and Coordinated Motion ......................................................... POSITION REGISTER LOOK-AHEAD EXECUTION FUNCTION ............................... Overview ............................................................................................................... Program Instructions ................................................................................................ Program Example .................................................................................................... Execution .............................................................................................................. PROCESS AXES...................................................................................................... BASIC PROCESS AXES (R689)................................................................................. EXTERNAL PROCESS AXES CONTROL (R824) ........................................................ PROGRAM SHIFT UTILITY ................................................................................... REFERENCE POSITION UTILITY ........................................................................... RESUME OFFSET ................................................................................................. Limitations of Resume Offset .................................................................................... Constant Path Resume Offset ..................................................................................... Limitations of Constant Path Resume Offset ................................................................. Non-Constant Path Resume Offset .............................................................................. Limitations of non-Constant Path Resume Offset ........................................................... Selecting Resume Offset Type ................................................................................... Resume Offset Setup Menu ....................................................................................... 14–350 14–350 14–350 14–350 14–351 14–352 14–353 14–353 14–353 14–354 14–355 14–356 14–356 14–359 14–364 14–368 14–368 14–370 14–370 14–401 14–402 14–402 14–404 14–410 14–412 14–412 14–415 14–423 14–423 14–424 14–427 14–427 14–428 14–435 14–437 14–440 14–447 14–447 14–449 14–449 14–450 14–450 14–450 14–458 14–461 14–473 14–476 14–476 14–476 14–477 14–477 14–478 14–478 14–479 MAROUHT9102171E REV F 14.45.8 14.46 14.46.1 14.46.2 14.46.3 14.46.4 14.46.5 14.46.6 14.47 14.47.1 14.47.2 14.47.3 14.47.4 14.48 14.48.1 14.48.2 14.48.3 14.49 14.49.1 14.49.2 14.49.3 14.49.4 14.49.5 14.50 14.50.1 14.50.2 14.50.3 14.50.4 14.50.5 14.50.6 14.50.7 14.50.8 14.51 14.51.1 14.51.2 14.51.3 14.52 14.52.1 14.52.2 14.52.3 14.52.4 14.52.5 14.52.6 14.52.7 14.52.8 14.53 14.54 14.54.1 14.54.2 14.55 14.55.1 14.55.2 14.55.3 14.55.4 14.55.5 14.55.6 Contents System Variables ..................................................................................................... ROBOT-PC COMMUNICATIONS MACROS ............................................................. Overview ............................................................................................................... Send Event ( ) ......................................................................................................... Send Data( ) ........................................................................................................... Send SysVar( ) ........................................................................................................ Get Data( ) ............................................................................................................. Request Menu( ) ..................................................................................................... RSI INTERFACE ..................................................................................................... Format of the data sent by the robot .............................................................................. Setting .................................................................................................................... KAREL Programs and Builtins .................................................................................... Details .................................................................................................................... SAFETY SPACE (OPTION) ..................................................................................... Overview ............................................................................................................... Requirements ......................................................................................................... Operation ............................................................................................................... SERVO TOOL (Option) ........................................................................................... Benefits ................................................................................................................. Limitations ............................................................................................................ Program Instruction ................................................................................................. Setup .................................................................................................................... Detection................................................................................................................. SHAPE GENERATION 3 (OPTION) .......................................................................... Overview ............................................................................................................... Quick Start Hints .................................................................................................... Shape Setup ........................................................................................................... Setting Up Default Shape Data ................................................................................... Shape-Specific Shape Data for Standard Shapes ............................................................ Setting Up Custom Shape Data .................................................................................. Generating a Shape Program from UTILITIES Shape Gen .............................................. Servo Schedules ...................................................................................................... SIMULATED INPUT SKIP ...................................................................................... Overview ............................................................................................................... Setup .................................................................................................................... Operation ............................................................................................................... SINGULARITY AVOIDANCE (formerly known as Auto Singularity Avoidance) ................ Overview ............................................................................................................... How it Works ......................................................................................................... Compatibility ......................................................................................................... Limitations ............................................................................................................ Cautions ................................................................................................................ How to Use Singularity Avoidance ............................................................................. System Variable Setup .............................................................................................. Troubleshooting ...................................................................................................... SINGULARITY CHECK FUNCTION ........................................................................ SMALL CIRCLE ACCURACY .................................................................................. Servo Schedules ....................................................................................................... Tuning Guidelines ................................................................................................... SOFT FLOAT (OPTION) ......................................................................................... Overview ............................................................................................................... Restrictions ............................................................................................................ Setting Up Joint Soft Float Schedules .......................................................................... Setting Up Cartesian Soft Float Schedules .................................................................... Setting Up Pushout Soft Float Schedules ..................................................................... Program Instructions ................................................................................................ 14–480 14–480 14–480 14–481 14–482 14–483 14–484 14–485 14–486 14–487 14–489 14–491 14–495 14–496 14–496 14–496 14–496 14–497 14–498 14–498 14–499 14–500 14–502 14–503 14–503 14–504 14–505 14–507 14–510 14–521 14–523 14–532 14–533 14–533 14–533 14–535 14–537 14–537 14–538 14–539 14–539 14–540 14–543 14–548 14–549 14–551 14–552 14–552 14–553 14–556 14–556 14–557 14–559 14–561 14–562 14–565 xxi Contents 14.55.7 14.55.8 14.55.9 14.56 14.56.1 14.56.2 14.56.3 14.57 14.57.1 14.57.2 14.58 14.58.1 14.58.2 14.58.3 14.58.4 14.59 14.59.1 14.59.2 14.60 14.60.1 14.60.2 14.60.3 14.61 14.61.1 14.61.2 14.61.3 14.62 14.62.1 14.62.2 14.62.3 14.63 14.63.1 14.63.2 14.63.3 14.63.4 14.63.5 14.63.6 14.64 14.64.1 14.64.2 14.64.3 14.65 14.65.1 14.65.2 14.65.3 14.65.4 14.66 14.66.1 14.66.2 14.66.3 14.66.4 Chapter 15 15.1 15.2 xxii MAROUHT9102171E REV F General Soft Float Guidelines .................................................................................... Cartesian Soft Float Guidelines .................................................................................. Other Guidelines ..................................................................................................... SOFT OPERATOR PANEL ........................................................................................ Overview ................................................................................................................ Setup ...................................................................................................................... Operation ................................................................................................................ SPACE CHECK FUNCTION (OPTION) ..................................................................... Setting Up Space Check ........................................................................................... Limitations ............................................................................................................ STREAM MOTION .................................................................................................. Overview ................................................................................................................ Execution of Stream motion ........................................................................................ System variables ....................................................................................................... Restrictions.............................................................................................................. SYMMETRIC PART ................................................................................................. System Variables for Symmetric Parts ........................................................................... Program Examples for Symmetric Part .......................................................................... TCP SPEED OUTPUT (OPTION) ............................................................................. Overview ............................................................................................................... Setting Up TCP Speed Output ................................................................................... TCP Speed Output Program Instruction ....................................................................... TCP SPEED PREDICTION (OPTION) ....................................................................... Overview ............................................................................................................... Setting Up and Running TCP Speed Prediction ............................................................. System Variables ..................................................................................................... TEACH PENDANT SHIM ....................................................................................... Overview ............................................................................................................... Setting Up and Using TP Shim .................................................................................. Using TP Shim History to Apply Previous Shims .......................................................... TIME BEFORE/AFTER MOTION OPTION INSTRUCTION ........................................ Overview ............................................................................................................... Program Execution .................................................................................................. Execution Timing .................................................................................................... Recording a TIME BEFORE/AFTER Instruction .......................................................... TIME BEFORE Instruction Program Example .............................................................. Programming Hints ................................................................................................. TORQUE LIMIT .................................................................................................... Introduction ........................................................................................................... Specification .......................................................................................................... Restriction ............................................................................................................. TOUCH SKIP (formerly known as Collision Skip) .......................................................... Overview ................................................................................................................ Touch Skip Screen .................................................................................................... Touch Skip Programs ................................................................................................. Cautions .................................................................................................................. XVR ACCESS FUNCTION ....................................................................................... Overview ................................................................................................................ Configuration ........................................................................................................... Export Function (Backup)........................................................................................... Import Function (Restore)........................................................................................... FANUC SENSOR INTERFACE ............................................................................. OVERVIEW ............................................................................................................. COMMUNICATION PROTOCOL ................................................................................ 14–567 14–569 14–574 14–576 14–576 14–578 14–579 14–584 14–586 14–594 14–595 14–595 14–603 14–604 14–605 14–606 14–608 14–608 14–609 14–609 14–611 14–612 14–614 14–614 14–615 14–616 14–628 14–628 14–631 14–634 14–636 14–636 14–636 14–639 14–640 14–641 14–642 14–643 14–643 14–644 14–645 14–646 14–646 14–646 14–647 14–648 14–648 14–648 14–649 14–649 14–651 15–1 15–2 15–2 MAROUHT9102171E REV F 15.2.1 15.2.2 15.2.3 15.2.4 15.3 15.4 Chapter 16 16.1 16.1.1 16.1.2 16.1.3 16.2 16.2.1 16.2.2 16.2.3 16.2.4 16.2.5 16.2.6 16.2.7 16.2.8 16.3 16.3.1 16.3.2 16.3.3 16.3.4 16.3.5 16.3.6 16.3.7 16.3.8 16.3.9 16.4 16.4.1 16.4.2 16.4.3 16.4.4 16.4.5 16.4.6 16.4.7 16.5 16.5.1 16.5.2 16.5.3 16.5.4 16.5.5 16.5.6 16.5.7 16.6 16.6.1 16.6.2 16.6.3 16.6.4 16.6.5 16.6.6 16.6.7 16.7 16.7.1 Contents Overview .................................................................................................................. Flow Control Mechanism ............................................................................................. Data Format .............................................................................................................. Handshaking ............................................................................................................. PROGRAMMING ..................................................................................................... SENSOR SETUP AND HARDWARE CONNECTIONS ................................................... 15–2 15–2 15–3 15–4 15–7 15–7 iRCALIBRATION OPTIONS ................................................................................. 16–1 OVERVIEW ............................................................................................................. 16–3 Overview .................................................................................................................. 16–3 Torque Observer Sensor and Electrical Continuity Sensing ................................................. 16–5 iRCalibration TP Instructions ....................................................................................... 16–6 IRCALIBRATION MASTER SET ................................................................................ 16–7 Overview .................................................................................................................. 16–7 Preliminary Setup ........................................................................................................ 16–9 iRCalibration Master Set Setup ................................................................................... 16–11 Creating a Robot Calibration Teach Pendant Program ...................................................... 16–21 Running the iRCalibration Master Set Program .............................................................. 16–32 Updating the Master Count ........................................................................................ 16–34 Viewing the Calibration Result ................................................................................... 16–36 Troubleshooting iRCalibration Master Set ..................................................................... 16–38 iRCALIBRATION MASTER RECOVERY .................................................................. 16–39 Overview ................................................................................................................ 16–39 Preliminary Setup ..................................................................................................... 16–40 iRCalibration Master Recovery Setup ........................................................................... 16–42 Creating a Robot Calibration Teach Pendant Program ...................................................... 16–52 Running the iRCalibration Master Recovery Program ..................................................... 16–63 Single Axis Mastering Recovery ................................................................................. 16–66 Updating the Master Count ........................................................................................ 16–66 Viewing the Calibration Result ................................................................................... 16–68 Troubleshooting iRCalibration Mastering ...................................................................... 16–70 iRCALIBRATION TCP SET ...................................................................................... 16–71 Overview ................................................................................................................ 16–71 Preliminary Setup ..................................................................................................... 16–72 iRCalibration TCP Set Setup ...................................................................................... 16–75 Running the iRCalibration TCP Set Program .................................................................. 16–93 Displaying the UTool Log Screen ................................................................................ 16–95 iRCalibration TCP Set Error Recovery ......................................................................... 16–97 iRCalibration TCP Set Troubleshooting ........................................................................ 16–99 iRCALIBRATION TCP SHIFT .................................................................................... 16–99 Overview ................................................................................................................. 16–99 Preliminary Setup ...................................................................................................... 16–99 iRCalibration TCP Shift Setup ..................................................................................... 16–103 Running the iRCalibration TCP Shift Program ............................................................... 16–122 Displaying the UTool Log Screen ............................................................................... 16–123 iRCalibration TCP Shift Error Recovery ...................................................................... 16–125 iRCalibration TCP Shift Troubleshooting ..................................................................... 16–126 iRCALIBRATION FRAME SHIFT .............................................................................. 16–127 Overview ............................................................................................................... 16–127 Preliminary Setup .................................................................................................... 16–128 iRCalibration Frame Shift Setup ................................................................................. 16–131 Running the iRCalibration Frame Shift Program and Updating the User Frame ................... 16–150 Using iRCalibration Frame Shift with Dynamic-Uframe ................................................. 16–152 Displaying the UFrame Log Screen ............................................................................ 16–153 Troubleshooting iRCalibration Frame Shift .................................................................. 16–155 iRCALIBRATION SIGNATURE ................................................................................. 16–157 Overview ................................................................................................................ 16–157 xxiii Contents 16.7.2 16.7.3 16.7.4 16.7.5 16.7.6 16.7.7 16.7.8 16.7.9 16.8 16.8.1 16.8.2 16.8.3 16.8.4 16.8.5 16.8.6 16.9 16.9.1 16.9.2 16.9.3 16.9.4 16.9.5 16.9.6 16.9.7 MAROUHT9102171E REV F Performance ............................................................................................................ Limitations .............................................................................................................. System Variables ...................................................................................................... Entering and Exiting High Accuracy Mode .................................................................... iRCalibration Signature Status UIF............................................................................... iRCalibration Signature Custom UIF ............................................................................ iRCalibration Custom TCP/UFRAME UIF .................................................................... iRCalibration Signature Calibration PC Utility ............................................................... ACCURACY AND STIFFNESS AND ENHANCEMENT SOFTWARE PACKAGE............. Overview ................................................................................................................ Software Package...................................................................................................... Secondary Encoder Feedback ...................................................................................... iRCalibration Signature .............................................................................................. Restriction ............................................................................................................... Troubleshooting........................................................................................................ DEFLECTION COMPENSATION .............................................................................. Overview ................................................................................................................ I/O ......................................................................................................................... High Accuracy Mode ................................................................................................. Compensation Sequence ............................................................................................. Timing Diagram ....................................................................................................... System Tuning ......................................................................................................... Deflection Compensation Example Program................................................................... 16–158 16–158 16–159 16–159 16–160 16–161 16–168 16–171 16–171 16–171 16–173 16–173 16–176 16–178 16–178 16–179 16–179 16–180 16–181 16–181 16–183 16–184 16–185 Chapter 17 17.1 17.2 17.2.1 17.2.2 17.2.3 17.2.4 17.2.5 17.3 17.4 17.4.1 17.4.2 17.4.3 17.4.4 17.4.5 17.4.6 17.4.7 17.4.8 17.4.9 17.4.10 17.4.11 17.4.12 17.5 17.5.1 17.5.2 17.5.3 MATERIAL HANDLING OPTION .......................................................................... OVERVIEW ............................................................................................................. SETTING UP THE MATERIAL HANDLING TOOLS ..................................................... Overview .................................................................................................................. Setting Up Tooling Valves ............................................................................................ Setting Up Tooling Valve Signals .................................................................................. Configuring Tooling Valve I/O ...................................................................................... Controlling Valve I/O ................................................................................................ CONTROLLING A TOOLING VALVE IN MANUAL MODE ........................................ MATERIAL HANDLING VALVE MACRO PROGRAMS .............................................. Examples ................................................................................................................ Grip Part ................................................................................................................. Release Part ............................................................................................................ Part Present ............................................................................................................. Check No Part ......................................................................................................... Prepare to Pick ........................................................................................................ Clear to Proceed ....................................................................................................... Turn ON Vacuum ..................................................................................................... Turn OFF Vacuum .................................................................................................... Turn OFF Blowoff .................................................................................................... Set CurrentValve ...................................................................................................... Set MH Tool ........................................................................................................... PRODUCTION ....................................................................................................... MH Tryout Mode ..................................................................................................... Disable for 20 Cycles ................................................................................................ Alarms ................................................................................................................... 17–1 17–2 17–3 17–3 17–3 17–5 17–8 17–10 17–12 17–13 17–14 17–15 17–15 17–15 17–15 17–16 17–17 17–18 17–19 17–20 17–21 17–22 17–22 17–22 17–23 17–23 Chapter 18 18.1 18.1.1 18.1.2 18.1.3 18.2 PAINT PLUG-IN OPTION ....................................................................................... Overview ................................................................................................................... Application Instructions ................................................................................................ Configuration .............................................................................................................. Custom Setup .............................................................................................................. Paint Plug In Error Codes .............................................................................................. 18–1 18–2 18–2 18–3 18–3 18–7 xxiv MAROUHT9102171E REV F 18.3 18.4 18.4.1 18.4.2 18.5 18.5.1 Chapter 19 19.1 19.1.1 19.1.2 19.1.3 19.1.4 19.1.5 19.2 19.3 19.4 19.5 19.5.1 19.5.2 19.6 19.6.1 19.6.2 19.6.3 19.6.4 19.6.5 19.7 19.8 19.9 19.9.1 19.9.2 19.10 19.10.1 19.10.2 19.10.3 19.11 19.11.1 19.12 19.12.1 19.12.2 19.12.3 19.13 19.13.1 19.13.2 19.13.3 19.13.4 19.13.5 19.13.6 19.13.7 Chapter 20 Contents Setup ......................................................................................................................... 18–8 LR Mate Plus Controller I/O .......................................................................................... 18–8 LR Mate Plus Controller Main Board Connectors............................................................... 18–9 Mate Peripheral Device / 50 Pin Honda Connector on Connector Conversion Board ............... 18–11 Status ...................................................................................................................... 18–13 Overview ................................................................................................................. 18–13 SERVO TOOL CHANGE FUNCTION .................................................................... OVERVIEW ............................................................................................................. 1-1 Feature of function ................................................................................................ 1-2 Basic specification ................................................................................................. Restrictions ............................................................................................................... 1-4 System Configuration ............................................................................................ 1-5 Outline of installation ............................................................................................ INITIAL SETUP ........................................................................................................ PRELIMINARY TOOL ATTACH OPERATION ............................................................. TOOL CHANGE SETUP ............................................................................................ SETTING THE REFERENCE POSITION .................................................................... Battery-less type tools ............................................................................................... Battery-mounted type tools ........................................................................................ TOOL CHANGE INSTRUCTION .............................................................................. TOOL DETACH instruction ....................................................................................... TOOL ATTACH instruction ....................................................................................... Sample program ....................................................................................................... Foward execution ..................................................................................................... Backward execution .................................................................................................. TOOL CHANGE SEQUENCE ................................................................................... TOOL CHANGE STATUS ........................................................................................ TEACHING ............................................................................................................ Notice for teaching ................................................................................................... Sample program ....................................................................................................... CONSTRUCTION OF SERVO TOOL CHANGE SCREEN ............................................. INITIAL SETUP SCREEN This screen can be displayed at CONTROL START Menu. ..................................................................................................................... SETUP SCREEN ..................................................................................................... - STATUS SCREEN ................................................................................................. TOOL CHANGE INITIAL SETUP ............................................................................. Setting Motion Parameters For Servo Tool Axes ............................................................ TOOL CHANGE REFERENCE POSITION SETUP METHOD (BATTERY-LESS TYPE) .................................................................................................................... Reference Position Setup for Calibration Types 3 and 4 ................................................... Reference Position Setup for Calibration Types 5 and 6 ................................................... Quick Mastering Reference Position Setup .................................................................... TROUBLESHOOTING ............................................................................................ The Attach Instruction Is Executed When the Tool Is Not Attached. ................................... The Robot Stopped During Calibration. ........................................................................ Calibration Motion Failed. ......................................................................................... A Different Tool from That Specified by the Attach Instruction Is Attached. ........................ The Attached Tool Has Been Detached by Mistake (Without Using the Detach Instruction). ............................................................................................................. TheTool Axis of a Detached Tool Has Moved. ............................................................... The Battery Ran Low While the Tool Was Detached. ...................................................... TOUCH SENSING 19–1 19–3 19–3 19–3 19–3 19–4 19–5 19–6 19–6 19–8 19–15 19–15 19–15 19–15 19–16 19–16 19–16 19–17 19–17 19–18 19–18 19–19 19–19 19–20 19–21 19–21 19–21 19–21 19–22 19–22 19–23 19–23 19–26 19–28 19–29 19–29 19–30 19–30 19–31 19–31 19–32 19–32 ................................................................................................ 20–1 xxv Contents 20.1 20.2 20.2.1 20.2.2 20.2.3 20.2.4 20.3 20.3.1 20.3.2 20.3.3 20.3.4 20.4 20.4.1 20.4.2 20.4.3 20.4.4 20.4.5 20.4.6 20.4.7 20.5 20.5.1 20.5.2 20.5.3 20.5.4 20.5.5 20.5.6 20.5.7 20.5.8 20.5.9 20.5.10 20.6 20.6.1 20.6.2 20.6.3 20.6.4 20.7 20.7.1 20.7.2 20.7.3 20.7.4 20.8 20.8.1 20.8.2 20.8.3 20.8.4 20.8.5 Appendix A A.1 A.2 A.2.1 A.2.2 A.2.3 A.2.4 A.3 A.3.1 xxvi MAROUHT9102171E REV F OVERVIEW ............................................................................................................. ASSIGNING TOUCH SENSING I/O ............................................................................. Touch Sensing I/O Overview ........................................................................................ Touch Sensing Input Signal ........................................................................................... Touch Sensing Enable/Disable Output Signal ................................................................... Assigning the Touch Sensing Inputs and Outputs ............................................................... SETTING UP TOUCH SENSING ................................................................................. Touch Sensing Setup Overview ..................................................................................... Touch Frames .......................................................................................................... Search Pattern ......................................................................................................... Touch Schedule ....................................................................................................... TOUCH SENSING PROGRAMMING ......................................................................... Programming Overview ............................................................................................. Touch Sensing Instructions ......................................................................................... Touch Sensing Motion Option ..................................................................................... Motion Instructions Used with Touch Sensing ................................................................ Executing a Touch Sensing Program ............................................................................. Touch Sensing Robot Position Touchup ......................................................................... Programming Examples ............................................................................................. TOUCH SENSING MASTERING ............................................................................... Mastering Overview .................................................................................................. Mastering ................................................................................................................ Remastering ............................................................................................................. Offsets ................................................................................................................... Patterns ................................................................................................................... Master Flag .............................................................................................................. Touching Up Path Positions ........................................................................................ Adding New Positions ............................................................................................... Multiple Searches ...................................................................................................... Touching Up Search Start Positions .............................................................................. TOUCH SENSING HARDWARE ................................................................................ Hardware Overview ................................................................................................... Touch Sensing Input Signal ......................................................................................... Touch Sensing Enable/Disable Output Signal ................................................................. Simple Low Voltage Touch Sense Detection Circuit ......................................................... LASER ANALOG INPUT NON-CONTACT TOUCH SENSING ..................................... Overview ................................................................................................................ System Setup ........................................................................................................... Analog Input Touch I/O Setup ..................................................................................... Analog Input Search Direction .................................................................................... LASER DIGITAL INPUT TOUCH SENSING ................................................................ Overview ................................................................................................................. Laser Digital Touch Sensing Schedule Setup ................................................................... Laser Digital Touch I/O Setup ...................................................................................... Multi-Arm Laser Digital Simultaneous Touch Sensing Schedule Setup................................. Laser Digital Input Touch Sensing Program Example ........................................................ 20–3 20–4 20–4 20–5 20–5 20–6 20–7 20–7 20–10 20–15 20–21 20–26 20–26 20–26 20–27 20–28 20–28 20–28 20–29 20–35 20–35 20–35 20–36 20–36 20–38 20–39 20–41 20–42 20–43 20–45 20–46 20–46 20–47 20–47 20–47 20–48 20–48 20–49 20–51 20–52 20–52 20–52 20–53 20–54 20–55 20–55 ERROR CODES AND RECOVERY ........................................................................ OVERVIEW .............................................................................................................. ERROR CODE PROPERTIES ....................................................................................... Overview ................................................................................................................... Facility Name and Code ............................................................................................... Severity Descriptions ................................................................................................. Error Message Text .................................................................................................... GENERAL ERROR RECOVERY PROCEDURES ......................................................... Overview ................................................................................................................. A–1 A–2 A–3 A–3 A–7 A–12 A–15 A–15 A–15 MAROUHT9102171E REV F A.3.2 A.3.3 A.3.4 A.3.5 Contents Overtravel Release .................................................................................................... Hand Breakage Recovery ............................................................................................ Pulse Coder Alarm Recovery ....................................................................................... Chain Failure Detection Error Recovery ........................................................................ A–16 A–18 A–19 A–20 Appendix B SYSTEM OPERATIONS ........................................................................................ B.1 STARTUP METHODS ................................................................................................. B.1.1 Overview ................................................................................................................... B.1.2 Hot Start .................................................................................................................... B.1.3 Cold Start(START COLD) ............................................................................................ B.1.4 Cycle Power ............................................................................................................... B.1.5 Controlled Start .......................................................................................................... B.1.6 INIT Start ................................................................................................................ B.2 HARDWARE DIAGNOSIS ........................................................................................ B.3 CONTROLLER BACKUP AND RESTORE .................................................................. B.3.1 Overview ................................................................................................................. B.3.2 Backing Up a Controller as Images ............................................................................... B.3.3 Restoring Controller Images ........................................................................................ B.4 MAINTENANCE OPERATIONS ................................................................................ B.4.1 Overview ................................................................................................................. B.4.2 Updating Boot Software from the Configuration Menu ..................................................... B.4.3 Updating iPendant Firmware ....................................................................................... B.5 DIAGNOSTIC TOOLS .............................................................................................. B.5.1 Development Tools ..................................................................................................... B.5.2 Diagnostic Log ........................................................................................................... B–1 B–2 B–2 B–3 B–5 B–7 B–9 B–15 B–15 B–20 B–20 B–20 B–23 B–26 B–26 B–26 B–28 B–36 B–36 B–37 Appendix C C.1 C.2 C.3 C.4 C.5 C.6 C.7 C.8 MASTERING ........................................................................................................ OVERVIEW .............................................................................................................. RESETTING ALARMS AND PREPARING FOR MASTERING ........................................ FIXTURE POSITION MASTER (MASTERING TO A FIXTURE) ...................................... ZERO POSITION MASTER (ZERO DEGREE MASTERING).......................................... QUICK MASTERING ................................................................................................ QUICK MASTERING FOR SINGLE AXIS .................................................................... SINGLE AXIS MASTERING ...................................................................................... SAVING AND RESTORING MASTERING DATA ........................................................ C–1 C–2 C–4 C–6 C–10 C–12 C–17 C–20 C–24 Appendix D D.1 D.2 D.3 D.4 D.5 D.6 D.7 D.8 D.9 D.10 D.11 PROGRAM EXAMPLES ........................................................................................ Program Examples Overview ........................................................................................ POSITION REGISTER ELEMENT ............................................................................ POSITION REGISTER VALUE ................................................................................. REGISTER ANALOG INPUT ...................................................................................... CONDITIONAL BRANCHING; USING LABELS ........................................................... CALL KAREL SOFTPART .......................................................................................... REGISTER INCREMENT ............................................................................................ GROUP OUTPUT; WAIT INSTRUCTION PULSE INSTRUCTION .................................... LABELS ................................................................................................................... LABEL; JUMP LABEL; MESSAGE .............................................................................. MACRO INSTRUCTION ............................................................................................. D–1 D–2 D–2 D–2 D–3 D–4 D–4 D–5 D–5 D–6 D–7 D–8 Appendix E SYSTEM VARIABLES ............................................................................................. E.1 FORMAT OF A SYSTEM VARIABLE ............................................................................ E–1 E–2 xxvii Contents MAROUHT9102171E REV F E.2 E.2.1 E.2.2 E.2.3 E.2.4 E.2.5 E.2.6 E.2.7 E.2.8 E.2.9 E.2.10 E.2.11 E.2.12 E.2.13 E.2.14 E.2.15 E.2.16 E.2.17 E.2.18 E.2.19 E.2.20 E.2.21 E.2.22 E.2.23 E.2.24 E.2.25 E.2.26 Glossary Index xxviii SYSTEM VARIABLES ................................................................................................. Power Fail Recovery ..................................................................................................... Brake Control............................................................................................................... Mastering .................................................................................................................... Quick Mastering ........................................................................................................... Calibration ................................................................................................................ Specifying Coordinate Systems ..................................................................................... Setting Motors............................................................................................................ Override .................................................................................................................... Payload Specification................................................................................................... Executing a Program ................................................................................................... Automatic Operation ................................................................................................... Deleting the Warning History ........................................................................................ Disabling Alarm Output ............................................................................................... User Alarm ................................................................................................................ Jogging ..................................................................................................................... I/O Setting ................................................................................................................. Software Version ........................................................................................................ Soft Float Function...................................................................................................... Saving Files ............................................................................................................... Register Speed Specification Function ............................................................................ Specifying an Output Signal of the BZAL/BLAL Alarm..................................................... Setup for Changing Jog Group According to the Motion Group of the Selected Program............ Default Setting for the Motion Group.............................................................................. Servo Information ....................................................................................................... System Timer ............................................................................................................. System Ready ............................................................................................................ E–5 E–5 E–5 E–7 E–9 E–10 E–10 E–12 E–15 E–19 E–22 E–22 E–23 E–23 E–24 E–25 E–25 E–27 E–27 E–27 E–28 E–28 E–29 E–30 E–30 E–31 E–32 ................................................................................................................................... GL–35 ........................................................................................................................................ Index–1 List of Figures Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure 1. 1–1. 1–2. 1–3. 1–4. 1–5. 1–6. 1–7. 1–8. 1–9. 1–10. 1–11. 1–12. 1–13. 1–14. 1–15. 1–16. 2–1. 2–2. 2–3. 2–4. 2–5. 2–6. 2–7. 2–8. 2–9. 2–10. 2–11. 2–12. 2–13. 2–14. 2–15. 2–16. 2–17. 2–18. 2–19. 2–20. HandlingTool Quick Reference Flow Chart ...................................................................... Example System Overview .............................................................................................. Major and Minor Axes .................................................................................................... Finger Type Gripper ...................................................................................................... Vacuum Type Gripper .................................................................................................... R-30iB Plus A-Cabinet Controller ..................................................................................... R-30iB Plus B-Cabinet Controller ..................................................................................... R-30iB Mate Plus Controller ............................................................................................ R-30iB Compact Plus Controller ....................................................................................... R-30iB Plus A Cabinet Operator Panel ............................................................................. R-30iB Plus B Cabinet Operator Panel ............................................................................. R-30iB Mate Operator Panel .......................................................................................... R-30iB Compact Plus Operator Panel .............................................................................. Mode Select Switch .................................................................................................... Effect of Opening the Safety Fence While in AUTO Mode ................................................. Controller Memory ..................................................................................................... Cycle Power ............................................................................................................... iPendant ....................................................................................................................... Teach Pendant Enabling Device (DEADMAN Switches) ....................................................... Teach Pendant Enable Switch ........................................................................................... EMERGENCY STOP Button .......................................................................................... Touch Screen Navigation ................................................................................................. iPendant General Setup ................................................................................................... Touch Panel Setup........................................................................................................ Zoom......................................................................................................................... Maximize/Restore ........................................................................................................ Window Display Control Menu ...................................................................................... TreeView ................................................................................................................... Window and Focus Example .......................................................................................... HandlingTool iPendant Keys .......................................................................................... Haptic iPendant Overview ............................................................................................. Hardware/Software Compatibility Matrix ......................................................................... General Haptic Setup .................................................................................................... Configuring Haptic Feedback ......................................................................................... Haptic Log ................................................................................................................. Warning Alarms .......................................................................................................... User Alarms................................................................................................................ lxxi 1–2 1–3 1–4 1–4 1–6 1–7 1–8 1–9 1–10 1–10 1–11 1–11 1–12 1–14 1–22 1–25 2–4 2–5 2–5 2–6 2–7 2–9 2–10 2–12 2–13 2–14 2–18 2–26 2–28 2–37 2–37 2–38 2–39 2–40 2–41 2–42 xxix Contents Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure xxx 2–21. 2–22. 2–23. 2–24. 2–25. 2–26. 2–27. 2–28. 2–29. 2–30. 2–31. 2–32. 2–33. 2–34. 2–35. 2–36. 2–37. 2–38. 2–39. 2–40. 2–41. 2–42. 2–43. 2–44. 2–45. 2–46. 2–47. 2–48. 2–49. 2–50. 2–51. 2–52. 2–53. 2–54. 2–55. 2–56. 2–57. 2–58. 2–59. 2–60. 2–61. 2–62. 2–63. 2–64. MAROUHT9102171E REV F Monitoring I/O ............................................................................................................ Monitoring Registers .................................................................................................... Monitoring System Variables ......................................................................................... I/O ............................................................................................................................ Prompt Box ................................................................................................................ @Taught Position ........................................................................................................ Skip Condition ............................................................................................................ Skip Condition ............................................................................................................ Interference Zone ......................................................................................................... Delta Robot Slowdown Zone.......................................................................................... Vision Not Found ......................................................................................................... Force Sensing.............................................................................................................. Learning Path Control Shape Cutting ............................................................................... Status Bar Display ....................................................................................................... Document Viewer ........................................................................................................ Menu Favorites ........................................................................................................... Add Current Menu Favorite ........................................................................................... MENU Favorite Setup .................................................................................................. Menu History .............................................................................................................. Menu Favorites ........................................................................................................... Panel Wizard............................................................................................................... Start Panel Wizard ....................................................................................................... Create Operation Panel Flowchart ................................................................................. iPendant General Setup Screen ....................................................................................... iPendant HMI Setup Screen ........................................................................................... iPendant HMI Setup Screen ........................................................................................... iPendant FULL Menu ................................................................................................... iPendant Quick Menu ................................................................................................... Disabling the Data Key ................................................................................................. Options Menu Item ...................................................................................................... Software Keyboard Text Display..................................................................................... Software Keyboard ...................................................................................................... Keyboard Lowercase Letters .......................................................................................... Keyboard Uppercase Letters .......................................................................................... Keyboard Numbers ...................................................................................................... Numeric Keyboard ....................................................................................................... Web Form Entry .......................................................................................................... Software Keyboard ...................................................................................................... Vision ASCII String Input Field ...................................................................................... Vision Keyboard .......................................................................................................... Top Menu ................................................................................................................... iPendant General Setup Screen ....................................................................................... Top Menu ................................................................................................................... Top Menu Setup .......................................................................................................... 2–43 2–44 2–45 2–46 2–47 2–48 2–49 2–50 2–51 2–52 2–53 2–54 2–55 2–56 2–61 2–62 2–63 2–64 2–65 2–68 2–70 2–71 2–72 2–74 2–75 2–76 2–77 2–78 2–78 2–83 2–84 2–84 2–85 2–86 2–87 2–88 2–89 2–89 2–90 2–91 2–92 2–93 2–94 2–95 MAROUHT9102171E REV F Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure 2–65. 2–66. 2–67. 2–68. 3–1. 3–2. 3–3. 3–4. 3–5. 3–6. 3–7. 3–8. 3–9. 3–10. 3–11. 3–12. 3–13. 3–14. 3–15. 3–16. 3–17. 3–18. 3–19. 3–20. 3–21. 3–22. 4–1. 4–2. 4–3. 4–4. 4–5. 4–6. 4–7. 4–8. 4–9. 4–10. 4–11. 4–12. 4–13. 4–14. 4–15. 4–16. 4–17. 4–18. Contents Read-Write Access ....................................................................................................... 2–96 Top Menu ................................................................................................................... 2–97 iPendant with USB Port ................................................................................................ 2–98 Modifying User Views Screen ...................................................................................... 2–100 iHMI Setup ................................................................................................................... 3–2 Navigating the iHMI Screens ........................................................................................... 3–3 Step Pane Items ............................................................................................................. 3–4 Directional Information ................................................................................................... 3–5 Scroll Bars.................................................................................................................... 3–6 iHMI Guided Setup Process ............................................................................................. 3–8 Exit iHMI Guides .......................................................................................................... 3–9 HOME Screen ............................................................................................................. 3–10 Basic Setup ................................................................................................................. 3–11 Initial Setup Complete .................................................................................................. 3–12 BASIC SETUP Finished ............................................................................................... 3–13 Caution Indicating Setup is Not Complete ........................................................................ 3–14 First Time You Create a Program .................................................................................... 3–14 After You Have Created a Program.................................................................................. 3–14 After More Than One Program is Created ......................................................................... 3–15 RUN ......................................................................................................................... 3–15 Production Monitor ...................................................................................................... 3–16 UTILITY ................................................................................................................... 3–16 Jog Assist Panes .......................................................................................................... 3–17 Jog a robot .................................................................................................................. 3–19 Edit a Program ............................................................................................................ 3–19 Execute a Program ....................................................................................................... 3–19 Full Screen Mode ........................................................................................................... 4–3 Dual Screen Mode.......................................................................................................... 4–4 i Key ........................................................................................................................... 4–5 Top Menu ..................................................................................................................... 4–6 Robot Display ............................................................................................................... 4–8 Three Groups in One Controller ........................................................................................ 4–9 Scene Selection ........................................................................................................... 4–12 ZOOM Button ............................................................................................................. 4–13 PAN Button ................................................................................................................ 4–14 ROTATE Button .......................................................................................................... 4–14 SELECT Button .......................................................................................................... 4–15 Selecting a View .......................................................................................................... 4–16 User View Menu .......................................................................................................... 4–17 [VISIBLE] Button........................................................................................................ 4–18 Visibility menu ............................................................................................................ 4–19 Linear Jog Indicator ..................................................................................................... 4–21 Joint Jog Indicators ...................................................................................................... 4–22 Positioner Jog Indicator ................................................................................................. 4–23 xxxi Contents Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure xxxii 4–19. 4–20. 4–21. 4–22. 4–23. 4–24. 4–25. 4–26. 4–27. 4–28. 4–29. 4–30. 4–31. 4–32. 5–1. 5–2. 5–3. 5–4. 6–1. 6–2. 6–3. 6–4. 6–5. 6–6. 6–7. 6–8. 6–9. 6–10. 6–11. 6–12. 6–13. 6–14. 6–15. 6–16. 6–17. 6–18. 6–19. 6–20. 6–21. 6–22. 6–23. 6–24. 6–25. 6–26. MAROUHT9102171E REV F Cartesian Jog Preview ................................................................................................... Cartesian Rotation Preview ............................................................................................ Joint Jog Preview ......................................................................................................... Dual Screen Mode........................................................................................................ Select Preview Node Map.............................................................................................. Viewing two Different Programs ..................................................................................... Shift Utility and Node Map ............................................................................................ Node Map and Trace .................................................................................................... Frame Setup................................................................................................................ Position Registers ........................................................................................................ Display of Remote Robots and Data ................................................................................ Controller Visibility Menu ............................................................................................. TPGLCFG.XML ......................................................................................................... Full Screen Menu ......................................................................................................... Jog Speed Keys ............................................................................................................. COORD Key and Display................................................................................................ Incremental Jog Distance Display ................................................................................... Jog Menu ................................................................................................................... Cartesian Coordinate System ............................................................................................ Position Relative to a Frame............................................................................................. Rotated Position ............................................................................................................ Right-hand Rule ............................................................................................................ World Positive X, Y, and Z Vector Directions ...................................................................... World Frame ................................................................................................................. Tool Frame Origin Default Location .................................................................................. Tool Frame Origin Moved to the End of the Tool ................................................................. Tool Frame Adjusted to Accommodate Angled Tool ............................................................. Tool frame setup screen (Two Point + Z) .......................................................................... Defining the Orientation of the Origin ............................................................................ World and User Frames ................................................................................................. Defining the Origin ..................................................................................................... Defining the X direction Point ...................................................................................... Defining the X-Y Plane ............................................................................................... Defining the Origin ..................................................................................................... Defining the X direction Point ...................................................................................... Defining the X-Y Plane ............................................................................................... Defining the Second Origin .......................................................................................... Remote TCP Frame .................................................................................................... Touching the TCP of the Robot Tool to the Remote TCP .................................................... Touching the TCP of the Robot Tool to the Remote TCP .................................................... Jog Frame Defined Parallel to Part ................................................................................. Defining the Origin ..................................................................................................... Defining the X direction Point ...................................................................................... Defining the X-Y Plane ............................................................................................... 4–24 4–24 4–25 4–26 4–28 4–29 4–31 4–33 4–34 4–35 4–37 4–38 4–39 4–42 5–3 5–4 5–17 5–19 6–2 6–3 6–3 6–4 6–5 6–6 6–7 6–7 6–8 6–11 6–29 6–39 6–43 6–44 6–44 6–49 6–50 6–50 6–51 6–59 6–61 6–64 6–68 6–72 6–73 6–73 MAROUHT9102171E REV F Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure 6–27. 7–1. 7–2. 7–3. 7–4. 7–5. 7–6. 7–7. 7–8. 7–9. 7–10. 7–11. 7–12. 7–13. 7–14. 7–15. 7–16. 7–17. 7–18. 7–19. 7–20. 7–21. 7–22. 7–23. 7–24. 7–25. 7–26. 7–27. 7–28. 7–29. 7–30. 7–31. 7–32. 7–33. 7–34. 7–35. 7–36. 7–37. 7–38. 7–39. 7–40. 7–41. 7–42. 7–43. Contents Cell Frame and Cell Floor ............................................................................................. Program Example ......................................................................................................... Typical Motion Instruction Example ................................................................................ Joint Motion Type ........................................................................................................ Linear Motion Type ...................................................................................................... Linear Motion Type Used to Rotate About the Tool Center Point ........................................... Circular Motion Type .................................................................................................. Restart of Circular Motion Instruction ............................................................................ Restart of Circular Motion Instruction ............................................................................ Extend Circular Arc ..................................................................................................... Normal Motion ............................................................................................................ First A Motion ............................................................................................................ Circle Formed by Current Point ...................................................................................... Last A Motion ............................................................................................................. This Path Used ............................................................................................................ Robot Moves in a Linear Motion..................................................................................... Robot Moves Linear ..................................................................................................... Robot Can't Move ........................................................................................................ Resume After Jog ........................................................................................................ Resume After Jog ........................................................................................................ Change of Destination Point ........................................................................................... Change of Next Destination Point ................................................................................... Deletion of Next A Motion ............................................................................................ Deletion of Next A Motion ............................................................................................ Deletion of Next A Motion ............................................................................................ Program is Paused ........................................................................................................ After Modificaton Programmed Path................................................................................ Motion is Resumed ...................................................................................................... Program is Paused ........................................................................................................ Programmed Motion ..................................................................................................... Motion is Resumed ...................................................................................................... Pause and Resume for Another A Motion ......................................................................... Program is Paused ........................................................................................................ Single Step Execution ................................................................................................... Single Step Execution ................................................................................................... Backward Execution ..................................................................................................... Arc of the Next Destination Point.................................................................................... Program Started by Backward From Motion...................................................................... Positional Information ................................................................................................. An Example Program in Display Mode 1 ........................................................................ Motion Info is Toggled ON and OFF with EDCMD .......................................................... Resume Distance Display ............................................................................................ Frame Number of Positional Data Example Program ......................................................... Example of the Sec Speed Feature ................................................................................. 6–80 7–5 7–6 7–7 7–8 7–9 7–10 7–11 7–11 7–12 7–13 7–14 7–14 7–15 7–16 7–17 7–17 7–18 7–19 7–20 7–20 7–21 7–22 7–22 7–23 7–24 7–24 7–24 7–25 7–25 7–25 7–26 7–27 7–27 7–28 7–28 7–29 7–29 7–35 7–38 7–39 7–41 7–47 7–48 xxxiii Contents Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure xxxiv 7–44. 7–45. 7–46. 7–47. 7–48. 7–49. 7–50. 7–51. 7–52. 7–53. 7–54. 7–55. 7–56. 7–57. 7–58. 7–59. 7–60. 7–61. 7–62. 7–63. 7–64. 7–65. 7–66. 7–67. 7–68. 7–69. 7–70. 7–71. 7–72. 7–73. 7–74. 7–75. 7–76. 7–77. 7–78. 7–79. 7–80. 7–81. 7–82. 7–83. 7–84. 7–85. 7–86. 7–87. MAROUHT9102171E REV F Variable Motion Speed Program Execution Example ......................................................... Syntax for Changing the Motion Speed ........................................................................... Robot Motion with Fine Termination Type ...................................................................... Robot Motion with Continuous Termination Type ............................................................. Acceleration Override ................................................................................................. PICK and PLACE Application ...................................................................................... PICK and PLACE Application with CNT100 .................................................................. Adjusting P3 and P5 with Linear Distance ....................................................................... RT_LD: Effect of CNT Value ....................................................................................... Place Motion: Two Possible Traces ............................................................................... Corner Path ............................................................................................................... Half Segment Length .................................................................................................. Program Speed Changes .............................................................................................. Corner Path determined by CRy if Linear Dist is satisfied .................................................. Corner path is determined by Linear Distance .................................................................. Constant Path Regardless of Wait .................................................................................... Corner Distance Screen ................................................................................................. The Effect of Corner Distance on Corner Rounding ........................................................... Half Distance Rule ...................................................................................................... Short Segment Path With Corner Distance Function Disabled ............................................... Short Segment Path with Corner Distance Function Enabled ................................................ Path Orientation .......................................................................................................... Teaching a Small Corner .............................................................................................. Teaching a Flexible Path ............................................................................................... Faceplate Linear With and Without Option ..................................................................... FPLIN Option ........................................................................................................... FPLIN none-ip Option ................................................................................................ Position Representation Screen ................................................................................... Shortest Motion Within Axis Limit .............................................................................. ORNT_BASE Instruction ............................................................................................ Saddle-shaped welding, which is suitable for ORNT_BASE............................................... Behavior of TCP orientation, with and without ORNT_BASE instruction ............................. Instruction Types ....................................................................................................... Remote TCP Motion Option ....................................................................................... Remote TCP (RTCP) Motion Option Example ............................................................... SKIP JUMP Motion Option Example ............................................................................ SKIP LBL[x] Motion Option Example ......................................................................... TIME BEFORE / TIME AFTER Motion Option Instructions ............................................ Tool Offset Instruction .............................................................................................. Palletizing Example .................................................................................................. SEARCH START [i] PR[x] ........................................................................................ SEARCH END ........................................................................................................ TOUCH OFFSET PR[x] ............................................................................................ Backward Execution Example .................................................................................... 7–49 7–51 7–55 7–56 7–59 7–60 7–60 7–61 7–63 7–64 7–67 7–68 7–69 7–70 7–71 7–78 7–89 7–90 7–91 7–93 7–93 7–94 7–97 7–98 7–100 7–101 7–102 7–103 7–104 7–106 7–107 7–107 7–108 7–110 7–111 7–113 7–114 7–115 7–117 7–118 7–121 7–122 7–122 7–123 MAROUHT9102171E REV F Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure 7–88. 7–89. 7–90. 7–91. 7–92. 7–93. 7–94. 7–95. 7–96. 7–97. 7–98. 7–99. 7–100. 7–101. 7–102. 7–103. 7–104. 7–105. 7–106. 7–107. 7–108. 7–109. 7–110. 7–111. 7–112. 7–113. 7–114. 7–115. 7–116. 7–117. 7–118. 7–119. 7–120. 7–121. 7–122. 7–123. 7–124. 7–125. 7–126. 7–127. 7–128. 7–129. 7–130. 7–131. Contents TOUCH OFFSET END ............................................................................................. Example of PALLETIZING-B Instruction ..................................................................... Example of PALLETIZING-BX Instruction .................................................................. Example of PALLETIZING-E Instruction ..................................................................... Example of PALLETIZING-EX Instruction ................................................................... Direct and Indirect Addressing Example ....................................................................... PL[x] = [value] ........................................................................................................ PL[x] = [value] [operator] [value] ................................................................................ SET ISDT SPEED A...=... ........................................................................................... LBL[x] ................................................................................................................... JMP LBL[x] ............................................................................................................ CALL program ........................................................................................................ Program End Instruction ............................................................................................ Register IF Instruction ............................................................................................... I/O IF Instruction for DI/DO, RI/RO, SI/SO and UI/UO .................................................. I/O IF Instruction for PL ............................................................................................ I/O IF Instruction for R, AI/AO, GI/GO and System Variable ........................................... Select Instruction ..................................................................................................... Example Text (.DT) File.............................................................................................. MONITOR Instruction .............................................................................................. MONITOR END Instruction ...................................................................................... Condition for Register, System Variable, and I/O Parameters ............................................ Condition2 for I/O .................................................................................................... Condition2 for I/O .................................................................................................... Condition for Error Status .......................................................................................... R[x] = DI[x] ............................................................................................................ DO[x] = ON/OFF ..................................................................................................... DO[x] = PULSE [,width] ........................................................................................... DO[x] = R[x] .......................................................................................................... R[x] = RI[x] ............................................................................................................ RO[x] = ON/OFF ..................................................................................................... RO[x] = PULSE [,width] ........................................................................................... RO[x] = R[x] ........................................................................................................... R[x] = AI[x] ............................................................................................................ AO[x] = value ......................................................................................................... R[x] = GI[x] ............................................................................................................ GO[x] = value ......................................................................................................... Comment OFF and ON ............................................................................................... I/O Status OFF and ON ............................................................................................... Comments and Status ON ............................................................................................ Color ON ................................................................................................................. Macro Command Instruction ...................................................................................... RSR Enable/Disable ................................................................................................. User Alarm ............................................................................................................. 7–123 7–127 7–133 7–140 7–147 7–154 7–155 7–155 7–157 7–158 7–159 7–159 7–160 7–160 7–161 7–161 7–161 7–163 7–164 7–174 7–174 7–175 7–175 7–176 7–176 7–189 7–189 7–190 7–190 7–191 7–191 7–191 7–192 7–192 7–192 7–193 7–193 7–194 7–195 7–195 7–196 7–196 7–209 7–209 xxxv Contents Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure xxxvi 7–132. 7–133. 7–134. 7–135. 7–136. 7–137. 7–138. 7–139. 7–140. 7–141. 7–142. 7–143. 7–144. 7–145. 7–146. 7–147. 7–148. 7–149. 7–150. 7–151. 7–152. 7–153. 7–154. 7–155. 7–156. 7–157. 7–158. 7–159. 7–160. 7–161. 7–162. 7–163. 7–164. 7–165. 7–166. 7–167. 7–168. 7–169. 7–170. 7–171. 7–172. 7–173. 7–174. 7–175. MAROUHT9102171E REV F Timer ..................................................................................................................... OVERRIDE ............................................................................................................ Message Instruction .................................................................................................. Parameter Name Write Instruction ............................................................................... Parameter Name Read Instruction ................................................................................ JOINT_MAX_SPEED Instruction - Multiple Motion Group Syntax ................................... LINEAR_MAX_SPEED Instruction - Multiple Motion Group Syntax ................................ JOINT_MAX_SPEED Instruction - Single Motion Group Syntax ...................................... LINEAR_MAX_SPEED Instruction - Single Motion Group Syntax ................................... RUN program .......................................................................................................... Offset Condition ...................................................................................................... UFRAME_NUM=[value] .......................................................................................... UTOOL_NUM=[value] ............................................................................................. UFRAME[i] = PR[x] ................................................................................................ UTOOL[i] = PR[x] ................................................................................................... Parameter Example ................................................................................................... CALL Program with Parameters ................................................................................. MACRO Program with Parameters .............................................................................. Argument Registers .................................................................................................. Use No More than Ten Parameters in an Instruction ........................................................ Make Sure Data Types Match ..................................................................................... Define All Parameter Elements ................................................................................... Use Parameters Defined in the Main Program ................................................................ Cursor Position to Insert Parameters ............................................................................. Payload Instruction ................................................................................................... Inertia Equations ...................................................................................................... POINT_LOGIC Instruction.......................................................................................... POINT_LOGIC Instruction.......................................................................................... POINT_LOGIC View Screen (Main Program) ................................................................. POINT_LOGIC View Instruction (in Logic Statements) .................................................... PR[GRPn:x] = [value] ............................................................................................... PR[GRPn:x] = [value] [operator] [value] ...................................................................... Position Register Element PR[i,j] ................................................................................ PR[i,j] = [value] ....................................................................................................... PR[i,j] = [value] [operator] [value] .............................................................................. LOCK PREG Instruction ........................................................................................... UNLOCK PREG Instruction ...................................................................................... PAUSE ................................................................................................................... ABORT .................................................................................................................. Error Program ......................................................................................................... RESUME_PROG = program ...................................................................................... MAINT_PROG = program ......................................................................................... CLEAR_RESUME_PRO ........................................................................................... RETURN_PATH_DSBL ............................................................................................ 7–210 7–210 7–213 7–214 7–214 7–215 7–215 7–215 7–216 7–234 7–238 7–238 7–239 7–239 7–239 7–240 7–241 7–242 7–244 7–245 7–245 7–246 7–246 7–248 7–252 7–253 7–254 7–255 7–258 7–259 7–261 7–261 7–262 7–262 7–263 7–265 7–265 7–266 7–266 7–266 7–267 7–267 7–268 7–268 MAROUHT9102171E REV F Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure 7–176. 7–177. 7–178. 7–179. 7–180. 7–181. 7–182. 7–183. 7–184. 7–185. 7–186. 7–187. 7–188. 7–189. 7–190. 7–191. 7–192. 7–193. 7–194. 7–195. 7–196. 7–197. 7–198. 7–199. 7–200. 7–201. 7–202. 7–203. 8–1. 8–2. 8–3. 8–4. 8–5. 8–6. 8–7. 8–8. 8–9. 8–10. 8–11. 9–1. 9–2. 9–3. 10–1. 10–2. Contents SYNC_SCHED ....................................................................................................... 7–269 INPOS ................................................................................................................... 7–270 PR_STRT[n] ........................................................................................................... 7–270 PR_END[n] ............................................................................................................ 7–270 PR_SYNC[n] .......................................................................................................... 7–271 Direct and Indirect Addressing Example ....................................................................... 7–273 R[x] = [value] .......................................................................................................... 7–273 R[x] = [value] [operator] [value] ................................................................................. 7–275 Skip Condition for DO/DI, RO/RI, SO/SI, and UO/UI ..................................................... 7–277 Skip Condition for DI/DO, RI/RO, SI/SO, UI/UO, and WI/WO ........................................ 7–277 Skip Condition for R, GI/GO, AI/AO, and Parameters ..................................................... 7–277 Skip Condition ......................................................................................................... 7–277 String Register Assignment .......................................................................................... 7–280 String Register Concatenation ...................................................................................... 7–280 STRLEN Instruction ................................................................................................... 7–282 FINDSTR Instruction ................................................................................................. 7–282 SUBSTR Instruction ................................................................................................... 7–283 Tool Offset Condition Instruction ................................................................................ 7–284 VIA (DEFAULT) ....................................................................................................... 7–285 VIA (FINE, Z=n) ....................................................................................................... 7–286 VIA (CNT, Z=n1, RT_LD=n2, AP_LD=n3) .................................................................... 7–287 Specifying the Distance ............................................................................................... 7–287 Wait Time ............................................................................................................... 7–301 WAIT Condition for DI/DO, RI/RO, SI/SO, and UI/UO ................................................... 7–301 WAIT Condition for DI/DO, RI/RO, SI/SO, UI/UO, and WI/WO ...................................... 7–302 WAIT Condition for R, GI/GO, AI/AO, and Parameters ................................................... 7–302 WAIT Condition ...................................................................................................... 7–303 Mixed Logic WAIT Example ...................................................................................... 7–304 Program Detail Information .......................................................................................... 8–36 Collection Editor ......................................................................................................... 8–48 Treeview/Select ........................................................................................................... 8–49 Icon Editor ................................................................................................................. 8–65 Instruction Icons .......................................................................................................... 8–66 Context Sensitive Icon Editing ....................................................................................... 8–67 TOOLBAR Icons ......................................................................................................... 8–68 INPUT Icon ................................................................................................................ 8–69 Background Edit Process ............................................................................................. 8–72 Background Edit Process (Continued) ............................................................................ 8–73 Select Details .............................................................................................................. 8–82 Resume Tolerance Example ........................................................................................... 9–8 ALARM Recovery Without Specific Error and Action Text ................................................ 9–11 Example Program Showing Backward Execution ............................................................. 9–18 Production SETUP Screen ........................................................................................... 10–4 RSR Timing Diagram ................................................................................................. 10–8 xxxvii Contents Figure 10–3. Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure 10–4. 10–5. 10–6. 10–7. 10–8. 10–9. 10–10. 10–11. 10–12. 10–13. 10–14. 10–15. 11–1. 11–2. 11–3. 11–4. 11–5. 11–6. 11–7. 11–8. 11–9. 11–10. 11–11. 11–12. 11–13. 11–14. 11–15. 11–16. 11–17. 11–18. 11–19. 11–20. 11–21. 11–22. 11–23. 11–24. 11–25. 11–26. 11–27. 11–28. 11–29. 11–30. xxxviii MAROUHT9102171E REV F PNS Timing Diagram (default and recommended configuration) NOTE: Your Timing Diagram might vary depending on your application. ......................................................... 10–13 Typical Style Initiate Sequence ................................................................................... 10–17 Fault Recovery During Style Execution ........................................................................ 10–18 Password Configuration Screen .................................................................................... 10–51 Password Help .......................................................................................................... 10–70 Error Severity Table .................................................................................................. 10–76 Example Output Definition ......................................................................................... 10–83 Timing - One Alarm ................................................................................................. 10–84 Timing - Multiple Alarms .......................................................................................... 10–84 Inertia Equations ...................................................................................................... 10–94 Valid Payload Configuration for Accurate Estimation ...................................................... 10–95 J5 and J6 Orientation for POS1 .................................................................................. 10–103 Acceleration Equation .............................................................................................. 10–104 Status Indicators .......................................................................................................... 11–3 R-30iB Plus A Cabinet Operator Panel ............................................................................. 11–4 R-30iB Plus B Cabinet Operator Panel ............................................................................. 11–5 The User System to Utilize Completion Process by DI Input .............................................. 11–17 Notifications Screen ................................................................................................... 11–24 Notifications Screen with Cleared Notification ................................................................. 11–26 Power Consumption Monitor ....................................................................................... 11–34 Process Axes Status Screen .......................................................................................... 11–35 Status 1 Screen ........................................................................................................ 11–43 Status 2 Screen ........................................................................................................ 11–46 Pulse Screen ............................................................................................................ 11–47 Torque Monitor Screen .............................................................................................. 11–48 Tracking Screen ....................................................................................................... 11–49 Disturbance Torque Screen ......................................................................................... 11–50 Servo Diagnosis Main Screen ..................................................................................... 11–51 Servo Diagnosis Reducer Screen ................................................................................. 11–52 Servo Diagnosis Over Heat Screen .............................................................................. 11–54 Servo Diagnosis Torque Screen ................................................................................... 11–54 Servo Diagnosis Disturbance Screen ............................................................................ 11–55 Servo Diagnosis OVC Screen ..................................................................................... 11–56 Servo Diagnosis Collision Detection Screen .................................................................. 11–56 String Register Simple Import Text File ......................................................................... 11–61 String Register Full Import Text File.............................................................................. 11–62 Turn Number and Joint Placement Display on Position Screen .......................................... 11–66 Turn Number Display Configuration ............................................................................ 11–67 Joint Placement Configuration Examples for Fully Articulated Robots ................................ 11–67 Joint Placement Configuration Examples for Fully Articulated Paint Robots ........................ 11–68 Joint Placement Configuration Examples for Horizontally Articulated Robots ...................... 11–69 $SCR_GRP[group].$turn_axis[i] for Turn Number Display Configuration .......................... 11–69 Simple Gripper Example ............................................................................................. 11–77 MAROUHT9102171E REV F Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure 11–31. 11–32. 11–33. 11–34. 11–35. 11–36. 11–37. 11–38. 11–39. 11–40. 11–41. 11–42. 11–43. 11–44. 12–1. 12–2. 12–3. 12–4. 12–5. 12–6. 12–7. 12–8. 12–9. 13–1. 13–2. 13–3. 13–4. 13–5. 13–6. 13–7. 13–8. 13–9. 13–10. 13–11. 13–12. 13–13. 13–14. 13–15. 14–1. 14–2. 14–3. 14–4. 14–5. 14–6. Contents Select a Screen to Configure......................................................................................... Screen Settings Page................................................................................................... Selecting an Image File ............................................................................................... File Devices .............................................................................................................. Adjust ...................................................................................................................... Indicator Settings Page................................................................................................ Indicator Settings ....................................................................................................... Adjust the Location of LED Indicator State: 0 ................................................................. Custom Logic Program Field........................................................................................ SETUP Visual Diagnostics .......................................................................................... Reposition the Screen ................................................................................................. Select a Screen to View ............................................................................................... Invalid Indicator ........................................................................................................ Visual Diagnostics Screen Display ................................................................................ R-30iB Plus Controller Memory Card Interface Location .................................................. R-30iB Plus Controller USB Memory Stick Device Location ............................................ R-30iB Mate Plus Controller USB Location .................................................................... iPendant USB Port (UT1:) Interface Location ................................................................. Making Subdirectories ................................................................................................ Displaying Subdirectories ............................................................................................ Subdirectories ........................................................................................................... File Screen .............................................................................................................. Example ASCII File ................................................................................................. Rack, Slot, Channel, and Starting Point .......................................................................... Example Distributed I/O Setup Block Diagram .............................................................. Interface Unit DIP Switches ....................................................................................... Basic Digital I/O Module DIP Switches ........................................................................ I/O Link Device Screen ............................................................................................. I/O Link Diagram ..................................................................................................... System that Uses FANUC I/O Link Connection Units ..................................................... LED Locations ........................................................................................................ Outline Drawing ...................................................................................................... Mounting Location ................................................................................................... Example Connection Diagram .................................................................................... Electrical Signal Cable Connectors .............................................................................. Power Supply Cable Connector ................................................................................... RSR Timing Diagram ............................................................................................... PNS Timing Diagram ................................................................................................ User-definable Table ................................................................................................... Change Speed Override Based on Torque (Analog Input) ................................................. Two Methods of Angle Entry Shift Function .................................................................. Angle Entry Shift Screen Structure .............................................................................. Auto Backward Exit Application................................................................................... Auto Backward Exit Setup Screen ................................................................................. 11–79 11–80 11–82 11–83 11–83 11–84 11–86 11–87 11–88 11–89 11–90 11–91 11–92 11–92 12–17 12–18 12–18 12–19 12–23 12–23 12–24 12–35 12–83 13–6 13–27 13–28 13–30 13–44 13–46 13–47 13–49 13–50 13–50 13–51 13–52 13–53 13–72 13–73 14–9 14–15 14–19 14–20 14–24 14–26 xxxix Contents Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure xl 14–7. 14–8. 14–9. 14–10. 14–11. 14–12. 14–13. 14–14. 14–15. 14–16. 14–17. 14–18. 14–19. 14–20. 14–21. 14–22. 14–23. 14–24. 14–25. 14–26. 14–27. 14–28. 14–29. 14–30. 14–31. 14–32. 14–33. 14–34. 14–35. 14–36. 14–37. 14–38. 14–39. 14–40. 14–41. 14–42. 14–43. 14–44. 14–45. 14–46. 14–47. 14–48. 14–49. 14–50. MAROUHT9102171E REV F Example Program ...................................................................................................... Error Recovery Setup Screen ...................................................................................... Setting User Alarm Screen ......................................................................................... RESUME_PROGRAM Instruction .............................................................................. CLEAR_RESUME_PROG Instruction ......................................................................... WELD.TP Example Program ..................................................................................... WIRE_CUT.TP (Resume Program) Example Program .................................................... MAINT_PROGRAM Instruction ................................................................................ RETURN_PATH_DSBL Instruction ............................................................................ WELD.TP Example Program ..................................................................................... Fast Exit/Entry Feature Enabled and Disabled in a Program .............................................. Normal Operation Auto Start Mode ............................................................................. Normal Operation without Execution of Resume Program ................................................ Resume Program Aborted .......................................................................................... Normal Operation (Automatic Start DISABLED) ........................................................... Auto Mode When an Undefined Alarm Occurs .............................................................. Local Stop Lines ........................................................................................................ System Configuration Example ..................................................................................... Basic Process Flow .................................................................................................... Basic Process Flow with Macro Program ........................................................................ I/O Setup Example ..................................................................................................... System Programming Example ..................................................................................... I/O Setup Example ..................................................................................................... Cycle Flow Example .................................................................................................. Program A for welding of a workpiece A : WELD_A ....................................................... Program B for welding of a workpiece B : WELD_B ........................................................ Shape with a Perpendicular Axis ................................................................................. Orientation Setup Approach Positions .......................................................................... Condition Monitor Function ....................................................................................... Condition for Register, System Variable, and I/O Parameters ............................................ Condition2 for I/O .................................................................................................... Condition for Error status .......................................................................................... Program Monitor Menu ............................................................................................. System Monitor Menu ............................................................................................... ............................................................................................................................. Coordinates Offset Screens ....................................................................................... TCP Fixed Method .................................................................................................. Robot Fixed Method - Example 1 ............................................................................... Robot Fixed Method - Example 2 ............................................................................... Total Cycle Time in One Cycle Mode .......................................................................... Ten Cycle Mode ...................................................................................................... Hundred Cycle Mode ............................................................................................... One Hundred Hour Mode ......................................................................................... Target Cycle Time ................................................................................................... 14–28 14–33 14–38 14–39 14–39 14–40 14–40 14–41 14–41 14–41 14–42 14–46 14–47 14–48 14–49 14–50 14–51 14–52 14–53 14–53 14–58 14–59 14–59 14–61 14–62 14–62 14–67 14–73 14–91 14–94 14–95 14–95 14–96 14–97 14–135 14–137 14–138 14–139 14–139 14–149 14–150 14–150 14–151 14–153 MAROUHT9102171E REV F Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure 14–51. 14–52. 14–53. 14–54. 14–55. 14–56. 14–57. 14–58. 14–59. 14–60. 14–61. 14–62. 14–63. 14–64. 14–65. 14–66. 14–67. 14–68. 14–69. 14–70. 14–71. 14–72. 14–73. 14–74. 14–75. 14–76. 14–77. 14–78. 14–79. 14–80. 14–81. 14–82. 14–83. 14–84. 14–85. 14–86. 14–87. 14–88. 14–89. 14–90. 14–91. 14–92. 14–93. 14–94. Contents Reference Program Recorded Display ......................................................................... Process Limits ........................................................................................................ Sample Report ........................................................................................................ Data Monitor Chart Screen ......................................................................................... Data Monitor Operation Screen ................................................................................... Execution Timing of Distance Before .......................................................................... Distance Before Motion Option, DB ........................................................................... Checking Whether the TCP Goes into the Trigger Region ............................................... Size of Trigger Region ............................................................................................... TCP Does not Go into Trigger Region ......................................................................... Penetration ............................................................................................................. DISTBF_TTS = 0 .................................................................................................... Execution Timing of an Action Program ........................................................................ Hold During the Execution of an Action Program .......................................................... DISTBF_TTS = 2 .................................................................................................... Resume after Jogging ................................................................................................ Resume After Jogging ($DISTBF_TTS = 0 ) .................................................................. Laser Height Sensor ................................................................................................. Search Motion ........................................................................................................ Positions and Frames Defined After the Search ............................................................. Shape Frames ......................................................................................................... Parallel Mirror Image with Mirror Plane in Center of Robot ............................................ Parallel Mirror Image with Mirror Plane Offset from Center of Robot ............................... Parallel Mirror Image with Offset ............................................................................... Positional Mirror Image ............................................................................................ Rotational Mirror Image ........................................................................................... Rotational Mirror Image ........................................................................................... Mirror Image Shift with Orientation Mirrored (Mirror Method) ........................................ Enhanced Mirror Image with Orientation Controlled (Fixture Method) .............................. Mirror Image Key ................................................................................................... Example of Robot Axes Only Mirror Image ................................................................. Example of Extended Axes Integrated Mirror Image ...................................................... Example of With Extended Axes Mirror Image ............................................................. Mirroring an Entire Program ..................................................................................... Mirroring a Portion of a Program ............................................................................... Using Register Instructions to Synchronize Program Execution ........................................ Multi-Tasking Using the RUN Program Instruction ........................................................ Single Step Execution Example .................................................................................. Single Step Backward Execution ................................................................................ Backward Execution of a RUN Instruction Example ...................................................... Mastering Data ......................................................................................................... Interface Panel Example ............................................................................................. Setup Screen ............................................................................................................ Position Number ....................................................................................................... 14–154 14–156 14–158 14–167 14–168 14–169 14–170 14–171 14–171 14–174 14–174 14–177 14–178 14–178 14–179 14–180 14–180 14–191 14–192 14–193 14–193 14–208 14–208 14–209 14–210 14–210 14–211 14–211 14–212 14–212 14–213 14–213 14–214 14–216 14–217 14–225 14–228 14–229 14–229 14–230 14–234 14–243 14–243 14–247 xli Contents Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure xlii 14–95. 14–96. 14–97. 14–98. 14–99. 14–100. 14–101. 14–102. 14–103. 14–104. 14–105. 14–106. 14–107. 14–108. 14–109. 14–110. 14–111. 14–112. 14–113. 14–114. 14–115. 14–116. 14–117. 14–118. 14–119. 14–120. 14–121. 14–122. 14–123. 14–124. 14–125. 14–126. 14–127. 14–128. 14–129. 14–130. 14–131. 14–132. 14–133. 14–134. 14–135. 14–136. 14–137. 14–138. MAROUHT9102171E REV F Interface Panel Screens .............................................................................................. Cursor .................................................................................................................... Position Number ....................................................................................................... Type Code Field ....................................................................................................... Type Code Field ....................................................................................................... Button Preview ......................................................................................................... Button Error Display ................................................................................................. Operation Condition Setup Screen ................................................................................ Operation Condition Detail Screen ............................................................................... Push Button ............................................................................................................. Lamp Status Signal ................................................................................................... Digital Switch .......................................................................................................... Digital Display ......................................................................................................... Jog Retract & Return ................................................................................................. Teach Pendant Menus Example .................................................................................. Prompt Box Message Menu ....................................................................................... Prompt Box Message Menu Does not Exist Screen ........................................................ Prompt Box Yes/No Menu ........................................................................................ Prompt Box Yes/No Menu Does not Exist Screen .......................................................... List Menu .............................................................................................................. List Menu Does not Exist Screen ................................................................................ Status Menu ........................................................................................................... Default Status Menu ................................................................................................ Operator Entry Menu ............................................................................................... Operator Entry Menu Does Not Exist Screen ................................................................ Parallel Mirror Image with Mirror Plane in Center of Robot ............................................ Parallel Mirror Image with Mirror Plane Offset from Center of Robot ............................... Parallel Mirror Image with Offset ............................................................................... Positional Mirror Image ............................................................................................ Rotational Mirror Image ........................................................................................... Rotational Mirror Image ........................................................................................... Mirror Image Key ................................................................................................... Example of Robot Axes Only Mirror Image ................................................................. Example of Extended Axes Integrated Mirror Image ...................................................... Example of With Extended Axes Mirror Image ............................................................. Mirroring an Entire Program ..................................................................................... Mirroring a Portion of a Program ............................................................................... Motion Start Delay Memory Buffers ........................................................................... LEDs on the R-30iB Compact Plus Controller ................................................................ Robot Homepage Screen ............................................................................................ iRProgrammer Screen ................................................................................................ Position Table .......................................................................................................... Jog Operation Selectable List ...................................................................................... Joint Jog Panel ......................................................................................................... 14–248 14–250 14–251 14–251 14–252 14–257 14–259 14–264 14–265 14–268 14–275 14–276 14–279 14–286 14–294 14–295 14–296 14–300 14–301 14–306 14–307 14–313 14–314 14–324 14–325 14–335 14–336 14–336 14–337 14–338 14–338 14–339 14–339 14–339 14–340 14–342 14–342 14–355 14–371 14–372 14–375 14–381 14–382 14–382 MAROUHT9102171E REV F Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure 14–139. 14–140. 14–141. 14–142. 14–143. 14–144. 14–145. 14–146. 14–147. 14–148. 14–149. 14–150. 14–151. 14–152. 14–153. 14–154. 14–155. 14–156. 14–157. 14–158. 14–159. 14–160. 14–161. 14–162. 14–163. 14–164. 14–165. 14–166. 14–167. 14–168. 14–169. 14–170. 14–171. 14–172. 14–173. 14–174. 14–175. 14–176. 14–177. 14–178. 14–179. 14–180. 14–181. 14–182. Contents World Jog Panel........................................................................................................ Single Step or Continuous .......................................................................................... Program is Running dialog ......................................................................................... Jogging iPendant Screen............................................................................................. Operation Key Sheet.................................................................................................. Jog Panel Screen ....................................................................................................... Navigate iPendant Screen ........................................................................................... Mode Select Menu .................................................................................................... Mode Select Screen ................................................................................................... Mode Select Menu .................................................................................................... System/Config screen ................................................................................................ Hold Without Original Path Resume — Path Resumes from Current Position ..................... Hold With Original Path Resume — Path Resumes from Stop Position .............................. Emergency Stop With Original Path Resume — Path Resumes from Stop Position .............. Path Switch Application ............................................................................................. Path Switch Application ............................................................................................. Path Switch Application (Original Path Resume is Disabled) ............................................. Path Switch Application ............................................................................................. Path Switch Application ............................................................................................. Payload Check Screen .............................................................................................. Payload Setting Screen ............................................................................................. Payload Setting Error ............................................................................................... Modify Program Screen ............................................................................................ Modify Program Screen ............................................................................................ Power On/Off screen ................................................................................................ Position BumpBox with coordinated Motion .................................................................. Position BumpBox Schedule ....................................................................................... BBox with Table ....................................................................................................... Coordinated motion setup screen.................................................................................. Leader Frame PopUp menu......................................................................................... Leader Frame Setup - 3 point Method ........................................................................... CD Leader Frame Example ......................................................................................... Process Axes Status Screen ......................................................................................... External Process Axes Control .................................................................................... Example Timing Chart for Process Axis Speed Control .................................................... Example Timing Chart for Process Usage Accumulation .................................................. Shifting an Entire Program ........................................................................................ Shifting Portions of a Program ................................................................................... Parallel Shift .......................................................................................................... Parallel and Rotational Shift ...................................................................................... Program Shift Key ................................................................................................... Example of Robot Axes Only Shift ............................................................................. Example of Extended Axes Integrated Shift .................................................................. Example of With Extended Axes Shift ......................................................................... 14–383 14–384 14–384 14–389 14–392 14–393 14–395 14–403 14–407 14–408 14–410 14–413 14–413 14–414 14–415 14–418 14–419 14–419 14–420 14–424 14–425 14–425 14–426 14–426 14–427 14–437 14–438 14–443 14–445 14–445 14–446 14–447 14–457 14–459 14–461 14–461 14–462 14–463 14–463 14–464 14–464 14–465 14–465 14–466 xliii Contents Figure Figure Figure Figure 14–183. 14–184. 14–185. 14–186. MAROUHT9102171E REV F Example of With Extended Axes Only Shift ................................................................. Example of a Replace Extended Axes Shift .................................................................. Turn Numbers ........................................................................................................ Hold With Constant Path Resume Offset — Path Resumes from Offset Stop Position 14–466 14–467 14–472 ............................................................................................................................. 14–477 Figure 14–187. Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure xliv 14–188. 14–189. 14–190. 14–191. 14–192. 14–193. 14–194. 14–195. 14–196. 14–197. 14–198. 14–199. 14–200. 14–201. 14–202. 14–203. 14–204. 14–205. 14–206. 14–207. 14–208. 14–209. 14–210. 14–211. 14–212. 14–213. 14–214. 14–215. 14–216. 14–217. 14–218. 14–219. 14–220. 14–221. 14–222. 14–223. 14–224. 14–225. Hold with non-Constant Path Resume Offset — Path Resumes from Offset Stop Position .................................................................................................................. Relationship Between Forward and Measured Position ..................................................... Wireshark Ethernet Log ............................................................................................. RSI_ON_I () Example ............................................................................................... Servo Tool ............................................................................................................. SETUP Circle DETAIL Screen .................................................................................. Circle Detail Terminology ......................................................................................... SETUP Hexagon DETAIL Screen .............................................................................. Hexagon Detail Terminology ..................................................................................... SETUP Rectangle DETAIL Screen ............................................................................. Rectangle Detail Terminology .................................................................................... SETUP Slot DETAIL Screen ..................................................................................... Slot Detail Terminology ........................................................................................... SETUP Keyhole DETAIL Screen ............................................................................... Keyhole Detail Terminology ...................................................................................... SETUP Pommel DETAIL Screen ............................................................................... Pommel Detail Terminology ...................................................................................... SETUP Cust Shape DETAIL Screen ........................................................................... UTILITIES Shape Gen DETAIL Screen Example .......................................................... UTILITIES Shape Gen Screen ................................................................................... Shape Generated Program Example ACIR1 .................................................................. Shape Generated Program Example ACIR2 .................................................................. Production Program Example .................................................................................... Taught Configuration vs. Actual Configuration ............................................................. Single Step Forward (FWD) vs. Backward (BWD) ........................................................ Program Motion vs. Jogging: Behavior Might Be Different Near Singularity ...................... Unforeseeable Singularity at a Corner Path ................................................................... Servo Schedules ...................................................................................................... Example Program Using the Manual Servo Schedule ....................................................... Lemon Shape with a Bump on the Right Side ............................................................... Lemon Shape with Outward Bump and Ripples ............................................................. Flat Spot on Each Side ............................................................................................. Two Flat Spots and an Inward Bump ........................................................................... Soft Float in the X Direction ...................................................................................... Soft Float[n] Independent Instruction Example ............................................................. Soft Float[n] Motion Option Example ......................................................................... Improving Softness Example ..................................................................................... Improving Softness .................................................................................................. Layout and Tool Selection ......................................................................................... 14–478 14–487 14–488 14–494 14–500 14–510 14–511 14–512 14–513 14–514 14–515 14–515 14–516 14–517 14–518 14–519 14–521 14–521 14–526 14–526 14–530 14–531 14–532 14–539 14–540 14–541 14–542 14–552 14–553 14–554 14–555 14–555 14–556 14–565 14–566 14–567 14–569 14–569 14–570 MAROUHT9102171E REV F Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure 14–226. 14–227. 14–228. 14–229. 14–230. 14–231. 14–232. 14–233. 14–234. 14–235. 14–236. 14–237. 14–238. 14–239. 14–240. 14–241. 14–242. 14–243. 14–244. 14–245. 14–246. 14–247. 14–248. 14–249. 14–250. 14–251. 14–252. 14–253. 14–254. 15–1. 15–2. 15–3. 15–4. 15–5. 15–6. 16–1. 16–2. 16–3. 16–4. 16–5. 16–6. 16–7. 16–8. 16–9. Contents Insertion Motion ..................................................................................................... 14–571 Face-to-Face Motion ................................................................................................ 14–572 TCP Setup Example ................................................................................................. 14–573 Soft Operator Panel Screen ......................................................................................... 14–577 Setup Host Comm screen............................................................................................ 14–578 System/Config screen ................................................................................................ 14–579 Robot Home Page ..................................................................................................... 14–579 Soft Operator Panel Screen ......................................................................................... 14–580 Pop-up when connection is lost .................................................................................... 14–582 Confirmation dialog box to start the program .................................................................. 14–583 Space Check - Single Robot Controller ........................................................................ 14–584 Space Check - Single Robot Controller ........................................................................ 14–585 Common Space Inside/Outside .................................................................................. 14–589 Common Space Outside Boundary ............................................................................. 14–590 Common Space Vertexes .......................................................................................... 14–591 MultiARM Controller .............................................................................................. 14–594 Symmetric Part Orientation ......................................................................................... 14–607 Max Value ............................................................................................................. 14–610 Max Speed ............................................................................................................. 14–610 Typical TP Shim Example ......................................................................................... 14–629 Advanced TP Shim Example Using USEMAST ............................................................ 14–630 Advanced TP Shim Example Using HISTORY ............................................................. 14–631 TIME BEFORE / TIME AFTER Motion Option Instructions ........................................... 14–637 Normal Execution when $timebf_ver=4 ....................................................................... 14–638 Timing Sequence (TIME BEFORE instruction) ............................................................. 14–639 Timing Sequence (AFTER instruction) ........................................................................ 14–639 Timing Sequence (TIME BEFORE instruction) ............................................................. 14–639 Main and Sub Program Examples ............................................................................... 14–642 Program Example for TIME BEFORE Instruction ......................................................... 14–642 Composition of FANUC Sensor Data Packet ................................................................... 15–3 Handshaking When the Contents of a Register is Sent to the Sensor ..................................... 15–5 Handshaking When a Register Number and Its Data is Received ......................................... 15–5 Handshaking When Position Register Data is Received ..................................................... 15–6 Handshaking When Three Point Data is Received ............................................................. 15–6 Handshaking When the Transformation Matrix is Received ................................................ 15–6 Standard iRCalibration Mastering Calibration Plates ....................................................... 16–11 Example of First Three Positions ................................................................................. 16–27 Example of Second Three Positions ............................................................................. 16–27 Standard iRCalibration Mastering Calibration Plates ........................................................ 16–42 Example of First Three Positions .................................................................................. 16–58 Example of Second Three Positions ............................................................................. 16–58 Typical Arc Welding tool definition ............................................................................. 16–72 Typical Waterjet Tool Definition .................................................................................. 16–73 Recommended iRCalibration TCP Set Touch Plate and Pointer Specifications ...................... 16–74 xlv Contents Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure 16–10. 16–11. 16–12. 16–13. 16–14. 16–15. 16–16. 16–17. 16–18. 16–19. 16–20. 16–21. 16–22. 16–23. 16–24. Figure 16–25. Figure 16–26. Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure xlvi 16–27. 16–28. 16–29. 16–30. 16–31. 16–32. 16–33. 16–34. 16–35. 16–36. 16–37. 16–38. 17–1. 18–1. 18–2. 19–1. 19–2. 19–3. 19–4. 19–5. 19–6. 19–7. 19–8. 20–1. 20–2. MAROUHT9102171E REV F Installing the Touch Plate ........................................................................................... 16–75 Example of First Three Positions ................................................................................. 16–87 Example of Second Three Positions ............................................................................. 16–88 Cal-Plate Calibration Positions .................................................................................... 16–89 iRCalibration TCP Set NEW-XYZWPR Calibration Program Example .............................. 16–92 iRCalibration TCP Set Cal-Plate Calibration Program Example ......................................... 16–93 Typical Arc Welding tool definition .............................................................................. 16–100 Typical Waterjet Tool Definition .................................................................................. 16–101 Recommended iRCalibration TCP Shift Touch Plate and Pointer Specifications ................... 16–102 Installing the Touch Plate ........................................................................................... 16–103 iRCalibration TCP Shift XYZWPR Calibration Program Example .................................... 16–116 Example of Manually Created XYZ Search TPP Program ............................................... 16–117 Example of Manually Created XY Search TP Program ................................................... 16–118 Example of Manually Created Z Search Teach Pendant Program ...................................... 16–118 Example of Manually Created XYZ Search TP Program Using Detect Circle Instruction (with XY and Z offsets) ............................................................................. 16–118 Example of Manually Created XY Search TP Program Using Detect Circle Instruction (without XY and Z offsets) ........................................................................................ 16–119 Example of Standard iRCalibration TCP Shift-Generated Program with Update Frame Added .................................................................................................................... 16–119 Typical Arc Weld Tool Definition ............................................................................... 16–130 Typical Waterjet Tool Definition ................................................................................. 16–131 Non-uniform Surface (Example 1) .............................................................................. 16–145 Non-uniform Surface (Example 2) .............................................................................. 16–145 6 Points Search (3-2-1) (Corresponds to ) ..................................................................... 16–146 6 points (3-2-1) for x, y, z, w, p, r Offset ...................................................................... 16–147 Example program for automatic operation. ................................................................... 16–148 Secondary Encoder ................................................................................................... 16–172 Application Example ................................................................................................. 16–173 Secondary Encoder Feedback ...................................................................................... 16–174 Program Example ..................................................................................................... 16–177 Timing Diagram ....................................................................................................... 16–184 HandlingTool User Keys ............................................................................................ 17–13 Paint Start and Paint End ............................................................................................... 18–6 Paint_Pause and Paint_Resum Teach Pendant Programs ...................................................... 18–7 Example: Servo tool is the 2nd group and the number of tools is four .................................... 19–4 ................................................................................................................................ 19–5 Calibration Motion Type ............................................................................................ 19–12 Tool Change Sequence .............................................................................................. 19–18 .............................................................................................................................. 19–21 .............................................................................................................................. 19–21 .............................................................................................................................. 19–21 .............................................................................................................................. 19–24 Example Program Including Touch Sensing Routine ......................................................... 20–4 Search Using Searches in One Direction ......................................................................... 20–8 MAROUHT9102171E REV F Figure Figure 20–3. 20–4. Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure 20–5. 20–6. 20–7. 20–8. 20–9. 20–10. 20–11. 20–12. 20–13. 20–14. 20–15. 20–16. 20–17. Figure 20–18. Figure 20–19. Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure Figure 20–20. 20–21. 20–22. 20–23. 20–24. 20–25. 20–26. 20–27. 20–28. 20–29. 20–30. 20–31. 20–32. 20–33. 20–34. 20–35. 20–36. 20–37. 20–38. 20–39. 20–40. 20–41. B–1. B–2. Contents Search Using Offsets in Two Dimensions ........................................................................ 20–9 Search Using Two Search Motions in Two Different Directions to Obtain X and Y Offset and Rotation about Z ........................................................................................ 20–10 Touch Frame Used in a Program ................................................................................. 20–11 Simple Search Routine Using Searches in Two Directions ................................................ 20–17 Fillet Search in One Direction (x) with Rotation about Z .................................................. 20–17 Fillet Search in Two Directions (x and y) with Rotation about Z ........................................ 20–18 Fillet Search in Three Directions (x, y, z) with Rotation about Z ........................................ 20–18 V-Groove Search ...................................................................................................... 20–19 OD/ID Search in Two Directions (X and Y) .................................................................. 20–19 Touch Sensing Motion Option Example ......................................................................... 20–27 Points that Require Touching Up .................................................................................. 20–29 Simple Search Example Program ................................................................................ 20–30 One-Dimensional Search Ex. Prog. (Fillet/Lap, V-Groove) .............................................. 20–30 Two Dimensional Search Example Program .................................................................. 20–31 Two Dimensional Search with Coordinated Motion Example Program (See and for illustrations) ............................................................................................................. 20–32 First Illustration of Two Dimensional Search with Coordinated Motion Program Example .................................................................................................................. 20–32 Second Illustration of Two Dimensional Search with Coordinated Motion Program Example .................................................................................................................. 20–33 Simple Search with Coordinated Motion Example Program .............................................. 20–33 Three Dimensional Search with Rotation Example Program (See for an illustration) ............. 20–34 Illustration of Three Dimensional Search with Rotation Program Example .......................... 20–34 Part in Mastered Position and Offset Applied Illustration .................................................. 20–36 Offset Value Illustration ............................................................................................. 20–38 Part with One Touch Sense Start Position, 2, and Three Points along a Path, 5, 6, 7 ................ 20–40 Illustration of the Path when an Offset is Applied ............................................................ 20–40 Offset Path Touch Up to Adjust Location of Points 6 and 7 ............................................... 20–41 New Master Touch Up Illustration ................................................................................ 20–41 Incorrect Touch Up of a Path ....................................................................................... 20–42 Path Followed After Altering One Point ........................................................................ 20–42 New Point Taught while Executing the Offset Path .......................................................... 20–43 Multiple Searches can be Performed for Complex Shapes ................................................. 20–45 Illustration of Part Shape Change and the Effect on Multiple Searches Performed .................. 20–45 Moving a Search Start Position along the Search Direction ................................................ 20–46 Search Start Position moved to a New Location Off the Axis of the Search Direction ............. 20–46 Simple Low Voltage Touch Sense Detection Circuit ......................................................... 20–48 Laser Digital Input Touch Sensing ................................................................................. 20–53 Laser Digital Touch Sensing Schedule ........................................................................... 20–54 Example 1 ................................................................................................................ 20–54 Touch Sensing Type Screen ......................................................................................... 20–55 Multi-Arm Laser Digital Simultaneous Touch Sensing Schedule ........................................ 20–55 Cycle Power ................................................................................................................ B–8 Cycle Power .............................................................................................................. B–13 xlvii Contents Figure Figure Figure Figure xlviii B–3. C–1. C–2. E–1. MAROUHT9102171E REV F Start Mode screen ....................................................................................................... B–14 Example of position when quick mastering J3 axis ............................................................ C–18 Example of position when quick mastering J5 axis ............................................................ C–18 System Variable Format ................................................................................................. E–2 List of Tables Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table 1–1. 1–2. 2–1. 2–2. 2–3. 2–4. 2–5. 2–6. 2–7. 2–8. 2–9. 2–10. 2–11. 2–12. 2–13. 2–14. 2–15. 2–16. 2–17. 2–18. 2–19. 2–20. 2–21. 2–22. 2–23. 3–1. 5–1. 5–2. 5–3. 5–4. 5–5. 6–1. 6–2. 6–3. 6–4. 6–5. 6–6. Standard Operator Panel Buttons ................................................................................... Robot Servo Status ...................................................................................................... Touch Screen and Mouse Navigation ................................................................................. Blanking and Dimming ................................................................................................. Window Displays ......................................................................................................... TreeView Types ........................................................................................................... TreeView Keys ............................................................................................................ Browser Screen Keys .................................................................................................. Favorites Screen Operations ......................................................................................... Browser Screen Keys .................................................................................................. Navigation and Data Entry Keys ................................................................................... Robot Motion Keys .................................................................................................... Execution Keys .......................................................................................................... Editing Keys ............................................................................................................. Material Handling-Specific Keys ................................................................................... Help and Diagnostic Key ............................................................................................. FCTN Menu .............................................................................................................. Key Functions ......................................................................................................... Status Bar Display Items .............................................................................................. ................................................................................................................................ HELP/DIAGNOSTICS Menu Items ............................................................................... Help/Diag Information Display Locations ....................................................................... Document Viewer Function Keys .................................................................................... $UI_CONFIG.$recovermenu ........................................................................................ System Variable Settings ............................................................................................. Softkeys ....................................................................................................................... Jog Speed Values ......................................................................................................... LCD Indicators ............................................................................................................ Coordinate Systems ...................................................................................................... SubGroup Example .................................................................................................... $JOG_GROUP[] System Variables .................................................................................. Tool Frame Setup Screen Items ....................................................................................... Tool Frame Setup Three Point DETAIL Screen Items ........................................................ Tool Frame Setup Four Point DETAIL Screen Items ..................................................... Tool Frame Setup Six Point DETAIL Screen Items ........................................................... Tool Frame Setup Direct Entry DETAIL Screen Items ....................................................... User Frame Setup Screen Items ..................................................................................... 1–11 1–15 2–7 2–11 2–15 2–18 2–19 2–20 2–22 2–24 2–29 2–30 2–32 2–32 2–33 2–34 2–34 2–35 2–56 2–57 2–58 2–58 2–61 2–67 2–81 3–7 5–3 5–5 5–5 5–12 5–16 6–8 6–13 6–19 6–25 6–31 6–38 xlix Contents Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table l 6–7. 6–8. 6–9. 6–10. 6–11. 6–12. 6–13. 6–14. 6–15. 6–16. 7–1. 7–2. 7–3. 7–4. 7–5. 7–6. 7–7. 7–8. 7–9. 7–10. 7–11. 7–12. 7–13. 7–14. 7–15. 7–16. 7–17. 7–18. 7–19. 7–20. 7–21. 7–22. 7–23. 7–24. 7–25. 7–26. 7–27. 7–28. 7–29. 7–30. 7–31. 7–32. 7–33. 7–34. MAROUHT9102171E REV F User Frame Setup Three Point DETAIL Screen Items ........................................................ User Frame Setup Four Point DETAIL Screen Items ......................................................... User Frame Setup Direct Entry DETAIL Screen Items ....................................................... Jog Frame Setup Screen Items ...................................................................................... Jog Frame Setup Three Point DETAIL Screen Items ......................................................... Jog Frame Setup Direct Entry DETAIL Screen Items ........................................................ Cell Frame Setup Screen Items ....................................................................................... Cell Frame Setup Using Direct Entry ............................................................................... Cell Frame Copy Screen Items ....................................................................................... Cell Floor Setup Screen Items ........................................................................................ Available Logic Instructions Between Type A Motion Instructions ........................................ Instructions Unavailable Between A Type Motions but Available in Called Programs ............... Instructions Unavailable Between A Type Motion Instructions ............................................. Available Motion Options .............................................................................................. Major Unavailable Motion Options ................................................................................. $MNDSP_POSCF Configuration Settings ....................................................................... Display Modes ........................................................................................................... Display Mode Examples .............................................................................................. $FRM_CHKTYP Values ............................................................................................. Example Program Operation ......................................................................................... Range of Register Values to Specify a Variable Motion Speed ............................................. ORNT_BASE Instruction Alarm Messages ..................................................................... PALLETIZING-B Pallet Editor Items .......................................................................... PALLETIZING-BX Pallet Editor Items ........................................................................ PALLETIZINGE Pallet Editor Items ............................................................................ PALLETIZING-EX Pallet Editor Items ........................................................................ Usable instruction of math function ............................................................................... Background operation of math function .......................................................................... Data Types .............................................................................................................. Arithmetical Operators .............................................................................................. Logical Operators ..................................................................................................... Comparison Operators ............................................................................................... Priority of Operators ................................................................................................. Data Assignments .................................................................................................... Mixed Logic Error Messages ...................................................................................... Background Logic Execution Modes ............................................................................ Background Logic Screen Items .................................................................................. Background Logic Screen Operations ........................................................................... TC Online Instruction ............................................................................................... Parameter Instructions ............................................................................................... Parameter Data Types ............................................................................................... String Parameter System Variables .............................................................................. Instructions That Can Use AR[] .................................................................................. Instructions that can Use AR[] .................................................................................... 6–40 6–46 6–53 6–69 6–69 6–75 6–81 6–81 6–83 6–85 7–30 7–32 7–32 7–33 7–34 7–37 7–39 7–42 7–46 7–47 7–50 7–109 7–127 7–133 7–140 7–147 7–197 7–205 7–217 7–217 7–217 7–218 7–218 7–219 7–221 7–222 7–224 7–224 7–231 7–241 7–241 7–243 7–244 7–251 MAROUHT9102171E REV F Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table 7–35. 7–36. 7–37. 7–38. 7–39. 7–40. 7–41. 7–42. 8–1. 8–2. 8–3. 8–4. 8–5. 8–6. 8–7. 8–8. 8–9. 8–10. 8–11. 8–12. 8–13. 8–14. 8–15. 9–1. 9–2. 9–3. 9–4. 9–5. 9–6. 9–7. 10–1. 10–2. 10–3. 10–4. 10–5. 10–6. 10–7. 10–8. 10–9. 10–10. 10–11. 10–12. 10–13. 10–14. Contents Schedule and Robot Combinations .............................................................................. 7–269 SR[x]=R[y]............................................................................................................... 7–281 R[x]=SR[y]............................................................................................................... 7–281 SR[x]=R[y]+SR[z] ..................................................................................................... 7–281 SR[x]=SR[y]+R[z] ..................................................................................................... 7–281 R[x]=STRLEN SR[y]: ................................................................................................ 7–282 R[x]=FINDSTR SR[y],SR[z] ....................................................................................... 7–283 SR[n]=SUBSTR SR[x],R[y],R[z].................................................................................. 7–283 Rack 1 ....................................................................................................................... 8–5 Select Screen Items and Operations ............................................................................... 8–12 Paste Methods ........................................................................................................... 8–21 Program DETAIL Screen Items and Operations ............................................................... 8–32 Macro Command Screen Items ..................................................................................... 8–51 Application-Specific Teach Pendant User Keys ................................................................ 8–52 Macro Command Assignments (ArcTool and HandlingTool) .............................................. 8–55 MANUAL Macros Screen Items ................................................................................... 8–58 ................................................................................................................................ 8–60 Troubleshoot Background Edit - Problem Cause and Remedy ............................................. 8–76 Permanent Program Storage States .................................................................................. 8–80 Temporary Program Storage States .................................................................................. 8–80 Load/Convert Times for 1,000 Point Program .................................................................... 8–81 Storage Configuration Status and Settings ......................................................................... 8–83 Maximum Program Size for Typical CMOS Allocations ...................................................... 8–83 Tolerance Setup Items ................................................................................................... 9–9 Status Disabled Faults Screen Items ............................................................................... 9–12 Faults that can be Disabled ........................................................................................... 9–13 Test Cycle Conditions ................................................................................................. 9–16 Program Select and Program Start ................................................................................. 9–29 UTILITIES Prog Adj Screen Items ................................................................................ 9–37 UTILITIES Prog Adj DETAIL Screen Items ................................................................... 9–38 Production Setup Screen .............................................................................................. 10–4 RSR Setup Item Description ......................................................................................... 10–8 PNS Setup Item Description ....................................................................................... 10–15 Style Name Setup Items ............................................................................................. 10–18 Prog Select STYLE Setup DETAIL Screen Items ........................................................... 10–19 Prog Select OTHER DETAIL Screen Items ................................................................... 10–21 SYSTEM Axis Limit Items ........................................................................................ 10–23 SETUP General Screen Items ..................................................................................... 10–30 Brake On Hold Settings ............................................................................................. 10–30 $UALRM_SEV[n] Severity Values .............................................................................. 10–35 Setting/User Alarm Screen Items ................................................................................. 10–35 Override Select Menu Listing ..................................................................................... 10–38 Password Levels ...................................................................................................... 10–40 SETUP Passwords Screen Items — Screen .................................................................... 10–46 li Contents Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table lii 10–15. 10–16. 10–17. 10–18. 10–19. 10–20. 10–21. 10–22. 10–23. 10–24. 10–25. 10–26. 10–27. 10–28. 10–29. 10–30. 10–31. 10–32. 10–33. 10–34. 10–35. 11–1. 11–2. 11–3. 11–4. 11–5. 11–6. 11–7. 11–8. 11–9. 11–10. 11–11. 11–12. 11–13. 11–14. 11–15. 11–16. 11–17. 11–18. 11–19. 11–20. 11–21. 11–22. 11–23. MAROUHT9102171E REV F SETUP Passwords Screen Items — Screen .................................................................... 10–46 Password Configuration Setup Items ............................................................................ 10–52 XML Command Syntax ............................................................................................. 10–53 Password Log Screen Items ........................................................................................ 10–67 Devices for Password Level Screen Permissions ............................................................ 10–69 Error Severity Table Items ......................................................................................... 10–76 Error Code Output Signal Definition ($ER_OUT_PUT.$out_num=1) ................................. 10–81 Error Code Severity Definition ($ER_OUT_PUT.$out_num = 1) ....................................... 10–81 Program Control: DO[25] and DO[26] ......................................................................... 10–82 Motion Control: DO[27] and DO[28] ........................................................................... 10–82 MOTION PERFORMANCE Screen Items .................................................................... 10–89 MOTION/PAYLOAD SET Screen Items ...................................................................... 10–92 MOTION/PAYLOAD ID Items ................................................................................... 10–96 MOTION/ID POS1 ID Items ...................................................................................... 10–96 MOTION/ARMLOAD SET Items .............................................................................. 10–107 Stroke Limit Setup Screen Items ................................................................................ 10–108 System Configuration Setup Screen Items .................................................................... 10–110 Use PPABN Signal DETAIL Screen Items ................................................................... 10–120 Default Logical Command DETAIL Screen Items ......................................................... 10–120 Output when waiting on Input DETAIL Screen Items ..................................................... 10–120 Hand Broken DETAIL Screen Items ........................................................................... 10–121 Teach Pendant Status Indicators .................................................................................... 11–3 Standard Operator Panel Status Indicators ....................................................................... 11–5 Clock Screen Items ..................................................................................................... 11–5 Execution History Screen ............................................................................................. 11–6 Maintenance Reminder Main Menu Items......................................................................... 11–9 General Setup Items ................................................................................................... 11–10 Maintenance Reminder Items ....................................................................................... 11–11 Maintenance Record items ........................................................................................... 11–18 Items in Maintenance Record File ................................................................................. 11–19 Memory Status ........................................................................................................ 11–22 Notifications Screen Items ........................................................................................... 11–25 DATA Position Reg Screen Items ................................................................................ 11–28 POSITION Joint Screen Items .................................................................................... 11–32 POSITION User Screen Items .................................................................................... 11–32 POSITION World Screen Items .................................................................................. 11–32 Power Consumption Monitor Items ............................................................................... 11–34 Process Axes Status Items ........................................................................................... 11–35 Program Timer Listing Screen Items ............................................................................ 11–36 Program Timer DETAIL Screen Items .......................................................................... 11–36 Program Status or Production Status Items .................................................................... 11–38 Program Monitor Screen Items ................................................................................... 11–40 DATA Registers Screen Items ..................................................................................... 11–41 Status 1 Screen Items ................................................................................................ 11–43 MAROUHT9102171E REV F Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table 11–24. 11–25. 11–26. 11–27. 11–28. 11–29. 11–30. 11–31. 11–32. 11–33. 11–34. 11–35. 11–36. 11–37. 11–38. 11–39. 11–40. 11–41. 11–42. 11–43. 11–44. 11–45. 11–46. 11–47. 11–48. 11–49. 11–50. 11–51. 11–52. 11–53. 11–54. 12–1. 12–2. 12–3. 12–4. 12–5. 12–6. 12–7. 12–8. 12–9. 12–10. 12–11. 12–12. 12–13. Contents Servo Alarm Status 1; Address: FC80h (L-axis), FCC0h (M-axis) ..................................... Alarm Terminology .................................................................................................. Description of Alarm Combinations ............................................................................. Servo Alarm Status 2; Address: FC81h (L-axis), FCC1h (M-axis) ..................................... Alarm Terminology .................................................................................................. Status 2 Screen Items ................................................................................................ Pulse Coder Alarm Status .......................................................................................... Alarm Terminology .................................................................................................. Pulse Screen Items ................................................................................................... Torque Monitor Items ............................................................................................... Tracking Screen Items ............................................................................................... Disturbance Torque Screen Items ................................................................................ Servo Diagnosis Main Screen Items ............................................................................. Diagnosis Reducer Screen Items ................................................................................. Diagnosis Over Heat Screen Items ............................................................................... Diagnosis Torque Screen Items ................................................................................... Diagnosis Disturbance Screen Items ............................................................................ Diagnosis OVC Screen Items ..................................................................................... Diagnosis Last Detection Screen Items ......................................................................... Stop Signals ............................................................................................................ Data String Reg Screen Items ....................................................................................... System Timer Screen Items ........................................................................................ STATUS Version ID SOFTWARE Screen Items ............................................................. STATUS Version ID CONFIG Screen Items .................................................................. STATUS Version ID MOTOR Screen Items ................................................................... STATUS Version ID SERVO Screen Items .................................................................... STATUS Version ID UPDATES Screen Item ................................................................... STATUS Version ID ORDER FILE Screen Item .............................................................. Indicator States .......................................................................................................... SETUP Visual Diagnostics Screen Settings Setup Items .................................................... SETUP Visual Diagnostics Indicator Setup Items ............................................................. Ports P1 - P4 ........................................................................................................... Default Communications Settings for Devices ............................................................... SETUP Port Init Screen Items ..................................................................................... File Output Using PRINT .......................................................................................... System variables to control filtering ............................................................................... $PGINP_FLTR values ................................................................................................ Types of Files ............................................................................................................ Robot Data File Groups............................................................................................... Altering the FILE MENU [VIEW] Display ................................................................... System Files ............................................................................................................ Application Files ...................................................................................................... Error Log Files ........................................................................................................ File Types Listings and Descriptions ............................................................................ 11–44 11–44 11–45 11–45 11–45 11–46 11–46 11–46 11–47 11–48 11–49 11–50 11–51 11–53 11–54 11–55 11–55 11–56 11–57 11–58 11–59 11–62 11–71 11–72 11–73 11–73 11–73 11–73 11–78 11–80 11–85 12–11 12–11 12–14 12–32 12–33 12–34 12–36 12–38 12–40 12–43 12–44 12–44 12–47 liii Contents Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table liv MAROUHT9102171E REV F 12–14. Back Up Operations .................................................................................................. 12–15. File Types ............................................................................................................... 12–16. Auto Update Operations Items ...................................................................................... 12–17. Valid SAVE Function Screens ..................................................................................... 12–18. FILE Memory Screen Items ....................................................................................... 12–19. Automatic Backup Setup Items ................................................................................... 12–20. Viewing ASCII Program Loader Error Screen Items ....................................................... 12–21. Viewing ASCII Program Loader Error Screen Operations ................................................ 13–1. Process I/O Board Default Digital Input and Output Configuration ....................................... 13–2. I/O Hardware Eligible for Default UOP Assignment .......................................................... 13–3. Default UOP Input Configuration for Process I/O Boards ................................................... 13–4. Default UOP Output Configuration for Process I/O Boards ................................................. 13–5. Rack Assignments for Different Kinds of I/O ................................................................... 13–6. Slot Assignments for Different Kinds of I/O .................................................................... 13–7. I/O Analog In/Out Monitor Screen Items ...................................................................... 13–8. I/O Analog In/Out Configure Screen Items .................................................................... 13–9. I/O Digital In/Out Monitor Screen Items ....................................................................... 13–10. I/O Digital In/Out Configure Screen Items .................................................................... 13–11. I/O Digital In/Out DETAIL Screen Items ...................................................................... 13–12. I/O Group In/Out Monitor Screen Items ........................................................................ 13–13. I/O Group In/Out Configure Screen Items ..................................................................... 13–14. CONFIG Screen I/O Status ........................................................................................ 13–15. Range Setting Limitations .......................................................................................... 13–16. Custom I/O Setup Items ............................................................................................. 13–17. Communication Speed Settings for Switches Q and H ..................................................... 13–18. Unit Number Settings of Switches 16, 8, 4, 2, and 1 ........................................................ 13–19. I/O Robot In/Out Screen Items .................................................................................... 13–20. I/O Robot In/Out DETAIL Screen Items ....................................................................... 13–21. I/O SOP In/Out Screen Items ...................................................................................... 13–22. Standard Operator Panel Input Signals .......................................................................... 13–23. Standard Operator Panel Output Signals ....................................................................... 13–24. Process I/O Assignments ........................................................................................... 13–25. Kinds of Process I/O available on HandlingTool ............................................................. 13–26. Model A I/O Assignments .......................................................................................... 13–27. Model B I/O Assignments .......................................................................................... 13–28. I/O Link Device List Screen Items ............................................................................... 13–29. Device Names ......................................................................................................... 13–30. Devices that have Access to the DETAIL Screen ............................................................ 13–31. FANUC I/O Link Specifications .................................................................................. 13–32. FANUC I/O Link Ordering Information ........................................................................ 13–33. LED Status Descriptions ............................................................................................ 13–34. I/O InterConnect Screen Items .................................................................................... 13–35. Relationship Between the MODE SELECT Switch Signals and Modes of Operation ............. 13–36. I/O UOP In/Out Monitor Screen Items ......................................................................... 12–47 12–51 12–54 12–60 12–62 12–63 12–81 12–81 13–7 13–7 13–7 13–8 13–8 13–8 13–10 13–11 13–12 13–13 13–14 13–15 13–16 13–19 13–19 13–25 13–29 13–30 13–34 13–35 13–38 13–39 13–39 13–41 13–42 13–42 13–43 13–43 13–44 13–45 13–48 13–48 13–49 13–57 13–60 13–65 MAROUHT9102171E REV F Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Contents 13–37. I/O UOP In/Out Configure Screen Items ....................................................................... 13–38. UOP UI to Process I/O Board DI ................................................................................. 13–39. UOP Input Signals .................................................................................................... 13–40. UOP Outputs to Process I/O Board DO ........................................................................ 13–41. UOP Output Signals ................................................................................................. 13–42. Cell Interface Input Signals ........................................................................................ 13–43. Cell Interface Output Signals ...................................................................................... 13–44. Check Items with Robot Ready ................................................................................... 13–45. Custom I/O Setup Items ............................................................................................. 14–1. Input Parameters ...................................................................................................... 14–2. Output Parameters .................................................................................................... 14–3. Map Functions ......................................................................................................... 14–4. Options .................................................................................................................. 14–5. Auto Backward Exit Macros ........................................................................................ 14–6. Auto Exit Setup Items ................................................................................................. 14–7. Auto Backward Exit System Variables ........................................................................... 14–8. Error Recovery Features ............................................................................................ 14–9. Error Recovery Setup Items ........................................................................................ 14–10. Auto Error Recovery Manual Function Screen Items ....................................................... 14–11. Auto Error Recovery Manual Function Detail Screen Items .............................................. 14–12. Description of system variable (Following settings are necessary for each Local stop line) ........................................................................................................................ 14–13. .............................................................................................................................. 14–14. Center Finder Menu Items .......................................................................................... 14–15. Center Finder Motion SETUP Menu ............................................................................ 14–16. Troubleshooting Information ...................................................................................... 14–17. Collision Guard Setup Items ....................................................................................... 14–18. Collision Recovery Variable Data ................................................................................ 14–19. State of Condition Monitoring .................................................................................... 14–20. Program Monitor Menu Items ..................................................................................... 14–21. System Monitor Menu Items ...................................................................................... 14–22. Continuous Turn SETUP Screen Items ........................................................................ 14–23. $CN_USR_GRP.$cn_step_enb System Variable ............................................................ 14–24. Continuous Turn Common Problems ........................................................................... 14–25. Gear Ratio Information for FANUC Robots ................................................................... 14–26. Tool Offset Screen Items ........................................................................................... 14–27. User Frame Offset Screen Items ................................................................................. 14–28. Tracked Cycle Time Categories .................................................................................. 14–29. Cycle Time Tracking Screen Items ............................................................................. 14–30. Data Monitor SETUP Screen Menu Items .................................................................... 14–31. Data Monitor ITM DETAIL Screen Items .................................................................... 14–32. Data Monitor Schedule Menu Items ............................................................................ 14–33. Distance Before Specification .................................................................................... 14–34. Distance Before Signal Output Instructions .................................................................. 13–66 13–67 13–69 13–74 13–75 13–77 13–78 13–82 13–84 14–10 14–11 14–14 14–16 14–25 14–25 14–27 14–29 14–33 14–43 14–44 14–55 14–56 14–68 14–69 14–74 14–79 14–85 14–93 14–96 14–97 14–108 14–114 14–119 14–123 14–140 14–143 14–147 14–147 14–157 14–157 14–161 14–170 14–172 lv Contents Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table lvi 14–35. 14–36. 14–37. 14–38. 14–39. 14–40. 14–41. 14–42. 14–43. 14–44. 14–45. 14–46. 14–47. 14–48. 14–49. 14–50. 14–51. 14–52. 14–53. 14–54. 14–55. 14–56. 14–57. 14–58. 14–59. 14–60. 14–61. 14–62. 14–63. 14–64. 14–65. 14–66. 14–67. 14–68. 14–69. 14–70. 14–71. 14–72. 14–73. 14–74. 14–75. 14–76. 14–77. 14–78. MAROUHT9102171E REV F $DB_CONDTYP .................................................................................................... Distance Before Alarms ............................................................................................ DISTBF_TTS for a CALL Program Action .................................................................. Distance Before System Variables .............................................................................. ............................................................................................................................. Easy Normal Setup Items and Operations ..................................................................... Easy Teach Suite Main Setup Screen Items .................................................................. Auto Path Smoothing Menu Items .............................................................................. ENHANCED MIRROR IMAGE Screen Items .............................................................. Mastering Methods ................................................................................................... Mastering Method Selection ....................................................................................... Group Mask Exchange Screen Items ........................................................................... Group Mask Exchange Troubleshooting ...................................................................... TCP Cartesian position .............................................................................................. Joint angles .............................................................................................................. System Variables ...................................................................................................... Interface Panel Setup Screen ....................................................................................... Button Display Based on I/O ....................................................................................... Button Detail Setup Screen Items ................................................................................. Button Status ........................................................................................................... Operation Condition Setup Screen Items ....................................................................... Push Button Setup Items ............................................................................................ ............................................................................................................................. Push Button Lamp Setup Items .................................................................................... 2 Contact Point Switch Setup Items .............................................................................. Lamp Status Signal Items ........................................................................................... ............................................................................................................................. Digital Switch Setup Items ......................................................................................... Digital Display Items ................................................................................................. Miscellaneous Setting Screen Items .............................................................................. Jog Retract & Return Setup Items ................................................................................ I/O Setup Items ........................................................................................................ SETUP Menu Utility Screen Items ............................................................................. Prompt box msg Menus Screen Items .......................................................................... Prompt msg menus DETAIL Screen Items ................................................................... Prompt Box Yes/No Menu Screen Items ...................................................................... Prompt Box Yes/No Menu DETAIL Screen Items .......................................................... Select from a list Screen Items ................................................................................... List Menu DETAIL Screen Items ............................................................................... Status Menu Variable Detail Information ..................................................................... Status Menu Screen Items ......................................................................................... Status Menu DETAIL Screen Items ............................................................................ Status Menu Sub-DETAIL Screen Items ...................................................................... Operator Entry Menu Variable Detail Information ......................................................... 14–173 14–175 14–177 14–185 14–188 14–194 14–198 14–198 14–207 14–233 14–233 14–236 14–237 14–240 14–240 14–241 14–248 14–258 14–261 14–262 14–265 14–268 14–270 14–271 14–273 14–275 14–276 14–277 14–279 14–281 14–287 14–287 14–294 14–296 14–297 14–302 14–302 14–308 14–308 14–315 14–318 14–318 14–318 14–326 MAROUHT9102171E REV F Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table 14–79. 14–80. 14–81. 14–82. 14–83. 14–84. 14–85. 14–86. 14–87. 14–88. 14–89. 14–90. 14–91. 14–92. 14–93. 14–94. 14–95. 14–96. 14–97. 14–98. 14–99. 14–100. 14–101. 14–102. 14–103. 14–104. 14–105. 14–106. 14–107. 14–108. 14–109. 14–110. 14–111. 14–112. 14–113. 14–114. 14–115. 14–116. 14–117. 14–118. 14–119. 14–120. 14–121. 14–122. Contents Operator Entry Menu Screen Items ............................................................................. Operator Entry Menu DETAIL Screen Items ................................................................ Operator Entry Menu Sub-DETAIL Screen Items .......................................................... MIRROR IMAGE SHIFT Screen Items ....................................................................... Motion group DO Screen Items .................................................................................. Events Recorded by Log Book ................................................................................... System Variables used for Filtering ............................................................................. Alarm Filtering Example .......................................................................................... System Variables for Screen Filtering .......................................................................... LED Operations........................................................................................................ Items in Robot Homepage HMI iPendant....................................................................... Elements in the iRProgrammer Editor ........................................................................... Keys in Toolbar ........................................................................................................ Keys in Status Bar..................................................................................................... Items in Position Table ............................................................................................... Tree Menu ............................................................................................................... Jogging iPendant (JITP) Keys ..................................................................................... SHIFT Key State ...................................................................................................... Tag......................................................................................................................... Parameter of STARTMODE Tag .................................................................................. Parameters of ETHERNET Tag ................................................................................... Parameter of PENDANT Tag ...................................................................................... Parameters of CONFIG Tag ........................................................................................ Parameters for Full Load of Software ............................................................................ Items in DCS Mode Select menu.................................................................................. Items in DCS Mode Select menu.................................................................................. Safety I/O for Mode Select ......................................................................................... Assignment Statement Items and Operators.................................................................... $PS_CONFIG.$DB_IMMTRIG and .$DA_IMMTRIG Value and Description ...................... $PS_CONFIG.$DB_NOTRIG and .$DA_NOTRIG Value and Description .......................... Position BumpBox Schedule Items ............................................................................. Position BumpBox I/O Items ..................................................................................... Bump Frames ........................................................................................................... Basic Process Axes setup menu items ........................................................................... Process Axes Status Items .......................................................................................... Gear Ratio ............................................................................................................... User Scale ............................................................................................................... Group Input Scale ..................................................................................................... Input Signals ............................................................................................................ Output Signals.......................................................................................................... PROGRAM SHIFT Screen Items ............................................................................... Reference Position LISTING Screen Items ................................................................... Reference Position DETAIL Screen Items .................................................................... Selecting Resume Offset Type ................................................................................... 14–327 14–327 14–327 14–334 14–351 14–359 14–366 14–367 14–368 14–371 14–372 14–376 14–377 14–377 14–381 14–386 14–390 14–394 14–396 14–398 14–398 14–399 14–400 14–401 14–403 14–408 14–411 14–417 14–418 14–420 14–428 14–435 14–441 14–452 14–457 14–459 14–460 14–460 14–460 14–460 14–467 14–473 14–474 14–479 lvii Contents Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table lviii 14–123. 14–124. 14–125. 14–126. 14–127. 14–128. 14–129. 14–130. 14–131. 14–132. 14–133. 14–134. 14–135. 14–136. 14–137. 14–138. 14–139. 14–140. 14–141. 14–142. 14–143. 14–144. 14–145. 14–146. 14–147. 14–148. 14–149. 14–150. 14–151. 14–152. 14–153. 14–154. 14–155. 14–156. 14–157. 14–158. 14–159. 14–160. 14–161. 14–162. 14–163. 14–164. 14–165. 14–166. MAROUHT9102171E REV F Resume Offset Setup Menu Screen Items ..................................................................... Send Event Macro Description ................................................................................... Send Data Macro Description .................................................................................... Send SysVar Macro Description ................................................................................. Get Data Macro Description ...................................................................................... Request Menu Macro Description ............................................................................... Description of Each Tag ............................................................................................. RSI_CREATE_I () Elements ....................................................................................... RSI_DELETE_I () Elements ....................................................................................... RSI_DELETE_I () Elements ....................................................................................... RSI_ON_I () Elements ............................................................................................... RSI_OFF_I () Elements ............................................................................................. RSI_WRXML_I () Elements ....................................................................................... Servo Tool Setup ...................................................................................................... Shape Setup Information ........................................................................................... SETUP DETAIL Screen and UTILITIES DETAIL Screen Common Items ......................... Circle DETAIL Items (Circle-Specific Items) ................................................................ Hexagon DETAIL Items (Hexagon-Specific Items) ........................................................ Rectangle DETAIL Items (Rectangle-Specific Items) ..................................................... Slot DETAIL Items (Slot-Specific Items) ..................................................................... Keyhole DETAIL Items (Keyhole-Specific Items) ......................................................... Pommel DETAIL Items (Pommel-Specific Items) .......................................................... Cust Shape DETAIL Screen Items .............................................................................. Limitations for Custom Shapes .................................................................................. UTILITIES Shape Gen DETAIL Screens Additional Items .............................................. Troubleshooting Solutions ........................................................................................ DATA Servo Screen Items ........................................................................................ Joint Soft Float Schedule Setup Items .......................................................................... Cartesian Soft Float Setup Items ................................................................................ Pushout Setup Items ................................................................................................ Insertion Softness Settings ........................................................................................ Face-to-Face Softness Settings ................................................................................... Contouring Softness Settings ....................................................................................... Face Matching Softness Settings .................................................................................. Items in Soft Operator Panel ....................................................................................... Common Space I/O ................................................................................................. Space Check Function Screen Items ............................................................................ ............................................................................................................................. Start Packet (Sent from external device to robot controller) ............................................... Robot Status Packet (Send from Robot Controller to external device).................................. Motion Command Packet Send from External Device to Robot controller ............................ Stop Packet from External Device to Robot Controller ..................................................... System variables ....................................................................................................... Options that can not be used with Stream Motion ............................................................ 14–479 14–481 14–482 14–483 14–485 14–486 14–489 14–492 14–492 14–493 14–493 14–494 14–495 14–501 14–505 14–508 14–511 14–512 14–514 14–516 14–517 14–519 14–522 14–522 14–525 14–549 14–552 14–559 14–561 14–563 14–571 14–572 14–573 14–574 14–581 14–586 14–586 14–589 14–598 14–598 14–601 14–602 14–604 14–606 MAROUHT9102171E REV F Table 14–167. Table 14–168. Table 15–1. Table 15–2. Table 16–1. Table 16–2. Table 16–3. Table 16–4. Table 16–5. Table 16–6. Table 16–7. Table 16–8. Table 16–9. Table 16–10. Table 16–11. Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table 16–12. 16–13. 16–14. 16–15. 16–16. 16–17. 16–18. 16–19. 16–20. 16–21. 16–22. 16–23. 16–24. 16–25. 16–26. 16–27. 16–28. 17–1. 17–2. 17–3. 17–4. 17–5. 17–6. 17–7. 17–8. 17–9. 17–10. 17–11. Contents Teach Pendant Shim Screen Items and Function Keys .................................................... 14–631 HISTORY Screen Items ........................................................................................... 14–634 FANUC Sensor Data Formats ....................................................................................... 15–4 NULL Modem Cable Pin Connector Layout .................................................................... 15–8 Relation of iRCalibration Options .................................................................................. 16–3 Calibration Hardware ................................................................................................ 16–10 iRCalibration Master Set Schedule Screen Description .................................................... 16–12 iRCalibration Master Set Detection Schedule Description ................................................ 16–14 Program Creation Screen Items for Standard iRCalibration Master Set Programs .................. 16–22 Robot Calibration Program Taught Points ..................................................................... 16–26 Troubleshooting ....................................................................................................... 16–38 Calibration Hardware ................................................................................................ 16–41 iRCalibration Mastering Schedule Screen Description ..................................................... 16–43 iRCalibration Mastering Detection Schedule Description ................................................. 16–45 Program Creation Screen Items for Standard iRCalibration Master Recovery Programs ................................................................................................................. 16–53 Robot Calibration Program Taught Points ..................................................................... 16–57 Troubleshooting ....................................................................................................... 16–70 Calibration Mode Descriptions .................................................................................... 16–76 iRCalibration TCP Set UTOOL Schedule Item Description .............................................. 16–76 iRCalibration TCP Set Detection Schedule Description ................................................... 16–78 New TCP Program Points .......................................................................................... 16–86 iRCalibration TCP Set Fit Errors ................................................................................. 16–98 Calibration Mode Descriptions .................................................................................... 16–104 iRCalibration TCP Shift UTOOL Schedule Item Description ............................................. 16–104 iRCalibration TCP Shift Detection Schedule Description ................................................ 16–106 New TCP Program Points ......................................................................................... 16–113 iRCalibration TCP Shift Fit Errors .............................................................................. 16–126 Frame Schedule Detail Schedule Setup ........................................................................ 16–132 iRCalibration Frame Shift Detection Schedule Description .............................................. 16–134 Troubleshooting iRCalibration Frame Shift .................................................................. 16–155 STATUS iRCALIBRATION SIGNATURE .................................................................... 16–160 Secondary Encoder Setup Screen ................................................................................. 16–175 Valve Signals ............................................................................................................. 17–5 SETUP MH Tool Signal DETAIL Screen Items ............................................................... 17–6 I/O MatHandling Screen Items .................................................................................... 17–10 Handling Manual Operations ...................................................................................... 17–13 Material Handling Valve Macro Programs ..................................................................... 17–13 Part Present Macro ................................................................................................... 17–15 Check No Part Macro ................................................................................................ 17–16 Prepare to Pick Macro ............................................................................................... 17–16 Clear to Proceed Macro ............................................................................................. 17–17 Turn ON Vacuum Macro ............................................................................................ 17–18 Turn OFF Vacuum Macro .......................................................................................... 17–19 lix Contents Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table lx 17–12. 17–13. 17–14. 18–1. 18–2. 18–3. 18–4. 18–5. 18–6. 18–7. 19–1. 19–2. 19–3. 19–4. 19–5. 19–6. 19–7. 19–8. 19–9. 19–10. 20–1. 20–2. 20–3. 20–4. A–1. A–2. A–3. A–4. A–5. A–6. A–7. A–8. A–9. A–10. A–11. A–12. B–1. B–2. B–3. B–4. B–5. B–6. C–1. C–2. MAROUHT9102171E REV F Turn OFF Blowoff Macro .......................................................................................... 17–20 Set CurrentValve Macro ............................................................................................ 17–21 Set MH Tool ........................................................................................................... 17–22 Paint Plug In Setup Items ............................................................................................. 18–8 Rack 48 ..................................................................................................................... 18–8 CRMA15 ................................................................................................................... 18–9 CRMA16 ................................................................................................................. 18–10 CRMA58 ................................................................................................................. 18–11 CRMA59 ................................................................................................................. 18–12 Paint Plug In Status .................................................................................................... 18–13 Basic Specifications...................................................................................................... 19–3 Common setup ........................................................................................................... 19–9 Calibration Motion Type ............................................................................................ 19–11 Calibration Speed and Acceleration Rate ...................................................................... 19–14 Position Register No. ................................................................................................ 19–14 Touch Torque .......................................................................................................... 19–14 Detection Signal ....................................................................................................... 19–14 Status Tool Change Screen Items ................................................................................. 19–19 Servo Tool Change Initial Setup Screen Items ................................................................ 19–23 Servo Tool Change Setup Screen Items ......................................................................... 19–23 Touch Frame Setup Items ........................................................................................... 20–12 Search Pattern and Valid Pattern Type .......................................................................... 20–20 Touch Sensing Schedule Setup Items ........................................................................... 20–21 Touch I/O Setup Screen Items ...................................................................................... 20–51 Startup Methods .......................................................................................................... A–3 Alarm Log Screen ....................................................................................................... A–4 Application Alarm Screen ............................................................................................. A–4 Comm Log Screen ....................................................................................................... A–4 Fault Recovery Screen ................................................................................................. A–4 Motion Alarm Screen ................................................................................................... A–4 System Alarm Screen ................................................................................................... A–4 Haptic Alarm Log ......................................................................................................... A–5 ERROR FACILITY CODES FOR ALL APPLICATION-TOOLS ........................................ A–8 Severity Descriptions ................................................................................................. A–13 Effects of Error Severity ............................................................................................. A–14 MANUAL OT Release Items ...................................................................................... A–16 Startup Methods .......................................................................................................... B–2 Controlled Start Options for All Software Applications ..................................................... B–10 Controlled Start Options for HandlingTool ..................................................................... B–11 Handling Config Menu Options .................................................................................... B–11 Hardware Diagnostic Functions ................................................................................... B–15 Backup and Restore Controller Items ............................................................................ B–20 SYSTEM Master/Cal Items ........................................................................................... C–3 Setting for “Quick mastering for single axis” .................................................................... C–17 MAROUHT9102171E REV F Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table E–1. E–2. E–3. E–4. E–5. E–6. E–7. E–8. E–9. E–10. E–11. E–12. E–13. E–14. E–15. E–16. E–17. E–18. E–19. E–20. E–21. E–22. E–23. E–24. E–25. E–26. E–27. E–28. E–29. E–30. E–31. E–32. E–33. E–34. E–35. E–36. E–37. E–38. E–39. E–40. E–41. E–42. E–43. E–44. Contents Format of a system variable ........................................................................................... Power Fail Recovery — $SEMIPOWERFL ....................................................................... Brake Control — $PARAM_GROUP[group].$SV_OFF_ENB .............................................. Brake Control — $PARAM_GROUP[group].$SV_OFF_TIME ............................................. Brake Control — $PARAM_GROUP[group].$SV_OFF_ALL ............................................... Mastering — $MASTER_ENB ....................................................................................... Mastering — $DMR_GRP[group].$MASTER_DONE ......................................................... Mastering — $DMR_GRP[group].$MASTER_COUN ........................................................ Mastering — $DMR_GRP[group].$GRAV_MAST ............................................................. Mastering — $PARAM_GROUP[group].$MASTER_POS ................................................... Quick Mastering — $DMR_GRP[group].$REF_DONE ....................................................... Quick Mastering — $DMR_GRP.$REF_COUNT[group].$REF_COUNT ............................... Quick Mastering — $DMR_GRP.$REF_POS[group].$REF_POS ........................................ Calibration — $MOR_GRP.$CAL_DONE[group] ............................................................ Specifying Coordinate Systems — $MNUFRAMENUM[group] .......................................... Specifying Coordinate Systems — $MNUFRAME[group]................................................... Specifying Coordinate Systems — $MNUTOOLNUM ....................................................... Specifying Coordinate Systems — $MNUTOOL[group] .................................................... Specifying Coordinate Systems — $JOG_GROUP[group].$JOG_FRAME ............................ Setting Motors — $SCR_GRP[group].$AXISORDER ....................................................... Setting Motors — $SCR_GRP[group].$ROTARY_AXS .................................................... Setting Motors — $PARAM_GROUP[group].$MOSIGN ................................................... Setting Motors — $PARAM_GROUP[group].$ENCSCALES ............................................. Setting Motors — $PARAM_GROUP[group].$MOT_SPD_LIM ......................................... Override — $SHIFTOV_ENB ....................................................................................... Override — $MCR.$PROGOVERRIDE ......................................................................... Override — $SCR_GRP.$JOGLIM ................................................................................ Override — $SCR_GRP.$JOGLIMROT.......................................................................... Override — $SCR_GRP[group].$JOGLIM_JNT .............................................................. Override — $SCR.$COLDOVRD .................................................................................. Override — $SCR.$COORDOVRD ............................................................................... Override — $SCR.$TPENBLOVRD .............................................................................. Override — $SCR.$JOGOVLIM ................................................................................... Override — $SCR.$RUNOVLIM .................................................................................. Override — $SCR.$FENCEOVRD ................................................................................ Override — $SCR.$SFJOGOVLIM ............................................................................... Override — $SCR.$SFRUNOVLIM............................................................................... Override — $SCR.$RECOV_OVRD .............................................................................. Payload Specification — $PARAM_GROUP[group].$AXISINERTIA .................................. Payload Specification — $PARAM_GROUP[group].$AXISMOMENT ................................ Payload Specification — $PARAM_GROUP[group].$AXIS_IM_SCL.................................. Executing a Program — $DEFPULSE ............................................................................ Automatic Operation — $RMT_MASTER ...................................................................... Deleting the Warning History — $ER_NOHIS ................................................................. E–2 E–5 E–6 E–6 E–6 E–7 E–7 E–8 E–8 E–8 E–9 E–9 E–10 E–10 E–10 E–11 E–11 E–12 E–12 E–13 E–13 E–14 E–14 E–15 E–15 E–15 E–16 E–16 E–16 E–17 E–17 E–17 E–17 E–17 E–18 E–18 E–18 E–19 E–20 E–21 E–21 E–22 E–23 E–23 lxi Contents Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table Table lxii MAROUHT9102171E REV F E–45. Disabling Alarm Output — $ER_NO_ALM.$NOALMENBL ............................................. E–46. Disabling Alarm Output — $ER_NO_ALM.$NOALM_NUM ............................................ E–47. Disabling Alarm Output — $ER_NO_ALM.$ER_CODE ................................................... E–48. User Alarm — $UALRM_SEV ..................................................................................... E–49. Jogging — $JOG_GROUP.$FINE_DIST......................................................................... E–50. Jogging — $SCR.$FINE_PCNT .................................................................................... E–51. I/O Setting — $OPWORK.$UOP_DISABLE ................................................................... E–52. I/O Setting — $SCR.$RESETINVERT ........................................................................... E–53. I/O Setting — $PARAM_GROUP.$PPABN_ENBL ........................................................... E–54. I/O Setting — $PARAM_GROUP.$BELT_ENBLE ........................................................... E–55. Software Version — $ODRDSP_ENB ............................................................................ E–56. Soft Float Function — $SFLT_ERRTYP ......................................................................... E–57. Soft Float Function — $SFLT_DISFUP .......................................................................... E–58. Saving Files — $FILE_APPBCK................................................................................... E–59. Saving Files — $FILE_SYSBCK................................................................................... E–60. Register Speed Specification Function — $RGSPD_PREXE ............................................... E–61. Specifying an Output Signal of the BZAL/BLAL Alarm —$BLAL_OUT.$DO_INDEX............ E–62. Specifying an Output Signal of the BZAL/BLAL Alarm —$BLAL_OUT.$BATALM_OR ................................................................................... E–63. Setup for Changing Jog Group According to the Motion Group of the Selected Program — $PROGGRP_TGL ...................................................................................... E–64. Default Setting for the Motion Group — $DSBL_GPMSK ................................................. E–65. Servo Information — $SV_INFO[group].$Q_CURRENT .................................................. E–66. Servo Information — $SV_INFO[group].$AXIS_POS....................................................... E–67. System Timer $SYSTEM_TIMER[group].$PWR_TOT .................................................... E–68. $SYSTEM_TIMER[group].$SRV_TOT ......................................................................... E–69. $SYSTEM_TIMER[group].$RUN_TOT ........................................................................ E–70. $SYSTEM_TIMER[group].$WIT_TOT ......................................................................... E–71. $SYSTEM_TIMER[group].$SHM_TOT ........................................................................ E–72. System Ready — $PWRUP_DELAY.$SY_READY .......................................................... E–23 E–24 E–24 E–25 E–25 E–25 E–26 E–26 E–26 E–26 E–27 E–27 E–27 E–28 E–28 E–28 E–29 E–29 E–30 E–30 E–31 E–31 E–32 E–32 E–32 E–32 E–32 E–33 Safety FANUC America Corporation 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. The appropriate level of safety for your application and installation can best be determined by safety system professionals. FANUC America Corporation 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 America Corporation 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. Ensure that the robot being used is appropriate for the application. Robots used in classified (hazardous) locations must be certified for this use. FANUC America Corporation therefore, recommends that all personnel who intend to operate, program, repair, or otherwise use the robotics system be trained in an approved FANUC America Corporation 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. CONSIDERING SAFETY FOR YOUR ROBOT INSTALLATION 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 lxiii Safety MAROUHT9102171E REV F Keeping People Safe The safety of people is always of primary importance in any situation. When applying safety measures to your robotic system, consider the following: • External devices • Robot(s) • Tooling • Workpiece Using Safety Enhancing Devices 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 Setting Up a Safe Workcell 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 America Corporation 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. lxiv MAROUHT9102171E REV F Safety • 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 or firmware based controllers as the primary safety element unless they comply with applicable current robot safety standards. • 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. • 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. 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. lxv Safety MAROUHT9102171E REV F • 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 America Corporation 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 teach mode. 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. — 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. • Make sure all personnel are outside the work envelope before running production. Staying Safe During Automatic Operation 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. lxvi MAROUHT9102171E REV F Safety • 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. Staying Safe During Inspection 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. Staying Safe During Maintenance 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. lxvii Safety MAROUHT9102171E REV F • 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. • Be aware that an applicator bell cup can continue to spin at a very high speed even if the robot is idle. Use protective gloves or disable bearing air and turbine air before servicing these items. • 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. 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. • 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. • 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. 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. • 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. lxviii MAROUHT9102171E REV F Safety • 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. • 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. 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. Programming Safety Precautions Implement the following programming safety measures to prevent damage to machine tools and other external devices. • 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. Mechanical Safety Precautions 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 DCS (Dual Check Safety), software limits, limit switches, and mechanical hardstops to prevent undesired movement of the robot into the work area of machine tools and external devices. KEEPING THE ROBOT SAFE Observe the following operating and programming guidelines to prevent damage to the robot. lxix Safety MAROUHT9102171E REV F Operating 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. Programming Safety Precautions 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. lxx QUICK REFERENCE HandlingTool Quick Reference Flow Chart Figure 1. HandlingTool Quick Reference Flow Chart Start Refer to Jogging the Robot Refer to Mastering Refer to Axis Limits Setup Verify robot operation Check mastering by jogging in WORLD Verify safety switches Set axis limits Refer to Setting Up Tool Frame Refer to Setting Up User Frame Define Tool Frame Define User Frame Teach Tool Frame Assign a Tool Frame to be used Teach User Frame Refer to Writing and Modifying a Program Create teach pendant program Create a program from the SELECT menu Jog to desired points Record positions Refer to Single Step Testing Refer to Continuous Turn Test run Refer to Production Operation Run Production Refer to the Controller Maintenance Manual Refer to Production Operation Refer to the Controller Maintenance Manual Maintain the system Run Production Maintain the system Test using single step Test using continuous motion Verify and touch up points as required Start the production cycle Make any necessary adjustments Maintain equipment Start the production cycle Make any necessary adjustments Maintain equipment End lxxi Chapter 1 OVERVIEW AND STARTUP Contents Chapter 1 1.1 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.3.10 1.3.11 1.3.12 1.3.13 1.3.14 1.4 1.5 OVERVIEW AND STARTUP ................................................................. OVERVIEW ........................................................................................... ROBOT .................................................................................................. Robot Overview .................................................................................... Robot Models ........................................................................................ HandlingTool End-of-Arm Tooling (EOAT) ............................................ Extended Axes ..................................................................................... CONTROLLER ...................................................................................... Controller Overview ............................................................................. Standard Operator Panel ..................................................................... MODE SELECT Switch ....................................................................... Robot Stop Variation ........................................................................... User Operator Panel (UOP) ................................................................. Emergency Stop Devices .................................................................... Communications ................................................................................ Input/Output (I/O) ............................................................................... Remote I/O Interfaces ......................................................................... Motion ................................................................................................ Extended Axes ................................................................................... Controller Backplane .......................................................................... Memory .............................................................................................. Line Tracking ..................................................................................... FANUC SOFTWARE ........................................................................... STARTUP (AND POWER OFF) OF THE ROBOT .................................. 1–1 1–2 1–2 1–2 1–3 1–3 1–4 1–5 1–5 1–9 1–12 1–15 1–16 1–16 1–16 1–17 1–18 1–18 1–19 1–20 1–20 1–22 1–22 1–23 1–1 1. OVERVIEW AND STARTUP MAROUHT9102171E REV F 1.1 OVERVIEW The robot system consists of the robot (mechanical unit), the SYSTEM R-30iB Plus or R-30iB Mate controller, referred to as the R-30iB Plus controller, or R-30iB Mate, controller, or robot controller, and FANUC software. Due to the variation of robotic applications, FANUC makes a variety of robot mechanical units that will work with the R-30iB Mate Plus controller. Figure 1–1 displays an example robot system: the robot and controller. Your system layout might vary depending on the kind of equipment you are using. Each of the items called out in Figure 1–1 are described in more detail further in this chapter. Figure 1–1. Example System Overview 1.2 ROBOT 1.2.1 Robot Overview 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. The last three axes are the minor axes. A robot is classified by the number of linear and rotational axes. The major axes (1, 2, and 3) and minor axes (4, 5, and 6) move the tooling at the end of the robot arm. The movements are rotational twisting, up-and-down, and side-to-side motions. The major axes and minor axes are shown in Figure 1–2 . 1–2 MAROUHT9102171E REV F 1. OVERVIEW AND STARTUP Figure 1–2. Major and Minor Axes 1.2.2 Robot Models A variety of FANUC robot models can be used. Contact your FANUC representative for more information about the kinds of robots you can use. 1.2.3 HandlingTool End-of-Arm Tooling (EOAT) If you are using HandlingTool with the PalletTool option , single and double case grippers are available as options. Figure 1–3 and Figure 1–4 show examples of the kinds of grippers you might use with PalletTool. 1–3 1. OVERVIEW AND STARTUP MAROUHT9102171E REV F Figure 1–3. Finger Type Gripper Figure 1–4. Vacuum Type Gripper 1.2.4 Extended Axes Extended axes are the available axes controlled by the controller beyond the standard number of axes. There is a limit of three extended axes per motion group. The controller can control a maximum of 72axes. HandlingTool applications generally use extended axes on jobs that require a sliding axis, rail tracking, or line tracking. Refer to Section 1.3.11 for more information about extended axes. 1–4 MAROUHT9102171E REV F 1. OVERVIEW AND STARTUP 1.3 CONTROLLER 1.3.1 Controller Overview The controller 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 user operator panel (UOP) that provides a remote user interface to the controller. The motion system directs robot motion for all robot axes, including any extended axes and up to seven additional motion groups. Controller memory stores the software in addition to any user-defined programs and data. The controller is shown in Figure 1–5 , Figure 1–6 , and Figure 1–7 . The R-30iB Plus Compact controller is shown in Figure 1–8 . 1–5 1. OVERVIEW AND STARTUP Figure 1–5. R-30iB Plus A-Cabinet Controller 1–6 MAROUHT9102171E REV F MAROUHT9102171E REV F 1. OVERVIEW AND STARTUP Figure 1–6. R-30iB Plus B-Cabinet Controller 1–7 1. OVERVIEW AND STARTUP Figure 1–7. R-30iB Mate Plus Controller 1–8 MAROUHT9102171E REV F MAROUHT9102171E REV F 1. OVERVIEW AND STARTUP Figure 1–8. R-30iB Compact Plus 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 to external devices. Remote I/O interfaces allow the controller to send signals to a remote device over a single cable. 1.3.2 Standard Operator Panel The operator panel contains buttons, keyswitches, and connector ports and is part of the controller. Refer to the “Status Displays and Indicators” section of your application-specific Setup and Operations Manual for information on operator panel status indicators. See Figure 1–9 and Figure 1–10 . See Figure 1–9 , Figure 1–10 and Figure 1–11 . See Figure 1–12 . 1–9 1. OVERVIEW AND STARTUP Figure 1–9. R-30iB Plus A Cabinet Operator Panel Figure 1–10. R-30iB Plus B Cabinet Operator Panel 1–10 MAROUHT9102171E REV F MAROUHT9102171E REV F 1. OVERVIEW AND STARTUP Figure 1–11. R-30iB Mate Operator Panel CYCLE START Button with LED (Green) Emergency Stop Button Mode Switch (3-mode switch) Figure 1–12. R-30iB Compact Plus Operator Panel Table 1–1. Standard Operator Panel Buttons ITEM DESCRIPTION EMERGENCY STOP BUTTON This button stops the robot immediately. Turn the Emergency stop button clockwise to release it. FAULT RESET BUTTON This button releases the alarm state. CYCLE START BUTTON This button starts the currently selected program This button is lit when the program is being started. The FAULT RESET Button is not available on the R-30iB Mate Plus Controller. 1–11 1. OVERVIEW AND STARTUP MAROUHT9102171E REV F 1.3.3 MODE SELECT Switch The MODE SELECT switch is a keyswitch installed on the controller operator panel. 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 1–13 . Figure 1–13. Mode Select Switch When you change the mode using the MODE SELECT switch, the robot is paused and a message indicating which mode is selected is displayed at the top of the teach pendant screen. This message will be overwritten by status or error messages during operation. The mode that is currently selected is displayed immediately below the first message, and remains displayed. For example, if T1 mode is selected, you will see a screen similar to the following: SYST-038 Operation mode T1 Selected TEST1 LINE 9999 T1 PAUSED UTILITIES Hints JOINT 10 % You can 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. 1–12 MAROUHT9102171E REV F 1. OVERVIEW AND STARTUP 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 theT1 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. 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. 1–13 1. OVERVIEW AND STARTUP MAROUHT9102171E REV F 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. 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. Refer to the “Test Cycle ” section in the “Testing a Program and Running Production” chapter. 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 1–14 ): • Case [1] - If the robot deceleration time is less than the hardware timer, then the robot will decelerate to a stop. This is a controlled 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 1–14. Effect of Opening the Safety Fence While in AUTO Mode 1–14 MAROUHT9102171E REV F 1. OVERVIEW AND STARTUP The system variable $PARAM_GROUP.$LC_QST P_ENB defines whether the condition specified by the condition monitor (condition handler) function will be triggered during robot deceleration. By default, the condition, if it exists, is triggered during deceleration ($LC_QSTP_ENB = TRUE). When $LC_QSTP_ENB = FALSE, a condition, if it exists, is not triggered during deceleration. Refer to the 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. 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. 1.3.4 Robot Stop Variation When the EMERGENCY STOP button on the operator panel or teach pendant is pressed, the robot stops immediately. An emergency stop condition can be created not only when the EMERGENCY STOP button is pressed, but also by a combination of operation mode selection, teach pendant ON/OFF switch, DEADMAN switch, and safety fence open and close. Refer to Table 1–2 . Note If the DEADMAN switch is fully pressed, robot motion will not be allowed. This is the same as when the DEADMAN switch is released. Table 1–2. Robot Servo Status Mode TP-ON/OFF Switch DEADMAN Switch Fence SERVO Status Motion Possible AUTO ON pressed open OFF No close ON No open OFF No close OFF No open OFF No close ON Yes open OFF No close ON Yes released or pressed extremely firmly OFF pressed released or pressed extremely firmly 1–15 1. OVERVIEW AND STARTUP MAROUHT9102171E REV F Mode TP-ON/OFF Switch DEADMAN Switch Fence SERVO Status Motion Possible T1 or T2 ON pressed open ON Yes close ON Yes open OFF No close OFF No open OFF No close OFF No open OFF No close OFF No released or pressed extremely firmly OFF pressed released or pressed extremely firmly 1.3.5 User Operator Panel (UOP) 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. 1.3.6 Emergency Stop Devices Your FANUC America Corporation robot has the following emergency stop devices. • Two emergency stop buttons (one installed on the operator panel and one on the teach pendant) • External emergency stop (input signal) When the EMERGENCY STOP button is pressed, the robot stops immediately in all cases. The external emergency stop outputs or inputs the emergency stop signal for peripheral devices (such as a safety fence or gate). The signal terminal is on the controller and inside the operator panel. 1.3.7 Communications The controller has the capability of serial communication using: • RS-232-C which can be used for — DEC VT-220 terminal — IBM PC compatibles — Debug monitor Refer to Chapter 12 PROGRAM AND FILE MANIPULATION for more information about setting up the RS-232-C serial ports. 1–16 MAROUHT9102171E REV F 1. OVERVIEW AND STARTUP The controller also has the capability of using standard TCP/IP and UDP/IP protocols. FANUC America Corporation-supplied options are as follows: • FTP • Internet Connectivity and Customization • PC Interface • Cimplicity/HMI • User Socket Messaging In addition, the following I/O products are available: • DeviceNet Interface • CC-link • Ethernet/IP • Ethernet Global Data • FL-NET • Interbus • Modbus/TCP • Profibus DP • ProfiNet 1.3.8 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 kinds of I/O: • 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) 1–17 1. OVERVIEW AND STARTUP MAROUHT9102171E REV F These kinds of I/O are provided by devices, including • CC-link • DeviceNet • Ethernet Global Data (EGD) • Ethernet/IP • Interbus • Modbus/TCP • Modular I/O (Model A and Model B) • Process I/O (option) • Profibus-DP • ProfiNet Note that not all Tools support all of these options. Refer to the Setup and Operations Manual for each product for more information. 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. 1.3.9 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 1.3.10 Motion The motion system is used to control robot motion. The motion system regulates the characteristics of robot movement including path trajectory, acceleration/deceleration, termination and speed of the robot. In robotic applications, single segment motion is the movement of the tool center point (TCP) from an initial position to a desired destination position. The TCP is the point on the end-of-arm tooling at which the work is to be done. Motion Type There are four different types of motion: linear, circular, joint, and arc. You use these motion types to perform certain tasks. For example, you use linear motion if the robot must move in a 1–18 MAROUHT9102171E REV F 1. OVERVIEW AND STARTUP straight line between two positions. You use circular motion or arc motion when the positions must be along the arc of a circle. Joint motion is generally the motion type used at each position when it is not important how the robot moves from position to position. Note Joint motion and arc motion are not allowed in Line Tracking. Termination Type and Speed Termination type can be specified as fine and continuous. Speed can be specified in either length (mm/sec, cm/min, inch/min), percent, degrees of angle units, or length of time to execute a move. Motion Groups The controller optionally allows you to create up to eight motion groups. By default, the first motion group is a robot arm. Additional motion groups can be set up to perform tasks that are executed simultaneously with those of the robot. Each motion group can contain up to a maximum of nine axes. The total number of axes cannot exceed 72. Motion groups are independent, but a maximum of two motion groups can perform Cartesian coordinated linear or circular interpolated motion within a single program. The controller can support • Up to four full kinematics devices (robot mechanical units ) • Up to eight motion groups • Up to 72 axes — Up to 36 axes can be supported on the Main CPU PCB. — Up to 24 axes can be supported on an Auxiliary Axis PCB. — Up to 2 auxiliary axis PCBs can be supported. In some cases multiple robot followers will be present in a robot program. If the part paths are identical or mirrored (i.e. a motion segment on the first follower robot and the second, etc. are the same length), all the follower robots will be executing coordinated motion. In practice, there are small path differences between the follower robots, so the follower with the longest segment will dictate the time for the move AND will be exactly coordinated with the leader. The other follower robots will execute at a lower speed than the programmed speed. 1.3.11 Extended Axes Extended axes are the available axes controlled by the controller beyond the standard number of robot axes. Depending on your system setup, many applications use extended axes on jobs that require a rotary, sliding axis, rail tracking, opening devices, or line tracking. For the controller: • Up to four full kinematics devices (robot mechanical units) are supported on one controller 1–19 1. OVERVIEW AND STARTUP MAROUHT9102171E REV F • Non-robot motion groups of one to four axes can be defined. The maximum number includes extended axes. This includes General Positioner, Basic Positioner, and Independent Axis devices. • One to three extended axes can be added to a motion group. — The extended axes cannot be used independently of the motion group. — Each extended axis adds a position data field (E1, E2, E3) to the motion group data. — The Index axis device is one axis by definition and the Arc Positioner device is a two axes motion group device. Neither of these can have additional axes installed. • You cannot exceed nine axes per robot motion group; you cannot exceed four axes per non-robot motion group. 1.3.12 Controller Backplane A 4-slot backplane is available on the controller. The 4-slot backplane comes equipped with the following: • Power supply PCB — One wide mini slot • Main PCB — Two mini slots • Two full-size slots 1.3.13 Memory There are three kinds of controller memory: • Dynamic Random Access Memory (DRAM) • A limited amount of battery-backed static/random access memory (SRAM) • Flash Programmable Read Only Memory (FROM) In addition, the controller is capable of storing information externally. DRAM DRAM memory is volatile. Memory contents do not retain their stored values when power is removed. DRAM memory is also referred to as temporary memory (TEMP). The system software is executed in DRAM memory. KAREL programs and most KAREL variables are loaded into DRAM and executed from here also. Note Even though DRAM variables are in volatile memory, you can control their value at startup. Any time that a the program .VR or .PC file is loaded, the values in DRAM for that program are set to the value in the .VR file. This means that there is not a requirement to re-load the VR file 1–20 MAROUHT9102171E REV F 1. OVERVIEW AND STARTUP itself at every startup to set initial values. If the value of that variable changes during normal operation it will revert to the value it was set to the last time the .VR or .PC file was loaded. If you want the DRAM variables to be uninitialized at start up you can use the IN UNINIT_DRAM clause on any variable you want to insure is uninitialized at startup. You can use the %UNINITDRAM directive to specify that all the variables in a program are to be uninitialized at startup. If you have a SHADOW variables and DRAM variables in the same KAREL program, there is a possibility that the power up settings of the DRAM variables could change without loading a .PC/.VR File. In this case the programmer must pay particular attention to the reliance of KAREL software on a particular setting of a DRAM variable at startup. Specifically, the DRAM startup values will always retain the values that they had at the end of controlled start. If SHADOW memory is full, the DRAM startup values could be set during normal system operation. SRAM SRAM memory is nonvolatile. Memory contents retain their stored values when power is removed. SRAM memory is also referred to as CMOS or as permanent memory (PERM). The TPP memory pool (used for teach pendant programs) is allocated from PERM. KAREL programs can designate variables to be stored in CMOS. A portion of SRAM memory can be defined as a user storage device called RAM Disk (RD:). Flash memory (FROM) FROM memory is nonvolatile. Memory contents retain their stored values when power is removed. FROM is used for permanent storage of the system software. FROM is also available for user storage as the FROM device (FR:). SHADOW Shadow memory provides the same capabilities as SRAM. Any values set in shadow are non-volatile and will maintain their state through power cycle. Shadow memory is intended for data which tends to be static. Storing dynamic variables in shadow memory, such as FOR loop indexes or other rapidly changing data, is not efficient. 1–21 1. OVERVIEW AND STARTUP MAROUHT9102171E REV F Figure 1–15. Controller Memory External Storage You can back up and store files on external devices. You can use the following devices: • Memory card • Ethernet via FTP • USB Memory Stick 1.3.14 Line Tracking Line tracking is an optional feature that enables a robot to treat a moving workpiece as a stationary object. The option is used in conveyor applications, where the robot must perform tasks on moving workpieces without stopping the assembly line. Refer to the Linetracking Setup and Operations Manual for more information. 1.4 FANUC SOFTWARE The FANUC software works in conjunction with the robot and the controller to allow you to: 1–22 MAROUHT9102171E REV F 1. OVERVIEW AND STARTUP • Set up information required for the application • Program your application • Test your program • Run production • Display and monitor process information Other tools such as program and file management capabilities help you to maintain your system before, during, and after the production stage. 1.5 STARTUP (AND POWER OFF) OF THE ROBOT Turning on the robot provides power to the robot and controller. This section contains information and procedures to turn the robot on and off. Note For more information on various startup methods, see Section B.1 . 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. Use Procedure 1-1 to turn on the robot. Use Procedure 1-2 to turn off the robot. Use Procedure B-5 to cycle controller power. 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. Procedure 1-1 Turning On the Robot Conditions • All personnel and unnecessary equipment are out of the workcell. 1–23 1. OVERVIEW AND STARTUP MAROUHT9102171E REV F Steps 1. Visually inspect the robot, controller, workcell, and the surrounding area. During the inspection make sure all safeguards are in place and the safeguarded space is clear of personnel. 2. Turn the power disconnect circuit breaker on the operator panel to ON. Procedure 1-2 Turning Off the Robot Steps 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. 3. Turn the disconnect circuit breaker to OFF. 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 power disconnect 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. Procedure 1-3 Cycling Power from a Powered-up Controller Note For R-30iB Mate Plus controllers, power must be manually switched off and then on. Conditions • The controller is plugged in and is working properly. • The robot is powered on and in a Cold or Hot start state. • The REMOTE/LOCAL setup item in the System Configuration Menu is set to LOCAL. • The teach pendant is enabled. • You are not using an external robot connection. This is only available on the teach pendant. 1. Press FCTN. 2. Select CYCLE POWER. You will see a screen like the one shown below. 1–24 MAROUHT9102171E REV F 1. OVERVIEW AND STARTUP Figure 1–16. Cycle Power 3. Press ENTER. You will see a screen similar to the following. 4. Press YES. Controller power will cycle off and back on. 1–25 Chapter 2 iPENDANT OPERATIONS Contents Chapter 2 2.1 2.2 2.3 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.3.7 2.3.8 2.3.9 2.4 2.5 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.6 2.6.1 2.6.2 2.6.3 2.6.4 2.7 2.7.1 2.7.2 2.8 2.8.1 2.8.2 iPENDANT OPERATIONS ................................................................... OVERVIEW............................................................................................. TEACH PENDANT SWITCHES ............................................................... SCREEN NAVIGATION ........................................................................... Touch/Non-Touch Screen ...................................................................... Screen Backlighting ............................................................................ Zoom ................................................................................................... Related View Menu .............................................................................. Maximize/Restore ................................................................................ Window Display ................................................................................... Browser Guidelines ........................................................................... Changing Focus ................................................................................. Color Setup ........................................................................................ TEACH PENDANT KEYS ...................................................................... HAPTIC iPENDANT .............................................................................. Overview .............................................................................................. Hardware/Software Requirements, Application Tools.......................... Testing the Haptic iPendant ................................................................. Configuring the Haptic iPendant.......................................................... Haptic Log ........................................................................................... Common Haptic Functions .................................................................. Material Handling Haptic Functions ..................................................... STATUS ................................................................................................ Status Bar Displays ............................................................................ Status indicators ................................................................................ LEDs .................................................................................................. Display Equip ...................................................................................... HELP .................................................................................................... MORE INFO .......................................................................................... Help and Diagnostics ......................................................................... ADDITIONAL iPENDANT FUNCTIONS .................................................. Document Viewer................................................................................. Menu Favorites ................................................................................... 2–1 2–3 2–4 2–6 2–6 2–10 2–11 2–12 2–12 2–13 2–20 2–25 2–26 2–27 2–36 2–36 2–37 2–38 2–38 2–40 2–40 2–48 2–55 2–55 2–57 2–57 2–57 2–57 2–57 2–58 2–60 2–60 2–62 2–1 2. iPENDANT OPERATIONS 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.8.10 2.8.11 2–2 MAROUHT9102171E REV F Menu History ...................................................................................... Multi-Pane Edit ................................................................................... Other iPendant Guidelines ................................................................. Popup Menus ...................................................................................... Screen Customizations ....................................................................... Software Keyboard .............................................................................. Top Menu ............................................................................................. Universal Serial Bus (USB) Port ......................................................... User Views .......................................................................................... 2–65 2–65 2–66 2–67 2–68 2–82 2–91 2–98 2–98 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS 2.1 OVERVIEW The iPendant is the primary means with which to interact with the robot. The R-30iB Plus iPendant is the standard teach pendant style. The iPendant provides • Teach pendant keys designed to make the FANUC software easy to use • iHMI Guides for setting up your robot • Tutorials to teach you how to perform functions such as creating and executing a program, moving (jogging) the robot • A USB Port • An ON/OFF switch, Enabling Devices (DEADMAN switches), and an EMERGENCY STOP button • A touch screen interface (option) • A color graphics interface • Popup menus • Multiple screens displayed simultaneously • Internet/intranet access (option) • Integrated Help and Diagnostics • User-customized help and web pages • Customized displays • A 3D graphics processing engine to display the robot, tooling, parts and other cell components in 3D desktop quality graphics 2–3 2. iPENDANT OPERATIONS MAROUHT9102171E REV F Figure 2–1. iPendant 2.2 TEACH PENDANT SWITCHES The iPendant includes 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. If you are using PalletTool, you do not have to perform special programming functions unless you want to add custom features to your application. DEADMAN Switch Two DEADMAN switches are located on the back of the teach pendant, and are used as enabling devices. Each DEADMAN switch is a three-position switch. When the teach pendant is enabled, this switch allows robot motion only while a DEADMAN switch is gripped in the middle position. If the DEADMAN switch is completely gripped, or is released, no motion is allowed. Press the DEADMAN switch in the middle position to run the robot. See Figure 2–2 . 2–4 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS Figure 2–2. Teach Pendant Enabling Device (DEADMAN Switches) Teach Pendant Enable Switch (ON/OFF) 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/run a program. Figure 2–3. Teach Pendant Enable Switch EMERGENCY STOP Button 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 2–4 . 2–5 2. iPENDANT OPERATIONS MAROUHT9102171E REV F Figure 2–4. EMERGENCY STOP Button 2.3 SCREEN NAVIGATION 2.3.1 Touch/Non-Touch Screen If you have the optional touch screen available on your iPendant, you can select items by touching them on the screen. The item is activated as soon as you release the touch. If you press one of the following keys, you can select and activate a displayed item by touching and releasing that item on the screen: • MENU • DISPLAY • FUNCTION • [TYPE] • [CHOICE] Note Prompt box and Warn windows will not allow touch and release events. These events are typically shown in yellow on the iPendant screen. You can touch the screen anywhere to focus the window. The title bar of the focused window is divided into three parts and can be touched to activate a shortcut to the MENU, DISPLAY, and FCTN menus. If the title bar has any icons, such as (zoom), (maximize/restore), you can touch the icon to activate the feature. See Figure 2–5 . 2–6 (related view), or MAROUHT9102171E REV F 2. iPENDANT OPERATIONS Figure 2–5. Touch Screen Navigation Figure 2–5 displays the capabilities for touch screen and mouse navigation. Refer to Table 2–1 for information on navigating the touch screen. Table 2–1. Touch Screen and Mouse Navigation TOUCH SCREEN MOUSE DESCRIPTION Single tap Single left click Select a line or an item in a line. Touching above the first line will scroll up and touching below the last line will scroll down. 2–7 2. iPENDANT OPERATIONS MAROUHT9102171E REV F TOUCH SCREEN MOUSE DESCRIPTION Double tap Double left click Edit an item, select a program in the SELECT menu. Touch and hold Single right click Activate [CHOICE] menu while cursor is on item which contains [CHOICE] menu. Activate [EDCMD] while cursor is on line number in TP Editor. Select an item in 4D display. Mouse movement while left button is held Typically screens will scroll up or down. If you move fast, the automatic scroll feature will be enabled. You can now lift your finger or mouse and the screen will continue to scroll until it reaches the top or bottom of the screen. You can stop the scroll at any time by touching the screen. If your screen is in zoom mode, you can scroll left or right. Touch and drag. Firmly touch and hold the screen while moving your finger. Be sure to maintain contact by pressing firmly or using the fingernail side of your finger. Beeping means that you are not maintaining contact. Refer to Procedure 2-1 if you wish to disable the touch panel. Procedure 2-1 Touch Panel Setup 1. Press MENU. 2. Select SETUP. 3. Press F1, [TYPE]. 4. Select iPendant Setup. You will see a screen similar to the following. 2–8 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS Figure 2–6. iPendant General Setup 5. Select iPendant Touch Panel Setup. You will see a screen similar to the following. 2–9 2. iPENDANT OPERATIONS MAROUHT9102171E REV F Figure 2–7. Touch Panel Setup 6. Uncheck the boxes to disable touch. 7. Cycle power for the change to occur. 2.3.2 Screen Backlighting The teach pendant backlight has an automatic dimming function. If there is neither key nor touch operation for 4 minutes, the automatic dimming function will be activated. This decreases the brightness of the LCD backlight to 35%. It cannot be disabled. The teach pendant backlight can also be turned off completely to save energy when no keys are pressed for a defined period of time. The system variable $UI_CONFIG.$BLNK_ENABLE, disables or enables automatic shut off. If this is true the variable $UI_CONFIG.$BLNK_TIMER controls the amount of inactive time before the backlight is turned off. 2–10 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS Table 2–2. Blanking and Dimming Automatic Blanking Blanking and Dimming Spec. Enabled (default) After 4 minutes, brightness is decreased. After 5 minutes, backlight is turned off. Disabled After 4 minutes, brightness is decreased. Backlight will not be turned off. Note • When the teach pendant enable switch is turned to the enable position, the automatic turn off is not performed. • If any key is pressed while the backlight is turned off, the the teach pendant will be recovered quickly. FANUC recommends pressing the left or right shift key to recover the display. • When the backlight is turned off, no display is visible on the screen. Caution Do not judge the status of power cycle of your controller by whether display is visible or not on the screen. The teach pendant has a green LED indicator on a key sheet to show the status of a controller cycle power. 2.3.3 Zoom You can zoom in on the current iPendant screen using the Zoom icon in the top right corner of the screen. The Zoom Caret toggles through three zoom modes. If you change the displayed screen, the default zoom resolution will be displayed. See Figure 2–8 . 2–11 2. iPENDANT OPERATIONS MAROUHT9102171E REV F Figure 2–8. Zoom 2.3.4 Related View Menu The Related View Menu displays other menu choices that are available. It can display Related Views or provide a shortcut to the related iHMI Guide if one is available. 2.3.5 Maximize/Restore Maximize/Restore ( ) provides the ability to ZOOM the current window. You either touch the Maximize icon or press the Maximize/Restore button or function key from User View dialog box or select the Maximize/Restore entry in the DISPLAY menu. The configuration changes to Single Window with the currently selected window. See Figure 2–9 . You can revert to the original display by touching the Restore icon or selecting Maximize/Restore. If you change configuration while the window is Maximized, then the Restore is cancelled. 2–12 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS Figure 2–9. Maximize/Restore 2.3.6 Window Display 2.3.6.1 Overview Information can be displayed in multiple windows. You can activate the Display menu to select the window modes by pressing the SHIFT key and the DISP key (the Display key) at the same time. To select a window mode, you can either use the arrow keys to highlight a mode and then press ENTER, or you can type the number of the mode you want. 2–13 2. iPENDANT OPERATIONS You will see a menu displayed as shown in Figure 2–10 . Figure 2–10. Window Display Control Menu SHIFT + DISP = The following window display modes are available. These are shown in Table 2–3 . 2–14 MAROUHT9102171E REV F MAROUHT9102171E REV F 2. iPENDANT OPERATIONS Table 2–3. Window Displays Window Display Mode Example Screen Additional Comment Single Window In Single mode, one window is displayed. Double Window In Double, two different windows can be displayed at one time. Triple In Triple, three different windows can be displayed at one time. 2–15 2. iPENDANT OPERATIONS Window Display Mode Example Screen MAROUHT9102171E REV F Additional Comment TreeView The TreeView window presents a hierarchical view of information. Each item (often called a branch or a node) can have a number of subitems. An item can be expanded to reveal subitems, if any exist, and collapsed to hide subitems. See Section 2.3.6.2 . Single Wide In Single Wide, one wide screen window is displayed. Double Horizontal In Double Horizontal, two different windows can be displayed at one time horizontally. 2–16 MAROUHT9102171E REV F Window Display Mode Example Screen 2. iPENDANT OPERATIONS Additional Comment Triple Horizontal In Triple Horizontal, three different windows can be displayed at one time with one horizontal screen at the bottom. Status/Single The left hand side of the Status/Single window always displays a list of status information that you can select to display. It allows you to display one of the following status modes: • Position Display • Operator Panel • Stop Signal Note Additional status modes might be available based on your application. Note The information displayed in the left hand side of the Status/Single Window is always Status. Multiple Window Rules The following rules apply to multiple window display modes: • Switching between Single window display mode and Treeview or Status/Single window display mode does not affect the information in the right-hand window. • When you switch from other modes to Single window mode, the information in the left window is displayed in the Single window. • When you use Maximize/Restore to switch to Single window mode, the information in the currently selected window is displayed in the Single window. 2–17 2. iPENDANT OPERATIONS MAROUHT9102171E REV F 2.3.6.2 Additional Information about the TreeView Window The TreeView window presents a hierarchical view of information. Each item (often called a branch or a node) can have a number of subitems. An item can be expanded to reveal subitems, if any exist, and collapsed to hide subitems. Figure 2–11. TreeView The TreeView can be related to menus on the right. Use Top Menu -> TREEVIEW to access related views. The TreeView can display different types using the [ TYPE ] key. See Table 2–4 Table 2–4. TreeView Types TYPE DESCRIPTION Menu Select a menu to display. TIP: Use the to open all the menus. Collections Displays all the collections which are used to collect programs together. If a program is not loaded, it will be grayed out. 2–18 + right arrow key MAROUHT9102171E REV F 2. iPENDANT OPERATIONS TYPE DESCRIPTION Jobs Displays all the jobs. Each job opens to display its called programs. All Program Types Displays all program types. Call Trees Displays all programs which call other programs. Each program opens to display its called programs. Files Displays all file devices. Each device opens to display its files and subdirectories. System Variables Displays all system variables. Each system variable opens to display its field names. There may be more or less types depending on the options loaded. When the TreeView pane has focus, the following keys are available for operation: Table 2–5. TreeView Keys KEY DESCRIPTION [TYPE] Use this function key to display different types. [ATTR] Use this function key for program types to display and sort the tree with Name Only, Name/Comment, and Comment/Name. REFRESH Use this function key to refresh the contents of the TreeView. FIND Use this function key to search the entire tree for entered string. It is case insensitive and can be a partial string. If found, then the TreeView item is highlighted. You can press enter or double-click to select the TreeView item and the right pane may change if linked with the TreeView pane. The search remains valid. You can continue searching by pressing F4 NEXSRCH or cancel using F5 CANCEL. The search will wrap around continuously until PREV or CANCEL is performed. If no TreeView items are found, then the search is immediately cancelled. ENTER Select the TreeView item that is currently highlighted. Up and Down Arrow Key These keys will cursor up and down within the TreeView. Left and Right Arrow Key These keys will collapse and expand the TreeView. SHIFT + Up, SHIFT + Down, SHIFT + Left, SHIFT + Right Scroll page in that direction. Scroll bars will be visible if more content is available in the horizontal or vertical direction. On Windows, use CTRL key instead of SHIFT. + Left or PREV or + Right + Down When the type is Menus, use these 2 keys together to collapse or expand all menu entries. When the TreeView is used within a web page and has focus, this key is mapped to TAB in order to move focus out of the TreeView to other elements on the web page. 2–19 2. iPENDANT OPERATIONS MAROUHT9102171E REV F KEY DESCRIPTION Maximize/Restore The TreeView can be maximized for easier viewing and selecting. When restored, the TreeView will retain its selection. Zoom Zoom between 3 different size fonts. 2.3.7 Browser Guidelines You can use the iPendant to browse web pages that are accessible on the network from the robot. Note In order to access any web page that is not resident on a controller to which the iPendant is attached, the Internet Protocol Connectivity and Customization Option must be loaded and the Proxy Server properly configured. This includes accessing other robots on the network, and any other intranet or internet site. Without the Internet Protocol Connectivity and Customization Option, the iPendant can only be used to access web pages resident on the controller to which the iPendant is connected. This includes standard Help and Diagnostic (Cause/Remedy) information, the Home page of the robot and any custom developed .htm pages. Caution The browser only supports a limited subset of JavaScript and HTML tags. Browser components like FLASH, JAVA, ActiveX components, and so forth are not supported on the iPendant. Therefore, not all web pages are guaranteed to display correctly. To display the browser , press MENU, and select BROWSER. This will display the Browser Favorites menu. To access web pages, select Favorites from the Main menu. Table 2–8 lists the operations you can perform using the Browser keys. Table 2–7 describes the following Favorites operations: • Browse the Home Page of the robot to which the iPendant is connected • Add a hyperlink to another website or robot • Modify or Delete a Hyperlink that you have created • Select a Pre-Programmed Hyperlink (using the [TYPE] key) Table 2–6. Browser Screen Keys Key Description [TYPE] Use this function key to access pre-programmed hyperlinks. BACK Use this function key to move back to the previously displayed web page. FORWARD Use this function key to move forward one web page in the history buffer. REFRESH Use this function key to refresh the currently displayed web page. 2–20 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS Key Description HOME Use this function key to move to the Home page of the robot to which the iPendant is connected. CLR CACHE Use this function key to clear the cache of the iPendant browser. The cache is automatically cleared every power-up and when the language is changed on the controller. STOP Use this function key to stop the download of a web page. FAVORITES Use this function key to display the Favorites Page or to add or select a link. + ENTER Use these 2 keys together to add a space. Can also be used to check and uncheck an HTML checkbox. ENTER Select the link that is currently highlighted. Up and Down Arrow Key These keys are mapped to TAB and SHIFT-TAB in order to move the focus between elements on a web page. Left and Right Arrow Key These keys will operate left and right within a text box or up and down within an HTML select tag (drop-down list). SHIFT + Up, SHIFT + Down, SHIFT + Left, SHIFT + Right Scroll page in that direction. Scroll bars will be visible if more content is available in the horizontal or vertical direction. 2–21 2. iPENDANT OPERATIONS MAROUHT9102171E REV F Table 2–7. Favorites Screen Operations Operation Description Browse <my_robot> Home Page This link displays the home page of the robot to which the iPendant is connected. <my_robot> is the hostname of the robot to which the iPendant is connected. This is the robot name entered in the robot controller TCP/IP setup. Add a Link This allows you to create hyperlinks to any website available on the network with the robot or to link to .htm or .stm files resident on the robot. To access any file or link not resident on the controller the “Internet Protocol Connectivity and Customization Option” must be loaded and the Proxy and DNS services must be properly configured. Adding a link requires that you define two fields. The first is a “ friendly name” for the link. This name is used to identify the file or site to which you are linking. The second field is the network address for the link. It can be either a static IP address, or a DNS name. (For example, http://192.168.1.125, http://robot11.frc.com, and so forth.) To link to a file resident on the robot, use a relative link without the http://. For example, /fr/pw_op1.stm refers to pw_op1.stm on the FR: device. Also, /md/memory.dg refers to the memory diagnostic page on the MD: device. When“Add a Link” is selected, the following screen is displayed. Select the Enter a Name box using the cursor keys, and press ENTER. The popup keyboard will be displayed. Use the cursor keys to type the < name> (ex. FANUC, Yahoo, and so forth) you want associated with this link. When you are finished typing the name, select EXIT on the popup keyboard. Select the Enter an Address box and use the same procedure as above to type the link address (ex. http://192.168.1.1 or http://robot1.frc.com). Note The http:// will be added to the link address automatically. 2–22 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS Operation Description Add a Link Continued After the link name and address are entered, press Continue to add the entry to the Favorites Screen. See the following screen for an example. Modify an Entry To modify an entry, go to the Modify <name> link and press ENTER. This will display a screen similar to the entry screen above. Modify the appropriate items and press CONTINUE to save the modifications. 2–23 2. iPENDANT OPERATIONS MAROUHT9102171E REV F Operation Description Delete an Entry To delete an entry, go to the Delete <name> link and press ENTER. This will immediately remove this link from the list. Pre-Programmed These links are those that are listed when you select the [TYPE] key while in the Browser. They also Links show up as a pop-up menu when you select BROWSER from the Main Menu. Up to 10 of these pre-programmed links can be created by setting the following system variables: $tx_screen[n].$destination = "Your HTML page" $tx_screen[n].$screen_name = "Your screen name" Where n is 1 - 10 Example: $tx_screen[1].$destination = "http://www.yahoo.com" $tx_screen[1].$screen_name = "yahoo" Example2: $tx_screen[2].$destination = "/fr/pw_op1.stm" $tx_screen[2].$screen_name = "Production Status" In this case the popup [TYPE] menu will have "yahoo" and “Production Status” as entries. If “yahoo” is selected the website, www.yahoo.com, will be displayed on the iPendant. If “Production Status” is selected, the web page FR:\PW_OP1.STM will be displayed. Note Access to external links requires the Internet Protocol Connectivity and Customization Option. While in any browser screen, the following iPendant keys can be used to navigate the displayed web page. Refer to Table 2–8 . Table 2–8. Browser Screen Keys Key Description [TYPE] Use this function key to access pre-programmed hyperlinks. BACK Use this function key to move back to the previously displayed web page. FORWARD Use this function key to move forward one web page in the history buffer. REFRESH Use this function key to refresh the currently displayed web page. HOME Use this function key to move to the Home page of the robot to which the iPendant is connected. CLR CACHE Use this function key to clear the cache of the iPendant browser. The cache is automatically cleared every power-up and when the language is changed on the controller. STOP Use this function key to stop the download of a web page. FAVORITES Use this function key to display the Favorites Page or to add or select a link. + ENTER ENTER 2–24 Use these 2 keys together to add a space. Can also be used to check and uncheck an HTML checkbox. Select the link that is currently highlighted. MAROUHT9102171E REV F 2. iPENDANT OPERATIONS Key Description Up and Down Arrow Key These keys are mapped to TAB and SHIFT-TAB in order to move the focus between elements on a web page. Left and Right Arrow Key These keys will operate left and right within a text box or up and down within an HTML select tag (drop-down list). SHIFT + Up, SHIFT + Down, SHIFT + Left, SHIFT + Right Scroll page in that direction. Scroll bars will be visible if more content is available in the horizontal or vertical direction. 2.3.8 Changing Focus Focus identifies the currently active or primary window. The current focus can be one of the multiple windows. Only one window has focus at a time. The window with the current focus is identified with a red border and a blue title bar at the top of the window. All other displayed windows will have a gray title bar when they are not the current focus. The displayed function key labels reflect the currently focused window. See Figure 2–12 . 2–25 2. iPENDANT OPERATIONS MAROUHT9102171E REV F Figure 2–12. Window and Focus Example To change the focus automatically, press DISP without pressing the SHIFT key. After you have changed the focus, you can then perform the functions that are allowed for the currently active window. 2.3.9 Color Setup The iPendant uses #E1E7EC (decimal 14804972) for the default background color for most of the screens. In a RGB color space, this is composed of 88.2% red, 90.6% green, and 92.5% blue. The iPendant background color can be changed by setting $UI_CONFIG.$BACKCOLOR. You will have to convert the hex number to decimal in order to set it. The foreground color is always black (#000000) so in order to see the text, the background color cannot be too dark. When the controller is restarted, if ((red + green + blue) / 3) < 127, then $UI_CONFIG.$BACKCOLOR is reset to #E1E7EC. 2–26 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS 2.4 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) 2–27 2. iPENDANT OPERATIONS Figure 2–13. HandlingTool iPendant Keys 2–28 MAROUHT9102171E REV F MAROUHT9102171E REV F 2. iPENDANT OPERATIONS Table 2–9. Navigation and Data Entry Keys iPendant Key Symbolic iPendant 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 key is a special key. When you press the key together with other keys, the special screen is displayed. When you press + HELP, the Help for i key screen is displayed. 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 MENU key is used to display the screen 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. 2–29 2. iPENDANT OPERATIONS iPendant Key MAROUHT9102171E REV F Symbolic iPendant Key (if available) Function 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 function menu. Table 2–10. Robot Motion Keys iPendant Key Symbolic i 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. Note The group key is enabled only when Multi motion group software option (J601) or Extended Axis Control software option (J518) has been ordered, and the extended axis or the independent axis has been set up. 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. 2–30 MAROUHT9102171E REV F iPendant Key 2. iPENDANT OPERATIONS Symbolic i Pendant Key (if available) Function The jog keys are effective while a SHIFT key is pressed. They are used to jog the robot. These keys are used to jog extended axes or servo gun axes. 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%, 2% 3% 4% 5%, 10% 15% 20% and so forth in 5% increments to 100%. (Set $SHFTOV_ENB to alter the override settings.) 2–31 2. iPENDANT OPERATIONS MAROUHT9102171E REV F Table 2–11. Execution Keys iPendant Key Symbolic iPendant Key (if available) Function 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. The RESET key is used to clear an alarm. Table 2–12. Editing Keys iPendant Key Symbolic iPendant Key (if available) Function 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. 2–32 MAROUHT9102171E REV F iPendant Key 2. iPENDANT OPERATIONS Symbolic iPendant Key (if available) Function 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 2–13. Material Handling-Specific Keys iPendant Key Function The 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. 2–33 2. iPENDANT OPERATIONS iPendant Key MAROUHT9102171E REV F Function The POSN key displays position data. The I/O key displays the I/O screen. Table 2–14. Help and Diagnostic Key iPendant Key Symbolic iPendant Key (if available) Function The HELP key displays help files 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. Table 2–15. FCTN Menu Item Function ABORT ALL This item aborts all running or paused programs. Disable FWD/BWD This item allows you to disable the ability to execute program instructions when the SHIFT and FWD keys or SHIFT and BWD keys are pressed. The ability to use SHIFT FWD and SHIFT BWD will be disabled until you press FCTN and select DISABLE FWD/BWD again. RELEASE WAIT During program execution, wait release allows you to override pauses in the program when the robot is waiting for I/O conditions to be satisfied. Release wait works only when a program is running. QUICK/FULL MENU This item toggles the menu display between a full or a shorter menu list. SAVE This item saves the current program. PRINT SCREEN This item saves the current teach pendant screen image to the default device as tpscrn.ls. PRINT This item saves the current program to the default device as program_name.ls. UNSIM ALL I/O This item unsimulates all simulated signals. 2–34 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS Item Function CYCLE POWER This 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. ENABLE/DISABLE HMI MENUS This item enables (or disables) the optional HMI Menus in both FULL and QUICK Menu mode. REFRESH PANE This item refreshes the page in the active window. Key The key is a special key. When you press the key together with other keys, the special screen is displayed. When you press + HELP, the Help for the key is displayed. See Table 2–16 . Table 2–16. Key Key Functions Description + MENU Displays the Top Menu. + SELECT Displays the Select menu in the left pane and the 4D node map in the right pane for the program which is highlighted by the cursor. + EDIT Displays the TPP editor in the left pane and 4D node map in the right pane. + DATA Displays the position register data in the left pane and a 4D display of position registers in the right pane. + FCTN Displays the Related View Menu if one is available. + POSN Presents a 4D display of the robot using the last selected view. + Jog Key Shows you the direction that the robot will move when the jog key is pressed when the 4D screen is displayed. + DISP Switches the display to the next window if one is available. + COORD Toggles jog indicators on and off. + ENTER Adds a space. Can also be used to check and uncheck an HTML checkbox. When a blinking is shown in the Status Bar, then pressing and releasing will display the STATUS Notifications screen. 2–35 2. iPENDANT OPERATIONS MAROUHT9102171E REV F 2.5 HAPTIC iPENDANT 2.5.1 Overview The iPendant provides you valuable information such as warnings and other messages. During teaching and playback, however, you often focus on the robot, equipment, and workpiece rather than the iPendant, and can miss valuable information displayed to alert or notify you. Critical events such as I/O triggering, motion / process parameter changes, and so forth could go unnoticed, since they could be invisible or are not easy to see. The Haptic (vibration) iPendant (equipped with a haptic motor) alerts you by vibrating the iPendant case and displaying a Bubble Notification momentarily to indicate the cause and/or action required. The Haptic iPendant: • Saves Teaching Time: by letting you know a Critical / Invisible Event just occurred or could soon occur • Alerts you to Process Conditions: alerts you on process conditions that you might overlook (e.g. Arc enabled) • Lets You Feel an Event: It is not easy to watch the Robot (e.g. TCP) and the iPendant (e.g. I/O status) at the same time, e.g. while tuning a robot mounted proximity sensor. The vibration lets you feel it. • Provides User-Defined Alerts: Enhances the user teaching experience by defining your own conditions for Haptic feedback. The Haptic iPendant is active when the • Teach Pendant is enabled or, • DEADMAN switch is held Note These conditions are independent of the Mode Switch Setting. For example, even in Auto Mode, the Haptic iPendant will be active if you hold the DEADMAN switch. 2–36 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS Figure 2–14. Haptic iPendant Overview 2.5.2 Hardware/Software Requirements, Application Tools The Haptic iPendant requires both hardware equipment and software: Hardware • Haptic enabled iPendant with a designated part number including 104, or 105 in the part number label at the back of the iPendant — A05B-2255-C105/xxx – Haptic, with touch panel — A05B-2255-C104/xxx – Haptic, without touch panel Software: • R848 iPendant Haptic Refer to Figure 2–15 . Figure 2–15. Hardware/Software Compatibility Matrix The Haptic iPendant currently supports: • Arc Welding 2–37 2. iPENDANT OPERATIONS MAROUHT9102171E REV F • Material Handling • Dispense Note The Haptic iPendant is not supported on Paint Robot Controllers. 2.5.3 Testing the Haptic iPendant You can test Haptic vibration by pressing the “Test Haptic” button at the bottom of the General category on the Haptic Setup UIF Touch Screen (see Figure 2–16 ), then the: • Teach pendant vibrates • A Bubble Notification will pop up momentarily and then disappear Figure 2–16. General Haptic Setup 2.5.4 Configuring the Haptic iPendant Haptic features are ENABLED by default on Haptic iPendants, so no setup is typically required. However, many setup items such as events, vibration lengths and so forth., can be configured. 2–38 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS Procedure 2-2 Configuring the Haptic iPendant Conditions • You are using a Haptic iPendant. Steps 1. To access the Haptic Touch Screen Setup screen, press MENU. 2. Select SETUP. 3. Press F1, [TYPE]. 4. Select Haptic. You will see a screen similar to the following. It is organized into a few categories, such as General, System Configured Alarms, Inputs / Outputs, Motion, and so forth. If you touch the title bar of each category, the category will be expanded to show the detailed items. If you touch the title bar again, the category will collapse. Figure 2–17. Configuring Haptic Feedback 5. You can customize the Haptic settings in Haptic Setup UIF Screen: • Enable / Disable ALL Haptic vibration, or Bubble Notification • Enable / Disable only a selected group of Haptic features • Enable / Disable individual Haptic feature by setting vibration pattern (OFF is disable) • Customize vibration pattern (short, medium, long, short – long, … etc). • Define I/O type / number, and the transition that triggers Haptic feedback • Define vibration pattern for an User Alarm once it’s defined • Haptic settings are saved in HAPTIC.SV in an all file backup or MD backup Note If your iPendant does not have a touch screen, you could use the ARROW keys to navigate the Haptic Setup UIF screen (which is a web page): • Up and Down Arrow Key: These keys are mapped to TAB and SHIFT-TAB in order to move the focus between elements on a web page 2–39 2. iPENDANT OPERATIONS MAROUHT9102171E REV F • Left and Right Arrow Key: These keys will operate left and right within a text box or up and down within an HTML select tag (drop-down list) Note Refer to Table 2–8 for information on the Browser Screen Keys. 2.5.5 Haptic Log The most recent haptic events are listed in the Haptic Log under Alarms. Figure 2–18. Haptic Log 2.5.6 Common Haptic Functions The following are Haptic functions common and default to most applications: • Warning Alarms • User Alarms • I/O • Prompt Box 2–40 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS • @ Taught Position Figure 2–19. Warning Alarms A set of pre-selected System Warning Alarms could trigger haptic feedback, they include: • MotorSpd lim/DVC – robot could be near singularity • Disturbance excess – robot could be near collision • Speed limit used – large orientation moves • Joint Torque Over – too large joint torque 2–41 2. iPENDANT OPERATIONS MAROUHT9102171E REV F Figure 2–20. User Alarms • You can first define a User Alarm, including its severity (e.g. $UALRM_SEV[n] = 0 for a user alarm with warning severity) as usual. • Once defined, a new Haptic item “User Alarms” will be displayed in the Haptic Setup UIF. You could change the default vibration pattern. • When the UALM[n] instruction is executed in a teach pendant program, teach pendant will vibrate, and a bubble notification will be displayed. • This allows you to customize your own Haptic vibration event. The following sample programs can be used to monitor I/O, Registers, or System Variables in order to post a user alarm and initiate Haptic feedback. This first example will monitor the state of DI[1] and post a user alarm UALM[1] if the input is ON. Since UALM[1] has been set up in $UARLM_MSG[1] then it will appear on the Haptic setup menu and can be enabled to generate a Haptic response when the alarm is posted. 2–42 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS Figure 2–21. Monitoring I/O This second example will monitor the state of R[123] and post a user alarm UALM[2] if the value is >= 5000. Since UALM[2] has been set up in $UARLM_MSG[2] then it will appear on the Haptic setup menu and can be enabled to generate a Haptic response when the alarm is posted. 2–43 2. iPENDANT OPERATIONS MAROUHT9102171E REV F Figure 2–22. Monitoring Registers This third example will monitor the state of the system variable $MCR.$genoverride and post a user alarm UALM[3] if the value is not equal to 100. Since UALM[3] has been set up in $UARLM_MSG[3] then it will appear on the Haptic setup menu and can be enabled to generate a Haptic response when the alarm is posted. 2–44 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS Figure 2–23. Monitoring System Variables 2–45 2. iPENDANT OPERATIONS MAROUHT9102171E REV F Figure 2–24. I/O From the Haptic Setup screen, you can define I/O or FLG (which does not require physical I/O) to create your own haptic event. 2–46 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS Figure 2–25. Prompt Box After a program is paused, if cursor is moved to a different line, and you attempt to resume the program, the prompt box will trigger haptic vibration. No notification message is displayed since prompt box already has the message. 2–47 2. iPENDANT OPERATIONS MAROUHT9102171E REV F Figure 2–26. @Taught Position During Single Step, when robot reaches a taught position, haptic vibration is triggered. No notification is provided since @ sign is already displayed at the program taught position 2.5.7 Material Handling Haptic Functions Haptic iPendant functions are integrated into HandlingTool to enhance the material handling user’s teaching experience: • SKIP instructions • Interference Zone • Delta robots (e.g. M-3iA) Slowdown Zone • Use of I/O, FLG to trigger Haptic feedback for — Proximity sensing — Force > Threshold • Vision — Parts / Offset NOT found: Use FLG to trigger the Haptic iPendant • Learning Path Control (for small shape cutting) 2–48 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS Figure 2–27. Skip Condition • Teach Pendant vibrates when SKIP condition is detected during motion — including SKIP, High Speed SKIP, Touch SKIP • SKIP instruction could be used to — detect tooling contact with a part — servo gripper engaging a part — proximity sensor detecting a target is in range — detect events using a variety of skip conditions, such as – I/O, system variable change, Error Number 2–49 2. iPENDANT OPERATIONS MAROUHT9102171E REV F Figure 2–28. Skip Condition • It could be challenging to look at the robot and the teach pendant at the same time to see when SKIP condition is detected, the Haptic iPendant allows you to ‘feel’ it when it happens. 2–50 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS Interference Zone Figure 2–29. Interference Zone Interference zones (available in R759 Intelligent Interference Check) are invisible. Haptic Teach Pendant allows user to ‘feel’ the zone, it • vibrates when robot enters the zone • vibrates with another pattern when robot exits the zone 2–51 2. iPENDANT OPERATIONS MAROUHT9102171E REV F Figure 2–30. Delta Robot Slowdown Zone • As M-3iA extends out, its speed is automatically adjusted. • The Haptic iPendant vibrates when it enters the slowdown zone. • It vibrates with a different pattern when it exits slowdown zone. 2–52 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS Figure 2–31. Vision Not Found Vision NOT found Vision Get Offset VR[1], JMP LBL[1] .. LBL[1] F[1] = ON <— Use FLAG to trigger Haptic Pendant and alert user 2–53 2. iPENDANT OPERATIONS Figure 2–32. Force Sensing Note Force Sense: Monitor if • Force Sense Analog value > Threshold, • If so, robot is pressing too hard on part • Use FLG to trigger Haptic iPendant to alert user 2–54 MAROUHT9102171E REV F MAROUHT9102171E REV F 2. iPENDANT OPERATIONS Learning Path Control R816 — Small Shape Cutting Figure 2–33. Learning Path Control Shape Cutting Haptic iPendant alerts user setup check for Learning Path Control • If not in AUTO mode • If speed override < 100% At the end of Learning, the Haptic iPendant would also alert you if • The tolerance is within the specified threshold • The learning results fail to converge 2.6 STATUS 2.6.1 Status Bar Displays The status bar displays dynamic controller and robot status information. and Table 2–17 describes each kind of status. Figure 2–34 displays the following status information. 2–55 2. iPENDANT OPERATIONS MAROUHT9102171E REV F Figure 2–34. Status Bar Display Table 2–17. Status Bar Display Items STATUS ITEM DESCRIPTION Status Indicators The teach pendant status indicators indicate the system condition when you are using the teach pendant to control the system. • Busy indicates that the controller is processing information. • Step indicates that the robot is in step mode. • HOLD indicates that the robot is in a hold condition. HOLD is not on continuously during a hold condition. • FAULT indicates that a fault condition has occurred. • Run indicates that a program is being executed. • The last three indicators are application-specific Alarm Status Line This item displays the current alarm. Touching the Alarm or Program Status Line will be the same as pressing the DIAG key, which can be used to display diagnostics for the current alarm. Program Status Line This item indicates the name of the currently executing program, and the current line number and status. It also indicates the mode AUTO, T1, or T2. Motion Information This item lists the following information: Speed Override 2–56 • Coordinate System • Group • Subgroup The speed override is a percentage of the maximum speed at which the robot will move. A speed override of 100% indicates that the robot will move with the maximum possible speed. MAROUHT9102171E REV F 2. iPENDANT OPERATIONS 2.6.2 Status indicators Teach pendant status indicators indicate the current system condition. Refer to the Status chapter of your application-specific Setup and Operations manual for more information. If you are using PalletTool, refer to the HandlingTool Setup and Operations Manual . 2.6.3 LEDs The iPendant has the following LEDs. Table 2–18. LED Description FAULT This LED indicates that a fault condition has occurred. POWER This item indicates controller power is on. 2.6.4 Display Equip This item is only used in applications that are controlling multiple equipments. Some menus in these applications are equipment related and change based on which equipment is chosen. The Display Equip item is used to select the equipment number being referenced by these menus. Display Equip applies to the menu in the pane that currently has focus. The equipment number selected is displayed in the focus bar for that pane. If your system uses multiple equipment, refer to the multiple equipment section in this manual for more information. 2.7 HELP Assistance with screens and menu functions is provided • In iHMI Guides • On the iPendant screen 2.7.1 MORE INFO iHMI Guides display additional help when the MORE INFO button is pressed. MORE INFO is available to describe a topic in more detail, such as providing more information about coordinate systems or network setup. 2–57 2. iPENDANT OPERATIONS MAROUHT9102171E REV F 2.7.2 Help and Diagnostics You can use the HELP/DIAG key to display help and diagnostics for the data displayed in the current window on the iPendant. You can also select the HELP/DIAGNOSTICS menu item on the DISPLAY popup menu. To display help information for the currently active window, press the HELP/DIAG key. To display diagnostic information, press the SHIFT key and the HELP/DIAG key. To use the HELP/DIAGNOSTICS menu item, refer to Table 2–19 . Note If help is already displayed when you select another help function, the previous menu will be displayed. You must select help again to display the help menu. Table 2–19. HELP/DIAGNOSTICS Menu Items ITEM DESCRIPTION Help This item displays help for the currently active window. Context Help This item displays context sensitive help, if it exists, for the currently active window. Diagnostics/Diagnostics Home Diagnostics will display alarm documentation for the active alarm. Diagnostics Home will display the Alarm Documentation Home page. Menu Help This item displays the menu tree and provides links to all the help files menus other than the current menu. While in help and diagnostics screen, most of the browser screen keys can be used to navigate the displayed web page. Refer to Table 2–8 . Note The Help and Diagnostics information display location depends on the current window mode and the active window. Table 2–20 lists the display locations for each available window mode. Table 2–20. Help/Diag Information Display Locations Window Mode Display Location Single The Help/Diag information replaces the current information in the window. Treeview and Status/Single The Help/Diag information replaces the current information in window on the right. Double The Help/Diag information replaces the information in the inactive window (Window without focus) and makes HELP/DIAG window the active window. Triple The Help/Diag information replaces the current information in the window without focus and makes the HELP/DIAG window the active window. For example in triple mode, the left window is window 1, the upper right window is window 2, and the lower right window is window 3. Then, if the active window is window 2, the Help/Diag information replaces the contents of window 3. If the active window is window 3, the Help/Diag information replaces the contents of Window 1, and so forth. Note To display the previous screen after Help has been displayed , press PREV. To display Help information for any screen, 2–58 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS • Press the HELP key while in that screen. To return to the previous screen, press the HELP/DIAG key or press SHIFT and the HELP/DIAG key at the same time. • Press SHIFT, and DISP to display the DISPLAY popup menu. Select Help/Diagnostics. Move the cursor to the right and select Help. Help for the current menu will be displayed. To display context sensitive help if it exists for a screen , • Press the HELP key while in that screen. To return to the previous screen, press the HELP/DIAG key or press SHIFT and the HELP/DIAG key at the same time. • Press SHIFT, and DISP to display the DISPLAY popup menu. Select Help/Diagnostics. Move the cursor to the right and select Context Help. Context sensitive help for the current menu will be displayed. To display diagnostic information , • Press the SHIFT key and the HELP/DIAG key. A popup screen, similar to the one shown below, will be displayed. This screen contains the program status, the most recent alarm, and the cause code if one exists. To display the diagnostic information for that specific alarm, press CONTINUE. Cancel will return to the previous screen. • Press SHIFT, and DISP to display the DISPLAY popup menu. Select Help/Diagnostics. Move the cursor to the right and select Diagnostics or Diagnostics Home. In addition, if you are in an ALARM screen and press the SHIFT + HELP/DIAG key you will get the diagnostic information for the alarm that you have selected. To exit the diagnostic screen and return to your previous screen, press either the HELP/DIAG key or press SHIFT and the HELP/DIAG key at the same time. You can also press PREV to display the previous screen. To display Menu Help , 2–59 2. iPENDANT OPERATIONS MAROUHT9102171E REV F • Press the SHIFT key and the DISP key, select Help/Diagnostics and select Menu Help. This displays the menu tree and provides links to all the help files menus other than the current menu. 2.8 ADDITIONAL iPENDANT FUNCTIONS 2.8.1 Document Viewer 2.8.1.1 Overview The iPendant Document Viewer allows viewing of documents in proprietary file formats. The following file formats are supported: Adobe® Acrobat® Portable Document Format (PDF) v1.3 and later. 2.8.1.2 Opening a Document Documents can be opened on any local R-30iB Plus storage device. Procedure 2-3 Open Document 1. Press MENU. 2. Select FILE. 3. Press F5, [UTIL] 4. Select Set Device. 5. Select a device. 6. Press F2, [DIR] 7. Select a filter. 8. Select the file to view. 9. Press ENTER. 2.8.1.3 Navigating with the Document Viewer Figure 2–35 shows a typical single pane view of a document open in the Document Viewer. 2–60 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS Figure 2–35. Document Viewer Three function keys are available when the Document Viewer has focus. Table 2–21. Document Viewer Function Keys Function Key Description FIT PAGE Zoom so that the entire page is visible within the Document Viewer window. this mode allows quick navigation between pages of a document. ZOOM The up and down arrow key will increase and decrease the zoom level respectively. PAN The arrow keys will pan the display. Touch screen gestures will always pan the display. JUMP The JUMP function key will display a list of bookmarks in the document. Selecting a bookmark will jump to that location in the document. 2–61 2. iPENDANT OPERATIONS MAROUHT9102171E REV F 2.8.2 Menu Favorites Menu Favorites allows you to generate and store a list of menus that you display most often. There are two ways to add a menu favorite. Use Procedure 2-4 to set up your Menu Favorites using the MENU Dialog box. Use Procedure 2-5 to set up your Menu Favorites list using the DISPLAY Menu. Use Procedure 2-6 to modify the Menu Favorites list. Procedure 2-4 Adding Menus to the Menu Favorites using MENU Dialog Box 1. Display the menu that you want to add as a favorite menu. 2. Press the MENU 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 three (3) seconds. The currently displayed menu will be added to the button with an icon. You can overwrite existing buttons. In addition, you can press the right arrow button or next key to display and set the next five (5) buttons. The PREV key will cancel the Dialog Box and the Menu popup. See Figure 2–40 for an example. Figure 2–36. Menu Favorites 2–62 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS 4. To display a menu stored in the Menu Favorites press MENU, and choose the menu by pressing the button or function key. Procedure 2-5 Adding Menus to the Menu Favorites List using DISPLAY Menu 1. Display the menu that you want to add as a favorite menu. 2. Press SHIFT and then press the DISP key. 3. Select Menu Favorites. 4. Move the arrow keys to Add current. The currently displayed menu will then be added to the list. See Figure 2–37 for an example. Figure 2–37. Add Current Menu Favorite 5. To display a menu stored in the Menu Favorites list press SHIFT, and then the DISP key. Move the cursor to Menu Favorites and choose the menu from the list. Procedure 2-6 Modifying Menu Favorites 1. Press MENU. 2–63 2. iPENDANT OPERATIONS MAROUHT9102171E REV F 2. Select SETUP. 3. Press F1, [TYPE]. 4. Select iPendant Setup. You will see the iPendant General Setup Screen. 5. Select Menu Favorites Setup. You will see a screen similar to the following. Figure 2–38. MENU Favorite Setup Note Menu Favorites, after they have been cleared, cannot be recovered. 6. To clear one entry from the Menu Favorites list, move the cursor to the view you want to clear, and press F4, CLEAR. The Menus Favorites list will be redisplayed automatically. 7. To clear ALL entries from the Menus Favorites list, press SHIFT and F4, CLEAR. The Menu Favorites list will be cleared automatically. 8. To disable the Menus Favorites dialog box which is displayed by the MENU popup, clear the Menu Favorites checkbox. 9. To enable the Menus Favorites dialog box which is displayed by the MENU popup, check the Menu Favorites checkbox. 2–64 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS 10. To display the main iPendant Setup menu, press F2, BACK. 2.8.3 Menu History The Menu History keeps track of the last eight menus that have been displayed. This list is generated automatically and cannot be modified. You can, however, select a name on the list and that screen will be displayed. See Figure 2–39 . Figure 2–39. Menu History 2.8.4 Multi-Pane Edit A teach pendant program must be moved to the left-hand window for FWD/BWD to work. The DISPLAY menu will contain an EDIT<->EDIT entry. While in the left-hand window, the entry is only enabled if two windows are active. The entry is always enabled while in a right-hand window. The entry is available even if you are not in the EDIT screen. When pressed, the programs are swapped and the EDIT screens are automatically entered. 2–65 2. iPENDANT OPERATIONS MAROUHT9102171E REV F 2.8.5 Other iPendant Guidelines Editing Guidelines • LOOK/MONITOR mode is available in any window. • Each window can have a unique default program. • Selecting a teach pendant program from the SELECT screen in the left-hand window will cause that program to be the default program for that window ($TP_DEFPROG). • Selecting a teach pendant program from the SELECT screen in the right-hand window will cause that program to be the default program for that window ($UI_DEFPROG[1]). • Selecting a teach pendant program from the SELECT screen in the lower right-hand window will cause that program to be the default program for that window ($UI_DEFPROG[2]). • The Status line will always show the default program for the left-hand window even if it does not have focus. • The Editor title line shows the program that is being edited. • The program selected will be retained during cycle power. The current line number will only be retained during cycle power for the left-hand window during hot start. The right-hand windows do not retain the current line number. • The same program can be edited in multiple windows. The cursor is independent. When a change is made in one window, the change is immediately reflected in the other window. Both windows can make changes to the same program. This is useful for copy and paste within the same program. • The 3 windows will share the same copy and paste buffer. This provides the ability to copy and paste from one TP program to another. • Each window has its own undo and redo buffers so multiple edit sessions will not affect each other. • TP FWD/BWD is only supported in the left-hand window. If focus is in a right-hand window, then the warning “TPIF-166 FWD/BWD in left window only” is posted. • The program must be moved to the left-hand window for TP FWD/BWD to work. The DISPLAY menu will contain EDIT->EDIT entry. While in the left-hand window, the entry is only enabled if 2 windows are active. The entry is always enabled while in a right-hand window. The entry is available even if you are not in the EDIT screen. When pressed, the programs are swapped and the EDIT screens are automatically entered. Operational Guidelines • The system variable $UI_CONFIG.$recovermenu is provided to display the menus in the same state they were in when the controller was turned off. • After the controller is turned off and then on again, the editor configuration should not change if $UI_CONFIG.$recovermenu is set. Refer to Table 2–22 . 2–66 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS Table 2–22. $UI_CONFIG.$recovermenu Setting Description 0 At Cold start the system will display the "Hints" screen in single window mode. 1 At Cold start the system will display the last screen displayed before power down in single window mode. 2 At Cold start the system will display the "Hints" screen in all windows in whatever window mode was used at power down. 3 Both 1 and 2. 4 At Hot start the system will display the last screen displayed before power down in single window mode. 6 Both 4 and 2. This is the default setting. 2.8.6 Popup Menus To display the popup menus in the currently active window, press the MENU key. This will display the first level popup menu. See Figure 2–40 . 2–67 2. iPENDANT OPERATIONS MAROUHT9102171E REV F Figure 2–40. Menu Favorites Use the up, down, left, and right arrow keys to select the desired menu item. When a second menu exists for the selected item, use the right arrow key to move to the fly out menu. Then use the up and down arrow keys to select an item on that menu. To display the menu item that you have selected, press ENTER. Note You can also type the number of the item you have selected and press ENTER to display that menu item. 2.8.7 Screen Customizations 2.8.7.1 Overview The iPendant screen can be customized using the following tools: • EasyPanel environment • PanelWizard 2–68 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS • HMI screen customizations • Displaying Web Page Macros • Customizing User Menus 2.8.7.2 Easy Panel Environment Setup Overview The i Pendant can be easily customized to fit your needs. These custom screens can be used to display data, variables, I/O, or other system information specific to your application. The EasyPanel environment is used for this development, and consists of a set of custom “OBJECTS” or “CONTROLS” that are specially designed to work with the iPendant, the FANUC America Corporation Robot Controller, and the Microsoft® Office SharePoint Designer 2007 ™ Web development environment. Requirements The following items are required to develop and run custom screens on the iPendant in the EasyPanel environment: • iPendant Controls installed on the PC . • Microsoft® Office SharePoint Designer 2007 ™ (freeware) installed on the PC. Do not use Microsoft® Office SharePoint Designer 2010 ™ since it is not a generic HTML editor. • Microsoft® Expression Web ™can also be used. • The IPCC (Internet Protocol Connectivity and Customization) Option loaded on the controller if you want to use Remote Operation of the iPendant. Refer to the Internet Options Manual for more information. Configuring Your PC In order to develop custom pages you will need to download and install the iPendant Controls setup from the FANUC America Corporation Customer Resource Center. Refer to the Internet Options Manual for instructions. After the controls are installed you can begin to create custom screens for the iPendant. Review the iPendant Customization Guide. This guide will provide further instructions on setting up SharePoint Designer 2007, using the iPendant Controls, and loading and accessing your custom screens. 2.8.7.3 Panel Wizard The Panel Wizard option allows you to use the controller to create up to four operation panels to be displayed on the i Pendant. The iPendant Customization Guide will provide further details on each control created by the Panel Wizard. Use Procedure 2-7 to set up the Panel Wizard. 2–69 2. iPENDANT OPERATIONS MAROUHT9102171E REV F Procedure 2-7 Setting Up the Panel Wizard 1. Press MENU. 2. Select BROWSER. 3. Press F1, [TYPE]. 4. Select Panel Wizard. You will see a screen similar to the following. Figure 2–41. Panel Wizard 5. Select Start Wizard. You will see a screen similar to the following. Note Double Panel mode will be displayed automatically. 2–70 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS Figure 2–42. Start Panel Wizard Note After you make a selection on any screen, press NEXT. To cancel the Panel Wizard at any time, press F2, CANCEL. To display the previous screen at any time , press F3, BACK. 6. Select the panel that you want to create. Refer to Figure 2–43 for a flowchart overview of the steps required to create an operator panel. Refer to the iPendant Customization Guide for more information. See Figure 2–43 for a flowchart that describes the sequence of operations for using the Panel Wizard. 2–71 2. iPENDANT OPERATIONS Figure 2–43. Create Operation Panel Flowchart 2–72 MAROUHT9102171E REV F MAROUHT9102171E REV F 2. iPENDANT OPERATIONS 2.8.7.4 iPendant HMI Screen Customizations When you are using HMI on the iPendant, you can customize your teach pendant screens to fit your application. The HMI screen customization feature allows you to set the available menu options to display a specific set of HTM or STM menus. You can either display the default set of menus or, you can generate your own set of .HTM or .STM menus to display. The user menus are stored in • FRS:\USRHMIQK.STM — Quick Menu • FRS:\USRHMIFL.STM — Full Menu • FRS:\REMHMIQK.STM — Quick Menu for remote connections • FRS:\REMHMIFL.STM — Full Menu for remote connections The default pages that are created each time the controller is turned on are • FRS:\JIPHMIQK.STM — Quick Menu using JavaScript with icons • FRS:\JIPHMIFL.STM — Full Menu using JavaScript with icons • FRS:\IPHMIQK.HTM — Quick Menu using table of links • FRS:\IPHMIFL.HTM — Full Menu using table of links The operator does not have access to the FRS:\ device so that the files cannot be accidentally modified or deleted. If many web pages and images are linked together, the best way to make an HMI out of your site is to submit a web page that redirects to your main web page on FR:\ device. main.htm <html><head> <meta http-equiv=refresh content="0; URL=/fr/mainmenu.stm"> </head><body></body></html> Submit main.htm as your HMI. It redirects to mainmenu.stm which is on FR:\ device. If you do this all web pages and images are together in one directory. SharePoint Designer can easily find them and you can copy all files to FR:\ device when you are ready to try it on the robot. User Procedure 2-8 to create a user-defined HMI Full or Quick Menu. Use Procedure 2-9 to define and set up HMI Full, Quick, and Remote Menus. Procedure 2-8 Creating a User-Defined HMI Full or Quick Menu Conditions • You are using the iPendant. • The default device is set appropriately. Refer to the “Program and File Manipulation Chapter” in the application-specific Setup and Operations Manual for more information. 1. Press MENU. 2. Select SETUP. 2–73 2. iPENDANT OPERATIONS MAROUHT9102171E REV F 3. Press F1, [TYPE]. 4. Select iPendant Setup. You will see a screen similar to the following. Figure 2–44. iPendant General Setup Screen 5. Select iPendant HMI Setup. You will see a screen similar to the following. 2–74 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS Figure 2–45. iPendant HMI Setup Screen 6. By default, the iPendant HMI Full Menu is stored in JIPHMIFL.STM and IPHMIFL.HTM (non-JavaScript version) and the iPendant Quick Menu is stored in JIPHMIQK.STM and IPHMIQK.HTM (non-Javascript version). You can make a copy of these files and then edit them to make your own Full and Quick HMI menus. To make a copy of the default files, press F4, BACKUP. This will save a copy each of the files on to the default device. 7. Move the copied file to a personal computer so that you can edit the file. Caution In the HMI Full Menu file, you must have the iPendant Setup as a menu item. In the HMI Quick Menu file, you must have Password Setup as a menu item if passwords are available on your controller. Make sure to retain these menu items as appropriate; otherwise, the generated menu files will not operate properly. 8. Add or remove menu items within this file as necessary. 9. Save the file with a new name if necessary. 10. Move the file back to the controller. 2–75 2. iPENDANT OPERATIONS MAROUHT9102171E REV F 11. Use Procedure 2-9 to set up and use the file you just created. Procedure 2-9 Setting up the iPendant HMI Full, Quick, and Remote Menu Selections Conditions • You are using the iPendant. 1. Press MENU. 2. Select SETUP. 3. Press F1, [TYPE]. 4. Select iPendant Setup. 5. Select iPendant HMI Setup. You will see a screen similar to the following. Figure 2–46. iPendant HMI Setup Screen 6. You can now select HTM or STM files to be displayed in place of Full Menus, Quick Menus, Remote Full Menus, and Remote Quick Menus. 2–76 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS a. To choose an HTM or STM file that resides on the default device on the controller, click the blue bar below the desired menu you want to set. A list of available HTM and STM files will be displayed. b. Select the desired file, and press ENTER. c. Continue selecting files for each Menu (User HMI Full, User HMI Quick, Remote HMI Full, and Remote HMI Quick). d. Press F3, SUBMIT. The names in the blue bar will be erased showing you that they have been set. 7. To activate the selected Full or Quick HMI Menus, or the Remote Full or Quick HMI Menu modes , click the box next to the selection at the bottom of the screen, then press F3, SUBMIT. The check box will disappear after you press F3 to show you that the selection has been made. If you have set the HMI Full Menus, when you press MENU, you will see a screen similar to the following. Figure 2–47. iPendant FULL Menu If you have set the HMI Quick Menus, when you press FCTN and select QUICK/FULL MENUS, you will see a screen similar to the following. 2–77 2. iPENDANT OPERATIONS MAROUHT9102171E REV F Figure 2–48. iPendant Quick Menu 8. To deactivate the SELECT, EDIT, or DATA key during HMI mode, scroll down then click the box next to the desired key name. By default the TYPE key is disabled. To activate the TYPE key during HMI mode, scroll down then click the box. See the following screen for an example. Figure 2–49. Disabling the Data Key 2–78 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS When you have finished clicking the desired key, press F3, SUBMIT. The check box will disappear after you press F3 to show you that the selection has been made. Note Each time the HMI Setup menu is displayed, check marks will be displayed showing you the current selection. 9. To back up all HMI files to the default device, press F4, BACKUP. This will copy all HMI files from FRS: to the default device using the overwrite function. 10. To display the previous menu, press F2, BACK. 2.8.7.5 Displaying Web Page Macros The Menu Utility option (R577) provides a macro called DSP_WEBP.MR. Users can call this macro with a parameter in their teach pendant programs. Usage: CALL DSP_WEBP(1)--Displays the Favorites menu CALL DSP_WEBP(2)--Displays the first user created web page in the [TYPE] pull-up Parameters 2-11 are for displaying user-created web pages (created with or without the Panel Wizard). The menu will be displayed only if you are using an i Pendant. It will always be displayed on the active pane on the i Pendant. 2.8.7.6 Customizing User Menus Overview The Custom User Menu Function allows you to add additional menus in most of the MENUS categories. You can use the Custom User Menu Function to: • Run a teach pendant program • Display a menu using a KAREL program • Display a custom web page on the iPendant Running a Teach Pendant Program To run a teach pendant program from a customized menu, you must set the following system variables: • $CUSTOMMENU[n ].$TITLE • $CUSTOMMENU[n ].$PROG_NAME For example, to run a program called PERCHMOV by selecting an item on the EDIT menu called “Move to Perch,” you would set the system variables as follows: 2–79 2. iPENDANT OPERATIONS $CUSTOMMENU[3].$TITLE : $CUSTOMMENU[3].$PROG_NAME : MAROUHT9102171E REV F “Move to Perch” “PERCHMOV” Note For more information on displaying and setting system variables, refer to Section 11.20 . Refer to Section 2.8.7.6 for the system variable settings used for teach pendant programs. Displaying a Menu Using a KAREL Program Note For R-30iB Plus, R-30iB, and R-30iB Mate controllers, the KAREL option must be installed on the robot controller in order to load KAREL programs. You can use the Custom Menu Function to display a menu programmed using KAREL. The KAREL program must include the following processes: • DISCTRL_FORM or DISCTRL_TBL can be used to display a form or table. • The term mask should contain kc_f1_type. This will allow the KAREL form or table to process the F1, [TYPE] menu selection. The mask is defined in klevkmsk.kl. • The F1 key should be labeled [ TYPE ]. • The KAREL program can remain in the form or table until the user selects a new menu. In this case the KAREL program should exit. • Another option is for the KAREL program to call FORCE_SPMENU to display another menu. You must also set the following system variables: • $CUSTOMMENU[n ].$TITLE • $CUSTOMMENU[n ].$PROG_NAME • $CUSTOMMENU[n].$OPTION = SPI_SFMISC SPI_SFMISC is 31 If running the KAREL program from the EDIT menu, you must call FORCE_SPMENU(device_stat, SPI_TPUSER2, 1) before writing to the screen. This forces the teach pendant into the USER2 menu. For example, to run a program called PERCHSET by selecting an item from the UTILITY menu called “Set up Perch,” you would set the system variables as follows: $CUSTOMMENU[10].$TITLE : “Set up Perch” $CUSTOMMENU[10].$PROG_NAME : “PERCHSET” $CUSTOMMENU[10].$OPTION: 31 2–80 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS Note For more information on displaying and setting system variables, refer to Section 11.20 . Refer to Section 2.8.7.6 for the system variable settings used for KAREL programs. Displaying a Custom Web Page on the iPendant You can use the Custom Menu Function to display a custom web page on the iPendant. The 8.3 file extension of the web page is stored in $PROG_NAME. If $PROG_NAME contains a .htm or .stm, then the system will look for the file on the FR: device (customer), or on FRH:CGTP (application). If it exists, then the iPendant will display the web page. The title specified in the web page within the title tags (<title> </title>) will be displayed in the focus bar on the iPendant. The number of title characters displayed on the focus bar is limited to 33. If the specified title is longer than 33 characters, it will be truncated. When the web page is displayed, it will run within its own menu so it has a unique sofpart ID and screen ID. The [TYPE] key will be available and you will remain in the MENU category. The web page will be displayed until a new MENU is selected. For example, if you set the following system variables: $CUSTOMMENU[10].$TITLE : $CUSTOMMENU[10].$PROG_NAME : “Utility 1” “custom.stm” then, in the UTILITIES Menu, “UTILITY 1” is displayed as a [TYPE] menu choice. If you select this item and the file custom.stm exists on the FR: device, then the web page will be displayed. System Variable Settings Table 2–23 lists the system variable settings that can be used to set up custom user menus to run teach pendant programs, run KAREL programs, and display custom Web pages. Table 2–23. System Variable Settings System Variable Top Level Menu Softpart ID Screen ID Used for Teach Pendant or KAREL programs Only $CUSTOMMENU[1] EDIT [INST] 64 1 $CUSTOMMENU[2] EDIT [INST] 64 1 $CUSTOMMENU[3] EDIT F2 64 1 $CUSTOMMENU[4] EDIT F3 64 1 $CUSTOMMENU[5] EDIT F4 64 1 Used for teach pendant, KAREL programs, or for Custom Web Pages $CUSTOMMENU[6] FCTN 31 246 $CUSTOMMENU[7] FCTN 31 247 $CUSTOMMENU[10] UTILITIES 31 250 $CUSTOMMENU[11] UTILITIES 31 251 2–81 2. iPENDANT OPERATIONS MAROUHT9102171E REV F System Variable Top Level Menu Softpart ID Screen ID $CUSTOMMENU[12] TEST CYCLE 31 252 $CUSTOMMENU[13] MANUAL FCTNS 31 253 $CUSTOMMENU[14] MANUAL FCTNS 31 254 $CUSTOMMENU[15] ALARM 31 240 $CUSTOMMENU[16] ALARM 31 239 $CUSTOMMENU[17] I/O 31 238 $CUSTOMMENU[18] I/O 31 237 $CUSTOMMENU[19] SETUP 31 236 $CUSTOMMENU[20] SETUP 31 235 $CUSTOMMENU[21] FILE 31 234 $CUSTOMMENU[22] DATA 31 233 $CUSTOMMENU[23] DATA 31 232 $CUSTOMMENU[24] STATUS 31 231 $CUSTOMMENU[25] STATUS 31 230 $CUSTOMMENU[26] STATUS 31 229 $CUSTOMMENU[27] STATUS 31 228 $CUSTOMMENU[28] SYSTEM 31 227 $TX_SCREEN[1] BROWSER 381 10 $TX_SCREEN[2] BROWSER 381 11 $TX_SCREEN[3] BROWSER 381 12 $TX_SCREEN[4] BROWSER 381 13 $TX_SCREEN[5] BROWSER 381 14 $TX_SCREEN[6] BROWSER 381 15 $TX_SCREEN[7] BROWSER 381 16 $TX_SCREEN[8] BROWSER 381 17 $TX_SCREEN[9] BROWSER 381 18 $TX_SCREEN[10] BROWSER 381 19 Used for Custom Web Pages Only 2.8.8 Software Keyboard 2.8.8.1 Robot Menus You can use the software keyboard to input a character string. In order to use the software keyboard, set the cursor to the item that you want to input a character string, then press ENTER. Set the cursor to the item Options in the menu, then press F5, KEYBOARD. See Figure 2–50 . 2–82 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS Figure 2–50. Options Menu Item The menu to input characters is displayed as shown in Figure 2–51 . 2–83 2. iPENDANT OPERATIONS MAROUHT9102171E REV F Figure 2–51. Software Keyboard Text Display When the keyboard is activated Figure 2–52 shows that the current text for the item is displayed on the top and the text string is highlighted. Inputting any character will clear the string and start over. Pressing the arrow keys on the keyboard (right arrow for example) will clear the highlight and allow you to append to the string. Figure 2–52. Software Keyboard 2–84 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS If the length of the string is longer than what can be displayed in the text box the < indicates that the text is extended to the left or the right of the text box. Touching the text will move the cursor to the touched area of the text. The arrows keys can be used to move left and right in the text box. Selecting up arrow moves the cursor to the beginning of the text, down arrow moves to the end. In order to input characters, move the cursor to the character that you want to input by the arrow key on the teach pendant, then press ENTER key on the teach pendant. If the teach pendant has a touch panel, you can input the character by touching the character on the touch panel. After you finish the input, select the “Exit” button or press F5, EXIT to exit the software keyboard. If you want to cancel the input characters and return to the previous screen, select the “Cancel” button or PREV hardkey. In order to change the input mode, select “abc” or “123” on the software keyboard. When “abc” is selected, the input mode becomes the alphabetic character input mode. Figure 2–53. Keyboard Lowercase Letters When SHIFT on the software keyboard is pressed, the character on the software keyboard is changed from lower to upper case. 2–85 2. iPENDANT OPERATIONS MAROUHT9102171E REV F Figure 2–54. Keyboard Uppercase Letters When “123” is selected, the input mode becomes the numeric character and symbol input mode. 2–86 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS Figure 2–55. Keyboard Numbers Some teach pendant menus include the use of the numeric entry keypad. This allows the touch panel to be used for numeric entry but additionally it allows the user to see the limits for the data being entered. The numeric keypad on the pendant still works in this context. 2–87 2. iPENDANT OPERATIONS MAROUHT9102171E REV F Figure 2–56. Numeric Keyboard 2.8.8.2 Web Menus Entering text in standard Web form menus provides a slightly different set of choices. Figure 2–57 shows the result when a text input field is selected on the browser. By default this does not bring up the ASCII keyboard. This allows numeric data to be entered without having to bring up the full keyboard. 2–88 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS Figure 2–57. Web Form Entry The softkeys function as follows: • F1 – KEYBOARD brings up the keyboard in MANUAL mode. • F2 – AUTO set the keyboard to come up automatically on string input fields • F3 – MANUAL set the keyboard to not come up automatically. • F4 – SPACE put a space character in the string • F5 – EXIT from the keyboard and accept the result. Figure 2–58 shows the keyboard once activated in this mode. Note that the arrow key on the keyboard can be used to cursor to the missing “i” character and correct it. Or, you can touch the screen to set the input cursor to that point. The software keyboard is displayed as shown in Figure 2–58 . Figure 2–58. Software Keyboard 2–89 2. iPENDANT OPERATIONS MAROUHT9102171E REV F 2.8.8.3 Vision Menus Vision menu string input is very similar to Web form input. The difference is that the keyboard appears automatically for ASCII string keyboard input and does not appear for numeric input. For numeric input, the number is entered exclusively from the pendant keypad. Figure 2–59. Vision ASCII String Input Field Entering text for a vision menu is very similar to standard menus except that the SPACE and EXIT are part of the keyboard itself. 2–90 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS Figure 2–60. Vision Keyboard 2.8.9 Top Menu 2.8.9.1 Overview The Top Menu is displayed when + MENU is pressed. The Top Menu will take over the screen even if pressed from a multiple pane mode. PREV will cancel the Top Menu and restore whatever was shown before. However, the Top Menu is not considered a popup menu. The controller may power up with the Top Menu or application code can force the Top Menu. The Top Menu has up to 9 icon selections which are shortcuts to the selected operation. The number keys can be used as shortcuts if a touch panel is not available. After selecting a shortcut, the screen will display the menu for the selected operation. The screen may split into several related panes especially if you have the 4D graphics functionality. There can be 10 different Top Menus. They are changed using the Function Keys. Each function key can be password protected and operators are required to enter their username and password in order to select the function key. 2–91 2. iPENDANT OPERATIONS MAROUHT9102171E REV F Figure 2–61. Top Menu 2.8.9.2 Top Menu Setup The Top Menu is a browser menu. It uses an inline style. However, you can change the appearance of the Top Menu by creating the file FR:\TOP.CSS. For example, to change the backcolor to a gradient orange color, put the following lines in TOP.CSS. body { background: White url(/frh/jcgtp/bg_orgb.png); } The Top Menu entries may be configured. Use Procedure 2-10 to insert or change the Top Menu entries. Procedure 2-10 Top Menu Setup 1. Press MENU. 2. Select SETUP. 2–92 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS 3. Press F1, [TYPE]. 4. Select iPendant Setup. You will see a screen similar to the following. Figure 2–62. iPendant General Setup Screen 5. Select Top Menu Setup. You will see a screen similar to the following. 2–93 2. iPENDANT OPERATIONS Figure 2–63. Top Menu 2–94 MAROUHT9102171E REV F MAROUHT9102171E REV F 2. iPENDANT OPERATIONS Figure 2–64. Top Menu Setup 6. The buttons on the left side represent each Top Menu page for the 10 function keys. Press the button to view the Top Menu page. 7. The function key label is shown for each Top Menu page. Press the button to change the label. Use *level0 - *level8 for the password level names, such as OPERATOR (level 0), PROGRAM (level 1), SETUP (level 2), and INSTALL (level 8). Levels 3 - 7 are custom password levels. All password level names can be configured in a password configuration file. 8. The Read-Write Access is shown for each Top Menu page if passwords are installed. The Read-Write Access field displays all 7 levels: (Level 7, Level 6, Level 5, Level 4, Level 3, Setup, Program, Operator). A value of 1 indicates that level is granted read-write access. A value of 0 indicates that level has read-only access. Press the button to change the read-write access. A dialog box with checkboxes for all 7 levels will be displayed. Checking the box allows read-write access. 2–95 2. iPENDANT OPERATIONS MAROUHT9102171E REV F Figure 2–65. Read-Write Access 9. Press FACTORY to reset the entire Top Menu back to factory defaults. This can also be useful after a new option is loaded, since the factory defaults will look for any new options. 10. Press COPY to copy one page to another. If the page already exists, you will be prompted to overwrite it. 11. Press DELETE to delete an entire Top Menu page. You will be prompted for the page number to delete. 12. When you press a button, such as F1, you will see a screen similar to the following. 2–96 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS Figure 2–66. Top Menu 13. The title is shown on the title line. The icon and text are shown for all 9 shortcuts. 14. Press FACTORY to reset just the current page to factory defaults. 15. Press COPY to copy one number to another. If the number already exists, you will be prompted to overwrite it. 16. Press DELETE to delete a number. You will be prompted for the number to delete. 17. Press TITLE to change the page title. Use *default for the default title. 18. Press NEXT to view the 2nd set of function keys. Press MENU to create or change a shortcut for a number. If the number already exists, you will be prompted to overwrite it. First you will be prompted to select a window configuration. Then for each window you selected, you will choose a menu. If you do not choose a menu, then only the configuration will change when the shortcut is selected. The default text and icon will be used. 19. Press TEXT to change the shortcut text. Use *default for the default text. 20. Press ICON to change the icon. You can put images on FR: using 8.3 filenames. If none are available, then the system icons from FRH:\GUI\ are shown for your selection. 21. The Top Menu entries are stored in $UI_TOPMENU and will be backed up and restored in SYSUIF.SV. 2–97 2. iPENDANT OPERATIONS MAROUHT9102171E REV F 2.8.10 Universal Serial Bus (USB) Port A USB keyboard or mouse can be inserted into the USB port on the controller and on the iPendant. Using a USB hub allows you to connect a keyboard, mouse, and USB stick. The keyboard can be used for any numeric or text entry. You can connect a memory stick, mouse, or keyboard to this port, or you can connect a camera for iRCalibration Vision. Refer to the iRVision Calibration Operator's Manual. See Figure 2–67 Figure 2–67. iPendant with USB Port 2.8.11 User Views User views can be used to store up to ten commonly used user-defined single or multi-window displays. For example, if you commonly use the triple pane window and have the ALARM menu, Cell I/O menu, and the FILE menu displayed, then you would want to define this set of menus as a user view. After you store a user view, it is named and listed on the User Views menu so that you can select it for redisplay later. The previous example user view would be listed on the User Views menu as Alarm|Cell I|File. In addition, the User Views are displayed on a dialog box at the bottom of the screen with a thumbnail view of the configuration. Use Procedure 2-11 to add a menu set as a User View. Use Procedure 2-12 to modify the list of User Views. 2–98 MAROUHT9102171E REV F 2. iPENDANT OPERATIONS Procedure 2-11 Adding a User View 1. Display the set of menus on the iPendant that you want to add as a view. 2. Press SHIFT and then press the DISP key. 3. If the User Views 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 set will be added to the button. 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 Display Menu. 4. If the User Views dialog box is not shown at the bottom of the screen, select User Views in the Display Menu. Move the arrow keys to Add current. The currently displayed menu set will be added to the list as Menu (if it is a Single Pane display), Menu|Menu (if it is a Double Pane display), and Menu|Menu|Menu (if it is a Triple Pane display). 5. Repeat Step 1 through Step 4 for each User View you want to add. Procedure 2-12 Modifying User Views 1. Press MENU. 2. Select SETUP. 3. Press F1, [TYPE]. 4. Select iPendant Setup. You will see the iPendant General Setup Screen. 5. Select User Views Setup. You will see a screen similar to the following. 2–99 2. iPENDANT OPERATIONS MAROUHT9102171E REV F Figure 2–68. Modifying User Views Screen Note User Views, after they have been cleared, cannot be recovered. 6. To clear one entry from the User View list , move the cursor to the view you want to clear, and press F4, CLEAR. The User View list will be redisplayed automatically. 7. To clear ALL entries from the User View list , press SHIFT and F4, CLEAR. The User View list will be cleared automatically. 8. To disable the User Views dialog box which is displayed by the DISPLAY menu, clear the User Favorites checkbox. 9. To enable the User Views dialog box which is displayed by the DISPLAY menu, check the User Favorites checkbox. 10. To display the main iPendant Setup menu , press F2, BACK. 2–100 Chapter 3 iHMI GUIDES Contents Chapter 3 3.1 3.1.1 3.1.2 3.2 3.2.1 3.2.2 3.2.3 3.3 3.3.1 3.3.2 3.4 3.4.1 3.5 3.5.1 3.5.2 3.5.3 iHMI GUIDES ..................................................................................... iHMI GUIDE NAVIGATION ....................................................................... The First Time you use iHMI Guided Setup ............................................ How to Use iHMI Setup Guides .............................................................. BASIC SETUP ...................................................................................... Overview .............................................................................................. Initial Setup .......................................................................................... End of Arm Tool Setup ......................................................................... TEACH ................................................................................................. Creating a Program.............................................................................. Selecting a Program ............................................................................ RUN ..................................................................................................... Monitoring a Running Program ........................................................... UTILITY ................................................................................................ Backup ................................................................................................ Jog Assist ............................................................................................ Tutorials ............................................................................................... 3–1 3–2 3–2 3–3 3–10 3–10 3–11 3–12 3–13 3–13 3–14 3–15 3–15 3–16 3–17 3–17 3–18 3–1 3. iHMI GUIDES MAROUHT9102171E REV F 3.1 iHMI GUIDE NAVIGATION 3.1.1 The First Time you use iHMI Guided Setup FANUC’s iHMI Guides assist novice FANUC robot users with robot setup, creating a program, and monitoring production. Tutorials are also available to teach you how to perform basic robot functions. Figure 3–1 displays the first iHMI Guide Initial Setup screen that is displayed when you start up your robot. Note Figure 3–1 will also be displayed if you select Basic Setup from the HOME screen and then choose Initial Setup. See Section 3.1.2.4 . Figure 3–1. iHMI Setup 3–2 MAROUHT9102171E REV F 3. iHMI GUIDES 3.1.2 How to Use iHMI Setup Guides 3.1.2.1 Overview If you have a touchable iPendant, you can touch the buttons on the screen to activate them. If you do not have a touch pendant, use the up and down arrow keys to navigate among items on the screen. Press ENTER to select a button. 3.1.2.2 Sections of the iHMI Guide Screen The iHMI Guide screens are divided into four sections. This is shown in Figure 3–2 . Figure 3–2. Navigating the iHMI Screens Step Pane The Step Pane displays a scrolling list of steps needed to perform the setup. The number of steps displayed varies depending on the type of the guide screen. Subsequent steps may also be added or changed, depending on the setting content. 3–3 3. iHMI GUIDES MAROUHT9102171E REV F See Figure 3–3 . Figure 3–3. Step Pane Items As you advance through the steps and make a selection or perform the action displayed in the Action Pane, press NEXT STEP to continue. Each step will be marked with a checkbox after it is completed. To repeat a step, press the step name and perform the setup in the Action Pane. When you are done, press NEXT STEP. When the entire setup is complete, press FINISH. If you press or to step through the pane display. Action Pane The Action Pane allows you to make selections or set up information. Press NEXT STEP to continue after you have made a selection or performed a setup task. When available, the Action Pane will provide information directing you to perform a task. See Figure 3–4 . 3–4 MAROUHT9102171E REV F 3. iHMI GUIDES Figure 3–4. Directional Information The Action Pane will also indicate at the bottom of the screen additional information about the selections you are making. Scroll bars will be displayed if the information doesn’t fit on the screen. Drag the scroll bar up or down to view all of the information. If you don’t have a touch screen, use the arrow keys to display this additional information. 3–5 3. iHMI GUIDES MAROUHT9102171E REV F Figure 3–5. Scroll Bars Status The Status bar at the top of the screen displays status for items running in your system. Refer to Section 2.6.1 . Softkeys The Softkeys shown in Table 3–1 are available to assist in the use of the iHMI Guides. 3–6 MAROUHT9102171E REV F 3. iHMI GUIDES Table 3–1. Softkeys KEY DESCRIPTION Displays the HOME screen (Section 3.1.2.4 ), resets the screen to the previous display, or will display setup if it hasn’t been performed yet. Restarts the current guide. The following screen will be displayed: Press YES to restart the Guide. All changes will be canceled and the screen will display the original screen. If you do not want to restart the Guide, press NO. NEXT STEP is displayed after a choice is selected in the Action Pane. When pressed, activates the choice, and displays the next step screen. Displays the previous step screen. Displays the next step screen. Displays a confirmation that allows you to confirm, yes or no, whether you want to restart the Guide from the beginning with the default selections. 3–7 3. iHMI GUIDES KEY MAROUHT9102171E REV F DESCRIPTION When available, displays a screen with more information about the step. Press EXIT to redisplay the Action for the current step. When available, exits the MORE INFORMATION screen and redisplays the Action for the current step. 3.1.2.3 iHMI Guided Setup Process Finishing iHMI Guided Setup To finish the iHMI Guided Setup, you must proceed through all of the steps, and then press FINISH. Sometimes FINISH is shown in addition to NEXT STEP, as in Create a Program Guide. In this case, there are defaults which will be used to finish the Guide. See Figure 3–6 . Figure 3–6. iHMI Guided Setup Process Exiting iHMI Guided Setup You can Skip the iHMI Guided Setup if you choose to do so. From the first iHMI Guided Setup screen, press NEXT STEP twice, then select Skip Guidance and Finish Setup, and press FINISH to set up your robot without stepping through the iHMI Guides. See Figure 3–7 . 3–8 MAROUHT9102171E REV F 3. iHMI GUIDES Figure 3–7. Exit iHMI Guides Note If you Skip Guidance and Finish Setup in the Initial Setup Guide, both Initial Setup and End of Arm Tool Setup will be skipped. You can then proceed to Create a Program using iHMI Guides. The Initial Setup and End of Arm Tooling will not be set up, but you can return and perform those at any time. Refer to Section 3.3 . 3.1.2.4 HOME Screen The HOME screen can be displayed at any time. Whenever you see this icon corner of the screen, you can touch it to display the HOME screen. at the bottom left Select an item on the HOME screen by touching that area as shown in Figure 3–8 . If you do not have an iPendant with a touch screen, use the up and down arrow keys and ENTER on the iPendant to move between items on the screen. Note Your HOME screen might display additional icons to those shown in Figure 3–8 . 3–9 3. iHMI GUIDES MAROUHT9102171E REV F Figure 3–8. HOME Screen Refer to Section 3.2 through Section 3.5 for more information. 3.2 BASIC SETUP 3.2.1 Overview Basic Setup iHMI Guides step you through Initial Setup and End of Arm Tool setup for your robot. If Initial Setup has not yet been performed, iHMI Guides automatically displays Guided Setup on the iPendant as soon as the controller is turned on. iHMI Guided Basic Setup has two parts: • Initial Setup • End of Arm Tool Setup Note Both Initial Setup and End of Arm Tool Setup must to be finished before you can proceed to more advanced iHMI Guided functions such as moving the robot or creating a program. 3–10 MAROUHT9102171E REV F 3. iHMI GUIDES Figure 3–9. Basic Setup 3.2.2 Initial Setup Initial Setup helps you define basic robot settings. It is an easy way for you to set up and be aware of general information such as standard safety considerations, local region, time zone, and basic network settings. You can use this iHMI Guide to determine your level of network access and connect your robot to a local network. Select the Initial Setup icon from the SETUP page, and the iHMI Initial Setup Guide will begin. Complete each step in the Guide, and press FINISH when you are done. You should finish the steps in Initial Setup before you perform the steps in End of Arm Tool Setup. After you press FINISH at the end of Initial Setup, a screen similar to the following will be displayed. 3–11 3. iHMI GUIDES MAROUHT9102171E REV F Figure 3–10. Initial Setup Complete The screen shown in Figure 3–10 indicates with a checkmark that Initial Setup is done, but End of Arm Tool Setup still needs to be completed. 3.2.3 End of Arm Tool Setup End of Arm Tool (EOAT), sometimes called a tool or tooling, is the equipment attached to your robot that you use to perform work. In this setup you will be specifying details about your kind of tooling, such as EOAT dimensions, angles, and other applicable parameters so that the robot can properly make use of the EOAT. You can return to this setup to change any setting at any time. If you do not want to save your changes, press CANCEL. Select the End of Arm Tool Setup icon from the SETUP page, and the iHMI End of Arm Tool Setup Guide will begin. Complete each step in the Guide, and press FINISH when you are done. After you press FINISH at the end of End of Arm Tool Setup, a screen similar to the following will be displayed. 3–12 MAROUHT9102171E REV F 3. iHMI GUIDES Figure 3–11. BASIC SETUP Finished Note Whenever you see this icon display the HOME screen. at the bottom left corner of the screen, you can touch it to When both Initial Setup and End of Arm Tool Setup are finished, and checkmarks are displayed on the icons you can proceed perform other tasks such as Creating a Program, or use the Tutorials. See Figure 3–11 . 3.3 TEACH 3.3.1 Creating a Program Create Program guides a novice user through the steps of creating a new program using predefined templates. For a tutorial on how to Create and Edit a program, press the TUTORIAL button from the HOME screen or refer to Section 3.5.3 . 3–13 3. iHMI GUIDES MAROUHT9102171E REV F Note You must finish iHMI Guided Initial Setup and End of Arm Tool Setup before you can create a program using iHMI Guides. Otherwise, the following message will be displayed: Figure 3–12. Caution Indicating Setup is Not Complete If you need information on how to start the iHMI Guided Initial Setup, refer to Chapter 3 iHMI GUIDES . If you have completed iHMI Guided Initial Setup, you can then Create a Program. Press CREATE PROGRAM as shown in Figure 3–13 . Figure 3–13. First Time You Create a Program Refer to Chapter 8 CREATING A PROGRAM for information on editing a program. For information on the Icon Editor, refer to Section 8.9 . 3.3.2 Selecting a Program After you have created a program, your most recent program name will be displayed as a selectable choice on the TEACH section of the HOME screen. If the most recent program is called PROG_1, you will see a screen similar to the one shown in Figure 3–14 . Figure 3–14. After You Have Created a Program Choose your most recent program name to edit it. If you have created more than one program, SELECT PROG. will be displayed on the TEACH section of the HOME screen. Choose SELECT PROG. to select your program for edit from a list of created programs. 3–14 MAROUHT9102171E REV F 3. iHMI GUIDES Figure 3–15. After More Than One Program is Created Refer to Chapter 8 CREATING A PROGRAM for information on editing a program. For information on the Icon Editor, refer to Section 8.9 . Refer to Chapter 8 CREATING A PROGRAM for information on editing a program. For information on the Icon Editor, refer to Section 8.9 . 3.4 RUN 3.4.1 Monitoring a Running Program After you have created a program, you can execute it as described in the Execute a Program tutorial. To monitor the running program or to monitor production, choose MONITOR from the RUN section of the HOME screen. You can also refer to Chapter 9 TESTING A PROGRAM AND RUNNING PRODUCTION for details on test running your program. Figure 3–16. RUN A 4D visualization of the robot is displayed with the program lines on the right side. The currently executing line will be displayed at the top in red similar to the one shown below. 3–15 3. iHMI GUIDES MAROUHT9102171E REV F Figure 3–17. Production Monitor 3.5 UTILITY The UTILITY section of the HOME screen provides easy to use links to common robot utilities. See Figure 3–18 . Figure 3–18. UTILITY 3–16 MAROUHT9102171E REV F 3. iHMI GUIDES 3.5.1 Backup BACKUP provides an iHMI Guided step by step method of backing up programs and other files. For more information about the files you can back up, refer to Section 12.3.4 . 3.5.2 Jog Assist Jog Assist allows you to practice jogging and allows you to adjust robot speed and set the coordinate system easily. 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. 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. Figure 3–19. Jog Assist Panes 3–17 3. iHMI GUIDES MAROUHT9102171E REV F Adjust Jog Speed Jog speed is a percentage of the maximum speed at which you can jog the robot. The current jog speed is displayed in the top right corner of every teach pendant screen (in a bright green box). 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 jog speed is a percentage of the maximum speed at which you can jog the robot. Drag the gray scroll bar to the right to increase jog speed. Select Coord System A coordinate system defines how the robot will move. • JOINT - moves each individual axis of the robot. • Cartesian - moves the robot in a straight line based on a defined frame of reference: — JGFRM — TOOL — USER Perform the JOG TUTORIAL ( ) to learn more about jogging the robot and selecting coordinate systems. Refer to Section 3.5.3 . For information on JGFRM, TOOL, and USER coordinate systems, refer to Section 5.4 . 3.5.3 Tutorials Three iHMI Guide tutorials provide step by step information on how to perform the following common robot tasks: • Jog a robot • Edit a program • Execute a program 3.5.3.1 Jog a Robot The jog a robot tutorial teaches you to jog (manually move) the robot using the iPendant. Each item you must perform to jog the robot will be indicated on the iPendant. 3–18 MAROUHT9102171E REV F 3. iHMI GUIDES Figure 3–20. Jog a robot Note You can display the Jog Tutorial either from the Jog Assist screen or from the TUTORIAL Utility. 3.5.3.2 Edit a Program Edit a program tutorial teaches you to create a program using the iPendant. Figure 3–21. Edit a Program 3.5.3.3 Execute a Program The Execute a program tutorial teaches you to execute a program you have created using the iPendant. Figure 3–22. Execute a Program 3–19 Chapter 4 4D FUNCTIONALITY Contents Chapter 4 4.1 4.1.1 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 4.2 4.2.1 4.2.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.14.1 4.14.2 4.15 4D FUNCTIONALITY ........................................................................... OVERVIEW ............................................................................................ Introduction ........................................................................................... Navigation ............................................................................................. Basic Display Concepts ......................................................................... Selected Program ................................................................................ Frames ................................................................................................. Groups ................................................................................................. USER INTERFACE SCREENS ............................................................. VIEWING 4D SCENES .......................................................................... ADJUSTING THE VIEW ........................................................................ VISUAL JOG ........................................................................................ EDIT NODE MAP SCREEN ................................................................... SELECT SCREEN................................................................................. VIEWING TWO DIFFERENT PROGRAMS ............................................. PROGRAM UTILITIES .......................................................................... TCP TRACE ........................................................................................ FRAME SETUP .................................................................................... POSITION REGISTERS ....................................................................... REMOTE CONTROLLER DISPLAY ....................................................... DCS 4D VISUALIZATION ..................................................................... 4D CUSTOMIZATION ............................................................................ ACCESSING THE 4D DISPLAY FROM A PC ......................................... View Adjustment Mode ........................................................................ Scene Visibility .................................................................................... 4D GRAPHICS IMPORT ........................................................................ 4–1 4–2 4–2 4–5 4–8 4–10 4–10 4–10 4–11 4–11 4–13 4–20 4–25 4–28 4–29 4–30 4–32 4–34 4–35 4–36 4–39 4–40 4–41 4–42 4–43 4–43 4–1 4. 4D FUNCTIONALITY MAROUHT9102171E REV F 4.1 OVERVIEW 4.1.1 Introduction The teach pendant includes a 3D graphics processing engine. This enables the teach pendant to display the robot, tooling, parts and other cell components in 3D desktop quality graphics. When coupled with the robot controller internal data, the teach pendant displays otherwise invisible data in the robot as the 4th dimension of information. Warning When moving the robot with the pendant enabled, be sure to watch the robot instead of watching the teach pendant screen. After the robot is in a safe state, you can examine the pendant graphics. Otherwise, you could injure personnel or damage equipment. Note R764 4D Graphics is required for most of the functionality defined in this chapter. Warning 4D graphics might not be an accurate representation of the real world, so actual program verification with the robot arm is still required. Otherwise, you could injure personnel or damage equipment. Since the graphics processing occurs on the teach pendant, there is no impact to the performance of the robot operating system. In the case of displaying the position screen, the text for the position of the robot is sent to the teach pendant. In the case of 3D display of the robot arm, similar text is sent to the robot. The conversion of the text into a 3D waving robot model is all done on the pendant itself. The robot controller operates in three-dimensional space. Robot positions, frames of reference, etc., within three-dimensional space are represented to the user by the letters X, Y, Z (location) and W, P, and R (Orientation). While these letter designations accurately convey positional information, using 3D graphics to display this significant data makes things much clearer. The invisible data that can be displayed are: 1. The points (nodes) in a TP program and their logical connections. 2. DCS safety zones. 3. Robot jog settings. 4. Exact path that the robot followed. 5. Logical tool center point (does it match the physical TCP). 6. Frame settings. 7. Position register settings. 8. Interference zones. 4–2 MAROUHT9102171E REV F 4. 4D FUNCTIONALITY 9. Line tracking boundaries. 10. Vision camera setups. In addition to displaying this internal data, the pendant can also display traditional graphics files provided by ROBOGUIDE. This allows the robot’s surroundings (fences, conveyers, and so forth) to be displayed. This context allows the operator to see the relationship between the real world and the graphical world displayed on the pendant. Screen modes allow the user to view up to three viewing panes on the Teach Pendant screen at any given time. The 4D menus can be used in any screen mode. In full screen mode, the entire screen is devoted to displaying 4D data. This has the advantage of showing the maximum amount of 4D context. In addition to the 4D world data, text can be displayed to label elements. This text provides a good reference back to the traditional text representation of the data. Figure 4–1. Full Screen Mode Dual screen mode allows related text information to be displayed in the left pane and graphics in the right pane. For example, the text TP program can be displayed in the left in text form and that same program can be displayed graphically in a 4D node map on the right. Figure 4–2 shows the editor and corresponding linked node map. 4–3 4. 4D FUNCTIONALITY MAROUHT9102171E REV F Figure 4–2. Dual Screen Mode When the system is operating in dual pane mode, the graphical pane and the test pane are linked. The linked information will stay synchronized between the two panes. This is indicated by the color of the title bar of the unfocussed pane. In linked mode, when you cursor in the text window the selected item is also selected in the 4D world. If you select an item in the graphics screen with the touch panel, that item is selected in the text menu as well. Transitions between full screen mode and dual screen mode are quick and easy requiring a single touch or a single keystroke. The context of the operation is maintained through this transition as is the center of the screen view and the magnification. Multiple 4D windows can be displayed at the same time. Different windows are independent and have no restrictions on what can be displayed or how it can be displayed. Up to eight windows can be displayed between the teach pendant and external connections. The 4D menus use scenes (Refer to Section 4.2.1 ) to allow you to select what information you want to see. If all of the invisible information were shown at the same time, the display would become cluttered making it difficult to see the specific information of interest. Scenes allow you to filter that information and look at a subset. You can select a specific scene like DCS, or you can show multiple scenes like DCS and node map at the same time. 4–4 MAROUHT9102171E REV F 4. 4D FUNCTIONALITY The system provides controls to manipulate what information is displayed on the screen. These controls allow you to adjust magnification, position, and orientation of the 4D view. Each scene has its own viewpoint. The 4D display can be accessed from a remote PC. In addition to Monitor iPendant (ECHO) and Navigate iPendant (CGTP), a full screen Internet Explorer graphical window can display any data which is shown on the pane of the teach pendant. A link to this Full Screen 4D Display is found on the robot home page. 4.1.2 Navigation Figure 4–3 shows the teach pendant keypad highlighting the key. Figure 4–3. i Key 4D navigation is done using the i key ( ). It works like a shift key in that it is pressed along with another key to provide a special function. This special function is not always related to 4D, but it often is. Refer to Section 2.4 for a complete description of the options. There are several ways to get to the 4D screen: • + POSITION displays the full screen view • The TOP menu has many 4D related ICONS • + EDIT displays the TP Editor and Node map • + DATA displays the Position register screen and 4D map • Touching the i symbol on the focus bar may bring up a menu with graphical entries • “4D Graphics” is under the standard menus on the second page item five. • “4D Graphics” in the same group as position so is accessible form the position type menu 4–5 4. 4D FUNCTIONALITY MAROUHT9102171E REV F Note If R764 4D Graphics is not loaded the only thing displayed will be the robot. There will not be any 4D shortcuts in the TOP menu. The top menu has a full page of 4D shortcuts accessed by pressing the 4D soft key. Figure 4–4 shows a typical configuration with DCS loaded. The actual displayed ICONS will depend on what options are loaded. Figure 4–4. Top Menu After you are in the 4D display, navigation allows you to adjust the view point in order to see what you need to see. The soft keys determine the “mode” of operation of this sort of navigation. These keys allow you to: • Zoom the image in and out to narrow in on an item of interest • Pan around in the image to see different items from the same angle • Rotate the image in order to see the information from a different angle All of these movements can be accomplished with the touch screen or the arrow keys. 4–6 MAROUHT9102171E REV F 4. 4D FUNCTIONALITY After the view is set, the hard keys above can be used to transition quickly between full screen mode and dual pane mode. In the case where hard keys are not available maximize and minimize can be used to transition quickly between these modes without loosing context. Refer to Section 2.3 for a discussion on window setting. Each scene has its own viewpoint. This means that once the system is adjusted for a particular operation, coming back to that operation shows the same information. The following example illustrates: • A viewpoint is set up which shows DCS controls from a wide angle so that all zones are visible in on the screen, • The node map (TP program display) is selected for operation. The viewpoint is set for optimal viewing of that program. • DCS setup is selected and the same information is shown that was shown the last time this sceen was displayed. • The node map is selected for operation. The viewpoint is still set for optimal viewing of that program. 4–7 4. 4D FUNCTIONALITY MAROUHT9102171E REV F 4.1.3 Basic Display Concepts Figure 4–5. Robot Display Displaying the robot is basic for 4D Display. The robot is always displayed and always moves as the real robot moves. Even when the 4D Graphics option is not available, the robots and the floor are displayed. This is shown in Figure 4–5 . The black triad is the tool center point (TCP). A triad is a symbolic representation of a robot position and orientation. It shows the XYZ coordinate of a point in space and its orientation. Triads are used extensively to represent positions such as program positions and position registers. Triads are used to show coordinate frames such as visual jogging and frame setup. In Figure 4–5 the current tool center point has a Z offset of 500mm. The black triad is exactly 500mm from the faceplate of the robot. As the robot moves the black triad moves. As the robot executes a program in single step mode the black triad will exactly line up with the triads representing the taught points. If the tool center point is changed, the 4–8 MAROUHT9102171E REV F 4. 4D FUNCTIONALITY black triad will move. Generally the system will include a graphical representation of the tool as well as this triad. Figure 4–6. Three Groups in One Controller Figure 4–6 shows a system equipped with three groups on one controller. In Figure 4–6 the near robot is selected for operation and is group two. All groups are shown. When the teach pendant is enabled, a particular group is always selected for teach pendant operations.On the status line G2 is displayed which also corresponds to the selected group. When a robot is selected for operation, the Tool Center Point (TCP) indicator is bright green. Other displayed robot TCPs are black. In Figure 4–5 the teach pendant is disabled. When the teach pendant is enabled the TCP triad will display bright green like in Figure 4–6 . The floor is always shown with a 1 meter grid. This provides a good reference point for being “square.” The group one robot is positioned, by default, on the floor in the center with the X and Y coordinates of the robot lined up with the grid. Note that certain robots, such as the M-3iA, are top mounted so hung by default two meters above the floor hanging down. Robots can be repositioned in the cell by setting the $CELL_GRP[x].$CELL_FRAME system variable. This variable can also be used for robot calibration depending on the application. . 4–9 4. 4D FUNCTIONALITY MAROUHT9102171E REV F Details of cell frame are in Section 6.10 . 4.1.4 Selected Program One of the main purposes of the 4D system is to provide views of TP programs. This can be used in many contexts including the SELECT menu, the editor, and various utilities. In both full screen mode and dual screen mode, the program that is used in the “4D Edit Node Map” scene is the default program. This is the program which is selected in the left window of in the full screen SELECT screen. This is also the program which will execute if you press the SHIFT+FWD buttons. If you want to view a specific program, select it from the SELECT menu. Any operations that you perform in whole mode of dual screen mode with the “4D Edit Node Map” scene will follow that program. A second program can be viewed which is not the default program. This is the program the cursor is on in the SELECT menu. Any operations that you perform in whole mode or dual screen mode with the “4D Select Node Map” scene will follow that program. Certain utilities will also set this program when they are used with a graphics screen. 4.1.5 Frames Any change to frames is always immediately reflected in the 4D views. There is no user action required to make this happen. For example a TP program has positions recorded in a vision frame. The points will move in the node map view as the vision offset frame on the controller change. Points which are not in the vision frame will not move. Any programs which are taught in a line tracking frame or in a coordinated frame will be displayed in that frame. When you look at the taught program in the node map editor, you will see the points with respect to the part in a particular position. As the line moves or the coordinated frame moves, the points will move as a whole with the connected frame. Note By definition, position registers are in the “current” frame. This might depend on context so position registers might not be displayed in a frame that they are not associated with. Set the correct frame to see the registers in the correct frame. 4.1.6 Groups Each group is separately identified in the 4D system. The robots associated with those groups are always graphically displayed. The currently selected group displayed in the status window will be highlighted when the teach pendant is enabled. This makes it obvious which group is selected for a teach pendant operation. If that operation is jogging, then addition information on jog type, frame and direction will be displayed associated with that group. 4–10 MAROUHT9102171E REV F 4. 4D FUNCTIONALITY This provides the means to display information that moves with the group and is associated with that group easily. The tool for group 1 is a different entity than the tool for group 2. The jog information moves as the group moves. Other information like this can be displayed with the group such as line tracking boundaries. 4.2 USER INTERFACE SCREENS 4.2.1 VIEWING 4D SCENES The 4D world is divided into a number of different scenes. Each scene displays different information. If all of the invisible data on the robot were shown at the same time it would be difficult to find what you are looking for. Scenes filter that information so that you can look in a particular area for an issue without being distracted by information that is not of interest for the current operation. Some 4D world information is always shown. This information serves as a “background” for the scene that you want to view. The background consists of: • The floor to serve as a reference. • The robot arm(s) and other mechanisms. • End of arm tooling. • Cell components that have been configured with ROBOGUIDE for use on the 4D pendant. See Section 4.13 for details on how this works. Scenes are changed in a similar fashion as menus are changed for the text menus. In any 4D menu, F1 is the [ TYPE ] key. This key allows you to select what data to display in addition to the background. Available scenes depend on options. 4–11 4. 4D FUNCTIONALITY MAROUHT9102171E REV F Figure 4–7. Scene Selection Each scene has a view associated with it. As the scene is changed, the viewpoint is changed to correspond to the viewpoint which was set the last time that scene was viewed. Typically you want to look at DCS setting from a wide view and programs from a narrower view. The standard scene is “4D Display”- by default this scene only shows the background. Other scenes can be made visible on a scene by scene basis. This is the only scene you can composite together multiple scenes to be viewed together. For example, this scene can display DCS and node map in the same screen. The standard scenes are: • 4D Display —shows the background plus any selected scene(s). • 4D Edit Node Map –shows the current default program graphical view or node map. • 4D Select Node Map —shows the node map of the program that corresponds to the where the cursor is in the SELECT menu. • 4D Position Reg —shows the current position registers in the currently selected frame. • 4D TCP Trace —will show the path the robot takes when this screen is active while the robot is moving. 4–12 MAROUHT9102171E REV F 4. 4D FUNCTIONALITY • 4D Frame Display —shows the last frame shown in the frame setup menu. • Position display shows the standard text position display. Optional scenes include: • 4D DCS Display —shows the DCS setup or the last scene shown in the DCS setup menu. • 4D iRVision —shows camera locations and view areas. • 4D IIC Display —shows interference information. • 4D Pick Boundaries —shows boundaries for PickTOOL. • 4D Pick Frames —shows frames for PickTOOL • 4D Pick Registers —shows registers for PickTOOL 4.2.2 ADJUSTING THE VIEW The touch screen makes the 4D menus much more convenient to use. The key to using these menus effectively is the ability to change the position, angle and magnification of the 4D screen. This process provides the means to get the information critical for the current operation optimally displayed on the 4D screen. Arrow keys may also be used to adjust the view incrementally. Pressing SHIFT-ARROW will use a larger increment. Holding the arrow will cause the view to change as long as the arrow is pressed. An optional USB mouse can also be used to manipulate the 4D display. Note For the following sections any action initiated by touch can be initiated by clicking the left mouse button. The right mouse button always makes the selection regardless of the mode setting. 4.2.2.1 Zooming the View Zooming the view consists of changing the magnification. Increasing the magnification makes the objects larger but the field of view is narrow. Decreasing the magnification widens the field of view but the objects in the view become smaller. Figure 4–8. ZOOM Button To zoom the view: • Press F3 to set the system to zoom mode as shown above. • Touch and release near the top of the screen to increase the magnification. • Touch and release near the bottom of the screen to decrease magnification. 4–13 4. 4D FUNCTIONALITY MAROUHT9102171E REV F • Firmly touch and hold the screen and zoom the image by dragging your finger up and down on the screen. Be sure to maintain contact by pressing firmly or using the fingernail side of your finger. Beeping means that you are not maintaining contact. • Use the up arrow to increase the magnification. • Use the down arrow decrease the magnification. • Holding the arrow will cause the magnification to continue changing as long as the arrow is pressed. 4.2.2.2 Panning the View Panning the view consists of moving the view left, right, up and down. Figure 4–9. PAN Button To pan the view: • Press F4 to set the system to PAN mode as shown above. • Firmly touch and release a point on the screen to make it the center of the view. When you release the image will jump so that the touch point is the center. • Firmly touch and hold the screen and drag the image around the screen. The image will follow your finger. Be sure to maintain contact by pressing firmly or using fingernail side of your finger. Beeping means that you are not maintaining contact. Releasing the touch leaves the view where it was dragged. • Use the arrow keys to move the image up, down left and right. SHIFT-ARROW moves further. • Holding the arrow will cause the views to continue moving as long as the arrow is pressed. 4.2.2.3 Rotating the View Rotating the view consists of rotating the view left, right, up and down. The center of rotation is the selected item. By default, the selected item is the tool center point. Rotating left and right is like walking around the cell. Rotating up down is like climbing up and down a ladder to see the cell from an elevated position. Figure 4–10. ROTATE Button To rotate the view: 4–14 MAROUHT9102171E REV F 4. 4D FUNCTIONALITY • Press F5 to set the system to ROTATE mode as shown above. • Touch and release the view to “push” that part of the screen away from you. This will cause the view to tilt in response to a touch in a specific area. • Firmly touch and hold the screen and rotate the image by dragging your finger on the screen. The image will rotate with the action of your finger. Be sure to maintain contact by pressing firmly or using the fingernail side of your finger. Beeping means that you are not maintaining contact. • Use the arrow keys to rotate the image up, down left and right. • Holding the arrow will cause the views to continue rotating as long as the arrow is pressed. 4.2.2.4 Selecting an Item Selecting an item consists of touching it on the touch screen or cursoring in a related text view. Figure 4–11. SELECT Button To select an item: • Press F2 to set the system to SELECT mode as shown in above. • Firmly touch the item that you want to select. • With an optional USB mouse right click to select an item. The selected item will be highlighted in the graphical view and the linked text if the view is linked. In come cases, additional information will be displayed about the selected item. 4.2.2.5 Selecting Preset Views The 4D Display system provides seven preset views. The default view provides a view from 45 degrees. This view is often a good starting point for setting the view. It will also put information back on the screen in the case where it has inadvertently been lost. All preset views will center the floor in the middle of the view. The other six views are orthogonal views. These views are from the top, bottom, left, right, front and back. 4–15 4. 4D FUNCTIONALITY MAROUHT9102171E REV F Figure 4–12. Selecting a View Procedure 4-1 Selecting a View 1. Press NEXT to view the second page of soft keys. 2. Press the [VIEW] key to display the selection of preset and user views. 3. Select the type view you want to display with the softkey. • PRESET- Fixed views from specific viewpoints. • USER-Views recorded and named by user. 4. Select the view that you want to use. • Touch the view that you want to be displayed. • Use the arrow keys to cursor to the view to be selected. • Use the number keys to select a specific view and then hit enter. PICTURE IN PICTURE In addition to selecting a preset view you can also select a “picture in picture” or PIP view. This allows you to view a small version of one scene within another. The PIP window remembers its content so when you swap a scene and viewpoint into the PIP window it will remember what was there the next time you bring up PIP. 4–16 MAROUHT9102171E REV F 4. 4D FUNCTIONALITY To manipulate picture in picture (PIP) views: • Select F4 from the preset view menu to show the PIP view. • Touch the PIP sub-window view to swap the main windows and the PIP window. • Use the ITEM key to swap the main windows and the PIP window. • Use the PREV key to dismiss the PIP window. • Use any menu key to dismiss the PIP window. 4.2.2.6 Recording and Using User Views The 4D system provides eight user definable views. These views can be recorded and then retrieved by selecting them. Figure 4–13. User View Menu By default these views are not initialized (indicated by the ***) and named User View 1–8. These views can be recorded and named to suit the needs of a specific installation. Procedure 4-2 Selecting a View 1. Press NEXT to view the second page of soft keys. 4–17 4. 4D FUNCTIONALITY MAROUHT9102171E REV F 2. Press the [VIEW] key to display the selection of preset and user views. 3. Select the type view you want to display with the softkey. • PRESET- Fixed views from specific viewpoints. • USER-Views recorded and named by user. 4. Select the view that you want to use. • Touch the view that you want to be displayed. • Use the arrow keys to cursor to the view to be selected. • Use the number keys to select a specific view and then hit enter. Recording a user view 1. Set up the screen to display what you want to record using the PAN, ROTATE and ZOOM functions. 2. Press NEXT to view the second page of soft keys. 3. Press the [VIEW] key to display the selection of preset and user views. 4. Select F2 USER to display the list of user views. 5. Cursor to the view to be recorded. 6. Select F4 RECORD to record the current view into the user view. You can also select F5 RENAME and name the view without exiting the menu. Naming a user view 1. Press NEXT to view the second page of soft keys. 2. Press the [VIEW] key to display the selection of preset and user views. 3. Select F2 USER to display the list of user views. 4. Cursor to the view to be named. 5. Select F5 RENAME and enter the new name in the input box. You can also select F4 RECORD and record the current view without exiting the menu. 4.2.2.7 Visibility Figure 4–14. [VISIBLE] Button 4–18 MAROUHT9102171E REV F 4. 4D FUNCTIONALITY The elements which are visible in each screen are typically controlled by the visibility softkey on page two of the soft keys. In other cases, the visibility is based on what operation last took place in the linked screen. For the “4D Display,” the visibility key controls which scene(s) are displayed. The visibility key displays the menu of scenes which can be toggled on and off. This allows you to display multiple scenes at the same time. For all of the other scenes, the visibility key controls visibility of aspects of that scene such as text labels. For the register and node map scenes, you can control the visibility of the text labels. In the node map screen you can control the visibility of called programs. The other scenes are controlled by the menu with which they are linked. In the frame setup menu the frame that the cursor is on is visible. When a DETAIL menu is displayed the frame and setup points associated with that frame are displayed. The other frames are not visible. For DCS, the Cartesian limits and robot restrictions are visible by default. After you link the DCS setup screen to the graphical pane, the last selected setup item is visible in the DCS graphics screen. 4D Graphics Display Visibility For the main graphics display screen which is the first entry in the [TYPE] menu visibility is special. This visibility allows you to display any combination of information from the other scenes. For example you can display the “4D Edit Node Map” and the “4D TCP Trace” at the same time in this screen. Visibility is where you select what 4D information is visible. Figure 4–15. Visibility menu 4–19 4. 4D FUNCTIONALITY MAROUHT9102171E REV F The menu highlights which of the 4D elements are currently selected. From this menu you can “HIDE” or “SHOW” different elements. 1. Select next from the function key menu. 2. Select [VISIBLE] from F2 or [RIPE] from F3. Any elements which are currently visible will be displayed in BLUE. 3. Select the element that you wish to hide or show. • Touch the item of interest and the visibility will be toggled. • Enter the number of the element you want to change and F5 to HIDE or SHOW it. • Use the arrow keys to cursor to the element you want to change and F5 to HIDE or SHOW it. 4. Exit the [VISIBLE] menu by hitting PREV, ENTER, F1, F2, F3 or any other menu key. 4.3 VISUAL JOG Visual jogging allows the coordinate system and the group selected for jogging to be indicated on the 4D display. It also allows you to preview the direction that the robot will move before actually jogging the robot. The jog indicators are displayed whenever the teach pendant is enabled and jog preview is turned on. It is not necessary to engage the DEADMAN in order to see the indicators. To turn jog preview on, press the and the COORD key simultaneously. This operation toggles the visibility of the jog indicators on and off. Caution When moving the robot with the pendant enabled, be sure to watch the robot instead of watching the TP screen. After the robot is in a safe state you can examine the pendant graphics. 4–20 MAROUHT9102171E REV F 4. 4D FUNCTIONALITY Linear Coordinate Display Figure 4–16. Linear Jog Indicator Figure 4–16 shows jog indicators for a 3 group Arc welding system. This concept applies for all applications. The Cartesian coordinate system at the tool center point of the robot shows what coordinate system in which the robot will jog. The red, green, and blue axes correspond to the X, Y and Z jog directions. For details on jogging in different coordinate systems, refer to Section 5.1 . As the coordinate system is changed (COORD key by itself) the display will show the currently selected coordinate system. This will work for all coordinate systems supported by your robot system. Note PATH coordinate system is not always valid. In this case visual jog will not show a coordinate system and the jog keys will be ineffective. 4–21 4. 4D FUNCTIONALITY MAROUHT9102171E REV F Joint Jog Display Figure 4–17. Joint Jog Indicators Figure 4–17 shows the jog information for joint jogging. Each joint that can be jogged has a indicator consisting of: • A semi-transparent fan indicating the arc of joint motion and the proximity of joint limits. • A needle gauge showing the current joint position. • A blue arrow tangent to the fan showing the positive jog direction • A label naming the corresponding joint. Figure 4–17 shows joints 2 and 3 within 22.5 degrees of the joint limits. The fan will turn red as the robot is jogged closer to the limit. When the robot is jogged all the way to the limit the needle gauge will be at the boundary between the red and green color of the fan. 4–22 MAROUHT9102171E REV F 4. 4D FUNCTIONALITY Figure 4–18. Positioner Jog Indicator Figure 4–18 shows the same joint indicators for the positioner. This sort of display applies to any sort of mechanism connected to the robot controller. A linear mechanism is similar but slightly different to reflect that joint jogging is a linear operation. In the case the fan is replaced by a rectangle with similar functionality. Jog Preview Visual jogging will also preview the direction of movement of the robot when a particular jog key is pressed. This feature is activated when pressing a single jog key at the same time as the . Note that pressing more than one jog key will display the jog direction of the last key pressed. It is not necessary to enable the DEADMAN or clear errors. The preview will always be shown. The system must be in any 4D graphical display in order to see the jog preview information. Pressing and a jog key will NOT bring up the 4D display. Pressing at the same time as the position key is an easy way to bring up full screen 4D graphics for assistance in jogging the robot. The jog preview indicator is a single red arrow indicating the direction that the robot will move. Depending on the setting of the speed override (refer to Section 5.3 ) the size of the arrow will change. For low speed it will be short, for high speed it will be long. 4–23 4. 4D FUNCTIONALITY MAROUHT9102171E REV F Cartesian Jog Preview Figure 4–19. Cartesian Jog Preview Figure 4–19 shows the typical display when a key is pressed with +Z. In this case the blue arrow shows the direction that the robot will move when the SHIFT and +Z keys is pressed. The length of the arrow will depend on the jog speed. for this example the override is 50%. Figure 4–20. Cartesian Rotation Preview Figure 4–20 shows the display for positive rotations about the X, Y and Z axis in WORLD frame. These will be displayed when you press and a positive rotation key (+X(J4), (+Y(J5) or (+Z(J6). The robot will rotate about the tool center point in the plane shown by the circle. 4–24 MAROUHT9102171E REV F 4. 4D FUNCTIONALITY Joint Jog Preview Figure 4–21. Joint Jog Preview Figure 4–21 shows the display when you press the and +(J4) jog key. The red arrow along the fan show the direction that the robot will move if the SHIFT + (J4) is pressed. 4.4 EDIT NODE MAP SCREEN The 4D visualization of TP programs is called a node map. This shows all the points in the program as small triads in 3D in the “4D Edit Node Map” screen. 4–25 4. 4D FUNCTIONALITY MAROUHT9102171E REV F Figure 4–22. Dual Screen Mode Figure 4–22 shows the node map screen always shows the node map for default program. This is true if it is shown full screen or in the right pane for dual mode. In the case of dual mode the right pane is always linked to the default program. To get to the graphical node map screen: • Press +EDIT. • Or from the TP edit screen press + FCTN and select “4D Edit Node Map”. • Or from the TP edit screen touch the i symbol on the left side of the focus bar and select “4D Edit Node Map”. • Or press ENTER from the graphical select menu. The main purpose of this is to see the relationship among the positions in a program. It also allows you to relate the line of the TP program to the point in space where the position is taught. For example, if you know you want to adjust the highest point in the program, you can find that point easily without moving the robot. 4–26 MAROUHT9102171E REV F 4. 4D FUNCTIONALITY As the program is edited, the graphical view always reflects the current status of the edited program. As points are added, deleted, or touched up, the graphical view is updated to reflect those changes. The points are all linked by lines. Typically the lines are black but if the point is ambiguous the lines may be red. Note These lines do NOT indicate the exact path that the robot will take. Instead they illustrate the sequence in which the points will be visited in the program. To see the actual path of the program see Section 4.8 . The color of the triads varies depending on conditions. A yellow triad indicates that the position is a PR or INC option is used in the motion statement. The color of the lines also varies on conditions. For example, a red line indicates that there is a point without position data between the two nodes. Using AR (argument register) as index in a point also gives a red line because the value of AR is not clear until a program is executed. Points in the program which are position registers are also displayed as triads. The easy way to tell that they are registers is to enable the point labels. Visibility toggles the point labels off and on. The point labels include the position register number and comment. For the full edit line, refer to the linked edit pane. The larger green triad indicates the selected point. This will correspond to the text cursor in linked dual pane mode. As the cursor is changed in the text pane, the green highlight will change to correspond to the selected point. Touching a point in the graphical screen in select mode will change that point triad to a larger green triad and move the text highlight to the corresponding TP line in the linked left pane. Selecting the point from either pane makes that point the center of rotation for rotational view adjustment. 4–27 4. 4D FUNCTIONALITY MAROUHT9102171E REV F 4.5 SELECT SCREEN Figure 4–23. Select Preview Node Map Figure 4–23 shows the select list on the left and ”4D Select Node Map” scene on the right. The 4D scene displays the graphical content of the program which is highlighted by the cursor in the SELECT screen. In this case it may NOT be the selected program. As the cursor is moved up and down in the SELECT menu, the program display changes to correspond to the program that the text cursor is on. This allows the programs to be quickly reviewed such that the correct program is selected. To bring up the linked select screen: • Press +SELECT • Or when in the SELECT screen press +FCTN and select “4D Select Node Map” • Or touch the graphical i on the right side of the focus bar and select “4D Select Node Map ” This program is loaded in to the “4D Select Node Map” and will be displayed when the “4D Select Node Map” is displayed. After you press ENTER to edit the program, the system will automatically go into linked edit mode. The brings up the text editor on the left and the node map 4–28 MAROUHT9102171E REV F 4. 4D FUNCTIONALITY in the right. Now the selected program and the default program are the same program. Pressing ENTER has selected the program into the default. If you do not press ENTER, the program displayed in the “4D Select Node Map” in the right pane remains associated with the select scene. The next time you enter the “4D Select Node Map” in any context, that is the program that will be displayed. Any time in any context you enter the “4D Edit Node map” scene the default program is shown. In Figure 4–23 the program has not be selected. So the program displayed in the “4D Select Node Map” scene is PNSRSR. The default program is ARC234. This means that “4D Select Node Map” will display PNSRSR and “4D Edit Node Map” will display ARC234. 4.6 VIEWING TWO DIFFERENT PROGRAMS Two programs can be viewed by using the program associated with the “4D Select Node Map ” scene and the default program associated with the “4D Edit Node Map” scene. To select the default program, cursor to it in the SELECT screen and press ENTER. To load a program into the “4D Select Node Map” scene, cursor to a program n the SELECT screen and leave the cursor there. Figure 4–24. Viewing two Different Programs 4–29 4. 4D FUNCTIONALITY MAROUHT9102171E REV F This allows you to examine a program which is NOT the default program. In general the “4D Edit Node Map” always displays the default program. “4D Select Node Map” displays the program that the cursor is on in the SELECT screen. Going to full screen allows the program to be closely examined without impacting the default program. Another advantage of this is that the selected program can be displayed in one pane at the same time the default program node map is displayed in the other pane. This allows two programs to be viewed at the same time in the graphical environment. Procedure 4-4 Viewing two Programs 1. Edit the first program of interest in the left pane. This is the default program. 2. Bring up the linked select view: • Press +SELECT • Or press SELECT and press +FCTN and select “4D Select Node Map ” • Or press SELECT and touch the i on the left side of the task bar and select “Select” 3. Cursor to the second program of interest. This program is displayed in the right pane graphically. 4. Bring up the 4D Display in the left pane: • Press the position hardkey and select “4D Display” from the type menu. • Or use MENU-0–5 and select “4D Display” • Or go to top menu and select “4D Split Screen” 5. Select “4D Edit Node Map” from the type menu This will show the default program in the left pane using the “4D Edit Node Map” scene and the SELECT cursored program in the right pane using the “4D Select Node Map” scene. Note This is one example of how this can be set up and used. There are many other applications for viewing different graphical scenes in the two windows or viewing the same scene from different viewpoints in the two windows. 4.7 PROGRAM UTILITIES Many of the utility programs modify programs. It is possible to view the result of these programs in dual mode. In this case the panes are not linked in any way. 4–30 MAROUHT9102171E REV F 4. 4D FUNCTIONALITY Figure 4–25. Shift Utility and Node Map Utilities can operate on programs which are the default program or the currently selected program. Either program view can be used to display the result of the utility operation. The panes are not linked because the graphics pane is showing the current status of the program associated with that scene. In Figure 4–25 the mirror utility is operating on the selected program. Mirror can operate on any program but in order to view the result interactively it must be either the default program or the program loaded into the select scene. Some of the utilities which can benefit from this are: • Program adjust • Program Shift • Mirror Image Shift • Tool offset To set up this operation you must select the program of interest as the default program or cursor to it in the SELECT screen. If the program being operated on is not the same as the “4D Edit Node 4–31 4. 4D FUNCTIONALITY MAROUHT9102171E REV F Map” or “4D Select Node Map” program the utility will make it the “4D Select Node Map” program so it can viewed. • Press +FCTN and select “4D Edit Node Map” or “4D Select Node Map” • Touch the i on the status bar and select “4D Edit Node Map” or “4D Select Node Map” If there is not an i displayed graphically in the corner of the screen then this utility does not support bringing up the program automatically. In this case the program of interest must be selected or be the default. To make it the default edit it in the left pane. To make it the selected program (only affects graphics): 1. Bring up the linked select view: • Press +SELECT • Or press SELECT and press +FCTN and select “4D Select Node Map” • Or press SELECT and touch the i on the left side of the task bar and select “Select” 2. Cursor to the program of interest. This program is displayed in the right pane graphically. 3. Bring up the utility in the left pane via the standard menus 4.8 TCP TRACE The “4D TCP Trace” scene provides the capability to view the actual path that the robot took when executing a program. The key element is that you must be displaying the “4D TCP Trace” while the program is executing in order to see the trace. 4–32 MAROUHT9102171E REV F 4. 4D FUNCTIONALITY Figure 4–26. Node Map and Trace TCP trace works by sampling the actual position of the robot periodically. This is displayed as a line in XYZ space. Rotational information is not displayed at this release. Use Procedure 4-6 to view a TCP trace. 1. Select the graphical view in whole mode or dual mode with other information of interest in the LEFT pane. 2. Select the TCP trace scene from the type menu. 3. Run the program 4. Examine the resultant trace for problems. Caution When executing a program be sure to watch the robot. Do not watch the TP screen. After the robot is in a safe state you can examine the result. Running the program with motion DISABLED will also display the trace and movement of the graphical robot. 4–33 4. 4D FUNCTIONALITY MAROUHT9102171E REV F Refer to Chapter 9 TESTING A PROGRAM AND RUNNING PRODUCTION for details on test running your program. 4.9 FRAME SETUP Figure 4–27. Frame Setup The Frame Setup screens offer a related 4D view. When this view is activated, you will be shown the 4D world with details about the current frame setup operation. Figure 4–27 shows the result of a frame setup which may not be expected. It is clear from the 4D picture that the frame Z points down instead of up. This is a common error which is easy to see in the 4D display. The text view and the graphics view are linked. A large blue triad representing the location and orientation of the frame currently being set up is shown in the 4D world. If you are on the 3, 4 or 6 point detail screen, a small triad is displayed for each recorded point. The point currently highlighted in the text pane will also be highlighted in the graphics pane as a green triad. Changes made in the Frame Setup menu are immediately reflected in the 4D world. Any other changes to the frames such as a vision offset are immediately reflected. 4–34 MAROUHT9102171E REV F 4. 4D FUNCTIONALITY 4.10 POSITION REGISTERS The 4D display for position registers provides a graphical display for position registers which is very similar to node map described in Section 4.4 . Figure 4–28. Position Registers Each recorded position register is displayed as a triad in the graphical pane. The selected register is displayed as a larger green triad. Note Any register which has been set to joint representation will not be displayed. The default representations for registers is Cartesian, so unless the default representation is changed, the register will be displayed. In dual pane mode, the text view is linked to the graphical view. The highlighted register in the text view corresponds to the highlighted register in the graphical view. As the cursor is moved in the text pane, the green highlight will move to the selected register. Touching a register in the graphical menu in select mode will highlight the selected register in the text view. 4–35 4. 4D FUNCTIONALITY MAROUHT9102171E REV F If the value of the register is changed, the triad for that register will move in the graphical pane. When operated in full screen mode, the selected register will be remembered and displayed the next time that the text mode is activated and vice versa. The visibility key on the second softkey page toggles the text label display. The label includes the register number and the comment. Note Registers are always considered to be in the “current” frame. The register graphical display reflects the position of the register in the current frame. This may not be how the register is used. Changing the current frame will be reflected in the position of the register triad in the graphics display. 4.11 REMOTE CONTROLLER DISPLAY The 4D graphics display provides a mechanism to display information from other controllers connected via Ethernet. By default it will display the robot arm and any tooling graphics associated with the remote arm. For certain options and applications other otherwise invisible data is also displayed. For example, interference zones automatically display data from any connected robots. 4–36 MAROUHT9102171E REV F 4. 4D FUNCTIONALITY Figure 4–29. Display of Remote Robots and Data There are two ways to set up the display of remote robots. They can either be displayed using RIPE (refer to the Internet Options Manual) or by specifying, in a configuration file, any external robots that you want to show in your graphical scenes. After a configuration file is supplied or RIPE is active, the “4D GRAPHICS Display” scene provides the means to enable or disable the display of robots connected to other controllers. The [RIPE] menu provides the list of configured robots and the visibility of each robot can be toggled on and off. Remote robots are considered part of the background even though this mechanism turns them off and on globally. 4–37 4. 4D FUNCTIONALITY MAROUHT9102171E REV F Controller Visibility Menu Figure 4–30. Controller Visibility Menu 1. Select next from the function key menu. 2. Select [VISIBLE] from F2 or [RIPE] from F3. Any elements which are currently visible will be displayed in BLUE. 3. Select the element that you wish to hide or show. • Touch the item of interest and the visibility will be toggled. • Enter the number of the element you want to change and F5 to HIDE or SHOW it. • Use the arrow keys to cursor to the element you want to change and F5 to HIDE or SHOW it. 4. Exit the [VISIBLE] menu by hitting PREV, ENTER, F1, F2, F3 or any other menu key. By default a maximum of three external controller can be displayed. This maximum is controlled by the system variable $TPGL_CONFIG.$CONTROLMAX. The visibility of each robot can be controlled from a TPP program by setting $TPGL_CONFIG.$CONTROLMASK[idx] where index is indicated by the order in the TPCLCG.XML file or ROSIPCFG.XML file. In this menu you can select as many robots as you wish but the number of robots displayed will be limited by $TPGL_CONFIG.$CONTROLMAX. The maximum value of 4–38 MAROUHT9102171E REV F 4. 4D FUNCTIONALITY $TPGL_CONFIG.$CONTROLMAX is 16 but, for performance reasons, it is not recommended to increase this from the default 3 robots. Figure 4–31. TPGLCFG.XML The syntax is very simple and provides just the names and IP addresses of the remote controller from which you want to display information. This file can be provided on a USB stick or memory card and copied to MD:. At this release there is no menu to set this up. There is a menu to set up RIPE which is documented in the Ethernet Operations Manual. However, RIPE has the additional constraint that all connected robots must have the same version number. Graphical remote display does not have this restriction. Note In order to display information on a remote PC for Monitor iPendant (ECHO), Navigate iPendant (CGTP), or Full Screen 4D Display, the IP addresses in this file must be accessible to the remote PC. 4.12 DCS 4D VISUALIZATION Dual Check Safety (DCS) Visualization enables you to view a 4D graphical representation of the DCS settings. J657 DCS Pos./Speed Pkg. is required for this functionality. The view that is presented relates to the feature currently selected in the DCS Setup menu. The following features provide a graphical view: • DCS Robot setup. • DCS User model setup. • DCS Cartesian position check. • DCS Joint position check. The DCS settings that are displayed come from the setup pages so you can view the effects of your changes before they have been applied. As soon as you change the position or size of a DCS zone that change is graphically displayed in the graphics pane. The views are also “live”. That is – they update to follow the robot as it moves and reflect the current state of position check zones. Refer to the Dual Check Safety Function Operator's Manual for details. 4–39 4. 4D FUNCTIONALITY MAROUHT9102171E REV F 4.13 4D CUSTOMIZATION The parts of the graphical display which are NOT the robot and not process data (programs, registers, DCS etc) are part of the 4D customization. The customization is accomplished by using a “4D Editor” PC tool. This tool allows the shapes that make up the cell to reflect the actual physical elements of the cell. These physical elements include things like tooling, fences, parts, conveyers and other cell elements. Use Procedure 4-8 to customize the information displayed in the physical cell. Procedure 4-8 Loading ROBOGUIDE Customization 1. Get a backup of your robot controller. 2. Generate a ROBOGUIDE cell from that backup. 3. Use the ROBOGUIDE tool to position and create cell components. 4. Load the ROBOGUIDE generated components onto your machine. This can be done by: • Copying the files onto a USB stick or memory stick and hitting enter on LOADTPGL.CM and responding YES to load the files. • Connecting the robot into the same network as the PC and selecting that robot as the destination from ROBOGUIDE. • Leave the files on the USB stick or memory card and leave that device plugged in when operating 4D menus Caution Graphical files can get quite large. The robot controller has limited FROM storage space to hold graphics files. ROBOGUIDE will help in reducing the size of the graphics files and using primitives wherever possible. ROBOGUIDE will generate two description files —TOOLING4D.XML and WORKCELL4D.XML. TOOLING4D.XML contains information which is considered part of the robot such as end of arm tooling. WORKCELL4D.XML tells the graphics system on the robot where to display the other shapes defined in the ROBOGUIDE setup. This file will contain the size and position of basic elements like boxes and cylinders. It will also contain the size and position of graphics files. The graphics files used on the pendant have the extension .POD. These are the files that can get very large. They are typically derived from traditional graphics format files like IGES files. The XML file and the associated POD files are all copied to FR: by default. In this case they are backed up and restored with the full controller backup. 4–40 MAROUHT9102171E REV F 4. 4D FUNCTIONALITY Optionally these files can be left on the memory card or USB stick. This means that if the memory card or USB stick is not plugged in, the custom graphics will not be displayed. This approach reduces the limitation on how big the graphics files can be. Caution The amount of graphics that can be efficiently displayed on the pendant is limited. As more and more graphics are added, the frame refresh rate on the pendant will decrease. This will not impact execution of programs on the robot controller, but will result in a sluggish display. If you notice that the display is updating slowly, remove some of the graphics or reduce the size of some of the display to reduce a slowdown on the display. The performance will vary depending on the application. 4.14 ACCESSING THE 4D DISPLAY FROM A PC There are several ways to access 4D data from a remote PC: • Select “Monitor iPendant (ECHO)” from the home page to display on your PC an exact copy of what you see on the teach pendant. • Select “Navigate iPendant (CGTP)” from the home page to navigate 4D menus from your PC. This requires the R558 Internet Conn/Custo option • Select “Full Screen 4D Display” from the home page to show the “4D Display” scene on your PC. This requires the R558 Internet Conn/Custo and R7644D Graphics options. Note For early releases, display of 4D information requires that the PC have a advanced graphics card capable of displaying OpenGL. If your PC does not work, updating your PC graphics drivers might fix it. Select “Full Screen 4D Display” from the home page to provide a similar functionality as the 4D window on the teach pendant. The left mouse is used to adjust the view setting based on the current mode of operation. It also provides the ability to show any combination of 4D display scenes. A context menu is provided for selecting operation modes and scene visibility. This menu is displayed by right clicking the mouse anywhere in the active 4D display. 4–41 4. 4D FUNCTIONALITY MAROUHT9102171E REV F Figure 4–32. Full Screen Menu 4.14.1 View Adjustment Mode The view of the 4D scene can be adjusted with the mouse. The mouse can PAN, ROTATE or ZOOM the view. The mouse can also SELECT an item in the view as the rotation center. The function of the primary mouse button is determined by selecting the view adjustment mode. Procedure 4-9 Selecting View Adjustment Mode 1. Click with the right (alternate) mouse button. 2. Use either mouse button to select the view adjustment mode you want: • Select - To select a 4D element. • Pan - To move the view up and down and side to side. • Rotate - To rotate the view. • Zoom - To zoom the view in and out. 3. Click anywhere outside the menu to dismiss the menu. 4. Use the left (primary) mouse button to adjust the view according to the selection. 4–42 MAROUHT9102171E REV F 4. 4D FUNCTIONALITY 4.14.2 Scene Visibility Scene visibility allows selection of any combination of 4D display entities. The highlighted (white on blue) elements in the menu are the ones which are currently being displayed. Selecting an element will toggle the visibility on or off. Procedure 4-10 Selecting Scene Visibility 1. Click with the right (alternate) mouse button. 2. Use the left or right mouse button to select the scene you want to toggle. • If the scene information is not showing the scene information will appear when selected. • If the scene information is already visible (white on blue) the scene information will become invisible when selected. 3. The information in the selected scenes will appear in 4D, but the menu will still be active 4. Click anywhere outside the menu to dismiss the menu. 4.15 4D GRAPHICS IMPORT The 4D Graphics Import option (R829) provides the ability to load graphics data that has been created with tools other than FANUC America Corporation's ROBOGUIDE®. This option requires that the 4D graphics option (R764) is also installed. With these two options, graphics data can be imported and displayed from other graphics design tools. This graphics data is displayed on the teach pendant along with the robot and other invisible information such as jog frames and Dual Check Safety (DCS). The data will typically be the peripheral equipment such as end effectors, fixtures and conveyers that constitute the physical environment that the robot is working on. Parts can also be included in this third party import. Generally third party graphics systems will not directly support the graphics formats required by the teach pendant graphics system. Tools from third party vendors are available to convert output from various CAD manufactures into the required data format. The conversion is done from the native format of the various tools to the format required by the teach pendant. As with the ROBOGUIDE option, the size of the graphics import is limited to 10MB. Loading graphics sets larger than 10M will result in a sluggish performance. Typically, third-party software products provide high level tools to limit the output data to what is required to be supported on the pendant. Generally these tools model an entire line of robots. For the pendant only, the peripheral equipment relevant to a specific robot needs to be displayed on a particular robot Graphics are imported into the FANUC graphics system via TOOLING.TPG and WORKCELL.TPG. These files can be copied to the MD: device on the robot by any normal file mechanism. For example, from the teach pendant you can select the files on a USB stick or memory card, and select “load” to load them onto the robot MD: device. If the file WORKCELL.TPG exists and the R829 option is loaded, then any existing graphics files will be ignored and this file will be used exclusively. WORKCELL.TPG can be deleted from FR: in the case that you want to remove the graphcis from the pendant. 4–43 4. 4D FUNCTIONALITY MAROUHT9102171E REV F Note ROBOGUIDE will also generate TOOLING.TPG and WORKCELL.TPG for certain versions. The R829 option does not need to be installed in order to load the ROBOGUIDE generated files. Note The robot arm itself is always displayed. The TPG files contain graphics for external devices. If only the robot is displayed verify that R764 and R829 are loaded and the TPG files are on the MD: device. 4–44 Chapter 5 JOGGING THE ROBOT Contents Chapter 5 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.9.1 5.9.2 5.10 5.11 5.12 JOGGING THE ROBOT ..................................................................... Overview .............................................................................................. Visual Jog .............................................................................................. Jog Speed .............................................................................................. Coordinate Systems .............................................................................. Wrist Jogging ........................................................................................ Remote TCP Jogging (Option) ............................................................... Motion Groups ....................................................................................... Jog Menu ............................................................................................... Extended Axes and Sub-Groups.......................................................... Overview .............................................................................................. J7 and J8 Jog Keys.............................................................................. Incremental Jogging ............................................................................ Jogging the Robot and Other Axes ..................................................... Jogging the Robot without the Teach Pendant .................................... 5–1 5–2 5–2 5–2 5–4 5–6 5–7 5–8 5–9 5–11 5–11 5–12 5–16 5–17 5–22 5–1 5. JOGGING THE ROBOT MAROUHT9102171E REV F 5.1 Overview Jogging is manually 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. This chapter contains information and procedures that describe how to jog 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 • Remote TCP jogging - Whether the tool is fixed in the workcell • PATH jogging - Jog coordinate system corresponds to current path The following items affect the axes that move while jogging: • 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. Note Refer to the iPendant Setup and Operations Manual for information on how to jog the robot remotely from a device other than the iPendant. 5.2 Visual Jog The best way to understand how jogging works is by using visual jog. Visual jog uses the 4D graphics system to assist in determining visually what mechanism will move and which direction it will move. Much of the information that is documented in the sections to follow is visually shown on the screen in real time. For details on using visual jog, see Section 4.3 . 5.3 Jog Speed Jog Speed 5–2 MAROUHT9102171E REV F 5. JOGGING THE ROBOT The jog speed determines how fast the robot will move when the jog keys are pressed. 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 top 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. Care must be taken to ensure that the speed is set to a safe and acceptable level for jogging before the robot is moved. Table 5–1 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 Speed Values Joint Cartesian 100, 95, 90, 85, ... 20, 15, 10, 5, 4, 3, 2, 1 % of jog speed % of jog speed FINE (incremental steps) Approximately 0.001 degrees Approximately 0.023 mm VFINE (incremental steps) Approximately 0.0001 degrees Approximately 0.002 mm 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 5–3 5. JOGGING THE ROBOT MAROUHT9102171E REV F 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 If you are in T2 mode and you release the deadman switch, the override speed will revert to a limited value such that the robot cannot move over 250mm/sec. For example, if you were jogging or running a program in T2 mode at 100% and you release the deadman switch, the override speed might reduce to 4%. This is to ensure safety when operation is resumed. 5.4 Coordinate Systems In jogging, a coordinate system defines how the robot will move. The coordinate systems are listed below: • JOINT • XYZ - includes WORLD, JGFRM, and USER • TOOL • LDR 2 - refer to the Coordinated Motion Manual 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. Table 5–2 indicates the LED or LCD indicator that corresponds to the coordinate system you choose. Figure 5–2. COORD Key and Display 5–4 MAROUHT9102171E REV F 5. JOGGING THE ROBOT Table 5–2. LCD Indicators LCD Coordinate System JOINT JOINT XYZ WORLD, USER, JGFRAME TOOL TOOL PATH PATH (ArcTool only) Refer to Table 5–3 for listings and descriptions of the JOINT, XYZ, and TOOL coordinate systems. Table 5–3. Coordinate Systems COORDINATE DESCRIPTION SYSTEM JOINT ILLUSTRATION Moves the individual axes of the robot. Caution Use of the JOINT motion mode with the F-200i series robots can cause damage to the robot. Jogging the F-200i series robot in JOINT is only permissible when single axis mastering. 5–5 5. JOGGING THE ROBOT COORDINATE DESCRIPTION SYSTEM XYZ Moves the robot TCP in the x, y, or z directions and rotates about x (w), y (p), or z (r). TOOL Moves the robot TCP in the x, y, or z direction and rotates x(w), y(p), and z(r) in the selected tool frame. MAROUHT9102171E REV F ILLUSTRATION 5.5 Wrist Jogging The wrist jog function allows you to control how the robot axes will jog when you are using a Cartesian coordinate system, such as WORLD or TOOL. In wrist jog, the wrist axes are fixed and 5–6 MAROUHT9102171E REV F 5. JOGGING THE ROBOT do not change when jogging in x, y, and z coordinates. This is helpful when you have to jog in the x, y, and z directions through a singularity position. When you jog a wrist axis using wrist jog, the other wrist axes will remain stationary and the rest of the robot axes will move to accommodate the movement of the wrist axes to maintain a fixed TCP location. You select wrist jog using the FCTN menu. When you select wrist jog, "W/" appears next to the coordinate system name displayed on the teach pendant screen as shown below. PROGRAM NAME W/TOOL 10% Use Procedure 5-3 to select wrist jog and jog the axes. 5.6 Remote TCP Jogging (Option) The optional remote TCP jog function is useful for applications in which the tool is fixed in the workcell and the robot manipulates the workpiece around the tool. The frame used for jogging is a user frame (UFRAME) you set up and select. Note Remote TCP jogging will not be available if the Coordinated Motion option is loaded. When remote TCP jogging is turned on, if you move the robot in x, y, or z using the TOOL coordinate system, the robot moves as it normally would without remote TCP jogging. If you move the robot in w, p, and r (rotational moves), the rotational center will be the remote TCP position. In remote TCP jogging, an invisible tool is established to connect the faceplate to the remote TCP position. For example, if you select the WORLD coordinate system and jog the robot in w, the invisible tool will rotate along the WORLD x-axis. If you select the TOOL coordinate system and jog the robot in w, the invisible tool will rotate along the TOOL x-axis. You select remote TCP jogging using the FCTN menu. You also select the remote TCP frame using the FCTN menu. When you select remote TCP jogging, "Rn/" appears next to the coordinate system name displayed on the teach pendant screen, where "n" is the number of the user frame, which can be from 1 to 5 as shown below. PROGRAM NAME S R1/TOOL 10% You can perform remote TCP jogging only if you have selected a Cartesian coordinate system such as WORLD, TOOL, JOGFRAME, or USER. You cannot perform remote TCP jogging if you have selected the JOINT coordinate system. Use Procedure 5-3 to select remote TCP jogging, select the remote TCP frame, and jog the axes. 5–7 5. JOGGING THE ROBOT MAROUHT9102171E REV F 5.7 Motion Groups A motion group is a group of axes that work together to perform motion. A motion group defines these groups of axes that can be used for independent pieces of equipment, positioning tables, and other devices. Since each motion group can have a maximum of nine axes, if your system contains more than nine axes, there is more than one group that controls motion. The robot is in Group 1. The robot controller can operate up to four full kinematics devices (robot mechanical units) in eight motion groups, for a total of up to 72 axes; however: • There is a maximum of nine axes in a single group. — Process Axis devices (ServoTorch, Dispense ISDT, etc.) are considered an axis with respect to the total number of axes, but they do not constitute a motion group. — Line tracking encoders are limited to 4 channels, but they are not considered axes with respect to the total number of axes. • non-robot motion groups of one to four axes can be defined. The maximum number includes extended axes such as General Positioner, Basic Positioner, and Independent Axis devices. — The Index axis device is one axis by definition and the Arc Positioner device is a two-axis motion group device. Neither of these can have additional axes installed. Up to 36 axes are supported on the Main CPU PCB. Up to 24 axes can be supported on each of the two optional Auxiliary Axis PCBs. Note Although this adds up to 84 axes, due to other constraints, the maximum number of axes is 72. Extended Axes One to three extended axes can be added to a motion group. The axes cannot be used independently of the motion group. Each extended axis adds a position data field (E1, E2, E3) to the motion group data. Group Mask 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 eight motion groups, but a maximum of four robot 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 GROUP key on the iPendant, or by using the FCTN menu, or by pressing the SHIFT and COORD keys. Use Procedure 5-3 to select groups and jog the axes. To change the group number, you can also use the jog menu. Refer to Procedure 5-1 . 5–8 MAROUHT9102171E REV F 5. JOGGING THE ROBOT 5.8 Jog Menu The jog menu provides a method to check and change the following jogging information: • Currently selected frame number of each frame (TOOL, JOG, USER) • Currently selected group number • Currently selected sub-group type (ROBOT/EXT) Jog Menu Modes of Operation The jog menu has two modes of operation: AutoClose and Sticky. • In AutoClose mode the jog menu operates as it has in the past. To change an item, press a single numeric key on the Tool, Jog, User or Group lines. The item will change and the menu will close. AutoClose is the default when nine User Frames or ten Tool Frames are configured. The (.=10) on the Tool line indicates that AutoClose mode is active. The dot (“.”) key is interpreted as entering 10. This allows you to set the Tool Frame to 10 in AutoClose mode. • In Sticky mode you can make multiple entries. You must close the menu when done. In Sticky Mode, the < > characters indicate that a number is being entered but has not been applied yet. In the following example screen the jog menu is displayed on a controller with two motion groups. Tool Jog User Group 14 3 55 2 In Sticky Mode with Tool selected, when you press 2 you will see a display similar to the following: Tool Jog User Group <2> 3 55 2 The < > symbols show that the number is being entered but has not yet been applied. When you press another number key, for example 3, the display will show <23>. You can accept this entry by — pressing any one of ENTER, COORD, PREV, or a function Key. This will close the jog menu. — pressing the up or down arrow. This will accept the entry, move the cursor to the item above or below, and keep the jog menu displayed. 5–9 5. JOGGING THE ROBOT MAROUHT9102171E REV F You can edit a number before it has been accepted: — pressing Back Space will remove the last number you entered. — pressing Back Space again will remove the next to last number you entered. In the example above, when <23> is displayed, after you press Back Space the <2> will remain. Pressing backspace again will remove the 2 and display the original number 14 without the < > characters. Sticky mode is the default mode when more than nine User Frames or ten Tool Frames are configured. If nine User Frames or ten Tool Frames are configured, you can enter Sticky mode by pressing ENTER. The (.=10) missing from the Tool line indicates that Sticky mode is active. Use Procedure 5-1 to display and use the jog menu. Procedure 5-1 Using the Jog Menu Steps 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-253. • TOOL: 0–253. 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 Software Reference Manual and Software Installation Manual for more information. 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. 6. To close the jog menu without entering a number, • Press SHIFT and COORD again. or • Press the PREV key. 7. To close the jog menu after you enter a number, 5–10 MAROUHT9102171E REV F 5. JOGGING THE ROBOT • in Auto Close mode: If fewer than nine UFrames or ten TOOL Frames are configured, the jog menu closes automatically after you enter a frame or group number. • in Sticky Mode: If more than nine UFrames or ten TOOL Frames are configured, you can close the jog menu by pressing any one of ENTER, COORD, PREV, or a function Key. 5.9 Extended Axes and Sub-Groups 5.9.1 Overview Overview 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. • One to three extended axes can be added to a motion group. The axes cannot be used independently of the motion group. • Each extended axis adds a position data field (E1, E2, E3) to the motion group data. • Process Axis devices (ServoTorch, Dispense ISDT, etc.) are considered an axis with respect to the total number of axes, but they do not constitute a motion group. Extended axes become a sub-group of the motion group to which they belong. There are eight jog keys on the R-30iB Plus ipendant. You can jog all robot axes and extended axes for a total of eight axes. For robots with five axes, you can jog all robot axes and all the extended axes available by using jog keys J7 and J8. For a robot with six axes, you can jog all robot axes and two additional extended axes by using jog keys J7 and J8. If your configuration is a 6 axis robot with 3 extended axes, you can jog the third extended axis using sub-group jogging. You can jog all the extended axes with sub-group. To jog the extended axes in a sub-group, you must first select the sub-group using the FCTN menu. Or, you can press the GROUP key to toggle it to sub-group. 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% For example, if the sub-group controls axes 7, 8 and 9, select the sub-group and then refer to Table 5–4 . 5–11 5. JOGGING THE ROBOT MAROUHT9102171E REV F Table 5–4. SubGroup Example For Axis Number Use Jog Keys 7 +X, -X 8 +Y, -Y 9 +Z, -Z 5.9.2 J7 and J8 Jog Keys The J7, J8 jog keys can be used for jogging in the following applications: • Extended axis • Positioner • Servo Gun axis Using the J7 and J8 Keys to Jog Extended Axes When the robot group has extended axes, the J7 and J8 keys can be used to jog these extended axes without any additional setup. For example, when a robot group has 6 axes and 3 extended axes, J7 will jog the first extended axis, and J8 will jog the second extended axis. To jog the third extended axis, you have to switch to sub group to jog it. When a robot group has 5 axes and 3 extended axes, J6 will jog the first extended axis, J7 will jog the second extended axis, and J8 will jog the third extended axis. For a system with a 6 axes, robot group and 2 extended axes, the position display page appears as follows: POSITION Joint Tool: 1 J1: 180.000 J2: 24.637 J3: J4: 66.560 J5: -18.600 J6: E1: 998.995 E2: 0.000 J2/J3 Interaction: -5.751 -30.388 -69.385 Using the J7 and J8 Keys to Jog a Positioner Axis To use the J7 and J8 jog keys to jog a positioner axis, you need to define the mapping of each key to a specific axis of the positioner. Use Procedure 5-2 to perform the setup. Procedure 5-2 Assigning J7 and J8 to Jog a Positioner Axis 1. Press MENU. 2. Select System. 3. Press F1, [TYPE]. 5–12 MAROUHT9102171E REV F 5. JOGGING THE ROBOT 4. Select item CONFIG. You will see a screen similar to the following. This menu can be used to set up the mapping. System/Config 49/49 39 40 41 42 43 44 45 46 47 48 49 Set when prompt displayed: DO[ 0] Output when WAIT on Input:<*DETAIL*> Signal if OVERRIDE = 100 DO[ 0] Hand broken : <*GROUPS*> Remote/Local setup: OP panel key External I/O(ON:Remote):DI [ 0] UOP auto assignment: None Multi Program Selection: TRUE WAIT at Taught Position: FALSE Brake control ECO mode: FALSE J7, J8 Jog Key : <*DETAIL*> [ TYPE ] 5. To display the SYSTEM/CONFIG menu again, press PREV. 6. To map J7 to the first axis of positioner axis, and J8 to the second axis of positioner axis in a system that has an R-2000iB/165F as group 1 , and 2 axes positioner as group 2 for example, perform the following: a. Map J7 to the first axis of positioner axis by changing item 1, J7 Group from 1 to 2. The menu display for robot group description will change from R-2000iB/165F to GEN_POS. b. Change item 2, J7 Axis, from 0 to 1 System/Config J7, J8 Jog Keys Group: 1 2 3 4 5 6 J7 Group J7 Axis J7 Label J8 Group J8 Axis J8 Label [ TYPE ] : : : : : : 1 R-2000iB/165F 2 0 ‘’ 1 0 ‘’ GEN_POS R-2000iB/165F GROUP c. Map J8 to the 2nd axis of positioner axis by changing item 4, J8 Group, from 1 to 2. The menu display for robot group description will change from R-2000iB/165F to GEN_POS. d. Change item 5, J8 Axis, from 0 to 2 5–13 5. JOGGING THE ROBOT MAROUHT9102171E REV F System/Config J7, J8 Jog Keys Group: 1 2 3 4 5 6 J7 Group J7 Axis J7 Label J8 Group J8 Axis J8 Label 1 : : : : : : R-2000iB/165F 2 1 ‘’ 2 2 ‘’ [ TYPE ] GEN_POS GEN_POS GROUP e. If you display the position display menu, additional J7, J8 Keys mapping and position information of the mapping axis will be displayed as follows. POSITION Joint J1: J4: 0 Tool: 1 180.000 J2: 66.560 J5: 24.637 J3: -18.600 J6: J2/J3 Interaction: -30.388 -69.385 -5.751 (J7) G2 / J1 (J8) G2 / J2 986.119 180.000 Note If you have multiple panes displayed, the position display will not reflect your changes on the other pane until you either exit and re-enter position display, or change display coordinate (such as from JOINT to WORLD or USER). f. Step 4 ( Optional ). This step allow you to change description of J7, J8 mapping from default ( Gx / Jy ) to your own label • Change the J7 label to Table axis 1 as shown below. System/Config J7, J8 Jog Keys Group: 1 2 3 4 5 6 J7 Group J7 Axis J7 Label J8 Group J8 Axis J8 Label [ TYPE ] 5–14 : : : : : : 1 R-2000iB/165F 2 1 ‘Table axis 1’ 2 2 ‘’ GROUP GEN_POS GEN_POS MAROUHT9102171E REV F 5. JOGGING THE ROBOT • Change the J8 label to Table axis 2 as shown below. System/Config J7, J8 Jog Keys Group: 1 2 3 4 5 6 J7 Group J7 Axis J7 Label J8 Group J8 Axis J8 Label 1 : : : : : : R-2000iB/165F 2 1 ‘Table axis 1’ 2 2 ‘Table axis 2’ [ TYPE ] POSITION Joint J1: J4: GEN_POS GEN_POS GROUP 0 Tool: 1 180.000 J2: 66.560 J5: 24.637 J3: -18.600 J6: J2/J3 Interaction: -30.388 -69.385 -5.751 (J7) Table axis 1 (J8) Table axis 2 986.119 180.000 Note In a multiple group system, each group has its own mapping for the J7, and J8 keys. When you toggle groups in a multiple group system, the J7, and J8 keys automatically switch to the mapping of the toggled group. You can use F3, GROUP to switch to “J7, J8 Jog Keys” setup menu for a different group. For example, in a system with an R-2000iB/165F as group 1, M-20iA/10L as group 3, and positioner as group 2. If you press F3, GROUP and select 3, the display will change to be similar to the following. System/Config J7, J8 Jog Keys Group: 1 2 3 4 5 6 J7 Group J7 Axis J7 Label J8 Group J8 Axis J8 Label [ TYPE ] : : : : : : 1 M-20iA/10L 3 0 ‘’ 3 0 ‘’ M-20iA/10L M-20iA/10L GROUP 5–15 5. JOGGING THE ROBOT MAROUHT9102171E REV F Note You can follow the steps described above to set up mapping of the J7, and J8 jog keys for an M-20iA/10L. You can disable the J7 jog key by setting item 2, J7 axis, to 0. You can disable the J8 jog key by setting item 5, J8 axis, to 0. When the J7 key is disabled, the position display for J7 will not be shown. When the J8 key is disabled, the position display for J8 will not be shown. Using the J7 and J8 Keys to Jog the Servo Gun Axes Please refer to the Servo Gun Function Operator's Manual for details. You can change the following system variables directly to map the J7 and J8 keys to jog a certain software axis. Refer to Table 5–5 . Table 5–5. $JOG_GROUP[] System Variables System Variable in $JOG_GROUP[] Type Description $J7_GROUP INTEGER The group number that J7 is mapped to. $J7_AXIS INTEGER The axis number that J7 is mapped to. $_GROUP INTEGER The group number that J8 is mapped to. $J8_AXIS INTEGER The axis number that J8 is mapped to. $J7_LABEL STRING[15] This is an optional string for the Position Display Screen. If this string is empty, on the Position Display Screen will show Gx/Ay next to (J7) line. If this string is set, its contents will replace Gx/Ay. $J8_LABEL STRING[15] This is an optional string for the Position Display Screen. If this string is empty, on the Position Display Screen will show Gx/Ay next to (J8) line. If this string is set, its contents will replace Gx/Ay. $DSB_J7J8 BOOLEAN When the value is TRUE, both J7 and J8 key will be disabled. $DSBL_KEY[1–6] BOOLEAN When the value is TRUE, the specified jog key will be disabled. 5.10 Incremental Jogging The Incremental Jog function allows the operator to specify the distance to jog the robot when the jog key is pressed. When this function is enabled, the step width currently selected is displayed under the speed override screen display. The display shown in Figure 5–3 indicates that the robot moves at 10mm per step in Linear jog and each axis rotates at 1 deg per step in Joint jog. 5–16 MAROUHT9102171E REV F 5. JOGGING THE ROBOT To change the step width, press the COORD key while holding down [SHIFT] key. The list of available step widths is displayed. Select the desired step width. Note When Continuous is selected, the jogging behavior is the same as when this function is disabled. Figure 5–3. Incremental Jog Distance Display 5.11 Jogging the Robot and Other Axes You can use the iHMI Guide tutorials to learn how to perform this procedure. You can use iHMI Guides to perform a similar procedure. Use Procedure 5-3 to select sub-groups and jog the robot and other axes. 5–17 5. JOGGING THE ROBOT MAROUHT9102171E REV F Procedure 5-3 Jogging the Robot and Other Axes Condition • All personnel and unnecessary equipment are out of the workcell. • All EMERGENCY STOP faults have been cleared. Refer to Section 9.2 . • 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 Caution Use of the JOINT motion mode with the F-200i series robots can cause damage to the robot. Jogging the F-200i series robot in JOINT is only permissible when single axis mastering. 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, as shown below. 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. Hold the teach pendant and continuously press the DEADMAN switch on the back of the teach pendant. 5–18 MAROUHT9102171E REV F 5. JOGGING THE ROBOT 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. 3. Turn the teach pendant ON/OFF switch to the ON position. 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. 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. Figure 5–4. 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% 5–19 5. JOGGING THE ROBOT MAROUHT9102171E REV F c. To de-select a sub-group press FCTN, move the cursor to TOGGLE SUB-GROUP, and press ENTER. 6. 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% 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. 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% 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. 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. 5–20 MAROUHT9102171E REV F PROGRAM NAME 5. JOGGING THE ROBOT S TOOL 25% 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. Caution Use of the JOINT motion mode with the F-200i series robots can cause damage to the robot. Jogging the F-200i series robot in JOINT is only permissible when single axis mastering. 9. 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. 5–21 5. JOGGING THE ROBOT MAROUHT9102171E REV F 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. 10. When you are finished jogging, turn the teach pendant ON/OFF switch to OFF, and release the DEADMAN switch. 5.12 Jogging the Robot without the Teach Pendant Refer to the “Advanced iPendant Functions” chapter of the Internet Options Manual for more information. 5–22 Chapter 6 FRAMES Contents Chapter 6 6.1 6.2 6.3 6.4 6.5 6.6 6.6.1 6.6.2 6.6.3 6.7 6.7.1 6.7.2 6.7.3 6.8 6.8.1 6.9 6.9.1 6.9.2 6.10 6.10.1 6.10.2 6.11 6.12 FRAMES ............................................................................................. Frames Overview ................................................................................. How Frames are Used ............................................................................ Using the Right-Hand Rule to Understand Robot Frames ..................... Frame Types .......................................................................................... World Frame .......................................................................................... Tool Frame ............................................................................................. Tool Frame General Information ............................................................ Setting Up a Tool Frame ........................................................................ Selecting a Tool Frame ...................................................................... User Frame .......................................................................................... Overview .............................................................................................. Setting Up a User Frame ...................................................................... Selecting a User Frame ........................................................................ Remote TCP Frame .............................................................................. Setting Up a Remote TCP Frame ........................................................ Jog Frame ............................................................................................ Setting Up Jog Frame ........................................................................ Selecting a Jog Frame ....................................................................... Cell Frame and Cell Floor .................................................................... Cell Frame Setup ................................................................................. Cell Floor Setup ................................................................................... Saving Frame Data .............................................................................. Frame Visualization ............................................................................. 6–1 6–2 6–2 6–4 6–5 6–5 6–6 6–6 6–9 6–35 6–37 6–37 6–39 6–57 6–58 6–58 6–68 6–68 6–78 6–79 6–80 6–85 6–85 6–87 6–1 6. FRAMES MAROUHT9102171E REV F 6.1 Frames Overview A 3D Cartesian coordinate system is a set of three planes at right angles to each other. The point at which all three planes intersect is the origin of the system. FANUC typically refers to such a system as a Frame. In the robot system, the intersecting edges of the planes are the X, Y, and Z axes of the frame. See Figure 6–1 . Figure 6–1. Cartesian Coordinate System Note If you are using PalletTool, your gripper might be set up differently than the one shown in the illustrations in this section. The orientation of the gripper depends on how the pneumatics of the gripper are set up. For example, if you are palletizing very large boxes, your gripper might be mounted perpendicularly to what is shown in the illustrations. Caution Do not set up or alter frames when you use PalletTool. Frames are automatically set up for you by PalletTool. 6.2 How Frames are Used Frames are used to describe the location and orientation of a position in three-dimensional space. 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 are 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, in the robot, are measured in millimeters from the origin in the X, Y, and Z directions. For example, 1000,500,500 means the 6–2 MAROUHT9102171E REV F 6. FRAMES position is 1000mm in the X direction, 500mm in the Y direction, and 500mm in the Z direction from the origin. See Figure 6–2 Figure 6–2. Position Relative to a Frame The orientation of a robot position is measured in degrees of rotation about the X, Y, and Z axes. For example, 0,45,0 means that the position is rotated +45 degrees about the Y axis and is not rotated about the X or Z axes. See Figure 6–3 Figure 6–3. Rotated Position Moving the Location and Orientation of a Frame You can move the location and orientation of any frame except the world frame. When you move the location or orientation of a frame, all positions recorded with that frame also move. However, the location of those positions will stay the same within that frame. See Section 6.7 for the default location of the user frame. 6–3 6. FRAMES MAROUHT9102171E REV F Caution If you change any TOOL or USER frame data after a program has been taught, you must reteach each program position or range. If you do not, damage could occur to the equipment. 6.3 Using the Right-Hand Rule to Understand Robot Frames In mathematics and physics, the right-hand rule is a common mnemonic to aid in understanding three-dimensional vector relationships. In robotics, with proper positioning of the hand, the right-hand rule can also be used in remembering which direction each frame vector should be pointing. FANUC’s use of the right-hand rule assigns the X-vector to the index finger, the Y-vector to the middle finger, and the Z-vector to the thumb as shown in Figure 6–4 . If the right hand is positioned with the index finger pointing toward the front of the robot (usually opposite of the base cables) the X, Y, and Z of the World frame can easily be recalled as illustrated in Figure 6–5 . Figure 6–4. Right-hand Rule 6–4 MAROUHT9102171E REV F 6. FRAMES Figure 6–5. World Positive X, Y, and Z Vector Directions 6.4 Frame Types The robot uses five kinds of frames. The different kinds of frames make it easier to perform certain tasks. The kinds of frames are: • World frame - the default frame of the robot • Tool frame - a user-defined frame • User frame - a user-defined frame • Jog frame - a user-defined frame • Cell frame - a user-defined frame The Cell Floor is also set up under this menu item. It is only used to place the picture of the floor in the 3D display. 6.5 World Frame The world frame is a default frame of the robot and cannot be changed. It is the basis for all taught positions and all taught frames within the robot. On most FANUC serial-link robots, the origin of World frame is typically designated as the intersection of the center of the robot base with a plane at the level of the motor controlling joint 2. This origin, along with the X, Y, and Z directions, is illustrated in Figure 6–6 . Robot positions that reference the World frame reflect the position of the robot’s Tool Center Point (TCP) in X,Y,Z,W,P, and R relative to the origin of this frame. 6–5 6. FRAMES MAROUHT9102171E REV F See Figure 6–6 for an example. Your robot might be different depending on your system. Figure 6–6. World Frame 6.6 Tool Frame 6.6.1 Tool Frame General Information Tool frame is used to describe the orientation and location of the physical tool on the robot. By default, the tool frame has its origin at the robot faceplate. 6–6 MAROUHT9102171E REV F 6. FRAMES Figure 6–7. Tool Frame Origin Default Location When you set up a Tool frame (sometimes referred to as the User Tool or UTool), you move the default Tool frame origin from the robot faceplate (see Figure 6–7 ) to the point on the applicator, gun, torch, or tool at which the painting, welding, sealing, handling, or other application work is to be done (see Figure 6–8 ). The tool frame origin is often referred to as the Tool Center Point (TCP). Figure 6–8. Tool Frame Origin Moved to the End of the Tool Notice the angle of the tool frame axes (X, Y, and Z) did not change between Figure 6–7 and Figure 6–8 since the shape of the tool did not require any such change. If, however, the tool has an angle to it, we may want to adjust the angle of X, Y, and Z of the tool frame to reflect this (see Figure 6–9 ). 6–7 6. FRAMES MAROUHT9102171E REV F Figure 6–9. Tool Frame Adjusted to Accommodate Angled Tool Things to keep in mind when using tool frames. • Before you use tool frame, you must set up its location and orientation. • The controller allows you to set up many different tool frames for each robot. The default number is ten, but you can configure the controller for up to 253 tool frames. They will be stored in the system variable $MNUTOOL. • You can select only one tool frame at a time to be active. The frame number will be stored in the system variable $MNUTOOLNUM. • You can jog the robot in the active tool frame. • If a system uses different end-of-arm-tooling (EOAT), each tool will need a different tool frame. By setting up a different tool frame for each tool, the existing program points will be valid, regardless of the tool used. Table 6–1 lists the tool frame setup items and function key operations. Table 6–1. Tool Frame Setup Screen Items ITEMS DESCRIPTION Tool Frame Setup/xxxx This line shows the current selected method for setting each tool frame. Frame number 1-10 These lines show the current position and comment for each available tool frame. X This column shows the coordinate of each tool frame. Y This column show the coordinate of each tool frame. Z This column show the coordinate of each tool frame. 6–8 MAROUHT9102171E REV F 6. FRAMES ITEMS DESCRIPTION Comment This column shows the comment for each tool frame. Active TOOL $MNUTOOLNUM[1] = 1 This line indicates which tool frame is currently selected for use. [TYPE] Press this key to access various application-specific options. DETAIL Press this key to display detailed information for each tool frame and to set the definition and comment of each tool frame. OTHER Press this key to select one of the other available reference frames or to choose the motion group for the frame you are setting up (in systems with multiple motion groups). CLEAR To set the numerical values of any tool frame to zero, move the cursor to the frame number, press CLEAR and answer YES to the prompt. SETIND To select the tool frame to use, press F5, SETIND, type the number of the tool frame you want, and press ENTER. This sets the active tool frame ($MNUTOOLNUM[1]) to the number of the frame you want. If F5, SETIND, is not displayed, press PREV. 6.6.2 Setting Up a Tool Frame You can use the following standard methods to define the tool frame: • Two Point +Z method • Three Point method • Four Point method • Six Point (XZ) method • Six Point (XY) method • Direct Entry method Note If you have a 4-axis robot, you can define a tool frame using only the two point +Z or the direct entry method. If a system uses different end-of-arm-tooling (EOAT), each tool will need a different tool frame. By setting up a different tool frame for each tool, the existing program points will be valid, regardless of the tool used. 6.6.2.1 Two Point +Z Method This function can set TCP for robots which can not tilt their tools to the XY plane in the world frame (i.e. 4 axes robots). Teach the approach point 1 and 2 with the tool touching a certain fixed point from two different approach statuses. X and Y values are calculated from these two approach points. You can measure the Z value with a ruler, etc. and input the Z value directly. Also, enter the W, P, and R values directly. (However, input 0 for all three values when the direction of the flange and the direction of the tool attitude are same.) 6–9 6. FRAMES MAROUHT9102171E REV F Procedure 6-1 Setting Up Tool Frame Using the Two Point +Z Method You can use iHMI Guides to perform a similar procedure. 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. 1. Press MENU. 2. Select SETUP 3. Press F1, [TYPE]. 4. Select Frames. 5. Display the tool frame list screen. The tool frame list screen may show right away, or you may need to press F3, [OTHER] and choose Tool Frame. SETUP Frames Tool Frame / Direct Entry X Y Z Comment 1 100.0 0.0 120.0 [TOOL1 ] 2 200.0 0.0 255.5 [TOOL2 ] 3 0.0 0.0 350.0 [TOOL3 ] 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 [ ] 10 0.0 0.0 0.0 [ ] Active TOOL $MNUTOOLNUM [G:1] = 1 4/10 6. Move the cursor to the tool frame number line you want to set. 7. Press F2, DETAIL. The tool frame setup screen of the selected frame number is displayed. 8. Press F2, METHOD. 9. Select Two Point + Z. The tool frame setup is displayed, and Z, W, P, and R contain present tool frame value. 6–10 MAROUHT9102171E REV F 6. FRAMES Figure 6–10. Tool frame setup screen (Two Point + Z) SETUP Frames Tool Frame Two Point + Z Frame Number: 4 X: 0.0 Y: 0.0 Z: 0.0 W: 0.0 P: 0.0 R: 0.0 Comment: ********************* Approach point 1: UNINIT Approach point 2: UNINIT Z: 0.000 W: 0.000 P: 0.000 R: 0.000 Active TOOL $MNUTOOLNUMN[1] = 1 1/7 10. Teach the approach point. a. Move the cursor to each approach point. b. Jog the robot to the position you want to record. c. Press and hold the SHIFT] key and press F5, RECORD to record the data of the current position as the reference position. Note If a reference point has already been taught, RECORDED is displayed. SETUP Frames Tool Frame Two Point + Z Frame Number: 4 X: 0.0 Y: 0.0 Z: 0.0 W: 0.0 P: 0.0 R: 0.0 Comment: TOOL4 Approach point 1: RECORDED Approach point 2: UNINIT Z: 0.000 W: 0.000 P: 0.000 R: 0.000 Active TOOL $MNUTOOLNUMN[1] = 1 2/7 Note • Set the flange (faceplate) upward or downward when teaching approach points. Also, match the orientation of flanges of the two approach points. • • Teach the approach point 1 and 2 at different locations. If the above mentioned conditions are not met, the message, “Invalid set of input points,” will be displayed on the coordinates screen. 11. After you teach all approach points, the description next to the approach points will be changed to USED and the tool frame will be calculated. 6–11 6. FRAMES MAROUHT9102171E REV F 12. Measure the Z value with a ruler, etc. and input the Z value directly. Also, input W, P, and R values directly. Note When Z, W, P, and R are input, X and Y are changed if all approach points are RECORDED. SETUP Frames Tool Frame Two Point + Z Frame Number: 4 X: -5.5 Y: 6.6 Z: 10.0 W: 0.0 P: 0.0 R: 0.0 Comment: TOOL4 Approach point 1: USED Approach point 2: USED Z: 10.000 W: 0.000 P: 0.000 R: 0.000 Active TOOL $MNUTOOLNUMN[1] = 1 2/7 13. To display the tool frame list screen, press [PREV] key. You can see the settings of all the tool frames. SETUP Frames Tool Frame / Two Point + Z X Y Z Comment 1 100.0 0.0 120.0 [TOOL1 ] 2 200.0 0.0 255.5 [TOOL2 ] 3 0.0 0.0 350.0 [TOOL3 ] 4 -5.5 6.6 10.0 [TOOL4 ] 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 [ ] 10 0.0 0.0 0.0 [ ] Active TOOL $MNUTOOLNUM [G:1] = 1 4/10 14. To make the set tool frame effective, press F5, SETIND, then enter the frame number. Caution 1 If you do not press F5, SETIND, the tool frame will not be effective. 2 After all coordinate systems are set, the setting information should be saved in external storage in case the information needs to be re-loaded. Otherwise, the current setting information would be lost when it is changed. Note To select the number of a coordinate system to be used, the jog menu can also be used. See Section 5.8 . 6–12 MAROUHT9102171E REV F 6. FRAMES 15. To delete the data of the set frame, move the cursor to the desired frame and press F4, CLEAR. You can select whether or not to clear its comment.. 6.6.2.2 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. Table 6–2. Tool Frame Setup Three Point DETAIL Screen Items ITEMS DESCRIPTION Frame number This line shows the number of the tool frame being defined. X, Y, Z, W, P, R These items show the current coordinates of the tool frame being defined. Comment This item is used to add a comment. Approach point 1 This item is used to define the first approach point. Approach point 2 This item is used to define the second approach point. Approach point 3 This item is used to define the third approach point. Active TOOL $MNUTOOLNUM[1] = 1 This line indicates which tool frame is currently selected for use. [TYPE] Press this key to access various application-specific options. [METHOD] Press this key to select a method of entry. [FRAME] Press this key to select a frame. MOVE_TO Press this key to move to a recorded position. Move the cursor to the desired point and press MOVE_TO along with the SHIFT key. RECORD Press this key along with the SHIFT key to record a position. Procedure 6-2 Setting Up Tool Frame Using the Three Point Method You can use iHMI Guides to perform a similar procedure. 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. 6–13 6. FRAMES MAROUHT9102171E REV F Caution Do not set up or alter frames when you use PalletTool. Frames are automatically set up for you by PalletTool. Note If you have a 4-axis robot (such as an A-520i or M-410iHS/iHW), you can define a tool frame using only the direct entry method or the two point +Z method. Steps 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. On the iPendant, you can press 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. 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. 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. Refer to the Software Reference Manual for more information. 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. 6–14 MAROUHT9102171E REV F 6. FRAMES Warning Do not run a KAREL program that includes motion statements. 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. 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 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: **************** Approach point 1: UNINIT Approach point 2: UNINIT Approach point 3: UNINIT 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. 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. 14. Record the first approach point (Approach Point 1): 6–15 6. FRAMES MAROUHT9102171E REV F 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. 15. Record the second approach point (Approach Point 2): a. Move the cursor to Approach point 2. b. Rotate the faceplate at least 90° (but no more than 360°) about the z axis of the tool coordinates. c. Jog the robot so that the tool tip touches the reference point used in Step 14 . d. Press and hold the SHIFT key and press F5, RECORD. 16. Record the third approach point (Approach Point 3): 6–16 MAROUHT9102171E REV F 6. FRAMES a. Move the cursor to Approach point 3. b. Rotate the tool about either the x or Y axis of the tool coordinates. c. Jog the robot so that the tool tip touches the reference point used in Step 14 . d. Press and hold the SHIFT key and press F5, RECORD. 17. 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. Refer to Section 5.8 for more information. 18. Jog the robot in the frame you just taught. • 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. • 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 19 . Warning When you use F4, MOVE_TO, to move the robot, unexpected motion can occur. This could injure personnel or damage equipment. 6–17 6. FRAMES MAROUHT9102171E REV F 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 tool frame screen. i. Press FCTN. j. Select SAVE. This will save the frame positions and comments for all frames to the file FRAMEVAR.VR, and the frame data to SYSFRAME.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. This is optional since frame variables are saved in SYSFRAME.SV. 6.6.2.3 Four Point Method Use the four point method to define the precise location of the tool frame by utilizing the feedback provided by this method on how well the approach positions are taught. This method requires four approach points to be taught with the tool touching a common point from four different approach positions. This method indicates the approach position with maximum TCP error so that user can correct that position and re-compute the tool frame. This will reduce the effect of user’s teaching errors incorporated in the computation of the tool frame. Adjust and re-teach the approach positions that are slightly off iteratively until the tool frame computed is of desired accuracy on the basis of the TCP error feedback. Note The four point method of defining the tool frame always places the +Z direction of the frame outward from the faceplate. 6–18 MAROUHT9102171E REV F 6. FRAMES Table 6–3. Tool Frame Setup Four Point DETAIL Screen Items ITEMS DESCRIPTION Frame number This line shows the number of the tool frame being defined. X, Y, Z, W, P, R These items show the current coordinates of the tool frame being defined. Comment This item is used to add a comment. Approach point 1 This item is used to define the first approach point. Approach point 2 This item is used to define the second approach point. Approach point 3 This item is used to define the third approach point. Approach point 4 This item is used to define the fourth approach point. Mean error Mean TCP error of the four approach positions.Mean error gives an indication of how much the four approach positions deviate. A value of ****** indicates that it is uninitialized. Max. error Max.TCP error of the approach positions; the approach position corresponding to the max. error is also indicated. A value of ****** indicates that it is uninitialized. Active TOOL $MNUTOOLNUM[1] =1 This line indicates which tool frame is currently selected for use. [TYPE] Press this key to access various application-specific options. [METHOD] Press this key to select a method of entry. [FRAME] Press this key to select a frame. MOVE_TO Press this key to move to a recorded position. Move the cursor to the desired point and press MOVE_TO along with the SHIFT key. RECORD Press this key along with the SHIFT key to record a position. Procedure 6-3 Setting Up Tool Frame Using the Four Point Method You can use iHMI Guides to perform a similar procedure. 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. 6–19 6. FRAMES MAROUHT9102171E REV F Warning Do not use the four point method if you are using weaving, Thru-Arc Seam Tracking (TAST), coordinated motion, or TorchMate. When you use these features, you must use the six point method or the direct entry method to define the tool frame. Failure to do so can cause injury to personnel or damage to equipment. 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. 7. To display the settings for all frames, press PREV repeatedly until you see a screen similar to the following. SETUP Frames Tool Frame 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 TOOL $MNUTOOLNUM[1]=1 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 Four Point. You will see a screen similar to the following. 6–20 MAROUHT9102171E REV F 6. FRAMES SETUP Frames Tool Frame Setup / Four PT Tool Frame Number: 1 X: 0.0 Y: 0.0 Z: 0.0 W: 0.0 P: 0.0 R: 0.0 Comment: **************** Approach point 1: UNINIT Approach point 2: UNINIT Approach point 3: UNINIT Approach point 4: UNINIT Mean Error: ******* mm Max. Error: ******* mm at point[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. c. Press the appropriate function keys to enter the comment. d. When you are finished, press ENTER. Note Record the four approach points with the tool tip touching the same point from four different approach directions. 14. Record the first approach point: a. Move the cursor to Approach point 1. b. Jog the robot, in the WORLD coordinate system, so that the tool tip touches a reference point. c. Press and hold the SHIFT key and press F5, RECORD. 15. Record the second approach point: 6–21 6. FRAMES MAROUHT9102171E REV F 2 REF. POINT a. Move the cursor to Approach point 2. b. Jog the robot in WORLD so that the tool tip moves away from the reference point. Either jog axis 4 and/or 5 in JOINT or rotate TCP about WORLD +x, WORLD +y and/or WORLD +z so that the tool has a significantly different approach angle from approach point1. c. Jog the robot, in the WORLD coordinate system, so that the tool tip touches the reference point used in Step 14 . d. Press and hold the SHIFT key and press F5, RECORD. 16. Record the third approach point: a. Move the cursor to Approach point 3. b. Jog the robot in WORLD so that the tool tip moves away from the reference point. Jog axis 4 and/or 5 in JOINT or rotate TCP about WORLD +x, WORLD +y and/or WORLD +z so that the tool has a significantly different approach angle from approach points, 1 and 2. c. Jog the robot, in the WORLD coordinate system, so that the tool tip touches the reference point used in Step 14 . d. Press and hold the SHIFT key and press F5, RECORD. 17. Record the fourth approach point: 6–22 MAROUHT9102171E REV F 6. FRAMES 4 REF. POINT a. Move the cursor to Approach point 4. b. Jog the robot in WORLD so that the tool tip moves away from the reference point. Jog axis 4 and/or 5 in JOINT or rotate TCP about WORLD +x, WORLD +y and/or WORLD +z so that the tool has a significantly different approach angle from approach points, 1, 2 and 3. c. Jog the robot, in the WORLD coordinate system, so that the tool tip touches the reference point used in Step 14 . d. Press and hold the SHIFT key and press F5, RECORD. 18. The Four Point Method of teaching tool frame is now complete. 19. You will see the message, “New position calculated” and the tool frame computed will be displayed along with the mean and max. errors of all four approach points. 20. If the mean and max. TCP errors are within desired limits, the new tool frame is ready to use. 21. If the user wants better accuracy, correct the approach position corresponding to max. error and re-compute the tool frame. a. Move the cursor to the Approach point indicated as having the max. error. b. Press and hold the SHIFT key and press F4, MOVE_TO. c. Adjust the position to correct any positional errors. d. Press and hold the SHIFT key and press F5, RECORD to record the new approach position. e. Tool frame is computed again. f. Repeat Step 21 if more accuracy is needed. Note If the mean error does not decrease after re-teaching the point with max. error, do not proceed any further. At this point the mean error is attributed to inaccuracies in mastering or calibration and not due to user error in teaching. 6–23 6. FRAMES MAROUHT9102171E REV F Note If the mean error decreases after re-teaching the point with max. error, it implies that the user error in teaching was corrected in the subsequent tool frame calculation. Caution The TCP errors are calculated based on the recorded positions. It provides a guideline for the user to iteratively improve the accuracy of the recorded positions. The error measures are reasonable only when one of the four positions recorded is slightly off. When two or more recorded positions are inaccurate and deviate more from the reference position, the error feedback may not be accurate. When the difference between max. and mean errors is not significantly large, more than one recorded positions deviate from the reference position. Caution When the mean error is very small, it is possible that three of the four recorded positions are inaccurate (relatively speaking) resulting in the correct position having the largest deviation from the mean. Using a precise tool and a reference point for teaching should overcome this. 22. If the approach angles of the input positions are redundant, you will see the message, “Invalid set of input points”. Clear the frame data and then repeat the teaching procedure. 23. To clear the tool frame, move the cursor to the frame number and press F4, CLEAR. 24. If there isn't sufficient memory space required for the tool frame computation, you will see the message “Insufficient memory for computing Utool”. The four point method cannot be used in this case and a different teaching method should be used to compute the tool frame. 25. 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. 26. Jog the robot in the tool frame you just taught. • If the TCP is correct, it will remain stationary during rotational moves. Caution The four point error corrects significant errors on the user’s part while teaching the reference points and do not correct position error attributed to inaccuracies in robot calibration. The accuracy of the final tool frame computed is limited by the accuracy of the robot. Caution Only the tool frame and the approach positions are saved in the SYSFRAME.SV file. The mean and max. errors are not permanently saved in the system. If you navigate to a different frame (F3) or change the method of teaching (F2), the mean and max. errors will be cleared and will be displayed as uninit in the TP screen. 6–24 MAROUHT9102171E REV F 6. FRAMES 6.6.2.4 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 the location of the tool center point. There are two variations of the six point method — XZ and XY. Use XZ when it is easier for you to record a point in the +z direction. Use the XY when it is easier for you to record a point in the +y direction. Table 6–4. Tool Frame Setup Six Point DETAIL Screen Items ITEM DESCRIPTION Frame number This line shows the number of the tool frame being defined. X, Y, Z, W, P, R These items show the current coordinates of the tool frame being defined. Comment This item is used to add a comment. Approach point 1 This item is used to define the first approach point. Approach point 2 This item is used to define the second approach point. Approach point 3 This item is used to define the third approach point. Orient Origin Point This item is used to define the reference point of the user frame. X direction Point This item is used to define the +X direction point. Z or Y Direction Point This item is used to define the +z or +y direction point. Active TOOL $MNUTOOLNUM[1] = 1 This line indicates which tool frame is currently selected for use. [TYPE] Press this key to access various application-specific options. [METHOD] Press this key to select a method of entry. [FRAME] Press this key to select a frame. MOVE_TO Press this key to move to a recorded position. Move the cursor to the desired point and press MOVE_TO along with the SHIFT key. RECORD Press this key along with the SHIFT key to record a position. Procedure 6-4 Setting Up Tool Frame Using the Six Point Method You can use iHMI Guides to perform a similar procedure. 6–25 6. FRAMES MAROUHT9102171E REV F 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), you can define a tool frame using only the direct entry method or the two point +Z method. Steps 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. If you have the new iPendant, you can press 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. 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 6–26 MAROUHT9102171E REV F 6. FRAMES Note The maximum number of tool frames is set in the system variable $SCR.$MAXNUMUTOOL. Refer to the Software Reference Manual for more information. 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. Warning Do not run a KAREL program that includes motion statements. 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. 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 Six Point (XZ). 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 Note The XZ variation of the six point method is described here. The XY variation is the same except a +y direction point is taught in instead of the +z direction point. 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. 6–27 6. FRAMES MAROUHT9102171E REV F 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. 14. Record the first approach point (Approach Point 1): 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. 15. Record the second approach point (Approach Point 2): a. Move the cursor to Approach point 2. b. Rotate the faceplate at least 90 (but no more than 180) about the z axis of the tool coordinates. c. Jog the robot so that the tool tip touches the reference point used in Step 14 . d. Press and hold the SHIFT key and press F5, RECORD. 16. Record the third approach point (Approach Point 3): 6–28 MAROUHT9102171E REV F 6. FRAMES a. Move the cursor to Approach point 3. b. Rotate the tool about either the x or Y axis of the tool coordinates. c. Jog the robot so that the tool tip touches the reference point used in Step 14 . d. Press and hold the SHIFT key and press F5, RECORD. 17. Define the orientation of the origin (Orient Origin Point): a. Move the cursor to Orient Origin Point. b. Jog the robot so that the desired tool +z axis is parallel to the z axis of the world frame, pointing in the -z direction. Make sure that the x axis of the tool is parallel to the x axis of the world frame. See Figure 6–11 . c. Press and hold the SHIFT key and press F5, RECORD. Figure 6–11. Defining the Orientation of the Origin 18. Define the +X direction point (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 the +X direction. For example, if the x axis of the tool is aligned with the world x axis, jog in the +X direction. Note To assist you in moving the tool in the +X direction, move the tool at least 250mm or more. d. Press and hold the SHIFT key and press F5, RECORD. 19. Define the +z direction point (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. 6–29 6. FRAMES MAROUHT9102171E REV F 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. 20. 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. Refer to Section 5.8 for more information. 21. Jog the robot in the frame you just taught. • If the TCP is correct, it will remain stationary during rotational moves. Go to Step 23 . 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 22 . Warning When you use F4, MOVE_TO, to move the robot, unexpected motion can occur. This could injure personnel or damage equipment. 22. To move to a recorded position, press and hold the SHIFT key and press F4, MOVE_TO. 23. 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. 6–30 MAROUHT9102171E REV F 6. FRAMES j. Select SAVE. This will save the frame positions and comments for all frames to the file FRAMEVAR.VR, and the frame data to SYSFRAME.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. This is optional since frame variables are saved in SYSFRAME.SV. 6.6.2.5 Tool Frame 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-5 to set up the tool frame using the direct entry method. Table 6–5. Tool Frame Setup Direct Entry DETAIL Screen Items ITEM DESCRIPTION Frame number This line shows the number of the tool frame being defined. Comment This item is used to add a comment. X This item is used to define the X component of the tool frame. Y This item is used to define the Y component of the tool frame. Z This item is used to define the Z component of the tool frame. W This item is used to define the W component of the tool frame. P This item is used to define the P component of the tool frame. R This item is used to define the R component of the tool frame. Configuration This line displays the current robot configuration. Active TOOL $MNUTOOLNUM[1] = 1 This line indicates which tool frame is currently selected for use. [TYPE] Press this key to access various application-specific options. [METHOD] Press this key to select a method of entry. [FRAME] Press this key to select a frame. Procedure 6-5 Setting Up Tool Frame Using the Direct Entry Method You can use iHMI Guides to perform a similar procedure. 6–31 6. FRAMES MAROUHT9102171E REV F 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. Caution Do not set up or alter frames when you use PalletTool. Frames are automatically set up for you by PalletTool. Note If you have a 4-axis robot (such as a SCARA), you can define a tool frame using only the direct entry method. Steps 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. If you have the new iPendant, you can press 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. 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. 6–32 MAROUHT9102171E REV F 6. FRAMES SETUP Frames Tool Frame G1 / Direct Entry 1/29 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. Refer to the Software Installation Manual and to the Software Reference Manual for more information. 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. Warning Do not run a KAREL program that includes motion statements. 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. 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. 6–33 6. FRAMES MAROUHT9102171E REV F SETUP Frames Tool Frame 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 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 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. Refer to Section 5.8 for more information. 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. 6–34 MAROUHT9102171E REV F 6. FRAMES 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.VR, and the frame data to SYSFRAME.SV 17. To Display the SYSTEM Variables menu (optional since data is saved in sysframe.sv), a. Press MENU. b. Select SYSTEM. c. Press F1, [TYPE]. d. Select Variables. e. Press FCTN. f. Select SAVE. The tool frame positions and system variables are saved in the SYSVAR.SV file, on the default device. 6.6.3 Selecting a Tool Frame Caution Do not set up or alter frames when you use PalletTool. Frames are automatically set up for you by PalletTool. Note You can also use the Jog Menu to select the number of the tool frame you want to use. Refer to Section 5.8 . Conditions • The tool frame you want to select has been set up. Steps 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–35 6. FRAMES MAROUHT9102171E REV F If you have the new iPendant, you can press 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. Warning Do not run a KAREL program that includes motion statements. 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 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 Note The maximum number of tool frames is set in the system variable $SCR.$MAXNUMUTOOL. Refer to the Software Reference Manual for more information. 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. Refer to Section 5.8 for more information. 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. 6–36 MAROUHT9102171E REV F 6. FRAMES Refer to Section 7.20 for more information on the UTOOL_NUM instruction. 6.7 User Frame 6.7.1 Overview User frame is the reference frame for all recorded positional data in a program. As the name suggests, user frames are taught by the robot programmer, or user. More than one user frame can be taught, but only one can be active at a time. If you do not set up the location and orientation of the user frame before you create a program, the user frame will use World frame’s location and orientation. You can modify the user frame to offset the positions in the program easily. You can define this frame anywhere. Note If you are using the remote TCP option, you must define a user frame to be your remote TCP (RTCP) frame. Refer to the “Remote TCP Frame” section. Caution Recorded positions and position registers are affected by MNUFRAME, and MNUFRAME has an affect during playback. If you change MNUFRAME, any recorded positions and position registers will also change. Enabling $USEUFRAME The system variable $USEUFRAME defines whether the current value of $MNUFRAMENUM[group_no] will be assigned to the position's user frame when it is recorded or touched up. Note Changing the user frame number in one group does not change the user frame number of other groups. Caution When $USEUFRAME=FALSE, the user frame number is equal to 0 when you initially record positions and touch them up, regardless of the value of $MNUFRAMENUM[group_no]. When $USEUFRAME=TRUE, the position's user frame number is equal to the user frame defined by $MNUFRAMENUM[group_no] when you initially record positions and touch them up. You must also touch up positions with the position's user frame equal to the user frame defined by $MNUFRAMENUM[group_no]. Be sure to set the system variable $USEUFRAME properly. Otherwise, your program will not operate properly. 6–37 6. FRAMES MAROUHT9102171E REV F After you set up the user frame, you can change its location and orientation. Before you teach positions in a frame that is to move, change $USEUFRAME to TRUE and record the positions. All positions in a program recorded relative to that frame change with it. All positions are taught relative to the default user frame. Use the UFRAME_NUM program instruction to change the user frame. • The controller allows you to set up many different user frames for each robot. The default number is nine, but you can configure the controller for up to 61 user frames. They will be stored in the system variable $MNUFRAME. Refer to the Software Installation Manual for more information. • You can select one user frame per robot group to be active at a time. The frame number will be stored in $MNUFRAMENUM. • You can jog the robot in user frame. Caution Each time you create a program, set the current user frame number to a value between 1 and 9 ( Procedure 6-10 ). Do this even if you do not plan to use a user frame in the program, or if you want the user frame position to be zero (0,0,0,0,0,0). Otherwise, if the current user frame number is zero, a user frame set in that program will not work. Table 6–6. User Frame Setup Screen Items ITEM DESCRIPTION User frame setup/xxxx This line shows the current selected method for setting each user frame. Frame number 1-9 These lines show the current position and comment for each available user frame. X This column shows the X coordinate of each user frame. Y This column shows the Y coordinate of each user frame. Z This column shows the Z coordinate of each user frame. Comment This column shows the comment for each user frame. Active UFRAME $MNUFRAMENUM[1] = 0 This line indicates which user frame is currently selected for use. [TYPE] Press this key to access various application-specific options. DETAIL Press this key to display detailed information for each user frame and to set the definition and comment of each frame. OTHER Press this key to select one of the other available reference frames or to choose the motion group for the frame you are setting up (in systems with multiple motion groups). CLEAR To set the numerical values of any user frame to zero, move the cursor to the frame number, press CLEAR and answer YES to the prompt. 6–38 MAROUHT9102171E REV F 6. FRAMES SETIND 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. CLRIND Press this key if you want to clear the number of the user frame currently selected for use. See Figure 6–12 . Figure 6–12. World and User Frames 6.7.2 Setting Up a User Frame You can use three methods to define the user frame: • Three point method • Four point method • Direct entry method 6–39 6. FRAMES MAROUHT9102171E REV F 6.7.2.1 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). Table 6–7. User Frame Setup Three Point DETAIL Screen Items ITEM DESCRIPTION Frame number This line shows the number of the user frame being defined. X, Y, Z, W, P, R These items show the current coordinates of the user frame being defined. Comment This item is used to add a comment. Orient Origin Point This item is used to define the reference point of the user frame. X direction Point This item is used to define the +X direction point. Y Direction Point This item is used to define a point on the X-Y plane. Active UFRAME $MNUFRAMENUM[1] = 0 This line indicates which user frame is currently selected for use. [TYPE] Press this key to access various application-specific options. [METHOD] Press this key to select a method of entry. [FRAME] Press this key to select a frame. MOVE_TO Press this key to move to a recorded position. Move the cursor to the desired point and press MOVE_TO along with the SHIFT key. RECORD Press this key along with the SHIFT key to record a position. Procedure 6-7 Setting Up the User Frame Using the Three Point Method Caution Do not set up or alter frames when you use PalletTool. Frames are automatically set up for you by PalletTool. Conditions • The tool frame you want to select has been set up. ( Procedure 6-2 , Procedure 6-4 , or Procedure 6-5 ) 6–40 MAROUHT9102171E REV F 6. FRAMES 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. Steps 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. If you have the new iPendant, you can press 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. Warning Do not run a KAREL program that includes motion statements. 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. 6–41 6. FRAMES MAROUHT9102171E REV F 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: 0.0 Y: 0.0 Z: 0.0 W: 0.0 P: 0.0 R: 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) : 6–42 MAROUHT9102171E REV F 6. FRAMES a. Move the cursor to Orient Origin Point. b. Jog the robot TCP to the origin. In Figure 6–13 , the origin is labeled 1. c. Press and hold the SHIFT key and press F5, RECORD. Figure 6–13. Defining the Origin 15. Define the +X direction point (X direction Point) : a. Move the cursor to X direction Point. b. Jog the robot tool tip to a point along the +x-axis. In Figure 6–14 , this point is labeled number 2. c. Press and hold the SHIFT key and press F5, RECORD. 6–43 6. FRAMES MAROUHT9102171E REV F Figure 6–14. 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–15 , this point is labeled number 3. c. Press and hold the SHIFT key and press F5, RECORD. Figure 6–15. Defining the X-Y Plane 6–44 MAROUHT9102171E REV F 6. FRAMES 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. Refer to Section 5.8 for more information. 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 19 . Otherwise, 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. 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. 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.VR, and the frame data to SYSFRAME.SV, on the default device. Display the SYSTEM Variables menu, 6–45 6. FRAMES MAROUHT9102171E REV F 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. This is optional since frame variables are saved in SYSFRAME.SV. 6.7.2.2 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). Table 6–8. User Frame Setup Four Point DETAIL Screen Items ITEM DESCRIPTION Frame number This line shows the number of the user frame being defined. X, Y, Z, W, P, R These items show the current coordinates of the user frame being defined. Comment This item is used to add a comment. Orient Origin Point This item is used to define the reference point of the user frame. X direction Point This item is used to define the +X direction point. Y Direction Point This item is used to define a point on the X-Y plane. System Origin This item is used to teach the origin of the second user frame. Active UFRAME $MUFRAMENUM[1] = 0 This line indicates which user frame is currently selected for use. [TYPE] Press this key to access various application-specific options. [METHOD] Press this key to select a method of entry. [FRAME] Press this key to select a frame. MOVE_TO Press this key to move to a recorded position. Move the cursor to the desired point and press MOVE_TO along with the SHIFT key. RECORD Press this key along with the SHIFT key to record a position. 6–46 MAROUHT9102171E REV F 6. FRAMES Procedure 6-8 Setting Up User Frame Using the Four Point Method Caution Do not set up or alter frames when you use PalletTool. Frames are automatically set up for you by PalletTool. 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. Steps 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. If you have the new iPendant, you can press 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. Warning Do not run a KAREL program that includes motion statements. 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 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. 6–47 6. FRAMES MAROUHT9102171E REV F 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. 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: 0.0 W: 0.0 P: 0.0 R: 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. 6–48 MAROUHT9102171E REV F 6. FRAMES 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–16 , the origin is labeled 1. c. Press and hold the SHIFT key and press F5, RECORD. Figure 6–16. Defining the Origin 15. Define the +X 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–17 , this point is labeled number 2. c. Press and hold the SHIFT key and press F5, RECORD, to record a position. 6–49 6. FRAMES MAROUHT9102171E REV F Figure 6–17. Defining the X direction Point 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–18 this point is labeled number 3. c. Press and hold the SHIFT key and press F5, RECORD. Figure 6–18. Defining the X-Y Plane 17. Teach the origin of the second user frame (System Origin): a. Move the cursor to System Origin. 6–50 MAROUHT9102171E REV F 6. FRAMES b. Jog the robot TCP to the origin of the second user frame. In Figure 6–19 , the origin is labeled 4. c. Press F5, RECORD, to record a position. Figure 6–19. 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. Refer to Section 5.8 for more information. 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 directions, go to Step 20 . Otherwise, go to Step 21 . 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. 6–51 6. FRAMES MAROUHT9102171E REV F 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. 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 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. 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.VR, and the frame data to SYSFRAME.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. This is optional since frame variables are saved in SYSFRAME.SV. 6.7.2.3 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 forX, Y, Z, W, P, and R. Use Procedure 6-9 to define a user frame using the direct entry method. 6–52 MAROUHT9102171E REV F 6. FRAMES Table 6–9. User Frame Setup Direct Entry DETAIL Screen Items ITEM DESCRIPTION Frame number This line shows the number of the user frame being defined. Comment This item is used to add a comment. X This item is used to define the component of the user frame. Y This item is used to define the component of the user frame. Z This item is used to define the component of the user frame. W This item is used to define the component of the user frame. P This item is used to define the component of the user frame. R This item is used to define the component of the user frame. Configuration This line displays the current robot configuration. Active UFRAME $MNUFRAMENUM[1] =0 This line indicates which user frame is currently selected for use. [TYPE] Press this key to access various application-specific options. [METHOD] Press this key to select a method of entry. [FRAME] Press this key to select a frame. MOVE_TO Press this key along with the SHIFT key to move to a recorded position. RECORD Press this key along with the SHIFT key to record a position. Use Procedure 6-10 to select a user frame. Caution Do not set up or alter frames when you use PalletTool. Frames are automatically set up for you by PalletTool. Procedure 6-9 Setting Up User Frame Using the Direct Entry Method Caution Do not set up or alter frames when you use PalletTool. Frames are automatically set up for you by PalletTool. 6–53 6. FRAMES MAROUHT9102171E REV F 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. Steps 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. If you have the new iPendant, you can press 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. Warning Do not run a KAREL program that includes motion statements. 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 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. 6–54 MAROUHT9102171E REV F 6. FRAMES 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 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 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. 6–55 6. FRAMES MAROUHT9102171E REV F 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. Refer to Section 5.8 for more information. 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. 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 user frame screen. i. Press FCTN. j. Select SAVE. This will save the frame positions and comments for all frames to the file FRAMEVAR.VR, and the frame data to SYSFRAME.SV, on the default device. 17. To save the SYSTEM Variables menu, a. Press MENU. b. Select SYSTEM. c. Press F1, [TYPE]. 6–56 MAROUHT9102171E REV F 6. FRAMES d. Select Variables. e. Press FCTN. f. Select SAVE. The frame positions and system variables are saved in the SYSVAR.SV file, on the default device. This is optional since frame variables are saved in SYSFRAME.SV. 6.7.3 Selecting a User Frame Procedure 6-10 Selecting a User Frame Caution The system variable $USEUFRAME defines whether the current value of $MNUFRAMENUM[group_no] will be assigned to the position's user frame when it is being recorded or touched up. When $USEUFRAME=FALSE, the initial recording of positions and the touching up of positions is done with the user frame number equal to 0, regardless of the value of $MNUFRAMENUM[group_no]. When $USEUFRAME=TRUE, the initial recording of positions is done with the position's user frame equal to the user frame defined by $MNUFRAMENUM[group_no]. The touching up of positions must also be done with the position's user frame equal to the user frame defined by $MNUFRAMENUM[group_no]. Be sure to set system variable $USEUFRAME correctly. Otherwise, your program will not operate properly. Note You can also use the Jog Menu to select the number of the user frame you want to use. Refer to Section 5.8 . Conditions • The user frame you want to select has been set up. Steps 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. 6–57 6. FRAMES MAROUHT9102171E REV F 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 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. Refer to Section 5.8 for more information. 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. 6.8 Remote TCP Frame Remote TCP Frame 6.8.1 Setting Up a Remote TCP Frame You must define a remote TCP (RTCP) frame before you can use the remote TCP option to jog or include remote TCP within a motion instruction. Use Procedure 6-12 to set up an RTCP frame. You define this frame using the location of the remote TCP as the origin of the frame. Note Remote TCP frame will not be available if the Coordinated Motion option is loaded. See Figure 6–20 for an example of a remote TCP frame. 6–58 MAROUHT9102171E REV F 6. FRAMES Figure 6–20. Remote TCP Frame You can use two methods to define the RTCP frame: • Three point method • Direct entry method 6.8.1.1 Three Point Method Recording three points defines the RTCP frame. The three points are the origin, or TCP of the fixed tool, a position along the +x-axis of the RTCP frame, and a position on the y-axis of the RTCP frame. Use Procedure 6-11 to define an RTCP frame using the three point method. Procedure 6-11 Setting Up a Remote TCP Frame Using the Three Point Method Warning If you are setting 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 are modifying 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. Conditions • The end-of-arm tooling or a setup pointer is attached to the robot faceplate. 6–59 6. FRAMES MAROUHT9102171E REV F • You have set up the tool frame for the end-of-arm tooling or setup pointer. Refer to Section 6.6.2 . Steps 1. Press MENU. 2. Select SETUP. 3. Press F1, [TYPE]. 4. Select Frames. 5. If user/RTCP frames are not displayed, press F3, [OTHER], and select User/RTCP. If F3, [OTHER], is not displayed, press PREV. 6. To display the settings for all frames, press PREV repeatedly until you see a screen similar to the following. 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 ************* Active UFRAME/RTCP $MNUFRAMNUM[1]=0 7. To set the numerical values to zero, move the cursor to the frame number, press F4, CLEAR, and then press F4, YES, to confirm. 8. Press F2, DETAIL. 9. To select a frame, a. Press F3, FRAME. b. Type the desired frame number. c. Press ENTER. 10. Press F2, [METHOD]. 11. Select Three Point. You will see a screen similar to the following. 6–60 MAROUHT9102171E REV F 6. FRAMES SETUP Frames User/RTCP Setup/ Three Point Frame Number: 2 X: 0.0 Y: 0.0 Z: 0.0 W: 0.0 P: 0.0 R: 0.0 Comment: **************** Orient Origin Point: UNINIT X direction Point: UNINIT Y Direction Point: UNINIT Active UFRAME/RTCP $MNUFRAMNUM[1]=0 12. 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. 13. Define the origin point of the remote TCP frame (Orient Origin Point): a. Move the cursor to Orient Origin Point. b. Jog the robot so that the TCP of the end-of-arm tooling or setup pointer touches the remote TCP of the fixed tool. See Figure 6–21 . c. Press and hold the SHIFT key and press F5, RECORD. Figure 6–21. Touching the TCP of the Robot Tool to the Remote TCP 14. Define the +X direction point (X direction Point): a. Move the cursor to X direction Point. 6–61 6. FRAMES MAROUHT9102171E REV F b. Select an xyz coordinate system. c. Jog the robot in the desired +X direction. d. Press and hold the SHIFT key and press F5, RECORD. 15. Define a point on the positive X-Y plane (Y Direction Point): a. Move the cursor to Orient Origin Point. b. Select an xyz coordinate system. c. Press and hold the SHIFT key and press F4, MOVE_TO. d. Move the cursor to Y Direction Point. e. Jog the robot in the desired +y direction. f. Press and hold the SHIFT key and press F5, RECORD. 16. To select the RTCP 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 RTCP, and type the number of the frame you want to use. Refer to Section 5.8 for more information. 17. 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 18 . 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. 18. To move to a recorded position, move the cursor to the desired position, press and hold the SHIFT key and press F4, MOVE_TO. 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 RTCP 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. 19. To save the frames and related system variables to a file on the default device, a. Press MENU. b. Select FILE. 6–62 MAROUHT9102171E REV F 6. FRAMES 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 RTCP frame screen. i. Press FCTN. j. Select SAVE. This will save the frame positions and comments for all frames to the file FRAMEVAR.VR, and the frame data to SYSFRAME.SV, on the default device. 20. To display the SYSTEM Variables menu, a. Press MENU. b. Select SYSTEM. c. Press F1, [TYPE]. d. Select Variables. e. Press FCTN. f. Select SAVE. The frame positions and system variables are saved in the SYSVAR.SV file, on the default device. 6.8.1.2 Direct Entry Method If you cannot use the three point method, use the direct entry method. In the direct entry method, you will be required to specify values for X, Y, and Z of the remote TCP. Use Procedure 6-12 to define an RTCP frame using the direct entry method. Use Procedure 6-13 to select an RTCP frame. Procedure 6-12 Setting Up a Remote TCP Frame Using the Direct Entry Method Warning If you are setting 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 are modifying 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. Conditions • The end-of-arm tooling or a setup pointer is attached to the robot faceplate. 6–63 6. FRAMES MAROUHT9102171E REV F • You have set up the tool frame for the end-of-arm tooling or setup pointer. Refer to Section 6.6 . Steps 1. Determine the Remote TCP of the fixed tool: a. Jog the robot so that the TCP of the end-of-arm tooling or setup pointer touches the remote TCP of the fixed tool. Figure 6–22. Touching the TCP of the Robot Tool to the Remote TCP b. Press POSN. c. Press F4, WORLD. d. Write down the X, Y, and Z values of the current position in the WORLD coordinate system. This is the remote TCP of the fixed tool. 2. Use the Direct Entry Method to set up the Remote TCP frame: a. Press MENU. b. Select SETUP. c. Press F1, [TYPE]. d. Select Frames. e. If user/RTCP frames are not displayed, press F3, [OTHER], and select User/RTCP. If F3, [OTHER], is not displayed, press PREV. f. To display the settings for all the frames, press PREV repeatedly until you see a screen similar to the following. 6–64 MAROUHT9102171E REV F 6. FRAMES 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 ************* Active UFRAME/RTCP $MNUFRAMNUM[1]=0 g. To set the numerical values to zero, move the cursor to the frame number, press F4, CLEAR, and then press F4, YES, to confirm. h. Press F2, DETAIL. i. To select a frame, press F3, FRAME, type the desired frame number, and press ENTER. j. Press F2, [METHOD]. k. 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 R D B, 0, 0, 0 Active UFRAME/RTCP $MNUFRAMENUM[1]=0 l. To add a comment, move the cursor to the comment line, press ENTER, select a method of naming the comment, and press the appropriate function keys to enter the comment. When you are finished, press ENTER. m. Set each position component: • Move the cursor to the X, Y, and Z components and enter the values you recorded in Step 1d . • Move the cursor to the w, p, and r components and enter 0 for each component. 6–65 6. FRAMES MAROUHT9102171E REV F 3. To select the RTCP frame to use, press F5, SETIND, type the number of the RTCP 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 RTCP, and type the number of the frame you want to use. Refer to Section 5.8 for more information. 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. 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. 4. 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 RTCP frame screen. i. Press FCTN. j. Select SAVE. This will save the frame positions and comments for all frames to the file FRAMEVAR.VR, and the frame data to SYSFRAME.SV, on the default device. 5. To display the SYSTEM Variables menu, a. Press MENU. b. Select SYSTEM. c. Press F1, [TYPE]. d. Select Variables. e. Press FCTN. f. Select SAVE. The frame positions and system variables are saved in the SYSVAR.SV file, on the default device. This is optional since frame variables are saved in SYSFRAME.SV. 6–66 MAROUHT9102171E REV F 6. FRAMES Procedure 6-13 Selecting an RTCP Frame Note To select the number of the RTCP frame you want to use, you can also use the jog menu. Refer to Section 5.8 for more information. Conditions • The user frame you want to select has been set up. Steps 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 ************* Active UFRAME/RTCP $MNUFRAMNUM[1]=0 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 RTCP, and type the number of the frame you want to use. Refer to Section 5.8 for more information. 7. The system variable $USEUFRAME defines whether the current value of $MNUFRAMENUM[group_no] will be assigned to the position's user frame when it is being recorded or touched up. When $UFRAMENUM=FALSE, the initial recording of positions and the touching up of positions is done with the user frame number equal to 0, regardless of the value of $MNUFRAMENUM[group_no]. When $UFRAMENUM=TRUE, the initial recording of positions is done with the position's user frame equal to the user frame defined by $MNUFRAMENUM[group_no]. The touching 6–67 6. FRAMES MAROUHT9102171E REV F up of positions must also be done with the position's user frame equal to the user frame defined by $MNUFRAMENUM[group_no]. 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 before you record the position to guarantee that the user frame numbers match during program execution. 6.9 Jog Frame 6.9.1 Setting Up Jog Frame Jog frame is a frame that you can set up in any location, with any orientation. Jog frame provides a convenient way to move along a part when the part is oriented differently from the world frame. See Figure 6–23 . 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 per robot group. • You can jog the robot in jog frame. Figure 6–23. Jog Frame Defined Parallel to Part 6–68 MAROUHT9102171E REV F 6. FRAMES Table 6–10. Jog Frame Setup Screen Items ITEM DESCRIPTION Jog frame setup/xxxx This line shows the current selected method for setting each jog frame. Frame number 1-5 These lines show the current position and comment for each available jog frame. X This column shows the X coordinate of each jog frame. Y This column shows the Y coordinate of each jog frame. Z This column shows the Z coordinate of each jog frame. Comment This column shows the comment for each jog frame. Active JOG FRAME[1] = 0 This line indicates which jog frame is currently selected for use. [TYPE] Press this key to access various application-specific options. DETAIL Press this key to display detailed information for each jog frame and to set the definition and comment of each jog frame. OTHER Press this key to select one of the other available reference frames or to choose the motion group for the frame you are setting up (in systems with multiple motion groups). CLEAR To set the numerical values of any jog frame to zero, move the cursor to the frame number, press CLEAR and answer YES to the prompt. SETIND To select the jog frame to use, press F5, SETIND, type the number of the jog frame you want, and press ENTER. This sets the active jog frame to the number of the frame you want. If F5, SETIND, is not displayed, press PREV. You can use two methods to define the jog frame. • Three point method • Direct entry method 6.9.1.1 Three Point 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). Table 6–11. Jog Frame Setup Three Point DETAIL Screen Items ITEM DESCRIPTION Frame number This line shows the number of the jog frame being defined. X, Y, Z, W, P, R These items show the current coordinates of the jog frame being defined. Comment This item is used to add a comment. Orient Origin Point This item is used to define the reference point of the jog frame. X direction Point This item is used to define the +X direction point. Y Direction Point This item is used to define a point on the X-Y plane. 6–69 6. FRAMES MAROUHT9102171E REV F Active JOG FRAME[1] = 0 This item indicates which jog frame is currently selected for use [TYPE] Press this key to access various application-specific options. [METHOD] Press this key to select a method of entry. [FRAME] Press this key to select a frame. MOVE_TO Press this key to move to a recorded position. Move the cursor to the desired point and press MOVE_TO along with the SHIFT key. RECORD Press this key along with the SHIFT key to record a position. HandlingTool Jog Frame Three Point Method Procedure 6-14 Setting Up the Jog Frame Using the Three Point Method Caution Do not set up or alter frames when you use PalletTool. Frames are automatically set up for you by PalletTool. 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. Conditions • You have a cardboard box. Steps 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. If you have the new iPendant, you can press 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. 6–70 MAROUHT9102171E REV F 6. FRAMES Warning Do not run a KAREL program that includes motion statements. 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 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. SETUP Frames JOG 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 ************* Active JOG FRAME[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 Jog Frame Setup / Three Point Frame Number: 2 X 0.0 Y 0.0 Z 0.0 W 0.0 P 0.0 R 0.0 Comment: **************** Orient Origin Point: UNINIT X direction Point: UNINIT Y Direction Point: UNINIT Active JOG FRAME[1] = 0 6–71 6. FRAMES MAROUHT9102171E REV F 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. Mount a box within the workcell so that the orientation of the box matches the orientation of the desired jog frame. Make sure that the corner of the box used to record the origin is at the proper location. 15. 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–24 the origin is labeled number 1. c. Press and hold the SHIFT key and press F5, RECORD. Figure 6–24. Defining the Origin 16. Define the +X 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 of the box. In Figure 6–25 , this point is labeled number 2. c. Press and hold the SHIFT key and press F5, RECORD. 6–72 MAROUHT9102171E REV F 6. FRAMES Figure 6–25. Defining the X direction Point 17. 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–26 , this point is labeled number 3. c. Press and hold the SHIFT key and press F5, RECORD. Figure 6–26. Defining the X-Y Plane 18. 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. 6–73 6. FRAMES MAROUHT9102171E REV F -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. Refer to Section 5.8 for more information. 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 directions, go to Step 20 . Otherwise, go to Step 21 . 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. Warning When you use F4, MOVE_TO, to jog the robot, unexpected motion can occur. This could injure personnel or damage equipment. 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. 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 jog frame screen. i. Press FCTN. j. Select SAVE. This will save the frame positions and comments for all frames to the file FRAMEVAR.VR, and the frame data to SYSFRAME.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. 6–74 MAROUHT9102171E REV F 6. FRAMES p. Select SAVE. The frame positions and system variables are saved in the SYSVAR.SV file, on the default device. 6.9.1.2 Jog Frame Direct Entry Method Direct Entry Method The direct entry method allows you to designate the origin with values forX, Y, Z, W, P, and R. This method provides direct recording and numerical entry of the frame position. Table 6–12. Jog Frame Setup Direct Entry DETAIL Screen Items ITEM DESCRIPTION Frame number This line shows the number of the jog frame being defined. Comment This item is used to add a comment. X This item is used to define the component of the jog frame. Y This item is used to define the component of the jog frame. Z This item is used to define the component of the jog frame. W This item is used to define the component of the jog frame. P This item is used to define the component of the jog frame. R This item is used to define the component of the jog frame. Configuration This line displays the current robot configuration. Active JOG FRAME[1] = 0 This line indicates which jog frame is currently selected for use. [TYPE] Press this key to access various application-specific options. [METHOD] Press this key to select a method of entry. [FRAME] Press this key to select a frame. MOVE_TO Press this key along with the SHIFT key to move to a recorded position. RECORD Press this key along with the SHIFT key to record a position. Use Procedure 6-16 to select a jog frame. Procedure 6-15 Setting Up the Jog Frame Using the Direct Entry Method Caution Do not set up or alter frames when you use PalletTool. Frames are automatically set up for you by PalletTool. 6–75 6. FRAMES MAROUHT9102171E REV F 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. Steps 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. If you have the new iPendant, you can press 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. Warning Do not run a KAREL program that includes motion statements. 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. 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. SETUP Frames JOG 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 ************* Active JOG FRAME[1] = 0 6–76 MAROUHT9102171E REV F 6. FRAMES 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 Jog 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 JOG FRAME[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 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. Refer to Section 5.8 for more information. 6–77 6. FRAMES MAROUHT9102171E REV F 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 jog frame screen. i. Press FCTN. j. Select SAVE. This will save the frame positions and comments for all frames to the file FRAMEVAR.VR, and the frame data to SYSFRAME.SV on the default device. Display the SYSTEM Variables menu, 17. To save the SYSTEM Variables (optional since data is in SYSFRAME.SV) a. Press MENU. b. Select SYSTEM. c. Press F1, [TYPE]. d. Select Variables. e. Press FCTN. f. Select SAVE. The frame positions and system variables are saved in the SYSVAR.SV file, on the default device. 6.9.2 Selecting a Jog Frame Procedure 6-16 Selecting a Jog Frame Caution Do not set up or alter frames when you use PalletTool. Frames are automatically set up for you by PalletTool. Note You can also use the Jog Menu to select the number of the jog frame you want to use. Refer to Section 5.8 for more information. 6–78 MAROUHT9102171E REV F 6. FRAMES Conditions • The jog frame you want to select has been set up. Steps 1. Press MENU. 2. Select SETUP. 3. Press F1, [TYPE]. 4. Select Frames. 5. If jog frames are not displayed press F3, [OTHER], and select Jog Frame. If F3, [OTHER], is not displayed, press PREV. You will see a screen similar to the following. SETUP Frames Jog 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 ************* Active JOG FRAME[1] = 0 6. To select the jog frame to use, press F5, SETIND, type the number of the jog frame you want, and press ENTER. This copies the selected jog frame to $JOG_GROUP[group_no].$JOGFRAME. 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. Refer to Section 5.8 for more information. 6.10 Cell Frame and Cell Floor Cell Frame and Cell Floor Cell frame is a reference frame whose origin is common to all robots within the cell frame. The cell frame is used by TP graphics to provide proper relative positioning of each robot in the workcell. Cell frame can provide a convenient mean for calibrating the robots in a cell with respect to each other by first calibrating them with a single reference frame. The transformation representing a cell frame of a robot is defined from the cell frame origin to the world frame of each robot. The number of cell frames is always the same as the number of the robots in the workcell. Cell floor origin is the reference frame attached to the physical floor in the workcell. The origin of the cell floor can be represented by a transformation from the cell floor to the cell frame origin. 6–79 6. FRAMES MAROUHT9102171E REV F At the initialization, the cell floor is set by TP graphics to a default value. The default value is calculated based on the model and dimensions of the robot. The default value of the cell floor can then be adjusted through its dedicated setup screen.TP 3D graphics uses the cell floor to determine the position and orientation of the floor with respect to the cell frame origin. Figure 6–27 shows an example with robots calibrated to a cell frame. The white arrows represent the direction of the transformation. Figure 6–27. Cell Frame and Cell Floor 6.10.1 Cell Frame Setup You can set the cell frame directly using the direct entry method, or by copying the cell frame from a user frame or a cd pair (in systems with coordinated motion option). Direct Entry Method Use the direct entry method when the coordinates of the robot with respect to the cell frame is known. The direct entry method allows you to designate the cell frame values ofX, Y, Z, W, P, and R. Use Procedure 6-17 to define the cell frame of a robot using the direct entry method. 6–80 MAROUHT9102171E REV F 6. FRAMES Table 6–13. Cell Frame Setup Screen Items ITEM DESCRIPTION Frame Status This field indicates whether the cell frame has been calibrated or not. Calibration Type If the cell frame is calibrated, this field shows the method used for the calibration. X, Y, Z, W, P, R These items show the current coordinates of the cell frame of the current robot. [TYPE] Press this key to access various application-specific options. DETAIL Press this key to display detailed information for the cell frame and to calibrate the frame. Press this key to select the other available reference frames or to choose the motion group for the frame you are setting up (in systems with multiple motion groups). [OTHER] Press this key to clear the current value of the cell frame. CLEAR Press this key to copy to/from cell frame from/to a specific user frame or cd pair (in systems with coordinated motion option). COPY Table 6–14. Cell Frame Setup Using Direct Entry ITEM DESCRIPTION Frame Status This field indicates whether the cell frame has been calibrated or not. Calibration Type If the cell frame is calibrated, this shows the method used for calibration. X, Y, Z, W, P, R These items are the coordinates of the cell frame of the current robot. Press this key to select the other available frames or to choose the motion group for the frame you are setting up (in systems with multiple motion groups). [OTHER] Press this button for the changes you have applied to take effect. APPLY Procedure 6-17 Setting Up the Cell Frame Using the Direct Entry Method Steps 1. Press MENU. 2. Select SETUP. 3. Press F1, [TYPE]. 4. Select Frames. 6–81 6. FRAMES MAROUHT9102171E REV F 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. If you have the new iPendant, you can press 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. 6. If cell frames are not displayed, press F3, [OTHER], and select Cell Frame. If F3, [OTHER], is not displayed, press PREV. 7. To display the cell frame setup summary screen, press PREV repeatedly until you seen a screen smiliar to the following. SETUP Frames User Frame Setup Frame Status: Calibration Type: X: 0.0 Y: 0.0 W: 0.0 P: 0.0 Not Set Not Set Z: 0.0 R: 0.0 8. To set the cell frame to zero, press F4, CLEAR, and then press F4, YES, to confirm. 9. Press F2, DETAIL. You will see a screen similar to the following. SETUP Frames User Frame Setup Frame Status: Calibration Type: 1 X: 2 Y: 3 Z: 4 W: 5 P: 6 R: Not Set Not Set 0.000 0.000 0.000 0.000 0.000 0.000 10. Set each position component: a. Mover the cursor to the component. b. Enter the numeric value for the component. c. Press the ENTER key to set the new value. 11. Press F5, APPLY, to apply the changes made on the screen to the cell frame. Copying the Cell Frame With the copy button you can copy a user frame or a cd pair (in systems with the coordinated motion) to a cell frame. This allows you to use the three point or four point method of the user frame setup menu to define the cell frame as a user frame and then copy over the defined user frame to the cell frame. 6–82 MAROUHT9102171E REV F 6. FRAMES In systems with the coordinated motion option, CD pairs also become available as a source for the copy. This allows you to use an already calibrated CD pair for setting the cell frame of the leader of the group, under the condition that the cell frame of the follower of the CD pair is already calibrated. The value of the cell frame can also be copied to a user frame. Among the other uses, it allows you to observe the coordinates of the TCP or the tool frame as represented in the cell frame. Caution Before copying the cell frame to a user frame, make sure that the selected user frame is not used by any programs. In order to copy the cell frame the following conditions should be satisfied: • The source and destination of the copy cannot be the same. • One of the source or destination should be the cell frame. • In case of the copy from the CD PAIR, when the coordinated motion option is loaded, the selected source CD PAIR should already be calibrated. Also, the cell frame of the follower group of the CD PAIR should be calibrated. Follow Procedure 6-18 for copying the cell frame. Table 6–15. Cell Frame Copy Screen Items ITEM DESCRIPTION Source Shows the source of the copy operation. Destination Shows the destination of the copy operation. Frame Index Shows the index of the source or destination of the copy operation. [TYPE] Press this key to access various application-specific options. [CHOICE] Press this key to access the list of the possible source or destinations. This key becomes active when the source or the destination fields are selected. APPLY Press this key to set the cell frame to the value shown on the screen. 6–83 6. FRAMES MAROUHT9102171E REV F Procedure 6-18 Copying the Cell Frame Conditions • The source and destination of the copy cannot be the same. • One of the source or destination should be the cell frame. • In case of the copy from the CD PAIR, when the coordinated motion option is loaded, the selected source CD PAIR should already be calibrated. Also, the cell frame of the follower group of the CD PAIR should be calibrated. Steps 1. Press MENU. 2. Select SETUP. 3. Press F1, [TYPE]. 4. Select Frames. 5. Press F3, [OTHER], and select the cell frame. 6. To copy the cell frame, press F5, COPY. The following screen will be shown. SETUP Frame / Cell Frame Source: CELL FRAME Destination: UFRAME Frame Index: 1 7. To change the source of the copy: a. Move the cursor to Source and press F4, [CHOICE]. b. Select the source of the copy from the list of possible sources which consists of UFRAME and CELL FRAME. If the coordinated motion option is loaded, CD PAIR will also becomes available as a copy source. c. When the source of the copy is selected press ENTER. 8. To change the destination of the copy: a. Move the cursor to Destination and press F4, [CHOICE]. b. Select the source of the copy from the list of possible sources which consists of UFRAME and CELL FRAME. c. When the source of the copy is selected press ENTER. 9. Enter the Frame Index number. The index number is the index of the UFRAME or CD PAIR that is selected as a source or destination of the copy. 10. Press ENTER for the copy operation to take effect. 6–84 MAROUHT9102171E REV F 6. FRAMES 6.10.2 Cell Floor Setup To set the cell floor follow Procedure 6-19 . Table 6–16. Cell Floor Setup Screen Items ITEM DESCRIPTION X, Y, Z, W, P, R These items are the coordinates of the cell frame of the current robot. [TYPE] Press this key to access various application-specific options. {OTHER] Press this key to select the other available reference frames or to choose the motion group for the frame you are setting up (in systems with multiple motion groups). Procedure 6-19 Cell Floor Setup Using the Direct Entry Method 1. Press MENU. 2. Select SETUP. 3. Press F1, [TYPE]. 4. Select Frames. 5. If cell floor is not displayed, press F3, [OTHER], and select Cell Floor. If F3, [OTHER], is not displayed, press PREV. 6. The cell floor setup screen is similar to the following: SETUP Frames Cell Floor X: 0.0 Y: W: 0.0 P: 0.0 0.0 Z: R: 0.0 0.0 7. Set each position component: a. Mover the cursor to the component. b. Enter the numeric value for the component. c. Press the ENTER key to set the new value. 6.11 Saving Frame Data Saving frame data saves the frame positions and comments. Use Procedure 6-20 to save frame data to a file. 6–85 6. FRAMES MAROUHT9102171E REV F Caution Do not set up or alter frames when you use PalletTool. Frames are automatically set up for you by PalletTool. Procedure 6-20 Saving Frame Data to a File 1. Press MENU. 2. Select SETUP. 3. Press F1, [TYPE]. 4. Select Frames. 5. Press F2, DETAIL. 6. To select a frame, a. Press F3, FRAME. b. Type the desired frame number. c. Press ENTER. 7. Press F2, [METHOD]. 8. Select a frame method. You will see a screen similar to the following. 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 ************* ACTIVE TOOL $MNUTOOLNUM[1]=1 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. 9. 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. 6–86 MAROUHT9102171E REV F 6. FRAMES e. Press F5, [UTIL]. f. Select Set Device. g. Move the cursor to the device you want and press ENTER. h. Display the frame screen. i. Press FCTN. j. Select SAVE. This will save the frame positions and comments for all frames to the file FRAMEVAR.VR, and the frame data to SYSFRAME.SV, on the default device. 10. To save the SYSTEM Variables, a. Press MENU. b. Select SYSTEM. c. Press F1, [TYPE]. d. Select Variables. e. Press FCTN. f. Select SAVE. The frame positions and system variables are saved in the SYSVAR.SV file, on the default device. This is optional since frame variables are saved in SYSFRAME.SV 6.12 Frame Visualization If the option R764 4D Graphics is installed, the Frame Setup screens will offer a related view. When this view is activated, you will be shown the 3D world with details about the current frame setup operation. Refer to Chapter 8 CREATING A PROGRAM on launching a related view, and Chapter 4 4D FUNCTIONALITY for details on manipulating the 3D world. A large blue triad representing the location and orientation of the frame currently being set up is shown in the 3D world. If you are on the 3, 4 or 6 point detail screen, a small triad is displayed for each recorded point. The color of the triad is black unless it represents the location of the cursor in the setup pane. In that case it is green. Changes made in the frame setup menu are immediately reflected in the 3D world. 6–87 Chapter 7 PROGRAM INSTRUCTIONS Contents Chapter 7 7.1 7.2 7.2.1 7.2.2 7.2.3 7.2.4 7.2.5 7.2.6 7.2.7 7.2.8 7.2.9 7.2.10 7.3 7.3.1 7.3.2 7.3.3 7.3.4 7.3.5 7.3.6 7.3.7 7.3.8 7.3.9 7.3.10 7.3.11 7.3.12 7.3.13 7.3.14 7.3.15 7.3.16 7.3.17 7.3.18 7.3.19 7.3.20 7.3.21 PROGRAM INSTRUCTIONS .............................................................. 7–1 OVERVIEW ........................................................................................... 7–5 MOTION INSTRUCTION ........................................................................ 7–5 Overview .............................................................................................. 7–5 Motion Type ......................................................................................... 7–6 Circular Arc Type A Motion Instructions .............................................. 7–11 Positional Information ....................................................................... 7–35 Position Confirmation ........................................................................ 7–36 Motion Status Display ........................................................................ 7–37 Frame Number of Positional Data ...................................................... 7–45 Switch Frame Check Type .................................................................. 7–46 Speed ................................................................................................. 7–47 Termination Type ............................................................................... 7–54 MOTION OPTIONS INSTRUCTION........................................................ 7–56 Acceleration Override ........................................................................ 7–58 Advanced Constant Path ................................................................... 7–59 Break ................................................................................................. 7–76 Constant Path .................................................................................... 7–77 Coordinated Motion ............................................................................ 7–87 Corner Distance Control Option .......................................................... 7–87 Extended Velocity EV Motion Option ................................................. 7–98 FacePlate Linear ................................................................................ 7–100 Incremental Motion .......................................................................... 7–102 Minimal Rotation (HandlingTool Only) ............................................. 7–103 Offset ............................................................................................... 7–105 Offset Position Register ................................................................... 7–105 ORNT_BASE ...................................................................................... 7–106 Remote TCP Motion Option (optional) ............................................. 7–109 Search [ ] Motion Option ................................................................... 7–111 Skip Jump .......................................................................................... 7–112 Skip Label ........................................................................................ 7–113 Time Before / Time After .................................................................. 7–114 Tool_offset ....................................................................................... 7–115 Tool offset position register ............................................................. 7–116 Wrist Joint ....................................................................................... 7–117 7–1 7. PROGRAM INSTRUCTIONS 7.4 7.5 7.5.1 7.5.2 7.5.3 7.5.4 7.5.5 7.6 7.6.1 7.6.2 7.6.3 7.6.4 7.6.5 7.6.6 7.7 7.8 7.8.1 7.8.2 7.8.3 7.9 7.9.1 7.9.2 7.9.3 7.9.4 7.9.5 7.10 7.11 7.12 7.12.1 7.12.2 7.12.3 7.12.4 7.12.5 7.13 7.13.1 7.13.2 7.13.3 7.13.4 7.13.5 7.13.6 7.14 7.15 7.15.1 7.15.2 7.15.3 7.15.4 7.15.5 7.15.6 7.15.7 7.16 7.16.1 7.16.2 7.16.3 7.16.4 7.16.5 7.16.6 7–2 MAROUHT9102171E REV F ALL-POINT TEACHING FOR PALLETIZING ...................................... TOUCH SENSE INSTRUCTIONS ....................................................... Overview .......................................................................................... Search Start Instruction ................................................................... Search End Instruction .................................................................... Touch Offset Instruction .................................................................. Touch Offset End Instruction ........................................................... PALLETIZING INSTRUCTIONS ......................................................... Overview .......................................................................................... PALLETIZING-B Instruction ............................................................. PALLETIZING-BX Instruction ........................................................... PALLETIZING-E Instruction .............................................................. PALLETIZING-EX Instruction ........................................................... PALLETIZING-END Instruction ......................................................... PALLET REGISTER INSTRUCTIONS .................................................. BASIC PROCESS AXES INSTRUCTIONS (OPTION) ........................... Overview ............................................................................................ SET ISDT SPEED Instruction ............................................................. STOP ALL ISDT Instruction ............................................................... BRANCHING INSTRUCTIONS .......................................................... Overview .......................................................................................... Label Definition Instruction LBL[x] .................................................. Unconditional Branching Instructions ............................................. Conditional Branching Instructions ................................................. Wizard to Input Arguments ................................................................ COLLISION GUARD INSTRUCTIONS (OPTION) ............................... CONDITION MONITOR INSTRUCTIONS ........................................... FOR/ENDFOR INSTRUCTIONS........................................................... Overview ............................................................................................ FOR/ENDFOR Instruction Specification ............................................. Teach FOR/ENDFOR Instruction ........................................................ Execution examples .......................................................................... Alarms ............................................................................................... INPUT/OUTPUT INSTRUCTIONS ...................................................... Overview .......................................................................................... Digital Input and Output Instructions ............................................... Robot Digital Input and Output Instructions .................................... Analog Input and Output Instructions .............................................. Group Input and Output Instructions ............................................... Input and Output Instruction Format ................................................. MACRO COMMAND INSTRUCTION .................................................. MATH FUNCTION INSTRUCTIONS ..................................................... Type of Math Functions ..................................................................... Instruction Format of Math Function ................................................. Function Specification of Math Functions ......................................... Background Operation of Math Function ........................................... Teach Math Function Instruction ....................................................... Restriction of Teaching Math Function .............................................. Exceptions and Restriction................................................................ MISCELLANEOUS INSTRUCTIONS .................................................. Overview .......................................................................................... RSR Enable/Disable Instruction ....................................................... User Alarm Instruction ..................................................................... Timer Instruction ............................................................................. OVERRIDE Instruction ..................................................................... Remark Instruction .......................................................................... 7–118 7–120 7–120 7–121 7–121 7–122 7–123 7–123 7–123 7–126 7–132 7–139 7–146 7–154 7–154 7–156 7–156 7–156 7–158 7–158 7–158 7–158 7–158 7–160 7–164 7–173 7–173 7–177 7–177 7–177 7–178 7–183 7–187 7–188 7–188 7–189 7–190 7–192 7–193 7–194 7–196 7–196 7–197 7–197 7–199 7–204 7–205 7–207 7–208 7–208 7–208 7–209 7–209 7–210 7–210 7–210 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS 7.16.7 Multi-lng Remark Instruction ............................................................. 7.16.8 Line Remark (Comment out) Instruction ............................................ 7.16.9 Message Instruction ........................................................................ 7.16.10 Parameter Name Instruction ............................................................ 7.16.11 Maximum Speed Instruction ............................................................ 7.17 MIXED LOGIC INSTRUCTIONS ......................................................... 7.17.1 Overview .......................................................................................... 7.17.2 Data Types ....................................................................................... 7.17.3 Operators ......................................................................................... 7.17.4 Expressions ..................................................................................... 7.17.5 Adding Mixed Logic Instructions ..................................................... 7.17.6 Background Logic ........................................................................... 7.17.7 Backup/Restore ............................................................................... 7.18 MULTIPLE CONTROL INSTRUCTIONS ............................................. 7.19 MOTION GROUP INSTRUCTIONS (OPTION) .................................... 7.19.1 Overview .......................................................................................... 7.19.2 Independent Motion Group Instructions .......................................... 7.19.3 Simultaneous Motion Group Instructions ........................................ 7.19.4 Defining Motion Group Instructions ................................................. 7.20 OFFSET/FRAME INSTRUCTIONS ..................................................... 7.21 PARAMETERS FOR PROGRAM CALL AND MACRO INSTRUCTIONS ................................................................................. 7.21.1 Overview .......................................................................................... 7.21.2 Parameter Instruction Syntax .......................................................... 7.21.3 String Value Selections .................................................................... 7.21.4 Argument Registers ......................................................................... 7.21.5 Guidelines for Using Parameters ..................................................... 7.21.6 Including Parameters in Program Call and Macro Instructions 7–211 7–212 7–213 7–213 7–214 7–216 7–216 7–216 7–217 7–218 7–220 7–222 7–233 7–234 7–234 7–234 7–235 7–235 7–235 7–237 .......................................................................................................... 7–247 7–251 7–252 7–253 7–253 7–255 7–257 7–260 7–260 7–260 7–262 7–264 7–265 7–265 7–265 7–266 7–266 7–267 7–267 7–267 7–268 7–268 7–271 7–271 7–271 7–272 7–272 7.21.7 7.22 7.23 7.23.1 7.23.2 7.23.3 7.24 7.24.1 7.24.2 7.24.3 7.25 7.26 7.26.1 7.26.2 7.26.3 7.26.4 7.26.5 7.26.6 7.26.7 7.26.8 7.27 7.28 7.28.1 7.28.2 7.28.3 7.29 Including Argument Registers in Sub-Programs ............................. PAYLOAD INSTRUCTION ................................................................. POINT LOGIC INSTRUCTION ............................................................. Overview ............................................................................................ Point Logic Instruction ...................................................................... Point Logic View Function ................................................................. POSITION REGISTER INSTRUCTIONS ............................................. Overview .......................................................................................... PR[x] Position Register Instructions ................................................ PR[i,j] Position Register Element Instructions ................................. POSITION REGISTER LOOK-AHEAD INSTRUCTIONS ..................... PROGRAM CONTROL INSTRUCTIONS ............................................ Overview .......................................................................................... PAUSE Instruction ........................................................................... ABORT Instruction ........................................................................... Error Program Instruction ................................................................ Resume Program Instruction ........................................................... Maintenance Program Instruction .................................................... Clear Resume Program Instruction .................................................. Return Path Disable Instruction ....................................................... PROCESS SYNCHRONIZATION ....................................................... QUICK SKIP (HIGH-SPEED SKIP) ..................................................... Overview .......................................................................................... Execution ......................................................................................... Limitations ....................................................................................... REGISTER INSTRUCTIONS .............................................................. 7–240 7–240 7–241 7–242 7–244 7–245 7–3 7. PROGRAM INSTRUCTIONS 7.30 7.31 7.31.1 7.31.2 7.31.3 7.31.4 7.31.5 7.31.6 7.32 7.33 7.33.1 7.33.2 7.34 7.34.1 7.34.2 7.34.3 7.34.4 7.34.5 7.34.6 7.34.7 7.34.8 7.34.9 7.34.10 7.34.11 7.34.12 7.34.13 7.34.14 7.34.15 7.34.16 7.34.17 7.34.18 7.34.19 7.34.20 7.34.21 7.34.22 7.34.23 7.34.24 7.34.25 7.35 7–4 MAROUHT9102171E REV F SKIP INSTRUCTION ......................................................................... STRING REGISTER INSTRUCTIONS .................................................. Overview ............................................................................................ String Register Assignment and Concatenation ................................ String Conversion and Precedence ................................................... STRLEN Instruction ........................................................................... FINDSTR Instruction .......................................................................... SUBSTR Instruction ........................................................................... TOOL OFFSET CONDITION INSTRUCTION ...................................... VIA INSTRUCTION ............................................................................. How to Use ........................................................................................ Specifications .................................................................................... VISION INSTRUCTIONS ................................................................... Overview .......................................................................................... RUN_FIND ........................................................................................ GET_OFFSET ................................................................................... GET_PASSFAIL .................................................................................. GET_NFOUND.................................................................................... SET_REFERENCE ............................................................................ OVERRIDE ......................................................................................... CAMERA_CALIB .............................................................................. VR[]. MODELID ................................................................................ VR[].MES[] ......................................................................................... VR[].FOUND_POS[] ............................................................................ VR[].OFFSET .................................................................................... VR.[].ENC ........................................................................................... RUN_FIND SR[] .................................................................................. GET_OFFSET SR[] ............................................................................. SET_REF SR[] .................................................................................... CAMERA_CAL SR[] ........................................................................... GET_PASSFAIL SR[] .......................................................................... GET_READING .................................................................................. SAMPLE PROGRAM ........................................................................ Re-Calibration and Verification Sample Program............................... Bar Code Reading Sample Program .................................................. Inspection Sample Program .............................................................. 2D Single Multi-View Vision Process ................................................. Calling Vision by String Register Sample Program ........................... WAIT INSTRUCTIONS ...................................................................... 7–276 7–279 7–279 7–279 7–281 7–282 7–282 7–283 7–284 7–285 7–285 7–288 7–288 7–288 7–289 7–289 7–289 7–290 7–290 7–291 7–291 7–292 7–292 7–293 7–293 7–293 7–294 7–294 7–295 7–295 7–296 7–296 7–296 7–297 7–299 7–299 7–299 7–300 7–300 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS 7.1 OVERVIEW A program instruction tells the robot what to do at a given point in time. FANUC provides predefined instructions to accomplish certain tasks. For example, FANUC has created an instruction to move the robot in a certain way and at a certain speed. Another instruction FANUC makes available tells the robot to wait for an event to transpire before completing other tasks. Many other instructions like these are available. You can choose from these available instructions, gathering them together in a teach pendant program, in order to create a series of steps organized to accomplish a task. This chapter provides a list of the available program instructions . Figure 7–1 shows some of the program elements of a typical palletizing program. Figure 7–1. Program Example Program name Remark Motion instruction Program instructions Line number Program end marker PROG_01 1: This program palletizes. 2: PALLET[1 :pallet_sample] 3: J P[1:A_1] 70% CNT100 4: J P[1:A_2] 50% CNT50 5: L P[1:A_3] 500mm/s FINE 6: L P[1:BTM] 300mm/s FINE 7: CLOSE HAND [1] 8: WAIT SDI[1] 9: If PL[3]=[5,*,*] JUMP[11] [End] 7.2 MOTION INSTRUCTION 7.2.1 Overview 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 • Position indicator symbol - Indicates that the robot is at the taught 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 7–5 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F A typical example motion instruction is shown in Figure 7–2 . Figure 7–2. Typical Motion Instruction Example Note Wrist Joint (W/JNT) is a motion option that allows the robot to move only in Linear or Circular. 7.2.2 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 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. 7–6 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS • 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. Refer to Section 7.2.9 . Figure 7–3 shows an example of joint motion. Figure 7–3. Joint Motion Type Linear Motion L P[2] 100mm/sec FINE 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. Refer to Section 7.2.9 . 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 7–4 shows an example of linear motion. 7–7 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Figure 7–4. Linear Motion Type Linear motion type can also be used to rotate about the tool center point while maintaining that position. The speed for this type of motion is in degrees per second. Figure 7–5 shows an example of linear motion used for rotation about the tool center point. 7–8 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Figure 7–5. Linear Motion Type Used to Rotate About the Tool Center Point Circular Motion 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. Refer to Section 7.2.9 . When you add a motion instruction that has circular motion type, the following appears on the screen: C P[2] P[3] 100 mm/sec FINE 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, F5. If you change an existing point to "C", that position becomes the "via" or intermediate position. 7–9 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F 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. 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. Figure 7–6 shows an example of circular motion. Figure 7–6. Circular Motion Type Restart of Circular Motion In Figure 7–7 a single-step stop occurs at the destination position of a circular motion instruction. You can then jog the robot. 7–10 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Figure 7–7. Restart of Circular Motion Instruction In Figure 7–8 when program execution is restarted after a single-step stop and jogging, the robot moves, using linear motion to the end point of the previous circular motion. Figure 7–8. Restart of Circular Motion Instruction 7.2.3 Circular Arc Type A Motion Instructions 7.2.3.1 Overview In a normal circular motion instruction, you must record two positions for one circular motion instruction. In the circular arc type A motion instruction, every instruction has one position, and the circular motion is performed by more than three type A motion instructions. Type A motion has the following features: • It is easy to add and delete a teaching point on circular arc. • Speed and termtype can be specified for every position. • Logical instructions can be written between every position. See Figure 7–9 . 7–11 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Figure 7–9. Extend Circular Arc You can easily extend the circular arc by adding a teaching point. P[2] P[2] P[3] P[1] P[2] P[3] P[3] P[1] P[1] P[4] P[5] P[4] Can add teaching points in series. You can also insert teaching .points between them. Circle of P[1], P[2] and P[5] Circle of P[1], P[2] and P[3] Circle of P[2], P[5] and P[3] P[2] P[2] P[5] P[1] P[1] P[3] P[4] Circle of P[2], P[3] and P[4] P[4] P[3] Can insert teaching points. Circle CircleofofP[5], P[3],P[3] P[4]and andP[4] P[5] 7.2.3.2 Restrictions • Backward execution from interrupt program is not supported. • In case PAL_*[ ] is used as position of a type A motion instruction, an error is posted when it is executed. • In case the position register is used as the position type A motion instruction and its index is specified indirectly by register, error is posted when the motion is executed. 7–12 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS • In case Offset or Tool_Offset is attached to a type A motion instruction and an index of PR is indirectly specified, an error is posted when the motion is executed. • Circular Arc (type A) motion instructions cannot be used with TAST (Through Arc Seam Tracking) or Multi-Pass/RPM. 7.2.3.3 Teaching Method The method used to teach a circular arc type A motion is the same as to teach a linear motion but you select A motion as the motion type. 7.2.3.4 Normal Motion 1: 2: 3: 4: 5: 6: J A A A A L P[1] P[2] P[3] P[4] P[5] P[6] 100% FINE 200mm/sec 200mm/sec 200mm/sec 200mm/sec 200mm/sec FINE CNT 100 CNT 100 FINE FINE Figure 7–10. Normal Motion Circle of P[2], P[3] and P[4] P[3] Circle of P[2], P[3] and P[4] P[1] P[2] P[4] P[6] P[5] Circle of P[3], P[2], P[4] P[3] and P[5] P[4] Different from a normal circular motion instruction, the motion instruction to the start point of a circular arc must be a type A motion instruction. In the first type A motion instruction, the robot moves in a linear motion. 7–13 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Figure 7–11. First A Motion In the second and after the type A motion instruction, the robot moves on the circle that is calculated by three positions: the current position, the destination point of this type A motion instruction, and that of the next type A motion instruction. See Figure 7–12 . Halfway A Motion Figure 7–12. Circle Formed by Current Point When the next motion instruction is not a type A motion instruction, the last A motion instruction is regarded as the end position of the circle. In this case, the robot moves on the circle that is calculated by three positions: the destination position of the previous motion instruction, the current position, and the destination position of this motion instruction. See Figure 7–13 . 7–14 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Figure 7–13. Last A Motion 7.2.3.5 Circular Motion Direction 1: 2: 3: 4: J A A A P[1] P[2] P[3] P[4] 100% FINE 200mm/sec FINE 200mm/sec CNT100 200mm/sec CNT100 When the third line of the above program is executed, the robot moves to P[3] on the circle that is calculated by P[2], P[3] and P[4]. The robot moves to P[3] on the direction in the order of P[2]->P[3]-> P[4]. See Figure 7–14 . 7–15 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Figure 7–14. This Path Used 7.2.3.6 Cases when the Circular Path Cannot Be Planned Shortage of Type A Motion Instructions You must teach three or more successive type A motion instructions. If you do not, it is displayed as “INTP-609 ARC:A needs 3 points (%d)”. Ex.1) A motion instruction is isolated. It is displayed as “INTP-609 ARC:A needs 3 points (1).” 1: J P[1] 100% FINE 2: A P[2] 200mm/sec FINE 3: L P[3] 200mm/sec CNT100 Ex.2) There are only two successive A motion instructions. It is displayed as “INTP-609 ARC:A needs 3 points (2)” 1: 2: 3: 4: J A A L P[1] P[2] P[3] P[3] 100% FINE 200mm/sec FINE 200mm/sec CNT100 200mm/sec CNT100 Teaching of the Same Position When it is impossible to form a circular motion by three points, the robot moves in a linear motion. When the same point is written continuously, the robot moves in a linear motion. 1: 2: 3: 4: 5: 6: 7–16 J A A A A L P[1] P[2] P[2] P[3] P[3] P[4] 100% FINE 200mm/sec 200mm/sec 200mm/sec 200mm/sec 200mm/sec FINE CNT100 CNT100 FINE FINE MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Figure 7–15. Robot Moves in a Linear Motion Motion of 3rd line: Current point and destination point are the same, so the robot does not move. Motion of 4th line: Destination point and next destination point are the same, so the robot moves in a linear motion. Motion of 5th line: Current point and destination point are the same, so the robot does not move. Motion of 6th line: Destination point and next destination point are the same, so the robot moves as linear motion. When Three Points are in a Line In this case, the robot does not move as a circular motion. 1: 2: 3: 4: J A A A P[1] P[2] P[3] P[4] 100% FINE 200mm/sec FINE 200mm/sec CNT100 200mm/sec CNT100 Figure 7–16. Robot Moves Linear When the Circular Arc is Larger than 180 degrees In type A motion instructions, the robot can not move on a circular arc bigger than 180 degrees. 7–17 7. PROGRAM INSTRUCTIONS 1: 2: 3: 4: J A A A P[1] P[2] P[3] P[4] MAROUHT9102171E REV F 100% FINE 200mm/sec FINE 200mm/sec CNT100 200mm/sec CNT100 Figure 7–17. Robot Can't Move 7.2.3.7 Resume After Pause If robot motion is paused and resumed without change, the resumed path is the same as if no pause occurred. 1: 2: 3: 4: 5: 6: J A A A A L P[1] P[2] P[3] P[4] P[5] P[6] 100% FINE 200mm/sec 200mm/sec 200mm/sec 200mm/sec 200mm/sec FINE CNT100 CNT100 FINE FINE 7.2.3.8 Resume After Jog If a program is paused during type A motion, then the robot is jogged and the program is resumed. In this case, if the original path resume is enabled, the robot returns to the paused position and continues the motion. (If the original path resume is disabled, the robot moves from the current position to the destination position on a circular path. Then the robot moves along the programmed path.) For example, the program is paused during motion at 3th line. Then the robot is jogged and the program is resumed. At first, the robot moves to P[3] as a circular motion is made by the current position, P[3] and P[4]. Then it moves to P[4] on the circular arc formed by P[3], P[4] and P[5]. The path to P[3] and the path to P[4] are blended because motion instruction to P[3] uses CNT100. 7–18 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Figure 7–18. Resume After Jog 7.2.3.9 Resume After Pause and Modification of Programs Change of Destination Point In this case, the resumed motion is a circular motion and its path is calculated using changed destination point. For example, suppose the program is paused during the motion to P[3]. Then P[3] is modified by direct numerical input and the program is resumed. The robot moves in a circular motion that is calculated by the current position, destination position P[3] and next position P[4]. See Figure 7–19 . 7–19 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Figure 7–19. Resume After Jog Change of Next Destination Point If P[4] is changed in the example above, the changed P[4] is used to calculate the circular path. See Figure 7–20 . Figure 7–20. Change of Destination Point 7–20 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Deletion of Next A Motion Instruction and Resume If the program is paused on type A motion and the next motion destination point is deleted, it means that the point used to calculate circular path is lost. Even after deletion, if the next destination point is a type A motion instruction, resumed motion is a circular arc. It is calculated by the current position, destination point, and the next destination point. Figure 7–21 is an example. The program is paused during motion from P[2] to P[3], and P[4] is deleted. See Figure 7–21 . Figure 7–21. Change of Next Destination Point The robot moves to P[3] in a circular motion. The arc is formed by the current position, P[3] and P[5]. To P[5], the robot moves in a circular motion that is calculated by P[2], P[3] and P[5]. In this particular case, however, because P[3] to P[5] is more than 180 degrees, an error "MOTN-98" Circle angle too large will be posted. But when P[2] to P[5] is less than 180 degrees, as it should be, the motion will perform as described above. See Figure 7–22 . 7–21 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Figure 7–22. Deletion of Next A Motion If there are no more motion instructions or the next motion instruction is not type A, the paused motion instruction is the last A. In this case, circular motion is calculated by the current position and destination position. If the program is paused during the motion from P[3] to P[4], then the motion instruction to P[5] is deleted. See Figure 7–23 . Figure 7–23. Deletion of Next A Motion Because P[5] is deleted, the motion to P[4] is the last type A motion. After the resume, the robot moves to P[4] as a type A motion that is calculated by P[3], current position and P[4]. After that, the robot moves to P[6] in a linear motion. See Figure 7–24 . 7–22 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Figure 7–24. Deletion of Next A Motion Current Instruction Becomes the First A Motion After Modification Suppose that the program is paused on the first A motion, and then modified. Even if the program is changed and the paused motion instruction is not the first one any more, the robot moves in a linear motion. On the other hand, even if the type A motion instruction is changed to the first one after the program modification, the motion is resumed as type A motion. The change is not reflected. 1: 2: 3: 4: 5: 6: 7: 8: 9: J A A A L A A A J P[1] P[2] P[3] P[4] P[5] P[6] P[7] P[8] P[9] 100% FINE 200mm/sec 200mm/sec 200mm/sec 200mm/sec 200mm/sec 200mm/sec 200mm/sec 200mm/sec FINE CNT100 FINE CNT100 FINE CNT100 FINE FINE Ex1) The program is paused during the motion to P[6] and change the previous instruction from the linear motion to the type A motion. See Figure 7–25 . 7–23 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Figure 7–25. Program is Paused Because the motion to P[6] was the first type A motion, it was linear motion. But after the modification, the programmed path is as shown in Figure 7–26 . Figure 7–26. After Modificaton Programmed Path In this case, if motion to P[6] is resumed, the robot moves to P[6] in a linear motion. See Figure 7–27 . Figure 7–27. Motion is Resumed 7–24 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS If the program is resumed by backward execution, the robot moves to P[5] as circular motion. The resumed path is calculated by P[7], current position and P[5]. Ex.2) Changes contrary to Ex.1. Program is paused during the motion to P[6]. Interpolation type of motion to P[5] is changed to linear. See Figure 7–28 . Figure 7–28. Program is Paused Figure 7–29 is the programmed path of a modified program. The motion instruction to P[6] is the first instruction now. See Figure 7–29 . Figure 7–29. Programmed Motion But motion is resumed as a type A motion. The path is calculated by current position, P[6] and P[7]. See Figure 7–30 . Figure 7–30. Motion is Resumed 7–25 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F If the program is resumed by backward execution, the robot moves to P[5] in a linear motion. 7.2.3.10 Pause and Resume from Another Type A Motion Instruction A motion is resumed the same as the other motion type. In the following example the program is paused during motion to P[2] and resumed from the motion instruction to P[3]. The robot moves in a circular motion in order to get to the current position, P[3] and P[4]. See Figure 7–31 . Figure 7–31. Pause and Resume for Another A Motion In following example, the program is paused during motion to P[2] and resumed from the motion instruction to P[4]. This path is shown as a dotted line in Figure 7–32 . However, this circular arc will be over 180 deg, so the error “MOTN-098 Circle angle too large” occurs and the program is not executed. 7–26 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Figure 7–32. Program is Paused The next example is resumed from motion to P[2] after hold during motion to P[4]. Motion to P[2] is the 1st A motion. In this case, the robot moves in a linear motion. See Figure 7–33 . Figure 7–33. Single Step Execution 7.2.3.11 Start of Program from A Motion When the program is started (not resumed) from middle of a series of type A motion instructions, how the robot moves is the same as in Section 7.2.3.10 . 7–27 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F 7.2.3.12 Single Step Execution If a type A motion instruction is executed by single step, the program is paused on every taught point like another motion instruction. See Figure 7–34 . Figure 7–34. Single Step Execution P[3] P[6] P[ 1] P[ 2] P[ 4] P[ 6] P[ 5] 7.2.3.13 Backward Execution If the type A motion instruction is executed by steppin backwards, the robot moves backward on the same path as in forward execution, and the program is paused on every taught point. See Figure 7–35 . Figure 7–35. Backward Execution 7–28 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS 7.2.3.14 Backward Execution After Abort In the case of the last type A instruction, the robot moves in linear motion. In the other cases, robot moves as circular motion. Positions used to calculate the circular motion are as follows: A type A instruction just before the last type A instruction: The current position, destination position and the position of the previous type A motion. Other case: Destination position of the next A motion, current position and destination point. Figure 7–36 shows an example. The program is aborted during motion to P[4]. The program is resumed by BWD, toward P[3]. Figure 7–36. Arc of the Next Destination Point If the program is started by BWD from motion to P[4] from the same position, the line is the 2nd last A. See Figure 7–37 . Figure 7–37. Program Started by Backward From Motion 7–29 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F 7.2.3.15 Backward Resume from Different Line Refer to Section 7.2.3.14 . 7.2.3.16 Logic Instructions Between A Motion Logic instructions can be taught between type A motion instructions. The type A motion type instruction uses positions of successive type A motion instructions to calculate the circular path. Logic instructions that change the order of execution such as JMP, and LBL cannot be executed between type A motions. Logic instructions that affect position data such as position register instruction cannot be used either. Refer to Table 7–1 through Table 7–3 for information on the logic instructions that can and cannot be used between Type A motion instructions. For example, execution of the following programs causes an error at line 4. P[5] is used to calculate type A motion to P[4], so an error occurs before execution of the 4th instruction to prevent unexpected motion. 1: 2: 3: 4: 5: 6: 7: J A A A P[1] P[2] P[3] P[4] JMP A P[5] L P[6] 100% FINE 200mm/sec 200mm/sec 200mm/sec LBL[1] 200mm/sec 200mm/sec CNT100 CNT100 CNT100 CNT100 CNT100 Table 7–1. Available Logic Instructions Between Type A Motion Instructions Instructions Examples Register Instruction R[1]=1 SDO, RDO, UO, SO, WO, GO, AO and F are available. I/O Instruction SDO[1]=ON SDO[1]=PULSE WAIT /TIMEOUT/ LBL causes error. Wait WAIT 2.0secWAIT SDI[1]=ON If called program has motion instruction or unavailable logic instruction between A motion instructions, error occurs. Call CALL (Prg) If macro program has motion instruction or unavailable logic instruction between A motion instructions, error occurs. Macro HAND1 OPEN IF / JMP / LBL causes error. 7–30 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Instructions Examples If/Call IF SDI[1]=ON CALL (Prg) Select/Call SELECT R[1]=1 CALL (Prg1) =1 CALL (Prg2) OTHERS CALL(Prg3) RSR RSR[1] User Alarm UARM[1] Override OVERRIDE=50% Timer TIMER[1]=START Parameter $(Parameter)=100 Remark ! (Remark) Message Message[message statement] Positional Register Lock/Unlock LOCK PREG UNLOCK PREG Maximum Speed JOINT_MAX_SPEED[1] Pause PAUSE Program Execution Instruction RUN (program name) Torque Limit TORQ_LIMIT 50.0% Monitor Instruction MONITOR (Prg)MONITOR END (Prg) Contents of the program specified by monitor instruction are not checked. Condition CONDITION R[1]=1 Condition instruction isn’t checked because it is taught only in program specified by monitor instruction. InterBus-S IBS ATTACH InterBus PCI IB attach Path Switch PS-10mm, 1.0 sec DO[1]=ON SELECT / JMP / LBL causes error. 7–31 7. PROGRAM INSTRUCTIONS Instructions Examples Collision Detect COL DETECT ON Approach Instruction Approach_STOP[1] = TMP_DISABLE Arc Arc Start[1] MAROUHT9102171E REV F Table 7–2. Instructions Unavailable Between A Type Motions but Available in Called Programs Instructions Examples End END Jump JMP LBL[1] Label LBL[1] Notes Table 7–3. Instructions Unavailable Between A Type Motion Instructions Instructions Examples Position Register PREG[1]=LPOS PREG[1,1]=100 Abort ABORT Offset OFFSET_CONDITION PR[1] Tool Offset TOOL_OFFSET_CONDITION PR[1] User Frame User Frame Number Tool Frame Tool Frame Number UFRAME[1]=PR[1] UFRAME_NUM=1 UTOOL[1]=PR[1] UTOOL_NUM=1 SpotTool SPOT[1] Palletizing PALLETIZING-B_1 7–32 Notes MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS 7.2.3.17 Available Motion Options Some motion options cannot be used with a type A motion instruction. Unavailable motion options are not displayed in the motion option sub-menu. See Table 7–4 . Table 7–4. Available Motion Options Instructions Example Wrist Joint WJNT Acceleration Override ACC 80 Path PTH Offset Offset PR[1] Tool Offset Tool_Offset PR[1] Remote TCP RTCP Time Before Time After Distance Before TB 2.00sec CALL PRG TA 0.30sec CALL PRG DB 100.0mm CALL PRG Arc Welding Arc Start[1] Weave Weave Sine[1] Touch Sensing Search [X] Coordinated motion COORD Corner Region CR50 Comment In case there is a forbidden logic instruction between the A Type motion instructions in a called program, an error is posted when executed. Vision Offset VOFFSET Continuous Rotation CTV100 Motion Options not in Table 7–4 cannot be added to the type A motion instruction. Major unavailable Motion Options are shown in Table 7–5 . 7–33 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Table 7–5. Major Unavailable Motion Options Instructions Example Incremental INC Skip Skip LBL[1] High Speed Skip Skip PR[1] LBL[1] Spot Welding SPOT[1] Dispense start/end SS[1]/SE Comment SS[1] and SE cannot be added to A motion. However A motion is available between SS and SE. 7.2.3.18 Change of Position Data During Execution of a Type A Motion Instruction In a program with type A motion instructions, one position data is accessed by multiple motion instructions. If position data is changed while the data is being used to calculate a circular path it causes contradiction between calculated paths. The robot can move along an unexpected path. To avoid this, a type A motion instruction can detect inconsistent position at execution. If detected, an alarm is posted. 1: 2: 3: 4: 5: 6: 7: J A A A A A L P[1] 100% FINE P[2] 200mm/sec CNT100 P[3] 200mm/sec CNT100 PR[1] 200mm/sec CNT100 P[5] 200mm/sec CNT100 P[6] 200mm/sec CNT100 P[7] 200mm/sec FINE Line 4 uses PR[1]. When line 3 is executed, circular path is calculated by 3 points; P[2], P[3], PR[1]. The position data of PR[1] is used. When line 6 of this program is executed, the circular route is computed by 3 points; PR[1], P[5], P[6]. The position data of PR[1] is used again. Therefore, if the position in PR[1] is changed during execution from line 3 to line 6, the robot can move along an unexpected path. To avoid this, substitution to position register is forbidden between type A motion instructions. However, you can change the value of the position register in the position register screen. A type A motion instruction can detect a position register change. At every execution of instructions, it checks if the value of position register is changed or not. For example, if the value of the PR[1] is changed in position register screen during execution of line 5, “INTP-627 (program name, line number) ARC: Inconsistent position” is posted when line 6 is executed. 7–34 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS To avoid stopping production by changing the position register, you can use “LOCK PREG“/”UNLOCK PREG“ instructions. Teach “LOCK PREG“/”UNLOCK PREG“ before/after the type A motion instructions that access position registers. The following program is an example. This makes it is impossible to change the value of position register by position resister screen when instructions between “LOCK PREG“ and “UNLOCK PREG“ are executed. 1: 2: 3: 4: 5: 6: 7: 8: 9: J P[1] 100% FINE LOCK PREG A P[2] 200mm/sec CNT100 A P[3] 200mm/sec CNT100 A PR[1] 200mm/sec CNT100 A P[5] 200mm/sec CNT100 A P[6] 200mm/sec CNT100 UNLOCK PREG L P[7] 200mm/sec FINE A change of User frame or Tool frame also has effect on position data in type A motion instructions. Therefore instructions that change User frame or Tool frame cannot be executed between type A motion instructions. However, you can change User frame or Tool frame by using the “SETUP Frames” screen. A motion instruction can detect the change of User frame or Tool frame. At every execution of instruction, it checks whether the User or Tool frame is changed or not. 7.2.4 Positional Information 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. Refer to Chapter 8 CREATING A PROGRAM for more information on adding motion instructions. In the following program line, the positional information is represented by P[1]. Positional information is made up of seven components, as shown in Figure 7–38 . These components are represented by the position command, P[n]. Figure 7–38. Positional Information • 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. 7–35 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F • 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. 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. Refer to Section 7.24 . 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. Refer to the “Planning and Creating a Program” chapter in the Setup and Operations Manual for more information on modifying the positions in your program. 7.2.5 Position Confirmation Position Confirmation provides a visual indicator (an @ symbol) on a motion line when the robot is near the position. To configure the Position Confirmation feature, set the system variable $MNDSP_POSCF using a setting in Table 7–6 . 7–36 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Table 7–6. $MNDSP_POSCF Configuration Settings $MNDSP_POSCF Description 0 (Disabled) The “@” symbol is not displayed in the editor. Example Program 1:J 2:J : 3:L : 4:J 1 (Multiple @) P[1] 100% FINE P[2] 40% FINE Arc Start E1[1] P[3] WELD_SPEED FINE Arc End E1[3] P[1] 100% FINE The "@" symbol is displayed next to all positions if the robot is currently near those positions. 1:J @P[1] 100% FINE 2:J P[2] 40% FINE : Arc Start E1[1] 3:L P[3] WELD_SPEED FINE : Arc End E1[3] :J @P[1] 100% FINE 2 (Single @) The "@" symbol is displayed next to the position of the current line if the robot is near that position. 1:J @P[1] 100% FINE 2:J P[2] 40% FINE Arc Start E1[1] 3: P[3] WELD_SPEED FINE : Arc End E1[3] 4:J P[1] 100% FINE 7.2.6 Motion Status Display The teach pendant editor can display motion status information on each motion line. The example program shown in Figure 7–39 displays the distances from all the positions in the program to the current tool center point (TCP) in millimeters. 7–37 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Figure 7–39. An Example Program in Display Mode 1 The distances are updated continuously as the robot moves. This feature can be helpful while teaching or testing programs. This is display mode number 1. In this mode, the distance from the position to the TCP is displayed on multiple lines. Other display modes are available. The other modes display data only on the current motion line. This feature is enabled and configured by setting the system variable $MNDSP_MST. After the feature is enabled and configured, it can easily be toggled ON or OFF by selecting the “Motion info” entry in the list of EDCMD commands. See Figure 7–40 . 7–38 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Figure 7–40. Motion Info is Toggled ON and OFF with EDCMD TEST 1:J 2:J : 3:L : 4:J [End] JOINT 10 % 1/5 @P[1] 100% FINE__________________ P[2] 40% FINE | 1 Insert | Arc Start[1] | 2 Delete | P[3] WELD_SPEE| 3 Copy | Arc End[1] | 4 Find | @P[1] 100% FINE| 5 Replace | | 6 Renumber | | 7 Comment | | 8 Undo | | 9 Motion info | ----------+ +- Setup The behavior of the motion status display feature can be adjusted using the following fields in the system variable $MNDSP_MST. Refer to the System Reference Manual for more information about $MNDSP_MST. $disp_enable turns the motion status display ON or OFF in the Editor. It is toggled by the motion status element in the EDCMD menu. $disp_edcmd enables the display of the motion status menu choice in the EDCMD pullup menu. $disp_inauto enables the motion status display during AUTO mode. $disp_enable must also be TRUE. $disp_is_on indicates the motion status is displayed in the editor. $disp_rsmdis enables display of the resume distance in the editor. $mode_grp[1..7] is the display mode for each group. Valid modes are listed in Table 7–7 . See Table 7–8 for an example program display for each mode. Table 7–7. Display Modes Mode Description Header 1 Distance on ONE line P[mm to TCP G1] 2 Distance on Multiple lines P[mm to TCP G1] 3 COMMAND PERCENT P[Cmnd % G1] 4 COMMAND TIME P[Cmnd Time G1] 5 COMMAND DISTANCE P[Cmnd Dist G1] 6 COMMAND DISTANCE UP P[Cmnd D UP G1] 7 COMMAND DISTANCE DOWN P[Cmnd D DN G1] 8 COMMAND PROGRESS P[Cmnd PBar G1] 7–39 7. PROGRAM INSTRUCTIONS Mode MAROUHT9102171E REV F Description Header 9 COMMAND PERCENT AND DISTANCE UP P[Cmnd % UP G1] 10 COMMAND PERCENT AND DISTANCE DOWN P[Cmnd % DN G1] 11 COMMAND PERCENT AND TIME P[Cmnd % T G1] 19 Travel Angle in degrees P[Travel dg G1] 20 Work Angle in degrees P[WorkXZ dg G1] 21 Current X location in world frame P[X (1) mm G1] 22 Current Y location in world frame P[Y (2) mm G1] 23 Current Z location in world frame P[Z (3) mm G1] 24 Current W orientation in world frame P[W (4) deg G1] 25 Current P orientation in world frame P[P (5) deg G1] 26 Current R orientation in world frame P[R (6) deg G1] Comments Positions can have comments up to 16 characters in length. When the motion status is displayed, only the first 10 characters of the comments will be visible. Multiple Groups When a system has multiple groups, the motion status display can display information for any of the groups. The group number is displayed in the header with a short description of the display mode. To change the selected group number, use the FCTN menu entry CHANGE GROUP. If the selected group is not in the program group mask, the lowest group number in the mask is selected for display. Each group can display data in a different mode. You can set the mode for each group using the array $mndsp_mst.$mode_grp[1..6]. Resume Distance When a running program pauses the robot stops and the position of the robot is recorded. If the robot is moved from the recorded stop position it may return to this position when the program is resumed, depending on what options are installed. The distance the robot has moved from the stop position can be displayed in the upper left corner of the editor if the variable $mndsp_mst.$disp_rsmdis = TRUE. 7–40 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Figure 7–41. Resume Distance Display Distance Modes Modes 1 and 2 display the distance between the program positions and the robot tool center point. The distance is along a straight line, not along the programmed path. The actual distance traveled by the robot could be greater if it involves Joint or Circular motion. Motion Command Modes The motion command modes 3 – 11 display the output from the motion system as it executes the current line. The timing of this data slightly precedes the actual robot position. The times and distances displayed reflect the motion command, not the real time feedback data from the motor encoder. When a motion is paused the data will remain displayed. When a motion is resumed the data displayed will reflect the motion from the stop position to the destination position. Note Modes 3 - 11 only display distance information for L, C, and A motion types. In modes 3 11, Joint motions will display an increasing percentage and total time like Mode 11. 7–41 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Table 7–8. Display Mode Examples Mode Example Description 0 P[Inv. Mode G1] \\\1:J @P[1: ] 100% FINE 2: P[2: ] 40% FINE : Arc Start[1] 3:L P[3: ] WELD_SPEED FINE : Arc End[1] 4:J @P[1: ] 100% FINE 1 P[mm to TCP G1] \\\1:J @P[1: .000] 2:J P[2: ] : Arc Start[1] 3:L P[3: ] : Arc End[1] 4:J @P[1: ] 100% FINE 40% FINE WELD_SPEED FINE 100% FINE 2 \\\1:J 2:J : 3:L : 4:J P[mm to TCP G1] @P[1: .000] P[2: 26.795] Arc Start[1] P[3: 11.520] Arc End[1] @P[1: .000] 100% FINE 40% FINE 7–42 The distance of this position from the TCP is displayed, for this line only. In this example, $MNDSP_MST.$MODE_GRP[1] = 1. The cursor is on line 1 and the robot is at P[1]. The distance from P[1] to the robot Tool Center Point (TCP) in millimeters is displayed as 0.000. If you jog the robot away from P[1], the distance to the tool will be displayed dynamically. Distance on MULTIPLE lines. Mode 2 is similar to mode 1. In mode 2 a distance is displayed in all the motion lines, not just the cursor line. The distance is from the recorded position to the current tool center point. WELD_SPEED FINE 100% FINE 3 P[Cmnd % \\\3:L P[3: 28% : Arc End[1] No motion status displayed. This is an invalid mode for this group. In this example, group 1 is selected for display. The display mode for group 1 is specified in $MNDSP_MST.$MODE_GRP[1]. If the mode is 0, or some other mode not listed in this table, the header will indicate "Invalid Mode," and data will not be displayed in the motion lines. G1] ] WELD_SPEED FINE COMMAND PERCENT Mode 3 displays the percentage of the motion completed while the move progresses. It is updated dynamically. If you pause execution before reaching the position and continue, the percentage will be reset to 0 and then increase to reflect the remaining motion. MAROUHT9102171E REV F Mode Example 4 P[Cmnd Time G1] \\\3:L P[3: 2.9s] WELD_SPEED FINE : Arc End[1] 5 P[Cmnd Dist G1] \\\3:L P[3: 24.19] WELD_SPEED FINE : Arc End[1] 6 P[Cmnd D UP G1] \\\3:L P[3: 6.758] WELD_SPEED FINE : Arc End[1] 7 P[Cmnd D DN G1] \\\3:L P[3: 17.43] WELD_SPEED FINE : Arc End[1] 8 P[Cmnd PBar G1] \\\3:L P[3:-] WELD_SPEED FINE : Arc End[1] 9 P[Cmnd % UP G1] \\\3:L P[3: 28% 6.758] WELD_SPEED FINE : Arc End[1] 7. PROGRAM INSTRUCTIONS Description COMMAND TIME Mode 4 displays the total time required for the motion to complete. If does not change dynamically, unless the speed override is changed. If the speed override is changed, the time is updated to reflect the total time for the entire motion at the new override, not the remaining time. COMMAND DISTANCE Mode 5 displays the total move distance. It does not change during the motion. If you pause execution and then resume the display will change to show the distance to P[3] from the pause position. COMMAND DISTANCE UP Mode 6 is similar to mode 3. It is dynamic. It shows the distance increasing (UP) while moving to P[3]. If you pause and resume, the distance is reset to zero. If single step is active, stepping through the entire motion on line 3 to P[3], without stopping, will result in the total move distance displayed when the robot reaches P[3]. COMMAND DISTANCE DOWN Mode 7 is just like mode 6 except the distance is shown decreasing (DN - down) to zero. COMMAND PROGRESS Mode 8 displays a progress bar. It behaves just like the percentage of Mode 3, only graphically. COMMAND PERCENT and DISTANCE UP Mode 9 displays both the increasing percentage of Mode 3 and the increasing distance of Mode 6. 7–43 7. PROGRAM INSTRUCTIONS Mode Example 10 P[Cmnd % DN G1] \\\3:L P[3: 28% 17.43] WELD_SPEED FINE : Arc End[1] 11 P[Cmnd % T G1] \\\3:L P[3: 28% 2.9s] WELD_SPEED FINE : Arc End[1] 19 MAROUHT9102171E REV F Description COMMAND PERCENT and DISTANCE DOWN Mode 10 displays both the increasing percentage of Mode 3 and the decreasing distance of Mode 7. COMMAND PERCENT and TIME Mode 11 displays both the increasing percentage of Mode 3 and the total time of Mode 4. Travel Angle in degrees A negative number indicates a push angle. A positive number indicates a drag angle. P[Travel dg G1] \\\1:J @P[1: —10.277] 100% FINE 20 P[WorkXZ dg G1] \\\1:J @P[1: 36.832 R] 100% FINE 21 Work Angle in degrees The header WorkXZ indicates the work angle is relative to the XZ plane. WorkXY means relative to the XY plane. The letter L or R after the angle indicates the torch is to the left or right of vertical. Current X location in world frame P[X (1) mm G1] \\\1:J @P[1: 2070.261] 100% FINE 22 Current Y location in world frame P[Y (2) mm G1] \\\1:J @P[1: 25.242] 100% FINE 7–44 MAROUHT9102171E REV F Mode Example 23 7. PROGRAM INSTRUCTIONS Description Current Z location in world frame P[Z (3) mm G1] \\\1:J @P[1: 1226.707] 100% FINE 24 Current W orientation in world frame P[W (4) deg G1] \\\1:J @P[1: -2.027] 100% FINE 25 Current P orientation in world frame P[P (5) deg G1] \\\1:J @P[1: 19.972] 100% FINE 26 Current R orientation in world frame P[R (6) deg G1] \\\1:J @P[1: 2.375] 100% FINE Limitations • Joint motions do not display distances for the Command Distance modes. Percentage and time are displayed instead. • Command times and distances are approximate. • Incremental motions do not display distance properly for modes 1 and 2. • Not all motion options and formats are supported. • The units for distance are always mm and cannot be changed. • Extended axes are not supported. 7.2.7 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. See the following screen for an example. 7–45 7. PROGRAM INSTRUCTIONS P[1] UF:0 UT:1 CONF: N 00 X 100.000 mm W 12.555 Y 100.000 mm P 3.123 Z 100.000 mm R .014 MAROUHT9102171E REV F deg deg deg These fields indicate the current frame number. UF: User Frame number • 0 = world coordinate • 1-10 = normal UFRAME number • F = current $MNUFRAMENUM UT: User Tool frame number • 0 = not valid • 1-10 = normal UTOOL number • F = current $MNUTOOLNUM Note These values cannot be modified directly from the teach pendant. Note The position register screen has UF and UT in the same area, and this value is always "F" for both. 7.2.8 Switch Frame Check Type This function provides an easy way to move forward or backward past a frame change in a teach pendant program. You must set $FRM_CHKTYP to move through the frame change correctly. The system variable $FRM_CHKTYP allows you to switch the frame check type. Refer to Table 7–9 . Table 7–9. $FRM_CHKTYP Values $FRM_CHKTYP DESCRIPTION -1 Prohibits FWD or BWD motion between two points which have different frame numbers. -2 The system does not check frame number at FWD and BWD. System does not change the frame number $MNUFRAME_NUM, $MNUTOOL_NUM when you 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 you FWD/BWD execute past a frame change. 7–46 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Note If a different frame is used for circular motion, the robot will not move, even if $FRM_CHKTYP is 2 or -2. Figure 7–42 shows the frame numbers used for the positional data in a program example. Figure 7–42. Frame Number of Positional Data Example Program 1: UTOOL_NUM = 1 2: J P[1] 100% FINE /* P[1] UT=1 */ 3: J P[2] 100% FINE /* P[2] UT=2 */ Table 7–10 describes how the example program in Figure 7–42 operates, depending on the setting of the $FRM_CHKTYP system variable. Table 7–10. Example Program Operation $FRM_CHKTYP Value FWD Execution BWD Execution -1 The system posts a book keeping error at line 3. You manually set UTOOL_NUM = 2 and backward execute from line 3. The system posts book keeping error at line 2. -2 The system does not post a book keeping error and the robot moves correctly. You bwd execute from line 3 to line 2. The system does not post a book keeping error. 2 The system does not post a book keeping error at line 3 and the robot moves correctly. Also, the system automatically changes UTOOL_NUM to 2 at line 3. You backward execute from line 3 to line 2. The system does not post a book keeping error at line 2. But the system automatically changes UTOOL_NUM to 1 when backward executing from line 3 to line 2. 7.2.9 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 percent, 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. 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, an error will occur. 7–47 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F 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. J P[1] 50% FINE • 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. See Figure 7–43 . J P[1] 2 sec FINE L P[2] 2 sec FINE Figure 7–43. Example of the Sec Speed Feature 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. See Figure 7–43 . L P[1] 100mm/sec FINE or C P[1] 100mm/sec FINE 7–48 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS 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 as high as 100%. Be sure to check the speed value before you execute the instruction; otherwise, you could injure personnel or damage equipment. Note When the speed is specified in mm/sec, cm/min, or inch/min, then the value entered will represent the speed at the tool center point. Rotational control of axes around the tool centerpoint uses rotational degrees per second (deg/sec), with a default range of values from 1 to 500 degrees per second. L P[1] 90 deg/sec FINE 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. Note A program will stop pre-execution of subsequent instructions when it reaches a motion instruction with the register speed type. This ensures the motion instruction uses the register speed type value. See Figure 7–44 . Figure 7–44. Variable Motion Speed Program Execution Example This feature is enabled when the system variable $RGSPD_PREXE = FALSE. You can disable this feature by setting $RGSPD_PREXE = TRUE. However, the robot will not be able to move at the speed specified by the register value. The following examples show various motion type instructions that take their speed value from a register (R[ ]). 7–49 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F • 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 • Palletizing PALLETIZING-B_1 L PAL_1[A_1] R[4]mm/sec CNT100 L PAL_1[BTM] R[4]mm/sec FINE L PAL_1[R_1] R[4]mm/sec CNT100 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 7–11 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 7–11. Range of Register Values to Specify a Variable Motion Speed Unit Range of Register Values % 1 to 100 Integer type sec 0.1 to 3200.0 Float type (*1) mm/sec 1 to 2000 Integer type (*2) cm/min 1 to 12000 Integer type (*2) inch/min 0.1 to 4724.41 Float type (*3) deg/sec 1 to 500 Integer type (*4) *1 : Valid one decimal point. *2 : The speed limit is the value of $MRR_GRP.$SPEEDLIM. *3 : Valid one decimal point. The limit is the value of $MRR_GRP.$SPEEDLIM/25.4 * 60. *4 : The limit is the value of $MRR_GRP.$ROTSPEEDLIM * 180/3.141. 7–50 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS See Figure 7–45 for the syntax for changing the motion speed from a specific motion speed value to a variable (register) speed value or for changing the motion speed from a variable (register) speed value to a specific motion speed value. Figure 7–45. Syntax for Changing the Motion Speed Use Procedure 7-1 to replace speed values using the Motion Modify screen in [EDCMD] REPLACE. Procedure 7-1 Replacing Speed Values (using Motion Modify in [EDCMD] REPLACE) Conditions • You are currently editing a teach pendant program that contains motion instructions. Steps 1. Move the cursor to the line number of the instruction in which you want to replace speed values and press F5, [EDCMD]. 2. Select Replace. Select Replace menu 1 Register 5 Motion modify 2 Call 6 3 I/O 7 4 JMP/LBL 8 3. Select Motion modify. See the following screen for an example. Modify motion menu 1 Replace speed 2 Replace term 3 Insert option 4 Remove option 5 6 7 8 4. Select Replace speed. See the following screen for an example. 7–51 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Select interpolate 1 Unspecified type 5 2 J 6 3 L 7 4 C 8 RSR0001 1: L P[1] 20.0sec FINE 2: L P[2] 500mm sec FINE 3: L P[3] R[1]mm sec FINE Select source type 10% 5. Specify the interpolation type (motion type) of the motion instruction for which you want to search: • Unspecified type - searches for joint, linear, and circular motion instructions • Joint - searches for joint motion instructions only • Linear - searches for linear motion instructions only • Circular - searches for circular motion instructions only 6. Specify the speed type of the motion instruction you want to search for: • All type - searches for motion instructions that use a speed value, a variable (register) value, or an indirect variable (register) speed value. • Speed value - searches only for motion instructions that use a speed value. • R[ ] - searches only for motion instructions that use a variable (register) speed value. • R[R[ ]] - searches only for motion instructions that use an indirect variable (register) speed value. See the following screen for an example. Speed type menu 1 All type 2 Speed value 3 R[ ] 4 R[R[ ]] 5 6 7 8 7. Specify the units of the replacement motion instruction. See the following screen for an example. 7–52 MAROUHT9102171E REV F Select motion item 1 % 2 mm/sec 3 cm/min 4 inch/min 7. PROGRAM INSTRUCTIONS 5 deg/sec 6 sec 7 8 8. Select the speed type of the replacement motion instruction: • Speed value - changes the speed of the found (searched) motion instruction to a speed value. • R[ ] - changes the speed of the found (searched) motion instruction to a variable (register) speed value. • R[R[ ]] - changes the speed of the found (searched) motion instruction to an indirect variable (register) speed value. See the following screen for an example. Select motion item 1 Speed value 2 R[ ] 3 R[R[ ]] 4 5 6 7 8 9. If you selected R[ ] or R[R[ ]], type a register number. 10. Select how you want the found motion instruction to be replaced: • F2, ALL - changes all found motion instructions below the current line to the specified speed type and value. • F3, YES - changes only the found motion instruction on the current line to the specified speed type and value. • F4, NEXT - skips the found motion instruction on the current line and searches the next motion instruction. • F5, EXIT - ends the motion modify operation. See the following screen for an example. RSR0001 Modify OK ? 11. Continue the search and replace operations as desired. 12. When you are finished with all search and replace operations, press F5, EXIT. 7–53 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F LP[1] WELD_SPEED CNT100 Motion instructions used during welding use the WELD_SPEED parameter. WELD_SPEED is defined in the weld schedule specified by an ArcStart instruction. You can use WELD_SPEED only for linear or circular motion. If you change the motion type of an instruction that uses WELD_SPEED from circular or linear to joint, the speed will change to 100%. When a motion instruction that contains WELD_SPEED is executed, the speed used depends on certain conditions: • If the Arc START instruction is executed before executing the WELD_SPEED motion instruction, the weld speed defined in the corresponding weld schedule is used. • If the Arc Start instruction is not executed before executing the WELD_SPEED motion instruction, the default weld speed is used as the value of WELD_SPEED. The default weld speed is defined on the SETUP Weld System screen. • If the program is resumed from a WELD_SPEED motion instruction, the WELD_SPEED in effect when the program was paused is used. • If the following sequence is executed while the program is paused and then the program is restarted, the default weld speed is used: 1. You step the program backward through some instructions. 2. You move the cursor to another line in the program. 3. You abort the program. 7.2.10 Termination Type Termination type defines how the robot ends the move in the motion instruction. The following termination types are available: • Fine • Continuous • Corner Region — available only if you have the constant path motion option and corner region option • Corner Distance — available only if you have the constant path motion option and corner distance control option The fine and continuous termination types are described in this section. Refer to Section 7.3.6 for information on the corner distance termination type. Refer to Section 7.3.2 for information on the corner region termination type. Fine Termination Type 7–54 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS J P[1] 50% FINE Fine termination type causes the robot to stop at the destination position before moving to the next position. Figure 7–46 shows how the robot will move when you specify the fine termination type. Figure 7–46. 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. 7–55 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F 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. Figure 7–47 shows how the robot will move with different continuous termination type values. Figure 7–47. Robot Motion with Continuous Termination Type 7.3 MOTION OPTIONS INSTRUCTION Motion options can be used to provide additional information to perform specific tasks during robot motion. Motion options include • Acceleration override Refer to Section 7.3.1 • Advanced Constant Path Refer to Section 7.3.2 — Linear Distance — Corner Region 7–56 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS — Process Speed — Max Speed • Break Refer to Section 7.3.3 • Constant Path Refer to Section 7.3.4 • Coordinated motion Refer to Section 7.3.5 • Corner Distance Control Refer to Section 7.3.6 • EV (extended velocity) Refer to Section 7.3.7 — Simultaneous EV — Independent EV • Incremental motion Refer to Section 7.3.9 • Minimal rotation with joint motion Refer to Section 7.3.10 • Offset Refer to Section 7.3.11 • Offset position register Refer to Section 7.3.12 • Remote TCP Refer to Section 7.3.14 • Search [ ] Refer to Section 7.3.15 • Skip label Refer to Section 7.3.17 • Time before/Time after Refer to Section 7.3.18 • Tool offset 7–57 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Refer to Section 7.3.19 • Tool offset position register Refer to Section 7.3.20 • Wrist joint Refer to Section 7.3.21 7.3.1 Acceleration Override J P[1] 50% FINE ACC50 The acceleration override motion option specifies the acceleration/deceleration override value for each axis during motion. Acceleration override shortens or lengthens the acceleration time when the robot moves from a starting position to the destination position. Acceleration override is programmed at the destination position. The acceleration override value ranges from 20 to 100%. This value is a percentage of the acceleration. For example, an acceleration override of 50 means the robot will take twice as long to accelerate or decelerate. Figure 7–48 shows how the acceleration override is used. The acceleration override was created to allow the user to make specific moves slower or more conservative for cases when extra care is needed. The usage of acceleration override over 100% could allow more aggressive motion, but may also cause jerky motion and, if the Collision Guard option is loaded, false collision alarms could occur. Caution Over 100% acceleration might cause awkward motion or vibration. Since large current instantaneously flows to the primary power source, the input voltage might drop depending on equipment power capacity, and this might cause a servo alarm such as power alarm, position error excess, or servo amplifier low voltage. If such an alarm occurs, either reduce the acceleration/deceleration override value, or delete the accelerate/deceleration override instruction. Over 100% acceleration increases the load to the robot arm. It might cause the robot mechanical parts to fail, premature reducer breakdown or shorten reducer life. In general, the usage of acceleration override over 100% should be limited. This setting may reduce the life of the mechanical unit because the default tuned accelerations are being overridden by more aggressive values. 7–58 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Figure 7–48. Acceleration Override 7.3.2 Advanced Constant Path In addition to the Constant Path feature the Advanced Constant Path package consists of the following functions for easy teaching and cycle time reduction. • Linear Distance • either Corner Region (refer to Corner Region Termination Type) or Corner Distance (refer to Corner Distance Control) • Process Speed • Max Speed It requires that the Constant Path option be loaded and enabled. Linear Distance Overview Linear Distance is a robot motion feature that is useful for pick and place material handling applications such as palletizing. Figure 7–49 shows a typical pick and place application. If all termination types are FINE or CNT0, then the pick and place path would be as shown. 7–59 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Figure 7–49. PICK and PLACE Application The robot starts at P1 and goes through P2 and picks up a part at P3. It then goes through P2 to P4 and then to P5 where it places the part. Typically, however, FINE and CNT0 is used only to reach P3 for PICK and to PLACE at P5. For all other motions, high CNT values are used. For instance, the actual path might look like Figure 7–50 . Figure 7–50. PICK and PLACE Application with CNT100 Robot is at J P[2] 100% L P[3] 2000 L [P2] 2000 J [P4] 2000 L [P5] 2000 P1 CNT100 mm/s FINE mm/s CNT100 mm/s CNT100 mm/s FINE This kind of a path will give you better cycle time. However, you do not know how much linearity you will get going from P2 to P3 (for pick) or from P4 to P5 (for place). In order to get the desired linearity, you would adjust either the positions P2 or P4, or you would experiment with different CNT values. For example, you might shift P2 or P4 higher or lower, or you might use CNT50 at P2 or P4. 7–60 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS With Linear Distance, you do not have to guess and experiment. If you want the last 100mm before pick and the last 150mm above place to always be straight above P3 and P5 respectively, you can use Linear Distance for specifying these amounts. Refer to Figure 7–51 . Figure 7–51. Adjusting P3 and P5 with Linear Distance The program would be (from P1): J L L J L P[2] P[3] P[2] P[4] P[5] 100% 2000 2000 2000 2000 CNT100 mm/s FINE AP_LD100 mm/s CNT100 RT_LD100 mm/s CNT100 mm/s FINE AP_LD150 This is a convenient way to design motions for pick and place. By only adjusting the linear distance, you can determine the appropriate tradeoff between cycle time and approach/retract linearity. Note Linear Distance is implemented on the controller to control the linearity immediately after a pickup at the infeed and just before placement on the pallet. Linear Distance guarantees the distances you specify. Due to ITP resolution, Linear Distance cannot match your value exactly. However, the linear distance that you specify will be the minimum value that system will try to achieve. For example, if you specify 100 mm linear distance, the system might provide 103 mm linear distance, but it will never provide linear distance less than what you specified. How it Works Linear Distance uses two motion option elements: • AP_LD: Approach Linear Distance AP_LD is used for a place motion. L P[2] 2000mm/s CNT0 AP_LD100 L P[2] 2000mm/s CNT0 AP_LDR[1] 7–61 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F In the second example, the distance is specified indirectly via register #1. • RT_LD: Retract Linear Distance RT_LD is used for a pick-up motion. L P[3] 2000mm/s CNT100 RT_LD100 L P[3] 2000mm/s CNT100 RT_LDR[1] In the second example, the distance is specified indirectly via register #1. 7–62 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Figure 7–52. RT_LD: Effect of CNT Value The RT_LD value affects the corner of P3-P2-P1 in Figure 7–52 . The higher the value of RT_LD, the smaller the corner will be. When the RT_LD value is greater than or equal to the distance between P3 to P2, the corner will become 0. The motion will automatically become FINE regardless of the CNT value you specify. 7–63 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Figure 7–53. Place Motion: Two Possible Traces The AP_LD value affects the corner of P1-P4-P5 Figure 7–53 . The higher the value of AP_LD, the smaller the corner will be. When the AP_LD value is greater than or equal to the distance between P4 to P5, the corner will become 0. The preceding motion (motion from P1 to P4) will become FINE regardless of the CNT value for that move. Limitations • The linear distance function only supports the linear motion type. • The linear distance function only supports position (x, y, and z) and not orientation (w, p, and r). • The linear distance function only supports articulated robots and does not support Independent Axes or Positioners. • The local condition trigger time might be different than without Linear Distance. However the timing is repeatable. 7–64 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS • When multiple group motion is used, the motion will be synchronized. However, if more than one group has linear distance enabled, all the groups will have linear distance satisfied. • When using max_speed (refer to max speed section below), the specified Linear Distance may not be guaranteed. • Linear Distance function does NOT support Coordinated Motion (Linear Distance function will be automatically disabled for motions with COORD option). • Linear Distance function does NOT support Continuous Motion Types such as Weave, Continuous Turn, and Robot Link. (The Linear Distance function will be automatically disabled with the continuous motion type.) • Linear Distance function might not work with TCP speed prediction function (TCPP). With Linear Distance specified, TCPP results might not be correct. How to Use Linear Distance Note Due to ITP resolution, Linear Distance cannot match your value exactly. However, the linear distance that you specify will be the minimum value that system will try to achieve. For example, if you specify 100 mm linear distance, the system might provide 103 mm linear distance, but it will never provide linear distance less than what you specified. Procedure 7-2 Using Linear Distance Conditions • You have created a teach pendant program. • Your teach pendant program contains at least one linear motion instruction. Steps 1. Press SELECT. 2. Move the cursor to the name of the program you want to modify and press ENTER. 3. Continuously press the DEADMAN switch and turn the teach pendant ON/OFF switch to ON. 4. To touch up and modify motion instructions, move the cursor to the line number of the motion instruction you want to modify. Note To use Linear Distance, you must modify a linear motion instruction. 5. Move the cursor to the empty space at the end of the linear motion instruction that you want to modify and press F4, [CHOICE]. You will see a screen similar to the following. 7–65 7. PROGRAM INSTRUCTIONS Motion Modify 1 Retract_LD 2 Approach_LD 3 Tool_Offset 4 Tool_Offset,PR[ LD MAROUHT9102171E REV F 5 6 7 8 JOINT 10 % TIME BEFORE TIME AFTER DISTANCE BEFORE ---next page--5/8 4:J P[2] 100% CNT100 5:L P[2] 2000mm/sec CNT10 : Offset,PR[1] AP_LDR[1] 6:L P[2] 2000mm/sec CNT100 : RT_LDR[1] 7:J P[1] 100% CNT100 Select item 6. If you want to use Linear Distance on an approach point, select Approach_LD. If you want to use Linear Distance on a retract point, select Retract_LD. 7. Type the number of millimeters that you want the tool center point (TCP) to approach or retract using Linear Distance. Note The default value is “direct” which means that the value is a specific number in millimeters. To use a value stored in a register, press F3, INDIRECT, and type the register number. Corner Region Termination Type (CRy) L P[2] 100 mm/sec CRy CRy is an optional termination type that can be used to adjust the corner rounding for Cartesian motions. When you use the CR termination type, you must specify the corner region value, y, (in millimeters). Caution The Corner Distance and Corner Region options are mutually exclusive meaning that if one option is selected, the other one is not available. Consider this choice carefully before teaching the robot path. To use CRy (where y is in mm) termination type, one has to set $czcdcfg.$cd_enable = FALSE and cycle power. 7–66 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Corner Region value is the distance from the starting of a corner path to the taught position, as shown in the following figure. When CRy is specified, TCP path will maintain the corner path within the specified region, meaning that the actual distance from the starting/ending of a corner path to the taught position is less than or equal to the specified corner region value (y). Figure 7–54. Corner Path When you set corner region, use the following guidelines: • Specify the corner region in millimeters • Corner region value can range in value from 0 mm to 1000 mm • The smaller the corner region value, the closer the robot will get to the taught position, and the less the corner rounding • With a larger corner region value specified, the robot will not get as close to the position and the more corner rounding CRy versus segment distance If the specified corner region value, y, is greater than half the segment distance, then the actual value used is limited to half segment distance as shown below 7–67 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Figure 7–55. Half Segment Length Teaching Techniques You must be careful about the half distance rule stated above. Keep in mind that because of the half distance rule, with large specified corner region value, corner path may still be close to the taught position when the segment distance is short. Use the following guidelines when you teach a path: • Minimize the number of taught positions • Reteach positions using the CR termination type to fit the path instead of adding positions Constant Path with respect to Program Speed Changes Program section with consecutive CRy – path could be maintained much better compared to other termination types even when program speed changes, as shown in the following figure. 7–68 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Figure 7–56. Program Speed Changes Compatibilities and Limitations • Motion Type — CRy supports Cartesian motion types such as LINEAR and CIRCULAR — J motion type is not supported • Multi Group Motion For multi group motions, motion will be synchronized. The corner path is generated as a result of the synchronization of applicable CRy for all involved groups; • CRy termination type only supports articulated robots and does not support INDEPENDENT AXES or POSITIONERs • Motion Options CRy supports the following motion options: — Group motions — RTCP — Line Tracking CRy has no obvious geometric meaning (corner path would be naturally generated by motion blending) during the following transitions — between COORD and non-COORD (if supported) — between RTCP and non-RTCP — between Tracking and non-tracking . If you specify both Linear Distance and CRy termination type, then Linear Distance has preference over CRy in determining a corner path, as shown in the following figures. 7–69 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Figure 7–57. Corner Path determined by CRy if Linear Dist is satisfied 7–70 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Figure 7–58. Corner path is determined by Linear Distance Process Speed PSPD xxx Process speed is a motion option control feature that allows you to adjust robot speed to be faster or slower along a given path (if applicable, the path would be maintained the same regardless of xxx), where xxx is an integer you specify. The larger the value of xxx is, the faster the robot will move along the given path. Process speed is useful for applications with continuous path motion that don’t normally use maximum program speed; for example, sealing and waterjet cutting. Typically, the process controls the program speed: how fast the sealing gun can dispense, and how fast the waterjet can cut. For these applications, teach the desired path using normal methods, tweaking taught position, speed, termtype and ACC. After the path is taught, if you want to adjust its process speed from the nominal taught value, but do not want to change the path, you can use the Process Speed feature. Add this motion option to the range of motion lines where adjustment is required. 7–71 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F • PSPD 100 is equivalent to the default cases without PSPD option. • PSPD greater than 100 means faster process speed, while maintaining the same path. • PSPD less than 100 means slower process speed, while maintaining the same path. • You can still change other fields in the motion for further tweaking, but the same original rules apply; that is, the path will change. This allows you to adjust the path easily, even though PSPD is used. • For PSPD greater than 100, the system internally limits the achievable (but higher) process speed, based on the jerk/acceleration margin available from the default case. Be careful to use the PSPD option to reduce cycle time while maintaining the same path since the jerk/acceleration value will be higher. An example is palletizing, where additional factors such as vibration, duty cycle, reducer life, and so forth, affect cycle time. Caution Process Speed can cause jerky motion if applied too aggressively. To avoid jerky motion, use a reduced speed. PSPDxxx can be added to any selective motion line in a TP program, and is applicable to all motion types. For examples, see the following: • Case 1: if xxx = 100, motion behavior is exactly the same as 100% speed override in the default case, as though there were no PSPD100 7–72 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS • Case 2: if xxx > 100, the speed will be faster than 100% speed override in the default case • Case 3: if xxx < 100, the speed will be slower than 100% speed override in the default case • Default case: 1 2 3 J P[1] 50% FINE L P[2] 500 mm/sec CNT100 L P[3] 500 mm/sec CNT0 • Faster motion case (path is the same, cycle time is shorter): 1 2 3 J P[1] 50% FINE PSPD110 L P[2] 500 mm/sec CNT100 PSPD110 L P[3] 500 mm/sec CNT0 PSPD110 • Slower motion case (path is the same, cycle time is longer): 1 2 3 J P[1] 50% FINE PSPD50 L P[2] 500 mm/sec CNT100 PSPD50 L P[3] 500 mm/sec CNT0 PSPD50 7–73 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Note The system will internally limit the speed override such that the resulting motion performance is within mechanical capabilities. As a result, a large value of xxx may not take effect in some cases and the actual speed override may be smaller than the specified value. Limitations • Under T1 mode, PSPDxxx (with xxx>100) will not take effect • PSPDxxx (with xxx>100) might not take effect for the motion line that has max_speed as programmed speed in a TP program • The PSPD option does NOT support TCP speed prediction function (TCPP) in the first release. That is, for the motions with PSPD option, TCPP might not result in correct results; • The PSPD option does not support — Continuous Turn — Coordinated motions — Robot Link • With large PSPD value or very short segments, the actual corner path might deviate from the one without PSPD option. Max Speed L P[1] max_speed CNT100 In some applications, the desired speed is the maximum speed that the robot can deliver. For joint motion moves, the system delivers the maximum capability of the robot; that is, one of the axes reaches its maximum speed. For linear moves, the system delivers the speed that is specified in the teach pendant instruction. However, the maximum linear speed of 2000mm/sec imposes a limit on the capability of the motor to reach higher speeds. The robot can move faster than the speed specified in the motion instruction. 7–74 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS The max speed option allows you to specify a linear motion that will use the maximum speed capability of the robot. It improves cycle times in Load/Unload applications by speeding up long linear motions. When this option is loaded, the choice of max_speed will be displayed in the speed field of the teach pendant motion instruction for a linear motion. The max_speed option affects only the motions for which the speed is specified as max_speed. Note When you load this option, the itp_time will be set to at least 12ms. • If you change the motion type from Linear to Joint, the speed field will change to 100%. • When the speed field changes from max_speed to another choice, the speed value will return to the original speed value.. Warning When you specify max_speed, the robot will run at high speed. Be sure any loose parts are firmly attached and that the workpiece is secured. Otherwise, you could injure personnel or damage equipment. Limitations • If unsupported options are used, max_speed will be disabled automatically. No warning or error message will be displayed. This option does not support the following: — Any tracking option, such as line tracking, TAST, Mig-Eye, Coordinated motion, and so forth. When these options are used, the max speed option will default to 2000 mm/sec. — Multiple group motion — RTCP function • If you run a program with an override speed different than 100%, the system will drive the robot such that one of its axes will reach the override value of its maximum joint speed. • The local condition trigger time might have some variation. • If the path becomes too aggressive, you might need to use ACC to smooth it. • If you are using Dry Run, max speed will be disabled and the speed specified in dry run will be used. • If you are using Org path resume, max speed will be disabled for the motion line that is resumed. • If T1 is selected, the T1 speed will be used. • In single step mode (FWD/BWD) max speed will be disabled and the maximum speed value will be used. • Max speed will be disabled automatically for a circular motion. • The max speed option will still apply when the Miscellaneous teach pendant instruction LINEAR_MAX_SPEED is used. 7–75 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F The robot will try to attain the maximum speed capability of at least one of its axes. It determines the maximum speed for the current move by comparing the teach pendant instruction LINEAR_MAX_SPEED with the maximum linear speed of 2000 mm/sec. The ratio of these two speeds is the percentage of the maximum axis speed that the axis will reach. For example: the maximum linear speed is 2000 mm/sec. 1. LINEAR_MAX_SPEED = 1200 2. L P[1] max_speed CNT1000 The ratio of 1200 to 2000 is 60%. The system will drive the robot such that one of its axes will reach 60% of its maximum joint speed for line 2 of the program above. • Max speed does not work with TCP speed prediction function (TCPP). That is, with Max speed, TCPP results may not be accurate. • Max speed does not support the following functions (the system will automatically disable the Max speed feature): — Line Tracking — RTCP function — Multi-group motion 7.3.3 Break BREAK is a motion option that does not start the next motion segment until the cursor moves to the motion line in the TP program. With BREAK option in a motion statement, the constant path feature may not be maintained. BREAK can be used with the WAIT statement for applications that need to change the corner path depending on WAIT time, as shown in the following example. 7–76 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS 7.3.4 Constant Path Constant Path is a motion control option that provides enhanced motion performance for all motion types in the following areas: • Constant path With Constant Path, the robot maintains the same path regardless of static or dynamic speed override changes. A path that has been taught and tested at a low speed override will be maintained when the program is executed at 100% override. • Constant Path with respect to T1/T2/Auto Mode With Constant Path, the robot maintains the same path in different modes. For example, a path that has been taught and tested in T1 mode will be maintained when the program is executed in Auto mode. • Hold/Resume and Emergency Stop/Resume (HandlingTool, PaintTool, and SpotTool+ only) After the HOLD or EMERGENCY STOP buttons have been pressed, the robot can resume execution along the same path that was being executed prior to the HOLD or EMERGENCY STOP. The location and orientation of the resumed path will be along the original path. For exceptions, refer to the Limitations section. • Enhanced path accuracy The path will be executed as taught, using a straight line or circular motion. • Constant Path Regardless of WAIT Statements — Maintains same path regardless of duration of Wait I/O instruction 7–77 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F — Maintains same path regardless of duration of Wait xx sec instruction. The robot will decelerate along the path until the WAIT instruction expires. If the WAIT duration is long enough, the robot will decelerate to a stop. After the WAIT instruction expires, the robot will accelerate and resume the original path. Figure 7–59. Constant Path Regardless of Wait R-J3iB Post R-J3iB To get R-J3iB behavior, use the BREAK motion option: 1: L P[1] 2000 mm/s CNT100 BREAK 2: WAIT DIN/xxSec 3: L P[2] 2000mm/s CNT100 In this example, Line 3 will not affect motion until the WAIT expires. The path will shift toward P[1], depending on WAIT duration. Semi-Hot Start Limitation Constant path cannot be maintained through a Semi-Hot Start cycle. When the program is resumed, the robot will move toward the taught position of the paused line without blending of previous lines. If original path resume is enabled, the robot will move to the stop position before moving toward the taught position. Teach Pendant Instruction Limitations with respect to Hold, Stop, Resume, and Override Along the Path Warning Some instructions cannot assure Constant Path motion because they dynamically change program execution. These instructions do not necessarily result in path variation (with respect to modes, WAITs, and overrides), but path variation is possible. 7–78 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS The instructions in this category are as follows: • Frame instructions: UFRAME_NUM, UFRAME, UTOOL_NUM, UTOOL • Branching instructions: IF, SELECT, CALL • Miscellaneous instruction: $PARAMETER = ... • Program control instructions: PAUSE, ABORT • Macro program instruction • SKIP instruction • TRACK instruction • Variable motion speed instructions • Sensor instructions: RCV, SENSOR_ON, SENSOR_OFF • Palletizing instruction: PALLETIZING-B, PL[ ] • BREAK motion option The following instructions are constant path when the position registers are locked. When position registers are unlocked, the path may vary. • Position register instructions: PR[ ], PR[ ] INC • Offset instructions: OFFSET, TOOL_OFFSET Constant Path Look Ahead Limitation Caution The amount of segment look ahead available for determining the path is limited. If there are not enough segments available to identify the path, the path could deviate toward the taught point of the last available segment. Limiting the number of segments that blend together at the same time helps to avoid this problem. Programming Guideline To allow the best constant path functionality, avoid teaching a path with several of these characteristics: • ACC< 100 • High CNT values • High processor loading • High speed • Many segments in a short distance • Short segment lengths 7–79 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Constant path behavior for motions with WAIT statement 1. Normal execution With the R-30iB Plus motion system loaded and enabled, while executing a WAIT statement, when possible the robot will decelerate along the path of the motion lines that follow the WAIT statement. If the WAIT duration is long, the robot will decelerate to a stop on the path. Some teach pendant instructions do not support constant path during WAIT: refer to Section 7.35 for teach pendant instruction limitations. After the WAIT statement completes, the robot will accelerate to normal speed and continue the rest of the path. The path will remain the same regardless of WAIT time. For example, 1 2 3 4 5 J P[1] 50% L P[2] 500 R[1] = 1 Wait DI[1] L P[3] 500 FINE mm/sec CNT100 = on mm/sec CNT0 2. Hold/resume The R-30iB Plus motion system will maintain the same path regardless of WAIT time when possible, even when Hold/resume interrupts the teach pendant motions near a WAIT statement. a. case 1: Hold/E-stop at the motion line prior to WAIT statement 1 cursor –> 2 3 4 5 7–80 J P[1] 50% L P[2] 500 R[1] = 1 Wait DI[1] L P[3] 500 FINE mm/sec CNT100 = on mm/sec CNT0 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS b. case 2: Hold/E-stop at WAIT statement (cursor at non-motion line) 1 2 3 cursor –> 4 5 J P[1] 50% L P[2] 500 R[1] = 1 Wait DI[1] L P[3] 500 FINE mm/sec CNT100 = on mm/sec CNT0 c. case 3: Hold/E-stop at motion line after WAIT statement 1 2 3 4 cursor –> 5 J P[1] 50% L P[2] 500 R[1] = 1 Wait DI[1] L P[3] 500 FINE mm/sec CNT100 = on mm/sec CNT0 7–81 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F 3. Single step execution after Hold/E-stop a. Single step Forward execution after Hold/E-stop Assume that Hold/E-stop occurs when single step execution is not enabled. If single step forward execution is enabled after Hold/E-stop occurs, then users will observe (1) the first single step forward: robot moves to stopped pose (may be zero distance move if not jogging away) and then posts “CPMO-069 can’t resume with STEP (G:1)” is posted (2) single step forward again: robot moves to the destination position of the motion line at cursor Caution Single step execution (FWD and BWD) is relative to the TP cursor line, not current robot position. After Hold or E-stop the current robot position may be far from the taught point indicated by the TP cursor (especially in T1 mode or low override). Single step execution after Hold/E-stop will move to the taught point indicated by the TP cursor, not on the original program path. A collision could occur if the single step execution path is obstructed. i. case 1: Hold/E-stop at the motion line prior to WAIT statement Single step forward execution will move robot to the destination of the cursor motion line. After HOLD/E-STOP cursor -> 1 2 3 4 5 J P[1] 50% FINE L P[2] 500 mm/sec CNT100 R[1] = 1 Wait DI[1] = on L P[3] 500 mm/sec CNT0 After 1st SSTEP FWD 7–82 MAROUHT9102171E REV F cursor -> 1 2 3 4 5 7. PROGRAM INSTRUCTIONS J P[1] 50% FINE L P[2] 500 mm/sec CNT100 R[1] = 1 Wait DI[1] = on L P[3] 500 mm/sec CNT0 After 2nd SSTEP FWD cursor -> 1 2 3 4 5 J P[1] 50% FINE L @P[2] 500 mm/sec CNT100 R[1] = 1 Wait DI[1] = on L P[3] 500 mm/sec CNT0 ii. case 2: Hold/E-stop at WAIT statement (cursor at non-motion line) Single step forward execution will move the robot to the destination of the motion line prior to the WAIT statement. After HOLD/E-STOP -> 1 2 3 4 5 J P[1] 50% FINE L P[2] 500 mm/sec CNT100 R[1] = 1 Wait DI[1] = on L P[3] 500 mm/sec CNT0 After 1st SSTEP FWD -> 1 2 3 4 5 J P[1] 50% FINE L P[2] 500 mm/sec CNT100 R[1] = 1 Wait DI[1] = on L P[3] 500 mm/sec CNT0 After 2nd SSTEP FWD 7–83 7. PROGRAM INSTRUCTIONS -> 1 2 3 4 5 MAROUHT9102171E REV F J P[1] 50% FINE L @P[2] 500 mm/sec CNT100 R[1] = 1 Wait DI[1] = on L P[3] 500 mm/sec CNT0 Note As shown in this example, the robot position is more likely to be close to P[2] than P[3] because the previous motion line defines the corner location. iii. case 3: Hold/E-stop at the motion line after WAIT statement. Single step forward execution will move robot to the destination of the cursor motion line. After HOLD/E-STOP -> 1 2 3 4 5 J P[1] 50% FINE L P[2] 500 mm/sec CNT100 R[1] = 1 Wait DI[1] = on L P[3] 500 mm/sec CNT0 After 1st SSTEP FWD -> 1 2 3 4 5 J P[1] 50% FINE L P[2] 500 mm/sec CNT100 R[1] = 1 Wait DI[1] = on L P[3] 500 mm/sec CNT0 After 2nd SSTEP FWD -> 7–84 1 2 3 4 5 J P[1] 50% FINE L P[2] 500 mm/sec CNT100 R[1] = 1 Wait DI[1] = on L P[3] 500 mm/sec CNT0 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS b. Single step Backward execution after Hold/E-stop Assume that single step execution is not enabled at the time of the Hold. Single step backward execution after Hold/E-stop will cause the robot to move back to the destination position of the previous motion line. i. case 1: Hold/E-stop at the motion line prior to WAIT statement. Single step backward goes to destination of previous motion line. After HOLD/E-STOP -> 1 2 3 4 5 J P[1] 50% FINE L P[2] 500 mm/sec CNT100 R[1] = 1 Wait DI[1] = on L P[3] 500 mm/sec CNT0 After BWD -> 1 2 3 4 5 J @P[1] 50% FINE L P[2] 500 mm/sec CNT100 R[1] = 1 Wait DI[1] = on L P[3] 500 mm/sec CNT0 ii. case 2: Hold/E-stop at WAIT statement (i.e. cursor at non-motion line) Caution Single step backward goes to destination of second previous motion line. (Single step forward goes to destination of previous motion line.) 7–85 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F After HOLD/E-STOP -> 1 2 3 4 5 J P[1] 50% FINE L P[2] 500 mm/sec CNT100 R[1] = 1 Wait DI[1] = on L P[3] 500 mm/sec CNT0 After BWD -> 1 2 3 4 5 J @P[1] 50% FINE L P[2] 500 mm/sec CNT100 R[1] = 1 Wait DI[1] = on L P[3] 500 mm/sec CNT0 iii. case 3: Hold/E-stop at the motion line after WAIT statement. Single step backward moves to destination of previous motion line. After HOLD/E-STOP -> 1 2 3 4 5 J P[1] 50% FINE L P[2] 500 mm/sec CNT100 R[1] = 1 Wait DI[1] = on L P[3] 500 mm/sec CNT0 After BWD -> 7–86 1 2 3 4 5 J P[1] 50% FINE L @P[2] 500 mm/sec CNT100 R[1] = 1 Wait DI[1] = on L P[3] 500 mm/sec CNT0 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS 7.3.5 Coordinated Motion J P[1] 50% FINE COORD The coordinated motion option describes motion for multiple motion groups. When this option is used, multiple motion groups move together to maintain the same position relative to each other. Motion speed which is specified in the line is relative speed for coordinated motion. This option is effective on linear and circular motion. 7.3.6 Corner Distance Control Option The Corner Distance Control Function Option provides users with a termination type called CDy and a program header for CNT termination type in order to enhance the motion performance of Cartesian motions (e.g. linear and circular motion but not joint motion) in the following areas: • Enhanced path accuracy The path will be executed as taught, using a straight line or circular motion. • Direct corner adjustment This allows direct corner rounding distance adjustment for each motion instruction, if you are not satisfied with the corner generated by the motion with other termination types. This is provided in the corner distance termination type, CDy (where y is in mm). • Speed accuracy The robot will try to maintain the programmed speed around a corner as long as the motion is within the mechanical capability of the robot. If constant speed is not feasible, the function will lower the corner speed from the programmed speed automatically. 7–87 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Caution The Corner Distance function uses the actual payload information when calculating the corner speed. Therefore, you must set the payload correctly during installation. Otherwise, the corner speed will not operate correctly. For CNT termination type, the function provides two different choices for users to choose by setting the TPE program header (“Corner/Speed Control” program header): • If the program header is set TRUE, then the function is enabled for the Cartesian motions with CNT termination type: the function will control corner path and corner speed. • If the program header is set FALSE, then the function is disabled for the Cartesian motions with CNT termination type. That is, the motion performance for those motions is similar to the system with the function disabled. Enabling/Disabling the Function This function requires Constant Path option enabled. To enable/disable the function after loading the option, set $czcdcfg.$cd_enable = TRUE or FALSE, respectively. In order for the change of the system variable to take effect, one has to turn off and then turn on the power. By default, $czcdcfg.$cd_enable = TRUE. Caution The Corner Distance and Corner Region options are mutually exclusive meaning that if one option is selected, the other one is not available. Consider this choice carefully before teaching the robot path. To use CRy (where y is in mm) termination type, one has to set $czcdcfg.$cd_enable = FALSE and cycle power. When $czcdcfg.$no_header = FALSE, on Teach Pendant one can access to the program header. By setting $czcdcfg.$no_header = TRUE, the program header will not be displayed. To access to the program header, press Select button on Teach Pendant, cursor to the TP program name and then press Detail button. Use PREV (F2) or NEXT (F3) to see the program header. This is shown in Figure 7–60 . 7–88 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Figure 7–60. Corner Distance Screen Caution The motion performance, in terms of path and speed, could be very different for motions with CNT termination type with and without the program header set to TRUE. Note The path and speed behavior of a system using the Corner Distance option are different from those systems that do not use Corner Distance function even if the motions use the CNT termination type. Motions with Fine termination type or CNT0 behave the same with or without Corner Distance Control function. Be careful when you change the program header setup and always verify the motions at safety speed right after you change it. Corner Distance Termination Type L P[1] 100mm/sec CDy If you want to adjust the corner rounding distance for a motion instruction, you can use the corner distance termination type, CDy. When you use the CD termination type, you must specify the corner distance (in mm). Corner distance is the distance from the corner path to the actual taught position. See Figure 7–61 . 7–89 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Figure 7–61. The Effect of Corner Distance on Corner Rounding Half Distance Rule With Corner Distance function enabled, the beginning and end of the corner path for Cartesian motions should be shorter than half the distance of the shorter of the two consecutive line segments. This is called the half distance rule. The segment distance refers to the distance between the taught points and the half distance is half of the segment distance. The deviation distance refers to the distance from the taught corner point P[2] to where the corner path deviates from the taught path. The corner distance is the distance from the taught corner point P[2] to the corner path. This is shown in Figure 7–62 . 7–90 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Figure 7–62. Half Distance Rule With the Corner Distance function enabled, the deviation distance CANNOT exceed the half distance for Cartesian motions. When the segment distance between taught points is short, the half distance rule is applied, in which the deviation distance is set equal to half the segment distance. This is shown in Figure 7–62 . As a result, the corner path is much closer to the taught point P[2], compared to the case in which the taught points are far apart. When you set corner distance, use the following guidelines: • Specify the corner distance in millimeters. • Corner distance can range in value from 0 mm to 1000 mm. • The smaller the corner distance, the closer the robot will get to the position, and the less the corner rounding. • With a larger corner distance, the robot will not get as close to the position, and the more the corner rounding. Caution Some motion instructions that use the CDy option might cause jerky motions especially for short distances. Occasionally, you can improve the motion by ] adjusting the CDy parameter, or by moving the taught positions farther apart. 7–91 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F See Figure 7–61 for an example of the effect of corner distance adjustments on corner rounding. When you use the corner distance termination type, the function will maintain constant speed if possible; otherwise, the system will slow down the robot at the corner. Teach Pendant Instruction Limitations Certain teach pendant instructions cause the robot to decelerate toward the destination position before the next motion instruction is executed, regardless of the termination type specified. These teach pendant instructions will override the corner distance and corner speed settings. In this case, the actual corner distance and achieved location speed may be less than the specified values. The instructions are divided into two categories: Category 1: Instructions in this category cause the robot to decelerate, by default. However, if you override the default behavior using the LOCK PREG and UNLOCK PREG instructions, the corner path and corner speed specified will be used. The instructions in this category are as follows: • Position register instructions: PR[ ], PR[ ] INC • Offset instructions: OFFSET, TOOL_OFFSET Category 2: Instructions in this category cause the robot to decelerate at all times, regardless of the termination type specified. You cannot change these default values. The instructions in this category are as follows: • Frame instructions: UFRAME_NUM, UFRAME, UTOOL_NUM, UTOOL • Branching instructions: IF, SELECT, CALL • Wait instruction: WAIT + TIMEOUT • Miscellaneous instruction: $PARAMETER • Program control instructions: PAUSE, ABORT • Macro program instruction • SKIP instruction • TRACK instruction • Variable motion speed instructions • Sensor instructions: RCV, SENSOR_ON, SENSOR_OFF • Palletizing instruction: PALLETIZING-B, PL[ ] Corner Path With Corner Distance Function enabled, a corner path is generated as follows: • The corner path between two line segments is within the three taught positions that define the adjacent line segments. • For long segments, the system computes the corner path, and tries to maintain constant programmed speed around the corner path if it is within the mechanical capability of the robot (done during factory robot tuning). 7–92 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS • For short segments, corner path will start and end at half the distance of the shorter of the two line segments. As corner rounding reduces, constant speed around corner cannot be maintained and speed slowdown occurs. For short segments with Corner Distance function disabled, as speed is increased, corner rounding is increased. Therefore, as speed is increased, the path is changed. In Figure 7–63 , for example, as the speed is increased for a series of short segments, the resultant path is rounded more until, at sufficiently high speed, the path becomes a straight line in the middle segments. Figure 7–63. Short Segment Path With Corner Distance Function Disabled With Corner Distance function enabled, for short segments, the half distance rule is applied where the corner starts and ends at a distance that is the shorter of the half segment distances that form the corner. Figure 7–64 shows the resultant path using Corner Distance function. Figure 7–64. Short Segment Path with Corner Distance Function Enabled Path Orientation Guidelines • Given two taught positions, the segment time is computed as the larger of location time and orientation time. Location time is the time to move from the start location to the destination location based on program speed. Orientation time is the time to move from start orientation to the destination orientation based on the maximum Cartesian rotation speed $PARAM_GROUP[].$rotspeedlim. 7–93 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F • If orientation time is greater than location time, the effective location speed will be slower than the program speed. This is true with or without Corner Distance function enabled. • In order to achieve constant program speed around a corner with Corner Distance function enabled, the orientation time must be less than the location time. • For multi group motions, if other group dominates the motion (i.e. the group takes longer time), then the effective location speed may be slower than the program speed. As a result, constant program speed around a corner may not be achieved even with Corner Distance function enabled. See Figure 7–65 . Figure 7–65. Path Orientation Compatibilities and Limitations Corner Distance function requires Constant Path function. To make Corner Distance function take effect, Constant Path function must be enabled. • Motion Type — CDy termination type supports Cartesian motions such as LINEAR and CIRCULAR. — CDy termination type supports CIRCULAR ARC motion type (motion type A). However, the system may not be able to control the corner speed (to maintain constant speed). — Corner Distance function does not take effect for JOINT motions. 7–94 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS — CDy termination type only supports articulated robots and does not support INDEPENDENT AXES or POSITIONERs. • Motion Termination Type — With Corner Distance function enabled, CRy termination type is NOT supported. The system will post error message for motions with CRy. — With Corner Distance function loaded, only if the function is disabled, then CRy termination type can be supported. — With Corner Distance function enabled, for motions with CNT termination type, depending upon the TP program header, “Corner/Speed Control Program Header” , the system yields the following performance: – If “Corner/Speed Control” program header is set TRUE, then the function will take effect: control the corner path and corner speed; – If “Corner/Speed Control” program header is set FALSE, then the function is disabled for the motions with CNT termination type. • Multi Group Motion Corner Distance function supports multi group motions, though motion will be synchronized. • Motion Options — Auto Singularity Avoidance function If program header “Enable Singularity Avoidance” is enabled, then the motion performance for the programmed motions with CDy termination type is similar to that of the motions with CNT termination type. That is, actual corner distance may be less than the specified one and corner speed may not be constant. If program header “Enable Singularity Avoidance” is disabled, then this function will control the corner path and corner speed for the motions with CDy termination type. — RTCP Corner Distance function supports the motions with RTCP option; Corner Distance does not make sense for the transition between RTCP and non-RTCP motions. In that case, the system will generate a nature corner path regardless of the specified corner distance. — COORD Corner Distance function does not support motions with COORD. However, the system will try to maintain the taught corner path as much as possible without controlling corner speed. — LINE TRACKING Corner Distance function supports Line Tracking. However, the system may not be able to control the corner speed. — TCPP Corner Distance function supports TCP speed prediction function. — LINEAR DISTANCE 7–95 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Corner Distance function supports LINEAR DISTANCE option, though LINEAR DISTANCE has preference. — PROCESS SPEED Corner Distance function supports PROCESS SPEED option. — MAX SPEED Corner Distance function does not support MAX SPEED; With Corner Distance function enabled, for motions with MAX SPEED specified, the function will disable MAX SPEED dynamically. — CORNER REGION Corner Distance function does not support corner region function. With Corner Distance function enabled, the system will post error message for motions with CR termination type. Teaching Techniques You must be careful about the half distance rule. Keep in mind that because of the half distance rule, the specified corner distance cannot be satisfied when the distance is short. Use the following guidelines when you teach a path: • Minimize the number of taught positions. • Reteach positions using the CD termtype to fit the path instead of adding positions. Without Corner Distance function or Corner Region function enabled, you have to teach additional positions to get a small corner with high speed. Also, you have to touch up each point individually to correct any problems. With Corner Distance function enabled, you do not need to do this. See Figure 7–66 . 7–96 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Figure 7–66. Teaching a Small Corner Teaching a Flexible Path When you use Corner Distance function, you can teach a small corner with relatively few positions. See Figure 7–67 . 7–97 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Figure 7–67. Teaching a Flexible Path Procedure 7-3 Teaching a Flexible Path 1. Determine the straight line that fits the tangent of the direction change point of the path. 2. Teach positions where the tangents meet. 3. Minimize the number of taught positions because of the half distance rule. Maximize the distance between path nodes. 4. Avoid sharp angles between taught line segments. The amount of corner speed slow-down is proportional to the angle between line segments and the length of line segments. 5. Use the CD termtype to specify the corner distance, where appropriate. 7.3.7 Extended Velocity EV Motion Option In addition to the programmed robot speed, the extended velocity (EV) motion option allows the specification of the programmed extended axis speed. The EV motion option has the following two options: • Simultaneous EV • Independent EV Simultaneous EV J P[1] 100% FINE 7–98 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS EV50% The programmed simultaneous EV is defined as a percentage of the maximum extended axis speed (1% - 100%). If the EV motion option is not specified, then the extended axis motion is planned based on the maximum extended axis speed. This means that the default motion without the EV option is equivalent to simultaneous motion with EV100%. In simultaneous EV, the extended axis moves simultaneously with the robot axes. This means that they both start and end at the same time for each motion segment. In order to achieve simultaneous motion, the robot motion time is compared with the extended axis segment time during planning. The longer time will be used for both the robot and the extended axis so that they both reach the destination at the same time. In cases where the robot motion time is longer than the extended axis motion time, the actual extended axis speed will be lower than its programmed extended axis speed so that robot motion speed is maintained. When the extended axis motion time is longer than the robot motion time, the actual robot speed will be slower than its programmed speed in order to maintain simultaneous motion. When there is extended axis motion but no robot motion, the programmed extended axis speed will be used as specified, even if it could be the default maximum speed. Independent EV J P[1] 100% FINE Ind.EV50% Like simultaneous EV, the programmed independent Extended Velocity is also defined as a percentage of the maximum extended axis speed (1% - 100%). In independent EV, the extended axis moves independently of the robot axes. Both the extended axis and the robot axes start each motion segment at the same time, however, because of their independent speed rates, they might not reach the destination at the same time. The next planned motion cannot execute until both the extended axis and the robot axes have reached the destination. 7–99 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F 7.3.8 FacePlate Linear This function will allow robot to move with faceplate linearly according to user’s taught point with its designed TCP. When this option is added, the faceplate will move linearly. The TCP will no longer be linear. TCP will move as kind of arc when there is orientation move. See Figure 7–68 for an example. Figure 7–68. Faceplate Linear With and Without Option This function is suitable for Positional application (material handling), not path application (sealing, painting). Most of the robot wrist can move faster than the major axis. When this option is applied for a large orientation move, the move time might be reduced. There are limitations for this options • TCPP is not supported. TCPP will report faceplate speed • Constant Path is required • Utool have to parallel to faceplate • Can not loaded with Coordinated motion, Remote TCP 7–100 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS • Only Picktool, Handlingtool and Pallettool is supported. All the other application will not be supported. The FPLIN motion modifier will only be presented when the motion line is Linear. Add the FPLIN option by select the FPLIN as following figures ( one for iPendant and the other for legacy pendant) Figure 7–69. FPLIN Option 7–101 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Figure 7–70. FPLIN none-ip Option 7.3.9 Incremental Motion J P[1] 50% FINE INC The incremental motion option specifies that the destination position is an incremental motion amount from the previous position. To use the incremental motion option, do the following: Caution If you use the incremental motion option in a motion instruction, the position or position register in that instruction will be uninitialized. Also, all instances of that same position or position register in your program will be uninitialized. If you do not want this to happen, use a new position or position register in the motion instruction that will include the incremental motion option. If you want to use the same incremental motion elsewhere in your program, copy the entire motion instruction and paste it where you want to use it. 1. Add a motion instruction. Do not include the incremental motion option. 2. Add another motion instruction. Be sure to include the incremental motion option. 3. Move the cursor to the right of the motion instruction you just added. 4. Press F4, [CHOICE]. 5. Select Incremental. You will see the message, "Position(P[n]) has been uninitialized." 7–102 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS 6. Move the cursor to the position component of the instruction and press F5, POSITION. Each position component will be set to uninitialized and the position representation screen will be displayed. See Figure 7–71 . Figure 7–71. Position Representation Screen Position Detail P[2] UF:0 UT:1 X ******.*** mm Y ******.*** mm Z ******.*** mm conf: N 0 W ******.*** deg P ******.*** deg R ******.*** deg 0 Note If your program is set up with multiple groups or extended axes, you must enter appropriate values in the extended axes and group position components in order for the motion instruction to be executed. 7. Move the cursor to each position component you want to change, type the increment you want the robot to move, and press ENTER. If you do not want to change a component, set it to zero. 7.3.10 Minimal Rotation (HandlingTool Only) J P[1] 50% FINE MROT Minimal Rotation (MROT) is a motion option to be used with the Joint motion type, or Cartesian motion with the WJNT option. It generates the shortest joint angle move for the wrist axes within axes limits during Joint and WJNT motion, and ignores the turn numbers of the wrist. You should add MROT to Joint and WJNT motion instructions for motion that requires the shortest joint angle movement. This option is useful when you do not know the correct turn number for a destination position that is calculated in Cartesian space, and which requires the shortest joint angle move. When you are using the MROT option for Joint motion, or for linear motion with WJNT, if an axis limit error occurs on one of the wrist axes only, the system will • Post a warning message similar to MOTN-330 MROT Limit Warn (G:1, A:20 Hex). • Attempt to move in the opposite direction for this axis, which generates the shortest motion within the axis limit. 7–103 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F For example, the upper and lower limits of a wrist axis are 270 degrees and –270 degrees, and the start and destination angles are 260 degrees and –80 degrees, respectively. In this case, the shortest move should be the motion from 260 degrees to 280 degrees. Note Physically, 280 degrees and –80 degrees are the same position for the axis. However, a limit error occurs for this motion because it strokes the upper limit. In this case, a warning message will be posted and the axis will move from 260 degrees to –80 degrees with a 340 degree change in joint angle. See Figure 7–72 . Figure 7–72. Shortest Motion Within Axis Limit Note For M–410i series robots (4-axis robots), users can choose one of the two different motion behaviors by setting the system variable $group[].$ornt_mrot as follows: (1) if $group[].$ornt_mrot = TRUE, the robot tries to move so that the change in the part orientation in Cartesian space is minimized within the axis limit; (2) if $group[].$ornt_mrot = FALSE, robot tries to move so that the individual joint angle change is minimized within the axis limit. The MROT motion option has the following limitation: • Before MROT can take effect, the destination position of the Joint or WJNT motion must be represented in Cartesian space (XYZWPR form). Otherwise, if the destination position is represented in Joint angles, the system will attempt to reach the specified destination joint angles regardless of the MROT option. • For a motion line with the MROT instruction, if the taught point is represented in Cartesian space (XYZWPR from), the actual joint angles may be different from the taught joint angles. As a result, Single Step Backward motion may not be the same as forward motion. For example, in a TP program similar to the following: J P[1] 100% FINE J P[2] 100% FINE MROT 7–104 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS J P[3] 100% FINE if the actual reached joint angles at P[2] are different from the taught joint angles (in terms of turn number), then backward motion from P[3] to P[2] would be different from the forward motion from P[2] to P[3]. Caution Be extremely cautious when executing motion backward to the destination position of a motion line with MROT option. 7.3.11 Offset OFFSET CONDITION PR[x] J P[1] 50% FINE Offset The offset motion option is used with the OFFSET CONDITION instruction to alter positional information programmed at the destination position by the offset amount specified in a position register. The OFFSET CONDITION instruction defines the position register that contains the offset information. The OFFSET CONDITION instruction must be added to the program before the offset motion instruction. The OFFSET CONDITION instruction shown uses the offset in position register 1, PR[x]. The offset motion instruction sets the positional information to position (P[1] + PR[x]) with the orientation of P[1]. When the offset condition is set, any time the offset motion option is used, that offset will be used. Refer to Section 7.20 for more information on offset instructions. 7.3.12 Offset Position Register J P[1] 50% FINE Offset, PR[x] The Offset, PR[x] motion option alters positional information by the offset amount specified in the position register PR[x]. This offset affects only the motion instruction where it appears. It does not apply to any other motion instructions. The offset user frame number is the currently selected user frame number. If $OFFSET_CART is TRUE, offsets for Cartesian positions are treated as frames and used to pre-multiply positions. If this is FALSE, offsets for XYZQPR positions are added field by field (for example, target.w=pos.w+offset.w). 7–105 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F The OFFSET calculation depends on the position register representation specified in the OFFSET motion option: • If PR[x] is Cartesian representation, the system adds each element of the position register to each element of the position to yield the position that is offset. If the position does not have Cartesian representation, the system internally converts the representation of the position to Cartesian before the offset is calculated. • If PR[x] is JOINT representation, the system adds each element of the position register to each element of the position to yield the position that is offset. If the position does not have JOINT representation, the system internally converts the representation of the position to JOINT before the offset is calculated. If PR[x] is JOINT representation, an offset user frame is not used. J P[1] 50% FINE Offset, PR[x] Inc J P[1] 50% FINE Offset Inc • If the incremental motion option is specified with the OFFSET motion option, the position and position register MUST have the same representation, either Cartesian or JOINT. Before you define an offset in a motion instruction that also includes the INC motion option, make sure that the representations of the position register and position are the same. For example, if the position register is JOINT representation, the position must also be JOINT representation. 7.3.13 ORNT_BASE C P[1] P[2] 100cm/min CND100 ORNT_BASE; Figure 7–73. ORNT_BASE Instruction The ORNT_BASE instruction is designed to improve the performance of circular motion when the elevation angle of tool changes between taught points. This instruction is suitable for saddle-shaped welding shown in Figure 7–74 . 7–106 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Figure 7–74. Saddle-shaped welding, which is suitable for ORNT_BASE Without this instruction, TCP orientation deviates between taught points as shown in “(A) Without ORNT_BASE instruction” in Figure 7–75 . By using this instruction, TCP orientation behaves as shown in “(B) With ORNT_BASE instruction” in Figure 7–75 and that improves the quality of welding. Figure 7–75. Behavior of TCP orientation, with and without ORNT_BASE instruction ORNT_BASE instruction is used to specify the reference direction of orientation for circular-motion. The reference direction is defined by ” and “Direction (x, y or z) ”. Example of reference direction is shown in “(B) With ORNT_BASE instruction” . 7–107 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Caution The orientation of TCP might unexpectedly weave when inappropriate reference direction is specified for ORNT_BASE instruction. Please make sure to specify a correct reference direction. The specifications of ORNT_BASE are written below. • This function is only for Circular and Circular-Arc motion. • Available for both stationary and non-stationary. • Available for both coord and non-coord motion. • Three types of instructions can be specified as shown in Figure 7–76 . Figure 7–76. Instruction Types • Dynamic User Frame cannot be specified as Reference Frame • Positioning Path must be FINE in the following conditions — (1) If the reference frame or direction changes at the next motion line — (2) At the end of ORNT_BASE-motion — (3) Before the beginning of ORNT_BASE-motion • In a sequent of continuous motion, ORNT_BASE-motion and non-ORNT_BASE-motion cannot be mixed up. [Sample program] 1:J P[1] 100% FINE 2:C P[2] : P[3] 20cm/min CNT100 ORNT_BASE UF[2,z] 3:C P[4] : P[5] 20cm/min CNT100 ORNT_BASE UF[2,z] 4:C P[6] 7–108 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS : P[7] 20cm/min FINE ORNT_BASE UF[2,z] 5:J P[8] 100% FINE [End] The following alarm messages can be displayed related to ORNT_BASE instruction. Table 7–12. ORNT_BASE Instruction Alarm Messages Error Description INTP-204 Invalid value for index Non-existent frame number is used CD-008 No leader ORNT_BASE LDR is taught without COORD MOTN-591 Cannot use %s with ORNT_BASE Unsupported option is used with ORNT_BASE MOTN-592 Cannot use DUF as ORNT_BASE Dynamic User Frame is used as ORNT_BASE UF MOTN-593 Prev. term-type must be FINE Reference Frame is changed without FINE term-type MOTN-594 ORNT_BASE must be with C/A motion Linear/joint motion is used with ORNT_BASE 7.3.14 Remote TCP Motion Option (optional) L P[1] 100mm/sec CNT100 RTCP The optional remote TCP motion option (RTCP) allows you to control the orientation of the robot in applications where the tool is fixed in the workcell and the robot manipulates the workpiece around the tool. The frame used for jogging and programming is a user frame you set up and select. See Figure 7–77 for an illustration of the robot using remote TCP. The tool is fixed and the robot is holding the workpiece. Note If the Coordinated Motion option is loaded on the controller, the RTCP motion option will not be available. If an existing program that already contains an RTCP instruction is executed, the following error will be posted at the RTCP instruction: RTCP-014 “RTCP not supported with COORD”. Loading the Coordinated Motion option on the controller completely disables Remote TCP. Note Remote TCP jogging is not available with the following options: • Automatic Voltage Control (AVC) • Coordinated Motion • Multi-Arm • Scratch Start • TAST 7–109 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F • RPM/Multi-Pass • Touch Sensing • Weaving Figure 7–77. Remote TCP Motion Option When you use remote TCP, you must first set up the user frame you will use as the remote TCP frame. When you include the remote TCP (RTCP) motion option in a motion instruction, use the UFRAME_NUM= instruction to specify the user frame you want to use; otherwise the current user frame will be used by default. Refer to Section 7.20 for more information on the UFRAME_NUM= instruction. Note In a motion instruction that includes RTCP, the speed specified is the relative speed between the workpiece and the tool. Figure 7–78 contains an example of how to use the RTCP motion option. 7–110 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Figure 7–78. Remote TCP (RTCP) Motion Option Example 7.3.15 Search [ ] Motion Option J P[1] 50% FINE Search[ ] The Search [ ] motion option directs the motion of the robot (in a positive or negative x, y or z direction) to search for an object. The x, y and z vectors are defined by the touch frame assigned 7–111 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F in the touch schedule. When contact is made with the object, the robot's current TCP position is stored. The search motion option must be used between a search start and search end statement. Note Touch Sense is an option and might not be installed on your system. If Touch Sense is not installed, Search will not appear as a menu item. Caution Motion speed and direction are controlled by values set in the touch schedule assigned by the Search Start instruction. The motion and speed might be different than what is displayed on the line. 7.3.16 Skip Jump The SkipJump motion option is available to all tools. Its functionality is similar to the function of Skip Label, except that the action is the reverse of that of Skip Label motion option. SKIP CONDITION [I/O] = [value] J P[1] 50% FINE SkipJump, LBL[3] The SkipJump, LBL[x] motion option redirects program execution based on whether a predefined SKIP CONDITION is true. A SKIP CONDITION instruction defines an I/O condition. The execution of the motion instruction that contains the SkipJump, LBL[x] motion option is affected depending on status of the SKIP CONDITION, as follows: • If the SKIP CONDITION is satisfied, the motion defined in the motion instruction that contains the SkipJump, LBL[x] motion option terminates and the program branches to the label, LBL[x]. • If the SKIP CONDITION is not satisfied, the motion defined in the motion instruction that contains the Skip, LBL[x] motion option is executed. After the robot reaches the destination position and the condition is still not satisfied, the next program instruction is executed. Refer to Section 7.9 for more information on branching. Refer to Section 7.30 for more information on the SKIP CONDITION instruction. Refer to Figure 7–79 for an example of the SkipJump, LBL[x] motion option. 7–112 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Figure 7–79. SKIP JUMP Motion Option Example 7.3.17 Skip Label SKIP CONDITION [I/O] = [value] J P[1] 50% FINE Skip, LBL[3] The Skip, LBL[x] motion option redirects program execution based on whether a predefinedSKIP CONDITION is true. A SKIP CONDITION instruction defines an I/O condition. The execution of the motion instruction that contains the Skip, LBL[x] motion option is affected depending on status of the SKIP CONDITION, as follows: • If the SKIP CONDITION is satisfied, the motion defined in the motion instruction that contains the Skip, LBL[x] motion option terminates and the next program instruction is executed. • If the SKIP CONDITION is not satisfied, the motion defined in the motion instruction that contains the Skip, LBL[x] motion option is executed. After the robot reaches the destination position and the condition is still not satisfied, the program branches to the label, LBL[x]. Refer to Section 7.9 for more information on branching. Refer to Section 7.30 for more information on the SKIP CONDITION instruction. Refer to Figure 7–80 for an example of the Skip, LBL[x] motion option. 7–113 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Figure 7–80. SKIP LBL[x] Motion Option Example 7.3.18 Time Before / Time After TIME BEFORE Motion Option J P[1] 50% FINE TIME BEFORE 2.0 sec, CALL prog TIME AFTER Motion Option J P[1] 50% FINE TIME AFTER 2.0 sec, CALL prog Normally, when a teach pendant program is executed, the instruction that follows a motion instruction is not executed until the motion has been completed. The TIME BEFORE/AFTER motion option instruction allows you to specify a teach pendant program that is to be called at a specified time before or after the completion of a motion instruction. See Figure 7–81 . 7–114 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Figure 7–81. TIME BEFORE / TIME AFTER Motion Option Instructions Refer to the “Advanced Functions” chapter in the Setup and Operations Manual for more information on the TIME BEFORE and TIME AFTER motion options. 7.3.19 Tool_offset TOOL_OFFSET_CONDITION PR[x] (UTOOL[1]) J P[1] 50% FINE Tool_offset The Tool_offset motion option is used with the TOOL_OFFSET_CONDITION instruction to alter positional information programmed at the destination position by the tool offset amount specified in a position register. The TOOL_OFFSET_CONDITION instruction defines the position register that contains the offset information and the tool frame that will be used during the tool offset. The TOOL_OFFSET_CONDITION instruction must be added to the program before the tool offset motion instruction. A tool offset condition instruction specifies the offset condition used in a tool offset instruction. Execute a tool offset condition instruction before executing the corresponding tool offset instruction. After you specify the tool offset condition, it remains effective until the program terminates or the next tool offset condition instruction is executed. When you specify tool offset conditions, be aware of the following: • The position register specifies the direction in which the target position shifts, as well as the amount of shift. • The tool coordinate system is used to specify offset conditions. • When the number of a tool coordinate system is omitted, the currently selected tool coordinate system is used. • When a motion statement which includes a tool offset instruction is taught or a certain position is modified, the position from which the offset is subtracted can be taught. • When a motion statement which includes a tool offset instruction is taught or a certain position is modified, you will be asked to answer the following questions: — Subtract tool offset data? Press YES to subtract the tool offset data from the position data and accept the new position. Press NO to store the current position as the position data. 7–115 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F — Enter PR index of tool offset data? Enter the position-register number specified by the tool offset condition instruction. — Enter tool no. of tool offset data? Enter the number of the tool coordinate system in which the offset is to be specified. • If you manually modify the position data using the numeric keys, the position is taught without subtracting the offset. • If you teach the position from which the offset is subtracted, the current position is stored in the following cases. — The specified position register has not yet been initialized — The tool offset instruction ignore function is enabled (see other setting.) • If you enable the ignore function for the tool offset instruction, the current position is taught as position data and you will not receive any error messages. The robot moves to the taught position, even if a tool offset instruction is executed. • If you pause the robot during the execution of a tool offset instruction and modify the shift amount, the modified amount will be used in the resumed movement. If you modify a position register number specified by a tool offset condition instruction, the modified number will not be used. • In backward execution, the robot is moved to the position to which the offset has been applied. This also applies to the direct tool offset instruction, described next. 7.3.20 Tool offset position register J P[1] 50% FINE Tool_Offset, PR[2] A direct tool offset instruction specifies the position register number. The robot moves according to the offset stored in the specified position register, ignoring the tool offset conditions specified by the tool offset condition instruction. The currently selected tool coordinate system is used. When you specify tool offset position registers, be aware of the following: • If you teach a motion statement which includes a direct tool offset instruction or you modify a certain position, you can teach the position from which the offset is subtracted. You will be asked to answer the following question. — Subtract tool offset data? Press YES to subtract the tool offset from the position data and accept the new position. Press NO to store the current position as position data. • If you manually modify the position data using the numeric keys, the position is taught without subtracting the offset. • If you teach the position from which the offset is subtracted, the current position is stored in the following cases. 7–116 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS — The specified position register has not yet been initialized — The direct tool offset instruction has not specified the number of a position register — The tool offset instruction ignore function is enabled. • If you enable the tool offset instruction ignore function, the current position is taught as position data (no prompt messages are output). The robot moves to the taught position even if a tool offset instruction is executed. See Figure 7–82 for an example. Figure 7–82. Tool Offset Instruction 7.3.21 Wrist Joint L P[1] 50% FINE Wjnt The wrist joint option is used during linear or circular moves. It causes the wrist orientation to change during moves, permitting the tool center point to move along the programmed path without flipping the wrist axes due to axis singularity positions. For the WRISTJOINT method of orientation interpolation, the three wrist joints are joint interpolated. The remaining joints are interpolated so that the TCP moves in a straight line. Note that the starting and ending orientation will be used as taught, but because of the joint interpolation, the orientation during the move is not predictable, although it is repeatable. 7–117 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Caution When the WJNT modifier is added to a linear motion, then the moves made by the major axes of the robot (especially Joints 2 and 3) can be drastically different than those without the WJNT modifier. 7.4 ALL-POINT TEACHING FOR PALLETIZING Note This section applies only to robots loaded with the Palletizing option (J500). Conventional robots are capable of palletizing or depalletizing workpieces in a single configuration. Refer to Section 7.2.4 for information about configuration. Figure 7–83 shows an example of palletizing with a horizontally articulated robot with two arm configurations: left and right. Figure 7–83. Palletizing Example In this example, the palletizing of three workpieces is taught using different configurations-right for workpiece 3 and left for the other two. Even after teaching as above, in a conventional system the program is executed so that the robot palletizes or depalletizes workpieces such that the configuration is the same at each bottom point. This function enables a robot to palletize or depalletize workpieces according to the configurations it has been taught, simply by setting a system variable. Operation To palletize or depalletize workpieces, maintaining the same attitude and configuration as that taught, perform the following setup procedure: 1. On the system variable screen, set system variable $PALCFG.$FREE_CFG_EN to TRUE (the initial value is TRUE). 7–118 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS 2. On the palletizing initial data screen, set attitude control to INTER for the palletizing direction (one of COLUMN, ROWS, and LAYERS) for which the arrangement method is FREE. As a result, each workpiece along the specified direction is palletized or depalletized with the same attitude and configuration as that of the reference workpiece used for teaching. The following is an example of an irregular arrangement of four columns, two rows, and five layers. Set the palletizing initial data as follows: COLUMN = [ 4 FREE INTER] ROWS = [ 2 LINE FIX ] LAYERS = [ 5 LINE FIX 1] In this example, FREE and INTER are set for COLUMN. When system variable $PALCFG.$FREE_CFG_EN is TRUE, workpieces are palletized or depalletized with the following configurations: - P[1,1,1] for workpieces in the first column- P[2,1,1] for workpieces in the second columnP[3,1,1] for workpieces in the third column- P[4,1,1] for workpieces in the fourth column Notes When you use this function, note the following: • FREE and INTER cannot be set for more than one direction of COLUMN, ROWS, and LAYERS (such setting is possible when system variable $PALCFG.$FREE_CFG_EN is FALSE, that is, the function is not used). This is because the configuration for a workpiece that need not be taught (whose bottom point is calculated from the positions of the reference workpieces which are taught) cannot be uniquely determined from such a setting. 7–119 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F When the program contains such a setting, the execution will fail and the following error message is displayed: PALT-024 Calculation error occurred • Create a program so that it is not stopped due to an alarm for an unmatched configuration. When the configuration at the current position and that at the destination position are different, the robot cannot move between the positions with linear movement (program execution is stopped and an unmatched configuration alarm is output). The configurations at the approach positions and retreat positions for palletizing are specified in the same way as those for the bottom points. If the first palletizing command specifies linear motion type, an unmatched configuration alarm might be output, depending on the configuration of the robot when the command is executed. This problem does not occur when the first palletizing command specifies joint motion type. For example, the following program does not cause an unmatched configuration alarm to be output for palletizing with three approach positions and two retreat positions: Palletizing Program that will not Cause an Unmatched Configuration Alarm : 10: 11: 12: 13: 14: 15: 16: 17: 18: : PALLETIZING EX_1 J PAL_1[A_3] 100% FINE L PAL_1[A_2] 500mm/sec L PAL_1[A_1] 300mm/sec L PAL_1[BTM] 100mm/sec OPEN_HAND1 L PAL_1[R_1] 300mm/sec L PAL_1[R_2] 500mm/sec PALLETIZING-END-1 Cnt50 Cnt10 FINE Cnt10 Cnt50 7.5 TOUCH SENSE INSTRUCTIONS 7.5.1 Overview Touch sensing is an option and might not be installed on your controller. Touch sensing instructions are used to implement the touch sensing programming. There are four touch sensing instructions provided: • Search Start • Search End 7–120 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS • Touch Offset • Touch Offset End Note You can not use the Find command to locate touch sense instructions when you edit a program. Caution You can not use the Replace command to replace a motion instruction with a touch sense instruction. Doing so will cause a memory write failure error. If you want to replace the motion instruction, first delete the motion instruction, and then insert the touch sense instruction. 7.5.2 Search Start Instruction Search Start indicates where the search motion begins. The Search Start instruction assigns the touch schedule to be used during the search and the position register where the positional information is to be stored. Each Search Start must have a Search End. A new Search Start can not be executed until a Search End has been executed. See Figure 7–84 . Schedule and position register range checking is done when you run the program. If the program causes a nested search start error, move the cursor to the beginning of the program and run the program again. The error should clear automatically. You cannot move the cursor to a search motion statement and execute it unless you also execute the preceding search start statement. Note Backward execution of Search Start [ ] P[ ] will disable Search Start. Figure 7–84. SEARCH START [i] PR[x] 7.5.3 Search End Instruction Search End stops the search. It is important to end a Search Start properly by using Search End in your program. Otherwise, if incremental is set to ON, all the motion afterward will be affected by the incremental search. See Figure 7–85 . 7–121 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Figure 7–85. SEARCH END 7.5.4 Touch Offset Instruction Touch Offset indicates where the position shift begins in the program. The shift amount is determined by the information in the specified position register relative to world frame. The shift amount is generated by the search routine. Position register range checking is done when you run the program. See Figure 7–86 . Note When using a simple search pattern, Touch Offset and Touch Offset End are not used. A simple search stores the actual position of the point being searched into the Position Register. Figure 7–86. TOUCH OFFSET PR[x] Touch Offset and Touch Offset End allow backward execution of the program with the following conditions: Note Backward execution of Touch Offset PR [ ] will disable Touch Offset. • Backward execution of a Touch Offset instructionwill not terminate the offset. When backward execution is done, any added or "touched up" positions will be the recorded position plus the position register offset. For example, in line 1 of the following program, the robot position is equal to P[1] + PR[1] when backward execution begins at line 2. • Touch Offset terminates at only two conditions: — The Touch Offset End is executed. — The program aborts. • The Touch Offset End instructionwill terminate the offset . However, if backward execution begins prior to executing the Touch Offset End instruction all positions will be offset. For example, both P[2] and P[3] in the example shown in Figure 7–87 will be offset by PR[1] when backward execution begins at line 4. Also, if you scroll to P[4] and execute that instruction, the position will be offset by the PR[1] amount. 7–122 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Figure 7–87. Backward Execution Example 7.5.5 Touch Offset End Instruction Touch Offset End indicates where the position shift ends. It is important to properly end a Touch Offset by using Touch Offset End in your program. Otherwise, all the motion afterward will be affected by the touch offset position register. See Figure 7–88 . Figure 7–88. TOUCH OFFSET END Note When using a simple search pattern, Touch Offset and Touch Offset End are not used. A simple search stores the actual position of the point being searched into the Position Register. 7.6 PALLETIZING INSTRUCTIONS Note This section applies only to robots loaded with the Palletizing option (J500) 7.6.1 Overview Palletizing instructions tell the robot when and how to palletize. These palletizing instructions allow you to either stack the pallet or unload the pallet. There are four kinds of palletizing instructions: • PALLETIZING-B • PALLETIZING-BX • PALLETIZING-E • PALLETIZING-EX The palletizing instruction deals only with the actual indexing of the area of the program immediately close to the pallet. You must include any required I/O, other motions, and additional logic instructions. 7–123 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F To use palletizing instructions you: 1. Select one of the palletizing instructions. 2. Use the Pallet Editor to specify how the instruction will work in your program. The Pallet Editor appears only when entering or modifying a palletizing instruction. 3. Create the stack pattern by recording certain robot positions. 4. Create the route with which the robot moves to the pallet by recording certain robot positions. Palletizing Program Example shows an example of a palletizing program. Palletizing Program Example 1: R[1]=0 2: PL[1]=[1,1,1] 3: PL[2]=[1,1,1] 4: !THE NEXT LINE OPENS THE GRIPPER 5: RDO[1]=ON 6: RDO[2]=OFF 7: LBL[1] 8: IF SDI[4]=ON, CALL BALLET 9: J P[5] 100% CNT100 10: R[1]=R[1]+1 11: PR[3]=PR[4] 12: IF R[1]<6, JMP LBL[10] 13: IF R[1]=7, JMP LBL[10] 14: PR[3]=PR[2] 15: LBL[10] 16: PALLETIZING-B_1 17: J PAL_1[A_1] 100% FINE Offset,PR[1] 18: J PAL_1[BTM] 30% FINE Offset,PR[1] 19: !CLOSE THE GRIPPER 20: RDO[1]=OFF 21: RDO[2]=ON 22: WAIT .50 (sec) 23: J PAL_1[R_1] 30% FINE Offset,PR[1] 24: PALLETIZING-END-1 25: J P[5] 100% CNT100 26: J P[1] 100% CNT100 27: WAIT SDI[10] =OFF 28: J P[2] 100% FINE 29: L P[4] 100 mm/sec FINE 30: !THE NEXT LINE OPENS THE GRIPPER 31: RDO[1]=ON 32: RDO[2]=OFF 33: WAIT .50 (sec) 34: L P[2] 100mm/sec FINE 35: WAIT SDI[11]=ON 36: J P[6] 100% CNT100 37: L P[9] 100mm/sec CNT100 38: L P[7] 100mm/sec FINE 7–124 MAROUHT9102171E REV F 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 7. PROGRAM INSTRUCTIONS !THE NEXT LINE CLOSES THE GRIPPER RDO[1]=OFF RDO[2]=ON WAIT .50 (sec) L P[7] 100mm/sec FINE L P[9] 100mm/sec CNT100 J P[[6] 100% CNT100 J P[[1] 100% CNT100 J P[[5] 100% CNT100 J P[[12] 100% CNT100 L P[[10] 100mm/sec CNT100 J P[[11] 100% CNT100 L P[13] 100mm/sec CNT50 PALLETIZING-B_2 J PAL_2[A_1] 100% FINE Offset,PR[3] J PAL_2[BTM] 10% FINE Offset,PR[3] !THE NEXT LINE CLOSES THE GRIPPER RDO[1]=OFF RDO[2]=ON WAIT .50(sec) J PAL_2[R_1] 30% FINE Offset,PR[3] IF R[1]<>9,JMP LBL[1] R[1]=0 PL[1]=[1,1,1] PL[2]=[1,1,1] LBL[2] IF SDI[4]=ON, CALL BALLET J P[5] 100% CNT100 R[1]=R[1]+1 PR[3]=PR[4] IF R[1]<6, JMP LBL[20] IF R[1]=7, JMP LBL[20] PR[3]=PR[2] LBL[20] PALLETIZING-B_2 J PAL_2[A_1] 100% FINE Offset,PR[3] J PAL_2[BTM] 30% FINE Offset,PR[3] CLOSE THE GRIPPER RDO[1]=OFF RDO[2]=ON WAIT .50 (sec) J PAL_2[R_1] 30% FINE Offset,PR[3] PALLETIZING-END_2 J P[5] 100% CNT100 J P[1] 100% CNT100 WAIT SDI[10] =OFF J P[2] 100% FINE L P[4] 100 mm/sec FINE !THE NEXT LINE OPENS THE GRIPPER RDO[1]=ON RDO[2]=OFF 7–125 7. PROGRAM INSTRUCTIONS 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: MAROUHT9102171E REV F WAIT .50 (sec) L P[2] 100mm/sec FINE WAIT SDI[11]=ON J P[6] 100% CNT100 L P[9] 100mm/sec CNT100 L P[7] 100mm/sec FINE !THE NEXT LINE CLOSES THE GRIPPER RDO[1]=OFF RDO[2]=ON WAIT .50 (sec) L P[8] 100mm/sec FINE L P[9] 100mm/sec J P[6] 100% CNT100 J P[1] 100% CNT100 J P[5] 100% CNT100 J P[12] 100% CNT100 L P[10] 100mm/sec CNT100 J P[11] 100% CNT100 L P[13] 100mm/sec CNT50 PALLETIZING-B_1 J PAL_1[A_1] 100% FINE Offset,PR[1] J_PAL_1[BTM] 30% FINE Offset,PR[1] !THE NEXT LINE OPENS THE GRIPPER RDO[1]=ON RDO[2]=OFF WAIT .50(sec) J PAL_1[R_1] 30% FINE Offset,PR[1] PALLETIZING-END_1 IF R[1]<>9,JMP LBL[2] R[1]=0 JMP LBL[1] 7.6.2 PALLETIZING-B Instruction The PALLETIZING-B instruction is the basic kind of palletizing instruction. You use this instruction when: • The approach and retreat routes of your robot always have the same direction and orientation. The route is the number of robot positions you record to move your robot to the pallet and then away from the pallet. See Figure 7–89 . • Your stacking pattern consists of a line pattern. A line pattern has columns, rows, and layers placed vertically, horizontally, and perpendicularly. For the line pattern, you record three end positions that indicate where the rows, columns, and layers are located. In Figure 7–89 , [1,1,1] is the last route position recorded, [1,1,5], [1,3,1] and [4,1,1] are the three recorded end positions. 7–126 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Figure 7–89. Example of PALLETIZING-B Instruction Note Palletizing or depalletizing [1,1,1] is always on the bottom of the pallet on the first layer. Table 7–13 lists and describes each PALLETIZING-B instruction item you can specify in the Pallet Editor. Table 7–13. PALLETIZING-B Pallet Editor Items ITEM DESCRIPTION Comment This item allows you to enter a comment about this palletizing instruction. Type This item allows you to specify whether this palletizing instruction will palletize or depalletize. If set to PALLET, the robot stacks the pallet from bottom to top. If set to DEPALLET, the robot unloads the pallet from top to bottom. 7–127 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Incr This item allows you to specify how the pallet register will increment or decrement. This value, along with the specified order, controls which position will be processed by the robot next. The value of the pallet register indicates the next position to be processed. The order indicates which portion of the pallet register is updated first, second, and last. In the example, the specified order is row, column, layer. For palletizing, when Incr is set to 1, the instruction initializes the pallet register as the first row, first column, first layer. When Incr is set to —1 the instruction initializes the pallet register as the last row, last column, and first layer. For depalletizing, when Incr is set to 1, the instruction initializes the pallet register as the last row, last column, last layer. When Incr is set to —1 the instruction initializes the pallet register as the first row, first column, and last layer. Pal Reg This item allows you to specify the pallet register that will be used to store the next position to be processed. Order This item allows you to specify the order in which the robot will palletize or depalletize. The available options are CRL, CLR, RCL, RLC, or LCR where • C = Column • R = Row • L = Layer Columns This item allows you to specify the total number of columns in the stack. Rows This item allows you to specify the total number of rows in the stack. 7–128 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Layers This item allows you to specify the total number of layers in the stack. Auxiliary Pos This item allows you to specify whether or not an auxiliary position will be used. A value of YES will keep the pallet positions that are away from the [1,1,1] corner compact. A value of NO can cause spreading. APPR This item allows you to specify how many approach route positions to use. The number you specify will be the number of positions created by the instruction for you to record. RTRT This item allows you to specify how many retreat route positions to use in the palletizing instruction. The number you specify will be the number of positions created by the instruction for you to record. Procedure 7-4 Using the Palletizing Editor To Enter the Palletizing-B Instruction Conditions • You have created a program. • You are editing a program. Steps 1. Select the instruction: a. Press F1, [INST]. b. Select Palletizing. See the following screen for an example. PALLETIZING statem 2 PALLETIZING-BX 3 PALLETIZING-E 4 PALLETIZING-EX Main Pallet [END] Select item 5 PALLETIZING-END 6 7 8 c. Select PALLETIZING-B. The Pallet Editor will be displayed. See following screen for an example. Main Pallet PALLETIZING CONFIGURATION PALETIZING_1 [ ] TYPE = [PALLET] INCR = [ 1] PAL REG = [ 1] ORDER = [CRL] COLUMN = [ 1] ROWS = [ 1] LAYERS = [ 1] AUXILIARY POS = [NO] APPR = [ 1] RTRT = [ 1] 7–129 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Note The term Palletizing_1 in the example screen indicates that this is the first palletizing instruction in the program. 2. To return to your program at any time, press F1, PROG. Quit pallet editor? a. Press F4, YES, to return to your program. b. Press F5, NO, to remain in the Pallet Editor. 3. To set up the palletizing configuration: a. Enter a Comment. • Press ENTER. • Move the cursor to select a method of naming the program. For example, if you chose Alphabetic, 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. To delete a character, press BACK SPACE. • When you are finished, press ENTER. b. Select the TYPE. • To palletize, press F2, PALLET. • To depalletize, press F3, DEPALL. c. Type the increment value. d. Type the number of the pallet register you want to use. e. Type the order. Available orders include: CRL, CLR, RCL, RLC, and LCR. • To select rows, press F2, R. • To select columns, press F3, C. • To select layers, press F4, L. f. Type the total number of columns. g. Type the total number of rows. h. Type the total number of layers. i. Select the auxiliary position. • To use an auxiliary position, press F2, YES. • To not use an auxiliary position, press F3, NO. j. Type the number of approach positions. 7–130 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS k. Type the number of retreat positions. l. When you are finished setting up the PALLETIZING B instruction, press F5, DONE. See the following screen for an example. Main Pallet TEACH BOTTOM POINTS 1: *P[1,1,1] 2: *P[10,1,1] 3: *P[1,2,1] 4: *P[1,1,2] Note The number of bottom positions you record depends on the number of columns, rows, and layers you entered in the Pallet Editor. In the above screen example, 10 columns, 2 rows, and 2 layers were entered. The order was entered as CRL. 4. To return to your program at any time, press >, and then press F1, PROG. Quit pallet editor? a. Press F4, YES, to return to your program. b. Press F5, NO, to remain in the Pallet Editor. 5. To return to the Pallet Editor at any time, press F1, BACK. 6. To record each pallet position: a. Jog the robot to the position. b. Hold down the SHIFT key and press F4, RECORD. c. When you are finished recording positions, press F5, DONE. See the following screen for an example. Main Pallet PALLETIZING ROUTE POINTS IF PL[1] = [*,*,*} 1: J PAL_1[A_2] 30% FINE 2: J PAL_1[A_1] 30% FINE 3: J PAL_1[BTM] 30% FINE 4: J PAL_1[R_1] 30% FINE 5: J PAL_1[R_2] 30% FINE Note The number of route positions you record depends on the number of approach and retreat positions you entered in the Pallet Editor. In the above example, 2 approach and 2 retreat positions were entered. 7. To return to your program at any time, press >, and then press F1, PROG. 7–131 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Quit pallet editor? a. Press F4, YES, to return to your program. b. Press F5, NO, to remain in the Pallet Editor. 8. To return to the Pallet Editor at any time, press F1, BACK. 9. To set up position default information, press F2, POINT. 10. To record each route position: a. Jog the robot to the position. b. Hold down the SHIFT key and press F4, RECORD. c. When you are finished recording positions, press F5, DONE. You are returned to your program and the PALLETIZING B instruction has been inserted. 7.6.3 PALLETIZING-BX Instruction The PALLETIZING-BX instruction is a basic kind of palletizing instruction that allows you to specify multiple route patterns. You use this instruction when: • The approach and retreat routes of your robot have different directions and orientations. The route is the number of robot positions your record to move your robot to the pallet and then away from the pallet. See Figure 7–90 . • Your stacking pattern consists of a line pattern. A line pattern has columns, rows, and layers placed vertically, horizontally, and perpendicularly. For the line pattern, you record three end positions that indicate where the rows, columns, and layers are located. In Figure 7–90 , [1,1,1] is the last route position recorded, [1,1,5], [1,3,1] and [4,1,1] are the three recorded end positions. 7–132 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Figure 7–90. Example of PALLETIZING-BX Instruction Table 7–14 lists and describes each PALLETIZING-BX instruction item you can specify in the Pallet Editor. Table 7–14. PALLETIZING-BX Pallet Editor Items ITEM DESCRIPTION Comment This item allows you to enter a comment about this palletizing instruction. Type This item allows you to specify whether this palletizing instruction will palletize or depalletize. If set to PALLET, the robot stacks the pallet from bottom to top. If set to DEPALLET, the robot unloads the pallet from top to bottom. 7–133 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Incr This item allows you to specify how the pallet register will increment or decrement. This value, along with the specified order, controls which position will be processed by the robot next. The value of the pallet register indicates the next position to be processed. The order indicates which portion of the pallet register is updated first, second, and last. In the example, the specified order is row, column, layer. For palletizing, when Incr is set to 1, the instruction initializes the pallet register as the last row, last column, and first layer. For depalletizing, when Incr is set to 1, the instruction initializes the pallet register as the last row, last column, last layer. When Incr is set to —1 the instruction initializes the pallet register as the first row, first column, and last layer. Pal Reg This item allows you to specify the pallet register that will be used to store the next position to be processed. Order This item allows you to specify the order in which the robot will palletize or depalletize. The available options are CRL, CLR, RCL, or RLC where • C = Column • R = Row • L = Layer Columns This item allows you to specify the total number of columns in the stack. Rows This item allows you to specify the total number of rows in the stack. Layers This item allows you to specify the total number of layers in the stack. 7–134 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Auxiliary Pos This item allows you to specify whether or not an auxiliary position will be used. APPR This item allows you to specify how many approach route positions to use. The number you specify will be the number of positions created by the instruction for you to record. RTRT This item allows you to specify how many retreat route positions to use in the palletizing instruction. The number you specify will be the number of positions created by the instruction for you to record. PATTERN This item allows you to specify the number of approach and retreat routes to use. These routes patterns can be DIRECT or MODULO . A direct pattern uses the same multiple routes for each layer. A modulo pattern allows you to flip the pattern between layers. Procedure 7-5 Using the Palletizing Editor To Enter the Palletizing-BX Instruction Conditions • You have created a program. • You are editing a program. Steps 1. Select the instruction: a. Press F1, [INST]. b. Select Palletizing. See the following screen for an example. PALLETIZING statem 1 PALLETIZING-B 2 PALLETIZING-BX 3 PALLETIZING-E 4 PALLETIZING-EX Main Pallet [END] Select item 5 PALLETIZING-END 6 7 8 c. Select PALLETIZING- BX. The Pallet Editor will be displayed. See following screen for an example. 7–135 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Main Pallet PALLETIZING CONFIGURATION PALETIZING_1 [ ] TYPE = [PALLET] INCR = [ 1] PAL REG = [ 1] ORDER = [CRL] COLUMN = [ 1] ROWS = [ 1] LAYERS = [ 1] AUXILIARY POS = [NO] APPR=[ 1] RTRT=[ 1] PATTERN=[ 1] Note The term Palletizing_1 in the example screen indicates that this is the first palletizing instruction in the program. 2. To return to your program at any time , press F1, PROG. Quit pallet editor? a. Press F4, YES, to return to your program. b. Press F5, NO, to remain in the Pallet Editor. 3. To set up the palletizing configuration, a. Enter a Comment. • Press ENTER. • Move the cursor to select a method of naming the program. For example, if you chose Alphabetic, 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 program name is displayed. To delete a character, press BACK SPACE. • When you are finished, press ENTER. b. Select the TYPE. • To palletize, press F2, PALLET. • To depalletize, press F3, DEPALL. c. Type the increment value. d. Type the number of the pallet register you want to use. e. Type the order. Available orders include: CRL, CLR, RCL, RLC. • To select rows, press F2, R. 7–136 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS • To select columns, press F3, C. • To select layers, press F4, L. f. Type the total number of columns. g. Type the total number of rows. h. Type the total number of layers. i. Select the auxiliary position. • To use an auxiliary position, press F2, YES. • To not use an auxiliary position, press F3, NO. j. Type the number of approach positions. k. Type the number of retreat positions. l. Type the number of approach and retreat patterns you want to use. m. When you are finished setting up the PALLETIZING BX instruction, press F5, DONE. See the following screen for an example. Main Pallet TEACH BOTTOM POINTS 1: *P[1,1,1] 2: *P[10,1,1] 3: *P[1,2,1] 4: *P[1,1,2] Note The number of bottom positions you record depends on the number of columns, rows, and layers you entered in the Pallet Editor. In the above screen example, 10 columns, 2 rows, and 2 layers were entered. The order was entered as CRL. 4. To return to your program at any time, press >, and then press F1, PROG. Quit pallet editor? a. Press F4, YES, to return to your program. b. Press F5, NO, to remain in the Pallet Editor. 5. To return to the Pallet Editor at any time, press F1, BACK. 6. To record each pallet position: a. Jog the robot to the position. b. Hold down the SHIFT key and press F4, RECORD. c. When you are finished recording positions, press F5, DONE. See the following screen for an example. 7–137 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Main Pallet PALLETIZING ROUTE PATTERNS PTN [ 1] = [ *, *, *] PTN [ 2] = [ *, *, *] 7. To return to your program at any time, press >, and then press F1, PROG. Quit pallet editor? a. Press F4, YES, to return to your program. b. Press F5, NO, to remain in the Pallet Editor. 8. To return to the Pallet Editor at any time, press F1, BACK. 9. To set up each route pattern, a. Move the cursor to each asterisk. b. To not alternate the patterns between layers, press F2, DIRECT. c. To alternate the patterns between layers, press F3, MODULO. d. Type the position number for each asterisk and press ENTER. e. When you are finished recording positions, press F5, DONE. See the following screen for an example. Main Pallet PALLETIZING ROUTE POINTS IF PL[1] = [*,*,*} 1: J PAL_1[A_2] 30% FINE 2: J PAL_1[A_1] 30% FINE 3: J PAL_1[BTM] 30% FINE 4: J PAL_1[R_1] 30% FINE 5: J PAL_1[R_2] 30% FINE Note The number of route positions you record depends on the number of approach and retreat positions you entered in the Pallet Editor. In the above example, 2 approach and 2 retreat positions were entered. 10. To return to your program at any time, press >, and then press F1, PROG. Quit pallet editor? 7–138 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS a. Press F4, YES, to return to your program. b. Press F5, NO, to remain in the Pallet Editor. 11. To return to the Pallet Editor at any time, press F1, BACK. 12. To set up position default information, press F2, POINT. 13. To record each route position: a. Jog the robot to the position. b. Hold down the SHIFT key and press F4, RECORD. c. When you are finished recording positions, press F5, DONE. You are returned to your program and the PALLETIZING BX instruction has been inserted. 7.6.4 PALLETIZING-E Instruction The PALLETIZING-E instruction is an extended kind of palletizing instruction that allows you to specify different kind of stacking arrangements. You use this instruction when: • The approach and retreat route of your robot always has the same direction and orientation. The route is the number of robot positions your record to move your robot to the pallet and then away from the pallet. See Figure 7–91 . • Your stacking pattern consists of a line pattern. A line pattern has columns, rows, and layers placed vertically, horizontally, and perpendicularly. For the line pattern, you record three end positions that indicate where the rows, columns, and layers are located. In Figure 7–91 , [1,1,1] is the last route position recorded, [1,1,5] [1,3,1] and [4,1,1] are the three recorded end positions. • Your stacking pattern consists of a free pattern. A free pattern has columns, rows and layers placed vertically, horizontally and perpendicularly. For the free pattern, you record free positions where the rows, columns, and layers are located. In Figure 7–91 , [1,1,1] is the last route position recorded, [1,1,5] indicates the position of the top layer, and [2,1,1], [3,1,1], and [4,1,1] indicate the position of each row. • You want to use an auxiliary position to define the direction of the pattern. • You want to define the orientation of the tool at the pick/place point. 7–139 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Figure 7–91. Example of PALLETIZING-E Instruction Table 7–15 lists and describes each PALLETIZING-E instruction item you can specify in the Pallet Editor. Table 7–15. PALLETIZINGE Pallet Editor Items ITEM DESCRIPTION Comment This item allows you to enter a comment about this palletizing instruction. Type This item allows you to specify whether this palletizing instruction will palletize or depalletize. If set to PALLET, the robot stacks the pallet from bottom to top. If set to DEPALLET, the robot unloads the pallet from top to bottom. 7–140 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Incr This item allows you to specify how the pallet register will increment or decrement. This value, along with the specified order, controls which position will be processed by the robot next. The value of the pallet register indicates the next position to be processed. The order indicates which portion of the pallet register is updated first, second, and last. In the example, the specified order is row, column, layer. For palletizing, when Incr is set to 1, the instruction initializes the pallet register as the first row, first column, first layer. When Incr is set to —1 the instruction initializes the pallet register as the last row, last column, and first layer. For depalletizing, when Incr is set to 1, the instruction initializes the pallet register as the last row, last column, last layer. When Incr is set to —1 the instruction initializes the pallet register as the first row, first column, and last layer. Pal Reg This item allows you to specify the pallet register that will be used to store the next position to be processed. Order This item allows you to specify the order in which the robot will palletize or depalletize. The available options are CRL, CLR, RCL, or RLC where •C = Column •R = Row •L = Layer 7–141 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F This item allows you to specify the total number of columns, rows, or layers in the stack, whether pattern is a linear or free, and whether the orientation of the TCP is a fixed or calculated orientation. Columns Rows Layers • LINE - indicates the positions are lying in a straight line. P—-P—-P—-P—-P • FREE - indicates the positions can be anywhere in a horizontal plane. P PP PP • FIX - indicates the TCP orientation equals the orientation recorded at the [1,1,1] position. • INTER - indicates the TCP orientation vector is calculated. Auxiliary Pos This item allows you to specify whether or not an auxiliary position will be used. APPR This item allows you to specify how many approach route positions to use. The number you specify will be the number of positions created by the instruction for you to record. RTRT This item allows you to specify how many retreat route positions to use in the palletizing instruction. The number you specify will be the number of positions created by the instruction for you to record. Procedure 7-6 Using the Palletizing Editor To Enter the Palletizing-E Instruction Conditions • You have created a program. • You are editing a program. Steps 1. Select the instruction: a. Press F1, [INST]. b. Select Palletizing. See the following screen for an example. PALLETIZING statem 1 PALLETIZING-B 2 PALLETIZING-BX 3 PALLETIZING-E 4 PALLETIZING-EX Main Pallet [END] Select item 7–142 5 PALLETIZING-END 6 7 8 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS c. Select PALLETIZING-E. The Pallet Editor will be displayed. See the following screen for an example. Main Pallet PALLETIZING CONFIGURATION PALETIZING_1 [ TYPE = [PALLET] PAL REG = [ 1] COLUMN = [1 LINE FIX] ROWS = [1 LINE FIX] LAYERS = [1 LINE FIX] AUXILIARY POS = [NO] APPR=[ 1] RTRT=[ 1] ] INCR = [ 1] ORDER = [CRL] Note The term Palletizing_1 in the example screen indicates that this is the first palletizing instruction in the program. 2. To return to your program at any time, press F1, PROG. Quit pallet editor? a. Press F4, YES, to return to your program. b. Press F5, NO, to remain in the Pallet Editor. 3. To set up the palletizing configuration: a. Enter a Comment. • Press ENTER. • Move the cursor to select a method of naming the program. For example, if you chose Alphabetic, 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 program name is displayed. To delete a character, press BACK SPACE. • When you are finished, press ENTER. b. Select the TYPE. • To palletize, press F2, PALLET. • To depalletize, press F3, DEPALL. c. Type the increment value. d. Type the number of the pallet register you want to use. e. Type the order. Available orders include: CRL, CLR, RCL, RLC. 7–143 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F • To select rows, press F2, R. • To select columns, press F3, C. • To select layers, press F4, L. f. Set up your column information. • Type the total number of columns. • Select the type of positions. • To select linear positions, press F2, LINE. • To select free positions, press F3, FREE. — Select the type of TCP orientation. • To select fixed TCP orientation, press F2, FIX. • To select calculated TCP orientation, press F3, INTER. g. Set up your row information. • Type the total number of rows. • Select the type of positions. • To select linear positions, press F2, LINE. • To select free positions, press F3, FREE. — Select the type of TCP orientation. • To select fixed TCP orientation, press F2, FIX. • To select calculated TCP orientation, press F3, INTER. h. Set up your layer information. • Type the total number of layers. • Select the type of positions. • To select linear positions, press F2, LINE. • To select free positions, press F3, FREE. • Select the type of TCP orientation. — To select fixed TCP orientation, press F2, FIX. — To select calculated TCP orientation, press F3, INTER. i. Select the auxiliary position. • To use an auxiliary position, press F2, YES. 7–144 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS • To not use an auxiliary position, press F3, NO. j. Type the number of approach positions. k. Type the number of retreat positions. l. Type the number of approach and retreat patterns you want to use. m. When you are finished setting up the PALLETIZING-E instruction, press F5, DONE. See the following screen for an example. Main Pallet TEACH BOTTOM POINTS 1: *P[1,1,1] 2: *P[10,1,1] 3: *P[1,2,1] 4: *P[1,1,2] Note The number of bottom positions you record depends on the number of columns, rows, and layers you entered in the Pallet Editor. In the above screen example, 10 columns, 2 rows, and 2 layers were entered. The order was entered as CRL. 4. To return to your program at any time, press >, and then press F1, PROG. Quit pallet editor? a. Press F4, YES, to return to your program. b. Press F5, NO, to remain in the Pallet Editor. 5. To return to the Pallet Editor at any time, press F1, BACK. 6. To record each pallet position: a. Jog the robot to the position. b. Hold down the SHIFT key and press F4, RECORD. c. When you are finished recording positions, press F5, DONE. See the following screen for an example. Main Pallet PALLETIZING ROUTE POINTS IF PL[1] = [*,*,*} 1: J PAL_1[A_2] 30% FINE 2: J PAL_1[A_1] 30% FINE 3: J PAL_1[BTM] 30% FINE 4: J PAL_1[R_1] 30% FINE 5: J PAL_1[R_2] 30% FINE 7–145 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Note The number of route positions you record depends on the number of approach and retreat positions you entered in the Pallet Editor. In the above example, 2 approach and 2 retreat positions were entered. 7. To return to your program at any time, press >, and then press F1, PROG. Quit pallet editor? a. Press F4, YES, to return to your program. b. Press F5, NO, to remain in the Pallet Editor. 8. To return to the Pallet Editor at any time, press F1, BACK. 9. To set up position default information, press F2, POINT. 10. To record each route position: a. Jog the robot to the position. b. Hold down the SHIFT key and press F4, RECORD. c. When you are finished recording positions, press F5, DONE. You are returned to your program and the PALLETIZING E instruction has been inserted. 7.6.5 PALLETIZING-EX Instruction The PALLETIZING-EX instruction can be used in the following cases: • The approach and retreat routes of your robot have different directions and orientations. The route is the number of robot positions you record to move your robot to the pallet and then away from the pallet. See Figure 7–92 . • If your stacking pattern consists of a line pattern. A line pattern has columns, rows, and layers placed vertically, horizontally, and perpendicularly. For the line pattern, you record three end positions that indicate where the rows, columns, and layers are located. In Figure 7–92 , [1,1,1] is the last route position recorded, [1,1,5] [1,3,1] and [4,1,1] are the three recorded end positions. • If your stacking pattern consists of a free pattern. A free pattern has columns, rows and layers placed vertically, horizontally, and perpendicularly. For the free pattern, you record two end positions where the rows, columns, and layers are located. In Figure 7–92 , [1,1,1] is the last route position recorded, [1,1,5] indicates the position of the top layer, and [2,1,1], [3,1,1], and [4,1,1] indicate the position of each row. • Your layer patterns alternate. See Figure 7–92 . • You want to use an auxiliary position to define the direction of the pattern. • You want to define the orientation of the tool at the pick/place point. 7–146 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Figure 7–92. Example of PALLETIZING-EX Instruction Table 7–16 lists and describes each PALLETIZING-EX instruction item you can specify in the Pallet Editor. Table 7–16. PALLETIZING-EX Pallet Editor Items ITEM DESCRIPTION Comment This item allows you to enter a comment about this palletizing instruction. Type This item allows you to specify whether this palletizing instruction will palletize or depalletize. If set to PALLET , the robot stacks the pallet from bottom to top. If set to DEPALLET , the robot unloads the pallet from top to bottom. 7–147 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Incr This item allows you to specify how the pallet register will increment or decrement. This value, along with the specified order, controls which position will be processed by the robot next. The value of the pallet register indicates the next position to be processed. The order indicates which portion of the pallet register is updated first, second, and last. In the example, the specified order is row, column, layer. For palletizing, when Incr is set to 1, the instruction initializes the pallet register as the first row, first column, first layer. When Incr is set to —1 the instruction initializes the pallet register as the last row, last column, and first layer. For depalletizing, when Incr is set to 1, the instruction initializes the pallet register as the last row, last column, last layer. When Incr is set to —1 the instruction initializes the pallet register as the first row, first column, and last layer. Pal Reg This item allows you to specify the pallet register that will be used to store the next position to be processed. Order This item allows you to specify the order in which the robot will palletize or depalletize. The available options are CRL, CLR, RCL, or RLC, where 7–148 • C = Column • R = Row • L = Layer MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS This item allows you to specify the total number of columns, rows, or layers in the stack, whether pattern is a linear or free, and whether the orientation of the TCP is a fixed or calculated orientation. Columns Rows Layers • FREE - indicates the positions can be anywhere in a horizontal plane. P PP PP • LINE - indicates the positions are lying in a straight line. P—-P—-P—-P—-P • FIX - indicates the TCP orientation equals the orientation recorded at the [1,1,1] position. • INTER - indicates the TCP orientation vector is calculated. Auxiliary Pos Auxiliary Pos cannot be specified for the PALLETIZING-BX instruction. APPR This allows you to specify how many approach route positions to use. The number you specify will be the number of positions created by the instruction for you to record. RTRT This allows you to specify how many retreat route positions to use in the palletizing instruction. The number you specify will be the number of positions created by the instruction for you to record. PATTERN This allows you to specify the number of approach and retreat routes to use. These routes patterns can be DIRECT or MODULO. A direct pattern uses the same multiple routes for each layer. A modulo pattern allows you to alternate the multiple route patterns between layers. Procedure 7-7 Using the Palletizing Editor To Enter the Palletizing-EX Instruction Conditions • You have created a program. • You are editing a program. Select the Instruction 1. Select the instruction: a. Press F1, [INST]. b. Select Palletizing. See the following screen for an example. 7–149 7. PROGRAM INSTRUCTIONS PALLETIZING statem 1 PALLETIZING-B 2 PALLETIZING-BX 3 PALLETIZING-E 4 PALLETIZING-EX Main Pallet [END] Select item MAROUHT9102171E REV F 5 PALLETIZING-END 6 7 8 c. Select PALLETIZING-EX. The Pallet Editor will be displayed. See the following screen for an example. Main Pallet PALLETIZING CONFIGURATION PALETIZING_1 [ TYPE = [PALLET] PAL REG = [ 1] COLUMN = [1 LINE FIX] ROWS = [1 LINE FIX] LAYERS = [1 LINE FIX] AUXILIARY POS = [NO] APPR=[ 1] RTRT=[ 1] ] INCR = [ 1] ORDER = [CRL] Note The term Paletizing_1 in the example screen indicates that this is the first palletizing instruction in the program. 2. To return to your program at any time, press F1, PROG. Quit pallet editor? a. Press F4, YES, to return to your program. b. Press F5, NO, to remain in the Pallet Editor. 3. To set up the palletizing configuration: a. Enter a Comment. • Press ENTER. • Move the cursor to select a method of naming the program. For example, if you chose Alphabetic, 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. To delete a character, press BACK SPACE. 7–150 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS • When you are finished, press ENTER. b. Select the TYPE. • To palletize, press F2, PALLET. • To depalletize, press F3, DEPALL. c. Type the increment value. d. Type the number of the pallet register you want to use. e. Type the order. Available orders include: CRL, CLR, RCL, RLC. • To select rows, press F2, R. • To select columns, press F3, C. • To select layers, press F4, L. f. Set up your column information. • Type the total number of columns. • Select the type of positions. — To select linear positions, press F2, LINE. — To select free positions, press F3, FREE. • Select the type of TCP orientation. — To select fixed TCP orientation, press F2, FIX. — To select calculated TCP orientation, press F3, INTER. g. Set up your row information. • Enter the total number of rows. • Select the type of positions. — To select linear positions, press F2, LINE. — To select free positions, press F3, FREE. • Select the type of TCP orientation. — To select fixed TCP orientation, press F2, FIX. — To select calculated TCP orientation, press F3, INTER. h. Set up your layer information. • Type the total number of layers. • Select the type of positions. — To select linear positions, press F2, LINE. — To select free positions, press F3, FREE. • Select the type of TCP orientation. 7–151 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F — To select fixed TCP orientation, press F2, FIX. — To select calculated TCP orientation, press F3, INTER. i. Select the auxiliary position. • To use an auxiliary position, press F2, YES. • To not use an auxiliary position, press F3, NO. j. Type the number of approach positions. k. Type the number of retreat positions. l. Type the number of approach and retreat patterns you want to use. m. When you are finished setting up the PALLETIZING EX instruction, press F5, DONE. See the following screen for an example. Main Pallet TEACH BOTTOM POINTS 1: *P[1,1,1] 2: *P[10,1,1] 3: *P[1,2,1] 4: *P[1,1,2] Note The number of bottom positions you record depends on the number of columns, rows, and layers you entered in the Pallet Editor. In the above screen example, 10 columns, 2 rows, and 2 layers were entered. The order was entered as CRL. 4. To return to your program at any time, press >, and then press F1, PROG. Quit pallet editor? a. Press F4, YES, to return to your program. b. Press F5, NO, to remain in the Pallet Editor. 5. To return to the Pallet Editor at any time, press F1, BACK. 6. To record each pallet position: a. Jog the robot to the position. b. Hold down the SHIFT key and press F4, RECORD. c. When you are finished recording positions, press F5, DONE. See the following screen for an example. 7–152 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Main Pallet PALLETIZING ROUTE PATTERSN PTN [ 1] = [ *, *, *] PTN [ 2] = [ *. *. *] 7. To return to your program at any time , press >, and then press F1, PROG. Quit pallet editor? a. Press F4, YES, to return to your program. b. Press F5, NO, to remain in the Pallet Editor. 8. To return to the Pallet Editor at any time, press F1, BACK. 9. To set up each palletizing route pattern, a. Move the cursor to each asterisk. b. To not alternate the patterns between layers, press F2, DIRECT. c. To alternate the patterns between layers, press F3, MODULO. d. Enter the position number for each asterisk. e. When you are finished recording positions, press F5, DONE. See the following screen for an example. Main Pallet PALLETIZING ROUTE PATTERSN IF PL[1] = [*,*,*} 1: J PAL_1[A_2] 30% FINE 2: J PAL_1[A_1] 30% FINE 3: J PAL_1[BTM] 30% FINE 4: J PAL_1[R_1] 30% FINE 5: J PAL_1[R_2] 30% FINE Note The number of route positions you record depends on the number of approach and retreat positions you entered in the Pallet Editor. In the above example, 2 approach and 2 retreat positions were entered. 10. To return to your program at any time, press >, and then press F1, PROG. a. Press F4, YES, to return to your program. b. Press F5, NO, to remain in the Pallet Editor. 11. To return to the Pallet Editor at any time, press F1, BACK. 7–153 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F 12. To set up position default information, press F2, POINT. 13. To record each route position: a. Jog the robot to the position. b. Hold down the SHIFT key and press F4, RECORD. c. When you are finished recording positions, press F5, DONE. You are returned to your program and the PALLETIZING EX instruction has been inserted. 7.6.6 PALLETIZING-END Instruction The PALLETIZING-END instruction resets the pallet register after the robot has finished stacking or unstacking a pallet. 7.7 PALLET REGISTER INSTRUCTIONS A pallet register stores layer, row, and column information for palletizing. Thirty-two registers are available for all the programs in the controller combined. Pallet registers are identified by numbers, 1-32. Pallet register instructions manipulate pallet registers arithmetically. Up to 127 pallet registers are available for all programs in the controller combined. You can increase the number of pallet registers at controlled start. Refer to the “System Operations” appendix of the application-specific Setup and Operations Manual for information on performing a Controlled start. Pallet Register Addressing 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 pallet register instruction PL[2]= [2,3,4] is used, the contents of pallet register 2 is replaced with the value [2,3,4]. When indirect addressing is used, the instruction contains a register within a pallet register. This indicates that the actual value of the internal register becomes the pallet register number of the pallet register. See Figure 7–93 . Figure 7–93. Direct and Indirect Addressing Example 7–154 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS In Figure 7–93 , the first instruction illustrates direct addressing. This instruction causes the contents of pallet register 3 to be replaced with the value [2, 3, 4]. The second instruction in Figure 7–93 illustrates indirect addressing. In this instruction, R[3] is the internal register and PL[R[3]] is the external pallet register. If the value of the internal register R[3] is 3, the pallet register number becomes PL[R[3]=3] or PL[3]. Therefore, the result of the second instruction is that the contents of the pallet register, PL[3], is to be replaced with the value [5, 6, 7]. PL[x] = [value] The PL[x] = [value] instruction stores a value in a pallet register. See Figure 7–94 . Figure 7–94. PL[x] = [value] PL[x]=[value][operator][value] The PL[x] = [value] [operator] [value] instructions store the result of an arithmetic operation in a Pallet register. The arithmetic operations are addition and subtraction. See Figure 7–95 . 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 7–95. PL[x] = [value] [operator] [value] 7–155 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F For conditional branching instruction using PL[], refer to Section 7.9.4 . 7.8 BASIC PROCESS AXES INSTRUCTIONS (OPTION) 7.8.1 Overview The Basic Process Axes software option (R689) provides two TP instructions that can be used to set the speed for some or all properly set up process axes: • SET ISDT SPEED • STOP ALL ISDT 7.8.2 SET ISDT SPEED Instruction The SET ISDT SPEED instruction, when executed, sends the specified speed values as commands directly to the specified process axes motors. The units of the speed value are user units. The relationship between the “user units” used in the SET ISDT SPEED instruction and the RPM at the motor shaft is defined by the following two quantities: • The gear ratio specified in the Process Axes Setup routine at CONTROLLED start • The scale factor specified in the Process Axes Setup menu. This relationship is defined in the following equation: 7–156 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Note Please see the Software Installation Manual for more information on setting the gear ratio for Process Axes, specifically the section entitled “Displaying, Modifying and Installing Process Axes.” Note Please see the “Basic Process Axes” section in the “Advanced Functions” chapter of this manual for more details on how to set the scale factor in the Process Axes Setup menu. Any properly setup process axes that are not specified in the SET ISDT SPEED instruction will not be affected by the instruction; they will continue operating at their current speed. The syntax of the instruction is shown in figure Figure 7–96 . Figure 7–96. SET ISDT SPEED A...=... By default, when the SET ISDT SPEED instruction is first inserted, by default it has two fields, one for the axis number and one for the speed as shown in figure Figure 7–96 . Additional fields may be added by pressing F1 ADD AX. This creates an additional set of axis and speed fields as shown: 1: SET ISDT SPEED A...=...,A...=... The cursor can then be moved to any of the fields and integer data can be entered. Additional fields can be added in this way, up to a total of eight sets of axis and speed data in a single instruction. Note If an axis number is specified that does not correspond to a valid, properly setup process axes, then an ISDT-012 alarm will be posted at run time. Note If the same axis number is specified in multiple fields on the same instruction line, then an ISDT-013 alarm will be posted at run time. Note The speed value cannot be a negative number. If negative speed is desired, either indirect (i.e. numeric register) must be used for the speed value, or a negative scale factor should be set up. 7–157 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F 7.8.3 STOP ALL ISDT Instruction The STOP ALL ISDT instruction, when executed, will send a zero speed value to all process axes that are properly setup in the controller. This instruction does not have any arguments. 7.9 BRANCHING INSTRUCTIONS 7.9.1 Overview Branching instructions cause the program to branch, or jump, from one place in a program to another. There are three kinds of branching instructions: • Label definition instruction • Unconditional branching instructions • Conditional branching instructions 7.9.2 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. See Figure 7–97 . Figure 7–97. LBL[x] 7.9.3 Unconditional Branching Instructions Unconditional branching instructions branch 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. • Sub program call instructions - Cause the program to branch to another program. 7–158 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS JMP LBL[x] The JMP LBL[x] instruction causes the program to branch to the specified label. See Figure 7–98 . Figure 7–98. JMP LBL[x] 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. See Figure 7–99 . Refer to Section 7.21 for information on program call parameters. Figure 7–99. CALL program Note When you enable an application process for a program, you are setting the application mask. The following rules dictate the kinds of programs you can CALL when application masks are used: • A program with an application mask set to NONE can CALL a program (using the program CALL instruction) that has an application mask set to a specific application (SpotTool+, HandlingTool, or DispenseTool). • A program with an application mask set to a specific application can CALL a program that has an application mask set to NONE or to the same application. • A program with an application mask set to a specific application cannot CALL a program that has a different application mask. Note If you have the Parameters for CALL Program option, you can include parameters in the CALL program instruction. Refer to Section 7.21 for more information. END The program end instruction signals the end of a program. See Figure 7–100 . 7–159 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Figure 7–100. Program End Instruction 7.9.4 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. IF R[x] [operator] [value] [action] Register IF instructions compare the value contained in a register with another value and take an action if the comparison is true. See Figure 7–101 . Figure 7–101. Register IF Instruction 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. See Figure 7–102 to Figure 7–104 . 7–160 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Figure 7–102. I/O IF Instruction for DI/DO, RI/RO, SI/SO and UI/UO Figure 7–103. I/O IF Instruction for PL Figure 7–104. I/O IF Instruction for R, AI/AO, GI/GO and System Variable 7–161 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F For an IF instruction, conditions can be connected 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 instruction IF[cond1] OR [cond2] OR ..., [action] For example,1: IF DI[10]=ON OR R[7]=R[8], JMPLBL[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 [cond 3] OR [cond4]OR [cond5], [action] (Maximum of five logical conditions) Mixed Logic IF Statement The following is an example of a mixed logic IF statement: IF (R[1] = (GI[1] + R[1]) * AI[1]), JMP LBL[1] IF (DI[1] AND (!DI[2] OR DI[3])), JMP LBL[1] • You can specify mixed logic expressions in the condition part of an IF statement. • The result of the IF statement must be boolean. • When the result of the expression is on, the action part of the statement, for example, JMP LBL, is executed. 7–162 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS • The following statements can be used in the action part of an IF statement when mixed logic is used in the condition part: JMP LBL[ ] CALL Mixed Logic assignment statement Pulse statement • Mixed Logic assignment statements and Pulse statements can be specified in the action part of the IF statement only when the condition part is a Mixed Logic expression. See the following example: IF (DI[1]), DO[1]=(On) IF (DI[2]), DO[1]=Pulse • The maximum number of items (data or operators) in an IF statement is approximately 20. The exact maximum number of items varies according to data type. Refer to Section 7.17 for more information on mixed logic instructions. SELECT R[x] = [value1] [action]= [value2] [action]= [valueN] [action] ELSE [action] 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. See Figure 7–105 . Figure 7–105. Select Instruction 7–163 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F 7.9.5 Wizard to Input Arguments 7.9.5.1 Overview Wizard to input arguments allows you to use a wizard to teach call instruction arguments in any sequence. For example, there is a program called, "TRACKING". 1: CALL TRACKING(’CStn_Out_R1’,2,(-1),1,1,1) This program needs to be called with six arguments of a specific type and in the correct order. Using Wizard to input arguments, allows you to teach the arguments in any sequence. The argument description is also displayed. 1: CALL TRACKING(Area Name='CStn_Out_R1',VR num=2, : Timeout Time=(-1),Reg num timeout=1,NOT-CONSECUTIVE, : Model ID=1) 7.9.5.2 Preparation To use this function, you must prepare and load a text file (DT file) that includes information for the wizard. File Format The following is an example text (.DT) file. Figure 7–106. Example Text (.DT) File How to Write the Text File The text file details are described below. 7–164 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS 1. [PROGRAM] Section • NAME is for the program name to call with arguments. (Max length is 36 characters) • ARGUMENT is the number of the argument. (Max. is 30.) 2. [ARGUMENT] Section • Basic writing style is | N(type of argument) 02(what number for argument) =(equal mark) "VR num"(displayed meaning of argument) • The number of (type of argument) is 4 types (N: Constant number, V: Macro definition, S: String, W: List of string) • (What number for argument) is from 01 to 30 • (Equal mark) is must • Max length for (displayed meaning of argument) is 15 characters, enclosed it double quotes. - In the case of V: Macro definition • Writing style is | V05 = "NOT-CONSECUTIVE"(macro definition name) :(colon) '1'(value) | • Max length for (macro definition name) is 15 characters. • Describe macro definitions as long as necessary after | =(equal mark) with each macro definition separated by a | ,(comma) |. • The number of definable macros for an argument is up to 35. • The details are explained later in the section called "Macro definition". - In the case of W: List of string • Writing style is | W04 = "NO_WELD"(string) | - Max length is 34 characters for (string). • Describe strings as long as necessary after | =(equal mark) with each string separated by a | ,(comma) |. • The number of string for an argument is up to 35. • Define the meaning of the string itself. 3. [ENDPROGRAM] • - End. • Write procedures from 1 to 3 additionally if it is needed. Up to 1000 different programs can be included in the .dt file. 4. Write procedures from 1 to 3 additionally if it is needed. • The number of describable program is up to 1000. 5. Place a comment within braces if necessary { } . Quote marks are used as follows. The following codes are prohibited to use for String enclosed in quotes " ": • comma (,) 7–165 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F • semicolon (;) • colon (:) • single quotes (') • double quotes (") • Line feed code • Tab code Macro Definition Macros are used to define certain strings as a specific value. For example, it is described in the text file as follows. V03 = "MAX_SPD":'100', "NORMAL_SPD":'50', "SLOW_SPD":'10' In this instance, '100' is passed as an argument if “MAX_SPD” is displayed in the field of the third argument on the EDIT programlisting. For example, ----------------------------------------------------------------------[PROGRAM] NAME = "HANDLING" ARGUMENT : '4' [ARGUMENT] N01 = "LINE" V02 = "SLOW":'1', "FAST":'2' V03 = "SMALL":'1', "NORMAL":'2', "BIG":'3' V04 = "MAX_LOAD":'10000', "NO_LOAD":'0' [ENDPROGRAM] ----------------------------------------------------------------------- If this text file is used, the following will be displayed on the Edit programlisting. ----------------------------------------------------------------------(Example) [ Display ] CALL HANDLING(LINE=3,SLOW,BIG,NO_LOAD) [ Process ] CALL HANDLING(3,1,3,0) ----------------------------------------------------------------------- The following integer is used for the macro: -16777216 ~ 16777216 ( -2^24 ~ 2^24 ) A decimal number is unusable for the macro definition. The same name or value cannot be used for an argument. The number of definable macros for an argument is up to 35. Change of Default Value The default value for N(Constant number) is 0, for S(String) is '…'(null string). You can change this default value for each argument. In the case of N(Constant number), :(colon) where: ----------------------------------------------------------------------[PROGRAM] {OFFSSET} 7–166 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS NAME = "POS_OFFSET" ARGUMENT = '3' [ARGUMENT] N01 = "X-OFFSET":'10' N02 = "Y-OFFSET":'20' N03 = "Z-OFFSET":'30' [ENDPROGRAM] ----------------------------------------------------------------------- The specified default value is used when arguments are taught automatically, if you teach the call instruction while loading this text file. 1:CALL POS_OFFSET(X-OFFSET=10,Y-OFFSET=20,Z-OFFSET=30) By default, integer numbers within the following range can be used: -16777216 ~ 16777216 ( -2^24 ~ 2^24 ) Six significant figures are used in a decimal number. For example, 123.456 If the default value is described over six significant figures, it is truncated. Additionally, you can use the register or argument register as a default too. In that case, you describe :(colon) and (R) or (AR) as follows: N01 = "X-OFFSET":'10' N02 = "Y-OFFSET":(R) N03 = "Z-OFFSET":(AR) If you teach a call instruction in this state, a register or argument register is used as default: 1: CALL POS_OFFSET(X-OFFSET=10,Y-OFFSET=R[...], : Z-OFFSET=AR[...]) In the case of S(String), you describe :(colon) as follows: S01 = "Area Name":"Booth1" If you teach the call instruction as well as the case of S(String), the specified string is used as the default when arguments are taught automatically. Additionally, you can also use the string register or argument register as the default. In that case, :(colon) and (SR) or (AR) are described as follows: S01 = "Area Name":(SR) or S01 = "Area Name":(AR) File Name File name is fixed as ARGDISPEG01.DT. Where the configuration is "ARGDISP(fixed) + EG(language) + 01(serial number) + .DT(extension)" ARGDISP(fixed) : Common part EG(language) : language-specific where: - EG : English - KN : Japanese [Kanji] 7–167 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F - GR : German - FR : French - SP : Spanish - CH : Chinese - TW : Taiwanese - CS : Czech - OT : Other 01(serial number) : Usable from 01 to 99 It is possible to load different serial number files all together. .DT(fixed extension) : Common part Note Japanese is not JP but KN. This is because there are two display styles for Japanese. JP is used for old software versions that use katakana. KN is used for current software versions where Kanji (2 byte character) is used. How to Load a Text File Use the following procedure to load the text file. 1. Create the text file on the MC: (Memory Card). 2. Move the cursor to the file in the File programlisting, and select F3, [LOAD]. 3. Cycle power. Save and Load a Text File as a Backup The text file is backed up and restored as follows: (Backup) - At the File programlisting, select F4, [BACKUP] and “All of above” or “Application” in Cold start. (Restore) - At the File programlisting, select F4, [RESTORE] and “All of above” or “Application” in Controlled start. Alarm for Failure to Read Text File If content of the loaded text file is not formatted correctly, it will not be read. An alarm such as “FILE-095 (ARGDISPEG01.DT) is not loaded.” is posted and recorded in the alarm history. View the cause of the failure in related alarm messages displayed on the alarm history programlisting. The following alarm messages can be displayed: FILE-095 FILE-096 (xxx) to FILE-097 FILE-098 FILE-099 FILE-100 7–168 (ARGDISPKN01.DT) is not loaded : File name to fail to read on line n, xxx : The line (n) and characters or value fail to read Out of memory : Out of Temporary memory to be required Over 1000 programs : Over the maximum programs Wrong end of file : End of file not after [ENDPROGRAM] Wrong tag/item/character code : Miss of tag, item or character code MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS FILE-101 Over 35 definitions : Over the maximum definitions of macro or list of string FILE-102 Over limit value : Over the maximum value for macro definition or default value for Constant number 7.9.5.3 Editing Use the following procedure to teach the call instruction arguments. Procedure 7-8 Teaching of Arguments 1. . Input a CALL statement and select the program that is described in the text file. 1: CALL ... [END] 2. Next, the arguments are taught automatically. (The default value is 0 or '…' (null string). For a macro definition or list of strings, the first item is set.) The argument descriptions are displayed in each field as follows. 1: CALL TRACKING(Area Name='...',VR num=0, : Timeout Time=0,Reg num timeout=0,NOT-CONSECUTIVE, : Model ID=0) [END] 3. Change of value The appearance is changed, but the input operation is not changed 1: CALL TRACKING(Area Name='CStn_Out_R1',VR num=0, : Timeout Time=0,Reg num timeout=0,NOT-CONSECUTIVE, : Model ID=0) [END] | | | v Input Value 1: CALL TRACKING(Area Name='CStn_Out_R1',2 , : Timeout Time=0,Reg num timeout=0,NOT-CONSECUTIVE, : Model ID=0) [END] | | | v Push “Enter” 1: CALL TRACKING(Area Name='CStn_Out_R1',VR num=2, : Timeout Time=0,Reg num timeout=0,NOT-CONSECUTIVE, : Model ID=0) [END] 7–169 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Submenu For Editing The sub menu is displayed when F4, [CHOICE] is pressed while the cursor is on an argument. The sub menu items displayed next are different. 1. Argument is N (Constant number) Constant, Register and Argument register are displayed as items on the submenu. 2. Argument is V (Macro definition) Strings that are defined as macros are displayed as items on the submenu. 3. Argument is S (String) String, String register and Argument registers are displayed as items on the submenu. 4. Argument is W (list of String) 7–170 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS The list of strings is displayed as items on the submenu. Note Up to 15 characters can be displayed as items on the submenu. And over 15 characters can be used for the list of string. If over 15 characters are used, the first 13 characters and '..' (two colons) are displayed as items on the submenu. For example) ”PAINT_APPLICATION” -> “PAINT_APPLICA..” Teaching Arguments Automatically When you teach the CALL instruction and select the program that is written in the Text file, arguments are automatically set with the default value (See "Teaching of Arguments"). If you change the program name of the CALL instruction, arguments are taught. The default value is set for each argument also as follows. 1: CALL TRACKING(Area Name='CStn_Out_R1',VR num=2, : Timeout Time=(-1),Reg num timeout=1,NOT-CONSECUTIVE, : Model ID=1) | | | v Change the program name from TRACKING to POS_OFFSET 1: CALL POS_OFFSET(X-OFFSET=10,Y-OFFSET=20,Z-OFFSET=30) If the called program name is changed to the another program name that is not described in text file, Wizard to input arguments is disabled and the previous argument value(s) will be restored. 7.9.5.4 Handling of Multiple Languages The text file (DT file) is needed to be prepared for each language. The text file is read by the current language setting on start-up. If the current language is switched and the text files of multiple languages is loaded, controller power must be cycled for the new language file to be read. The Text file for the current language must exist for Wizard to input arguments to operate properly. 7–171 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F 7.9.5.5 Save and Upload of ASCII Files If you save a TP program as an ASCII file (LS file) when Wizard to input arguments is enabled, the meaning of argument is enclosed by " "(double quotes). [For example : VR num=2 > "VR num"=2]. And in case of macro definition, not only macro definition name is enclosed by " ", but also the defined value is described as | =(value) |. [For example : NOT-CONSECUTIVE > "NOT-CONSECUTIVE"=1] 1: CALL TRACKING(Area Name='CStn_Out_R1',VR num=2, : Timeout Time=(-1),Reg num timeout=1,NOT-CONSECUTIVE, : Model ID=1) | | | v Save as ASCII file 1: CALL TRACKING("Area Name"='CStn_Out_R1',"VR num"=2, : "Timeout Time"=(-1),"Reg num timeout"=1, : "NOT-CONSECUTIVE"=1,"Model ID"=1) You can upload this ASCII file if the ASCII upload option is loaded. The argument description enclosed in quotes ( " ") is ignored when the ASCII file is uploaded. Therefore, you can upload the ASCII file without considering whether the language is set correctly or the text file is loaded in advance. Note Wizard to input arguments and the process to ignore the argument description enclosed by quotes (" ") is supported only in 7DC3(V8.30) and later. An ASCII file that includes an argument description enclosed in quotes ( “ “) will cause the process to fail in versions released before 7DC3(V8.30). 7.9.5.6 Mode Selection You can change the mode of Wizard to input arguments using the system variable $ARGDISPMODE, as follows: 0 : Wizard to input arguments is disabled. 1 : Wizard to input arguments is enabled. (Default) 2 : Wizard to input arguments is enabled and the value of macro definition is displayed. ----------------------------------------------------------------------------(Example) [ $ARGDISPMODE=0 ] CALL HANDLING(3,1,3,0) [ $ARGDISPMODE=1 ] CALL HANDLING(LINE=3,SLOW,BIG,NO_LOAD) [ $ARGDISPMODE=2 ] CALL HANDLING(LINE=3,SLOW=1,BIG=3,NO_LOAD=0) ----------------------------------------------------------------------------- 7–172 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS The change of the mode is reflected after power is cycled. 7.10 COLLISION GUARD INSTRUCTIONS (OPTION) You can use the Collision Guard instructions to control Collision Guard during programmed motion. COL DETECT ON COL DETECT OFF By default, Collision Guard is enabled. • Todisable Collision Guard, include the COL DETECT OFF instruction in a teach pendant program. • Toenable Collision Guard that has been disabled previously, include the COL DETECT ON instruction in a teach pendant program. Since Collision Guard is always enabled by default, you need to use the COL DETECT ON instruction only if you have previously used the COL DETECT OFF instruction. See Example of Collision Guard Instructions for an example of how to use these instructions in a teach pendant program. Example of Collision Guard Instructions 10: 11: 12: 13: 14: 15: 16: J P[1] 100% FINE COL DETECT OFF L P[2] 2000mm/sec CNT100 L P[3] 2000mm/sec CNT100 L P[4] 2000mm/sec CNT100 COL DETECT ON J P[5] 50% FINE 7.11 CONDITION MONITOR INSTRUCTIONS The condition monitor function monitors the condition of an I/O signal, register value, or alarm status, during teach pendant program execution. As soon as the condition is triggered, the specified teach pendant program is executed and interrupts the current program. 7–173 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Condition monitor instructions are used to control the monitoring of conditions when a program is running. There are three condition monitor instructions used for program monitoring: • MONITOR <program> • MONITOR END <program> • WHEN <condition> CALL <program> MONITOR This instruction starts monitoring the conditions taught in the specified condition program (ch sub type). See Figure 7–107 Figure 7–107. MONITOR Instruction MONITOR END This instruction stops monitoring the conditions taught in the specified condition program (ch sub type). See Figure 7–108 . Figure 7–108. MONITOR END Instruction WHEN <condition> CALL <program> This instruction defines the conditions for which to monitor. You include WHEN instructions within your condition (ch sub-type) programs. WHEN instructions are the only instructions available when you create condition programs. See Figure 7–109 through Figure 7–112 . In a condition handler program, you can teach multiple WHEN instructions as follows. Multiple WHEN Instructions in a Condition Handler Program 1: WHEN 2: WHEN 3: WHEN <cond1> <cond2> <cond3> CALL CALL CALL <program1> <program2> <program3> You can connect the multiple conditions using AND/OR as follows. 7–174 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Connecting Multiple Conditions using AND/OR 1: WHEN 2: WHEN <cond1> <cond1> AND <cond2> CALL <program1> OR <cond2> OR <cond3> CALL <program2> Note You cannot use both AND and OR in the same WHEN instruction. Figure 7–109. Condition for Register, System Variable, and I/O Parameters Figure 7–110. Condition2 for I/O 7–175 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Figure 7–111. Condition2 for I/O Figure 7–112. Condition for Error Status ERROR NUMBER ERR_NUM = aaabbb aaa : Error facility code (decimal); Refer to the “Error Codes and Recovery” appendix in the Setup and Operations Manual. .bbb : Error number (decimal) Example: WHEN ERR_NUM=11006, CALL PROG_A This means "SRVO-006 Hand broken" error because the SRVO facility code is 11. If 0 is specified as error number "aaabbb," whenever any error occurs, the condition is satisfied. 7–176 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS 7.12 FOR/ENDFOR INSTRUCTIONS The FOR/ENDFOR instruction is a function that repeats a loop within FOR and ENDFOR instructions a specified number of times. 7.12.1 Overview FOR/ENDFOR instructions have two INSTRUCTIONs: FOR instruction and ENDFOR instruction. • FOR instruction - start of FOR/ENDFOR loop • ENDFOR instruction - end of FOR/ENDFOR loop INSTRUCTIONs within FOR and ENDFOR instructions are repeated. The number of times to repeat is determined by the specified values in the FOR instruction. 7.12.2 FOR/ENDFOR Instruction Specification 7.12.2.1 Form of FOR Instruction The form of FOR instruction is as follows. Register is used for the Loop counter. Constant, Register, and Argument Register is used for the Initial value. For Constant, an integer whose range is –32767 to 32767 can be specified. Constant, Register, and Argument Register is used for the Target value. For Constant, the integer whose range is –32767 to 32767 can be specified. 7–177 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F 7.12.2.2 FOR Instruction Execution When the FOR instruction is executed, the Initial value is substituted into the Loop counter. The following condition should be satisfied to execute the FOR/ENDFOR loop. • When TO is specified, Initial value is equal to or smaller than Target value. • When DOWNTO is specified, Initial value is equal to or larger than Target value. When this condition is not satisfied, the cursor moves to the next line of the combined ENDFOR instruction and the FOR/ENDFOR loop is not executed. The FOR instruction is executed only once in the FOR/ENDFOR loop. 7.12.2.3 Form of ENDFOR Instruction The form of ENDFOR instruction is as follows. 7.12.2.4 ENDFOR Instruction Execution The FOR/ENDFOR loop is repeated as long as the following condition is satisfied. • When TO is specified, the value of Loop counter is smaller than Target value. • When DOWNTO is specified, the value of Loop counter is larger than Target value. When this condition is satisfied and TO is specified, the value of Loop counter is incremented. When this condition is satisfied and DOWNTO is specified, the value of the Loop counter is decremented. And after that, the cursor moves to the next line of the combined FOR instruction. When this condition is not satisfied, the cursor moves to next line and the FOR/ENDFOR loop is not repeated. Note An internal delay is used when the FOR/ENDFOR loop is executed repeatedly. Therefore, a WAIT instruction is not necessary in the FOR/ENDFOR loop to repeat the loop. 7.12.3 Teach FOR/ENDFOR Instruction 7.12.3.1 How to teach the FOR/ENDFOR Instruction How to teach FOR/ENDFOR instruction is as follows. Procedure 7-9 Teach FOR/ENDFOR Instruction 1. In this example, insert blank lines in line 1 and 5. 7–178 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS 2. Move the cursor to line 1 and press F1, [INST]. 3. Select FOR/ENDFOR. 4. Select FOR. The FOR instruction is taught. 5. The cursor automatically moves to the index of the register. Input the value of the index. In this example, input 1. 6. The cursor automatically moves to Initial value part. In this example, Constant is selected and the value is 1. To choose register or argument register, press F4, [CHOICE] and select one of them. 7–179 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F 7. The cursor automatically moves to TO/DOWNTO part. In this example, press ENTER. To choose DOWNTO, press F4, [CHOICE] and select DOWNTO. 8. The cursor automatically moves to Target value part. In this example, select R[]. Input 2 for the index of the register. 7–180 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS 9. Move the cursor to line 5 and press F1, [INST]. 10. Select FOR/ENDFOR. 11. Select ENDFOR. ENDFOR instruction is taught. 7.12.3.2 FOR/ENDFOR instruction Combination FOR and ENDFOR instructions are automatically combined after teaching. The closest FOR instruction and ENDFOR instruction are combined. By teaching FOR/ENDFOR instructions additionally in FOR/ENDFOR loop, nested loops can be formed. Up to 10 nested loops can be formed. However, teaching more than 10 nested loops causes an alarm in execution. 7–181 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F The number of FOR instruction and ENDFOR instruction in a program should be the same. When the number is not the same, an alarm occurs in execution. Alarms related to FOR/ENDFOR function are described in Section 7.12.5 . How to combine FOR and ENDFOR instructions is described in the following example. Teach FOR instruction in line 1. In this case, the number of FOR instruction and ENDFOR instruction is not the same. Therefore, if this program is executed, the alarm “INTP-670 Need ENDFOR for FOR in line 1” occurs. Teach ENDFOR instruction in line 6. FOR/ENDFOR loop is formed by FOR instruction in line 1 and ENDFOR instruction in line 6. Teach FOR instruction in line 3. In this case, the number of FOR instruction and ENDFOR instruction is not the same. Therefore, if this program is executed, the alarm “INTP-670 Need ENDFOR for FOR in line 1” occurs. Teach ENDFOR instruction in line 8. The closest FOR instruction and ENDFOR instructions are combined. Therefore, the first FOR/ENDFOR loop is formed by FOR instruction in line 3 and 7–182 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS ENDFOR instruction in line 6, and the second FOR/ENDFOR loop is formed by FOR instruction in line 1 and ENDFOR instruction in line 8. In this example, 2 nested loops are formed. Note Please be careful not to use the same register number as Loop counters in the same nested loop. It might cause abnormal behavior. 7.12.4 Execution examples 7.12.4.1 Backward execution Backward execution is prohibited on FOR/ENDFOR instructions. However, backward execution on instructions within FOR/ENDFOR loop is allowed. In the following example, when backward execution is started from line 1 or 5, the alarm “INTP-238 BWD execution completed” occurs. On the other hand, backward execution can be done when started from line 2, 3, 4 or 6. 7.12.4.2 Examples The examples of FOR/ENDFOR instruction are described with the following program. 7–183 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Case 1: R[2]=3 TO is specified and Initial value is smaller than Target value. Therefore, the condition of FOR instruction is satisfied. As the value of Loop counter changes from 1 to 3, the condition of ENDFOR instruction is satisfied and FOR/ENDFOR loop is repeated three times. Case 2: R[2]=1 TO is specified and Initial value is equal to Target value. Therefore, the condition of FOR instruction is satisfied. However, as the value of Loop counter is equal to Target value, the condition of ENDFOR instruction is not satisfied. Therefore, FOR/ENDFOR loop is executed only once. Case 3: R[2]=0 TO is specified and Initial value is larger than Target value. Therefore, the condition of FOR instruction is not satisfied. The cursor moves to the next line of combined ENDFOR instruction, that is, line 6 and FOR/ENDFOR loop is not executed. 7–184 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Other examples Start within FOR/ENDFOR loop: R[1]=0 When the following program is executed from line 3 and R[1]=0, the condition of ENDFOR instruction is satisfied. Therefore, FOR/ENDFOR loop is repeated 4 times (0 to 3). Start within FOR /ENDFOR loop: R[1]=5 When the following program is executed from line 3 and R[1]=5, the condition of ENDFOR instruction is not satisfied. Therefore, FOR/ENDFOR loop is not repeated. JMP/LBL instructions exist within FOR/ENDFOR loop: In the following program, JMP/LBL instructions exist within the FOR/ENDFOR loop. The cursor moves from line 3 to line 7 by JMP instruction. FOR/ENDFOR loop between line 1 and 4 is not executed. As line 7 is also within the FOR/ENDFOR loop and the condition of ENDFOR instruction in line 8 is satisfied, FOR/ENDFOR loop between lines 5 and 8 is repeated. Finally, the value of R[1] is equal to 1 and R[2] is equal to 2. 7–185 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Note Please be careful when you use JMP/LBL within FOR/ENDFOR loop. Before you use them, please consider how the loop works. Otherwise, it might cause fatal errors. The Loop counter value is modified within FOR/ENDFOR loop: Loop counter can be modified within the FOR/ENDFOR loops. In the following example, when DI[1] = ON, R[1] is changed to 11. As this value is larger than Target value, this FOR/ENDFOR loop is finished. Note Please be careful when you modify Loop counter value within FOR/ENDFOR loop. Changing Loop counter value within FOR/ENDFOR loop may cause an abnormal behavior or infinite loops. Please be careful when you modify Target value within FOR/ENDFOR loop when register or argument register is specified for them. Changing the value within FOR/ENDFOR loop might cause an abnormal behavior. The Loop counter value is calculated within FOR/ENDFOR loop: In the following example, FOR/ENDFOR loop counter is calculated. After execution, Loop counter value will be 11. Loop counter value is different from Target value. However, this result is correct. 7–186 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS This is explained as follows. Line 1, R[1] is 6 (Initial value). Line 5, R[1] is 7. Line 6, R[1] is 7 and this satisfies the ENDFOR condition. R[1] is incremented to be 8. Line 5, R[1] is 9. Line 6, R[1] is 9 and this satisfies the ENDFOR condition. R[1] is incremented to be 10. Line 5, R[1] is 11. Line 6, R[1] is 11 and this does not satisfy the ENDFOR condition. The cursor goes to next line. This means the user can calculate Loop counter, but need to be careful that the Loop counter value is different from Target value. Note In some cases, calculating Loop counter causes an alarm. This problem can be avoided by using DIV just before FOR/ENDFOR instruction or input the same value in DATA screen. Especially when you calculate with real value use division, please make sure to use DIV. R[1]=R[1] DIV 1 7.12.5 Alarms Alarms occur in the following conditions with FOR/ENDFOR function. • Execute when the number of FOR instruction is smaller than ENDFOR instruction • Execute when the number of ENDFOR instruction is smaller than FOR instruction • Execute when there is over 10 nested loops • Other than integer is used for Initial value or Target value in FOR instruction • Other than integer is used for the value of Loop counter or Target value in ENDFOR instruction • Execute when the number of FOR instruction is smaller than ENDFOR instruction Execute the following program. As FOR instruction for ENDFOR instruction in line 5 does not exist, the alarm “INTP-669 Need FOR for ENDFOR in line 5” occurs in execution. • Execute when the number of ENDFOR instruction is smaller than FOR instruction Execute the following program. As ENDFOR instruction for FOR instruction in line 1 does not exist, the alarm “INTP-670 Need ENDFOR for FOR in line 1” occurs in execution. 7–187 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F • Execute when there are over 10 nested loops The alarm “INTP-671 Too many FOR” occurs in execution. • Other than integer is used for Initial value or Target value in FOR/ENDFOR instruction • Other than integer is used for the value of Loop counter or Target value in ENDFOR instruction Execute the following program. As the value of the register for Target value in FOR instruction in line 2 is not integer, the alarm “INTP-672 (program, 2) Value type is not integer” occurs when line 2 is executed. In other cases, calculating the Loop counter, Initial value or Target value may cause the same alarm. Note In some cases calculating a register used for Loop counter or Target value causes the alarm above even though the result and the value displayed in DATA screen is integer. This problem can be avoided by using DIV as follows just before FOR/ENDFOR instruction or input the same value in DATA screen. Especially when you calculate with real value using division, please make sure to use DIV. R[1]=R[1] DIV 1 7.13 INPUT/OUTPUT INSTRUCTIONS 7.13.1 Overview 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 7–188 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS • Analog input and output instructions • Group input and output instructions • Welding Input and output instructions Note I/O instructions are initiated immediately after completion of the previous instruction. The format of the I/O instructions in the TP editor is controlled by three items in the [EDCMD] pull-up menu. • Comment • IO Status • Color 7.13.2 Digital Input and Output Instructions Digital input (DI) and digital output (DO) signals are user-controlled input and output signals. Use digital input and output instructions to control digital input and output signals in a program. Refer to the “Input/Output (I/O) Setup” chapter in the Setup and Operations Manual. R[x] = DI[x] The R[x] = DI[x] instruction stores the condition of a digital input signal line (ON=1, OFF=0) in a register. See Figure 7–113 . Figure 7–113. R[x] = DI[x] DO[x] = ON/OFF The DO[x] = ON/OFF instruction turns on or off the specified digital output signal. See Figure 7–114 . Figure 7–114. DO[x] = ON/OFF 7–189 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F DO[x] = PULSE [,width] The DO[x]=PULSE [,width] instruction turns on the digital output signal for the time specified. See Figure 7–115 . Figure 7–115. 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 7–116 . Figure 7–116. DO[x] = R[x] 7.13.3 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. Refer to the “Input/Output (I/O) Setup” chapter in the Setup and Operations Manual. 7–190 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS 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 7–117 . Figure 7–117. 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 7–118 . Figure 7–118. 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 7–119 . Figure 7–119. RO[x] = PULSE [,width] 7–191 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F 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 7–120 . Figure 7–120. RO[x] = R[x] 7.13.4 Analog Input and Output Instructions Analog input (AI) and analog output (AO) signals are continuous input and output signals whose magnitudes indicate data values, such as temperatures and voltages. Refer to the “Input/Output (I/O) Setup” chapter in the Setup and Operations Manual. R[x] = AI[x] The R[x] = AI[x] instruction stores the value on an analog input channel in a register. See Figure 7–121 . Figure 7–121. R[x] = AI[x] AO[x] = value The AO[x]=value instruction sends a value on an analog output channel. See Figure 7–122 . Figure 7–122. AO[x] = value 7–192 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS 7.13.5 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. Refer to the “Input/Output (I/O) Setup” chapter in the Setup and Operations Manual. 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 7–123 . Figure 7–123. 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 7–124 . Figure 7–124. GO[x] = value 7–193 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F 7.13.6 Input and Output Instruction Format All of the I/O instructions discussed in the previous sections can either be displayed in a concise format or, if you prefer, you can enhance the format with: • Comment • IO Status • Color These three display options can be selected in the [EDCMD] pull-up menu using the F5 function key. Selecting an item in the menu will toggle the feature ON and OFF. These three display options can be used together or independently. Comments A comment string can be added to an I/O signal in the I/O screen. You can display comments in the editor by selecting the Comment item in the [EDCMD] menu. Figure 7–125 shows the same program with Comments OFF and ON. Figure 7–125. Comment OFF and ON Note The Register instruction on Line 6 also has a comment. Comments can be added to Registers in the Data Registers screen. IO Status A Digital I/O signal has a state of ON or OFF. This can be observed in the Digital I/O screens. An Analog or Group I/O signal also has a value, and it can be viewed in the corresponding I/O screens. The status or value of these signals can also be displayed in the I/O instructions in the TP editor. You can enable or disable this feature by selecting the IO Status item in the [EDCMD] menu. Figure 7–126 shows the same program with IO Status OFF and ON. 7–194 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Figure 7–126. I/O Status OFF and ON Figure 7–127 adds comments to the examples above. Figure 7–127. Comments and Status ON Color Color can be used by some TP instructions. The ON and OFF states of Digital I/O can be displayed with Green and Red background colors, respectively. The I/O value of Analog and Group I/O signals can be highlighted with a yellow background. This is shown below in Figure 7–128 . 7–195 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Figure 7–128. Color ON 7.14 MACRO COMMAND INSTRUCTION The macro command instruction specifies the macro command to be executed when the program is run. A macro command is a separate program that contains a series of instructions to perform a task. You can define as many as 20 to 99 macro commands, depending on how your system was set up. See Figure 7–129 . Figure 7–129. Macro Command Instruction Refer to the “General Setup” chapter of this manual for information on how to set up and execute macro commands. Refer to Section 7.21 for information on macro instruction parameters. Note When using Parameters for Macros, you can include parameters in the macro command instruction. Refer to Section 7.21 for more information. 7.15 MATH FUNCTION INSTRUCTIONS • The Math function option (J593) allows you to calculate math functions (ex: SIN COS and so on) in the TP program. • The Math function instruction can be used in an assignment statement, conditional statement and wait command. 7–196 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS 7.15.1 Type of Math Functions Usable instructions of math functions are as follows. Table 7–17. Usable instruction of math function Function Explanation Restriction of Argument SQRT[x] Square root 0 <= x SIN[x] None COS[x] None TAN[x] Except 90,270±360n ASIN[x] -1 <= x <= 1 Trigonometric Function Units are Degrees ACOS[x] -1 <= x <= 1 ATAN[x] None ATAN2[x,y] Except x=0,y=0 LN[x] Natural Logarithm 0<x EXP[x] Exponent None ABS[x] Absolute None TRUNC[x] Truncate -2.1*10^9 <= x <=2.1*10^9 ROUND[x] Round off -2.1*10^9 <= x <=2.1*10^9 • Units of aforementioned functions are degrees. • Conversion functions are not supported because the user can achieve them by multiplying a constant value(57.29579 or 0.017453 based on requirement). 7.15.2 Instruction Format of Math Function Instruction type of math functions is explained in the following example. 7.15.2.1 Instruction Format of Assignment Statements • The function which only has one argumentExcept of ATAN2[ ] 7–197 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F • The function which has two argumentsATAN2[ ] • The argument of math functions is “Register “ and “Argument Register.” • Constant is not used directly. 7.15.2.2 Instruction Format of Relational Statements • A mixed logic instruction expression can be used in the conditional statement of a conditional branch command. • If the result of a conditional statement is ON, the executable statement of the conditional branch command is executed. • The argument of math functions is “Register “ and “Argument Register.” 7–198 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS • A Constant is not used directly. 7.15.2.3 Instruction Format of Wait Command Statements • A mixed logic expression can be specified in the conditional statement of a wait command. • Wait until the specified condition is satisfied. • The argument of math functions is “Register “ and “Argument Register.” • A Constant is not used directly. 7.15.3 Function Specification of Math Functions 7.15.3.1 Square Root (SQRT) Function name: SQRT[X] Argument: A positive integer or a positive real value to calculate square root. This function calculates the positive square root of the argument. Example: Execute this TP program then, If the argument is minus value, then the following error occurs. 7.15.3.2 Trigonometric Function (SIN) Function name: SIN[X] Argument: An angle to calculate SIN (in degree). An integer or a real value. This function calculates sine of the argument. Example: 7–199 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Execute this TP program then, 7.15.3.3 Trigonometric Function (COS) Function name: COS[X] Argument: An angle to calculate COS (in degree). An integer or a real value. This function calculates cosine of the argument. Example: Execute this TP program then, 7.15.3.4 Trigonometric Function (TAN) Function name: TAN[X] Argument: An angle to calculate TAN (in degree). An integer or a real value. This function calculates tangent of the arguments. Example: Execute this TP program then, 7–200 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS If the argument equals to 180*n+90 and execute, then the following Error will be posted. 7.15.3.5 Inverse Trigonometric Function (ASIN) Function name: ASIN[x] Argument: An integer or a real value to calculate ASIN. (Return value is degree.) This function calculates arc sine of the argument. Example: Execute this TP program then, If the argument ranges are x>1 or x<-1 and execute program, then the following Error will be posted. 7.15.3.6 Inverse Trigonometric Function (ACOS) Function name: ACOS[x] Argument: An integer or a real value to calculate ACOS. (Return value is degree.) This function calculates arc cosine of the argument. Example: Execute this TP program then, If the argument ranges are x>1 or x<-1 and execute program, then the following Error will be posted. 7–201 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F 7.15.3.7 Inverse Trigonometric Function (ATAN2) Function name: ATAN2[x,y] 1st argument: x coordinates of the point to calculate ATAN2. An integer or a real value. 2nd argument: y coordinates of the point to calculate ATAN2. An integer or a real value. This function calculates arc tangent of the 1st and 2nd arguments. (Return value is degree.) Example: Execute this TP program then, 7.15.3.8 Inverse Trigonometric Function (ATAN) Function name: ATAN [x] Argument: An integer or a real value to calculate ATAN. Example: Execute this TP program then, 7.15.3.9 Exponent Function name: EXP[x] Argument: An integer or a real value to calculate EXP. This function calculates a value equal to e (approximately 2.71828) raised to the power specified by the argument. Example: 7–202 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Execute this TP program then, 7.15.3.10 Natural Logarithm Function name: LN[x] Argument: An integer or a real value to calculate LN. This function calculates the natural logarithm of the argument. Example: Execute this TP program then, If the argument is x <= 0 and the program execute, then the following Error will be posted. 7.15.3.11 Absolute (ABS) Function name: ABS[x] Argument: An integer or a real value to calculate ABS. This function calculates the absolute value of the argument. Example: Execute this TP program then, 7–203 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F 7.15.3.12 Truncate (TRUNC) Function name: TRUNC[x] Argument: A real value to calculate TRUNC. This function converts the real argument to an integer by removing fractional part of the real value. Example: Execute this TP program then, 7.15.3.13 Round Off (ROUND) 7.15.4 Background Operation of Math Function Math function instructions are part of the mixed logic instruction. Then Math function instruction can be used in background operation. 7–204 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Table 7–18. Background operation of math function Mode Maximum Allowable Number of Items Scanning Time Available Data Available Operators Standard mode No restriction (Number of items in standard mode / 300-Number of items in high-level mode)*ITP The number of items as used here refers to the total number of items in each mode background operation programs. One ITP is usually eight milliseconds. SIN, COS, TAN, ASIN, ACOS, ATAN, ATAN2, SQRT, LN, EXP, ABS, TRUNC, ROUND (,), =, <>, <, <=, >, >=, +, -, *, /, DIV, MOD High-level mode 270 Eight milliseconds. • The scanning time of Math function is 2 or 3 times of normal items, because Math function instruction needs more time to calculate. • The scanning time of ATAN2 instruction is 3 times of normal items. • The other math function instructions of scanning time are 2 times of normal items. 7.15.5 Teach Math Function Instruction Math function can be used in mixed logic instruction. As an example, the teaching process of following statement is as follows. Procedure 7-10 Examples of Teaching Math Function 1. Press F1 key(INST). 2. Select Register. 3. Select mixed logic instructions “…=(…)”. 7–205 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F 4. Select register “R[ ]”. Then the cursor moves in the square bracket. 5. Input index 1. 6. Then the cursor moves to the right side of equal sign. 7. Select “SIN[ ]”. 8. Then the cursor moves in the square bracket. And the default value R[…] is selected. Arguments are “Register “ and “Argument Register”. (Not Constant) The “Register” is default value of argument. So to use “Argument Register”, press F3(CHOICE) then select “Argument Register”. 9. For example Register[2] is used here. Input value 2 then the cursor moves to the right parentheses. 7–206 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS 10. Move cursor to finish teaching. 11. Teaching of SIN[R[2]] function completed. 7.15.6 Restriction of Teaching Math Function • The argument of math functions is “Register “ and “Argument Register”. • Constant is not used directly. • If the user wants to use constant, input constant to a register, and use the register. • You can put multiple math functions in a single line. • You cannot put math functions in a math function. The following statements are supported. The following statements are not supported. 7–207 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F • Math function might have a negligible calculation error of 10-7 due to internal calculation error because math function follows the same specification of KAREL Built-Ins. • For example the result of COS[R[1]] (when R[1]=90), may be 10-8 that is not exactly zero. This behavior can be avoided by rounding off the result using ROUND function. 7.15.7 Exceptions and Restriction Math function instruction posts the alarm in the following conditions. • When the argument exceeds the domain of function definition. Example :LN[R[1]] (R[1] = -1) :ASIN[R[2]] (R[2] = 10) :SQRT[R[3]] (R[3] = -4) :TAN[R[4]] (R[4] = 90) • The value overflows when executed. Example :EXP[R[1]] (R[1] = 100) • If the variables are divided by zero then, the following error will be occurred. Example :R[1] / SIN[R[2]] (R[2] = 0) :10/COS[R[3]] (R[3] = 90) 7.16 MISCELLANEOUS INSTRUCTIONS 7.16.1 Overview There are miscellaneous instructions for production control, user alarms, timer setting, speed override, program remarks, message handling, and parameter setting. 7–208 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS 7.16.2 RSR Enable/Disable Instruction RSR[x] = [action] The RSR enable/disable instruction enables and disables the queueing process of the specified RSR. When an RSR signal is set to disable, the RSR signal will be ignored. See Figure 7–130 . Figure 7–130. RSR Enable/Disable 7.16.3 User Alarm Instruction The user alarm instruction puts the program in an alarm condition, pauses the program, and causes a message to be displayed on the error message line as follows: UALM[x] INTP 213 UALM[x] Message (prog_name, line_num) For example: INTP 213 UALM[1] Check feeder (RSR001, 47) If the program is resumed, program execution will continue from the next program line. The user alarm instruction specifies the alarm message to be displayed. Refer to the “General Setup” chapter of the Setup and Operations Manual for information on how to define the contents of a user alarm. See Figure 7–131 . Figure 7–131. User Alarm 7–209 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F 7.16.4 Timer Instruction Timer instructions allow you to start, stop, and reset up to 20 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. See Figure 7–132 . TIMER[x] = [action] You can display the status of program timers on the STATUS Prg Timer screen. Figure 7–132. Timer 7.16.5 OVERRIDE Instruction The OVERRIDE instruction sets the speed override to a percentage value of the programmed speed. See Figure 7–133 . OVERRIDE = x % Figure 7–133. OVERRIDE 7.16.6 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 (!). 7–210 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS The remark instructions can be displayed with a yellow background color to help clarify the program content. The use of color text in the editor can be turned On or Off using the Color command available under the EDCMD function key. 7.16.7 Multi-lng Remark Instruction The multi-lng remark instruction allows you to annotate the program. There are 2 reasons you may wish to use this instead of the original remark instruction: • You support multiple languages and you wish the remarks to be localized for each language. • Or you wish to add remarks that are longer than 32 characters. The multi-lng remark information does not affect the execution of the program. When you add a multi-lng remark instruction, you enter the message to display within the program. The multi-lng remark instruction can be alphabetic, numeric, punctuation, and blank space characters. The first two characters are two hyphens (––). The multi-lng remark has the following characteristics: • Each remark can be 242 characters although the total for all languages cannot exceed the maximum line length which is also 242 characters. • The remark will automatically be split among multiple lines in the editor based on the window width. It uses space to split the line so if the remark has no spaces the display will be truncated instead. • When a new remark is entered it is based on the current language. To enter or display a remark for a different language, you must change the language in the General Setup menu. • When the language is changed, the remark will only display the two hyphens until you enter a new remark for that language. • When a program is loaded, it may contain a remark in a language that does not exist on the controller. The language is not created. The remarks will be created but hidden from the editor. • The .LS file will display all remarks for all languages, even if the language does not exist on the controller. In the editor, the remark will look as follows: 1: : --This program opens the raw part gripper In the .LS file, the remark will look as follows: 1: : : : --eg:This program opens the raw part gripper --kn:This is KANJI version of remark --sp:This is Spanish version of remark --jp:Japanese 7–211 7. PROGRAM INSTRUCTIONS : : : : : MAROUHT9102171E REV F --fr:French --gr:German --ch:Chinese --tw:Taiwanese --ot:Other ; • It is useful to add remarks for multiple languages in the .LS file and use "Ascii Upload" option to create the program. The suffix must be in lower case. The last suffix must contain the ; to end the remark. • The remark can be displayed with a yellow background color to help clarify the program content. The use of color text in the editor can be turned On or Off using the Color command available under the EDCMD function key. 7.16.8 Line Remark (Comment out) Instruction The Line Remark instruction allows you to disable the execution and editing of an line (comment out). Any instruction can be remarked. The Line Remark has the following characteristics: • The Line Remark instruction will prefix the line with // and then display the line as normal. • When the language is changed, the Line Remark instruction is localized. • You cannot create a line with //. A line is created in the normal way. You press [EDCMD] Remark to convert a line to a Line Remark. • [EDCMD] Remark will allow multiple lines to be selected and F4 REMARK or F5 UNREMARK will remark or unremark all the selected lines. • You cannot use // to comment out just a portion of a line. • You cannot edit a line with //. Right arrow in the TP Editor will not move the cursor off the line number. TOUCHUP on a motion line is ignored. • You can only remove the // using [EDCMD] Remark and selecting unremark. • The line is still valid even though it is commented out. In other words, a position still exists for the motion lines and a label still exists for the label lines. In the case of a label, the label will be commented out so it is no longer valid to jump to. When a label is unremarked, then the label will be uncommented out unless another label has been added with the same number. • You can perform other modifications on the line such as delete, copy and paste, find and replace, and renumber. • Line Remark instructions must be valid instructions in order to successfully load a TP program or to perform Ascii Upload. You can use the Multi-lng Remark Instruction if you need to comment out an invalid instruction for Ascii Upload. • The toolbars in the icon editor have a Line Remark Toggle button. When pressed, the current line is toggled as a remark/unremark. 7–212 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS 7.16.9 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. See Figure 7–134 . When the MESSAGE [message content] instruction is executed, the user screen is displayed automatically. MESSAGE [message content] Figure 7–134. Message Instruction 7.16.10 Parameter Name Instruction You can display and change the value of a system variable through the parameter name instruction, by using teach pendant read and write operations. Refer to the “Status Displays and Indicators” chapter in the Setup and Operations Manual for more information on system variables. Note Some system variables only allow you to display their value. Therefore, you might not be able to change the value of some system variables using the parameter name instruction. There are two kinds of data types for a system variable: • Numeric data type, which can be stored in a register. • Position data type, which can be stored in a position register. The following data types are possible: — Cartesian (xyzwpr) — Joint (axes J1 through J6) When a position data type system variable is stored in a position register, the position register takes on the data type of the system variable. Note If the system variable you are setting requires a BOOLEAN value (true or false), use 1 for TRUE and 0 for FALSE. Caution Do not try to store a numeric system variable in a position register or a position system variable in a numeric register; otherwise, you will cause an error message to be displayed. 7–213 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F 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. $[parameter name] = [value] The $[parameter name]=[value] instruction allows you to change (write) the value of a system variable. See Figure 7–135 . Figure 7–135. Parameter Name Write Instruction R[ ] / PR[ ] = $[parameter name] The [value] = $[parameter name] instruction allows you to display (read) the value of a system variable. See Figure 7–136 . Figure 7–136. Parameter Name Read Instruction 7.16.11 Maximum Speed Instruction The maximum speed instructions set the maximum speed of joint motion and linear or circular motion in the program. If the motion speed exceeds the value designated by this instruction, the motion speed is limited by the designated value. If you use a maximum speed instruction and 7–214 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS • If a macro program is called, the maximum speed value is set back to the default value. • If a called macro program sets the maximum speed, the maximum speed value is set back to the default value when returning to the calling program. Figure 7–137 and Figure 7–138 show the maximum speed instructions used in a multiple motion group system. JOINT_MAX_SPEED[...] = ... Figure 7–137. JOINT_MAX_SPEED Instruction - Multiple Motion Group Syntax LINEAR_MAX_SPEED[...] = ... Figure 7–138. LINEAR_MAX_SPEED Instruction - Multiple Motion Group Syntax The maximum speed instructions have been shown as they would be used in a multiple motion group system. The syntax for the commands is shown in Figure 7–139 and Figure 7–140 when they are used in a single motion group system. Figure 7–139. JOINT_MAX_SPEED Instruction - Single Motion Group Syntax 7–215 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Figure 7–140. LINEAR_MAX_SPEED Instruction - Single Motion Group Syntax 7.17 MIXED LOGIC INSTRUCTIONS 7.17.1 Overview The Mixed Logic Instructions option provides any combination of operators and data in TP program assignment statements, IF statements and WAIT statements. Mixed Logic also supports the NOT operator (!) and parenthesis ( “(“ and “)” ). You can specify Mixed Logic instructions through the Register menu, the I/O menu, the IF/SELECT menu, and the WAIT menu. Mixed Logic instructions must be specified in parentheses, as follows: • DO[1]=(DI[1] AND !DI[2]) • IF (DI[1]) JMP,LBL[1] • WAIT (DI[1]) When the statement does not have parentheses, the statement is executed the same as any other Logic Instruction. Mixed logic also provides the additional boolean data types Flag and Marker and the additional statementTC_Online. Mixed logic also provides Background Logic, which allows simultaneous, continuous, repeated execution of as many as eight TP programs containing only assignment statements. 7.17.2 Data Types The following data types are available for mixed logic instructions: 7–216 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Table 7–19. Data Types Type Value Data Numerical The data can have numerical value. Both integer and real values are available. Register, Constant, GI/O, AI/O, Element of position register , Argument, System variable Boolean The data can be On or Off . DI/O, RI/O, UI/O, SI/O, WI/O, On, Off, Flag, Marker Note Position type data and Palletizing type data cannot be specified in mixed logic instructions. 7.17.3 Operators The following operators are available for mixed logic instructions. Table 7–20. Arithmetical Operators Operator Operation + Addition of left side and right side. - Subtraction of right side from left side * Multiplication of left side and right side. / Division of left side and right side. MOD Remainder of the division of left side and right side. DIV Round off the decimal part of the division of left side and right side. • Arithmetical operators are used for numerical data only. If numerical operators are used for boolean data, the INTP-205 Variable Type Mismatch error occurs. • The output data type of arithmetical operators is always numerical. Table 7–21. Logical Operators Operator Operation AND Logical AND of left side and right side. OR Logical OR of left side and right side. ! Logical NOT of left side and right side. • Logical operators are used for boolean data only. If logical operators are used for numerical data, the INTP-205 Variable Type Mismatch error occurs. • The output data type of logical operators is always boolean. 7–217 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Table 7–22. Comparison Operators Operator Operation = When the left side and right side are equal, returns ON; when unequal, returns OFF. <> When the left side and right side are not equal, returns ON; when equal, returns OFF. < When the left side is less than the right side, returns ON; when greater, returns OFF. > When the left side is greater than the right side, returns ON; when less, returns OFF. <= When the left side is less than the right side, or they are equal, returns ON; when greater, returns OFF. >= When the left side is greater than the right side, or they are equal, returns ON; when less, returns OFF. • ”=” and “<>” can be used for both numerical data and boolean data. • “<”,“>”,“<=”, and “ >=” are used for numerical data only. If they are used for boolean data, the INTP-205 Variable Type Mismatch error occurs. The priority of the operators is indicated in the following table. Table 7–23. Priority of Operators Priority Operator HIGHEST ! *, /, DIV , MOD +, — MEDIUM <, >, <=, >= =, <> AND LOWEST OR 7.17.4 Expressions Mixed logic instructions can be specified in assignment statements, IF statements, and WAIT statements. Assignment Statements The following is an example of a mixed logic assignment statement: R[1] = ((GI[1] + R[1]) * AI[1]) DO[1] = (DI[1] AND (GI[1] — GI[2])) 7–218 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS • The first = from the left indicates an assignment statement. The other =s indicate comparison. The result of the right side expression is assigned to the left side data. • When the left side data type is boolean and the result of the right side expression is numerical, left side data becomes OFF when the right side value is less than 1 and greater than —1; the left side data becomes ON when the right side value is greater than 1 or less than —1. This behavior is the same as a normal assignment statement. • When the left side data type is numerical and the result of the right side expression is boolean, the left side data becomes 0 when the right side value is OFF, and the left side data becomes 1 when the right side value is ON. This behavior is the same as a normal assignment statement. • If a real value is assigned to GO, AO, or an integer type system variable, the decimal part is rounded off. • “Pulse” cannot be specified in mixed logic instructions. You must use normal logic instructions to specify “Pulse”. • Position type data and palletizing type data cannot be specified in the right side or left side of mixed logic instructions. You must use normal logic instructions to specify position or palletizing type data. • The maximum number of items (data or operators) allowed in an assignment statement is approximately 20. The exact maximum number allowed varies according to data type. The following data can be specified in the left side of the assignment: Table 7–24. Data Assignments Type Data Boolean DO, RO, UO, SO, WO, Flag, Marker Numerical Register, GO, AO, element of a position register, system variable IF Statements The following is an example of a mixed logic IF statement: IF (R[1] = (GI[1] + R[1]) * AI[1]) JMP LBL[1] IF (DI[1] AND (!DI[2] OR DI[3])) JMP LBL[1] • You can specify mixed logic expressions in the condition part of an IF statement. • The result of the IF statement must be boolean. • When the result of the expression is on, the action part of the statement, for example, JMP LBL, is executed. • The following statements can be used in the action part of an IF statement when mixed logic is used in the condition part: JMP LBL[ ] CALL 7–219 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Mixed Logic assignment statement Pulse statement • Mixed Logic assignment statements and Pulse statements can be specified in the action part of the IF statement only when the condition part is a Mixed Logic expression. See the following example: IF (DI[1]), DO[1]=(On) IF (DI[2]), DO[1]=Pulse • The maximum number of items (data or operators) in an IF statement is approximately 20. The exact maximum number of items varies according to data type. WAIT Statements The following is an example of a mixed logic WAIT statement: WAIT (DI[1] AND (!DI[2] OR DI[3])) • Mixed Logic expressions can be specified in the condition of a WAIT statement • The result of the expression must be boolean. • The WAIT statement waits until the result of the expression becomes ON. • “On+”,“Off-” and “ERR_NUM” cannot be specified in mixed logic instructions. You must use normal logic instructions to specify them. • The maximum number of items (data or operators) in a WAIT statement is approximately 20. The exact maximum number of items varies according to the data type. 7.17.5 Adding Mixed Logic Instructions Editing mixed logic statements is more complex than editing normal statements because of the greater variety of data types and operators that can be used, and the flexibility with which they can be combined. To make editing easier, the following functions are provided: • To begin teaching a mixed logic instruction you must first choose a statement containing parentheses. • Item selection menu shows the items available according to the location in the statement. • When the combination of items is invalid, for example two operators adjoin, empty item is inserted automatically, and you are prompted to select an item. • When an item is deleted, the related items are deleted at the same time. For example, an operator is deleted, the next data is deleted at the same time. 7–220 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS • When the cursor is on the item of Mixed Logic expression, if the expression is wrong, an error message is displayed on the prompt line. The following messages can be displayed. Table 7–25. Mixed Logic Error Messages Error Message Explanation Parentheses mismatch The number of left parenthesis and right parenthesis are not same. Invalid index Index number is not correct. Variable type mismatch Data type is not correct for the operator. Invalid parameter name System variable name is not correct. Untaught element Empty item (...) exists. Invalid motion group The specified motion group of PR[ ] is not available for the program. Invalid item for output The left side item of assignment statement is invalid. Invalid item for Mixed Logic The item can not be used in Mixed Logical expression. Syntax error Invalid statement. To add Mixed Logic instructions to a program, 1. At the Edit menu, press F1, INST to go to the Instruction menu. 2. Select the kind of instruction you want to add: Register, I/O, IF/SELECT, or WAIT. 3. At the Statement menu, select the Mixed Logic statement, which contains parentheses: (...) 4. Build the instruction as you normally would. 5. To change an item of a Mixed Logic statement, when the cursor is on the item you want to change, press F4, CHOICE. The available items will be displayed. 6. You can insert items in any Mixed Logic statement, except for the left side of an Assignment statement. Press F1, INSERT. An empty item, “...” is inserted before the cursor and an item selection menu is displayed. If you select an operator, an empty item is inserted after the operator, and the data menu is displayed. 7. You can delete items in any Mixed Logic statement except for the left side of an assignment statement. Move the cursor to the item and press CHOICE. The DELETE key will be displayed on F2. If an operand is deleted, the following data item will also be deleted. 8. To add or delete a NOT(!) operator, when the cursor is on a Digital I/O item of a Mixed Logic expression, except the left side of an Assignment statement, press F5, (!). The NOT(!) operator will be added or deleted. 7–221 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F 9. To change the left side of an Assignment statement when the right side of the Assignment statement is Mixed Logic instructions, move the cursor to the left side item and press F4, CHOICE. A menu that includes the items that can be specified in the left side of an Assignment statement will be displayed. 7.17.6 Background Logic 7.17.6.1 Overview Background logic allows any teach pendant program that includes only Mixed logic statements to be executed in the background. The program is executed from beginning to end repeatedly. This execution is not affected by E-STOP, HOLD, or any alarms. There are two execution modes in Background Logic, Normal mode and High-level mode. • In Normal mode, all mixed logic instructions can be executed in the background. The number of items that can be processed every ITP, (ITP is normally 8 msec) in normal mode, is dependant on the total number of items to be scanned in Normal and High-Level modes. An "item" is data, an operator or an allowed instruction. • In High-Level mode, all mixed logic instructions can be executed in the background. Up to 540 items are processed every 8 msec. Refer to Table 7–26 for information on the background logic execution modes. Use Procedure 7-12 to execute background logic. Table 7–26. Background Logic Execution Modes Mode Max. number of Items Scanning time Available data Available operators Available Instructions Normal Mode No limitation (Total Num. of items / 600) * ITP Number of items means the total items in all background logic programs. (Normal and High). ITP is normally 8 msec. F[], M[]*, DI[], DO[], AI[], AO[], GI[],GO[], SI[], SO[], UI[], UO[], RI[], RO[] WI[], WO[] On, Off R[], PR[i.j], AR[] Constant Parameter Timer, Timer overrun (, ), !, AND, OR, =, <>, <, < =, >, >=, +,—, *, /, DIV, MOD All Mixed Logic Operations JMP LBL[...] (Only jumping in the down direction), RUN, UALRM[...] High-Level mode 540 8 msec Same as Normal Mode Same as Normal Mode Same as Normal Mode 7–222 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS • M[ ] cannot be specified as left side of assignment statement in background logic. • 8 programs can be executed as Background Logic at the same time. • If the program includes anything but allowed statements, "INTP-443 Invalid item for Mixed Logic" error occurs at execution. • While a program is being executed in the background, the program cannot be edited, and the program cannot be executed as a normal task. If the program is not running in the background, it can be run as a normal task in order to test it • When a program is running in the background, the program cannot be loaded as overwrite. • If a program is executing as Background Logic at power down, the program is executed at next power up automatically in the same execution mode. • The Background Logic execution occurs before than normal program execution. The Background Logic execution takes about 1 msec in every ITP. The background logic execution may affect the cycle time of the normal program. To decrease the execution time of Background Logic, change $MIX_LOGIC.$ITEM_COUNT to smaller value. The default value of $MIX_LOGIC.$ITEM_COUNT is 600, which is the number of items processed each ITP. • Assignment statements with the IF condition can be executed by Background Logic. The assignment statement is not executed when the condition is OFF. In the following example: IF (DI[1]), DO[1]=(DI[2]) the value of DO[1] is set to DI[2] when DI[1] is ON, DO[1] is not changed when DI[1] is OFF. • Pulse instruction can be used in Background Logic. It can be combined with the IF condition to create an OFF DELAY TIMER. In the example: IF (DI[1]), DO[1]=Pulse 1sec DO[1] has 1sec pulse when DI[1] stays ON than 1 sec. If DI[1] turns OFF before 1 sec, DO[1] turns OFF immediately. While DI[1] is OFF, this statement does not set DO[1]. To keep DO[1] on for 1 sec even if DI[1] turns OFF, use the following statements. F[1]=(DI[1] OR (F[1] AND DO[1])) IF (F[1]), DO[1]=Pulse 1sec • If a Pulse instruction does not specify the time, it will be one scan pulse in Background Logic execution. In the example: IF (DI[1]), DO[1]=Pulse In this case, DO[1] becomes ON for only one scan when DI[1] is changed from OFF to ON. This can be used as edge detection. Pulse instruction without time means the pulse of $DEFPULSE in normal execution, so it is different in Background Logic execution. 7–223 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F You can use the Background Logic screen to set up and execute programs as Background Logic. Refer to Table 7–27 for a description of each background logic screen item. Table 7–28 lists the background logic screen operations. Table 7–27. Background Logic Screen Items ITEM DESCRIPTION PROGRAM Enter the name of the program you want to execute as background logic. STATUS This item displays the status of the background logic program: MODE • Stop: The program is stopped • Running: The program is running in Normal mode. • Running (High): The program is running in High-Level mode. Use this item to select the execution mode: • Normal: The program is always executed in Normal mode. Default is "Normal". If you would like to execute the program in High-Level mode but it is executed in Normal mode, set this item "High". • High: The program is always executed in High-Level mode. Table 7–28. Background Logic Screen Operations FUNCTION KEY DESCRIPTION RUN Press this key to execute the program as background logic. If it contains statements that are not available in background mode, an error will be posted. STOP Press this key to stop background execution of the program. CLEAR Press this key to remove a Background logic program from the list. (The program must be in "STOP" mode before it can be removed.) Procedure 7-12 Setting Up Background Logic 1. Press MENU 2. Select 6, SETUP 3. Press F1, TYPE 4. Select BG Logic. You will see a screen similar to the following: 7–224 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Background logic Normal mode scan time: 8 msec 3/8 PROGRAM STATUS MODE 1 LOGIC1 Running Normal 2 LOGIC2 Stop High 3 LOGIC3 Running(High) High 4 Stop Normal 5 Stop Normal 6 Stop Normal 7 Stop Normal 8 Stop Normal 5. In the PROGRAM column, enter the name of the program you want to run as Background Logic. Press F4, [CHOICE] to get a listing of programs. Select the desired program from the list. The STATUS column will display the status of the background logic program: • Stop: The program is stopped • Running: The program is running in Normal mode.. • Running (High): The program is running in High-Level mode. 6. In the MODE column, select the execution mode. Press F4, [CHOICE] to get a listing of modes. Select the desired mode from the list. • Normal: The program is always executed in Normal mode. • High: The program is always executed in High-Level mode. Note The scanning time of Normal mode execution is displayed on the upper line of the screen. 7. To run the program as background logic, press F2, RUN. The program will run. If it contains statements that are not available in background mode, an error will be posted. 8. To stop background execution of the program, press F3, STOP. 9. To remove a program from background execution, press F5, CLEAR. 7.17.6.2 Flag Flags (F[ ])are internal I/O ports that can be read and set. They are not connected to any actual I/O device, they are like a Boolean type variable. The value of flags can be recovered by Power Failure Recovery function (HOT Start). It is the same as the other output ports, for example DO. 7–225 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F The following conditions set all Flags to OFF: • COLD start • CONTROL start • INIT start • I/O assignment is changed, even though in HOT start. • I/O configuration is changed, even though in HOT start. DI, DO, UI, UO, GI and GO can be assigned to flags by configuring them as Rack 34, Slot 1, Start point 1-1024. When UI/UO are assigned to flags, program execution can be controlled by TP program or Background Logic. For Example: Rack Slot Start Pt. UI[1-18] 34 1 1 In this case, when F[6] is changed from ON to OFF, UI[6:START] is changed from ON to OFF, and the selected program is executed. To display the Flag monitor menu 1. Press MENU. 2. Select 5 I/O. 3. Press F1, TYPE. 4. Select Flag. You will see a screen similar to the following: Flag F[ F[ F[ F[ F[ F[ F[ F[ F[ F[ # 1] 2] 3] 4] 5] 6] 7] 8] 9] 10] STATUS ON [ OFF [ OFF [ ON [ OFF [ OFF [ OFF [ OFF [ OFF [ OFF [ 1/1024 ] ] ] ] ] ] ] ] ] ] You can change the value of flags in this menu. 5. To display the port detail menu, press F2, DETAIL. You will see a screen similar to the following: 7–226 MAROUHT9102171E REV F Port Detail Flag Comment:[ 7. PROGRAM INSTRUCTIONS [ 1] ] You can change flag comments at this screen. Examples of Edge Detection, Counter and Timer in Fast Mode Background Logic Fast mode has better performance than Normal mode, and Fast mode does not affect the performance of normal program execution. But Fast mode cannot use numerical operation and Pulse instruction. Example 1: Edge Detection The following program is edge detection of DI[1]. DO[1] becomes ON only when DI[1] is changed from OFF to ON. 1: DO[1]=(DI[1] AND !F[1]) 2: F[1]=(DI[1]) F[1] has the DI[1] value of the previous scan. DO[1] becomes ON when DI[1] is ON and the previous value of DI[1] is OFF. Example 2: Counter The following is the example of 4 bit counter of DI[1] edge. The counter value is set in F[41-44]. You can read the counter value by GI[1] if GI[1] is assigned as rack 34, slot 1, start pt 41 and points 4. 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: F[2]=(DI[1] AND !F[1]) ; F[1]=(DI[1]) ; ! BIT1 ; F[3]=(F[41]) ; F[41]=((F[2] AND !F[3]) OR (!F[2] AND F[3])) ; F[2]=(F[2] AND F[3]) ; ! BIT2 ; F[3]=(F[42]) ; F[42]=((F[2] AND !F[3]) OR (!F[2] AND F[3])) ; F[2]=(F[2] AND F[3]) ; ! BIT3 ; F[3]=(F[43]) ; F[43]=((F[801] AND !F[3]) OR (!F[801] AND F[3])) ; F[2]=(F[2] AND F[3]) ; ! BIT4 ; F[3]=(F[44]) ; F[44]=((F[2] AND !F[3]) OR (!F[2] AND F[3])) ; F[2]=(F[2] AND F[3]) ; 7–227 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F The first 2 lines the edge detection of DI[1], F[2] becomes ON in one scan when DI[1] is changed from OFF to ON. The lines 4-6 process to count up the first bit of the counter (F[41]). F[3] is the work variable to keep the original value. In line 5, F[41] is reversed when F[2] is ON, and F[41] is not changed when F[2] is OFF. In line 6, F[2] is turned OFF when the original F[41] is OFF, it means overflow does not occur. The lines 8-10 are for the second bit (F[42]), the lines 12-14 are for the third bit (F[43]), and the lines 16-18 are for the fourth bit (F[44]). Example 3: Timer Timer can be programmed by using the counter, because the scanning time of Fast mode is always 8msec. The following is the example of the 80msec Pulse. This program works as same as 'IF (DI[1]), DO[1]=Pulse 80msec'. 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: F[1]=(DI[1]); F[2]=(F[1] AND !F[4]); DO[1]=F[2] ! BIT1 ; F[3]=(F[41]) ; F[41]=(F[1] AND ((F[2] AND !F[3]) OR (!F[2] AND F[3]))) ; F[2]=(F[2] AND F[3]) ; ! BIT2 ; F[3]=(F[42]) ; F[42]=(F[1] AND ((F[2] AND !F[3]) OR (!F[2] AND F[3]))) ; F[2]=(F[2] AND F[3]) ; ! BIT3 ; F[3]=(F[43]) ; F[43]=(F[1] AND ((F[2] AND !F[3]) OR (!F[2] AND F[3]))) ; F[2]=(F[2] AND F[3]) ; ! BIT4 ; F[3]=(F[44]) ; F[44]=(F[1] AND ((F[2] AND !F[3]) OR (!F[2] AND F[3]))) ; F[2]=(F[2] AND F[3]) ; ! 80msec is 10 * 8msec. 10=0b1010 ; F[4]=(F[44] AND !F[43] AND F[42] AND !F[41]) F[1] is the work variable to keep DI[1] value. All bits of counter (F[41-44]) are cleared when F[1] is OFF. F[2] is the work variable, the counter value is increased when F[2] is ON. When the counter value is 10 (F[41]:ON, F[42]:OFF, F[43]:ON, F[44]:OFF), F[4] becomes ON, and F[2] becomes OFF, so the counter is not increased until DI[1] is turned OFF. 7–228 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS 7.17.6.3 Marker The Marker Screen allows you to monitor the status of Markers. Marker (M[ ]) is similar to flag, but the value of markers is not set directly. When Marker (M[ ]) is specified in the left side of an assignment (=) in a TP program and the statement is executed, the expressions are defined as Background Logic internally, and the expression is executed repeatedly. The marker (M[ ]) always has the result of the expression. By default, the Marker function is disabled, the Marker menu is not displayed, and M[ ] can not be taught in TP program. To use the Marker function, set $MIX_LOGIC.$USE_MKR to TRUE. Example: M[1]=(DI[1] AND DI[2]) After this line is executed in a normal TP program (not in Background Logic), M[1] always has the result of the right side expression. When both DI[1] and DI[2] are ON, M[1] is ON, in the other case M[1] is OFF. • When a Marker assignment statement is executed in a normal TP program, the statement is registered to Background Logic. The statement is executed as Background Logic until another expression redefines the marker. Execution of the statement does not stop even though the program is paused or aborted, because it is Background Logic. • By default, there are 8 markers (M[1]-M[8]). The number of markers can be changed by system variable "$MIX_LOGIC.$NUM_MARKERS". Maximum number of markers is 100. One marker takes 300bytes permanent memory pool. • The scanning time to calculate a marker assignment statement is the same as the scanning time of Normal mode Background Logic. Having marker assignment statements defined affects the scan time of background logic. • Clear the defined marker expression to stop the calculation. To clear the defined expression, execute the CLEAR operation in the Marker detail menu or execute the following line of TP program. M[1]=() • If a marker is not assigned to an expression and the marker is used in another statement, the "INTP-347 Read I/O value failed" error occurs when the marker value is read. • M[ ] cannot be specified in the left side of assignment statement in Background Logic. To display the Marker monitor menu 1. Press MENU. 2. Select 5, I/O. 3. Press F1, TYPE. 4. Select Marker. You will see a screen similar to the following: 7–229 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Marker M[ M[ M[ M[ M[ M[ M[ M[ # 1] 2] 3] 4] 5] 6] 7] 8] STATUS ON [ OFF [ OFF [ ON [ OFF [ OFF [ OFF [ OFF [ 1/8 ] ] ] ] ] ] ] ] 5. To display the port detail menu, press F2, DETAIL. You will see a screen similar to the following: Port Detail Marker [ 1] Comment:[ ] Expression: M[1]=((DI[1] OR DI[2]) AND !DI[3] AND !(DI[4] AND DI[5])) Monitor: M [1] ON DI[1] OFF DI[2] ON DI[3] OFF DI[4] OFF DI[5] ON You can change marker comments in this screen. • The port detail screen displays the defined expression. To clear the defined expression , press F5, CLEAR. When the message Clear expression? is displayed, press F4, YES. • Current value of every data item in the defined expression is displayed in monitor area. • You can change marker comments in this screen. 7–230 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS 7.17.6.4 TC_ONLINE TC_ONLINE is similar to marker. The TC_ONLINE statement defines the expression and the expression is calculated as Background Logic. While the result of the expression is OFF, all TP programs that have group motion are stopped. By default, the TC_ONLINE function is disabled, the TC_ONLINE menu is not displayed and TC_ONLINE statement can not be taught in TP program. To use TC_ONLINE function, please set $MIX_LOGIC.$USE_TCOL to TRUE. For Example: TC_ONLINE (DI[1] AND DI[2]) After this line is executed, all TP programs are stopped while DI[1] or DI[2] is OFF. Refer to Table 7–29 . Table 7–29. TC Online Instruction TC_ONLINE (...) Defines the specified Mixed Logic Instructions as a TC_ONLINE expression and enables the TC_ONLINE function. TC_ONLINE DISABLE* Disable TC_ONLINE function. Any TP program is not stopped by TC_ONLINE when TC_ONLINE is disabled. TC_ONLINE ENABLE* Enable TC_ONLINE function. This is used to enable TC_ONLINE that is disabled by TC_ONLINE Disable. * By default, TC_ONLINE DISABLE and TC_ONLINE ENABLE are not available. set $MIX_LOGOC.$USE_TCOLSIM to FALSE to use these instructions. • When TC_ONLINE (...) statement is executed, the specified expression is defined as a TC_ONLINE expression. While TC_ONLINE is enabled, the defined expression is calculated as Background Logic. If the result of the expression is OFF, all TP and KAREL programs except NOPAUSE are stopped. • If a program is started while TC_ONLINE expression is OFF, the program is paused immediately. All types of start are affected by TC_ONLINE except Shif+BWD. • Only when a program is executed by Shift+BWD, the program can be executed even though TC_ONLINE expression is OFF. • TC_ONLINE expression is calculated at every ITP (ITP is normally 8msec) even though the scanning time of Background Logic is longer than ITP. • Programs that do not have motion group or in which 'ignore pause' parameter is TRUE are not paused even if TC_ONLINE condition is OFF. • When $MIX_LOGIC.$USE_TCOLSIM is TRUE (default), TC_ONLINE DISABLE and TC_ONLINE ENABLE cannot be taught by Edit menu. The setting of ENABLE/DISABLE of TC_ONLINE should be changed in the TC_ONLINE menu. In this case, TC_ONLINE 7–231 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F is enabled automatically when motion statement execution is completed. This means that TC_ONLINE is disabled only when the operator moves the robot temporarily. • When $MIX_LOGIC.$USE_TCOLSIM is FALSE, TC_ONLINE DISABLE and TC_ONLINE ENABLE can be taught by Edit menu. The setting of ENABLE/DISABLE of TC_ONLINE is not changed automatically when motion statement execution is completed. Use Procedure 7-15 to add a TC_ONLINE Instruction. Use Procedure 7-16 to display the TC_ONLINE Monitor Menu. Procedure 7-15 Adding a TC_ONLINE Instruction Steps 1. At the Edit menu, press F1, INST to go to the Instruction menu. 2. Select TC_ONLINE. If $MIX_LOGIC.$USE_TCOLSIM isTRUE, select the item and complete the statement as you normally would If $MIX_LOGIC.$USE_TCOLSIM isFALSE, a. Select 1 (...). b. Select the item and complete the statement as you normally would. 3. Tochange a TC_ONLINE statement, press F4, CHOICE, on the first '(' in the TC_ONLINE statement, then select 2 ENABLE. Procedure 7-16 Displaying the TC_ONLINE Monitor Menu Steps 1. Press MENU. 2. Select 5, I/O. 3. Select F1, TYPE. 4. Select TC ONLINE. You will see a screen similar to the following: 7–232 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS TC_ONLINE 1/6 Status: On Enable: TRUE Expression: ((DI[1] OR DI[2]) AND !DI[3] AND !(DI[4] AND DI[5])) Monitor: DI[1] ON DI[2] OFF DI[3] ON DI[4] OFF DI[5] OFF • “Enable” line shows whether TC_ONLINE is enabled or not now. User can change this item in this menu. • “Status“ line shows the status of TC_ONLINE. It is the result of the defined expression. • The current value of every data in the defined expression is displayed in monitor area. • The defined expression is displayed in expression area. 5. To clear the defined expression, move the cursor to Monitor. a. Press F5, CLEAR. You will see the following prompt: Clear expression? b. Press F4, YES. 7.17.7 Backup/Restore Every data of Mixed Logic Instructions are saved as follows. • Mixed Logic Instructions are saved in TP file of the program. • Background Logic program is saved to TP file. • Setting of Background Logic menu is saved in MIXLOGIC.SV. MIXLOGIC.SV has the value of the following system variables. — $MIX_LOGIC — $MIX_BG — $MIX_MKR — $DRYRUN 7–233 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F — $DRYRUN_PORT — $DRYRUN_SUB • Comments of Flag and Marker are saved in DIOCFGSV.IO. • If DI/O, UI/O or GI/O are assigned to flags, the assignment is saved in DIOCFGSV.IO. 7.18 MULTIPLE CONTROL INSTRUCTIONS Multiple control instructions are used for multi-tasking. Multi-tasking allows you to execute more than one task at a time. RUN program The RUN program instruction causes the selected program to begin to execute immediately. The parent program continues to execute. See Figure 7–141 . Figure 7–141. RUN program 7.19 MOTION GROUP INSTRUCTIONS (OPTION) 7.19.1 Overview Motion group instructions allow you to program multiple motion groups independently of each other. Motion group instruction can be used to specify the: • Motion type for individual groups (except for circular motions) • Travel speed for individual groups • Termination type for individual groups There are two types of motion group instructions: • Independent motion group instruction Independent GP, Section 7.19.2 • Simultaneous motion group instruction Simultaneous GP, Section 7.19.3 To define an Independent or Simultaneous motion group instruction in a teach pendant program, refer to Section 7.19.4 . 7–234 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS 7.19.2 Independent Motion Group Instructions With an Independent motion group instruction, each motion group operates with a separately taught motion type, speed, and termination type. The following example shows independent motion for motion groups 1 and 3, with motion mask [1,*,1,*,*,*,*,*]. Independent GP GP1 L P[1] 90mm/s CNT 100 GP3 J P[1] 100% CNT 50 7.19.3 Simultaneous Motion Group Instructions With a simultaneous motion group instruction, each motion group operates with a separately taught motion type, but with the same time (the longest travel time among all groups based on the programmed speeds). The termination type for the motion group with the smallest CNT value (near the FINE value) is also used for the other motion groups. The following example program shows simultaneous motion for motion groups 1 and 3, with motion mask [1,*,1,*,*,*,*,*]. The travel time for the motion group with the longest travel time is also used for the other motion groups. The programmed travel speeds might not always be used. The termination type value for group 3 (GP3), with the smallest CNT value, is also applied to group 1 (GP1). Simultaneous GP GP1 L P[1] 90mm/s CNT 100 GP3 J P[1] 100% CNT 50 7.19.4 Defining Motion Group Instructions Procedure 7-17 describes how to define an Independent or Simultaneous motion group instruction. The example program specifies motion groups 1 and 3,with motion mask [1,*,1,*,*,*,*,*]. Note You cannot define an Independent or Simultaneous motion group instruction for a circular motion statement or a control statement. Procedure 7-17 Defining Motion Group Instructions Conditions • You cannot specify Independent or Simultaneous motion group instructions for circular motion instructions. 7–235 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Steps 1. Move the cursor to the line number of any motion statement, except for a circular motion statement. See the following screen for an example. PNS0001 1: L P[1] 1000mm/sec Cnt100 [END] 2. Press F1, [INST]. A list of control instructions appears. You will see a screen similar to the following. 1 ..... 5 ..... 2 ..... 6 Independent GP 3 ..... 7 Simultaneous GP 4 ..... 8 -- next page -PNS0001 1: L P[1] 1000mm/sec Cnt100 [END] 3. Select Independent GP or Simultaneous GP. The contents of line 1 in the teach pendant program is transferred to the other groups. The position data might be changed. See the following screen for an example. PNS0001 1: Independent GP : GP1 L P[1] 1000mm/sec Cnt100 : GP3 L P[1] 1000mm/sec Cnt100 4. For a motion instruction already within a Independent or Simultaneous motion group instruction, change the motion type, speed, and termination type in the same way as for ordinary motion instructions. Refer to Section 7.2 for more information. Note You cannot add motion options to an Independent or Simultaneous motion group instruction after it has been created. All motion options must be added to the Independent or Simultaneous motion group instruction before it is created. However, you can delete motion options from an Independent or Simultaneous motion group instruction. Cautions and Restrictions When you use the motion group instruction function, observe the following cautions and restrictions. 7–236 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS • If a motion statement is a circular motion, a motion group instruction cannot be specified. • You cannot add a circular motion type to an Independent or Simultaneous motion group instruction. • Within a motion group instruction: — The position data format for each group cannot be changed (position <-> position register). — The position number for each group cannot be changed. — Motion options cannot be added; deletion is possible. — A group cannot be deleted or created. • No search can be made for elements in a motion group instruction. • You cannot perform simultaneous teaching or deletion for the program element replacement function in a motion group instruction. • Within a motion group instruction, SHIFT + TOUCHUP> cannot be used to correct the position. • If an incremental instruction is deleted from a motion group instruction, the position data used in the motion group instruction will be uninitialized. If no motion group instruction has been specified, an ordinary motion instruction is executed. It is assumed all groups are executed simultaneously with the same motion type, time, termination type, and motion options. In this case, other groups are synchronized with the group that has the longest travel time. 7.20 OFFSET/FRAME INSTRUCTIONS Offset/frame instructions specify positional offset information or the frames used for positional information. There are five offset instructions: • Positional offset condition - contains information on the distance or degrees to offset positional information • User frame — Sets the number of the user frame to use — Defines a user frame • Tool frame — Sets the number of the tool frame to use — Defines a tool frame If your system is configured to have more than one group, you can set the group mask when you create any offset instruction that contains a position register. 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 will affect the default group only. 7–237 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F • The group or groups that the position register will affect. OFFSET CONDITION PR[x] item The OFFSET CONDITION PR[x] item instruction specifies a position register that contains the offset information used when the OFFSET command is executed. When a user frame is specified in UFRAME[y], that user frame is used when the offset command uses the offset specified in PR[x]. The OFFSET command is entered in the motion instruction. Refer to Section 7.3 for more information. See Figure 7–142 . Figure 7–142. Offset Condition UFRAME_NUM = [value] The UFRAME_NUM=[value] instruction sets the number of the user frame to use. A value of zero indicates that no user frame is used. This means that world frame is used. See Figure 7–143 . Refer to the “General Setup” chapter in the Setup and Operations Manual 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 Userframe input option installed. Figure 7–143. UFRAME_NUM=[value] 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 7–238 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS is used. See Figure 7–144 . Refer to the “General Setup” chapter in the Setup and Operations Manual for information on setting up the tool frame. Figure 7–144. UTOOL_NUM=[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 Figure 7–145 . Figure 7–145. UFRAME[i] = PR[x] UTOOL[i] = PR[x] The UTOOL[i] = PR[x] instruction defines the specified tool frame using the information contained in a position register. See Figure 7–146 . Figure 7–146. UTOOL[i] = PR[x] 7–239 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F 7.21 PARAMETERS FOR PROGRAM CALL AND MACRO INSTRUCTIONS 7.21.1 Overview A parameter is an argument you pass with a program call or MACRO instruction to a corresponding sub-program or macro program. This is similar to passing a parameter with a KAREL routine. In HandlingTool, you can pass parameters to teach pendant programs and macros. In the example shown in Figure 7–147 , the main program, MAIN.TP, calls the sub program, PROC_1.TP, and uses two parameters. These parameters can be used in the sub-program as two argument registers, AR[1] and AR[2] . Figure 7–147. Parameter Example To use parameters, you do the following: 1. Define the parameter(s) in the CALL program instruction or macro program instruction. 2. Use the parameters within the sub-program or macro program by including one of the permitted instructions. A parameter can be one of the following: • Constant • String • Argument register (AR[ ]) • Register (R[ ]) This section contains information on the following topics: • Parameter instruction syntax • String value selections • Argument registers • Parameter guidelines 7–240 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS • Including parameters in program call and MACRO instructions • Including argument registers in sub-programs 7.21.2 Parameter Instruction Syntax You can use parameters in the following kinds of instructions: • Program call instructions • MACRO instructions Refer to Table 7–30 for example parameter instructions. Table 7–30. Parameter Instructions Instruction Name Example Program Call instruction CALL SUBPRG_1(1, R[3], AR[1]) MACRO instruction Vacuum_Hand_Release(2.5) Set_UTOOL(1) Refer to Table 7–31 for example parameter data types. Table 7–31. Parameter Data Types Parameter Type Example Constant 1, 3.5 String* 'Perch' Register R[6] Argument Register AR[3] Program Call Instructions The syntax of the program call instruction is shown in Figure 7–148 . Figure 7–148. CALL Program with Parameters 7–241 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F MACRO Instructions The syntax of the MACRO instruction is shown in Figure 7–149 . Figure 7–149. MACRO Program with Parameters 7.21.3 String Value Selections When you program instructions for call parameters and you select string, the subwindow lists choices. You can control the choices you see in the subwindow by initializing the system variables summarized in Table 7–32 . There are sets of choices: a top-level category and a lower-level sub-category. 7–242 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS Table 7–32. String Parameter System Variables Item System Variables Notes HandlingTool Default Value String category Top-level categories: $ARG_STRING[i].$title i = 1-10 At least one character, up to 16 characters $ARG_STRING[1].$title = MENUS the menu utility option uses this first entry. Do not make changes here. The menu utility program will overwrite your changes. $ARG_STRING[2].$title = 'PARTS' $ARG_STRING[3].$title = 'TOOL' $ARG_STRING[4].$title = 'WORK' $ARG_STRING[5].$title = 'POS' $ARG_STRING[6].$title = 'DEV' $ARG_STRING[7].$title = 'PALT' $ARG_STRING[8].$title = 'GRIP' $ARG_STRING[9].$title = 'USER' $ARG_STRING[10].$title = 'PREG' String Lower level sub-categories: $ARG_STRING[i ].$item j i = 1-10 j = 1-20 Up to 16 characters $ARG_STRING[2].$item1= 'PARTS_ITEM1' $ARG_STRING[3].$item1 = 'TOOL_ITEM1' $ARG_STRING[4].$item1 = 'WORK_ITEM1' $ARG_STRING[5].$item1 = 'POS_ITEM1' $ARG_STRING[6].$item1 = 'DEV_ITEM1' $ARG_STRING[7].$item1 = 'PALT_ITEM1' $ARG_STRING[8].$item1 = 'GRIP_ITEM1' $ARG_STRING[9].$item1 = 'USER_ITEM1' $ARG_STRING[10].$item1 = 'PREG_ITEM1' Function key label "Words" displayed for F1-F5 keys when you select parameter string, F5, STRINGS. $ARG_WORD[i] i = 1-5 Up to 7 characters $ARG_WORD[1] = '$' $ARG_WORD[2] = '[' $ARG_WORD[3] = ']' 7–243 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F 7.21.4 Argument Registers When you refer to a parameter within a sub-program or macro program, you refer to it as an argument register. From left to right in the instruction, the first parameter is AR[1], the second parameter is AR[2], and so forth. See Figure 7–150 . Figure 7–150. Argument Registers You can use the argument registers in specific instructions in the sub-program or macro program. Table 7–33 lists the kinds of instructions that can use argument registers. Table 7–33. Instructions That Can Use AR[] You Can Use an Argument Register... Example On the right side of an assignment instruction R[1] =AR[1] + R[2] + AR[4] IF R[1] =AR[1] AND R[2] = AR[4] , JMP LBL[1] GO[1] =AR[2] IF R[7] =AR[1] , JMP LBL[1] WAIT AI[1] <>AR[2] , JMP LBL[1] UFRAME_NUM =AR[3] UTOOL_NUM = AR[4] As an indirect index in an instruction R[AR[1] ] = R[ AR[2] ] DO[AR[1] ] = ON As a parameter for program call instruction CALL SUBPRG_1(AR[5] ) As a parameter for MACRO instruction Hand 3 Release (AR[1] ] Note You cannot use an argument register as the index for an indirect register, as follows: Not allowed: R[ R[ AR[1] ] ] Allowed: AR[ [ AR[1] ] 7–244 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS 7.21.5 Guidelines for Using Parameters Follow the guidelines in this section to use parameters correctly and avoid errors. Use No More than Ten Parameters in an Instruction You can use up to ten parameters in a program call or MACRO program instruction. See Figure 7–151 for an example. Figure 7–151. Use No More than Ten Parameters in an Instruction Make Sure Data Types Match The parameter type in AR[ ] must match the data type in the sub-program or macro program instruction. The compatibility of data types between parameters used in the main program and sub-program is not checked until the main program is executed. If the data type specified in the main program does not match how the argument register is used in the sub-program, an error will occur. In the example shown in Figure 7–152 , if string data is stored in AR[2] as defined in the main program, when the instruction R[3] = AR[2] is executed in the sub-program, an alarm occurs. Figure 7–152. Make Sure Data Types Match Define All Required Elements of the Parameters You Add You must define all required elements of a parameter you add to an instruction in the main program. 7–245 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F Registers and argument registers require index numbers. Constants and strings require values. In the examples shown in Figure 7–153 , the constant parameter has not been specified and the register index has not been defined. When the sub-program is executed, an error will occur. Figure 7–153. Define All Parameter Elements In a Sub-Program, Use Parameters Defined in the Main Program Argument registers used in a sub-program must be defined in the corresponding main program. In the example shown in Figure 7–154 , the program MAIN sets only one parameter, but the sub-program PROC_1 uses a second parameter (AR[2]). The sub-program cannot use a parameter that has not been defined. When that instruction is executed, an error will occur. Figure 7–154. Use Parameters Defined in the Main Program In a Main Program, You Can Define Parameters that are Not Used in the Sub-Program Parameters can be defined in the main program that are not used in the sub-program. You can use this feature to pass optional parameters. The sub-program can provide branches that process a parameter only if it exists. Execute Sub-Programs or Macro Programs only from Main Programs Sub-programs or MACRO programs that use argument registers can be executed from the corresponding main programs only. 7–246 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS You cannot execute a sub-program that uses AR[ ] values unless the sub-program is called from a main program. The main program supplies the values of the parameters used in the sub-program. If you execute the sub-program independently of the main program, the parameters will not have any values, and the following error is displayed: "INTP-288 Parameter does not exist." Therefore, the sub-program that uses the parameters cannot be executed. 7.21.6 Including Parameters in Program Call and Macro Instructions Use Procedure 7-18 to include parameters in program call and MACRO instructions. Procedure 7-18 Including Parameters in Program Call and MACRO Instructions Conditions • You have created a teach pendant program. • This program is not a process program. Steps 1. Select the program you want to edit. 2. Press ENTER. 3. Insert a call program or MACRO instruction. 4. To add a parameter to an instruction that has no parameters, a. Move the cursor to the program call or MACRO program instruction to which you want to add parameters. b. Press the right arrow key to move the cursor to the end of the instruction as shown in the following screen. 5: CALL PROC_1 c. Press F4, [CHOICE]. d. Select the kind of parameter you want to insert: • To insert a constant parameter, go to Step 9 . • To insert a string parameter, go to Step 10 . 7–247 7. PROGRAM INSTRUCTIONS MAROUHT9102171E REV F • To insert an argument register (AR[]) parameter, go to Step 11 . • To insert aregister (R[ ]) parameter, go to Step 7 . 5. To insert a parameter in an instruction that has other parameters, a. Move the cursor to the program call or MACRO program instruction in which you want to insert a parameter. b. Move the cursorto the right of where you want to insert the parameter. See Figure 7–155 . Figure 7–155. Cursor Position to Insert Parameters c. Press F4, [CHOICE]. d. If you are inserting a parameter between existing parameters, select < Insert>. Otherwise, continue to Step 5 Step 5e . e. Select the kind of parameter you want to insert: • To insert a constant parameter, go to Step 9 . • To insert a string parameter, go to Step 10 . • To insert an argument register (AR[]) parameter, go to Step 11 . • To insert a register (R[ ]) parameter, go to Step 7 . 6. To delete a parameter, 7–248 MAROUHT9102171E REV F 7. PROGRAM INSTRUCTIONS a. Move the cursor to the program call or MACRO program instruction in which you want to delete a parameter. b. Move the cursor to the parameter you want to delete. c. Press F4, [CHOICE]. d. Select <None>. Note If no parameter is set for the instruction or the cursor is on ")" on the end of the line, no parameter will be deleted and the sub-menu will be closed. 7. To insert a register (R[]) parameter, a. Select R[ ]. b. Type the index of the register and press ENTER. 8. To insert an indirect register (R[AR[ ]]orR[R[]]) parameter, a. Select R[ ]. b. To change the index between an R[ ] and an AR[ , move the cursor to the register and press F3, INDIRECT, repeatedly. The index will be changed as follows: R[ R[...] ] -> R[ AR[...] ] -