Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Yasir Amzad Ali MFKE2009

Download as pdf or txt
Download as pdf or txt
You are on page 1of 113

DEVELOPING PLC BASED GANTRY ROBOT USING POSITIONING SERVO

DRIVE WITH PROFIBUS – DP COMMUNICATION PROTOCOL

YASIR AMZAD ALI BIN MOHD YASEEN

A project report submitted in partial fulfillment of the


requirement for the award of the degree of
Master of Engineering (Electrical – Mechatronics & Automatic Control)

Faculty of Electrical Engineering


Universiti Teknologi Malaysia

NOVEMBER, 2009
iii

Dedicated to my beloved wife


Dr Rokiah Binti Khalid
Son,
Yasir Adham Ali
Parents ,
Janathul Nisa & Mohd Yaseen
iv

ACKNOWLEDGEMENT

In preparing this thesis, I was in contact with many people, researchers,


academicians, and engineers. They have contributed towards my understanding and
thoughts. In particular, I would like to acknowledge and express my sincere
appreciation to my main thesis supervisor, Dr Hazlina Selamat, for encouragement,
guidance, critics and friendship. His readiness to help and valuable suggestions were
highly appreciated towards to meeting the project objective.

My fellow postgraduate students should also be recognized for their support.


My sincere appreciation also extends to all my colleagues and others who have
provided assistance at various occasions. I am grateful to all my family members.
v

ABSTRACT

PLC (Programmable Logic Controller) is one of the most important device in


industrial automation nowadays. PLC is the device which control the machine so that
the machine can run fully automatically. PLC is rarely use to control movement of
the axis. Usually axis movement will be controlled by CNC (Computer Numeric
Controller) machines. But in this Project, PLC is used to control gantry robot with
three axis using positioning servo drive and its communicate via PROFIBUS
(Process Fieldbus). The reason that PLC used to control the robot is because, PLC
based machine is relatively much cheaper compare to machine that use CNC.
vi

ABSTRAK

PLC merupakan salah satu alat yang terpenting dalam bidang automasi
industri pada masa kini.PLC merupakan alat yang mengawal mesin untuk berfusngi
secara automatik sepenuhnya.PLC jarang digunakan untuk mengawal pergerakan
paksi sesuatu mesin.Kebiasanya tugas mengawal paksi ini dilakukan oleh
CNC.Tetapi dalam Projek ini , PLC digunakan untuk mengawal pergerakan robot
gantri tiga paksi yang digerakkan oleh motor servo dan berkomunkasi mengunakan
PROFIBUS. Tujuan mengunakan PLC sebagai alat mengawal ialah kerana mesin
yang berlandaskan PLC secara relatifnya adalah lebih murah berbanding dengan
mesin yang mengunakan CNC.
vii

TABLE OF CONTENTS

CHAPTER TITLE PAGE

DECLARATION ii
DEDICATION iii
ACKNOWLEDGEMENTS iv
ABSTRACT v
ABSTRAK vi
TABLE OF CONTENTS vii
LIST OF TABLES xi
LIST OF FIGURES xii
LIST OF ABBREVIATIONS xv

1 INTRODUCTION

1.1 Project Introduction 1


1.2 Project Objective 4
1.3 Scope Of Project 4
1.4 Organization Of Thesis 5

2 LITERATURE REVIEW

2.1 Gantry Robot 6


2.2 Programmable Logic Controller 8
2.2.1 PLC Introduction 8
viii

2.2.2 PLC Features 8


2.2.3 System Scales 9
2.2.4 User Interface 9
2.2.5 Communication 10
2.2.6 PLC Compared With Other Control Systems 10
2.2.7 Digital and Analogue Signal 12
2.2.8 Programming Language 13
2.2.9 Siemens PLC 14
2.3 Profibus Communication Protocol 16
2.3.1 Profibus Introduction 16
2.3.2 Profibus Origin 18
2.3.3 Advantages Profibus Compare Other Fieldbuses 18
2.4 Servo Drive 19
2.4.1 Introduction To Digital Servo Drive 19
2.4.2 Lenze 9300 Positioning Servo Drive 20

3 PROJECT BACKGROUND

3.1 Previous Control System for ABB Robot 22


3.2 Problem with Previous ABB Gantry System 27
3.2.1 Obsolete Parts 27
3.2.2 No Local Support Available For Robot 27
3.2.3 Complicated Control System 28
3.2.4 Homing In Every Movement 29
3.2.5 Unnecessary Tray Scanning Process 29
3.2.6 No Permission Required To Enter Cage 29
3.2.7 Cannot Run In Manual Loading & Unloading 30
3.2.8 Robot Don’t Have Safety Parking Position 30
3.2.9 No Proper Indication Of Alarm Or Fault Signal 30
ix

4 METHODOLOGY

4.1 Introduction 31
4.2 Siemens Programmable Logic Controller 32
4.2.1 Siemens PLC Hardware Configuration 32
4.2.2 Siemens Network Configuration 34
4.2.3 Siemens PLC Program Editor 35
4.2.3.1 Siemens S7-Graph Editor 36
4.2.3.2 Siemens Ladder Diagram (LAD) Editor 39
4.2.3.3 Siemens Statement List (STL) Editor 41
4.3 Siemens Human Machine Interface (HMI) 43
4.4 Global Drive Control 45

5 PLC PROGRAM IMPLIMENTATION

5.1 Introduction 46
5.2 Robot Auto Cycle 48
5.3 Machine Ready, Safety and Error Handling Program 54
5.4 Decision Making Program 58
5.5 Drive Control Program 61
5.6 Execution Of FB3 Programs 63

6 HMI IMPLIMENTATION

6.1 Introduction 67
6.2 Main Screen 68
6.3 Auto Cycle Screen 69
6.4 Semi Auto Cycle Screen 74
6.5 Manual Cycle Screen 76
6.6 System Diagnostic Screen 77
6.7 Teaching Mode Screen 78
x

7 DRIVE IMPLIMENTATION

7.1 Introduction 79
7.2 Drive Parameter Configurations 79
7.3 Position Configuration 81
7.4 Drive Program Editor 82

8 RESULTS AND DISCUSSION

8.1 Introduction 84
8.2 Development Stages 85
8.3 Error Recording Program (FC250) 87
8.4 Features Of New Robot Gantry System 88
8.4.1 Simple And Reliable Control System 88
8.4.2 Easy Maintenance & Troubleshooting Process 91
8.4.3 One Touch Button Control Concept 92
8.4.4 Optimize Movement Concept 92
8.4.5 Improved Safety 93
8.4.6 Improved Tray Scanning Process 94
8.4.7 Variable Speed Control To Improve Process Time 95
8.4.8 Touch Screen For The Robot 95

9 CONCLUSION AND RECOMMENDATION

9.1 Conclusion 97
9.2 Recommendation 98

REFERENCES 99
xi

LIST OF TABLES

TABLE NO. TITLE PAGE

3.1 Loading Control System Unit 23


3.2 Unloading Control System Unit 24
3.3 ABB Gantry Robot Control System Unit 25
4.1 List Of Hardware Used For Gantry Robot 33
5.1 Function List For The Robot Auto Cycle Sequence 60
xii

LIST OF FIGURES

FIGURE NO. TITLE PAGE

1.1 Gantry Robot Structure 3


1.2 Loading Station 3
1.3 Unloading Station 4
2.1 Digital Servo Drive 20
3.1 S5 100u CPU 23
3.2 Sanyo Denki Stepper Motor Drive 24
3.3 S5 115u CPU With Input Output Card 25
3.4 Telemeqanique NUM 17.20 CPU 26
3.5 ABB NUM NC Controller Card 26
3.6 BOSH-REXROTH Indramat Servo Drive Axis Module 27
4.1 Hardware Configuration 34
4.2 HMI and PLC Communication Interface 35
4.3 Graph-7 Programs 37
4.4 Robot Programs Written In S7-Graph Language 38
4.5 Ladder Diagram Editor Siemens PLC 40
4.6 Ladder Diagram Editor Siemens PLC 41
4.7 STL Editor Siemens PLC 42
4.8 WinCC Flexible 2008 HMI Screen Editor Software 44
4.9 Global Drive Control Software 46
5.1 Flow Chart For Robot Auto Cycle Control 48
5.2 FC20 Monitoring X & Y Reach Position Function 49
5.3 Tray Status For The Robot 50
5.4 Tray Location For The Robot 51
5.5 Programs Code For Updating Tray Value At Location 10 52
5.6 Sequence Queue List 53
xiii

5.7 Current Running FB Highlighted At Screen 53


5.8 Step Number 10 At FB3 55
5.9 Safety And Error Programs Control’s Flow Chart 56
5.10 Error Message For Emergency Button And Safety Door 56
5.11 Ladder Diagram Check Machine Emergency 57
5.12 Ladder Diagram Check Main Air Pressure 58
5.13 Machine Ready Condition Displayed At Screen 59
5.14 Flow Chart Of Decision Making Program 60
5.15 Profibus Control Program For X-Axis 61
5.16 Flow Chart For Drive Control Programs 62
5.17 Error Message Related Drives At Touch Screen 63
5.18 Ladder Diagram Check Priority For FB3 64
5.19 Flow Chart FB3 Functions 66
6.1 Main Screen 68
6.2 Auto Cycle Screen 69
6.3 Actual Position And Speed Value 70
6.4 Tray Status 70
6.5 Start Button Hidden 71
6.6 Start Button Displayed 71
6.7 Machine Ready Status 71
6,8 Sequence Status 72
6.9 Set Axis Speed Parameter 73
6.10 Set Maximum Tray Value 73
6.11 Semi Auto Cycle Screen 74
6.12 Semi Auto Mode Go To Location 75
6.13 Semi Auto Part Program 75
6.14 Manual Cycle Screen 76
6.15 System Diagnostic Screen 77
6.16 Teaching Mode Screen 78
7.1 Motor Data Parameter 80
7.2 Position Configuration 81
7.3 FB Editor Software 83
7.4 Program Process List For Drive 83
8.1 Gantry Robot In Operation 85
xiv

8.2 Screen Used For Control Robot Movement 86


8.3 Screen Used To Test Auto Cycle Movement 86
8.4 Error Recording Program 87
8.5 Siemens 10” Touch Screen For Gantry Robot 90
8.6 Siemens S7-317-2DP CPU 90
8.7 Lenze 9300 Positioning Servo Drives 91
8.8 Safety Relay Used For The Project 94
9.1 Keyence Imaging Device 98
xv

LIST OF ABBREVIATIONS

PLC - Programmable Logic Controller


NC - Numeric Controller
PWM - Pulse Width Modulation
CPU - Central Processing Unit
IO - Input Output
MS-DOS - Microsoft Disk Operating System
MTC - Machine Tool Control
DP - Distributed Peripheral
USB - Universal Serial Bus
PROFIBUS - Process Field Bus System
HMI - Human Machine Interface
PA - Process Automation
CHAPTER 1

INTRODUCTION

1.1 Project Introduction

SKF Bearing Industries Sdn Bhd is world-class manufacturer of bearings


employing the most modern technology in the industry. Plant is located in Nilai
and supplies the world with quality bearings.

In order to manufacture Cylindrical Roller Bearing (SRB) , heat treatment


process for the roller is one of the crucial and importance process. Every minute
thousands of rollers need to supply to the furnace to undergo heat treatment
process.

To supply the roller for the furnace, SKF Nilai is using fully automated
gantry robot loading system. There is three major component of the gantry
system. First system is loading station. In loading station the roller is sorted at the
tray and then it will be transported to the furnace by robot. Robot will arrange the
tray at pallet in several layers before deliver the pallet into furnace.
2

Second system is unloading system. After the roller finished heat


treatment process, robot will unload the pallet from furnace and deliver the tray
to unloading station. Unloading station will distribute the roller for grinding
process.

Previous gantry robot system is using ABB automation control design.


This robot’s design is outdated & not efficient in this new era. The ABB robot is
using CNC controller and using three separate PLCs to control loading and
unloading station.

The idea is to replace old fashion of automation control to new , fast ,


reliable , user friendly , easy to troubleshoot & easy to maintain gantry robot
automation system.

This project is to upgrade the old gantry robot system to cheap & reliable
robot control system using PLC control system. After I had done some research
and studies, I had found out the simplest & much reliable robot design using PLC
& positioning servo drive.

Another aspect which was given high priority before design the system is
availability of spare part in our store & local support of the device that we use.
Almost 70% of the items include (PLC CPU, Input Output Card, Communication
Card, Touch Screen) is available in our spare part store. This will drastically
reduce downtime for robot due to availability of spare parts.
3

Figure 1.1 : Gantry Robot Structure

Figure 1.2 : Loading Station


4

Figure 1.3 : Unloading Station

1.2 Project Objective

Project objective is to develop complete control system for 3 axis gantry


robot using Siemens s7 PLC, Lenze positioning servo drive, Siemens touch
screen and these devises is communicate via Profibus - DP protocol.

1.3 Scope Of Project

In order to achieve the objective of the project, there are several scope had
been outlined. The scope of this project includes writing PLC software using
Siemens Step 7 software, writing and designing HMI program Siemens WinCC
5

Flexible 2008 and configuring and writing Lenze drive program Global
Positioning Drive software.

1.4 Organization of Thesis

This thesis consists of eight chapters. Chapter 1 provides preliminaries


studies on the current scenarios of this project. In Chapter 2, literatures on
devices and technology that used in this project will be discussed briefly.

Chapter 3 describes and briefs the theoretical background of the project.


In this chapter, will discussed comparison between previous robot system and
future robot system will be discussed.

Chapter 4 will discuss methodology that used in order to complete these


projects. In this chapter, software and hardware that used for the projects will be
discussed briefly. Meanwhile in Chapter 5, PLC program implementation will be
discussed. This chapter will go thorough entire function that developed in order
to complete this project.

Chapter 6 will discuss about HMI implementation. In this chapter HMI


design and development will be discussed. Chapters 7 will focus on drive
implementation. In this chapter drive configuration and programming will be
discussed briefly.

Chapter 8 will discuss results and discussion regarding this project and
finally Chapter 9 is conclusion and recommendations.
CHAPTER 2

LITERATURE REVIEW

2.1 Gantry Robot

A gantry robot is also known as a Cartesian robot. It looks very different


from the popular image of a robot. It is a stationary robot and typically contains a
minimum of three elements of motion. In this case, each motion refers to linear
motion in a single direction.

In a gantry robot, each of these motions are arranged to be perpendicular


to each other and are typically labeled X, Y, and Z. X and Y are located in the
horizontal plane and Z is vertical. Think of X and Y was the width and length of
a box and X as the height of the box. The interior of this box is referred to as the
working envelope of the gantry robot. A gantry robot can move things anywhere
within this envelope or perform some operation on an item within the envelope.

A typical application for a gantry robot is the assembly of a device. A


gantry robot that performs this action is also referred to as a pick and place robot.
Components required for the device are somehow brought into the working
7

envelope of the gantry robot, and the gantry robot picks up each component and
attaches or places it on the device being assembled. The device being assembled
must also be within the working envelope of the gantry robot. Grippers of
various types can be bolted to the end of the Z direction motion to assist in
grasping the parts. Rotating motions can also be added to both the Z direction
motion and the working envelope to allow for greater part manipulation.

Another typical application of a gantry robot is to perform some type of


action on a part. The part must be placed within the working envelope, and the
gantry robot can be programmed to weld, drill holes, or perform various other
operations on the part. Rotary motions and appropriate tools are added to the
gantry robot to allow it to perform its required function.

Gantry robots have several advantages over the more popular varieties of
robots. Gantry robots can be made very large, filling an entire room if necessary.
Gantry robots typically have much better position accuracy than their
competitors.

Position accuracy refers to how close the robot can place a part to the
instructed location. Gantry robots place parts exactly where programmed. This is
why gantry robots are usually used for pick and place applications. Gantry robots
are easier to program with respect to motion than are other robots. If the part
needs to be moved from point (3,6,9) to point (4,2,8), this is simply a move of 1
unit in the X direction, -4 units in the Y direction, and -1 unit in the Z direction.
8

2.2 Programmable Logic Controller (PLC)

2.2.1 PLC Introduction

Programmable logic controller (PLC) or programmable controller is a


digital computer used for automation of electromechanical processes, such as
control of machinery on factory assembly lines, amusement rides, or lighting
fixtures. PLCs are used in many industries and machines, such as packaging and
semiconductor machines. Unlike general-purpose computers, the PLC is
designed for multiple inputs and output arrangements, extended temperature
ranges, immunity to electrical noise, and resistance to vibration and impact.
Programs to control machine operation are typically stored in battery-backed or
non-volatile memory. A PLC is an example of a real time system since output
results must be produced in response to input conditions within a bounded time,
otherwise unintended operation will result[1].

2.2.2 PLC Features

The main difference from other computers is that PLCs are armored for
severe conditions (such as dust, moisture, heat, cold) and have the facility for
extensive input/output (I/O) arrangements. These connect the PLC to sensors and
actuators. PLCs read limit switches, analog process variables (such as
temperature and pressure), and the positions of complex positioning systems.
Some use machine vision. On the actuator side, PLCs operate electric motors,
pneumatic or hydraulic cylinders, magnetic relays, solenoids, or analog outputs.
The input/output arrangements may be built into a simple PLC, or the PLC may
have external I/O modules attached to a computer network that plugs into the
PLC.
9

2.2.3 System Scales

A small PLC will have a fixed number of connections built in for inputs
and outputs. Typically, expansions are available if the base model has
insufficient I/O. Modular PLCs have a chassis (also called a rack) into which are
placed modules with different functions. The processor and selection of I/O
modules is customised for the particular application. Several racks can be
administered by a single processor, and may have thousands of inputs and
outputs. A special high speed serial I/O link is used so that racks can be
distributed away from the processor, reducing the wiring costs for large plants.

2.2.4 User Interface

PLCs may need to interact with people for the purpose of configuration,
alarm reporting or everyday control. A Human-Machine Interface (HMI) is
employed for this purpose. HMIs are also referred to as MMIs (Man Machine
Interface) and GUI (Graphical User Interface).A simple system may use buttons
and lights to interact with the user. Text displays are available as well as
graphical touch screens. More complex systems use a programming and
monitoring software installed on a computer, with the PLC connected via a
communication interface.
10

2.2.5 Communication

PLCs have built in communications ports usually 9-Pin RS232, and


optionally for RS485 and Ethernet. Modbus or DF1 is usually included as one of
the communications protocols. Others' options include various fieldbuses such as
DeviceNet or Profibus. Other communications protocols that may be used are
listed in the List of automation protocols.

Most modern PLCs can communicate over a network to some other


system, such as a computer running a SCADA (Supervisory Control And Data
Acquisition) system or web browser. PLCs used in larger I/O systems may have
peer-to-peer (P2P) communication between processors. This allows separate
parts of a complex process to have individual control while allowing the
subsystems to co-ordinate over the communication link. These communication
links are also often used for HMI devices such as keypads or PC-type
workstations. Some of today's PLCs can communicate over a wide range of
media including RS-485, Coaxial, and even Ethernet for I/O control at network
speeds up to 100 Mbit/s [2].

2.2.6 PLC compared With Other Control Systems

PLCs are well-adapted to a range of automation tasks. These are typically


industrial processes in manufacturing where the cost of developing and
maintaining the automation system is high relative to the total cost of the
automation, and where changes to the system would be expected during its
operational life. PLCs contain input and output devices compatible with
industrial pilot devices and controls; little electrical design is required, and the
design problem centers on expressing the desired sequence of operations in
11

ladder logic or function chart notation. PLC applications are typically highly
customized systems so the cost of a packaged PLC is low compared to the cost of
a specific custom-built controller design. On the other hand, in the case of mass-
produced goods, customized control systems are economic due to the lower cost
of the components, which can be optimally chosen instead of a generic solution,
and where the non-recurring engineering charges are spread over thousands or
millions of units.

For high volume or very simple fixed automation tasks, different


techniques are used. For example, a consumer dishwasher would be controlled
by an electromechanical cam timer costing only a few dollars in production
quantities.

A microcontroller-based design would be appropriate where hundreds or


thousands of units will be produced and so the development cost (design of
power supplies and input/output hardware) can be spread over many sales, and
where the end-user would not need to alter the control. Automotive applications
are an example; millions of units are built each year, and very few end-users alter
the programming of these controllers. However, some specialty vehicles such as
transit busses economically use PLCs instead of custom-designed controls,
because the volumes are low and the development cost would be uneconomic.

Very complex process control, such as used in the chemical industry, may
require algorithms and performance beyond the capability of even high-
performance PLCs. Very high-speed or precision controls may also require
customized solutions; for example, aircraft flight controls.

Programmable controllers are widely used in motion control, positioning


control and torque control. Some manufacturers produce motion control units to
12

be integrated with PLC so that G-code (involving a CNC machine) can be used
to instruct machine movements.

PLCs may include logic for single-variable feedback analog control loop,
a "proportional, integral, derivative" or "PID controller." A PID loop could be
used to control the temperature of a manufacturing process, for example.
Historically PLCs were usually configured with only a few analog control loops;
where processes required hundreds or thousands of loops, a distributed control
system (DCS) would instead be used. As PLCs have become more powerful, the
boundary between DCS and PLC applications has become less distinct.

PLCs have similar functionality as Remote Terminal Units. An RTU,


however, usually does not support control algorithms or control loops. As
hardware rapidly becomes more powerful and cheaper, RTUs, PLCs and DCSs
are increasingly beginning to overlap in responsibilities, and many vendors sell
RTUs with PLC-like features and vice versa. The industry has standardized on
the IEC 61131-3 functional block language for creating programs to run on
RTUs and PLCs, although nearly all vendors also offer proprietary alternatives
and associated development environments [2].

2.2.7 Digital And Analog Signals

Digital or discrete signals behave as binary switches, yielding simply an


On or Off signal (1 or 0, True or False, respectively). Push buttons, limit
switches, and photoelectric sensors are examples of devices providing a discrete
signal. Discrete signals are sent using either voltage or current, where a specific
range is designated as On and another as Off. For example, a PLC might use 24
V DC I/O, with values above 22 V DC representing On, values below 2VDC
13

representing Off, and intermediate values undefined. Initially, PLCs had only
discrete I/O.

Analog signals are like volume controls, with a range of values between
zero and full-scale. These are typically interpreted as integer values (counts) by
the PLC, with various ranges of accuracy depending on the device and the
number of bits available to store the data. As PLCs typically use 16-bit signed
binary processors, the integer values are limited between -32,768 and +32,767.
Pressure, temperature, flow, and weight are often represented by analog signals.
Analog signals can use voltage or current with a magnitude proportional to the
value of the process signal. For example, an analog 4-20 mA or 0 - 10 V input
would be converted into an integer value of 0 - 32767.Current inputs are less
sensitive to electrical noise (i.e. from welders or electric motor starts) than
voltage inputs.

2.2.8 Programming Language

PLC programs are typically written in a special application on a personal


computer, then downloaded by a direct-connection cable or over a network to the
PLC. The program is stored in the PLC either in battery-backed-up RAM or
some other non-volatile flash memory. Often, a single PLC can be programmed
to replace thousands of relays.

Under the IEC 61131-3 standard, PLCs can be programmed using


standards-based programming languages. A graphical programming notation
called Sequential Function Charts is available on certain programmable
controllers.
14

Recently, the International standard IEC 61131-3 has become popular.


IEC 61131-3 currently defines five programming languages for programmable
control systems: FBD (Function block diagram), LD (Ladder diagram), ST
(Structured text, similar to the Pascal programming language), IL (Instruction list,
similar to assembly language) and SFC (Sequential function chart). These
techniques emphasize logical organization of operations.

While the fundamental concepts of PLC programming are common to all


manufacturers, differences in I/O addressing, memory organization and
instruction sets mean that PLC programs are never perfectly interchangeable
between different makers. Even within the same product line of a single
manufacturer, different models may not be directly compatible [3].

2.2.9 Siemens PLC

The S7 PLC's differ in function, speed and memory capacity. The


configuration needed is dependent upon the application. Processes such as
conveyor belt systems with few stations could settle with a simpler S7 PLC's,
while more complex systems such as turbines and paper machines could need
several powerful S7 PLC's working together as a cluster or separate, dividing the
handling of DP-slaves and the calculations needed to run the plant process.

The PS, CPU and communication process modules are placed in a UR2
rack. The UR2 rack is both a mechanical and electrical "backplane". The rack
lets the different components communicate with each other as well as provides a
mechanically stable platform for use in harsh industrial environments. Depending
on the type of the rack it can mount multiple "PLC cells", where each group
consists of a power supply, CPU and communication processor.
15

The PS supplies power to the rack through the backplane. The PS also
consists of two batteries (rechargeable), which are used if the regular power from
the grid is lost, thus creating redundancy. The S7 PLC program itself is stored on
a flash memory card, which holds the information, even during a power loss.
Although, the configuration data which holds informal ion of what kind of
components that is mounted on the rack, is stored in a volatile RAM thus making
PS redundancy important via the batteries.

Another source of redundancy can be created by adding a extra PS to the


rack. For these purposes, and depending on the safety needed, there are different
types of PS such as redundant and non-redundant. Obviously, creating a non-
redundant solution is a solution with low initial costs, but could be proven a fatal
decision afterwards, due to production loss caused by downtime of the PLC-
system.

The CP modules is in many ways like a normal network interface card


("NIC") found in any modern PC, thus having connections for Ethernet wiring.
Since Industrial Ethernet (a subset of Ethernet) is very much like normal Ethernet
the wiring can be connected to switches and hubs like any other computer
network. The engineer can then program the PLC through the CP cards interfaces
as well as through the MP I interface as mentioned earlier. Also, the Ethernet
interfaces are often connected to the ES and OS stations where the operator can
control the plant through the S7 PLC. There are CP modules which hold fiber
optic connectors thus handling fiber optic nets if the S7 PLC needs to process
time critical data and process objects.

At the heart of the plant control is the CPU module(s). It consists of a


CPU, and a memory module. The memory module size needed depends on the
size of the plant control program it needs to store. Also, depending on the model
type of the CPU module it can be exchanged for larger modules (varying
between 1-16MB)
16

The CPU module also holds a DP interface and a combined DP/MPI in-
terface. The MPI can be used to programmer the CPU modules flash card via an
expansion card in a PC. Usually, though, the memory card is programmed
through the CP modules Ethernet connection (that is via a network) [4].

2.3 Profibus Communication Protocol

2.3.1 Profibus Introduction

PROFIBUS is an international fieldbus communications standard for


linking process control and plant automation modules. Instead of running
individual cables from a main controller to each sensor and actuator, a single
multi-drop cable (or other communications link – eg fibre or wireless) is used to
connect all devices, with high speed, bi-directional, serial messaging used for
transfers of information.

This arrangement can offer huge savings on cabling costs, when


compared with older methods, particularly for large sites. It allows simple
linking of devices from many different vendors and, with care, can reduce
installation, commissioning, fault-finding and associated plant downtime costs.

Due to the use of serial messaging for transfer of sensor information to a


controller and return of any required actuator commands over one common bus
link, special tools are necessary to view what is happening on this vital
communications artery. These tools are needed to verify the bus integrity, the
communication waveform shapes and content quality of the signals from each
separate device for verification of optimal operation and location of weaknesses
17

and faults. For most effective use, these tools need trained and experienced
personnel able to apply the appropriate tests, at the right location and to
successfully understand and interpret the results presented, so allowing rapid and
accurate identification of any errors, and their correction.

There are two different versions of PROFIBUS. These are known as


PROFIBUS DP and PROFIBUS PA. Simplistically, PROFIBUS DP is usually
run over violet sheathed, two core screened cable, at speeds from 9.6 kbps up to
12 Mbps, using RS 485 balanced transmission. The required speed for any one
network is chosen to give an appropriate cycle time for communication with all
connected devices, to effectively and accurately achieve their respective
operational role in a timely manner. Slower communication speed allows longer
cable runs and are suited to more slowly changing operational systems – faster
speeds and shorter cycle times are needed for quickly changing systems. Note
that the RS 485 standard allows connection of only 32 devices – larger networks
may be built by adding more, electrically isolated, segments using repeaters
and/or hubs.

PROFIBUS PA is normally run over heavier gauge, two core screened


cables, often with blue outer sheath, at fixed 31.25 kbps communications speed,
with near identical message formats to those of PROFIBUS DP, but here with
both slave power and communications signals often carried over the same wires.
PROFIBUS PA communication may be employed for systems needing
intrinsically safe equipment where risks of explosion must be minimised.

Neither PROFIBUS DP nor PROFIBUS PA should be confused with


ProfiNet which is a totally different Ethernet based communications standard
used for process measurement and control over Cat 5 (or similar) twisted pair
cables, as most frequently seen for linking office computers [5].
18

2.3.2 Profibus Origin

The history of PROFIBUS goes back to a publicly promoted plan for an


association started in Germany in 1987 and for which 21 companies and
institutes devised a master project plan called "field bus". The goal was to
implement and spread the use of a bit-serial field bus based on the basic
requirements of the field device interfaces. For this purpose, respective company
members agreed to support a common technical concept for production and
process automation. First, the complex communication protocol Profibus FMS
(Field bus Message Specification), which was tailored for demanding
communication tasks, was specified. Subsequently in 1993, the specification for
the simpler and thus considerably faster protocol PROFIBUS DP (Decentralized
Peripherals) was completed. It replaced FMS.

2.3.3 Advantages of Profibus Compare To Other Fieldbuses

PROFIBUS has the largest portfolio of products in the fieldbus world.


Now close to 200 vendors of PROFIBUS products and services. It is supported
by the largest user organisation in this industry. The demand for quality is
driving the competitors to supply good products. The competition and volume
keeps prices at highly competitive level. PROFIBUS technology is defined for
several levels within the information flow in a company. Knowledge of one
standard can be utilized on several levels.

Wide application area including factory, process and building automation.


Stable protocol with many protocol chips available nowadays. Installed base is
more than 2 Million devices. Suitable for operation in intrinsically safe areas in
process control. Supported by many manufacturers of both master and slave
19

device technology providing truly open approach and practical vendor


independence. Platform independence, PC, PLC or VMEbus based
controllers.244 byte telegram means that even large packets of data can be sent
without segmentation. Profibus range distance is more than 100km.PROFIBUS
at 12M Baud offers the fastest transmission speed available today for any
fieldbus system. PROFIBUS is the clear Fieldbus market leader in Europe and
the UK [6].

2.4 Servo Drive

2.4.1 Introduction Digital Servo Drive

Digital Servo Drive Operation Figure 2.1 shows the components of a


digital drive for a servo motor. All the main control functions are carried out by
the microprocessor, which drives a D-to-A converter to produce an analog torque
demand signal. From this point on, the drive is very much like an analog servo
amplifier. Feedback information is derived from an encoder attached to the motor
shaft. The encoder generates a pulse stream from which the processor can
determine the distance traveled, and by calculating the pulse frequency it is
possible to measure velocity. The digital drive performs the same operations as
its analog counterpart, but does so by solving a series of equations.

The microprocessor is programmed with a mathematical model of the


equivalent analog system. This model predicts the behavior of the system. In
response to a given input demand and output position. It also takes into account
additional information like the output velocity, the rate of change of the input and
the various tuning settings.
20

The tuning of a digital servo is performed either by pushbuttons or by


sending numerical data from a computer or terminal. No potentiometer
adjustments are involved. The tuning data is used to set various coefficients in
the servo algorithm and hence determines the behavior of the system. Even if the
tuning is carried out using pushbuttons, the final values can be uploaded to a
terminal to allow easy repetition. In some applications, the load inertia varies
between wide limits – think of an arm robot that starts off unloaded and later
carries a heavy load at full extension. The change in inertia may well be a factor
of 20 or more, and such a change requires that the drive is re-tuned to maintain
stable performance. This is simply achieved by sending the new tuning values at
the appropriate point in the operating cycle [7].

Figure 2.1: Digital Servo Drive

2.4.2 Lenze 9300 Positioning Servo Drive

Single axis in narrow design thus space-saving installation. Power range


is 370 W to 75 kW uniform control module and thus uniform connection for the
control cables over the complete power range. Heatsink can be separated the
cooling can be achieved outside the control cabinet. Power connections from the
top (supply) or from the bottom (motor) simple connection for multi-axis
applications. Direct connection of resolver or encoder feedback simple
connection via prefabricated system cables (accessories) connecting cables can
be plugged. Point-to-point positioning with or without velocity changeover.
21

Touch probe positioning. Absolute or relative positioning. Homing according to


different modes. Manual homing. Manual positioning. Manual positioning with
intermediate stop.

Simple programming via PC. Application configuration for control


functions and input/output signals comprehensive function blocks library high
flexibility in the adaptation of the internal control structure to the
application.Integrated automation interface simple extensions of the controller
functions. System bus for the connection of servo inverters and for the extension
of input and output terminals [7].
CHAPTER 3

PROJECT BACKGROUND

3.1 Previous Control System For ABB Robot

Previous control system is consisting of complicated and troublesome


control system. The entire robot system is working on 3 different functions with
5 different PLC. The Input outputs at fields are connected through series of multi
core cable where the plc’s in located at main panel.
23

Table 3.1 : Loading Control System Unit


Items Manufacturer Units
S5100u CPU Siemens 1
S5 Input Output Card Siemens 3
S5 Stepper Card Control Card Siemens 1
Mechanical relays for Communication
Siemens 12
Between PLCs
Stepper Motor Drive Sanyo Denki 1
Stepper Motor Sanyo Denki 1
MTC 86 CPU LMT 1
MTC Input Output Card LMT 4

Figure 3.1 : S5100u CPU


24

Figure 3.2 : Sanyo Denki Stepper Motor Drive

Table 3.2 : Unloading Control System Unit


Items Manufacturer Units
S5 115u CPU Siemens 1
S5 115u Input Output Card Siemens 5
S5 Stepper Card Control Card Siemens 1
Mechanical relays for Communication
Siemens 12
Between PLCs
S5 115u Back Panel Siemens 1
Siemens S5 115u Power Supply Siemens 1
25

Figure 3.3 : S5 115u CPU With Input Output Card

Table 3.3 : ABB Gantry Robot Control System Unit


Items Manufacturer Units
NUM 17.20 CPU Telemeqanique 1
NUM 17.20 Expansion Unit Telemeqanique 1
Fiber Optic Com Module Telemeqanique 1
NUM NC Controller Card ABB 1
NUM NC Power Supply Module ABB 1
Indramat Servo Drive Power Module BOSH-REXROTH 1
Indramat Servo Drive Axis Module BOSH-REXROTH 1
Indramat Servo Motor Without Brake BOSH-REXROTH 2
Indramat Servo Motor With Brake BOSH-REXROTH 1
Indramat Tacho Generator BOSH-REXROTH 3
Indramat Resovler BOSH-REXROTH 3
Robnum Hand Held Control Pendant ABB 1
26

Figure 3.4 : Telemeqanique NUM 17.20 CPU

Figure 3.5 : ABB NUM NC Controller Card


27

Figure 3.6 : BOSH-REXROTH Indramat Servo Drive Axis Module

3.2 Problem with Previous ABB Gantry Robot System

3.2.1 Obsolete Parts

Almost every item in ABB Gantry Robot System is Obsolete. There is no


availability of items in local or international markets. This is also including of
software to download robot data into NC card which require computer is running
under Dos operating system which not available in market.

3.2.2 No Local Support Available For Robot

There is zero local support on the robot system. We are the only one
company in Malaysia is using this system. If there is a problem, we need to get
28

supports from oversea to solve the problem. Even, in oversea there are only few
people left to support the system because the system is old and no more support
available for the system. This is generating high cost and long time to repair the
system.

3.2.3 Complicated Control System

The control system to execute the robot is complicated and troublesome.


The system is involving 3 different processes which are including Loading,
Unloading and Robot Gantry System. The system is using 4 type of controller
(Telemeqanique, S5 110u, S5 115u and NC Controller Card).The robot system is
also communicate with Ipsen Furnace (S5 115u) and Flexlink Conveyer Control
System (MTC).

Failures of one system will resultant of failure of entire robot gantry


system. There is no option to run robot without loading and unloading process.
The communication between plcs, Nc Control Card and Servo Drive is using
analog signal which mean that the signal is depending on multicore signal cable,
failure of one cable can result failure to the entire system.There is also a lot of
mechanical relay which is grounded to different supply source, if the relay is
faulty, it will be really difficult to locate the fault and will take long time to
troubleshoot.

The field devices are located far from the CPU and input output module.
This module is connected to field devices using hundreds of cables. It make
difficult to troubleshoot and locate the fault.
29

3.2.4 Homing In Every Movement

Currently robot will back to home position every time it wants to execute
one task. This generates unnecessary movement in the robot and slows down the
process.

3.2.5 Unnecessary Tray Scanning Process

Robot will do unnecessary tray scanning and this process is slow down
the entire robot process. Robot will move down to the last tray to detect the
present of tray. Robot also not memorizes last tray location in case of power
failure.

3.2.6 No Permission Request Required To Enter The Cage

Robot doesn’t have control of cage’s gates. Anyone can enter the cage
anytime. This will make the robot immediately stop in the middle of process and
this wills resulting programs conflict and sometimes need to reset the robots and
it take long time. This is also dangerous due to that some time while robot
picking tray and there is possibility the tray can drop and will hit person who
enter the cage.
30

3.2.7 Cannot Run In Manual Loading & Unloading

In current robot operation, there is no option to load and unload roller tray
manually. This means that if one of the system breakdowns, entire robot system
will unable to operate. This is not efficient and not productive.

3.2.8 Robot Don’t Have Safety Parking Position

Robot doesn’t have safety parking position. If robot has this position,
people can easily work inside the cage without worried about any robot
movement not only electrically but some times due to gravitational forces
(example – tray that picked by robot fall down due to gravitational forces
because of robot not stop in safe position)

3.2.9 No Proper Indication Of Alarm Or Fault Signal

There is no clear indication of alarm and failure in the system. User is


difficult to identify the problem due to complexity of the control system.
CHAPTER 4

METHODOLOGY

4.1 Introduction

There is 4 major software parts that need to program in order to run the robot.
First is writing plc program. Here I choose using Siemens plc, so I’m using Step
7 V5.4 editor to write the plc program. I had used 3 languages to write program
which is Ladder Diagram (LAD), Statement list (STL) and Graph 7.

Second thing is, I write program for positioning servo drive. I’m using
Lenze servo drive and I use Global Drive Control V4.10 to configure and write
control program.

Third part is I write HMI program using WinCC Flexible 2008.I’m using
Siemens touch screen as my HMI unit. Last program that I had write is Profibus
32

communication protocol. I’m using Step 7 and Global Drive Control to execute
this job.

4.2 Siemens Programmable Logic Controller

4.2.1 Siemens PLC Hardware Configuration

The tool Hardware Configuration is used for configuring and parameter the
hardware used for an automation project. The following functions are available:

• Configuration of the automation system. Racks are selected from an


electronic catalog and the selected modules are assigned to the required slots
in the racks.

• The configuration of the distributed I/Os is done in the same way as the
configuration of the non-distributed I/Os; channel-granular I/O modules are
also supported.

• CPU parameter assignment. Properties such as restart characteristics and


cycle-time monitoring can be set menu-driven. Multi computing is supported.
The entered data are filed in system data blocks in the CPU.

• Module parameter assignment. The user can specify all the adjustable
parameters of the modules in input screen forms. Adjustments via DIP
switches become unnecessary. Parameterization of hardware modules occurs
33

automatically during the CPU's acceleration. Thus, a change of a module can


be made without another parameterization.

• Function module (FM) and communications processor (CP) parameter


assignment.This parameterization also occurs within the hardware
configuration in the same way as the parameterization of the other modules.
For this parameterization hardware-module-specific screen forms and rules
are provided for each FM and CP (is included in the FM/CP functions
package). The system prevents faulty inputs by offering only allowed entry
options on the parameter assignment screen forms [4].

The hardware configuration editor is reached from the SIMATIC manager.


This is where the I need to sets up the entire hardware network, concerning
everything from what kind of PLC to use to the type of media interconnections
between the nodes and where the OS and ES stations should be connected in the
automatic control system network. Siemens PLC do not have auto hardware
configuration. For this project I had used hardware as listed below:-

Table 4.1 : List Of Hardware Used For Gantry Robot


Quantity Description
1 S7 317-2DP PLC CPU
5 32 Bit Digital Input (DI32xDC24V)
6 32 Bit Digital Output (DO32xDC24V/0.5A)
1 FM 353 Stepper Motor Control Card
2 Profibus Remote Communication Card
3 Lenze 9300 Positioning Servo Drives
3 Lenze 9300 Servo Motor
34

Figure 4.1 : Hardware Configuration

As shown in Figure 4.1 CPU is located at main rack at panel (0) UR. In this
rack, CPU 317-2DP is attached with 1 unit 32 bits digital inputs module and 2 units
32 bits of digital output module. This rack also contain FM 353 stepper control
module that used to control stepper motor for loading station.

Three units of Lenze servo drive 9300 series are connected via Profibus DP
network. Lenze drive is configured with node 10 (X-Axis drive), node 11 (Y-Axis
drive) and node 12 (Z-Axis drive).Meanwhile remote station interface module
(IM153-1) is connected via Profibus at node 3 and node 4.Each remote station is
contains of 2 units of 32 bits input module and 3 units 32 bits of output module.

4.2.2 Siemens Network Configuration

For connecting between Siemens HMI touch panel MP277 10” and Siemens
S7 PLC, I need to configure connection using NetPro Configuration tools .Through
this software, I had interconnect between HMI and PLC. Figure 4.2 show the NetPro
configuration that used for this project. NetPro is also used to configure Time-driven
35

cyclic data transmission via MPI, selection of communication partners, entering of


data source and data destination in a table and generation of all system data blocks
(SDBs) to be loaded and their complete transmission to all CPUs take place
automatically.

Figure 4.2 : HMI and PLC Communication Interface

4.2.3 Siemens PLC Program Editor

Siemens PLC offer more than 5 type of programming language. For this
project I had choose 3 types of PLC programming language. The languages that I
had used are S7-Graph, Ladder Diagram (LAD) and Instruction List (STL).The
reason I had used four type of language is because, every of this language had its
own advantages and this give me opportunity to speed up my time because I can use
different language for different application.
36

For sequential control, I’m using S7-Graph meanwhile for logic operation
I’m using LAD language. For statistical process or complex calculation, I’m using
STL.I will describe briefly about this method of programming at below.

4.2.3.1 Siemens S7-Graph Editor

The S7 Graph programming language enhances the functional scope of STEP


7 with a graphical programming interface for sequential controls.S7 Graph allows
quick and clear programming of sequential operations to control with a SIMATIC
PLC.

The process is here split into single steps to provide a clear overview of the
functional scope. The graphical display of the sequencer can be documented with
pictures and text. Actions to be executed are determined in these steps. Transitions
control the transition between steps (conditions for switching to the next step).
Figure 4.3 show example of S7-Graph program that I had used for creating
sequential flow for this project.
37

Figure 4.3 : Graph-7 Programs

S7 Graph as of V5.1 complies with the PLC open Basis Level for sequential
control systems as stipulated in the DIN EN 61131-3 standard. A sequential control
controls the process in a preset order that depends on certain conditions. The
complexity of the sequential control depends on the automation task. Actions can be
defined for the steps, and their execution controlled. Transitions control the
conditions required for the next step. Interlock and monitoring conditions are
defined for each step.

Additional benefits over LAD, FBD, and STL is that LAD, FBD and STL
focus on logic control. S7-GRAPH places more importance on the process
sequence.S7-Graph have clear graphical representation of the process using
sequencers, providing easy maintenance and modification/ adaptation of the pro-
grams if required. The process error troubleshooting with integrated diagnostics
functions; expensive downtimes during production are minimized.
38

S7-GRAPH supports the locating of synchronization points for restarting


automatic operation. To do so, the relevant steps are marked. Step-enabling
conditions or interlocks can be defined as criteria.

Figure 4.4 : Robot Programs Written In S7-Graph Language

Figure 4.4 show entire functions that I had created for the robot using S7-
Graph.All the program is sequential program. This entire program is control
movement of the robot. The movement is done sequentially and only one sequence
is executed and one time. Using S7-Graph program, I can make sure no other
process is executed and make the control much reliable and safe. Programming
using S7-Graph also give better understanding for the maintenance personnel in
future , because the programming is done in graphical method and easily
understandable.
39

4.2.3.2 Siemens Ladder Diagram (LAD) Editor

Ladder logic can be thought of as a rule-based language, rather than a


procedural language. A rung in the ladder represents a rule. When implemented with
relays and other electromechanical devices, the various rules execute simultaneously
and immediately. When implemented in a programmable logic controller, the rules
are typically executed sequentially by software, in a continuous loop or scan.

By executing the loop fast enough, typically many times per second, the
effect of simultaneous and immediate execution is relatively achieved to within the
tolerance of the time required to execute every rung in the loop or the scan time. It is
somewhat similar to other rule-based languages, like spreadsheets or SQL. However,
proper use of programmable controllers requires understanding the limitations of the
execution order of rungs.
40

Figure 4.5 : Ladder Diagram Editor Siemens PLC

Figure 4.5 show the ladder diagram editor in for Siemens plc. I write the
programs which need to execute logic operation using ladder diagram. Figure 4.6
show the program that I developed using ladder diagram for this entire project.
41

Figure 4.6 : Ladder Diagram Editor Siemens PLC

4.2.3.3 Siemens Statement List (STL) Editor

Statement List (STL) is a textual programming language that can be used to


create the code section of logic blocks. Its syntax for statements is similar to
assembler language and consists of instructions followed by addresses on which the
instructions act.
42

Of all the programming languages with which can program S7controllers,


STL is the closest to the machine code MC7 of the S7 CPU. This means that by
using it to program S7 controllers, can optimize the runtime and the use of memory.
The programming language STL has all the necessary elements for creating a
complete user program. It contains a comprehensive range of instructions. A total of
over 130 different basic instructions and a wide range of addresses are available.
Functions and function blocks allow structuring STL program clearly.For this
project, I had used STL to code the program which needs high computational power
and complex calculations. Using STL language, I easily manipulate variable in
accumulator without need of temporary stack value. Figure 4.7 show STL editor in
for Siemens PLC .

Figure 4.7 : STL Editor Siemens PLC


43

4.3 Siemens Human Machine Interface (HMI)

Maximum transparency is essential for the operator who works in an


environment where processes are becoming more complex, and requirements for
machine and plant functionality are increasing. The Human Machine Interface (HMI)
provides this transparency.

The HMI system represents the interface between man (operator) and process
(machine/plant). The PLC is the actual unit which controls the process. Hence, there
is an interface between the operator and WinCC flexible (at the HMI device) and an
interface between WinCC flexible and the PLC. An HMI system assumes the
following tasks:

• Process visualization. The process is visualized on the HMI device. The


screen on the HMI device is dynamically updated. This is based on process
transitions.

• Operator control of the process. The operator can control the process by
means of the GUI. For example, the operator can preset reference values for
the controls or start a motor.

• Displaying alarms. Critical process states automatically trigger an alarm, for


example, when the set point value is exceeded.

• Archiving process values and alarms. The HMI system can log alarms and
process values. This feature allows you to log process sequences and to
retrieve previous production data.
44

• Process values and alarms logging. The HMI system can output alarms and
process value reports. This allows you to print out production data at the end
of a shift, for example.

• Process and machine parameter management. The HMI system can store the
parameters of processes and machines in recipes. For example, you can
download these parameters in one pass from the HMI device to the PLC to
change over the product version for production.

For this project I’m using Siemens MP 277 10” Touch panel that need to
programmed using WinCC flexible 2008.Figure 4.8 show WinCC Flexible 2008
editor software.

Figure 4.8 : WinCC Flexible 2008 HMI Screen Editor Software


45

4.4 Global Drive Control

In modern production plants, drive systems are increasingly taking on


production
process technology functions in addition to their actual drive tasks.
Global Drive Control (GDC) is an easy-to use and transparent tool which can be
used to operate, parameterize and diagnose drive tasks.
Its features include:

• Quick and easy commissioning of the drive by means of the short setup
function

• Simple operation even for inexperienced users, thanks to extensive help


functions

• User-friendly diagnostics options via various monitor windows and


oscilloscope functions

• Easy drive connection via RS232/485, optical fibers or the system bus

The short setup function allows the whole drive to be commissioned quickly
and easily, by means of self-explanatory dialogues. A menu associated with the
inverter, in which all the operating parameters necessary for the drive train are
entered, appears automatically. An extensive inverter-specific help function
containing more detailed descriptions of the individual parameters can be called up
at any time.
46

Up to eight inverter values can be displayed simultaneously in the monitor


window. Users can define the display mode for the values and switch, for example,
between pointer instrument and bar chart display. Dialogue monitors can also be
called up for the 8200 vector and 8200 motec. These show the status of input and
output terminals and various bus modules, thereby enabling users to access an
overview of all drive data during commissioning, which in turn simplifies
troubleshooting and shortens commissioning times.

Figure 4.9 show the Global Drive Control Software which used to write
programs and configuration to Lenze drives.

Figure 4.9 : Global Drive Control Software


CHAPTER 5

PLC PROGRAM IMPLEMENTATION

5.1 Introduction

Siemens PLC programming sequence is controlled by organisation block


1 ( OB1).All the sub function need to be called from OB1.While I’m writing the
program I had separate several subroutine to execute several specific function.
I’m using two different subroutine protocols to write these programs. Function
Control (FC) is used in order to execute function which don’t need any internal
memory to memorize steps or action which had been executed in previous scan
cycle.

While Function Block (FB) is used to write more complex program


which have its own memory mapping and can memorize previous steps and
actions.
48

5.2 Robot Auto Cycle

Robot auto cycle program is consisting of several subroutine functions.


Figure 5.1 show the flow chart of the auto cycle program for the robot.

Figure 5.1 : Flow Chart For Robot Auto Cycle Control


49

Auto cycle’s main control sequence is written in FB60 (Robot Auto


Sequence) using S7-Graph language. Meanwhile for controlling auto cycle
events, FC 20 is used. FC20 is mainly to control and monitor events that happen
in auto cycle. For an example, it monitoring behavior of axis when it’s reached
desired position as shown in Figure 5.2

Figure 5.2 : FC20 Monitoring X & Y Reach Position Function

Another subroutine that used for auto cycle control is, FC3 (Auto Cycle
Call).This subroutine is used to call whatever function that used in the auto
cycle.FC3 will be act as call manage function and it will determine which
subroutine need to be called whenever request by FB60.

When the auto cycle function is started, the first step is that it will check
for status mode. Machine should be in auto cycle mode, otherwise the sequence
will not continue. After checking mode status, the machine will check for
machine ready condition.This will call subroutine FC90 ( Safety and Error
Handling Function) , FC10 (Emergency and Safety Door Handling Function) and
FC15 (Drive Handling Function).When this subroutine is called, it will check all
safety aspect , error status and machine ready aspects before allowed user to
continue to run auto cycle. If there is any error or machine in not ready condition,
the system will prompt error message and suggest solution for the problem to
operator. If there is no error and machine in ready condition, the robot then will
50

update tray value and display it at screen. Figure 5.3 show the tray value that
updated by system and show it at touch screen.

Figure 5.3 : Tray Status For The Robot

Figure 5.4 : Tray Location For The Robot


51

The tray update function will be executed by FC230.For easiness to


operator, when the layout button at figure 5.4 is pressed, the screen will show
station number. This will be helpful to operator to identify station number. For
example after tray update process completed, from Figure 5.3 and Figure 5.4 we
can see that station 10 contains 3 trays, station 13 contains 5 trays and station 14
contains 4 trays. Figure 5.5 show the ladder diagram for updating tray value at
location 10.

Figure 5.5 : Programs Code For Updating Tray Value At Location 10

After the tray update process is completed, the system will wait start
command from the operator. Operators need to press start auto cycle button at
touch screen and then the auto cycle will started. If the users don’t start the
system more than 10minutes, the system automatically will disable the auto
mode status and will enter the manual mode. This is safety futures for the robot.
The user need to select the auto mode again and then start the auto cycle if they
want to run auto cycle.

After operator press the start button at screen, the system will check if
there is any request in queue. The request will be highlighted at screen as shown
in Figure 5.6.
52

Figure 5.6 : Sequence Queue List

From Figure 5.6 we can see that, 3 request is requested at same time. The
requester are Station 1 , Station 5 and Station 6.When there is more than one
request at the time , the system will execute the station that have higher priority.
The higher priority requester is sort descend as seen at Figure 5.6.In this case the
system will execute FB3 followed by FB6 and last sequence will be FB1.

FB9 , FB3 , FB17 , FB16 , Fb2 , FB15 , FB6 , FB8 , FB4 , FB1 , FB5 and
FB7 is subroutine that control of the movement for robot. For example FB16 is
responsible for pick tray from Station 7 and place it at Station 4.The requester for
this sequence is Station 4.Station 4 will request for tray when the tray is empty
because the tray is loaded into the furnace.

When any of the sequence is executed, the current FB will be highlighted


as shown in Figure 5.7.The current running step also will be displayed, so if the
robot is stopped, the user or maintenance personnel can easily check from the
PLC program which step the system is stopped.
53

Figure 5.7 : Current Running FB Highlighted At Screen

From Figure 5.7, we can see that the system is executing FB3 and there
are still other request from Station 5 and Station 6 and the current step is step
number 10.Figure 5.8 show the PLC program that associate with FB3 and step 10.

Figure 5.8 : Step Number 10 At FB3

If the user press stop cycle button, the system will complete the current
executing cycle and then will stop the system.
54

5.3 Machine Ready, Safety and Error Handling Program

As discussed previously, in order to start auto cycle machine need to be in


ready and error free conditions. Flow chart in Figure 5.9 show the safety program
controls. The safety programs are executed using 3 subroutines which is FC10,
FC15 and FC90.

FC10 is mainly to check emergency stop button and safety door. For this
system, it contains more than 6 emergency button and 4 safety door. All this
units is monitored using this subroutine. Whenever door is opened or emergency
button is pressed, system will immediately stopped and auto cycle will reset
immediately. The system also will indicate to user, which emergency button or
which door is opened as shown in Figure 5.10.
55

Figure 5.9 : Safety And Error Programs Control’s Flow Chart


56

Figure 5.10 : Error Message For Emergency Button And Safety Door

The example of ladder diagram that executed in FC10 to check machine


emergency conditions is shown in Figure 5.11.

Figure 5.11 : Ladder Diagram Check Machine Emergency


57

Meanwhile, FC15 is used to check the drive status and error at drives.
This function is also will monitor of over travel status of the drives. After checks
emergency, safety door and drive status, system will check for main air pressure.
This will make sure that pressure always need at 6 bars otherwise the gripper at
robots cannot operate. Figure 5.12 show the ladder diagram program for
monitoring and stop the robot when air pressure is fail.

Figure 5.12 : Ladder Diagram Check Main Air Pressure

After that, machine will check for any error conditions for robot, if the
robot is free from error conditions, finally the system will check for auto manual
selector switch. If the selector switch is in auto selection, robot will give access
to operator to start the robot. Machine ready status is displayed at touch screen as
shown in Figure 5.13.
58

Figure 5.13 : Machine Ready Condition Displayed At Screen

From Figure 5.13 we can see that, only safety door and axis over travel is
in error free condition for the system meanwhile other condition is still not ready.
Operator need to rectify other problem that shown at the screen in order to start
the system. Operator always can check in diagnostic page to find solution for the
problems that displayed at screen.

5.4 Decision Making Program

Decision making is one of the important subroutine that used for the auto
cycle. This is controlled by FC60.The function is written in ladder language.
Figure 5.14 show the flow chart of the function. This function will determine the
request and determine which task need to execute depends on the priority.

As seen from the flow chart, the higher priority function is FB9.Which is
pick tray from Station 6 and place it at Station 1.Meanwhile the lowest priority is
FB7 which is pick tray from Station 53-55 and place it at Station 5.The priority is
depends on the task demand. Priority can be changed in future and user can
easily change the priority for the task at touch screen.
59

Not In
Start Auto Cycle
End

Auto Cycle
No Request

Check For
The
Request

Have Request

FB 9 FB 3 FB 17 FB 16 FB 2
No No No No
Requested Requested Requested Requested Requested

Yes Yes Yes Yes Yes

Execute Execute Execute Execute Execute


FB 9 FB3 FB 17 FB 16 FB 2

Completed Completed Completed Completed Completed

Jump To Start Jump To Start Jump To Start Jump To Start Jump To Start

No

FB 15 FB 6 FB 8 FB 4 FB 1
No No No No
Requested Requested Requested Requested Requested

Yes Yes Yes Yes Yes

Execute Execute Execute Execute Execute


FB 15 FB 6 FB 8 FB 4 FB 1

Completed Completed Completed Completed Completed

Jump To Start Jump To Start Jump To Start Jump To Start Jump To Start

No

FB 5 FB 7
No No Jump To Start
Requested Requested

Yes Yes

Execute Execute
FB 5 FB 7

Completed Completed

Jump To Start Jump To Start

Figure 5.14 : Flow Chart Of Decision Making Program

Table 5.1 show the function with their respective request trigger.The table
also shows the 3 subroutines for each function which is needed in order to
complete the task.
60

Table 5.1 : Function List For The Robot Auto Cycle Sequence
61

5.5 Drive Control Program

Drive is controlled via Profibus communication through FC15.Figure


5.15 show the Profibus code to control drive X- Axis at FC15.

Figure 5.15 : Profibus Control Program For X-Axis

Flow chart for FC15 is shown in Figure 5.16.When FC15 is initialized, it


will check and establish communication between PLC and drives. After that the
system will check any error at drives. If there is no error at drives, system will
check for over travel conditions and drive enabling commands. If one of those
items is fail or missing, system will prompt error message and request user to
rectify the problems before they can start the robot. Figure 5.17 show the
example of drives error message at touch screen.

After that, drive will ready and waiting for coordinate from any function
that require drives movement. The entire coordinate will pass through FC15 in
order to make sure no conflict in coordinate to prevent unnecessary movement or
mistake.
62

Figure 5.16 : Flow Chart For Drive Control Programs

After receive the coordinate, drive will move to the coordinate and when
reach the position, drive will feedback reach position status through FC15.Drive
will stop accurately at desired position and then will ready to receive next
coordinate.
63

Figure 5.17 : Error Message Related Drives At Touch Screen

5.6 Execution Of FB3 Programs

I had chosen FB3 as an example robot auto cycle execution. All other
function is made in the same ways, just the location will difference. In order to
execute FB3, which the task is to pick tray from Location 10 to 24 and place it at
Location 1, there must be no other function which had higher priority is
requested, in this case is FB9.
64

Figure 5.18 : Ladder Diagram Check Priority For FB3

There will be 3 conditions must be fulfilled in order to trigger the request.


Loading station must be active, there must be no tray at Location 1 and the last
condition is there must be tray available at Location 10-24.Figure 5.18 show the
priority program in order to execute FB3.

If this 3 conditions are fulfilled, the system will execute FB3.FB3 will
supported by 3 more subroutines which will handling logic for making decision
which location to pick (FC102) , update tray value after pick the tray depends on
the height (FC132) and last subroutine will check for empty or full of the
location 10 to 24 (FC170). Figure 5.19 shows the flow chart to execute FB3.

FB3 will wait for the subroutine start command from FB60 which
discussed earlier.FB60 will check the queue and priority and will give start
command for FB3. After receive start command from the FB60, FB3 will call
FC170 to check whether tray still available at location 10 to 24.If no tray
available, system will back to idling stage and will pass control to FB60 to
execute other function.

If tray is available at location 10-24, FB3 will call FC102 to check which
location the robot should pick the tray. The priority for pick tray always will be
65

at location 10 and followed by other location in order.FC102 will return picking


location back to FB3 and FB3 now will communicate with FC15 and transfer
location value to drive. After receiving coordinate for X-axis and Y-axis from
FB3, FC15 will command the drive to move to location which decided by FC102.

After reach desired position, FC15 will feedback to drive and then FB3
will again communicate to FC15 to move Z-axis to desired height to pick tray
depending on tray height at the location. After reach the Z position , FC15 will
feedback to FB3 and then FB3 will grip the tray and then call FC132 to record
current value of tray after it finished pick the tray.FC132 will update the tray
value depending on encoder value which is linear to tray height value.
66

Figure 5.19 : Flow Chart FB3 Functions

After the tray is picked up, the FB3 will call again FC15 to move drive to
Location 1 for place the tray. The same process repeated again until it finished.
After the process is finished, FB3 will be enter idling mode and give back control
to FB60 to decide which function should be executed next.
CHAPTER 6

HMI IMPLEMENTATION

6.1 Introduction

I had used WinCC Flexible 2008 software to design and program HMI
function for entire robot. WinCC Flexible 2008 software is can be used to design
various types of HMI units even from different brands.

Since I’m using Siemens touch screen as my HMI device, it would be


much easier to use WinCC Flexible 2008 to design HMI screens.

Input output synchronization is much easier when using same brand of


PLC and HMI devices. Communication between PLC and HMI using same
brand much faster due to it communicate with same protocol and doesn’t need
and intermediate layer to act as communication medium.
68

6.2 Main Screen

Main screen is the screen which is loaded when startup the system. Main
screen is just simple screen showing analog clock and display machine name.
After 20 seconds the screen is loaded, it will automatically change to Auto Cycle
Screen. Figure 6.1 show Main Screen for the gantry robot.

Figure 6.1 : Main Screen


69

6.3 Auto Cycle Screen

Auto cycle screen is the main screen to control auto function for the
gantry robot. The screen is designed in such way so that , all the information
regarding robot auto cycles is displayed here and whatever settings that need to
done for auto cycle also done in this page. Figure 6.1 show the Auto Cycle
Screen.

Figure 6.2 : Auto Cycle Screen

Auto Cycle Screen contain a lot of information that usefull for operators
and maintanance personel in order to run or troubleshoot the gantry robot.Figure
6.3 shows the actual speed and actual position value and actual speed value that
taken directly from 3 axis drives.This information is usefull to user when they
70

doing teaching function to the robot or when they want calibrate encoders in case
of encoder giving fault values.

Figure 6.3 : Actual Position And Speed Value

Figure 6.4 shows the value of tray at location. This screen also will
update to user regarding the status of loading and unloading station. This
information very useful to user, because they can see entire locations status in
one place. Sometimes , operator will manually load the tray inside the robot’s
area, in this case operator can easily change the value of tray at screen by
pressing at which location they had load the tray and then key in new value for
quantity of trays.

Figure 6.4 : Tray Status


71

At this screen also, the limit exceeded information will displayed in red
color. For an example, from Figure 6.4, we can see that Location 10 is in red
color because the limit for Location 10 is only 12 piece trays. The actual value at
Location 10 is 13 pieces of tray, this is exceeding allowed values. With this
information displayed, operator can easily remove unnecessary tray to avoid any
crashes.

This screen also designed in such way that, user only can access start
button after the machine give access. The start button will be not displayed until
everything is ready. This will prevent any accident by human mistake. Figure 6.5
shows start button area with displaying error that need to be rectified meanwhile
Figure 6.6 show start button appear when all error is cleared.

Figure 6.5 : Start Button Hidden Figure 6.6 : Start Button Displayed

Figure 6.7 : Machine Ready Status


72

Machine ready status also will be displayed at main screen as shown in


Figure 6.7.This information is really important in order to start auto cycle. If one
of these requirements is not full filled, the system will not let to start auto cycle.

Figure 6.8 : Sequence Status

From the Auto Cycle Screen , user also can know regarding the task in
quee, current executing functions and current step of the functions.This
information is shown in Figure 6.8.From this information users can clearly see
what are task the robot will executing , what are the task in queue and also will
clearly see what are the step number that system is executing.These informations
will be very helpful when troubleshoot the systems.

Other than displaying information and start stop auto cycle , the Auto
Cycle Screen also is provide parameter setting function to users.Figure 6.9 show
the place to change the drives speed.
73

Figure 6.9 : Set Axis Speed Parameter

For a Y-Axis and X-Axis speed control, user can set 4 different speed
values, which is when robot moving without trays, robot move with empty tray,
and robot move with loaded tray and lastly robot move with holding big tray.
For Z-Axis user only can set single speed for entire operations. Whenever user
enters invalid value, system will automatically load default value, this will
prevent any unnecessary conflict at PLC or drives.

Figure 6.10 : Set Maximum Tray Value

User also can set maximum tray value for each location at Auto Cycle
Screen. Figure 6.10 show, maximum tray value set area. This will helpful to user
to monitor maximum value of tray at each location and easily can change the
value if there is any needs.
74

6.4 Semi Auto Cycle Screen

Semi Auto Cycle Screen is used in case of there is any necessary to move
the robot to any locations. Figure 6.11 show Semi Auto Cycle Screen.

Figure 6.11 : Semi Auto Cycle Screen

For semi auto function there is two main functions. First function is to
move axis independently to desired location. This can be by entering desired
location value at field as shown in Figure 6.12.After enter the desired value , user
need press “Start X & Y Semiauto” button. The robot will move to the desired
location.
75

Figure 6.12 : Semi Auto Mode Go To Location

Another function at Semi Auto Cycle screen is that, user can run partial
sequence. This is helpful when operators wan to execute certain task manually.
For example, if the user wants to clear all trays at location 50 to 53, user can
select the menu as shown in Figure 6.13.After selecting this function, user need
to press “Activate Part Program” button. The system will executing the function
till complete and then will reset the part program. If user wants to execute the
function again, user needs to run back the programs.

Figure 6.13 : Semi Auto Part Program


76

6.5 Manual Cycle Screen

Manual Screen is used in case of want to do reference at drive or if the


drive is in over travel position. If the axis in over travel position, user need to use
manual mode to bring back the axis to safer position. User seldom uses Manual
Cycle Screen because all the function can be done in Auto Cycle or Semi Auto
Cycle Screen. Figure 6.14 show the Manual Cycle Screen.

Figure 6.14 : Manual Cycle Screen


77

6.6 System Diagnostic Screen

This screen is designed to show error message and suggestion to user how
to solve problems. In this screen also user can acknowledge or reset the error.
Figure 6.15 show the System Diagnostic Screen.

Figure 6.15 : System Diagnostic Screen


78

6.7 Teaching Mode Screen

Teaching Mode Screen can only accessible by maintenance personnel.


Purpose of this screen is to set height for tray at each location depending on its
encoder value. This setting is only done if the different tray is used. These
parameters will determine tray quantity using encoder value. Wrong data can
results of inaccurate value of tray quantities. Figure 6.16 show the Teaching
Mode Screen.

Figure 6.16 : Teaching Mode Screen


CHAPTER 7

DRIVE IMPLEMENTATION

7.1 Introduction

For this project I’m using Lenze 9300 series positioning servo drives. The
reason I’m using positioning servo drives for this project is because, it can
memorize the location and handle the calculations for movement by itself
without need assist from PLC. This will reduce the load to PLC and PLC’s
resources can be utilized to other area such as controlling the sequences. This
drives is configured and programmed via Global Drive Control Software.

7.2 Drive Parameter Configurations

I’m using Global Drive Control software to configure drives. A lot of


drives parameters need to be configured before it can be used for this project.
First of all I need to configure servo motor data parameter. This is one of the
80

important parameter that need to configured at drive. If wrong motor parameter


is entered, it will result failure in drive or motor itself.

Other parameter that needs to be configured is communication protocol.


Since I’m using Profibus DP protocol, I configured these drive to use Profibus
DP. This drive can support many communication protocols such as MOD-Bus,
Device – Net and CAN-Open communication protocol. Figure 7.1 show
configuration dialog box using Global Drive Control to configure motor related
data.

Figure 7.1 : Motor Data Parameter


81

7.3 Position Configuration

After configure drive parameters, I need to configure position data. This


data will be memorized by the drive and the PLC only call number of location
and drive know the actual location value. For this project, I had teach all the
position value to the drives and set it into the drives using Global Drive Control
software.

For an example , from Figure 7.2 we can see that actual value for
Location 1 is -4.3200 units , when I want to move robot to Location 1, PLC will
only tell drive move to Location 1 without need to tell actual position value and
drive will calculate current position value and then it will move to position -
4.3200 by itself.

Figure 7.2 : Position Configuration


82

7.4 Drive Program Editor

For this project I had written certain logic condition at the drive itself.
The reason I write the logic inside the drive itself rather than in PLC is because,
some of the events need quick response time from drives.

For an example, if the robot is hit any object, the current of the drives will
peak suddenly, in this case I will immediately stop the drives without waiting
command from PLC. The same case applied when over travel I occurred. Drive
will stop immediately in case of over travel.

I’m using FB Editor to write program at drives. FB Editor is one of the


packages inside Global Drive Control software. Figure 7.3 show FB Editor
Software and Figure 7.4 show programs that I had write inside drive and its
response time. From Figure 7.4 we can see that the response time for the drives is
610 micro seconds meanwhile for PLC usually the response time will be around
10 milliseconds.
83

Figure 7.3 : FB Editor Software

Figure 7.4 : Program Process List For Drive


CHAPTER 8

RESULTS AND DISCUSSION

8.1 Introduction

Gantry robot is usually will developed using CNC controller due to


easiness of programming and control. I had developed gantry robot using PLC
which done with a lot of programming efforts. Simple task that can be done
using CNC controller will take a lot of programming effort to be executed using
PLC. Anyhow I managed to complete the project and this project had save a lot
money for company because development cost using PLC is more than three
time lesser compare to develop system using CNC controller.
85

Figure 8.1 : Gantry Robot In Operation

8.2 Development Stages

The entire program for the robot is huge program. It take me almost two
month to complete entire program. Before writing actual program for robot, I had
written a lot of sample and test program. This program is needed to test small
portion of the robot function. I need to develop the system piece by piece and
make sure there is no error inside the program. In this development stage also I
need to develop safety program simultaneously to prevent any accident or
mishandling by human or machine itself. Figure 8.2 and Figure 8.3 show some
the screen that I used when developing robot.
86

Figure 8.2 : Screen Used For Control Robot Movement

Figure 8.3 : Screen Used To Test Auto Cycle Movement


87

8.3 Error Recording Program (FC250)

I had written some special program that could record down some valuable
data that can be used for debugging process. This is program will monitor entire
sequence and immediately will record down if the drives or PLC stop in
abnormal way. Figure 8.4 show some of the code from FC250 to recording error.
I written error recording program using statement list language due to I need fast
processing program and complex algorithm is involved in this program.

Figure 8.4 : Error Recording Program


88

8.4 Features Of New Robot Gantry System

While developing Nilai Gantry robot system, I had come with solution for
all the problems that faced by ABB Gantry Robot previously. I had combined all
the process in single PLC which means that every process is interconnected
inside the program itself, no more messy communication wires & protocols.

I also had implemented new way of communication system which called


Profibus-Dp where it only using 2-wires to connect entire system which is
includes servo drive, plc & field devices. This definitely will eliminates wire
loosen & broken problem and will drastically will improve Mean Time to Repair
& Mean Time before Failure.

8.4.1 Simple And Reliable Control System

For the new control system I had choose Siemens s7-300 317-2dp PLC to
execute the whole control system task. This single CPU will handle work that
done by 5 CPU in previous gantry root control system. This CPU also will act as
NC control for the servo drive.

The reason I Choose Siemens 317- 2Dp Is because this CPU have large
work memory (512 Kbytes) and the load memory of the CPU can be extended
until 2 Megabyte. This CPU also capable of processing 0.05ms/1000 instructions
and come with MPI and DP connector (DP master or DP slave).It Also can be
multi-tier configuration of up to 32 modules.
89

This CPU can be used in multi master system and capable of send and
receive capability for direct data exchange. Another reason why I choose
Siemens PLC is because, I had been trained in this PLC and I’m also certified as
Siemens PLC Engineer in Germany. I have extensive knowledge in Siemens
PLC, so that it can help me to complete the project.

For the drive, I had chose Lenze 9300 Positioning Servo Drive. This drive
is able to communicate with PLC using Profibus Communication. This allowed
me to reduce bulk of wires and increase data exchange between PLC and drives.
This drive also can be pre-programmed, that mean I don’t need to memorize
exact location in PLC, the drive will take care the positioning.

For the Human Machine Interface (HMI), I had choose Siemens MP 277
10” Touch Screen. This HMI unit is capable of data logging, recipes
management, alarm management and communicate with PLC using Profibus -
2DP Protocol.
90

Figure 8.5 : Siemens 10” Touch Screen For Gantry Robot

Figure 8.6 : Siemens S7-317-2DP CPU


91

Figure 8.7 : Lenze 9300 Positioning Servo Drives

8.4.2 Easy Maintenance & Troubleshooting Process

I had studied & identified the best way to write the program so that the
machine able to self diagnose any fault and problem and the machine itself will
locate the fault and suggesting the solution for the problem. The machine also
will completely show what is the current status of the robot‘s system. The plc &
drive can communicate with external pc using USB-serial cable connection and
the settings & program can easily backup and downloaded into drive or plc in
case of failure or when changing new drive or plc. This downloading process
took only few minutes. After downloading new program, robot directly can
continue the process without need to reset any parameter.
92

8.4.3 One Touch Button Control Concept

The robot will have single button to execute the whole robot operation.
The robot will do self checking for the position & any interruption and suggest to
operator for the solution and only allow the user to run the robot after all the
errors or faults have been rectified. User also has option to run robot without
running loading or unloading process. This will helpful when we have any
problem in loading or unloading area, we can manually load the tray and robot
able to complete the task. Homing process is also made easy. Operator only need
to press one button, the robot will do the rest.

8.4.4 Optimize Movement Concept

I had to program the robot in such way that the movement will be
optimized and this will improve the process and help to reduce breakdown of the
devices (motor, gear & pulley) due to frequent movement. The algorithm that we
implement is, the robot will decide the priority of the job and will execute the job
depending on the current robot position.

If the robot is at loading area and there is two request coming in , first
from unloading area and second request is from the Ipsen big tray loading area.
The robot wills analysis the priority of the task, in this case the tasks have the
same priority and then the robot will analyze the current location and will
execute the job which is near to the current location.
93

In this case it will execute the Ipsen big tray loading process because the
location of big tray Ipsen is near to loading area compare to unloading area and
then only will execute unloading process.

After complete the task at unloading process, the robot will idle at that
position without returning to home position. Robot will not return to home
position. From the example above, the movement of robot has been minimized
and this definitely will increase robot’s efficiency.

8.4.5 Improved Safety

I had implemented better safety gate control algorithm. User need to get
permission from the robot before enter the cage. Robot will complete current task
and then it will go to the safety position and will lower down the arm and then it
will unlock the cylinders and after that only it will unlock the safety gate and
allow people to enter the cage. This will make sure that people that going into the
cage will safe.

In the case of maintenance (troubleshoot) purpose, maintenance worker


can enter the cage to troubleshoot by unlock the safety gate manually without
request permission from the robot , but anyhow robot still will acknowledge the
present of people inside the cage and robot automatically will reduce the speed to
the minimum and continue operation as usual.
94

This will help people to do troubleshoot and the same time will not stop
the operation. This is also ensuring the safety of worker because robot is moving
in minimum speed.

I also implementing safety relay in hard wiring. Safety relay is


mechanical device will cut off the power to the field devices even the plc fail to
do so. This will 100% make sure that the devices won’t get the power until user
latch the button (mechanical device).Figure 8.8 shows the safety relay that used
for this project.

Figure 8.8 : Safety Relay Used For The Project

8.4.6 Improved Tray Scanning Process

Robot tray clamping unit will equipped with IFM optical sensor. This is
to scan the existing of the tray from the top without need to go down and detect
the present of tray. This process is only executed when needed or after manually
remove or adding tray. Otherwise robot will memorize the amount of tray and
will always update it in the memory. User also can alter the value of tray at touch
panel and the robot always update the value at the touch panel.
95

8.4.7 Variable Speed Control To Improve Process Time

Robot will have 4 different speed operating mode. This is to improve the
process cycle time and also to ensure the safety. All the speed’s value is
predefined but user is able to change the set point and limit in the touch panel.
But this option is only allowed to be executed by the authorized person and this
operation needs to enter supervisor password in the touch panel.

8.4.8 Touch Screen For The Robot

I am using 10inch touch screen for the entire robot system. The touch
screen will allowed user to interact with the system easily. Any information
regarding the system can be obtained from the screen.
Every alarm message together with the suggestion to solve the problem
will be shown in the touch screen. User also can monitor inputs and outputs of
the system in the screen.

Selection for settings and to adjust any timer or speed value can easily
done through touch panel. The system is also able to run the robot in case of
touch screen is fail. The systems also have factory set value stored inside the
plc’s memory. User can set back all the data in one touch.

Every data will be stored inside the PLC itself, and the system is not
depend on the touch screen to execute the task. In the case of touch screen fail,
robot still can run without touch screen.
96

The queue of the upcoming task that will be executed by the robot also
will be updated in the screen, this will help operator to diagnose and troubleshoot
in case of the task is not executed.

The touch screen also will guide through the user in case of breakdown so,
the small stop can be avoided and production technician able to solve simple
issue without involving maintenance technicians. This will reduce stop time and
increase productivity.
CHAPTER 9

CONCLUSION AND RECOMENDATION

9.1 Conclusion

For this project I had achieved the objectives of the projects. The gantry robot
is currently under operations and running without any problems since July
2009.Controling gantry robot using PLC is proven to be one of the best solutions
because the system can work perfectly as it controlled by CNC and thus the
development cost is much cheaper.

The projects completed in time and had become pilot project for SKF
worldwide. These projects also become one of the most successful projects in
SKF worldwide for year 2009.SKF Nilai had requested from other sister
company from worldwide to upgrade their gantry system using the same concept
that developed in SKF Nilai.
98

9.2 Recommendation

My recommendation is that, in future the robot should equip with


imaging system, so that the robot it can improve the robot response. Using
imaging device also can provide more information for the robot, this will
improve safety for robot handling process. I’m recommending Keyence imaging
device model CV-701a as shown in Figure 9.1 should used for the system
because this imaging device is can communicate through Profibus-DP network.
This will make integration with existing system will be easy and less
programming effort is needed.

Figure 9.1 : Keyence Imaging Device

I also recommend that, in future the PLC should have drive


synchronization programs so that the movement of the drives can be linear so
that the movement of axis will much smother. Current system moves the 3 axis
independently with any synchronization. This makes the movement is rough.
99 

REFERENCES

1. Erickson, K. T. (2005). Programmable Logic Controllers: An emphasis on


design and application. Dogwood Valley Press, LLC, 1604 Lincoln Lane
Rolla, MO, USA.

2. Bolton, w., Programmable Logic Controllers: An Introduction, Butterworth-


Heinemann, 1997

3. Clements-Jewery, K., Jeffcoat, W., The PLC Workbook; Programmable


Logic Controllers made easy , Prentice Hall, 1996.

4. Siemens AG. S7-400 and m7-400 programmable controllers - hardware and


installation., September 2004. URL
http://www.siemens.co.jp/simatic/japan/as/plc/data/400/424ish\_e.pdf.

5. Fieldbus technology, June 2009. URL


http://murray.newcastle.edu.au/users/students/1999/c9518176/fieldbuste

6. Profibus - profibus & profinet., June 2009. URL


http://www.profibus.com/profibus.html.

7 Lenze Drive Configuration Manual , June 2009 .URL


http://www.lenze.com/lenze.com_en_active/040_Services/060_Application_
Knowledge_Base/Application_Knowledge_Base.com.jsp?cid=0b0164e0800
91546 

You might also like