The heart

of Robotics

ABB
User Manual
Promia 50 application – Material Handling
IRC5

RDNU0006_F_MH-Promia50_Eng.doc

User Manual
Promia 50 application – Material Handling
Document ID: RDNU0006
Revision: F

This document is intended for recto/verso printing.
Document based on model RDDI0013_E

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, and contents
thereof must not be imparted to a third party nor be used for any unauthorized purpose. Contravention will be
prosecuted.
Additional copies of this manual may be obtained from ABB at its then current charge.

© ABB
ABB France s.a.s
Robotics Division
Rue de l’Equerre
ZI des Béthunes
95310 Saint-Ouen l’Aumône
FRANCE

2

RDNU0006 Revision F

Table of Contents
Overview ......................................................................................................................................5
Product Documentation, M2004 ...................................................................................................7
Promia Documentation.................................................................................................................8

1 Safety
1.1
1.2
1.3

9

About the Safety section ...................................................................................................9
Safety standards applicable to IRC5 ...............................................................................10
Safety terminology ..........................................................................................................11

2 Welcome
2.1
2.2
2.3
2.4

13

About the Welcome section ............................................................................................13
What is Promia?..............................................................................................................14
Integrator customizations ................................................................................................16
Terms and concepts used in this manual........................................................................17

2.4.1
2.4.2
2.4.3
2.4.4
2.4.5
2.4.6

Robot program and path principles .....................................................................17
Repositioning and recycling principles ...............................................................19
Commands and events.........................................................................................21
Tooling commands and events ............................................................................21
Material handling management ...........................................................................22
Debug mode ........................................................................................................23

3 Organization of application software
3.1
3.2
3.3
3.4
3.5
3.6

25

General information.........................................................................................................25
Loading the application software.....................................................................................25
Software architecture ......................................................................................................27
Organization of memory..................................................................................................28
Organization of RAPID files ............................................................................................30
Contents of the Site directories .......................................................................................31

3.6.1 Common base modules .......................................................................................31
4 Operating principles
4.1
4.2
4.3
4.4
4.5

General controls of the robot controller ...........................................................................33
Main menu of FlexPendant .............................................................................................34
Considerations related to single and multi-robot environments.......................................35
Running the program ......................................................................................................38
Production modes ...........................................................................................................40

4.5.1
4.5.2
4.5.3
4.5.4
4.6
4.7

33

"Production enabled" and "Production disabled" modes.....................................40
Active commands according to operation modes................................................41
Move to Safe and Move to Home commands .....................................................41
Catching and priority of program codes ..............................................................45

Principles relative to actions and checks attached to a position......................................47
Continuous monitoring ....................................................................................................48

4.7.1 Dynamic monitoring............................................................................................48
4.7.2 Error management ...............................................................................................49
4.8

Behaviors in cases of exception......................................................................................50

4.8.1 Behavior during manual jogging .........................................................................50
4.8.2 Behavior in case of repositioning ........................................................................50
4.8.3 Behavior in case of recycling ..............................................................................50
5 Man-Machine Interface

RDNU0006 Revision F

51

3

Overview
5.1
5.2
5.3

General description of the screen container....................................................................51
Choice of "Common Features" screens ..........................................................................53
Production screen ...........................................................................................................55

5.3.1 Program area details ............................................................................................55
5.3.2 Message area details............................................................................................56
5.4

Error messages...............................................................................................................59

5.4.1 Common base application messages ...................................................................59
5.5
5.6

Operator panel screen ....................................................................................................65
Promia information screens ............................................................................................66

5.6.1
5.6.2
5.6.3
5.6.4
5.6.5
5.7

General description of the information screen.....................................................66
Part detection screen............................................................................................68
Sequence screen ..................................................................................................70
PLC and Tool Event Screens...............................................................................76
PLC and Tool Command Screens .......................................................................78

Backup screen ................................................................................................................79

5.7.1 General description of screen ..............................................................................80
6 Editing paths
6.1
6.2
6.3

General information.........................................................................................................83
Insertion of a specific instruction of the application .........................................................84
Inserting a « Common base » instruction........................................................................85

7 Actions on paths common to all processes
7.1
7.2
7.3

83

87

Programming anti-loop functions.....................................................................................87
Giving information about active path and active robot program ......................................89
Programming PLC commands ........................................................................................90

7.3.1 SendPlc instruction ..........................................................................................90
7.3.2 MoveSendPlc instruction.................................................................................91
7.4

Programming events .......................................................................................................92

7.4.1 PlcEvent instruction ......................................................................................92
7.4.2 MovePlcEvent instruction ..............................................................................93
7.5

Programming tool commands .........................................................................................94

7.5.1 SendTooling instruction.................................................................................94
7.5.2 MoveSendTooling instruction .......................................................................95
7.6

Programming tool events ................................................................................................96

7.6.1 ToolingEvent instruction ..............................................................................96
7.6.2 MoveToolingEvent instruction.....................................................................97
7.7

Programming handling sequences..................................................................................98

7.7.1 GripperAction instruction............................................................................99
7.8

Programming part detection functions...........................................................................100

7.8.1 CheckPart instruction ...................................................................................100
7.9

Programming the dynamic monitoring functions ...........................................................102

7.9.1 MonitorInputs instruction..........................................................................102
8 Service programs
8.1

General information.......................................................................................................105

9 Index and appendices
9.1
9.2

4

105

107

Index .............................................................................................................................107
Table of figures .............................................................................................................109

RDNU0006 Revision F

Overview

Overview

About this manual
This manual contains detailed instructions on how to use of the material handling
functions of the Promia application.
The manual gives the characteristics of the basic application, orientated to
handling.

Usage
This manual should be used during operator training workshops, and when creating
or modifying programs based on the Promia application software.

Who is this manual intended for
This manual is intended for:
• Operators
• Maintenance technicians
• Robot programmers and integrators

Prerequisites
The reader must:
• Be familiar with use of the IRC5 FlexPendant
• Be trained in basic robot programming.

References – Product Documentation
Reference

Document

Product Manual, procedures
Product Manual, references
Startup - IRC5 and RobotStudio Online

IRC5 3HAC 021313-001
IRC5 3HAC 021313-001
3HAC 021564-001

How to read this manual
To facilitate reading this manual, special formatting is used to indicate different
types of information.
Text that is...

is written with...

Example

names on elements in the
user interface, like
menus,
dialog boxes and buttons

bold letters

In the Open File dialog
box, click OK

names on keyboard keys

RDNU0006 Revision F

capital letters

To open the help,
press the F1 key.

5

Overview
quotes from computer
or output, like error
messages, written RAPID
instructions and other
computer code
variables in quotes from
computer input or output,
like error messages,
written RAPID instructions
and other
computer code
Hypertext links to other
information topics
References to other
information topics

monospace letters

MoveJ

Italic monospace
letters

PROC
RoutineName()

blue italic letters

italic letters

See The RobotStudio
Online Operator’s
Manual
See the RAPID reference
manual for further
information.

Revisions
Revision
A
B
C
D
E
F

6

Description
First issue, December 2005
Updated with new MMC interface, December 2006
Update of master document 02/2007
Update of master document – Add new simplified backup
functionality. 11/2007
Miscellaneous 04/2008
Add warnings about B-Start et recycling 05/2008

RDNU0006 Revision F

including intervals) • Repair (descriptions of all recommended repair procedures. part 2: Description of all RAPID functions. This means that each robot delivery will not contain all the documents listed. all the documents listed can be ordered from ABB. procedures. reference information • Reference information (article numbers for documentation referred to in Product manual. M2004 General information The robot documentation is divided into different categories. procedures • Safety information • Installation and commissioning (descriptions relative to mechanical installation. The list is based on the type of information contained in each document. decommissioning) Product manual. The documents listed are valid for the M2004 robot systems. part 1: Description of all RAPID instructions. if any (calibration. • RAPID Overview: Overview of RAPID programming language • RAPID Reference Manual.Product Documentation. electrical connections and loading system software) • Maintenance (descriptions of all required preventive maintenance procedures. which is divided into two parts: Product manual. However. but only those corresponding to the equipment supplied. including data types. • RAPID Reference Manual. robots and control cabinets will be delivered with a Product Manual. lists of tools. • Technical reference manual – System parameters: Description of system parameters and configuration workflows. including spare parts) • Additional procedures. RDNU0006 Revision F 7 . M2004 Product Documentation. whether the products are optional or not. safety standards) • Part list • Foldouts or exploded views • Circuit diagrams RobotWare Manuals The following manuals provide a general description of the robot software and contain the applicable reference information. Hardware Manuals All hardware.

Promia Documentation Application manuals Specific applications (e.g. For each process. on which a part specific to a process can be added. RAPID instructions. linked to the material handling process.IRC5 and RobotStudio Online • Operator manual . I/O boards.g. programmers and troubleshooters. the Promia documentation includes a user manual and an integration guide. 8 RDNU0006 Revision F .RobotStudio Online • Troubleshooting manual for the controller and robot Promia Documentation General information Promia is a family of application software intended for the IRC5 robot systems. software or hardware options) are described in Application manuals.e. An application manual can describe one or several applications. production cell operators. The information supplied for a given process always includes the information relative to the handling process. Operator manuals This group of manuals is aimed at those having first hand operational contact with the robot. This group of manuals contains: • Getting Started . All of these software applications include a common part. cables. An application manual generally contains the following information about: • The purpose of the application (what it does and when it is useful) • What is included (e.IRC5 with FlexPendant • Operator manual . i. system parameters) • How to use the application • Examples of how to use of the application.

all movements are performed with great force and may seriously injure any personnel and/or damage any piece of equipment located within the manipulator working range. it may perform unexpected and sometimes irrational movements. make sure you are perfectly familiar with the safety rules detailed in the Operator Manual – IRC5 with FlexPendant.1 About the Safety section 1 Safety 1. Safety regulation Before starting to work with the robot.1 Safety 1. However. These topics are covered in the Product Manuals supplied with the robot system. When running the manipulator. RDNU0006 Revision F 9 . It does not cover how to design for safety nor how to install safety related equipment.1 About the Safety section Introduction to Safety This section details the safety principles and the procedures to be applied when a robot or a robot system is in operation. Personnel safety Any moving manipulator is a potentially lethal machine.

1 Safety 1. safety related parts of control systems Manipulating industrial robots. generic immunity Standard IEC 204-1 IEC 529 Description Electrical equipment of industrial machines Degrees of protection provided by enclosures Standard ISO 10218 Description Manipulating industrial robots.General safety RDNU0006 Revision F .2 Safety standards applicable to IRC5 Safety standards The robot fully complies with the safety standards specified in the European machinery directives. generic emission EMC.2 Safety standards applicable to IRC5 1. safety Electrical equipment of industrial machines Description Safety requirements for industrial robots and robot systems Safety standard for robots and robot equipment Industrial robots and robot systems . coordinate systems and motions ISO 9787 Standard ANSI/RIA 15. technical specifications Safety of machinery. The ABB robots controlled by the IRC5 comply with the following standards: Standard EN ISO 12100-1 EN ISO 12100-2 EN 954-1 EN 775 EN 60204 EN 61000-6-4 (option) EN 61000-6-2 EMC.06/1999 ANSI/UL 1740-1998 (option) CAN/CSA Z 434-03 (option) 10 Description Safety of machinery. terminology Safety of machinery. safety Manipulating industrial robots.

and/or great damage to the product. for example.3 Safety terminology Overview This section describes the various types of warning which may be given during the operations described in this manual. impact. contact with high voltage electrical units. explosion or fire risk. possibly fatal. risk of poisonous gases. It applies to warnings that apply to danger with. for example. Warns that an accident may occur if the instructions are not followed. risk of crushing.1 Safety 1. The electrocution or electrical shock symbol indicates electrical hazards which could result in severe personal injury or death. fall from height etc. explosion or fire risk. fall from height etc. Electrical shock RDNU0006 Revision F 11 . that can lead to serious injury. risk of poisonous gases. Each warning is explained in its own section with: • A symbol for each hazard level (DANGER. contact with high voltage electrical units. It applies to warnings that apply to danger with. Symbol Designation Danger Danger Warning Warning Electrical shock Meaning Warns that an accident will occur if the instructions are not followed. Hazard levels The table below defines the hazard symbols used in this manual. WARNING or CAUTION) and the type of hazard • A brief description of the result of the hazard if the operator/service personnel does not eliminate the hazard • An instruction enabling the personnel to eliminate the hazard and perform the operation manually. impact. risk of crushing. resulting in a serious or fatal injury and/or severe damage to the product.3 Safety terminology 1.

hearing damage.1 Safety 1. it applies to warnings that include function requirements when fitting and removing equipment. tripping. It also applies to warnings of risks that include burns. fall from height etc. eye injury. impact. Caution Electrostatic discharges(ESD) Tip Note 12 RDNU0006 Revision F . Furthermore. that can result in injury and/or damage to the product. crushing or slipping. where to find additional information or how to perform a certain operation in an easier way. Tip Tip symbols direct you to specific instructions. where there is a risk of damaging the product or causing a breakdown.3 Safety terminology Caution Warns that an accident may occur if the instructions are not followed. skin injury. Electrostatic discharges (ESD) The electrostatic discharge (ESD) symbol indicates electrostatic hazards which could result in severe damage to the product. Note Note symbols alert you to important facts and conditions.

1 About the Welcome section Overview The Welcome section provides an overview of the PROMIA application software. This section describes the main Promia functions. in both the single and multi-robot configurations. as well as the concepts and terms which will be used in this document. RDNU0006 Revision F 13 .x versions of this application software are intended for the IRC5 robot systems. The 5.2 Welcome 2.1 About the Welcome section 2 Welcome 2.

The software applications derived from the common base include interfaces with different processes and/or different specific equipments.2 Welcome 2. It also manages the interface with the grippers and tools through « handling sequences ». Tooling Commands and Events Material Handling Functions PLC Gripper & Tool Block diagram of PROMIA application software The basic application software manages the interface with an industrial PLC in order to handle the part codes. also called "gripper actions" and « part detection monitoring » functions. Promia can be delivered as a Promia Arc application. Exchanges with a tooling control cabinet are managed by tooling commands and events.2 What is Promia? 2. and a PROMIA SRE application. and error reporting through monitoring functions. 14 RDNU0006 Revision F . In particular. orientated toward arc welding. synchronizations through commands and events. orientated toward Spot Welding on electrical welding guns. Main components of basic application software Promia Common Base Safety Functions Applicative Functions Management of Part Codes Commands – events Monitoring User Screens Tooling Control Cabinet Figure 1. The safety functions consist of a pre-configuration for acknowledgement of remote start requests.2 What is Promia? Promia Description The term "PROMIA" refers to the family of software applications organized around a “common base” which defines the interfacing principles with a PLC and the material handling functions.

2 What is Promia? The applicative functions are the management of the movements to the "safe" and "home" positions. the commands. RDNU0006 Revision F 15 . and the management of the service requests that are local to the robot controller. On the other hand. The user screens display the information relative to the application software functions. In a multi-robot environment. events and the handling interface are specific to each robot.2 Welcome 2. the management of the part codes and the error reporting are common and global for all the robots. These screens are detailed later in this document.

Promia becomes a customer final application once it has been customized by the integrator. not an end-user application.3 Integrator customizations 2.3 Integrator customizations Integrator tasks Promia is not directly operational in the form in which it is delivered and installed. Promia is a programming frame. 16 RDNU0006 Revision F .2 Welcome 2. The information required for customization is detailed in the Promia application software integration guides. it is their job to define the robot paths and adapt the Promia functions to the specific requirements of the user site.

or by a set of robots controlled by a single robot controller. The fourth case can be implemented by an “internal code” mechanism described below in the manual.4 Terms and concepts used in this manual 2. • A specific process equipment which requests a service operation (for example. for example).4 Terms and concepts used in this manual Overview This section describes the main concepts and terms used in this manual. 2.2 Welcome 2. It is also possible to terminate the robot programs outside this point. The first three cases are handled on a standard basis by Promia. To facilitate installation control and maintenance. The organization of the various robot programs then takes the form of a "daisy" with the home position at its center. the various paths begin and end by a fine point. and finally. through a pushbutton. • A service request. The robot controller can receive work requests from different components: • The PLC. this function is described in the Basic handling application software integration guides. followed by the terms related to the dialogue with the PLC. that sends part codes according to a pre-defined protocol. the terms related to the various processes.4. the various robot programs begin and end by a specific position referred to as "home" position. local to the robot controller. Each requested task is executed as a « robot program » which is itself divided into « paths ». RDNU0006 Revision F 17 . for instance. tip dressing for a welding gun or cleaning of a welding torch).1 Robot program and path principles Robot program and path principle The various production tasks to be performed by a robot. are selected in accordance with information coming from the robot(s) environment. Significant positions and sequencing of robot programs In principle. They also include an "anti-loop" mechanism to ensure that they are not executed as a loop without returning to the main robot program. The description starts with the general concepts related to execution of the robot paths and to the continuous monitoring performed by the application software. • An external device (selector. The new program codes are only taken into account on this point.

There are thus three specific paths: • T_MoveToHome. Sequencing of paths . RDNU0006 Revision F . which moves the robot from the safe position to the home position. This is also the starting point to get the cell ready for production and the final point reached at the end of production. « daisy » principle The other significant position is the "safe" position which is a maintenance position where technicians can perform maintenance operations on the robot and/or its gripper or tool.4 Terms and concepts used in this manual T_Service1 T_MoveToHome Traj1 Program n°1 Home Position Traj3 T_MoveToSafe ctT oS a fe Safe Position Traj2 Traj5 T_ Mo ve Dir e Traj4 Program n°2 Figure 2. and is executed at production startup 18 • T_MoveToSafe. which moves the robot back from the home position to the safe position.2 Welcome 2. and is executed at the end of production • T_MoveDirectToSafe. which moves the robot directly from its current position (anywhere) to the safe position.

• The robot does not resume the normal path. has placed the program pointer on an instruction different from the current instruction.4. or because the operator.2 Repositioning and recycling principles Description When a robot has been stopped during its execution. Figure 3. Debug menu Programmed position n+1 Progarmmed position n+2 Recycling Programmed position n Figure 4. after some manual jogging. RDNU0006 Revision F Position where the robot stopped Recycling without manual jogging 19 .4 Terms and concepts used in this manual 2. either because the operator. after possible physical repositioning toward the position where the stop took place. there are two different ways to resume the execution sequence: • The robot resumes its path.2 Welcome 2. the recovery procedure is referred to as “recycling”. is aiming directly at the next programmed position. using the Debug menu in the Program editor window. In both cases. This procedure is called "path regain" or “repositioning”.

2 Welcome 2. These are documented in the Operating Principles detailed in this User Manual. 20 RDNU0006 Revision F . Position where the robot stopped Programmed position n+2 Repositioning and recycling after manual jogging The behavior of the active outputs and monitoring functions will differ according to the procedure (repositioning or recycling) used when resuming work.4 Terms and concepts used in this manual Current position Recycling Jogging (1) Repositioning Programmed position n+1 Programmed position n Figure 5.

4 Tooling commands and events Description The synchronization with a tooling controller is made through digital inputs/outputs that are exchanged with the tooling controller and referred to as « tooling commands and events ».4. Tooling Commands Tool Control Cabinet Robot Controller Tooling Events Figure 7. The commands and events can be programmed on positions when creating or modifying paths. Commands and events 2. The commands are information signals sent by the robot to the environment.2 Welcome 2. The events are information signals expected by the robot from the environment. RDNU0006 Revision F Tooling commands and events 21 . The “tooling events” are information signals expected by the robot from the tool cabinet.4. Appropriate instructions enable them to be programmed either a fine point or on a fly-by point.4 Terms and concepts used in this manual 2. Commands Line or Cell PLC Robot Controller Events Figure 6. The tool commands and events can be programmed on positions when creating or modifying paths. Appropriate instructions enable them to be programmed either a fine point or on a fly-by point.3 Commands and events Description The synchronization with the cell environment is made through digital inputs/outputs that are exchanged with the PLC and referred to as « commands and events ». The « tooling commands » are information signals sent by the robot to the tool cabinet.

the handling sequences managed by the PLC can be controlled manually on the robot teach pendant when the robot is not executing any motion program. whether these are fixed or integrated in a gripper. Note: The handling sequences can also be used to control other components than the grippers.4 Terms and concepts used in this manual 2. the PLC manages the actuators and monitors the sensors. are made of monostable or bistable actuators. The two management modes can be used together (example: material handling managed by the PLC. 22 RDNU0006 Revision F . Execution of a “sequence” then incorporates both the control and check actions. It is also possible to initiate control actions on a fly-by point and perform the associated checks on the following fine point. Depending on the complexity of the site. If so defined by the integrator. the handling sequences and the part detection sensors can be managed either by the robot or by the PLC. or "Gripper actions". These signals are referred to as “Part detection” signals. correct operation of the sequence is verified by checking and monitoring the feedback inputs related to the programmed action. associated with sensors used to check their position. Programming in the robot paths is done through specific PLC commands and events. suction cups …) using digital inputs/outputs for which the programming is entirely open to the integrator. Each time a sequence is controlled. These sequences are typically programmed on fine points. The actions on these components are referred to as « Handling sequences ».5 Material handling management Overview The clamping components. These are used for example to manage the tip extractors and the tip dresser flaps operated by the Spot Welding process. Some sensors are also used to detect the part picked up in the gripper.2 Welcome 2. Material Handling managed by robot The handling functions of the basic application can process up to 16 sequences (pneumatic actuators. but tip dresser flaps managed by robot sequences).4. The management of the part sensors is in this mode entirely unknown from Promia. Material Handling managed by PLC In this configuration.

6 Debug mode Definition The debug mode is used to test the robot programs. the accessibilities and the movements of the cables.4 Terms and concepts used in this manual 2. when the installation is not yet complete. DEVERM. included in the table of exchanges with the PLC. If inhibited. the part detection functions are replaced by wait times. This mode is activated by a specific input. • if handling is managed by the robot. Reactivating the process is generally performed when the next program code is received. The transition from debug mode to real mode is immediate for the handling sequences and part detection functions. the handling sequence checks can be activated or inhibited in accordance with a specific configuration for each sequence.2 Welcome 2. In the mode: • the processes are inactive. The values of these times can be configured by the integrator. they are replaced by wait times. without a part. RDNU0006 Revision F 23 . This mode can be activated both in manual mode and in automatic mode and is used. The values of these times can be configured by the integrator. to verify the program structure. • if material handling is managed by the robot.4. among others.

4 Terms and concepts used in this manual 24 RDNU0006 Revision F .2 Welcome 2.

select "Restart" Select "Advanced…" RDNU0006 Revision F 25 . P-Start When a user module common to several tasks has been modified. 3. Reinstallation of the application software is described in the Promia integration guide. the application software must be reinitialized by a P-Start command.1 General information 3 Organization of application software 3. In the ABB menu.2 Loading the application software ABB supply The robot controller supplied by ABB contains the pre-installed Promia application software. the organization of the RAPID files and the organization of the memory.1 General information Section content This section describes the architecture of the application software.3 Organization of application software 3.

2 Loading the application software Tap P-Start and validate by OK Initiate by P-Start 26 RDNU0006 Revision F .3 Organization of application software 3.

Any change made to any of these 2 components will result in a new reference and a new Promia version. resulting in a specific Promia version. Software architecture The Promia delivery is divided into two distinct parts: • The Promia internal application software.3 Organization of application software 3. ensuring the functions described in this manual. The combination of RobotWare and PROMIA source code build up a reference. • A pre-configuration of the integrator modules. the software in the robot controller has the following architecture: Trajectories Integrator Process Modules Integrator Common Base Modules Promia Process Modules Promia Common Base Modules ProcessWare BaseWare ABB RobotWare PROMIA internal software (cannot be modified) PROMIA customization Figure 8.3 Software architecture Composition of the controller software Once the Promia application has been installed. RDNU0006 Revision F 27 .3 Software architecture 3. providing the necessary openings for integrator customizations and some examples of this customization. These modules cannot not be modified by the customer or the system integrator.

4 Organization of memory Task implementation Two tasks are implemented for each independent mechanical unit: • a foreground task. also called motion task. If we consider a system with 3 mechanical units (3 robots) with the first one using a process 1 and the 2nd and 3rd tasks using a process 2.3 Organization of application software 3. The non-modifiable modules of the common base of Promia are the same for each mechanical unit. which handles the continuous monitoring functions Each of these tasks contains specific modules and modules which are shared between the 2 tasks. The customizable modules of Promia are specific to each mechanical unit. The non-customizable process modules are only included in the tasks related to the mechanical units which use this process. which contains the movement programs • a background task. the configuration will be as follows: Mechanical Unit 1 Foreground Task Background Task Promia internal modules Foreground Common Base Foreground+ Background Common Base Background Common Base Foreground Process 1 Foreground+ Background Process 1 Background Process 1 Customized Modules for Mechanical Unit 1 28 Foreground Common Base Foreground+ Background Common Base Background Common Base Foreground Process 1 Foreground+ Background Process 1 Background Process 1 RDNU0006 Revision F .4 Organization of memory 3.

3 Organization of application software 3.4 Organization of memory Mechanical Unit 2 Foreground Task Background Task Promia internal modules Foreground Common Base Foreground+ Background Common Base Background Common Base Foreground Process 2 Foreground+ Background Process 2 Background Process 2 Customized Modules for Mechanical Unit 2 Foreground Common Base Foreground+ Background Common Base Background Common Base Foreground Process 2 Foreground+ Background Process 2 Background Process 2 Mechanical Unit 3 Foreground Task Background Task Promia internal modules Foreground Common Base Foreground+ Background Common Base Background Common Base Foreground Process 2 Foreground+ Background Process 2 Background Process 2 Customized Modules for Mechanical Unit 3 RDNU0006 Revision F Foreground Common Base Foreground+ Background Common Base Background Common Base Foreground Process 2 Foreground+ Background Process 2 Background Process 2 29 .

2.zzzz APPL-PROMIA50.xx Current robot System Backup home Site x Syspar Figure 9.5 Organization of RAPID files Organization on the FlashDisk The mass storage of a robot controller is a FlashDisk named hd0a. Organization on the flashdisk In a single robot system.yy.xxx directory containing the internal modules of Promia. one version of PROMIA and one robot system. and so on.5 Organization of RAPID files 3. These directories are then named Site1. for mechanical unit No. there is only one site sub-directory. The modifiable modules of Promia are installed in SiteX sub-directories of the current robot system.3 Organization of application software 3. Most often. called “Site”. 1. and the robot systems that have been created. hd0a/ RobotWare_x. Located in the root of the FlashDisk is the RobotWare directory corresponding to the RobotWare versions installed. the APPL-PROMIA50. In a multi-robot system. there is a site directory for each of the independent mechanical units. for mechanical unit No. Site2. the flashdisk only contains one version of RobotWare. 30 RDNU0006 Revision F .

definition of handling sequence control and monitoring functions. Also contains the definition of the safe and home positions PRG_MVT. PERSO_ARP.SYS CEL_CONF. loaded in foreground and background tasks MAN_CNFn. commands and events . part detection.SYS CEL_MENU.6 Contents of the Site directories The Site directories contain all the customizable modules of Promia for a given mechanical unit. loaded in foreground and background tasks PERSO_AVP. LOCALIZATION .3 Organization of application software 3.SYS RDNU0006 Revision F 31 their .SYS PERSO_AVn.SYS Definition of constants common to the cell .SYS Integrator customizations related to continuous monitoring.6.SYS Not really a customization module: Used to implement the English version of the application. 3. loaded in foreground task only.6 Contents of the Site directories 3. actions to be performed at end of movements to the home and safe positions.SYS Definition of screen container menus and operator panel buttons (see section 5 Man-Machine Interface). DEF_SITE.SYS Definition of the names used for sequences.SYS Definition of signals used for part detection . Note : This module only appears on the site directory related to mechanical unit 1 DEF_SITn.MOD PRG_MVn.SYS PERSO_ARn.SYS Integrator customization on system events.SYS LOCALIZATION . these names will be used in the PROMIA screens .SYS MAN_CONF.SYS Definition of paths and sequencing in programs. Their contents will vary according to the processes installed on the corresponding mechanical unit. loaded in foreground and background tasks CEL_MENU. loaded in background task only.1 Common base modules List of customizable modules Module name (single robot environment) Module name (multi-robot environment – mechanical unit ‘n’) Main purpose of module CEL_CONF.

3 Organization of application software 3.6 Contents of the Site directories 32 RDNU0006 Revision F .

1 General controls of the robot controller 4 Operating principles 4.1 General controls of the robot controller Available control devices FlexPendant Main switch Emergency Stop Motors On light & button Mode selector (Manual/Auto) Figure 10. Dedicated keys on the FlexPendant There are two groups of dedicated keys on the FlexPendant: a group of programmable buttons and a group of “Execution Control” buttons. RDNU0006 Revision F Dedicated keys on the FlexPendant 33 . a « Move to Safe » luminous push button can be provided.4 Operating principles 4. Robot system control devices Optionally. Programmables Keys Start Move backward Move Foreward Stop Figure 11.

• The right hand column is more dedicated to configuration and maintenance operations. Windows accessed from the ABB main menu are described in the IRC5 product documentation. ABB basic menu The main menu displays two columns: • The left hand column is aimed to programming and everyday operation.2 Main menu of FlexPendant 4.2 Main menu of FlexPendant Accessing the main menu The main menu of the FlexPendant is accessed by pressing the located at the top left corner of the FlexPendant. 34 RDNU0006 Revision F . button Contents of the main menu Figure 12.4 Operating principles 4.

T_POS2. the robot controller controls a single mechanical unit or a group of mechanical units that run simultaneously.4 Operating principles 4. by default. However. These must not be confused with the path names which also traditionally begin by « T_ ». There is only one foreground robot task containing the movement instructions for the robot. to coordinate and synchronize the movements of the different mechanical units. … T_ROBn for the robot arm type mechanical units and T_POS1. In a multi-robot environment. among others. Single robot and multi-robot system In a single robot environment. Software options are used. the principles described are also valid in a single-robot environment. T_POSn for the positioner type mechanical units. These tasks are. For compatibility purposes. there is a movement task for each independent mechanical unit. A multi-robot system enables one single robot controller to control several mechanical units independently. Some of the screen snapshot examples in this document are taken from a system with three robots controlled by the same robot controller.3 Considerations related to single and multi-robot environments Promia is an application software designed to operate in both single and multi-robot environments. the movement task. These movement tasks have a name which begins by « T_ ». RDNU0006 Revision F 35 . called T_ROB1. in a single robot environment.3 Considerations related to single and multi-robot environments 4. T_ROB2. is also called T_ROB1.

there is one tab for each foreground task. 36 Choice of program to be edited Production window in a single-robot environment RDNU0006 Revision F . compared to a single robot system are as follows: • There is a programming environment for each robot. the choice of the Program Editor window must be followed by the selection of the foreground task to be edited (this selection window does not appear in a single-robot environment) : Figure 13. Figure 14. • ABB In the menu. • The Production window displays several vertical tabs.3 Considerations related to single and multi-robot environments Specific features of basic MMI in a multi-robot environment The main changes in RobotWare man-machine interface.4 Operating principles 4.

4 Operating principles 4. Production window in a multi-robot environment During execution. RDNU0006 Revision F 37 . the program pointer is reliably refreshed in the production window.3 Considerations related to single and multi-robot environments Figure 15. This is not always the case in the Program Editor windows.

4 Running the program 4. 38 .4 Operating principles 4. Confirmation of PP to Main (single or multi-robot) • Press the FlexPendant enabling device to set "Motors On" on the robot(s) • Start execution by pressing the button. • Set the mode selector to "Manual" • In the menu. This command reinitializes the program pointers of all the foreground tasks and requests a confirmation : Figure 17. If the program pointer was previously reinitialized at the start of the program.4 Running the program Running the program in manual mode If at least one of the robots controlled by the robot controller is not at its safe or home position. it will be necessary to initiate program execution in manual mode. select the Production Window in the left part of the menu. • Program restarted at beginning (single or multi-robot) If this is not the case. the window displayed is as follows : ABB Figure 16. RDNU0006 Revision F . reinitialize the program using the PP to Main command.

if necessary. • Start execution by pressing the button.4 Operating principles 4. Confirmation of automatic mode • Press the Motors On pushbutton. the program can be initiated in automatic mode: • After having repositioned. • Set the mode selector to "Auto" • Acknowledge the warning message on the FlexPendant : Figure 18. the Motors On and start of execution can be initiated from the PLC. If the robot controller is connected to a PLC. . see next section. as above. The indicator light comes on steady. the program pointers to the start of the program. RDNU0006 Revision F 39 .4 Running the program Running program in automatic mode If all the robots are at the safe or home position.

the « Production Disabled » message is displayed in the « Production » screen of the application.5. the “ENPRO” input must be declared as inverted in the I/O signal parameters. and the way the corresponding PLC information are managed. this input informs the robot controller that it is in the "PRODUCTION ENABLED" mode. When it is reset. The robot terminates the ongoing movement program. Finally. according to the current mode. Once at the safe position.5 Production modes 4. The movement programs generated by the external code management system are executed. The production startup program (T_MoveToHome path) is automatically selected once the robot reaches the safe position. When the production disabled mode is detected by the robot (ENPRO input off). This will usually leave the robot at home position. 40 RDNU0006 Revision F . Behavior in «production disabled» mode Only the "move to safe" request is active. but does not read the external or internal program code which may be present on dedicated inputs. If the Production enabled /disabled feature is not used. The use of this function is optional and has to be defined in accordance with the needs of your site. move to safe. stop …) are active. This is followed by a detailed description the start of production and the end of production operations. start cycle (DDCY). Service request) are ignored. in the production stream. the robot controller reacts in a different way to remote commands and program codes sent by the PLC.5 Production modes This section starts with a description of the « production enabled » and « production disabled » modes. the robot is informed by the PLC if it is integrated. start cycle (DDCY). When set. In both modes. or not. Behavior in «production enabled» mode The local and remote commands (Motors On (DMSP). there is no automatic selection of the production startup program (T_MoveToHome path). 4. The remote commands (Motors On (DMSP). ENPRO. unless a "move to safe" request is issued. the robot controller handles the position synchronization information (commands and events) which link the robot to its environment. this section explains the way program codes are managed by the application.4 Operating principles 4.1 "Production enabled" and "Production disabled" modes Interface with the PLC and behavior of the robot controller Via a digital input. the robot controller has to be in the "PRODUCTION DISABLED" state. On the other hand.

4 Operating principles 4.3 Move to Safe and Move to Home commands Accessing the "Move to Safe" command The "Move to Safe" command is used. "production enabled" on the button) start command 4. to bring the robots to their safe positions by pressing • the « Move to Safe » pushbutton on the front panel of the robot cabinet. to request the end of production. when this button exists.5.5 Production modes 4.2 Active commands according to operation modes Summary of the active commands according to the different operation modes Command Manual mode Automatic mode. as a general rule. like any other program code.5 Operator panel screen) : The "Move to Safe" command can also be run through a specific program code which can be sent by the PLC. "production disabled" Motors On button on robot cabinet Inactive Active Active Enabling device on FlexPendant (motors on) Active Inactive Inactive Inactive Inactive Active Active Active Active Active Active Active Inactive Inactive Active the Remote Motors On request (DMSP) Stop command FlexPendant ( Start on Remote (DDCY) the button) command FlexPendant ( Automatic mode. RDNU0006 Revision F 41 . • the graphic button on the operator panel when this button does not physically exist (see 5.5.

using the production startup program and the T_MoveToHome path.4 Operating principles 4.5 Production modes Move to Safe at program startup When starting up programs. RDNU0006 Revision F . Depending on the hardware configuration. This movement to the safe position can be executed in automatic mode provided all the robots are either at their home or at their safe position. • If the robot is not at its safe position. the application software sends first all the robots to their safe positions in order to initiate production under known conditions. the "Move to Safe" phase is unnecessary and the robot waits there until the other robots have reached their own safe positions. after having chosen for example "PP to Main" in the production window. from the beginning. there are two possible situations: • If the robot is already at its safe position. Return to safe position prompt (single robot example) The operator has to order the movement to safe position (no other command is active). The production startup program is automatically selected once all the controlled robots are at their safe positions. There are here 2 possibilities: • 42 Either the robot is at its home position. he can use either the “Safe” pushbutton on the controller or the dedicated button on the “Operator Panel” screen. the movement to the safe position is performed by the T_MoveToSafe path routine. Behavior according to initial conditions Depending on the position of the robots when running programs from their main routine. in this case. a message on the « Production » screen of the application informs the operator that he must press the "Safe" pushbutton to initiate a movement to the safe position: Figure 19.

Figure 20. the indicator light flashes until all the controlled robots have reached their safe positions. If necessary. When the robot controller is equipped with a lighted "safe" pushbutton. This dialog must be acknowledged for each robot requiring a direct movement to its safe position. Figure 21. Switch to manual mode to initiate direct move to safe operation. Direct move to safe dialog to be acknowledged for robots 1 and 2. when this is done.4 Operating principles • 4.5 Operator panel screen) acts in the same way. The "safe" indicator light on the virtual operator panel (see 5. the application displays a direct "move to safe" dialog.5 Production modes The robot is not at its home position and not at its safe position (position is considered as unknown). RDNU0006 Revision F 43 . a message in the production screen will request the operator to switch to manual mode. The movement to the safe position will run the T_MoveDirectToSafe path and must then be performed in manual mode.

the production startup internal program is automatically selected and will run the T_MoveToHome path. At the end of this path. the application is ready to accept any kind of program code requests. Prompt: OK to Move to Home ? In a multi-robot system.5 Production modes Execution of production startup program When all the robots controlled by the robot controller have reached their safe positions. When an end of production is requested locally. all the T_MoveToHome paths are generally synchronized. or remotely. by the “Safe” program code sent by the PLC. a new action on the local safe button or on the dedicated screen button will cancel the end of production request. This command can be generated locally using the safe pushbutton (either physical or virtual). As long as all the robots have not completed their current work program. 44 RDNU0006 Revision F . it is stored. End of production The end of production is achieved by generating a Move to Safe command. Figure 22.4 Operating principles 4. The controlled robots complete their ongoing work program and will continue by running the T_MoveToSafe path routine. or a remote validation from the PLC (through DDCY). Execution of this program requires either an operator acknowledgement.

Reading of the program code can sometimes be inhibited. RDNU0006 Revision F 45 . This involves the following codes: • Move to safe commands. but does not allow any execution of new parts. The deactivation is used to terminate a part which may have presented a problem.5 Operator panel screen) acts in the same way. 4.4 Catching and priority of program codes Program code types The program codes management consists in selecting the work to be executed by the robot(s) in accordance with the state of the machine and the state of the robot environment. Though reset of the preceding external code may have been anticipated.5. If several work requests occur simultaneously. the indicator light flashes until all the robots have reached their safe position. or until the end of production request has been cancelled. generally a line or cell PLC which generates "an external code" information transmitted to the robot controller according to a predefined protocol. the external code is only read at this moment.5 Production modes When the robot controller is equipped with a lighted Safe pushbutton. • service routines requested by the process • « internal » codes managed by the robot program Catching of « program » codes The program codes are caught at the end of the preceding program. This selection can be made in two ways: • By an external system. The safe indicator light on the virtual operator panel (see 5.4 Operating principles 4. The process must therefore be reactivated in order to allow catching of new program codes. This is also the case when the process has been temporarily deactivated. the choice is made in accordance with the priority algorithm defined below. • By an internal function which generates the « program code » according to information related to the process or to external information related to the robot environment. This is the case when the system has gone into “production disabled” mode.

Fore more information on program code management. External codes.5 Production modes Program code priority The program codes are managed in accordance with the following priority levels (indicated in decreasing order of priority): (1) (2) (3) (4) Move to Safe command Internal codes Service requests. 46 RDNU0006 Revision F . refer to the PROMIA integration guide.4 Operating principles 4.

6 Principles relative to actions and checks attached to a position Actions attached to a point and actions in movement Unless explicitly specified. The PLC can however decide to generate a Stop via the robot controller inputs/outputs. We strongly discourage using these actions on fly-by points as the moment and the location when and where the action is actually performed are not predictable and may therefore not be repeatable. no Stop is generated. RDNU0006 Revision F 47 . a message is displayed on the TPU to inform the operator and the reason why the robot is waiting is also sent to the PLC. the movements of the involved robot are automatically stopped since execution of the program is blocked as long as the information is not present.4 Error messages. any moment the robot waits for a feedback signal on a programmed position.6 Principles relative to actions and checks attached to a position 4. In this case. the program resumes its normal sequence. If programming on a fly-by point proves necessary to satisfy cycle time requirements. Information about expected feedbacks and errors As a general rule. specific actions.4 Operating principles 4. as well as some synchronization parameters. most of the actions programmable on path using PROMIA are actions intended for programming on a fine point. By default. When the expected information appears. The list of error messages is given in section 5. These actions are built using the MoveJ and MoveL instructions and contain the parameters relative to the movement and the action to be performed. should be used. The list of corresponding codes sent to the PLC is given in the PROMIA integration guide. the error must be acknowledged on the PLC and program execution must be restarted from the PLC. synchronized with the movement.

When the information reappears.7 Continuous monitoring 4. for example). the robot is immediately stopped on its path and an error message.1 Dynamic monitoring Description of « dynamic monitoring » Some robot environment information items must be monitored continuously while the robot is operating. In the basic configuration supplied by ABB. !part detection CONST bool Active_ctl_evo:=FALSE. is indicated on the TPU and reported to the PLC. unless the PLC has forced a Stop and prompts for an error acknowledgement and a cycle start action to restart execution. !tooling events CONST bool Active_ctl_ev:=FALSE. Whenever a monitored information item is missing. • of the states of the controlled handling sequence sensors. the robot automatically resumes its movement. For each of the variables. !PLC events CONST bool Active_ctl_seq:=TRUE. the dynamic monitoring relative to part detection and the handling sequences are activated by default. This configuration is located in the robot Def_site module: !------------------------------------------! Flags d inhibition des contrôles dynamiques !------------------------------------------CONST bool Active_ctl_cpp:=TRUE.4 Operating principles 4. • of events. Each of these functions can be monitored separately. the states of the dynamic monitoring tasks take a default value configured by the integrator. This behavior may be disturbing for certain process phases and the dynamic monitoring functions can therefore be enabled or disabled by programming during execution of certain sections of a path. without any operator action. The state of the enabled monitoring tasks can be modified in the robot programs using the MonitorInputs instruction. sometimes time-delayed. Dynamic monitoring types This mechanism performs continuous monitoring (between path points): • of the states of the part detection sensors. 48 RDNU0006 Revision F .7 Continuous monitoring 4. When the production startup program is executed. This function is performed by the « dynamic monitoring » mechanism. TRUE means enabled by default. This information can involve the cell environment or the process (part detection or robot interlocking.7. !gripper actions The integrator can modify this configuration of the default states. The dynamic monitoring tasks related to the events are disabled. and FALSE means disabled by default.

There are three types of messages: • information « messages » • simple error messages. • the fault message with validation disappears and a screen requesting operator validation is displayed.3 Production. About the Man-Machine Interface relative to errors. execution of robot movements is blocked. and remains blocked as long as the message is displayed.7 Continuous monitoring 4. RDNU0006 Revision F 49 .2 Error management Monitoring of ongoing errors The application displays and erases messages during execution of the programs and paths.7. This blocked condition will only end when the message has been erased.4 Operating principles 4. • When a simple error message or an error requiring acknowledgement appears. and therefore after the end of the movement … which will never take place … A program sequence of this type will therefore lead to complete blockage of the robot. • Once the condition which has generated the error disappears : • the simple error message is erased and execution of the robot movement resumes without any operator action. • error messages requiring an operator acknowledgement. see 5. Be attentive to a program sequence of the following type: 1/ Display of an error message other than an information message 2/ Robot movement 3/ Erase the message The robot movement will be blocked since an error message is displayed. Robot behavior Display and erasure of these messages is monitored continuously: • The information messages have no effect on operation of the robot or the cell. Execution of the robot movement will only resume after the message has been validated.

the behavior is similar to the one during manual jogging: no check will block the repositioning operation and.1 Behavior during manual jogging Inhibition of the monitoring functions During a robot stop followed by a transition to manual mode. On the other hand. if any sequences are controlled. For the meaning of these terms.8 Behaviors in cases of exception 4. as defined by the integrator • The part detection information is reinitialized to the unknown (idle) state • The events are reinitialized to an unknown (idle) state • The sequences are monitored in accordance with their current control state (programmed or manually controlled). the monitoring tasks are reinitialized as follows: • The dynamic monitoring tasks return to their default state.8. If sequences are manually controlled.8 Behaviors in cases of exception The behavior of the application software will vary according to the complexity of the exception. At end of repositioning At the end of the regain operation. refer to 2. they are monitored. but only to display possible feedback errors in the dedicated handling sequence screen. the application software does not take any special action. manual jogging of the robot will never be blocked by any check made by the application (either the check is performed on position or from continuous monitoring). but only for the purpose of displaying possible errors. 50 RDNU0006 Revision F . such as a stop or an emergency stop. 4. On a simple exception.2 Repositioning and recycling principles. when restarting after manual jogging or modification of the program pointer. the behavior will be very different depending on how the work will be resumed: repositioning or recycling. 4.4. followed by a restart with no jogging or modification.2 Behavior in case of repositioning During repositioning While the robot regains its path.4 Operating principles 4. The sequences are monitored in accordance with the control state programmed in the paths.8. the dynamic monitoring tasks are restarted in the same condition as they were prior to the exception.3 Behavior in case of recycling Re-initialization of checks When recycling starts. The recycling movement is run at low speed.8. they are monitored. 4. and any active checks made on position are reinitiated.

Figure 23.1 General description of the screen container 5 Man-Machine Interface ABB The screens of the Promia application software are not initiated from the menu.1 General description of the screen container General aspect The container gives access to the application screens through a floating panel. Screen container and floating panel Floating panel The floating panel can be moved from top to bottom and from bottom to top to allow reading the screens which it covers with no interference. but from a tab in the task bar. The container starts up automatically at controller startup.5 Man-Machine Interface 5. 5. known as the Screen Container. located by default at the top right corner of the screen. RDNU0006 Revision F Floating panel control handle 51 . It comprises three elements: • The right hand part acts as a « handle » to move the floating panel : Figure 24. which is always visible.

Application software screen selection command bar The selection button aspect changes. is used to toggle between the current screen and the « Operator Panel » screen . displays a blue command bar used to select the screen of the application software to be displayed. the blue command bar disappears. 52 RDNU0006 Revision F . Selecting a screen When the screen selection button is pressed. using this button. if one is displayed): Figure 27.5 Man-Machine Interface 5. when the button is pressed again. Figure 25. to the left. • Application software screen selection button The lower button. to call up. Button used to toggle between current screen and Operator Panel screen. the Operator Panel screen which contains a virtual « button set » used to request "Move to Safe position" or for service requests: Figure 26. a blue command bar appears (over the current command. it is thus possible. to the left. at any time.1 General description of the screen container • The top button.

5 Man-Machine Interface 5. the information screens common to all the processes.2 Choice of "Common Features" screens The elements displayed in this blue command bar depend on the processes managed by the application software. where several processes are implemented. and to a simplified backup screen: Figure 28. and is referred to as the “Common Features”.2 Choice of "Common Features" screens 5. Selection of "Common Features" screens These screens are described in the following sub-sections of this section. especially in a multi-robot environment. The command bar always contains however a first item used to select the screens of the common base application. This menu has three sub-menus which gives access respectively to the production screen. RDNU0006 Revision F 53 .

.

5 Man-Machine Interface 5.3.3 Production screen The two areas of the production screen This screen contains a command bar and a display with two separate areas: • the upper half. displays the application software messages. displays the state of the current programs and paths.3 Production screen 5.1 Program area details The 12 fields of the program area Each line of the program area has two fields. The first line indicates the version of the application software installed and the processes controlled by the various robots of the cabinet. The two areas of the Production screen The command bar is used to control the display in the Messages area. 5. robot 1 is a handling robot and robots 2 and 3 are arc welding robots: The second line displays the external code present on the inputs of the robot controller. In the example below. Program area Messages area Command bar Figure 29. it is described in the corresponding section. called the Program area. • the lower half. "xCode" and the program codes currently accepted by the application software RDNU0006 Revision F 55 . called the Message area.

for robot 1. Example of snapshot message area Description of command bar The command bar contains 3 icons used to control the display in the Message area: • is used to display.2 Giving information about active path and active robot program. The two modes are controlled from the command bar of the production screen. The active display mode is indicated in the corresponding icon as a tick symbol: 56 • The icon indicates that the current display mode is the « snapshot » mode. • is used to display a history of error messages • is used in both modes to force refreshing of the messages. the names of the current programs and paths. in the Message Area. 5. see instructions DisplayProgram and DisplayPath in section 7. Lines 3 to 6 contain. and a direct move to Safe for robots 2 and 3.3. whatever their type is. This is the default mode. a snapshot of the messages. • the icon indicates that the current mode is the « history » mode. as defined by the integrator.. for each of the robots (4 maximum). performed from home position.2 Message area details The Message Area has two operating modes: a "snapshot" mode and a "history" mode.3 Production screen In the example above.5 Man-Machine Interface 5. Figure 30. RDNU0006 Revision F . no external code is present and the codes executed by the application are a normal "Move to Safe".

The Format of messages All the messages displayed have a common format: • an icon specifying the type of message • for an information message • for a simple error message • for an error message requiring validation • The time at which the message has appeared • The robot (movement task) at the source of the message • The text of the message itself. The movement tasks have a name which begins by « T_ ». button can be used to reverse the order of the messages.5 Man-Machine Interface 5.3 Production screen Figure 31. The messages are time-stamped and the order of appearance of the messages is preserved. This must not be confused with the path names which also traditionally begin by « T_ » RDNU0006 Revision F 57 . these texts. Example of history area messages Content of Message area The Message area contains an instant view or a history of the application software messages. their meaning and the actions to be performed are detailed in the next section.

A dialog comes up in the foreground of the screen container: The movements of the robot(s) only resume after this dialog has been acknowledged by the operator. 58 RDNU0006 Revision F .5 Man-Machine Interface 5.3 Production screen Validation of messages A message validation request is only displayed when the cause of the error has disappeared.

Check/Correction: Check external received. check for possible causes of robot movement inhibition on the PLC. if so. if not. If input is used. check the sensor and wiring.1 Common base application messages List of errors requiring a validation Type of message Wording Description Source/Cause: Air detection signal (CPAIR) went low. 5. code List of simple errors Type of message Wording Description Source/Cause: Robot information went low. cooler operating » Check/Correction : Check input di_ClimOk RDNU0006 Revision F 59 . Source/Cause: Program code received does not match any valid program number. TCS1: WAITING FOR MOVE ENABLE TCS2: NO COMMUNICATION WITH PLC TCS3: COOLING DEVICE ERROR movement enable Check/Correction: Check input signal AEVRB. TCV1: AIR CHECK ERROR TCV2: PROGRAM DOES NOT EXIST Check/Correction: Check if the air is effectively cut off. then according to their seriousness.4. check the compressed air circuit.4 Error messages 5. Source/Cause: PLC network failure Check/Correction : Check network link to the PLC Source/Cause : « air information went low. Check your program.5 Man-Machine Interface 5.4 Error messages The error messages are presented here according to their source (common base or process).

Check link with PLC (if parallel link).4 Error messages Type of message Text SQS1: GRIPPER FEEDBACK LOST : n Description Source/Cause: Dynamic check of sequences is active and at least one sensor for the specified sequence is not in its state expected Check/Correction: Check state of sensors and actuators for the specified sequence Source/Cause: Use of an undefined sequence (not defined in MAN_CONF module) SQS2: UNDEFINED GRIPPER ACTION: n CPS1: PART DETECTION LOST: n Check/Correction: Use another sequence or configure the corresponding actions and checks in MAN_CONF module Source/Cause: Dynamic monitoring of part detection sensors is active and the specified part detector is not in its expected state.5 Man-Machine Interface 5. On the PLC. check conditions which may cause the loss of this event. check conditions which may have caused this event not to be sent. On the PLC. Check/Correction: Check state of part detection sensors in corresponding Promia screen Source/Cause: Dynamic check of events is active and specified monitored event has disappeared. EVS1: PLC EVENT LOST : n Check/Correction: Check state of events in Promia screen. Source/Cause : Robot movement stopped since specified event is not present at the end of a MovePlcEvent instruction EVS2: NO PLC EVENT WHILE MOVING : n Check/Correction: Check state of events in corresponding Promia screen . 60 RDNU0006 Revision F . Check link with PLC (if parallel link).

4 Error messages List of information messages Type of message Text Description Source/Cause: All robot programs have been stopped TCM1: ALL ROBOT PROGRAMS STOPPED! Check/Correction: A Stop command. Check/Correction: Order the return to the safe position by dedicated pushbutton (physical or virtual) Source/Cause: Debug mode has been selected through "DEVERM" input signal. in ABB production window. if a Stop instruction has been programmed. Also check. TCM4: MODE DEBUG Check/Correction: None. (simple information) Possibly check interface with PLC. robot is not at its safe position. TCM6: WAITING FOR CYCLE CODE Check/Correction: None. TCM5: ERROR PARITY Check/Correction: Check interface with PLC. has been generated. local or remote. RDNU0006 Revision F 61 .5 Man-Machine Interface 5. (information message) Source/Cause: Odd parity check (CPCO signal) is not consistent with the external code group signal (odd number of bits being set). but the external code group signal is 0. Example of parity errors: code =1 and CPC0=1 + CVC1=1 code =3 and CPC0=0 + CVC1=1 Source/Cause: If external code is used: code reset has been correctly performed. TCM2: PLEASE PRESS SAFE PUSH BUTTON Source/Cause: After PP -> Main.

and transition to 1 of CVC_0 signal (pulsed) Check/Correction: Check interface with PLC. restart request is also generated by basic software) TCM14: WAITING FOR EVENTS TO SWITCH FROM Source/Cause: Message to be used at start of a part program when the executed path has to be selected according to two different events and none of them is received.5 Man-Machine Interface 5. Source/Cause: Robot motors are off. Check conditions preventing PLC from sending one of the two events. TCM15 : MOVING TO SAFE POSITION Check/Correction: None. code validation signal. TCM8: PLEASE SWITCH MOTORS ON Check/Correction: None. (information message) TCM9: PRODUCTION DISABLED Source/Cause: ENPRO signal is 0 (if function is used in application). Check/Correction: None. Check/Correction: None. (information message) Source/Cause: repositioning. TCM12: REGAIN REQUESTED PRESS START Transient message during Check/Correction: None. Source/Cause: Robot currently moving to its safe position. Check/Correction: Check interface with PLC. (information message) 62 RDNU0006 Revision F . odd parity signal. that is transition to 0 of code signal. (information message) TCM16: MOVING TO HOME POSITION Source/Cause: Robot currently moving from its safe position to its home position.4 Error messages Type of message Text TCM7: WAITING FOR CYCLE CODE RESET Description Source/Cause : Wait for cycle code reset. (simple information .

Check/Correction: Switch to manual mode. Check/Correction: None. (information message) TCM21: MOVE TO SAFE ONLY FROM HOME TCM22: SERVICE ROUTINE ONLY FROM HOME TCM23: SWITCH TO MANUAL MODE AND START Source/Cause: Move to safe request (during production) is rejected since all the robots are not at their home position. TCM20: RECYCLING SPEED<=250MM/S: Check/Correction: None. Check/Correction: Execute a program which ends at home position and repeat the Move to safe request. Source/Cause: Robot is not at its safe position.4 Error messages Type of message Text TCM18: RELEASE CYCLE START PB Description Source/Cause: Remote cycle start information (DDCY) still present when program resumes execution.5 Man-Machine Interface 5. press the enabling device and reinitiate execution by RDNU0006 Revision F button. Source/Cause: Service request rejected since all the robots are not at their home position. and not at its home position. Moving to the safe position will be a straight movement that can only be executed in manual mode. (information message) Source/Cause: Speed is limited since program is recycling. 63 . Check/Correction: Execute a program which ends at home position and repeat the service request.

Check/Correction: Check part detection sensors in the corresponding Promia screen. Check/Correction: None.5 Man-Machine Interface 5. Source/Cause: Specified expected event is not present (check on position).4 Error messages Type of message Text TCM24: RESTART IMPOSSIBLE => STOP/START Description Source/Cause: Robot is too far from the location where its movement has been stopped (by a dynamic check) Check/Correction: Stop execution by and restart by SQM1: WAITING FOR GRIPPER ACTION : n Source/Cause: Robot is waiting for gripper sensor signals to be in accordance with the programmed gripper command (check on position). but note that if this problem persists when reaching the safe position. 64 RDNU0006 Revision F . or after a start from a routine (pp->routine). Source/Cause: Specified part detection signal is different from what is expected (check on position). check conditions which may have caused this event not to be sent. Check/Correction : actuators SQM2: (INFO) GRIPPER FEEDBACK LOST : n CPM1: WAITING FOR PART DETECTION: n Check sensors and Source/Cause: Robot has lost a gripper sensor info during a direct move to safe position. this will become a blocking condition. events in Check link with PLC (if parallel link). EVM1: WAITING FOR PLC EVENT : n Check/Correction: Check corresponding Promia screen. On the PLC.

by default. it includes.5 Man-Machine Interface 5. a lighted “safe” pushbutton and 4“service” pushbuttons. The operator panel screen can be customized in accordance with the installed processes. Access This screen is accessed using the key at the bottom left of the floating panel of the screen container: Default content of screen RDNU0006 Revision F 65 .5 Operator panel screen This screen replaces a set of physical buttons and lamps. These 4 buttons are used to request the corresponding service routines.5 Operator panel screen 5.

5 Man-Machine Interface 5. • the menu area used to select the type of information to be displayed.1 General description of the information screen 5 parts of screen The Promia information screen is made of 5 parts: • tabs used to choose the mechanical unit for which the information will be displayed 66 • a title showing the title of the current screen • a line displaying additional information or the instructions to perform an operation. and then through the Common Features Menu: 5.6 Promia information screens 5. Access to common information These screens are accessed from the blue command bar which is called up by pressing the button at the top left of the floating panel of the screen container. • the page displaying the information. RDNU0006 Revision F .6.6 Promia information screens This set of screens supplies information related to the application functions that are common to all the processes.

screen selection Figure 32. only the contents of the page is changed to reflect the information related to the selected mechanical unit.5 Man-Machine Interface 5. Screens are selected from the « Menu » area. RDNU0006 Revision F 67 . The 5th screen displays the execution context and. The following two screens are related to dialogue with the PLC or with the tool control cabinet and respectively display the PLC or tool event and command states. the state of the active dynamic monitoring functions. information displayed Menu. The change of screen is performed from the « Menu » area. The change of mechanical unit using the « Tabs » area preserves the current type of information and therefore the current screen. especially. Persistence of type of information displayed Accessing from the “Common Features” screen selection menu always calls up the first screen (part detection). The first two screens are related to the handling functions and respectively display the part detection and sequence states.6 Promia information screens tab to select mechanical unit Screen title Additionnal information or instruction Page. Structure of Promia information screens Information displayed 5 different types of information can be displayed. Each type of information is displayed in a screen.

following re-initialization of the corresponding robot program.5 Man-Machine Interface 5. Under these conditions. The relevance of the display names is therefore strictly dependent on the customization defined by the integrator. By default. 5. Each part detection sensor is represented by its name and a pictogram indicating the compliance of its actual state with respect to its expected state. or after execution of a CheckPart instruction without any argument.2 Part detection screen Content of pages The part detection screen includes only one page displaying the expected state of the 8 part detection sensors available for a mechanical unit. only part detection sensor 1 name has been filled in. In the examples below.6 Promia information screens General remark concerning names displayed in these pages The names displayed in these pages are read from the DEF_SITn modules as entered by the integrator. If no name has been defined for a part detection sensor. the corresponding fields remain empty. These modules are supplied by ABB with default names which are not necessarily relevant for a given site. the part detection sensors are in an undefined state: their expected state is unknown and their actual state is not tested. 68 Part detection screen : undefined state RDNU0006 Revision F . no compliance information is displayed: Figure 33.6.

Part detection screen : correct state Example 2: Part detector 1 expected to be and actual state is incorrect Figure 35. Example 1: Part detector 1 expected to be 1 and actual state is correct Figure 34. RDNU0006 Revision F Part detection screen : wrong state 69 . A pictogram is displayed to the left of their names to indicate compliance (green colour) or non-compliance (red colour) of the actual signal compared with its expected state.5 Man-Machine Interface 5.6 Promia information screens When a CheckPart instruction is executed. the expected state of the part detection sensors involved by this instruction is known.

3 Sequence screen Content of pages The sequence screen includes two pages: • a page displaying the general state of the sequences and used to select a sequence. 70 Page showing general state of sequences Page showing detailed state of a sequence RDNU0006 Revision F . Figure 36.6. • A page displaying the detailed state of the selected sequence and used to control it. Figure 37.5 Man-Machine Interface 5.6 Promia information screens 5.

RDNU0006 Revision F General state of Sequences : undefined state 71 .6 Promia information screens General state of sequences Each sequence is represented by its name. no compliance information is displayed: Figure 38.5 Man-Machine Interface 5. its actual state (state currently controlled) and by a pictogram indicating compliance of its actual state with respect to its expected state. Under these conditions. By default. following re-initialization of the corresponding robot program (PStart). its programmed state (state requested by program during execution). the sequences are in an undefined state: their controlled state is unknown and the sensors are not monitored.

remain empty. but which are not used on the path. Sequence Screen : correct state Example2: Sequence 2 activated and monitored NOK: Figure 40. 72 Sequence Screen : feedback error RDNU0006 Revision F . Example1: Sequences 1 activated and monitored OK: Figure 39.5 Man-Machine Interface 5. Exec). the control state of the sequences which have been used in the program is displayed and monitored by the application software. The pictograms indicating the state of the sequences are refreshed. The « Programmed State » and « Actual state » fields of the defined sequences.6 Promia information screens Once the movement program is reinitialized (pp->Main.

if relevant.6 Promia information screens Details and control of sequences To select a sequence to be zoomed-in or controlled.5 Man-Machine Interface 5. manual control not enabled 73 . the operator simply « taps » two times on the corresponding line. The first tap shows the selected line highlighted: The second tap on the line opens the detail screen showing the state of the sensors related to the sequence and identifies. RDNU0006 Revision F Detail screen of sequences. Figure 41. the faulty sensor.

even if the enabling device is released. CAUTION: Controlling a sequence can have dangerous consequences on the environment: dropping the part. whether they are declared. These controls are greyed in (see figure above) when manual control of the sequence is not enabled (individual inhibition of this sequence. motors powered up. 74 RDNU0006 Revision F . enabling device pressed. The state of the sensors is refreshed in real time. Their wordings correspond to those entered in by the integrator for this sequence.5 Man-Machine Interface 5. its expected status and.6 Promia information screens For each sensor. automatic operating mode. for example). initiation of the movement of a large actuator (dressing flaps. make sure the operation is safe for personnel and equipment. Sequence detail screen. Note: In this screen. manual control enabled The current control state is indicated at the top right of the screen. program execution in progress. It also displays the control state of the actuators controlled by the selected sequence. as usable in the path. or not. no specific inhibition for this sequence). in real time. the control keys become active: Figure 42. You may. it is possible to manually control all the sequences defined. motors off or enabling device released). manual mode. The “Sequence details” screen includes a specific command bar used for manual control of the sequence: the first two selections are used respectively to activate and deactivate the sequence. When manual control of the sequence is possible (program stopped. its physical state. Before controlling the sequence. for instance. the screen displays its name. control a sequence trhat is managed by the PLC.

6 Promia information screens Select « Close » to return to the general sequence screen.5 Man-Machine Interface 5. Any possible inconsistency between the programmed state and the state actually controlled is displayed as a warning: RDNU0006 Revision F 75 .

6.4 PLC and Tool Event Screens Content of pages The events screen includes two pages respectively displaying the state of the 16 PLC events and the 16 tool events related to the selected mechanical unit. Only the screen title is different. 76 Events screen : Correct state RDNU0006 Revision F .5 Man-Machine Interface 5. Each event is represented by its number and its name: Figure 43. The choice between « PLC events » and « tool events » is made in the « Events » sub-menu: The two pages are similar.6 Promia information screens 5.

either in a path action. RDNU0006 Revision F 77 . event 1 is expected but missing.5 Man-Machine Interface 5. Events screen : error state In the example above. are indicated by an error pictogram: Figure 44.6 Promia information screens Only the events which are expected and not present. or in the dynamic monitoring.

5 Man-Machine Interface 5.6. The two pages are similar. its name and a LED when the command is set: Figure 45. Each command is represented by its number.6 Promia information screens 5. Only the screen title is different. 78 PLC Command Screen RDNU0006 Revision F . The choice between « PLC commands » and « tool commands » is made in the « Commands » sub-menu.5 PLC and Tool Command Screens Content of pages The Commands screen includes two pages respectively displaying the states of the 16 PLC commands and the 16 tool commands related to the selected mechanical unit.

Note: These screens do not allow any access path modification.7 Backup screen This screen is used to perform a simplified backup of the complete application. accessible from the ABB menu. which is displayed by pressing the button at the top left of the floating panel of the screen container .7 Backup screen 5. USB port and network. Access This screen is accessed from the blue command bar. and then through the Common Features Menu: RDNU0006 Revision F 79 . he must use the standard backup procedure. Caution: EACH NEW BACKUP ON A MEDIA OVERRIDES THE PREVIOUS BACKUP MADE ON THIS MEDIA. The backup is identical to the one performed in the standard ABB screen. If the operator wishes to perform a backup out of the predefined paths.5 Man-Machine Interface 5. but the backup paths are predefined by the integrator for 3 types of media: flashdisk.

followed by current date. the button in the corresponding screen is greyed in and disabled. RDNU0006 Revision F . « Simplified Backup » screen. a reminder of the path of the directory on which the backup will be performed.1 General description of screen 4 parts of the screen This screen includes a menu bar used to select the media on which the backup will be performed.5 Man-Machine Interface 5. the application software creates backups in the default directories for the FlashDisk (directory: REST_ABB) and the USB key (BACKUP_. and an action button to initiate the backup operation. If the path for backup on a remote computer is not defined. for example Backup_2007_04_06). If not customized by the integrator.7 Backup screen 5.7. The 3 pictograms on the command bar are used respectively to select the FlashDisk. the USB port or a remote computer. a reminder of the action to be performed. Figure 46. ( 80 ).

5 Man-Machine Interface 5.7 Backup screen Summary: Pictogram RDNU0006 Revision F Media Default directory FlashDisk /hd0a/systemName/REST_ABB USB /bd0/Backup_CurrentDate Network None Corresponding button 81 .

.

• Move to the line to be edited. The specific instructions of the application software can be chosen directly for insertion in the paths. then the routine to be edited. • In the • In a multi-robot environment.1 General information The paths are edited using the "Program Editor" window. select ‘Debug’. as a standard practice. RDNU0006 Revision F Debug Menu of the Production Window 83 . It is also possible to edit the program line currently executed from the Production window. then ‘Edit Program’: Figure 47.6 Editing paths 6. General procedure ABB menu. Each path is a routine the name of which begins.1 General information 6 Editing paths 6. select the foreground task to be edited. In this case. select the "Program Editor" window. by the characters ‘T_’. The standard program editing commands are available. • Select the module.

T_ROB1. The « PROMIA » list contains the actions which are common to all the processes. PRG_MVT). Note: When opening the program editor.6 Editing paths 6. The « PROCESS » list gives access to the actions specific to the process. The movement tasks have a name which begins by « T_ ». a button is displayed in the task bar with the name of the movement task and the name of the module currently being edited (here.2 Insertion of a specific instruction of the application Access to specific instructions The specific instructions of the application are located in the Most Common list 1 and 2 of the instruction panel that appears when using the ‘Add Instruction’ menu. Do not confuse this with the paths names which also traditionally begin by « T_ » 84 RDNU0006 Revision F .2 Insertion of a specific instruction of the application 6.

also called « common base » actions are displayed on 2 pages: RDNU0006 Revision F 85 .3 Inserting a « Common base » instruction The actions common to all the processes.6 Editing paths 6.3 Inserting a « Common base » instruction 6.

.

1 Programming anti-loop functions Principles of anti-loop management This function is used to prevent looped execution of a work path routine. the PreventLoop instruction has no effect. a message: "Beware: Starting Trajectory" is displayed and the application software prompts the operator to validate or abort execution. "EnablePath" and “PreventLoop”.7 Actions on paths common to all processes 7. a message "LOOP ON PATH FORBIDDEN IN AUTO MODE!" is displayed. see Figure 3 Debug menu). in automatic mode. after having set the execution cursor on the first line of this routine (Menu: Debug Move PP to Routine of the Program Editor window. the program is restarted from the « main » routine. These dialogs are displayed in the operator window: Figure 48. • If the sequence is executed in manual mode. After the message has been acknowledged. If the operator chooses to abort. • Otherwise • If the routine is executed in automatic mode. operation is as follows: • If an EnablePath instruction has been executed previously. the program is restarted from the « main » routine. If the message is validated. the path is executed.1 Programming anti-loop functions 7 Actions on paths common to all processes 7. RDNU0006 Revision F Acknowledgement of anti-loop message 87 . This is achieved using two instructions. During execution of the PreventLoop instruction.

… ENDPROC Figure 49.ACQ_CODE1. EnablePath. Traj1. ! pulse code acknowledge signal PulseDO\PLength:=1. …. Calling a path Programming an « EnablePath » instruction Syntax: EnablePath No parameter Programming a « PreventLoop” instruction Syntax: PreventLoop No parameter 88 RDNU0006 Revision F .7 Actions on paths common to all processes 7.1 Programming anti-loop functions Example of path call: PROC Programme( num prog) TEST prog CASE 1: DisplayProgram prog. PreventLoop. MoveJ *. MoveL *. … …."Prog 1". Example of path: PROC Traj1() DisplayPath "Traj 1".

2 Giving information about active path and active robot program How to display current program and path In order to display the names of the current robot programs and paths. Example: see Figure 49: Calling a path. The current path name is typically given through a DisplayPath instruction at the beginning of the routine dedicated to this path.7 Actions on paths common to all processes 7. this information must be given at the right moment.2 Giving information about active path and active robot program 7. The current robot program name is typically given using the DisplayProgram instruction in the corresponding “CASE” to the Programme routine. Programming a "DisplayPath" instruction Syntax: DisplayPath pathName Mandatory parameter Name : Meaning : pathName Name of path currently being executed Programming a "DisplayProgram" instruction Syntax: DisplayProgram programNumber programName Mandatory parameters RDNU0006 Revision F Name : Meaning : programNumber Number of the robot program currently being executed programName Name of the robot program currently being executed 89 .

• The commands are programmed by blocks of 16. in seconds \O1 . RDNU0006 Revision F .. The commands not programmed in one instruction are reset. If this argument is used.. Generation of the commands may be delayed by using an optional argument \Delay.3 Programming PLC commands Command management principles PLC commands are information signals sent by the robot to its environment (via a PLC). in case of recycling. Example: SendPlc \O1. Programming a SendPlc instruction Syntax: SendPlc [\Delay][\O1][\O2][\O3][\O4][\O5][\O6][\O7][\O8] [\O9][\O10][\O11][\O12][\O13][\O14][\O15][\O16] Optional parameters: 90 Name : Meaning : \Delay Command generation delay. when a movement program is aborted or after having moved the robot to its safe position. You must the re-program on an instruction all the commands previously set that you want to remain set.3. The PLC commands are only sent during program execution. \O16 Specifies that the corresponding command (1 to 16) must be set. They are generated when a SendPlc action is programmed on a fine point or a MoveSendPlc instruction is programmed on a fly-by point: • The commands are reset during path teaching. generation of all the programmed commands is delayed. This parameter defines the value of the delay in seconds.3 Programming PLC commands 7.1 SendPlc instruction Purpose and operation This path instruction entitles you to send up to 16 PLC commands on the same position.7 Actions on paths common to all processes 7. This logic information can be programmed on positions when creating or modifying paths. 7.

*\O1. This instruction is used to generate commands in the fly-by area.2 MoveSendPlc instruction Purpose and generation Generation of commands can also be programmed using the MoveSendPlc movement instruction. the movement is a joint movement) \Id Synchronization identifier for use in synchronous movement \O1 .3 Programming PLC commands 7. The position is stored when creating the instruction and can subsequently be modified using the “Modify Position” command of the program editing window.7 Actions on paths common to all processes 7.. RDNU0006 Revision F 91 .wobj0. (by default. Example: MoveSendPlc \L. Programming a MoveSendPlc instruction Syntax: MoveSendPlc [\L] ToPoint [\Id] [\O1][\O2][\O3][\O4][\O5][\O6] [\O7][\O8][\O9][\O10][\O11][\O12][\O13][\O14] [\O15][\O16] speed zone tool wobj Mandatory parameters : Name : Meaning : ToPoint Position.z20.3.v1000.. target of the movement. but cannot be used to delay generation of the commands. \O16 Specifies that the corresponding command (1 to 16) must be set. where the programmed commands will be sent speed Programmed speed for the movement zone Definition of fly-by zone tool Reference of tool used for movement wobj Reference of object used for movement Optional parameters : Name : \L Meaning : Defines the type of the movement as linear.tool0.

\E16 Specifies that the corresponding event (1 to 16) is expected to be set. 7. This logic information can be programmed on positions when creating or modifying paths.4 Programming events Event management principles Events are information expected by the robot from its environment.. Example: PlcEvent \E1. the dynamic monitoring on the events is inactive. To check that previously received events are still present. you must program them again in further instructions. They are expected as soon as a PlcEvent action is programmed on a fine point. • By default.4. the last expected programmed state is the one which is dynamically monitored.1 PlcEvent instruction Purpose and operation This path instruction entitles you to wait for up to 16 PLC events on the same position. RDNU0006 Revision F . • Cancelling a movement program aborts the wait for programmed events. • The events can be monitored dynamically. The events are only expected during program execution. Programming a PlcEvent instruction Syntax: PlcEvent [\E1][\E2][\E3][\E4][\E5][\E6][\E7][\E8] [\E9][\E10][\E11][\E12][\E13][\E14][\E15][\E16] Optional parameters : 92 Name : Meaning : \E1 .4 Programming events 7.. • Only the events programmed in one instruction are expected. In this case. or a MovePlcEvent instruction is programmed on a fly-by point: • The events are not expected during path teaching.7 Actions on paths common to all processes 7.

it stops on its path while waiting for the programmed events to be set.2 MovePlcEvent instruction Purpose and operation The test of events can also be programmed in the fly-by point area using the MovePlcEvent movement instruction. target of the movement.. Programming a MovePlcEvent instruction Syntax : MovePlcEvent [\L] ToPoint [\E1][\E2][\E3][\E4][\E5][\E6][\E7] [\E8][\E9][\E10][\E11][\E12][\E13][\E14][\E15] [\E16] speed zone tool wobj Mandatory parameters : Name : Meaning : ToPoint Position.tool0. \E16 Specifies that the corresponding event (1 to 16) is expected to be set.v1000. and where events test will be performed speed Programmed speed for the movement zone Definition of fly-by zone tool Reference of tool used for movement wobj Reference of object used for movement Optional parameters : Name : \L Meaning : Defines the type of the movement as linear. The position is stored when creating the instruction and can subsequently be modified using the “Modify Position” command of the program editing window. the robot continues its path normally..4 Programming events 7. RDNU0006 Revision F 93 .wobj0. otherwise.4.*\E1. Example: MovePlcEvent \L. the movement is a joint movement) \E1 . (by default.z20.7 Actions on paths common to all processes 7. If the tested events are present at the end of the movement.

Generation of the commands can be delayed using the optional \Delay argument. You must the re-program on an instruction all the commands previously set that you want to remain set. RDNU0006 Revision F . These commands are generated when a SendTooling action is programmed on a fine point or when a MoveSendTooling instruction is programmed on a fly-by point: • The tool commands are reset during path teaching. 7. generation of all the programmed commands is delayed... This logic information can be programmed on positions when creating or modifying paths. The tool commands are only set during program execution. when a movement program is aborted or after having moved the robot to its safe position. This parameter defines the value of the delay in seconds. • The tool commands are programmed by blocks of 16.5 Programming tool commands 7. Example: SendTooling\O1.1 SendTooling instruction Purpose and operation This path instruction entitles you to send up to 16 tool commands on the same position. The tool commands not programmed in one instruction are reset.5. \O16 Specifies that the corresponding command (1 to 16) must be set. If this argument is used. Note: Tool commands can also be used as an extension of the PLC commands.7 Actions on paths common to all processes 7.5 Programming tool commands Tool command management principles The tool commands are information signals sent by the robot to a tooling control cabinet. Programming a SendTooling instruction Syntax: SendTooling [\O1][\O2][\O3][\O4][\O5][\O6][\O7][\O8] [\O9][\O10][\O11][\O12][\O13][\O14][\O15][\O16] Optional parameters: 94 Name : Meaning : \Delay Command generation delay in seconds \O1 . in case of recycling.

RDNU0006 Revision F 95 . but cannot be used to delay generation of the commands.7 Actions on paths common to all processes 7.5 Programming tool commands 7. the movement is a joint movement) \Id Synchronization identifier for use in synchronous movement \O1 .5.tool0. The position is stored when creating the instruction and can subsequently be modified using the “Modify Position” command of the program editing window.v1000. (by default.. where the programmed commands will be sent speed Programmed speed for the movement zone Definition of fly-by zone tool Reference of tool used for movement wobj Reference of object used for movement Optional parameters : Name : \L Meaning : Defines the type of the movement as linear.. Programming a MoveSendTooling instruction Syntax: MoveSendTooling [\L][\Id] ToPoint [\O1][\O2][\O3][\O4][\O5][\O6] [\O7][\O8][\O9][\O10][\O11][\O12][\O13][\O14] [\O15][\O16] speed zone tool wobj Mandatory parameters: Name : Meaning : ToPoint Position. target of the movement.2 MoveSendTooling instruction Purpose and operation Generation of the tool commands can also be programmed using the MoveSendTooling instruction. This instruction is used to generate tool commands in the fly-by point zone. Example: MoveSendTooling \L.wobj0.*\O1.z20. \O16 Specifies that the corresponding command (1 to 16) must be set.

Programming a ToolingEvent instruction Syntax: ToolingEvent [\E1][\E2][\E3][\E4][\E5][\E6][\E7][\E8] [\E9][\E10][\E11][\E12][\E13][\E14][\E15][\E16] Optional parameters : 96 Name : Meaning : \E1 .. RDNU0006 Revision F . • Only the events programmed in one instruction are expected. or when a MoveToolingEvent instruction is programmed on a fly-by point : • The tool events are not expected during path teaching. 7. \E16 Specifies that the corresponding event (1 to 16) is expected to be set. the dynamic monitoring on the events is inactive. Note: The tool events can also be used as an extension to the PLC events. The tool events are only expected during program execution. you must program them again in further instructions. Example: ToolingEvent\E1.6 Programming tool events 7. • By default.1 ToolingEvent instruction Purpose and operation This path instruction entitles you to wait for up to 16 tool events on the same position.6 Programming tool events Tool event management principles The tool events are information signals expected by the robot and generated by a tool control cabinet. To check that previously received events are still present..7 Actions on paths common to all processes 7. • Cancelling a movement program aborts the wait for programmed events. These events are expected as soon as a ToolingEvent action is programmed on a fine point. In this case.6. the last expected programmed state is the one which is dynamically monitored. This logic information can be programmed on positions when creating or modifying paths. • The events can be monitored dynamically.

If the tested events are present at the end of the movement. \E16 Specifies that the corresponding event (1 to 16) is expected to be set. target of the movement. RDNU0006 Revision F 97 . the movement is a joint movement) \E1 . and where events test will be performed speed Programmed speed for the movement zone Definition of fly-by zone tool Reference of tool used for movement wobj Reference of object used for movement Optional parameters : Name : \L Meaning : Defines the type of the movement as linear. it stops on its path while waiting for the programmed events to be set.6 Programming tool events 7. the robot continues its path normally..2 MoveToolingEvent instruction Purpose and operation The tool events test can also be programmed in the fly-by point zone using the MoveToolingEvent movement instruction..7 Actions on paths common to all processes 7.6.wobj0. Programming a MoveToolingEvent instruction Syntax: MoveToolingEvent [\L] ToPoint [\E1][\E2][\E3][\E4][\E5][\E6][\E7] [\E8][\E9][\E10][\E11][\E12][\E13][\E14][\E15] [\E16] speed zone tool wobj Mandatory parameters: Name : Meaning : ToPoint Position. Example: MoveToolingEvent\L.v1000.z20. otherwise. (by default. The position is stored when creating the instruction and can subsequently be modified using the “Modify Position” command of the program editing window.*\E1.tool0.

• The sequences are then dynamically monitored during movements between points. GripperAction. the robot stops in the event of a faulty check and the message « GRIPPER FEEDBACK LOST: n » is displayed in the « Production » screen of the application. The signals used to control and monitor the sequences are defined by the integrator. When the action is completed. If dynamic monitoring of the sequences is active. Control of the sequence without checking can be programmed indifferently on fly-by points or on fine points. By default. a sequence can be checked without controlling it. However. or controlled without checking it. the sequences are monitored with respect to the state currently controlled. RDNU0006 Revision F . the message is cleared and the robot resumes its sequence without any operator action. 98 • When the feedback signals associated to sequences are checked on a point.7 Programming handling sequences Handling sequence management principles The handling sequences have two states: « activated » and « deactivated ». The other modes require the use of fine points. If the feedback signals for sequence "n" are not in the expected state. • If recycling is performed. This dynamic monitoring can be deactivated. When the feedback signals return to their expected state. with dynamic monitoring of the sequences active. a message « WAITING FOR GRIPPER ACTION: n » is displayed in the « Production » screen of the application.7 Actions on paths common to all processes 7. the program cannot be restarted in its current path as long as all the sequences are not correct with respect to their programmed state. They are controlled (actuator signals are set or reset) and monitored (feedback signals are checked) according to their desired state. sequences are controlled and monitored in the same instruction. if dynamic monitoring of the sequences is active.7 Programming handling sequences 7. • At the end of a regain to path (repositioning) operation. the message is cleared and the robot resumes its sequence without any operator action. after a delay intended to mask the technical time for movement of the actuators. the robot does not leave the point as long as the check is not satisfying.

Without an optional argument. In this case. this instruction can be used to reinitialize the state of the programmed sequences (to be used.7 Actions on paths common to all processes 7. It is necessary to repeat the control states of the previously controlled sequences in order to continue to control them if so desired. the GripperAction instruction can be used on a fly-by point. when dropping the tool if a tool changer is used). Programming a GripperAction instruction Syntax: GripperAction [\S1_A][\S1_D][\S2_A][\S2_D][\S3_A][\S3_D] [\S4_A][\S4_D][\S5_A][\S5_D][\S6_A][\S6_D] [\S7_A][\S7_D][\S8_A][\S8_D][\S9_A][\S9_D] [\S10_A][\S10_D][\S11_A][\S1_D][\S12_A][\S12_D] [\S13_A][\S13_D][\S14_A][\S14_D][\S15_A][\S15_D] [\S16_A][\S16_D][\Nocheck][\CheckOnly] Optional parameters : RDNU0006 Revision F Name : Meaning : \S1_A à \S16_A Controls sequence 1 to 16 to its « activated » state \S1_D à \S16_D Controls sequence 1 to 16 to its « deactivated » state \Nocheck Indicates that the sequences specified in the instruction are controlled but not checked. The optional argument \NoCheck is used to control the sequences without checking them.1 GripperAction instruction Purpose and operation This instruction is used to control and check. for example. in the « activated » state or in the « deactivated» state. 99 .7. of sequences 1 to 16: • • • \S1_A or \S1_D … \S16_A or \S16_D The optional argument \CheckOnly is used to check the sequences without controlling them. The instruction includes optional arguments used respectively to initiate control. \CheckOnly Indicates that the sequences specified in the instruction are checked but not controlled. on the same position.7 Programming handling sequences 7. Example: GripperAction\S1_A. up to 16 sequences.

set or reset. the message is cleared and the involved robot resumes its sequence with no operator action. This programming is only performed on a fine point. • ignore the state of the corresponding input. • When monitoring the part detection functions on a point. The “n” represents the number of the faulty part detection function. These signals are monitored with respect to their expected state: idle. dynamic monitoring of the part detection function is active and the state of the expected inputs is monitored continuously. is displayed on the « Production » screen of the application. if dynamic monitoring of the part detection functions is active. 7. to reposition the expected states of all the part detection functions to the idle state and thus inhibit monitoring of these states.8 Programming part detection functions Part detection management principle The application software manages up to 8 part detection functions using logic inputs. • Between points. it is however possible. The expected states of all the part detection functions are placed in the idle state on program start up from its ‘Main’ routine. They are then positioned in accordance with the path programs. if a signal does not correspond to the expected state. RDNU0006 Revision F . When the signal takes the expected value. at any time. Once the error has been fixed. For each part detection function. • By default.8 Programming part detection functions 7. a message " WAITING FOR PART DETECTION: n ". the states of all the part detection functions are positioned to the idle state. if there is loss of a part detection indication and if the function dynamically monitored. • At the end of a repositioning operation. • If recycling is performed.8. 100 • wait for the corresponding input to be reset. the programming is used to either: • wait for the corresponding input to be set. The choice of name and assignment of the inputs managing the part detection functions is left to the integrator’s discretion.7 Actions on paths common to all processes 7. the robot resumes its sequence without any operator action.1 CheckPart instruction Purpose and operation This instruction is used to program the expected state for the 8 part detection signals and to wait for the signals to match the expected states. the program cannot be restarted on its current path as long as the part detection signals do not match the programmed state. the robot stops and the message " PART DETECTION LOST: n " is displayed in the message area of the « Production » screen of the application.

as optional arguments.8 Programming part detection functions If at least one input is expected to be set or reset. This instruction specifies. If all the states are idle. This means that when the expected state of a part detection sensor is modified. the CheckPart instruction must be programmed on a fine point. the argument \DET1_0 indicates that the part detection sensor 1 expected to be reset (0). Example: CheckPart \CPP1_1. Use of the instruction without optional argument thus results in inhibiting dynamic monitoring of the part detection sensors. Programming a CheckPart instruction Syntax: CheckPart [\DET1_1][\DET1_0][\DET2_1][\DET2_0] [\DET3_1][\DET3_0][\DET4_1][\DET4_0] [\DET5_1][\DET5_0][\DET6_1][\DET6_0] [\DET7_1][\DET7_0][\DET8_1][\DET8_0] Optional parameters : Name : Meaning : \DETx_1 Part detection input x expected to be 1 \DETx_0 Part detection input x expected to be 0 The application software does not monitor the state of the part detection sensors not specified in the instruction. the instruction can be programmed on a fly-by point.7 Actions on paths common to all processes 7. The expected state is “idle” for the part detection sensors not specified in the instruction. and so on for the 8 part detection sensors. the programming for the other part detection sensors must be repeated in order to continue to monitor them if so desired. The argument \DET1_1 indicates that the part detection sensor 1 is expected to be set (1). RDNU0006 Revision F 101 . the part detection functions to be checked and their expected state.

see 4. Dynamic monitoring). the Part detection signals. \PLC and \TOOLING respectively activate dynamic monitoring of the handling sequences.7. Each of the dynamic monitoring functions can be enabled or disabled at any moment using the instruction MonitorInputs.1 Dynamic monitoring. When using this type of argument. 7. the monitoring functions that are not sepcified are inhibited. For more information.7. the PLC events and the tool events.1 MonitorInputs instruction Purpose and operation This instruction is used to define the active (enabled) dynamic monitoring functions. 102 monotoring of the handling RDNU0006 Revision F .1. \PART.9 Programming the dynamic monitoring functions Dynamic monitoring management principle This function ensures continuous (between points) monitoring of the states of the signals corresponding to the part detection sensors. • Use of argument \BY_DEFAULT activates the default monitoring functions defined by the integrator (see 4. Example: ! activates only dynamic ! sequences MonitorInputs \GRIPPER. the handling sequences and the events. Two optional argument families can be used: two exclusive general arguments and 3 basic arguments whose effects are cumulative: • Use of the instruction without argument or with argument \NONE inhibits all the dynamic monitoring functions.7 Actions on paths common to all processes 7. • Arguments \GRIPPER.9.9 Programming the dynamic monitoring functions 7.

7 Actions on paths common to all processes
7.9 Programming the dynamic monitoring functions
Programming a MonitorInputs instruction
Syntax:
MonitorInputs
[\NONE] [\BY_DEFAULT]
[\GRIPPER] [\PART] [\PLC] [\TOOLING]
Optional parameters:

RDNU0006 Revision F

Name :

Meaning :

\NONE

Disables all dynamic monitoring functions ; this is the default
option (when instruction is used without argument)

\BY_DEFAULT

Enables default monitoring functions as defined by the
integrator

\GRIPPER

Enables dynamic monitoring of handling sequences

\PART

Enables dynamic monitoring of part detection sensors

\PLC

Enables dynamic monitoring of PLC events

\TOOLING

Enables dynamic monitoring of tool events

103

8 Service programs
8.1 General information

8 Service programs
8.1

General information

The Promia application software manages 4 service programs, each of which can result from a request internal
to the process (example: spot welding), a service frequency (example: arc welding), or a request generated by
an external signal (pushbutton …).
Service request management principle
A « service request 1 » is thus understood, whatever its source, as a service request
prompting execution of service program 1. The same applies for a “service request
2” and so on.
At a given moment, several service requests may be active. The 4 service requests
are managed in accordance with a specific priority:
Service request 1 priority > Service request 2 priority > Service request 3 priority
> Service request 4 priority

RDNU0006 Revision F

105

1 General information 106 RDNU0006 Revision F .8 Service programs 8.

..33 H Handling sequences Definition................................................................ 92 Promia window ........................................... 50 Definition .................................. 38 Program code Program code priority........................................................................................... 21 Programming ............................................................................................................................. 21 Programming ....48 E Errors and messages Displaying ............................. 42 Safe and home requests ............................................................................ 18 Startup Execution of start program ...1 Index 9 Index and appendices 9......................................70 Hazard levels ........................................................ 41 T Tool Commands Definition .............................................................................................. 14 Organization of memory ........................... 44 Move to safe request.......................................................... 94 Promia window ...................... 76 107 ...................... 31 Description ..................................................................................................................................................................... 44 Safe position definition of safe position..........................................................................................102 Types of monitoring .. 45 Promia Customizable modules ............................21 Programming ..............100 Promia window...........................................23 Dynamic monitoring Description ................................. 50 Definition ................. 17 Running program in automatic mode ..... 78 Tool Events Definition .......73 Programming ...........................................90 Promia window.....................9 Index and appendices 9................33 P Part Detection Definition...22 Programming ...... 19 Repositioning Application software behavior ..................................................87 D Debugging Definition............................................17 I IRC5 Control devices ................................................ 21 Programming .................... 19 S Safe end of production request ............................................................................................................................. 55 Robot program and path principle..........34 Dedicated buttons ............................................................................... 96 Promia window ...... 28 Software architecture.... 46 sources of program codes ........................78 RDNU0006 Revision F PLC Events Definition ................................................ 39 Running program in manual mode ..............11 Home position definition .....................1 Index A Anti-loop function Principle and management......................................................59 List of common base simple errors........................................48 Programming ............................98 Promia window......... 27 R Recycling Application software behavior ..................................................................................................................................................................................................................................59 List of simple common base messages .........................22 Manual control...... 76 Program Display in Production screen...57 List of common base errors requiring a validation ..........68 PLC Commands Definition...............61 F FlexPendant Basic menu ....

.

............... 18 Debug menu .... Figure 28.......... Figure 32............................................. 78 « Simplified Backup » screen.............................................. 69 Page showing general state of sequences ............................................................... 52 Application software screen selection command bar ....................................................................... ........... Figure 9....... Figure 46........................................... ...........................2 Table of figures Figure 1.............. Figure 49.................................................. Figure 41.... 21 Tooling commands and events ............................ Figure 2....... Figure 6................. 68 Part detection screen : correct state .............................. 38 Confirmation of automatic mode ................................................. 37 Program restarted at beginning (single or multi-robot) ....................................................... Figure 15.................... 77 PLC Command Screen .................................................................................................. manual control enabled ....................... 34 Choice of program to be edited ......................................................................................................................... 71 Sequence Screen : correct state ................................................ 88 RDNU0006 Revision F 109 ............... Figure 43. 30 Robot system control devices....... 57 Structure of Promia information screens........ 51 Application software screen selection button....................................... Figure 14........ 36 Production window in a single-robot environment .... Figure 16..................................... Figure 36.......................................................... Figure 10........ Figure 21............................................................................................. 69 Part detection screen : wrong state ............................................ Figure 45............... Figure 13................. 72 Detail screen of sequences..........................................................................2 Table of figures 9........... 43 Direct move to safe dialog to be acknowledged for robots 1 and 2............................ 33 ABB basic menu ......................................................................... 36 Production window in a multi-robot environment ....................................... 56 Example of history area messages...................... 52 Button used to toggle between current screen and Operator Panel screen.................................................................................................................................................................................................................. 72 Sequence Screen : feedback error ..... 51 Floating panel control handle ................................................................................. Figure 4............ 83 Acknowledgement of anti-loop message .................................. Figure 48...... Figure 11....... Figure 3......................................... Figure 27.......................................... Figure 30..................................................................... Block diagram of PROMIA application software .............. Figure 31................. 19 Repositioning and recycling after manual jogging.................... 20 Commands and events..................... Figure 29....... Figure 25..................... Figure 35.............. 19 Recycling without manual jogging..................... Figure 20.............................................................................................................................. 27 Organization on the flashdisk...................................... Figure 17... Figure 37..................................................... Figure 5...... 52 Selection of "Common Features" screens ............................... 43 Prompt: OK to Move to Home ? ....... Figure 22............................... 33 Dedicated keys on the FlexPendant................... 53 The two areas of the Production screen.............. 74 Events screen : Correct state ............................... 14 Sequencing of paths ........................................................................9 Index and appendices 9...................................................... Figure 33................................. Figure 18....................... Figure 42.................. 70 Page showing detailed state of a sequence ................................ 70 General state of Sequences : undefined state . Figure 40.............................. « daisy » principle................................................................................................................... Figure 26... Figure 24..... Figure 19................................ 39 Return to safe position prompt (single robot example) ......................................................... 87 Calling a path ................................... 21 Software architecture .................................. Figure 47........................................................................................ 44 Screen container and floating panel ................................................................................. 67 Part detection screen : undefined state ............................................... Figure 8................................... 73 Sequence detail screen. 76 Events screen : error state.................................................................................................................. Figure 39..... 55 Example of snapshot message area ............................................... 80 Debug Menu of the Production Window .................. 42 Switch to manual mode to initiate direct move to safe operation. Figure 12..................................................................................................................................................................................... Figure 23........................ Figure 38.. manual control not enabled ........... Figure 34................. 38 Confirmation of PP to Main (single or multi-robot)........................................ Figure 44............................ Figure 7..............

2 Table of figures 110 RDNU0006 Revision F .9 Index and appendices 9.