Isa95 - Arquitectura Opc
Isa95 - Arquitectura Opc
Isa95 - Arquitectura Opc
Thesis submitted for examination for the degree of Master of Science in Technology.
Espoo 5.5.2010
Thesis supervisor:
Thesis instructor:
A!
Aalto University
School of Science
and Technology
aalto university abstract of the
school of science and technology master’s thesis
Preface
This thesis has been written at the laboratory of Information and Computer Systems
in Automation at the School of Science and Technology at the Aalto University and
is a part of the POJo research project.
I would like to thank my instructor Ilkka Seilonen for all the instruction and guidance
during this process. I am also grateful to my supervisor, professor Kari Koskinen for
giving me the opportunity to work in this research group during my studies. It has
been pleasant to work with such great people in this stress free atmosphere.
I sincerely thank my dear mother for sending me to school every morning and for all
the encouragement and support during my later studies in academia. Words cannot
express the gratitude I feel for the possibilities you have provided me for my life.
Finally, I wish to thank you Noora for the love, support and patience.
Otaniemi, 5.5.2010
Jouko Virta
v
Contents
Abstract ii
Preface iv
Contents v
Abbreviations viii
List of Figures x
1 Introduction 1
1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1 Research questions . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.2 Research methods . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Outline of the thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
8 Conclusions 53
8.1 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
8.2 OPC UA in application integration . . . . . . . . . . . . . . . . . . . 53
8.3 Business process integration-oriented design . . . . . . . . . . . . . . 54
vii
References 57
viii
Abbreviations
List of Figures
1 The functional hierarchy model . . . . . . . . . . . . . . . . . . . . . 5
2 The manufacturing operations management model . . . . . . . . . . . 6
3 The production operations management activity model . . . . . . . . 7
4 An example of an OPC UA object node . . . . . . . . . . . . . . . . . 17
5 The domains of the essential parts of the standards . . . . . . . . . . 19
6 The ISA-88 physical model . . . . . . . . . . . . . . . . . . . . . . . . 21
7 The ISA-88 recipe hierarchy . . . . . . . . . . . . . . . . . . . . . . . 21
8 The ISA-88 control activity model . . . . . . . . . . . . . . . . . . . . 23
9 The BatchInformation data structure . . . . . . . . . . . . . . . . . . 26
10 The system hierarchy of the research environment . . . . . . . . . . . 27
11 The use case diagram of the production operations integration . . . . 32
12 An overview of the designed system environment . . . . . . . . . . . 37
13 The class diagram of the PCS data structures . . . . . . . . . . . . . 39
14 The sequence diagram of the PCS activities . . . . . . . . . . . . . . 39
15 The sequence diagram of the MES activities . . . . . . . . . . . . . . 41
16 The integration server architecture . . . . . . . . . . . . . . . . . . . 42
17 The sequence diagram of the AddControlRecipe business process . . . 43
18 The sequence diagram of the UpdateScheduledBatch business process 44
19 The sequence diagram of the ReportBatchRecord business process . . 44
20 The UA2XML conversion . . . . . . . . . . . . . . . . . . . . . . . . 45
21 The implemented integration environment . . . . . . . . . . . . . . . 46
22 The address space of the MES OPC UA server . . . . . . . . . . . . . 48
23 The address space of the DCS OPC UA server . . . . . . . . . . . . . 48
24 An example of the implemented workflow diagrams . . . . . . . . . . 50
25 The class diagram of the implemented integration server . . . . . . . 51
1 Introduction
1.1 Background
A modern manufacturing company contains many information systems, for example
a resource planning system for business-oriented company administration, a
manufacturing execution system for monitoring and controlling the manufacturing
processes and automated process control systems for controlling the process
equipment. It may also employ many subcontractors which again have their
own information systems. This means that the supply chains are long yet the
manufacturing company needs to manage the chain information in real-time. These
mentioned systems are often implemented by different system providers, use different
terminology, interfaces, protocols and data structures, have different considerations
of importance of information and may situate all over the world.
In the modern markets, the manufacturing companies need to be efficient; they must
be able to adapt to the market changes, provide a wide range of products and their
production processes must be cost-effective. This requires that the information flow
within the manufacturing company’s own information systems as well as between the
systems of other companies in the supply chain needs to be fluent; the information
systems must be integrated to each another and there shall not be any communication
breaks between the systems.
In order to achieve the required efficiency, the integration of manufacturing operations
management must be implemented between the information systems. This may
mean both vertical and horizontal integration in the company system hierarchy. The
integration is however a complex task and some techniques have been developed to
simplify the many problems.
OPC Unified Architecture (OPC UA) is a new standard for communication in
industrial applications developed by the OPC Foundation. An important motivation
for OPC UA has been the drawbacks of the previous OPC specifications. Because of
this, OPC UA contains several important enhancements, for example the service-
oriented architecture (SOA), data security and configurable information models. The
configurability of the information models makes it possible to utilize standardized
data models, e.g. ISA-95 and ISA-88, in conjunction with OPC UA. However, there
are not yet many experiences how the mentioned standards should be used with
OPC UA and what would be the actual benefits of this.
The manufacturing execution systems (MES) have increasingly been adopted
as information systems for production operations management in manufacturing
companies. The ISA-95 standard is a partially finished standard aimed for enhancing
the development of MES applications and integrating them to other information
systems of manufacturing companies, particularly enterprise resource planning (ERP)
systems. The ISA-95 defines the production operations management activity and
data models which may be used together with the respective models of the ISA-88
for batch process automation. In the case OPC UA will be used as a communication
2
1.2 Objectives
Since the integration of manufacturing operations management is such a big problem,
the scope of this study is limited; it lays in the integration of production operations
management activities between a manufacturing execution system and a process
control system in the context of batch process management. The purpose of this
study is to present an approach for combing the OPC UA technology with an SOA-
based middleware and the ISA-88/95 standards for the integration of production
operations of a manufacturing execution system with a process control system.
The approach contains the identification of the requirements of the production
operations management integration that can be enhanced with the utilization of the
mentioned techniques and a software design that enable the combination of them.
The design is evaluated with an experimental implementation. The properties of the
design are assessed in order to make conclusions about the approach and to propose
topics for further research and development.
This thesis is made as a part of the POJo 1 research project. As a result of the project,
a ”testbed” environment is implemented. It is a system environment which aims
to demonstrate a real manufacturing company with its many information systems,
including a manufacturing execution system, an enterprise asset management system,
a distributed control system and a condition monitoring system. The testbed is
intended to provide a platform for future research as well as for educational student
projects.
The main research question in the scope of this thesis was the applicability of the
OPC UA technology to the integration of information systems in manufacturing. The
goal was to evaluate the features of the OPC UA technology in the service-oriented
application integration as extensively as possible within the boundaries of this thesis.
In the context of the integration of production operations management, the goal
was to find a reasonable design for an integration solution using the service-oriented
architecture, the OPC UA technology and the ISA-88/95 standards. The design
proposed in this thesis covers the data exchange interfaces of the information systems,
the representation of the data as well as the architecture of an SOA-based integration
solution.
1
POJo is a research project in the second work package of the Intelligent and resource-efficient
production technologies research program, EffTech, of Forestcluster Ltd. The project is funded by
Tekes.
3
Also the application of the data structures of the ISA-88/95 standards and their
suitability to the application integration using them in configurable address spaces
of OPC UA servers was studied.
The requirements for the integration of the production operations management were
identified based on a review of relevant literature and other existing research on
the subject. The service-oriented application integration itself is quite extensively
studied already. However, quite few publications concerning the application of
OPC UA in the application integration are released and they are rather preliminary.
Also the topic of application of the ISA-88/95 standards in the manufacturing-to-
shop floor integration seems to be still more or less theoretical; few publications of
implementations exist.
Based on the identified requirements, an integration design is proposed. The design
is then evaluated with the help of an experimental prototype implementation and
test scenarios.
The part 1 of the ISA-95 standard defines a functional hierarchy model, which
represents the hierarchy of the information systems of a manufacturing company
divided into levels. The functional hierarchy model is shown in the figure 1 and
explained below.
The level 4, ”Business planning and logistics” includes the enterprise-level
functionalities which are often represented by an enterprise resource planning (ERP)
system. An ERP system provides tools for managing the business-related activities
of a manufacturing company. The most important function group of an ERP system
5
Level 4
Level 3
Manufacturing operations & control
Level 2,1,0
Batch Continuous Discrete
process process process
is the finance management (FIM) which is used for accounting, sales and financial
functions. Other important functions are the supply chain management (SCM), the
human resources management (HRM) and the supplier relationship management
(SRM). The SCM functions are used for planning the medium- and long-term material
and energy requirements and the logistics involved in the manufacturing process.
The HRM functions are used for managing the personnel of the company and the
SRM for managing the supplier relationships, i.e. customer information which is
important for the sales, marketing and purchasing functions of the company. The
time horizon in the enterprise domain processes is days, weeks, months or even years.
[5]
The level 3 is the production management layer, which contains the manufacturing
execution functionalities. The level 3 functionalities will be examined in detail
in the next section. The time frame of the level 3 processes range from days to
seconds. Levels 2 and 1 contain the process control functions. The level 1 contains
sensitive and manipulative functions and typically has a time horizon of seconds or
less whereas the level 2 contains functions for monitoring and controlling the process
and typically operates on time frames of hours, minutes, seconds or even less. The
level 0 is the process itself. The combination of the MES- and PCS-layers is referred
as the control domain.
The part 1 of the ISA-95 standard includes the functional enterprise-control model
which defines the 12 main functions of a manufacturing company. The names and
importances of the functions may vary between the different companies but the
functions still exist on some extent [6]. The functional enterprise-control model
also presents the information exchange interactions between the functions. What
is of great significance, the model represents whether the functions belong to the
enterprise domain, control domain or both. The dotted line represents the interface
between the enterprise and control domains and divides the functions accordingly.
6
The functional enterprise-control model is studied in more detail in the part 3 of the
ISA-95 standard where the manufacturing operations management model is defined.
The model is presented in the figure 2 and explained below.
Production
scheduling Production operations
management
Production Inventory
control operations
Product
management
Material and inventory control
energy control
Quality operations
Inventory operations
management
management
Quality
Maintenance operations assurance
management Marketing
& sales
Procurement Maintenance RD &
management engineering
Detailed Level 3
production
scheduling
Production
Production
resource
tracking
management
Production
Production
performance
dispatching
analysis
Production Production
definition data
management collection
Production
execution
Equipment and
management
process specific
Equipment and
production rules Operational Operational process specific data
commands responses
Levels 2,1,0
Production level 1-2 functions
level systems [9]. The Manufacturing Enterprise Solutions Association (MESA) was
the first organization to define the requirements of an MES by publishing a paper
which defined 11 functionalities of an MES [7]. These functionalities are explained
briefly below.
5. Data acquisition: The production data must be collected from the factory
floor in order to implement the production analysis, tracing and tracking
functionalities based on the actual production information.
6. Labor management: The labor management includes for example work time
logging, task allocation and activity tracking functionalities.
10. Product tracking: The previously collected production data can be used
to trace individual end products or batches. The tracking covers the entire
production chain, including even the material quality information from the
subcontractors.
• Information-oriented
• Business process integration-oriented
• Service-oriented
• Portal-oriented
1. A graphic tool to create and define the execution logic of a business process
model.
2. A business process engine which controls the execution of the business processes.
3. A user interface for monitoring and controlling the execution of the business
processes.
MES, human-machine interface (HMI) and supervisory control and data acquisition
(SCADA) system integration is speculated. A study by Schleipen [17] presents OPC
UA as a mechanism for the automation of the configuration of control systems and an
applicable communication mechanism for the automated engineering. The study also
demonstrates an implementation where standardized computer-aided engineering
exchange (CAEX) information is exchanged using OPC UA. The study proposes
that the engineering data should be integrated in the address space of the OPC UA
servers of the control systems as standardized information models.
the hypertext transfer protocol (HTTP) with web services using human-readable
XML-format SOAP messages. The binary protocol provides better performance
compared to HTTP/SOAP and it requires the minimum processing resources thus
it can be used with performance-critical, embedded systems. Being text-based, the
HTTP/SOAP protocol requires more processing, and it can be used in systems,
where the data should be managed in a human-readable format. The OPC UA
applications communicate using the SOAP protocol through HTTP and HTTPS
ports, which causes no problems with firewalls. [19]
The OPC UA technology introduces a configurable address space in which data
can be represented with complex relations using node metadata to form a full mesh
network. This means that the information exchanged using OPC UA can easily
follow standard information models, for example the ISA-88/95 data structures. The
OPC UA address space consists of nodes, which represent objects, variables, methods
and types. An object node structure corresponds to an object in the object-oriented
programming (OOP) paradigm. It can contain attributes, other objects, variables
with readable data values and methods which can be remotely called to execute
functionalities. It can also raise events to transmit data asynchronously. [19]
An overview of an object node structure is visualized in the figure 4. It shows an
example of an OPC UA object and its references in the address space. The object
is named ControlValve and is of type ControlValveType which again is a subtype
of the ValveType type. The object contains variables Setpoint and Value. It also
contains another object, Configuration, which contains variables OpenLimit and
CloseLimit. The ControlValve object also contains a method, SetTarget. The object
can send notifications of data modifications and events.
Value
ValveType
Write data Configuration
OpenLimit
CloseLimit
Invoke methods
SetTarget
HasSubtype
Object ObjectType Variable Method HasTypeDefinition
HasComponent
• Discovery service set contains the services that allow OPC UA clients to
discover endpoints provided by an OPC UA server.
• SecureChannel service set defines the services that allow clients to establish
a secure communication channel with a server. In the secure communication,
the confidentiality and integrity of the exchanged messages is ensured.
• Session service set contains the services that clients use to authenticate
users and manage sessions.
• View service set defines the services that clients use to browse the address
space of an OPC UA server.
• Query service set consists of the services that allow clients to read a subset
of data from the address space of an OPC UA server.
• Attribute service set contains the services that clients use to read and write
node attributes and variable values.
• Method service set defines the services that allow clients to invoke methods
in the address space of an OPC UA server.
• Subscription service set consists of the services that allow clients to create,
modify and delete subscriptions. Subscriptions are needed in order to receive
data changed and event notifications from the server.
• MonitoredItem service set defines the services that clients use to create,
modify and delete monitored items in the address space of a server. The
monitored items are used to monitor attributes for data changes and objects
for events.
The application developers can implement OPC UA software using the OPC UA
communication stacks through their application programming interfaces (APIs).
Software development kits containing the communication stack and an API already
exist for .NET, Java and ANSI C/C++ developers. [18]
19
3.4 Standards
In the scope of this work, two standards are essential for the production
operations management integration: the ISA-88 batch control standard and the
ISA-95 enterprise-control system integration standard. These standards and their
implementations are discussed in this section.
The domains of these standards are presented in the figure 5. The ISA-95 standard
focuses on the communications between the enterprise and manufacturing control
levels but also to defining the functionalities in the level 3. The ISA-88 is focused on
the process control level, but can also be used in communications between the levels
2 and 3.
Enterprise
ISA-95 Part 1
Level 4
ISA-95 Part 2
Site
Level 2,1,0
Batch Continuous Discrete
ISA-88 process process process
Prior to the ISA-88 standard, a few basic problems made designing and implementing
batch process systems difficult. No universal models about the batch process
equipment nor the control existed so the integration of systems from different system
providers was difficult. Also communicating about the batch process requirements
and configuring the batch process solutions was difficult as no common terminology
or models existed.
The ISA-88 standard set is intended to provide solutions to the previously mentioned
problems. It is designed to be used with batch process systems, but it is also widely
used with discrete, continuous, hybrid and storage process systems [21]. The batch
process systems designed and implemented following the ISA-88 standard provide
many benefits, like reduced batch cycle times, reduced recipe modification times,
increased batch run rates, reduced raw material loss and better data availability for
analysis functions [22].
20
The ISA-88 standard is also known as the international standard IEC 61512. The
standard consists of five parts of which the part 5 is still under development. The
parts are explained briefly below. [23]
Enterprise
may contain
Site
General recipe
may contain
Area may be
transformed into
may contain
Site recipe
Process cell
Figure 6: The ISA-88 physical model Figure 7: The ISA-88 recipe hierarchy
[24] [24]
The four lower levels of the physical model are used to describe the hierarchy of
the actual batch process equipment. A process cell contains all the lower level
22
Production Production
Recipe
planning and information
management
scheduling management
Process
management
Unit supervision
Process control
Personnel and
environmental
protection
functions to ensure that the process will be secure regardless of the higher level
control. [24, 21]
In the past decades, the manufacturing companies have been investing massively
to develop enterprise level information systems, ERPs, to improve their business
functions [6]. These functions are although largely based on the information of
the resources involved in the manufacturing. This information originates from the
process control level thus to achieve efficient and reliable ERP functionalities, the
enterprise level must be closely connected to the process control level. But since the
enterprise level systems are business-oriented and the process control systems are
engineering-oriented, there is a wide cultural gap between these two levels. Also
the large amount of information, non-uniform data structures and protocols cause
problems in the integration.
The ANSI/ISA-95 Enterprise-Control System Integration standard was developed
to close the gap [27]. It provides solutions for simplifying the integration
difficulties between the enterprise and process control levels not only by dividing
the functionalities of the level 3 to groups with clear boundaries and responsibilities,
but also by defining the terminology and the contents of the exchanged information
allowing the different systems to communicate using a standard language. The
ISA-95 is also known as the international standard IEC 62264. The standard aims
to increase the interoperability and integration possibilities while reducing the risk,
24
the exchanged information. The verb and noun parts of exchanged messages
are defined in compliance to the object models defined in the parts 1 and 2
of this standard. This part is intended to be a guideline for designing and
implementing system integration between the level 3 and 4 systems. [31]
The main focus of the ISA-95 standard is to define the manufacturing operations
and their integration between the enterprise and process control domains, meaning
the enterprise resource planning and manufacturing execution systems. The parts
of the standard are each focused to different parts of the integration as explained
above. In the scope of this work, the parts 1 and 3 play the most significant roles.
The part 1 is important because of the definitions of the system hierarchy and the
manufacturing level functions. The part 3 is significant as it defines the activities
and the related data within the level 3.
Applying the standards in practice means typically considering their viewpoints when
designing and implementing the systems. The hierarchy and activity models defined
in ISA-88/95 can be used as a basis for system design. In addition to the abstract
models, the World Batch Forum (WBF) organization has developed schemas which
represent ISA-88/95-compliant data structure implementations in XML format [33].
The schemas are written in XML schema language (XSD) defined by the World
Wide Web Consortium (W3C).
B2MML The schema that implements the ISA-95 models is called the business
to manufacturing markup language, B2MML. It is a complete implementation of
the ISA-95 standard. It defines the data structures that are meant to be a common
format in the data exchange between the enterprise resource planning, supply chain
management and the manufacturing execution systems.
are used to represent the equipment- and batch-specific production rules. It also
contains batch list data structures which are used to represent the work orders and
their schedule. The recipe data structure follows the recipe contents defined in the
part 1 of the ISA-88 standard (header - formula - equipment requirements - recipe
procedure - other information). The more detailed structures of the recipes are
defined in the part 2. The batch list structure is based on the ISA-88 standard, but
it is not a full implementation of the batch schedule data structure [34]. The batch
information and control recipe data structures according to the BatchML schemas
are visualized in the figure 9.
BatchInformationType ControlRecipeType
ID
ListHeader
0..∞ Version
Description
VersionDate
0..∞
Description
BatchInformation MasterRecipe
0..∞
0..∞
BatchID
ControlRecipe
0..∞ Header
RecipeBuildingBlock
EquipmentRequirement
0..∞
0..∞
Formula
EquipmentElement
0..∞
ProcedureLogic
BatchList
0..∞ RecipeElement
0..∞
EnumerationSet
OtherInformation
0..∞
Any Any
0..∞ 0..∞
In the latest release (V0401) of the previously mentioned schema sets, the BatchML
schemas has been included to the B2MML namespace and they both use the same
schema defining the common components. Fusing these schema sets together is
intended to simplify the standard implementations in the integration processes. [33]
4 Integration research platform
Level 4
Enterprise Resource
Planning system
Level 3
Enterprise Asset
Manufacturing Management system
Execution System
Level 2,1
Process Control
System Condition
SCADA Monitoring system
Level 0
Batch
process
monitoring the state and the health of the actuator. An OPC UA server was
implemented for accessing the condition monitoring information which is represented
by applying the OPC UA device information model which defines data structures
for device configuration and diagnostics. [36, 37]
The implemented integration system communicates with the EAM system using a
web service interface and with the CM system using the OPC UA technology. The
maintenance operations integration is evaluated with a selected set of maintenance
operations management use cases. [36]
5 Requirements of application integration
In order to reduce the production costs by shortening the product time-to-market,
minimize the production risks and for the whole manufacturing company to work
more efficiently, the information flow between the different information systems
involved in the production chain must be fluent. The data needs to be transparent
through the system level hierarchy and be available for all the manufacturing process
participants which are dependent on the information.
The production operations management activity model of the ISA-95 presented in
the figure 3 defines the production operations activity groups, their relations and
the exchanged data in an abstract level. In the scope of this work, the focus is on
the activity groups that are responsible for the data exchange between the levels
2 and 3. These three groups are the product definition management, production
execution management and production information collection. The activities and the
meaning of their efficient integration to the business of a manufacturing company
are explained below.
By implementing extensive product definition management functionalities able to
handle the growing number of product variants, it is possible to reduce the product
time-to-market delay. This makes the manufacturing company adaptive to the
changes in the market and customer habits. This requires that the product definition
functionalities can share the product definition data seamlessly with the ERP and
the process control system.
With the detailed scheduling activity group functions the manufacturing company
can optimize the work order execution according to the resource availability and many
other production-related variables. However, in addition to the efficient product
definition management, this also requires real-time data exchange communications
with the process control system. The production execution management activities
are responsible for keeping the dispatch list in touch and delivering operational
commands to the process control system.
One of the most important values for a modern manufacturing company is the
quality of the products. Controlling the quality factors during the process execution
requires an extensive production data collection functionalities in the MES level.
These activities collect all production-related data and archive it in the data storage.
This data is also important for the product tracing and tracking functionalities.
By monitoring and analyzing the quality indicators, the production process can be
adjusted and optimized to produce higher quality products. The high quality is
important value not only to the end products but also to the manufacturing process
itself. The process can be optimized by using calculated quality indicators, for
example the resource utilization, product quality and production times.
32
The use cases relevant to the integration of production operations management are
presented in the figure 11 and explained below.
Product definition
management
<<include>>
Recipe notification
<<include>>
Work order
notification
Production data
collection
<<include>>
Production data
notification
Figure 11: The use case diagram of the production operations integration
33
These use cases represent the requirements for the integration of the production
operations management between a manufacturing execution system and a process
control system. They contain the data exchange functionalities which are required
by the MES- and PCS-level activity models. As also the other activities within the
production operations management are dependent on the information integrated
in these use cases, they all three are important for efficient production operations
management of a manufacturing company.
Product definitions mean the production rules that are specific to the production
process and on the lowest level even to the process equipment and the batch itself.
With a batch process system, product definitions are represented as recipes. The
product definition management activity in the MES level handles master recipes
which are specific to the process facilities. Master recipes are based on the site
recipes, which are managed in the enterprise-level systems.
Once a batch is scheduled in the detailed production scheduling activity and a work
order needs to be dispatched to production, a batch-specific control recipe is created
and a notification is sent to the level 2 process control system which then retrieves
the recipe information. The control recipe contains the equipment-specific production
rules and information about all the required resources that will be used to produce
a single batch. When creating the control recipe, the resource availability will be
taken into account.
The process control system must be able to manage the control recipes and use them
when executing the production process. The control recipes can contain even the
simplest details about the process, but repeating all these minor details in every
control recipe is not appropriate to the efficient information managing. This is why
the process control system has an equipment-specific recipe element library where the
common process actions, for example heating or controlling material movements in
the pipes, are already defined. These actions are managed by the site engineers. The
procedure logic defined in the control recipe then only needs to contain references to
the predefined recipe elements in the library.
The production dispatching activity manages the batch process execution and
provides work orders for the process control systems according to the detailed
production schedule information. It also monitors the statuses of the work orders.
The work orders are defined in a dispatch list which is made available to the
production execution management activity. As new work orders are added, the
PCS is notified with an asynchronous event and the work order information is
synchronized between the systems.
The production execution management activity shares the dispatch list information
34
with the level 2 process control system. It can also send operational commands to the
process control system, for example to directly control the production by initiating
level 2 activities as defined in the dispatch list elements. The operating command
interface should be implemented with method-like functionalities.
The production execution management also receives information from the process
control system. This information is typically carried by asynchronous production
events and contains data concerning the production execution, for example production
phase changes, production start-up or completion notifications.
The production data collection activity gathers and manages the batch-specific
production data. This information can be delivered with asynchronous events or
synchronous readings using method-like functionalities to read data from the process
control system. The information content itself may be sensor readings, equipment
states, quality values, production process alarms, events or other information which
is of any importance to tracking or tracing the batches. The information is stored to
a data structure, which contains all the production information concerning a single
batch. This information is archived and provided for other activities or operators as
production reports.
models, for example ISA-88/95-based data structures. In addition to the simple data
integration, the interface must also support invoking functionalities remotely by
calling methods provided by an information system. Also transmitting information
with asynchronous events must be possible.
The integration technique must be suitable to handle the simple data transactions
but also integrating the method calls and asynchronous events. Since the MES
and PCS level operations must be closely integrated, the integration should not
cause unnecessary delays; the integration operations should be executed as close to
real-time as possible. Since also other systems in different hierarchy levels may need
to be integrated to the MES or PCS, the integration technique should make both
vertical and horizontal integration possible.
The integration technique needs to contain all the required integration rules to manage
the information flows between the systems. As the different systems typically use
different kinds of protocols and data structures, the integration technique should be
able to perform data transforms for the integrated information where necessary.
6 Design of the application integration
The system environment in the scope of this thesis contains a manufacturing
information system which needs to be integrated with a process control system
in order to increase the efficiency of the manufacturing processes. The application
integration needs to comply with the requirements described in the previous section.
The design proposed in this section makes the system integration flexible to changes,
feasible for both vertical and horizontal integration and compliant with the present
and future technology standards.
To enable the exchange of the information, events and commands throughout the
whole system chain, the data exchange interfaces are implemented with the OPC UA
technology. Using OPC UA, the systems can provide or access process data through
a secure interface using configurable information models. An OPC UA interface can
37
Commands
Product data Production data
OPC UA server
OPC UA
Orchestrations
Integration server Orchestrations
Orchestrations
OPC UA
OPC UA server
Production data
Batch list,
Recipes commands
Production Production
Recipe
planning & information
management
scheduling management
Process
management
clients which consume the services provided by the MES and PCS.
The systems hosting OPC UA servers provide address spaces that present the system
structures as folder tree hierarchies which contain objects representing meaningful
information, for example recipes and batch schedule entries. The connected OPC
UA clients can add and edit the information objects dynamically.
The actual production process system is a pulp batch process system controlled by a
batch process control system (PCS). The automation system is ISA-88-compatible;
the architecture of the batch process control system follows the ISA-88 control
activity model thus the three functionalities which communicate with the upper-level
system can be identified, as seen in the figure 12. Also the control procedure hierarchy
is ISA-88-compliant and the process control system can run the batch production
process automatically by following the production rules defined as ISA-88 recipes.
The schedule is represented by a production schedule data structure as defined in
the part 2 of the ISA-88 standard and the production information is collected and
reported using batch production record data structures which are defined in the
ISA-88 part 4.
The PCS has a data exchange interface for higher-level systems like an MES or
a SCADA. Through this interface, the MES product definition functionalities can
add or edit the recipe information managed by the recipe management activity of
the batch process control system. The interface is implemented using the OPC UA
technology. The PCS has an integrated OPC UA server which provides the relevant
process data to the clients using configurable address space information models. In
this integration scenario, the information models comply with the data structures
defined in the parts 2 and 4 of the ISA-88 standard. The data structures provided
by the PCS interface are represented in the figure 13.
The BatchProcess structure is created as the base object in the address space of the
OPC UA server of the PCS. The BatchProcess object contains ControlRecipe data
structures which define the batch-specific production rules that are used to control
the process equipment to produce a batch. The BatchProcess object also contains
the batch scheduling information as BatchScheduleEntry data structures which
represent the work orders dispatched from the MES level. The work orders contain
among other things a unique batch id, requested execution times and have references
to the corresponding batch-specific control recipes. The work orders are executed
automatically in the process control system on the requested times. The batch
process information is collected into BatchProductionRecordEntry data structures
which have references to the specific batches. The BatchProductionRecordEntry
data structure follows the batch production record structure defined in the part 4 of
the ISA-88 standard.
39
References
0...n ControlRecipe
BatchProcess
0...n
BatchScheduleEntry
References
0...n
BatchProductionRecordEntry
Figure 13: The ISA-88 data structures of the batch process control system represented
in a UML class diagram
The data managed in the PCS and exchanged with the MES consists not only
of recipe, schedule entry and production record entry data structures but also of
production events, alarms and remote method calls. The asynchronous events
are for example production started, paused, resumed, completed events but also
alarms which inform about unexpected events during the production process. The
methods are services provided by the PCS for example for updating the recipes or the
schedule information. The initialization, executing and reporting the batch process
information operations are presented in the figure 14 as a UML sequence diagram.
SD: PCS operations
StartProcess event
ProcessStarted
BatchProcessStarted event
Execute the
process
ProcessCompleted
BatchProcessCompleted event
Retrieve the production record
Report batch production record
At first, in the initialization stage, the PCS must be provided with a control recipe
which contains the production rules for the batch to be produced. Then a work
order which references the recipe is created in the MES level and sent to the PCS.
In the execution stage, the batch will be produced on the defined time. The PCS
raises reporting events when the batch process starts, stops or moves from a phase
to another. When the process completes, a corresponding event is raised and the
batch production record data structure is sent to the MES.
The manufacturing execution system complies with the ISA-95 standard and contains
the functionalities defined in the production operations management activity model.
In this design, however, the functionalities in the product definition management,
production data collection and production execution management handle ISA-88-
compliant data structures like recipes, schedule entries and batch production records
because the process which they connect to, is dependent on the ISA-88 terminology.
The corresponding ISA-95 data structures (product definition, production schedule
and production performance information) are independent of the process type and
therefore more suitable for communications within the level 3 and between the levels
3 and 4. [21]
The data exchange interface of the MES is implemented using the OPC UA technology.
The MES has an integrated OPC UA server which provides the relevant data to the
clients using configurable information models. The address space contains a data
structure similar to the PCS model presented in the figure 13. The data structure
represented in the OPC UA address space consists of four objects which correspond
to the three activities which communicate with the level 2 systems as defined the
ISA-95 production operations activity model.
The product definition management functions handle the product definitions as
ISA-88 recipes. The recipes which represent the different products the manufacturing
equipment is able to produce, are defined as master recipes. The master recipes
are based on site recipes which define the products that a manufacturing site is
able to produce. Batch-specific definitions on the other hand, are defined as control
recipes which contain the detailed rules and the information of the required resources
to produce a single batch. When a batch is scheduled in the detailed scheduling
activity group and a work order is dispatched to production, the MES creates an
equipment-specific control recipe according to the resource availability and saves it
to the data storage which is also accessible through the OPC UA interface.
Controlling the batch process execution is handled by the production execution
management functionalities. When a work order is created in the detailed scheduling
activity, it is dispatched to the production execution management activity where
a unique, batch-specific control recipe and a batch schedule entry data structures
are created. By creating the control recipe in the MES level, the production can be
optimized according to many variables, for example the availability of equipment
41
and other resources. After that, the control recipe and the scheduled work order
are moved to the PCS, where the batch process is executed on the defined time
according to the rules in the control recipe.
The production data collection activity manages all the batch production data. It
receives production events and alarms and collects the process information, for
example sensor readings, actuator states or any other information which is significant
for the later production tracking and tracing functionalities. The information is
stored into ISA-88 batch production record data structures.
In addition to the data structures mentioned above, the data exchange interface of
the MES implements asynchronous events and remotely invokable methods as well.
The events transmitted from the MES consist for example of control recipe added
and batch scheduled events. The methods represent functionalities for updating
the production process status and reporting the production information. A typical
operations flow of the MES is presented in the figure 15 as a UML sequence diagram.
SD: MES operations
MES Data
MES
Operator storage External system (PCS)
ControlRecipeAdded event
BatchScheduled event
BatchProcessStarted event
<<component>>
User interface
<<component>> System
Business process engine administrator
<<component>>
<<component>>
AddControlRecipe
OPC UA client adapter for MES
Business process
<<interface>>
MES interface <<component>> <<component>>
UA2XML OPC UA
<<component>> Converter Client
MES
UpdateBatchSchedule
Business process
<<component>>
<<component>> OPC UA client adapter for DCS
ReportBatchRecord
<<interface>>
Business process <<component>> <<component>>
DCS interface
UA2XML OPC UA
Converter Client
DCS
The business process engine of the integration server executes the business process
workflows which are described as graphic orchestration diagrams. An orchestration
diagram defines the business process execution path and all the data transactions and
transforms involved in the process. The business processes related to the production
operations management application integration divide again into three groups
consistent with the three integration use cases: product definition management,
production execution management and production data collection.
43
Middleware
MES PCS
Adapter:
UA2XML
conversion
Retrieve the ControlRecipe
The business processes involved in the production execution management enable the
MES to monitor and control the process execution. Among other things, the business
processes enable transmitting and editing work orders, sending production commands
and transmitting events between the MES and PCS. The business process responsible
for updating the work order status between the MES and PCS is presented in the
figure 18. When a batch is previously scheduled, a work order has been stored in the
production schedule dispatch list and moved to the PCS by another business process.
When a BatchProcessStarted event is raised in the PCS, the business process reads
the work order from the PCS and updates it to the MES. When a BatchCompleted
event is raised, the work order is read again from the scheduled batch list of the
PCS and updated to the MES.
The business processes managing the production data collection receive production
events and alarms and transmit all the data concerning a batch process to the MES.
Collecting the batch production process-related information is important for product
tracking and tracing. The business processes can be event- or time-driven. As an
example, the business process responsible for reading the batch production record
which, among other informations, contains the actual size of the completed batch
and the exact execution times of the batch process, is visualized in the figure 19.
When a BatchProcessCompleted event is raised, the business process reads the batch
production record data structure from the PCS and stores it to the MES by calling
the AddProductionRecord method.
44
Middleware
MES PCS
BatchProcessStarted event
Adapter:
Process running
UA2XML
conversion Retrieve the BatchScheduleEntry
Call the UpdateSchedule service
BatchProcessCompleted event
Adapter:
UA2XML
conversion Retrieve the BatchScheduleEntry
Call the UpdateSchedule service
Middleware
MES PCS
BatchProcessCompleted event
Adapter:
UA2XML
conversion Retrieve the BatchProductionRecord
Call the AddProductionRecord service
The integration server uses the adapter technique to connect to the other information
systems using the OPC UA technology. An OPC UA adapter contains an OPC UA
client which is used to communicate with the OPC UA servers hosted in the MES
and DCS. The OPC UA client module contains implementations for all the OPC
UA services necessary for this integration scenario. The adapter wraps the OPC UA
client functionalities behind an interface which is understandable by the integration
server. In addition, an information transform from the OPC UA object model to
XML elements is needed. The OPC UA adapter is thus a thick adapter.
The data structures in the OPC UA servers are ISA-88/95-compliant OPC UA object
models and the messages handled in the business processes use the XML format and
follow the BatchML and B2MML schemas. Therefore the adapter must be able to
transform the information from OPC UA objects to XML and vice versa. The basic
idea of this serialization/deserialization functionality is presented in the figure 20.
The conversion method is called the UA2XML conversion. It is based on a rule file,
which describes how the OPC UA objects are mapped to XML elements according
to their OPC UA type information. The file simply contains the rules about what
45
ControlRecipe
Control recipe in XML
UA2XML
Conversion <ControlRecipe>
RecipeID
<RecipeID>PulpRecipe_11</RecipeID>
<RecipeVersion>1.0</RecipeVersion>
RecipeVersion <Header>
<BatchID>PulpBatch_11</BatchID>
Header <BatchSize>1000</BatchSize>
</Header>
BatchID <Formula>
<...>etc</...>
BatchSize </Formula>
....
Formula </ControlRecipe>
...
kind of an XML element structures OPC UA object types are serialized to . The
UA2XML conversion is done every time when objects are exchanged through the
OPC UA adapter.
7 Implementation and testing
MES
Events
Data
OPC UA server
OPC UA client
Orchestrations
WF: Sequential
Integration server Orchestrations
workflow
OPC UA client
Production reports,
Recipes, Scheduled batches
Production events
OPC UA server
The OPC UA interfaces are implemented using the OPC Foundation’s OPC UA
software development kit for Microsoft .NET. Creating OPC UA server and client
applications is possible using Microsoft .NET programming languages like C# with
the OPC UA .NET SDK.
The physical connection to the process equipment was not implemented in this
work. Instead the batch process control system and the physical batch process
are simulated with a DCS simulator software. In this implementation, the DCS
simulator application acts as an ISA-88-compliant process controller. The simulator
software can be extended to control the actual process equipment in the future work.
The DCS simulator contains a simple user interface where the control recipes and
work orders are visible. Using the DCS simulator, the execution of the work orders
can be simulated with the start and stop buttons.
The OPC UA server is implemented as a part of the DCS simulator software.
48
It has a direct access to the process control data and can therefore be used for
business-to-manufacturing integration as well as for the data exchange interface
for SCADA systems. The OPC UA address space provided by the DCS simulator
is shown in the figure 23. Similar to the MES interface, it contains a BatchML-
based batch information structure containing control recipes and batch lists. It also
contains a DCS object which includes the DCS functionalities provided for client
applications, for example the AddControlRecipe and AddScheduledBatch methods
and the BatchRunning and BatchCompleted events.
Figure 22: The address space of the Figure 23: The address space of the DCS
MES OPC UA server OPC UA server
The OPC UA adapter includes an OPC UA client implemented with the OPC UA
.NET SDK. It can consume all the OPC UA services necessary for this integration
scenario.
The adapter itself is programmed using Microsoft’s Windows Communication
Foundation (WCF) Line-of-business (LOB) adapter technology. This technology
49
POJo.Middleware.GUI POJo.Middleware.Workflows
+ adapter consumer
<<workflow>>
SendControlRecipe
1
+ adapter
<<workflow>> consumer
SendScheduledBatch
+ adapter
consumer
<<workflow>>
SendRunningBatch
+ adapter
<<workflow>> consumer
SendCompletedBatch
1
1
1
1
+ service provider + service provider
was waiting for the event, starts executing its business process. It reads the
control recipe from the OPC UA server of the MES to an XML message and
calls the AddControlRecipe method of the DCS object in the address space
of the DCS OPC UA server. The control recipe is then stored to the DCS
memory and becomes visible in the BatchInformation data structure.
When a work order is selected and the ”Start process” button pressed in the
user interface of the DCS simulator, a BatchRunning event is raised in the
DCS object in the address space of the DCS OPC UA server. The unique ID
of the work order is passed with the event as a parameter. Upon detecting the
event, the SendRunningBatch workflow starts executing the business process.
It reads the work order from the DCS to an XML message and calls the
ReportBatchRunning method of the MES object in the MES OPC UA address
space. The work order is removed from the ”BatchList - Scheduled” batch list
and added to the ”BatchList - Running” batch list in the address space of the
MES OPC UA server. The change of the batch status is also visible in the
MES user interface.
8.1 Summary
In this work, the goal was to study the integration of production operations
management between a manufacturing execution system and a process control
system and to evaluate the usability of the OPC UA technology in this integration
scenario. The study also included designing the integration environment based on
the ISA-88/95 hierarchy and activity models and using the standard data structures
in the integration. As a result, a part of an integrated system environment, a testbed,
was implemented.
In the section 5, the requirements for the application integration were set and the
integration scenario was divided into three use cases according to the ISA-88 control
activity model and the ISA-95 production operations activity model: the integration
of the product definitions management, production execution management and
production data collection functionalities. In the section 6, a design of an integration
solution was introduced. The solution fulfilled the previously set requirements and
was based on the technologies explained in the sections 2 and 3. In the section 7 an
experimental implementation of the design was presented.
Each integration project where a manufacturing execution system and a process
control system are to be integrated, has different, case-specific requirements. Despite
this fact, the abstract integration design proposed in this work can be used in
different integration scenarios to give guidelines for a well-performing and adaptive
integration solution. The design presented in this work provides a flexible and
system-independent solution, which offers many possibilities for effective integration
solutions.
Although the business processes implemented in this work were functionally simple,
they demonstrate well the functionality of the integration design. By using the
application integration design presented in this work, an effective and flexible solution
for both vertical and horizontal integration can be achieved.
In this work, the OPC UA technology proved its capabilities for application
integration although it was only tested with a small data load. As the integration
of MES requires massive amounts of data to be transferred, the performance of the
OPC UA data exchange functionalities should be studied more extensively.
Since there are only few commercial systems providing OPC UA interfaces yet, it
remains to be seen how well the configurable address spaces will be supported in
MES and PCS systems.
8.4.2 Design
Another possibility is to forget the batch processes and to implement an MES for a
discrete process. It could be integrated to the control system of the production line
equipment located in the laboratory facilities. Also using the ISA-95 information
models or other standards in the integration of an MES and a discrete process control
system could be studied.
All the functionalities required by the integration of the production operations
management activities were successfully implemented in this work. In the future,
more activities should be implemented to the manufacturing execution system in
order to study more complex integration scenarios which require larger amounts of
data and involve more complex business processes in the integration server. This
work could be done as a student project.
Also implementing a simple ERP system in the system environment should be done.
By integrating the MES to the ERP system, a full production operations management
integration could be implemented. The communications between the ERP and MES
using the OPC UA technology and the ISA-95 information models would be an
interesting subject for research.
The integration server could be extended to support BPEL-compliant business
process definitions. This way the business process definitions could be even more
independent of the integration server and other systems. On the other hand, to use
commercial software, the middleware could be replaced by the Microsoft BizTalk
Server which is also able to consume the OPC UA client adapters implemented in
this work.
The use of the OPC UA technology in the data exchange between the activities of a
manufacturing execution system could be an interesting research topic. This idea,
proposed by D. Brandl [40], includes implementing the data exchange interfaces for
the activities of the ISA-95 activity models. The interfaces and the data contents
will be the main topic of the part 4 of the ISA-95 standard which is still unreleased.
57
References
[1] J. Kletti, Manufacturing Execution System - MES. Springer, 2007.
[6] B. Scholten, The road to integration - A guide to applying the ISA-95 standard
in manufacturing. ISA - Instrumentation, Systems and Automation Society,
2007.
[7] MESA International, MES Functionalities & MRP to MES Data Flow
Possibilities, 1997. Available on-line: http://www.mesa.org/, Referenced
2.5.2010.
[15] L.M.S. de Souza et al., ‘‘SOCRADES: A Web Service Based Shop Floor
Integration Infrastructure,’’ in Proceedings of the Internet of Things (IOT),
Springer, 2008.
[18] OPC Foundation. The web page of OPC Foundation. Available on-line: http:
//www.opcfoundation.org/, Referenced 2.5.2010.
[22] J. Parshall, L. Lamb, Applying S88 - Batch control from a user’s perspective.
ISA - The Instrumentation, Systems and Automation Society, 2000.
[25] International Society of Automation, ISA Draft 88.00.02, Batch Control Part
2: Data Structures and Guidelines for Languages, 2000. Draft 18.
[26] International Society of Automation, ISA Draft 88.00.05, Batch Control Part 5:
Implementation Models & Terminology for Modular Equipment Control, 2008.
Working draft 4.
59