This application claims the priority, under 35 U.S.C. §119, of European application EP 141 95 398.4, 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 having 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 of a rough production planning and purchase order processing. The MES system is located at level 3 representing the plant control level comprising the detailed production modeling, planning, production execution, production data acquisition, KPI calculations, resource and quality management.
The process control level is located at level 2 and comprises SCADA systems (Supervisory Control and Data Acquisition) 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 fieldbus 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 borders of the diverse levels are floating according to the set-up and circumstance of the respective production facility (plant).
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 constraints.
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 diverse levels of the automation pyramid, today's software systems available cannot satisfy these demands. Currently, each system ERP, MES, SCADA and DCS (Distributed Control System) 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. So far it is a tremendous effort to link a new control function (i.e. temperature of an equipment) to a new target destination in the control environment. Usually, a separate script is required to get this new information transferred.
It is accordingly an object of the invention to provide a common plant model for modeling physical plant items of a production plant which overcomes the above-mentioned and other disadvantages of the heretofore-known devices and methods of this general type and which provides 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, the common plant model shall offer the possibility to create a mechanism that allows an easier linking of plant items from an engineering aspect being independent from the system (MES, SCADA, DCS, ERP) the engineer is working with.
With the foregoing and other objects in view there is provided, in accordance with the invention, a common plant model for modeling physical plant items of a production plant within a manufacturing execution system having an engineering environment and a runtime environment. The common plant model comprises:
a) a node type model aggregating different aspects for modeling a single physical plant item involving public interface parameters and automation parameters;
b) a plurality of nodes, each representing an instance of a node type;
c) a library model including a project library and a global library, said project and global libraries containing the node type model, a facet model, a rule model and a hierarchy model;
d) a graph model representing physical and/or logical connections between the nodes;
e) a wiring chart model defining an interaction between interface members of different facets within a common node and/or among different nodes; and
wherein each facet contains at least one interface member and a logical link among the interface members is a virtual wire defining a connection used to propagate and align facet parameters that are linked to a specific node.
This common plant model therefore provides a standardized architecture for the modeling of the physical plant items with respect to the logical connection within the same physical plant items or among different physical plant items. The wiring chart can be used by a plurality of different users 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 needs in terms of the connections within the same physical plant item and/or among different physical plant items 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. The present invention creates a kind of a piping stereotype without the need to add any business logic into the logical link.
This wiring concept assumes that the facets of the nodes comprise a set of principal parameters as inputs and as outputs (e.g. for a functional facet the response or the results coming from its automation server). Nonetheless, in case of a wired pair of interface members, the parameters exchanged over this connection might require some kind of data manipulation. To achieve this objective as a preferred embodiment of the present invention, the wiring chart model comprises an insertion mechanism allowing to attach a rule defined according to the rule model to the logical link thereby enabling any kind of manipulation to a parameter which is exchanged among the two interface members associated with the logical link. Therefore, a dedicated environment is offered to the engineers of the diverse software systems (MES, SCADA, DCS) to specify the conversion logic for the parameter separately and without any need to program the conversion logic to the link. Preferably, the insertion mechanism allows to attach a series of rules to the logical link which offers the possibility to link an interface member outputting a parameter from a first rule to an interface member inputting this parameter to a second rule.
In order to allow the engineers from diverse systems to model the specific demands of their systems within the common plant model, it can be advantageously when each wiring chart is associated with a node type and comprises a list of rules and a list of connections. With other words, MES engineer, SCADA engineer and the DCS engineer are now enable to work simultaneously on the modeling of the same node. The MES engineer for example may focus on parameters which value are delivered from the automation layer (layer 0 and 1) of the physical plant items operated at shop floor which will involve the wiring with the automation facet of this node. Another parameter which value is set by operator input value or by any kind of external business logic more involves the SCADA or ERP layer and therefore the wiring of the structure facet is concerned. Further, a parameter which value is linked to a result provided by another functional facet might rather involve the wiring with the functional facet of a node.
In general the wiring process is therefore mainly used to propagate and align facet parameters which are linked to a specific node. This aspect decreases tremendously the engineering effort and allows the engineers of the diverse systems to re-use parameters and rules already in place. Therefore, a further preferred embodiment of the present invention provides the possibility to define different wiring charts for the same node and/or for the same group of nodes.
In order to support the compatibility of the rule and parameters and their respective wiring among the interface members of the various facets, each rule may comprise an interface member being identically defined as the interface member of a facet. This measure enables the rules to expose themselves by the same type of interface members as the various facets.
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 the 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 1 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:
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.). Each 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
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:
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:
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:
Example of decorator use can be:
The wiring 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
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.
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.
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 Definitions by means of default hierarchies (e.g. ISA 88/95, Parent-Child with no constraints). The Hierarchy Definition comprises the Hierarchy Levels and the relationship to each other via parent-child link of the Hierarchy Level Constraints.
The tables below show an example of Hierarchy definition:
The above table 6 lists the Hierarchy Levels for single Hierarchy definition (Equipment Hierarchy).
The above table 7 lists the Hierarchy Constraints among Hierarchy levels. The “concrete” hierarchy is built using the CPM Nodes available in CPM repository. This example is shown schematically in
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:
The group model schematically shown in
Typical examples are:
The Graph model comprises:
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
With this concept, movable equipments can be addressed by fixed IDs (they will not be changed when the equipment moves) like:
In the following, integration and collaboration scenarios are explained in more detail. From the project implementation point of view, four different scenarios are foreseen:
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)
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.
It should be noted 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 C).
Different OEMs deliver part of the whole plant by means of 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.
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 diverse 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:
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 means of 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:
2. Selecting single CPM Node from one of the Hierarchy
This example is schematically shown in
Non-hierarchical distribution as schematically shown in
Architectural Significant Requirements
The following table lists all architectural significant requirements.
Number | Date | Country | Kind |
---|---|---|---|
14195398.4 | Nov 2014 | EP | regional |