Você está na página 1de 8

OPC and CORBA in Manufacturing Execution

Systems: A Review
Paulo Marcelo P. A. Blanco Marco A. Poli Marcos R. Pereira Barretto
Dept. of Mechatronics Engineering Dept. of Mechatronics Engineering Dept. of Mechatronics Engineering
Polytechnic School Polytechnic School Polytechnic School
University of São Paulo University of São Paulo University of São Paulo
Email: paulo.blanco@terra.com.br Email: marco.poli@poli.usp.br Email: mrpbarre@usp.br

Abstract— While MES (Manufacturing Execution Systems) are There is also a growing perception that there is sensible
becoming increasinly more popular in the factory environment, productivity gain when Internet and its technologies are used
the intrinsic hardware heterogeneity of equipment suppliers to make information available in a faster and more efficient
has always been a problem to their easy and cost–effective
implementation. New distributed objects technologies now exist, way through the company [5].
both open and proprietary, operating system–dependent and Examples of problems that can be minimized by the integra-
indepent, that can be used to solve this heterogeneity related tion of the factory include the management and coordination
problem. of production activities, efficient resources allocation, confor-
This work is intended to review the technologies of MES and mance to standards and regulations of specific business mar-
new distributed objects, making a comparison of specifications,
standards and commercial MES products based on each one. kets (like pharmaceuticals) and the reduction of the products’
First, this work will show a general overview of MES and time–cycles [6].
the potential of distributed objects applied to them: i.e. new One of the big challenges of modern industry is the in-
concepts as intelligent sensors and others. Then, the two leading tegration of processes and manufacturing information with
distributed object technologies will be reviewed: OPC/DCOM other processes from the company. Many manufacturing en-
and CORBA. Finally, an industry survey focusing on commercial
MES products and the distributed objects technology used by vironments consist of a set of applications that manages
each one will be shown. different activities in the company, and that were conceived
in a vertical manner, coexisting side by side, but with no
I. I NTRODUCTION horizontal integration. In this way, similar information can be
Since the last decade, many industries around the world managed in a redundant way that can be incompatible between
implemented their ERPs (Enterprise Resource Planning). The applications like shop floor control and order management.
ERPs made by companies like PeopleSoft, Baan, JD Edwards Good management of a company requires that information
and SAP improved the integration between applications com- must be shared and flow nicely between business processes
bining common business processes in one only system, includ- [6].
ing finances, material management and production planning It is evident that the necessity of a solution for the question
[1] [2]. The ERP packages are commonly used in conjuction of the integration between planning and manufacturing comes
with business re–engineering techniques to update and make directly from the investments made by the industry in the
better management of a number of support systems in the acquisition of corporate systems and the will to lower delivery
company [2]. timings and raise productivity and flexibility. To fulfill this
However, while corporate management systems are natu- gap, the adequate technology is the Manufacturing Execution
rally focusing on long term operations, there is a new and System technology.
growing tendency that MES (Manufacturing Execution Sys- MES consist in an intermediate layer between shop floor
tems) can have a considerable impact on short term objectives, and the corporate management system and are responsible
as well as on performance and on the capacity of the company for the integration between, for example, the registration of
to achieve its goals [3]. a new order and its insertion in the production planning of a
The needs for integration between shop floor and business given machine [7]. Although the basic concept behind MES
management come from four different sources: the neces- is known for many years now, the beginning of its implemen-
sity of having better response–time to clients. needs; the tation occurred for three basic reasons: popularization of ERP
flexibilization of the production; cost reduction; and quality (Enterprise Resource Planning) systems, the recent availability
improvement [4]. To improve client relations, factories need to of adequate PC (Personal Computer) platforms suitable for
improve quality, costs and delivery–timetables under variable supervision and control and the concept of e–manufacturing
conditions. Managers need to be able to coordinate new [8].
requests, with new needs, with their existing equipment and MES products focused on supervisory control integration
existing materials to achieve flexibility. with the ERPs working on PC platforms and making requests,
control and management available over the Internet are already information allowing for optimization of production activities
a reality and are available for acquisition as COTS (Commer- from the initial request to the final product. Making use of
cial Off the Shelf) systems, aimed at industrial automation. accurate and up–to–date data, MES guide, start, report and
Almost all MES packages available today in the market answer to activities in plant as they occur. The resulting fast
are based on the architecture defined by the products of the response to operational conditions variations allied to focus on
American software giant Microsoft [9]. In fact, the develop- the reduction of activities that do not aggregate value to the
ment of the software market for supervisory control itself has product results in the efficient operation of processes in the
been, until today, tied to the availability of solutions based plant. MES make better return for the operational resources
on the Microsoft Windows operating system. Nowadays, the as well as allow an improvement of performance of deadlines,
Windows NT system (or its newer versions, Windows 2000 materials management, raw margin and cash flow. MES supply
and Windows XP Professional) is the ruling operating system critic information to the company about production activities
in supervisory control, for its multi–tasking, 32 bits and real– throughout the plant and the supply chain, using bi–directional
time extensions capabilities. All these characteristics together communication.
allow communication in real–time between hardware and As it is clear from this definition, the term manufacturing
software components to be achieved, an essential characteristic from MES is not limited only to the productive sectors of a
for industrial applications. company, but to all its structure, once the concept extrapo-
Windows NT’s features and the release of a model (or lates the integration of productive equipment with engineering
framework) developed some years ago by Microsoft for systems and production management. MES systems, to be
components in distributed applications, known originally as efficient, shall make good use also of the information coming
the DNA (Distributed internet Application) architecture—that from corporate management systems (ERPs) and from the flow
allowed a higher degree of compatibility between components of information present throughout all the sectors of a company.
of different suppliers [9]—constituted the basis for the devel- One of the tasks where well–implemented MES are useful
opment of a new, specific technology for data communication is in the creation of a bridge between office and shop floor,
in the manufacturing environment: the OPC (OLE for Process supplying workers in the plant with real, up–to–date data that
Control) technology. OPC will be further discussed in a later complement the office–oriented management systems. MES,
section. when applied in conjunction with planning systems, make that
However, the need to tie the development to one only the work lines and plans coming from the office be imple-
architecture for implementing MES systems is an illusion. mented on the shop floor. Basically, the central objective of a
Open architectures are already available, developed by inde- MES implementation consists in the reduction of time taken
pendent organizations, that allow the exact same degree of to detect the necessity of some change in an industrial process
interoperability and flexibility with the intrinsic advantages of to be taken and the subsequent response–time reduction after
supplier independency. One of these architectures is CORBA a decision is taken.
(Common Object Request Broker Architecture), developed by A localized vision of MES systems relating to the other
OMG (Object Management Group) and proposes a model fit to systems present in a manufacturing corporation can be seen in
the development of interoperability between software objects, Fig. 1, used as reference by MESA. In the definition given by
not depending on the platform on which they are executed, the MESA, MES operate as an information channel that connects
programming language in which they are implemented and the and supplies data to other systems, sometimes having the same
supplier that developed them. function of other kinds of solutions, which in turn can have the
Combining the potential of this architecture for distributed same functions between themselves. For example, production
objects to modern tools like the Java language (platform programming can exist in both MES and SCM (Supply Chain
independent) and the use of PCs on the shop floor, all the nec- Management) systems; resources allocation can exist in MES
essary infrastructure is available for implementing completely and ERP; documentation can exist in MES and P/PE (Product
platform and operating system–independent MES solutions and Process Engineering). The degrees can vary according to
that do not need to be tied to the PC/Windows environment the type of industry and implementation [4].
and can be extended for platforms of bigger or smaller size,
according to the needs, adapting itself from big Unix systems
A. MES Functions
to small embedded controllers (as intelligent sensors or pro–
active PLCs) [10]. MES implementations result in the automation of the com-
pany’s information flow from order request to product delivery,
II. MES S YSTEMS going through all steps in technical and administrative areas.
Manufacturing Execution Systems is a broad concept whose According to [8]: make information available at the right loca-
meaning can hardly be resumed in one only sentence. However tion, at the right time is the core of integrated manufacturing.
among the different definitions presented in the available A MES system correctly implemented should computationally
literature, one of the most written is supplied by the Man- assist many functions of product manufacturing, from the so
ufacturing Execution Systems Association (MESA) in [7]: called management systems to the production systems [4],
Manufacturing Execution Systems are systems that supply including:
MES=Manufacturing Execution System 5) Data Acquisition: MES should generate production in-
SSM=Sales & Service Management
SCM=Supply Chain Management
formation associated to each order and each product, such
ERP=Enterprise Resource Planning as production parameters, productivity index, problem reports
SSM P/PE=Product and Process Engineering and alarms generated throughout the production process. It is
Control=PLC,DCS, machine and line
desirable that MES be integrated to production equipment in a
control
way that this data is available to operators in real–time, being
used for efficient supervision of shop floor activities.
SCM ERP
6) Labor Management: Labor management activities of
MES refer to control and allocation of resources, maintenance
of up–to–date registers of the specific capabilities of all
P/PE
MES workers in the production process, controlling their certifica-
tions and analyzing their productivity. MES should interface
workers’ frequency–control systems in such a way that it
Control should be able to relocate labor as necessary.
7) Quality Management: MES functions related to quality
in the productive process refer to the real–time analysis of
Fig. 1. MES Context inside Corporations [4] characteristics of notice of the production items such as
Statistic Process Control to detect abnormal tendencies in
manufacturing and actuate to correct them.
1) Resources Allocation and Status: MES should be able
Data collection should be done by specific interfaces con-
to manage production resources available in the plant, such as
nected to the production systems as well as by terminals
machines, tools, labor resources, specific abilities, materials
available on shop floor for operators to type in their data in a
and support equipment, and others like documentation that
periodic manner.
need to be available for production teams to work.
Besides that, MES should be able to provide information 8) Process Management: MES should monitor the pro-
about the history of each of the elements referenced above, duction activities in a continuous way and feed operators
make sure that these resources are properly prepared for with enough information for corrective actions to be taken
production activities and track their status in real–time, in a in the processes in case of necessity. It is advisable that MES
way that production objectives are properly achieved. should identify and process the alarms coming from shop floor
2) Detailed Operations Schedule: MES should develop the (received by the data acquisition as shown in Fig. II-A.5) in
sequential operation of the production based on properties, at- such a way that production managers are aware of situations
tributes, characteristics and revenue associated to each product, and have the means to take the necessary actions.
in each order. A subset of MES objectives is the reduction 9) Maintenance Activities Management: The system should
of the setup time of machines to the minimum, and to be make the activities related to planning and scheduling of pre-
able to do so, the system should consider, in the scheduling ventive maintenance, as well as trigger corrective maintenance
of the activities, aspects like colors, shapes, formulas, analog jobs in alarm situations. A history of maintenance activities
processes and equivalent components, and to generate the most should also be kept together with the current status of all
efficient mixes of operations. maintenance teams.
3) Production Units Allocation: MES should manage the
entire product flow in the company, be it by order, final 10) Tracking and Genealogy of Products: In the manu-
product, work or any other method as desired. The sequence facturing process of each order, MES should keep track of
in which these orders are processed should be controlled by the equipments and materials being used in each product,
MES, taking in consideration the chain of properties and all operators and supervisors responsible for each step of the pro-
eventual changes in plan that could occur even after the job duction, possible problems and the tools involved. After each
has already begun. MES should have the capacity of changing step is finished, the information should be made available in a
the work plan on shop floor and also to consider the use of way that each sold product can be tracked to its components
re–manufacturing and disposal of items during the production and processes.
process, and to balance the activities in course at all times. 11) Performance Analysis: The system should provide
4) Documentation Control: The production process nor- analysis reports in real–time of the indexes of performance
mally has a set of documentation needed for its adequate analysis of the productive process, such as per–machine
operation. MES should be able to make information available and per–operator productivity, quality parameters informa-
to operators like drawings, recipes, diagrams and electrical tion, schedule information compared to what was planned,
charts, operational instructions, safety instructions, part lists, resources utilization and production cycle of each item. This
production orders and other documents that might be needed data should be presented in on–line reports so that a continuous
for production. evaluation of the production can be made.
B. The Benefits of MES ActiveX
One of the main characteristics of MES is that it is already
used in a wide variety of companies, in a wide variety of fields, MTS
Components
with positive results. Satisfaction about the system and the
benefits achieved are obviously tied to the quality of the system Compound
Documents
employed, but a research by MESA showed the following (OLE)
results for reference purposes:
• Reduction in the manufacturing cycle: 60% affirmed
having obtained a reduction on the order of 40% or more; MTS
• Reduction in data acquisition times: 63% of the compa-
COM Infrastructure
nies stated having a reduction of 75% or more;
• Reduction in between–turns bureaucracy: 63% stated Fig. 2. The COM Model [14]
having a reduction in the volume of documentation ex-
changed between turns of 50% or more; and
• Reduction in delivery schedule: 50% stated having a and through these interfaces, client COM objects can relate to
reduction of 30% or more. server COM objects. This is also what happens with CORBA.
As already stated, MES’ main role is to be the bridge be- Still like CORBA, COM allows the integration of components
tween planning and shop floor, acting directly in the reduction written in different programming languages as C++, Java and
of costs and production timing, rationalizing plant operation Visual Basic [15]. DCOM operates in a client/server schema:
to the maximum. When a MES system is used to actuate on to request a service, a client invokes a method implemented by
industrial processes in real–time, the data interface starts to a remote object that, this way, starts to act as a server. Differing
feed the planning and management systems with up–to–date from CORBA, DCOM does not support multiple heritage of
information, helping in cost reduction, labor payment, order interfaces, but allows the use of multiple interfaces by one
requests, inventory and many other factors that are important same object, reaching the same result.
to a company’s success [11]. Comparing the CORBA and DCOM architectures, one can
notice that they are very similar: both proportionate the infras-
III. M ICROSOFT– BASED DISTRIBUTED OBJECTS tructure of distributed objects needed for transparent activation
A. COM/DCOM and access to remote objects, but some differences exist:
The DCOM (Distributed Component Object Model) archi- CORBA supports multiple heritage by IDL, what DCOM
tecture wasn’t originally conceived as a Microsoft product, but doesn’t; every CORBA interface inherits the constructor that
later on it was included as a component of the Windows DNA realizes the implicit tasks like reference generation, in DCOM
(Distributed Internet Applications) specification, that was the these tasks have to be done explicitly; DCOM has strong ties to
original attempt from Microsoft for creating a technical spec- RPC, CORBA doesn’t; DCOM’s specifications include many
ification to allow interoperability in distributed systems [12]. items that are considered details in CORBA.
Later, as Windows DNA evolved to .NET, where Microsoft
B. OPC
proposes a diagram of distributed computing based on low
coupling services [13], the DCOM model was kept as a part Since 1998, the OPC Foundation, a non–profit organiza-
of the specification. tion, established a set of standard protocols for OLE/COM
Fig. 2 shows the COM standard as the integration infras- interfaces aimed at providing greater interoperability between
tructure used to implement components that interact inside an automation/control applications, systems and field devices and
address space, or in processes in a single host. COM is the office applications in the process control industry. This set of
basis over which are OLE (Object Linking and Embedding), protocols makes the OPC (OLE for Process Control), based on
ActiveX, MTS (Microsoft Transaction Services) and an ever the functional requirements of the OLE/COM from Microsoft
growing number of services provided by Microsoft operating [16].
systems, like the multimedia DirectX are implemented [14]. OPC specification defines standard objects, methods and
DCOM is an extension to COM. DCOM builds a RPC properties for information servers in real–time, like PLCs
(Remote Procedure Call) for objects (ORPC) over a pre–built (Programmable Logic Controllers), intelligent field devices
RPC DCE (Distributed Computing Environment), intending and sensors, to communicate the information from these
to support the use of remote objects. This way, DCOM servers to devices that are compatible with the OLE/COM
makes the interaction between objects executed in different technology, like supervisory software or report generators. In
hosts possible. The DCOM standard was introduced with the the conception of the OPC Foundation, there is a need for a
Windows NT 4.0 operating system, and as an additional to common method for the applications to access data from any
Windows 95 by the end of 1996. source, be it a device or a database [17].
A COM object can support multiple interfaces, each one There is a number of supervision and control client applica-
representing a different vision of the behavior of the object tions developed today that need to acquire data from external
OPC industrial bus protocols (like DeviceNet, Profibus, FieldBus
Server
Vendor A and ControlNet), however, this is also work–in–progress as of
this writing. The communication mechanism in OPC–DX is
OPC server-server. Devices like networks or subsystems connect to
OPC Client Server server components called OPC–DA (OPC Data Acquisition),
Vendor B
that in turn connect to each other directly, through OPC–DX
interfaces. Communication is made in a peer–to–peer schema,
OPC eliminating the need for an application bridge.
Server
Vendor C
IV. CORBA
Fig. 3. OPC Client [17]
One of the basic concepts needed to a good comprehension
of the CORBA architecture, its capabilities and advantages
sources, like a sensor or a PLC and that leads to the need reside in the Object Orientation paradigm. Object Orientation
to develop specific drivers that make the interface between is an evolution from the structured programming methodology
them [17]. This driver development brings some problems: (implemented by some old programming languages like C and
duplicated efforts, once that all software suppliers need to Pascal) and consists in a way of making a computer program
write a driver for one single hardware; inconsistency between as a set of objects that work together in a pre–defined way
drivers from different suppliers; lack of support for changes to accomplish tasks [18]. Programs are composed by a set
in the hardware; access conflicts and others. of components, called objects, that actuate in a coordinated
The objective of OPC is to determine the frontier between manner to answer a given application.
hardware suppliers and software suppliers in a way that data Due to the advent of object–based applications and of dis-
from a source can be used by any other client application tributed systems, and the resulting necessity of standardizing
in a standard way. By this concept, a supplier can develop a interfaces, and of a series of essential services for those
reusable server component to communicate to its data sources applications to effectively reach their objectives, the OMG
(normally a piece of hardware) and makes an OPC interface (Object Management Group) was established in 1989.
available as a server so that any client can access data from The central objective of OMG consists in developing a
this source. common architecture for object–oriented applications based
OPC’s first version focused on functionality commonly on interfaces specifications [19] through the establishment of
found in hardware suppliers for industrial control applications: OMA (Object Management Architecture), of which CORBA
real–time access to data, alarms and event manipulation and is a component. Basically, OMA supplies a group of standards
data history access. over which applications are developed, consisting of an ORB
OPC specifications include a set of custom COM interfaces (Object Request Broker) function, object services (CORBAser-
to be used by clients and servers, as well as references to a set vices), common facilities (CORBAfacilities), domain interfaces
of OLE Automation Interfaces to support clients developed in and application objects. The role of CORBA inside OMA
higher–level applications, like MS–Excel or MS–Visual Basic. is to implement the ORB function, supplying a standardized
An OPC client can communicate to OPC servers from different mechanism for interface definition between components, be-
suppliers, as the code made by the hardware or data source sides tools to make the implementation of these interfaces
supplier determines which devices and data each server has easier, making use of the programming language of user’s
access to and details about how the server can physically choice. Two of the greatest properties of CORBA are platform
access the data (see Fig. 3). independency and language independency.
OPC interfaces can be used in many ways in an industrial The model of reference identifies and characterizes the
control environment: since the direct extraction of data from components, interfaces and protocols that make OMA, includ-
physical devices for a SCADA (Supervisory Control And Data ing the Object Request Broker (ORB), the component that
Acquisition) or DCS (Distributed Control Systems) to the allows clients and objects to communicate in a distributed
extraction of data from a SCADA or DCS for a higher–level environment. Besides, the model of reference presents four
application. The architecture allows an OPC server to be built categories of interfaces objects:
in such a way that it allows an application to access data from • Objects Services—interfaces for general services, with
many OPC servers of different suppliers, running in different potential use by any application that is distributed–objects
places in the network through one only object. based;
The OPC Foundation is working on a new generation of • Common Facilities—interfaces for horizontal facilities
the OPC specification, based on Microsoft’s .NET and XML (generic reusable applications), applicable to the majority
(Extensible Markup Language). However as this is work–in– of applications domains and focused on helping the user
progress, the specification is not available yet. in the implementation;
Another version of OPC, called OPC Data Exchange (OPC– • Domain Interfaces—application–domain specific inter-
DX) focuses on the elimination of data bridges between the faces; and
Non−standard Interfaces Domain−specific Horizontal Facilities
Application−Specific Application Interfaces Interfaces the IDL specification are parametric representations of input,
Application Interfaces Domain Interfaces Common Facilities output, methods, modules, attributes, heritage between classes
and other tools needed for the complete description of the
interfaces between various classes in a system.
OBJECT REQUEST BROKER
C. Communication and CORBA Objects Models
To make communication between objects easier, CORBA
OBJECT SERVICES
uses the notion of object references, or IORs (Interoperable
Object References). When a component of an application
General Services Interfaces
wants to access a CORBA object, it initially obtains an IOR
Fig. 4. OMA Reference Model: Interfaces Categories for that object, through which it will be capable of invoking
methods from the object. At that point, the object becomes
a server. For CORBA, a client is simply an application that
• Application Interfaces—non–standard, application– is using the services from a CORBA object, that is, invoking
specific interfaces. methods in another object.
ORBs normally communicate through the Internet Inter–
A. The Object Request Broker
ORB Protocol (IIOP). There are other protocols for inter–ORB
ORB, the fundamental component of CORBA, consists in communication, but IIOP is the most popular [22], due to the
a software element which purpose is to realize the commu- popularity of the TCP/IP protocol, a lower layer that is located
nication between objects. This is achieved through making right under the IIOP layer. However, CORBA is network–
available a number of capabilities [20], among them the protocol independent, and could work with any other.
capability of finding a remote object from a reference (see Visibility of CORBA objects is made only through reference
Fig. 4). passing to the objects: value passing is not possible (at
An ORB is a mechanism used by objects to make requests least until version 2.0). So being, CORBA remote objects
and receive answers one from another, be it in the same host, remain remote, it is not possible, for now, for objects to copy
be it from network. With ORB the client does not need to know themselves to other places.
about the mechanisms used to communicate to or activate an CORBA defines BOA (Basic Object Adapter) that makes
object, its implementation properties or even its location. ORB the interfaces between objects and their ORBs, through the
is, therefore, the basis for building distributed applications and implementation of series of methods for accessing ORB’s
for making interoperability between applications in homoge- functions, like activation–authentication of an object or the
neous or heterogeneous environments. persistence of an object.
B. The Interface Definition Language
D. Object Services
Another fundamental component of the CORBA architec-
ture is IDL (Interface Definition Language). IDL’s function is To make the development work easier, OMG created the
to specify interfaces between CORBA objects, being in great Object Services, which consist in fundamental services that
part responsible for the language independency proposed by supply a base for application development. Object Services
the standard. IDL is the standard language used for defining are basic elements for applications based on distributed ob-
interfaces between applications’ components. However, IDL jects, combining in different ways, attending needs as object
is not a procedural language: it can be used for defining localization, persistency control, concurrency control, event
interfaces, but not implementations. IDL can be compared to treatment and others. Object Services already adopted by
the header files used in C or C++. OMG are called in a general manner CORBAservices, and
IDL specification is responsible for assuring that data is include the Naming, Event, Life Cycle, Persistent State, Trans-
correctly exchanged between different programming languages action, Concurrency, Relationship, Externalization, Licensing,
[21]. For example, IDL has a long type that consists of a Property, Security and Time services [23] [24].
signed integer number with 32 bits that can be mapped into a 1) Naming Service: When a component of a given appli-
long in C++ or into an int in Java. Once all interfaces defined cation wants to access a CORBA object, it first has to get an
by CORBA are described via IDL, they can be mapped into IOR for that object, through which it is capable of invoking its
any implementation language: a server written in C++ can methods. The most basic manner of working with the IORs is
communicate to clients written in Java, that can communicate generating small text files with pre–defined names and writing
to servers written in COBOL and so on. the IORs in these files. When an object needs to identify a
IDL, like the majority of other programming languages, de- second object, it can open the generated file and read its IOR,
fines primitive types that include integer numbers, characters, and then it will be capable of interacting with it. Nevertheless,
floating–point numbers, strings, Boolean types and constants, that method needs that all the objects interested in writing
among others. Besides that, primitive types can be aggregated IORs write them in pre–defined places and that all the objects
into new types, like unions and structs. Also defined by interested in accessing them should have access to that places.
To solve this object localization problem, OMG defined the The last two rows of Table I identify the companies that
Naming Service [23]. This service aims at associating names are members of the organization and offer at least one product
to objects, using the name bindings. These associations are based on the technology in question. Companies identified by a
always defined in the so–called names contexts, which are + sign are not members of the organization, but it was possible
objects that contain a group of names associations, each one to identify at least one product based on the technology.
being unique in a context. Different names can be associated All the companies listed classify their products as Man-
to an object, in one same context or in different ones, but it ufacturing Execution Systems, and many also offer SCADA
is not mandatory that all the objects be assigned names. packages, usually as a subset of their MES packages.
2) Event Service: At each CORBA call between one object While all the companies listed in Table I have products
and another, parameters are generally passed and answers are based on the COM/DCOM technologies, just a part of them
generally returned: there is data communication between the offers solutions based on the OPC architecture, as is the case
client object and the server object. A standard call results of Invensys Wonderware InTrack and USData’s Xfactory. This
in the execution of an operation by the server, realized in a is due to OPC being more widely used in instrumentation and
synchronous way. The call is well succeeded if both, client SCADA than in the MES packages.
and server are online and available; exceptions are raised in From the data in Table I, a reference can be taken from the
case this basic condition is not fulfilled. However, synchronous number of MES developers using each of the technologies.
calls do not solve all the needs of a programmer or developer
The OPC Foundation counts nowadays a total of 318
working in a distributed system [23]. There are many situations
member companies. Of the 28 shown companies, 11 are OPC
where it is important to decouple the communication between
Foundation members, and, in some cases, more than one
client and server: for improving system performance, for
business unit of the same company can be found as an OPC
making the system more reliable or for peculiarities to be
Foundation member. This is the case of Siemens, which can
solved by the system. Event Service was defined to promote
be found in the OPC member relations with four different
this decoupling [23], allowing objects to communicate in
names: Siemens, Siemens AG, Siemens Automation & Drives
asynchronous ways.
and Siemens Building Technologies Inc.
The Event Service defines two new roles for objects: the
From the 28 company–list, only 6 are OMG members, even
Supplier and the Consumer. Supplier objects are those that
so all the 6 are big and significative companies: ABB (Asea
generate the events (produce the data) and Consumers are
Brown Boveri), GE (General Electric), Siemens, Honeywell,
those that process these events or data that are passed to them
Rockwell and IBM. However, in some cases, the business
by CORBA requisitions.
unit that mantains membership is not the one responsible
3) Notification Service: Event Service contributes substan-
for factory automation, as is the case of Rockwell, which
tially for making asynchronous communication faster between
member unit is Rockwell Collins (aviation) and not Rockwell
suppliers and consumers, but there are situations when this
Automation. So even in the case of these 6 companies, MES
service shows deficiencies in its specification. Especially for
products can be found making use of the OPC technology, i.e.
applications with high reliability needs, as is the case of
Rockwell Automation and Siemens ORSI.
a system for shop floor supervision and control, there are
some necessities that cannot be ignored: quality of service However, the use of CORBA for implementing MES prod-
guaranties; a filtering system so that a client only receives ucts is not restricted to the 6 OMG–member companies stated
the events in which it is interested; and the capability of above: also smaller size companies like Brooks Automation
transmitting structured data. and Teradyne develop CORBA–based MES systems.
These necessities are supplied by the Notification Service However, CORBA has still relatively little usage in process
[24], that is an extension to the Event Service. The primary automation and data communication to MES systems: this
objective of the Notification Service is to make a better Event market share has been effectively dominated by DCOM and
Service by introducing the concepts of filtering and config- OPC [25] [26].
urability, according to needs from Quality of Service. Clients Another fact that shows the OPC–based dominance is the
of the Notification Service can subscribe to specific events, fact that interfaces for bi–directional data communications
associating filters to the proxies they use to communicate to the between MES and ERP are already available, using the OPC
event channels. Filters encapsulate restrictions that determine technology. One example is the SAP ODA (SAP OPC Data
the events in which the clients are interested in, in such a Access) that exchanges data between SAP R/3 [27] and any
way that the channel only delivers events corresponding to OPC–compatible server. SAP DOA is, in fact, an OPC client
the interests expressed by the clients. that allows any data from a SAP system to be integrated with
shop floor data. SAP is, too, an OPC Foundation member.
V. C OMMERCIAL MES Clearly, the DCOM architecture domain and consequently,
Table I’s objective is to identify the utilization of CORBA the OPC technology, is based on the dominance of Microsoft’s
or COM/DCOM technologies in the listed products. However, operating systems in the market. As in any other market–
as all of them make use in some way of COM/DCOM, the share dispute, timing is a determing factor. And Microsoft
use of CORBA and OPC were compared. COM/DCOM is clearly superior to CORBA in that aspect [26].
TABLE I
C OMMERCIAL MES PRODUCTS , SUPPLIERS AND DISTRIBUTED OBJECTS TECHNOLOGIES

Company Product Website OMG OPC


ABB Industrial www.abb.com X X
Datasweep Advantage www.datasweep.com
AspenTech AspenTech Mfg. Suite www.aspentech.com X
GE Fanuc Cimplicity www.gefanuc.com X X
Ci Technologies Citect Plant2Business www.citect.com X
Siemens ORSI Cube Ind. Framework Suite www.siemens–orsi.com X X
Brooks Automation FactoryWorks www.brooks–pri.com +
Teradyne GR Force/SCE www.teradyne.com +
Meteor–IT Hacon Primas www.meteor–it.nl
HMS Software HMS www.hmssoftware.com
Cimnet Inc. Folders/Factelligence www.cimnetinc.com
Camstar InSite www.camstar.com
Intellution Intellution Dynamics/iFIX www.intellution.com X
Mware Mware MES www.mware–mes.com
Real World Tech On Track www.rwtcorp.com
Optal Ltd. OPTAL www.optalmes.com
OSIsoft OSI–PI www.osisoft.com X
Interact Ind. Automation PASSy www.interact–automation.nl
Werum Software PAS–X www.werum.de
Rockwell Propack PMX www.propack–data.com X X
Honeywell POMS www.poms.com X X
Mountain Systems Proficy for Manufacturing www.mountainsystems.com
IBASEt Solumina www.ibaset.com
IBM SuperPoseidon www.ibm.com X
SynQuest Virtual Production Engine www.synquest.com
Invensys Wonderware InTrack www.wonderware.com X
USData Xfactory/FactoryLink www.usdata.com X
Elan Software XFP www.elansoftware.com

R EFERENCES [14] O. Tallman and J. Kain, “COM versus CORBA: A decision framework,”
Distributed Computing, 1998.
[1] A. Mello. (2002) ERP fundamentals. [Online]. [15] P. Chung. (1998) DCOMxCORBA side by side, step by step, layer by
Available: http://zdnet.search.com/search?cat=279&tag=st.ne.sr.srch. layer. [Online]. Available: http://www.controleng.com
zdnet&q=%-22ID%C-%22 [16] OPC Common Definitions and Interfaces, OPC Foundation Document,
[2] L. Brown, Integration Modeling Techniques for Enterprise Resource OPC Task Force, 1998.
Planning (An ERP Case Study). Sams Publishing, 2000. [17] OPC Overview, OPC Foundation Document, OPC, 1998.
[3] RFI–3 Manufacturing Execution Systems (MES), OMG Document Num- [18] J. Rumbaugh, Modelagem e Projetos Baseados em Objetos. Rio de
ber mfg-97-11-01, OMG, 1997. Janeiro: Editora Campus, 1994.
[4] MES Explained: A High Level Vision, MESA International Whitepaper [19] R. Soley et al., Object Management Architecture Guide, 3rd ed. John
#6, MESA, 1997. Wiley & Sons, 1995.
[5] C. Roy and L. Johnson, “Positive yield,” InTech, vol. 49, no. 4, 2002. [20] The Common Object Request Broker: Architecture and Specification,
[6] Manufacturing Enterprise Systems: A Whitepaper, Document Number OMG Document Number 98-07-01, OMG, 1998.
mgd/96-01-02, OMG Manufacturing Special Interest Group, 1996. [21] J. Rosemberg, Teach yourself CORBA in 14 days, 1st ed. Sams
[7] (2001) Definition of MES. MESA. [Online]. Available: http://www. Publishing, 1998.
mesa.org/html/overview.html [22] R. Orfali et al., Client/Server Programming with Java and CORBA,
[8] S. Kamal, “Integrated enterprise proves key to flexible manufacturing,” 2nd ed. John Wiley & Sons, 1998.
Intech, vol. 45, no. 7, 1998. [23] CORBAservices: Common Object Services Specification, OMG Docu-
[9] M. Hoske, “Objects make software behave like hardware,” Control ment Number 98-12-09, OMG, 1998.
Engineering, 1998. [24] Notification Service Specification, OMG Document Number 00-06-20,
[10] H. Communications. (1998) CORBA in the embedded systems context. OMG, 2000.
[Online]. Available: http://www.highlander.com [25] K. Koshiken, “Integration of automation systems to business process—
[11] The Benefits of MES: A Report from The Field, MESA International new technologies,” Lecture given on Helsinki University of Technology,
Whitepapaer #1, MESA, 1997. Nov. 2000.
[12] FlashDee. (2002) The .NET Framework. [Online]. Available: http: [26] R. Morley, “The future of factory automation,” Evolving Enterprise
//www.flashdee.com/Books-Technical/InsideCsharp/32ch02c.htm Newsletter, 1998.
[13] (2002) What’s different? innovating a third generation of computing. [27] SAP. Sap internet site. [Online]. Available: http://www.mysap.com
Microsoft. [Online]. Available: http://www.microsoft.com/net/defined/
netchange.asp

Você também pode gostar