This application claims the priority, under 35 U.S.C. §119, of European Patent Application EP 14195378.6, filed Nov. 28, 2014; the prior application is herewith incorporated by reference in its entirety.
The present invention relates to a common plant model for modeling of physical plant items of a production plant within a manufacturing execution system containing an engineering environment and a runtime environment.
As it is well known, a method for manufacturing processes planned by an enterprise resource planning (ERP) and produced by a shop floor, provides a manufacturing executing system (MES) for modeling, planning, scheduling and implementing the manufacturing processes and controlling the corresponding production steps at plant floor level. In the automation pyramid consisting of Level 0 to Level 4, the ERP system resides on the highest level at Level 4 which represents the enterprise level taking care for a rough production planning and purchase order processing. The MES system is located at level 3 representing the plant control level containing the detailed production modeling, planning, production execution, production data acquisition, KPI calculations, resources and quality management. The process control level is located at level 2 and containing supervisory control and data acquisition systems (SCADA) which are used for the controlling and observation of the production, the administration of production recipes and the archiving of the production data. At level 1 which represents the field level process signals and I/O modules as well as the field-bus are located thereby offering the interface to the technical production process via I/O signals. At level 0 representing the actuator/sensing level fast data collection of predominantly binary signals is typically fulfilled. Of course, the border of the diverse levels are floating according to the set-up and circumstance of the respective production facility (plant).
In particular, an enterprise resource planning system—hereinafter referred to as ERP—is a system including hardware devices and corresponding software applications for planning the business resources of an enterprise, i.e. material provisions, human resource managements, purchasing, orders, profits, finance, inventory controls, customer managements, etc., while the term “shop floor” at level 0 and 1 has been used to indicate a system supporting the control of single machines performing production actions and being involved in the manufacturing processes, for example by measuring the number of pieces produced per hour by each machine or the functioning parameters thereof, the quality of the pieces produced and so on.
A manufacturing execution system—hereinafter referred to as MES—is an intermediate layer at level 3 providing computing machines and software tools between the ERP upper layer and the shop floor lower layer, including a software tool for production order management, which receives requests of production from the ERP, and a software tool for production modeling, which supports the phases of selecting and managing the resources to be involved in the manufacturing processes, i.e. employees, machines and materials, in order to realize a planned manufacturing process within required time constrains.
Therefore, manufacturing execution systems being regulated by the ANSI/ISA/95 standard require modeling plant equipment for both scheduling and controlling activities. Therefore, the productive process typically consists of production request which define a request for production for a single product. The predefined product is identified by a production rule, each of which is divided in many segment requirements that represent simple productive actions which are controlled by the MES.
Thus, a production request (could be also called operation request or work order) contains at least one segment requirement; even it spans all production of the product. A segment requirement contains at least on material produced requirement with the identification, the quantity and the units of measure of the product to be produced. Usually, in MES, the user would like to modify the quantity of the product to be produced due to various reasons, such as machine down time, shortage of material, absence of personnel.
Another critical problem for the MES is to react immediately to the operation schedules developed by the ERP. In this activity, the creation of work orders from the operation schedule is one of the most challenging tasks in the interaction of the MES and the ERP and should be therefore operated under the best performance circumstances possible. Typically, a work order is rather complex in terms of execution steps, resources and parameter that its creation from scratch is very time consuming and often not compatible with the mostly tight manufacturing schedules.
Considering only the very few demands on an appropriate software structure for an overall system being enable to exchange data between the divers levels of the automation pyramid, today's software systems available cannot satisfy these demands. Currently, each system ERP, MES, SCADA and distributed control system (DCS) comprise their own modeling tools for modeling the physical equipment resources and the respective hierarchies which are therefore not done in a homogenous and permeable way. Therefore, in engineering as well in runtime the integration between the products of these different levels is difficult and error prone due to the necessity of keeping different planning models aligned.
Therefore, a significant need exist to provide a common plant model for the MES, SCADA and DCS systems of a production facility benefitting from an integration architecture which enables a stringent and persistent modeling of the physical resources of the production facility for all type of systems (MES, SCADA, DCS) that attach to the common plant model. In particular, this model shall have a special set-up in order to organize the physical plant items in hierarchies which serve their respective task/purpose.
It is accordingly an object of the invention to provide a common plant model for modeling of physical plant items of a production plant that overcomes the above-mentioned disadvantages of the prior art devices of this general type.
The objective is achieved according to the present invention by a common plant model for modeling of physical plant items of a production plant. The common plant model containing:
a) a node type model aggregating different aspects for the modeling of a single physical plant item involving public interface parameters as well as automation parameters;
b) a number of nodes, each representing an instance of a node type;
c) a library model containing a project library and a global library, the libraries containing a node type model, a facet model and a rule model as well as a hierarchy model;
d) a wiring chart model defining the interaction between interface members of different facets of the nodes;
e) a graph model representing physical and/or logical connections between the nodes, wherein
f) the hierarchy model contains a number of hierarchy definitions;
g) each hierarchy definition contains a number of hierarchy levels and optionally a number of hierarchy level constraints among those hierarchy levels; and
h) each node is assigned to at least one of the hierarchy definitions and to at least one hierarchy level within the assigned hierarchy definition.
The common plant model therefore provides a standardized architecture for the modeling of the hierarchies for the physical plant items which can be used by a plurality of different user that are in a business relation to the physical plant items. In particular, the SCADA system and the DCS system have now access to the distinct modeling of their individual hierarchical needs within the environment of the MES which is with respect to the execution and the control of the production of the plant the predominant system.
A further preferred embodiment of the present invention may provide the node type model that contains:
a) a header providing an identity information of the node type;
b) a structure facet for high level representation;
c) optionally an automation facet for automation representation;
d) optionally one or multiple functional facets for different functional aspects;
e) optionally one or multiple wiring charts defining the relationship between the facets of two node connected by a wire; and
f) optionally one to multiple node views providing a view to node data exposed by the structure facet. This node type is mandatory within all systems using the common plant model wherein the structural facet is a mandatory element representing the public interface of the node.
In order to satisfy more than one demand on a specific hierarchy of the node, the node types can be defined for dedicated hierarchy levels within the defined hierarchies. In particular, one or multiple hierarchy levels can be assigned to a node type, thereby enabling guidance in an engineering system to create nodes in a selectable hierarchy at an intended level.
In order to enable an advantageous engineering on the node type and a re-use of diverse node type in terms of node type templates, the node types can be defined in the libraries and can contain attributes that are consumed by external applications, used for data representation or for implementing business logic.
In order to provide a support for the definition of a hierarchy, the hierarchy model may comprise a hierarchy model template that is used to define the hierarchy and the hierarchy levels. Using this template, standardized structures and definition are guaranteed which also enables the engineer to re-use existing hierarchy definitions. Therefore, a catalogue of hierarchy definitions can be project-wise and/or industry-wise defined wherein the engineer will select the hierarchy definition being useful for his specific task, such as line management, maintenance managements, real estate management, power supply wiring management etc.
Other features which are considered as characteristic for the invention are set forth in the appended claims.
Although the invention is illustrated and described herein as embodied in a common plant model for modeling of physical plant items of a production plant, it is nevertheless not intended to be limited to the details shown, since various modifications and structural changes may be made therein without departing from the spirit of the invention and within the scope and range of equivalents of the claims.
The construction and method of operation of the invention, however, together with additional objects and advantages thereof will be best understood from the following description of specific embodiments when read in connection with the accompanying drawings.
In the following the object model of the common plant model—hereinafter referred to as CPM—is described from a realization independent perspective. The general idea for the creation and application of the CPM is to adopt a single software platform for the control and execution of a production process wherein MES, SCADA and DCS+ system are assigned to distinct tasks within the usually very complex realization of the software platform customized for a distinct manufacturing plant. The customized software platform is hereinafter also referred to as project.
The CPM aims to model and organize each relevant item in the physical manufacturing plant. A physical plant item could represent fixed equipment, movable equipment, tools, assets, etc. This specification uses the term “CPM Node” for physical plant items. The objective of a CPM Node is to aggregate different aspects for the modeling of single plant physical elements. The aggregation involves the public interface parameters, as well as the automation parameters. All CPM Nodes are characterized by a set of common parameters (unique identifier, name, display name for multilingual support, description, etc.) and by an additional set which is specific for each node type (level for tank, temperature for the oven, availability for a press-machine). CPM Node parameters can be consumed by external applications (e.g. UI, OEE.), used for data representation or for implementing business logic.
The following table provides a brief description of the most frequent plant items:
A Global Library is a project-independent library which can be used by several projects. A user can loosely couple global libraries to a project by means of the “shows” association. All thereby related global libraries can be used when working on a project. In practical Global Library aims to release product/industry specific Type definitions as explained hereinafter in more detail in order to meet a set of cross-functionalities (e.g. equipment types for food and beverage micro vertical industry).
A Project Library is a unique part of a project. It contains all project master data. A Project aggregates one and only one Project Library.
The objects that are comprised in a library are:
Types, e.g. see CPM node type model explained later in
Template, e.g. see facet model, rule model explained later in
Hierarchy definitions
The global library is provided by different automation specific products, such as MES, SCADA, DCS+, and can be specialized for micro-verticals (e.g. Food and Beverage, Automotive, etc.). Ech global library is versioned.
The objective of a project library is to manage/contain all types and templates and their proper set of functionalities relevant for a dedicated customer project. The project library is versioned, too.
A CPM Node Type as schematically shown in
Header, providing the identity information of the CPM Node Type (unique identifier, name, description, versioning, etc.);
One Structure Facet for high level representation;
Optionally one Automation Facet for automation representation;
Optionally one or multiple Functional Facets for different functional aspects;
Optionally one or multiple Wiring Charts defining the relationship between the Facets; and
Optionally one to multiple CPM Node Views providing a view to CPM Node data exposed by the Structure Facet, such as icon representation in plant displays, or so-called faceplates for detailed views.
As it can be seen here for the description of the CPM node type model the facet model plays an important role in the CPM object model and is therefore described later on with respect to
CPM Node Types can be defined for dedicated levels within defined hierarchies. Therefore, one or multiple Hierarchy Levels can be assigned to a CPM Node Type. This enables guidance in an engineering system to create CPM Nodes in a hierarchy at their intended level. CPM Node Type Templates support reuse of CPM Node Type template definitions for similar CPM Node Types inside a library. This increases ease of use in the CPM Node engineering workflow (e.g. creation and management of CPM nodes in the plant).
A CPM Node Type Header is defined as a set of information to uniquely identify a CPM Node Type. This information cannot be extended by users. The table below lists the relevant parameters:
One of the most important facets is the Automation Facet which is a unique, but optional element intended as physical representation from the automation perspective. The Automation Facet relates to one or multiple Structure Tag Types in order to exchange data with the automation system. Thus, the Automation Facet in conjunction with a corresponding Structure Tag type acts like a wrapper to the automation system allowing to use the CPM Node Type for different automation system types.
At CPM Node instance level, the Automation Facet of the CPM Node relates to corresponding Structure Tag type instance inside the process image of the runtime system managing, controlling and executing the production process. Automation Facet Templates support reuse of Automation Facet template definitions for similar Automation Facets inside a library. This increases ease of use in the CPM Node engineering workflow.
The Structure Facet is a mandatory element representing the public interface of the CPM Node. Structure Facet defines the external CPM Node interface through the Interface Member that it exposes. External business logic or User Interface, through CPM Node structure facet, can:
Read and write parameters of a CPM Node; and
Define a subscription to a parameter of a CPM Node.
The Structure Facet may optionally relate to a Structure Tag Type in order to exchange data with the process image for interface member value persistency. At CPM Node instance level, the Structure Facet of the CPM Node relates to corresponding Structure Tag instance inside the process image of the runtime system. Depending on the configuration of the Structure Tag, IOWA services may apply additional functionality such as alarm condition monitoring and/or data logging.
A Functional Facets optionally enrich the CPM Node with additional functional aspects. Examples for Functional Facets are:
OEE: providing CPM node availability represented by any equipment by means “OEE Facet”.
Batch Control: assigns batch information to a CPM node representing a Unit via a “Batch Facet”.
Maintenance: calculation of operation hours, maintenance intervals by means of “Maintenance Facet”.
Material management: assigns material information including quantity to a CPM Node representing a storage location via a “Material Facet”.
MES, SCADA and DCS products deliver their required Function Facets via their own libraries. The Functional Facet is a logical container providing data interfaces for exchange data coming from different products or system sources to the CPM. It allows loosely coupling between different existing systems that interact with the CPM, moreover allows systems working independently of each other in a way that if one of them is momentarily slow or unavailable it doesn't slow down or kill the entire system (loose coupling).
The facet objective is to cover certain functionality (e.g. Automation System, Overall Equipment Effectiveness, Quality, Diagnostic, etc.) by offering a subset of data and functions filtered and configured for the CPM Node Type that is using it. Functional Facet Templates support reuse of Functional Facet template definitions for similar same or similar Functional Facets inside a library, e.g. the definition of an OEE or Material Facet which applies to a set of CPM Node Types within a library.
A Facet is an Interface that provides a set of Interface Members. Hence, each Facet is able to expose Interface Members. The table below lists the general information for interface member parameter definition:
The Interfaces should accessible with a simple namespace string, something like mixerA.OEEFacet.Status.
A Decorator is an annotation that can be added to interface members. The purpose of the decorator is to extend the interface member. The interface member can be extended according to user specific needs. The table below lists the general parameters for decorator definition.
CPM releases system decorators as well as offers the possibility to create new ones. Examples of default system decorator are listed in the following table:
Parts of the Structure Facet are “mirrored” back to the process image to support alarming, logging, and other aspects of tags without the need to re-implement all these features in the CPM runtime.
Interface member decorator are available:
At engineering for easier interface member manipulation.
At runtime for detecting improper data manipulation or instance marshaling rules.
Example of decorator use can be:
Read-only: value cannot be modified during execution, example: tank's capacity, equipment's mobility;
Read-write: value can be modified during execution, example: quantity in the tank, sterilization status)
The wire bonding process is mainly used to propagate and align Facet parameters which are linked to a specific CPM Node. This aspect decreases the engineering effort and allows the engineer to re-use parameters already in place. Another aspect is data adaptation. The wire bonding process carried out by various kind of parameter: in case of a wired pair parameters needs some kind of data manipulation, a dedicated environment is offered to the Engineer to specify the conversion logic. The wiring is able to connect objects that expose their public interface as a list of interface members. A pair of interface member defines a Connection. The wiring connections and rules are organized within the wiring charts according to the Wiring Chart Model. The CPM Wiring Model, including wiring charts with rules and connections, is an optional part of the CPM Node.
A wiring chart has a list of rules and a list of connections. The wiring model is partitioned in several wiring charts in order to:
a) separate different project responsibilities (e.g. SCADA team and MES team working on the same CPM Node Type);
b) separate different product implementation (e.g. SCADA, MES, DCS) on the same project; and
c) manage complexity.
Since rule interface member and facet interface member are defined in the same way, it is possible to connect two or more rules using the same mechanism described in the previous paragraph as this is shown for a second wiring chart example in
a) the wire between interface members requires any kind of data adaptation or manipulation in terms of rule; and
b) More than two interface member have to be connected.
Just as the facets also the rule exposes itself by means of interface members. The logic inside the rule is realized with a Script that can contain more than one Script Function. An authorized user can create a Script Function or use an existent one available in a Library. The script is meant to be stateless. In case of a state must be maintained between different of executions of the same rule a Local Variables must be defined. Because of rule is independent from connections and facet interface members, rules can be organized in libraries so that they can be reused as building blocks.
The wiring chart involves the facets Facet A and Facet C through the mediator RULE;
The variable within the rule contains the counter value;
The script within the rule updates the current counter value with the value of the interface member rule.1 if the machine status is active (rule.2→1); and
The Counter is reset when the machine status changes from 1 to 0 (Facet A.2 passes from 1 to 0).
In order to reduce complexity, wiring charts and rules are not subject for changes at instance level. The CPM Node can be further extended with user defined parameters in order to meet customer needs. The CPM Node Header is defined as a list of information which objective is to uniquely identify a CPM Node. The table below lists the relevant parameters:
The CPM Runtime environment manages a flat node repository that contains all CPM nodes. The objective of the CPM Node repository is to manage the CPM Node life cycle. So that, each time a CPM Node/s is created or imported (bulk import), automatically its/their instance is managed independently from the possible hierarchies that the CPM node/s shall belong to. According to possible domain models (e.g. production, maintenance, energy), it is possible to organize nodes in different hierarchies as schematically shown in
Another outstanding improvement of the CPM is realized by the Hierarchy model which is schematically shown in
Hence, the objective of hierarchy definition is to define several organizations (that can have different level of details) so that the user can organize its equipment according to functional/physical/logical aspects. In addition it is possible to specify constraints when defining hierarchies' structure (e.g. an Area cannot contain a Site).
The aim of hierarchy model is to support hierarchically organized structures. The CPM nodes, which belong to a unique repository, can be organized in different hierarchies.
Before a hierarchy can be built with CPM Nodes, it is necessary to specify a Hierarchy Definition. The engineering system can hide the need of Hierarchy Definition by means of default hierarchies (e.g. ISA 88/95, Parent-Child with no constrains). The Hierarchy Definition contains the Hierarchy Levels and the relationship to each other via parent-child link of the Hierarchy Level Constrains.
The tables below show an example of one Hierarchy definition:
The above table 6 lists the Hierarchy Levels for single Hierarchy definition (Equipment Hierarchy).
The above table 7 lists the Hierarchy Constrains among Hierarchy levels. The “concrete” hierarchy is built using the CPM Nodes available in the CPM repository (see
The CPM Node Template is created from instances and contains all information, including Automation and Functional Facet configuration, of these instances and hierarchy definition. From the practical point of view, the user is able to reuse a CPM Node Template to create multiple CPM Node instances. Depending on the template it could be a simple unit with few equipment modules or an entire Packaging Line.
A Bottling packaging line template consists of a number of CPM Nodes, such as a:
Filler,
De-palletizer,
Pasteurizer, and
Palletizer.
Each CPM Node contains its structure facet and MES functional facets which are relevant for the Bottling process. In case of multiple facets contained in one CPM Node, the CPM Node contains wiring charts, too. The CPM Node instances, which are created from a CPM Node Template, still maintain the reference to their CPM Node Types.
The group model schematically shown in
Typical examples are:
group CPM Nodes that belong to the same ERP cost center; and
group CPM Nodes according to maintenance teams.
The Graph model comprises:
Graph: graph definition in terms of unique identifier, name and display name;
GraphConnection: a couple of CPM Nodes are linked via Graph Connection link; and
GraphConnectionAttribute: each GraphConnection is further enrich with more than one attribute.
As an example, a graph is used as a constraint for the routings definition (e.g. packaging line).
Movable equipment is an important and mandatory feature especially in process and pharmaceutical industry. Movable equipment is uniquely identified and has the same properties/features as a static CPM Node (Name, Description, Facets and proper Interface members, etc). In addition to that movable equipment is moved from one hierarchy position to another one.
As for all other CPM Nodes, Movable equipment's life cycle is in charge of CPM Node Repository. From a hierarchical organization point of view, the Movable Equipment is:
assigned to a “Storage/Static location” (e.g. kitting area, Site etc.), see line for static location in
“query-able” by path (hierarchical view) or by its general identity information by means of CPM Node Header addressable via path in the hierarchy showing current location.
With this concept, movable equipments can be addressed by fixed IDs (they will not be changed when the equipment moves) like:
And it can be addressed/shown by changing IDs:
In the following, integration and collaboration scenarios are explained in more detail. From the project implementation point of view, four different scenarios are foreseen.
1. Greenfield Top Down, Implemented Using SIEMENS® Portfolio:
Top down from plant design perspective means a brand new CPM project where the CPM node composition can be enriched in any time with functionality coming from different automation system products.
This does not imply that the commissioning is done for all products at the same time (e.g. SCADA can be commissioned before MES)
2. Greenfield Bottom Up, Implemented Using SIEMENS® Portfolio:
A CPM project is already in place and, in a second time, additional functionality is added (e.g. MES project not designed in the first project phase and SCADA/DCS already in operation). CPM Nodes can be enriched with MES functions.
Please note that in case of regulated industries where the existing project is validated (“sealed”), there could be the case where a new validation is required or a “proxy CPM Node” has to be engineered (see scenario 3).
3. Brownfield Bottom Up, Implemented Using SIEMENS® Portfolio:
Different OEMs deliver part of the whole plant by independent CPM projects. In a second time, additional functionalities are requested on top of commissioned project. Example: MES on top of existing SCADA projects.
Unless there is an owner that takes the responsibility for changes the OEM system there is the need to create a new CPM project. The engineering effort could be mitigated if the source code of “sealed” project is available or “sealed” project structure can be only browsed for CPM project extension.
4. Brownfield, Bottom Up, 3rd Party Systems:
In this case none of the strategies can be applied because of third party systems that do not conform to CPM model at all. Only interface level approach can be applied (e.g. OPC). For the above mentioned scenarios, the following two models shall be applied.
First model is the Integration Model which is schematically shown in
As a specific feature of the integration model, the hierarchies of the SCADA and the DCS system are mounted to the hierarchy of the MES. Therefore, both SCADA and DCS comprise in its specific nodes the facets from the MES. A duplication of the divers hierarchies is omitted which leads to a break on the seal of the SCADA and DCS system.
The second model is the collaboration model which is schematically illustrated in
The engineering system shall support:
Copying the hierarchy (selected parts) from the lower level systems to the upper level system; and
Copying the structure facets (selected parts) from the lower level systems to the upper level system.
In this scenario, value to the present solution of Siemens® can be added by the propagation of later modifications on the Sealed System and possibly applying consistency rules in order to alert on conflicts.
Therefore, in the collaboration model, the SCADA and DCS hierarchies are imported and integrated into the MES hierarchy (e.g. hierarchy according to ISA-95 and ISA-88). MES facets are exclusively used in the MES only which is completely different from the integration model. Both the SCADA and the DCS systems remain sealed and the respective hierarchies are duplicated as it can be seen in
In the present example, a single dedicated Engineering Instance is in charge of configuring hierarchies, groups and graphs and how CPM nodes belong to them. The full CPM Node configuration is then distributed, kept aligned and locally cached in all server stations by the CPM Runtime and the IOWA Name Service. This Engineering Instance (engineering system ES) is responsible to send each runtime server its proper configuration as this is shown in
The distribution of the CPM Nodes to different runtime servers is supported and it can be performed according to one or both of the following strategies.
1. Selecting Higher a Level Hierarchy Node Containing Relevant CPM Nodes from One of the Hierarchies:
In case of distribution driven by a selected hierarchy, all child nodes of the selected parent node are distributed to the same target server station until a sub-ordinated node is distributed to another server.
Nodes not assigned to the distribution hierarchy may be highlighted to the user.
The central server can be a dedicated server station (as in the example) or even part of one of the “regular” server stations.
2. Selecting Single CPM Node from One of the Hierarchy
This example is schematically shown in
Non-hierarchical distribution as schematically shown in
The Name Service of each runtime server represents the local process or work cell as well as “mounted” information concerning the process or work cells that have been distributed to the peer runtime stations. This is accomplished by means of so-called “mounted to” relations linking remote information to the local content:
System spanning information of the “Site” entity is therefore available at each server station.
A client station connected to any of the peer server stations is able to browse data of all peer server stations, hence the entire plant model, too.
Each name service is able to provide references to local and remote objects, so that a client is able to access objects in a distributed system.
This approach does not require a central server for a distributed CPM.
Architectural Significant Requirements
The following table lists all architectural significant requirements.
Number | Date | Country | Kind |
---|---|---|---|
14195378.6 | Nov 2014 | EP | regional |