29
§ Tommi Laitila INITIAL CONFIGURATION OF INDUSTRIAL ROBOT CONTROLLER Using offline programming tool Faculty of Engineering and Natural Sciences Bachelor thesis September 2020

INITIAL CONFIGURATION OF INDUSTRIAL ROBOT CONTROLLER

  • Upload
    others

  • View
    17

  • Download
    0

Embed Size (px)

Citation preview

Page 1: INITIAL CONFIGURATION OF INDUSTRIAL ROBOT CONTROLLER

§

Tommi Laitila

INITIAL CONFIGURATION OF INDUSTRIALROBOT CONTROLLER

Using offline programming tool

Faculty of Engineering and Natural SciencesBachelor thesis

September 2020

Page 2: INITIAL CONFIGURATION OF INDUSTRIAL ROBOT CONTROLLER

i

ABSTRACT

Tommi Laitila: Initial configuration of industrial robot controllerBachelor thesisTampere UniversityBachelor of Science (Tech) Mechanical engineering and industrial systemsSeptember 2020

Integrating a robot system as part of larger scale system requires vast knowledge on differentdevice interfaces and network technologies. Robot system commissioning procedure is a smalltask compared to scale of the whole project, thus it is advised to minimize time spent to the task bystandardizing the procedure. This study deals with robot use scenario in industrial manufacturingand offline programming functionality aiding the commissioning and configuration procedure. Aimof this study is to produce a documented guide on configuration of a virtual ABB IRC5 seriesindustrial robot controller.

this study is in form of a literary review based on manuals of ABB robot products and userexperience on ABB software as well as other literature on the field. Thesis will answer to ques-tions regarding use of robot solutions in automation hierarchy and both how to use RobotStudiosoftware in configuration of virtual robot system and how to configure I/O communication interfacefor ABB robot controller using Profisafe protocol.

the study focuses on the interfaces of industrial robot controller enabling communication withexternal devices. Additionally, communication technologies and safety functionality are a key partof this study. Offline programming tools are also covered in this thesis, since offline programminghas potential time saving features. The product of this thesis is included in appendix A. The initiali-sation instruction in itself is written from application specific point of view to simplify the process ofrobot configuration to its reader by filtering unnecessary information compared to original manualsreviewed during the writing process.

Keywords: robotics, offline programming, automated work cell, factory automation

The originality of this thesis has been checked using the Turnitin OriginalityCheck service.

Page 3: INITIAL CONFIGURATION OF INDUSTRIAL ROBOT CONTROLLER

ii

TIIVISTELMÄ

Tommi Laitila: teollisuusrobottiohjaimen ensimääritysKandidaatintyöTampereen yliopistoTekniikan kandidaatti Kone- ja tuotantotekniikkaSyyskuu 2020

Robottijärjestelmien integrointi osaksi laajempia kokonaisuuksia vaatii laajaa tuntemusta erijärjestelmien rajapinnoista ja tietoliikenneteknologioista. Yksittäisen teollisuus robotin käyttöönot-to osaksi järjestelmää on kokonaiseen projektiin suhteutettuna hyvin pieni osakokonaisuus. NäinSiihen käytettävä aika tulisi minimoida ja mahdollisuuksien mukaan standardisoida. Tämä työkäsittelee robottien käyttöä osana valmistavan teollisuuden automaatiohierarkiaa sekä etäohjel-moinnin käytännöllisyyttä osana robottijärjestelmien käyttöönotto prosessia. Työn tavoitteena onluoda ohje virtuaalisen ABB IRC5 -sarjan teollisuusrobottiohjaimenesimääritykseen samalla tarjo-ten lukijalle perustiedot yksinkertaisista työstökoneenkäsittelysolun toiminnoista, terminologiastaja robotille asetetuista vaatimuksista.

Työ on muodoltaan kirjallisuusselvitys, jonka lähdemateriaalina on robotiikkaa yleisesti käsitte-levän kirjallisuuden lisäksi erään robottivalmistajan, ABB:n tuotedokumentaatio. Kirjallisuus viitteettarjoavat työn kannalta olennaisimmat robotiikan ja tehdasautomaation aihealueellisen leikkauk-sen terminologiaan ja menetelmiin liittyvät faktapohjaiset tiedot, siinä missä ABB:n dokumentaatiomahdollistaa ensimäärityksen ohjeiden laatimisen kannalta välttämättömät tiedot. Robotin toimin-nan testaus oli virtuaalisesti mahdollista RoboStudio-ohjelmistolla, jolla on myös Työn kannaltakeskeinen osa.

Selvityksen painotuksen keskittyessä teollisuusrobotin ja ohjelmoitavan logiikan rajapintaan,tietoliikenne- ja turvallisuusvaatimukset ovat työn tärkeintä sisältöä. Automaattisessa kappalekä-sittelytehtävässä tiedonsiirto ja -keräys teknologiat ovat olennainen osa Modernia teollisuutta ih-misen tehdessä yhä enemmän yhteistyötä robottien kanssa. Lisäksi yhä lisääntyvä etäohjelmoin-nin hyödyntäminen voi erityisesti robotikan kohdalla lisätä alan yritysten tuottavuutta ja vähentäätyöseisokkien sekä Integroitavien järjestelmien testaukseen kuluvaa aikaa. Myös osaavan työvoi-man puutteen korvaaminen automaatiolla edistää taloudellista kasvua valtakunnallisella tasolla.Työn varsinainen tuotos, eli ohje ABB IRC ohjaimen virtuaaliseen esimääritykseen on esitetty liit-teessä A. Ohjeessa käytetään Profinet-tietoliikenneprotokollaa robotin ja ohjelmoitavan logiikanväliseen tietoliikenteeseen.

Avainsanat: robotiikka, offline -ohjelmointi, automatisoitu valmistussolu, tehdasautomaatio

Tämän julkaisun alkuperäisyys on tarkastettu Turnitin OriginalityCheck -ohjelmalla.

Page 4: INITIAL CONFIGURATION OF INDUSTRIAL ROBOT CONTROLLER

iii

CONTENTS

1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2 Factory automation infrastructure . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2.1 Automated production cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2.2 Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2.3 Industrial internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.4 Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.5 Industrial robot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.5.1 Coordinate systems . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.5.2 Motion supervision and safety . . . . . . . . . . . . . . . . . . . . . . 6

3 Offline programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3.1 Offline programming tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3.2 User interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3.3 Motion supervision and safety . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3.4 Robot programming language . . . . . . . . . . . . . . . . . . . . . . . . . . 8

4 Interface requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

4.1 Functional requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

4.2 Documentation requirements . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4.3 I/O communication requirements . . . . . . . . . . . . . . . . . . . . . . . . 114.3.1 General communication . . . . . . . . . . . . . . . . . . . . . . . . . 114.3.2 Safety communication and functionality . . . . . . . . . . . . . . . . 11

4.4 Interface logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Appendix A Configuration of virtual robot system . . . . . . . . . . . . . . . . . . . 16

A.1 Cell layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

A.2 Robot controller configuration . . . . . . . . . . . . . . . . . . . . . . . . . . 17A.2.1 Motion configuration for external axis . . . . . . . . . . . . . . . . . . 17A.2.2 I/O configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

A.3 Tool and work object configuration . . . . . . . . . . . . . . . . . . . . . . . 19

A.4 Safety configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20A.4.1 Safety I/O functions . . . . . . . . . . . . . . . . . . . . . . . . . . . 21A.4.2 Safe zones and ranges . . . . . . . . . . . . . . . . . . . . . . . . . 21A.4.3 Safe zone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21A.4.4 Safe ranges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

A.5 Implementation of robot program . . . . . . . . . . . . . . . . . . . . . . . . 23

Page 5: INITIAL CONFIGURATION OF INDUSTRIAL ROBOT CONTROLLER

iv

Page 6: INITIAL CONFIGURATION OF INDUSTRIAL ROBOT CONTROLLER

v

LIST OF SYMBOLS AND ABBREVIATIONS

ABB Swiss Swedish electronics and industrial systems manufacturer

AGV Autonomously guided vehicle

FAN Field area network

FMS Flexible manufacturing system

I/O Digital signal based communication

IPC Industrial pc

IRC Industrial robot controller

PLC Programmable logic controller

Profinet Industrial internet protocol by Siemens

Siemens German electronics and industrial systems manufacturer

TCP Tool center point

Page 7: INITIAL CONFIGURATION OF INDUSTRIAL ROBOT CONTROLLER

1

1 INTRODUCTION

Manufacturing industry is in a state of rapid modernisation. Many industries have re-lied on industrial automation in machining applications as part of factory processes fordecades. Now that automated part handling applications make safe and efficient tend-ing of machining stations possible, the factories are operating almost without downtime.To achieve seamless information flow within industrial multi device processes, everythingneeds to be connected in order to keep track of every task the work parts go through. De-velopment in automated solutions requires adaptability and knowledge as well as stan-dardisation on automated device interfaces in order to provide seamless integration tovariety of other devices and even large scale systems.

This thesis is written in request of Fastems oy to lay background for further developmentof ABB industrial robot product integration to Fastems product families. Fastems oy is aFinnish Tampere based family owned company providing integrated factory automationsolutions for aerospace, automotive and general manufacturing industry. Fastems deliv-ers a wide array of automated part handling logistics solutions, including robot solutions,designed to be used with 3rd party machining centers and other separate stations orlogistics solutions. In addition to hardware based solutions, software offering includesManufacturing management software, or MMS, and other various options for factory au-tomation. Aim of this study is to produce a basic instruction on initial configuration of avirtual ABB IRC5 series industrial robot controller.

In chapter 2 this work provides the reader with basic information about simple machinetending cell operations and terminology. Communication and safety requirements as wellas functional requirements for a modern part handling cell are explained in chapter 4.Offline simulation and offline programming as well as the software that is used in thisstudy are presented in chapter 3. Appendix A is the requested product of this studyas it describes the process of configuring virtual IRC5 industrial robot controller usingRobotStudio software in form of step by step guide.

Page 8: INITIAL CONFIGURATION OF INDUSTRIAL ROBOT CONTROLLER

2

2 FACTORY AUTOMATION INFRASTRUCTURE

To lay background to the field this study is written on, this chapter will explain key pointson factory automation, which is defined as the use of control systems for operation ofmachinery and processes (Baliga 2015). It covers means of producing goods, monitoringquality, managing factory production and in factory logistics with automated processes.The aim of factory automation is either to increase throughput of the factory, minimizehuman error and inaccuracy in manufacturing process or extend production run time be-yond working hours. There are key factory automation terms to support the context ofthis study, which are automated production cell, device, Industrial robot, industrial inter-net and interface. these key terms will be further defined in following sections.

2.1 Automated production cell

Production cell is a collection of resources, such as workers and tools, that are designatedfor specific work phases of produced products. Cells are focused to a specific area in thefactory floor and usually form a network that supports the requirements of factory logistics.Cells may have a buffer storage and integrated logistics, for example in form of productionline. Production cell can be partly automated or fully automated, later requiring no humaninteraction inside the cell. In modern factories, automated factory logistics are integratedto production cell network (Garcia-Diaz and Lee 1995).

In this study, the cell is a production cell with integrated part handling process, in whicha robot is tending multiple machining stations and a buffer storage shelf, thus providingthe cell with automated logistics. Material flows in and out of the cell requires humaninteraction. This type of an automated cell can be referred as Flexible manufacturingsystem, or FMS, which is a system capable of producing wide array of products withmultiple machining stations (Atkins and Escudier 2013).

2.2 Device

In the context of industrial automation, a device is a single, usually a programmable partof production, cell, that performs a given function in the network of devices, for example,as a manipulator, a machine tool, a sensor or a safety device. Modern sensing devices,such as laser scanners or safety light screens, usually have their own computation ca-pability and an array of sensors. Such devices, depending on the level of computation

Page 9: INITIAL CONFIGURATION OF INDUSTRIAL ROBOT CONTROLLER

3

performance, may have an Ethernet based communication interface, improving the com-patibility and setup convenience of the device. If production cell process requires humanInteraction, human safety functionality may be implemented with safety devices, such asscanners and light screens or other optical safety device defined by international standard(ISO 12100 2010).

Device configuration is the process of setting up a device parameters to enable it toperform given tasks to meet the requirements. Configuration includes changing of com-munication parameters, so that other devices can communicate with the device. Theinstallation of required software and the possible software options for industrial PC de-vices is also part of configuration process. Configurations are usually downloaded or setto to-be-commissioned devices with documented routine.

2.3 Industrial internet

Before industrial internet technologies were recognized as a standard mean for creat-ing factory wide network for devices, it was common to implement hard wired physicalcommunication interfaces between devices for each input and output signal. Input andoutput signals, or I/O signals, are electrically transferred bits or analog signal, that arein key position when it comes to communication between processing units. Input signalsare received process commands from other processing units output signal and outputsignals are used to send process commands to other processing units input side (Butter-field and Szymanski 2018). This procedure of I/O signal exchange may be referred as ahandshake between the processing units.

Since a single electrical bit is binary, meaning that it has two states, 0 and 1, the infor-mation that may be transmitted through single signal is very limited. Grouping I/O signalsenables more complex communication, such as sending and receiving bytes, or arraysof bits that can be translated in other data types. For example, integers that containmore complex information than binary value, are transferred as defined groups of multi-ple binary signals or so called group inputs or outputs. Grouped signals deliver positiveintegers with maximum value I defined by binary transformation equation:

I = 2n (2.1)

Where n represents amount of grouped binary I/O signals or bits. Most automation de-vices have an in-software logic to handle grouped signals as integers or bytes. Analogsignals may be used to transmit more than two values, but signal noise, or secondaryfrequency, must be taken to account, since it complicates the readability of the signal.Analog signals are also vulnerable to magnetic disturbance and setup of analog signalas mean of passing data requires calibration. This is why analog signals are replaced byPWM or pulse width modulated digital signals. PWM signals are not in the scope of thisthesis.

Page 10: INITIAL CONFIGURATION OF INDUSTRIAL ROBOT CONTROLLER

4

The focus regarding this work is on communication interface between two devices in apart handling process. In modern solutions, the communication between devices is han-dled over industrial internet, which is the communication network between connecteddevices used in industrial applications including servers and management systems, suchas process control. Communication between production management and automatedshop floor operations is done over a field-area network, or FAN, which can be describedas a communication system interconnecting factory floor automated cells and devices,as well as process control hubs. Main requirements for FAN are fast real-time commu-nication and data transfer, high reliability and robustness of wiring and High bandwidth(Blecker 2006).

FANs are divided into two groups. First group being the fieldbus, used as a replacementfor hardwired I/O systems offering a real time communication link between controller anddevices, usually over a trunk line to which all devices are connected. The second group,FANs, are considered more modern and are based on Ethernet technologies, and unlikefieldbus, the second group can be used to form branched networks with the standardizedEthernet wiring. Both FAN groups are further divided into different protocols, such aswith Siemens, Profibus being a fieldbus based and Profinet being an Ethernet basedprotocol (Blecker 2006). In a simple case, FAN may be used to connect two devicesenabling I/O handshake between devices, but it is common to have a single master devicehandshaking with multiple slave devices.

2.4 Interface

Interface represents both the border between two devices and how information is passedon between devices. Automated devices are controlled with digital I/O signals that areeither hard wired, or sent through a FAN with set protocol. In order for information to beexchanged through FAN as it should, the signal addresses on both devices must be setaccording to each other. One device may have several Interfaces to every other devicein common network. In this case PLC/IPC unit sends and receives information to andfrom robot and other cell devices with I/O signals and due to company practicality, alldevices, including robots regardless of manufacturer send and receive to and from sameaddresses at PLC. If there is a new device manufacturer in integration, the robot controlsignals are set in addresses in accordance to the interface documentation.

2.5 Industrial robot

As defined by the international standard for robot systems (ISO 8373 2012), an indus-trial robot is an automatically controlled programmable manipulator with several jointedor sliding segments in motion with 3 or more axis of freedom, capable of performingintended tasks based on sensing without human intervention and is designed to meetgeneral safety and operation standards for industrial use. Industrial robots have variousapplications in various industries. For example, machine tools and centers were previ-

Page 11: INITIAL CONFIGURATION OF INDUSTRIAL ROBOT CONTROLLER

5

ously tended by workers, but in modern factories, tending of machines is conducted withautomated manipulators, such as industrial robots or automated storage and retrievalsystems. Other common applications for robots in addition to machine tending are weld-ing, painting, lifting and machining tasks along with many other uses extending to mobilerobot solutions such as storage handling or factory wide logistics using autonomouslyguided vehicles, or AGVs (Branch 1996). There are several well known brands knownfrom industrial robot products including Fanuc, KUKA, ABB and Yaskawa.

2.5.1 Coordinate systems

Robot’s tool endpoint positions are defined in both angular values and through means offorward kinematics as Cartesian coordinate system values with Euler angles or Quater-nion rotation values. Forward kinematics is used to compute robot endpoint in Cartesiancoordinate system by known joint values, whereas backwards kinematics are used tocompute robot position or geometric movement as join angle values (Sun et al. 2007).Some robot systems use Quaternion rotation to calculate rotation. Quaternion rotationdiffers from Euler angles by having 1 real value and 3 imaginary values ranging from-1 to 1 instead of 3 angle values ranging from -180 to 180 degrees to determine rota-tional relation to fixed coordinate system (Wittenburg 2016). Since it is easier for humanto understand relation in 3d-space as Cartesian position values compared to axis spe-cific angle values, robot position related variables are commonly expressed as Cartesiancoordinates in ready made robot solutions.

Figure 2.1. Visual representation of tool center point, or TCP (Operating manual - IRC5Integrator’s guide 2018)

As with many other devices capable of 3d motion, robots are coordinated by multiple co-ordinate systems within a single base coordinate system. Two most common uses foruser defined coordinate systems in context with industrial robots are tool coordinate sys-tem, used to define tool end position related tool base frame, and work object coordinate

Page 12: INITIAL CONFIGURATION OF INDUSTRIAL ROBOT CONTROLLER

6

system used to translate motions and to save programmable robot positions to a different3d space. tool center point, or TCP in short is presented in figure 2.1.

2.5.2 Motion supervision and safety

In order to make robot cell safe from device and human perspective, robot not only needsto be connected to standardized safety network, but also have self monitoring functions.Most industrial robot manufacturers provide safety integration to robot products by pro-viding tools for joint position and speed supervision, Cartesian position and speed super-vision, torque monitoring and support for safety integrated field area network.

Though robots are ideally programmed to avoid known obstacles, risk for human error,software bug or electrical fault in controller must always be taken to account for possibleerrors. Safe zones and safe ranges are used for robot movement and position monitoringensuring safety of the robot system. Safe zone is a defined 3 dimensional space that isused to supervise robot movement in Cartesian coordinate system through forward andbackward kinematics, where as joint ranges are a set of joint specific angle sectors thatdefine acceptable robot positions. Single or group of safe zones or joint ranges can bepaired with safety output signals in order to pass information up to cell control level andthey can be controlled with input signal giving necessary flexibility to monitoring of robotwork space on cell control level.

Page 13: INITIAL CONFIGURATION OF INDUSTRIAL ROBOT CONTROLLER

7

3 OFFLINE PROGRAMMING

In context to this study, online programming is process of programming a live robot unit,where as offline programming is a process of programming an accurate virtual simula-tion of a robot unit. In addition to finding logical bugs and debugging the program, inrobot applications, offline programming functionality is used to simulate robot movementsmaking it possible to notice motion errors, such as possible collisions, further prevent-ing mentioned errors after commissioning phase of physical robot (Holubek et al. 2014).With offline programming tools, work on robot system may begin before the physical robotarrives to factory, thus decreasing time spent setting robot up for testing phase. Accord-ing to ABB, offline programming is effective way of maximizing return on for companiesinvestment when implementing new system by promising shorter ramp up on robot cell(ABB 2019). Companies specializing in integration and commissioning of robot systemsbenefit from offline programming by minimizing testing phase time or the actual time robotsystems spend on factory floor. Shorter testing times enable higher throughput of projectsthus increasing productivity and cash flow.

3.1 Offline programming tool

RobotStudio is Microsoft Windows native engineering tool for online and offline program-ming and simulation of ABB IRC series industrial robot controller and IRB series industrialrobots. RobotStudio is based on actual software from IRC controller, which enables accu-rate simulation of virtual robot (ABB 2019). With RobotStudio it is possible to build virtualrobot cells in their entirety enabling accurate simulation of robot motions in 3d environ-ment with so called virtual twin. It is important to note that offline programming softwarelicence costs may shorten the margin with simple projects.

3.2 User interface

Standard human-machine interface for IRC5 controller is a Flexpendant (3.2), which is ahandheld corded human machine interface for manual manipulation of robot manipulatorand controller. Though enabling all actions regarding configuration, programming andmanipulation of IRC5 system, flex pendant is initially meant to be used as a human ma-chine interface for shop floor operation and service, where as RobotStudio is intended tobe used in precommissioning and recommissioning phases as a simulation tool. Its possi-ble to do the same configuration and programming related functions as with flex pendant,

Page 14: INITIAL CONFIGURATION OF INDUSTRIAL ROBOT CONTROLLER

8

but with RobotStudio one has more screen area and enhanced ergonomics of preferredpc workstation, when using the offline or online functionality. The virtual flex pendant maybe simulated in RobotStudio, allowing realistic testing of virtual twin system.

Figure 3.1. RobotStudio user interface

Figure 3.2. ABB Flexpendant for robot manipulation

3.3 Motion supervision and safety

Visual Safe Move, a software included in RobotStudio, is used to configure robot safetyfunctions both motion and communication wise. It enables definition of motion supervi-sion using the virtual 3d environment and definition of safety function connected signalswith easy to use signal editor. By using offline programming capability, robot test safetymay be increased by configuring safety functionality before operation with real robot (Ap-plication manual - Functional safety and SafeMove2 2018). Use of RobotStudio andVisual Safe Move are presented with detail in appendix A. ABB robot controller Safetyfunctions may be integrated to ProfiSAFE, CIP safety and hard wired safety I/O networks(Application manual - Functional safety and SafeMove2 2018).

3.4 Robot programming language

ABB IRC5 controller is programmed with functional Rapid language, which based in Cprogramming language. Motion programming may take place in RobotStudio 3d environ-ment or with actual physical robot. Structure of Rapid program is presented in figure 3.3.

Page 15: INITIAL CONFIGURATION OF INDUSTRIAL ROBOT CONTROLLER

9

Programs have some program specific parameters, such as options for program to allowmotion sequences. Programs contain modules, which contain the logic and data of theprogram. Modules, as the name suggests, may be added to program to perform a specificmotion task or procedure. Modules contain functions and data that may be called fromany other module within the program. System modules may be used as data storage forprogram variables (Operating manual - IRC5 Integrator’s guide 2018).

Figure 3.3. Rapid program structure (Operating manual - IRC5 Integrator’s guide 2018)

Typical workflow for time effective commissioning of robot system is to first do initial mo-tion and logic programming before robot arrives to integrator company. Upon arrival, itmay be fitted with required tools and peripherals, configured and loaded with programscreated and tested using virtual environment. In optimal cases, all that is left, is to teachtool frames, work object frames and robot positions to physical robot system.

Page 16: INITIAL CONFIGURATION OF INDUSTRIAL ROBOT CONTROLLER

10

4 INTERFACE REQUIREMENTS

When company specializes in device integration, it is usual to have a standardized doc-umentation for Interface configuration procedures. In most cases, it is more convenientto have changes to device I/O mapping minimized with devices, that are higher in devicenetwork hierarchy. For example if a master devices I/O mapping is changed, all the lowerhierarchy device mappings may need to be adapted to new changes. This is why newlyadded slave devices are configured to meet the requirements of higher hierarchy deviceand network, since in larger networks, local master devices pass information to higherhierarchy.

Interface documentation includes all details and requirements for communication be-tween two devices as well as the functions of devices. It is essential that all controlsignals are passed correctly from PLC to the robot controller enabling the external con-trol of robot system. Digital control signals or input signals pass a binary value to robotcontroller. Controller directs the signal to a certain function in robot controller. For exam-ple, a function that enables the manipulator motors could be activated with a single digitalsignal.

4.1 Functional requirements

Regarding this study, ABB robot system is integrated to an automated manufacturing cellto act as a manipulator for integrated part handling process, in which a robot is tendingmultiple machining stations and a buffer storage shelf thus providing cell with automatedlogistics. Material flows in and out of the cell requiring human interaction. This typeof automated cell can be referred as Flexible manufacturing system, or FMS, which isa system capable of producing wide array of products with multiple machining stations(Atkins and Escudier 2013).

Hierarchically, in a modern factory, FMS cell is part of factory material flow network con-trolled by higher level production management system. Fastems manufacturing man-agement system MMS handshakes with factory level production management systemby providing real time data to management. MMS is used to control cell sized, multi cellsized, or even small factory sized operations and schedule part production process. EachFMS cell has a PLC as master control device, which is used to connect all devices in thecell through FAN. In this study, IRC5 Industrial robot controller is a slave device, whichis logically controlled by IPC/PLC unit. IRC5 is industrial robot controller for robot motion

Page 17: INITIAL CONFIGURATION OF INDUSTRIAL ROBOT CONTROLLER

11

and logic tasks. It may be used to control most ABB IRB series robots, robot peripherals,such as track units, and custom designed mechanisms fitted with ABB motors. It is im-portant to make sure that the robot system is capable of providing required functionalitycompatible to robot systems already used by Fastems.

4.2 Documentation requirements

Interface documentation is usually written from the perspective of electrical design to actas an instruction for those responsible for configuring PLC and Robot systems communi-cation parameters. Interface documentation may be viewed as an alternative to electricaldocumentation of the system. Configuring the robot controller’s I/O mapping and FANsettings are the first tasks during setup right after controller configuration. Both I/O map-ping and Configuration of system specific parameters may also be configured by using avirtual twin. After the configuration of interface, program template and other required filesare loaded to robot controller and testing phase may begin.

4.3 I/O communication requirements

Configuring I/O communication is of greatest importance, since it contains means of con-trolling the robot controller externally. Considering this study, the request demands thatPLC/IPC sends and receives information to and from robot with I/O signals over ProfiNet.Due to company practicality, in which robots regardless of manufacturer send and re-ceive to and from same device addresses at PLC. If there is a new robot manufacturerin integration, Robots control signals are set in addresses in accordance of PLC like anyother cell device. I/O communication can be divided in two sections. General and safetycommunication.

4.3.1 General communication

General I/O communication includes signals that transfer information about current robotstate out to PLC and information about task objects and status updates into robot con-troller status signals. These signals are listed in a table that includes function and devicemapping on both PLC and robot controller for each signal. General communication is setover ProfiNet industrial internet protocol.

4.3.2 Safety communication and functionality

Unlike general I/O signals, safety I/O signals main purpose is to ensure safe operationin robot cell. In case of unexpected situations safety signals transfer data that may stoprobot task or trigger cell wide emergency stop. Additionally safety signals are requiredto transmit data regarding safe area violations, which is part of robot motion supervisionfunctionality.

Page 18: INITIAL CONFIGURATION OF INDUSTRIAL ROBOT CONTROLLER

12

If one device in safety communication network enters fail state or safety function is trig-gered on any networked device, all designated cell devices halt and alarms are passed toprocess control level user interface. In case of using safety protocol such as ProfiSAFE,faulty communication triggers safety stop for all devices due to cyclic integrity analysis ofnetwork itself. (Rofar and Franekova 2006).

4.4 Interface logic

Interface logic is the immediate reaction or processing of a certain signal. Responses forPLC request signals are a good example on interface logic. When IRC receives an inputsignal dedicated as a request, requested function must be executed and output signalindicating the execution of function must be triggered in order to pass the information toPLC unit. This is a simple procedure of slave device replying to master device.

Since all Fastems solutions are native to MMS process control system, it is vital to dis-play all alert and status messages from lower hierarchy devices, including IRC5 controller,to MMS. The passing of robot user interface messages to process control level systemis considered part of interface logic. Communication to MMS layer may be done usingEthernet connection over network socket to the closest user interface station. Duringthis study, there were not enough resources to study socket communication to the levelrequired for proper functionality. Therefore, passing of alert message over Ethernet con-nection is not treated as part of interface in this thesis.

Page 19: INITIAL CONFIGURATION OF INDUSTRIAL ROBOT CONTROLLER

13

5 CONCLUSION

This study provides background to documentation on initial configuration of ABB industrialrobot systems for integration to large scale systems. When the instruction documentationfor commissioning is created, it will safe time on performing the configuration and willensure standardized routine for robot configuration. Direct gains in sales margin mayalso be gained by implementing the instruction documentation as part of project check-list.

Virtual commissioning of robot system saves time in the whole testing and commission-ing process. Virtual testing of robot unit may prevent certain logic and motion errors withactual robot and in theory, it is possible to configure and program a robot unit, or even arobot cell in virtual environment to a point of proper function saving all the time reservedfor testing of the robot system thus minimizing expenses in testing phase, further allow-ing faster commissioning of final system. ABB’s RobotStudio software allows the creationof virtual twin making virtual commissioning possible by means of offline programming.Though virtual commissioning enables many time saving possibilities, may offline pro-gramming software licence costs overrun the gained value with simple robot systems.

Lastly, the process of configuring an ABB IRC5 robot controller, including communicationand control interface, external axis as well as safety functionality is explained in appendixA referring to ABB manuals. Information seen as unnecessary has been left out of thestudy as to simplify the configuration process. Further studies on the matter could focuson documentation of physical robot commissioning or delivery process of robot systemscompared to not using Offline programming or instruction documentation.

Page 20: INITIAL CONFIGURATION OF INDUSTRIAL ROBOT CONTROLLER

14

REFERENCES

ABB (Nov. 2019). RobotStudio. URL: https : / / new . abb . com / products / robotics /

robotstudio.Application manual - Functional safety and SafeMove2 (2018). ABB AB,Robotics Robotics

and Motion.Atkins, T. and Escudier, M. (2013). flexible manufacturing system. English. DOI: 10.1093/acref/9780199587438.013.2268. URL: https://www.oxfordreference.com/view/10.1093/acref/9780199587438.001.0001/acref-9780199587438-e-2268.

Baliga, B. J. (2015). Chapter 10 - IGBT Applications: Industrial. The IGBT Device. Ed.by B. J. Baliga. Amsterdam: William Andrew Publishing, 277–324. ISBN: 978-1-4557-3143-5. DOI: https://doi.org/10.1016/B978- 1- 4557- 3143- 5.00010- 9. URL:http://www.sciencedirect.com/science/article/pii/B9781455731435000109.

Blecker, T. (2006). Internet Technologies in Factory Automation. English. Vol. 1. Encyclo-pedia of E-Commerce, E-Government and Mobile Commerce, 683.

Branch, A. (Fall 1996). Mobile Robotics technology breathes new life into automated ma-terials handling. English. Robotics World 14.3. Copyright - Copyright Douglas Pub-lications, Inc. Fall 1996; Last updated - 2017-10-27; CODEN - ROWOEZ; Subject-sTermNotLitGenreText - US, 32. URL: https://libproxy.tuni.fi/login?url=https://search-proquest-com.libproxy.tuni.fi/docview/218413479?accountid=14242.

Butterfield, A. and Szymanski, J. (2018). input/output. URL: https://www.oxfordreference.com/view/10.1093/acref/9780198725725.001.0001/acref-9780198725725-e-2350.

Garcia-Diaz, A. and Lee, H. (1995). An industrial application of network-flow models incellular manufacturing planning. ID: 275948. DOI: https://doi-org.libproxy.tuni.fi/10.1016/S1572- 4417(06)80035- 5. URL: http://www.sciencedirect.com.libproxy.tuni.fi/science/article/pii/S1572441706800355.

Holubek, R., Sobrino, D. R. D., Kostal, P. and Ruzarovský, R. (Dec. 2014). Offline Pro-gramming of an ABB Robot Using Imported CAD Models in the RobotStudio SoftwareEnvironment. English. Applied Mechanics and Materials 693. Copyright - CopyrightTrans Tech Publications Ltd. Dec 2014; Last updated - 2018-10-09, 62–67. URL: https://libproxy.tuni.fi/login?url=https://search-proquest-com.libproxy.tuni.

fi/docview/1631224101?accountid=14242.ISO 12100 (Dec. 2010). Safety of Machinery. General Principles for Design. Risk Assess-

ment and Risk Reduction. standard. International Organization for Standardization.ISO 8373 (Mar. 2012). Robots and robotic devices — Vocabulary. standard. International

Organization for Standardization. URL: https://www.iso.org/standard/55890.html.Operating manual - IRC5 Integrator’s guide (2018). ABB, AB Robotics Robotics and Mo-

tion.

Page 21: INITIAL CONFIGURATION OF INDUSTRIAL ROBOT CONTROLLER

15

Rofar, J. and Franekova, M. (Mar. 2006). Functional Safety Specification of Communi-cation Profile PROFIsafe. English. Advances in Electrical and Electronic Engineering5.1-2. Copyright - Copyright Faculty of Electrical Engineering and Computer ScienceVSB - Technical University of Ostrava Mar/Jun 2006; Last updated - 2014-09-29, 158.URL: https://libproxy.tuni.fi/login?url=https://search- proquest- com.libproxy.tuni.fi/docview/1365791614?accountid=14242.

Sun, H., Zhang, C., Hong, L. and Jia, Q. (Aug. 2007). Research on a Conceptual 6-DOFCamera Manipulator Mounted on the Space Capsule. 2007 IEEE International Confer-ence on Automation and Logistics, 1304–1309. DOI: 10.1109/ICAL.2007.4338771.

Wittenburg, J. (2016). Rotation about a Fixed Point. Reflection in a Plane. Kinematics:Theory and Applications. Berlin, Heidelberg: Springer Berlin Heidelberg, 1–62. ISBN:978-3-662-48487-6. DOI: 10.1007/978-3-662-48487-6_1. URL: https://doi.org/10.1007/978-3-662-48487-6_1.

Page 22: INITIAL CONFIGURATION OF INDUSTRIAL ROBOT CONTROLLER

16

A CONFIGURATION OF VIRTUAL ROBOT SYSTEM

To begin the procedure of creating virtual robot cell, project must be created. In Robot-Studio, project is called solution, which is a collection of folders containing data related torobot configuration, along with "rssln" simulation file which is necessary for use of 3d sim-ulation space. There are three options for creation of a new solution. "Empty station" op-tion generates a blank solution, "solution with station and virtual controller" option opensinitial configuration wizard for both robot and controller and "solution with empty station"option generates a solution without robot manipulator and controller, but with some initialfiles. Most ideal selection for this cause is "solution with station and virtual controller"option, since it gives necessary controller and robot manipulator for initialization of robotsystem.

Figure A.1. RobotStudio start menu

The first operation in configuration process is selection of options. Options are bothsoftware and hardware additions for robot controller product sold by ABB. By togglingcustomize options at solution creation phase, Option wizard opens at solution creationprocess. The reason options are selected at the beginning is because changing themlater results in reset of controller configuration. In case of physical robot order, optionsare selected when order is being made. Robot manipulator is also selected when creatingthe solution. Refer to figure A.1 for solution creation.

Page 23: INITIAL CONFIGURATION OF INDUSTRIAL ROBOT CONTROLLER

17

A.1 Cell layout

RobotStudio supports IGES, VDA, STEP and the native SAT formats for 3d geometryenabling the creation of full model of the cell to the simulation space. geometries maybe used to build mechanisms, or for example tracks, that enables robots linear transition.Adding a ready track from ABB catalog to the solution is possible from "Home" tab under"ABB Library". Addition of non ABB geometries requires full license of RobotStudio. Toadd geometries, follow the next routine. Begin procedure in the "Home" tab.

1. Open "ABB Library", "Import Library" or "Import Geometry" to browse for geome-tries to add in the cell.

2. Select desired geometry to add from selections.

3. Position geometry by right clicking and using methods under "Position" selection.

4. To attach a geometry, that is meant to be used as a tool to tool flange of robot,select geometry in "Layout" tab and drag that geometry to robot geometry, select"yes" when prompted for attachment.

5. Rotate the tool by right clicking the mouse on the geometry and set orientation inthe top left wizard.

A.2 Robot controller configuration

Configuring robot controller includes setting the communication and external axis relatedparameters. In IRC5 robot controller, configuration data is in form readable form on ".cfg"files. For example, I/O parameters and signals are listed in EIO.cfg file. Robot studio hastools for writing cfg files either with text editor by opening cfg file in RobotStudio, or usingthe configuration editors found in "Controller" tab in "Configuration" drop selection.

A.2.1 Motion configuration for external axis

external axes are separate stepper motors controlled and measured by robot controller.External servos may be used for manipulating practically any mechanism that eithermoves, or does not move the robot manipulator itself. Most common uses for externalaxes motors are turntables and binzel control in welding applications and robot track con-trol in general applications.

Configuration data for additional axes are written in separate cfg files. RobotStudio haspre configured external axis configuration files for tracks and turn tables as well as othermechanisms in ABB library. Robot track is configured as follows. Begin process byselecting "Controller" tab.

1. Select "Motion Configuration", this opens motion configuration window.

2. In newly opened window, select top most item in the tree.

3. Click "Add..." button and select configuration file from file explorer.

Page 24: INITIAL CONFIGURATION OF INDUSTRIAL ROBOT CONTROLLER

18

4. Confirm by clicking "OK" button and restart virtual controller.

5. Open motion configuration by selecting "motion" in "Controller" drop selection.

6. In "mechanical unit" section, change parameters in external axis so that deactivationof axis is forbidden.

Restart virtual controller in order to write latest changes in controller configuration. Whenmotion configuration is in order, external axis mechanisms are moved in synchronizationwith robot manipulator.

A.2.2 I/O configuration

Before assigning signals to I/O devices, I/O communication protocol specific settingsneed to be set up accordingly. Note that controller options define communication pro-tocols that are available. Procedure of defining Profinet specific parameters is as follows.begin procedure in "Controller" tab.

1. Open I/O Engineering Tool in "Configuration" drop selection.

2. Open "IP Setting" in "Communication" selection and select PROFINET Network.

3. In properties window set ip address and subnet mask as well as used LAN port.

Once Profinet specific parameters are configured, I/O signals are set by filling a list withsignal name, signal type, device mapping address and read rights for other devices alongwith other parameters. This so called I/O mapping is is done with RoboStudio I/O engi-neering tool found in "controller" tab in "configuration" drop selection. Grouped signalsare set in the same list as single signals with the only differences being device map-ping addresses stretching more than 1 address and that signal needs to be configuredas a grouped signal. Process of defining I/O systems is as follows. Begin procedure in"Controller" tab of RobotStudio interface.

1. Open I/O Engineering Tool in "Configuration" drop selection.

2. In left selection tree, click open "PROFINET", "Device" and "PN Internal Device".

3. In case the I/O device configration needs to be corrected, delete "PN Internal de-vice" and select new device structure form "Device catalogue".

With I/O device structure being set up, I/O signals may be added in the configuration. Toadd signals, follow next procedure. begin procedure in I/O configurator.

1. Select DO or DI device to assign signals under profinet device so that "signal editor"labelled window opens.

2. Write name for the signal.

3. Select signal type from either digital, group or analog signal.

4. Set device mapping address to digital signal with integer and as linear group forgroup signals.

5. Set identification label to signal, for example what information signals transfers.

Page 25: INITIAL CONFIGURATION OF INDUSTRIAL ROBOT CONTROLLER

19

6. Set access level in order to restrict reading of signal.

7. Select if the physical value is inverted.

To enable functional safety on robot system, safety I/O must be configured to form pro-duction cell wide safety network. follow the same procedure on all signals in general I/Ocommunication. Configure safety signals by following the next procedure

1. select "SDO" or "SDI" device to assign signals under profinet device so that "signaleditor" labelled window opens,

2. Write name for the signal.

3. Select signal type from either digital, group or analog signal.

4. Set device mapping address to digital signal with integer and as linear group forgroup signals.

5. Set Source or destination device specific offset on signal mapping.

After I/O signals are configured correctly, robot controller is ready to communicate withexternal devices in slave configuration in a safe manner. configuration of additional safetyfunctions is explained in safety configuration section.

A.3 Tool and work object configuration

There are two ways of configuring both tool data and work object data. The first way isto write tool or work object data to system file as numeric data, either by writing straightto file as embedded structure in program code or using tool or work object definitionwizard. Second way is to use RobotStudio 3d environment to define said coordinatesystems to system file. Second way is to teach tools and work objects by using robotkinematic calculation, though this requires physical robot. Usually tools and work objectsare defined using both methods, by first defining them using the first method in virtualoffline system and later, when robot arrives to factory, teaching the tool and work objectusing the latter method and usually binding the real physical objects to robot coordinatesystem. The focus of this work is in virtual environment and because of this, use of robotkinematics to define of tool and work object coordinate systems is not covered in thisstudy. procedure of defining Tool centerpoint or TCP in a tool base coordinate system isas follows. Begin process in RobotStudio "Home" tab.

1. Select "Create Tooldata" from "Other" selection. This will open "Create Tooldata"wizard.

2. Set name for tool, position and rotation in reference to initial tool coordinate system.

3. Set estimated weight, center of gravity and inertial values.

4. Set storage destination for created tooldata.

5. Finish tool creation by clicking "Create".

Page 26: INITIAL CONFIGURATION OF INDUSTRIAL ROBOT CONTROLLER

20

After this procedure tool data is created and selectable in Tool drop selection. Much likeconfiguring tool data, work object is defined as follows.

1. select "Create WorkObject" from "Other" selection. This will open "Create Workob-ject" wizard.

2. set name for workobject.

3. select if robot is holding the work object, which binds workobject to tool coordinatesystem when enabled.

4. set if workobject is moved by external axis in "moved by mechanical unit" selection.

5. set Cartesian position and Euler or quaternion rotation for workobject in "UserFrame" selection.

6. optionally set object frame within user frame coordinate system.

When coordinate frames for tools and work objects are set, the frames appear in the 3denvironment. Visual representation in figure A.2.

Figure A.2. Tool frame and WorkObject frames visualised

Finalizing tool and workobject frames with actual robot is much less time consuming whenframes are taught close to real position in virtual environment.

A.4 Safety configuration

Configuration of safety features on ABB robot products is done using Visual SafeMovetool in RobotStudio that enables definition of safe zone monitoring, robot axis range moni-toring, as well as safety I/O communication interface for virtual and actual robot solutions.

Page 27: INITIAL CONFIGURATION OF INDUSTRIAL ROBOT CONTROLLER

21

A.4.1 Safety I/O functions

Safety I/O communication links two or more devices safety controllers together over acommon safety communication protocol. In case of Profisafe and Profinet, both safe andgeneral I/O signals share the same wiring, but safety signals are read by safety devicein order to provide safety functionality to automated production cell. In IRC5 productssafety I/O signals are read and written by safety functions, such as local emergency stopstate and robot movement mode. safety module mapping may be tailored as long ascertain listed functions have designated handshaking. In Fastems case, added motionsupervision signals are used to ensure mainly device safety hazards controller. Theprocess of adding safety I/O signals to IRC5 safety device using Visual SafeMove tool isas follows. begin process in RobotStudio "Controller" tab.

1. Open VisualSafeMove in "Safety" drop selection.

2. Open I/O configuration by clicking "safe IO Configurator".

3. Click "+" icon next to "PROFIsafe" label and again next to "PN Internal Device".

4. Set address and timeout parameters for input and output signals.

5. Safety I/O signals may now be connected to functions in "Function mappings".

Note that space functions and other user created safety functions may also be connectedto signals.

A.4.2 Safe zones and ranges

Creation of motion supervision functions is described in following subsections. In in-structions below "Category0Stop" refers to stopping the robot movement by mechani-cally braking the manipulator to stop. "Category1Stop" refers to stopping the manipulatorwithout mechanical brakes thus being a softer stop enabling motion path to be contin-ued. "NoStop" refers to manipulator not stopping in case of motion supervision violation(Application manual - Functional safety and SafeMove2 2018).

A.4.3 Safe zone

In ABB industrial robot products, world zones are used to monitor robots position bymonitoring user defined supervisory geometries that may be set to encapsulate upperarm of robot or around tool of the robot. These capsule geometries are user defined,so that robot solutions may be opted specifically by application. the process of settingup motion supervision encapsulation geometry by using robot 3d model as referenceworks in the following way. All steps take place in SafeMove application "Current Station"selection tree, "Visual SafeMove properties" window and upper toolbar.

1. Open SafeMove application in RobotStudio software from "Controller" tab "Safety"selection.

Page 28: INITIAL CONFIGURATION OF INDUSTRIAL ROBOT CONTROLLER

22

2. Open robot upper arm encapsulation by selecting "Geometries".

3. Set capsule model in toolbar and set dimensions in "Visual SafeMove" window.

4. Create tool by right clicking "Tools" in "Current Station" tree.

5. Set tool geometry and rotation or load tool data from solution in "Visual Safe MoveProperties" window.

6. Set activation signal and active status signal from created safe I/O signals.

7. While in "tool" selection, set capsule model in toolbar and set dimensions in "VisualSafeMove" window.

The process of creating safe zones for motion supervision is executed in following way.All steps take place in SafeMove application "Current Station" selection tree and "VisualSafeMove properties" window.

1. Open SafeMove application in RobotStudio software from "Controller" tab "Safety"selection.

2. Create safe zone by right clicking "Safe Zone" in "Current Station" tree.

3. Set tool speed supervision priority to either "BASE", "NORMAL" or "OVERRIDE".

4. Set reference of zone to either "Task Frame", "World", "UCS".

5. Set safe zone corner points position and height of zone in "Visual SafeMove" win-dow or in the 3d environment by dragging zone and corner points.

6. To add motion supervision to created safe zone, add tool position supervision byright clicking created zone in "Current Station" tree to open drop selection and se-lecting "Add" to open additional drop selection, then select "Tool Position Supervi-sion".

7. Set activation signal and active status signal from created safe I/O signals in "VisualSafeMove Properties" window.

8. Set stop category to "Category0Stop", "Category1Stop" or "NoStop" for the zone.

9. Set if upper arm geometry is included in position supervision and are the supervi-sory geometries allowed inside the safe zone by checking selection boxes below.

Safe zones may reserve same space, so that motion supervision may have differentfunctionality even in same space. Dynamic safe space is also possible with differentparent coordinate system.

A.4.4 Safe ranges

Safe ranges are set with Visual SafeMove tool. Unlike safe zone supervision, safe rangesdo not require additional supervisory geometries. In addition to 6 manipulator axis, exter-nal axis, such as robot track motion may be supervised with Safe ranges. The processof configuring axis specific safe ranges is as follows. Begin process in Visual SafeMovewindow.

Page 29: INITIAL CONFIGURATION OF INDUSTRIAL ROBOT CONTROLLER

23

1. Create safe zone by right clicking "Safe Ranges" in "Current Station" tree.

2. Select supervision enabled joints.

3. Rename axis ranges by right clicking created safe range and select "Rename"

4. Set lower and upper bound for each individual axis individual in the newly openedwindow.

5. Set lower and upper bound for each individual external axis listed below.

6. Implement axis position monitoring, by right clicking created safe range and select-ing "Axis Position Supervision" in "Add" selection.

7. set supervision function parameters in "Visual SafeMove Properties" window.

With supervised safe ranges, it is possible to stop robot movement when axis ranges areviolated on purpose or by accident.

A.5 Implementation of robot program

When the robot system is fully configured to point where only program logic is lacking,program containing motion functions and logic is loaded to the IRC5 controller. Procedurefor implementation of template rapid program is as follows. Begin process in the "RAPID"tab of RobotStudio.

1. Open "RAPID" selection in Controller window.

2. Select "Load Program..." by right clicking the TROB1 program.

3. Select "Yes" when prompted if you wish to overwrite current program.

4. Select the ".pgf" file containing the new program with file explorer.

As with any software and especially with programs that are likely to have project spe-cific variations, modularity of program structure is important in order to save time in earlyphases of robot programming. To add separate function groups or Rapid modules. Re-peat process of loading a program, but instead of selecting "Load Program...", select"Load Module..." and select the ".mod" or ".sys" files to load on the controller.