RobotStudio - Operating Manual - ABB Robotics
RobotStudio - Operating Manual - ABB Robotics
RobotStudio - Operating Manual - ABB Robotics
Trace back information: Workspace R12-2 version a10 Checked in 2012-10-11 Skribenta version 1184
The information in this manual is subject to change without notice and should not be construed as a commitment by ABB. ABB assumes no responsibility for any errors that may appear in this manual. Except as may be expressly stated anywhere in this manual, nothing herein shall be construed as any kind of guarantee or warranty by ABB for losses, damages to persons or property, fitness for a specific purpose or the like. In no event shall ABB be liable for incidental or consequential damages arising from use of this manual and products described herein. This manual and parts thereof must not be reproduced or copied without ABB's written permission. Additional copies of this manual may be obtained from ABB. The original language for this publication is English. Any other languages that are supplied have been translated from English.
Copyright 2008-2012 ABB. All rights reserved. ABB AB Robotics Products SE-721 68 Vsters Sweden
Table of contents
Table of contents
Overview ........................................................................................................................................... 11 Product documentation, M2004 ....................................................................................................... 17 Safety ................................................................................................................................................ 19 1 Introduction to RobotStudio 1.1 1.2 What is RobotStudio .......................................................................................... Terms and concepts .......................................................................................... 1.2.1 Hardware concepts .................................................................................. 1.2.2 RobotWare concepts ............................................................................... 1.2.3 RAPID concepts ...................................................................................... 1.2.4 Concepts of programming ......................................................................... 1.2.5 Targets and paths ................................................................................... 1.2.6 Coordinate systems ................................................................................. 1.2.7 Robot axis configurations ......................................................................... 1.2.8 Libraries, geometries and CAD files ............................................................ 1.2.9 VSTA as the IDE ..................................................................................... Installing and licensing RobotStudio ..................................................................... User interface ................................................................................................... 1.4.1 Ribbon, tabs and groups ........................................................................... 1.4.2 Layout browser ....................................................................................... 1.4.3 The Paths & Targets browser .................................................................... 1.4.4 The Modeling browser .............................................................................. 1.4.5 The Controller browser ............................................................................. 1.4.6 Files browser .......................................................................................... 1.4.7 Add-Ins browser ..................................................................................... 1.4.8 The Output window .................................................................................. 1.4.9 The Controller Status window .................................................................... 1.4.10 The Operator Window .............................................................................. 1.4.11 The Document Manager window ................................................................ 1.4.12 Using a mouse ........................................................................................ 1.4.13 Selecting an item .................................................................................... 1.4.14 Attaching and detaching objects ................................................................ 1.4.15 Keyboard shortcuts ................................................................................. 21 21 22 22 23 25 26 27 28 34 36 39 40 47 47 48 49 51 52 54 55 56 57 59 61 68 69 70 71 75 75 77 77 79 81 83 83 84 85 85 86 87 87 89 90 92 92 94 95 96
1.3 1.4
Building stations 2.1 2.2 2.3 2.4 2.5 2.6 Workflow of building a station .............................................................................. Conveyor tracking station with two robots .............................................................. 2.2.1 Two robot systems in same task frame position ............................................ 2.2.2 Two robot systems in different task frame positions ....................................... Creating a system with external axes automatically ................................................ Manually setting up system with track motion ......................................................... 2.4.1 Track motion of type RTT or IRBTx003 ........................................................ 2.4.2 Track motion of type IRBTx004 .................................................................. Virtual Controller ............................................................................................... 2.5.1 Starting a VC .......................................................................................... 2.5.2 Restarting a VC ....................................................................................... Station components ........................................................................................... 2.6.1 Importing a station component .................................................................. 2.6.2 Converting CAD formats ........................................................................... 2.6.3 Troubleshooting and optimizing geometries ................................................. Modeling ......................................................................................................... 2.7.1 Objects ................................................................................................. 2.7.2 Mechanisms ........................................................................................... 2.7.3 Tools and tooldata ................................................................................... 2.7.4 Setting the local origin of an object .............................................................
2.7
Table of contents
2.8
Placement ....................................................................................................... 97 2.8.1 Placing objects ....................................................................................... 97 2.8.2 Placing external axes ............................................................................... 98 2.8.3 Placing robots ........................................................................................ 100 103 103 104 105 106 108 111 115 122 124 124 126 127 128 130 131 133 134 135 135 137 140 141 142 143 145
Programming robots 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 Workflow for programming a robot ....................................................................... Workobjects ..................................................................................................... Jogging mechanisms ......................................................................................... Targets ............................................................................................................ Paths .............................................................................................................. Orientations ..................................................................................................... RAPID Instructions ............................................................................................ Testing positions and motions ............................................................................. Programming MultiMove systems ......................................................................... 3.9.1 About programming MultiMove .................................................................. 3.9.2 Setting up the MultiMove .......................................................................... 3.9.3 Testing the MultiMove .............................................................................. 3.9.4 Tuning the motion behavior ....................................................................... 3.9.5 Creating paths ........................................................................................ 3.10 Programming external axes ................................................................................. 3.11 Loading and saving programs and modules ........................................................... 3.12 Synchronization ................................................................................................
Simulating programs 4.1 4.2 4.3 4.4 4.5 4.6 Simulation Overview .......................................................................................... Detecting collisions ........................................................................................... Creating an event .............................................................................................. Simulating I/O signals ........................................................................................ Enabling simulation monitoring ............................................................................ Measuring simulation time ..................................................................................
Copying programs ............................................................................................. 145 Pack & Go / Unpack & Work ................................................................................ 146 Screen Capture ................................................................................................. 147 149 149 151 154 156 156 158 159 163 167 168 169 170 171 171 173 175 176 177 183
Working online 6.1 6.2 6.3 6.4 Connecting a PC to the service port ...................................................................... Network settings ............................................................................................... User Authorization ............................................................................................. The System Builder ........................................................................................... 6.4.1 System Builder Overview .......................................................................... 6.4.2 Viewing system properties ........................................................................ 6.4.3 Building a new system ............................................................................. 6.4.4 Modifying a system .................................................................................. 6.4.5 Copying a system .................................................................................... 6.4.6 Creating a system from backup .................................................................. 6.4.7 Downloading a system to a controller .......................................................... 6.4.8 Creating boot media ................................................................................ 6.4.9 Examples using the System Builder when offline ........................................... 6.4.9.1 A MultiMove system with two coordinated robots .............................. 6.4.9.2 A system with support for one robot and one positioner external axis .... 6.4.9.3 Options settings for systems with positioners ................................... Handle I/O ....................................................................................................... Configure systems ............................................................................................ Handle events ..................................................................................................
3HAC032104-001 Revision: J
Table of contents
File tab 7.1 7.2 7.3 Overview ......................................................................................................... New ................................................................................................................ Share .............................................................................................................. 7.3.1 Pack and Go .......................................................................................... 7.3.2 Unpack and Work .................................................................................... 7.3.3 Station Viewer ........................................................................................ Options ...........................................................................................................
187 187 188 189 189 190 191 193 201 201 202 203 204 204 207 211 212 212 213 215 216 217 217 218 220 221 223 224 226 234 235 236 237 240 240 241 242 243 243 244 245 246 247 248 249 251 253 255 255 256 257 258 258 259 260 263
7.4 8
Home tab 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 Overview ......................................................................................................... ABB Library ..................................................................................................... Import Library ................................................................................................... Robot System ................................................................................................... 8.4.1 Robot System ......................................................................................... 8.4.2 External Axis Wizard ................................................................................ Import Geometry ............................................................................................... Frame ............................................................................................................. 8.6.1 Frame ................................................................................................... 8.6.2 Frame from Three Points .......................................................................... Workobject ...................................................................................................... Tooldata .......................................................................................................... Target ............................................................................................................. 8.9.1 Teach Target .......................................................................................... 8.9.2 Create Target ......................................................................................... 8.9.3 Create Jointtarget .................................................................................... 8.9.4 Create Targets on Edge ............................................................................ Empty Path ...................................................................................................... AutoPath ......................................................................................................... MultiMove ........................................................................................................ Teach Instruction .............................................................................................. Move Instruction ............................................................................................... Action Instruction .............................................................................................. Instruction Template Manager ............................................................................. Settings ........................................................................................................... 8.17.1 Task ..................................................................................................... 8.17.2 Workobject ............................................................................................ 8.17.3 Tool ...................................................................................................... The Freehand Group .......................................................................................... 8.18.1 Move .................................................................................................... 8.18.2 Rotate ................................................................................................... 8.18.3 Jog Joint ............................................................................................... 8.18.4 Jog Linear .............................................................................................. 8.18.5 Jog Reorient .......................................................................................... 8.18.6 MultiRobot Jog ....................................................................................... The 3D View group ............................................................................................ Viewpoint ........................................................................................................ Markup ............................................................................................................
8.18
Modeling tab 9.1 9.2 9.3 9.4 Overview ......................................................................................................... Component Group ............................................................................................. Empty Part ....................................................................................................... Smart Component ............................................................................................. 9.4.1 Smart Component ................................................................................... 9.4.2 Smart Component Editor .......................................................................... 9.4.3 The Compose tab .................................................................................... 9.4.4 The Properties and Bindings tab ................................................................
Table of contents
9.5 9.6 9.7 9.8 9.9 9.10 9.11 9.12 9.13 9.14 9.15 9.16
9.4.5 The Signals and Connections tab ............................................................... 9.4.6 The Design tab ....................................................................................... 9.4.7 Basic Smart Components ......................................................................... 9.4.8 Property Editor ....................................................................................... 9.4.9 The Simulation Watch window ................................................................... Solid ............................................................................................................... Surface ........................................................................................................... Curve .............................................................................................................. Border ............................................................................................................. Intersect .......................................................................................................... Subtract .......................................................................................................... Union .............................................................................................................. Extrude Surface or Curve .................................................................................... Line from Normal .............................................................................................. The Measure Group ........................................................................................... Create Mechanism ............................................................................................ Create Tool ......................................................................................................
266 269 270 287 288 290 294 296 301 303 304 305 306 308 309 310 317 319 319 320 321 324 330 331 332 333 335 336 337 337 339 342 343 344 344 345 347 347 348 348 350 351 353 355 357 359 360 361 363 364 365 368 369 369 370 371 372
10 Simulation tab 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 10.10 10.11 Overview ......................................................................................................... Create Collision Set ........................................................................................... Simulation Setup ............................................................................................... Event Manager ................................................................................................. Station Logic .................................................................................................... Activate Mechanical Units ................................................................................... Simulation Control ............................................................................................. I/O Simulator .................................................................................................... Monitor ............................................................................................................ Stopwatch ........................................................................................................ Signal Analyzer ................................................................................................. 10.11.1 Signal Setup ........................................................................................... 10.11.2 Signal Analyzer ....................................................................................... 10.11.3 History .................................................................................................. 10.12 Record Movie ................................................................................................... 10.13 Conveyor Tracking Mechanism ............................................................................ 10.13.1 Conveyor Tracking .................................................................................. 10.13.2 Conveyor Simulation ................................................................................ 11 Controller tab 11.1 Real and virtual controllers ................................................................................. 11.2 Features for both virtual and real controllers .......................................................... 11.2.1 Add Controller ........................................................................................ 11.2.2 Events ................................................................................................... 11.2.3 Inputs / Outputs ...................................................................................... 11.2.4 ScreenMaker .......................................................................................... 11.2.5 Restart a controller .................................................................................. 11.2.6 Back up a system .................................................................................... 11.2.7 Restore a system .................................................................................... 11.2.8 System Builder ....................................................................................... 11.2.9 Configuration editor ................................................................................. 11.2.10 Load Parameters ..................................................................................... 11.2.11 Save Parameters ..................................................................................... 11.2.12 Transfer ................................................................................................ 11.2.13 Safety Configuration ................................................................................ 11.3 Features for real controllers ................................................................................ 11.3.1 Request Write Access .............................................................................. 11.3.2 Release Write Access .............................................................................. 11.3.3 Authenticate ........................................................................................... 11.3.4 File transfer ............................................................................................
3HAC032104-001 Revision: J
Table of contents
11.3.5 FlexPendant Viewer ................................................................................. 11.3.6 Import Options ........................................................................................ 11.3.7 Properties .............................................................................................. 11.3.8 Go Offline .............................................................................................. 11.3.9 Online Monitor ........................................................................................ 11.3.10 User Accounts ........................................................................................ 11.3.11 UAS Grant Viewer ................................................................................... 11.4 Features for virtual controllers ............................................................................. 11.4.1 Virtual FlexPendant ................................................................................. 11.4.2 Control Panel ......................................................................................... 11.4.3 Shutdown .............................................................................................. 11.4.4 Set Task Frames ..................................................................................... 11.4.5 Edit System ............................................................................................ 11.4.6 Encoder Unit .......................................................................................... 12 RAPID tab 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 Overview of the RAPID tab .................................................................................. Synchronize to Station ....................................................................................... Synchronize to VC ............................................................................................. Edit RAPID code ............................................................................................... Find and replace RAPID code .............................................................................. Manage RAPID modules ..................................................................................... Edit RAPID data ................................................................................................ Manage RAPID files and backups ......................................................................... Manage RAPID code on the controller ................................................................... 12.9.1 Manage RAPID programs ......................................................................... 12.9.2 RAPID Tasks .......................................................................................... 12.9.3 Run Mode .............................................................................................. 12.9.4 Adjust Robtargets ................................................................................... 12.10 Test and debug ................................................................................................. 12.10.1 Commands for testing and debugging ......................................................... 12.10.2 Using the Program Pointer ........................................................................ 12.10.3 Using the RAPID Profiler .......................................................................... 12.11 RAPID Watch window ........................................................................................ 12.12 Examples of using the RAPID editor ..................................................................... 13 Add-Ins tab
374 375 376 379 380 381 386 390 390 391 392 393 394 396 397 397 398 399 400 405 407 409 410 411 411 412 414 415 417 417 418 420 422 423 425
13.1 Overview of the Add-Ins tab ................................................................................ 425 13.2 Building a VSTA add-in ...................................................................................... 426 13.3 Gearbox Heat Prediction ..................................................................................... 427 14 Context menus 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 14.10 14.11 14.12 14.13 14.14 14.15 14.16 Add to Path ...................................................................................................... Align Frame Orientation ...................................................................................... Align Target Orientation ..................................................................................... Attach to .......................................................................................................... Configurations .................................................................................................. Check Reachability ............................................................................................ Configurations .................................................................................................. Convert Frame to Workobject .............................................................................. Convert to Move Circular .................................................................................... Copy / Apply Orientation ..................................................................................... Detach ............................................................................................................ Execute Move Instruction ................................................................................... External Axis Interpolation .................................................................................. Graphic Appearance .......................................................................................... Go to Visualization and Go to Declaration .............................................................. Interpolate Path ................................................................................................ 431 431 432 433 434 435 437 438 439 440 441 442 443 444 445 447 448
Table of contents
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
Invert .............................................................................................................. Jump to Target ................................................................................................. Linked Geometry ............................................................................................... Modify Library Component .................................................................................. Mechanism Joint Jog ......................................................................................... Mechanism Linear Jog ....................................................................................... Mirror Path ....................................................................................................... Mirror .............................................................................................................. Modify Curve .................................................................................................... Modify External Axis .......................................................................................... Modify Instruction .............................................................................................. Modify Mechanism ............................................................................................ Modify Tooldata ................................................................................................ Modify Workobject ............................................................................................. Move Along Path ............................................................................................... Move to Pose ................................................................................................... Offset Position .................................................................................................. Place .............................................................................................................. Protected Smart Component ............................................................................... Remove Unused Targets .................................................................................... Rename Targets ............................................................................................... Reverse Path .................................................................................................... Rotate ............................................................................................................. Rotate Path ...................................................................................................... Set Local Origin ................................................................................................ Set Normal to Surface ........................................................................................ Set Position ..................................................................................................... Tool Compensation ........................................................................................... Translate Path .................................................................................................. View Robot at Target ......................................................................................... View Tool at Target ............................................................................................
449 450 451 452 453 455 456 457 458 463 464 465 466 467 468 469 470 471 473 474 475 476 477 478 479 480 481 482 483 484 485 487 487 487 490 500 500 506 507 510 513 516 517 517 519 522 528 529 531
15 ScreenMaker tab 15.1 Introduction to ScreenMaker ............................................................................... 15.1.1 Overview ............................................................................................... 15.1.2 Development environment ........................................................................ 15.2 ScreenMaker projects ........................................................................................ 15.2.1 Managing ScreenMaker projects ................................................................ 15.2.2 Application variables ................................................................................ 15.2.3 Form designer ........................................................................................ 15.2.4 Data binding ........................................................................................... 15.2.5 ScreenMaker Doctor ................................................................................ 15.2.6 Screen navigation ................................................................................... 15.3 Tutorial ............................................................................................................ 15.3.1 Overview ............................................................................................... 15.3.2 Designing the FlexArc operator panel ......................................................... 15.3.3 Designing the screen ............................................................................... 15.3.4 Building and deploying the project .............................................................. 15.4 Frequently asked questions ................................................................................ Index
3HAC032104-001 Revision: J
Overview
Overview
About this manual RobotStudio is a PC application for modeling, offline programming, and simulation of robot cells. This manual describes how to create, program and simulate robot cells and stations using RobotStudio. This manual also explains the terms and concepts related to both offline and online programming. Usage This manual should be used when working with the offline or online functions of RobotStudio. Who should read this manual? This manual is intended for RobotStudio users, proposal engineers, mechanical designers, offline programmers, robot technicians, service technicians, PLC programmers, Robot programmers, and Robot System integrators. Prerequisites The reader should have basic knowledge of: Robot programming Generic Windows handling 3D CAD programs
4 5
Overview
Continued
Chapter 7
Contents File tab on page 187 Describes the options to create new station, create new robot system, connect to a controller, save station as viewer, and RobotStudio options. Home tab on page201 Describes the controls required for building stations, creating systems, programming paths and placing items. Modeling tab on page 255 Simulation tab on page 319 Controller tab on page 347 Describes the controls for creating and grouping components, creating bodies, measurements and CAD operations. Describes the controls for setting up, configuring, controlling, monitoring, and recording simulations. Describes the controls for managing a real controller and also the controls for synchronization, configuration and tasks assigned to the virtual controller (VC). Describes the features of the RAPID editor, management of RAPID files and other controls for RAPID programming. Describes the control for PowerPacs and the Visual Studio Tools for Applications (VSTA). Describes the options available from the context menus.
10 11
12
RAPID tab on page 397 Add-Ins tab on page 425 Context menus on page 431
13 14 15
ScreenMaker tab on Describes the ScreenMaker development tool, how page 487 to manage projects in ScreenMaker and the various menus and commands used in the application.
References
Reference Product manual - IRC5 Operating manual - IRC5 with FlexPendant Technical reference manual - RAPID overview Technical reference manual - System parameters Application manual - MultiMove Application manual - Conveyor tracking Document Id 3HAC021313-001 3HAC16590-1 3HAC16580-1 3HAC17076-1 3HAC021272-001 3HAC16587-1
Revisions
Revision A Description First revision, called RobotStudio 2008, released for Partner Days. The entire manual has been adapted to the new GUI, in which RobotStudioOnline has been integrated.
Overview
Continued
Revision B
Description Released with RobotStudio 5.12. The following updates were made in the manual: Conveyor Tracking on page 344 Create Conveyor mechanism on page 310 Conveyor Simulation on page 345 Two robot systems in same task frame position on page 77 Two robot systems in different task frame positions on page 79 Creating a system with external axes automatically on page 81 Track motion of type RTT or IRBTx003 on page 83 Track motion of type IRBTx004 on page 84 The Operator Window on page 59 Station Viewer on page 191 Recording the simulation on page 343 Viewpoint on page 251 Linked Geometry on page 451 Released with RobotStudio 5.13. Merged chapters The Offline tab and The Online tab Added the missing information from RobotStudio Online manual. Integrated ScreenMaker. See ScreenMaker on page 353. Added the following new contents: Smart Component on page 258 The Simulation Watch window on page 288 The Document Manager window on page 61 Station Logic on page 330 Simulation Setup on page 321 Updated the changes related to handling Task Frames. Updated Modifying Task frame on page 393. Added Placing robots on page 100. Updated Creating a system from layout on page 204. Released with RobotStudio 5.13.02 The ScreenMaker tutorial was updated. See Tutorial on page 517 .
Overview
Continued
Revision E
Description Released with RobotStudio 5.14 Added The Controller Status window on page 57. Updated the sections Simulation Setup on page 321 and Simulation Control on page 332. Moved RAPID Watch window on page 422 to the chapter Common features in Online and Offline tabs. Updated The Document Manager window on page 61 (added Station mode). Updated Creating and loading a Station Viewer on page 191 (Record to Viewer) Added Jog Reorient on page 247. Added The 3D View group on page 249. Updated The Compose tab on page 260 (added Export to XML and updated Base Component menu). Updated Coordinate systems on page 28 (improved task frame description). Updated Supported 3D formats on page 37 (information on CAD Converters) Added the following new contents: AutoPath on page 224 Online Monitor on page 380 Adjust Robtargets on page 415 Using the RAPID Profiler on page 420 Markup on page 253 Signal Analyzer on page 337 External Axis Interpolation on page 444 Auto Configuration on page 435 The Design tab on page 269 The following are the ScreenMaker updates: Added ScreenMaker Doctor on page 513. Added new controls VariantButton on page 499 and ConditionalTrigger on page 499. Updated Creating a new project on page 500 (added pre-defined templates). Updated Controller object data binding on page 511 (added information on shared data).
Overview
Continued
Revision F
Description Released with RobotStudio 5.14.02 Added the following new contents: Gearbox Heat Prediction on page 427 External Axis Wizard on page 207 Added the following new contents in Settings tab: Selecting a Task on page 240 Selecting a Workobject on page 241 Selecting a Tool on page 242 Updated Creating boot media on page 170 (added information on creating a new system) Added information on Logic Expression in Signals and Properties on page 270 Added a Note for Call .Net Method in Form designer on page 507 of the ScreenMaker tab Added information on I-start in Result on page 166 for the Modifying a system section Added information on Offs in the Note for Prerequisites on page 415 in Using Adjust Robtargets Added a Note for the Execute button in Using Adjust Robtargets on page 415 Added information on Always on top in Create Markup of the Markup on page 253 section Updated Note for Using ScreenMaker Doctor inScreenMaker Doctor on page 513 Released with RobotStudio 5.14.02.01 Added Network Licensing on page 43 Released with RobotStudio 5.14.03 Added a note regarding the usage of .NET DLLs under Advanced options on page 508 Added scenarios in ScreenMaker Doctor scenarios on page 513 Updated the procedure in Creating Markup on page 253 Updated the note in Prerequisites on page 415 for Adjust Robtargets Updated the procedure for Using Adjust Robtargets on page 415 Updated the table under LogicExpression for Signals and Properties on page 270 Added a procedure for adding events to a menu item under CommandBar on page 498 Updated the details for Creating autopath under AutoPath on page 224 Updated the table showing the Supported 3D formats on page 37
G H
Overview
Continued
Revision J
Description Released with RobotStudio 5.15 In addition to the following important updates, numerous minor improvements and corrections have been made throughout the document. Introduced the following new chapters containing both new features and also updated features; Controller tab on page 347, which contain features related to real and virtual controllers. RAPID tab on page 397, which contains features related to RAPID programming. Added the following new content: Edit RAPID data on page 409 Transfer on page 365 Stopwatch on page 336 Go to Visualization and Go to Declaration on page 447 Offset Position on page 470 Protected Smart Component on page 473 Updated, reworked the following sections: Edit RAPID code on page 400 RAPID Watch window on page 422 Installing and licensing RobotStudio on page 40, and in particular Network Licensing on page 43 Virtual Controller on page 85 Screen Capture on page 147 Pack and Go on page 189 and Unpack and Work on page 190
3HAC032104-001 Revision: J
Technical reference manuals The technical reference manuals describe reference information for robotics products. Technical reference manual - Lubrication in gearboxes: Description of types and volumes of lubrication for the manipulator gearboxes. Technical reference manual - RAPID overview: An overview of the RAPID programming language. Technical reference manual - RAPID Instructions, Functions and Data types: Description and syntax for all RAPID instructions, functions, and data types. Technical reference manual - RAPID kernel: A formal description of the RAPID programming language. Technical reference manual - System parameters: Description of system parameters and configuration workflows.
Application manuals Specific applications (for example software or hardware options) are described in Application manuals. An application manual can describe one or several applications. Continues on next page
3HAC032104-001 Revision: J Copyright 2008-2012 ABB. All rights reserved. 17
An application manual generally contains information about: Operating manuals The operating manuals describe hands-on handling of the products. The manuals are aimed at those having first-hand operational contact with the product, that is production cell operators, programmers, and trouble shooters. The group of manuals includes (among others): Operating manual - Emergency safety information Operating manual - General safety information Operating manual - Getting started, IRC5 and RobotStudio Operating manual - Introduction to RAPID Operating manual - IRC5 with FlexPendant Operating manual - RobotStudio Operating manual - Trouble shooting IRC5, for the controller and manipulator. The purpose of the application (what it does and when it is useful). What is included (for example cables, I/O boards, RAPID instructions, system parameters, DVD with PC software). How to install included or required hardware. How to use the application. Examples of how to use the application.
3HAC032104-001 Revision: J
Safety
Safety
Safety of personnel A robot is heavy and extremely powerful regardless of its speed. A pause or long stop in movement can be followed by a fast hazardous movement. Even if a pattern of movement is predicted, a change in operation can be triggered by an external signal resulting in an unexpected movement. Therefore, it is important that all safety regulations are followed when entering safeguarded space. Safety regulations Before beginning work with the robot, make sure you are familiar with the safety regulations described in the manual Operating manual - General safety information.
19
1 Introduction to RobotStudio
1.1 What is RobotStudio
1 Introduction to RobotStudio
1.1 What is RobotStudio
RobotStudio is a PC application for modeling, offline programming, and simulation of robot cells. RobotStudio allows you to work with an off-line controller, which is a virtual IRC5 controller running locally on your PC. This offline controller is also referred to as the virtual controller (VC). RobotStudio also allows you to work with the real physical IRC5 controller, which is simply referred to as the real controller. When RobotStudio is used with real controllers, it is referred to as the online mode. When working without being connected to a real controller, or while being connected to a virtual controller, RobotStudio is said to be in offline mode. RobotStudio offers the following installation options: Complete Custom, allowing user-customized contents and paths Minimal, allowing you to run RobotStudio in online mode only.
21
1 Introduction to RobotStudio
1.2.1 Hardware concepts
Drive module
FlexController
FlexPendant
Tool
Optional hardware The table below describes the optional hardware for an IRC5 robot cell.
Hardware Track manipulator Explanation A moving stand holding the robot manipulator to give it a larger work space. When the control module controls the motion of a track manipulator, it is referred to as a Track External Axis. A moving stand normally holding a work piece or a fixture. When the control module controls the motion of a positioner manipulator, it is referred to as an External Axis. A second robot manipulator acting as a positioner manipulator. It is controlled by the same control module as the positioner manipulator. A device that stands in a fixed location. The robot manipulator picks up the work piece and brings it to the device to perform specific tasks, such as gluing, grinding or welding. The product being worked on. A construction holding the work piece in a specific position so that the repeatability of the production can be maintained.
Positioner manipulator
FlexPositioner
Stationary tool
3HAC032104-001 Revision: J
1 Introduction to RobotStudio
1.2.2 RobotWare concepts
RobotWare installation
RobotWare Key
RobotWare system
RobotWare version
1 Introduction to RobotStudio
1.2.2 RobotWare concepts Continued
Concept Mediapool Explanation The mediapool is a folder on the PC in which each RobotWare version is stored in a folder of its own. The files of the mediapool are used to create and implement all the different RobotWare options. Therefore, the correct RobotWare version must be installed in the mediapool when creating RobotWare systems or running them on virtual controllers.
3HAC032104-001 Revision: J
1 Introduction to RobotStudio
1.2.3 RAPID concepts
Move instructions
25
1 Introduction to RobotStudio
1.2.4 Concepts of programming
True offline programming Refers to the ABB Robotics concept of connecting a simulation environment to a virtual controller. This enables not only program creation, but also program testing and optimizing offline. Virtual controller A software that emulates a FlexController to allow the same software (the RobotWare system) that is controlling the robots to run on a PC. This gives the same behavior of the robots offline as you get online. Running multiple robot manipulators with the same control module. Used to define positions and orientations. When programming a robot, you can take advantage of using different coordinate systems to more easily position objects relative to each other. A synonym for coordinate system. If all your targets refer to workobjects, you only need to calibrate the workobjects when deploying offline programs.
3HAC032104-001 Revision: J
1 Introduction to RobotStudio
1.2.5 Targets and paths
Configuration
Targets are converted to instances of the data type robtarget when synchronized to the virtual controller. Paths A sequence of move instructions, paths are used to make the robot move along a sequence of targets. Paths are converted to procedures when synchronized to the virtual controller. Move instructions A move instruction consists of: Action instructions An action instruction is a RAPID string that can be used for setting and changing parameters. Action instructions can be inserted before, after or between instruction targets in paths. a reference to a target motion data, such as motion type, speed and zone a reference to a tooldata a workobject reference
27
1 Introduction to RobotStudio
1.2.6 Coordinate systems
1 Introduction to RobotStudio
1.2.6 Coordinate systems Continued In the picture to the left, the task frame is located at the same position as the robot base frame. In the picture to the right, the taskframe has been moved to another position.
en1000001303
The following picture illustrates how a task frame in RobotStudio is mapped to the robot controller coordinate system in the real world. For example, on the shop floor.
en1000001304
World coordinate system in RobotStudio World coordinate system as defined in the robot controller. It corresponds to the task frame of RobotStudio. Robot Base Frame Tool Center Point Robot target Task Frame Workobject
1 Introduction to RobotStudio
1.2.6 Coordinate systems Continued Stations with multiple robot systems For a single robot system, RobotStudios task frame corresponds to the robot controller world coordinate system. When several controllers are present in the station, the task frame allows the connected robots to work in different coordinate systems. That is, the robots can be located independent of each other by defining different task frames for each robot.
en1000001442
World coordinate system in RobotStudio Tool Center Point of robot 1 Tool Center Point of robot 2 Base Frame of robot system 1 Base Frame of robot system 2 Robot target 1 Robot target 2 Task Frame of robot system 1 Task Frame of robot system 2 Workobject
1 Introduction to RobotStudio
1.2.6 Coordinate systems Continued MultiMove Coordinated systems The MultiMove functions helps you create and optimize programs for MultiMove systems where one robot or positioner holds the work piece and other robots operate on it. When using a robot system with the RobotWare option MultiMove Coordinated, it is important that the robots are working in the same coordinate system. As such, RobotStudio do not allow task frames of the controller to be separated.
en1000001305
en1000001306
World coordinate system in RobotStudio Tool Center Point of robot 1 Tool Center Point of robot 2
1 Introduction to RobotStudio
1.2.6 Coordinate systems Continued
BF(R1) BF(R2) BF(R3) P1 TF Wobj Base Frame of robot 1 Base Frame of robot 2 Base Frame of robot 3 Robot target 1 Task Frame Workobject
MultiMove Independent systems For a robot system with the RobotWare option MultiMove Independent, robots operate simultaneously and independently while being controlled by one controller. Even though there is only one robot controller world coordinate system, robots often work in separate coordinate systems. To allow this setup in RobotStudio, the task frames for the robots can be separated and positioned independent of each other.
en1000001308
World coordinate system in RobotStudio Tool Center Point of robot 1 Tool Center Point of robot 2 Base Frame of robot 1 Base Frame of robot 2 Robot target 1 Robot target 2 Task Frame 1 Task Frame 2 Workobject
1 Introduction to RobotStudio
1.2.6 Coordinate systems Continued Workobject coordinate system The workobject normally represents the physical work piece. It is composed of two coordinate systems: the User frame and the Object frame, where the latter is a child to the former. When programming a robot, all targets (positions) are related to the object frame of a workobject. If no other workobject is specified, the targets will be related to the default Wobj0, which always coincides with the base frame of the robot. Using workobjects provides the chance to easily adjust robot programs with an offset, if the location of the work piece has been changed. Thus, workobjects can be used for calibrating offline programs. If the placement of the fixture or work piece relative to the robot in the real station does not completely match the placement in the offline station, you simply adjust the position of the workobject. Workobjects are also used for coordinated motion. If a workobject is attached to a mechanical unit (and the system uses the option for coordinated motion), the robot will find the targets in the workobject even when the mechanical unit moves the workobject. In the picture below the grey coordinate system is the world coordinate system, and the black ones are the object frame and the user frame of the workobject. Here the user frame is positioned at the table or fixture and the object frame at the workpiece.
xx0500001519
User coordinate systems User coordinate systems are used for creating reference points of your choice. For example, you can create user coordinate systems at strategic points in the work piece to simplify programming.
33
1 Introduction to RobotStudio
1.2.7 Robot axis configurations
configur
To distinguish between the different configurations, all targets have a configuration value that specifies the quadrant in which each axis shall be located. Storing axis configurations in targets For targets that are taught after jogging the robot to the position, the used configuration will be stored in the target. Targets created by specifying or calculating positions and orientations get a default configuration value (0,0,0,0), which might not be valid for reaching the target. Common problems related to robot axis configurations It is most likely that targets created by other ways than jogging cannot be reached at their default configuration. Even if all targets in a path have validated configurations, you might encounter problems when running the path if the robot cannot move from one configuration to the other. This is likely to occur where an axis shifts greater than 90 degrees during linear movements. Repositioned targets keep their configuration, but the configurations are no longer validated. As a result, the problems described above might occur when moving targets. Common solutions for configuration problems To resolve the problems described above, you can assign a valid configuration to each target and verify that the robot can move along each path. You can also turn configuration monitoring off, which means that you ignore the stored configurations and let the robot find working configurations at runtime. If this is not done the proper way, you might get unexpected results. In some cases there might not be any working configurations. Possible solutions might then be to reposition the work piece, reorient targets (if acceptable for the process) or add an external axis that either moves the work piece or the robot for increasing reachability. Continues on next page
34 Copyright 2008-2012 ABB. All rights reserved. 3HAC032104-001 Revision: J
1 Introduction to RobotStudio
1.2.7 Robot axis configurations Continued How configurations are denoted The robots axis configurations are denoted by a series of four integers, specifying in which quadrant of a full revolution significant axes are located. The quadrants are numbered from zero for positive (counterclockwise) rotation and from -1 for negative (clockwise) rotation. For a linear axis, the integer specifies the range (in meters) from the neutral position in which the axis is located. A configuration for a six-axis industrial robot (like IRB 140) may look like: [0-121] The first integer (0) specifies the position of axis 1: somewhere in the first positive quadrant (between 0 and 90 degrees rotation). The second integer (-1) specifies the position of axis 4: somewhere in the first negative quadrant (between 0 and -90 degrees rotation). The third integer (2) specifies the position of axis 6: somewhere in the third positive quadrant (between 180 and 270 degrees rotation). The fourth integer (1) specifies the position of axis x, a virtual axis used for specifying the wrist center in relation to other axes. Configuration monitoring When executing a robot program, you can choose whether to monitor configuration values. If configuration monitoring is turned off, configuration values stored with the targets are ignored, and the robot will use the configuration closest its current configuration for reaching the target. If turned on, it will only use the specified configuration for reaching the targets. Configuration monitoring can be turned off and on for joint and linear movements independently and is controlled by the ConfJ and ConfL action instructions. Turning configuration monitoring off Running a program without configuration monitoring may result in different configurations each time a cycle is executed: When the robot returns to the start position after completing a cycle, it may choose a different configuration then the original. For programs with linear move instructions this might cause a situation where the robot gets closer and closer its joint limits and eventually will not be able to reach the target. For programs with joint move instructions this might cause sweeping, unpredictable movements. Turning configuration monitoring on Running a program with configuration monitoring forces the robot to use the configurations stored with the targets. This results in predictable cycles and predictable motions. In some situations, however, like when the robot moves to a target from an unknown position, using configuration monitoring may limit the robots reachability. When programming offline, you must assign a configuration to each target if the program shall be executed with configuration monitoring.
35
1 Introduction to RobotStudio
1.2.8 Libraries, geometries and CAD files
1 Introduction to RobotStudio
1.2.8 Libraries, geometries and CAD files Continued Supported 3D formats The native 3D format of RobotStudio is ACIS. RobotStudio also supports other formats for which you need an option. The following table shows the supported formats and the corresponding options:
Format File extensions Option required Default target formats IGES, STEP, VDA-FS
ACIS, reads versions sat R1 - R23, writes versions R18 - R23 IGES, reads up to version 5.3, writes version 5.3 igs, iges
IGES
STEP, reads versions stp, step, p21 AP203 and AP214 (geometry only), writes version AP214 VDA-FS, reads 1.0 and 2.0, writes 2.0 vda, vdafs
STEP
VDA-FS CATIA V4
ACIS, IGES, STEP ACIS, IGES, STEP, VDA-FS ACIS, IGES, STEP, VDA-FS ACIS, IGES, STEP, VDA-FS ACIS, IGES, STEP, VDA-FS RsGfx, obj, dae RsGfx, obj, dae RsGfx, obj, dae RsGfx, obj, dae RsGfx, obj, dae RsGfx, obj, dae
CATIA V5, reads ver- CATPart, CATProduct CATIA V5 sions R6 R22 (V5-6 R2012) Pro/ENGINEER, reads versions 16 Creo 2.0 prt, asm Pro/ENGINEER
Inventor, reads V6 ipt V2012 VRML Jupiter, up to 6.4 STL PLY 3DStudio COLLADA 1.4.1
Inventor
To import these files into RobotStudio, use the Import Geometry function. To convert files to VDA-FS, STEP and IGES, use the standalone CAD Converter tool. For converting to other formats, use the Export Geometry function in RobotStudio. You need the option for both the target and the source formats when converting files. Mathematical versus graphical geometries A geometry in a CAD file always has an underlying mathematical representation. Its graphical representation, displayed in the graphics window, is generated from the mathematical representation when the geometry is imported to RobotStudio, after which the geometry is referred to as a part. For this kind of geometry, you can set the detail level of the graphical representation, thus reducing the file size and rendering time for large models and improving the Continues on next page
3HAC032104-001 Revision: J Copyright 2008-2012 ABB. All rights reserved. 37
1 Introduction to RobotStudio
1.2.8 Libraries, geometries and CAD files Continued visual display for small models you might want to zoom in on. The detail level only affects the visual display; paths and curves created from the model will be accurate both with coarse and fine settings. A part can also be imported from a file that simply defines its graphical representation; in this case, there is no underlying mathematical representation. Some of the functions in RobotStudio,such as snap mode and creation of curves from the geometry, will not work with this kind of part. To customize the detail level settings, see Options on page 193.
3HAC032104-001 Revision: J
1 Introduction to RobotStudio
1.2.9 VSTA as the IDE
Using the shortcut menus of the Add-In browser, PowerPacs may be loaded or autoloaded, while VSTA add-ins may be added, loaded, unloaded, reloaded, autoloaded, edited, deleted, or removed from the station. Note For the RobotStudio 5.15 64-bit edition PowerPacs, Visual Studio Tools for Applications, and any customized add-ins that use PC-SDK are not supported
39
1 Introduction to RobotStudio
1.3 Installing and licensing RobotStudio
In addition to the Premium functionality, there are add-ins like PowerPacs and options for CAD converters available. PowerPacs provides enhanced features for selected applications. Options for CAD converters allows import of different CAD formats. Minimal - Installs only the features required to program, configure, and monitor a real controller connected over Ethernet. Complete - Installs all the features required to run the complete RobotStudio. If installed with this option, additional features of Basic and Premium functionality are available. Custom - Installs user-customized features. This option allows excluding unwanted robot libraries and CAD converters. Note RobotStudio 5.15 64-bit edition is installed for the Complete installation option on computers that have a 64-bit operating system. The 64-bit edition allows larger CAD-models to be imported as it can address more memory than the 32-bit version. However, the 64-bit edition has the following limitations: PowerPacs, Visual Studio Tools for Applications, and any customized add-ins that use PC-SDK are not supported ScreenMaker is not supported Jupiter import is not supported Import of stations and libraries from RobotStudio 4.0 (for S4) is not supported Add-ins will be loaded from the following folder C:\Program Files (x86)\ABB Industrial IT\Robotics IT\RobotStudio 5.15\Bin64\Addins
1 Introduction to RobotStudio
1.3 Installing and licensing RobotStudio Continued How to install RobotStudio on a PC
Action 1 Insert the robot software DVD in the PC. If a menu for the DVD is opened automatically, continue with step 5. If no menu for the DVD is opened, continue with step 2. On the Start menu, click Run. In the Open box, type the drive letter for your DVD drive followed by: :\launch.exe If your DVD drive has the letter D, then type: D:\launch.exe Click OK. Select the language for the DVD menu. On the DVD menu, click Install. On the installation menu, click RobotStudio. This opens the installation wizard, which guides you through the rest of the software installation. After installing Robotstudio, you can proceed with installing RobotWare. Go to the installation menu, and click RobotWare. This opens this installation wizard, which guides you through the rest of the RobotWare installation. This step is optional, and is for installing the Track mediapool. On the Install products menu, click Additional Options. This opens a file browser that displays the Track mediapool installation and other available options. Double-click the TrackMotion folder and then the file setup.exe to start the installation wizard and proceed.
2 3
4 5 6 7 8
After installing RobotStudio, proceed with activating your RobotStudio installation. Knowing which RobotStudio version is installed The version number of your RobotStudio installation is displayed on the RobotStudio title bar. Activation of RobotStudio license Activation of your RobotStudio installation is a procedure for validating your RobotStudio license. To continue using this with all of its features, you must activate it. RobotStudio Product Activation is based on Microsoft anti-piracy technology and is designed to verify that software products are legitimately licensed. Activation works by verifying that the Activation Key is not in use on more personal computers than are permitted by the software license. When you start RobotStudio for the first time after installation, you are prompted to enter your 25-digit Activation Key (xxxxx-xxxxx-xxxxx-xxxxx-xxxxx). The software performs in the Basic Functionality mode if you do not use a valid Activation Key. After the installation is activated, you will have valid licenses for the features covered by your subscription. Note Activation is not required for Minimal installation, or for Basic Functionality mode of the Complete or Custom installation.
1 Introduction to RobotStudio
1.3 Installing and licensing RobotStudio Continued What is Basic Functionality mode In Basic Functionality mode, which is a reduced functionality mode, RobotStudio allows only the use of the basic features for the real and the virtual controller. No existing files or stations are harmed in this mode. After activating your software, you will have full functionality for the features you have purchased. A real controller can be programmed, configured and monitored over Ethernet without activating your installation of RobotStudio. Activation, however, will provide access to the Premium productivity features that will make your engineering work more efficient. How to activate RobotStudio Use the Activation Wizard to activate your RobotStudio installation. When you start RobotStudio for the first time after installation, the wizard starts automatically and prompts you for the Activation Key. If you do not want to activate your copy of RobotStudio at installation, you can do so later using the Activation Wizard. Note If you have a problem with your activation, contact your local ABB customer support representative at the e-mail address or telephone number provided at www.abb.com/robotics. For using the Activation Wizard, follow this procedure.
Action 1 2 3 On the File tab, click Options and go to General:Licensing. On the Licensing page to the right, click Activation wizard to launch the Activation Wizard. In the Activation Wizard, on the Activate RobotStudio page, indicate whether you have a Standalone License or a Network License, and then click Next. If you have chosen Standalone License, you will proceed to the Activate a Standalone License page. See Activate automatically over the Internet or manually on page 42 for further steps. If you have chosen Network License, you will proceed to the Network License page. See Network Licensing on page 43 for further steps.
Activate automatically over the Internet or manually The Activation Wizard gives you two choices on how to proceed. You can choose either automatic activation over the Internet or manual activation. These are explained in the following section. Automatic Activation (recommended) In Automatic Activation, the Activation Wizard automatically contacts and sends your activation request to the ABB licensing servers over your Internet connection. Your license will then be automatically installed and your product will be ready for use. For Automatic Activation you need a working Internet connections and also a valid Activation Key that has not exceeded the number of installations allowed.
1 Introduction to RobotStudio
1.3 Installing and licensing RobotStudio Continued RobotStudio must be restarted after the activation has been successfully completed. Note If you choose to activate over the Internet but are not currently connected to the Internet, then the wizard alerts you that there is no connection. Manual Activation 1 If the computer does not have a working Internet connection, you must proceed with Manual Activation: 2 Create a license file by selecting the option Step 1:Create a license request file. Proceed through the wizard, enter your Activation Key and save the License Request File to your computer. 3 Use a removable storage medium, such as a USB stick or floppy disk, to transfer the file to a computer with an Internet connection. In that computer, open a web browser, go to http://www101.abb.com/manualactivation/ and follow the instructions given. The result will be a License File that should be saved and transferred back to the computer having the installation awaiting activation. 4 Relaunch the Activation Wizard and go through the steps until you reach the Activate a Standalone License page. 5 Under Manual Activation, select the option Step 3:Install a license file. Proceed through the wizard, selecting the License File when requested. Upon completion, RobotStudio is activated and ready for use. RobotStudio must be restarted after the activation has been successfully completed. Network Licensing Network licensing allows you to centralize license management by installing licenses on a single server rather than on each individual client machine. The server administers the licenses to the clients as required. A single network license allows several clients to use the software. Network Licensing is set up in the following stages: 1 Install the server for network licensing (See Installing the Network Licensing Server on page 44) 2 Activate the licenses for network licensing (See Using the SLP Server Web Interface on page 44) 3 Set up the client for network licensing (See Setting up Network Licensing in the client on page 45) Tip Network licenses are displayed as Network in the View Installed License Keys link of the Licensing page.
1 Introduction to RobotStudio
1.3 Installing and licensing RobotStudio Continued Installing the Network Licensing Server Network licensing in RobotStudio uses the SLP Distributor server as the network licensing server. It manages the allocation of network license keys to the clients. You can install the SLP Distributor server from the Utilities\SLP Distributor directory of the RobotStudio distribution. Note You require administrative privileges for installing and configuring the SLP Distribution server. The installer requires the following: Windows Server 2008, Windows 7, or Windows Vista. .NET Framework 3.5 SP1
The SLP Distributor server is installed as a service that starts automatically with Windows. It requires two open TCP ports, by default 2468 (for the web interface) and 8731 (for licensing). The installer opens these ports in the standard Windows Firewall, but any third-party firewall must be configured manually by the system administrator. Using the SLP Server Web Interface Once the SLP server is online, you can access its web interface on the address http://<server>:2468/web. The following table shows how to use the server's web interface.
To... Activate new network licenses Use... The Activation tab. Submit the activation key provided by ABB. Note that the server must have a working internet connection as manual activation is not supported. The number of network licenses activated depends on the activation key provided. The Home tab. Under Dashboard, click Details. Alternatively, click the Products tab. Both these open the Product details for RobotStudio page, where details about the installed licenses are displayed. The Home tab. Under Dashboard, click Usage. Alternatively, click the Usage tab. Both these open the Current usage of RobotStudio page, which lists the following in a table: Licenses which are currently allocated Client to which each license is allocated to Number of remaining licenses available for use Each table row corresponds to one client system.
1 Introduction to RobotStudio
1.3 Installing and licensing RobotStudio Continued
Note Certain proxy issues upon activation in the SLP server's web interface may produce a messages which only states Activation failed. Such a case may happen when the system account that the SLP-Distributor-service is executed in, does not have the rights to read the user profile. As a workaround, follow this procedure: 1 Open the Services control panel (services.msc) 2 Open properties for InishTech SLP Distributor Service 3 Change Log on as to an actual named user, preferably the currently logged on user 4 Restart the service and re-attempt an activation. 5 After your re-attempt, change Log on as back to Local System account and restart the service. Setting up Network Licensing in the client Note You require Administrative privileges to store this configuration. You need to use the RobotStudio Activation Wizard in the client system for setting up Network Licensing. Use this procedure to set up Network Licensing for a client system.
Action 1 On the File tab, click Options and go to General:Licensing. 2 On the Licensing page to the right, click Activation wizard to launch the Activation Wizard. 3 In the Activation Wizard, on the Activate RobotStudio page, choose the option I want to specify a network license server and manage server license, and then click Next. You will proceed to the License Server page. 4 Specify the name or IP address of the License Server, and then click Finish. If Windows UAC is enabled, a confirmation dialog appears. This prompts you to restart RobotStudio in order to start using the specified server. To go to the SLP Distributor server web interface, click the Open the server dashboard link. For information about using the server dashboard, see Using the SLP Server Web Interface on page 44. Note that the changes made are not applied until RobotStudio is restarted.
Note For Network Licensing to work, the client system should be online with the server. For information about enabling licensing while working offline, see Using Commuter Licenses on page 46.
1 Introduction to RobotStudio
1.3 Installing and licensing RobotStudio Continued Using Commuter Licenses Commuter licenses allow a client system to work offline from the license server. You can check out a license from the server for a specified number of days. During this period the checked out license is unavailable to other users. The commuter license is made available for other clients only when it is manually checked in back to the server. The commuter license in the client system expires when the check out time expires. In this case, on starting RobotStudio in the client system, the Network License dialog opens automatically and prompts you to check in the license back to the server. Note It is not possible to check out specific features in the license. All features in a license are included when it is checked out. To check in/check out a commuter license, you need to use the Activation Wizard. Use this procedure to check in/check out a commuter license.
Action 1 On the File menu, click Options and select General: Licensing 2 On the Licensing page to the right, click Activation wizard to launch the Activation Wizard. 3 In the Activation Wizard, on the Activate RobotStudio page, choose I want to check out or check in a commuter license and click Next. You will proceed to the Commuter License page. 4 Under Commuter License, you will be presented one of the following options as per your requirement: Check out a commuter license key - In the Check out days box specify the specify the number of days for which you wish to keep the license. This option is disabled if you already have a commuter license checked out. Check in a commuter license key - Choose this option to return the currently checked out license to the server. This option is enabled only if a commuter license is already checked out. If so, the expiration date and time of the license is also displayed. 5 Click Finish to complete the check in/check out.
Tip Network licenses checked-out as commuter licenses are displayed as Floating (checked out) in the View Installed License Keys link of the Licensing page. Knowing whether your RobotStudio installation is activated
Action 1 2 On the File tab, click Options and then go to General:Licensing. On the Licensing page to the right, select View Installed License Keys to see the status of your current license. The Licenses opens, where you can view all the valid licenses for the features covered by your subscription.
3HAC032104-001 Revision: J
1 Introduction to RobotStudio
1.4.1 Ribbon, tabs and groups
en0900000215
Tab 1 File
Description Contains the options to create new station, create new robot system, connect to a controller, save station as viewer, and RobotStudio options. For more information, see File tab on page 187. Contains the controls required for building stations, creating systems, programming paths and placing items. For more information, see Home tab on page 201. Contains the controls for creating and grouping components, creating bodies, measurements and CAD operations. For more information, see Modeling tab on page 255. Contains the controls for setting up, configuring, controlling, monitoring and recording simulations. For more information, see Simulation tab on page 319. Contains the controls for synchronization, configuration and tasks assigned to the Virtual Controller (VC). It also contains the controls for managing the real controller. For more information, see Controller tab on page 347. Contains the integrated RAPID editor, used for editing all robot tasks other than robot motion. For more information, see RAPID tab on page 397. Contains the control for PowerPacs and the VSTA. For more information, see Add-Ins tab on page 425.
Home
Modeling
Simulation
Controller
RAPID
Add-Ins
47
1 Introduction to RobotStudio
1.4.2 Layout browser
Tool
xx050001
A tool.
Link collection
xx050002
Link
xx050003
A physical object in a joint connection. Each link is made up of one or several parts. Contains all the frames for an object.
Frames
xx050004
Component group
xx050005
A grouping of parts or other assemblies, carrying its own coordinate systems. It is used to structure a station. A physical object in RobotStudio. Parts with geometric information are made up of one or more 2D or 3D entities. Parts without geometric information (such as imported .jt files) are empty. Contains all collision sets. Each collision set includes two groups of objects. Contains references to the objects that are subject to collision detection.
Part
xx050006
Collision set
xx050007
Objects group
xx050008
Frame
xx050010
3HAC032104-001 Revision: J
1 Introduction to RobotStudio
1.4.3 The Paths & Targets browser
Virtual Controller
xx050012
The system for controlling the robots, just like a real IRC5 controller. Contains all logical elements in the station, such as targets, paths, workobjects, tooldata and instructions. Contains all tooldata.
Task
xx050013
Tooldata Collection
xx0500001376
Tooldata
xx050014
xx050016
Jointtarget Collection and A specified position of the robot axes. Jointtarget Workobject Collection and The workobject collection node and the workobWorkobject jects it contains. Target A defined position and rotation for a robot. A target equals a RobTarget in a RAPID program. A target for which no axis configuration has been assigned, for example, a repositioned target or a new target created by means other than teaching.
xx050017
xx050018
Target without found config- An unreachable target, that is, for which no axis uration configuration has been found.
xx050020
Path Collection
xx050021
Path
xx050022
Contains the instructions for the robot movements. A linear TCP motion to a target. If the target has no valid configuration assigned, the move instruction gets the same warning symbols as the target.
1 Introduction to RobotStudio
1.4.3 The Paths & Targets browser Continued
Icon Node Joint Move Instruction
xx050024
Description A joint motion to a target. If the target has no valid configuration assigned, the move instruction gets the same warning symbols as the target. Defines an action for the robot to perform at a specified location in a path.
Action Instruction
xx050025
3HAC032104-001 Revision: J
1 Introduction to RobotStudio
1.4.4 The Modeling browser
Description Geometric items corresponding to the objects in the Layout browser. Geometric building blocks that comprise the parts. 3D bodies contain several faces, 2D bodies one face, and curves no faces. The faces of the bodies.
Body
modelin0
Face
modelin1
51
1 Introduction to RobotStudio
1.4.5 The Controller browser
Description Contains the controllers that are connected to the Robot View. Represents a controller with a working connection. Represents a controller which is currently being connected.
Connected Controller
control0
Connecting Controller
control1
control2
Disconnected Controller Represents a controller that has lost its connection. It might have been turned off or disconnected from the network. Denied login Represents a controller that denies you access to login. Possible reasons for denied access are: User lacks necessary access privileges Too many clients connected to the controller The RobotWare version of the system running on the controller is newer than the RobotStudio version Contains the configuration topics.
control3
Configuration
configu0
Topic
configu1
Each parameter topic is represented by a node: Communication Controller I/O Man-machine communication Motion With the Event Log you can view and save controller events.
Event Log
eventrec
I/O System
io
Represents the controller I/O system. The I/O system consists of I/O buses and units.
I/O Bus
io-node
1 Introduction to RobotStudio
1.4.5 The Controller browser Continued
I/O Unit
io-devic
An I/O Unit is a board, panel or any other device with ports through which the I/O signals are sent.
RAPID Tasks
rapid16t
Contains the active tasks (programs) of the controller. A task is a robot program, which executes alone or together with other programs. A program is composed of a set of modules. Program modules contain a set of data declarations and routines for a specific task. Program modules contains data specific for this program. System modules contain a set of type definitions, data declarations and routines. System modules contains data that applies to the robot system, regardless which program modules that are loaded. A module that cannot be entered during step-bystep execution. That is all instructions in the module are treated as one if the program is executed step-by-step.
Task
prgintas
Program Modules
Program Modules
Nostepin Module
nostepin
View-only and Read-only A icon for program modules that are either viewProgram Modules only or read-only.
modules
View-only and Read-only A icon for system modules that are either viewSystem Modules only or read-only.
module_e
Procedure
procedur
A routine that does not return any value. Procedures are used as subprograms. A routine that returns a value of a specific type.
Function
function
Trap
trap16tr
53
1 Introduction to RobotStudio
1.4.6 Files browser
Backups
xx1200000825
3HAC032104-001 Revision: J
1 Introduction to RobotStudio
1.4.7 Add-Ins browser
Description Indicates an available add-in loaded into the system Indicates a disabled add-in
Disabled Add-In
xx1200000827
Unloaded Add-In
xx1200000828
55
1 Introduction to RobotStudio
1.4.8 The Output window
Warning
Error
Some of the events are active. These are linked to an action for resolving the problem that generated the event. To activate the linked action, double-click the message. Handling messages in the Output window
Goal To filter messages... Procedure Right-click in the Output window and then click Show messages. From the options All Errors, Information, Warnings and Warnings and Errors, select the type of messages you want to display.
To save a message to file... Select it, right-click and then click Save to file. Choose a name and location in the dialog box. Multiple messages can be selected by pressing SHIFT while clicking each. To clear the Output window... Right-click in the Output window and then click Clear.
3HAC032104-001 Revision: J
1 Introduction to RobotStudio
1.4.9 The Controller Status window
Motors on Guard Stop Emergency Stop Waiting for motors on after e-stop System Failure
4 Program Execution State : Displays if the robot is running any program or not.
When the controller is in the robot... state... Running Ready Stopped Uninitialized is running a program. has a program loaded and is ready to run it when a PP (starting point in the program) has been set. has a program loaded, with a PP, and is ready to run it. has not initialized the program memory. This indicates an error condition.
1 Introduction to RobotStudio
1.4.9 The Controller Status window Continued
When the controller is the robot is... in mode... Manual only able to move if the enabling device on the FlexPendant is activated. Furthermore, the robot can only moved with reduced speed in manual mode. In manual mode it is not possible to get remote Write access to the controller, unless it is configured for this and the remote Write access granted on the FlexPendant. only able to move if the enabling device on the FlexPendant is activated. In manual mode it is not possible to get remote Write access to the controller, unless it is configured for this and the remote Write access granted on the FlexPendant. about to enter Auto mode, but the mode transition has not yet been acknowledged.
6 Logged on as: Displays the user name the PC is logged on to the controller with. 7 Access : Displays the users having write access to the controller, or if it is available.
3HAC032104-001 Revision: J
1 Introduction to RobotStudio
1.4.10 The Operator Window
The following are the RAPID instructions not supported by the Operator Window. When these instructions are executed, an error message is displayed in the Operator Window prompting you to use the Virtual Flexpendant instead: TPShow UIShow UINumTune UIListView Continues on next page
3HAC032104-001 Revision: J Copyright 2008-2012 ABB. All rights reserved. 59
1 Introduction to RobotStudio
1.4.10 The Operator Window Continued
Note You should not run both the Virtual Flexpendant and Operator Window simultaneously.
3HAC032104-001 Revision: J
1 Introduction to RobotStudio
1.4.11 The Document Manager window
Using the Station mode Use this procedure to add documents associated with the current station: 1 Click Station from the Document Manager. 2 Click Add button and select what to add to the current station: File Reference Folder Reference Embedded File New Text Document Note The referenced file/folder is displayed with an arrow icon The embedded file and new text document are displayed with a diskette icon
1 Introduction to RobotStudio
1.4.11 The Document Manager window Continued The following context menu items appears depending on the document type selected:
Item Open Description Opens the document in the program associated with its file type. For example, a .docx file is opened in Microsoft Word. An embedded file is saved to a temporary location before opening. If RobotStudio detects that the temporary file has changed, you will be asked to update the embedded file.
Open containing folder Opens the folder containing the file in Windows Explorer. This option is not available in embedded files. Copy to Station Save as Converts a referenced file to an embedded file. Saves an embedded file to disk.
Include in Pack and Go Specifies if a referenced file/folder should be included when a Pack and Go file is created. For a referenced folder, all files in the folder will be included. To use this option, the file must be located in the parent folder of the station file. For example, if the station file is D:\Documents\Stations\My.rsstn, the reference must be located in D:\Documents to be included in Pack and Go. Embedded files are always included when a Pack and Go file is created, since they are part of the station file. Include Subfolders Remove Specifies that subfolders of a referenced folder should be included in Pack and Go. Removes the selected document.
Note Some context menu items can be disabled and the document marked as Locked in the API. Using the Search mode 1 Click the option Search and enter a query or syntax in the text box. For more information about the available syntaxes, see Search syntax on page 63. Note The drop-down list contains the search history of the previous ten queries between sessions. 2 Click the Expand button to access additional controls. This allows you to specify if the search should cover all the enabled locations or one specific location.
1 Introduction to RobotStudio
1.4.11 The Document Manager window Continued 3 Select Search in results check box to search for the resulting documents of the previous search. Note The search is performed automatically, after you stop typing in the text box or manually, by clicking the glass icon. During the search, this icon is changed to a cross and clicking this cancels the search operation. Search syntax The search field supports certain keywords and operators which allows you to specify an advanced search query. Note Keywords are not localised. The following table displays the keywords that specifies an advanced search query:
Keywords filename title type Description matches the filename of the documents. matches the title field of the document metadata. matches the type field of the document metadata. For library (.rslib) files, this is a user-defined string. For example, Robot. For other files, this is the Windows description of the file type. For example, Text Document. matches the author field of the document metadata. matches the comment field of the document metadata. matches the revision field of the document metadata. matches the last time the file was modified. For the colon operator, the match is done against a string representation of the modified date. For other operators, the search string should interpret as a date according to .NET standards. matches the file size (in KB).
size
The following table displays the operators that specifies an advanced search query
Operator : = < > Description matches if the field contains the search string. matches if the field equals the search string. matches if the field is smaller than the search string. matches if the field is greater than the search string.
1 Introduction to RobotStudio
1.4.11 The Document Manager window Continued
Note Quotation marks can be used to specify a string with whitespace. An empty string is specified by "". All search strings are case insensitive. Text without a preceding keyword is matched against the filename and all metadata. If queries are specified without a grouping keyword, "and" is implied. Some metadata (title, author, comments and revision) is not available for all file types.
Examples 1400 - Matches documents with the string 1400 in the filename or any metadata. not author:ABB - Matches documents where the author field does not contain the string ABB. size>1000 and date<1/2009 - Matches documents larger than 1000KB and modified before 1/1/2009. IRBP comments="ABB Internal" - Matches documents with the string IRBP in the filename or any metadata, and where the comment field equals ABB Internal.
Using the Browse mode 1 Click the option Browse from the Document Manager. A folder structure of the document location is displayed. Note The top level of the folder structure lists the configured locations. If a location is unavailable (for example, an offline network path) it is marked as Unavailable and cannot be opened. The text box displays the path of the current folder relative to the location root. 2 You can open a folder in either of the two ways: Double-click the document location. Right-click the document location and select Open from the context menu. Click the folder icon at the top-right corner. Select the parent folder from the dropdown list. Note You can browse and add component xml files (*.rsxml) to your station.
3 You can navigate through the folders in either of the two ways:
1 Introduction to RobotStudio
1.4.11 The Document Manager window Continued 4 Click Refresh icon in the text box to manually refresh the contents of the folder. Note The refresh operation can be time consuming, if a folder resides in a network location or contains many documents. During this time, the refresh icon changes to a cross icon allowing you to cancel the operation. Results view In the Browse mode, items are grouped into folders and documents. The resulting folders and documents are displayed in a list view. The search result appears in the status bar at the bottom, displaying the number of items found, and progress made during the search. The Search results are grouped beneath headers according to their location. Each document is represented by an image, the document title or filename in black text, and the metadata and file information in grey text. For library files, the image can be a screenshot or other custom image. For other document types, the image is the icon associated with the file type. Using the Context menu In the results view, right-click a document or folder. The following context menu items appears:
Item Open Description This command opens the selected folder, library or geometry files, station files, and document. For folders, browses into the selected folder. For library or geometry files, imports the file into the station. (If no station is open ,a new empty station is first created.) For station files, opens the station. For other documents, attempts to open the selected document according to its file association. For example, Microsoft Word starts when a .doc file is opened. This command opens the folder containing the document or the folder in the Windows Explorer. This command is disabled for folders. This command opens a dialog that displays complete metadata and file information about the selected document.
Tip Double-click an item to import the library and geometry files and open the other documents.
1 Introduction to RobotStudio
1.4.11 The Document Manager window Continued In the results view, right-click an empty area. The following context menu appears that controls how the documents are grouped and sorted:
Items Group by: Description Controls how the documents are arranged in groups. The following options are available: Location Folder Type Controls how the documents are sorted within the group. The following options are available: Name Date Size
Sort by:
Ascending and Descending Items are sorted in the ascending and descending order.
Using the drag and drop feature You can import a library or a geometry file into the station by dragging it from the results view into either the graphics window, or onto a object node in the Layout browser. When dragging into the Layout browser, the component will be placed as a child object under the station, component group or smart component. When dragging into the graphics window, the component will be positioned at the point on the station floor where you drop it. You can snap the point to the UCS grid by enabling the Snap Grid or by holding down the ALT key while dragging.
Document Locations window You can launch the Document Locations window in any one of the following ways: 1 Select Locations from the Documents window. 2 On the File menu, click Options and select Files & Folders in the navigation pane. Click Document Locations on the right side. 3 On the Home tab, click Import Library and select Locations from the dropdown menu. Layout of the Document Locations window It consists of a menu bar and a list displaying the configured locations. The list displays general information about the locations. The menu bar contains the following controls:
Controls Locations Description The following options are available from the dropdown menu: Import : Opens a dialog box to import document locations from an xml file. If a location with the same URL already exists, you have the option to retain or delete the existing location. Export : Opens a dialog box to export all the configured locations to an xml file. Reset to Default : Loads the default locations (ABB Library, User Library, and User Geometry).
1 Introduction to RobotStudio
1.4.11 The Document Manager window Continued
Controls Add Location Description Opens a dialog box to add a document location. By default, there is one location type available. For more information, see File System location on page 67. Deletes the selected location. Opens a dialog box to modify the selected location. For more information, see File System location on page 67.
Remove Edit
File System location 1 Click Add Locations and select File System from the dropdown menu. The File System dialog box appears. The File System dialog box contains the following controls:
Control Location Name Path Filter Description Specifies a name associated with the location. Specifies the file system directory that corresponds to the root folder of the location. This can be on a local or network disk. Specifies a filename filter to include only certain files when searching and browsing. Multiple filters are separated by a semicolon. If the filter is empty all files are included. Specifies that the library and geometry files from a network location should be copied to a local directory and imported from there, rather than directly from the network path. This will ensure that a station containing such files can be opened even if the network location is unavailable. This option is only available for network locations. Specifies the directory where to store the local copies. This must be on a local disk. Specifies that the contents of the location should be displayed as a gallery in the specified ribbon menu. Flat - Specifies that all documents are displayed in a single gallery with subfolder names as headers. Recursive - Specifies that the documents are displayed in submenus corresponding to the folder structure.
Include when searching all Specifies if the search should cover all the enabled locations. locations
67
1 Introduction to RobotStudio
1.4.12 Using a mouse
CTRL + SHIFT +
rotate
left-cli
Press CTRL + SHIFT + the left mouse button while dragging the mouse to rotate the station. With a 3-button mouse you can use the middle and right buttons, instead of the keyboard combination. Press CTRL + the left mouse button while dragging the mouse to pan the station.
CTRL +
pan
left-cli
CTRL +
zoom
right-cl
Press CTRL + the right mouse button while dragging the mouse to the left to zoom out. Dragging to the right zooms in. With a 3-button mouse you can also use the middle button, instead of the keyboard combination. Press SHIFT + the right mouse button while dragging the mouse across the area to zoom into.
window_z
right-cl
Press SHIFT + the left mouse button while dragging the mouse across the area to select all items that match the current selection level.
left-cli window_s
3HAC032104-001 Revision: J
1 Introduction to RobotStudio
1.4.13 Selecting an item
69
1 Introduction to RobotStudio
1.4.14 Attaching and detaching objects
3HAC032104-001 Revision: J
1 Introduction to RobotStudio
1.4.15 Keyboard shortcuts
RAPID Editor shortcuts The following table lists the keyboard shortcuts specific to the RAPID Editor.
Command Key Combination RAPID Editor Intellisense Complete Word Parameter Info Auto Complete CTRL + SPACEBAR CTRL + SHIFT + SPACEBAR TAB (when the cursor located at the end of an identifier)
1 Introduction to RobotStudio
1.4.15 Keyboard shortcuts Continued
Command Key Combination General RAPID Editor Commands Start Program Execution Step In Step Out Step Over Stop Toggle Breakpoint Apply Changes Print F8 F11 SHIFT + F11 F12 SHIFT + F8 F9 CTRL + SHIFT + S CTRL + P RAPID Editor Text Commands Copy Cut Cut line Delete line Delete to beginning of word Delete to end of word Find next occurance Indent Make the selected text lowercase Make the selected text uppercase Move to beginning of document Move to beginning of line Move to end of document Move to end of line Move to next word Move to previous word Move to visible bottom Move to visible top Open line above Open line below Outdent Paste Redo Scroll down Scroll up CTRL + Insert or, CTRL + C SHIFT + Delete or, CTRL + X CTRL + L CTRL + SHIFT + L CTRL + BACKSPACE CTRL + Delete F3 Tab CTRL + U CTRL + SHIFT + U CTRL + Home Home CTRL + End End CTRL + Right CTRL + Left CTRL + Page Down CTRL + Page Up CTRL + Enter CTRL + SHIFT + Enter SHIFT + TAB SHIFT + Insert or, CTRL + V CTRL + SHIFT + Z or, CTRL + Y CTRL + Down CTRL + Up
1 Introduction to RobotStudio
1.4.15 Keyboard shortcuts Continued
Command Select block down Select block left Select block right Select block up Select down Select left Select page down Select page up Select right Select to beginning of document Select to beginning of line Select to end of document Select to end of line Select to next word Select to previous word Select to visible bottom Select to visible top Select up Select word Toggle overwrite mode Transpose characters Transpose lines Transpose words Key Combination ALT + SHIFT + Down ALT + SHIFT + Left ALT + SHIFT + Right ALT + SHIFT + Up SHIFT + Down SHIFT + Left SHIFT + Page Down SHIFT + Page Up SHIFT + Right CTRL + SHIFT + Home SHIFT + Home CTRL + SHIFT + End SHIFT + End CTRL + SHIFT + Right CTRL + SHIFT + Left CTRL + SHIFT + Page Down CTRL + SHIFT + Page Up SHIFT + Up CTRL + SHIFT + W Insert CTRL + T CTRL + ALT + SHIFT + T CTRL + SHIFT + T
73
2 Building stations
2.1 Workflow of building a station
2 Building stations
2.1 Workflow of building a station
Overview The follow sections outline the workflow for building a new station. It also includes the prerequisites for creating and simulating robot programs. The workflow includes: Options for creating a station with a system. Importing or creating the objects to work with Optimizing the station layout by finding the best placement of robots and other equipment. Note For most scenarios, you are recommended to follow the workflows from start to finish, even though other sequences maybe possible. Creating a station with a system The table below shows the options for creating a station with a system. For the exact procedures, see New on page 188.
Activity Create a station with a template system Create a station with an existing system Create a station with no system Description This is the simplest way to create a new station containing a robot and a link to a rudimentary system template. This creates a new station containing one or more robots in accordance with an existing, built system. An advanced user can build a station from scratch and then add a new or existing system to it.
Manually starting the VC The table below shows the alternatives for manually starting with a system. Perform only those steps applicable to your station.
Activity Manually connecting a library to the VC Restarting the VC Description See Starting a VC on page 85. See Restarting a VC on page 86.
Importing station components The table below shows the workflow for importing station components. Perform only those steps applicable to your station. For procedures, see Importing a station component on page 87.
Activity Import a robot model Import a tool Import a positioner Description See Robot System on page 204. See Import Library on page 203. See ABB Library on page 202.
2 Building stations
2.1 Workflow of building a station Continued
Activity Import a track Import other equipment Description See Import Library on page 203. If you have CAD models of the equipment, you can import them, see Import Library on page 203. Otherwise, you can create models in RobotStudio, see Mechanisms on page 94. If you have CAD models of the work piece, you can import them, see Workobject on page 215. Otherwise, you can create models in RobotStudio, see Objects on page 92.
Placing objects and mechanisms The table below shows the workflow for placing the objects in the station.
Activity Place objects Description If you are building a model of a real station, start by placing all objects with known positions. For objects without known positions, find a suitable placement, see Placing objects on page 97 and Placing external axes on page 98. Attach the tools to the robot, see Attach to on page 434. If track external axes are used, attach the robots to the tracks, see Attach to on page 434.
Attach work pieces to po- If positioner external axes are used, attach the work pieces to sitioners the positioners, see Attach to on page 434. Test reachability Test if the robot can reach critical positions on the work piece. If you are satisfied with how the robot reaches the positions, your station is ready for programming. Otherwise, continue adjusting the placement or trying other equipment as described below, see Testing positions and motions on page 122.
3HAC032104-001 Revision: J
2 Building stations
2.2.1 Two robot systems in same task frame position
2.2 Conveyor tracking station with two robots 2.2.1 Two robot systems in same task frame position
Overview This section describes what happens when both the robot systems share the same task frame position. The baseframes of the mechanical units in both the robot systems have the same task frame position. Prerequisites Two robot systems with conveyor tracking option (system 1 and system 2) A conveyor mechanism saved as library
See Create Conveyor mechanism on page 310 to create conveyor tracking systems. Setting up the conveyor tracking station 1 Add the existing system (system 1) to the station. See Robot System on page 204. Note After starting the system, when asked to select the library, browse and select the already saved conveyor mechanism library. 2 Modify the baseframe positions of conveyor and robot. a Move the mechanical unit (conveyor/robot) to its new location. b See Updating the baseframe position on page 394 to update the baseframe position of the conveyor/robot. c Repeat steps 1 and 2to modify the baseframe position of the robot. d In the System Configuration window, click OK. When asked if you want to restart the system, answer Yes. Close the System Configuration window. 3 Add the existing system (system 2) to the station. See Robot System on page 204. Note After starting the system, when asked to select the library, browse and select the same library as the one selected for system 1 or any other library. Later, this conveyor library will be removed from the station since system 2 shall use the same conveyor library as system 1. 4 Refer both systems (system 1 and system 2) to the same conveyor library. a On the Controller tab, in the Virtual Controller group, click Edit System. This opens the System Configuration dialog for system 2. b Select the library node in the hierarchical tree.
2 Building stations
2.2.1 Two robot systems in same task frame position Continued c Select the option Select from Station. Click Change. The Select Library dialog box appears. d Select the same conveyor library as the one selected for system 1. Click OK. Note Now both systems (system 1 and system 2) use the same conveyor library and the library previously referenced by system 2 is removed from the station. 5 Modify the baseframe positions of robot (system 2). a Move the mechanical unit (robot) to its new location. b See Updating the baseframe position on page 394to update the baseframe position of the robot. c Repeat steps 1 and 2 to modify the baseframe position of the robot. d In the System Configuration window, click OK. When asked if you want to restart the system, answer Yes. Close the System Configuration window.
3HAC032104-001 Revision: J
2 Building stations
2.2.2 Two robot systems in different task frame positions
2 Building stations
2.2.2 Two robot systems in different task frame positions Continued
Note Now both systems (system 1 and system 2) use the same conveyor library and the library previously referenced by system 2 is removed from the station. 5 Modify the task frame position of the conveyor mechanism. See Set Task Frames on page 393. Note Before modifying the task frame, make a note of the current conveyor position in world coordinates. After modifying the task frame, move the conveyor back to the position it was before modifying the task frame. 6 Modify the baseframe positions of robot (system 2). Repeat step 2 to modify the baseframe position of the robot (system 2) a Move the mechanical unit (robot) to its new location. b See Updating the baseframe position on page 394 to update the baseframe position of the robot. c Repeat steps 1 and 2 to modify the baseframe position of the robot. d In the System Configuration window, click OK. When asked if you want to restart the system, answer Yes. Close the System Configuration window. 7 Modify the baseframe position of the conveyor (system 2). a On the Controller tab, in the Virtual Controller group, click Edit System. This opens the System Configuration dialog for system 2. b Select the conveyor in the hierarchical tree. The BaseFrame property list for the conveyor is now displayed. c Select the option Use Current Station Values to update the baseframe value of the robot in the controller. d Deselect the option Check BaseFrame on Startup. e In the System Configuration window, click OK. When asked if you want to restart the system, answer Yes. Note By deselecting the option Check BaseFrame on Startup, RobotStudio will not compare the BaseFrame values in the station and the controller every time the controller is started. This avoids repositioning the conveyor library. If the two robot systems use the same part on the conveyor, the relation between the part and the two conveyor workobjects should be the same.
3HAC032104-001 Revision: J
2 Building stations
2.3 Creating a system with external axes automatically
2 Create a robot system from layout. See Robot System on page 204. Note To create a robot system with IRBT4004, IRBT6004, or IRBT7004, the TrackMotion mediapool must be installed. For more information, see Installing and licensing RobotStudio on page 40. Supported external axes configuration The following table shows a combination of different external axes configurations:
Combination Positioner type A One IRB (Positioner in same Y task) One IRB (Positioner in sep- Y arate task) Two IRB (Positioner in sep- Y arate task) One IRB on Track Motion (Positioner in same task) Y B Y Y Y N N C Y Y Y N N D Y Y Y N N K Y Y Y YX YX L Y Y Y Y Y 2xL Y Y N Y Y R Y Y Y N N
2 Building stations
2.3 Creating a system with external axes automatically Continued
Combination Positioner type A Two IRB on Track Motion Y (Positioner in separate task) B N C N D N K YX L Y 2xL N R N
Y - Combination is supported N - Combination is not supported YX - Combination is supported and manual mapping of mechanical units and joints required Note
Creating a system from layout only supports tracks of type RTT and IRBTx003 in combination with positioners. i.e. IRBTx004 is not supported in combination with the positioners. Manual mapping of mechanical units and joints If the system contains more than one mechanical unit, the number of tasks and base frame positions of the mechanism should be verified in the System Configuration. 1 On the Controller tab, in the Virtual Controller group, click Edit System. This opens the System Configuration dialog. 2 Select the robot from the node in the hierarchical tree. The property page of this node contains controls for mapping and setting axes and joints. 3 Click Change to open a dialog box. 4 Manually map the mechanical unit and mechanism joints. Click Apply. 5 Modify the baseframe positions of the mechanical unit. See Updating the baseframe position on page 394.
3HAC032104-001 Revision: J
2 Building stations
2.4.1 Track motion of type RTT or IRBTx003
2.4 Manually setting up system with track motion 2.4.1 Track motion of type RTT or IRBTx003
Manually setting up a system with track motion of type RTT or IRBTx003 Use this procedure to manually set up a system with track motion type RTT Bobin, RTT Marathon or IRBT4003, IRBT6003, or IRBT7003. 1 Build and start a new system. See Building a new system on page 159.
Action 1 Description
Select the desired robot variant In the New Controller System wizard of the (IRB6600). System Builder, naviagte to Modify Options page and scroll down to Drive Module 1 > Drive module application group and expand ABB Standard manipulator option and select Manipulator type (IRB6600). Select the Additional axes configuration. In the New Controller System wizard of the System Builder, naviagte to Modify Options page of the System Builder, scroll down to Drive Module 1> Additional axes configuration group and expand the Add axes IRB/drive module 6600 option and select the 770-4 Drive W in pos Y2 option. The option 770-4 Drive W in pos Y2, the Drive module, and the Position varies depending on the Additional axes configuration selected. Make sure to select at least one drive in any position. Close the Modify Options page.
Click Finish.
2 Add the system to the station. See Adding a system on page 85 3 Add the corresponding track configuration file of the desired robot variant (IRB 6600) and the desired track model to the station. See Adding the track to the system on page 87. Note In the Select Library group, select either the existing track or import a different track. The system may fail unless the correct additional axes configuration is selected. 4 Specify whether the baseframe is moved by another mechanism. a On the Controller tab, in the Virtual Controller group, click Edit System. This opens the System Configuration dialog. b Select ROB_1 node from the hierarchical tree. c Select the option Track from the BaseFrame moved by list. d Click OK. When asked if you want to restart the system, answer Yes. Close the System Configuration window.
83
2 Building stations
2.4.2 Track motion of type IRBTx004
Select the desired robot variant On the Modify Options page of the System (IRB6600). Builder, scroll down to Drive Module 1 > Drive module application group and expand ABB Standard manipulator option and select Manipulator type (IRB6600). Select Additional axes configur- On the Modify Options page of the System ation. Builder, scroll down to Drive Module 1> Additional axes configuratin group and expand the Add axes IRB/drive module 6600 option and select the 770-4 Drive W in pos Y2 option. The option 770-4 Drive W in pos Y2, the Drive module, and the Position varies depending on the Additional axes configuration selected. Make sure to select at least one drive in any position. Select the desired track motion On the Modify Options page of the System (IRBT 6004). Builder, scroll down to the TRACK and expand the Drive module for Track motion group. Select Drive Module 1 >Track Motion type >IRBT 6004 > Irb Orientation on Track > Standard carriage In Line > Select Track Motion Length > 1.7m (or any other variant). Click Finish. Close the Modify Options page.
2 Add the system to the station. See Adding a system on page 85. 3 Add the desired track model to the station using the following procedure. See Adding the track to the system on page 87. a In the Select Library group, click Other to import a different track motion library. b Click OK. When asked if you want to restart the system, answer Yes. Close the System Configuration window.
3HAC032104-001 Revision: J
2 Building stations
2.5.1 Starting a VC
Automatic, when creating In most cases, a VC is automatically started when you create a station a new station. Library files for the robots used by the system are then imported to the station. Automatic, when adding a If your station uses several systems or if you started with an system to an existing sta- empty station, you can add systems to an open station. Library tion files for the robots used by the the systems are then imported to the station. Manually, when connecting If you have manually imported a robot library you want to use to an imported library with a system, instead of importing a new library at startup, you can connect this library to a controller. If you have manually imported a robot library you want to use with a system, instead of importing a new library at startup, you can connect this library to a controller. A library may only be connected to a single-robot system and may not be already connected to another VC. Manually, when starting a The Start Virtual Controller commands allows you start and controller from the Control- stop a virtual controller, using a given system path and without ler tab. needing a station.
Adding a system To add a system to a new station, see New on page 188. To add a system to an existing station, see Robot System on page 204. For information how to create a system with specific options, see The System Builder on page 156. To start or add a virtual controller which is not part of a station, see Add Controller on page 348.
85
2 Building stations
2.5.2 Restarting a VC
2.5.2 Restarting a VC
For information on when and how to restart a VC in RobotStudio, see Restart a controller on page 355.
3HAC032104-001 Revision: J
2 Building stations
2.6.1 Importing a station component
2 Building stations
2.6.1 Importing a station component Continued RobotStudios installation folder. The ABB Library folder can also be opened from the Quick access pane at the left of the Open dialog box used for adding parameter files. The file name of each parameter file tells which tracks it supports. The first part tells the length of the track and the second the number of tasks. For example, the file TRACK_1_7.cfg supports all tracks with the length 1.7 meters in systems with one single task. For Multimove systems or other systems with several tasks, use the configuration file with the matching number of tasks. For example, if the track length is 19.9 m and the robot attached to the track is connected to task 4 of the MultiMove system, then select TRACK_19_9_Task4.cfg file. 5 In the System Configuration window, click OK. When asked if you want to restart the system, answer Yes. 6 During the restart a list of all tracks compatible with the configuration file is displayed. Select the one to use and click OK. After the restart the track appears in the station. Continue with attaching the robot to the track. Importing a library, geometry or piece of equipment A library component is a RobotStudio object that has been saved separately. Normally, components in a library are locked for editing. A geometry is CAD data which you can import to use in RobotStudio. For a list of importable CAD formats, see Libraries, geometries and CAD files on page 36. To import a library, geometry or piece of equipment, see Import Library on page 203.
3HAC032104-001 Revision: J
2 Building stations
2.6.2 Converting CAD formats
Translate hidden/no-show Controls whether the hidden entities are translated or disentities carded. Only supported for specified formats. VRML/STL Scale factors Delete all generated log files on exit VRML and STL are often created in units that RobotStudio does not expect; they thus need to be resized. Makes the CAD converter delete log files when exiting.
89
2 Building stations
2.6.3 Troubleshooting and optimizing geometries
The pointer snaps to the This problem might be caused by wrong snap mode settings, wrong parts of the objects imprecise selecting, hidden or lack of geometrical information. when selecting in the To resolve these problems, do the following: graphics window Check the selection level and snap mode settings. For more information, see Selecting an item on page 69. When making the selection, zoom and rotate the object so that you are sure to click inside the object. Check if the object has hidden details that might affect the snapping. Remove details that are not necessary for your programming or simulation. For more information, see Modifying a part on page 93. Some file formats only contain a graphical representation and no geometrical data. Import the geometry from a file format that also contains geometrical data. For more information, see Libraries, geometries and CAD files on page 36. The graphics window redraws or updates slowly This might be due to the performance of your computer not being high enough for the size of the geometry files in your station. To reduce the size of the geometry files, do any of the following: Use a lower detail level for rendering the geometry. For more information, see Graphic Appearance on page 445. Blends, chamfers and holes can be automatically simplified by using the Defeature function. This can greatly reduce graphic complexity, speed up simulations and reduce memory usage. Check if the object has unnecessary details. Remove details that are not necessary for your programming or simulation. For more information, see Modifying a part on page 93.
2 Building stations
2.6.3 Troubleshooting and optimizing geometries Continued
Trouble Information
Parts of the geometry are If parts of the geometry are not visible from some views, a not visible probable cause is that the object is made up of 2D surfaces and the option Backface culling is on. Backface culling means that the faces of the object are only visible from the front, and if the object (or any of its faces) is oriented differently, they will not be visible. To correct the problem, do one of the following: Switch to modeling mode and invert the direction of the face that is not displayed correctly. This not only corrects the display, it also decreases the chance of faulty orientations during graphical programming. For more information, see Invert on page 449 or To invert the direction of all faces of a part on page 91. Turn backface culling off for the specific object. This makes the object display correctly, but does not affect the direction of the face, which might cause problems if the face will be used for graphical programming. For more information, see To deactivate backface culling for a single object on page 91. Turn backface culling off for all objects in the station. This makes the objects display correctly, but does not affect the direction of the face, which might cause problems if the face will be used for graphical programming. It also decreases the performance of the graphic handling. For more information, see To change the generic setting for backface culling on page 91.
To invert the direction of all faces of a part To invert the direction of all faces of a part, follow these steps: 1 Select the part on which faces you want to invert the directions. 2 On the Modify menu, click Graphic Appearance. 3 On the Rendering tab, click Flip normals and then click OK. To deactivate backface culling for a single object To change the backface culling setting for a single object, follow these steps: 1 Select the part for which you want to change the backface culling setting. 2 On the Modify menu, click Graphic Appearance. 3 On the Rendering tab, clear the Backface culling check box and then click OK. The faces of the object will now be displayed even if the generic setting for backface culling is on. To change the generic setting for backface culling The generic setting for backface culling affects all new objects and existing objects that do not have backface culling specifically deactivated. 1 On the File menu, click Options. 2 On the Navigation pane .to the left, select Graphics: Performance. 3 On the Performance page to the right, select or clear the Cull back-facing triangles check box and then click OK.
91
2 Building stations
2.7.1 Objects
2 Building stations
2.7.1 Objects Continued Extruding a surface or curve Curves and surfaces and curves can also be extruded to 3D objects, which may then be converted to solids. You can extrude along either a vector or a curve. For procedures, see Extrude Surface or Curve on page 306. Modifying a part When you import a geometry or create an object, it will be one part. A part can, however, contain several bodies. In RobotStudios modeling mode you can modify the parts by adding, moving and deleting the bodies. To modify a part, follow this step: 1 In the Modeling browser, expand the node for the part to modify. Then modify the part by doing any of the following:
To Delete a body Move a body from one part to another Do this Select the body and press the DEL key. Drag the body or use the Copy and Paste commands on the Edit menu.
Move one body relative Select the body and then move it using any of the ordinary to the others commands for moving objects, see Placing objects on page 97.
Modifying a library component As external files, libraries are merely linked from a station. Therefore, to modify an imported library component, the link must first be broken and later reestablished. For procedures, see Modify Library Component on page 452.
93
2 Building stations
2.7.2 Mechanisms
2.7.2 Mechanisms
Workflow This information topic describes how to create a new mechanism, that is, a graphical representation of a robot, tool, external axis or device. The various parts of a mechanism move along or around axes. Creating a mechanism is dependent upon skillful construction of the main nodes of the tree structure. Four of theselinks, joints, frames/tools and calibrationare initially marked red. As each node is configured with enough subnodes to make it valid, the marking turns to green. As soon as all nodes have become valid, the mechanism will be considered compilable and can be created. For additional validity criteria, see the table below.
Node Links Validity critera Dependencies It contains more than one subnode. The BaseLink is set. All link parts are still in the station. At least one joint must be active and valid. At least one frame/tool data exists. For a device, no frames are needed. For a robot, exactly one calibration is required. For an external axis, one calibration is required for each joint. For a tool or device, calibrations are accepted, but not required. None.
The modify mode of the Mechanism Modeler has two purposes: to enable modification of an editable mechanism in its tree structure, and to complete the modeling of a new or modified mechanism. It is recommended to configure each main node in the tree structure from the top down. Depending on its current status, right-click or double-click a node or subnode to add, edit or remove it. For procedures, see Create Mechanism on page 310.
3HAC032104-001 Revision: J
2 Building stations
2.7.3 Tools and tooldata
Creating and setting up a stationary tool This information topic describes how to create a stationary tool. For information about creating a robot hold tool, see Create Tool on page 317. Using a stationary tool, the robot holds and moves the work piece in relation to the tool. Thus, both the tooldata and the workobject must be set up correctly. To create the tooldata for a stationary tool, follow these steps: 1 Import the geometry or library that represents the tool, see Import Geometry on page 211. If you do not have the geometry or library at hand but know the position, you can skip this step. The tool will be programable, but not visible in the station. 2 Create the tooldata for the tool, see Tooldata on page 216. Make sure to set the Robot holds tool option to false. 3 Create a workobject that is moved by the robot. see Workobject on page 215. Make sure to set the Robot holds workobject option to true. 4 If you have a geometry or library component for the work piece, attach it to the robot, see Attach to on page 434.
95
2 Building stations
2.7.4 Setting the local origin of an object
3HAC032104-001 Revision: J
2 Building stations
2.8.1 Placing objects
Attaching or detaching an Objects that are to be used by the robots in any way, such as object tools, need to be attached to the robot, see Attach to on page 434 and Detach on page 442. Jogging a robot Robots can be placed by jogging. The robot axes can also be postioned by jogging, see Jogging mechanisms on page 105.
Modifying the task frame Modifying the task frame repositions a controller and all its robots and equipment in the station. By default the controller world and the station world coordinate system coincide. This is convenient when building a station with one single controller. For a procedure, see Set Task Frames on page 393. However, when you have several controllers in one station, or need to reposition a controller in an existing station, you need to modify the Edit System on page 394. Modifying the baseframe Modifying the baseframe position sets an offset between the position controllers world coordinate system and the baseframe of the mechanical unit.This is necessary when having several mechanical units belonging to one controller, for example, several robots in MultiMove systems or when using positioner external axes. For a procedure, see Edit System on page 394.
97
2 Building stations
2.8.2 Placing external axes
2 Building stations
2.8.2 Placing external axes Continued 2 Attach the fixture to the positioner, see Attaching and detaching objects on page 70. When asked whether to keep the current position, answer No. If the positioner has several stations, you will be asked which one to attach the object to. 3 Attach the work piece to the fixture. When asked whether to keep the current position, answer No. 4 Attach the workobject in which you will program the work piece to either the fixture, the work piece or the positioner. If you have defined calibration positions on either the work piece or the fixture, it is a good practice to use that object. When asked whether to keep the current position, answer No. The positioner is now set up and ready to be programed, see Programming external axes on page 131 for more information. Tip If the positioner is of an interchangeable type with several stations, you can either attach individual fixtures, work pieces and workobjects to each station flange, or you can use one set of objects that you attach and detach to the different flanges by events. CAUTION If the system is I-started, the setup is deleted and the procedures described here must be performed again.
99
2 Building stations
2.8.3 Placing robots
2 Click Apply. To the question, Do you also want to move the Task Frame?. Click Yes or No. Click Yes to move the task frame, but the base frame keeps its relative placement to the task frame. Click No to move the base frame and the placement relative to the task frame will change.
Note If there are any stationary RAPID objects (tooldata, workobjects) in the corresponding task, the following question appears Do you want to keep the positioning of all stationary RAPID objects? Click Yes to keep all the stationary RAPID objects in their global coordinates. Click No to move all the stationary RAPID objects along with the base frame (same coordinates relative to base frame). Workobjects attached to any other object in the station will not be affected. Workobjects attached to any other object in the station will not be affected.
If the base frame configuration of the VC is updated, the VC has to be restarted for the changes to take effect. i.e. if the base frame changes its placement relative to task frame, the following question appears Do you want to update the controller configuration and restart? Click Yes to restart the controller and update the base frame configuration of the connected VC. Click No if the base frame is not in accordance with the controller.
2 Building stations
2.8.3 Placing robots Continued Modifying the robot position using Freehand move or rotate 1 Modify the baseframe position of a robot connected to a VC using the following Freehand options: Move. See Moving an item on page 243. Rotate. See Rotating an item on page 244.
For information on updating the robot baseframe, see Updating the baseframe position on page 394. 2 A warning message is displayed in the Output window.
101
3 Programming robots
3.1 Workflow for programming a robot
3 Programming robots
3.1 Workflow for programming a robot
Overview In most cases, going through the workflow from start to finish is recommended, even if it possible to work in other sequences as well. Synchronizing will save and load text files containing RAPID modules, and create RAPID programs from your station. Prerequisites Before creating a program for your robot, you should set up the station, including robots, work pieces and fixtures, in which your robot will work. Programming a robot The table below describes the workflow for programming a robot to perform the task you require.
Task Description
Create targets and paths Create the targets and paths the robot requires to perform the work tasks. To create targets and paths, do one of the following: Create a curve to match your required shape. Then use the Create path from curve command to generate a path, complete with targets, along the shape you have created. See Curve on page 296 and AutoPath on page 224. Create targets at the requested positions, then create a path and insert the created targets into it. See Create Target on page 218, Teach Target on page 217 and Empty Path on page 223. Check the target orienta- Make sure that the targets are oriented in the most efficient tions way for the tasks to be performed. If not, reorient the targets until you are satisfied. See Orientations on page 111. Check reachability Check that the robot and tool reach all targets in the path. See Testing positions and motions on page 122.
Synchronize the program Generates RAPID code from the RobotStudio items and enables to the virtual controller the program to be simulated. Perform text-based editing If you need to edit the instructions or data created by RobotStudio, you can start the RAPID Editor. See Examples of using the RAPID editor on page 423. Collision detection Check that the robot or tool does not collide with the surrounding equipment or the fixtures. If it does, adjust the placements or orientations until no collisions occur. See Detecting collisions on page 137. Test the program by moving along the paths. See Testing positions and motions on page 122.
103
3 Programming robots
3.2 Workobjects
3.2 Workobjects
Creating a workobject A workobject is a coordinate system used to describe the position of a work piece. The workobject consists of two frames: a user frame and an object frame. All programed positions will be related to the object frame, which is related to the user frame, which is related to the world coordinate system.
xx050000
For creating a workobject, see Workobject on page 215. Modifying a workobject For a procedure, see Modify Workobject on page 467. Converting a frame to a workobject You can create a new workobject from an existing frame. The converted workobject gets the same name and position as the selected frame. For a procedure, see Convert Frame to Workobject on page 439. Creating a frame by points You can create a frame by specfiying points on the axes of the coordinate system and letting RobotStudio calulate the placement and orientation of the frames origin. For a procedure, see Frame from Three Points on page 213.
3HAC032104-001 Revision: J
3 Programming robots
3.3 Jogging mechanisms
Prerequisites To jog the TCP of a robot, the robots VC must be running. Jogging several mechanisms
Function Mutlirobot jog Description When using multirobot jog, all selected mechanisms will follow the TCP of the one being jogged. Multirobot jog is available for all kinds of jogging. See MultiRobot Jog on page 248. When jogging a mechanism that moves a robot (like a track external axis) with locked TCP, the robot will reposition so that the position of the TCP does not change, even though its baseframe is moved. When jogging an external axis that moves the work object with locked TCP, the robot will reposition so that its TCP follows the work object in the same way as when using multirobot jog. Locked TCP is available when jogging a mechanism that belongs to the same task as a robot. See Mechanism Joint Jog on page 453.
105
3 Programming robots
3.4 Targets
3.4 Targets
Creating a target You can create a new target manually either by entering the position for the target in the Create Target dialog box or by clicking in the graphics window. The target will be created in the active workobject. For a procedure, see Create Target on page 218. Creating a jointtarget A jointtarget is a specification of the position for the robot axes. For a procedure, see Create Jointtarget on page 220. Teaching targets You can create a new target by jogging the robot and teaching a target at the active TCP. Taught targets will be created with the axis configuration used when jogged to the target. The target will be created in the active workobject. For a procedure, see Teach Target on page 217. Modifying a target position By using the modify position command you can modify the position and rotation of a target. For procedures, see Set Position on page 481 and Rotate on page 477, respectively. Modifying a target with ModPos The position of an existing target can be modified by jogging the robot to a new, preferred position. By selecting a move instruction for the target in a path, the ModPos command can be used to move the target to the TCP of the active tool. When ModPos is executed, the target, referenced to by the move instruction, will be updated with the following information: position and orientation corresponding to the TCP of the active tool the current configuration of the active robot the current position and orientation values of all active external axes for the active robot Note To jog a robot linearly, a virtual controller must be running for that robot. For detailed information, see Starting a VC on page 85. Renaming targets With this command you can change the name of several targets at once. You can either rename targets individually, or you can rename all targets in one or several paths at once.
3 Programming robots
3.4 Targets Continued The new target names will consist of an optional prefix, an incremental number and an optional suffix. For a precedure, see Rename Targets on page 475. When renaming targets, make sure that the new targets conform to the naming rules. The target names must: start with an alphabetical character in the ISO 8859-1 encoding (that is, an ordinary letter from the English alphabet) be shorter than 16 characters not be empty strings not contain any characters illegal in RAPID. See RAPID reference manual for details.
Removing unused targets If deleting or changing paths or move instructions during programming, you might end up with large numbers of targets that are no longer used in any instructions. To make the workobjects and their targets easier to grasp, you can delete all unused targets. For a procedure, see Remove Unused Targets on page 474.
107
3 Programming robots
3.5 Paths
3.5 Paths
Creating an empty path A path is a sequence of targets with move instructions that the robot follows. An empty path will be created in the active task. For a procedure, see Empty Path on page 223. Creating a path from curve If the work piece has curves or contours that correspond to the path to be created, you can create the paths automatically. The create path from curve command generates paths, complete with targets and instructions along existing curves. The path will be created in the active task. The orientation of the targets that will be created will be according to the settings of the approach/travel vectors in the Options dialog box. To create a path from a curve, the curve must have first been created in the station. See AutoPath on page 224. Setting robot axis configuration for paths The robot axis configuration specifies the position of the axes as the robot moves from target to target, when multiple solutions are possible. This is necessary for executing move instructions using configuration monitoring. Taught targets have validated configurations, but targets created in any other way do not. Also, targets that are repositioned lose their configuration. In RobotStudio, targets without a valid configuration are marked with a yellow warning symbol. See Robot axis configurations on page 34 for more information about configurations. To set a configuration for all targets in a path, see Configurations on page 435. To set a configuration for a single target, see Configurations on page 438. Reversing paths The reverse path commands change the sequence of targets in the path so that the robot moves from the last target to the first. When reversing paths, you can reverse either the target sequence alone or the entire motion process. For procedures, see Reverse Path on page 476. Note When reversing paths, the original paths are deleted. If you want to keep them, make copies before reversal. Note When reversing paths, only move instructions are handled. Action instructions, if any exist, have to be inserted manually after the reversal.
3 Programming robots
3.5 Paths Continued Rotating paths With the rotate path command you can rotate complete paths and move the targets used by the paths accordingly. When rotating paths, the included targets will lose their axis configurations, if any have been assigned. A frame or target must exist at the position to rotate around before starting the rotate path command. For a procedure, see Rotate Path on page 478. Translating a path The translate path function moves a path and all included targets. For a procedure, see Translate Path on page 483. Compensating paths for tool radius You can offset a path so that it compensates for the radius of a rotating tool. Since the targets in the path are moved, they will lose their axis configurations, if any have been assigned. For a procedure, see Tool Compensation on page 482. Interpolating a path The interpolate functions reorient the targets in a path so that the difference in orientation between the start and end targets is distributed evenly among the targets in between. The interpolation can be either linear or absolute. Linear interpolation distributes the difference in orientation evenly, based on the targets positions along the length of the path. Absolute interpolation distributes the difference in orientation evenly, based on the targets sequence in the path. Below are examples of the difference bewteen linear and absolute interpolation. The interpolate functions reorient the targets in a path so that the difference in orientation between the start and end targets is distributed evenly among the targets in between. The interpolation can be either linear or absolute. For a procedure, see Interpolate Path on page 448. No interpolation This is the path before any interpolation. Note that the last target is oriented differently than the others.
xx050026
3 Programming robots
3.5 Paths Continued Linear interpolation This is the same path after linear interpolation.
xx050027
Note that the targets are oriented based on their placement relative to the start and end targets. If a target were moved and you reran the linear interpolation, it would be reoriented according to its new position. If new targets were inserted between the existing ones and you reran the linear interpolation, it would not affect the orientation of the existing targets. Absolute interpolation This is the same path after absolute interpolation
xx050028
Note that the targets are orientated based on their sequence in the path: each target has been reoriented equally, regardless of its place. If a target were moved and you reran the absolute interpolation, it would not affect the orientation. If new targets were inserted between the existing ones and you reran the absolute interpolation, it would change the orientation of all targets. Mirroring a path The mirror path function mirrors all motions instructions and their targets to a new path. For a procedure, see Mirror Path on page 456.
3HAC032104-001 Revision: J
3 Programming robots
3.6 Orientations
3.6 Orientations
Overview This is an overview of the tools for automating the modification of target orientations. When creating paths from curves in RobotStudio, the orientation of the targets depends on the characteristics of the curves and the surrounding surfaces. Below is an example of a path with unordered target orientations and examples of how the different tools have affected the targets. Unordered orientations In the path below, the target orientations are unordered. The function View tool at target has been used for illustrating how the targets point in different directions.
xx050029
3 Programming robots
3.6 Orientations Continued Effect of target normal to surface In the picture below, the targets, which previously were orientated randomly, have been set normal to the flat round surface at the right side of the path. Note how the targets Z axis has been orientated normal to the surface; the targets have not been rotated in the other directions.
xx050030
Setting a target normal to surface To set a target orientation normal to a surface is to make it perpendicular to the surface. The target can be oriented normal to the surface in two different ways: The entire surface can be used as a reference for the normal. The target will be oriented as the normal to the closest point at the surface. The entire surface is the default surface reference. A specific point on the surface can be used as the reference for the normal. The target will be orientated as the normal to this point, regardless of whether the normal to the closest point at the surface has another orientation.
Objects imported without geometry (for example, .jt files) can only refer to specific points on the surface. For a procedure, see Set Normal to Surface on page 480.
3 Programming robots
3.6 Orientations Continued Effect of align target orientation In the picture below, the targets, which were previously orientated with the Z axis normal to the surface but with the X and Y axes orientated randomly, have been organized by aligning the targets orientation around the X axis with the Z axis locked. One of the targets in the path has been used as reference.
xx050031
Aligning a target orientation With the align target orientation command you align the rotation of selected targets around one axis without changing the rotation around the others. For a procedure, see Align Target Orientation on page 433. Tip You can also align ordinary frames in the same way.
3 Programming robots
3.6 Orientations Continued Effects of copy and apply orientation In the picture below, the targets, which were previously oriented randomly, have been organized by copying the exact orientation of one target to all the others. This is a quick way to fix workable orientations for processes where variations in approach, travel, or spin directions either do not matter or are not affected, due to the shape of the work piece.
xx050032
Copying and applying an orientation for objects To transfer an orientation from one object to another is an easy way to align different frames for simplifying the programming of the robot. Target orientations may also be copied. For procedures, see Copy / Apply Orientation on page 441.
3HAC032104-001 Revision: J
3 Programming robots
3.7 RAPID Instructions
Note For information on the RAPID Editor, which is used for creating and modifying RAPID program code, see RAPID tab on page 397. Move and action instructions For RAPID programming, RobotStudios main advantage is in the area of motion programming. A move instruction is an instruction for the robot to move to a specified target in a specified manner. With RobotStudio, you can create move instructions in three ways:
Method Description
Create a move instruction Creates move instructions based on one or several targets based on an existing target selected in the Paths&Targets browser. For a procedure, see Add to Path on page 431. Create a move instruction Creates a move instruction and a corresponding target at and a corresponding target once. The position of the target can either be selected from the graphics window or typed numerically. For a procedure, see Move Instruction on page 235. Teach a move instruction Teaching a move instruction creates a move instruction and a corresponding target at the robots current position. Teaching a move instruction also stores the current configuration with the target. For a procedure, see Teach Instruction on page 234.
In addition to move instructions, you can also create and insert action instructions from RobotStudio. An action instruction is an instruction other than a move instruction that can, for example, set parameters, or activate or deactivate equipment and functions. The action instructions available in RobotStudio are limited to those commonly used for affecting the robots motions. For inserting other action instructions or another kind of RAPID code in the program, use the RAPID Editor. For a procedure, see Action Instruction on page 236. The table below lists the action instructions that can be created. For details, see the RAPID Reference Manual.
Action instruction ConfL On/Off Description ConfL specifies whether to monitor the robots configurations during linear movements. When ConfL is set to Off, the robot may use another configuration than the programed one for reaching the target during program execution. ConfJ specifies whether to monitor the robots configurations during joint movements. When ConfJ is set to Off, the robot may use another configuration than the programed one for reaching the target during program execution. Actunit activates the mechanical unit specified by UnitName. Deactunit deactivates the mechanical unit specified by UnitName.
ConfJ On/Off
3 Programming robots
3.7 RAPID Instructions Continued
Action instruction ConfJ On/Off Description ConfJ specifies whether to monitor the robots configurations during joint movements. When ConfJ is set to Off, the robot may use another configuration than the programed one for reaching the target during program execution. Actunit activates the mechanical unit specified by UnitName. Deactunit deactivates the mechanical unit specified by UnitName.
Modifying an instruction Most instructions have arguments that specify how the instruction shall be carried out. For example, the MoveL instruction has arguments that specify the speed and accuracy with which the robot moves to the target. For a procedure, see Modify Instruction on page 464. Note Some arguments are read from the virtual controller. If the virtual controller has not been started, only the arguments stored in the station can be modified. Converting to move circular To create a circular motion to an instruction target, you must convert the motion type to circular motion (that is, MoveC in RAPID). A circular motion is defined by two motion instructions, where the first is the via-point and the second contains the end point of the circular motion. The circular motion can only be used for open circular arcs, not for closed circles. To create a path for a closed circle, use two circular motions. For a procedure, see Convert to Move Circular on page 440. Creating RAPID instructions for setting I/O signals For controlling I/O signals in the robot program, you use RAPID commands that set the signals. These require that you first create instruction templates for the instructions that set the signals. See RAPID reference manual for details about the instructions that control I/O signals. To add RAPID instructions that set I/O signals, follow these steps: 1 Synchronize the system in which you want to add the instructions to the virtual controller, see Synchronization on page 134. 2 In programming mode, select the module for editing, right-click it and then click Edit program. 3 In the RAPID editor, add the instructions for setting the signals. 4 When you are done adding instructions, synchronize the task and paths from the Virtual Controller back to the station.
3 Programming robots
3.7 RAPID Instructions Continued Using cross-connections and groups for setting I/O signals You can also create cross-connections and signal groups, which make one signal set the value of several other signals. See System parameters reference manual for details about cross-connections and groups. To make one signal set several others, follow these steps: 1 Request write access, and then open the configuration topic I/O in the configuration editor. Add configure instances for the cross-connections and groups to create. Instruction templates Instruction templates contain predefined sets of argument values that are applied to the instructions you create using the template. You can create templates for all instructions in the system running on the virtual controller. To see which instructions are available and what their arguments do, see the RAPID reference manual for your RobotWare version and the reference sections in manuals for software options, if you have any installed on the system. Move instruction templates are always part of process templates. The process templates contain one instruction template for each type of move instruction that might be used by the process. The process templates are instances of process definitions, which define the types of move instructions (move instruction definitions) that might be used by the process. To create new move instruction templates, start by creating a new process template for a process that uses the type move instructions you want to create templates for. If such a process does not exist, you first have to create a new process definition. If no move instruction definition for the type of instruction you want to create a template for exists, you must create it first. When creating instruction descriptions, the virtual controller must be running, since the available instruction types are read from the system. Templates can be imported and exported on four levels: tasks, move instruction descriptions, action instruction descriptions and process definitions. The default directory for imported and exported template files is My Documents/RobotStudio. Simply choosing another directory will then make that directory default. As a default .xml is the file format. The validation procedure checks for duplicate names, incomplete process definitions and virtual controller equality. It is performed automatically, after a template file has been imported or a node renamed or deleted. For procedures, see Instruction Template Manager on page 237. Instruction Template Manager The Instruction Template Manager is used to add support for instructions other than the default set that comes with the RobotStudio. For example, a robot controller system with the RobotWare Dispense option has specialized move instructions related to glueing like DispL and DispC. You can Continues on next page
3HAC032104-001 Revision: J Copyright 2008-2012 ABB. All rights reserved. 117
3 Programming robots
3.7 RAPID Instructions Continued manually define the instruction templates for these using the Instruction Template Manager. The instruction templates are exported to XML format and reused later. The instruction template supports the following Robotware options: Cap (Continuous Application Process) Disp (Dispense) Trigg (Fixed Position Events) Spot Pneumatic Spot Servo Spot Servo Equalizing Paint
RobotStudio has pre-defined XML files that are imported and used for robot controller systems with the appropriate RobotWare options.These XML files has both the Move and Action instructions. Note Use RobotStudio ArcWelding PowerPac while using RobotWare Arc. Creating a process template with move instruction templates Note Move instructions are always related to processes. 1 On the Home tab, from the active Task list, select the task for the robot for which you want to create the instruction template. 2 On the Create menu, click Instruction Template Manager. This opens the Instruction templates page in the work space. 3 In the Instruction Templates tree to the left, make sure there are move instruction definitions for the types of move instructions you want to create templates for. If not, follow the procedure in Creating a move instruction description on page 119 for creating them. 4 Make sure there is a process definition that uses the types of move instructions you want to create templates for. If not, follow the procedure in Creating a process definition on page 119 for creating it. 5 Right-click the process definition for which you want to create a new templates and click Create Process Definition. 6 In the Create Process Definition dialog box, enter a name, with characters from ASCII set, for the new template and click Create. A new process template node with a set of move instruction templates is now created. 7 Select each new template one at a time, and in the arguments grid to the right of the tree view, set the argument values that shall be applied when you create new instructions based on the template. Finish for each template by clicking Apply changes at the bottom of the grid.
3 Programming robots
3.7 RAPID Instructions Continued For details about available arguments and what they do, see the RAPID reference manual for ordinary RAPID instructions and the option manual for software option instructions. Creating a move instruction description To create templates for other instructions than the one that already exists in the tree view, you first have to create an instruction description that defines the arguments that belong to the instruction. To create the instruction description, follow these steps: 1 Right-click the Move Instructions node and click Create Move Instruction Description. This opens the Create Move Instruction Description dialog box. 2 In the Controller Description list, select the instruction you want to make a description for. All action instructions installed on the controller, both through RobotWare and software options, are available. 3 In the Motion type list, select the motion type for the instruction. 4 Optionally, in the Information text box, enter a comment to the instruction. 5 Click Create. The instruction description appears in the tree view and its settings are displayed in the grid. 6 In the instruction grid, set the point type values. If necessary, also change the other settings. 7 After changing the settings, click Apply Changes in the bottom of the grid view. Editing an instruction template To edit an instruction template, follow these steps: 1 In the active task list, select the task for the robot for which you want to edit the instruction template. 2 On the Create menu, click Instruction Template Manager. This opens the Instruction templates page in the work space. 3 In the Instruction Templates tree to the left, browse to and select the template to edit. 4 In the arguments grid to the right of the tree view, set the argument values that shall be applied when you create new instructions based on the template. Finish by clicking Apply changes at the bottom of the grid. For details about available arguments and what they do, see the RAPID reference manual for ordinary RAPID instructions and the option manual for software option instructions. Creating a process definition To create a process definition, follow these steps: 1 Make sure there are move instruction definitions for the types of move instructions you want to create templates for. If not, follow the procedure above for creating them.
3 Programming robots
3.7 RAPID Instructions Continued 2 Right-click the Process definitions node and click Create Process Definition. This opens the Create Process Description dialog box. 3 In the Create Process Definitions dialog box, enter a name for the process definition, a name for its first process template and then select the move instruction types to use. Finish by clicking Create. Creating an action instruction template To create a template for an action instruction, follow these steps: 1 In the active task list, select the task for the robot for which you want to create the instruction template. 2 On the Home menu, click Instruction Template Manager. 3 In the Instruction Templates tree to the left, right-click the instruction description (corresponding to the instructions as described in the RAPID reference manual) for which you want to create a new template and click Create Action instruction Template. If the instruction description does not exist in the tree, create it by following the procedure described in Creating an action instruction description on page 120. 4 In the Create Action Instruction Template dialog box, enter a name for the new template and click Create. The new template is now created under the instruction description node it belongs to. 5 Select the new template and in the arguments grid to the right of the tree view, set the argument values that shall be applied when you create new instructions based on the template. Finish by clicking Apply changes at the bottom of the grid. For details about available arguments and what they do, see the RAPID reference manual for ordinary RAPID instructions and the option manual for software option instructions. Creating an action instruction description To create templates for other instructions than the one that already exists in the tree view, you first have to create an instruction description that defines the arguments that belong to the instruction. To create the instruction description, follow these steps: 1 Right-click the Action Instructions node and click Create Action Instruction Description. This opens the Create Instruction Description dialog box. 2 In the Controller Description list, select the instruction you want to make a description for. All action instructions installed on the controller, both through RobotWare and software options, are available. 3 Optionally, in the Information text box, enter a comment to the instruction. 4 Click Create. The instruction description appears in the tree view, and its settings are displayed in the grid. After changing the settings (if necessary), click Apply Changes in the bottom of the grid view.
3 Programming robots
3.7 RAPID Instructions Continued 5 Continue with creating templates for the instruction description, as described in Creating an action instruction template on page 120.
121
3 Programming robots
3.8 Testing positions and motions
3 Programming robots
3.8 Testing positions and motions Continued Moving to a pose Moving to a pose moves a mechanism to a predefined joint value at a predefined time without using the Virtual Controller. This is useful when movement of the external equipment (such as a clamp or conveyer) must be simulated. For a procedure, see Move to Pose on page 469. Simulating programs Simulating programs involves running a program on the virtual controller as it is run on a real controller. It is the most complete test whereby you can see how the robot interacts with external equipment through events and I/O signals. For a procedure, see Simulation Setup on page 321. Improving the reachability If the robot cannot reach the target, or if you are not satisfied with the motions, try the following for improving the reachability: 1 Set ConfL or ConfJ to Off for enabling the robot to use new configurations for reaching the target. 2 Change the orientation of the target. 3 Change the position of either the robot or the work piece. 4 Use a system with a track external axis for increasing the robots range. 5 Use a system with a positioner external axis for enabling different work piece positions for different targets.
123
3 Programming robots
3.9.1 About programming MultiMove
For detailed information about MultiMove in RobotWare systems and RAPID programs, see MultiMove application manual. Normal workflow This is the typical workflow for creating MutliMove programs using the MultiMove function:
Action Setting up the MultiMove Testing the MultiMove Tuning the motion behavior Description Select the robots and paths to use in the program, see Setting up the MultiMove on page 126. Execute the motion instructions along the paths, see Testing the MultiMove on page 127. Tune motion behavior, such as tolerances and constraints for TCP motions, see Tuning the motion behavior on page 128. Generate the tasks for the robots, see Creating paths on page 130.
3 Programming robots
3.9.1 About programming MultiMove Continued Additional actions In addition to using the functions that calculate and create optimized MulitMove paths, you can program MulitMove manaully using a combination of the ordinary programming tools in RobotStudio and a set of tools specific for MultiMove programming. The main actions for programming MulitMove manually are outlined below. Not all actions might be necessary, but the order in which they shall be carried out depends on the contents of the station and your goals.
Action Creating Tasklists and Syncidents Description This data specifies the tasks and paths that shall be synchronized with each other. See The Create Tasklist tool on page 233 and The Create Syncident tool on page 233, respectively.
Adding and updating ID arguTo add IDs to the intructions, you can use one of the folments to the instructions to syn- lowing methods: chronize Using The Recalculate ID tool on page 232 to add and update IDs for instructions in paths that already are synchronized. Using The Convert path to MultiMove path tool on page 233 to add IDs to instructions in paths that have not yet been synchronized. Adding and adjusting Sync instructions to the paths. Add SyncMoveon/Off or WaitSyncTask instructions to the paths to synchronize and set their tasklist and Syncident parameters. See Creating an action instruction on page 236.
Teaching MultiMove instructions It is also possible to jog all robots to the desired positions and then teach instructions to new synchronized paths. See MultiTeach tab on page 229.
125
3 Programming robots
3.9.2 Setting up the MultiMove
3HAC032104-001 Revision: J
3 Programming robots
3.9.3 Testing the MultiMove
Examine the robots posi- Click Pause and then use the arrow buttons to move to tions for critical targets. one target a time. Jog the robots to new start New start positions might result in changed motions, positions. since the robots will use different configurations. In most cases, positions near the robots joint limits shall be avoided. Go to the Motion Behavior The default setting for the motion properties is no contab and remove constraints. If this has been changed, constraints might straints. exist that limit motions more than necessary.
127
3 Programming robots
3.9.4 Tuning the motion behavior
3 Programming robots
3.9.4 Tuning the motion behavior Continued 3 For each offset you want to set, select the Enable check box. 4 In the Value column, specify the allowed deviation. 5 Optionally, adjust the Weight value for the tolerance. A low value increases the use of the tolerance, while a high value promotes motions that do not use the tolerance. Modifying the tool offset The tool offset sets a fixed distance between the tool and the paths. 1 On the Simulation tab, click the Motion Behavior tab. 2 Expand the Tool Offset group by clicking its title bar. The directions and rotations in which you can set offsets are now displayed in the grid. 3 For each offset you want to set, select the Enable check box. 4 In the Offset column, specify the offset distance.
129
3 Programming robots
3.9.5 Creating paths
4 Expand the WP Robot Settings group by clicking on its title bar and then check the settings in the following boxes:
Box WP Workobject WP TCP Path prefix Target prefix Description Specify the workobject to which the targets generated for the workpiece robot shall belong. Specify which tooldata the workpiece shall use when reaching its targets. Specify a prefix for the generated paths. Specify a prefix for the generated targets.
5 Expand the Generate path group by clicking on its title bar and then click Create Paths.
3HAC032104-001 Revision: J
3 Programming robots
3.10 Programming external axes
Other task than the robots If the external axis is in another task than that of the robot it shall be coordinated with, the motions of the external axis are created by MoveExt instructions, and the coordination is made by sync instructions. For positioner external axes creating or optimizing MoveExt and sync instructions can be automated way using the MultiMove function, or be performed manually by creating a path with MoveExt instructions for the positioner and then adding sync instructions to the path for the robot and the external axis. Track external axes can only be programed manually. For information about using the MultiMove function see About programming MultiMove on page 124. For information about how to use the sync instructions, see RAPID reference manual and MultiMove application manual.
Modifying positions of external axes When programming external axes, you often need to adjust the position of the external axis for some targets. For example, if you create a path from curves on a work piece that is attached to a positioner, the positioner will initially have the same position for all targets. By repositioning the work piece for some of the targets you might improve process time and reachability. When targets are created in stations with a coordinated external axis, the position values of the external axis are stored in the target. With the Modify External Axis function you can reposition the external axis, thus making it possible for the robot to reach the target in new ways. For a procedure, see Modify External Axis on page 463. Continues on next page
3HAC032104-001 Revision: J Copyright 2008-2012 ABB. All rights reserved. 131
3 Programming robots
3.10 Programming external axes Continued To modify the external axis values for a target, the following conditions must be met: The external axis must be added to the system and set up correctly. For examples of how to add support for an external axis to a system, see A system with support for one robot and one positioner external axis on page 173. For information about how to set up an external axis in a RobotStudio station, see Placing external axes on page 98. The external axis must be defined in the same task as the robot. The external axis must be activated.
Activation and deactivation Activating a mechanical unit makes it controlled and monitored by the controller. Consequently, the mechanical unit must be activated before programming or running programs. If a system uses several external axes or interchangeable models with several work stations, several mechanical units might share common drive units. If this is the case, you must make sure to set the mechanical unit as active. For more information about activating and deactivating mechanical units, see RAPID reference manual on the instructions ActUnit and DeactUnit. Activating and deactivating mechanical units can be done either manually, see Activate Mechanical Units on page 331, or programmatically by RAPID instructions, see below. To activate or deactivate mechanical units programmatically To set the mechanical units to be active programmatically by RAPID instructions, follow these steps: 1 In the Paths&Targets browser, browse down to the path in which you want to insert the activation or deactivation instruction. To insert it as the first instruction in the path, select the path node and to insert it between existing instructions, select the instruction before the intended insertion point. 2 On the Home tab, click Action Instruction to bring up a dialog box. 3 In the Instruction Templates list, select one of the ActUnit or DeactUnit instructions. 4 In the Instruction Arguments grid and the MechUnit list, select the unit to activate or deactivate. 5 Click Create. When the path is executed either through the Move along path command, or running the RAPID program, the instruction will be carried out.
3HAC032104-001 Revision: J
3 Programming robots
3.11 Loading and saving programs and modules
133
3 Programming robots
3.12 Synchronization
3.12 Synchronization
Overview To synchronize is to make sure that the RAPID program in the system running on the virtual controller corresponds to the programs in RobotStudio. You can synchronize both from RobotStudio to the virtual controller and from the virtual controller to RobotStudio. In a RobotStudio station, robot positions and movements are defined by targets and move instructions in paths. These correspond to data declarations and RAPID instructions in the modules of the RAPID program. By synchronizing the station to the virtual controller, you create RAPID code out of the data in the station. By synchronizing the virtual controller to the station, you create paths and targets out of the RAPID program in the system running on the virtual controller. When to synchronize the station to the VC Synchronizing the station to the VC updates the RAPID program of the virtual controller with the latest changes in the station. This is useful to do before: Performing a simulation. Saving a program to files on the PC. Copying or loading RobotWare systems.
To synchronize a station to the VC, see Synchronize to VC on page 399. When to synchronize the VC to the station Synchronizing the VC to the station creates paths, targets and instructions that correspond to the RAPID program in the system running on the virtual controller. This is useful to do when you have: Started a new virtual controller which system contains existing programs. Loaded a program from a file. Text-edited the program.
3HAC032104-001 Revision: J
4 Simulating programs
4.1 Simulation Overview
4 Simulating programs
4.1 Simulation Overview
About this chapter This chapter describes how to simulate and validate robot programs. Below are short introductions to the simulation functions in RobotStudio.
Function Play simulations Description Simulations run entire robot programs on a virtual controller. Before you run a simulation you need to decide which paths are to be simulated. To set up a simulation, see Simulation Setup on page 321. To run a simulation, see Simulation Control on page 332. Collision detection displays and logs collisions and near-misses for specified objects in the station. Normally used during simulation of robot programs, it can also be used when building the station. For more information, see Detecting collisions on page 137. Events can be used to connect an action to a trigger. For example, you can attach one object to another when they collide or a signal is set. For more information, see Creating an event on page 140. In simulations I/O signals are normally set either by the robot program or by events. With the I/O simulator you can set signals manually, which provides a quick test of specific conditions. For more information, see Simulating I/O signals on page 141. With the simulation monitoring functions you enhance the simulation by adding traces along the TCP movements or alerts triggered by defined speeds or motions. For more information, see Enabling simulation monitoring on page 142.
Collision detection
Event handling
I/O Simulation
Simulation Monitoring
Process time measurement With the process timer you measure the time for a process to complete. For more information, see Measuring simulation time on page 143.
Time handling during simulation When simulating stations with events or several controllers, or other time managing equipment, time can be managed in two modes: either as free runtime or as time slices. RobotStudio uses time slice mode by default, but you can switch to free runtime, if required. Free runtime Since all controllers use the same computer resources, their synchronization might not be exactly as in the real world if they run independently of each other (called free run mode). The cycle time will be correct, but the timing for setting signals and triggering events might be inaccurate.
4 Simulating programs
4.1 Simulation Overview Continued Time Slice Time slices can be used to ensure that the timing for signals and other interaction between controllers is accurate. In this mode, RobotStudio synchronizes the controllers by dividing a time segment into small slices and waiting for all controllers to complete a current time slice before any controller can start anew. Thus, the controllers are synchronized, and the cycle time will be calculated correctly. The drawbacks are that the virtual FlexPendant cannot be open, and that the simulation might be somewhat slow and jerky, depending on the complexity of the simulation and the performance of the computer. Note If the simulation uses events or involves several different controllers, the virtual time mode Time Slice shall be used to make sure that the timing between the controllers is correctly simulated.
3HAC032104-001 Revision: J
4 Simulating programs
4.2 Detecting collisions
Results of creating a collision set After you have created a collision set, see Create Collision Set on page 320, RobotStudio will check the positions of all objects and detect when any object in ObjectsA collides with any object in ObjectsB. Activation of detection and displayal of collisions depend on how the collision detection is set up. If the collision set is active, RobotStudio will check the positions of the objects in the groups, and indicate any collision between them according to the current color settings.
4 Simulating programs
4.2 Detecting collisions Continued Collision detection Collision detection checks whether robots or other moving parts collide with equipment in the station. In complex stations, you can use several collision sets for detecting collisions between several groups of objects. After collision detection has been set up, it does not need to be started, but automatically detects collisions according to the setup. Setting when to check for collisions To set whether to detect collisions always or only during simulation, follow these steps: 1 On the File menu, click Options. 2 On the Navigation pane to the left, select Simulation: Collision. 3 On the Collision page to the right, select one of the following options from the Perform collision detection:
Option During simulation Always Description Collision detection is active only during simulation (when running RAPID programs in the virtual controller). Collision detection is always active, even when moving objects manually or testing reachability.
Setting the objects for collision detection To set the objects for collision detection, follow these steps: 1 Make sure that the objects for collision detection are placed correctly in collision sets. 2 Make sure that the collision set for the objects is activated, which is indicated by an icon in the Layout browser:
Icon Description Active. Collisions between objects in this set will be detected.
xx050033
Not active. Collisions between objects in this set will not be detected.
xx050007
To activate or deactivate collision sets, continue with the following steps: 3 Right-click the collision set to change and then click Modify Collision set to bring up a dialog box. 4 Select or clear the Active check box and then click Apply. Setting near-miss detection Near-misses occur when objects in collision sets are close to colliding. Each collision set has its own near-miss settings. For setting near-miss detection, follow these steps: 1 In the Layout browser, right-click the collision set to change and then click Modify Collision set to bring up a dialog box. Continues on next page
138 Copyright 2008-2012 ABB. All rights reserved. 3HAC032104-001 Revision: J
4 Simulating programs
4.2 Detecting collisions Continued 2 In the Near miss box, specify the maximum distance between the objects to be considered a near-miss and then click Apply. Setting logging options In addition to the graphical display of collisions, you can also log the collisions to the output window or a separate log file: 1 On the File menu, click Options.and under Simulation, click Collision. 2 On the Navigation pane to the left, select Simulation: Collision. 3 On the Collision page to the right, select Log collisions to Output window check box. The collision log is displayed in the output window. 4 On the Collision page to the right, select Log collisions to file check box and enter the name and path to the log file in the box. A separate file for logging collisions is created below the check box.
139
4 Simulating programs
4.3 Creating an event
Used for creating new events, the Create New Event Wizard is launched from the Event manager, see Event Manager on page 324. Prerequisites Before creating the event, make sure that the station contains all signals and objects that are planned to be used as triggers or affected by the action.
3HAC032104-001 Revision: J
4 Simulating programs
4.4 Simulating I/O signals
141
4 Simulating programs
4.5 Enabling simulation monitoring
3HAC032104-001 Revision: J
4 Simulating programs
4.6 Measuring simulation time
143
Virtual controller, running See Loading a RAPID program on page 411. in RobotStudio FlexController A non-running system stored on the PC Connect to the FlexController and load the program. Start the system in a virtual controller, then load the program, see Adding a system on page 85 and Loading a RAPID program on page 411, respectively.
145
3HAC032104-001 Revision: J
Taking screenshots The Screenshot function allows you to capture an image of the entire application or an active document window such as the graphics window. Note The Screenshot feature is available only for RobotStudio Premium users. Configure the options for the screenshot function as per your requirement under Options:General:Screenshot in the File tab. For more information, see Options:General:Screenshot on page 194. You can take screenshots using the keyboard shortcut CTRL + B. Alternatively, you can use the Screenshot button on the Quick Access Toolbar, but you must enable it first. To enable the screenshot command button: 1 Click the Quick Access Toolbars down arrow. The Customize Quick Access Toolbar menu is displayed. 2 Click Screenshot to add the check mark to the command. This adds the screenshot button to the Quick Access Toolbar. Recording movies You can record your activities in the RobotStudio application as a video. You can also record videos of simulations. For information on how to record videos in RobotStudio, see Record Movie on page 343.
147
6 Working online
6.1 Connecting a PC to the service port
6 Working online
6.1 Connecting a PC to the service port
Note The service port shall only be used for direct connection to a PC as described in this procedure. It must not be connected to a LAN (Local Area Network), since it has a DHCP server that automatically distributes IP addresses to all units connected to the LAN. Contact your network administrator for more information. Note The maximum number of connected network clients using Robot Communication Runtime is: LAN: 3 Service: 1 FlexPendant: 1
The maximum number of applications using Robot Communication Runtime running on the same PC connected to one controller has no built-in maximu. However, UAS limits the number of logged-on users to 50. The maximum number of concurrently connected FTP clients is 4. Ports DSQC639 The illustration below shows the two main ports on the computer unit: the Service Port and the LAN port. Make sure the LAN (factory network) is not connected to any of the service ports!
connecti
A B
Service port on the computer unit LAN port on computer unit (connects to factory LAN)
6 Working online
6.1 Connecting a PC to the service port Continued Connecting a PC to the service port
Action 1 Illustration
Make sure the network setting on the PC Refer to the system documentation for your to be connected is correct. PC, depending on the operative system you are running. The PC must be set to Obtain an IP address automatically or set as described in Service PC Information in the Boot Application. Use the delivered category 5 Ethernet The cable is delivered in the RobotWare crossover boot cable with RJ45 connect- product box. ors. Connect the boot cable to the network port of your PC.
xx040000
A: network port The placement of the network port may vary depending on the PC model. 4 Connect the boot cable to the service port on the computer unit.
3HAC032104-001 Revision: J
6 Working online
6.2 Network settings
Local network connection You can connect your PC to the same Ethernet network that the controller is connected to. When the PC and the controller are connected correctly and to the same subnet, the controller will be automatically detected by RobotStudio. The network settings for the PC depend on the network configuration. For setting up the PC, contact the network administrator. Service port connection When connecting to the controller's service port, you can either obtain an IP address for the PC automatically, or you can specify a fixed IP address. If you are not sure how to set up the service port connection, contact the network administrator. Automatic IP address The controller's service port has a DHCP server that will automatically give your PC an IP address if it is configured for this. For detailed information see Windows help on configuring TCP/IP. Fixed IP address Instead of obtaining an IP address automatically, you can also specify a fixed IP address on the PC you connect to the controller. Use the following settings for a fixed IP address:
Property IP address Subnet mask Value 192.168.125.2 255.255.255.0
For detailed information about how to set up the PC network connection, see Windows help on configuring TCP/IP.
6 Working online
6.2 Network settings Continued
Note Obtaining an IP address automatically might fail if the PC already has an IP address from another controller or Ethernet device. To ensure that you get a correct IP address if the PC was previously connected to an Ethernet device, do one of the following: Restart the PC before connecting to the controller. Run the command ipconfig /renew from the command prompt after connecting the PC to the controller.
Remote network connection To enable a connection to a controller on a remote subnet or over the local network, the relevant network traffic must be allowed through any firewalls between the PC and the controller. The firewalls must be configured to accept the following TCP/IP traffic from the PC to the controller: UDP port 5514 (unicast) TCP port 5515 Passive FTP
All TCP and UPD connections to remote controllers are initiated by the PC, that is the controller only responds on the given source port and address. Firewall settings The firewall settings are applicable irrespective of whether you are connected to a real controller or a virtual controller. The following table describes the necessary firewall configurations:
en0900001008
Note RobotStudio uses the current Internet Options, HTTP, and proxy settings to get the latest RobotStudio news. To view the latest RobotStudio news, go to the File tab and then the Help sub-tab. Connecting to the controller 1 Make sure the PC is connected to the controller's service port and that the controller is running. 2 On the File menu, click Online and then select One Click Connect. This takes you to the Controller tab. 3 Click Add Controller Continues on next page
152 Copyright 2008-2012 ABB. All rights reserved. 3HAC032104-001 Revision: J
6 Working online
6.2 Network settings Continued 4 Click Request Write access.
If the controller is in mode Auto Manual Then You will now get Write Access if it is available. A message box on the FlexPendant will allow you to grant remote Write Access to RobotStudio.
153
6 Working online
6.3 User Authorization
6 Working online
6.3 User Authorization Continued
Note There is a risk changing the group membership of the default user. If you by mistake clear the Default User check box or any Default Group grant, you will get a warning. Make sure that there is at least one user defined that has the grant Manage UAS settings. If the Default group and no other group have the grant Manage UAS settings, you may lose your ability to manage users and groups. Grants Grants are permissions to perform actions or access data on the controller. You use the grants by giving them to groups, to which you then add the users who shall have the grants. Grants may be either controller grants or application grants. Depending on the actions that you will perform, you may need several grants. For procedures, see UAS Grant Viewer on page 386. Controller grants Controller grants are validated by the robot controller and apply to all tools and devices accessing the controller. Application grants Application grants are used by a specific application, for example the FlexPendant, and will only be valid using that application. Application grants can be added by additional options and used in customer applications.
155
6 Working online
6.4.1 System Builder Overview
Administering systems Systems can be administered from the System Builder dialog box in the following ways: Continues on next page
156 Copyright 2008-2012 ABB. All rights reserved. 3HAC032104-001 Revision: J
View system properties, see Viewing system properties on page 158. Build a system, see Building a new system on page 159.
6 Working online
6.4.1 System Builder Overview Continued Modify or delete a system, see Modifying a system on page 163. Copy a system, see Copying a system on page 167. Create a system from backup, see Creating a system from backup on page 168. Download a system to a controller, see Downloading a system to a controller on page 169. Create boot media, see Creating boot media on page 170.
157
6 Working online
6.4.2 Viewing system properties
3HAC032104-001 Revision: J
6 Working online
6.4.3 Building a new system
6 Working online
6.4.3 Building a new system Continued Entering the drive keys To enter the keys for the drive modules: 1 In the Drive Key box, enter the key for the drive module. You can also click the Browse button and browse to the key file. If you used a virtual controller key, a virtual drive key is already generated by the wizard. 2 Click the right arrow button next to the Drive Key box. The key now appears in the Added drive keys list. For real systems the drive key determines the connected robot model. For virtual systems you select the robot model in the Modify Options page. The default model is IRB140. 3 If you have a MultiMove system, repeat steps 1 and 2 for each drive key to add. If you have a MultiMove system, make sure that the keys are numbered in the same way as their corresponding drive modules are connected to the controller module. Use the up and down arrows to rearrange the drive keys, if necessary. 4 If you want to create the system as it is now, click Finish. If you want to modify options, or add options, parameter data or additional files to the home directory, click Next. Adding additional options Here you can add options, such as external axes and dispense applications, that are not included in the basic system. Options require a license key and must be first imported to the media pool. To add additional options, follow these steps: 1 In the Key box, enter the option key. You can also click the Browse button and browse to the option's key file. 2 Click the Arrow button. The option that the key unlocks is now displayed in the Added Options list. Note If several versions of an additional option exists, only the latest version can be selected. To use an older version, remove the other versions of the additional option from the Mediapool. 3 Repeat steps 1 and 2 for all options you want to include. 4 Choose whether you want to create the system as it is now, or to continue with the wizard. If you want to create the system as it is now, click Finish. If you want to modify options, or add parameter data or additional files to the home directory, click Next.
6 Working online
6.4.3 Building a new system Continued Modifying options Here you can set up and configure the options in your system. For virtual systems, you also select the robot models to use. To modify any options, follow these steps: 1 In the Option tree, expand the option folders to the level where you find the option you want to modify. Only the options unlocked by the used keys are available. 2 Modify the option. 3 Repeat steps 1 and 2 for all options you want to modify. 4 Choose whether you want to create the system as it is now, or to continue with the wizard. If you want to create the system as it is now, click Finish. If you want to add parameter data or additional files to the home directory, click Next. Adding parameter data Parameter data is stored in the parameter data files (.cfg files). Each parameter topic has its own parameter file. You can add only one parameter file for each topic. To add parameter data, follow these steps: 1 In the Parameter data box, enter the path to the folder for the parameter data files. You can also click the Browse button and browse to the folder. 2 In the list of parameter data files, select the file you want to include and press the Arrow button. Repeat for all files you want to include. The included parameter data files will now appear in the Added parameter data files list. Repeat steps 1 and 2 for each parameter data file you want to add. 3 Choose whether you want to create the system as it is now, or to continue with the wizard. If you want to create the system as it is now, click Finish. If you want to add additional files to the home directory, click Next. Adding files to the home directory You can add any type of file to the systems home directory. When the system is loaded to a controller, these files will also be loaded. To add files to the system's home directory, follow these steps: 1 In the Files box, enter the path to the folder for the files you want to include. You can also click the Browse button and browse to the folder. 2 In the list of files, select the file to add and click the Arrow button. Repeat for all files you want to add. The added files will now appear in the Added files list. 3 Choose whether you want to create the system as it is now, or to continue with the wizard. If you want to create the system as it is now, click Finish. If you want to read a summary before you create the system, click Next. Continues on next page
3HAC032104-001 Revision: J Copyright 2008-2012 ABB. All rights reserved. 161
6 Working online
6.4.3 Building a new system Continued Completing the New Controller System Wizard To complete the wizard, follow these steps: 1 Read the system summary. 2 If the system is OK, click Finish. If the system is not OK, click Back and make modifications or corrections.
3HAC032104-001 Revision: J
6 Working online
6.4.4 Modifying a system
6 Working online
6.4.4 Modifying a system Continued 2 Click the right arrow button. The key now appears in the Added drive key list. If you have a MultiMove system, repeat steps 1 and 2 for each drive key to add. 3 To remove a drive module, select the corresponding key in the Added drive key list and click Remove drive key. If you have a MultiMove system, repeat step 3 for each drive key to remove. 4 If you have a MultiMove system, make sure that the keys are numbered in the same way as their corresponding drive modules are connected to the controller module. Use the up and down arrows to rearrange the drive keys, if necessary. 5 Choose whether you want to create the system as it is now, or to continue with the wizard. If you want to create the system as it is now, click Finish. If you want to modify options, parameter data or add files to or remove files from the home directory, click Next. Adding or removing additional options To optionally add or remove additional options: 1 To add an addtional option, in the Enter Key box, enter the option key. You can also click the Browse button and browse to the option's key file. 2 Click the Arrow button. The option that the key unlocks is now displayed in the Added Options list. Note If several versions of an additional option exists, only the latest version can be selected. To use an older version, remove the other versions of the additional option from the Mediapool. 3 Repeat steps 1 and 2 for all options you want to include. 4 To remove an additional option, iIn the Added options list, select the option you want to remove. 5 Click Remove. 6 Choose whether you want to create the system as it is now, or to continue with the wizard. If you want to create the system as it is now, click Finish. If you want to modify parameter data or add files to or remove files from the home directory, click Next. Modifying options To optionally modify any options, follow these steps: 1 In the Option tree, expand the option folders to the level where you find the option you want to modify. Only the options unlocked by the used keys are available. Continues on next page
164 Copyright 2008-2012 ABB. All rights reserved. 3HAC032104-001 Revision: J
6 Working online
6.4.4 Modifying a system Continued 2 Modify the option. 3 Repeat steps 1 and 2 for all options you want to modify. 4 Choose whether you want to create the system as it is now, or to continue with the wizard. If you want to create the system as it is now, click Finish. If you want to modify parameter data or add files to or remove files from the home directory, click Next. Adding or removing parameter data Parameter data is stored in the parameter data files (.cfg files). each parameter topic has its own parameter file. You can add only one parameter file for each topic. To addor remove parameter data, follow these steps: 1 To add parameter data, in the Parameter data box, enter the path to the folder for the parameter data files. You can also click the Browse button and browse to the folder. 2 In the list of parameter data files, select the file you want to include and press the Arrow button. Repeat for all files you want to include. The included parameter data files will now appear in the Added parameter data files list. Repeat steps 1 and 2 for each parameter data file you want to add. 3 To remove parameter data, in the Added parameter data files list, select the parameter data file to remove. 4 Click Remove. 5 Choose whether you want to create the system as it is now, or to continue with the wizard. If you want to create the system as it is now, click Finish. If you want to add to or remove files from the home directory, click Next. Add files to or remove files from the home directory You can add any type of file to the systems home directory, or remove files from it. When the system is loaded to a controller, these files will also be loaded. To optionally add files to or remove files from the system's home directory, follow these steps: 1 To add files, in the Files box, enter the path to the folder for the files you want to include. You can also click the Browse button and browse to the folder. 2 In the list of files, select the file to add and click the Arrow button. Repeat for all files you want to add. The added files will now appear in the Added files list. 3 To remove files, in the Added files list, select the file to remove. 4 Click Remove. 5 Choose whether you want to create the system as it is now, or to continue with the wizard. If you want to create the system as it is now, click Finish. Continues on next page
3HAC032104-001 Revision: J Copyright 2008-2012 ABB. All rights reserved. 165
6 Working online
6.4.4 Modifying a system Continued If you want to read a summary before you create the system, click Next. Complete the Modify Controller System wizard To complete the wizard, follow these steps: 1 Read the system summary. 2 If the system is OK, click Finish. If the system is not OK, click Back and make modifications or corrections. Result Modifications will take effect when the wizard is completed. If the system has been downloaded to a controller, it must be downloaded again before the modifications will take effect on the controller. If the system is used by a VC, perform an I-start for the changes to take effect. Deleting a system To delete a system, follow this steps: 1 From the System Builder dialog box, select the system and then click Delete.
3HAC032104-001 Revision: J
6 Working online
6.4.5 Copying a system
167
6 Working online
6.4.6 Creating a system from backup
3HAC032104-001 Revision: J
6 Working online
6.4.7 Downloading a system to a controller
3 Optionally, click Test Connection to confirm that the connection between the computer and the Controller is OK. 4 Click Load. 5 Answer Yes to the question Do you want to restart the controller now?
Yes No The controller restarts immediately and the downloaded system starts automatically. The controller does not restart immediately. To start using the downloaded system, you have to: a perform a C-start or an X-start b select the system manually The downloaded system is removed from the controller.
Cancel
169
6 Working online
6.4.8 Creating boot media
3HAC032104-001 Revision: J
6 Working online
6.4.9.1 A MultiMove system with two coordinated robots
6.4.9 Examples using the System Builder when offline 6.4.9.1 A MultiMove system with two coordinated robots
Overview In this example we will use the System Builder to create a coordinated offline system with one IRB2400 and one IRB1600 robot to use in a new RobotStudio station. Starting the New Controller System Wizard To create a system like the one described above, follow these steps: 1 Click System Builder to bring up the dialog box. 2 In the dialog box, click Create New to bring up the New Controller System Wizard. 3 Read the welcome text, and click Next to continue to the next page. Entering the name and path 1 In the Name box, enter the name of the system. The name must not contain blank spaces or non-ASCII characters. In this example, name the system MyMultiMove. 2 In the Path box, enter the path for the folder to save the system in, or click the Browse button to browse to the folder or create a new one. In this example, save the system in C:\Program Files\ABB Industrial IT\Robotics IT\RobotStudio\ABB Library\Training Systems. 3 Click Next to continue to the next page. Entering the controller key 1 Select the Virtual key check box. A virtual controller key now appears in the Controller Key box. In this example we will use the default media pool and RobotWare version. 2 Click Next to continue to the next page. Entering drive keys 1 Click the Right Arrow button next to the Enter Drive key box twice to create one drive key for each robot. 2 Click Next to continue to the next page. Adding options 1 This system does not require any additional option keys. Click Next and continue to the next page of the wizard. Modifying options When creating robot systems from real robot keys, the key sets the options. But since we are using a virtual key, we have to set the options manually.
6 Working online
6.4.9.1 A MultiMove system with two coordinated robots Continued To set the options necessary for a MultiMove, follow these steps: 1 Scroll down to the RobotWare / Motion Coordination 1 group and select the MultiMove Coordinated check box. 2 Scroll down to the RobotWare / I/O control group and select the Multitasking and the Advanced RAPID check boxes. 3 Scroll down to the DriveModule1 / Drive module application group and expand the ABB Standard manipulator option. Select the IRB 2400 Type A option, manipulator variant IRB 2400L Type A. 4 Scroll down to the DriveModule2 / Drive module application group and expand the ABB Standard manipulator option. Select the IRB 1600 option, manipulator variant IRB 1600-5/1.2. 5 Click Finish and the system will be created.
3HAC032104-001 Revision: J
6 Working online
6.4.9.2 A system with support for one robot and one positioner external axis
6.4.9.2 A system with support for one robot and one positioner external axis
Overview In this example we will use the System Builder to create an offline system to use in a new RobotStudio station with one IRB1600 robot and one IRBP 250D positioner external axis. Prerequisites When creating systems for positioner external axes, you need the media pool and the license key file for that specific positioner. In this example we will use a media pool and license key file for a demo positioner. Paths to files and folders assume that RobotStudio and the RobotWare media pool have been installed at their default locations on Windows XP. If not, adjust the paths accordingly. Starting the New Controller System Wizard To create a system like the one described above, follow these steps: 1 Click System Builder to bring up a dialog box. 2 In the dialog box, click Create New to bring up the New Controller System Wizard. 3 Read the welcome text, and click Next to continue to the next page. Entering the controller key 1 Select the Virtual key check box. A virtual controller key now appears in the Controller Key box. In this example we will use the default media pool and RobotWare version. 2 Click Next to continue to the next page. Entering drive keys 1 Click the Right Arrow button next to the Enter Drive key box to create one drive key for the robot. 2 Click Next to continue to the next page. Adding options This is where we point out the key file for the positioner. 1 Next to the Enter key box, click the browse button and select the key file. In this example, browse to and select the file extkey.kxt in the folder C:\Program Files\ABB Industrial IT\Robotics IT\MediaPool\3HEA-000-00022.01. Tip In the MediaPool folder media pools for several standard positioners are installed. They are named by the positioners article number, with a suffix that indicates if it is configured for single-robot or MultiMove systems. Continues on next page
3HAC032104-001 Revision: J Copyright 2008-2012 ABB. All rights reserved. 173
6 Working online
6.4.9.2 A system with support for one robot and one positioner external axis Continued 2 Click the Right Arrow button next to the Enter key box to add the key for the positioner. 3 Click Next and continue to the next page of the wizard. Modifying options When creating robot systems from real robot keys, the key sets the options. But since we are using a virtual key, we have to set the options manually. To set the options necessary for a positioner, follow these steps: 1 Scroll down to the RobotWare / Hardware group and select the 709-x DeviceNet check box. This option is for the communication between the controller and the track external axis. 2 Scroll down to the DriveModule1 / Drive module application group and expand the ABB Standard manipulator option. Select the IRB 1600 option. This option sets the robot to an IRB 1600-5/1.2. 3 Scroll down to the DriveModule1 > Drive module configuration group; select the Drive System 04 1600/2400/260 option; expand the Additional axes drive module group and select the R2C2 Add drive option. a Expand the Drive type in position Z4 group and select the 753-1 Drive C in pos Z4 option b Expand the Drive type in position Y4 group and select the754-1 Drive C in pos Y4 option c Expand the Drive type in position X4 group and select the755-1 Drive C in pos X4 option This option adds drive modules for the positioner axes. Note When using the latest drive system, do the following: Scroll down to the DriveModule1 > Drive module configuration group; select the Drive System 09 120/140/1400/1600 Compact option; expand the Power supply configuration group and select 1-Phase Power supply or 3-Phase Power supply (as applicable) > Additional axes drive module > Additional drive a Expand the Drive type in position X3 group and select the Drive ADU-790A in position X3 option b Expand the Drive type in position Y3 group and select the Drive ADU-790A in position Y3 option c Expand the Drive type in position Z3 group and select the Drive ADU-790A in position Z3 option 4 Click Finish and the system will be created. When starting the system in a RobotStudio station, you have to set up the system to load a model for the positioner and to get the motions to work properly. See Placing external axes on page 98 for more information.
3HAC032104-001 Revision: J
6 Working online
6.4.9.3 Options settings for systems with positioners
Options for positioners in MultiMove robot systems When adding a positioner to a MultiMove robot system, the positioner shall be added to a task of its own (thus you also have to add a drive key for the positioner). Below, the options to set on the Modify Options page of the System Builder for such a system are listed: RobotWare > Hardware > 709-x DeviceNet > 709-1 Master/Slave Single RobotWare > Motion coordinated part 1 > 604-1 MultiMove Coordinated Optionally, expand the MultiMove Coordinated option and select process options for the robots. Optionally, for using the system with ArcWare, add RobotWare > Application Arc > 633-1 Arc DriveModule 1 > Drive module configuration > Drive System 04 1600/2400/260 > RC2C Add drive > 753-1 Drive C in pos Z4 > 754-2 Drive T in pos Y4 > 755-3 Drive U in pos X4. For the other drive modules, no additional axes should be configured.
175
6 Working online
6.5 Handle I/O
3HAC032104-001 Revision: J
6 Working online
6.6 Configure systems
When working with configurations, the following tools, see Configuration editor on page 361, are useful:
Tool The Configuration Editor Use With the Configuration Editor you work with the types and instances of a specific topic.
The Instance Editor With the Instance Editor, you specify the values of the parameters in the instances of system parameter types.
Note To edit system parameters, you must have write access to the controller. Terms
System parameters The sum of all parameters that configure the system, these are divided into topics and types. Topic A collection of parameters relating to a specific area, and the highest level in the system parameter structure. Examples are Controller, Communication and Motion. A set of parameters for a specific configuration task. A type can be seen as a pattern describing the construction and properties for the parameters included in the task. For instance, the type Motion System defines which parameters shall be used for configuring a motion system. An actualization of a type, an instance is a specific set of parameters with unique values created from a type pattern. In the Configuration Editor, each row in the Instance list is an instance of the type selected in the Type list. A property to set when configuring the robot system. Contains all public parameters of a specific topic.
Type
Instance
Viewing configurations 1 To view the topics of a controller, from the Controller tab, expand the Configuration node for the controller. All topics in are now displayed as child nodes to the Configuration node. 2 To view the types and instances of a topic, double-click the topic node for the topic to view.
6 Working online
6.6 Configure systems Continued The Configuration Editor is now opened, listing all types of the topic in the Type name list. In the Instance list, each instance of the type selected in the Type name list is displayed as row. The parameter values of the instances are displayed in the columns of the instance list. 3 To view detailed parameter information for an instance, double-click the instance. The instance editor now displays the current value, restrictions and limits of each parameter in the instance. Editing parameters You can either edit the parameters of one single instance, or you can edit several instances at one time. Editing several instances at one time is useful when you want to change the same parameter in several instances, like when moving signals from one I/O unit to another. 1 In the Controller tab, expand the Controller and the Configuration node and double-click the topic that contains the parameters to edit. This opens the Configuration Editor. 2 In the Type name list of the Configuration Editor, select the type that the parameter to edit belongs to. The instances of the type is now displayed in the Instance list of the Configuration Editor. 3 In the Instance list, select the instances to edit and press the Enter Key. To select several instances at once, hold down the SHIFT or CTRL key while selecting. Alternatively, right-click an instance and then click Edit. The Instance Editor is now displayed. 4 In the Parameter list of the Instance Editor, select the parameter to edit and change the value of the parameter in the Value box. When editing several instances at one time, the parameter values you specify will be applied to all instances. For parameters that you do not specify any new value, each instance will keep its existing value for that parameter. 5 Click OK to apply the changes to the configuration database of the controller. For many parameters, the changes will not take affect until the controller is restarted. If your changes require a restart, you will be notified of this. You have now updated the controller's system parameters. If you are going to make several changes, you can wait with the restart until all changes are done.
6 Working online
6.6 Configure systems Continued Adding instances With the Configuration Editor, you can select a type and create a new instance of it. For example, adding a new instance of the type Signal creates a new signal in the system. 1 In the Controller tab, expand the Controller and the Configuration node and double-click the topic that contains the type of which you want to add an instance. This opens the Configuration Editor. 2 In the Type name list of the Configuration Editor, select the type of which you want to add an instance. 3 On the Controller menu, point to Configuration and click Add type (the word type is replaced by the type you selected previously). You can also right-click anywhere in the configuration editor and then select Add type from the shortcut menu. A new instance with default values is added and displayed in the Instance Editor window. 4 If required, edit the values. 5 Click OK to save the new instance. The values in the new instance are now validated. If the values are valid, the instance is saved. Otherwise, you will be notified of which parameter values to correct. For many instances, the changes will not take affect until the controller is restarted. If your changes require a restart you will be notified of this. You have now updated the controller's system parameters. If the changes require a restart of the controller, the changes will not take affect until you do this. If you are going to make several changes, you can wait with the restart until all changes are done. Copying an instance 1 In the Controller tab, expand the Controller and the Configuration node and double-click the topic that contains the instance to copy. This opens the Configuration Editor. 2 In the Type name list of the Configuration Editor, select the type of which you want to copy an instance. 3 In the Instance list, select one or several instances to copy. If you select several instances and they don't have the same value for all parameters, these parameters will have no default values in the new instances. 4 On the Controller menu, point to Configuration and click Copy Type (the word type is replaced by the type you selected previously). You can also right-click the instance to copy and then select Copy Type from the shortcut menu. A new instance with the same values as the one you copied is added and displayed in the Instance Editor window. Continues on next page
3HAC032104-001 Revision: J Copyright 2008-2012 ABB. All rights reserved. 179
6 Working online
6.6 Configure systems Continued 5 Change the name of the instance. If required, also edit the other values. 6 Click OK to save the new instance. The values in the new instance are now validated. If the values are valid, the instance is saved. Otherwise, you will be notified of which parameter values to correct. For many instances, the changes will not take affect until the controller is restarted. If your changes require a restart you will be notified of this. You have now updated the controller's system parameters. If the changes require a restart of the controller, the changes will not take affect until you do this. If you are going to make several changes, you can wait with the restart until all changes are done. Deleting an instance 1 In the Controller tab, expand the Controller and the Configuration node and double-click the topic that contains the type of which you want to delete an instance. This opens the Configuration Editor. 2 In the Type name list of the Configuration Editor, select the type of which you want to delete an instance. 3 In the Instance list, select the instance to delete. 4 On the Controller menu, point to Configuration and then click Delete type (the word type is replaced by the type you selected previously). You can also right-click the instance to delete and then select Delete type from the shortcut menu. 5 A message box is displayed, asking if you want to delete or keep the instance. Click Yes to confirm that you want to delete it. For many instances, the changes will not take affect until the controller is restarted. If your changes require a restart you will be notified of this. You have now updated the controller's system parameters. If the changes require a restart of the controller, the changes will not take affect until you do this. If you are going to make several changes, you can wait with the restart until all changes are done. Save one configuration file The system parameters of a configuration topic can be saved to a configuration file, stored on the PC or any of its network drives. The configuration files can then be loaded into a controller. They are thereby useful as backups, or for transferring configurations from one controller to another. 1 In the Controller tab, expand the Configuration node and select the topic to save to a file. 2 On the Controller menu, point to Configuration and select Save System Parameters. You can also right-click the topic and then select Save System Parameters from the shortcut menu. Continues on next page
180 Copyright 2008-2012 ABB. All rights reserved. 3HAC032104-001 Revision: J
6 Working online
6.6 Configure systems Continued 3 In the Save As dialog box, browse for the folder to save the file in. 4 Click Save. Saving several configuration files 1 In the Controller tab, select the Configuration node. 2 On the Controller menu, point to Configuration and click Save System Parameters. You can also right-click the configuration node and then click Save System Parameters. 3 In the Save System Parameters dialog box, select the topics to save to files. Then click Save. 4 In the Browse for Folder dialog box, browse for the folder to save the files in, and then click OK. The selected topics will now be saved as configuration files with default names in the specified folder. Loading a configuration file A configuration file contains the system parameters of a configuration topic. They are thereby useful as backups, or for transferring configurations from one controller to another. When loading a configuration file to a controller, it must be of the same major version as the controller. For instance, you cannot load configuration files from an S4 system to an IRC 5 controller. 1 In the Controller tab, select the Configuration node. 2 On the Controller menu, point to Configuration and select Load Parameters. You can also right-click the configuration node and then select Load Parameters from the context menu. This opens the Select mode dialog box. 3 In the Select mode dialog box, select how you want to combine the parameters in the configuration file to load with the existing parameters:
If you want to then
replace the entire configuration of the select Delete existing parameters before topic with the one in the configuration file. loading add new parameters from the configura- click Load parameters if no duplicates tion file to the topic, without modifying the existing ones. add new parameters from the configura- click Load parameters and replace dution file to the topic and update the exist- plicates ing ones with values from the configuration file. Parameters that only exist in the controller and not in the configuration file will not be changed at all.
4 Click Open and browse to the configuration file to load. Then click Open again. 5 In the information box, click OK to confirm that you want to load the parameters from the configuration file. Continues on next page
3HAC032104-001 Revision: J Copyright 2008-2012 ABB. All rights reserved. 181
6 Working online
6.6 Configure systems Continued 6 When the loading of the configuration file is finished, close the Select mode dialog box. If a restart of the controller is necessary for the new parameters to take affect, you will be notified of this.
3HAC032104-001 Revision: J
6 Working online
6.7 Handle events
view controller events. filter events. sort events. get detailed information about an event. save event log files on your PC. clear event records.
When you select an event in the list, detailed information will appear to the right. Event type The event type is an indication of the severity of the event. There are three types of events:
Event type Description
Information A normal system event, such as starting and stopping programs, change of operating mode, motors on/off and so on. Information messages never require any action from you, but can be useful for error tracking, statistics collecting or monitoring user triggered event routines. Warning An event that you need to be aware of, but not so severe that the process or RAPID program needs to be stopped. Warnings, however, often indicate underlying problems that sooner or later must be solved. Warnings must sometimes be acknowledged. An event that prevents the robot system from proceeding. The running process or RAPID program cannot continue, but is stopped. All errors must be acknowledged. Most errors also require some immediate action from you in order to solve the problem.
Error
6 Working online
6.7 Handle events Continued
Note This information is also indicated by color: blue for information, yellow for warning and red for an error which needs to be corrected in order to proceed Event code The event code is a number that identifies the event message. Together with the event date and time each event has a unique identity. Event title The event title is a short description of the event. Event category The category is an indication of the source of the event.
Category Common Operational System Hardware Program Motion I/O & Communication User Internal Process Cfg Display All recent events. Events related to changes in operation or operating mode. Events related to the current system. Events related to controller hardware. Events related to the running process applications and RAPID programs. Events related to the movement of robots or other mechanical units . Events related to input and output signals, serial or network communication and process buses. Custom messages that have been programed into RAPID programs. Internal low-level controller errors for ABB service personnel. Events related to Industrial Processes options., such as Spot, Arc and Dispense. Errors in a configuration file.
Depending on how the system is configured, additional categories may exist. Sequential number The sequential number indicates the chronological order of the event; the higher the number the more recently the event occurred. Date and time Date and time indicate exactly when the event occurred. Along with the event code, this timestamp guarantees that each event has a unique identity. Event description When you select an event in the list, detailed information about it will be displayed to the right. This includes a description, and when appropritate also consequences, causes and suggested actions to solve the problem. Continues on next page
184 Copyright 2008-2012 ABB. All rights reserved. 3HAC032104-001 Revision: J
6 Working online
6.7 Handle events Continued Overview The Event Log automatically logs all controller events once it is started. By default, events are displayed in the chronological order specified by Seq Numbers. Note Any modifications to the list you see will never affect the event log of the controller. What you see is just a copy. Managing events 1 In the Robot View Explorer, select a system. 2 Double-click the Events node.
To sort events Click the header for the column you want to sort by. To switch between ascending and descending sorting, click the header once again. In the Category list select the event category you want displayed. Click Clear. This will not affect the event log of the robot controller. It might still be impossible, however, to retrieve all events from a cleared record once again, as the oldest ones may have been erased from the controller hard disk due to lack of space. It is therefore recommended to save the record to a log file before clearing. Check the Log to file check box. If it remains checked, the log file will be updated with new events as they occur.
To save events of one or Click Save and then make your category choice. Specify several categories to files the location for the log file(s) in the Browse For Folder on the computer dialog and then click OK. If you select All when selecting categories, a log file for each event category will be created.
Retrieving controller events To clear the list and retrieve all existing events from the robot controller: 1 Optionally, save the existing Event Log record. 2 Select whether you want the list to be updated when new events occur , or if you are only interested in viewing events that have already occurred.
To ... ...then...
get automatic updates when new check the Auto Update check box. (Checked by events occur default.) say no to automatic updates when new events occur clear the Auto Update check box.
3 Click Get to clear the current list, fetch and display all events that are currently stored in the controller log files.
185
7 File tab
7.1 Overview
7 File tab
7.1 Overview
Overview The File tab contains the options to create new station, create new robot system, connect to a controller, save station as viewer, and RobotStudio options. The following table lists the various options, presented in different tabs, available in the File tab:
Tabs Save / Save As Open Close Info Description Saves a station. Opens a saved station. Closes a station. Once a station is open in RobotStudio, this tab shows the properties of the station, and also the robot systems and library files that are part of the open station. Displays recently accessed stations. Creates a new station. See New on page 188. Prints the contents of the active window. Shares data with others. Pack and Go on page 189 Unpack and Work on page 190 Station Viewer on page 191 Connects to a controller. Add Controller on page 348 Imports and Exports controller. Creates and works with robot system. Building a new system on page 159 Import Options on page 375 Displays information on installing and licensing RobotStudio. See Installing and licensing RobotStudio on page 40. Displays information on RobotStudio Options. See Options on page 193. Closes RobotStudio.
Online
187
7 File tab
7.2 New
7.2 New
Creating an empty station 1 On the File tab, click New. 2 Click Empty Station, and then click Create. A new empty station is created. Creating a station with Robot Controller 1 On the File tab, click New. 2 Click Station with Robot Controller. The available small, medium, large, paint and special purpose robots are listed. 3 From the list, click to select an appropriate robot. Alternatively, click Browse to browse for and select a system. RobotStudio automatically creates a matching virtual controller for your system. 4 Click Create. Creating a station with existing Robot Controller 1 On the File tab, click New. 2 Select Station with existing Robot Controller. 3 In the System Pool drop-down list, select the folder which contains the system you need. The default System Pool path is C:\User\ABB\Documents\RobotStudio\Systems. You can also add a folder to the System Pool list. To add a folder, click Add.., browse to the required folder, and then click Select Folder. To remove a folder from the System Pool list, select it and then click Remove. 4 In the Systems Found list, select a system, and then click Create. Creating a new RAPID module file 1 On the File tab, click New. 2 Click RAPID Module File. 3 Choose from the following options: Click Module (Program Module) to create a blank RAPID module file. Click Main Module (Program Module) to create a module with a main routine. Click Module (System Module) to create a module with attributes for read-only, view-only and not step-in.
According to the selection you make, the created RAPID module file opens in the RAPID editor. For more information on managing file based RAPID modules, see Managing file based RAPID modules on page 407.
3HAC032104-001 Revision: J
7 File tab
7.3.1 Pack and Go
189
7 File tab
7.3.2 Unpack and Work
3HAC032104-001 Revision: J
7 File tab
7.3.3 Station Viewer
3 To load a Station Viewer, double-click the package (.exe) file on the target computer. The results are displayed in the Output window and the embedded station file is automatically loaded and presented in a 3D view. Configuring user settings of a Station Viewer To configure the user settings of a Station Viewer, on the File menu, click Options. Command Buttons
Apply Reset Default Click this button to save all options in the current page. Click this button to reset to the settings you had before this session all values that you have changed on the current page. Click this button to reset to their default values all settings on the current page.
Options:General:Appearance
Select application language Select the language to be used. The default language is the same as that of the target user's operating system if available, otherwise it is English. Select color theme Select the color to be used.
7 File tab
7.3.3 Station Viewer Continued Options:General:Graphics
Select API to use for 3D graphics Select the low-level API to be used for rendering 3D graphics.The default value is Direct3D, but OpenGL might be faster or stabler. You do not need to restart when changing this option. Select the color from the color theme, or from the color stored in the stations.
Background color
Simulation When you run a simulation, the movements and visibility of objects are recorded. This recording is optionally included in the Station Viewer. Simulation control buttons are enabled when the Station Viewer contains a recorded simulation. Following are the Simulation control buttons:
Play Stop Reset Run mode Process time Starts or resumes simulation playback Stops simulation playback Resets all objects to their initial state and process time display to zero Select to run the simulation once or continuously Displays the current simulation time
Note If the simulation executes a VSTA macro, it is not reflected when playing back the simulation in the Station Viewer.
3HAC032104-001 Revision: J
7 File tab
7.4 Options
7.4 Options
Common buttons
Apply Reset Default Click this button to save all options in the current page. Click this button to reset to the settings you had before this session all values that you have changed on the current page. Click this button to reset to their default values all settings on the current page.
Options:General:Appearance
Select application language Select color theme Show ScreenTips Display Position Edit boxes with Red/Green/Blue background Select the language to be used. Select the color to be used. Select this check box to view ScreenTips. Select the check box if you want to display the position boxes in the modify dialog boxes with colored background. Default value: selected.
Group related document Select this check box to group related document window under windows under one tab one tab. Modifying this option requires a restart for the changes to take effect. Restore hidden dialogs and messages Select this check box to restore dialogs or messages which you may have hidden while using RobotStudio.
Options:General:Licensing
View installed license keys Activation Wizard RobotStudio user experience program I want to help improve RobotStudio I do not want to participate right now Click to view the license keys per feature, version, type, expiration date and status. Click to activate RobotStudio license. For RobotStudio Basic users, it is mandatory to participate in the user experience report. For RobotStudio Premium users, you can choose whether or not to participate in the user experience report .
Options:General:Units
Quantity Unit Display decimals Edit decimals Select the quantity for which you want to change the units. Select the unit for the quantity. Enter the number of decimals that you want to be displayed. Enter the number of decimals that you want when modifying.
Options:General:Advanced
Number of undo/redo steps The number of operations that can be undone or redone. Lowering this value can decrease memory usage.
Warn about running Virtu- Warns of orphaned VC processes. al Controller processes on startup
7 File tab
7.4 Options Continued
Show acknowledge dialog Warns when deleting objects. box when deleting objects Show acknowledge dialog Warns when deleting targets and move instructions. box when deleting targets and corresponding move instructions Bring the output window Select this check box to bring the output window to front if an to front if an error meserror message is displayed sage is displayed
Automatically create docu- Select this check box to enable the creation of individual subment subfolders folders for document types. Enable Autosave Interval Select the check box to automatically save the station with defined intervals. Default value: cleared Specify the interval between the savings when using Autosave in this box.
Clear Recent Stations and Clears the list of recently accessed stations and controllers Controllers Document Locations Launches the Document Locations dialog box. For more information, see The Document Manager window on page 61.
Options:General:Screenshot
Entire application window Select this option to capture the entire application. Active document window Select this option to capture the active document window, typically the graphics window. Copy to clipboard Save to file Location ... File name The file suffix list Select this check box to save the captured image to the system clipboard. Select this check box to save the captured image to file. Specify the location of the image file. The default location is the "My Pictures" system folder. Browse for the location. Specify the name of the image file. The default name is "RobotStudio" to which is added a date. Select the desired file format. The default format is JPG.
Options:General:Screen Recorder
Framerate Start recording after Stop recording after Specify the framerate in frames per second. Select this option to start recording after the specified time. Select this option to stop recording after the specified time.
Resolution - Same as win- Select this option to use the same resolution as in the graphics dow window. Resolution - Limit resolu- Select this option to scale down the resolution as per the tion Maximum Width and Maximum Height you specify.
7 File tab
7.4 Options Continued
Maximum width Maximum height Video compression Specify the maximum width in pixels. Specify the maximum height in pixels. Select the video compression format. Note that DivX format is not supported.
File name and Output file Enter a file name and a file format. The default format is AVI. format You can also save the output format as WMV and MP4. The recommended format is MP4.
Options:Robotics:RAPID Editor
Show line numbers Show ruler Show whitespace Wrap long lines Convert tabs to spaces Tab size Text styles Text color Background color Bold Italic Select this check box to view line numbers in the RAPID editor Select this check box to show the ruler in the RAPID editor Select this check box to show whitespace characters in the RAPID editor Select this check box if you want to wrap long lines. Select this check box to convert tabs to spaces in the RAPID editor Specify the number of spaces for a Tab press. Specify the appearance of the various text classes. Specifies the text color of the RAPID editor. Specifies the background color of the RAPID editor. Select this check box for bold-face fonts in the RAPID editor. Select this check box for italicized fonts in the RAPID editor.
Options:Robotics:RAPID Profiler
Default RAPID log file Always ask for filename Specify the name of the default RAPID log file. Select this check box to manually specify the file name of the log file always.
Open analysis when log- Select this check box to open the analysis after the log is made. ging is stopped
Options:Robotics:Graphical Programming
Show dialog when warn- Select this check box if you want RobotStudio to display a ing for globally defined warning when there are workobjects with the same name that workobjects have been declared as in other tasks. Default value: selected. Show synchronize dialog Select this check box if you want the synchronize dialog box box after loading program to be displayed when you have loaded a program or a module. /module Default value: selected. Show notification that de- Select this check box if you want to be notified that wobj0 fault data is used and/or tool0 is active and will be used in the current action. Default value: selected. Set as active when creat- Select this check box if you want newly created tooldata to be ing tooldata set as active. Default value: selected. Set as active when creat- Select this check box if you want newly created workobjects ing workobjects to be set as active. Default value: selected.
7 File tab
7.4 Options Continued
AutoPath Specify the maximum gap allowed (in millimeters) when creating an AutoPath.
Options:Robotics:Synchronization
Use default synchroniza- Converting data, such as target to Workobject, shall use the tion locations default behavior for synchronization locations. Default value: selected. Show default synchroniza- Notifies of the behavior above. Default value: selected. tion locations notification Declaration default locations Specify the locations for corresponding objects when synchronizing to the VC.
Options:Robotics:Mechanism
Approach Vector Travel Vector Enable configuration check for jump to target/move instruction Select the approach vector. Default value: Z. Select the travel vector. Default value: X. Select this check box if you want to enable the configuration check configurations when jumping to target or move instructions. When selected and a target does not have a validated configuration assigned, you will be asked to set one. When cleared, the configuration closest to the current one is used. Default value: selected.
Options:Robotics:Virtual Controller
Always on top Enable transparency Logging Select this check box if you want to have the virtual FlexPendant always on top. Default value: selected. Select this check box if you want parts of the virtual FlexPendant to be transparent. Default value: selected. When the controller is warm started, Select this check box to log the console output to "console.log" in the controller directory Select this check box to log the console ouput to a console window
Automatically open virtual Select this check box to automatically open the virtual Operator Operator Window Window. Default value: Enabled.
Options:Online:Authentication
Recent Users Remove/Remove All Lists the recent users. Click these buttons to remove one or all recent users, respectively.
Enable Automatic Logoff Select the check box if you want to log off automatically. Timeout Determines the length of the session before being automatically logged off.
Options:Online:Online Monitor
Update Rate (s) Specifies the update interval.
Revolute Joint Limits Sets the revolution limit for joints. Linear Joint Limits Sets the linear limit for joints.
7 File tab
7.4 Options Continued
Singularities Sets the singularities.
Options:Graphics:Renderer
Select API to use for 3D graphics Select the low-level API to be used for rendering 3D graphics. The default value is Direct3D.
Options:Graphics:Appearance
Background color Gradient Show floor Click the colored rectangle to change the background color. Select the check box if you want to display the background color in gradient style. Default value: cleared. Select the check box if you want the floor (at z=0) to be displayed. Change the floor color by clicking the colored rectangle. Default values: selected. Click the colored rectangle to change the color of the floor. Select the check box if you want the floor to be transparent. Default values: selected. Select the check box if you want the UCS grid to be displayed. Default value: selected. Change the UCS grid space in the X coordinate direction by entering the requested value in the box. Default value: 1000 mm (or equivalent in other units). Change the UCS grid space in the Y coordinate direction by entering the requested value in the box. Default value: 1000 mm (or equivalent in other units).
Grid Space Y
Show coordinate system Select the check box if you want the coordinate systems to be displayed. Default value: selected. Show navigation and se- Select this check box to have the navigation and selection lection buttons buttons on the graphics window.
Options:Graphics:Performance
Detail level Select if the detail level is to be Auto, Fine, Medium or Coarse. Default value: Auto.
Cull back-facing triangles Select the check box if you want to ignore the back-facing triangles. Default value: selected. Culling back-facing triangles improves the graphics performance but may give unexpected display if surfaces in models are not faced correctly. Enable twosided lighting Select the check box if you want to enable two-sided lighting. Default value: cleared. Cull objects smaller than Select the size in pixels under which objects will be disregarded. Default value: 2 pixels. Store model data on Select the check box if you want to store the model data on a graphics card (recommen- graphics card. Default value: cleared. ded) Storing model data on a graphics card improves graphics performance, but causes stability problems for some hardware combinations.
The settings you make here are generic for all objects in RobotStudio. With the Graphic Appareance dialog box you can, however, override some of these settings for single objects. Continues on next page
3HAC032104-001 Revision: J Copyright 2008-2012 ABB. All rights reserved. 197
7 File tab
7.4 Options Continued Options:Graphics:Behavior
Navigation Navigation sensitivity Select a navigational activity and then specify the mouse buttons to be used for the selected navigational activity. Select the navigation sensitivity when using the mouse movements or navigation buttons by clicking the bar and dragging it into position. Default value: 1. Change the selection radius (that is, how close the mouse cursor click must be to an item to be selected) by entering the requested pixel value in the box. Default value: 5. Set if the selected object shall be distinguished in the Graphics window by a color, by an outline or not at all. Default value: color. Click the colored rectangle to change the highlight color.
Selection highlight
Highlight color
Activate selection preview Select the check box to enable temporarily highlighting of items that may be selected when the mouse cursor passes over them. Default value: selected. Show local coordinate system for selected objects Select the check box to show the local coordinate system for the selected objects. Default value: selected.
Options:Graphics:Geometry
Detail Level Specify the level of detail required when importing geometries. Select Fine, Medium or Coarse as required.
Options:Simulation:Collision
Perform collision detection Stop simulation at collision Log collisions to Output window Log collisions to file: Select if collision detection is to be performed during simulation or always. Default value: During simulation. Select this check box if you want the simulation to stop at a collision. Default value: cleared. Select this check box if you want the collisions to be logged to the output window. Default value: selected. Select this check box if you want to log the collisions to a file. Browse for the file to log in by clicking the browse button. Default value: cleared.
Enable fast collision detec- Select this check box to enhance the performance by detecting tion collisions between geometrical bounding boxes instead of geometrical triangles. This might result in falsely reported collisions, since the triangles are the true geometry and the bounding boxes always are larger. All true collisions will, however, be reported. The larger the object, the greater the number of false collisions that are likely to be detected. View Clear ... Click this button to open the log file specified in the file box in Notepad. Click this button to delete the log file specified in the file box. Click this button to browse for the file in which you want to log the collisions.
7 File tab
7.4 Options Continued Options:Simulation:Virtual Time
Virtual Time mode- Free run This option makes RobotStudio always use the free run mode. Simulations created using the Smart Component are now supported with VC in this mode. As a result, FlexPendant and ScreenMaker applications can be executed on the FlexPendant together with Smart Component simulations.
Virtual Time mode - Time This option makes RobotStudio always use the time slice mode. Slice Run time slice in parallel When simulating a large number of controllers (such as ten for multiple controllers controllers), this option may increase performance by utilizing multiple CPU cores. This option is hardware dependent and hence may give different results depending on the computer used.
Options:Simulation:Accuracy
Simulation speed As fast as possible Sets the simulation speed relative to real time. You can define the simulation speed to a maximum of 200% Select this check box to run the simulation as fast as possible. When you select this option, the simulation speed slider is disabled. Specifies the simulation timestep.
Simulation timestep
199
8 Home tab
8.1 Overview
8 Home tab
8.1 Overview
The Home tab The Home tab contains the controls required for building stations, creating systems, programming paths and placing items.
201
8 Home tab
8.2 ABB Library
3HAC032104-001 Revision: J
8 Home tab
8.3 Import Library
203
8 Home tab
8.4.1 Robot System
If only one mechanism was selected in the previous page, this page will not be shown. Tasks can be added and removed using the respective buttons; mechanisms can be moved up or down using the respective arrows. To map the mechanisms to tasks, follow this step: 9 Optionally, make any edits in the mapping, and then click Next. Continues on next page
204 Copyright 2008-2012 ABB. All rights reserved. 3HAC032104-001 Revision: J
8 Home tab
8.4.1 Robot System Continued The System Option page appears. 10 On the System Option page, you have the option to align Task Frame(s) with the corresponding Base Frame(s). For single robot system, select the checkbox to align task frame with base frame: For MultiMove Independent system, select the check box to align task frame with base frame for each robot. For MultiMove Coordinated system, select the robot from the drop down list and select the check box to align task frame with base frame for the selected robot.
11 Verify the summary and then click Finish. If the system contains more than one robot, the number of tasks and the baseframe positions of the mechanism should be verified in the System Configuration window. Adding a template system 1 Click From Template to bring up a dialog box. 2 In the Select Template System list, either select an appropriate template or click Browse and browse to one. 3 In the Libraries group, select whether to import libraries or to use the existing station libraries. 4 In the System group, enter a name and location, and then click OK. Adding an existing system 1 Click Existing to bring up a dialog box. 2 In the Select System Pool list, select a folder. 3 In the Systems Found list, select a system. 4 In the Libraries group, select whether to import libraries or to use the existing station libraries. 5 Click OK. Selecting a system from a robot gallery 1 Click Quick System to bring up a gallery, and then click the appropriate robot. Setting up a conveyor 1 Click Setup. 2 In the Part Sequence tab, select Part from Available Parts. The right arrow button is enabled. 3 Click right arrow button to move the Part to Parts moved by Conveyor list. 4 Click up and down arrow buttons to move the selected part in Parts moved by Conveyor list. 5 In the Part Tracking tab, select Part from Parts moved by Conveyor list. 6 Select CNV1 from the Mechanical Unit list. Continues on next page
3HAC032104-001 Revision: J Copyright 2008-2012 ABB. All rights reserved. 205
8 Home tab
8.4.1 Robot System Continued 7 Select a workobject from the Workobject list. 8 Click Add. The workobject appears in the list. If the same workpiece is tracked by more than one robot, add a pair of workobject for each robot that tracks the workpiece. This procedure has to be repeated for each workpiece that should be tracked. 9 Click OK. 10 Activate the Conveyor Mechanical Unit (CNV1). See Activate Mechanical Units on page 331 Removing objects from conveyor 1 Click Setup. The Conveyor Setup dialog box appears. 2 In the Part Sequence tab, select Part from the Parts moved by Conveyor list The left arrow button is anabled. 3 Click left arrow to remove the part from the Parts moved by Conveyor list to Available Parts list.
3HAC032104-001 Revision: J
8 Home tab
8.4.2 External Axis Wizard
Using the External Axis Wizard 1 From the Robot System menu, click External Axis Wizard. The first page of the wizard appears. It lists the the previously defined mechanisms (including robots) in the Mechanisms box.
8 Home tab
8.4.2 External Axis Wizard Continued 2 From the Mechanisms box, select the mechanisms to include in the system. Note The mechanism model must be built in such a way that a kinematics model can be created. The joint chain must be defined such that it can be described by DH parameters. The mechanism model must sometimes be modified to be able to keep the flange in the desired position: Update Mechanism - Click this to assign the mechanism's frame values to the controllers frame for correct calculation and configuration. Add Locked Axis - Click this to add an additional locked axis. This is a dummy axis with frame definition. This dummy axis is added to the controller configuration and also to the RobotStudio mechanism. You cannot jog this additional axis. Ignore - Click this to proceed without making any changes. You can save the configuration but the simulation in RobotStudio will not be correct. This option is not recommended.
3 Click Next. The mechanisms along with their joints are listed. 4 To connect and configure a motor unit or gear unit for every joint, select the joint. The following configuration details and their default values are displayed: Mechanical Unit Motor Unit Drive Unit Link Logical Axis Board Transmission Node Note Default values are given for all attributes, except Motor Unit. However, you must review and change to the correct parameters to give a valid configuration. For more information about connecting and configuring the motor units or gear units, see Configuring gear units on page 209 and Configuring motor units on page 209. 5 To use Activation Relay, select Activation Relay. For more information about using Activation Relay, see the System Parameters manual.
8 Home tab
8.4.2 External Axis Wizard Continued 6 To share the drive of another mechanical unit, select that mechanical unit in the Common Drive list box. The common drive option is not available unless an activation relay is chosen for the mechanical unit. This ensures that no two mechanical units sharing a drive can be activated at the same time. For more information on common drives, see Configuring common drives on page 210. 7 Click Next. The Finish page comes up. 8 To save the configuration to a file, click Save. The configured kinematics of external axis devices are saved to a configuration file. 9 To load the saved configuration to the system on exiting from the wizard, select the Load Configuration to System check box. 10 Click Finish to exit the wizard. Use the saved configuration files to assemble a complete controller system configuration according to specification. When a system is configured, the MOC.cfg file with a subset for the external equipment is saved and a virtual controller is started for verification. Configuring gear units Begin by allocating the controller connections for gear units (MTD or MID) included in the selection There can be 0-3 gear units connected to a SMB box. In RobotStudio each gear unit is represented as a separate mechanism. If several gear units are attached in series the kinematics of this new mechanism is determined by the attachments between the gear units. The base frame will correspond to the calibration frame of the first mechanism in the chain. The kinematics will then be calculated as the Denavit Hartenberg parameters between the following axes in the chain. The following combinations are possible: 1 gear unit will be configured as a Single in the controller. 2 or 3 gear units in series will be configured as a Robot in the controller.
Configuring motor units After gear units have been configured, next examine custom mechanisms. If one or more custom mechanisms are included in the selection, the type of motor unit driving each joint has to be specified. There can be a maximum of 3 motor units driving custom mechanisms, connected to the controller. How the motor units are connected depends on the number of gear units in the previous step. For each joint in custom mechanisms the size of the motor unit and the gear ratio has to be decided. The default is maximum size (MU400) and gear ratio -transm_joint 50.
8 Home tab
8.4.2 External Axis Wizard Continued The controller kinematics configuration follows the scheme for gear units: 1 motor unit will be configured as a Single in the controller. 2 or 3 motor units in series will be configured as a Robot in the controller.
Configuring electronically linked motors Electronically linked motors are two motor units which drive the same axis. To link a motor unit to another electronically, then select the respective joint in the Follow list box. Configuring common drives To have two mechanical units share drives, you can select the mechanical unit to share drives with in the Common Drive list box. The list box shows all other mechanisms (except TCP robot) that have the same number of joints. The joints of the mechanical units will be defined such that they use the same logical axis and drive system.
3HAC032104-001 Revision: J
8 Home tab
8.5 Import Geometry
2 Click User Geometry to select the user defined geomtery. 3 Click Browse for Geometry to browse to the folder where the geometry is located. For predefined geometries, click the Geometry icon to the left in the dialog box. 4 Select the required geometry and click Open. If you want the geometry to move with another object, attach it to the requested object, see Attach to on page 434. To modify the detail level for import of geometries, see Options on page 193.
211
8 Home tab
8.6.1 Frame
3HAC032104-001 Revision: J
8 Home tab
8.6.2 Frame from Three Points
X, Y and Z coordinates, a point on the X Position axis and a point in the X-Y plane two points on the X axis and one point on Three Point the Y axis
3 If you select Position: Enter the Position for the object. Enter the Point on X axis for the object. Enter the Point on X-Y plane for the object. Click Create. Enter the First Point on X axis for the object. This is the point closest to the frames origin. Enter the Second Point on X axis for the object. This is the point further away in the positive X direction. Enter the Point on Y axis for the object. Click Create.
Point on X axis
Point on Y axis
8 Home tab
8.6.2 Frame from Three Points Continued
Set as UCS Select this check box to set the created frame as the user coordinate system.
3HAC032104-001 Revision: J
8 Home tab
8.7 Workobject
8.7 Workobject
Creating a workobject 1 On the Home tab, in the Path Programming group, click Other, and then click Workobject. This opens the Create Workobject dialog box. 2 In the Misc Data group, enter the values for the new workobject. 3 In the User Frame group, do one of the following: Set the position of the user frame by entering values for the Position x,y,z and the Rotation rx, ry, rz for the workobject by clicking in the Values box. Select the user frame by using the Frame by points dialog box.
4 In the Object Frame group you can reposition the object frame relative to the user frame by doing any of the following: Set the position of the object frame by selecting values for Position x, y, z by clicking in the Values box. For the Rotation rx, ry, rz, select RPY (Euler XYX) or Quaternion, and enter the rotation values in the Values dialog box. Select the object frame by using the Frame by points dialog box.
5 In the Sync Properties group, enter the values for the new workobject. 6 Click Create. The workobject will be created and displayed under the Targets node under the robot node in the Paths&Targets browser. The Create Workobject dialog box
Name Robot holds workobject Specify the name of the workobject. Select whether the workobject is to be held by the robot. If you select True, the robot will hold the workobject. The tool can then either be stationary or held by another robot.
Moved by mechanical unit Select the mechanical unit that moves the workobject. This option is applicable only if Programmed is set to False. Programmed Position x, y, z Rotation rx, ry, rz Frame by points Position x, y, z Rotation rx, ry, rz Frame by points Storage type Module Select True if the workobject is to use a fixed coordinate system, and False if a movable (that is, external axes) will be used. Click in one of these boxes, and then click the position in the graphics window to transfer the values to the Position boxes. Specify the rotation of the workobject in the UCS. Specify the frame position of the user frame. Click in one of these boxes, and then click the position in the graphics window to transfer the values to the Position boxes. Specify the rotation of the workobject. Specify the frame position of the object frame. Select PERS or TASK PERS. Select the Storage TypeTASK PERS if you intend to use the workobject in multimove mode. Select the module in which to declare the workobject.
215
8 Home tab
8.8 Tooldata
8.8 Tooldata
Creating tooldata 1 In the Layout browser, make sure the robot in which to create the tooldata is set as the active task. 2 On the Home tab, in the Path Programming group, click Other, and then click Tooldata. This opens the Create Tooldata dialog box. 3 In the Misc Data group: Enter the Name of the tool. Select whether the tool is to be held by the robot in the Robot holds tool list. Define the Position x, y, z of the tool. Enter the Rotation rx, ry, rz of the tool. Enter the Weight of the tool. Enter the Center of gravity of the tool. Enter the Inertia of the tool. In the Storage type list, select PERS or TASK PERS. Select TASK PERS if you intend to use the tooldata in MultiMove mode. In the Module list, select the module in which to declare the tooldata.
7 Click Create. The tooldata appears as a coordinate system in the graphics window.
3HAC032104-001 Revision: J
8 Home tab
8.9.1 Teach Target
217
8 Home tab
8.9.2 Create Target
absolute in the world coordinate system World of the station relative to the position of the active workobject in a user-defined coordinate system Work Object UCS
4 In the Points box, click Add New and then click the desired position in the graphics window to set the position of the target. You can also enter the values in the Coordinates boxes and click Add. 5 Enter the Orientation for the target. A preliminary cross will be shown in the graphics window at the selected position. Adjust the position, if necessary. To create the target, click Create. 6 If you want to change the workobject for which the target is to be created, expand the Create Target dialog box by clicking the More button. In the WorkObject list, select the workobject in which you want to create the target. 7 If you want to change the target name from the default name, expand the Create Target dialog box by clicking the More button and entering the new name in the Target name box. 8 Click Create. The target will appear in the browser and in the graphics window. Note The created target will not get any configuration for the robot axes. To add the configuration values to the target, use either ModPos or the Configurations dialog box. If using external axes, the position of all activated external axes will be stored in the target. The Create Target dialog box
Reference Position Orientation Add Select the reference coordinate system to which all positions or points will be related. Click in one of these boxes, and then click the position in the graphics window to transfer the values to the Position boxes. Specify the orientation of the target. Click this button to add a point and its coordinates to the Points list.
8 Home tab
8.9.2 Create Target Continued
Modify Points More/Less Target name Workobject Click this button to modify an already defined point, after you have selected it in the Points list and entered new values. The target points. To add more points, click Add New, click the desired point in the graphics window, and then click Add. Click this button to expand or collapse parts of the create target dialog box. Here you can change the name of the target you are creating. It is visible only when the create target dialog box is expanded. Here you can change the workobject in which the target is to be created. It is visible only when the create target dialog box is expanded.
219
8 Home tab
8.9.3 Create Jointtarget
4 Click Create. The jointtarget will appear in the browser and in the graphics window. The Create Jointtarget dialog box
Name Robot axes External axes Storage Type Module Specify the name of the jointtarget. Click the Values list, enter the values in the Joint values dialog box and click Accept. Click the Values list, enter the values in the Joint values dialog box and click Accept. Select the Storage TypeTASK PERS if you intend to use the jointtarget in multimove mode. Select the module in which you want to declare the jointtarget.
3HAC032104-001 Revision: J
8 Home tab
8.9.4 Create Targets on Edge
Reverse travel direction specify if the travel vector of the target is parallel or inversely parallel to the edge tangent.
Note For each target point, a preview of the approach and travel vectors are displayed as arrows and as a sphere representing the point on the edge in the graphics window. The preview of the arrows are updated dynamically once the variables are modified. 4 Click Remove to remove the target points from the list box.
8 Home tab
8.9.4 Create Targets on Edge Continued 5 Click More to expand the Create Targets on Edge dialog box and to choose the following advanced options:
Use... Target name Task Workobject to.. change the target name from the default name to a new user defined name select the task for which to add targets. By deafult, active task in the station is selected. select the workobject for which you want to create the targets on edge
Insert Move Instructions create Move instructions in addition to targets, which in will be added to the selected path procedure. The active process definition and process template will be used.
6 Click Create. The target points and Move instructions (if any) are created and are displayed in the Output window and graphics window.
3HAC032104-001 Revision: J
8 Home tab
8.10 Empty Path
223
8 Home tab
8.11 AutoPath
8.11 AutoPath
Overview AutoPath helps in generating accurate paths (linear and circular) based on CAD geometry. Prerequisites You need to have a geometric object with edges, curves, or both. Creating autopath Use this procedure to generate an autopath: 1 In the Home tab, click Path and select AutoPath. The AutoPath dialog box appears. 2 Select the edge or curve of the geometric object for which you want to create an autopath. The selection is listed as edges between <Start> and <End> in the graphic window. Note If in a geometric object, you select curve (instead of an edge), then all the points that result in the selected curve are added as edges to the list in the graphic window. Ensure you always select continuous edges.
3 Click Remove to delete the recently added edge from the graphic window. Note To change the order of the selected edges, select Reverse check box. 4 You can set the following Approximation Parameters:
Select or enter values in MinDist(mm) to Set the minimum distance between the generated points. That is, points closer than the minimum distance are filtered. Set the maximum deviation from the geometric description allowed for the generated points. Determines how large a circle radius has to be before considering the circumference as a line. That is, a line can be considered as a circle with infinite radius. Generate a linear move instruction for each target. Generate circular move instructions where the selected edges describe circular segments. Generate points with a constant distance.
ChordDev(mm) MaxRadius(mm)
The Reference Surface box shows the side of the object that is taken as normal for creating the autopath. Continues on next page
224 Copyright 2008-2012 ABB. All rights reserved. 3HAC032104-001 Revision: J
8 Home tab
8.11 AutoPath Continued 5 Click Create to generate a new autopath. A new path is created and move instructions are inserted for the generated targets as set in the Approximation parameters. Note The targets are created in the active workobject. 6 Click Close.
225
8 Home tab
8.12 MultiMove
8.12 MultiMove
Overview For browsing between the pages of the MultiMove window, click the tabs in the navigation pane. By default the tabs are arranged in an order that corresponds to the typical workflow: Setup tab
System Con- Select System fig System Here you select the system that contains the robots to program. Each robot in the system is presented in its own row in this grid. In the columns you make the settings as described below. Select this check box to use the robot in the MultiMove program. Specify if the robot holds the tool or the work piece. Displays the name of the robot. Click this button to update the paths in the grid if any of the paths have been changed. The button turns red if a change has been detected and an update is necessary. Each path in the station is presented in its own row in this grid. In the columns you make the settings as described below. Select this check box for the paths to use for the program. Displays the order in which the paths will be executed. To change the order, use the lists in the path column for rearranging the rows in which the paths appear. Sets the path to be executed here.
Paths
Enable Order
Select Robot that other shall jump to When creating a new start position, select a robot that the other will try to reach here. Apply Jumps the other robots to the new start position.
Motion Behavior tab This is used for specifying constraints and rules for how the robots shall move relative to each other. The default setting is no particular constraints, which results in the fewest joint movements. However, changing the motion behavior might be useful for: Continues on next page
226 Copyright 2008-2012 ABB. All rights reserved. 3HAC032104-001 Revision: J
Locking the orientation or position of the tool. Optimizing cycle time or reachability by allowing tolerances.
8 Home tab
8.12 MultiMove Continued Avoiding collisions or singularity by restricting joint motions.
Both Joint Influence and TCP Constraints restrict the robots motions. Changes in these settings might result in lower performance or situations where it is impossible to find proper solutions. The weight values for Joint Weights and TCP Constraints set how much the setting for each joint or TCP direction shall affect the robots relative to each other. It is the difference between the weight values that matters, not the absolute values. If contradicting behaviors have been set, the one with the lowest weight value will win. Tool Tolerance, instead of restricting, enables more motions. Therefore, tolerances may improve cycle and process times and enhance the reachability of the robots. Tolerances, too, have weight value; here is set how much the robots shall use the tolerance. A low value indicates that the tolerance will be used a lot, while a high value means that the robots will try to avoid using the tolerance. The joint influence controls the balance of how much the robots will use their joints. Decreasing the weight value for one axis will restrict the motion for this axis, while increasing it will promote motion on this axis relative to alternative axes. The TCP constraints control the position and orientation of the tool. Enabling a TCP constraint will decrease the motion of the tool and increase the motion of the work piece. The tool tolerances control the allowed deviation between the tool and the work piece. By default, tolerances are not enabled, which means that no deviation is allowed. Enabling a tolerance, if applicable, might improve motion performance. For example, if the tool is symmetric around its Z axis, you can enable the Rz tolerance without affecting the accuracy of the generated paths. The tool offset sets a fixed distance between the tool and the paths.
Joint Influence Select Robot Joints for Robot Select the robots joints to constrain in this box. Displays the robots joints and their constraint weights. Each joint is presented in its own row. Displays which axis the constraint affects. Specify how much the motion for the axis is constrained. 0 means a locked axis, while 100 means no constraint relative to default constraint values. This grid displays the position and rotations of the TCP together with their constraint weights. Select this check box to activate the constraint for this TCP pose. Displays the TCP pose that is affected by the constraint. Specify the pose value to constrain at. Either type the value, or click the Pick from TCP button to use the values of the current TCP position.
Axis Influence
TCP Constraints
Active TCP
8 Home tab
8.12 MultiMove Continued
Influence Specify how much the motion for the TCP value is constrained. 0 means a locked TCP at this pose, while 100 means no constraint relative to default constraint values. Select this check box to activate the tolerance for this tool pose. Displays the tool pose that is affected by the constraint. Specify the pose value to apply the tolerance around. Specify the size of the tolerance. 0 means no deviation is allowed, while 100 means all deviations are allowed. Select this check box to activate the offset for this tool pose. Displays the tool pose that is affected by the offset setting. Specify the value of the offset here.
Tool Tolerance
Tool Offset
Create Paths tab This tab is used for creating RobotStudio paths for the MultiMove robots. The created paths will accord with the motions displayed during the most recently played test simulation. With the settings group you set up the MultiMove properties that connect the tasks for the tool robot and work piece robot to each other. With the WP robot settings group you set up the properties for the task that will be generated for the work piece robot. The generate path group contains the button that creates the paths.
Settings Start ID Specify the first ID number for the synchronization of the instructions for the robots. Specify the gap between the succeeding ID numbers. Specify a prefix for the syncident variable, which connects the sync instructions in the tasks for the tool robot and the work piece robot with each other. Specify a prefix for the tasklist variable, which identifies the tasks for the tool robot and work piece robot to synchronize. Specify a prefix for the generated paths. Specify a prefix for the generated targets. Specify the work object to which the targets generated for the work piece robot shall belong.
8 Home tab
8.12 MultiMove Continued
WP TCP Specify which tool data the work piece robot shall use when reaching its targets. Clicking this button generates paths in RobotStudio for the latest tested motions according to the settings specified.
Generate Paths
Create paths
MultiTeach tab With this tab you teach complete synchronized move instructions for the robots in the MultiMove program.
Settings Path Prefix Target Prefix Start ID Specify a prefix for the paths to create. Specify a prefix for the generated targets here. Specify the first ID number for the synchronization of the instructions for the robots. Specify the gap between the succeeding ID numbers. Specify a prefix for the syncident variable, which connects the sync instructions in the tasks for the tool robot and the work piece robot with each other. Specify a prefix for the tasklist variable, which identifies the tasks for the tool robot and work piece robot to synchronize. Select the type of synchronization to use. Coordinated implies that all move instructions are synchronized for the robots. Semicoordinated implies that the robots work independently at some times and wait for each other at other (like when repositioning the work piece). For detailed information about the coordination types, see the Application manual - Multimove. Select the robots for teaching targets. This grid also displays the workobjects and tools that will be used for the targets. Displays a hierarchal tree which contains the created move instructions. The tree is organized the same way as the tree in the Layout browser. Creates move instructions for the robots selected in the settings to their current positions. The created move instructions are immediately inserted at their correct places in the MultiTeach Information tree.
Setup
Teach
MultiTeach Information
MultiTeach
8 Home tab
8.12 MultiMove Continued
Done Confirms the creation of the instructions.
Test tab RobotStudios MultiMove window has a page with commands for testing multimove programs. Its default placement is at the bottom of the MultiMove window. The status group displays the status of the simulation, that is, whether the current settings have been tested or if errors have occurred. In addition to the status group, information from the virtual controller is also displayed in RobotStudios Output window during simulation.
Play << < > >> Jumps the robots, respectively, to the previous and next targets in paths. The double arrow buttons jump several targets at once, while the single arrow buttons jump one target for each click. Click this button to move the robots along the paths. Play also has a list box in which you can activate the following commands: Save current position: Saves the current start position. Since the calculated motions are based on the robot start position saving the start position is useful when testing alternative solutions. Restore saved position: Moves the robots back to the saved start positions. Restore last closed loop position: Moves the robots back to the list used start position. Close loop: Finds a suitable start position based on the robots current positions and prepares the calculation of movements. Calculate: Calculates and executes the movements. Sets the speed at which the simulation is performed. Select this check box to make the simulation stop after running the paths one time. If cleared, the simulation will continue playing over and over until it is stopped manually. Select this check box to run the simulation as the movements are calculated. This is useful for troubleshooting purposes, since it displays and reports targets the robot cannot reach.
Play
Simulate Online
8 Home tab
8.12 MultiMove Continued
Cancel on error Select this check box to stop the simulation if an error occurs. Cancel on errors is recommended to use when simulate online is used to minimize the number of error messages once the first error is identified. Select this check box to display the search for a suitable start position in the graphics window. Clear the check box to jump the robots to the start position when it is found.
The MultiMove configure system wizard The MultiMove configure system wizard guides you through configuring robots and workobjects for MultiMove system. If the workobjects are not configured correctly when the MultiMove functions are started, you will be asked whether to run the wizard. You can also start it manually from the Tools page of MultiMove. The wizard contains four pages, the information pane at the bottom indicates the current page.
Workpiece robot The workpiece robot page contains a list in which you select the robot that holds the workpiece. Only one robot can be set up as workpiece robot. If your station has several robots that hold the workpiece, set up one of them as workpiece robot and the other as tools robots, and create paths for these robots in which they only hold the workpiece. The tool robots page contains a list in which you select the robots that operate on the work piece. All robots selected as tools robots will be coordinated to the workpiece robot. Any robot of the system that is selected neither as workpiece robot or tool robot will not be coordinated. The Workobjects page contains a box for each tool robot in which you specify the workobject in which the targets for the MultiMove paths shall be created. The wizard will attach this workobject to the workpiece robot, for enabling MutliMove. Either type in a name for a new Workobject to create in the box, or select the Use existing WorkObject check box and then select one from the list. The Result page displays a summary of the station configuration. Either click Done to finish or Previous to go back and change the setup.
Tool robots
Workobjects
Result
Note The wizard will not help you configure the RobotWare system correctly. If the correct options are not used you will not be able to synchronize generated MultiMove paths to the virtual controller, even if you can use the MultiMove functions in RobotStudio.
8 Home tab
8.12 MultiMove Continued The Analyze path tool This tool checks whether existing paths are coordinated correctly for MultiMove. The analyzer opens in a window of its own and contains three pages. The information pane at the bottom indicates the current page.
Select Paths Enable Task Path Analyze Report
reportok
Select to include the task in the analysis. Displays the name of the task. Select the path to analyze for the current task. Click this button to start the analysis. OK. The paths are compatible in the specified aspect.
Analyze
reportin
Information. The paths are not fully compatible in the specified aspect, but the robot program may still be executable. Error. The paths are not compatible in the specified aspect, and the robot program is not executable.
reporter
The Recalculate ID tool This is one of the tools for working manually with MultiMove programs. It sets new sync ID arguments to the move instructions in a MultiMove path. By using the tool with the same start ID and ID step index on all paths that shall be synchronized, you can be sure that the IDs match if all paths contain the same number of move instructions.
Title Start ID ID Step index Displays the name of the path to recalculate IDs for. Sets the number of the first ID in the path. Sets the size of the step to increase the ID number for each move instruction.
Only update instructions Select this check box to recalculate only those IDs for instructhat has ID defined tions that have existing IDs. Clear this check box to also create IDs for instructions that have no IDs (for example, if you have added new move instructions that shall be coordinated). The Only update instruc- Select this check box to affect only those move instructions tions between SyncMove that belong to already synchronized parts of the path. On/Off check box. Clear this check box to update IDs for instructions in all parts of the path.
8 Home tab
8.12 MultiMove Continued The Convert path to MultiMove path tool This is one of the tools for working manually with MultiMove programs. It adds sync ID arguments to all move instructions in the path and, optionally, SyncMoveOn/Off instructions, thus preparing an ordinary path for MultiMove use. You use the tool on one path a time, so for creating a MultiMove program, you convert one path for each robot and then create a tasklist and syncidents which you add to the Sync instructions.
Title Start ID ID Step index Displays the name of the path to recalculate IDs for. Sets the number of the first ID in the path. Sets the size of the step to increase the ID number for each move instruction.
Add SyncMove On/Off be- Select this check box to add instructions that start and stop fore and after the synchronization.
The Create Tasklist tool This is one of the tools for working manually with MultiMove programs. It creates a variable of the RAPID data type tasks, which identifies the tasks that will be synchronized. In each SyncMoveOn or WaitSyncTask instruction, you then specify which tasklist to use.
Tasklist name Specifies the name of the tasklist.
Tasks that will be included Select the check box for each task to include in the list.
The Create Syncident tool This is one of the tools for working manually with MultiMove programs. It creates a variable of the RAPID data type SyncIdent, which identifies the sync instructions that shall be synchronized.
Syncident name Specifies the name of the SyncIdent variable to create.
Tasks that SyncIdent will Select the check box for each task to use this Syncident in. be created in
233
8 Home tab
8.13 Teach Instruction
3HAC032104-001 Revision: J
8 Home tab
8.14 Move Instruction
235
8 Home tab
8.15 Action Instruction
2 Right click Path and select Insert Action Instruction. The Create Action Instruction dialog box appears. 3 From the Instruction Templates list, select the action instruction to create. 4 Optionally, modify instruction arguments in the Instruction Arguments grid. For detailed information about the arguments for each instruction, see the Action Instruction on page 236. 5 Click Create.
3HAC032104-001 Revision: J
8 Home tab
8.16 Instruction Template Manager
xx0600003320
Item 1
8 Home tab
8.16 Instruction Template Manager Continued
Item 2 Description The instruction template tree. This hierarchal tree set organizes the templates. Templates are always the lowest level nodes. For details about specific nodes in the tree, see item 5 and below. Brief description for editing and creating instruction templates. The Instruction grid. All arguments and settings for the object selected in the tree are displayed here. Only white boxes are editable. Red values indicate that the values are invalid. The Instruction templates top node. Here you can see to which task the templates belong. The Action instructions node contains everything related to action instruction templates. An Action instruction description node, here represented by the Set DO instruction, defines the arguments that can be set for the action instruction templates of that kind. You can create action instruction descriptions for all action instructions known by the system running on the virtual controller. An Action instruction template node, here represented by Default, contains instances of the action instruction descriptions, with defined values for the arguments. The Move instructions node contains everything related to move instruction templates. The Move instruction descriptions node contains all move instructions descriptions for the task. If the description for an instruction is not present in the list, right-click this node to add it. You can create move instruction descriptions for all move instructions known by the system running on the virtual controller. A Move instruction description node, here represented by the MoveAbsJ node, defines the arguments that can be set for the move instruction templates of that kind. Unlike action instructions, instruction templates related to a certain move instruction descriptions are not stored in child nodes under the description, due to a more complex hierarchy. The Process definitions node, which gathers all process definitions, contains sets of process templates which in turn contain instruction templates optimized for specific processes. A Process definition node, here represented by the generic Move process, contains sets of process templates which in turn contain instruction templates optimized for specific processes. A Process template node, here represented by the generic Default process, contains sets of move instruction templates with argument values optimized for specific processes. A process template can hold one move instruction template for each move instruction type defined by a move instruction description. A Move instruction template node, here represented by MoveJ, contains instances of move instruction descriptions with argument values customized for specific processes.
3 4
5 6 7
9 10
11
12
13
14
15
Importing a template 1 Click Import to bring up the Open File dialog box. 2 Select the file to import, and click OK.
8 Home tab
8.16 Instruction Template Manager Continued Exporting a template 1 Select an exportable node in the tree view and click Export to bring up the Save File dialog box. 2 Click OK. Validating the templates 1 Select a node in the tree view and click Validate. Any invalidity will be reflected by the icons and ToolTips of the respective node and reported in the Output window.
239
8 Home tab
8.17.1 Task
3HAC032104-001 Revision: J
8 Home tab
8.17.2 Workobject
8.17.2 Workobject
Selecting a Workobject Select a workobject from the Workobject drop-down list. The selected workobject indicates active workobject, to which new targets and move instructions are added.
241
8 Home tab
8.17.3 Tool
8.17.3 Tool
Selecting a Tool Select a tool from the Tool drop-down list. The selected tool indicates active tool, to which move instructions are added.
3HAC032104-001 Revision: J
8 Home tab
8.18.1 Move
243
8 Home tab
8.18.2 Rotate
8.18.2 Rotate
Rotating an item 1 In the Layout browser, select the item you want to rotate. 2 Click Rotate. 3 In the graphics window, click one of the rotational rings and drag the item into position. If you press the ALT key while rotating, the item will snap 10 degrees at a time.
3HAC032104-001 Revision: J
8 Home tab
8.18.3 Jog Joint
245
8 Home tab
8.18.4 Jog Linear
3HAC032104-001 Revision: J
8 Home tab
8.18.5 Jog Reorient
247
8 Home tab
8.18.6 MultiRobot Jog
3HAC032104-001 Revision: J
8 Home tab
8.19 The 3D View group
To view the objects as a surface, wireframe, both surface and wireframe, by removing hidden lines.
Show/Hide You can either show or hide the following options: View You can control the graphics view and create new views.
Setting View All Description To view all the objects in the station.
Target Names Frame Names Path Names All Targets/Frames All Paths All Parts All Mechanisms
8 Home tab
8.19 The 3D View group Continued
Setting View Orientation Description To view the objects in the following different orientations. Front Back Right Left Top Bottom Adds a new View tab in the graphics window. Stores the location and direction of a virtual camera in the 3D environment. For more information, see Viewpoint on page 251. Creates text markup. For more information, see Markup on page 253.
3HAC032104-001 Revision: J
8 Home tab
8.20 Viewpoint
8.20 Viewpoint
Overview A Viewpoint stores the location and direction of a virtual camera in the 3D environment. It stores points of interest in a station and to create camera movements during simulation. Creating Viewpoint You can create a viewpoint in a station in two ways: 1 In the Home tab, click View and select Create Viewpoint. 2 In the Layout browser, right-click the station and select Create Viewpoint. A viewpoint is created and displayed (as an eye icon) in the layout browser to the left. The position and direction of the Viewpoint can also be visualized as an arrow in the 3D graphics. By default, the newly created viewpoints are not visible and cannot be selected by clicking on the graphics. Viewpoint functions In the Layout browser, right-click Viewpoint to perform these function:
Function Move to Viewpoint Set to current Description Moves the active 3D view to the location stored in the viewpoint. Modifies the viewpoint to the current location and direction of the active 3D view. This action cannot be undone. Toggles the visibility of the viewpoint 3D representation. This action cannot be undone. Deletes the viewpoint. This action cannot be undone. Renames the viewpoint. This action cannot be undone.
Move to Viewpoint You can also move active 3D view to the location stored in the Viewpoint using Event manager. 1 Create a viewpoint. See Creating Viewpoint on page 251. 2 Add an event. See Event Manager on page 324 The Create new event dialog box appears. 3 Select Simulation under Activation and Simulation time under Event trig type. Click Next. 4 Set the activation time. Click Next. 5 Select Move to Viewpoint from Set Actio type. Click Next. 6 Select the viewpoint from select Viewpoint and set the transition time. Continues on next page
3HAC032104-001 Revision: J Copyright 2008-2012 ABB. All rights reserved. 251
8 Home tab
8.20 Viewpoint Continued 7 Click Finish. Move to viewpoint function is also executed when replaying the simulation in a Station Viewer.
3HAC032104-001 Revision: J
8 Home tab
8.21 Markup
8.21 Markup
Overview A markup is a text box displayed in the 3D graphics. It is similar to the temporary text shown when performing measurement or freehand movement, but it is part of the station. The markup is displayed as a node in the layout browser and remains so when the station is saved. It appears as text bubble pointing to a position in the graphics window. Creating Markup Use this procedure to create markup to an object 1 In the Home tab, click View and select Create Markup. The Create Markup dialog box appears. Note Alternatively, in the Layout browser, right-click the station and select Create Markup for the dialog box to appear. 2 In the Markup Text field, enter a name for the markup text. 3 In the Pointer position field, set the position of the pointer. 4 Select Always on top if you want to display the text on top. 5 Click Create. Markup functions In the Layout browser, right-click Markup to perform the following functions:
Function Visible Modify Markup Attach to Detach Delete Rename Description Shows or hides the markup in the 3D graphics. Modifies the Markup properties. Attaches the markup to another graphical object. Detaches the attached markup. Deletes the markup. Changes the name of the markup object.
Modify Markup Use this procedure to modify the markup properties: 1 In the Layout browser, right-click the markup and select Modify Markup. The Modify Markup dialog box appears. 2 Modify the markup text, pointer position or text position. 3 Click Apply for the changes to take effect. 4 Click Close.
253
9 Modeling tab
9.1 Overview
9 Modeling tab
9.1 Overview
The Modeling tab The Modeling tab contains the controls for creating and grouping components, creating bodies, measurements and CAD operations.
255
9 Modeling tab
9.2 Component Group
3HAC032104-001 Revision: J
9 Modeling tab
9.3 Empty Part
257
9 Modeling tab
9.4.1 Smart Component
[Dynamic] property
Asset
3HAC032104-001 Revision: J
9 Modeling tab
9.4.2 Smart Component Editor
Opening a Smart Component Editor Click Smart Component or select Edit Component from the context menu. The Smart Component Editor window appears. Protecting a Smart Component from edits You can protect a Smart Component from being edited. To protect the smart component, right-click the smart component, and then click Protected. You can also optionally specify a password that will be required to unlock the component for edits. Protecting a Smart Component hides its internal structure and protects it from edits. You can use this feature to hide the complexity in the smart component, and to secure the functionality. Child components in a protected smart component are hidden in all RobotStudio browsers and also in the Signal Analyzer browser. Note Protecting a Smart Component in this manner is a way of hiding complexity, and is not for providing security or securely protecting it.
259
9 Modeling tab
9.4.3 The Compose tab
Child components on page 260 Saved States on page 261 Assets on page 261
Edit parent
Right-click on the selected object to display the following context menu items
Item Edit Delete Show in Browser Set as Role Description Sets the context of the Editor to the selected child object. Deletes the child object. Indicates if the object should be displayed in the Layout browser. Sets the object as the Role of the component. The Smart Component will inherit certain characteristics of the Role object. For example, attaching a component with a tool as Role to a robot will cause a ToolData to be created. Opens the Property editor dialog box for the object. See Property Editor on page 287.
Properties
9 Modeling tab
9.4.3 The Compose tab Continued Saved States The state of the component can be saved to be restored later. The state contains selected modifiable aspects of the component and its child components at the time when the state was saved. The following commands are available:
Command Save Current State Restore Selected State Details Delete Description Opens the Save Current State dialog box. See Save Current State on page 261. Restores the component to the selected state. Opens a window that displays detailed information about the selected state. Deletes the selected state.
Save Current State 1 In the Name text box, enter a name for the state. If a state with the same name already exists, you will be asked to overwrite the existing state. 2 In the Description text box, enter the description for the state. 3 In the Values to save, select the value to be saved. 4 Select the check box to save the state of all child components. Note When working on a station level, In the Values to save, you can also select certain Virtual Controller values in the saved states. You need not select the option Recursive as the state of the station is always saved.
For more information, see Station Logic on page 330. Assets The assets contained in the component are displayed as grid. The following commands are available:
Command Add Asset Set Icon Update All Assets Description Opens a dialog box and allows you to browse and select any file as an asset. Opens a dialog box and allows you to browse and select an image that represents a Smart Component. Replaces the data of all the assets with the data of the corresponding file on the disk. If the file is not available, a warning message is displayed in the output window. Opens the selected asset in the associated program Opens a dialog box and allows you to save the selected asset. Deletes the selected asset.
9 Modeling tab
9.4.3 The Compose tab Continued
Note The text resources (descriptions) for properties and signals are stored in an asset called Resources.<language-id>.xml. If this is deleted, the texts for that language will be empty and the default (English) will be used. The default language when authoring a component is always English, regardless of the application language.
3HAC032104-001 Revision: J
9 Modeling tab
9.4.4 The Properties and Bindings tab
Add or Edit Dynamic Property The Add Dynamic Property dialog box allows you to create a new dynamic property or edit an existing property. The following controls are available:
Control Property Identifier Description Read-only Property Type Property Value Attributes Description Specifies an identifier for the property. The identifier must be alphanumeric, start with a letter and must be unique. Detailed description of the property. Indicates if the property value should be possible to modify in GUI such as the Property Editor. Specifies the type of the property from a list of allowed types. Specifies the value of the property. The control is updated when you change the property type and/or attributes. Allows you to add, remove, and modify property attributes. The following lists the available attributes: MinValue MaxValue Quantity Slider AutoApply Numeric attributes are specified in SI units.
Note When editing an existing property, the Identifier and Type controls are locked and cannot be modified. If the input is valid the OK button is enabled, allowing the you to add or update the property. If not, an error icon is displayed. Continues on next page
3HAC032104-001 Revision: J Copyright 2008-2012 ABB. All rights reserved. 263
9 Modeling tab
9.4.4 The Properties and Bindings tab Continued Expose Child Property The Expose Child Property dialog box allows you to add a new property and bind to an existing property in a child object. The new property will have the same type and attributes as the child property. The following controls are available:
Control Property Identifier Binding Direction Source or Target Object Description Identifier of the new property. By default, this is the same as the identifier of the selected child property. Specifies the direction of the property binding Specifies the child object for which to expose a property.
Property Bindings The property bindings contained in the component are displayed in a grid. The following commands are available:
Command Add Binding Add Expression Binding Edit Delete Description Opens the Add Binding dialog box. Opens the Add Expression Binding dialog box. Opens the Edit Binding or Edit Expression Binding dialog box, depending on the type of binding selected. Deletes the selected binding.
Add or Edit Binding The Add Binding dialog box allows you to create or edit a property binding. The following options are available:
Control Source Object Source Property Target Object Target Property Description Specifies the owner of the source property. Specifies the source of the binding. Specifies the owner of the target property. Specifies the target of the binding. Only properties of the same type as the source property type are listed. Allows the target property to be set two times in the same context, which otherwise generates an error. The target list box, besides dynamic properties also displays some common properties such as object transform that can only be used as target and not as source.
9 Modeling tab
9.4.4 The Properties and Bindings tab Continued Add or Edit Expression Binding The Add Expression Binding dialog box allows you to specify a mathematical expression as the source of a property binding. The following controls are available:
Control Expression Description Specifies the mathematical expressions. The following lists the allowable mathematical expressions: Allowed operators: +, - (unary and binary) *, /, ^ (power), Sin(), Cos(), Sqrt(), Atan() and Abs(). Allowed operands: Numeric constants, PI, and Numeric dynamic properties on the current smart component and any child smart components. The text box has the IntelliSense-like funtionality which allows you to select from the available properties. If the expression entered in the text box is invalid, an error icon is displayed. Specifies the owner of the target property. Specifies the target of the binding. Only numeric properties are listed.
265
9 Modeling tab
9.4.5 The Signals and Connections tab
Add or Edit I/O signals The Add I/O Signals dialog box allows you to edit an I/O signal, or add one or more I/O signals to the component. The following controls are available:
Control Type of Signal Description Specifies the type and direction of the signal. The following are the available types of signals: Digital Analog Group Specifies the name of the signal. The name must contain an alphanumeric character and start with a letter (a-z or A-Z). If more than one signal is created, numeric suffixes specified by Start Index and Step are added to the names. Specifies the initial value of the signal. Text that describes the signal. When creating multiple signals, all will have the same description. Specifies that a digital signal should have transient behavior. This applies to digital signals only. Indicates that the signal value is automatically reset to 0. Specifies the number of signals to create. Specifies the first suffix when creating multiple signals. Specifies the suffix interval when creating multiple signals. Specifies the minimum value for an analog signal. This applies to Analog signal only. Specifies the maximum value for an analog signal. This applies to Analog signal only.
9 Modeling tab
9.4.5 The Signals and Connections tab Continued
Control Hidden Read only Description Indicates if the property should not be visible in GUI such as the Property Editor and I/O Simulator. Indicates if the property value should be possible to modify in GUI such as the Property Editor and I/O Simulator.
Note When editing an existing signal, only the Signal Value and Description can be modified, while all other controls are locked. If the input is valid,OK is enabled allowing you to create or update the signal. If not, an error icon is displayed. Expose Child signal The Expose Child Signal dialog box allows you to add a new I/O signal that is connected to a signal in a child object. The following controls are available:
Control Signal Name Child Object Child Signal Description Specifies the name of the signal to be created. By default, it is the same as the name of the selected child signal. Specifies the object for which to expose a signal. Specifies the child signal.
I/O Connections The I/O Connections contained in the component are displayed in a grid. The following controls are available:
Control Add I/O Connection Edit Description Opens the Add I/O Connection dialog box. Opens the Edit I/O Connection dialog box.
Manage I/O Connections Opens the Manage I/O Connections dialog box. Delete Move Up or Move Down Deletes the selected connection. Sorts by moving the selected connections up and down the list.
Add or Edit I/O Connection The Add I/O Connection dialog box allows you to create an I/O connection or edit an existing connection. The following controls are available:
Control Source Object Source Signal Description Specifies the owner of the source signal. Specifies the source of the connection. The source must either be an output from a child component, or an input to the current component. Specifies the owner of the target signal.
Target Object
9 Modeling tab
9.4.5 The Signals and Connections tab Continued
Control Target Signal Description Specifies the target of the connection. The target must be of the same type as the source, and either an input to a child component or an output from the current component. Allows the target signal to be set two times in the same context, which would otherwise generate an error.
Manage I/O Connections The Manage I/O Connections dialog box displays a graphical view of the I/O connections of the component. It allows you to add, remove, and modify connections. Only digital signals are displayed. The following controls are available:
Control Source / Target Signals Description Lists the signals used in the connections, source signals to the left and target signals to the right. Each signal is specified by the owner object and the signal name. Displays connections as an arrow from source to target Specifies a logic operator and a delay time. It performs digital logic on input signals. Add Source - Adds a source signal to the left. Add Target - Adds a target signal to the right. Add Logic Gate - Adds a logic gate at the center
Remove
Managing I/O connections Use this procedure to add, remove, and create new I/O connections: 1 Click Add and select Add Source or Add Target or Add Logic Gate to add a source signal or target signal or logic gate respectively. 2 Move the cursor towards the Source Signal until a cross hair appears. 3 Click and drag the left mouse button towards the logic gate to create a new I/O connection. 4 Select the signal, connection, or logic gate and click Remove to delete.
3HAC032104-001 Revision: J
9 Modeling tab
9.4.6 The Design tab
Select a component from the Connections and bindings are color coded and highlighted graphical view. to avoid confusion. By default, Show Bindings, Show Connections, and Show unused check-box are selected. De-select Show Bindings check-box to hide the bindings. De-select Show Connections check-box to hide the connections. De-select Show unused check-box to hide the unused components. Create connections and bindings Select the source signal or property. The cursor is displayed as a pen. 2 Drag and drop the cursor on the target signal or property. If the target is valid, a connection and binding is created. If the target is invalid, the cursor changs to "not allowed" symbol. 1
269
9 Modeling tab
9.4.7 Basic Smart Components
Signals and Properties on page 270 Parametric Primitives on page 274 Sensors on page 276 Actions on page 279 Manipulators on page 281 Other on page 283
9 Modeling tab
9.4.7 Basic Smart Components Continued
Signals Result Description Contains the result of the evaluation.
LogicMux Output is set according to: Output = (Input A * NOT Selector) + (Input B * Selector)
Signals Selector InputA InputB Output Description When low, the first input is selected. When high, the second input is selected. Specifies the first input. Specifies the second input. Specifies the result of the operation.
LogicSplit The LogicSplit takes Input and sets OutputHigh to the same as Input, and OutputLow as the inverse of Input. PulseHigh sends a pulse when Input is set to high, and PulseLow sends a pulse when Input is set to low.
Signals Input OutputHigh OutputLow PulseHigh PulseLow Description Specifies the input signal. Goes high (1) when input is 1. Goes high (1) when input is 0. Sends pulse when input is set to high. Sends pulse when input is set to low.
LogicSRLatch TheLogicSRLatch has one stable state. When Set=1, Output=1 and InvOutput=0 When Reset=1, Output=0 and InvOutput=1
Description Sets the output signal. Resets the output signal. Specifies output signal. Specifies Inverse output signal.
9 Modeling tab
9.4.7 Basic Smart Components Continued
Signals DigitalInput DigitalOutput AnalogInput AnalogOutput GroupInput GroupOutput Description Converts to DigitalProperty. Converted from DigitalProperty. Converts to AnalogProperty. Converted from AnalogProperty. Converts to GroupProperty. Converted from GroupProperty.
Expression The Expression consists of numeric literals (including PI), parentheses, mathematical operators +,-,*,/,^ (power) and mathematical functions sin, cos, sqrt, atan, abs. Any other strings are interpreted as variables, which are added as additional properties. The result is displayed in Result.
Signals Expression Result NNN Description Specifies the expression to evaluate. Specifies the result of evaluation. Specifies automatically generated variables.
Comparer The Comparer compares First value with Second value, using Operator. Output is set to 1 if the condition is met.
Properties ValueA ValueB Operator Description Specifies the first value. Specifies the second value. Specifies the comparison operator. The following lists the various operators: == != > >= < <= Description True if the comparison evaluates to true, otherwise false.
Signals Output
9 Modeling tab
9.4.7 Basic Smart Components Continued Counter Count is increased when the input signal Increase is set, and decreased when the input signal Decrease is set. Count is reset when the input signal Reset is set.
Properties Count Signals Increase Decrease Reset Description Specifies the current count. Description Adds one to the Count when set to True. Subtracts one from the Count when set to True. Resets the Count to zero when set to high.
Timer The Timer pulses the Output signal based on the given interval. If Repeat is unchecked, one pulse will be triggered after the time specified in Interval. Otherwise, the pulse will be repeated at the interval given by Interval.
Properties StartTime Interval Repeat Current time Signals Active Output Description Specifies the time to pass before the first pulse. Specifies the simulation time between the pulses. Specifies if the signal should be pulsed repeatedly or only once. Specifies the current simulation time. Description Set to True to activate the timer, and False to deactivate it. Sends pulses at the specified time intervals.
StopWatch The StopWatch measures time during simulation (TotalTime). A new lap can be started by triggering the Lap input signal. LapTime shows the current lap time. The time is only measured when Active is set to 1. The times are reset when the input signal Reset is set.
Properties TotalTime LapTime AutoReset Description Specifies the accumulated time. Specifies the current lap time. If true, TotalTime and LapTime will be set to 0 when the simulation starts.
9 Modeling tab
9.4.7 Basic Smart Components Continued
Signals Active Reset Lap Description Set to True to activate the stop watch, and False to deactivate it. Resets Total time and Lap time when set to high. Starts a new lap.
Parametric Primitives ParametricBox The ParametricBox generates a box with dimensions specified by length, width, and height.
Properties SizeX SizeY SizeZ GeneratedPart KeepGeometry Description Specifies the length of the box in the X-axis direction. Specifies the length of the box in the Y-axis direction. Specifies the length of the box in the Z-axis direction Specifies the generated part. False to remove the geometry data from the generated part. This can make other components such as Source execute faster. Description Set to high (1) to update the generated part.
Signals Update
Signals Update
ParametricCylinder The ParametricCylinder generates a cylinder with the dimensions given by Radius and Height.
Properties Radius Height GeneratedPart KeepGeometry Description Specifies the radius of the cylinder. Specifies the height of the cylinder. Specifies the generated part. False to remove the geometry data from the generated part. This can make other components such as Source execute faster.
9 Modeling tab
9.4.7 Basic Smart Components Continued
Signals Update Description Set to high (1) to update the generated part.
ParametricLine The ParametricLine generates a line with a given end point or a given length. If either of them is changed, the other one will be updated accordingly.
Properties EndPoint Length GeneratedPart GeneratedWire KeepGeometry Description Specifies the end point for the line. Specifies the length of the line. Specifies the generated part. Specifies the generated wire object. False to remove the geometry data from the generated part. This can make other components such as Source execute faster. Description Set to high (1) to update the generated part.
Signals Update
LinearExtrusion The LinearExtrusion extrudes SourceFace or SourceWire along the vector given by Projection.
Properties SourceFace SourceWire Projection GeneratedPart KeepGeometry Description Specifies the face to extrude. Specifies the wire to extrude. Specifies the vector to extrude along. Specifies the generated part. False to remove the geometry data from the generated part. This can make other components such as Source execute faster.
CircularRepeater The CircularRepeater creates a number of given copies of Source around the center of the SmartComponent with a given DeltaAngle.
Properties Source Count Radius DeltaAngle Description Specifies the object to copy. Specifies the number of copies to create. Specifies the radius of the circle. Specifies the angle between the copies.
LinearRepeater The LinearRepeater creates a number of copies of Source, with the spacing and direction given by Offset.
Properties Source Description Specifies the object to copy.
9 Modeling tab
9.4.7 Basic Smart Components Continued
Properties Offset Count Description Specifies the distance between copies. Specifies the number of copies to create.
MatrixRepeater The MatrixRepeater creates a specified number of copies in three dimensions, with the specified spacing of the object in Source.
Properties Source CountX CountY CountZ OffsetX OffsetY OffsetZ Description Specifies the object to copy. Specifies the number of copies in the X-axis direction. Specifies the number of copies in the Y-axis direction. Specifies the number of copies in the Z-axis direction. Specifies the offset between the copies in the X-axis direction. Specifies the offset between the copies in the Y-axis direction. Specifies the offset between the copies in the Z-axis direction.
Sensors CollisionSensor The CollisionSensor detects collisions and near miss events between the First object and the Second object. If one of the objects is not specified, the other will be checked against the entire station. When the Active signal is high and a collision or a near miss event occurs and the component is active, the SensorOut signal is set and the parts that participate in the collision or near miss event are reported in the first colliding part and second colliding partof the Property editor.
Properties Object1 Object2 NearMiss Part1 Part2 CollisionType Description The first object to check for collisions. The second object to check for collisions. Specifies the near miss distance. The part of First object that has a collision. The part of Second object that has a collision. None Near miss Collision
Description Specifies if the CollisionSensor is active or not. True if there is a NearMiss or Collision.
9 Modeling tab
9.4.7 Basic Smart Components Continued LineSensor The LineSensor defines a line by the Start, End, and Radius. When an Active signal is high, the sensor detects objects that intersect the line. Intersecting objects are displayed in the ClosestPart property and the point on the intersecting part that is closest to the line sensors start point is displayed in the ClosestPoint property. When intersection occurs the SensorOut output signal is set.
Properties Start End Radius SensedPart Description Specifies the start point. Specifies the end point. Specifies the radius. Specifies the part that intersects the line sensor. If several parts intersect, then the one closest to theStart point is listed. Specifies the point on the intersecting part, closest to the Start point. Description Specifies if the LineSensor is active or not. True if the sensor intersects with an object.
SensedPoint
PlaneSensor The PlaneSensor defines a plane by Origin, Axis1, and Axis2. When the Active input signal is set the sensor detects objects that intersect this plane. Intersecting objects are displayed in the SensedPart property and when intersection occurs the SensorOut output signal is set.
Properties Origin Axis1 Axis2 SensedPart Description Specifies the origin of the plane. Specifies the first axis of the plane. Specifies the second axis of the plane. Specifies the part that intersects the PlaneSensor. If several parts intersect, then the one listed first in the Layout browser is selected. Description Specifies if the PlaneSensor is active or not. True if the sensor intersects with an object.
VolumeSensor The VolumeSensor detects objects that are inside or partly inside a box-shaped volume. The volume is defined by a Corner Point, the Length, Height, and Width of the sides and the orientation angles.
Properties CornerPoint Orientation Length Description Specifies the local origin of the box. Specifies the orientation (Euler ZYX) relative to Reference. Specifies the length of the box.
9 Modeling tab
9.4.7 Basic Smart Components Continued
Properties Width Height Percentage PartialHit SensedPart SensedParts VolumeSensed Signals Active ObjectDetectedOut ObjectDeletedOut SensorOut Description Specifies the width of the box. Specifies the height of the box. The percentage of the volume to react on. Set to 0 to react on all objects. Allow an object to be sensed if only a part of it is inside the volume sensor. The last object that either entered or left the volume. The objects sensed in the volume The total volume sensed Description Set to high (1) to activate the sensor. Goes high (1) when an object is detected within the volume. Is reset immediately after an object has been detected. Goes high (1) when an object is detected to leave the volume. Is reset immediately after an object has left the volume. Goes high (1) when the volume is full.
PositionSensor The PositionSensor monitors the position and orientation of an object. The position and orientation of an object is updated only during the simulation.
Properties Object Reference ReferenceObject Position Orientation Description Specifies the object to monitor. Specifies the reference coordinate system (Parent or Global). Specifies the reference object, if Reference is set to Object. Specifies the position of the object relative to Reference. Specifies the orientation (Euler ZYX) relative to Reference.
ClosestObject The ClosestObject defines a Reference object or a Reference point. When the Execute signal is set, the component finds the ClosestObject, ClosestPart, and the Distance to the reference object, or to the reference point if the reference object is undefined. If RootObject is defined, the search is limited to that object and its descendants. When finished and the corresponding properties are updated the Executed signal is set.
Properties ReferenceObject ReferencePoint RootObject ClosestObject Description Specifies the object to get the closest object to. Specifies the point to get the closest object to. Specifies the object whose children to search. Empty means entire station. Specifies the object closest to Reference object or Reference point.
9 Modeling tab
9.4.7 Basic Smart Components Continued
Properties ClosestPart Distance Description Specifies the part closest to Reference object or Reference point. Specifies the distance between the Reference object and the Closest object. Description Set to True to find the Closest part. Sends a pulse when completed.
Actions Attacher The Attacher will attach Child to Parent when the Execute signal is set. If the Parent is a mechanism, the Flange to attach to must also be specified. When the input Execute is set, the child object is attached to the parent object. If Mount is checked, the child will also be mounted on the parent, with the Offset and Orientation specified. The output Executed will be set when finished.
Properties Parent Flange Child Mount Offset Orientation Description Specifies the object to attach to. Specifies the Index of mechanism flange to attach to. Specifies the object to attach. If true, the object to attach mounts on the attachment parent. Specifies the position relative to the attachment parent when using Mount. Specifies the orientation relative to the attachment parent when using Mount. Description Set to True to attach. Sends a pulse when completed.
Detacher The Detacher will detach the Child from the object it is attached to when the Execute signal is set. If Keep position is checked, the position will be kept. Otherwise the child is positioned relative to its parent. When finished, the Executed signal will be set.
Properties Child KeepPosition Signals Execute Executed Description Specifies the object to detach. If false, the attached object is returned to its original position. Description Set to True to remove the attachment. Sends a pulse when completed.
9 Modeling tab
9.4.7 Basic Smart Components Continued Source The Source property of the source component indicates the object that should be cloned when the Execute input signal is received. The parent of the cloned objects is specified by the Parent property and a reference to the cloned object is specified by the Copy property. The output signal Executed signifies that the clone is complete.
Properties Source Copy Parent Position Orientation Transient Description Specifies the object to copy. Specifies the copied object. Specifies the parent to the copy. If not specified, the copy gets the same parent as the source. Specifies the position of the copy relative its parent. Specifies the orientation of the copy relative its parent. Marks the copy as transient if created during simulation. Such copies are not added to the undo queue and are automatically deleted when the simulation is stopped. This is used to avoid increased memory consumption during simulation. Description Set to True to create a copy of the object. Sends a pulse when completed.
Sink The Sink deletes the object referenced by the Object property. Deletion happens when the Execute input signal is received. The Executed output signal is set when the deletion is finished.
Properties Object Signals Execute Executed Description Specifies the object to remove. Description Set to True to remove the object. Sends a pulse when completed.
Show When the Execute signal is set, the object referenced in Object appears. When finished, Executed signal will be set.
Properties Object Signals Execute Executed Description Specifies the object to show. Description Set to True to show the object. Sends a pulse when completed.
9 Modeling tab
9.4.7 Basic Smart Components Continued Hide When the Execute signal is set, the object referenced in Object will be hidden. When finished, Executed signal will be set.
Properties Object Signals Execute Executed Description Specifies the object to hide. Description Set to True to hide the object. Sends a pulse when completed.
Manipulators LinearMover The LinearMover moves the object referenced in the Object property with a speed given by the Speed property in the direction given by the Direction property. The motion starts when the Execute input signal is set and stops when Execute is reset.
Properties Object Direction Speed Reference ReferenceObject Signals Execute Description Specifies the object to move. Specifies the direction to move the object. Specifies the speed of movement. Specifies the coordinate system in which values are specified. It can be Global, Local, or Object. Specifies the reference object, if Reference is set to Object. Description Set to True to start move the object, and False to stop.
Rotator The Rotator rotates the object referenced in the Object property with an angular speed given by the Speed property. The axis of rotation is given by CenterPoint and Axis. The motion starts when the Execute input signal is set and stops when the Execute is reset.
Properties Object CenterPoint Axis Speed Reference ReferenceObject Description Specifies the object to rotate. Specifies the point to rotate around. Specifies the axis of the rotation. Specifies the speed of the rotation. Specifies the coordinate system in which values are specified. It can be Global, Local, or Object. Specifies the object which are relative to CenterPoint and Axis, if Reference is set to Object. Description Set to True to start rotating the object, and False to stop.
Signals Execute
9 Modeling tab
9.4.7 Basic Smart Components Continued Positioner The Positioner takes an Object, Position, and Orientation as properties. When the Execute signal is set the object is repositioned in the given position relative to the Reference. When finished the Executed output is set.
Properties Object Position Orientation Reference ReferenceObject Description Specifies the object to position. Specifies the new position of the object. Specifies the new orientation of the object. Specifies the coordinate system in which values are specified. It can be Global, Local, or Object. Specifies the object which are relative to Position and Orientation, if Reference is set to Object. Description Set to True to start move the object, and False to stop. Set to 1 when operation is completed.
PoseMover The PoseMover has a Mechanism, a Pose, and Duration as properties. When the Execute input signal is set the mechanism joint values are moved to the given pose. When the pose is reached the Executed output signal is set.
Properties Mechanism Pose Duration Signals Execute Pause Cancel Executed Executing Paused Description Specifies the mechanism to move to a pose. Specifies the Index of the pose to move to. Specifies the time for the mechanism to move to the pose. Description Set to True, to start or resume moving the mechanism. Pauses the movement. Cancels the movement. Pulses high when the mechanism has reached the pose. Goes high during the movement. Goes high when paused.
JointMover The JointMover has a Mechanism, a set of Joint Values and a Duration as properties. When the Execute input signal is set the mechanism joint values are moved to the given pose. When the pose is reached the Executed output signal is set. The GetCurrent signal retrieves the current joint values of the mechanism.
Properties Mechanism Relative Duration Description Specifies the mechanism to move to a pose. Specifies if J1-Jx are relative to the start values, rather than absolute joint values. Specifies the time for the mechanism to move to the pose.
9 Modeling tab
9.4.7 Basic Smart Components Continued
Properties J1 - Jx Signals GetCurrent Execute Pause Cancel Executed Executing Paused Description Joint values. Description Retrieve current joint values. Set to True to start moving the mechanism. Pauses the movement Cancels the movement Pulses high when the mechanism has reached the pose. Goes high during the movement. Goes high when paused.
Other GetParent The GetParent returns the parent object of the input object. The executed signal is triggered if a parent is found.
Properties Child Parent Signals Output Description Specifies the object to whose parent is to be found. Specifies the parent of the child Description Goes high (1) if the parent exists.
Note The Child list for Properties:GetParent does not show every part or object in the station. However, if you do not find the required part or object in the list, then add it from the browser or graphic window by clicking it. GraphicSwitch Switches between two parts, either by clicking on the visible part in the graphics or by setting and resetting the input signal.
Properties PartHigh PartLow Signals Input Output Description Displayed when the signal is high. Displayed when the signal is low. Description Input signal. Output signal.
9 Modeling tab
9.4.7 Basic Smart Components Continued Highlighter The Highlighter temporarily sets the color of the Object to the RGB-values specified in Color. The color is blended with the original color of the objects as defined by Opacity When the signal Active is reset, Object gets its original colors.
Properties Object Color Opacity Description Specifies the object to highlight. Specifies the RGB-values of the highlight color. Specifies the amount to blend with the object's original color (0-255). Description True sets the hightlight. False restores the original color.
Signals Active
MoveToViewPoint Moves to the selected viewpoint in the given time, when the input signal Execute is set. The output signal Executed is set when the operation is completed.
Properties Viewpoint Time Signals Execute Executed Description Specifies the viewpoint to move to. Specifies the time to complete the operation. Description Set to high (1) to start the operation. Goes high (1) when the operation is completed.
9 Modeling tab
9.4.7 Basic Smart Components Continued Queue The Queue represents a FIFO (first in, first out) queue. The object in Back is added to the queue when the signal Enqueue is set. The front object of the queue is shown in Front. The object in Front is removed from the queue when the signal Dequeue is set. If there are more objects in the queue, the next object is shown in Front. All objects in the queue are removed from the queue when the signal Clear is set. If a transformer component (such as LinearMover) has a queue component as its Object, it will transform the contents of the queue, rather than the queue itself.
Properties Back Front Queue NumberOfObjects Signals Enqueue Dequeue Clear Delete DeleteAll Description Specifies the object to enqueue. Specifies the first object in queue. Contains unique IDs of the queues elements. Specifies the number of objects in the queue. Description Adds the object in Back to the end of the queue. Removes the object in Front from the queue. Removes all objects from the queue. Removes the object in Front from the queue and from the station. Clears the queue and removes all objects from the station
SoundPlayer Plays the sound specified by Sound Asset when the input signal Execute is set. The asset must be a .wav file
Properties SoundAsset Description Specifies the sound file that should be played. Must be a .wav file. Description Set to high to play the sound.
Signals Execute
StopSimulation Stop a running simulation when the input signal Execute is set.
Signals Execute Description Set to high to stop the simulation.
Random Random generates a random number between Min and Max in Value when Execute is triggered.
Properties Min Max Value Description Specifies minimum value. Specifies maximum value. Specifies a random number between Min and Max.
9 Modeling tab
9.4.7 Basic Smart Components Continued
Signals Execute Executed Description Set to high to generate a new random number. Goes high when the operation is completed.
3HAC032104-001 Revision: J
9 Modeling tab
9.4.8 Property Editor
287
9 Modeling tab
9.4.9 The Simulation Watch window
Adding and Deleting the Watch items Use this procedure to add or delete a watch item. Note As a prerequisite, you should add smart component, its properties and signals. For more information, see Smart Component Editor on page 259. 1 In the Simulation Watch window, right-click and select Add to display the Add submenu. The Add submenu displays a recursive view of all the smart components, their properties and signals. The top level submenu displays the station signals. Note Watch items that are already watched are not displayed in the recursive view. 2 From the Add submenu, select property or signal to add a single property or signal of a component. 3 From the Add submenu, select Add all to add all the properties and signals of a component.
9 Modeling tab
9.4.9 The Simulation Watch window Continued 4 In the Simulation Watch window, right-click on the row of the watch item and select Delete to delete one or more watch items. Note The Watch items are saved in the station and are restored when the station is opened. Setting Breakpoints You can set the breakpoint in one of the following ways: 1 To set the simulation breakpoint, select the check box next to a watch item. Note By default, the simulation is paused whenever the value of the property or signal changes. 2 In the Simulation Watch window, right-click on the row of the watch item and select Break Condition. The Break Condition dialog box appears. Set the simulation to paused, when the value meets a certain logical condition. The condition can be viewed in the Break column of the Watch window. When a breakpoint is reached, the simulation is paused which is indicated by both the Play and Stop buttons being enabled. If the Simulation Watch window is hidden behind the other windows, it is brought to the front and the text of the corresponding watch item turns red. Note Break condition can be specified only for the properties of numeric and string types, and not for the object types. After the current simulation time step is completed, all the remaining Smart component events are executed before the simulation is actually paused.
289
9 Modeling tab
9.5 Solid
9.5 Solid
Creating a solid 1 Click Solid and then click the type of solid you want to create to bring up a dialog box. 2 Enter requested values in in the dialog box and click Create. For detailed information about the specific dialog box for the curve to create, see below: The Create Box dialog box
C A
xx060000
Select the Reference coordinate system to which all positions or points will be related. Click in one of these boxes, and then click the corner point in the graphics window to transfer the values to the Corner Point boxes, or type the position. The corner point will be the local origin of the box. If the object shall be rotated relative to the reference coordinate system, specify the rotation. Specify the box dimension along its X axis. Specify the box dimension along its Y axis. Specify the box dimension along its Z axis.
C B
A
xx060001
Reference
Select the Reference coordinate system to which all positions or points will be related.
9 Modeling tab
9.5 Solid Continued
Corner Point (A) This point will be the local origin of the box. Either type the position, or click in one of the boxes and then select the point in the graphics window. This point is the the corner, diagonal to the local origin. It sets the X and Y directions of the local coordinate system, as well as the dimension of the box along these axes. Either type the position, or click in one of the boxes and then select the point in the graphics window.
Indication Point Z-axis (C) This point is the corner above the local origin, It sets the Z direction of the local coordinate system, as well as the dimension of the box along the Z axis. Either type the position, or click in one of the boxes and then select the point in the graphics window.
B A
xx060002
Select the Reference coordinate system to which all positions or points will be related. Click in one of these boxes, and then click the center point in the graphics window to transfer the values to the Base Center Point boxes, or type the position. The center point will be the local origin of the cone. If the object shall be rotated relative to the reference coordinate system, specify the rotation. Specify the radius of the cone. Specify the diameter of the cone. Specify the height of the cone.
B A
xx060003
9 Modeling tab
9.5 Solid Continued
Reference Base Center Point (A) Select the Reference coordinate system to which all positions or points will be related. Click in one of these boxes, and then click the center point in the graphics window to transfer the values to the Base Center Point boxes, or type the position. The center point will be the local origin of the cylinder. If the object shall be rotated relative to the reference coordinate system, specify the rotation. Specify the radius of the cylinder. Specify the diameter of the cylinder. Specify the height of the cylinder.
C B A
xx060004
Select the Reference coordinate system to which all positions or points will be related. Click in one of these boxes, and then click the center point in the graphics window to transfer the values to the Base Center Point boxes, or type the position. The center point will be the local origin of the pyramid. If the object shall be rotated relative to the reference coordinate system, specify the rotation.
Orientation
Center to Corner Point (B) Either type the position, or click in the box and then select the point in the graphics window. Height (C) Number of Sides Specify the height of the pyramid. Specify the number of sides of the pyramid. The maximum number of sides is 50.
B B A
xx060005
9 Modeling tab
9.5 Solid Continued
Reference Center Point (A) Select the Reference coordinate system to which all positions or points will be related. Click in one of these boxes, and then click the center point in the graphics window to transfer the values to the Center Point boxes, or type the position. The center point will be the local origin of the sphere. Specify the radius of the sphere. Specify the diameter of the sphere.
293
9 Modeling tab
9.6 Surface
9.6 Surface
Creating a surface 1 Click Surface and then click the type of solid you want to create to bring up a dialog box. 2 Enter requested values in in the dialog box and click Create. For detailed information about the specific dialog box for the curve to create, see below: The Create Surface Circle dialog box
B A
xx060006
Select the Reference coordinate system, to which all positions or points will be related. Click in one of these boxes, and then click the center point in the graphics window to transfer the values to the Center Point boxes, or type the position. The center point will be the local origin of the circle. If the object shall be rotated relative to the reference coordinate system, specify the rotation. Specify the radius of the circle. Specify the diameter of the circle.
A
xx060007
Select the Reference coordinate system to which all positions or points will be related. Click in one of these boxes, and then click the center point in the graphics window to transfer the values to the Start Point boxes, or type the position. The start point will be the local origin of the rectangle.
9 Modeling tab
9.6 Surface Continued
Orientation Length (B) Width (C) If the object shall be rotated relative the reference coordinate system, specify the rotation. Specify the length of the rectangle. Specify the width of the rectangle
B A
xx060008
Select the Reference coordinate system to which all positions or points will be related. Click in one of these boxes, and then click the center point in the graphics window to transfer the values to the Center Point boxes, or type the position. The center point will be the local origin of the polygon. Either type the position, or click in one of the boxes and then select the point in the graphics window. Specify the number of the vertices here. The maximum number of vertices is 50.
295
9 Modeling tab
9.7 Curve
9.7 Curve
Creating a curve 1 Click Curve and then click the curve you want to create to bring up a dialog box. 2 Enter requested values in in the dialog box and click Create. For detailed information about the specific dialog box for the curve to create, see below: The Create Line dialog box
xx050034
Select the Reference coordinate system to which all positions or points will be related. Click in one of these boxes, and then click the start point in the graphics window to transfer the values to the Start Point boxes. Click in one of these boxes, and then click the end point in the graphics window to transfer the values to the End Point boxes.
xx050035
Select the Reference coordinate system to which all positions or points will be related. Click in one of these boxes, and then click the center point in the graphics window to transfer the values to the Center Point boxes. Specify the orientation coordinates for the circle. Specify the radius of the circle. Alternatively, specify the diameter.
9 Modeling tab
9.7 Curve Continued The Create Three Points Circle dialog box
xx050036
Select the Reference coordinate system to which all positions or points will be related. Click in one of these boxes, and then click the first point in the graphics window to transfer the values to the First Point boxes. Click in one of these boxes, and then click the second point in the graphics window to transfer the values to the Second Point boxes. Click in one of these boxes, and then click the third point in the graphics window to transfer the values to the Third Point boxes.
xx050037
Select the Reference coordinate system to which all positions or points will be related. Click in one of these boxes, and then click the start point in the graphics window to transfer the values to the Start Point boxes. Click in one of these boxes, and then click the second point in the graphics window to transfer the values to the Mid Point boxes. Click in one of these boxes, and then click the end point in the graphics window to transfer the values to the End Point boxes.
9 Modeling tab
9.7 Curve Continued The Create Elliptical Arc dialog box
xx050038
Select the Reference coordinate system to which all positions or points will be related. Click in one of these boxes, and then click the center point in the graphics window to transfer the values to the Center Point boxes.
Major Axis End Point (B) Click in one of these boxes, and then click the end point for the major axis of the ellipse in the graphics window to transfer the values to the Major Axis End Point boxes. Minor Axis End Point (C) Click in one of these boxes, and then click the end point for the minor axis of the ellipse in the graphics window to transfer the values to the Minor Axis End Point boxes. Start Angle () End Angle () Specify the start angle for the arc, measured from the major axis. Specify the end angle for the arc, measured from the major axis.
xx050039
Select the Reference coordinate system to which all positions or points will be related. Click in one of the Center Point boxes, and then click the center point in the graphics window to transfer the values to the Center Point boxes.
Major Axis End Point (B) Click in one of these boxes, and then click the end point for the major axis of the ellipse in the graphics window to transfer the values to the Major Axis End Point boxes. Minor Radius (C) Specify the length of the minor axis of the ellipse. The minor radius will be created perpendicular to the major axis.
9 Modeling tab
9.7 Curve Continued The Create Rectangle dialog box
xx050040
Select the Reference coordinate system to which all positions or points will be related. Click in one of these boxes, and then click the start point in the graphics window to transfer the values to the Start Point boxes. The rectangle will be created in the positive coordinate directions. Specify the orientation coordinates for the rectangle. Specify the length of the rectangle along the x axis. Specify the width of the rectangle along the y axis.
xx050041
Select the Reference coordinate system to which all positions or points will be related. Click in one of these boxes, and then click the center point in the graphics window to transfer the values to the Center Point boxes. Click in one of these boxes, and then click the first vertex point in the graphics window to transfer the values to the First Vertex Point boxes. The distance between the center point and the first vertex point will be used for all vertex points. Specify the number of points to be used when creating the polygon. The maximum number of vertices is 50.
Vertices
9 Modeling tab
9.7 Curve Continued The Create Polyline dialog box
xx050042
Select the Reference coordinate system to which all positions or points will be related. Specify each node of the polyline here, one at a time, by either typing the values, or by clicking in one of these boxes, and then selecting the point in the graphics window to transfer its coordinates. Click this button to add a point and its coordinates to the list. Click this button to modify an already defined point, after you have selected it in the list and entered new values. The nodes of the polyline. To add more nodes, click Add New, click the desired point in the graphics window, and then click Add.
xx050043
Select the Reference coordinate system to which all positions or points will be related. Specify each node of the spline here, one at a time, by either typing the values, or by clicking in one of these boxes, and then selecting the point in the graphics window to transfer its coordinates. Click this button to add a point and its coordinates to the list. Click this button to modify an already defined point, after you have selected it in the list and entered new values. This nodes of the spline. To add more nodes, click Add New, click the desired point in the graphics window, and then click Add.
Ad Modify List
3HAC032104-001 Revision: J
9 Modeling tab
9.8 Border
9.8 Border
Creating a curve 1 Click Border and then click the border you want to create to bring up a dialog box. 2 Enter requested values in in the dialog box and click Create. For detailed information about the specific dialog box for the border to create, see below: The Create Border Between Bodies dialog box To use the create border between bodies command, the station must contain at least two objects.
xx050044
Click in this box and then select the first body in the graphics window. Click in this box and then select the second body in the graphics window.
The Create Border Around Surface dialog box To use the create border around surface command, the station must contain at least one object with a graphical representation.
xx050045
Select Surface
Click in this box and then select a surface in the graphics window.
9 Modeling tab
9.8 Border Continued The Create Border From Points dialog box To use the create border from points command, the station must contain at least one object.
en050000
Click in this box and then select an object in the graphics window. Specify the points that define the border here, one at a time, by either typing the values, or by clicking in one of these boxes, and then selecting the point in the graphics window to transfer its coordinates. Click this button to add a point and its coordinates to the list. Click this button to modify an already defined point, after you have selected it in the list and entered new values. The points that define the borders. To add more points, click Add New, click the desired point in the graphics window, and then click Add.
3HAC032104-001 Revision: J
9 Modeling tab
9.9 Intersect
9.9 Intersect
The Intersect dialog box
A
xx060009
Select this check box to keep the original bodies when creating the new body. Select the body from which you want to make an intersection (A) by clicking it in the graphics window. Select the body with which you want to make an intersection (B) by clicking it in the graphics window. A new body will be created based on the common area between the selected bodies A and B.
303
9 Modeling tab
9.10 Subtract
9.10 Subtract
The Subtract dialog box
A
xx060010
Select this check box to keep the original bodies when creating the new body. Select the body from which you want to subtract (A) by clicking it in the graphics window. Select the body you want to subtract (B) by clicking it in the graphics window. A new body will be created based on the area of body A subtracted with the common volume between body A and B.
3HAC032104-001 Revision: J
9 Modeling tab
9.11 Union
9.11 Union
The Union dialog box
A
xx060011
Select this check box to keep the original bodies when creating the new body. Select the body that you want to unify (A) by clicking it in the graphics window. Select the body that you want to unify (B) by clicking it in the graphics window. A new body will be created based on the areas of the two selected bodies A and B.
305
9 Modeling tab
9.12 Extrude Surface or Curve
Extrude Along Vector From Point (mm) To Point (mm) Extrude Along Curve Curve
xx0600003076
To select the curve, first click the box, then the curve in the graphics window.
9 Modeling tab
9.12 Extrude Surface or Curve Continued
Make Solid Select this check box to convert the extruded form into a solid.
307
9 Modeling tab
9.13 Line from Normal
3HAC032104-001 Revision: J
9 Modeling tab
9.14 The Measure Group
Tip Make sure to select the appropriate snap mode and selection levels before making your measurements. Measuring distances or angles 1 Click the type of measurement you want to use:
To measure the distance between two points you select in the graphics window. Select Point to point
angle defined by three points you select in the graphics Angle window. The first point to select is the converging point, thereafter you shall select one point on each line. diameter, with the circle defined by three points you select Diameter from the graphics window. closest distance between two objects you select in the graphics window. Minimum distance
The mouse pointer will turn into a ruler when you have activated any of the measurement functions. 2 In the graphics window, select the points or objects to measure between. Information about the measuring points is displayed in the Output window. The results will be displayed in the Measurements tab in the Output window when all points have been selected. 3 Optionally, repeat step 3 for making a new measurement of the same type. Tip You can also activate and deactivate the measurement functions from the measurement toolbar.
309
9 Modeling tab
9.15 Create Mechanism
9 Modeling tab
9.15 Create Mechanism Continued 2 In the Mechanism Model Name dialog box, enter a mechanism name. 3 From the Mechanism Type list, select Conveyor. 4 From the Selected Part list, select Part. 5 In the Position of Calibration frame list, enter the base frame values relative to the local origin of the selected graphic component. 6 In the Conveyor length box, enter the length of the conveyor. The Compile Mechanism button is enabled. 7 In the Attachment Points box, set the Pitch and Count value. 8 Click Add to create new attachment points. 9 Click Compile Mechanism, to compile the mechanism. See Compiling a mechanism on page 311. 10 In the Layout browser, right-click the conveyor mechanism and select Save As Library. Close the station. 11 Build a new system. See Building a new system on page 159. On the Modify Options page of the System Builder, scroll down to the Motion coordination part 3 group and select 606-1 Conveyor Tracking check box. 12 Create new station using this new system. See Robot System on page 204. After starting the system, when asked to select the library for the conveyor mechanism browse and select the already saved library. Compiling a mechanism When compiling, a new mechanism, created in the create mode of the Mechanism Modeler, is added to the station with the default name "Mechanism_" followed by an index number. When compiling, an existing editable mechanism, modified in the modify mode of the Mechanism Modeler, is saved without any poses, joint mapping ot transition times. To compile a mechanism, follow these steps: 1 To compile a new or edited mechanism, click Compile Mechanism. The mechanism is inserted into the active station. The link parts are cloned with new names, but the corresponding links will update their part references. When the Mechanism modeler is closed, these cloned parts will be removed. 2 The Mechanism Modeler now switches to modify mode. To complete the mechanism, see below. Completing or modifying a mechanism To complete the modeling of a mechanism, follow these steps: 1 If the values in the Joint Mapping group are correct, click Set. 2 Configure the Poses grid. To add a pose, click Add and then complete the Create Pose dialog box. Click Apply, followed by OK. To add a pose, click Add and then complete the Create Pose dialog box. Click Apply, followed by OK.
9 Modeling tab
9.15 Create Mechanism Continued To edit a pose, select it in the grid, click Edit, and then complete the Modify Pose dialog box. Click OK. To remove a pose, select it in the grid and then click Remove. 3 Click Edit Transition Times to edit transition times. 4 Click Close. The Create Mechanism dialog box
Mechanism Model Name Specifies the model name of the mechanism. Mechanism Type Tree structure Specifies the mechanism type. The components of the mechanism in a tree structure. The tree structure will not be visible unless the mechanism is editable. Each node (link, joint, frame, calibration and dependency) can be edited in its own dialog box, see below. Click this button to compile the mechanism. This button will not be visible unless the mechanism is editable and the mechanism model name is valid.
Compile Mechanism
The Create/Modify Link dialog box A link is a moving component of a mechanism. Selecting a link node will highlight it in the graphics window.
Link Name Selected Part Set as BaseLink Specifies the name of the link. Specifies the parts to add to the Part list box. The BaseLink is where the kinematical chain begins. This must be the parent of the first joint. A mechanism may have only one BaseLink.
9 Modeling tab
9.15 Create Mechanism Continued
Adds a selected part to the Part list box.
xx060000
Remove Part Selected Part Part Position Part Orientation Apply to Part
Click this button to remove a selected part from the Part list box. This group manipulates the transform of the selected part. Specify the position of the part. Specify the orientation of the part. Click this button to apply the settings to the part.
The Create/Modify Joint dialog box A joint is the axis where two links move in relation to each other, rotationally or prismatically. Selecting a joint node will display a yellow-green line in the graphics window.
Joint Name Joint Type. Parent Link Child Link Active Specifies the name of the joint. Specifies the joint type. The default option is Rotational. Changing the Joint Type clears the Joint Limits below. Specifies the parent link, usually the first joint of the mechanism. Specifies the child link. To be valid, the parent and child links may not be identical to each other, and the pair must be unique. Select this check box to make the joint active. An active joint is one that a user can move, while an inactive joint is a slave to an active joint. This group specifies the axis around or along which the child moves. Specify the start point of the axis vector. Specify the end point of the axis vector. Demonstrates how the child link moves along its axis. Specifies the limits in each direction to which a joint may move. The options are Constant, Variable and No. This group is visible in Constant or Variable mode. Specifies the minimum joint limit. Specifies the maximum joint limit. This group is visible in Constant or Variable mode.
Joint Axis First Position Second Position Jog Axis Limit Type Joint Limits Min Limit Max Limit Joint Limits
9 Modeling tab
9.15 Create Mechanism Continued
Variable Limits In Variable mode, variable limit points may be added as an advanced way of delimiting the area of movement.
xx060012
left-cli
Remove
Click this button to remove a selected point from the Point list box.
The Modify Frame/Tool Data dialog box A frame/tool data node determines the link and location of a frame.
Frame/Tool Data name Belongs to Link Position Orientation Select values from target/Frame Tool Data Mass Center of Gravity Specifies the name of the frame or tool data. Specifies the link to which the frame or tool belongs. Specify the position of the transform. Specify the orientation of the transform. Select this box to select the values from a target or frame, which is selected in the box beneath the check box. This group is visible if the mechanism is a tool. Specifies the mass of the tool. Specify the center of gravity of the tool.
Moment of Inertia lx, ly, lz Specify the moment of inertia of the tool.
The Create Calibration dialog box A calibration contains transforms for calibrating the joints. Two calibrations cannot share the same joint.
Calibration belongs to Joint Position Orientation Specifies the joint to be calibrated. Specify the position of the transform. Specify the orientation of the transform.
9 Modeling tab
9.15 Create Mechanism Continued The Create Dependency dialog box A dependency is a relationship between two joints, by either a factor or a complex formula.
Joint Specifies the joint whose motion will be controlled by other joints.
Use LeadJoint and factor Select this option to specify a lead joint and factor. LeadJoint Factor Use Formula Specifies the lead joint. This list holds a double which denotes the extent to which the lead joint will control the main joint. Select this option to enter a formula in the box.
The Modify Mechanism dialog box The Modify Mechanism dialog box contains the objects found in the Create mechanism dialog box, as well as the following:
Joint Mapping These boxes handle the joint mapping of the mechanism. When editing, the mechanism must be disconnected from its library. The values must be integers from 1 6 in ascending order. Click this button to set the joint mapping. Displays the poses and their joint values. Selecting a pose will move the mechanism to it in the graphics window. Click this button to bring up the Create Pose dialog box for adding a pose. Click this button to bring up the Modify Pose dialog box for editing a selected pose. A SyncPose cannot be edited unless the mechanism is disconnected from its library. Click this button to remove the selected pose. A single SyncPose cannot be removed. Click this button to edit the transition times.
Set Poses
Add Edit
Home Pose Launch Joint Jog Tool Use Current Reset Values Joint Values
9 Modeling tab
9.15 Create Mechanism Continued The Set Transition Times dialog box The Set Transition Times dialog box is designed like a distance table in a road atlas. The default values are zero.
From Pose To Pose Specifies the start of the transition for the named pose. Specifies the end of the transition for the named pose.
3HAC032104-001 Revision: J
9 Modeling tab
9.16 Create Tool
Use Dummy
3 Continue entering the Mass of the tool, the Center of Gravity and the Moment of Inertia Ix, Iy, Iz, if these values are known. If you do not know the correct values, the tool can still be used for programming motions, but this data must be corrected before running the program on real robots or measuring cycle times. Tip If the tool is built from materials with a similar density, you can find the center of gravity by clicking the tool model using the Center of gravity snap mode. 4 Click Next to go the next page of the wizard. 5 In the TCP Name box, enter a name for the Tool Center Point (TCP). The default name is the same as the name of the tool. If creating several TCPs for one tool, each TCP must have a unique name. 6 Enter the position of the TCP relative to the world coordinate system, which represents the tool mounting point, by any of the methods below:
Method Description
Read values from exist- Click in the Values from Target/Frame box, then select ing target or frame the frame either in the graphics window or the Paths&Targets browser. Enter position and orient- In the Position and Orientation boxes, type the values. ation manually. If Use Dummy Part is selected, the position value can not be 0,0,0. At least one coordinate has to be > 0 in order for a cone to be created.
7 Click the arrow right button to transfer the values to the TCP(s): box. If the tool shall have several TCPs, repeat steps 5 to 7 for each TCP. 8 Click Done.
9 Modeling tab
9.16 Create Tool Continued The tool is created and appears in the Layout browser and in the graphics window. Creating tooldata for an existing geometry To create tooldata for an existing geometry, follow these steps: 1 Make sure the robot in which to create the tooldata is selected. 2 Click Create Tool and select Use Existing and the imported tool from the list. 3 Enter the requested data in the boxes in the Create Tool Wizard. 4 Attach the tool by dragging it to the robot. What to do next To make the tool ready to use, do one of the following: To make the robot hold the tool, attach the tool to the robot. In the graphics window, check the position and orientation of the TCP. If it is incorrect, modify the values in the tool frame part of the tooldata. To simplify future usage of the created tool, save it as a library. On the File menu, click Save As Library. Browse to the folder where you want to store the tool component, enter a name for the tool component and click Save.
3HAC032104-001 Revision: J
10 Simulation tab
10.1 Overview
10 Simulation tab
10.1 Overview
The Simulation tab The Simulation tab contains the controls for setting up, configuring, controlling, monitoring and recording simulations.
319
10 Simulation tab
10.2 Create Collision Set
3HAC032104-001 Revision: J
10 Simulation tab
10.3 Simulation Setup
The Setup Simulation dialog box The Setup Simulation dialog box consits of the following two tabs, Program Sequence From this tab, you can perform the combined task of configuring the program sequence and program execution such as entry point, and running the execution mode. The Program Sequence tab consists of the following:
Select Active Tasks Execution Sequence <Task Name> <Displays all running IRC5 controllers in the station along with the tasks. Displays the procedures in the main entry routine of the task. The sequence of the procedures shows the sequence of execution. Click the arrow left button to transfer the selected procedure to the Main Sequence box. The procedure will be added last to the sequence. Click this button to remove the selected procedures or sequences from the Main sequence box. Click the arrow up button to move the sequence up in the list in the Main Sequence box or in the Available Procedures box. Click the arrow down button to move the sequence down in the list in the Main Sequence box or in the Available Procedures box. Displays all procedures available in the controller. These procedures can be added to the execution sequence.
Available Procedures
10 Simulation tab
10.3 Simulation Setup Continued
Entry point The task starts its execution in the routine specified by the Entry point. You can setup several simulations at the same time. 1 Click Entry point, the Select entry point dialog box appears. 2 Click Select entry point for drop down to select the routine to be used as entry point . By default, the value is set to main. 3 Click Select module drop down to select the module in the task.By default, the value is set to Module1. 4 Click OK. You can change the run mode between continuous and single cycle mode by toggling the radio buttons. Continuous : In this mode, the main routine is executed over and over again until you stop the program. Single : In this mode, the main routine is executed once and thereafter the program is stopped.
Run mode
Simulation Scenarios From this tab, you can create simulation scenarios containing different simulated objects and connect each scenario with a predefined state to ensure that the correct state is applied to all project objects before running the scenario. If you want to simulate a specific part or segment of the cell where not all simulated objects in the cell are included, you can set up a new scenario and add only the objects needed for simulation. The Simulation Scenarios tab consists of the following:
Scenarios Lists all station scenarios. By default, atleast one scenario is created when you create a station. Select the check box to make the scenario active. Active scenarios cannot be deleted and there should always be one active scenario. Add : Click Add to create a new scenario. Remove : Click Remove to delete the selected scenario. Click the scenario in the list view to rename it. Displays all objects that can be part of a simulation. Objects that utilize simulation time can be part of a simulation. For example, Virtual Controllers and Smart Components. When you create a new scenario, all objects are selected by default. When you set the scenario to active and start the simulation, you can connect a saved state for each scenario and restore this state to all objects that are part of the state. The Saved State drop-down contains all saved states in the station, as well as the entries with no state. By default, no state is connected to the scenario. For more on Saved states, see Saved States on page 261.
Simulated object
Saved State
Setting up a simulation 1 Click Simulation Setup to bring up the Setup Simulation dialog box. 2 From the Program Sequence tab, select the tasks to be active during simulation in the Select Active Tasks box. 3 Select the run mode as either Continuous or Single Cycle. Continues on next page
322 Copyright 2008-2012 ABB. All rights reserved. 3HAC032104-001 Revision: J
10 Simulation tab
10.3 Simulation Setup Continued 4 In the Main Sequence box, select the execution sequence of the procedure in the tasks main entry routine. 5 From the Available Procedures list, transfer the procedures to be active in the simulation to the Main Sequence box by selecting them and clicking the left arrow button between the lists. (This creates a procedure call in the main procedure). 6 To start the simulation from procedure other than the actual Main procedure, click Entry point and set the entry point and module. By default, entry point is set to Main and module as Module1. 7 Click Apply to set the simulation. If you click OK, the simulation will be set and the dialog box will be closed. Creating simulation scenarios 1 Click Simulation Setup to bring up the Setup Simulation dialog box. 2 From the Simulation Scenarios tab, Click Add to create a new scenario in the Screnarios box. Click Remove to delete the selected scenario from the Scenarios box.
When you create a new scenario, by default, all objects are selected in the Scenarios box. 3 Select a saved state for the scenario from the Saved State drop down.
323
10 Simulation tab
10.4 Event Manager
eventman
Part 1
Description The Task pane. Here you create new events, or copy or delete existing events selected in the Event grid. The Event grid. Displays all events in the station. Here you select events to edit, copy or delete. The Trigger editor. Here you edit the properties of the events trigger. The upper part of the trigger editor is the same for all triggers, and the lower part adapts to the selected trigger type. The Action editor. Here you edit the properties of the events action. The upper part of the action editor is the same for all actions, and the lower part adapts to the selected action type.
10 Simulation tab
10.4 Event Manager Continued The event grid columns In the event grid, each row is a an event and the columns in the grid display their properties.:
Column Activation Description Displays whether the event is active or not. On = The action is always carried out when the trigger event occurs. Off = The action is not carried out when the trigger event occurs. Simulation = The action is only carried out if the trigger event occurs when running a simulation. Displays the type of condition that triggers the action. I/O signals changed = Changes a digital I/O signal. I/O Connection = Simulates the behavior of a Programmable Logic Controller (PLC). Collision = Starts or ends a collision or near-miss between objects in a collision set. Simulation time = Sets the activation time. Note: The Simulation time button is enabled once the activation is set to Simulation. The trigger type cannot be changed in the trigger editor. If you want another trigger type than the current one, create a completely new event. When the trigger type is I/O Signal Trigger, this column displays to which system the signal used as trigger belongs. A dash (-) signifies a virtual signal. The name of the signal or collision set used as trigger. Displays the condition of the event under which triggering occurs. 0 = The I/O signal used as trigger switches to false. 1 = The I/O signal used as trigger switches to true. Started = A collision starts within the collision set used as trigger. Ended = A collision ends within the collision set used as trigger. Near miss started = A near-miss starts within the collision set used as trigger. Near miss ended = A near-miss ends within the collision set used as trigger.
Trigger Type
Trigger System
10 Simulation tab
10.4 Event Manager Continued
Column Action Type Description Displays the action type that occurs in conjunction with the trigger I/O Signal Action = Changes the value of a digital input or output signal. Attach Object = Attaches an object to another. Detach Object = Detaches an object from another. Turn On/Off Simulation Monitor = Toggles the simulation monitor of a specific mechanism. Turn On/Off Timer = Toggles the process timer. Move Mechanism to Pose = Moves the selected mechanism to a predefined pose and thereafter sends a station signal. Activates or deactivates the process timer. Move Graphical Object = Moves a graphical object to a new position and orientation. Show/Hide Graphical Object = Shows or hides the graphical object. Do Nothing = No action occurs. Multiple = The event triggers multiple actions, either all at once or one at a time, each time the trigger is activated. Each action can be viewed in the action editor. When the action type is Change I/O, this column displays the system to which the signal to change belongs. A dash (-) signifies a virtual signal. Displays the name of the signal to change, when the action type is Change I/O. Displays the condition after the action has occurred. 0 = The I/O signal will be set to false. 1 = The I/O signal will be set to true. On = Turns the process timer on. Off = Turns the process timer off. Object1 -> Object2 = Displays the object to which another will be attached when the action type is Attach object. Object1 <- Object2 = Displays the object from which another will be detached when the action type is Detach object. Ended = A collision ends within the collision set used as trigger. Near miss started = A near-miss starts within the collision set used as trigger. Near miss ended = A near-miss ends within the collision set used as trigger. Multiple = Signifies multiple actions. Displays the time when the event trigger was executed.
Action System
Time
10 Simulation tab
10.4 Event Manager Continued The trigger editor parts In the trigger editor you set the properties of the trigger. The upper part of the editor is common for all types of triggers, and the lower part adapts to the trigger type at hand. Parts common to triggers
Part Activation Description Sets whether the event is active or not. On = The action is always carried out when the trigger event occurs. Off = The action is not carried out when the trigger event occurs. Simulation = The action is only carried out if the trigger event occurs when running a simulation. Text box for comments and notes about the event.
Comments
Collision set
10 Simulation tab
10.4 Event Manager Continued The action editor parts In the action editor you set the properties of the actions for the event. The upper part of the editor is common to all types of actions, and the lower part adjusts to the selected action. Parts common to all actions
Part Add Action Description Adds a new action that occurs when the triggering condition fulfills. You can add several different actions that either are performed at once or one at a time each time the event triggers. The following types of actions are available: Change I/O = Changes the value of a digital input or output signal. Attach object = Attaches an object to another. Detach object = Detaches and object from another. Turn On/Off Timer = Activates or deactivates the process timer. Do Nothing = No action occurs (might be useful for manipulating sequences of actions). Removes the action selected in the Added Actions list. When selected, the actions are performed one at a time each time the trigger occurs. When all actions in the list have been performed, the event will restart with the first action in the list. When cleared, all actions are performed at once every time the trigger occurs. Lists all actions of the event, in the order they will be executed. Rearranges the order in which the actions are executed.
Flange index
10 Simulation tab
10.4 Event Manager Continued
Part Offset Position Offset Orientation Description Optionally, specify an offset between the objects when making the attachment Optionally, specify an offset between the objects when making the attachment
Station signal to set when Lists the station signals that are sent after the mechanism Pose reached reaches its pose. Add Digital Remove Click this button to add a digital signal to the grid. Click this button to remove a digital signal from the grid.
Graphical Object to Move Select a graphical object in the station to move. New Position New Orientation Sets the new position of the object. Sets the new orientation of the object.
329
10 Simulation tab
10.5 Station Logic
For more information on the characteristics of a Smart Component editor, see Smart Component on page 258. Opening Station Logic You can launch Station Logic in any of the following two ways: In the Simulation tab, click Reset and select Manage States. In the Layout browser, right-click the station and select Station Logic.
Differences between Station Logic and Smart Component The following table lists some of the differences while working with Station Logic and a Smart Component:
Smart Component Station Logic
The Editor window consists of a text box The Editor window do not have the descripdisplaying the description of the component tion text box wherein the description can be that is used for modifying the text. modified. The Compose tab has the following options: The Compose tab has the following options: Child components Child components Saved States Saved States Assets The Properties and Bindings tab has the following options: Dynamic Properties Property Bindings In the Signals and Connections tab, when working with Add or Edit I/O Connections, you do not have the option of selecting the VCs in the station from the the Source Object and Target Object list. The Properties and Bindings tab has the following options: Property Bindings You can create connections to and from I/O signals in a VC. In the Signals and Connections tab, when working with Add or Edit I/O Connections, you have the option of selecting the VCs in the station from the the Source Object and Target Object list.
3HAC032104-001 Revision: J
10 Simulation tab
10.6 Activate Mechanical Units
331
10 Simulation tab
10.7 Simulation Control
Play and select Record start the simulation and to record it to a Station Viewer. to Viewer The Save As dialog box appears where the simulation is saved. Pause/Step pause and step the simulation. The Pause button is changed to Step once you start the simulation. Click Step to run the simulation in steps. You can set the simulation timestep. See Options:Simulation:Accuracy on page 199. reset the simulation to its initial state. See Resetting simulation on page 332.
Reset
Note The Record to Viewer option is a special recording mode that allow simulations created using Smart Components to be viewed in the Station Viewer. Resetting simulation 1 In the Simulation Control group, click Reset to reset the simulation. 2 Click Reset and select Save Current state to store states of objects and VCs to be used in a simulation scenario. For more information, see Save Current State on page 261. 3 Click Reset and select Manage states to launch Station Logic. For more information, see Station Logic on page 330.
3HAC032104-001 Revision: J
10 Simulation tab
10.8 I/O Simulator
io_overv
Part 1 2
Description Select System. Select the system whose signals you want to view. Filter type. Select the type of filter to use.
10 Simulation tab
10.8 I/O Simulator Continued
Part 3 Description Filter Specification. Select the filter for limiting the signal display. For example, if Board is set as filter type, then you select the board whose signals you want to view. Inputs. Displays all input signals that pass the applied filter. If more than 16 signals pass, only 16 signals at a time are displayed. Then use the I/O range list to select the signals to view. Outputs Displays all output signals that pass the applied filter. If more than 16 signals pass, only 16 signals at a time are displayed. Then use the I/O range list to select the signals to view. Edit Lists. Click this button to create or edit lists of favorite signals. I/O Range. When more than 16 signals pass the filter, use this list to select the range of signals to display.
6 7
Signal icons
Digital signal with value 1.
value 1
The cross in the upper right corner indicates that the signals are a cross-connection.
cross connec
The -1 in the upper right corner indicates that the signal is inverted.
inverted
3HAC032104-001 Revision: J
10 Simulation tab
10.9 Monitor
10.9 Monitor
The TCP Trace tab
Enable TCP Trace Trace length Trace Color Alert color Select this check box to activate tracing of the TCP path for the selected robot. Specify the maximum length of the trace in millimeters. Displays the color of the trace when no alerts are activated. To change the color of the trace, click the colored box. Displays the color of the trace when any of the alerts defined on the Alerts tab exceeds a threshold value. To change the color of the trace, click the colored box. Click this button to remove the current trace from the graphics window.
Clear Trace
335
10 Simulation tab
10.10 Stopwatch
10.10 Stopwatch
Stopwatch for measuring process time The Stopwatch feature is used for measuring the time taken between two trigger points in a process, and also for the process as a whole. The two trigger points are called the Start Trigger and the End Trigger. When a stopwatch is setup, the timer starts when the Start Trigger occurs, and stops when the End Trigger occurs. Setting up a Stopwatch 1 On the Simulation tab, in the Monitor group, click Stopwatch. The Stopwatch settings dialog appears. 2 Specify a Name for the stopwatch. 3 Select a Start Trigger and an End Trigger for the stopwatch. The following parameters are listed for selection as triggers: Simulation Start Simulation Stop Target Changed Additionally, specify the mechanical Unit and the target. I/O Value Additionally, specify the source mechanical unit from where the signal comes, the type of I/O signal and the value of the signal. 4 Click Add.
3HAC032104-001 Revision: J
10 Simulation tab
10.11.1 Signal Setup
10 Simulation tab
10.11.1 Signal Setup Continued This ensures that all selected signals will be recorded whenever a simulation is running. Note Disabling the station database will stop the recording but stores the configuration and all completed recordings in the station. Note You can analyze the recorded signals. See Signal Analyzer on page 339. You can organize the saved signal data. See History on page 342. Disable signal recording as soon as the analysis is completed to avoid the station file size to increase. Note It is not possible to subscribe to signals connected to a unit of type LOCAL_GENERIC. Attempting to do so produces this error message in the Output window: Failed to subscribe on signal:
3HAC032104-001 Revision: J
10 Simulation tab
10.11.2 Signal Analyzer
Layout of Signal Analyzer The following figure shows the layout of the Signal Analyzer
en1100000034
1 2 3 4 5
Toolbar Digital signal values Analog signal values Events Signals table
Displays a toolbar with options to configure and to work with the Signal Analyzer. Displays a colored bar representing a segment where the signal is set. Displays analog and numeric signal values. Displays discrete events, such as EventLog messages. Displays information about all recorded signals for the current data session.
10 Simulation tab
10.11.2 Signal Analyzer Continued Toolbar The toolbar displays the following options:
Option Drop-down list Description For selecting the signal recording to be displayed. These signals are also available in Signal History. See History on page 342. For moving the time forward and backward. For zooming in / out the time axis. For enabling data to be shown live, that is, as recorded during a simulation. For displaying the crosshairs following the mouse. For enabling / disabling vertical axis autoscaling. For displaying the line markers for each sample in the analog / numeric graph. For exporting the data to a file. The data can be saved in Microsoft Excel 2007 format and tab delimited text format.
Timer slider Zoom in/out buttons Live data button Crosshair Auto scale button Line marker button Save button
Digital signal values It displays one row per digital signal, showing the signal state over time. A solid colored bar indicates the signal is set (value=1), otherwise the signal is cleared (value=0). The signal name is displayed to the left. Move the mouse over the colored bars to view additional information like the time stamps when the signal was set and reset. Analog signal values It displays a 2D line graph for each analog signal. It consists of the following: Left-side vertical axis Horizontal axis displaying time in seconds Plot area displaying the signal graphs Optional right-side vertical axis.
You can configure the individual signals to use the right-side vertical axis scale from the signals table at the bottom of the window. This axis is hidden by default. The following actions can be performed in this segment: Scale the vertical axes: If you select the autoscale button in the toolbar, then the vertical axes will automatically scale to ensure that the line graphs are visible. You can modify the vertical scale using the mouse if the cursor is over the axis value area. This automatically deselects the autoscale button. Pan and Zoom time axis: If the cursor is over the central, main area of the plot, then you can scale, pan, and zoom the time axis using the mouse.
Events It displays one row per selected event category. Each event is indicated with a diamond shaped icon. Click this icon to display a popup with more information about the event.
10 Simulation tab
10.11.2 Signal Analyzer Continued Signals table Displays information about each recorded signal. This enables you to configure settings for each signal such as color, visibility, whether to use left or right vertical axis and so on.
341
10 Simulation tab
10.11.3 History
10.11.3 History
Overview This feature displays and helps in organizing saved signal recordings of the current RobotStudio station. Layout of Signal History You can do the following from the Signal History window: Click the column header to sort the history in ascending or descending order. Click the drop-down to group the history as View By Today or View by Order.
Organizing the Signal History Use this procedure to organize the signal history: 1 Create a saved signal data in the station. See Setting up the signals on page 337. 2 In the Simulation tab, click Signal Analyzer and select History. The Signal History window with all the stored signal history elements are displayed. Note The signal history elements in the Signal History window is updated automatically whenever the signals are setup and the simulation is started / stopped. 3 In the Signal History window, right-click a history element and select: Analyze: To open the Signal Analyzer window. Export: To save selected history elements to a file. Delete: To remove the selected signal recording permanently. Rename: To rename the signal recording.
Note Disable signal recording as soon as the analysis is completed to avoid the station file size to increase.
3HAC032104-001 Revision: J
10 Simulation tab
10.12 Record Movie
343
10 Simulation tab
10.13.1 Conveyor Tracking
3HAC032104-001 Revision: J
10 Simulation tab
10.13.2 Conveyor Simulation
action_i
Note If an error occurs while executing the program, the controller reaches Guard state. In this state, RobotStudio cannot execute the program during the next simulation. To recover from this state, open the Control Panel and switch to Manual Mod and then to Auto Mode. For more information, see Application manual - Conveyor Tracking. 2 Synchronize to VC. See Synchronize to VC on page 399. 3 Set up the Simulation. See Simulation Setup on page 321. 4 Click Simulation. The Conveyor Simulation dialog appears. 5 In the Conveyor Speed box, set the speed during simulation. To move the conveyor in the backward direction, select the Reverse check box. Continues on next page
3HAC032104-001 Revision: J Copyright 2008-2012 ABB. All rights reserved. 345
10 Simulation tab
10.13.2 Conveyor Simulation Continued 6 Click Apply. 7 Click Play to run the simulation. Note The conveyor speed and direction can be changed while running the simulation. To jump the conveyor back to the start position, click Reset. This button remains enabled as long as the station has at least one conveyor.
3HAC032104-001 Revision: J
11 Controller tab
11.1 Real and virtual controllers
11 Controller tab
11.1 Real and virtual controllers
The Controller tab contains the controls for managing the real controller and also the controls for synchronization, configuration and tasks assigned to the virtual controller. RobotStudio allows you to work with an off-line controller, which is a virtual IRC5 controller running locally on your PC. This offline controller is also referred to as the virtual controller (VC). RobotStudio also allows you to work with the real physical IRC5 controller, which is simply referred to as the real controller. The features on the Controller tab can be categorized as follows: Features for both virtual and real controllers Features for real controllers Features for virtual controllers
For more information on working with a real controller, see Working online on page 149.
347
11 Controller tab
11.2.1 Add Controller
11.2 Features for both virtual and real controllers 11.2.1 Add Controller
Adding and connecting to a controller You can connect to real or virtual controller using the Add Controller button. To connect to a real controller, on the Controller tab click the arrow next to the Add Controller icon, and then click one of the following commands as per your requirement: One Click Connect - For connecting to the service port of the controller Add Controller - For adding available controllers to the network Note For connecting RobotStudio to a real controller over the Ethernet (LAN), the controller system must have the RobotWare option PC-interface. This option is not required when connecting through the service port. To start and connect to a virtual controller, on the Controller tab click the arrow next to the Add Controller icon, and then click Start Virtual Controller. One Click Connect The One Click Connect feature allows connecting to a robot controller, that is connected to the service port, in a single step. You need to do the following before using this feature: Connect the computer to the controller service port. Ensure that the network settings on the PC is correct. DHCP should either be enabled or the IP address should have a specific value. For more information on network settings, see Network settings on page 151.
On the Controller tab, click the arrow next to the Add Controller icon, and then click One Click Connect. Add Controller 1 In the Controller tab, click Add Controller to bring up a dialog box in which all available controllers are listed. 2 If the controller is not found in the list, type its IP address in the IP Address box, and then click Refresh. 3 Select the controller in the list and click OK.
11 Controller tab
11.2.1 Add Controller Continued Start Virtual Controller The Start Virtual Controller command allows you to start and stop a virtual controller, using a given system path and without needing a station. Tip You can use the Start Virtual Controller command when you require a virtual controller as emulator while developing PC SDK or RobotWare Additional Options. You can also use this command when you need to use the Configuration editor or the RAPID editor without requiring a station. Clicking Start Virtual Controller under Add Controller opens the Start Virtual Controller dialog box. In this dialog box, specify the following: 1 In the System Pool drop-down list specify the location and folder of your PC where the required virtual controller system are stored. To add a folder to this list, click Add and then browse to and select the folder to be added. To remove a folder from the list, click Remove. 2 The Systems Found table lists the virtual controller systems found in the selected system folder. Click a system to select to select it for starting. 3 Select the required check boxes: I-Start, to start the VC with the current system and the default settings Local login Handle Write Access automatically
349
11 Controller tab
11.2.2 Events
11.2.2 Events
Events log To view the events log of the controller, on the Controller tab in the Controller Tools group, click Events. This opens the Event log. The severity of each event is indicated by its background color; blue for information, yellow for warning and red for an error which needs to be corrected in order to proceed. You can perform the following operations on the Event log. Click any event to view a brief description about the event. The Auto Update check box is selected by default, so that new events appear in the list as they occur. Clearing the check box to disable automatic update. Selecting it again, fetches and displays the events missed while it was cleared. You can filter the event log list based on the category of the event or based on any text in its displayed details. To filter the list based on any required text, specify it in the Text box. To filter based on the events categories, use the Category drop-down list. The list contains the following different event categories. Common (the default category, includes all categories) Operational System Hardware Program Motion IO & Communication User Internal Process Configuration RAPID
To clear the current event record, click Clear. This does not affect the event log of the controller, which can be retrieved again by clicking the Get button. To retrieve and display all events currently stored in the controller, click Get To save the event records of the selected event categories to log files on the computer, click Save. To enables all events currently in the Common Event Log to be saved to a log file on the computer, select the Log to file check box. The log file will be updated with all new events as they occur.
3HAC032104-001 Revision: J
11 Controller tab
11.2.3 Inputs / Outputs
The Value column This column shows the value of the signal. The value can be changed by double-clicking the signal row.
The Min Value column This column displays the minimum value that the signal can have. The Max Value column This column displays the maximum value that the signal can have. The Logical State column This column shows whether the signal is simulated or not. When a signal is simulated, you specify a value that overrides the actual signal. Changing the logical state by turning the simulation on or off can be done from the I/O system.
The Unit column This column shows to which I/O unit the signal belongs. This is set by the I/O unit's configuration and cannot be changed from the I/O system.
The Bus column This column shows to which I/O bus the signal belongs. This is set by the I/O bus' configuration and cannot be changed from the I/O system.
11 Controller tab
11.2.3 Inputs / Outputs Continued This column displays the Signal Identification Label as defined in the I/O Configuration database. You can filter the I/O system window to view only a subset of all signals. You can filter the view using the following parameters: Name and Label- Use the free-text edit boxes above these columns. The resulting view will show signals that contain the entered text string in the respective field. Simulated - Select this check box to view simulated signals only Unit, Bus, and Category - Use the drop-down list boxes above each column to select the required option for the respective parameter. The resulting view will show only those signals that have the selected option. Clear filter - Click this button to reset the view, and show all signals again.
3HAC032104-001 Revision: J
11 Controller tab
11.2.4 ScreenMaker
11.2.4 ScreenMaker
Overview ScreenMaker is a tool in RobotStudio for creating customized FlexPendant user interfaces without the need to learn Visual Studio development environment and .NET programming. For more information on ScreenMaker, see ScreenMaker tab on page 487. Prerequisites Note ScreenMaker is not available in RobotStudio 5.15 64-bit edition. To use ScreenMaker, you should have: RobotStudio with Premium license. RobotWare FlexPendant Interface option enabled. See Testing on Virtual controller/Real controller on page 353. Microsoft .NET Compact Framework 2.0 installed.
For more information on the system requirements, hardware requirements, and the supported Operating Systems, see RobotStudio Release Notes. Testing on Virtual controller/Real controller RobotWare FlexPendant Interface option is required for ScreenMaker applications. NOTE! RobotWare PC Interface option is required only when using ScreenMaker for Robots on a LAN (to get the data from the controller, bind, and deploy). If there is no PC Interface option, service port can be used to design and deploy screens.
en0900000723
en0900000724
11 Controller tab
11.2.4 ScreenMaker Continued Launching ScreenMaker You can launch ScreenMaker either from the Controller tab. 1 In the Controller tab, click the arrow next to the FlexPendant icon. 2 Click ScreenMaker. ScreenMaker is launched as a new tab. The connection to all connected virtual and real controllers can be established. Note For more information, see Managing ScreenMaker projects on page 500.
3HAC032104-001 Revision: J
11 Controller tab
11.2.5 Restart a controller
Advanced restart options The controller can be restarted with the following advanced restart options:
Option I-Start Description Restarts the controller with the current system and the default settings. This restart discards the changes made to the robot's configuration. It reverts the current system to the state it had when it was installed on the controller (an empty system). This restart deletes all RAPID programs, data and custom configurations that have been added to the system. Restarts the controller with the current system and reinstall RAPID. This restart deletes all RAPID program modules. It can be useful if the system has changed in such a way that the programs no longer are valid, for instance if system parameters used by the program are changed. This restart applies only to real controllers. This restart saves the current system, with the current settings, and starts the boot application on the FlexPendant from which you can choose a new system to start with. You can also configure the controller's network settings from the boot application. This restart applies only to real controllers. This restart deletes the current system and starts the boot application on the FlexPendant from which you can choose a new system to start with. You can also configure the controller's network settings from the boot application. This restart applies only to real controllers. Restarts the controller with the current system and the last known good settings. This restart restores changes made to the robot's configuration to a previously good state.
P-Start
X-Start
C-Start
B-Start
Restarting a virtual controller 1 In the Controller browser, select the controller to restart.
11 Controller tab
11.2.5 Restart a controller Continued 2 In the Controller Tools group, click the arrow next to the Restart icon, and then select one of the following options:
Warmstart Restarts the VC and activates the changes made to the system. This is the default option if you directly click Restart. Restarts the VC with the current system and the default settings. Restarts the VC with the current system and reinstalls RAPID.
I-start P-start
The options for Restart are also present in the context menu when you right-click a controller in the Controller browser. Restarting a real controller The following are the prerequisites for restarting a real controller: You must have Write access to the controller you are restarting. For the advanced restart methods X-start and C-start, you must have access to the controller's FlexPendant.
To restart a real controller: 1 In the Controller browser, select the controller to restart. 2 In the Controller Tools group, click the arrow next to the Restart icon, and then select one of the following options:
Warmstart Advanced Restarts the real controller and activates the changes made to the system. The controller can be restarted with the following advanced restart options: I-start P-start X-start (FlexPendant required) C-start (FlexPendant required) B-start
The options for Restart are also present in the context menu when you right-click a controller in the Controller browser.
3HAC032104-001 Revision: J
11 Controller tab
11.2.6 Back up a system
Creating a Backup To create a backup, follow these steps: 1 In the Controller browser, select the system you want to backup from the browser. 2 Click Backup and select Create Backup. The Create Backup dialog box appears. 3 Enter a new backup name and specify a location for the backup, or keep the default ones. 4 Click Backup. The progress of the backup is displayed in the Output window. Backup folder When the backup is complete you will have a folder with the name of the backup in the specified location. This folder contains a set of subfolders which together comprise the backup. CAUTION If the contents of the Backup folder are changed, then it will not be possible to restore the system from backup.
Subfolders Backinfo Home Rapid Description Contains information necessary for re-creating the system's software and options from the mediapool. Contains a copy of the systems home directory content. Contains one subfolder for each task in the systems program memory. Each of these task folders contains separate folders for program modules and system modules. Contains the system's configuration files.
Syspar
11 Controller tab
11.2.6 Back up a system Continued
Note The contents of the PIB board of a IRC5P system (a controller system for painting) will not be included with the regular RobotStudio backup. Please use the backup function of the FlexPaintPendant to include the PIB content.
3HAC032104-001 Revision: J
11 Controller tab
11.2.7 Restore a system
Restoring a system Note Before proceeding, make sure that the system from the backup is compatible with the controller you are restoring. To restore a system, follow these steps: 1 In the Controller browser, select the system you want to restore. 2 Click Backup and select Restore Backup. The Restore from Backup dialog box appears. 3 In the Restore from Backup dialog box, select which backup to use for restoring the system. 4 Click Restore. The progress of the restore appears in the Output window. The controller is automatically restarted to load the restored system. If the system from the backup does not originate from the controller you are restoring, you get the following message about the mismatch.
en0900001061
359
11 Controller tab
11.2.8 System Builder
3HAC032104-001 Revision: J
11 Controller tab
11.2.9 Configuration editor
Layout of the Configuration Editor The Configuration Editor consists of the Type name list and the Instance list. The Type name list displays all available configuration types for the selected topic. The list of types is static. This means you cannot add, delete or rename types. The Instance list displays all system parameters of the type selected in the Type name list. Each row in the list is an instance of the system parameter type. The columns show each specific parameter and its value for each instance of the parameter type. The Configuration editor has the following options: Add Signals You must have write access to the controller to be able to open the add signal window.
Type of Signal Signal Base Name Assigned to Unit Defines the type of signal. Defines the name for one or more signals. Defines the I/O unit to which the signal belongs.
Signal Identification Label Optionally, offers filtering and sorting based on this category. Number of Signals Start Index Step Unit Mapping Start Defines the number of signals to add in a range Defines the index (number) to start the range with. Defines the number which the index should increase with. Defines the bits in the I/O memory map of the assigned unit to which the signal is mapped.
11 Controller tab
11.2.9 Configuration editor Continued
Category Access Level Default Value Optionally, offer filtering and sorting based on this category. Defines the write access to I/O signals for categories of I/O controlling clients connected to the robot controller. Specifies the I/O signal value to be used at the start.
Value at System and Power Specifies whether the output I/O signal should keep its current Failure value or take the I/O signal's default value in case of system failure or at a power fail. Store Value at Power Fail- Specifies if the I/O signal should be set to the value stored in ure the permanent memory pool or not at the start. Invert Physical Value Applies an inversion between the physical value of the signal and its logical representation in the system.
Layout of the Instance editor The Instance Editor lists the parameters and their values in the open instance. In the Value column you can view and edit the value of the parameter. When you click a row, the lower section of the Instance Editor window displays the type of parameter, restrictions for the parameter value and other conditons for the parameter.
3HAC032104-001 Revision: J
11 Controller tab
11.2.10 Load Parameters
replace the entire configuration of the Delete existing parameters before loadtopic with the one in the configuration file. ing add new parameters from the configura- Load parameters if no duplicates tion file to the topic, without modifying the existing ones. add new parameters from the configura- Load parameters and replace duplicates tion file to the topic and update the existing ones with values from the configuration file. Parameters that only exist in the controller and not in the configuration file will not be changed at all.
4 Click Open and browse to the configuration file to load. Then click Open again. 5 In the information box, click OK to confirm that you want to load the parameters from the configuration file. 6 When the loading of the configuration file is finished, close the Select mode dialog box. If a restart of the controller is necessary for the new parameters to take affect, you will be notified of this.
363
11 Controller tab
11.2.11 Save Parameters
3HAC032104-001 Revision: J
11 Controller tab
11.2.12 Transfer
11.2.12 Transfer
Overview The transfer function allows easy transfer of offline-created RAPID programs to the real robot on the shop floor. This means that you can transfer data from a virtual controller (which is offline) to a real controller (which is online). As part of the transfer function you can also compare the data present in the virtual controller with that present in the real controller and then select which data to transfer. You can also use the transfer function to transfer data from a virtual controller to another virtual controller. Relations for transfer of data To transfer data, you must first set up a Relation between the two controllers. A Relation defines the rules for the transfer of data between the two controllers. Creating a Relation When you have two controllers listed in the Controller browser, you can create a Relation between them. To create a Relation: 1 On the Controller tab, in the Transfer group, click Create Relation. The Create Relation dialog box is displayed. 2 Enter a Relation Name for the relation. 3 Specify the First Controller, from the list. This must be a virtual controller The First Controller, also called the Source, owns the data being transferred. 4 Specify the Second Controller, from the list. This can either be a real controller or another virtual controller. The Second Controller, also called the Target, receives the data being transferred. 5 Click Ok. The relation between the controllers is now created. After this, the Relation dialog box opens, using which you can configure and execute the transfer. Relations of a controller are listed under its Relations node in the Controller browser. Note The properties of the relation are saved in a XML file under INTERNAL in the owner controllers system folder. Transferring data You can configure the details of the transfer of data and also execute the transfer, in the Relation dialog box.
11 Controller tab
11.2.12 Transfer Continued To open the Relation dialog box, double-click a relation. Alternatively, select a relation in the Controller browser, and then in the Transfer group, click Open Relation. Configuring the transfer Before executing a transfer, you can configure the data to be transferred, under the Transfer Configuration heading. Configure using these guidelines: Use the check boxes in the Included column to include or exclude the corresponding items shown in the tree structure. All items in a module that are included will be transferred. Other non-listed items of a module such as comments, records and so on will be automatically included in the transfer. The Action column shows a preview of the transfers result, based on the items you include or exclude. If a module exists both in the source and the target controllers, and the Action column shows Update, then click Compare in the Analyze column. This opens the Compare box which shows two versions of the module in different panes. The affected lines are highlighted and you can also step through the changes. You can choose one of the following options for the comparison: Source with target - Compares the source module with the target module Source with result - Compares the source module with the module that will be the result of the transfer operation
BASE (module), wobjdata and tooldata are excluded by default. wobjdata wobj0, tooldata tool0, and loaddata load0 of the BASE module are unavailable for inclusion. Write access to the target controller is present (must be manually retrieved). Tasks are not running. Program execution is in the stopped state.
Executing the transfer After you have configured the transfer, you can execute it. Under the Transfer heading, the Source and Target modules are shown along with the arrow showing the direction of the transfer. You can change the direction of the transfer by clicking Change Direction. This also switches the source and target modules. To execute the transfer click Transfer now. A dialog showing a summary of the transfer appears. Click Yes to complete the transfer. The result of the transfer is displayed for each module in the output window. The Transfer now button is disabled if: None of the included tasks can be transferred. Write access is required but not held.
11 Controller tab
11.2.12 Transfer Continued
Note If one of several modules fail, then the following error message is displayed. Module xxx.zzz has failed. Do you want to continue?
367
11 Controller tab
11.2.13 Safety Configuration
3HAC032104-001 Revision: J
11 Controller tab
11.3.1 Request Write Access
If the prerequisites are not fulfilled you will be denied, or lose, the Write access. This means that if you have Write access in auto mode and the controller is switched over to manual mode you will lose the Write access without any warning. This is because the FlexPendant unit by default has the Write access in manual mode, for safety reasons. The same will happen if the remote Write access in manual mode is recalled from the FlexPendant unit. Result The Controller Status window will be updated when the request for Write access is granted. If the Write access is denied, a message is displayed.
369
11 Controller tab
11.3.2 Release Write Access
3HAC032104-001 Revision: J
11 Controller tab
11.3.3 Authenticate
11.3.3 Authenticate
Overview The data, functionality, and commands on a controller are protected by a User Authorization system (also called UAS). The UAS restricts the parts of the system the user has access to. Different users can have different access grants. You can perform the following functions from the Authenticate menu: Login as a Different User Log off Log off all controllers Edit User Accounts UAS Grant Viewer
Login as a Different User 1 In the Authenticate menu, click Login as a Different User. The Add new user dialog box appears. 2 In the User Name box, enter the user name you want to log on as. 3 In the Password box, enter the password for the user name you are logging on as. 4 Click OK. Note: If you have previously logged on as a different user and wish to revert as default user, click Login as Default User. Log off In the Authenticate menu, click Log off to log the user off from the controller. Login off all controllers In the Authenticate menu, click Log off to log the user off from all the controllers. Edit User Accounts For more information on User Accounts, see User Accounts on page 381. UAS Grant Viewer For more information on UAS Grant Viewer, see UAS Grant Viewer on page 386.
371
11 Controller tab
11.3.4 File transfer
Transferring files and folders Use this procedure to transfer files and folders between the PC and a controller: 1 In the Controller Tools group, click File Transfer. The File Transfer window appears. 2 In the PC explorer, browse to the folder from or to which you want to transfer the data. 3 In the Controller explorer, browse to the folder from or to which you want to transfer the data. 4 Select the item to transfer from the list. To select several items at once, do one of the following:
To select several adjacent items several non-adjacent items all items in the list then press the SHIFT key and select the first and the last item. the CTRL key and select each item. the keys CTRL + A
5 When the files and folder to transfer are selected, do one of the following:
To cut the files copy the files then press CTRL + X CTRL + C, or click Arrow
11 Controller tab
11.3.4 File transfer Continued 6 Place the insertion point either in the PC explorer or the Controller explorer and click CTRL + V. Note In the PC explorer or Controller explorer window, right-click to view the following context menu: Transfer One level up Open Refresh Cut Copy Paste Delete Remove
373
11 Controller tab
11.3.5 FlexPendant Viewer
3HAC032104-001 Revision: J
11 Controller tab
11.3.6 Import Options
several non-adjacent options the CTRL key and select each option.
5 Click OK. Removing system options 1 In the Configuration group, click Import Options to bring up a dialog box. 2 In the Media Pool destination list, enter the path to the media pool from which you want to delete the options. You can also click the Browse button and browse to the media pool folder. 3 Select the options to delete and click Remove. To select several options at once, do one of the following:
To select several adjacent options then hold down the SHIFT key and select the first and the last option.
several non-adjacent options the CTRL key and select each option.
4 Click OK.
375
11 Controller tab
11.3.7 Properties
11.3.7 Properties
Overview You can perform the following from the Properties menu: Renaming the controller Setting the controller date and time Setting the Controller ID Viewing controller and system properties Handling the Device Browser
Renaming the controller The controller name is an identification of the controller that is independent of the system or the software running on the controller. Unlike the controller ID, the controller name does not have to be unique for each controller. Note The controller name must be written with characters from the ISO 8859-1 (Latin 1) character set. 1 In the Configuration group, click Properties, and then click Rename. The Rename Controller dialog box appears. 2 Enter the new name of the controller in the dialog box. 3 Click OK. The new name will be activated when the controller is restarted. You will be prompted to either click Yes to restart the controller immediately or click No to restart later. Setting the controller date and time You can either set the date and time to the same as the computer you are working from, or you can specify the date and time manually. Use this procedure to set the controller date and time: 1 In the Configuration group, click Properties, and then click Date and Time. The Set Date and Time dialog box appears. 2 In the Set Controllers date and time, click the arrow next to the date and time list to set the date and time of the controller. Note Click Get local computers time to set the date and time of the controller to the same as the computer you are working on. Setting the Controller ID The Controller ID is by default set to the serial number of the controller and is thereby a unique identifier of the controller. Continues on next page
376 Copyright 2008-2012 ABB. All rights reserved. 3HAC032104-001 Revision: J
11 Controller tab
11.3.7 Properties Continued The Controller ID is a unique identifier for the controller and should not be changed. However, if the hard disk of the controller is replaced, the ID will be lost and you must set it back to the serial number of the controller. Note You must Request Write Access to the controller before setting the controller ID. 1 In the Configuration group, click Properties, and then click Controller ID. The Set Controller ID dialog box appears. 2 Enter the Controller ID and then click OK. Note Use only characters from the ISO 8859-1 (Latin 1) character set and no more than 40 characters. Viewing controller and system properties You can view the following properties for a controller and its running sytem.
Controller Properties Boot Application Controller ID Controller Name Installed Systems Network Connections System Properties Control Module Drive Module #1 Serial Number System Name
1 In the Configuration group, click Properties, and then click Controller and System Properties. The Controller and System Properties window appears. 2 In the tree view at the left of the window, browse to the node for which you want to view the properties. The properties of the selected object are displayed in the Properties list to the right of the window. Viewing the Device Browser The Device Browser displays the properties and trends of the various hardware and software devices in a robot controller. To open the Device Browser, in the Configuration group, click Properties, and then click Device Browser. Displaying the properties of a device In the tree view, browse to the node for which you want to view the properties and then click it. The properties of the selected object, along with their corresponding values, are listed to the right of the tree view. Updating the tree view Press F5, to update the tree view. Continues on next page
3HAC032104-001 Revision: J Copyright 2008-2012 ABB. All rights reserved. 377
11 Controller tab
11.3.7 Properties Continued Alternatively, right-click inside the tree view pane, and then click Refresh. Displaying a trend Select a device in the tree view and then double-click any property, that has a numerical value, in the right-hand panel. This opens a trend view. The trend view collects data at a rate of one sample per second. Hiding, stopping, starting or clearing a trend Right-click anywhere on the trend view and then click the required command. Saving system diagnostics You can create a System Diagnostics data file from RobotStudio. To save a System Diagnostics data file to your PC, in the Configuration group, click Properties, and then click Save system diagnostics.
3HAC032104-001 Revision: J
11 Controller tab
11.3.8 Go Offline
11.3.8 Go Offline
Overview The main purpose of this feature is to create a new station with a VC similar to the connected real controller. This helps a robot technician to work offline, and not just when connected to the real controller. Using Go Offline 1 Connect the PC to a real controller. 2 On the Controller tab, click Request Write Access. For more information on Request Write Access, see Request Write Access on page 369. 3 Click Go Offline. The Go Offline dialog box is displayed. 4 Enter a name for the system and browse for the location to save the system. A new station is created with a VC with the same configuration as the real controller. Note Go Offline transfers additional options from a real controller and installs them on the PC. A Relation is automatically created between the virtual controller and the real controller. For more information on Relations, see Transfer on page 365
379
11 Controller tab
11.3.9 Online Monitor
3HAC032104-001 Revision: J
11 Controller tab
11.3.10 User Accounts
users-ta
Users tab Parts 1 The Add button. Opens a dialog box for adding new users. 2 The Edit button. Opens a dialog box for changing the log on name and password of the user. 3 The Delete button. Deletes the selected user account from the controller.
11 Controller tab
11.3.10 User Accounts Continued 4 The Users on this Controller list. Shows the user accounts defined on this controller. The list has two columns:
Column User Status Description The name of the user account Shows if the account is activated or deactivated. When deactivated, it is not possible to log on using that account.
5 The Activated/Deactivated item box. Changes the status of the user account. 6 The Users groups/Users grants list. The Users groups list shows which group(s) the user is a member of. For changing the membership of a group, select or clear the checkbox in front of the group name. The Users grants list shows the available grants for the selected Users group(s). When selecting a grant from the Users grants list, a description of the selected grant appears.
users-t0
Adding a user 1 On the Users tab, click Add to bring up a dialog box. 2 In the User Name box, enter the user name. Use only characters from the ISO 8859-1 (Latin 1) character set and no more than 16 characters. 3 In the Password box, enter the user's password. The password you type in will not be visible. Use only characters from the ISO 8859-1 (Latin 1) character set and no more than 16 characters. 4 In the Retype Password box, enter the user's password again. 5 Click OK to add the new user and close the dialog box. 6 Click OK. Continues on next page
382 Copyright 2008-2012 ABB. All rights reserved. 3HAC032104-001 Revision: J
11 Controller tab
11.3.10 User Accounts Continued Deleting a user 1 On the Users tab, select the user to delete from the Users on this controller list and click Delete. 2 To the question Are you sure you want to remove this user?, answer Yes. 3 Click OK. Setting up group membership 1 On the Users tab, select the user from the Users on this controller list. 2 In the Users groups list, select the groups the user shall be a member of. 3 Click OK. Changing a name or password 1 On the Users tab, select the user to edit from the Users on this controller list and click Edit user. This opens the Edit dialog box. 2 To change the user name, enter the new name in the User Name box. Use only characters from the ISO 8859-1 (Latin 1) character set and no more than 16 characters. 3 To change the password, enter the new password in the Password box, then retype the password in the Retype Password box. Use only characters from the ISO 8859-1 (Latin 1) character set and no more than 16 characters. 4 Click OK to save the changes to the user and close the dialog box. 5 Click OK. Activating or deactivating a user 1 On the Users tab, select the user from the Users on this controller list and click the status text (Activated or Deactivated). An item box appears and you can change the status. The user's new state is now displayed in the status column of the Users on this controller list. 2 Click OK. Exporting a user list On the Users tab, select the user from the Users for this Controller list and click Export. This opens a Save as dialog box, in which you specify the name and location for the file with the user list. Importing a user list On the Users tab, select the user from the Users for this Controller list and click Import. This opens an Open file dialog box, in which you browse to the file with the list to import.
11 Controller tab
11.3.10 User Accounts Continued When you have selected the file, the ImportOptionsForm dialog appears.
Select ... Description
Delete existing users and groups Earlier groups and users will be deleted. before importing Advanced options A new dialog appears. Import users but dont replace duplicates means that you will not replace the existing users. Import users and replace duplicates means that you will replace the existing users. Import groups but dont replace duplicates means that you will not replace the existing groups. Import groups and replace duplicates means that you will replace the existing groups.
Adding a group 1 On the Groups tab, click Add. This opens the Add new group dialog box. 2 In the Group Name box, enter the name of the group. Use only characters from the ISO 8859-1 (Latin 1) character set and no more than 16 characters. 3 Click OK to add the new group and close the dialog box. 4 Click OK. Renaming a group 1 On the Groups tab, select the group to rename from the Groups on this controller list and click Rename. This opens the Rename Group dialog box. 2 In the Group Name box, enter the name of the group. Use only characters from the ISO 8859-1 (Latin 1) character set and no more than 16 characters. 3 Click OK to rename the group and close the dialog box. 4 You will now be asked if you want the users who belong to this group to continue belonging to a group with the old name as well as the new one.
Click Yes To Let the users of the group be members to groups with both the old and the new name. However, the old group will no longer be defined in the controller's UAS since it is replaced by the new group. This option might be useful if you plan to recreate the old group, or copy the user's settings to another controller who has the old group defined. Delete the user's memberships to the old group. This is to just replace the old group name with the new one. To cancel the change and keep the old group name, with its user's memberships.
No Cancel
5 Click OK.
11 Controller tab
11.3.10 User Accounts Continued Deleting a group 1 On the Groups tab, select the group to delete from the Groups on this controller list and click Delete. 2 You will now be asked if you want the users who belong to this group to continue belonging to it though it is not valid.
Click Yes To Let the users of the group remain members to it even if it is no longer defined in the controller's UAS. This option might be useful if you plan to recreate the group, or copy the user's settings to another controller who has the group defined. Delete the user's memberships to the group. Cancel the change and keep the group, with its user's memberships.
No Cancel
3 Click OK. Giving grants to a group 1 On the Groups tab, select the group from the Groups on this controller list. 2 In the Controller grants/Application grants list, select the grants to give to the group. 3 Click OK.
385
11 Controller tab
11.3.11 UAS Grant Viewer
en0900000852
Change system parameters and load configura- Modify configuration tion files Remote warm start Install a new system Perform a backup (A restart of the controller is necessary) Restore a backup (A restart of the controller is necessary) Load/delete modules Create new module. Edit code in RAPID modules Save modules and programs to disk Start program execution from Task Window Administration of installed system Backup and save Remote warm start Restore a backup Remote warm start Load program Load program Edit RAPID code Backup and save Execute program
11 Controller tab
11.3.11 UAS Grant Viewer Continued
Action Necessary grants
Create a new I/O signal, that is, add a new in- Modify configuration stance of the type Signal Remote warm start ( A restart of the controller is necessary) Set the value of an I/O signal Access to controller disks from File Transfer window I/O write access Read access to controller disks Write access to controller disks
Controller grants
Full access This grant includes all controller grants, also new grants added in future RobotWare versions. The grant does not include any application grants or the Safety Controller configuration grant. Gives access to read and write the UAS configuration, that is to read, add, remove and modify UAS users and groups. Gives access to perform the following: Start/step program (stop is always allowed) Move PP to Main Execute service routines
Perform ModPos and HotEdit Gives access to perform the following: Modify or teach positions in RAPID code (ModPos) During execution modify positions in RAPID code as single points or as a path (HotEdit) Restore ModPos/HotEdit positions to original Modify current value of any RAPID variable Modify current value Gives access to modify current value of any RAPID variable. This grant is a subset of the grant Perform ModPos and HotEdit. Gives access to perform the following: Set I/O signal value Set signal as simulated and remove simulation Set I/O unit and bus as enabled/disabled Gives access to perform a backup and to save modules, programs and configuration files. Gives access to restore backup and perform B-start. Gives access to modify the configuration database, that is to load configuration files, change system parameter values and add/delete instances. Gives access to load/delete modules and programs. Gives access to perform warm start and shutdown from a remote location. No grant is required to perform warm start via a local device, as for example the FlexPendant. Gives access to perform the following: Modify code in existing RAPID modules Frame calibration (tool, workobj) Commit ModPos/HotEdit positions to current values Rename program
11 Controller tab
11.3.11 UAS Grant Viewer Continued
Program debug Gives access to perform the following: Move PP to routine Move PP to cursor HoldToRun Activate/deactivate RAPID tasks Request write access from the FlexPendant Enable/disable non-motion execution Gives acces to decrease speed from 100% in Auto mode. This grant is not required if speed is already below 100%, or controller is in Manual mode. Gives access to perform the following: Fine calibrate mechanical unit Calibrate base frame Update/clear SMB data Frame calibration (tool, wobj) requires the grant Edit RAPID code. Manual offset of mechanical unit calibration data and loading new calibration data from file require the grant Modify configuration. Gives access to perform the following: Install new system P-start I-start X-start C-start Select System Install system from device This grant gives full FTP access, that is, the grant gives the same rights as Read access to controller disks and Write access to controller disks. Gives external read access to controller disks. This grant is only valid for explicit disk access, for example with an FTP client or the File Manager of RoboStudio. It is possible, for example, to load a program from /hd0a without this grant. Gives external write access to controller disks. This grant is only valid for explicit disk access, for example with an FTP client or the File Manager of RoboStudio. It is possible, for example, to save a program to the controller disk or perform a backup without this grant. Gives access to set controller name, controller ID and system clock. Gives access to delete messages in the controller Event Log. Gives access to update the revolution counter.
Calibration
Safety Controller configuration Gives access to perform a configuration of the Safety Controller. This is valid only for the PSC-option and is not included in the Full access grant.
11 Controller tab
11.3.11 UAS Grant Viewer Continued Application grants
Access to the ABB menu on FlexPendant Value true gives access to the ABB menu on the FlexPendant. This is the default value if a user does not have the grant. Value false means that the user cannot access the ABB menu when the controller is in Auto mode. The grant has no effect in Manual mode.
Log off FlexPendant user when A user having this grant is automatically logged off from switching to Auto mode the FlexPendant when switching from Manual mode to Auto mode.
389
11 Controller tab
11.4.1 Virtual FlexPendant
3HAC032104-001 Revision: J
11 Controller tab
11.4.2 Control Panel
391
11 Controller tab
11.4.3 Shutdown
11.4.3 Shutdown
Shutting down a controller 1 In the Controller browser, select the controller to shut down. 2 Right-click the controller, and then click Shutdown. Note Suppose you want to restart the controller, select Warmstart. For more information on restarting a controller, see Restart a controller on page 355.
3HAC032104-001 Revision: J
11 Controller tab
11.4.4 Set Task Frames
393
11 Controller tab
11.4.5 Edit System
11 Controller tab
11.4.5 Edit System Continued
Select Stored station values To Reset all changes made to the baseframe since the last time the station was saved. Optionally, you can enter new values in the baseframe coordinate boxes (relative to the controller world coordinate system).
Use current station val- Read and use the current location of the baseframe. ues Optionally, you can enter new values in the baseframe coordinate boxes (relative to the controller world coordinate system).
6 Click OK. Note For information on adding a track from the Edit System tool, see Track motion of type RTT or IRBTx003 on page 83.
395
11 Controller tab
11.4.6 Encoder Unit
3HAC032104-001 Revision: J
12 RAPID tab
12.1 Overview of the RAPID tab
12 RAPID tab
12.1 Overview of the RAPID tab
The RAPID tab provides tools and functionalities for creating, editing, and managing RAPID programs. You can manage RAPID programs which are online on a real controller, offline on a virtual controller, or standalone programs which are not part of a system.
397
12 RAPID tab
12.2 Synchronize to Station
3HAC032104-001 Revision: J
12 RAPID tab
12.3 Synchronize to VC
12.3 Synchronize to VC
Synchronizing to the virtual controller 1 On the RAPID tab, in the Access group, click the arrow next to the Synchronize icon, and then click Synchronize to VC. 2 Select the elements to be synchronized to the VC from the list. 3 Click OK. The message Synchronization to VC completed is displayed in the Output window. Note This function is also present in the Controller group on the Home tab.
399
12 RAPID tab
12.4 Edit RAPID code
12 RAPID tab
12.4 Edit RAPID code Continued Argument information - While typing in procedure calls and function calls, tooltips showing argument information are displayed. Collapsible regions - Certain regions of the code can be collapsed. For example, Data declarations area, routines, IF/WHILE/FOR statements and so on. Error highlighting - Red squiggly lines appear under errors in the code. All syntax errors and a subset of semantic errors are indicated in this manner. Zooming in and out - In the RAPID editor you can zoom in and zoom out of the code display. Click the plus (+) and minus (-) buttons at the top right corner of the RAPID editor window to zoom in and zoom out. Tip The Zoom in Zoom out feature is also present in the RAPID Tasks, Rapid Editor, Configuration Editor, Event viewer, and I/O windows. Cut, copy, paste and drag and drop - These standard commands for clipboard handling of text are supported. Undo and redo - Standard commands for undo and redo operations are supported. Selection modes - You can select text by character, row and column. Line numbers - Line numbers for the RAPID code lines are displayed in the left margin of the editor. Keyboard shortcuts - For keyboard shortcuts in the RAPID Editor, see Keyboard shortcuts on page 71.
Starting the RAPID Editor To open a RAPID module in the RAPID editor, in the Controller browser right-click on a RAPID module, and then click RAPID Editor. The RAPID code of the module opens in the editor window. Tip You can view the graphical layout, without closing the editor, by clicking the graphics window tab. Editing a RAPID program The Edit group om the RAPID tab has commands which help in editing the lines of code in the RAPID Editor. Other than standard functions such as Cut, Copy, and Paste, the following functions are present in the Edit group: Comment To comment out selected lines Uncomment To uncomment commented lines The comment and uncomment buttons in the ribbon will add/remove comment characters (!) at the beginning of the selected line(s). Indent To increase the indent of selected line(s) by four white spaces Continues on next page
3HAC032104-001 Revision: J Copyright 2008-2012 ABB. All rights reserved. 401
12 RAPID tab
12.4 Edit RAPID code Continued Unindent To decrease the indent of selected line(s) by four white spaces The indent and unindent buttons in the ribbon will move the selected code line(s) one tab position to the right/left. Format Document - Auto-formats the active document by arranging the spaces and tabs in the RAPID code. Uppercase Keywords - To change RAPID keywords from lowercase to uppercase. This function operates on the current document. Format Selection This function is similar to Format Document, but with the difference that it operates on currently selected text. Convert Spaces to Tabs - Converts consecutive spaces to the corresponding number of tabs. This function operates on the current selection. Convert Tabs to Spaces - Does the opposite of function above. Note To make formatting easier, the tabs and white spaces can be indicated by arrows and dots, respectively. To enable this go to Options:Robotics:RAPID Editor (Options:Robotics:RAPID Editor on page 195) and then select the Show whitespace check box. By default a Tab consists of four whitespaces. To change this, go to Options:Robotics:RAPID Editor and set the Tab size as your require. Edited lines are denoted by change bars which remain until the edits are applied. Also, the RAPID Editors tab sports an asterisk (*) until the edits are applied. Adding code snippets Code Snippets are pieces of code which you can insert into the RAPID Editor. To view and select a code snippet, in the Insert group, click Snippet. The list which appears show two kinds of code snippets: Predefined code snippets User defined code snippets Array of num, 2x2x4 Array of num, 2x4 Array of num, 2x4x2 Array of num, 4x2 Module header Procedure with parameters Procedure with error handler Robtarget declaration Tooldata declaration Workobject declaration
12 RAPID tab
12.4 Edit RAPID code Continued You can also create your own code snippets or save a section of existing code from the RAPID editor as a code snippet. Such user created code snippets are also listed along with the predefined snippets. To save a section of existing code, from the RAPID editor, as a code snippet: 1 Select the code you wish to save as a snippet. 2 In the Insert group, click the arrow next to the Snippet icon, and then click Save Selection as Snippet. The Save As dialog box appears. Specify a name for the snippet and save it. The RobotStudio .snippet files are saved in the following folder. C:\<Documents and Settings>\<user name>\RobotStudio\Code Snippets To insert a snippet in the RAPID editor, click the arrow next to the Snippet icon, and then click the required snippet from the listed snippets. Note The folder <Documents and Settings> may be configured with different names, for example, Data. It may also be translated on localized versions of Windows. Snippets can also be edited in an XML editor such as Microsoft Visual Studio. For information on creating customized code snippets, see http://msdn.microsoft.com/. Inserting instructions To insert a predefined instruction into the code: 1 Place the cursor at the required point in the RAPID code. 2 In the Insert group, click Instruction. A list of pre-defined instructions is shown. The instruction is inserted into the code where the cursor is placed. RobotStudio generates and inserts default arguments to the instruction, using similar rules as the FlexPendant. Applying and verifying the edits To apply the changes made in the editor to the system and also to check the program go to the Controller group, and click the arrow next to the Apply icon. Then: To apply only the changes in made in the module, currently shown in the editor, click Apply Changes. Alternatively, you can also directly click the Apply icon To apply the changes made in all modified modules, click Apply All. Note The Apply commands are enabled only if there are changes waiting to be applied. When possible, RobotStudio will try to commit the changes without losing the program pointer. If this is not possible, you will be asked if it is OK to lose the program pointer. Continues on next page
3HAC032104-001 Revision: J Copyright 2008-2012 ABB. All rights reserved. 403
12 RAPID tab
12.4 Edit RAPID code Continued To verify the syntactic and semantic correctness of the modules, in the Test and Debug group, click Check Program.
3HAC032104-001 Revision: J
12 RAPID tab
12.5 Find and replace RAPID code
12 RAPID tab
12.5 Find and replace RAPID code Continued string search. It takes RAPID scoping rules into account. For PERS and syncident data, this function searches the other tasks for a matching global symbol and return the uses of those.
3HAC032104-001 Revision: J
12 RAPID tab
12.6 Manage RAPID modules
5 Click Create. Loading a RAPID module 1 On RAPID tab, in the Controller browser, right-click a task and then click Load Module. 2 Browse to and select the module to be loaded to your station, and then click Open. Saving a RAPID module as another 1 On RAPID tab, in the Controller browser, right-click a module and then click Save Module As. Continues on next page
3HAC032104-001 Revision: J Copyright 2008-2012 ABB. All rights reserved. 407
12 RAPID tab
12.6 Manage RAPID modules Continued 2 Browse to the location where the new module is to be saved and then click Save.
3HAC032104-001 Revision: J
12 RAPID tab
12.7 Edit RAPID data
409
12 RAPID tab
12.8 Manage RAPID files and backups
3HAC032104-001 Revision: J
12 RAPID tab
12.9.1 Manage RAPID programs
12.9 Manage RAPID code on the controller 12.9.1 Manage RAPID programs
Loading a RAPID program To load a RAPID program to a station: 1 On the RAPID tab, in the Controller group, click the arrow next to the Program icon and then click Load Program. Alternatively, in the Controller browser, right-click the active task under the station, and then click Load Program. 2 In the Open dialog box that appears, browse to the location of the program to be loaded to your station and click Open. Saving a program 1 On the RAPID tab, in the Controller group, click the arrow next to the Program icon and then click Save Program As. Alternatively, in the Controller browser, right-click the active task under the station, and then click Save Program As. 2 In the Save As dialog box that appears, browse to the location where you want to save your program, and click Save. Renaming a program 1 On the RAPID tab, in the Controller group, click the arrow next to the Program icon and then click Rename Program. Alternatively, in the Controller browser, right-click the active task under the station, and then click Rename Program. 2 In the Rename dialog box that appears, enter a new name for your program, and click Ok. Deleting a program To delete the entire program under a task in a station, in the Controller group, click the arrow next to the Program icon and then click Delete Program. Alternatively, in the Controller browser, right-click the task under the station, and then click Delete Program.
411
12 RAPID tab
12.9.2 RAPID Tasks
Type
Mechanical Unit
Run Mode
State
TrustLevel
12 RAPID tab
12.9.2 RAPID Tasks Continued Task execution state A task can be activated, started, and stopped from the Controller browser, with the following limitations: Only Normal tasks can be activated and deactivated. Background tasks will always be automatically activated. Background tasks of type Static and SemiStatic can only be started and stopped if they have TrustLevel NoSafety. For detailed information about the different TrustLevel values, see the Technical reference manual - system parameters. You need to have write access and the appropriate grant. The limitations concerning task execution that hold for the FlexPendant also apply to RobotStudio.
The following table shows cases where task execution state cannot be changed.
If... RobotStudio gives a message that informs the user that...
the user does not have the grant Execute pro- the operation is not possible. gram or Full access the user changes from manual mode to automat- the operation is not possible. ic mode, or vice versa, the user loses the write access and the motors are in off state the Start operation is not possible.
Note It is not possible to override the controllers safety system, that is, you cannot stop a background task (Static and SemiStatic) that has the TrustLevel set to a value other than NoSafety. For detailed information about the different TrustLevel values, see Technical reference manual - system parameters. Activating, starting and stopping tasks To activate a task, right-click the task in the Controller browser and then turn on the Active command. If the prerequisites are met, you can operate the task, such as start and stop the task, move the program pointer to main and set the run mode. To start a task, right-click the task in the Controller browser and then click Start Task. You can start Normal tasks, but you can only start a Static or SemiStatic task if the TrustLevel is set to NoSafety. CAUTION When starting a task, the manipulator axes may move very quickly and sometimes in unexpected ways! Make sure no personnel is near the manipulator arm! To stop a task, right-click the task in the Controller browser and then click Stop Task. You can stop Normal tasks, but you can only stop a Static or SemiStatic task if the TrustLevel is set to NoSafety.
413
12 RAPID tab
12.9.3 Run Mode
You can set the run mode of the controller in the following ways:
3HAC032104-001 Revision: J
12 RAPID tab
12.9.4 Adjust Robtargets
12 RAPID tab
12.9.4 Adjust Robtargets Continued b Select "toolb" as the new tool and "wobjb"as the new workobject. c Click Execute. Robtargets of "tool0" and 'wobj0" will be replaced with new robtargets which corresponds to the same robot configuration (all joint angles will be the same) but with the new tool "toolb" and "wobjb". Note By default, the Update instruction check box is selected. The robtargets of the source tool or workobject is also changed to the new tool or workobject. If the Update instruction check box is not selected, then the robtargets of the source tool or workobject is not changed and are only recalculated for new tool or workobject. Limitations If a robtarget is used more than once but with different tools or workobjects, then a message Target is referenced is displayed in the output window.
3HAC032104-001 Revision: J
12 RAPID tab
12.10.1 Commands for testing and debugging
12.10 Test and debug 12.10.1 Commands for testing and debugging
The Test and Debug group on the RAPID tab consists of the following commands.
Command Start Stop Step over Step in Step out Description Starts the execution of all normal RAPID tasks in the system. Stops the execution of all normal RAPID tasks in the system. Starts and executes one statement in all normal tasks in the system. Starts and executes into a routine, while stopping at the beginning of the routine. Executes all remaining statements of the current routine, and stops after the call to the current routine.
Breakpoint : Ignore break- Ignores all breakpoints during simulation. points Breakpoint : Toggle breakpoint Check Program Toggles a breakpoint at the cursor. Verifies the syntactic and semantic correctness of the RAPID modules.
Other tools such as the Program Pointer (PP) and the RAPID Profiler, which aid in testing and debugging RAPID code, are explained in detail in the following sections.
417
12 RAPID tab
12.10.2 Using the Program Pointer
Maintaining the Program Pointer The RAPID code can only be edited when the controller is not running, that is when it is in state Ready or Stopped. In Ready state the program pointer is not set, but in Stopped state the Program Pointer is set to a specific location of the program. For limited changes to the RAPID code of a controller in Stopped state, the current location of the program pointer can be maintained. After such an edit you can resume program execution from where it was without having to reset the program pointer. Note If the edit is too large for the program pointer to be maintained then a warning message is displayed to convey this. The program pointer cannot be maintained, for example, when editing the line of code at which the program pointer is located. Editing that line of code results in
12 RAPID tab
12.10.2 Using the Program Pointer Continued resetting the program pointer. In effect, the program will start from the beginning when the controller is started after the edit. WARNING Starting program execution after the program pointer has been reset will cause the robot to move along the shortest path from its current location to the first point of the program.
419
12 RAPID tab
12.10.3 Using the RAPID Profiler
How to use the RAPID Profiler To use the RAPID Profiler: 1 Set the Program Pointer at a desired point in the RAPID code from where you wish to start your analysis. For example, set the program pointer to Main in all tasks. 2 On the RAPID tab, in the Test and Debug group, click the arrow next to the RAPID Profiler icon and then click Start. 3 Start the simulation. In the background the RAPID Spy feature logs the data about the programs execution. 4 After the program execution ends, click the arrow next to the RAPID Profiler icon and then click Stop. 5 On the RAPID tab, in the Test and Debug group, click the arrow next to the RAPID Profiler icon and then click Analyze. The RAPID Profiler window appears, showing the results of the analysis. Click Export to Excel to export the results to a Microsoft Excel spreadsheet file. To view the log file of the analysis, click the arrow next to the RAPID Profiler icon and then click Open log file. Execution of the Rapid Profiler based on RobotWare version Depending on the RobotWare version, the RAPID Profiler is executed in one of the following methods: For controller systems with RobotWare versions prior to 5.14, the RAPID instructions SpyStart and SpyStop must be inserted at the RAPID execution start and end, respectively. When the program is run, a Spy log file is generated. You can open the file for analysis by the RAPID Profiler. Use the RAPID Profiler menu option Browse for Spy log to open the log file. For more information about Spy instructions, see Technical reference manual - RAPID Instructions, Functions and Data types. Note When the RAPID Profiler is used to analyze a log file, there is no information about in which procedure the SpyStart command is executed. The triggering procedure defaults to <SpyStart Procedure>. Continues on next page
420 Copyright 2008-2012 ABB. All rights reserved. 3HAC032104-001 Revision: J
12 RAPID tab
12.10.3 Using the RAPID Profiler Continued For RobotWare version 5.14 or later, the log file can be generated automatically. Activate the RAPID Profiler and run the program of the controller. When the program execution stops, the results are presented to the user.
421
12 RAPID tab
12.11 RAPID Watch window
You can view and edit the RAPID data of the variables in the RAPID watch window, both during program execution and when the controller is stopped. However, you can only view, but not edit, I/O signals in the watch window. To view a variable or I/O signal in the RAPID Watch window, you need to first add it to the window. In the RAPID editor, right-click the required variable or I/O signal, and then click Add Watch. By default, during program execution the values of the variables are automatically refreshed in the watch window every 2 seconds. You can also manually refresh the values. To enable or disable automatic refresh, in the context menu, select or clear the Auto Refresh command. To do a manual refresh, in the context menu, click Refresh (keyboard shortcut F5). Note CONST variables cannot be edited. On closing RobotStudio, the variables and signals added to the watch window are removed. On the RAPID Watch window, right-click to display the following context menu:
Item Copy Paste Delete Select All Clear All Refresh Auto Refresh Used for Copying the value Pasting the copied value Deleting the watch item Selecting all the items Clearing all the variables and signals from the watch window Manually updating the values of the variables and signals Automatically refreshing the values displayed in the watch window at regular intervals
3HAC032104-001 Revision: J
12 RAPID tab
12.12 Examples of using the RAPID editor
12 RAPID tab
12.12 Examples of using the RAPID editor Continued Adding breakpoints Now that you have finished editing, you may want to test your loop and add some breakpoints. 1 Place the insertion on the new statement and press F9 to set a breakpoint. 2 Ensure that the Ignore breakpoints button in the editor toolbar is not clicked, and click the Play button on the Simulation toolbar. The program will run and then stop at the breakpoint. 3 To run the program statement by statement, click the Step over button in the editor toolbar. Executing You might want to debug your loop or monitor a specific variable. 1 In the RAPID editor browser, right-click the procedure you want to set as entry point, and then click Set Program Pointer to Routine. 2 In the RAPID tab, click the Play button. The program will run and then stop at the next breakpoint. 3 Select a variable for monitoring and drag it to the watch window. 4 Restart the loop and monitor the variable at each iteration.
3HAC032104-001 Revision: J
13 Add-Ins tab
13.1 Overview of the Add-Ins tab
13 Add-Ins tab
13.1 Overview of the Add-Ins tab
The Add-Ins tab contains the control for PowerPacs, VSTA and Gearbox Heat Prediction. The Add-Ins browser shows the installed PowerPacs, General add-ins and VSTA add-ins. You can use Visual Studio Tools for Applications for creating your own VSTA add-ins.. For instruction on building General add-ins visit the ABB Robotics Developer Center web site at http://developercenter.robotstudio.com. General add-ins are loaded from the following folder on your PC: C:\Program Files (x86)\Common Files\ABB Industrial IT\Robotics IT\RobotStudio\Addins Note For the RobotStudio 5.15 64-bit edition: PowerPacs, Visual Studio Tools for Applications, and any customized add-ins that use PC-SDK are not supported Add-ins will be loaded from the following folder: C:\Program Files (x86)\ABB Industrial IT\Robotics IT\RobotStudio 5.15\Bin64\Addins This is the path on a PC with Microsoft Windows 7 64-bit English version, on default installation. For customized installations and for operating system versions in other languages, this path may differ.
425
13 Add-Ins tab
13.2 Building a VSTA add-in
3HAC032104-001 Revision: J
13 Add-Ins tab
13.3 Gearbox Heat Prediction
13 Add-Ins tab
13.3 Gearbox Heat Prediction Continued 4 Run a simulation. See Running a simulation on page 332 Note If the RobotStudio license is expired, the Play button in the Simulation tab will be disabled. As such, you will be unable to run the simulation from the Simulation tab. In such a scenario, use the Play button which will now be visible in the Gearbox Heat Prediction tab window to run the simulation. Note The data is recorded during the simulation only if the Gearbox Heat tool is enabled. After the recording is finished, you can perform another recording or perform a calculation for heat related problems. 5 In Cycles, define the behavior of the cycle for predicting the heat generated by the robot: Continuous: Select this option if you want the robot to continuously calculate the predictions without waiting time between two consecutive cycles. Number of cycles per hour: Select this option if you want to manually specify the number of cycles per hour for calculation. Waiting time between cycles (sec): Select this option to specify the waiting between cycles. Specify the waiting time in seconds. Use the slider to change the temperature. Select Use temperature from controller(s) to reset the the ambient temperature. Note The ambient temperature used in the calculations should be the same that is used in the configuration of the actual robot in its real environment. 7 Calculate the result in either of the following ways: In the Recordings section, either double-click a recording or select a recording and click Calculate. In the System section, either double-click a controller or select a controller and click Calculate. Note The Recordings section displays the recordings to be analyzed when Gearbox Heat Prediction is enabled. The System section displays all the available controllers. Data for all controllers are recorded at all times and you can select the controller to be analysed from the list.
13 Add-Ins tab
13.3 Gearbox Heat Prediction Continued The results are displayed for each joint and with fans for the joints that can have fans installed as an option. Note The following factors influence the heat accumulated: Axis speed Payload Room temperature (ambient temperature) Waiting time (to allow robot to cool down) Note The calculated energy is displayed as different heat levels: Green: Indicates no heat problem Orange: Indicates it is recommended to install a fan. Red: Indicates a fan must be installed. Grey: Indicates it is not possible to calculate the possible energy level for this joint. Not available: Indicates the joints that cannot have a fan installed. Note Recommended action is displayed along with the warning level for each joint. Joint: Represents the joint. Without fan: Displays the percentage of heat levels calculated to the corresponding joint without fan. With fan: Displays the percentage of heat levels calculated to the corresponding joint with fan. Action: Displays the recommended action.
429
14 Context menus
14.1 Add to Path
14 Context menus
14.1 Add to Path
Creating a move instruction based on an existing target 1 Select the target for which to create the move instruction. 2 From the Home menu, in the Path Programming group, select the type of move instruction to create. 3 Click Add to Path. The move instruction will appear under the path node as a reference to the original target.
431
14 Context menus
14.2 Align Frame Orientation
3HAC032104-001 Revision: J
14 Context menus
14.3 Align Target Orientation
433
14 Context menus
14.4 Attach to
14.4 Attach to
Attaching an object 1 In the Layout browser, right-click the child object, click Attach to and click the parent object in the list. Attaching an object by drag and drop 1 In the Layout browser, drag the child object to the parent object. 2 In the displayed message, click the corresponding button:
To Click
attach the child object and move it to the Yes attachment point attach the child object and keep its posi- No tion not perform the attachment Cancel
3HAC032104-001 Revision: J
14 Context menus
14.5 Configurations
14.5 Configurations
Auto Configuration Use this procedure for setting the configuration of all targets in the path that are marked as The configuration is not verified : Note For all targets in the path, the function will ignore any existing unverified configuration and replaces it with optimal configuration with respect to theconfiguration of the preceeding target. 1 In the Paths&Targets browser, right-click a path, select Configurations and then select Auto Configuration. The robot now steps through each target in the path and sets the configurations. Note If the first target in the path has no configuration assigned, then the configurations tool appears. If the first target has a configuration assigned, then the one assigned will be used.
The result of auto configuration varies depending on the configuration of the first target. The configuration for targets in the path that have a verified configuration, will not be re-assigned. Reset Configurations The configuration data which is a part of the target, when reset, is optimized by Auto Configuration. As a result ,the target / move instruction icon will change and is marked as The configuration is not verified. Use this procedure for resetting the configuration: Note You can reset the configuration of a path, target, or move instruction. 1 In the Paths&Targets browser, right-click a path, select Configurations and then select Reset Configurations. Note To reset the configuration of a target or move instruction, In the Paths&Targets browser, right-click a target or move instruction, and select Reset Configuration.
14 Context menus
14.5 Configurations Continued Verify Configurations Use this procedure for verifying the existing configuration: Note Targets and Move instructions marked as The configuration is not verified can be verified with respect to the configuration. 1 In the Paths&Targets browser, right-click a path, select Configurations and then select Verify Configurations. Note If the existing configuration is correct, then the move instruction is set as verified. If the configuration is incorrect, then the target is set as unreachable.
3HAC032104-001 Revision: J
14 Context menus
14.6 Check Reachability
437
14 Context menus
14.7 Configurations
14.7 Configurations
Manually setting a robot axis configuration for single targets 1 In the Paths&Targets browser, select a target and then click Configurations to bring up a dialog box. 2 If more than one configuration solution exist, examine them by clicking them, one at a time. The position of the robot with the selected configuration will be displayed in the graphics window, and the joint values for the configuration will be displayed in the joint values list below the configurations list. In most cases, selecting a configuration similar to the previous one is the best choice. 3 Select the configuration to use and click Apply.
3HAC032104-001 Revision: J
14 Context menus
14.8 Convert Frame to Workobject
439
14 Context menus
14.9 Convert to Move Circular
3HAC032104-001 Revision: J
14 Context menus
14.10 Copy / Apply Orientation
441
14 Context menus
14.11 Detach
14.11 Detach
Detaching an object 1 In the Layout browser, right-click the attached object (child) and then click Detach. The child will be detached from the parent and return to its position before the attachment.
3HAC032104-001 Revision: J
14 Context menus
14.12 Execute Move Instruction
443
14 Context menus
14.13 External Axis Interpolation
5 Click Apply.
3HAC032104-001 Revision: J
14 Context menus
14.14 Graphic Appearance
Twosided lightning Flat shade Flip normals Line width The detail level options
14 Context menus
14.14 Graphic Appearance Continued Graphic Appearance: The Textures tab
Effect Specifies the type of graphic effect to be used on the selected part. Basic : Simple texturing/environment mapping or just a solid color. Anisotropic: Brushed metal effect simulating an anisotropic light model Bump Mapping: Texture that specifies the bumpiness of the surface Parallex Mapping: Improved version of bump mapping Note Anisotropic, Bump Mapping and Parallex Mapping requires DirectX9-class hardware to be correctly displayed in the 3D window. Base texture Specifies the basic structure of the selected part. It is a standard 24-bit image displayed on a 3D surface. Note Transparency of textures is provided only for .png images. Environment map Normal/Bump Map Provides a highly reflective appearance to the surface. Specifies a texture that defines the bumpiness of the surface This option is enabled only during Bump mapping and Parallex mapping effect. Select this check box to blend the texture with the colors and properties specified on the Material tab. Click this button to swap the horizontal and vertical directions of the texture. Select along which directions the commands listed below shall be applied. u is the horizontal axis of the texture. v is the vertical axis of the texture. Click this button to set the ratio between the dimensions of the object and the texture to 1. Click this button to invert the coordinates along the selected axes. This is the same as mirroring around the other axis. Click this button to stretch the texture along the selected axes. Click this button to shrink the texture along the selected axes. Click this button to move the texture along the selected axes. Click this button to move the texture along the selected axes.
3HAC032104-001 Revision: J
14 Context menus
14.15 Go to Visualization and Go to Declaration
447
14 Context menus
14.16 Interpolate Path
3HAC032104-001 Revision: J
14 Context menus
14.17 Invert
14.17 Invert
Inverting the direction of a face 1 Right-click in the Modeling browser, point to Filter and make sure that both Show Bodies and Show Faces are selected. 2 In the Modeling browser, expand the node for the object and browse down to and select the face which direction you want to invert. 3 In the Modeling browser, expand the node for the object and browse down to and select the face whose direction you want to invert. 4 Click Invert. If the option backface culling is activated, the face will now shift from visible to not visible, or the other way around, depending on from which direction you view the face. If backface culling is deactivated, there will be no visible indication that the direction of the face has been inverted.
449
14 Context menus
14.18 Jump to Target
3HAC032104-001 Revision: J
14 Context menus
14.19 Linked Geometry
451
14 Context menus
14.20 Modify Library Component
3HAC032104-001 Revision: J
14 Context menus
14.21 Mechanism Joint Jog
Lock TCP
Jogging a conveyor 1 Create Empty Path. See Empty Path on page 223. 2 In the Layout browser, select the conveyor. 3 Right-click Conveyor Mechanism and select Mechanical Joint Jog. The Joint Jog dialog box appears. 4 Jog the conveyor by moving the slider and click Teach Instruction. A move instruction is added to the path.
14 Context menus
14.21 Mechanism Joint Jog Continued
Note When you jog the conveyor mechanism, objects on the conveyor are also moved. If you jog the conveyor mechanism beyond the maximum distance, the workobject will be dropped. If you jog the conveyor mechanism beyond the zero position, the workobject that belongs to the first part is attached to the conveyor attachment point.
If the workobject is dropped in Teach Mode, you can jog the conveyor backwards to connect it again.
3HAC032104-001 Revision: J
14 Context menus
14.22 Mechanism Linear Jog
455
14 Context menus
14.23 Mirror Path
Reference
Select Frame
Keep orientation
More / Less New path name Target prefix Receiving robot Receiving work object
3HAC032104-001 Revision: J
14 Context menus
14.24 Mirror
14.24 Mirror
Mirroring a part 1 In the Layout browser, select the part to mirror and right-click. 2 Select Mirror and then click one of the following options from the context menu:
select... Mirror YZ Mirror ZX Mirror XY to create a new part.. around YZ plane around ZX plane around XY plane
Note The mirror feature is applicable only to objects of type body and part that contains geometry. Parts and and bodies that are imported without geometry cannot be mirrored. See Libraries, geometries and CAD files on page 36. For information on mirroring a path, see Mirror Path on page 456.
457
14 Context menus
14.25 Modify Curve
14 Context menus
14.25 Modify Curve Continued Note that when resting the pointer over a curve, the current direction of the curve is displayed by yellow arrows. The Selected curves list displays the curves that will be reversed. To remove a curve from the list, select the list entry and press the DEL key. 3 Click Apply. The curves will now be reversed. Splitting a curve 1 Click Modify curve to bring up a dialog box. 2 Select Split as modify method and then click the curve at the point to split at. Only open curves can be split. Note that when you rest the pointer over the curve, point of the split is highlighted. This point is affected by the current snap mode setting. 3 Click Apply. The curve will now be split to two separate curves in the same part. Trimming a curve 1 Click Modify curve to bring up a dialog box. 2 Select Trim as modify method and then click the curve segment to trim. Note that when you rest the pointer over the curve, the closest vertices are highlighted. The segment between these points will be trimmed. 3 Click Apply. The selected part of the curve will now be removed. Generic content of the Modify Curve dialog box
Extend Join Project Reverse Split Trim Extend a curve at any vertex with a straight line in the direction of the curves tangent. Join two or more curves into one. The original curves will be deleted when joining curves. Project a curve onto a surface or a body, creating a new curve on the target part. Reverse the direction of curves. Split a curve in two bodies. Only open curves can be split. Cut a segment of a curve between intersection or end points.
14 Context menus
14.25 Modify Curve Continued Extend-specific information
Selected curve Display the name of the curve to extend. Select the curve by clicking it in the graphics window. Note that when you rest the pointer over the curve the endpoint closest to the pointer is highlighted. This is the endpoint that will be selected for extension when you click the curve.
extensio
Endpoint to extend
Display the position of the endpoint to extend. To change the endpoint, select the curve again, but click it closer to the other endpoint. Type the length of the extension here. You can also click a point in the graphics window to set the length. A yellow line indicates the length of the extension.
extensi0
Join-specific information
Selected curves Display the names of the curves to join. Select the curves by clicking them in the graphics window. To remove a curve from the list, select the list entry and press the DEL key. The curves may be either intersecting or adjacent to be joined. Specifies the distance within which the end points of adjacent curves may lie to be joined.
Tolerance
14 Context menus
14.25 Modify Curve Continued Project-specific information
Selected curve Display the name of the curves to project. Select the curves by clicking them in the graphics window. Note that when you rest the pointer over the curve the projection direction is displayed. The project direction is always the negative Z direction of the User Coordinate System. To change the projection direction, create a new frame with the desired orientation and set it as user coordinate system.
project
Target bodies
Display the name of the bodies to project the curve on. Select the bodies by first clicking in the box and then clicking the bodies in the graphics window.
Reverse-specific information
Selected curves Display the names of the curves to reverse. Select the curves by clicking them in the graphics window. Note that when resting the pointer over a curve the current direction of the curve is displayed by yellow arrows.
reverse
14 Context menus
14.25 Modify Curve Continued Split-specific information
Selected curve Display the name of the curve to split. Select the curve by clicking it in the graphics window. Note that when you rest the pointer over the curve, the point where the split will be is highlighted. This point is affected by the current snap mode setting.
splitpre
Point on curve
These boxes show the position of the split point. To change the split point, select the curve again, but click another part of it.
Trim-specific information
Selected curve Display the name of the curve to trim. Select the curve by clicking it in the graphics window. Note that when you rest the pointer over the curve the closest vertexes are highlighted. It is the segment between those points that will be cut.
trim
Trim only works on single curves with intersection points. If you want to trim a curve that intersects with another curve, first join the two curves. First section endpoint Display the position of the first trimming point.
Second section endpoint Display the position of the second trimming point.
3HAC032104-001 Revision: J
14 Context menus
14.26 Modify External Axis
463
14 Context menus
14.27 Modify Instruction
speed for the tool center point, the tool reorientation and ex- Speed ternal axes. velocity of the TCP in mm/s directly in the instruction (it will be \V substituted for the corresponding speed data). total time in seconds during which the robot moves (it will be \T substituted for the corresponding speed data). size of the generated corner path. Zone
position accuracy of the robot TCP directly in the instruction \Z (the length of the path will be substituted for the corresponding zone specified in the zone data). tool used for the movement (the TCP of this tool will be posi- \Tool tioned at the destination target). workobject to which the robot position in the instruction belongs. \Wobj
3HAC032104-001 Revision: J
14 Context menus
14.28 Modify Mechanism
465
14 Context menus
14.29 Modify Tooldata
7 Click Apply.
3HAC032104-001 Revision: J
14 Context menus
14.30 Modify Workobject
6 In the Sync Properties group, modify the values for the workobject:
7 Click Apply. Note If you change the position of a workobject that is used in a program, you have to synchronize the affected paths to the virtual controller; otherwise, the program will not be updated.
467
14 Context menus
14.31 Move Along Path
3HAC032104-001 Revision: J
14 Context menus
14.32 Move to Pose
469
14 Context menus
14.33 Offset Position
relative to a user-defined coordinate sys- UCS tem relative to a target reference frame Target Reference Frame This option is available only for targets.
4 In the Translation X, Y, Z boxes, either type the offset, or select it by first clicking in one of the value boxes and then clicking the point in the graphics window. 5 Specify the Rotation for the item. 6 Click Apply.
3HAC032104-001 Revision: J
14 Context menus
14.34 Place
14.34 Place
Placing an item 1 Select the item you want move. 2 Click Place and then click one of the commands to bring up a dialog box.
If you want to move the item Choose
from one position to another without af- One Point fecting the orientation of the object. Select the axes to be affected. according to the relationship between a Two Points start and a finish line. The object will move to match the first point, then it will rotate to match the second point. according to the relationship between a Three Points start plane and a finish plane. The object will move to match the first point, then it will rotate to match the third point. from one position to a target or frame Frame position and simultaneously change the orientation of the object according to the frame orientation. The position of the object changes according the orientation of the to-point coordinate system. from one frame of reference to another Two Frames
3 Set the reference coordinate system you want to use. 4 Click the points in the graphics window to transfer values to the from-point boxes to the to-point boxes. For detailed information, see the tables below. 5 Click Apply. The Place Object by One Point dialog box
Reference Primary Point - From Select the reference coordinate system to which all positions or points will be related. Click in one of these boxes, and then click the primary point in the graphics window to transfer the values to the Primary Point - From boxes. Click in one of these boxes, and then click the primary point in the graphics window to transfer the values to the Primary Point - To boxes. Select whether the translation is to be performed along the X, Y or Z axis, or several of the axes.
Primary Point - To
14 Context menus
14.34 Place Continued
Primary Point - From Click in one of these boxes, and then click the primary point in the graphics window to transfer the values to the Primary Point - From boxes. Click in one of these boxes, and then click the primary point in the graphics window to transfer the values to the Primary Point - To boxes. Click in one of these boxes, and then click the point on the x axis in the graphics window to transfer the values to the Point on X-Axis - From boxes. Click in one of these boxes, and then click the point on the x axis in the graphics window to transfer the values to the Point on X-Axis - To boxes. Select whether the translation is to be performed along the X, Y or Z axis, or several of the axes.
Primary Point - To
Point on X-Axis - To
Primary Point - To
Point on X-Axis - To
Point on Y-Axis - To
To
3HAC032104-001 Revision: J
14 Context menus
14.35 Protected Smart Component
473
14 Context menus
14.36 Remove Unused Targets
3HAC032104-001 Revision: J
14 Context menus
14.37 Rename Targets
475
14 Context menus
14.38 Reverse Path
xx050046
Note that move instructions are not changed, just the targets. Even the MoveAbsJ instruction to the joint target is preserved, but placed last. Advanced Both target sequence and move instructions are reversed in a way that corresponds to recording the robot movements and playing the movie backwards. For example, if the robot used a linear motion to move from a target, it will use a linear motion to move to the target after the reversal.
xx050047
Note that the move instructions have changed together with the targets. For example, in the original path, a joint motion was used to reach target 20 and a linear motion to leave it. After the reversal there is a linear motion to the target and joint motion from it. Also, note that the jointtarget has been converted into an ordinary target; otherwise, it would not be possible to program a linear motion to that position.
3HAC032104-001 Revision: J
14 Context menus
14.39 Rotate
14.39 Rotate
Rotating an item 1 Select the item you want to rotate. 2 Click Rotate to bring up a dialog box. 3 Select the reference coordinate system you want to use:
If you want to move the item Select
absolute in the coordinate system of the World station relative to the coordinate system of its parent relative to its own coordinate system relative to the user-defined system Parent Local UCS
relative to an axis defined by two points User defined axis relative to a target reference frame Target Reference Frame Note that this option is available only for targets.
4 Specify the rotation of the item in the Rotate around x, y, z by first clicking in one of the boxes, and then click the center position in the graphics window to transfer the values. 5 If you have selected the coordinate system User defined axis, specify the Axis start point x, y, z and the Axis end point x, y, z. 6 Specify the Rotation of the item and the axis around which the rotation is to occur. 7 Click Apply.
477
14 Context menus
14.40 Rotate Path
4 If Selected frame was selected in the Reference frame list, specify a frame or target in the text box by clicking in the box and then selecting the frame in the graphics window. 5 With the Rotation axis options, select the axis of the frame to rotate around. 6 In the Rotation angle box, enter the rotation. 7 Click Apply.
3HAC032104-001 Revision: J
14 Context menus
14.41 Set Local Origin
relative to the parts current local coordin- Local ate system relative to the coordinate system of its parent Parent
absolute in the coordinate system of the World station relative to a user-defined coordinate sys- UCS tem
5 In the Position X, Y, Z boxes, either type the new position or, select it by first clicking in one of the value boxes and then clicking the point in the graphics window. 6 Type the Orientation. 7 Click Apply.
479
14 Context menus
14.42 Set Normal to Surface
4 In the graphics window, click the reference surface. This will transfer the name of the part or surface to the Surface box. 5 In the Approach Direction, click the button for the axis to be used as the approach direction. 6 To set the distance between the surface and the target in the approach direction, specify an Offset value. 7 Click Apply.
3HAC032104-001 Revision: J
14 Context menus
14.43 Set Position
absolute in the coordinate system of the World station relative to a user-defined coordinate sys- UCS tem relative to a target reference frame Target Reference Frame This option is available only for targets.
4 In the Position X, Y, Z boxes, either type the new position, or select it by first clicking in one of the value boxes and then clicking the point in the graphics window. 5 Specify the Orientation for the item. 6 Click Apply.
481
14 Context menus
14.44 Tool Compensation
3HAC032104-001 Revision: J
14 Context menus
14.45 Translate Path
Point to Point
4 If Select frame was selected in the Reference frame list, specify a frame or target in the text box by clicking in the box and then selecting the frame from the graphics window. 5 In the Translation vector box, specify the distance to move the path along the X, Y and Z axes of the reference frame. Translation vector is applicable only if a reference frame is used. If Point to Point is used as reference, specify the start and end points for the translation, instead. To do this, click in one of the boxes for the point to specify and then select the point in the graphics window, or type the coordinates of the point. 6 Click Apply.
483
14 Context menus
14.46 View Robot at Target
3HAC032104-001 Revision: J
14 Context menus
14.47 View Tool at Target
485
15 ScreenMaker tab
15.1.1 Overview
15 ScreenMaker tab
15.1 Introduction to ScreenMaker 15.1.1 Overview
What is ScreenMaker? ScreenMaker is a tool in RobotStudio for developing custom screens. It is used to create customized FlexPendant GUIs without the need to learn Visual Studio development environment and .NET programming. Why ScreenMaker? A customized operator interface on the factory floor is the key to a simple robotic system. A well-designed custom operator interface presents the right amount of information at the right time and in the right format to the user. GUI concepts
xx0800000226
A GUI makes it easier for people to work with industrial robots by presenting a visual front end to the internal workings of a robotic system. For FlexPendant GUI applications, the graphical interface consists of a number of screens, each occupying the user window area (the blue box in the figure above) of the FlexPendant touch screen. A FlexPendant screen is then composed of a number of smaller graphical components in a design layout. Typical controls (sometimes
15 ScreenMaker tab
15.1.1 Overview Continued referred as widgets or graphic components) include buttons, menus, images, and text fields. A user interacts with a GUI application by: Clicking a button Selecting from a menu Typing a text in a text box Scrolling
An action such as clicking a button is called an event. Whenever an action is performed, an event is sent to the GUI application. The exact content of an event is solely dependent on the graphic component itself. Different components trigger different types of events. The GUI application responds to the events in the order generated by the user. This is called event-driven programming, since the main flow of a GUI application is dictated by events rather than being sequential from start to finish. Due to the unpredictability of the users actions, one major task in developing a robust GUI application is to ensure that it works correctly no matter what the user does. Of course, a GUI application can, and actually does, ignore events that are irrelevant. The event handler holds sets of actions to be executed after an event occurs. Similar to trap routines in the RAPID program, the event handler allows the implementation of application-specific logic, such as running a RAPID program, opening a gripper, processing logic or calculating. In summary, from a developers point of view, a GUI consists of at least two parts: the view part: layout and configuration of controls the process part: event handlers that respond to events
Modern GUI development environments often provide a form designer, a (What You See Is What You Get ) WYSIWYG tool to allow the user to select, position and configure the widgets. As for event handlers, typically the developer must use a special programming language recommended by the development environment.
15 ScreenMaker tab
15.1.1 Overview Continued FlexPendant concepts
xx0800000228
Running Windows CE, the ABB FlexPendant has limited CPU power and memory compared to a PC. A custom GUI application must therefore be placed in the designated folders on the controller hard drive before being loaded. Once loaded, it can be found in the ABB menu as seen in the figure above. Clicking the menu item will launch the GUI application. As the robot controller is the one actually controlling the robot and its peripheral equipment by executing a RAPID program, a GUI application needs to communicate with the RAPID program server in order to read and write RAPID variables and set or reset I/O signals. It is essential for RAPID programmers to understand that there are two different levels controlling a work cell: an event-driven GUI application running on the FlexPendant, and a sequential RAPID program running in the controller. These reside on different CPUs and use different operating systems, so communication and coordination are important and must be carefully designed.
489
15 ScreenMaker tab
15.1.2 Development environment
en0900000584
Description Displays group of icons organized in a logical sequence of functions. See Ribbon on page 491. Shows the active screen project and lists the screens that are defined in the project. For more information, see Managing ScreenMaker projects on page 500. Layout to design the screen with the available controls. For more information, see Form designer on page 507. Displays information about the events that occur during ScreenMaker development. Displays a list of available controls. For more information. see ToolBox on page 492. Contains the available properties and events of the selected control(s). The value of the properties can either be a fixed value or a link to an IRC5 data or an Application Variable. For more information, see Properties window on page 494.
3 4 5
15 ScreenMaker tab
15.1.2 Development environment Continued Ribbon The ScreenMaker tab contains groups of commands organized in a logical sequence of functions that facilitates the user in managing ScreenMaker projects. The tab consists of the following groups:
Group Project Add Build Controller Functions used for Managing a ScreenMaker project. See Managing ScreenMaker projects on page 500. Adding screen and application variables. See Managing screens on page 502 and Managing application variables on page 506. Building a project. See Building a project on page 504. Connecting and deploying to the controller. See Connecting to controller on page 504 and Deploying to controller on page 505. Also for opening the Virtual FlexPendant. Re-sizing and positioning the controls on the design area. See Arrange on page 491. Detecting problems in the project and providing a diagnostic solution. See ScreenMaker Doctor on page 513. Closing a project.
Arrange This toolbar displays icons for resizing and positioning controls on the design area. The icons are enabled once you select a control or group of controls on the design area.
en0900000592
15 ScreenMaker tab
15.1.2 Development environment Continued ToolBox ToolBox acts a container for holding all the available controls that can be placed on a screen.
en0900000407
The following table displays the GUI controls that can be dragged to the design area.
Control ActionTrigger BarGraph Button Description Allows to run a list of actions when either a signal or rapid data changes Represents an analog value in a bar Represents a control that can be clicked. Provides a simple way to trigger an event, and is commonly used to execute commands. It is labeled either with text or an image. Allows multiple selections from a number of options. They are displayed as a square box with white space (for unselected) or as a tick mark (for selected).
CheckBox
15 ScreenMaker tab
15.1.2 Development environment Continued
Control ComboBox Description Represents a control that enables to select items from a list Combination of a drop-down list and a textbox. It allows you to either type a value directly into the control or choose from the list of existing options. Provides a menu system for a ScreenForm Allows to define conditions while defining action triggers. An action is triggered, if there is any change in value of the data bound. Displays the mode of the Controller (Auto - Manual) Represents a text box control that can be used to edit the data. Represents a control that plots data with lines or bars. Represents a Windows control that displays a frame around a group of controls with an optional caption. Is a container used to group a set of graphic components. It usually has a title at the top. Displays a two states value, like a Digital Signal. Represents a control to display a list of items. Allows the user to select one or more items from a list contained within a static, multiple line text box. Represents a text box control that can be used to edit a number. When the user clicks it, a Numpad is opened. Represents a spin box that displays numeric values. Used to group collection of controls. Represents a picture box control that displays images. Allows to select only one of a predefined set of options. Displays the execution status of the Controller Rapid Domain (Running - Auto) Represents a Windows button control that calls a RapidRoutine when clicked Displays and lets change a two states value, like a Digital Output Signal. Manages a set of tab pages. Very commonly used widget that displays text, a label is usually static, that is, it has nointeractivity. A label generally identifies a nearby text box or other graphic component. Used to change the values of RAPID variables or Application variables.
CommandBar ConditionalTrigger
LED ListBox
NumEditor NumericUpDown Panel PictureBox RadioButton RapidExecutionStatus RunRoutineButton Switch TabControl TpsLabel
VariantButton
Note For more information on using these controls and their properties, see the section Development environment on page 490 and the chapterUsing the FlexPendant SDK of the Application manual - FlexPendant SDK.
15 ScreenMaker tab
15.1.2 Development environment Continued Properties window A control is characterized by its properties and events. Properties describe the appearance and behavior of the component, while events describe the ways in which a control notifies its internal state change to others. By changing the value of a property, the controls have a different look and feel, or exhibit different behavior.
en0900000408
Element 1
Description
Graphical component name panel Displays the selected component, and lists the available components of the active design screen. Properties window toolbar
en0900000409
1 2 3 4 3 Table panel
Organizes table panel in categories Organizes table panel alphabetically Displays Properties in table panel Displays Events in table panel
Displays all the properties or events in twocolumns. The first column shows the property or event name, the second shows the value of the property or name of the event handler. Display information about a property or event.
Information panel
15 ScreenMaker tab
15.1.2 Development environment Continued Editing the property value You can edit the property value of a control from the Properties window in three ways: 1 By typing the numerics, strings and text. For example, Location, Size, Name etc. 2 By selecting the predefined values from the list. For example, BackColor, Font etc. 3 By entering the values in the dialog box. For example, Enabled, States, BaseValue etc. Building a user interface This section describes building the GUIs using the following controls from the ToolBox. ActionTrigger An action trigger initiates an event, such as making a hidden object visible when an action is performed using a control. It allows to run a list of actions when the property value changes. The property value can be bound to a signal, rapid data, or application variable. ActionTrigger control can also be used to invoke the application from RAPID. Use this procedure to add an ActionTrigger control::
Action 1 2 Drag an ActionTrigger control from the ToolBox on to the design area. You can modify the name, set the default value and configure data binding value for a ActionTrigger control. To set the values of a property, see Properties window on page 494. You can set the trigger event for an ActionTrigger to any of the event handler created either from a control or from an Events Manager option. To set up the events, see Setup Events on page 507. To configure the data binding values, see Configuring data binding on page 510. To set the application variables, see Managing application variables on page 506.
Note An action is not triggered when the screen is launched for the first time, but is triggered when there is a difference in the bound value at any point of time. This functionality is supported only in RobotWare 5.12.02 or higher. Example: Consider a signal being bound to the value property. The value of the signal changes at runtime on performing a specific action. The event handler configured for ActionTrigger control gets triggered based on this signal value change.
15 ScreenMaker tab
15.1.2 Development environment Continued TpsLabel TpsLabel is a standard Windows label that displays a descriptive text. Use this procedure to add a TpsLabel control:
Step 1 2 Action Drag a TpsLabel control from the ToolBox on to the design area. You can set the values, setup events, configure data binding values and set the application values for a TpsLabel control. To set the values of a property, see Properties window on page 494. To set up the events, see Setup Events on page 507. To configure the data binding values, see Configuring data binding on page 510. To set the application variables, see Managing application variables on page 506. You can set the option Allow Multiple States to true and change the property. 1 Click Allow Multiple States. The StatesEditor dialog box appears. 2 Click the check-box Allow Multi-States, select the properties to change from Properties For States and click OK.
The controls Button, PictureBox, and TpsLabel support AllowMultipleStates. For more information on how to use AllowMultipleStates, see Picture object and changing images due to I/O on page 529. Panel Panel is used to group a collection of controls. Use this procedure to add a Panel control:
Step 1 2 3 Action Drag a Panel control from the ToolBox on to the design area. You can add a group of controls to a panel. You can modify the name, set the default value and binding value for a Panel control. To set the values of a property, see Properties window on page 494. To set up the events, see Setup Events on page 507. To configure the data binding values, see Configuring data binding on page 510. To set the application variables, see Managing application variables on page 506.
Note Currently only EventHandler, CancelEventHandlers, and MouseEventArgs are supported. ControllerModeStatus ControllerModeStatus displays the mode of the controller (Auto - Manual). Use this procedure to add a ControllerModeStatus control:
Step 1 Action Drag a ControllerModeStatuscontrol from the ToolBox on to the design area.
15 ScreenMaker tab
15.1.2 Development environment Continued
Step 2 Action You can set the values, setup events, configure data binding values, and set the application variables for a ControllerModeStatus control. To set the values of a property, see Properties window on page 494. To set up the events, see Setup Events on page 507. To configure the data binding values, see Configuring data binding on page 510. To set the application variables, see Managing application variables on page 506. You can select the image to be displayed when the controller is in Auto mode and in Manual mode. Click AutoImage in the Properties window and browse to select the image to be displayed in Auto mode. Click ManualImage in the Properties window and browse to select the image to be displayed in Manual mode.
RapidExecutionStatus RapidExecutionStatus displays the execution status of the Controller Rapid Domain (Running - Auto). This control is used Use this procedure to add a RapidExecutionStatus control:
Step 1 2 Action Drag a RapidExecutionStatus control from the ToolBox on to the design area. You can set the values, setup events, configure data binding values, and set the application values for a RapidExecutionStatus control. To set the values of a property, see Properties window on page 494. To set up the events, see Setup Events on page 507. To configure the data binding values, see Configuring data binding on page 510. To set the application variables, see Managing application variables on page 506. You can select the image to be displayed when the Program is running and is stopped. Click RunningImage in the Properties window and browse to select the image to be displayed when the Program is running. Click StoppedImage in the Properties window and browse to select the image to be displayed when the Program is stopped.
RunRoutineButton RunRoutineButton represents a Windows button that calls a RapidRoutine when clicked. Note To call a routine containing movements, you are not recommended to use the RunRoutine Button control. Instead use a normal button control to call a Trap routine. In the Trap routine, use instructions such as StopMove, StorePath, RestorePath and StartMove to control the movements of the robot. Use this procedure to add a RunRoutineButton control:
Step 1 Action Drag a RunRoutineButton control from the ToolBox on to the design area.
15 ScreenMaker tab
15.1.2 Development environment Continued
Step 2 Action Click the smart tag on the RunRoutineButton and select one of the following RunRoutineButtonTasks. Define Actions before calling Routine Select Routine to call Define Actions after calling Routine Click Define Actions before calling Routine to define an action/event before calling the routine. The Events Panel dialog box appears. For more information on setting up events, see Setup Events on page 507. Click Define Actions after calling Routine to define an action/event afterre calling the routine. The Events Panel dialog box appears. For more information on setting up events, see Setup Events on page 507. Click Select Routine to call. The Controller Object Binding dialog box appears. In the Properties window, set the value for the following properties: RoutineToCall - Set the routine to be called. Indicates the RAPID Routine that will be called when this button is pressed. AllowInAuto - Set to True or False. Indicates if the routine could be called in the Auto mode. TextAlign - Set to MiddleLeft and MiddleCenter. Indicates the text alignment. Note the following restrictions: You cannot bind RunRoutineButton to built-in Service routines. Only user defined procedures with no arguments can be bound. Set the PP to task before performing action through RunRoutineButton.
5 6
CommandBar CommandBar allows you to add menu items in a controlled and organized order. Use this procedure to add menu items to the CommandBar control:
Step 1 2 3 Action Drag a CommandBar control from the ToolBox on to the design area. The CommandBar appear at the bottom of the screen. Click the smart tag on the CommandBar and select Add/Remove Items. The MenuItem Collection Editor window appears. Click Add. A new menu item is added and its properties are displayed which can be edited. Note that while editing the menu item, ensure that the property Text is filled. If not, nothing appears on the CommandBar. To remove the menu item, select the menu item and Click Remove. Click Close to close the MenuItem Collection Editor window.
4 5
To add an event to a menu item, for example menuItem1 on the command bar, use this procedure:
Step 1 2 Action Go to the Properties window and select menuItem1 from the drop-down list. Click Events icon and then double-click the Click event. This opens the Events Panel dialog for the Click event.
15 ScreenMaker tab
15.1.2 Development environment Continued
Step 3 4 Action Click Add Action from the Events Panel dialog. This opens a sub-list of actions. Click an action from the sub-list of actions to add it to menuItem1's Click event. For more information about setting up events, see Setup Events on page 507.
VariantButton The VariantButton control is a simple button control with additional features and properties. Using this control, you can change the values of RAPID or Application variables. Use this procedure to add the VariantButton control:
Step 1 2 Action Drag a VariantButton control from the ToolBox on to the design area. You can perform the following VariantButton tasks from the SmartTag: Define Actions before value change Define Actions after value change You can set the following VariantButton specific properties from the Properties window: Select Increment or Decrement from Behavior drop down. The default behavior of VariantButton is Increment. Select StepRate and set the rate at which the value must be varied. Select DataType to which the value should be bound and set the value property of the selected datatype. Supports only the RAPID datatypes, Num and Dnum. For more information on data binding, see Configuring data binding on page 510. You can also perform the following common tasks from the Properties windows: Set BackColor, ForeColor, Location, and Size of the control. Select True or False from the Visible dropdown to hide or unhide the control. Select True or False from the Enabled drop down to enable or disable the control.
ConditionalTrigger The ConditionalTrigger button defines the condition while defining action triggers. An action will be triggered if there is a change in the value of the data bound. Use this prcodedure to add the ConditionalTrigger control:
Step 1 2 Action Drag a ConditionalTrigger control from the ToolBox on to the design area. You can set the following ConditionalTrigger properties from the Properties window: Select the condition to execute from the Condition drop down. The following are the supported conditions AND, OR, XOR, NOT, and EQUAL. Select True or False from the Enabled drop down to enable or disable the control. Select LHS and RHS and bind the data value to Controller Object or Application Variable. For more information on data binding, see Data binding on page 510.
499
15 ScreenMaker tab
15.2.1 Managing ScreenMaker projects
15 ScreenMaker tab
15.2.1 Managing ScreenMaker projects Continued Loading a project or template Use this procedure to load an existing project or an existing template: 1 Click Open from the ScreenMaker ribbon or right-click Project context menu and select Open Project. The Open Screen Project File dialog box appears. 2 Browse to the location of the project file or template file to be loaded and click Open. Note You can also load an existing project using a quick access method. 1 Click Recent from the ScreenMaker ribbon or right-click Project context menu and select Recent Projects. 2 Select the project file from the list of most recently opened projects. Saving a project To save a project or template, follow this step: Click Save from the ScreenMaker ribbon or right-click Project context menu and select Save. Click SaveAs from the ScreenMaker ribbon or right-click Project context menu and select SaveAs. Note Project files are saved with the extension *.smk. Template files are saved with the extension *.smt.
To save the existing project or template with a new name, follow this step:
SaveAs FlexPendant Project To save the ScreenMaker project as a FlexPendant project, follow this step: Click SaveAs FlexPendant Project from the ScreenMaker ribbon and select Save.
The project is saved with the extension *.csproj which can be opened from Microsoft Visual Studio. Error for SaveAs FlexPendant Project When a ScreenMaker project is saved as a FlexPendant project, an error message as follows, may be displayed if the controls were modified in Visual Studio.
Unable to find out the SDK version. Using code for 5.08
To solve this error: 1 Open the source code whose designer form needs to be modified. Consider that you have a screen named Navigate. Here, open the class definition of Navigate
public class Navigate : ABB.Robotics.ScreenMaker.Windows.Forms.ScreenForm {}
15 ScreenMaker tab
15.2.1 Managing ScreenMaker projects Continued 2 Instead of Navigate inheriting from ABB.Robotics.ScreenMaker.Windows.Forms.ScreenForm use ABB.Robotics.Tps.Windows.Forms.TpsForm, as follows.
public class Navigate : ABB.Robotics.Tps.Windows.Forms.TpsForm //commented - ABB.Robotics.ScreenMaker.Windows.Forms.ScreenForm {}
This change will also enable the toolbox with FlexPendant specific GUI controls. Note There may be some errors in the output log window. When the form has been designed according to your needs, revert back to the previous state and rebuild the project. The state of the class definition should be as follows:
public class Navigate : ABB.Robotics.ScreenMaker.Windows.Forms.ScreenForm //commented - ABB.Robotics.Tps.Windows.Forms.TpsForm {}
Closing a project To close a project, follow this step: Right-click Project context menu and select Close Project.
Closing ScreenMaker To close ScreenMaker, follow this step: Managing screens This section describes adding, copying, renaming, deleting, and editing a screen. Creating a screen 1 On the ScreenMaker tab, in the Add group, click Screen. Alternatively, in the ScreenMaker browser, right-click the Project context, and then click Add Screen. The New Screen dialog box appears. 2 Enter the name of the new screen in Name text box. 3 Click OK Copying a screen You can copy an existing screen to create a similar or modified screen. To copy an existing screen: 1 In the ScreenMaker browser, right-click the screen to be copied. 2 Click Copy Screen. A copy of the screen appears and is listed in the browser. The copied screen is given a default name, you can rename it as required. Click Close ScreenMaker from the ScreenMaker ribbon.
15 ScreenMaker tab
15.2.1 Managing ScreenMaker projects Continued Renaming a screen 1 In the ScreenMaker browser, right-click the screen to be renamed. 2 Click Rename. The Rename of Screen dialog box appears. 3 Enter the new name in the text box and click OK. Editing a screen For information on editing a screen, see Editing a screen on page 507. Changing the Main screen You have the option to change the main screen. 1 In the ScreenMaker browser, right-click the screen to be changed. 2 Click Set as Main Screen. Deleting a screen 1 In the ScreenMaker browser, right-click the screen to be to be deleted. 2 Click Delete. Note You can also delete screens directly from the controller. To do this, go to the /Home folder using an FTP client and delete the files TpsViewxxx.dll and TpsViewxxxx.gtpu.dll. Modifying Project properties Project properties define the properties of the ScreenMaker project, including how the GUI is loaded and displayed in the FlexPendant. Use this procedure to modify the project properties: 1 Right-click Project context menu and select Properties. The Project Properties dialog box appears. 2 In the Display tab under Caption, enter the text in the Caption of the Application field to edit the caption. The updated caption appears in the ABB Menu on the right side. 3 In the Display tab under ABB Menu, select the following options,
Option Left Right None Description application is visible to the left in the ABB Menu. application is visible to the right in the ABB Menu. application is not visible at all in the ABB Menu.
Note The applications that uses the option None cannot be run on RobotWare releases earlier than 5.11.01. 4 In the Display tab under ABB Menu, browse and select the ABB menu image.
15 ScreenMaker tab
15.2.1 Managing ScreenMaker projects Continued 5 In the Display tab under TaskBar, browse and select the TaskBar image. Note By default, the Use Default Image and Use Menu Image checkbox is enabled and the deafult image tpu-Operator32.gif is selected. 6 In the Display tab under Startup , select Automatic to load the screen automatically at the Startup. Note By default, the start up type is Manual. 7 In the Advanced tab under Run Settings, select Launch virtual FlexPendant after deploying checkbox. The virtual FlexPendant will be launched after deploying the ScreenMaker project to the virtual controller. Note This feature is not applicable if connected to a real controller. Connecting to controller Use this procedure to connect to both real and virtual controllers: 1 Click Connect from the ScreenMaker ribbon or right-click Project context menu and select Connect. The Select a Robot Controller dialog box appears. Note Click the Connect dropdown from the ScreenMaker ribbon to directly connect to the controller. 2 Click Refresh to find a list of all the available controllers. Note By default, the currently connected controller is highlighted and has a small icon before the row as an indicator. 3 Select the controller to be connected from the list and click Connect. The connection status is displayed in the Project tree view. To remove the connection with the controller, click Disconnect from the Project context menu. Building a project The result from building the ScreenMaker project is a set of files including DLL file and images. The ScreenMaker project can be compiled into binary format (.dll) that can be deployed on a FlexPendant. Continues on next page
504 Copyright 2008-2012 ABB. All rights reserved. 3HAC032104-001 Revision: J
15 ScreenMaker tab
15.2.1 Managing ScreenMaker projects Continued Use this procedure to build a project: 1 Click Build from the ScreenMaker ribbon or right-click Project context menu and select Build The result is displayed in the output window. Deploying to controller Use this procedure to deploy a ScreenMaker project to a real controller or virtual controller: 1 Connect to the controller you want to deploy to. See Connecting to controller on page 504. 2 Click Deploy from the ScreenMaker ribbon or right-click Project context menu and select Deploy Screen to Controller. The Download dialog box appears displaying the progress of download. It disappears once the download is successful. The TpsViewxxxxxx.dll file is downloaded. 3 Restart the controller. Note If a real controller is used, you can reboot the FlexPendant by moving its joystick three times to the right, once to the left, and once towards you. If a virtual controller is used, you can reboot the FlexPendant by closing the virtual FlexPendant window.
505
15 ScreenMaker tab
15.2.2 Application variables
3HAC032104-001 Revision: J
15 ScreenMaker tab
15.2.3 Form designer
3 Click the smart tag on the upper right corner of the control to perform the basic tasks of configuration. See Configuring data binding on page 510. Note You can perform additional configuration by editing the attributes in the Properties window. See Development environment on page 490. Setup Events Event handler is a set of actions to be executed after an event occurs. To set up an event, follow these steps: 1 Select the control for which the event handler is to be defined. 2 Open the Events Panel dialog box in any one of the following ways: Double-click the control. Right-click the control, select Events Manager, click Add enter the name, and click OK and close. Click smart tag and select the task from the list. In the Properties window, click Events icon and select the desired event from the list.
3 Click Add Action to add an action from a predefined list of actions. The following table lists the set of predefined actions:
Screens Open Screen Close Screen
15 ScreenMaker tab
15.2.3 Form designer Continued
Signals Set a Digital Signal Invert a Digital Signal Pulse a Digital Signal Read a Signal Write a Signal Reset a Digital Signal Read a Rapid Data Write a Rapid Data Read and Write Call another Action list Call .NET method Call Custom Action Call FP Standard View
4 Select the action from the left window and perform the following: Click Delete to delete the action. Click Move Up or Move Down to change the order of execution of actions.
5 Click OK Deleting an event handler To delete a user created event handler, do the following: 1 Right-click the control, select Events Manager. The Events Manager dialog box appears. 2 Select the event handler to be deleted from the list and click Delete. Advanced options Call another Action List Existing event handlers from Events Manager can be reused by other controls while defining actions for event. You can call another event handler from an existing event handler. In the following example, listbox1_SelectedIndexChanged event handler is called from comboBox1_SelectionIndexChanged event handler. Select the Show warning message before performing actions check box to have a warning displayed before you can perform these actions. Call .NET Method You can import the dlls and add references to the Advanced tab of the Project Properties dialog box. Once the references are defined, .NET methods appear in the Project Properties dialog box and can be included in the Actions list which will be executed on performing the desired action. Double click the method and bind the return value to the application variable.
15 ScreenMaker tab
15.2.3 Form designer Continued Binding can be done only to the application variable. For more information, see Application variable data binding on page 511. Note ScreenMaker allows you to call static methods of the public classes defined in another DLL. This DLL is usually a class library or a control library. It has the following limitations and the user should be aware of them while using .Net DLLs. DLLs references must be in the same directory in order to load the DLL. ScreenMaker provides access only to the static methods which contain basic data types such as string, int, double, boolean, object.
Call Custom Action You can add an user control to the ScreenMaker toolbox and call a custom method for that control by defining it in the ScreenMaker.dll.config file. Call Custom Action supports only the Graph control.
509
15 ScreenMaker tab
15.2.4 Data binding
A screen has to be linked with data to be useful. There are two ways of linking the data with the GUI properties: Controller object data binding on page 511 Application variable data binding on page 511
Configuring data binding Data binding can be configured in the following two ways: Using smart tag Smart tags perform basic configuration tasks like binding default GUI property with controller data. The controls that either display or edit information normally have a value property to represent the information. Smart tag binds the value to the controller object. On the design area, select the control and click the smart tag. The tasks menu appears.
to...
Click...
Bind Value to a Controller Ob- bind data to a Controller Object. ject For more information, see Controller object data binding on page 511. Bind Value to an Application Variable binding data to a application variable. For more information, see Application variable data binding on page 511.
Using Binding menu 1 On the design area, select the control. 2 In the Properties window, locate the row from the table for binding the value. 3 Select the property and click the list to display the Binding menu.
Click... Remove actual binding Bind to a Controller object to... removes the existing data binding. select available data in the controller for binding. For more information, see Controller object data binding on page 511.
15 ScreenMaker tab
15.2.4 Data binding Continued
Click... to...
Bind to an Application variable select available data in project temporary data store for binding. For more information, see Application variable data binding on page 511.
Configuring data binding for different controls Almost all the controls defined in the toolbox (except ComboBox and ListBox) have the following two options for binding values: Bind to a Controller Object Bind to an Application Variable DataEditor ComboBox ListBox
Description The default index value is 1. DataEditor is designed in such a way that the default value of the Rapid array starts with 1 and not 0.
Control DataEditor
ComboBox and ListBox The default index value is -1. You can enter the appropriate index value but cannot bind to a controller object or an application variable. Note the following: You can limit the number of items to be displayed in the ComboBox and ListBox of an array. While using a ComboBox, a RAPID index starts with 1 (1 specifies the first element) and the ComboBox index starts with 0( 0 specifies the first index).
Controller object data binding Controller object data binding lets you to select the data in the controller for binding. Use this procedure to set up a binding with controller objects: 1 Select Bind to a Controller Object either using smart tag or binding menu. The Controller Object Binding dialog box appears. 2 In the Type of Object group, select either Rapid data or Signal data. 3 In the Shared group, select Built-in data only to access shared Rapid data. When you select Built-in data only, the option Signal data and the text box Module are disabled. 4 If you select Rapid data, from the Scope group, select a task and module from the list. When you select Signal data, the Scope group is disabled. 5 In the See list, select the desired data. Application variable data binding Application variables are used for data binding in the same way as controller data. See Controller object data binding on page 511.
15 ScreenMaker tab
15.2.4 Data binding Continued Use this procedure to set up a binding with application variables: 1 Select Bind to an Application Variable either using smart tag or binding menu. The Application Variables Bind Form dialog box appears. 2 Select an application variable and the field to connect. 3 Click Setup Variables to manage the variables. The Project Application Variables dialog box appears. See Managing application variables on page 506. 4 Click OK.
3HAC032104-001 Revision: J
15 ScreenMaker tab
15.2.5 ScreenMaker Doctor
Using ScreenMaker Doctor Use this procedure to launch ScreenMaker Doctor, detect and report issues, and to view causes and solutions: 1 In the ScreenMaker ribbon, click ScreenMaker Doctor. The ScreenMaker Doctor Wizard opens. 2 Click Next. The wizard starts detecting issues and are reported as Completed Checks. The detected issues are categorized as: Broken References Unused Events Broken ApplicationVariables Broken Signals Broken Modules Broken RapidData RunRoutine issue Broken Routine Other Dependencies
3 Click View Causes and Solutions to generate a report. The left hand side of the report displays issues under each category and the right hand side of the report displays the Probable Causes and Solutions for the issues. To check for issues again using the same instance, click Re-Detect Issues. Note In order to detect the signal data and RAPID, ScreenMaker project should be connected to the controller. ScreenMaker Doctor scenarios You can use ScreenMaker Doctor in the following scenarios. Unused Events If an unused event is present in the ScreenMaker project, then perform the following procedure: 1 Create a ScreenMaker project. Continues on next page
3HAC032104-001 Revision: J Copyright 2008-2012 ABB. All rights reserved. 513
15 ScreenMaker tab
15.2.5 ScreenMaker Doctor Continued 2 Define events for the controls. See Setup Events on page 507. 3 Define the events Button1_Click and Button2_Click for the controls Button1and Button2 respectively. 4 Delete the control Button1. The event Button1_Click will still exist. An unused event is created. Broken Reference If a broken reference is present in the ScreenMaker project, then perform the following procedure: 1 Create a ScreenMaker project. 2 Define events for the controls. See Setup Events on page 507. 3 Define the events Button1_Click and Button2_Click for the controls Button1and Button2 respectively. 4 Define action ScreenOpen - Screen2 for the event Button1_Click. 5 Delete or rename the screen. A broken reference is created. Broken Application Variables If a broken reference is present in the ScreenMaker project, then perform the following procedure: 1 Create a ScreenMaker project. 2 Add an Application variable to the project. 3 Rename or delete the Application variable. No error is reported. 4 An error is reported during the run time. Broken Rapid Data/Signals If rapid data is bound but not found in the controller connected in the ScreenMaker project, then perform the following procedure: 1 Create a ScreenMaker project. 2 Connect to a controller. 3 Bind the properties of the controls with controller data. 4 Build the project and deploy it to the controller. The application works. 5 Connect the ScreenMaker project to another controller and deploy the same project. The application produces errors in the FlexPendant. 6 Run ScreenMaker Doctor. It detects that RapidData is not found in the controller, thereby suggesting to define the same. Broken Modules If modules are bound but not found in the controller connected in the ScreenMaker project, then perform the following procedure: 1 Create a ScreenMaker project. 2 Connect to a controller. 3 Bind the properties of the controls with controller data. 4 Build the project and deploy to controller. Continues on next page
514 Copyright 2008-2012 ABB. All rights reserved. 3HAC032104-001 Revision: J
15 ScreenMaker tab
15.2.5 ScreenMaker Doctor Continued The application works. 5 Connect the ScreenMaker project to another controller and deploy the same. The application produces errors in the FlexPendant. 6 Run ScreenMaker Doctor. It detects that the module in which the rapid data was defined is not found in the controller, thereby suggesting to define the same. ScreenMaker doctor also detects Hidden modules. RunRoutine Issue A check is made whether ScreenMaker.sys file is loaded on the controller or not. An issue is detected if the system module is not loaded.
515
15 ScreenMaker tab
15.2.6 Screen navigation
en0900000645
3HAC032104-001 Revision: J
15 ScreenMaker tab
15.3.1 Overview
The FlexArc Operator Panel displays the following graphic elements: Controller Status (controller mode auto or manual and the RAPID execution status) Part Status (number of produced parts, the average cycle time per part, and a Reset button) Robot jobs (Produce, Service, and Bulls Eye) and Robot locations (Robot at home position, service location, calibration location, and part location) Start and Stop buttons
15 ScreenMaker tab
15.3.1 Overview Continued
en1000000359
3HAC032104-001 Revision: J
15 ScreenMaker tab
15.3.2 Designing the FlexArc operator panel
Create a system for the FlexArc operator panel. Select the following options, FlexPendant Interface PC Interface For more information about creating a system, see Creating a system from layout on page 204. Load EIO.cfg and MainModule.mod files. For more information on loading these files, see Loading a configuration file on page 363 and Loading a RAPID module on page 407. By default: For Windows XP, the files can be found at C:\Documents and Settings\<user name>\My Documents\RobotStudio\My ScreenMaker Projects\Tutorial For Windows 7, the files can be found at C:\Users\<user name>\Documents\RobotStudio\My ScreenMaker Projects\Tutorial
en1000000464
4 5
Create an empty station in RobotStudio with the For more information about creating system created in the previous step. a station, see New on page 188. Launch ScreenMaker from RobotStudio. For more information, see Launching ScreenMaker on page 354.
15 ScreenMaker tab
15.3.2 Designing the FlexArc operator panel Continued
Action 6 Create a new ScreenMaker project. Info For more informaton, see Creating a new project on page 500. 1 Enter the project name as FlexArcGUI, and save it in the default location, C:\Users\<user name>\Documents\RobotStudio\My ScreenMaker Projects\Tutorial. 2 A new tab MainScreenis added to the Design Surface. To customize how the GUI should appear on the FlexPendant, modify the Project properties. For more information, see Modifying Project properties on page 503. For more information, see Connecting to controller on page 504. The result appears in the output window.
Create application variables (temporary variables) and configure them with the following data
en1000000360
For more information, see Managing application variables on page 506. 10 Design the Main Screen. 11 Build and Deploy the project. For more information, see Designing the screen on page 522. For more information, see Building and deploying the project on page 528.
15 ScreenMaker tab
15.3.2 Designing the FlexArc operator panel Continued
Action 12 Open virtual FlexPendant and test the GUI Info In RobotStudio, press Ctrl+F5 to launch the virtual FlexPendant. Click FlexArc operator panel to launch the GUI. Note Ensure that you switch the controller to Auto mode and start the RAPID execution.
521
15 ScreenMaker tab
15.3.3 Designing the screen
2 Drag another GroupBox control from the General category; place it on the design surface and set the following values in the Properties window.
Property Location Size Title BackColor Value 14,170 150,204 Part Status LightGray
3 Drag a ControllerModeStatus control from the Controller Data category; place it in the Controller Status groupbox created and set the following values in the Properties window:
Property Location Size BackColor Value 19,40 44,44 LightGray
4 Drag a RapidExecutionStatus control from the ControllerData category; place it in the Controller Status groupbox created and set the following values in the Properties window:
Property Location Size BackColor Value 80,40 44,44 LightGray
15 ScreenMaker tab
15.3.3 Designing the screen Continued 5 Drag a TpsLabel control from the General category; place it in the Part Status groupbox created and set the following values in the Properties window:
Property Location Size Text BackColor Font Value 16,30 131,20 Parts Produced LightGray TpsFont10
6 Drag a NumEditor control from the ControllerData category; place it in the Parts Status groupbox created and set the following values in the Properties window:
Property Location Size Value Value 16,56 116,23 Link to RAPID variable partsReady defined in the module MainModule.
7 Drag another TpsLabel control from the General category; place it in the Part Status groupbox created and set the following values in the Properties window:
Property Location Size Text BackColor Font Value 16,89 131,20 Cycle time/part LightGray TpsFont10
8 Drag another NumEditor control from the General category; place it in the Part Status groupbox created and set the following values in the Properties window:
Property Location Size Value Value 16,115 116,23 Link to RAPID variable cycleTime defined in the module MainModule.
9 Drag a Button control from the General category; place it in the Part Status group box created and set the following values in the Properties window:
Property Location Size Text Value 33,154 85,34 Reset
15 ScreenMaker tab
15.3.3 Designing the screen Continued Perform the following for the Reset button in the Part Status group:
Step Action 1 2 Double-click the button Reset. The Events Panel dialog box appears which is used to define the actions for Events. In the Events Panel dialog box, click Add Action; point to Rapid Data and select Write a Rapid Data. The Action Parameters dialog box appears; assign Rapid data to the following value and click OK. T_ROB1.MainModule.partsReady to MyResetValue.Value Similarly, assign Rapid data to the following value and click OK. T_ROB1.MainModule.cycleTime to MyResetValue.Value Two actions of similar type are needed to perform the Reset action. One is to reset Rapid variable partsReady to 0, the other is to reset Rapid variable cycleTime to 0.
10 Drag a PictureBox control from the General category; place it on the design surface and set the following values in the Properties window:
Property Location Size SizeMode Image Value 177,28 284,359 StretchImage FlexArcCell.GIF
Note You can find the graphic (.GIF ) files at C:\MyDocuments\RobotStudio\My ScreenMaker Projects\Tutorial\Images. 11 Drag another PictureBox control from the General category; place it on the design surface and set the following values in the Properties window:
Property Location Size SizeMode Image AllowMultipleStates SlectedStateValue States Value 237,31 48,48 StretchImage RobotAtHome.GIF True Select Image property from the StatesEditor dialog box. DI_RobotAtHome Link State{0} to RobotAtHome_gray.GIF Link State{1} to RobotAtHome.GIF
Note Add AllowMultipleStates option to the PictureBox control. The objective is to have an image that changes when an I/O signal changes. For more information on how to use AllowMultipleStates for PictureBox control, see Picture object and changing images due to I/O on page 529. Continues on next page
524 Copyright 2008-2012 ABB. All rights reserved. 3HAC032104-001 Revision: J
15 ScreenMaker tab
15.3.3 Designing the screen Continued 12 Drag a Button control from the General category; place it on the design surface and set the following values in the Properties window:
Property Location Size Text Font BackColor Enabled Value 486,66 116,105 Start TpsFont20b LimeGreen Link to DI_RobotAtHome
2 3
13 Drag a Button control from the General category; place it on the design surface and set the following values in the Properties window:
Property Location Size Text Font BackColor Enabled Value 486,226 116,105 Stop TpsFont20b LimeGreen Link to DI_PRODUCE
2 3
14 Drag a Button control from the General category; place it on the design surface and set the following values in the Properties window:
Property Location Value 274,246
15 ScreenMaker tab
15.3.3 Designing the screen Continued
Property Size Text Font Enabled AllowMultipleStates Value 111,47 Bulls Eye TpsFont14b Link to DI_RobotAtHome True Select BackColor property from the StatesEditor dialog box DI_RobotAtBull'sEye Link State{0} to Red Link State{1} to Green
SelectedStates States
2 3
15 Drag a Button control from the General category; place it on the design surface and set the following values in the Properties window:
Property Location Size Text Font Enabled AllowMultipleStates Value 274,324 111,47 Service TpsFont14b Link to DI_RobotAtHome True Select BackColor property from the StatesEditor dialog box DI_RobotAtService Link State{0} to Red Link State{1} to Green
SelectedStates States
15 ScreenMaker tab
15.3.3 Designing the screen Continued
Step Action 3 In the Action Parameters dialog box, assign Rapid data to the following value and click OK. T_ROB1.MainModule.JobService to JobService
527
15 ScreenMaker tab
15.3.4 Building and deploying the project
3HAC032104-001 Revision: J
15 ScreenMaker tab
15.4 Frequently asked questions
15 ScreenMaker tab
15.4 Frequently asked questions Continued bound variable. 0 and 1 for digital input. It is also possible to bind to RAPID variables and have multiple states and values for the values in the RAPID variable. Set the SelectedStateValue property to bind to a controller object: How to get radio buttons to show state when entering The objective is to have two radio buttons that controls one digital output. When the screen is loaded, the buttons should show the current state of the output. Actions Create a group or a panel and place the two radio buttons on the group or panel. For button1, set the property default value to True and bind the property to the value of the controller digital output signal. For button2, do not do any changes. When the screen is loaded, the state of the two radio buttons is established correctly.
3HAC032104-001 Revision: J
Index
Index
3
3D view group, 249 3D settings, 249 Markup, 253 Show/Hide, 249 View, 249 confJ about, 35 ConfL about, 35 Connecting a controller, 504 Controller grants, 387 Backup and save, 387 Calibration, 388 Delete log, 388 Edit RAPID code, 387 Execute program, 387 Full access, 387 I/O write access, 387 Manage UAS settings, 387 Modify configuration, 387 Modify controller properties, 388 Modify current value, 387 Program debug, 388 Read access to controller disks, 388 Safety Controller, 388 Write access to controller disks, 388 controller menu, 180 Controller Shutdown, 392 controller status window, 57 access, 58 controller name, 57 controller state, 57 logged on as, 58 operating mode, 57 program execution state, 57 system name, 57 controller system create, 156 controller world coordinate system, 30 control panel, 391 enable device, 391 manual full speed, 391 motors on, 391 operation mode, 391 release device, 391 reset emergency stop, 391 convert frame to workobject, 439 coordinate systems, 28 cycle tme measure, 143
A
ABB library, 202 action instruction about, 27 Activate RobotStudio Automatic activation, 42 Manual activation, 43 Add Controller, 348 add to path, 431 Adjust Robtargets, 415 alerts activate, 142 align frame orientation, 432 align target orientation, 433 Application grants, 389 Application Variables, 506 create,delete, rename application variables, 506 attach to object, 434 Authenticate, 371 Edit User Accounts, 371 Login as a Different User, 371 Log in as Default User, 371 Log off, 371 Log off all controllers, 371 UAS Grant Viewer, 371 auto configuration, 435 AutoPath, 224
B
Backup, 357 create backup, 357 Back up restore backup, 359 browser Layout, 48 Modeling, 51 Paths & Targets, 49
C
CAD file troubleshoot and optimize, 90 CAD formats convert, 89 check reachability, 437 collision detection, 137 sets, 137 configuration robot axis, 34 configuration editor, 361 instance editor, 362 configuration file, 180 configuration monitoring about, 35 Configure data binding, 510 Using Binding menu, 510 Using Smart tag, 510
D
data binding Controller object data binding, 511 Data Binding, 510 Application variable data binding, 511 data declaration, 25 detach, 442 detecting collision, 138 Development Environment, 490 device browser, 377
E
element select, 69 Ethernet, 150 event create, 140 events, 350
531
Index
F
File transfer, 372 Controller explorer, 373 PC explorer, 373 FlexPendant Viewer, 374 frame converting to workobject, 104 crerating by points, 104 Frame create, 212 create from three points, 213 frames, 28 function, 25
K
keyboard shortcuts, 71 General commands, 71
L
Layout browser, 48 LED, 493 library troubleshoot and optimize, 90 Load Parameters, 363 local coordinate system set, 96 local origin set, 96
G
geometry troubleshoot and optimize, 90 Go Offline, 379 Grants, about, 155 Grants, give to groups, 385 graphics window, 68 Group, about, 154 group, add, 384 group, add user, 383 group, remove, 385 group, rename, 384 Groups, give grants, 385
M
Manage ScreenMaker project Close ScreenMaker, 502 ScreenMaker Doctor, 1415, 491, 513 Manage ScreenMaker Project, 500 Close project, 502 Create project, 500 Load project, 501 Save project, 501 Manage Screens, 502 Copy screen, 502 Create screen, 502 Delete screen, 503 Edit screen, 503 Rename screen, 503 Managing ScreenMaker Projects Build project, 504 Markup, 253 MediaPool, 24 Mirror, 457 Modeling browser, 51 Modify project properties, 503 module, 25 move instruction about, 27 Move instruction teach, 234 MoveJ teach, 234 MoveL teach, 234 MultiMove programming workflow, 124
H
handle events, 183 date and time, 184 event category, 184 event code, 184 event description, 184 event log list, 183 event title, 184 event type, 183 manage events, 185 retrieve controller events, 185 sequential number, 184
I
I/O set, 141 I/O system, 351 I/O signals, 176 input signals, 176 output signals, 176 simulated signals, 176 virtual signals, 176 import, 87 import geometry, 211 import library, 203 instruction, 25 about, 27 item select, 69
N
near-miss detection, 138 network settings, 151 firewall settings, 151 local network connection, 151 remote network connection, 151 service port connection, 151
J
jog mechanism, 105 robot, 105 several mechanisms, 105 jog reorient, 247
O
object select, 69 set local origin, 96 troubleshoot and optimize, 90 Offline and Online browser, 52 Online Monitor, 380
3HAC032104-001 Revision: J
Index
operator window, 59 enabling operator window, 59 show virtual operator window, 59 orientations, 111 align target, 113 copy and apply, 114 target normal to surface, 112 unordered, 111 output window, 56 event types, 56
P
pack, unpack, 146 part set local origin, 96 Password, change for user, 383 path, 108 about, 27 compensating, 109 creating, 108 creating from curve, 108 reversing, 108 rotating, 109 setting axis configuration, 108 translating, 109 Paths & Targets browser, 49 Placing an item, 471 Frame, 471 One Point, 471 Three Points, 471 Two Frames, 471 Two Points, 471 positioner.program, 131 procedure, 25 process time measure, 143 program copy, 145 programming overview, 103 Program Pointer, 418 Properties, 376 Device Browser, 377 Renaming the controller, 376 Save System Diagnostics, 378 Set controller ID, 376 Set date and time, 376 View controller and system properties, 377 Properties Window Event Help panel, 494 Graphical Component Name panel, 494 Properties window toolbar, 494 Table panel, 494 Property editor, 287
Relation, 365 Release Write Access, 370 remote subnet, 152 Request Write Access, 369 Restore, 359 robot programming overview, 103 Robot system button, 204 adding an existing system, 205 adding a template system, 205 conveyor setup, 205 create system from layout, 204 remove objects from conveyor, 206 RobotWare, 23 license key, 23 RobotWare system, 23 routine, 25 Run mode, 414 continuous, 414 single, 414
S
safety, 19 safety configuration, 368 ScreenMaker Copy Screen, 502 Screen navigation, 516 service port, 149 set task frame, 393 Signal Analyzer, 337 signals set, 141 simulate alerts, 142 create event, 140 measure process time, 143 set signals, 141 TCP trace, 142 simulation, 135, 137 simulation control, 332 Simulation watch, 288 Break condition, 289 station build workflow, 75 pan, 68 rotate, 68 zoom, 68 station world coordiante system, 28 Stopwatch, 336 switch, 493 synchronization, 134 station to VC, 134 VC to station, 134 system create, 156 create with positioner, 173 RobotWare, 23 System Builder, 156, 360 about virtual and real systems, 156 building new system, 159 copying system, 167 create boot media, 170 create system from backup, 168 download a system to controller, 169 modify controller system, 163 viewing system properties, 158 System Configuration, 394 533
R
RAPID concepts, 25 copy program, 145 RAPID Data Editor, 409 RAPID Editor, 400 RAPID instructions, 115 RAPID Profiler, 420 RAPID task, 412 RAPID Watch window, 422 reachability test, 122 3HAC032104-001 Revision: J
Index
controller values, 394 stored station values, 395 used current station values, 395 system parameters, 177 editing parameters, 178 load parameters, 181 save system parameters, 180
T
target, 106 about, 27 creating, 106 modifying, 106 modifying with ModPos, 106 removing unused, 107 renaming, 106 teaching, 106 Targets on Edge, 221 TCP, 28 TCP trace activate, 142 ToolBox ActionTrigger, 492 BarGraph, 492 CheckBox, 492 ComboBox, 493 CommandBar, 493 ConditionalTrigger, 493 ControllerModeStatus, 493 DataEditor, 493 Graph, 493 GroupBox, 493 ListBox, 493 NumEditor, 493 NumericUpDown, 493 Panel, 493 PictureBox, 493 RapidExecutionStatus, 493 RunRoutineButton, 493 TabControl, 493
Tool Center Point coordinate system, 28 tooldata, 95 tools, 95 TpsLabel, 493 track program, 131 Transfer, 365 trap, 25
U
UAS Grant Viewer, 386 UCS, 33 unpack, 190 User, about, 154 User, add, 382 User, add to group, 383 User, change password, 383 User, change user name, 383 User, enable and disable, 383 User, remove, 383 User account, 381 User tab, 381 user coordinate system, 33
V
VariantButton, 493 viewpoint, 251 create, 251 move to viewpoint, 251 viewpoint functions, 251 Virtual FlexPendant, 390 Virtual FlexPendant operator window, 59 VSTA, 39
W
workobject creating, 104 modifying, 104 WorkObject, 33 workobjects, 104 world coordinate system, 28
3HAC032104-001 Revision: J
Contact us
ABB AS, Robotics Discrete Automation and Motion Box 265 N-4349 BRYNE, Norway Telephone: +47 51489000 ABB Engineering (Shanghai) Ltd. 5 Lane 369, ChuangYe Road KangQiao Town, PuDong District SHANGHAI 201319, China Telephone: +86 21 6105 6666 www.abb.com/robotics
3HAC032104-001, Rev J, en
ABB AB Discrete Automation and Motion Robotics S-721 68 VSTERS, Sweden Telephone +46 (0) 21 344 400