Sie sind auf Seite 1von 5

See

discussions, stats, and author profiles for this publication at: http://www.researchgate.net/publication/281841746

Service Orchestration for Flexible


Manufacturing Systems using Sequential
Functional Charts and OPC UA
CONFERENCE PAPER SEPTEMBER 2015

READS

49

3 AUTHORS:
Florian Pauker

Iman Ayatollahi

TU Wien

TU Wien

8 PUBLICATIONS 2 CITATIONS

7 PUBLICATIONS 1 CITATION

SEE PROFILE

SEE PROFILE

Burkhard Kittl
TU Wien
12 PUBLICATIONS 28 CITATIONS
SEE PROFILE

All in-text references underlined in blue are linked to publications on ResearchGate,


letting you access and read them immediately.

Available from: Florian Pauker


Retrieved on: 30 November 2015

International Conference on Innovative Technologies, IN-TECH 2015,


Dubrovnik, 09. - 11.09.2015

Service Orchestration for Flexible Manufacturing Systems using


Sequential Functional Charts and OPC UA
F. Pauker 1, I. Ayatollahi 1 and B. Kittl 1
1

Institute for Production Engineering and Laser Technology Vienna University of Technology,
Getreidemarkt 9, 1060 Vienna, Austria

Keywords: SOA, OPC UA, Grafchart, Machine Tending, SFC, RMC, FMC
Abstract. Flexible manufacturing cells (FMC) consist of machine tools, handling devices and some peripheral
components e.g. conveyor belts or work piece magazines. In the scope of a smart factory with a serviceoriented architecture (SOA), each active component offers its capabilities as services. These services
represent mechatronic functions of the equipment. The FMCs controller aggregates these services in order to
generate cell services and offer them to superordinate systems. OPC Unified Architecture (OPC UA) is a stateof-the-art technology for information modelling and data exchange in industrial automation.
In this paper we describe the use of a graphical control language to facilitate generation of FMC services and
for orchestration of the cell components services. The software tool JGrafchart was deployed to design
extended Sequential Functional Charts (SFC), representing the orchestrated services. The runtime
environment of JGrafchart acts as operation control of the prototypic FMC. The component services are offered
to the network environment as methods in the address space of dedicated OPC UA servers. Action statements
associated with JGrafchart steps call these OPC UA methods. State variables of the components exposed by
OPC UA servers are read by JGrafchart to evaluate transition conditions between the steps.
This approach was deployed in the learning and innovation factory at the Vienna University of Technology, on
FMCs consisting of Emco Concept machine tools and ABB robots.
Introduction
The concept of Reconfigurable Manufacturing Systems (RMS) seems to be a proper way of responding to changing market demand.
From the software viewpoint, the biggest challenge presented by RMS is the complexity of implementing configuration changes in any
existing application software. These limitations could be overcome by integrating the concepts of Service-Oriented-Architecture (SOA),
originally developed to be used in business processes, into the factory automation domain, which is characterized by a multitude of
heterogeneous devices, networks, specific protocols and applications [1]. The use of the paradigm of service-oriented architectures in the
context of industrial automation systems could significantly decrease the effort for integration and programming of automation
components. Basic aspects of this approach are the standardization of communication interfaces and the functional encapsulation of
mechatronic functions that enable flexibility and an improved control of complexity for automation systems. The basic functions of the
manufacturing equipment that execute and monitor the production process are represented as basic services. These basic services are
sometimes referred to as mechatronic functions since they have a direct contact with the process and represent the actual actions of the
real machinery. Multiple basic services can be aggregated to composed services to raise the level of abstraction of the control application
[2]. The control software is created by orchestrating composed services. Each service has a number of operations that can be executed
for accessing the functionality of the respective device [3]. In this paper we describe the development of a cell control for a Robotized
Manufacturing Cell (RMC) based on the concepts of Service-Oriented-Architecture. As a specificity of general Flexible Manufacturing
Cells (FMC), this RMC consists of an EMCO Concept Mill 55 (a PC-controlled 3-axis Milling Machine for universal CNC Training), an ABB
IRB 120 (a six-axis multipurpose industrial robot with IRC5 Compact Controller) and a pallet magazine. Communication between cell
controller and devices such as machine tool or robot is based on OPC Unified Architecture (UA), the latest OPC standard specification
provided by the OPC Foundation for interconnectivity in state-of-the-art industrial automation technology. By defining abstract services,
OPC UA provides a SOA for industrial applications [4]. For service orchestration we use JGrafchart that has been developed at the
department of Automatic Control at Lund University. It is based on ideas from Grafcet / Sequential Function Charts, Petri nets, Statecharts
and object-oriented programming [5]. The interpretation is performed in real-time in connection with the external environment. In the latest
version JGrafchart also provides an OPC UA Client [3].
Cell Control Architecture
The cell control architecture of the robotized manufacturing cell is depicted in Fig. 1. Machine tool controller and robot controller have
been equipped with OPC UA servers that expose all the necessary status information and the operations provided by the cell components
(loading doors, chucks, tools, NC programs, etc.) to the cell controller acting as an OPC UA client. The respective OPC UA servers have
been developed at the Institute for Production Engineering and Laser Technology and expose the components of the cell devices by the
information models instantiated in the address space of the servers. These information models have been derived from a domain model
for robotized manufacturing cells. Manufacturing orders are handled by the operation control function of the cell controller based on
JGrafchart in a hierarchical manner. Basic services (mechatronic functions) provided by the devices (such as open door or close chuck)
are exposed by the OPC UA servers as OPC UA methods. These basic services are then aggregated to composed services (cell level
services) used for the definition of order handling processes in accordance with the respective cell configuration. The chosen granularity
of the cell level services allows easy orchestration of order execution processes on one hand and sufficient flexibility for considering a
variety of cell configurations (robot tends one or more machines) on the other hand.

International Conference on Innovative Technologies, IN-TECH 2015,


Dubrovnik, 09. - 11.09.2015

Operation Control (JGrafchart)


move
move

Unload machine tool


Load Machine tool
open_gripper
close_clamps
open_gripper

clamp

move
move

OPC UA Client

OPC UA
Server Robot

OPC UA
Server Mill

Fig. 1 Cell control architecture for the robotized manufacturing cell


Cell level services
In Table 1 the main cell level services for a simple RMC are described briefly. For better comprehension of the services, positions
necessary for safe robot arm movement are illustrated in Fig. 2. For each component accessible to the robot end-effector a pre-position
needs to be defined (MTPrePos and PalMagPrePos). In the machine tool working area, in addition to the actual loading and unloading
position pre- and end-positions should be defined to ensure collision-free movement of the robot arm. Robot arm movements towards
pre-positions and from end-positions can so be done faster. Similar applies for the positions at the work piece magazine, where for each
work piece location also pre- and end- positions are defined. Well defined coordinate offsets for the locations on the specific pallet holding
work pieces can also facilitate reconfiguration of the cell.
Table 1. Cell-level services of a RMC
Service
Pick work piece

Load machine tool


Machine work piece
Unload machine tool

Place work piece

Description
For picking a specific work piece the robot moves its TCP successively to the positions PalMagPrePos,
PalMagPickPrePos and PalMagPickPos (see Fig. 2) This sequence with well-defined poses ensures
collision free movement. At PalMagPickPos the gripper closes, gripping the work piece. Robot moves TCP
to PalMagPickEndPos (can also be the same as PalMagPickPrePos) and then to PalMagPrePos.
Machine tool locks its working area internally and then opens its safety door. Robot loaded with work piece
moves its TCP successively to the positions MTPrePos, MTLoadPrePos and MTLoadPos. Machine tools
clamping system clamps the work piece. Robot gripper releases work piece. Robot moves TCP to
MTLoadEndPos and then out of the machine tool to MTPrePos.
A NC-program is assigned and the machine tool starts the cutting process according to the program.
Robot moves its TCP successively to the positions MTPrePos, MTUnloadPrePos and MTUnloadPos.
Robot grips the work piece. Machine tools clamping system releases the work piece. Robot moves TCP to
MTUnoadEndPos and then again out of the machine to MTPrePos.
Robot arm moves TCP to a specific place position for the work piece by successively moving its TCP to the
positions PalMagPrePos, PalMagPlacePrePos and PalMagPlacePos. Robot gripper releases work piece,
and the TCP moves back using the backward path over PalMagPlaceEndPos to PalMagPrePos.
PalMagPickPrePos,
PalMagPickEndPos,
PalMagPlacePrePos,
PalMagPlaceEndPos

MTLoadPrePos,
MTLoadEndPos,
MTUnloadPrePos,
MTUnloadEndPos

PalMagPickPos,
PalMagPlacePos

MTLoadPos,
MTUnloadPos

PalMagPrePos

Work piece magazine

MTPrePos

Robot

Milling Machine

Fig. 2 Illustration of defined positions for machine tending operations

International Conference on Innovative Technologies, IN-TECH 2015,


Dubrovnik, 09. - 11.09.2015

In Fig. 3 in general the cell-level service Load Machine Tool is shown in a UML sequence diagram. This sequence includes operations of
both components, the robot and the machine tool. Previous service requests should already have brought the cell in a proper state (raw
work piece is gripped and robot ready at position MTPrePos, machine tool is ready for operation).
At first the operation control sends a request to the machine tool, asking to get ready for an upcoming loading operation.
Asynchronously, internal machine tool operations clear the working area (axis move to specific positions) and lock it, so that during the
loading operation no collisions with the incoming robot arm or work piece can occur. When done the machine tools state is changed and
triggers an event, that it is ready for loading. The cell controller then sends a request for opening the safety door of the machine tool.
When the condition is door open of the machine tool component SafetyDoor is true, the Robot moves along a path from MTPrePos via
MTLoadPrePos to the position MTLoadPos (see also Fig. 2). When the TCP reaches MTLoadPos the clamping system of the machine
tool (controlled by machine tool control) clamps the work piece, when done, the robot gripper releases the work piece, and the TCP moves
out of the machine tool working area to MTPrePos via MTLoadEndPos. After that, it is safe for the machine tool to close its safety door.
At the end, the cell controller informs the machine tool control that the loading is finished. The machine tool unlocks its working space and
is then ready for a machining operation.
SD_Load machine tool
:CellController

:Robot

:Robot.Gripper

:MachineTool

notify upcoming loading operation

:MachineTool.
SafetyDoor

:MachineTool.
ClampingSystem

lock working area

ready for loading


open()
door open
moveTo(MTPrePos)

MTPrePos reached
moveTo(MTLoadPrePos)

MTLoadPrePos reached
moveTo(MTLoadPos)
MTLoadPos reached
clamp()
clamped
open()
opened

moveTo(MTLoadEndPos)
MTLoadEndPos reached
moveTo(MTPrePos)

MTPrePos reached
close()
door closed

loading finished

unlock working area

ready for machining

Fig. 3 Simple UML sequence diagram of the cell level service Load machine tool (without error handling)
JGrafchart as graphical operation control
As recommended in [6] Grafchart can be used for batch control. The experiments using JGrafchart and OPC UA for control operations
illustrated in [7] were only carried out in a laboratory and not in an industrial environment. Fig. 4 shows complex sequences, typical for
industrial applications and how they can be realized in JGrafchart. A JGrafchart program consists of a function chart that represents an
activity flow. By convention the flow goes from the top of page to the bottom of page.
The two main building blocks in Grafcharts are steps and transitions. The actions associated with the steps are expressed in a textual
action language beside each step and are typically performed when the step is activated. For structuring the code and avoidance of
redundant code, Procedures can be created. Procedures have an internal function chart with an Enter Step and Exit Step. Using
Workspace Objects allows designing charts in an object-oriented way [5]. As illustrated in Fig. 4, the cell level services are defined as
Procedures at the top level of the application (Top: Cell). Here also the Work space ConceptMill55 is defined, which encapsulates the
Procedures on the milling machine, e.g. Open door. The Procedures are called via Procedure Steps depicted in Cell.Load machine tool.
At the top level the connection objects are also defined, in this case the OPC UA connection objects. These objects allow connecting
actions with OPC UA methods and transitions with variables of the address space. In Fig. 4 the Procedure Cell.ConceptMill55.Open door
is also shown. First, in the Enter step the OPC UA variable Door_Status of the machine tool is subscribed. As next step the actual OPC
UA method Open_Door() is called. In the second transition, when the value of the subscribed variable changes to OPEN, the exit step
becomes active. Since during the exit step no action needs to be set, the procedure ends.
With this approach based on JGrafchart, the set of services can be extended easily in case of a reconfiguration of the cell, for example
integration of peripheral devices such as deburring machines with OPC UA connectivity.

International Conference on Innovative Technologies, IN-TECH 2015,


Dubrovnik, 09. - 11.09.2015

S opcSubscribe(Cell.ConceptMill55.
Loading_Door.Door_Status.Value);

S ret = Cell.ConcpetMill55.
Loading_Door.Open_Door();
Cell.ConcpetMill55.Loading_Door.Door_Status == "OPEN" ;

Caption
Transition

Procedure
Step

Workspace
Object

Step

Procedure

Enter Step

Exit Step

Fig. 4 The JGrafchart project Cell and OPC UA address space of the machine tool (edited screenshots)
Conclusion
This paper has presented a way for service orchestration of a RMC based on SOA paradigm and OPC UA communication. Using a
graphical control language to define abstract services from basic mechatronic functions facilitates the reconfiguration and increases the
flexibility of such manufacturing cells. Using the object oriented paradigm JGrafchart is a good solution for defining services and extend
them with new ones. The support for OPC UA in JGrafchart is well integrated, but to reach the full functional range of OPC UA and simplify
the sequence creation there is a need for mapping conditions to OPC UA events and use OPC UA alarms for exceptions.
To reduce the effort for reconfiguration and increase the flexibility of manufacturing systems it is important to provide a set of
predefined domain specific functions of devices, preferably in a standardized language such as UML or Grafchart. If procurable these
services could be represented as OPC UA Objects in the address space of the component servers.
Acknowledgement
This project was realized within the scope of the project OPC4Factory [8] funded by the Austrian Research Promotion Agency (FFG).
The authors would like to thank the Department of Automatic Control at the Lund University for JGrafchart. Special thanks go to Charlotta
Johnsson and Alfred Theorin for provision of JGrafchart with OPC UA support.
References
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]

C. Groba, I. Braun, T. Springer, and M. Wollschlaeger, A service-oriented approach for increasing flexibility in manufacturing, in
IEEE International Workshop on Factory Communication Systems, 2008. WFCS 2008, 2008, pp. 415422.
F. Jammes, H. Smit, J. L. M. Lastra, and I. M. Delamer, Orchestration of service-oriented manufacturing processes., in ETFA,
2005.
J. Hagsund, Implementation of Service Orchestrated control procedures in OPC UA for JGrafchart, 2014.
S.-H. Leitner and W. Mahnke, OPC UAservice-oriented architecture for industrial applications, ABB Corp. Res. Cent., 2006.
A. Theorin, Adapting Grafchart for Industrial Automation. 2013.
C. Johnsson and K.-E. \AArzn, Grafchart for recipe-based batch control, Comput. Chem. Eng., vol. 22, no. 12, pp. 18111828,
1998.
A. Theorin, J. Hagsund, and C. Johnsson, Service orchestration with OPC UA in a graphical control language, in Emerging
Technology and Factory Automation (ETFA), 2014 IEEE, 2014, pp. 16.
IFT, OPC4Factory, OPC4Factory, 15-Jul-2015. [Online]. Available: http://www.ift.at/forschung/foschungsprojekte/opc4factory/.
[Accessed: 15-Jul-2015].

Das könnte Ihnen auch gefallen