[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

EP4007940A1 - Method for generating self-description data modules - Google Patents

Method for generating self-description data modules

Info

Publication number
EP4007940A1
EP4007940A1 EP19786450.7A EP19786450A EP4007940A1 EP 4007940 A1 EP4007940 A1 EP 4007940A1 EP 19786450 A EP19786450 A EP 19786450A EP 4007940 A1 EP4007940 A1 EP 4007940A1
Authority
EP
European Patent Office
Prior art keywords
data
self
description
information
engineering
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
EP19786450.7A
Other languages
German (de)
French (fr)
Inventor
Brent HANNIMAN
Steffen Lamparter
Jens Meckel
Jörg NEIDIG
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Publication of EP4007940A1 publication Critical patent/EP4007940A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25418Enter description of capabilities of each module
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35088Using graph grammars to describe parts
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35152Part coding, description from 3-D cad database
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Definitions

  • the present invention relates to a method for generating a self-description data module with regard to at least one functionality and / or at least one component of a device or system.
  • the US patent application 2019/0025785 A1 discloses a module for a system that carries out a technical sub-process of the system.
  • the module comprises an external interface for publishing at least one service that the module can provide to a specific product.
  • the mentioned interface also includes information about the technical hardware and the functional scope of this module as well as dynamic information about time-changing data within the module, which can arise, for example, as part of the control of the module.
  • the mentioned US patent application discloses that the information mentioned above can be made available, for example, as a so-called “Module Type Package (MTP)”.
  • MTP Module Type Package
  • Such a method is designed and set up for generating a self-description data module with regard to at least one functionality and / or at least one component of a device or system, with a data collection comprising engineering elements from at least one of the three data sources listed below being available:
  • Method step c.) Determined at least one sub-graph, e.) Creating a self-description data module with regard to a component and / or a functionality of the device or system, the self-description data module the selected sub-graph and / or in the sub- Information contained in graphs.
  • a method of this type for generating a self-description data module can, for example, run in an automated or partially automated manner.
  • sequence of method steps d.) And e.) can also be carried out multiple times one after the other, so that one sub-graph is selected one after the other, the associated self-description data module comprising this sub-graph is generated and then another sub-graph is subsequently selected again in order to then also generate a self-description data module for this, etc.
  • the data collection can include a compilation of the engineering elements contained therein, in particular including meta information that may be assigned to the engineering elements.
  • This compilation of the engineering elements within the data collection can be designed as a table or a comparable compilation and be set up.
  • the table can for example contain engineering elements themselves and / or names or designations for engineering elements.
  • a self-description data module can be designed and set up, for example, as a searchable data collection of information relevant to a specific functionality or component of the device or system.
  • a self-description data module can also be designed as a functional data module or at least comprise functional elements.
  • Such functional data modules or functional elements of such data modules can be designed, for example, in such a way that they are designed and set up for self-executing certain functions or functionalities of the device or system.
  • Such functional data modules or functional elements can be designed and set up, for example, as software elements or modules (or include such software elements), during the course of which the mentioned function or functionality is carried out.
  • the software elements mentioned can, for example, be engineering elements according to the present description, which can be designed and set up, for example, as control programs, user programs, elements of such programs, function blocks, data blocks and / or similar so-called POUs (Program Object Units) or such Can include software modules.
  • POUs Program Object Units
  • the software modules mentioned and / or the executable software elements mentioned can then be contained in an advantageous embodiment wholly or at least partially in a self-description data module or the assigned sub-graph assigned to a corresponding functionality of the device or system. Furthermore, such software modules or executable software elements can also be contained in one of the data sources and / or the compilation of engineering elements.
  • Such functions or functionalities of such self-description data modules designed as functional data elements or comprising functional data or software elements can be referred to, for example, as so-called “skills”.
  • Skill is assigned, for example, be designed and set up in such a way that, after input of input parameters and / or call commands necessary for executing the skill, are designed and set up for the automatic execution of the function or functionality assigned to the skill.
  • This can be designed and set up, for example, in such a way that the function or functionality is carried out accordingly when the corresponding software elements of the corresponding self-description data module are, for example, from an execution environment, for example the device or the system.
  • Such skills can range, for example, from relatively simple activities such as opening a valve or reading out a sensor value to more complex functionalities, which can be composed of several simpler functionalities, for example.
  • Such more complex functionalities can be, for example, the packaging of a product or a so-called “pick & place” process for gripping, moving and placing an object.
  • Such a pick & place process or pick & place skill can, for example, be elementary functionalities or skills such as recognizing an object that include gripping an object, moving the object, recognizing a dropping point and dropping the object.
  • the parameters necessary for executing the skill are transferred to the corresponding self-description data module, such as the description of an object to be gripped and a placement position for it, and then the skill by means of the sequence from corresponding one or more functional data and / or software elements contained in the self-description data module is executed.
  • the corresponding self-description data module can comprise a skill description information which, for example, contains information about the skills realized or realizable by the self-description data module.
  • the skill description can include information about an implemented functionality as well as the input parameters necessary for executing the functionality.
  • a sub-graph related to a specific functionality of the device or system can be viewed as an implementation of a skill related to this functionality. This then applies in a comparable manner to a self-description data module comprising this sub-graph.
  • the self-description data module can be designed and set up for communicating said skill description information to other devices, devices, computers or comparable data processing devices.
  • Such a configuration of a self-description data module can be advantageous, for example, for use of the device or system in the context of a “plug and produce” system.
  • the wording: "at least one of the three data sources listed below" is understood in the context of the present description and claims that the data collection can include a selection of engineering elements from one, two or even all three of the three data sources mentioned The data collection can also consist of a selection of one, two or all three of the three data sources mentioned.
  • Each of the data sources can include engineering elements of at least one corresponding data category.
  • each of the data sources engineering elements comprises at least one corresponding data category
  • the automation engineering data include engineering elements of at least one data category for automation engineering data
  • the MCAD data engineering elements include at least one data category for MCAD data
  • the ECAD data engineering elements for at least one data category ECAD data include.
  • the device or system can be designed and set up, for example, as a machine, a device, a robot, a production system or the like, or it can also include parts of this type as components.
  • a device or system can include, for example, one or more components, drives, sensors, machines, devices, communication devices or the like.
  • engineering elements are understood to mean all data, modules, software elements, graphic representations, images, or comparable elements which are necessary for engineering the device or system using the automation engineering data, the mechanical Planning data and the electrical planning data are used or can be used.
  • the engineering elements can, for example, be taken directly from the respective data sources.
  • you can also use an optical Pattern recognition and / or optical character recognition engineering elements can be taken from images and / or graphic representations present in the data collection.
  • images and / or graphics for example, product Z calibration calculations, its construction drawings, circuit diagrams, exploded views or similar images or grafi specific representations.
  • Automation engineering data are, for example, data such as are created and / or provided for the automation and / or control of the system or device. Such data are created, for example, in so-called engineering systems, which are used, for example, to create corresponding control programs and to parameterize the components of the system or device and also the corresponding controls accordingly.
  • engineering systems which are used, for example, to create corresponding control programs and to parameterize the components of the system or device and also the corresponding controls accordingly.
  • An example of such an engineering system is, for example, software available on the market with the product name "TIA Portal".
  • Automation engineering data can include a wide variety of engineering elements, for example one or more control programs, variables, so-called “tags”, program modules, function modules, data modules, program blocks, so-called “program organizational units” (POU), data types used, ID -Information on components, configuration data, call information for program elements, comments, control programs and / or comparable engineering elements.
  • POU program organizational units
  • Data categories of the automation engineering data can be, for example:
  • the engineering elements can each be collected according to a data category within the automation engineering data or assigned to one another, for example in corresponding lists, databases or comparable structures.
  • the compilation of engineering elements in each case from a data category from the automation engineering data can also be created in preparation for the implementation of the method according to the present description.
  • Such a compilation of engineering elements can take place, for example, to export the corresponding engineering elements from a corresponding automation engineering system.
  • This compilation can be automated or partially automated, for example.
  • Such compilations can, for example, also be stored in a corresponding engineering system or a corresponding database and then extracted from there for use as part of a method according to the present description.
  • the engineering elements belonging to a respective one of the named data categories can be present, for example, as lists, tables and / or database structures within the automation engineering data or made available as such by a corresponding engineering system will.
  • engineering elements of the corresponding data categories mentioned above can be present or available as a tag or variable list, as a POU list, data type list, hardware info list, call structure and / or UDT list be asked.
  • the individual engineering elements within the data categories of the automation engineering data can furthermore each include meta information on the respective engineering elements.
  • meta information can, for example, names, comments, referencing, physical units, ID information (such as type names, serial numbers, ID numbers, function names, functionality, etc.) or other information relating to each temporary engineering elements.
  • Mechanical data or MCAD data can, for example, be engineering elements that are assigned or assignable to the following data categories: parts, parts or component lists, 3D geometries, kinematic information, point-cloud information, names / designations / meta Information on mechanical components or parts, related information on various mechanical components or parts (e.g. name, designation and / or number of other components connected to a specific part as well as, for example, the type and configuration of such connections), image data on corresponding mechanical components or parts from that.
  • Electrical planning data or ECAD data can, for example, be engineering elements that are assigned to the following data categories or that can be assigned: Function descriptions, location information, reference numbers for products, parts or parts lists, schematic drawings, circuit diagrams, images, Names, designations or number of inputs and / or outputs, information on dynamic behavior (for example, described by so-called "macros") or comparable engineering elements on electrical properties and / or configurations of the device or system.
  • functions for example, location information, reference numbers for products, parts or parts lists, schematic drawings, circuit diagrams, images, Names, designations or number of inputs and / or outputs, information on dynamic behavior (for example, described by so-called "macros") or comparable engineering elements on electrical properties and / or configurations of the device or system.
  • Relationship information according to the present description can, for example, be parent-child relationships of program modules, program components and / or program or program modules. Be component instances.
  • Program component instances can be such relational information.
  • relationship information can also be called up and / or usage information of variables,
  • Such relationship information can, for example, also be taken from additional information on individual engineering elements used.
  • Additional information on individual or groups of the engineering elements which can also be designed and set up as metadata or meta information on these engineering elements, can include, for example, names, superordinate functional classes, collective terms, type descriptions, units, physical units, comments, descriptions, physical units, relational Descriptions of other data, functionalities, authors, authorizations, affiliation to components and / or functionalities or comparable information.
  • the assignment of engineering data to such properties or categories can also be relational information.
  • Relationship information can, for example, also be taken from cross-referencing or material flow information.
  • Relationship information can be directional or undirected. Directed relationship information can be symbolized, for example, by an arrow within the multigraph, which can symbolize, for example, relationship information such as “is called by”, “belongs to” or similar relationships. Undirected relationship information can, for example, correspond to information that two different data belong to the same data category or are assigned to the same component. This can be taken into account, for example, when generating the multi-graph.
  • the identification of the relationship information can for example be done by evaluating, for example, call information and / or call chains of program modules, function modules, data modules or general POUs according to the present description. In this way, for example, functional relationships between different clusters that contain different of the above-mentioned modules can be identified.
  • relationship information can be used, for example, on the basis of meta information on certain automation Engineering data or comments on such data can be determined.
  • meta information or comments can, for example, directly correspond to such relationship information, such as, for example, a functional assignment, a structural assignment and / or a spatial assignment.
  • relationship information can also be determined, for example, from names or ID information, for example from the correspondence of parts of names of different data elements of the same category.
  • a graph is a mathematical structure made up of so-called “nodes” and so-called “edges” that connect two nodes.
  • a graphic representation of such graphs can be, for example, a representation in which the nodes are represented as points or circles and the edges are represented as lines connecting circles.
  • a multigraph is understood to mean those graphs in which two nodes can be connected via several edges.
  • Edges can be, for example, so-called “undirected edges” in which the connection of the respective nodes is not assigned a logical direction. Furthermore, edges can also be designed as so-called “directed edges” in which the connection of the respective nodes is assigned a logical direction .
  • the multigraph can, for example, be arranged and / or stored in a data format customary for graphs.
  • a multigraph in the context of the present invention is also understood to mean any further data structure which also realizes or contains the information contained in a multigraph.
  • a sub-graph can also be used in each for Graphs can be arranged and / or stored in a data format customary in the field.
  • a sub-graph in the context of the present invention is understood to mean any data structure which realizes and / or contains the information contained in the sub-graph.
  • the structure of a multigraph in the sense of the present invention can for example be done in such a way that the nodes of such a multigraph correspond to different engineering elements, i.e. each node of the multigraph corresponds to an engineering element of the data collection.
  • the edges or connections within the multigraph are formed by relational information between the respective engineering elements, ie an edge or connection between two nodes of the multigraph corresponds to relational information between the engineering elements corresponding to the two nodes .
  • Such relationship information which can be represented as a corresponding connection between two nodes, can be, for example, call information or referencing information between software modules that are assigned to the respective nodes.
  • a node as an engineering element can be assigned a specific category designation or a specific physical unit.
  • connections of further engineering elements to these named nodes can be assigned, for example, to an affiliation of the further engineering element to this category or also to the use of the corresponding physical unit by the engineering element.
  • a connection between two nodes can also be assigned the information that the two engineering elements assigned to the nodes, for example one of the same Belong to a data category or have other comparable similarity properties.
  • a so-called “weighting” can be assigned to an edge or the corresponding connection between two nodes.
  • a weighting can for example be used as a strength and / or relevance of the relationship between the two
  • connections or edges between nodes can be weighted differently depending, for example, on their category
  • Directional information can also be weighted differently than non-directional relationships, for example.
  • connections between nodes can each be weighted differently, for example depending on a category of the associated relationship information or comparable criteria.
  • the weighting can be carried out in such a way that relationships between a software component and a mechanical part are rated as the most important connection in the context of a corresponding multigraph and are therefore given the highest weighting relative to the others.
  • clusters can preferably arise in which engineering elements are contained which have a relationship to a specific mechanical part.
  • the number of calls between software components can be evaluated such that a higher number of calls has a higher weighting assigned to one of these calls Connection between the nodes corresponds to the respective software components are assigned.
  • clusters can be formed in which engineering elements with comparable functionality are combined or engineering elements that are assigned to a specific functionality.
  • calling information and / or referencing information can also be weighted more heavily than belonging to a certain category or physical unit.
  • weighting categories mentioned above can also be combined with one another as required.
  • all of the relationships between two nodes can then be added up and / or combined into a single weighted connection between these two nodes, for example, taking into account their respective weightings.
  • This summary connection e.g. with its respective weighting, can then be used to carry out the subsequent clustering.
  • the clustering can also take place without a previous summing up of several connections or edges between two nodes, where appropriate, in which case, for example, the fact of several connections between two nodes can then be taken into account in the context of the clustering.
  • nodes and “engineering elements” are used synonymously on graphs in this context.
  • the selection, the setting up and / or the execution of the clustering method can be designed and set up in such a way that, for example, clusters or sub-graphs are formed in such a way that such engineering elements are contained within a cluster or sub-graph which are each assigned or can be assigned to a specific component and / or functionality of the device or system.
  • a clustering method or clustering algorithm is used, for example, as is known to the person skilled in the art for such analyzes in order to assign topologies of such multigraphs analyze and use this analysis to segment it into one or more sub-graphs.
  • Such a sub-graph can then, for example, include engineering elements that have an above-average and / or particularly close relationship to one another.
  • these can be engineering elements that are or can be assigned to, or can be assigned to, a specific functionality of the device or installation and / or a specific component of the device or installation.
  • a clustering or clustering method is understood to mean a technique of so-called “machine learning” in which data or data points are grouped into so-called “clusters".
  • machine learning in which data or data points are grouped into so-called “clusters”.
  • a cluster analysis method, a clustering method or a clustering algorithm can be used, for example, in order to classify each date or data point into a specific group.
  • Such a group is then referred to as a "cluster”.
  • Data or data points that are in the same group that is, the same cluster
  • have similar properties and / or features, while data points in different groups have very different properties and / or features.
  • clusters consist of objects that are closer to each other (or vice versa: higher similarity) than to the objects of other clusters.
  • Corresponding clustering methods can be differentiated, for example, according to the distance or proximity measures used between objects in the clusters, but also between entire clusters. Furthermore, or alternatively, corresponding clustering methods can also be differentiated according to the respective calculation rules for such distance measures.
  • the clustering method applied to the multigraph can be designed and set up, for example, as a local or global method.
  • the methods are either applied globally to the entire multigraph or only locally to a subgraph of the multigraph.
  • global methods require information about the topology of the entire multigraph, while with local methods the neighborhood of a single node can only be considered recursively.
  • networks that are not completely determined a priori can also be considered using local methods.
  • top-down or so-called bottom-up methods can still be used.
  • top-down method a large start cluster is recursively subdivided into smaller and smaller sub-clusters based on various criteria, while in the bottom-up method, many smaller clusters are successively combined into larger ones until the clustering meets a termination criterion.
  • spectral methods are an example of a class of top-down methods.
  • Another group of methods that follow the top-down approach are the so-called “Random Walk” or “Markov Chain Methods”.
  • Weighted graphs for so-called weighted graphs, for example, the “maximum flow method” are also suitable for performing clustering. They also belong to the group of top-down procedures.
  • clustering methods that use a bottom-up approach is known, among other things, from the so-called “modularity optimization”.
  • Another representative is the so-called “closest neighbor method”, which is also often used for general classification problems. In order to be able to apply the "closest neighbor method” to graphs, a similarity between two nodes must be defined.
  • Such a similarity can take place, for example, on the basis of existing metadata of each node, or on the basis of the intersection of the direct neighbors of two nodes. While the above-mentioned methods can all be assigned to the class of global methods, there is, for example, the so-called "CPM method" as a possible local method.
  • the use of the clustering method can include, for example, the use of a clustering algorithm or also the use of several clustering algorithms, for example one after the other.
  • Such clustering algorithms can, for example, be a so-called “K-Means Clustering”, a so-called “Mean Shift Clustering”, a so-called “Expectation Maximization (EM) Clustering using Gaussian Mixture Models (GMM)” “Agglomerative Hierarchical Clustering” and / or a so-called “Density-Based Spatial Clustering", for example a Density-Based Spatial Clustering of Applications with Noise (DBSCAN) ".
  • K-Means Clustering a so-called “Mean Shift Clustering”
  • EM Expossian Mixture Models
  • DBSCAN Density-Based Spatial Clustering of Applications with Noise
  • clustering algorithms can be, for example, the following algorithms:” Mini Batch K-Means “,” Affinity Propagation “,” Mean Shift “,” Spectral Clustering “,” Ward “,” Agglomeration Clus tering “,” Birch “,” Gaussian Mixture ".
  • the selection of a sub-graph from the at least one sub-graph determined within method step c.) Is understood to mean that from the at least one sub-graph determined within method step c.) -Graph a sub-graph is selected.
  • the self-description data module can be created, for example, by storing the sub-graph structure generated in the context of the clustering process directly in the self-description data module.
  • the creation of the self-description data module can also include, for example, a suitable arrangement and / or storage of the information contained in the sub-graph or the self-description data module can consist of a suitable arrangement of the information contained in the sub-graph.
  • This suitable arrangement and / or storage of the information contained in the sub-graph can for example take place within a suitable database structure in the self-description data module and / or in any suitable database format in the self-description data module.
  • database formats can be, for example, so-called relational database formats or SQL database formats or also so-called NoSQL database formats, semantic database formats, multigraph data formats or knowledge graph data formats.
  • Different parts of the information contained in the sub-graph can also be stored in different of the formats mentioned above.
  • NoSQL database formats (“NoSQL”: English for “Not only SQL”) are understood to mean databases with a non-relational approach.
  • NoSQL databases in the context of the present description are document, graph, Understand object, attribute-value pairs and / or column-oriented databases.
  • a NoSQL database in connection with the present description can be used, for example, as a document-oriented database, a graph-oriented database, a knowledge graph, a distributed ACID database, a key-value database, an attribute-value pair -oriented database, a multivalue database, an object-oriented database and / or as a column-oriented database or a combination or further development of such databases can be set up and designed.
  • the self-description data module the information or parts of the information can be stored as a relational database, or the self-description data module can comprise such a database.
  • the information or parts of the information can also be used as a NoSQL database, one or more knowledge graphs, a non-relational database, an OWL database, an RDF database and / or a SPARQL as a query database using the database or the self-description data module can comprise one or more such databases.
  • the self-description data module can be created in such a way that, for example, the program and / or data blocks contained therein are stored in the self-description data module in such a way that they can be integrated directly into the corresponding engineering project as part of a later engineering for another device or system are. Meta information assigned to these program and / or data modules can also be stored in the self-description data module in such a way that this is or can be integrated accordingly in the engineering project as part of a later engineering for the other device or system. In this way it is possible, for example, to build a module library for an engineering system from such self-description data modules or to build a module library which includes such self-description data modules.
  • the self-description data module can comprise corresponding software elements or modules in such a way that these are at least partially stored as directly executable software in the self-description data module.
  • These software elements or modules can be stored as executable software, for example, in such a way that they can be integrated directly into a control program for a corresponding control device for a system or device, or they can also form an independent control program for the system or device.
  • self-description data modules can be generated which, by means of the directly executable software elements, enable certain functionalities or program elements to be directly incorporated into corresponding control programs or control devices for the device or system.
  • the method can, for example, also be designed and set up in such a way that, as part of method step e.), A content description file is generated which comprises at least one description element for the functionality and / or component to which the sub-graph data stored in the self-description data module.
  • the wording that the content description file is generated as part of method step e.) Is understood to mean that the content description file is generated as part of the creation of the self-description data module or only after the self-description data module has already been generated is.
  • the content description file can be stored in the self-description data module or also separately therefrom. By means of such a content description file, it is made possible in a simplified manner to obtain an overview of the sub-graph data contained in the self-description data module or a component and / or functionality to which this sub-graph data is assigned.
  • This content description file can, for example, also be transmitted to other components or output. For example, a call, an output, an execution and / or a corresponding action with regard to the functionality or component characterized by the self-description information.
  • the content description file can be set up and designed as a table and / or list, for example. Furthermore, the content description file can also be designed and set up as a database structure in accordance with the present description.
  • the creation of the content description file can, for example, be automated or partially automated, whereby in this context, for example, designations and / or meta information assigned to the respective engineering elements can be used to generate one or more description elements characteristic of the engineering element within the content description file.
  • an associated description element can include, for example, one or more terms that are characteristic of the functionality.
  • parameter information relating to the input parameters necessary for executing the functionality can also be part of the content description file and / or a corresponding description element.
  • This determination of a description element for a certain engineering element can, for example, be automated. This determination can also take place in a semi-automated manner, for example by offering a user various names and / or meta-information elements assigned to the engineering element for selection, for example on a screen. After a corresponding selection by the user, the selected element is then assigned to the content description file.
  • Such description information for the self-description data module can be information which describes or characterizes data contained in the self-description data module, for example the engineering elements contained therein. Furthermore, such descriptive information can also be names, identifiers and / or descriptive information which characterize the functionality and / or component to which the self-description data module relates. Furthermore, descriptive information, in particular for a functionality, can also be information about, for example, parameters necessary for executing the functionality and / or corresponding parameter ranges. Information about, for example, boundary conditions for performing a functionality (for example with regard to materials, maximum or minimum size ratios, etc.) can also be such descriptive information.
  • the self-description data module can be designed and set up in such a way that when a description element assigned to a specific engineering element is input, a call, output, execution and / or a comparable action of the associated engineering element ensues.
  • a method according to the present description can furthermore be designed and set up such that the self-description data module created as part of method step e.) Is designed and set up as a skill data module with regard to a functionality of the device or system.
  • the generation of the self-description data module as a skill data module can take place, for example, in such a way that the self-description data module is generated directly as a skill data module or that the skill data module is generated in a separate work step after a corresponding self-description Data module has already been built. Furthermore, the self-description data module can also be generated first and then converted into a skills data module.
  • a self-description data module which is at least among other things characteristic of a functionality of a device or system, can be referred to quite generally, for example, as a so-called “skill”.
  • Such “skills” include such data and / or functions -Modules understood, which for the execution of a certain functionality within a device or system information and / or software elements necessary to comprehend, in particular all for the execution of the Functionality include necessary information and software elements.
  • Such a self-description data module designed and set up as a skill is also referred to as a “skill data module” in the context of the present description and the claims.
  • a corresponding content description file can then include a skill designation and / or skill description and / or information and parameters necessary for executing the skill.
  • the skill data module can include software elements necessary for executing the associated functionality - in particular all software elements necessary for executing the functionality.
  • Such software elements can for example be stored as program code within the skill data module.
  • such software elements can be stored as executable program code within the skill data module.
  • the skill data module can be designed and set up in such a way that it is designed and set up to control the functionality within the device or system when the skill data module is suitably implemented and / or stored within the device or system.
  • a device or system in which such a skill data module is implemented can then, for example, communicate the corresponding skill description to external devices. They can then, for example, call up this skill with the appropriate parameters, after which the associated functionality and then by means of the process of im Self-description data module contained software elements triggered and / or executed.
  • a method according to the present description can include the following method step: f.) Identifying description information with regard to the engineering elements assigned to the determined self-description data module within the data collection and within the first, second and / or third data source and storing the identified ones Description information in the self-description data module.
  • Process step f.) Can preferably be carried out after process step e.), In particular carried out immediately after process step e.).
  • the identification of description information within the first, second and / or third data source is designed and set up in such a way that research is only carried out in those of the data sources mentioned that are actually available in the context of the implementation of the method.
  • the description information can be identified and set up in such a way that the description information that has been identified for a specific engineering element is stored in the self-description data module. If no description information has been identified for an engineering element, no description information is stored in the self-description data module for this engineering element either.
  • Descriptive information on engineering elements can include, for example, keywords, comments, designations, titles, descriptions, manuals, information from manuals, ID information (such as identification numbers, order numbers, brand names, etc.) or similar the respective engineering elements be descriptive and / or identifying information.
  • Such description information can be determined, for example, by searching for corresponding description information within meta information on the respective engineering elements. Furthermore, in the context of designations, titles or ID information already determined in this way, it is then possible to search for further information relating to the corresponding engineering element in the data sources used.
  • descriptive information can also be taken from images and / or graphic representations, for example, via optical pattern recognition and / or optical character recognition.
  • a method according to the present description can furthermore comprise the following method step: g.) Identifying context information relating to the engineering elements assigned to the determined self-description data module within further data sources and storing the identified context information in the self-description data module.
  • Process step g.) Can preferably be carried out after process step e.) Or f.) Or also after process step e.) Or f.), Further subsequent process steps.
  • method step g.) Can also run in parallel to the execution of method step e.) Or f.).
  • the identified context information can then also be stored in the self-description data module.
  • context information relating to a self-description data module is understood to mean information that relates to engineering elements and / or at least one functionality or component of the self-description data module.
  • context information can be, for example, descriptive information, origin information, function descriptions, manuals, images, CAD data, 3D data, parts lists and / or comparable information.
  • the context information can be identified and set up in such a way that the context information that has been identified for a specific engineering element is stored in the self-description data module. If no context information has been identified for an engineering element, no context information is stored in the self-description data module for this engineering element either.
  • Further data sources can be, for example, a wide variety of data sources relating to at least one of the engineering elements assigned to the self-description data module and / or information relating to this comprise at least one engineering element.
  • Such further data sources can be, for example, databases, design systems, programming manuals, programming guidelines, international standards (for example IEC 61131), process descriptions, process steps, standards and / or similar data sources.
  • context information generated via optical pattern recognition and / o optical character recognition can also be taken from images stored in the further data sources and / o from the graphic representations, for example.
  • images and / or graphic representations can be, for example, product drawings, construction drawings, circuit diagrams, explosion drawings, process flow diagrams or comparable images or graphic representations.
  • context information taken from the further data sources can be compared with the information originally stored in the self-description data module.
  • This comparison can, for example, relate to the specific engineering elements for ordered description information or also relationship information between engineering elements. In this way, it is possible, for example, to determine whether the information that is stored in the self-description data module corresponds, for example, to corresponding standards or guidelines or also to process descriptions.
  • corresponding information can then be output to a user after such indications have been determined.
  • the identifi ed description information and / or the identified context information can advantageously be stored in the self-description data module as a semantic database.
  • an encapsulated data module is created in which a wide variety of information from a wide variety of engineering sources on one or more functionalities of a device or system or one or more components of a device or system is collected, preferably including information about possible relationships between the stored information.
  • a semantic database can, for example, be a database in which the stored information can be determined by means of semantic search operations.
  • the semantic database can be present, for example, in a so-called NoSQL database format or also in the so-called knowledge graph data format. Different parts of the semantic database can also be stored in different of the formats mentioned above. Furthermore, the semantic database can also include further parts that are not present in any of the database formats mentioned above.
  • a NoSQL database can be set up and designed in accordance with the present description. It can be used, for example, as a document-oriented database, a graph-oriented database, a knowledge graph, a distributed ACID database, a key-value database, an attribute-value pair-oriented database, a multivalue database, an object-oriented database and / or as a column-oriented database or a combination or further development of such databases can be set up and designed.
  • the stored information or parts of the stored information can also be used as a NoSQL database, one or more knowledge graphs, a non-relational database, an OWL database, an RDF database and / or a SPARQL as a query be stored using the database or the semantic database can include databases of this type.
  • a method according to the present description can furthermore be designed and set up in such a way that the Self-description data module is stored in a storage device of the device or system, and / or that the self-description data module is stored in an engineering system for mechanical, electrical and / or automation engineering.
  • An automation engineering system can be designed and set up, for example, as a computer system with suitable software that is designed and set up to generate automation engineering data for a specific machine or production plant.
  • Such automation engineering data are, for example, data such as are created and / or provided for the automation and / or control of the production plant or machine. This includes, for example, using such an automation engineering system to create appropriate control programs, for example, and to parameterize the components of the production plant or machine and the corresponding controls accordingly.
  • An example of such an engineering system is, for example, a computer system on which the software available on the market with the product name "TIA Portal" is installed.
  • the self-description data module can be stored in the engineering system, for example, in a memory of a computer or a control device which is part of the engineering system or on which the engineering system or parts thereof are installed and / or implemented.
  • the above-mentioned object is also achieved by a self-description data module which was created using a method in accordance with the present description.
  • the above-mentioned object is also achieved by a device or system with a memory device which comprises a self-description data module according to the present description.
  • a device or system designed and set up in this way is able to communicate information about its functionalities and / or components to external devices, such as other devices, systems, computers and / or corresponding input and / or output devices, with reduced additional effort .
  • external devices such as other devices, systems, computers and / or corresponding input and / or output devices
  • the device or system with the self-description data module can be designed and set up in such a way that the self-description data module includes a content description file according to the present description and / or that the device or system for generating a In the description of contents file is designed and set up in accordance with the present description. Furthermore, such a device or system can be designed and set up for communicating the content description file to an external device. Such a device or system for receiving a description element from the content description file with regard to the functionality of the device or system and, if necessary, can then correspond to a call, an output of corresponding information with regard to the functionality or component and / or a call or execution of the the functionality must be designed and set up.
  • the device or system is automatically or at least partially automated in a position to transfer information regarding its one or more functionalities and / or components to external devices, such as another device or system, a web server, an OPC Server, a display unit, a control system and / or a comparable device to output.
  • external devices such as another device or system, a web server, an OPC Server, a display unit, a control system and / or a comparable device to output.
  • an activity related to the engineering element can be triggered, for example, by selecting a specific description element characteristic of an engineering element.
  • one or more items of information assigned to the engineering element can be output or a functionality assigned to the engineering element can be called up or triggered.
  • a correspondingly configured device or system can be used advantageously in the context of a modular production system, for example in the context of a so-called cyber-physical production system (CPPS).
  • CPPS cyber-physical production system
  • kills can be or will be implemented within the device or system, which can then also be communicated or communicated to other devices, devices or systems as required, for example to enable these devices or systems to work together in the To enable or simplify the framework of a production.
  • an automation engineering system with a memory device, the memory device comprising a self-description data module according to the present description.
  • the automation engineering system can be designed and set up in accordance with the present description.
  • An automation engineering system configured in this way allows simplified engineering of a further device or system. Such engineering is simplified in particular if the further device or system has at least partially the same or similar functionalities as the device or system according to the present description and / or at least partially has the same components.
  • the automation engineering system can, for example, continue to be designed and set up in such a way that that it comprises a content description file with regard to the self-description data module and / or is designed and set up to generate such a content description file.
  • the automation engineering system can then, for example, also be designed and set up in such a way that contents of the content description file can be output to a user of the automation engineering system, for example, and by selecting one or more description elements of the content description file, which are each assigned to one or more engineering elements, the associated engineering elements can be taken over, for example, for the engineering of the automation of the further device or system.
  • FIG. 1 Exemplary representation of a process sequence for creating engineering data
  • FIG. 2 Exemplary list of engineering data and relationship data
  • Figure 3 Exemplary sequence for creating a multi graph and skill data module
  • FIG. 1 shows schematically an exemplary sequence for creating a self-description data module according to the present description from corresponding engineering data.
  • engineering data 100 are made available.
  • the engineering data 100 are an example of a data collection comprising engineering elements according to the present description.
  • the engine ering data 100 and the engineering elements contained therein will be discussed in more detail in the context of the description relating to FIG.
  • a next process step 120 related information 150 between individual engineering elements contained in the engineering data 100 is determined for this engineering data 100.
  • the corresponding relationship information 150 and its determination are also discussed in greater detail in connection with the explanations relating to FIG.
  • a multigraph 200 is then created from engineering elements of the engineering data 100 and corresponding to the information 150 relating to this engineering data 100.
  • the selected engineering elements are selected as nodes in this multigraph 200 and the corresponding relationship information 150 as a connection between the respective nodes.
  • the multigraph 200 can be created and saved as a graphic representation or a correspondingly adapted mathematical or other representation of the multigraph structure.
  • a clustering step 140 the multigraph 200 is broken down into sub-graphs 280, 290, the clustering being designed and set up in such a way that the identified sub-graphs 280, 290 correspond, for example, to certain functionalities or components of an underlying installation or device.
  • the clustering step 140 is also explained in more detail by way of example in the context of the explanations relating to FIG.
  • a selection step 150 then takes place in which one of the sub-graphs 280, 290 identified in clustering step 140 is selected for the creation of a corresponding self-description data module 380, 390.
  • the self-description data module 380, 390 is then created. Such a creation of a self-description data module 380, 390 is also explained in more detail by way of example with reference to the explanations relating to FIG.
  • FIG. 2 shows a listing of engineering data 100 for a device or system according to the present description.
  • the engineering data 100 include automation engineering data 110, mechanical CAD data (MCAD) 120 and electrical CAD data (ECAD) 130.
  • MCAD mechanical CAD data
  • ECAD electrical CAD data
  • the automation engineering data 110 include data which are required or used in the context of an automation of the device or system, for example using appropriate controllers or a programmable logic controller. Such data are, for example, a variable list and / or what is known as a “tag” list of the variables or tags used in the context of controlling the device or system within such a controller.
  • a "day” is used as part of the automation Engineering is understood, for example, as a variable which is identified for display or input in an operating and monitoring system (SCADA system) or a graphical user interface (HMI: Human Machine Interface).
  • the automation engineering data 110 include function blocks, data blocks, other so-called “Program Oranizational Units” (POU) or the code of a corresponding control program for controlling the device or system by a corresponding controller or a system used in the context of controlling the device or system corresponding programmable logic controller.
  • POU Program Oranizational Units
  • the automation engineering data 110 also include a list of user-defined data formats (so-called “UDT” s (User Defined Type)) that were created or set up as part of the creation of the automation engineering data 110.
  • UDT User Defined Type
  • the automation engineering data 110 includes a list of information relating to hardware components used in the device or system.
  • This information can include, for example, component names, component ID information (for example serial numbers, order numbers, or the like), component type designations, component description information, a list of parameters used in each case and / or corresponding Parameter limit values, geometric information on corresponding hardware components and / or additional, background or support information on the corresponding hardware components.
  • Call structures for function blocks, data blocks and / or other POUs are also part of the automation Engineering data 110.
  • Such structures represent which of the modules call and / or reference which other modules.
  • chain-like structures, so-called call chains, or tree-like structures can arise here.
  • the mechanical CAD data (MCA data) 120 include a parts list of the components of the device or system, 3D information on the components of the device or system and on the device or system itself. Furthermore, the MCAD data 120 include kinematics information relating to individual components that of the device or system, the device or system as a whole and between various of the components of the device or system. Furthermore, the MCAD data also include point-cloud information with regard to individual components of the device or installation and that of the device or installation as a whole.
  • Relationship information between parts of the device or installation is also part of the MCAD data 120.
  • Such relationship information can, for example, be information about which components of the device or installation adjoin or are connected to which other components.
  • the type of connection between two components can also be part of the relationship information.
  • the connection between two components can be, for example, a spatial or mechanical connection or also a functional connection.
  • the electrical CAD data (ECAD data) 130 include circuit diagrams of the device or system and its components, function plans thereof, function diagrams, function lists, location information relating to electrical modules and components of the device or system and the device or the like - that of the system as a whole.
  • the ECAD data 130 includes Furthermore, a parts list of the electrical and electronic components used, a corresponding product identification list and images of such components and corresponding circuits in which, for example, these components are used.
  • automation engineering data 110 MCAD data 120 and ECAD data 130 are examples of engineering elements according to the present description.
  • FIG. 2 shows a data collection of relationship data 150, which are examples of relationship information according to the present description.
  • the relationship data contain relationships between different function blocks and / or data blocks that can be or were derived, for example, from the above-mentioned call structures for such blocks.
  • the relationship data 150 include information about the relationship between various data, which can be obtained, for example, from information relating to tags or variables.
  • the relationship data 150 include information about which program modules, function modules, data modules or generally the so-called "POUs" are assigned to which components and / or parts of the device or system. Such information can be obtained from comments or other meta-information, for example Relationships between electrical, mechanical and software objects are also part of the relationship data 150. Such relationships can be obtained, for example, from 3D information or CAD data, comments, parts lists and other meta-information These data sources can also be used, for example, to determine information about mechanical connections between various components and / or parts of the device or system, which are also part of the relationship data 150.
  • Information obtained from wiring plans with regard to, for example, electrical, communication or data connections of various electrical or electromechanical components is also part of the relationship data 150.
  • FIG. 3 shows an exemplary example for the process of generating two skill data modules 380, 390 starting from a multigraph 200. For the sake of clarity, only a section of an entire multigraph is shown for this illustration, which is explained on the basis of the in FIG terten engineering data 100 can be created.
  • the multigraph 200 shown in FIG. 3 is based on some function modules 210, 220, 240, 250 and a data module 230 from the automation engineering data 110 according to FIG Used information for data modules is taken from the relationship data 150 (see FIG. 2).
  • the multigraph 200 shown at the top left in FIG. 3 is an example of a result of the first three method steps 110, 120, 130 according to FIG. 1.
  • the multigraph was set up in such a way that nodes of the multigraph 200 were assigned to the four function blocks 210, 220, 240, 250, which are labeled “FBI”, “FB 2”, “FB3”, “FB4” in FIG . Furthermore, a node in the multigraph 200 was also assigned to the data module 230. Furthermore, it can be seen from the call structures for function blocks within the relationship data 150 that the function block “FBI” 210 calls the second function block “FB2” 220 three times during its course. This is implemented in the multigraph 200 in such a way that a directional connection 212 is set up three times from the first function module 210 to the second function module 220, where the category “calls” is still assigned to these connections 212.
  • the data module 230 is referenced once by the first function module 210, which is represented by a directional connection 214 between these two nodes 210, 230 in the multigraph 200. This connection 214 is assigned the property “referenced”.
  • the second function module 220 also references the data module 230, the second function module 220 referencing the data module 230 twice as part of its sequence and the data block 230 implemented in the multigraph 200.
  • the fourth function block “FB4” 250 calls the first function block “FBI” 210 by creating a correspondingly directed connection 254 between the corresponding nodes 250, 210 with the category “calls”
  • the third function block “FB3” 240 is called three times during the course of the fourth function block “FB4” 250, which in turn takes the form of three parallel connections 252 between the corresponding nodes 240, 250 is implemented in the Multigra phen 200.
  • These directed connections The category “calls” is again assigned to 252 in a corresponding manner.
  • a clustered multigraph 202 is shown, which is made up of the multigraph 200 shown at the top left after execution of a clustering step 140 (see FIG. 1; symbolized in FIG. 3 by a
  • the clustering was designed and set up, for example, in such a way that a logical or resulting connection between two nodes of the multigraph 200 was weighted more heavily the more connections exist between these two nodes.
  • a clustering procedure preferably produces clusters that can be assigned to special functionalities of a device or system.
  • each of the skill data modules 380, 390 is shown in FIG. 3 at the bottom right, each of the skill data modules 380, 390 each being the result of an application of the final two method steps 150, 160 according to FIG. This is symbolized in FIG. 3 by an arrow labeled “150 + 160”.
  • one of the subgraphs 280, 290 of the clustered multigraph 202 is selected in each case (process step “Select sub-graph "150) and the corresponding skill data module 380, 390 is generated therefrom (method step” Create self-description data module "160), which is an example of a self-description data module according to the present description.
  • a skill description file 382 was generated for the first skill data module 380.
  • This skill description 382 contains a description of a functionality that corresponds to the first Skill data module 380 is assigned.
  • Such a skill description can, for example, be generated automatically or also partially automatically. This can be done by adding, for example, comments, descriptions or further meta-information to the function and data blocks 210, 220, 230 and / or to the corresponding relationship information 212, 214, 222 in the first skill data module 380.
  • This meta information is searched, for example, for terms, descriptions and / or references, for example, a certain functionality and / or a certain component can be assigned.
  • a skill description 382 for the first skill data module 380 can then be generated automatically, for example, from such matching description or meta information. Furthermore, in an alternative, partially automated mode, appropriate suggestions for such a skill description 382 can be output to a user. This can then subsequently select one of the suggestions, for example, after which a corresponding skill description 382 is then generated. Furthermore, a user can also manually generate the skill description 382.
  • the first skill data module 380 furthermore includes an additional information file 384 with regard to the engineering elements 210, 220, 230 contained in the first skill data module 380 and the related information 212, 214, 222 assigned to them.
  • Such information can, for example, be descriptions genes, comments, instructions or comparable meta-information or meta-information sources for the correspondingly named elements.
  • the additional information file 384 can be designed and set up, for example, as a database in accordance with the present description. Both the skill description file 382 and the additional information file 384 of the first skill data module 380 can be part of a content description file according to the present description or form such a content description file.
  • the second skill data module 390 is also assigned a corresponding skill description file 392 and a corresponding additional information file 394.
  • the files mentioned can be generated, for example, analogously to the above description with regard to the skill description file 382 and the additional information file 384 of the first skill data module 380.
  • the skill description file 392 and / or the additional information file 394 can also be part of a content description file in accordance with the present description or each or together form such a file.
  • the skill description files 382, 392 can include a unique identifier for the respective skill data module 380, 390, on the basis of which, for example, a skill data module 380, 390 can be called up and / or selected.
  • a skill data module is generally designed and set up as executable program code and / or comprises such executable program code
  • this program code can be called up using a unique identifier assigned to this skill data module and / or a Expiry of this program codes are triggered.
  • a corresponding skill data module, to which this identifier is assigned can be called up from a database and loaded into an engineering project, for example.
  • Such skill description files can furthermore include parameters and / or parameter descriptions which are required, for example, to run a functionality assigned to the corresponding skill data module.
  • Such parameter descriptions and / or parameters can, for example, also include physical units of such parameters and / or parameter limit values for the corresponding parameters.
  • a skill data module designed and set up as executable program code can still be called up by transmitting the assigned unique identifier and the parameters required for the execution.
  • additional information files 384, 394 further information on the engineering elements contained in the respective skill data module 380, 390 can be made accessible to a user of the corresponding skill data module 380, 390, for example.
  • additional information can For example, they can be used to integrate a corresponding skill data module as simply as possible into a corresponding engineering project or also to modify, change or adapt a corresponding skill data module.
  • the skill data modules 380, 390 generated in the example shown in FIG. 3 can then be stored, for example, in a storage device of a device or system assigned to the assigned engineering data 100. Furthermore, the skill data modules 380, 390 can also be stored in a storage device of an engineering system or a corresponding database, for example when creating a new engineering project or automation program for a further device or Plant to be used.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)

Abstract

The invention relates to a method for generating self-description data modules (380, 390), in each case with respect to at least one functionality and/or at least one component, device, or system. A data collection (100) is provided comprising engineering elements from at least one of the three data sources listed hereinafter: - a first data source with automation engineering data (110) relating to an automation and/or automation plan for the system or device or parts thereof, - a second data source with MCAD data (120) relating to a mechanical and/or spatial plan for the device or system or parts thereof and/or relating to a mechanical and/or spatial design for the device or system or parts thereof, and - a third data source with ECAD data (130) relating to an electric plan and/or circuit plan for the device or system or parts thereof and/or relating to an electric design and/or implemented circuit plan for the device or system or parts thereof. The method has the following steps: a.) ascertaining relationship information (150), each piece of relationship information being assigned to engineering elements of the data collection (100), b.) generating a multigraph (200) comprising nodes (210, 220, 230, 240, 250) and connections (212, 214, 222, 252, 254) between nodes, wherein each of the nodes is assigned to engineering elements of the data collection, and each connection is assigned to pieces of relationship information (150) ascertained in step a.), c.) applying a clustering method to the multigraph (200) in order to ascertain at least one sub-graph (280, 290) within the multigraph (200), d.) selecting a sub-graph (280, 290) from the at least one sub-graph (280, 290) ascertained in step c.), and e.) generating a self-description data module (380, 390) relating to a component and/or a functionality of the device or system, said self-description data module (380, 390) comprising the selected sub-graph (280, 290) and/or information contained in the sub-graph (280, 290).

Description

Verfahren zur Erzeugung von Selbstbeschreibungs-Datenmodulen Method for generating self-description data modules
Die vorliegende Erfindung betrifft ein Verfahren zur Erzeu gung eines Selbstbeschreibungs-Datenmoduls bezüglich mindes tens einer Funktionalität und/oder mindestens einer Kompo nente einer Vorrichtung oder Anlage. The present invention relates to a method for generating a self-description data module with regard to at least one functionality and / or at least one component of a device or system.
Derartige Selbstbeschreibungs-Datenmodule sind aus dem Stand der Technik bekannt. Such self-description data modules are known from the prior art.
So offenbart z.B. die US-Offenlegungsschrift US 2019/0025785 Al ein Modul für eine Anlage, welches einen technischen Teil prozess der Anlage ausführt. Das Modul umfasst eine externe Schnittstelle zur Veröffentlichung mindestens eines Services, welches das Modul einem bestimmten Produkt zur Verfügung stellen kann. Dabei umfasst die genannte Schnittstelle eben falls Informationen über die technische Hardware und den funktionalen Umfang dieses Moduls sowie dynamische Informati onen zu sich zeitlich veränderten Daten innerhalb des Moduls, die beispielsweise im Rahmen der Steuerung des Moduls entste hen können. Weiterhin offenbart die genannte US- Offenlegungsschrift, dass die vorstehend genannten Informati onen beispielsweise als sogenanntes „Modul Type Package (MTP) " zur Verfügung gestellt werden kann. For example, the US patent application 2019/0025785 A1 discloses a module for a system that carries out a technical sub-process of the system. The module comprises an external interface for publishing at least one service that the module can provide to a specific product. The mentioned interface also includes information about the technical hardware and the functional scope of this module as well as dynamic information about time-changing data within the module, which can arise, for example, as part of the control of the module. Furthermore, the mentioned US patent application discloses that the information mentioned above can be made available, for example, as a so-called “Module Type Package (MTP)”.
Es ist ein Nachteil des genannten Standes der Technik, dass insbesondere die Zusammenstellung derartiger statischer In formationen bezüglich einer Funktionalitäten einer Hardware sowie weiterer Hardwareeigenschaften häufig entsprechend kom plex sein kann, da solche Daten häufig aus verschiedenen Da tenquellen stammen. It is a disadvantage of the cited prior art that, in particular, the compilation of such static information with regard to the functionalities of hardware and other hardware properties can often be correspondingly complex, since such data often originate from different data sources.
Daher ist es eine Aufgabe der vorliegenden Erfindung, ein Verfahren zur Verfügung zu stellen, welches es auf vereinfachte Weise ermöglicht, Informationen über eine tech nische Hardware aus verschiedenen Quellen zu sammeln und zu sammenzustellen. It is therefore an object of the present invention to provide a method which is based on simplified way enables information about technical hardware to be collected and compiled from various sources.
Diese Aufgabe wird gelöst durch ein Verfahren mit den Merkma len des Patentanspruch 1. This object is achieved by a method with the Merkma len of claim 1.
Ein derartiges Verfahren ist dabei zur Erzeugung eines Selbstbeschreibungs-Datenmoduls bezüglich mindestens einer Funktionalität und/oder mindestens einer Komponente einer Vorrichtung oder Anlage ausgebildet und eingerichtet, wobei eine Datensammlung umfassend Engineering-Elemente aus mindestens einer der drei nachfolgend aufgeführten Datenquel len vorliegt: Such a method is designed and set up for generating a self-description data module with regard to at least one functionality and / or at least one component of a device or system, with a data collection comprising engineering elements from at least one of the three data sources listed below being available:
- eine erste Datenquelle mit Automatisierungs-Engineeringda ten bezüglich einer Automatisierung und/oder Automatisie rungs-Planung der Anlage oder Vorrichtung oder Teilen davon,- A first data source with automation engineering data relating to automation and / or automation planning of the system or device or parts thereof,
- eine zweite Datenquelle mit MCAD-Daten bezüglich einer me chanischen und/oder räumlichen Planung der Vorrichtung oder Anlage oder Teilen davon, und/oder bezüglich einer mechani schen und/oder räumlichen Ausgestaltung der Vorrichtung oder Anlage oder Teilen davon, - A second data source with MCAD data relating to mechanical and / or spatial planning of the device or system or parts thereof, and / or relating to a mechanical and / or spatial configuration of the device or system or parts thereof,
- eine dritte Datenquelle mit ECAD-Daten bezüglich einer elektrischen Planung und/oder Stromlaufplanung der Vorrich tung oder Anlage oder Teilen davon, und/oder bezüglich einer elektrischen Ausgestaltung und/oder realisierten Stromlauf planung der Vorrichtung oder Anlage oder Teilen davon, das Verfahren umfassend die nachfolgenden Verfahrensschritte: a.) Ermitteln von Beziehungsinformationen, die jeweils Engi neering-Elementen der Datensammlung zugeordnet sind, b.) Erzeugen eines Multigraphen umfassend Knoten sowie Ver bindungen zwischen Knoten, wobei die Knoten jeweils Enginee ring-Elementen der Datensammlung zugeordnet sind und die Ver bindungen zwischen Knoten jeweils gemäß Verfahrensschritt a.) ermittelten Beziehungsinformationen zu geordnet sind, c.) Anwenden eines Clustering-Verfahrens auf den Multigraphen zum Ermitteln von mindestens einem Sub-Graphen innerhalb des Multigraphen, d.) Auswahl eines Sub-Graphen aus dem in- A third data source with ECAD data relating to electrical planning and / or circuit planning of the device or system or parts thereof, and / or with regard to an electrical configuration and / or implemented circuit planning of the device or system or parts thereof, the method comprising the the following process steps: a.) Determination of relationship information which are each assigned to engineering elements of the data collection, b.) Generation of a multigraph comprising nodes and connections between nodes, the nodes each being assigned to engineering elements of the data collection and the ver ties between nodes in accordance with Method step a.) The ascertained relationship information is assigned, c.) Applying a clustering method to the multigraph to determine at least one sub-graph within the multigraph, d.) Selecting a sub-graph from the in
Verfahrensschritt c.) ermittelten mindestens einen Sub-Gra phen, e.) Erstellen eines Selbstbeschreibungs-Datenmoduls bezüglich einer Komponente und/oder einer Funktionalität der Vorrich tung oder Anlage, wobei das Selbstbeschreibungs-Datenmodul den ausgewählten Sub-Graphen und/oder im Sub-Graphen enthal tene Informationen umfasst. Method step c.) Determined at least one sub-graph, e.) Creating a self-description data module with regard to a component and / or a functionality of the device or system, the self-description data module the selected sub-graph and / or in the sub- Information contained in graphs.
Ein derartiges Verfahren zur Erzeugung eines Selbstbeschrei- bungs-Datenmoduls kann beispielsweise automatisiert oder auch teilautomatisiert ablaufen. A method of this type for generating a self-description data module can, for example, run in an automated or partially automated manner.
Die Sequenz der Verfahrensschritte d.) und e.) Gemäß der vor liegenden Beschreibung kann beispielsweise auch mehrfach hin tereinander ausgeführt werden, sodass nacheinander jeweils ein Sub-Graph ausgewählt wird, das zugehörige Selbstbeschrei- bungs-Datenmodul umfassend diesen Sub-Graphen erzeugt wird und dann nachfolgend erneut ein weiterer Sub-Graph ausgewählt wird um dann zu diesem ebenfalls wieder ein Selbstbeschrei- bungs-Datenmodul zu erzeugen, usw.. The sequence of method steps d.) And e.) According to the present description, for example, can also be carried out multiple times one after the other, so that one sub-graph is selected one after the other, the associated self-description data module comprising this sub-graph is generated and then another sub-graph is subsequently selected again in order to then also generate a self-description data module for this, etc.
Dabei kann die Datensammlung eine Zusammenstellung der darin enthaltenen Engineering-Elemente umfassen, insbesondere in klusive den Engineering-Elementen gegebenenfalls zugeordnete Metainformationen. Diese Zusammenstellung der Engineering- Elemente innerhalb der Datensammlung kann dabei als eine Ta belle oder eine vergleichbare Zusammenstellung ausgestaltet und eingerichtet sein. Dabei kann die Tabelle beispielsweise Engineering-Elemente selbst, und/oder auch Namen bzw. Be zeichnungen für Engineering-Elemente enthalten. The data collection can include a compilation of the engineering elements contained therein, in particular including meta information that may be assigned to the engineering elements. This compilation of the engineering elements within the data collection can be designed as a table or a comparable compilation and be set up. The table can for example contain engineering elements themselves and / or names or designations for engineering elements.
Unter der Formulierung, dass Engineering-Elemente inklusive diesen gegebenenfalls zugeordneten Metainformationen in der Datensammlung enthalten sind, wird im Rahmen der vorliegenden Beschreibung sowie den Ansprüchen verstanden, dass die Engi neering-Elemente inklusive diesen zugeordneten Metainformati onen in der Datensammlung enthalten sind, wenn diesen Engine ering-Elementen tatsächlich Metainformationen zugeordnet sind. Wenn Engineering-Elementen keine Metainformationen zu geordnet sind, sind Engineering-Elemente dann ohne Metainfor mationen in der Datensammlung enthalten. The wording that engineering elements including this possibly assigned meta information are contained in the data collection is understood in the context of the present description and the claims that the engineering elements including these assigned meta information are contained in the data collection if this engine ering elements are actually assigned meta information. If no meta information is assigned to engineering elements, engineering elements are then contained in the data collection without meta information.
Ein Selbstbeschreibungs-Datenmodul kann beispielsweise als eine recherchierbare Datensammlung von für eine bestimmte Funktionalität oder Komponente der Vorrichtung oder Anlage relevanten Informationen ausgebildet und eingerichtet sein. A self-description data module can be designed and set up, for example, as a searchable data collection of information relevant to a specific functionality or component of the device or system.
Weiterhin kann ein Selbstbeschreibungs-Datenmodul auch als ein funktionales Datenmodul ausgebildet sein oder zumindest funktionale Elemente umfassen. Derartige funktionale Datenmo- dule bzw. funktionale Elemente solcher Datenmodule können beispielsweise derart ausgestaltet sein, dass sie zur selbst tätigen Ausführung bestimmter Funktionen oder Funktionalitä ten der Vorrichtung oder Anlage ausgebildet und eingerichtet sind. Solche funktionalen Datenmodule bzw. funktionalen Ele mente können beispielsweise als Softwareelemente oder -module ausgebildet und eingerichtet sein (oder derartige Soft wareelemente umfassen), bei deren Ablauf die genannte Funk tion oder Funktionalität ausgeführt wird. Die genannten Softwareelemente können beispielsweise Enginee ring-Elemente gemäß der vorliegenden Beschreibung sein, wel che beispielsweise als Steuerungsprogramme, Anwenderpro gramme, Elemente derartiger Programme, Funktionsbausteine, Datenbausteine und/oder ähnliche sogenannte POUs (Program Ob ject Units) ausgebildet und eingerichtet sein können oder derartige Softwarebausteine umfassen können. Die genannten Softwarebausteine und/oder die die genannten ablauffähigen Softwareelemente können dann in einer vorteilhaften Ausge staltung ganz oder zumindest teilweise in einem einer ent sprechenden Funktionalität der Vorrichtung oder Anlage zuge ordneten Selbstbeschreibungs-Datenmodul bzw. dem zugeordneten Sub-Graphen enthalten sein. Weiterhin können derartige Soft warebausteine oder ablauffähigen Softwareelemente auch in ei ner der Datenquellen und/oder der Zusammenstellung von Engi neering-Elementen enthalten sein. Furthermore, a self-description data module can also be designed as a functional data module or at least comprise functional elements. Such functional data modules or functional elements of such data modules can be designed, for example, in such a way that they are designed and set up for self-executing certain functions or functionalities of the device or system. Such functional data modules or functional elements can be designed and set up, for example, as software elements or modules (or include such software elements), during the course of which the mentioned function or functionality is carried out. The software elements mentioned can, for example, be engineering elements according to the present description, which can be designed and set up, for example, as control programs, user programs, elements of such programs, function blocks, data blocks and / or similar so-called POUs (Program Object Units) or such Can include software modules. The software modules mentioned and / or the executable software elements mentioned can then be contained in an advantageous embodiment wholly or at least partially in a self-description data module or the assigned sub-graph assigned to a corresponding functionality of the device or system. Furthermore, such software modules or executable software elements can also be contained in one of the data sources and / or the compilation of engineering elements.
Solche Funktionen oder Funktionalitäten von derartigen als funktionale Datenelemente ausgebildeten bzw. funktionale Da ten- oder Softwareelemente umfassenden Selbstbeschreibungs- Datenmodulen können beispielsweise als sogenannte „Skills" bezeichnet werden. Dabei kann beispielsweise ein entsprechen des funktionales Datenmodul bzw. funktionales Element, wel ches einem solchen „Skill" zugeordnet ist, beispielsweise derart ausgebildet und eingerichtet sein, dass es nach Ein gabe von für die Ausführung des Skills notwendigen Ein gangsparametern und/oder Aufrufbefehlen zur selbsttätigen Ausführung der dem Skill zugeordneten Funktion oder Funktio nalität ausgebildet und eingerichtet sind. Das kann bei spielsweise derart ausgebildet und eingerichtet sein, dass die Funktion oder Funktionalität entsprechend ausgeführt wird, wenn die entsprechenden Softwareelemente des entspre chenden Selbstbeschreibungs-Datenmoduls beispielsweise von einer Ausführungsumgebungen beispielsweise der Vorrichtung o- der Anlage ausgeführt werden. Such functions or functionalities of such self-description data modules designed as functional data elements or comprising functional data or software elements can be referred to, for example, as so-called “skills”. Skill "is assigned, for example, be designed and set up in such a way that, after input of input parameters and / or call commands necessary for executing the skill, are designed and set up for the automatic execution of the function or functionality assigned to the skill. This can be designed and set up, for example, in such a way that the function or functionality is carried out accordingly when the corresponding software elements of the corresponding self-description data module are, for example, from an execution environment, for example the device or the system.
Solche Skills können beispielsweise von relativ einfachen Tä tigkeiten wie dem Öffnen eines Ventils oder dem Auslesen ei nes Sensorwerts bis zu komplexeren Funktionalitäten reichen, die beispielsweise aus mehreren einfacheren Funktionalitäten zusammengesetzt sein können. Solche komplexeren Funktionali täten können beispielsweise das Verpacken eines Produktes o- der ein sogenannter „Pick & Place"-Vorgang zum Greifen, Bewe gen und Platzieren eines Gegenstands sein. Ein solcher Pick & Place-Vorgang oder Pick & Place-Skill kann beispielsweise elementare Funktionalitäten oder Skills wie das Erkennen ei nes Gegenstands, dass Greifen eines Gegenstands, das Bewegen des Gegenstands, das Erkennen einer Absetzstelle sowie das Absetzen des Gegenstands umfassen. Such skills can range, for example, from relatively simple activities such as opening a valve or reading out a sensor value to more complex functionalities, which can be composed of several simpler functionalities, for example. Such more complex functionalities can be, for example, the packaging of a product or a so-called “pick & place” process for gripping, moving and placing an object. Such a pick & place process or pick & place skill can, for example, be elementary functionalities or skills such as recognizing an object that include gripping an object, moving the object, recognizing a dropping point and dropping the object.
Zum Ausführen einer solchen Skills kann dann beispielsweise vorgesehen sein, dass dem entsprechenden Selbstbeschreibungs- Datenmodul die für die Ausführung des Skills notwendigen Pa rameter übergeben werden, wie beispielsweise die Beschreibung eines zu greifenden Gegenstands sowie eine Absetzposition da für, und dann der Skill vermittels des Ablaufs von entspre chenden im Selbstbeschreibungs-Datenmodul enthaltenen ein o- der mehreren funktionalen Daten- und/oder Softwareelemente ausgeführt wird. Weiterhin kann das entsprechende Selbstbe schreibungs-Datenmodul eine eine Skillbeschreibungs-Informa- tion umfassen, welche beispielsweise eine Information über die durch den durch das Selbstbeschreibungs-Datenmodul reali sierten oder realisierbaren Skill enthält. Dabei kann die Skill-Beschreibung z.B. eine Information über eine reali sierte Funktionalität sowie die für die Ausführung der Funk tionalität notwendigen Eingangsparameter umfassen. Im Rahmen der vorliegenden Beschreibung kann beispielsweise ein mit einer bestimmten Funktionalität der Vorrichtung oder Anlage im Zusammenhang stehender Sub-Graph als eine Implemen tierung eines mit dieser Funktionalität in Zusammenhang ste henden Skills betrachtet werden. Dies gilt dann in vergleich barer Weise für ein diesen Sub-Graph umfassendes Selbstbe- schreibungs-Datenmodul . To execute such a skill it can then be provided, for example, that the parameters necessary for executing the skill are transferred to the corresponding self-description data module, such as the description of an object to be gripped and a placement position for it, and then the skill by means of the sequence from corresponding one or more functional data and / or software elements contained in the self-description data module is executed. Furthermore, the corresponding self-description data module can comprise a skill description information which, for example, contains information about the skills realized or realizable by the self-description data module. The skill description can include information about an implemented functionality as well as the input parameters necessary for executing the functionality. In the context of the present description, for example, a sub-graph related to a specific functionality of the device or system can be viewed as an implementation of a skill related to this functionality. This then applies in a comparable manner to a self-description data module comprising this sub-graph.
Weiterhin kann das Selbstbeschreibungs-Datenmodul zur Kommu nikation der genannten Skillbeschreibungs-Information an an dere Geräte, Einrichtungen, Computer oder vergleichbare Da tenverarbeitungseinrichtungen ausgebildet und eingerichtet sein. Furthermore, the self-description data module can be designed and set up for communicating said skill description information to other devices, devices, computers or comparable data processing devices.
Eine derartige Ausgestaltung eines Selbstbeschreibungs-Daten- moduls kann beispielsweise vorteilhaft für einen Einsatz der Vorrichtung oder Anlage im Rahmen eines „Plug and Produce"- Systems sein. Such a configuration of a self-description data module can be advantageous, for example, for use of the device or system in the context of a “plug and produce” system.
Unter der Formulierung: „mindestens einer der drei nachfol gend aufgeführten Datenquellen" wird im Rahmen der vorliegen den Beschreibung und den Ansprüchen verstanden, dass die Da tensammlung eine Auswahl von Engineering-Elementen aus ein, zwei oder auch allen dreien der genannten drei Datenquellen umfassen kann. Die Datensammlung kann auch aus einer Auswahl von ein, zwei oder auch allen dreien der genannten drei Da tenquellen bestehen. The wording: "at least one of the three data sources listed below" is understood in the context of the present description and claims that the data collection can include a selection of engineering elements from one, two or even all three of the three data sources mentioned The data collection can also consist of a selection of one, two or all three of the three data sources mentioned.
Dabei kann jede der Datenquellen Engineering-Elemente mindes tens einer entsprechenden Datenkategorie umfassen. Each of the data sources can include engineering elements of at least one corresponding data category.
Unter der Formulierung, dass jede der Datenquellen Enginee ring-Elemente mindestens einer entsprechenden Datenkategorie umfasst, wird im Zusammenhang mit der vorliegenden Beschreibung verstanden, dass die Automatisierungs-Enginee ringdaten Engineering-Elemente mindestens einer Datenkatego rie für Automatisierungs-Engineeringdaten umfassen, die MCAD- Daten Engineering-Elemente mindestens einer Datenkategorie für MCAD-Daten umfassen sowie die ECAD-Daten Engineering-Ele mente mindestens einer Datenkategorie für ECAD-Daten umfas sen. Under the formulation that each of the data sources engineering elements comprises at least one corresponding data category, in connection with the present Description understood that the automation engineering data include engineering elements of at least one data category for automation engineering data, the MCAD data engineering elements include at least one data category for MCAD data and the ECAD data engineering elements for at least one data category ECAD data include.
Die Vorrichtung oder Anlage kann beispielsweise als eine Ma schine, ein Gerät, ein Roboter, eine Produktionsanlage oder vergleichbares ausgebildet und eingerichtet sein oder auch derartige Teile als Komponenten umfassen. Solch eine Vorrich tung oder Anlage kann z.B. ein oder mehrere Komponenten, An triebe, Sensoren, Maschinen, Geräte, Kommunikationseinrich tungen oder Ähnliches umfassen. The device or system can be designed and set up, for example, as a machine, a device, a robot, a production system or the like, or it can also include parts of this type as components. Such a device or system can include, for example, one or more components, drives, sensors, machines, devices, communication devices or the like.
Unter Engineering-Elementen werden im Rahmen der vorliegenden Beschreibung und Ansprüche alle Daten, Bausteine, Software- Elemente, grafische Darstellungen, Bilder, oder vergleichbare Elemente verstanden, welche für ein Engineering der Vorrich tung oder Anlage unter Verwendung der Automatisierungs-Engi neeringdaten, der mechanischen Planungsdaten sowie der elektrischen Planungsdaten verwendet werden oder verwendbar sind. In the context of the present description and claims, engineering elements are understood to mean all data, modules, software elements, graphic representations, images, or comparable elements which are necessary for engineering the device or system using the automation engineering data, the mechanical Planning data and the electrical planning data are used or can be used.
Nachfolgend werden bezüglich der Automatisierungs-Enginee ringdaten, der mechanischen Planungsdaten sowie der elektrisch Planungsdaten beispielhaft jeweils typische Typen von Engineering-Elementen sowie entsprechende Engineering- Elemente erläutert. Typical types of engineering elements and corresponding engineering elements are explained below with regard to the automation engineering data, the mechanical planning data and the electrical planning data.
Dabei können die Engineering-Elemente beispielsweise unmit telbar den jeweiligen Datenquellen entnommen werden. Weiter hin können beispielsweise auch über eine optische Mustererkennung und/oder optische Zeichenerkennung Enginee ring-Elemente aus in der Datensammlung vorhandenen Bildern und/oder grafischen Darstellungen entnommen werden. Solche Bilder und/oder grafische Darstellungen können beispielsweise ProduktZeichnungen, Konstruktionszeichnungen, Schaltpläne, Explosionszeichnungen oder vergleichbare Bilder oder grafi sche Darstellungen sein. The engineering elements can, for example, be taken directly from the respective data sources. For example, you can also use an optical Pattern recognition and / or optical character recognition engineering elements can be taken from images and / or graphic representations present in the data collection. Such images and / or graphics, for example, product Z calibration calculations, its construction drawings, circuit diagrams, exploded views or similar images or grafi specific representations.
Automatisierung-Engineeringdaten sind beispielsweise Daten, wie sie zur Automatisierung und/oder Steuerung der Anlage o- der Vorrichtung erstellt und/oder vorgesehen sind. Solche Da ten werden beispielsweise in sogenannten Engineering-Systemen erstellt, die dazu dienen, beispielsweise entsprechende Steu erprogramme zu erstellen und die Komponenten der Anlage oder Vorrichtung und auch der entsprechenden Steuerungen entspre chend zu parametrieren. Ein Beispiel für ein solches Enginee ring-System ist beispielsweise eine am Markt erhältliche Software mit dem Produktnamen "TIA-Portal". Automation engineering data are, for example, data such as are created and / or provided for the automation and / or control of the system or device. Such data are created, for example, in so-called engineering systems, which are used, for example, to create corresponding control programs and to parameterize the components of the system or device and also the corresponding controls accordingly. An example of such an engineering system is, for example, software available on the market with the product name "TIA Portal".
Dabei können Automatisierungs-Engineeringdaten verschiedenste Engineering-Elemente umfassen, beispielsweise ein oder meh rere Steuerprogramme, Variablen, sogenannte „Tags", Programm bausteine, Funktionsbausteine, Datenbausteine, Programmblö cke, sogenannte „Programm Organizational Units" (POU), ver wendete Datentypen, ID-Informationen zu Komponenten, Konfigu rationsdaten, Aufrufinformationen für Programmelemente, Kom mentare, Steuerprogramme und/oder vergleichbare Engineering- Elemente. Automation engineering data can include a wide variety of engineering elements, for example one or more control programs, variables, so-called "tags", program modules, function modules, data modules, program blocks, so-called "program organizational units" (POU), data types used, ID -Information on components, configuration data, call information for program elements, comments, control programs and / or comparable engineering elements.
Datenkategorien der Automatisierungs-Engineeringdaten können beispielsweise sein: Data categories of the automation engineering data can be, for example:
• Variablen oder sogenannte Tags, • Programmbausteine, Funktionsbausteine, Datenbausteine, Programmblöcken oder sogenannter POUs (POU: Program Organiza- tionial Unit), • Variables or so-called tags, • Program blocks, function blocks, data blocks, program blocks or so-called POUs (POU: Program Organizational Unit),
• Benutzerdefinierte Datentypen (z.B. sogenannte UDTs),• User-defined data types (e.g. so-called UDTs),
• Informationen zu Komponenten der Vorrichtung oder An lage, • Information on components of the device or system,
• AufrufInformationen für Programmbausteine bzw. POUs,• Call information for program blocks or POUs,
• Kommentare, oder vergleichbare Datenkategorien. • Comments, or comparable data categories.
Dabei können die Engineering-Elemente jeweils einer Datenka tegorie innerhalb der Automatisierung-Engineeringdaten ent sprechend gesammelt oder einander zugeordnet sein, beispiels weise in entsprechenden Listen, Datenbanken oder vergleichba ren Strukturen. Die Zusammenstellung von Engineering-Elemente jeweils einer Datenkategorie aus den Automatisierung-Enginee ringdaten kann auch in Vorbereitung auf die Durchführung des Verfahrens gemäß der vorliegenden Beschreibung erstellt wer den. Ein solches zusammenstellen von Engineering-Elemente kann beispielsweise zum Export der entsprechenden Enginee ring-Elementen aus einem entsprechenden Automatisierung-Engi neeringsystem erfolgen. Diese Zusammenstellung kann bei spielsweise automatisiert oder auch teilautomatisiert erfol gen. Solche Zusammenstellungen können z.B. auch in einem ent sprechenden Engineeringsystem oder einer entsprechenden Da tenbank gespeichert sein und dann von dort für eine Verwen dung im Rahmen eines Verfahrens gemäß der vorliegenden Be schreibung extrahiert werden. The engineering elements can each be collected according to a data category within the automation engineering data or assigned to one another, for example in corresponding lists, databases or comparable structures. The compilation of engineering elements in each case from a data category from the automation engineering data can also be created in preparation for the implementation of the method according to the present description. Such a compilation of engineering elements can take place, for example, to export the corresponding engineering elements from a corresponding automation engineering system. This compilation can be automated or partially automated, for example. Such compilations can, for example, also be stored in a corresponding engineering system or a corresponding database and then extracted from there for use as part of a method according to the present description.
Die einer jeweiligen der genannten Datenkategorien zugehöri gen Engineering-Elemente können beispielsweise als Listen, Tabellen und/oder Datenbankstrukturen innerhalb der Automati sierungs-Engineeringdaten vorliegen oder als solche von einem entsprechenden Engineering System zur Verfügung gestellt werden. Beispielsweise können Engineering-Elemente der ent sprechenden oben genannten Datenkategorien als Tag- oder Va- riablen-List, als POU-Liste, Datatyp-Liste, Hardware-Info- Liste, Aufruf-Struktur- und/oder UDT-Liste vorliegen oder zur Verfügung gestellt werden. The engineering elements belonging to a respective one of the named data categories can be present, for example, as lists, tables and / or database structures within the automation engineering data or made available as such by a corresponding engineering system will. For example, engineering elements of the corresponding data categories mentioned above can be present or available as a tag or variable list, as a POU list, data type list, hardware info list, call structure and / or UDT list be asked.
Dabei können die einzelnen Engineering-Elemente innerhalb der Datenkategorien der Automatisierungs-Engineeringdaten weiter hin jeweils Meta-Informationen zu den jeweiligen Engineering- Elemente umfassen. Solche Metainformationen können beispiels weise Namen, Kommentare, Referenzierung, physikalische Ein heiten, ID-Informationen (wie beispielsweise Typen-Namen, Se riennummern, ID-Nummern, Funktions-Bezeichnungen, Funktiona lität, o. ä.) oder sonstige Informationen bezüglich der je weiligen Engineering-Elemente sein. The individual engineering elements within the data categories of the automation engineering data can furthermore each include meta information on the respective engineering elements. Such meta information can, for example, names, comments, referencing, physical units, ID information (such as type names, serial numbers, ID numbers, function names, functionality, etc.) or other information relating to each temporary engineering elements.
Mechanische Daten oder MCAD-Daten können beispielsweise den nachfolgenden Datenkategorien zugeordnete oder zuordenbare Engineering-Elemente sein: Stück-, Teile- oder Komponenten- Listen, 3D-Geometrien, Kinematische Informationen, Punkt-Wol- ken-Information, Namen/Bezeichnungen/Meta-Information zu me chanischen Komponenten oder Teilen, Beziehungsinformationen zu verschiedenen mechanischen Komponenten oder Teilen (z.B. Name, Bezeichnung und/oder Anzahl von mit einem bestimmten Teil verbundenen weiteren Komponenten sowie beispielsweise auch Art und Ausgestaltung derartiger Verbindungen), Bildda ten zu entsprechenden mechanischen Komponenten oder Teilen davon. Mechanical data or MCAD data can, for example, be engineering elements that are assigned or assignable to the following data categories: parts, parts or component lists, 3D geometries, kinematic information, point-cloud information, names / designations / meta Information on mechanical components or parts, related information on various mechanical components or parts (e.g. name, designation and / or number of other components connected to a specific part as well as, for example, the type and configuration of such connections), image data on corresponding mechanical components or parts from that.
Elektrische Planungsdaten oder ECAD-Daten können beispiels weise den nachfolgenden Datenkategorien zugeordnete oder zu ordenbare Engineering-Elemente sein: Funktionsbeschreibungen, Ortsangaben, Referenz-Nummern für Produkte, Stück- oder Tei lelisten, schematische Zeichnungen, Stromlaufpläne, Bilder, Namen, Bezeichnungen oder Anzahl von Ein- und/oder Ausgängen, Angaben zu dynamischem Verhalten (beispielsweise durch soge nannte „Makros" beschrieben) oder vergleichbare Engineering- Elemente zu elektrischen Eigenschaften und/oder Ausgestaltun gen der Vorrichtung oder Anlage. Electrical planning data or ECAD data can, for example, be engineering elements that are assigned to the following data categories or that can be assigned: Function descriptions, location information, reference numbers for products, parts or parts lists, schematic drawings, circuit diagrams, images, Names, designations or number of inputs and / or outputs, information on dynamic behavior (for example, described by so-called "macros") or comparable engineering elements on electrical properties and / or configurations of the device or system.
Beziehungs-Informationen gemäß der vorliegenden Beschreibung können beispielsweise Eltern-Kind-Beziehungen von Programm bausteinen, Programm-Komponenten und/oder Programm-bzw. Kom- ponenten-Instanzen sein. Relationship information according to the present description can, for example, be parent-child relationships of program modules, program components and / or program or program modules. Be component instances.
Auch Aufruf-Informationen zwischen verschiedenen Programmbau steinen, Programm-Komponenten und/oder Programm-bzw. Pro- grammkomponenten-Instanzen können solche Beziehungs-Informa tionen sein. Weiterhin können Beziehungs-Informationen auch Aufruf- und/oder Verwendungs-Informationen von Variablen,Call information between different program modules, program components and / or program or. Program component instances can be such relational information. Furthermore, relationship information can also be called up and / or usage information of variables,
Tags oder durch entsprechende Programm-Komponenten sein. Tags or by appropriate program components.
Auch jede Art von Zuordnung von Engineering-Elementen zu wei teren Engineering-Elementen, wie beispielsweise mechanische Komponenten bzw. entsprechende ID- und/oder Bild-Informatio nen, Programmelementen oder vergleichbaren Engineering-Ele menten können Beziehungsinformationen im Rahmen der vorlie genden Beschreibung sein. Any type of assignment of engineering elements to other engineering elements, such as mechanical components or corresponding ID and / or image information, program elements or comparable engineering elements can be related information within the scope of the present description.
Solche Beziehungs-Informationen können beispielsweise auch Zusatzinformationen zu einzelnen der verwendeten Engineering- Elemente entnommen werden. Zusatzinformationen zu einzelnen oder Gruppen der Engineering-Elemente, die auch als Metadaten oder Metainformationen zu diesen Engineering-Elemente ausge bildet und eingerichtet sein können, können beispielsweise Namen, übergeordnete Funktionsklassen, Sammelbegriffe, Typen beschreibungen, Einheiten, physikalische Einheiten, Kommen tare, Beschreibungen, physikalische Einheiten, Beziehungs- Beschreibungen zu anderen Daten, Funktionalitäten, Autoren, Berechtigungen, Zugehörigkeit zu Komponenten und/oder Funkti onalitäten oder vergleichbare Informationen sein. Die Zugehö rigkeit von Engineering-Daten zu derartigen Eigenschaften o- der Kategorien können ebenfalls Beziehungs-Informationen sein. Such relationship information can, for example, also be taken from additional information on individual engineering elements used. Additional information on individual or groups of the engineering elements, which can also be designed and set up as metadata or meta information on these engineering elements, can include, for example, names, superordinate functional classes, collective terms, type descriptions, units, physical units, comments, descriptions, physical units, relational Descriptions of other data, functionalities, authors, authorizations, affiliation to components and / or functionalities or comparable information. The assignment of engineering data to such properties or categories can also be relational information.
Beziehungs-Informationen können beispielsweise weiterhin auch Cross-Referenzierung oder auch Materialfluss-Informationen entnommen werden. Relationship information can, for example, also be taken from cross-referencing or material flow information.
Beziehungs-Informationen können dabei gerichtet oder auch un gerichtet sein. Gerichtete Beziehungs-Informationen können beispielsweise durch einen Pfeil innerhalb des Multigraphen symbolisiert werden, welcher beispielsweise eine Beziehungs informationen wie „wird aufgerufen von", „gehört zu" oder ähnliche Beziehungen symbolisieren kann. Eine ungerichtete Beziehungs-Information kann beispielsweise einer Information entsprechen, dass zwei verschiedene Daten zu einer selben Da tenkategorie gehören oder einer gleichen Komponente zugeord net sind. Dies kann beispielsweise beim Erzeugen des Multi graphen berücksichtigt werden. Relationship information can be directional or undirected. Directed relationship information can be symbolized, for example, by an arrow within the multigraph, which can symbolize, for example, relationship information such as “is called by”, “belongs to” or similar relationships. Undirected relationship information can, for example, correspond to information that two different data belong to the same data category or are assigned to the same component. This can be taken into account, for example, when generating the multi-graph.
Die Identifikation der Beziehungsinformationen kann bei spielsweise durch die Auswertung beispielsweise von Aufrufin formationen und/oder Aufrufketten von Programmbausteinen, Funktionsbausteinen, Datenbausteinen oder allgemein POUs ge mäß der vorliegenden Beschreibung erfolgen. Auf diese Weise können beispielsweise funktionale Zusammenhänge zwischen ver schiedenen Clustern, welche verschiedene der oben genannten Bausteine enthalten identifiziert werden. The identification of the relationship information can for example be done by evaluating, for example, call information and / or call chains of program modules, function modules, data modules or general POUs according to the present description. In this way, for example, functional relationships between different clusters that contain different of the above-mentioned modules can be identified.
Weiterhin können Beziehungsinformationen beispielsweise an hand von Metainformationen zu bestimmten Automatisierungs- Engineeringdaten oder auch Kommentaren zu solchen Daten er mittelt werden. Solche Metainformationen bzw. Kommentare kön nen beispielsweise unmittelbar solche Beziehungsinformatio nen, wie beispielsweise einer funktionalen Zuordnung, einer baulichen Zuordnung und/oder einer räumlichen Zuordnung ent sprechen. Weiterhin können Beziehungsinformationen beispiels weise auch aus Namen oder ID-Informationen ermittelt werden, beispielsweise aus der Übereinstimmung von Teilen von Namen unterschiedlicher Datenelemente derselben Kategorie. Furthermore, relationship information can be used, for example, on the basis of meta information on certain automation Engineering data or comments on such data can be determined. Such meta information or comments can, for example, directly correspond to such relationship information, such as, for example, a functional assignment, a structural assignment and / or a spatial assignment. Furthermore, relationship information can also be determined, for example, from names or ID information, for example from the correspondence of parts of names of different data elements of the same category.
Ein Graph ist eine mathematische Struktur, welches aus soge nannten „Knoten" und jeweils zwei Knoten verbindenden soge nannten „Kanten" aufgebaut ist. Eine grafische Darstellung solcher Graphen kann beispielsweise eine Darstellung sein, bei welcher die Knoten als Punkte oder Kreise und die Kanten als jeweils Kreise verbindende Linien dargestellt sind. A graph is a mathematical structure made up of so-called "nodes" and so-called "edges" that connect two nodes. A graphic representation of such graphs can be, for example, a representation in which the nodes are represented as points or circles and the edges are represented as lines connecting circles.
Unter einem Multigraphen werden dabei solche Graphen verstan den, bei welchen zwei Knoten über mehrere Kanten verbunden sein können. A multigraph is understood to mean those graphs in which two nodes can be connected via several edges.
Kanten können dabei beispielsweise sogenannte „ungerichtete Kanten" sein, bei welchen der Verbindung der jeweiligen Kno ten keine logische Richtung zugeordnet ist. Weiterhin können Kanten auch als sogenannte „gerichtete Kanten" ausgebildet sein, bei welcher der Verbindung der jeweiligen Knoten eine logische Richtung zugeordnet ist. Edges can be, for example, so-called "undirected edges" in which the connection of the respective nodes is not assigned a logical direction. Furthermore, edges can also be designed as so-called "directed edges" in which the connection of the respective nodes is assigned a logical direction .
Der Multigraph kann beispielsweise in einem für Graphen fach üblichen Datenformat angeordnet und/oder gespeichert sein. Unter einer Multigraphen im Sinne der vorliegenden Erfindung wird auch jede weitere Datenstruktur verstanden, welche die in einer Multigraphen enthaltenen Informationen ebenfalls re alisiert oder enthält. Auch ein Sub-Graphen kann in jedem für Graphen fachüblichen Datenformat angeordnet und/oder gespei chert sein. Unter einem Sub-Graphen im Sinne der vorliegenden Erfindung wird jede Datenstruktur verstanden, welche die im Sub-Graphen enthaltene Information realisiert und/oder ent hält. The multigraph can, for example, be arranged and / or stored in a data format customary for graphs. A multigraph in the context of the present invention is also understood to mean any further data structure which also realizes or contains the information contained in a multigraph. A sub-graph can also be used in each for Graphs can be arranged and / or stored in a data format customary in the field. A sub-graph in the context of the present invention is understood to mean any data structure which realizes and / or contains the information contained in the sub-graph.
Der Aufbau eines Multigraphen im Sinne der vorliegenden Er findung kann dabei beispielsweise derart erfolgen, dass die Knoten eines solchen Multigraphen beispielsweise verschiede nen Engineering-Elementen entsprechen, d.h. jeweils ein Kno ten des Multigraphen entspricht jeweils einem Engineering- Element der Datensammlung. Die Kanten oder Verbindungen in nerhalb des Multigraphen werden dabei durch Beziehungs-Infor mationen zwischen den jeweiligen Engineering-Elemente gebil det werden, d.h. jeweils eine Kante oder Verbindung zwischen zwei Knoten des Multigraphen entspricht jeweils einer Bezie hungsinformation zwischen den den zwei Knoten entsprechenden Engineering-Elementen . The structure of a multigraph in the sense of the present invention can for example be done in such a way that the nodes of such a multigraph correspond to different engineering elements, i.e. each node of the multigraph corresponds to an engineering element of the data collection. The edges or connections within the multigraph are formed by relational information between the respective engineering elements, ie an edge or connection between two nodes of the multigraph corresponds to relational information between the engineering elements corresponding to the two nodes .
Solche, als entsprechende Verbindung zweier Knoten darstell bare Beziehungsinformationen, können beispielsweise Aufruf- Informationen oder Referenzier-Informationen zwischen Soft ware-Bausteinen, die den jeweiligen Knoten zugeordnet sind, sein. Weiterhin kann beispielsweise einem Knoten als Enginee ring-Element eine bestimmte Kategorie-Bezeichnung oder auch eine bestimmte physikalische Einheit zugeordnet sein. In die sem Fall können Verbindungen weiterer Engineering Elemente zu diesen genannten Knoten beispielsweise einer Zugehörigkeit des weiteren Engineering-Elements zu dieser Kategorie oder auch die Verwendung der entsprechenden physikalischen Einheit durch das Engineering-Element zugeordnet sein. Weiterhin kann beispielsweise eine Verbindung zweier Knoten auch die Infor mation zugeordnet sein, dass die beiden, den Knoten zugeord neten Engineering-Elemente, beispielsweise einer gleichen Daten-Kategorie angehören oder andere vergleichbare Ähnlich- keitseigenschaften aufweisen. Such relationship information, which can be represented as a corresponding connection between two nodes, can be, for example, call information or referencing information between software modules that are assigned to the respective nodes. Furthermore, for example, a node as an engineering element can be assigned a specific category designation or a specific physical unit. In this case, connections of further engineering elements to these named nodes can be assigned, for example, to an affiliation of the further engineering element to this category or also to the use of the corresponding physical unit by the engineering element. Furthermore, for example, a connection between two nodes can also be assigned the information that the two engineering elements assigned to the nodes, for example one of the same Belong to a data category or have other comparable similarity properties.
Im Rahmen des Aufbaus des Multigraphen kann dabei einer Kante, bzw. der entsprechenden Verbindung zweier Knoten, eine sogenannte „Gewichtung" zugeordnet werden. Eine solche Ge wichtung kann beispielsweise als eine Stärke und/oder Rele vanz der dieser Verbindung entsprechenden Beziehung zwischen den zwei den Knoten zugeordneten Engineering-Elementen be trachtet werden. Dabei können Verbindungen bzw. Kanten zwi schen Knoten abhängig beispielsweise von ihrer Kategorie ver schieden gewichtet werden. So kann beispielsweise eine Auf ruf-Information stärker gewichtet werden als die Zugehörig keit zu einer bestimmten Kategorie oder physikalischen Ein heit. Auch können gerichtete Informationen beispielsweise an ders gewichtet werden als ungerichtete Beziehungen. As part of the structure of the multigraph, a so-called “weighting” can be assigned to an edge or the corresponding connection between two nodes. Such a weighting can for example be used as a strength and / or relevance of the relationship between the two Here, connections or edges between nodes can be weighted differently depending, for example, on their category Directional information can also be weighted differently than non-directional relationships, for example.
So können beispielsweise bei einem Multigraphen verschiedene Verbindungen zwischen Knoten jeweils beispielsweise abhängig von einer Kategorie der zugeordneten Beziehungs-Information oder vergleichbarer Kriterien verschieden gewichtet werden.For example, in a multigraph, different connections between nodes can each be weighted differently, for example depending on a category of the associated relationship information or comparable criteria.
So kann beispielsweise in einem ersten Beispiel die Gewich tung derart erfolgen, dass Beziehungen zwischen einer Soft warekomponente und einem mechanischen Teil als die wichtigste Verbindung im Rahmen eines entsprechenden Multigraphen bewer tet wird und daher relativ zu den anderen gesehen eine höchste Gewichtung erhält. Auf diese Weise können dann bei einem nachfolgenden Clustering beispielsweise bevorzugt Clus ter entstehen, in welchen Engineering-Elemente enthalten sind, welche eine Beziehung zu einem bestimmten mechanischen Teil aufweisen. In einem weiteren Beispiel kann beispiels weise die Zahl von Aufrufen zwischen Softwarekomponenten der art gewertet werden, dass eine höhere Zahl von Aufrufen einer höheren Gewichtung einer diesen Aufrufen zugeordneten Verbindung zwischen den Knoten entspricht, den jeweiligen Softwarekomponenten zugeordnet sind. Auf diese Weise können sich beispielsweise Cluster bilden, in welchen Engineering- Elemente mit vergleichbarer Funktionalität zusammengefasst sind bzw. Engineering-Elemente, die einer bestimmten Funktio nalität zugeordnet sind. Weiterhin kann beispielsweise auch eine Aufruf-Information und oder Referenzier-Information stärker gewichtet werden als die Zugehörigkeit zu einer be stimmten Kategorie oder physikalischen Einheit. In a first example, for example, the weighting can be carried out in such a way that relationships between a software component and a mechanical part are rated as the most important connection in the context of a corresponding multigraph and are therefore given the highest weighting relative to the others. In this way, in a subsequent clustering, for example, clusters can preferably arise in which engineering elements are contained which have a relationship to a specific mechanical part. In a further example, for example, the number of calls between software components can be evaluated such that a higher number of calls has a higher weighting assigned to one of these calls Connection between the nodes corresponds to the respective software components are assigned. In this way, for example, clusters can be formed in which engineering elements with comparable functionality are combined or engineering elements that are assigned to a specific functionality. Furthermore, for example, calling information and / or referencing information can also be weighted more heavily than belonging to a certain category or physical unit.
Für das zuordnen einer Gewichtung zu einer Kante bzw. Verbin dung zwischen zwei Knoten können die vorstehend beispielhaft genannten Gewichtungskategorien auch beliebig miteinander kombiniert werden. For assigning a weighting to an edge or connection between two nodes, the weighting categories mentioned above can also be combined with one another as required.
Vor der Durchführung des Clustering-Verfahrens können dann beispielsweise sämtliche der Beziehungen zwischen zwei Kno ten, beispielsweise unter Berücksichtigung Ihrer jeweiligen Gewichtungen, zu einer einzigen gewichteten Verbindung zwi schen diesen beiden Knoten aufsummiert und/oder zusammen ge fasst werden. Für die Durchführung des nachfolgenden Clus- terings kann dann beispielsweise diese summarische Verbindung z.B. mit ihrer jeweiligen Gewichtung herangezogen werden. Before performing the clustering method, for example, all of the relationships between two nodes can then be added up and / or combined into a single weighted connection between these two nodes, for example, taking into account their respective weightings. This summary connection, e.g. with its respective weighting, can then be used to carry out the subsequent clustering.
Alternativ kann das Clustering aber auch ohne vorheriges ge gebenenfalls aufsummieren mehrerer Verbindungen bzw. Kanten zwischen zwei Knoten erfolgen, wobei dann beispielsweise die Tatsache mehrerer Verbindungen zwischen zwei Knoten im Rahmen des Clustering berücksichtigt werden kann. Alternatively, however, the clustering can also take place without a previous summing up of several connections or edges between two nodes, where appropriate, in which case, for example, the fact of several connections between two nodes can then be taken into account in the context of the clustering.
Im Rahmen der folgenden Beschreibung werden die Worte "Kno ten" und "Engineering-Elemente" auf Graphen in diesem Zusam menhang entsprechend synonym benutzt. Weiterhin werden die Begriffe "Beziehung zwischen Knoten", "Beziehungs- Informationen zwischen Knoten", „Kante zwischen Knoten", „Be ziehung zwischen Engineering-Elementen", „Beziehungs-Informa tionen zwischen Engineering-Elementen" und vergleichbare Be griffe im Rahmen der folgenden Beschreibung in Bezug auf Gra phen entsprechend synonym verwendet. In the context of the following description, the words "nodes" and "engineering elements" are used synonymously on graphs in this context. Furthermore, the terms "relationship between nodes", "relationship Information between nodes "," edge between nodes "," relationship between engineering elements "," relational information between engineering elements "and comparable terms used synonymously in the context of the following description in relation to graphs.
Dabei kann die Auswahl, das Einrichten und/oder die Ausfüh rung des Clustering-Verfahrens derart ausgebildet und einge richtet sein, dass beispielsweise Cluster bzw. Sub-Graphen derart gebildet werden, dass innerhalb eines Clusters bzw. Sub-Graphen solche Engineering-Elemente enthalten sind, die jeweils einer bestimmten Komponente und/oder Funktionalität der Vorrichtung oder Anlage zugeordnet oder zuordenbar sind. The selection, the setting up and / or the execution of the clustering method can be designed and set up in such a way that, for example, clusters or sub-graphs are formed in such a way that such engineering elements are contained within a cluster or sub-graph which are each assigned or can be assigned to a specific component and / or functionality of the device or system.
Im Rahmen der Anwendung des Clustering-Verfahrens auf den Multigraphen zum Ermitteln von mindestens einem Sub-Graphen wird beispielsweise ein Clustering-Verfahren oder Clustering- Algorithmus angewendet, wie er für derartige Analysen dem Fachmann aus dem Stand der Technik bekannt ist um Topologien derartiger Multigraphen zu analysieren und anhand dieser Ana lyse in ein oder mehrere Sub-Graphen zu segmentieren. Ein solcher Sub-Graph kann dann beispielsweise solche Enginee ring-Elemente umfassen, welche eine überdurchschnittliche und/oder besonders enge Beziehung zueinander haben. Bei spielsweise können dies solche Engineering-Elemente sein, welche einer bestimmten Funktionalität der Vorrichtung oder Anlage und/oder einer bestimmten Komponente der Vorrichtung oder Anlage zugeordnet oder zuordenbar sind, beziehungsweise zugeordnet werden können. When applying the clustering method to the multigraph to determine at least one sub-graph, a clustering method or clustering algorithm is used, for example, as is known to the person skilled in the art for such analyzes in order to assign topologies of such multigraphs analyze and use this analysis to segment it into one or more sub-graphs. Such a sub-graph can then, for example, include engineering elements that have an above-average and / or particularly close relationship to one another. For example, these can be engineering elements that are or can be assigned to, or can be assigned to, a specific functionality of the device or installation and / or a specific component of the device or installation.
Ein solcher Sub-Graph kann beispielsweise bereits als ein Selbstbeschreibungs-Datenmodul im Sinne der vorliegenden Be schreibung bezeichnet werden. Unter einem Clustering bzw. Clustering-Verfahren wird eine Technik des sogenannten "machine learning" verstanden, bei der Daten oder Datenpunkte in sogenannte "Cluster" gruppiert werden. Bei einem Satz von Daten bzw. Datenpunkten kann man z.B. ein Clusteranalyse-Verfahren, ein Clustering-Verfahren oder einen Clustering-Algorithmus verwenden, um jedes Datum bzw. jeden Datenpunkt in eine bestimmte Gruppe zu klassifi zieren. Eine solche Gruppe wird dann als "Cluster" bezeich net. Dabei weisen Daten bzw. Datenpunkte, die sich in dersel ben Gruppe (also demselben Cluster) befinden, ähnliche Eigen schaften und/oder Merkmale auf, während Datenpunkte in ver schiedenen Gruppen sehr unterschiedliche Eigenschaften und/o der Merkmale aufweisen. Such a sub-graph can, for example, already be referred to as a self-description data module in the sense of the present description. A clustering or clustering method is understood to mean a technique of so-called "machine learning" in which data or data points are grouped into so-called "clusters". In the case of a set of data or data points, a cluster analysis method, a clustering method or a clustering algorithm can be used, for example, in order to classify each date or data point into a specific group. Such a group is then referred to as a "cluster". Data or data points that are in the same group (that is, the same cluster) have similar properties and / or features, while data points in different groups have very different properties and / or features.
Mathematisch bestehen Cluster aus Objekten, die zueinander eine geringere Distanz (oder umgekehrt: höhere Ähnlichkeit) aufweisen als zu den Objekten anderer Cluster. Man kann ent sprechende Clustering-Verfahren beispielsweise nach den ver wendeten Distanz- bzw. Proximitätsmaßen zwischen Objekten der Cluster, aber auch zwischen ganzen Clustern, unterscheiden. Weiterhin bzw. alternativ kann man entsprechende Clustering- Verfahren auch nach jeweiligen Berechnungsvorschriften für solche Distanzmaße unterscheiden. Mathematically, clusters consist of objects that are closer to each other (or vice versa: higher similarity) than to the objects of other clusters. Corresponding clustering methods can be differentiated, for example, according to the distance or proximity measures used between objects in the clusters, but also between entire clusters. Furthermore, or alternatively, corresponding clustering methods can also be differentiated according to the respective calculation rules for such distance measures.
Allgemein kann das auf den Multigraphen angewendete Clus tering-Verfahren beispielsweise als lokales oder globales Verfahren ausgebildet und eingerichtet sein. Hierbei werden die Verfahren jeweils entweder global auf den ganzen Multi graphen angewendet oder nur lokal auf einen Teilgraphen des Multigraphen. Entsprechend benötigen globale Verfahren Informationen über die Topologie des gesamten Multigraphen, während bei lokalen Verfahren nur rekursiv die Nachbarschaft eines einzelnen Knotens betrachtet werden kann. Somit können mit lokalen Verfahren auch Netzwerke betrachtet werden, die a priori nicht komplett bestimmt sind. In general, the clustering method applied to the multigraph can be designed and set up, for example, as a local or global method. In this case, the methods are either applied globally to the entire multigraph or only locally to a subgraph of the multigraph. Accordingly, global methods require information about the topology of the entire multigraph, while with local methods the neighborhood of a single node can only be considered recursively. Thus can networks that are not completely determined a priori can also be considered using local methods.
Dabei können im Rahmen eines globalen Clustering-Verfahrens weiterhin beispielsweise sogenannte Top-Down oder sogenannte Bottom-Up Methoden eingesetzt werden. Bei Top-Down Verfahren wird ein großer Startcluster rekursiv anhand verschiedener Kriterien in immer kleinere Teilcluster unterteilt, während bei Bottom-Up Verfahren viele kleinere Cluster sukzessive zu größeren zusammengefasst werden, bis das Clustering einem Ab bruchkriterium genügt. In the context of a global clustering method, so-called top-down or so-called bottom-up methods, for example, can still be used. In the top-down method, a large start cluster is recursively subdivided into smaller and smaller sub-clusters based on various criteria, while in the bottom-up method, many smaller clusters are successively combined into larger ones until the clustering meets a termination criterion.
Ein Beispiel für eine Klasse von Top-Down Methoden sind die sogenannten "Spektralen Methoden". Eine weitere Gruppe von Methoden die den Top-Down Ansatz verfolgen sind die sogenann ten "Random Walk" oder "Markov Ketten Methoden". Für soge nannte gewichtete Graphen eignen sich z.B. auch die "Maxima ler Fluss Methode" um ein Clustering durchzuführen. Sie gehö ren ebenfalls zu der Gruppe der Top-Down Verfahren. Ein Bei spiel für Clustering-Methoden, die einen Bottom-Up Ansatz verwenden, ist unter anderem die sogenannte "Modularitätsop timierung" bekannt. Ein weiterer Vertreter ist die sogenannte "Nächste Nachbarn Methode", welche häufig auch bei allgemeinen Klassifizierungsproblemen angewendet wird. Um die "Nächste Nachbarn Methode" auf Graphen anwenden zu können, muss eine Ähnlichkeit zwischen zwei Knoten definiert werden. Eine sol che Ähnlichkeit kann z.B. anhand von vorhandenen Metadaten jedes Knoten erfolgen, oder anhand der Schnittmenge der di rekten Nachbarn zweier Knoten. Während die vorstehend genann ten Verfahren alle der Klasse der globalen Verfahren zugeord net werden können, gibt es z.B. als mögliches lokales Ver fahren das sogenannte "CPM-Verfahren". Die Anwendung des Clustering-Verfahrens kann zum Beispiel die Anwendung eines Clustering-Algorithmus oder auch die Anwen dung mehrerer Clustering-Algorithmen, beispielsweise nachei nander, umfassen. Solche Clustering-Algorithmen können bei spielsweise ein sogenanntes "K-Means Clustering", ein soge nanntes "Mean-Shift Clustering", ein sogenanntes "Expecta- tion-Maximization (EM) Clustering using Gaussian Mixture Mo dels (GMM) ", ein sogenanntes "Agglomerative Hierarchical Clustering" und/oder ein sogenanntes "Density-Based Spatial Clustering", z.B. ein Density-Based Spatial Clustering of Ap plications with Noise (DBSCAN) " sein. Weitere Beispiele für Clustering-Algorithmen können z.B. nachfolgende Algorithmen sein: "Mini Batch K-Means", "Affinity Propagation", "Mean Shift", "Spectral Clustering", "Ward", "Agglomeration Clus tering", "Birch", "Gaussian Mixture". The so-called "spectral methods" are an example of a class of top-down methods. Another group of methods that follow the top-down approach are the so-called "Random Walk" or "Markov Chain Methods". For so-called weighted graphs, for example, the "maximum flow method" are also suitable for performing clustering. They also belong to the group of top-down procedures. One example of clustering methods that use a bottom-up approach is known, among other things, from the so-called "modularity optimization". Another representative is the so-called "closest neighbor method", which is also often used for general classification problems. In order to be able to apply the "closest neighbor method" to graphs, a similarity between two nodes must be defined. Such a similarity can take place, for example, on the basis of existing metadata of each node, or on the basis of the intersection of the direct neighbors of two nodes. While the above-mentioned methods can all be assigned to the class of global methods, there is, for example, the so-called "CPM method" as a possible local method. The use of the clustering method can include, for example, the use of a clustering algorithm or also the use of several clustering algorithms, for example one after the other. Such clustering algorithms can, for example, be a so-called “K-Means Clustering”, a so-called “Mean Shift Clustering”, a so-called “Expectation Maximization (EM) Clustering using Gaussian Mixture Models (GMM)” "Agglomerative Hierarchical Clustering" and / or a so-called "Density-Based Spatial Clustering", for example a Density-Based Spatial Clustering of Applications with Noise (DBSCAN) ". Further examples of clustering algorithms can be, for example, the following algorithms:" Mini Batch K-Means "," Affinity Propagation "," Mean Shift "," Spectral Clustering "," Ward "," Agglomeration Clus tering "," Birch "," Gaussian Mixture ".
Bei Verfahrensschritts d.) wird im Rahmen der vorliegenden Beschreibung unter der Auswahl eines Sub-Graphen aus dem in nerhalb des Verfahrensschritt c.) ermittelten mindestens ei nen Sub-Graphen verstanden, dass aus dem innerhalb des Ver fahrensschritt c.) ermittelten mindestens einen Sub-Graphen ein Sub-Graph ausgewählt wird. In method step d.), In the context of the present description, the selection of a sub-graph from the at least one sub-graph determined within method step c.) Is understood to mean that from the at least one sub-graph determined within method step c.) -Graph a sub-graph is selected.
Die Erstellung des Selbstbeschreibungs-Datenmoduls kann bei spielsweise dadurch erfolgen, dass die im Rahmen des Clus tering-Verfahrens erzeugte Sub-Graphen-Struktur unmittelbar im Selbstbeschreibungs-Datenmodul gespeichert wird. The self-description data module can be created, for example, by storing the sub-graph structure generated in the context of the clustering process directly in the self-description data module.
Weiterhin kann die Erstellung des Selbstbeschreibungs-Daten- moduls beispielsweise eine auch geeignete Anordnung und/oder Speicherung der in dem Sub-Graphen enthaltenen Informationen umfassen bzw. das Selbstbeschreibungs-Datenmodul kann aus ei ner geeigneten Anordnung der in dem Sub-Graphen enthaltenen Informationen bestehen. Diese geeignete Anordnung und/oder Speicherung der in dem Sub-Graphen enthaltenen Informationen kann beispielsweise in nerhalb einer geeigneten Datenbankstruktur im Selbstbeschrei- bungs-Datenmodul erfolgen und/oder in einem beliebigen geeig neten Datenbank-Format im Selbstbeschreibungs-Datenmodul er folgen. Solche Datenbank-Formate können z.B. sogenannte re lationale Datenbankformate oder SQL-Datenbankformate oder auch sogenannte NoSQL-Datenbankformate, semantische Daten bankformate, Multigraph-Datenformate oder Knowledge-Graph-Da- tenformate sein. Furthermore, the creation of the self-description data module can also include, for example, a suitable arrangement and / or storage of the information contained in the sub-graph or the self-description data module can consist of a suitable arrangement of the information contained in the sub-graph. This suitable arrangement and / or storage of the information contained in the sub-graph can for example take place within a suitable database structure in the self-description data module and / or in any suitable database format in the self-description data module. Such database formats can be, for example, so-called relational database formats or SQL database formats or also so-called NoSQL database formats, semantic database formats, multigraph data formats or knowledge graph data formats.
Dabei können verschiedene Teile der in dem Sub-Graphen ent haltenen Informationen auch in verschiedenen der oben genann ten Formate abgespeichert sein. Different parts of the information contained in the sub-graph can also be stored in different of the formats mentioned above.
Unter den o.g. „NoSQL-Datenbankformaten" ("NoSQL": Englisch für "Not only SQL") werden Datenbanken einen nicht-relationa len Ansatz verstanden. Insbesondere werden unter NoSQL-Daten- banken im Rahmen der vorliegenden Beschreibung Dokument-, Graph-, Objekt-, Attribut-Wert-Paar- und/oder Spalten-orien- tierte Datenbanken verstanden. The aforementioned "NoSQL database formats" ("NoSQL": English for "Not only SQL") are understood to mean databases with a non-relational approach. In particular, NoSQL databases in the context of the present description are document, graph, Understand object, attribute-value pairs and / or column-oriented databases.
Eine NoSQL-Datenbank im Zusammenhang mit der vorliegenden Be schreibung kann z.B. als eine Dokument-orientierte Datenbank, eine Graph-orientierte Datenbank, ein Knowledge-Graph, eine verteilte ACID-Datenbank, eine Key-Value-Datenbank, eine At- tribut-Wertpaar-orientierte Datenbank, eine Multivalue-Daten- bank, eine Objekt-orientierte Datenbank und/oder als eine Spalten-orientierte Datenbank oder eine Kombination oder Wei terentwicklung solcher Datenbanken eingerichtet und ausge staltet sein. Im Selbstbeschreibungs-Datenmodul können die Informationen o- der Teile der Informationen als relationale Datenbank abge legt sein oder das Selbstbeschreibungs-Datenmodul kann eine solche Datenbank umfassen. Weiterhin können im Selbstbe schreibungs-Datenmodul die Informationen oder Teile der In formationen auch als eine NoSQL-Datenbank, ein oder mehrere Knowledge-Graphen, eine nicht-relationale Datenbank, eine OWL-Datenbank, eine RDF-Datenbank und/oder eine SPARQL als Absprachefrage verwendenden Datenbank abgelegt sein oder das Selbstbeschreibungs-Datenmodul kann eine oder mehrere derar tiger Datenbanken umfassen. A NoSQL database in connection with the present description can be used, for example, as a document-oriented database, a graph-oriented database, a knowledge graph, a distributed ACID database, a key-value database, an attribute-value pair -oriented database, a multivalue database, an object-oriented database and / or as a column-oriented database or a combination or further development of such databases can be set up and designed. In the self-description data module, the information or parts of the information can be stored as a relational database, or the self-description data module can comprise such a database. Furthermore, in the self-description data module, the information or parts of the information can also be used as a NoSQL database, one or more knowledge graphs, a non-relational database, an OWL database, an RDF database and / or a SPARQL as a query database using the database or the self-description data module can comprise one or more such databases.
Weiterhin kann das Selbstbeschreibungs-Datenmodul derart er stellt werden, dass darin beispielsweise enthaltene Programm und/oder Datenbausteine derart im Selbstbeschreibungs-Daten modul abgespeichert sind, dass sie im Rahmen eines späteren Engineerings für eine andere Vorrichtung oder Anlage unmit telbar im entsprechenden Engineering-Projekt integrierbar sind. Dabei kann weiterhin diesen Programm- und/oder Daten bausteinen zugeordnete Meta-Information derart im Selbstbe schreibungs-Datenmodul abgespeichert sein, dass auch diese im Rahmen eines späteren Engineerings für die andere Vorrichtung oder Anlage entsprechend im Engineeringprojekt integriert wird oder werden kann. Auf diese Weise ist es möglich, bei spielsweise eine Baustein-Bibliothek für ein Engineering-Sys tem aus derartigen Selbstbeschreibungs-Datenmodulen aufzu bauen bzw. eine Baustein-Bibliothek aufzubauen, welche solche Selbstbeschreibungs-Datenmodule umfasst. Unter Verwendung ei ner solchen Bibliothek kann das Engineering der Automatisie rung weiterer Vorrichtungen oder Anlagen vereinfacht werden, da auf diese Weise auf Erfahrungen vergangener Projekte zu rückgegriffen werden kann. Weiterhin kann das Selbstbeschreibungs-Datenmodul entspre chende Software-Elemente oder -Bausteine derart umfassen, dass diese zumindest teilweise als unmittelbar ausführbare Software im Selbstbeschreibungs-Datenmodul gespeichert sind. Dabei können diese Software-Elemente oder -Bausteine bei spielsweise derart als ablauffähige Software gespeichert sein, dass sie unmittelbar in ein Steuerungsprogramm für eine entsprechende Steuerungseinrichtung für eine Anlage oder Vor richtung integriert werden können oder auch ein selbstständi ges Steuerprogramm für die Anlage oder Vorrichtung bilden.Furthermore, the self-description data module can be created in such a way that, for example, the program and / or data blocks contained therein are stored in the self-description data module in such a way that they can be integrated directly into the corresponding engineering project as part of a later engineering for another device or system are. Meta information assigned to these program and / or data modules can also be stored in the self-description data module in such a way that this is or can be integrated accordingly in the engineering project as part of a later engineering for the other device or system. In this way it is possible, for example, to build a module library for an engineering system from such self-description data modules or to build a module library which includes such self-description data modules. Using such a library, the engineering of the automation of further devices or systems can be simplified, since in this way it is possible to fall back on experience from previous projects. Furthermore, the self-description data module can comprise corresponding software elements or modules in such a way that these are at least partially stored as directly executable software in the self-description data module. These software elements or modules can be stored as executable software, for example, in such a way that they can be integrated directly into a control program for a corresponding control device for a system or device, or they can also form an independent control program for the system or device.
Auf diese Weise können Selbstbeschreibungs-Datenmodule er zeugt werden, welche vermittels der unmittelbar ablauffähigen Software-Elemente ein unmittelbares Einbinden bestimmter Funktionalitäten oder Programmelemente in entsprechende Steu erprogramme oder Steuereinrichtungen für die Vorrichtung oder Anlage ermöglichen. In this way, self-description data modules can be generated which, by means of the directly executable software elements, enable certain functionalities or program elements to be directly incorporated into corresponding control programs or control devices for the device or system.
In einer vorteilhaften Ausgestaltung kann das Verfahren bei spielsweise weiterhin derart ausgebildet und eingerichtet sein, dass im Rahmen von Verfahrensschritt e.) eine Inhalts beschreibungs-Datei erzeugt wird, welche mindestens ein Be schreibungselement für die Funktionalität und/oder Komponente umfasst, auf die sich die im Selbstbeschreibungs-Datenmodul gespeicherten Sub-Graphen-Daten bezieht. In an advantageous embodiment, the method can, for example, also be designed and set up in such a way that, as part of method step e.), A content description file is generated which comprises at least one description element for the functionality and / or component to which the sub-graph data stored in the self-description data module.
Dabei wird unter der Formulierung, dass die Inhaltsbeschrei bung-Datei im Rahmen von Verfahrensschritt e.) erzeugt wird, verstanden, dass die Inhaltsbeschreibung-Datei im Rahmen der Erstellung des Selbstbeschreibungs-Datenmoduls erzeugt wird oder auch erst, nachdem das Selbstbeschreibungs-Datenmodul bereits erzeugt ist. The wording that the content description file is generated as part of method step e.) Is understood to mean that the content description file is generated as part of the creation of the self-description data module or only after the self-description data module has already been generated is.
Die Inhaltsbeschreibungs-Datei kann dabei im Selbstbeschrei- bungs-Datenmodul gespeichert sein oder auch gesondert davon. Vermittels einer solchen Inhaltsbeschreibungsdatei wird es auf vereinfachte Weise ermöglicht, einen Überblick über die im Selbstbeschreibungs-Datenmodul enthaltenen Sub-Graphen-Da- ten beziehungsweise eine Komponente und/oder Funktionalität zu erhalten, welchen diese Sub-Graphen-Daten zugeordnet ist. Diese Inhaltbeschreibungsdatei kann beispielsweise auch an andere Komponenten zu übertragen oder ausgegeben werden. Bei spielsweise kann anhand einer in der Inhaltsbeschreibungs-Da- tei enthaltenen Beschreibungsinformationen zu einer bestimm ten, das Selbstbeschreibungs-Datenmodul betreffenden Funktio nalität und/oder Komponente dann weiterhin beispielsweise ein Aufruf, eine Ausgabe, eine Ausführung und/oder eine entspre chende Aktion bezüglich der durch die Selbstbeschreibungs-In- formation charakterisierten Funktionalität oder Komponente ausgelöst werden. The content description file can be stored in the self-description data module or also separately therefrom. By means of such a content description file, it is made possible in a simplified manner to obtain an overview of the sub-graph data contained in the self-description data module or a component and / or functionality to which this sub-graph data is assigned. This content description file can, for example, also be transmitted to other components or output. For example, a call, an output, an execution and / or a corresponding action with regard to the functionality or component characterized by the self-description information.
Die Inhaltsbeschreibungs-Datei kann beispielsweise als eine Tabelle und/oder Liste eingerichtet und ausgestaltet sein. Weiterhin kann die Inhalts Beschreibung-Datei auch als eine Datenbankstruktur gemäß der vorliegenden Beschreibung ausge bildet und eingerichtet sein. The content description file can be set up and designed as a table and / or list, for example. Furthermore, the content description file can also be designed and set up as a database structure in accordance with the present description.
Die Erstellung der Inhaltsbeschreibungs-Datei kann beispiels weise automatisiert oder teilautomatisiert erfolgen, wobei in diesem Zusammenhang beispielsweise den jeweiligen Enginee ring-Elementen zugeordnete Bezeichnungen und/oder Metainfor mationen herangezogen werden können, um daraus ein oder meh rere für das Engineering-Element charakteristische Beschrei bungselemente innerhalb der Inhaltsbeschreibung-Datei zu er zeugen. The creation of the content description file can, for example, be automated or partially automated, whereby in this context, for example, designations and / or meta information assigned to the respective engineering elements can be used to generate one or more description elements characteristic of the engineering element within the content description file.
Bei Engineering-Elementen, die beispielsweise ausführbaren Software-Code zur Erzeugung einer bestimmten Funktionalität umfassen, kann ein zugehöriges Beschreibungselement bei spielsweise ein oder mehrere für die Funktionalität charakte ristische Begriffe umfassen. Weiterhin können in diesem Fall auch Parameterinformationen bezüglich für eine Ausführung der Funktionalität notwendige Eingangsparameter Teil der Inhalts- beschreibungs-Datei und/oder eines entsprechenden Beschrei bungselements sein. In the case of engineering elements, the executable software code for generating a specific functionality, for example include, an associated description element can include, for example, one or more terms that are characteristic of the functionality. Furthermore, in this case, parameter information relating to the input parameters necessary for executing the functionality can also be part of the content description file and / or a corresponding description element.
Diese Ermittlung eines Beschreibungselements für ein bestimm tes Engineering-Element kann beispielsweise automatisiert er folgen. Diese Ermittlung kann auch teilautomatisiert erfol gen, indem beispielsweise einem Nutzer verschiedene der dem Engineering-Element zugeordneten Bezeichnungen und/oder Meta- Information-Elementen beispielsweise auf einem Bildschirm zur Auswahl angeboten werden. Nach einer entsprechenden Auswahl durch den Benutzer wird dann das ausgewählte Element der In haltsbeschreibung-Datei zugeordnet. This determination of a description element for a certain engineering element can, for example, be automated. This determination can also take place in a semi-automated manner, for example by offering a user various names and / or meta-information elements assigned to the engineering element for selection, for example on a screen. After a corresponding selection by the user, the selected element is then assigned to the content description file.
Solche Beschreibungsinformationen für das Selbstbeschrei- bungs-Datenmodul können dabei Informationen sein, welche im Selbstbeschreibungs-Datenmodul enthaltene Daten - z.B. die darin enthaltenen Engineering-Elemente - beschreiben oder charakterisieren. Weiterhin können solche Beschreibungsinfor mationen auch Namen, Kennzeichen und/oder beschreibende In formationen sein, welche die Funktionalität und/oder Kompo nente, auf welche sich das Selbstbeschreibungs-Datenmodul be zieht, charakterisieren. Weiterhin können Beschreibungsinfor mationen, insbesondere für eine Funktionalität, auch Angaben über beispielsweise für eine Ausführung der Funktionalität notwendige Parameter und/oder entsprechende Parameterbereiche sein. Auch Informationen über beispielsweise Randbedingungen für eine Durchführung einer Funktionalität (Z. B. bezüglich Materialien, maximalen oder minimalen Größenverhältnissen, usw.) können derartige Beschreibungsinformationen sein. Das Selbstbeschreibungs-Datenmodul kann dabei derart ausge bildet und eingerichtet sein, dass bei Eingabe eines einem bestimmten Engineering-Element zugeordneten Beschreibungsele ments ein Aufruf, eine Ausgabe, eine Ausführung und/oder eine vergleichbare Aktion des zugehörigen Engineering-Elements er folgt. Such description information for the self-description data module can be information which describes or characterizes data contained in the self-description data module, for example the engineering elements contained therein. Furthermore, such descriptive information can also be names, identifiers and / or descriptive information which characterize the functionality and / or component to which the self-description data module relates. Furthermore, descriptive information, in particular for a functionality, can also be information about, for example, parameters necessary for executing the functionality and / or corresponding parameter ranges. Information about, for example, boundary conditions for performing a functionality (for example with regard to materials, maximum or minimum size ratios, etc.) can also be such descriptive information. The self-description data module can be designed and set up in such a way that when a description element assigned to a specific engineering element is input, a call, output, execution and / or a comparable action of the associated engineering element ensues.
Ein Verfahren gemäß der vorliegenden Beschreibung kann wei terhin derart ausgebildet und eingerichtet sein, dass das im Rahmen von Verfahrensschritt e.) erstellte Selbstbeschrei bungs-Datenmodul als ein Skill-Datenmodul bezüglich einer Funktionalität der Vorrichtung oder Anlage ausgebildet und eingerichtet ist. A method according to the present description can furthermore be designed and set up such that the self-description data module created as part of method step e.) Is designed and set up as a skill data module with regard to a functionality of the device or system.
Dabei kann die Erzeugung des Selbstbeschreibungs-Datenmoduls als Skill-Datenmodul beispielsweise derart erfolgen, dass das Selbstbeschreibungs-Datenmodul unmittelbar als ein Skill-Da tenmodul erzeugt wird oder auch, dass das Skill-Datenmodul in einem gesonderten Arbeitsschritt erzeugt wird, nachdem ein entsprechendes Selbstbeschreibungs-Datenmodul bereits aufge baut wurde. Weiterhin kann das Selbstbeschreibungs-Datenmodul auch erst erzeugt und dann in ein Skill-Datenmodul umgewan delt werden. The generation of the self-description data module as a skill data module can take place, for example, in such a way that the self-description data module is generated directly as a skill data module or that the skill data module is generated in a separate work step after a corresponding self-description Data module has already been built. Furthermore, the self-description data module can also be generated first and then converted into a skills data module.
Ein Selbstbeschreibungs-Datenmodul, welches zumindest unter anderem charakteristisch für eine Funktionalität einer Vor richtung oder Anlage ist, kann ganz allgemein beispielsweise als ein sogenannter „Skill" bezeichnet werden. Unter solchen „Skills" werden unter anderem solche Daten- und/oder Funkti- ons-Module verstanden, welche für die Ausführung einer be stimmten Funktionalität innerhalb einer Vorrichtung oder An lage notwendige Informationen und/oder Softwareelemente um fassenden, insbesondere sämtliche für die Ausführung der Funktionalität notwendigen Informationen und Softwareelemente umfassen. A self-description data module, which is at least among other things characteristic of a functionality of a device or system, can be referred to quite generally, for example, as a so-called “skill”. Such “skills” include such data and / or functions -Modules understood, which for the execution of a certain functionality within a device or system information and / or software elements necessary to comprehend, in particular all for the execution of the Functionality include necessary information and software elements.
Ein solches, als Skill ausgestaltet und eingerichtetes Selbstbeschreibungs-Datenmodul , wird im Rahmen der vorliegen den Beschreibung und den Ansprüchen auch als „Skill-Datenmo- dul" bezeichnet. Such a self-description data module designed and set up as a skill is also referred to as a “skill data module” in the context of the present description and the claims.
Für ein solches Skill-Datenmodul kann eine entsprechende In haltsbeschreibung-Datei dann eine Skill-Bezeichung und/oder Skill-Beschreibung und/oder für die Ausführung des Skills notwendige Informationen und Parameter umfassen. For such a skill data module, a corresponding content description file can then include a skill designation and / or skill description and / or information and parameters necessary for executing the skill.
Weiterhin kann das Skill-Datenmodul für die Ausführung zuge hörigen Funktionalität notwendige Software-Elemente umfassen - insbesondere sämtliche für die Ausführung der Funktionali tät notwendigen Software-Elemente. Solche Software Elemente können beispielsweise als Programmcode innerhalb des Skill- Datenmoduls gespeichert sein. Insbesondere können solche Software-Elemente als ausführbarer Programmcode innerhalb des Skill-Datenmoduls gespeichert sein. Weiterhin kann das Skill- Datenmodul derart ausgebildet und eingerichtet sein, dass es zur Steuerung der Funktionalität innerhalb der Vorrichtung o- der Anlage ausgebildet und eingerichtet ist, wenn das Skill- Datenmodul geeignet innerhalb der Vorrichtung oder Anlage im plementiert und/oder gespeichert ist. Furthermore, the skill data module can include software elements necessary for executing the associated functionality - in particular all software elements necessary for executing the functionality. Such software elements can for example be stored as program code within the skill data module. In particular, such software elements can be stored as executable program code within the skill data module. Furthermore, the skill data module can be designed and set up in such a way that it is designed and set up to control the functionality within the device or system when the skill data module is suitably implemented and / or stored within the device or system.
Eine Vorrichtung oder Anlage, in welcher ein derartiges Skill-Datenmodul implementiert ist, kann dann beispielsweise die entsprechende Skill-Beschreibung an externe Einrichtungen kommunizieren. Diesen können dann beispielsweise diesen Skill mit den entsprechenden Parametern aufrufen, wonach die zuge hörige Funktionalität und dann vermittels des Ablaufs von im Selbstbeschreibungs-Datenmodul enthaltenen Software-Elementen ausgelöst und/oder ausgeführt wird. A device or system in which such a skill data module is implemented can then, for example, communicate the corresponding skill description to external devices. They can then, for example, call up this skill with the appropriate parameters, after which the associated functionality and then by means of the process of im Self-description data module contained software elements triggered and / or executed.
Weiterhin kann ein Verfahren gemäß der vorliegenden Beschrei bung den nachfolgenden Verfahrensschritt umfassen: f.) Identifizieren von Beschreibungsinformationen bezüglich der dem ermittelten Selbstbeschreibungs-Datenmodul zugeordne ten Engineering-Elemente innerhalb der Datensammlung sowie innerhalb der ersten, zweiten und/oder dritten Datenquelle und Speichern der identifizierten Beschreibungsinformationen im Selbstbeschreibungs-Datenmodul. Furthermore, a method according to the present description can include the following method step: f.) Identifying description information with regard to the engineering elements assigned to the determined self-description data module within the data collection and within the first, second and / or third data source and storing the identified ones Description information in the self-description data module.
Dabei kann Verfahrensschritt f.) bevorzugt nach Verfahrens schritt e.) ausgeführt werden, insbesondere unmittelbar nach Verfahrensschritt e.) ausgeführt werden. Process step f.) Can preferably be carried out after process step e.), In particular carried out immediately after process step e.).
Das identifizieren von Beschreibungsinformationen innerhalb der ersten, zweiten und/oder dritten Datenquelle ist dabei derart ausgebildet und eingerichtet, dass dabei nur in denje nigen der genannten Datenquellen recherchiert wird, welche im Rahmen der Durchführung des Verfahrens auch tatsächlich vor liegen. The identification of description information within the first, second and / or third data source is designed and set up in such a way that research is only carried out in those of the data sources mentioned that are actually available in the context of the implementation of the method.
Dabei kann das Identifizieren der Beschreibungsinformation derart ausgebildet und eingerichtet sein, dass diejenigen Be schreibungsinformationen, welche zu einem bestimmten Enginee ring-Element identifiziert wurden, im Selbstbeschreibungs-Da tenmodul gespeichert werden. Wenn zu einem Engineering-Ele ment keine Beschreibungsinformation identifiziert wurde, wird zu diesem Engineering-Element auch keine Beschreibungsinfor mation im Selbstbeschreibungs-Datenmodul gespeichert. The description information can be identified and set up in such a way that the description information that has been identified for a specific engineering element is stored in the self-description data module. If no description information has been identified for an engineering element, no description information is stored in the self-description data module for this engineering element either.
Beschreibungsinformationen zu Engineering-Elementen (wie zum Beispiel zu Funktionsbausteinen, elektrischen Elementen, Verdrahtungs-Plänen, Verdrahtungs-Anschlüssen usw.) können beispielsweise Schlagwörter, Kommentare, Bezeichnungen, Ti tel, Beschreibungen, Handbücher, Informationen aus Handbü chern, ID-Informationen (wie zum Beispiel Kennnummern, Be stellnummern, Markennamen o. ä.) oder vergleichbare die je weiligen Engineering-Elemente beschreibende und/oder kenn zeichnende Informationen sein. Descriptive information on engineering elements (such as function blocks, electrical elements, Wiring diagrams, wiring connections, etc.) can include, for example, keywords, comments, designations, titles, descriptions, manuals, information from manuals, ID information (such as identification numbers, order numbers, brand names, etc.) or similar the respective engineering elements be descriptive and / or identifying information.
Solche Beschreibungsinformationen können z.B. ermittelt wer den, indem beispielsweise innerhalb von Meta-Informationen zu den jeweiligen Engineering-Elementen nach entsprechenden Be schreibungsinformationen gesucht wird. Weiterhin kann auch im Rahmen von auf diese Weise bereits ermittelten Bezeichnungen, Titel oder ID-Informationen dann in den verwendeten Daten quellen nach weiteren Informationen bezüglich des entspre chenden Engineering-Elements gesucht werden. Such description information can be determined, for example, by searching for corresponding description information within meta information on the respective engineering elements. Furthermore, in the context of designations, titles or ID information already determined in this way, it is then possible to search for further information relating to the corresponding engineering element in the data sources used.
Zudem können beispielsweise auch über eine optische Musterer kennung und/oder optische Zeichenerkennung Beschreibungsin formationen aus Bildern und/oder grafischen Darstellungen entnommen werden. Solche Bilder und/oder grafische Darstel lungen können beispielsweise ProduktZeichnungen, Konstrukti onszeichnungen, Schaltpläne, Explosionszeichnungen oder ver gleichbare Bilder oder grafische Darstellungen sein. In addition, descriptive information can also be taken from images and / or graphic representations, for example, via optical pattern recognition and / or optical character recognition. Can verifiable calculations, Konstrukti onszeichnungen, his circuit diagrams, exploded views or ver parable images or graphics settings such images and / or graphic depicting as product Z.
Ein Verfahren gemäß der vorliegenden Beschreibung kann wei terhin den nachfolgenden Verfahrensschritt umfassen: g.) Identifizieren von Kontext-Informationen bezüglich der dem ermittelten Selbstbeschreibungs-Datenmodul zugeordneten Engineering-Elemente innerhalb weiterer Datenquellen und Speichern der identifizierten Kontext-Information im Selbst beschreibungs-Datenmodul . Dabei kann Verfahrensschritt g.) bevorzugt nach Verfahrens schritt e.) oder f.) oder auch nach Verfahrensschritt e.) o- der f.) weiterhin nachfolgenden Verfahrensschritten ausge führt werden. Weiterhin kann Verfahrensschritt g.) Auch pa rallel zur Ausführung von Verfahrensschritt e.) oder f.) ab laufen. A method according to the present description can furthermore comprise the following method step: g.) Identifying context information relating to the engineering elements assigned to the determined self-description data module within further data sources and storing the identified context information in the self-description data module. Process step g.) Can preferably be carried out after process step e.) Or f.) Or also after process step e.) Or f.), Further subsequent process steps. Furthermore, method step g.) Can also run in parallel to the execution of method step e.) Or f.).
In einer vorteilhaften Ausgestaltung der Erfindung können dann weiterhin die identifizierten Kontext-Informationen im Selbstbeschreibungs-Datenmodul gespeichert werden. In an advantageous embodiment of the invention, the identified context information can then also be stored in the self-description data module.
Dabei werden unter Kontext-Informationen bezüglich einem Selbstbeschreibungs-Datenmodul solche Informationen verstan den, welche sich auf Engineering-Elemente und/oder mindestens eine Funktionalität oder Komponente des Selbstbeschreibungs- Datenmoduls beziehen. Solche Kontext-Informationen können beispielsweise beschreibende Informationen, Herkunftsinforma tionen, Funktionsbeschreibungen, Handbücher, Abbildungen, CAD-Daten, 3D-Daten, Stücklisten und/oder vergleichbare In formationen sein. In this context, context information relating to a self-description data module is understood to mean information that relates to engineering elements and / or at least one functionality or component of the self-description data module. Such context information can be, for example, descriptive information, origin information, function descriptions, manuals, images, CAD data, 3D data, parts lists and / or comparable information.
Dabei kann das Identifizieren der Kontext-Informationen der art ausgebildet und eingerichtet sein, dass diejenigen Kon text-Informationen, welche zu einem bestimmten Engineering- Element identifiziert wurden, im Selbstbeschreibungs-Datenmo dul gespeichert werden. Wenn zu einem Engineering-Element keine Kontext-Information identifiziert wurde, wird zu diesem Engineering-Element auch keine Kontext-Information Im Selbst beschreibungs-Datenmodul gespeichert. The context information can be identified and set up in such a way that the context information that has been identified for a specific engineering element is stored in the self-description data module. If no context information has been identified for an engineering element, no context information is stored in the self-description data module for this engineering element either.
Weitere Datenquellen können beispielsweise verschiedenste Da tenquellen sein, die in Bezug auf mindestens eines der dem Selbstbeschreibungs-Datenmodul zugeordneten Engineering-Ele mente stehen und/oder Informationen bezüglich dieses mindestens einen Engineering-Elements umfassen. Derartige weitere Datenquellen können beispielsweise Datenbanken, Ent wurfssysteme, Programmierhandbücher, Programmierrichtlinien, internationale Standards (zum Beispiel IEC 61131), Prozessbe schreibungen, Prozessschritte, Normen und/oder ähnliche Da tenquellen sein. Further data sources can be, for example, a wide variety of data sources relating to at least one of the engineering elements assigned to the self-description data module and / or information relating to this comprise at least one engineering element. Such further data sources can be, for example, databases, design systems, programming manuals, programming guidelines, international standards (for example IEC 61131), process descriptions, process steps, standards and / or similar data sources.
Im Rahmen der Identifikation der Kontext-Informationen können beispielsweise auch über eine optische Mustererkennung und/o der optische Zeichenerkennung erstellte Kontext-Informationen aus in den weiteren Datenquellen gespeicherten Bildern und/o der grafischen Darstellungen entnommen werden. Solche Bilder und/oder grafische Darstellungen können beispielsweise Pro duktzeichnungen, Konstruktionszeichnungen, Schaltpläne, Ex plosionszeichnungen, Prozessablauf-Diagramme oder vergleich bare Bilder oder grafische Darstellungen sein. In the context of the identification of the context information, context information generated via optical pattern recognition and / o optical character recognition can also be taken from images stored in the further data sources and / o from the graphic representations, for example. Such images and / or graphic representations can be, for example, product drawings, construction drawings, circuit diagrams, explosion drawings, process flow diagrams or comparable images or graphic representations.
In einer vorteilhaften Ausgestaltung der Erfindung können den weiteren Datenquellen entnommene Kontext-Informationen mit den im Selbstbeschreibungs-Datenmodul ursprünglich gespei cherten Informationen verglichen werden. Dieser Vergleich kann beispielsweise die bestimmten Engineering-Elementen zu geordneten Beschreibungsinformationen betreffen oder auch Be ziehungsinformationen zwischen Engineering-Elementen. Auf diese Weise können beispielsweise Hinweise darauf ermittelt werden, ob die Informationen, die im Selbstbeschreibungs-Da tenmodul gespeichert sind, beispielsweise entsprechenden Standards oder Richtlinien oder auch Prozessbeschreibungen entsprechen. In an advantageous embodiment of the invention, context information taken from the further data sources can be compared with the information originally stored in the self-description data module. This comparison can, for example, relate to the specific engineering elements for ordered description information or also relationship information between engineering elements. In this way, it is possible, for example, to determine whether the information that is stored in the self-description data module corresponds, for example, to corresponding standards or guidelines or also to process descriptions.
Im Rahmen dieser vorteilhaften Ausgestaltung kann dann nach Ermittlung derartiger Hinweise einem Nutzer eine entspre chende Information ausgegeben werden. Dabei kann vorteilhafter Weise die Speicherung der identifi zierten Beschreibungsinformationen und/oder der identifizier ten Kontext-Informationen im Selbstbeschreibungs-Datenmodul als semantische Datenbank erfolgt. In the context of this advantageous refinement, corresponding information can then be output to a user after such indications have been determined. The identifi ed description information and / or the identified context information can advantageously be stored in the self-description data module as a semantic database.
Eine Speicherung der identifizierten Beschreibungsinformatio nen und/oder der identifizierten Kontext-Informationen im Selbstbeschreibungs-Datenmodul führt zu einem vorteilhaften Selbstbeschreibungs-Datenmodul, welches dann ein Datenmodul bildet, welches beispielsweise ein Set bezüglich einer oder mehrerer Funktionalitäten beinhaltet, umfassend beispiels weise entsprechende Engineering-Elemente inklusive Beschrei bungen ihrer Funktionen, ihrer Einsatzmöglichkeiten und wei teren beschreibenden Daten. Saving the identified descriptive information and / or the identified context information in the self-description data module leads to an advantageous self-description data module, which then forms a data module that contains, for example, a set with regard to one or more functionalities, including, for example, corresponding engineering elements including descriptions of their functions, their possible uses and other descriptive data.
Auf diese Weise entsteht beispielsweise ein gekapseltes Da tenmodul, in welchem die verschiedensten Informationen aus den verschiedensten Engineering-Quellen zu einer oder mehre rer Funktionalitäten einer Vorrichtung oder Anlage bzw. einer oder mehrerer Komponenten einer Vorrichtung oder Anlage ge sammelt sind, bevorzugt auch inklusive Informationen über mögliche Beziehungen zwischen den gespeicherten Informatio nen. In this way, for example, an encapsulated data module is created in which a wide variety of information from a wide variety of engineering sources on one or more functionalities of a device or system or one or more components of a device or system is collected, preferably including information about possible relationships between the stored information.
Dabei ermöglicht die Verwendung eines semantischen Datenbank formats zur Abspeicherung der genannten Informationen sowohl das Speichern als auch das Wiederauffinden gespeicherter In formationen auf besonders effiziente Weise. Dies ist insbe sondere der Fall, wenn im Selbstbeschreibungs-Datenmodul eine Vielzahl verschiedener Datentypen und Beziehungen zwischen Engineering-Daten gespeichert ist. Eine solche Speicherung einer derartigen Vielzahl von Datentypen in einer „normalen" relationalen Datenbank kann sehr komplex und Speicher inten siv, gegebenenfalls sogar unmöglich sein. Eine semantische Datenbank kann beispielsweise eine Datenbank sein, in welcher die gespeicherte Information mittels seman tischer Suchoperationen ermittelbar sind. Dabei kann die se mantische Datenbank beispielsweise in einem sogenannten NoSQL-Datenbankformate oder auch dem sogenannten Knowledge- Graph-Datenformat vorliegen. Dabei können verschiedene Teile der semantischen Datenbank auch in verschiedenen der oben ge nannten Formate abgespeichert sein. Weiterhin kann die seman tische Datenbank auch weitere Teile umfassen, die in keinem der oben genannten Datenbankformate vorliegen. The use of a semantic database format for storing the information mentioned enables both the storage and the retrieval of stored information in a particularly efficient manner. This is particularly the case when a large number of different data types and relationships between engineering data are stored in the self-description data module. Such a storage of such a large number of data types in a "normal" relational database can be very complex and memory-intensive, possibly even impossible. A semantic database can, for example, be a database in which the stored information can be determined by means of semantic search operations. The semantic database can be present, for example, in a so-called NoSQL database format or also in the so-called knowledge graph data format. Different parts of the semantic database can also be stored in different of the formats mentioned above. Furthermore, the semantic database can also include further parts that are not present in any of the database formats mentioned above.
Eine NoSQL-Datenbank kann gemäß der vorliegenden Beschreibung eingerichtet und ausgebildet sein. Sie kann z.B. als eine Do- kument-orientierte Datenbank, eine Graph-orientierte Daten bank, ein Knowledge-Graph, eine verteilte ACID-Datenbank, eine Key-Value-Datenbank, eine Attribut-Wertpaar-orientierte Datenbank, eine Multivalue-Datenbank, eine Objekt-orientierte Datenbank und/oder als eine Spalten-orientierte Datenbank o- der eine Kombination oder Weiterentwicklung solcher Datenban ken eingerichtet und ausgestaltet sein. A NoSQL database can be set up and designed in accordance with the present description. It can be used, for example, as a document-oriented database, a graph-oriented database, a knowledge graph, a distributed ACID database, a key-value database, an attribute-value pair-oriented database, a multivalue database, an object-oriented database and / or as a column-oriented database or a combination or further development of such databases can be set up and designed.
In der semantischen Datenbank können die gespeicherten Infor mationen oder Teile der gespeicherten Informationen auch als eine NoSQL-Datenbank, ein oder mehrere Knowledge-Graphen, eine nicht-relationale Datenbank, eine OWL-Datenbank, eine RDF-Datenbank und/oder eine SPARQL als Absprachefrage verwen denden Datenbank abgelegt sein oder die semantische Datenbank kann derartige Datenbanken umfassen. In the semantic database, the stored information or parts of the stored information can also be used as a NoSQL database, one or more knowledge graphs, a non-relational database, an OWL database, an RDF database and / or a SPARQL as a query be stored using the database or the semantic database can include databases of this type.
Ein Verfahren gemäß der vorliegenden Beschreibung kann wei terhin derart ausgebildet und eingerichtet sein, dass das Selbstbeschreibungs-Datenmodul in einer Speichereinrichtung der Vorrichtung oder Anlage gespeichert wird, und/oder dass das Selbstbeschreibungs-Datenmodul in einem En gineeringsystem zum mechanischen, elektrischen und/oder Auto matisierungs-Engineering gespeichert wird. A method according to the present description can furthermore be designed and set up in such a way that the Self-description data module is stored in a storage device of the device or system, and / or that the self-description data module is stored in an engineering system for mechanical, electrical and / or automation engineering.
Ein Automatisierungs-Engineeringsystem kann beispielsweise als ein Computersystem mit einer geeigneten Software ausge staltet und eingerichtet sein, das zur Erzeugung von Automa tisierung-Engineeringdaten für eine bestimmte Maschine oder Produktionsanlage ausgebildet und eingerichtet ist. Solche Automatisierungs-Engineeringdaten sind beispielsweise Daten, wie sie für die Automatisierung und/oder Steuerung der Pro duktionsanlage oder Maschine erstellt werden und/oder vorge sehen sind. Dazu gehört beispielsweise, dass vermittels eines solchen Automatisierungs-Engineeringsystems beispielsweise entsprechende Steuerprogramme erstellt werden und die Kompo nenten der Produktionsanlage oder Maschine und auch der ent sprechenden Steuerungen entsprechend parametriert werden. Ein Beispiel für ein solches Engineering-System ist beispiels weise ein Computersystem, auf welchem die am Markt erhältli che Software mit dem Produktnamen "TIA-Portal" installiert ist. An automation engineering system can be designed and set up, for example, as a computer system with suitable software that is designed and set up to generate automation engineering data for a specific machine or production plant. Such automation engineering data are, for example, data such as are created and / or provided for the automation and / or control of the production plant or machine. This includes, for example, using such an automation engineering system to create appropriate control programs, for example, and to parameterize the components of the production plant or machine and the corresponding controls accordingly. An example of such an engineering system is, for example, a computer system on which the software available on the market with the product name "TIA Portal" is installed.
Die Speicherung des Selbstbeschreibungs-Datenmoduls im Engi neeringsystem kann beispielsweise in einem Speicher eines Computers oder einer Steuerungseinrichtung erfolgen, welche Teil des Engineerings-Systems ist bzw. auf welchem das Engi neeringsystem oder auch Teile davon installiert und/oder im plementiert sind. Die vorstehend genannte Aufgabe wird weiterhin gelöst durch ein Selbstbeschreibungs-Datenmodul, welches unter Verwendung eines Verfahrens gemäß der vorliegenden Beschreibung erstellt wurde. The self-description data module can be stored in the engineering system, for example, in a memory of a computer or a control device which is part of the engineering system or on which the engineering system or parts thereof are installed and / or implemented. The above-mentioned object is also achieved by a self-description data module which was created using a method in accordance with the present description.
Die vorstehend genannte Aufgabe wird auch gelöst durch ein Computerlesbares Speichermedium umfassend ein Selbstbeschrei bungs-Datenmodul gemäß der vorliegenden Beschreibung. The above-mentioned object is also achieved by a computer-readable storage medium comprising a self-description data module according to the present description.
Weiterhin gelöst wird die vorstehend genannte Aufgabe durch eine Vorrichtung oder Anlage mit einer Speichereinrichtung, welche ein Selbstbeschreibungs-Datenmodul gemäß der vorlie genden Beschreibung umfasst. The above-mentioned object is also achieved by a device or system with a memory device which comprises a self-description data module according to the present description.
Eine derart ausgebildet und eingerichtete Vorrichtung oder Anlage ist mit verringertem Zusatzaufwand in der Lage, Infor mationen über seine Funktionalitäten und/oder Komponenten an externe Einrichtungen, wie andere Vorrichtungen, Anlagen, Computer und/oder entsprechende Ein- und/oder Ausgabeeinrich tungen, zu kommunizieren. Auf diese Weise kann es beispiels weise solchen externen Einrichtungen ermöglicht werden, ge zielt auf derartige Informationen und/oder Funktionalitäten zuzugreifen und so beispielsweise auf vereinfachte Art die Vorrichtung oder Anlage bzw. mindestens eine von deren Funk tionalitäten zu nützen. A device or system designed and set up in this way is able to communicate information about its functionalities and / or components to external devices, such as other devices, systems, computers and / or corresponding input and / or output devices, with reduced additional effort . In this way, it can be made possible, for example, for such external devices to access such information and / or functionalities in a targeted manner and thus, for example, to use the device or system or at least one of its functionalities in a simplified manner.
In einer vorteilhaften Ausgestaltung kann die Vorrichtung o- der Anlage mit dem Selbstbeschreibungs-Datenmodul derart aus gebildet und eingerichtet sein, dass das Selbstbeschreibungs-Datenmodul eine Inhaltsbeschrei bung-Datei gemäß der vorliegenden Beschreibung umfasst und/o der dass die Vorrichtung oder Anlage zur Erzeugung einer In haltsbeschreibung-Datei gemäß der Vorliegenden Beschreibung ausgebildet und eingerichtet ist. Weiterhin kann eine solche Vorrichtung oder Anlage zur Kommu nikation der Inhaltsbeschreibung-Datei an eine externe Ein richtung ausgebildet und eingerichtet sein. Auch kann eine solche Vorrichtung oder Anlage zum Empfang eines Beschrei bungselements aus der Inhaltsbeschreibung-Datei bezüglich der Funktionalität der Vorrichtung oder Anlage und gegebenenfalls nachfolgend einem Aufruf, einer Ausgabe einer entsprechenden Information bezüglich der Funktionalität oder Komponente und/oder einem Aufruf oder einer Ausführung der entsprechen den Funktionalität ausgebildet und eingerichtet sein. In an advantageous embodiment, the device or system with the self-description data module can be designed and set up in such a way that the self-description data module includes a content description file according to the present description and / or that the device or system for generating a In the description of contents file is designed and set up in accordance with the present description. Furthermore, such a device or system can be designed and set up for communicating the content description file to an external device. Such a device or system for receiving a description element from the content description file with regard to the functionality of the device or system and, if necessary, can then correspond to a call, an output of corresponding information with regard to the functionality or component and / or a call or execution of the the functionality must be designed and set up.
Auf diese Weise wird es ermöglicht, dass die Vorrichtung oder Anlage selbsttätig oder zumindest teilautomatisiert in der Lage ist, Informationen bezüglich ihrer ein oder mehrerer Funktionalitäten und/oder Komponenten an externe Einrichtun gen, wie beispielsweise eine andere Vorrichtung oder Anlage, einen Webserver, einen OPC-Server, eine Anzeigeeinheit, ein Leitsystem und/oder eine vergleichbare Einrichtung, auszuge ben. In this way, it is made possible that the device or system is automatically or at least partially automated in a position to transfer information regarding its one or more functionalities and / or components to external devices, such as another device or system, a web server, an OPC Server, a display unit, a control system and / or a comparable device to output.
Weiterhin kann beispielsweise durch Auswahl eines bestimmten für ein Engineering-Element charakteristisches Beschreibungs elements eine auf das Engineering-Element bezogene Aktivität ausgelöst werden. So kann beispielsweise eine oder mehrere dem Engineering-Element zugeordnete Informationen ausgegeben werden oder auch eine dem Engineering-Element zugeordnete Funktionalität aufgerufen oder ausgelöst werden. Furthermore, an activity related to the engineering element can be triggered, for example, by selecting a specific description element characteristic of an engineering element. For example, one or more items of information assigned to the engineering element can be output or a functionality assigned to the engineering element can be called up or triggered.
Auf diese Weise kann eine entsprechend ausgestaltete Vorrich tung oder Anlage beispielsweise vorteilhaft im Rahmen eines modularen Produktions-Systems eingesetzt werden, beispiels weise im Rahmen eines sogenannten Cyber-Physical-Production- Systems (CPPS). Weiterhin können auf diese Weise sogenannte „Skills" inner halb der Vorrichtung oder Anlage realisiert sein oder werden, die dann auch nach Bedarf an andere Geräte, Vorrichtungen o- der Anlagen kommunizierbar sind bzw. kommuniziert werden, um beispielsweise ein Zusammenwirken dieser Vorrichtungen oder Anlagen im Rahmen einer Produktion zu ermöglichen oder zu vereinfachen. In this way, a correspondingly configured device or system can be used advantageously in the context of a modular production system, for example in the context of a so-called cyber-physical production system (CPPS). Furthermore, in this way so-called “skills” can be or will be implemented within the device or system, which can then also be communicated or communicated to other devices, devices or systems as required, for example to enable these devices or systems to work together in the To enable or simplify the framework of a production.
Die vorstehend genannte Aufgabe wird weiterhin gelöst durch ein Automatisierungs-Engineeringsystem mit einer Speicherein richtung, wobei die Speichereinrichtung ein Selbstbeschrei- bungs-Datenmodul gemäß der vorliegenden Beschreibung umfasst. The above-mentioned object is also achieved by an automation engineering system with a memory device, the memory device comprising a self-description data module according to the present description.
Dabei kann das Automatisierungs-Engineeringsystem gemäß der vorliegenden Beschreibung ausgebildet und eingerichtet sein. The automation engineering system can be designed and set up in accordance with the present description.
Ein derart ausgestaltetes Automatisierungs-Engineeringsystem lässt ein vereinfachtes Engineering einer weiteren Vorrich tung oder Anlage zu. Ein solches Engineering wird insbeson dere dann vereinfacht, wenn die weitere Vorrichtung oder An lage zumindest teilweise gleiche oder ähnliche Funktionalitä ten wie die Vorrichtung oder Anlage gemäß der vorliegenden Beschreibung aufweist und/oder zumindest teilweise gleiche Komponenten aufweist. An automation engineering system configured in this way allows simplified engineering of a further device or system. Such engineering is simplified in particular if the further device or system has at least partially the same or similar functionalities as the device or system according to the present description and / or at least partially has the same components.
In diesem Fall können beim Erstellen von Automatisierungs-Ap plikationen für die Automatisierung der weiteren Vorrichtung oder Anlage bereits in der Vergangenheit für entsprechende Funktionalitäten oder Komponenten erstellte Engineeringdaten verwendet werden. Dies vereinfacht und/oder beschleunigt das Engineering der weiteren Vorrichtung oder Anlage. In this case, when creating automation applications for the automation of the further device or system, engineering data created in the past for corresponding functionalities or components can be used. This simplifies and / or accelerates the engineering of the further device or system.
Dabei kann das Automatisierungs-Engineeringsystem beispiels weise weiterhin derart ausgebildet und eingerichtet sein, dass es eine Inhaltsbeschreibung-Datei bezüglich des Selbst- beschreibungs-Datenmoduls umfasst und/oder zur Erzeugung ei ner solchen Inhaltsbeschreibung-Datei ausgebildet und einge richtet ist. Das Automatisierungs-Engineeringsystem kann dann weiterhin beispielsweise derart ausgebildet und eingerichtet gerichtet sein, dass Inhalte der Inhaltsbeschreibung-Datei beispielsweise an einen Nutzer des Automatisierungs-Enginee- rings-Systems ausgegeben werden können und durch eine Auswahl eines oder mehrerer Beschreibungselemente der Inhaltsbe schreibung-Datei, die jeweils einem oder mehreren Enginee ring-Elementen zugeordneter sind, die zugehörigen Enginee ring-Elemente beispielsweise für das Engineering der Automa tisierung der weiteren Vorrichtung oder Anlage übernommen werden können. The automation engineering system can, for example, continue to be designed and set up in such a way that that it comprises a content description file with regard to the self-description data module and / or is designed and set up to generate such a content description file. The automation engineering system can then, for example, also be designed and set up in such a way that contents of the content description file can be output to a user of the automation engineering system, for example, and by selecting one or more description elements of the content description file, which are each assigned to one or more engineering elements, the associated engineering elements can be taken over, for example, for the engineering of the automation of the further device or system.
Weitere vorteilhafte Ausgestaltungen finden sich in den Un teransprüchen. Further advantageous refinements can be found in the subclaims.
Nachfolgend wird die vorliegende Erfindung beispielhaft mit Bezug auf die beigefügten Figuren näher erläutert. The present invention is explained in more detail below by way of example with reference to the accompanying figures.
Es zeigen: Show it:
Figur 1: Beispielhafte Darstellung eines Verfahrensablaufs zur Erstellung eines Engineeringdaten; FIG. 1: Exemplary representation of a process sequence for creating engineering data;
Figur 2: Beispielhafte Aufstellung von Engineeringdaten und Beziehungsdaten; FIG. 2: Exemplary list of engineering data and relationship data;
Figur 3: Beispielhafter Ablauf für das Erstellen eines Multi graphen und Skill-Datenmoduls Figure 3: Exemplary sequence for creating a multi graph and skill data module
Figur 1 zeigt schematisch einen beispielhaften Ablauf zur Er stellung eines Selbstbeschreibungs-Datenmoduls gemäß der vor liegenden Beschreibung aus entsprechenden Engineeringdaten. Dabei werden in einem ersten Schritt 110 Engineeringdaten 100 zur Verfügung gestellt. Dabei sind die Engineeringdaten 100 ein Beispiel für eine Datensammlung umfassend Engineering- Elemente gemäß der vorliegenden Beschreibung. Auf die Engine eringdaten 100 sowie die darin enthaltene Engineering-Ele mente wird im Rahmen der Beschreibung zu Figur 2 näher einge gangen. FIG. 1 shows schematically an exemplary sequence for creating a self-description data module according to the present description from corresponding engineering data. In a first step 110, engineering data 100 are made available. The engineering data 100 are an example of a data collection comprising engineering elements according to the present description. The engine ering data 100 and the engineering elements contained therein will be discussed in more detail in the context of the description relating to FIG.
Zu diesen Engineeringdaten 100 werden in einem nächsten Ver fahrensschritt 120 Beziehungsinformationen 150 zwischen ein zelnen der in den Engineeringdaten 100 enthaltenen Enginee ring-Elemente ermittelt. Auf die entsprechenden Beziehungsin formationen 150 sowie deren Ermittlung wird ebenfalls im Zu sammenhang mit den Erläuterungen zu Figur 2 näher eingegan gen. In a next process step 120, related information 150 between individual engineering elements contained in the engineering data 100 is determined for this engineering data 100. The corresponding relationship information 150 and its determination are also discussed in greater detail in connection with the explanations relating to FIG.
In einem nachfolgenden Arbeitsschritt 130 wird dann aus Engi neering-Elementen der Engineeringdaten 100 sowie entsprechen den Beziehungsinformationen 150 zu diesen Engineeringdaten 100 ein Multigraph 200 erstellt. Dabei werden die gewählten Engineering-Elemente als Knoten in diesem Multigraphen 200 und die entsprechenden Beziehungsinformationen 150 als Ver bindung zwischen den jeweiligen Knoten gewählt. Dabei kann der Multigraph 200 als eine grafische Darstellung oder auch eine entsprechend angepasste mathematische oder sonstige Dar stellung der Multigraph-Struktur erstellt und gespeichert werden. In a subsequent work step 130, a multigraph 200 is then created from engineering elements of the engineering data 100 and corresponding to the information 150 relating to this engineering data 100. The selected engineering elements are selected as nodes in this multigraph 200 and the corresponding relationship information 150 as a connection between the respective nodes. The multigraph 200 can be created and saved as a graphic representation or a correspondingly adapted mathematical or other representation of the multigraph structure.
Eine beispielhafte Erstellung eines solchen Multigraphen 200 wird näher im Rahmen der Erläuterungen zu Figur 3 erläutert. An exemplary creation of such a multigraph 200 is explained in more detail in the context of the explanations relating to FIG.
Danach wird in einem Clustering-Schritt 140 der Multigraph 200 in Sub-Graphen 280, 290 aufgegliedert, wobei das Clus- tering derart ausgebildet und eingerichtet ist, dass die identifizierten Sub-Graphen 280, 290 beispielsweise bestimm ten Funktionalitäten oder Komponenten einer zugrunde liegen den Anlage oder Vorrichtung entsprechen. Der Clustering- Schritt 140 wird ebenfalls beispielhaft im Rahmen der Erläu terungen zu Figur 3 näher erläutert. Then, in a clustering step 140, the multigraph 200 is broken down into sub-graphs 280, 290, the clustering being designed and set up in such a way that the identified sub-graphs 280, 290 correspond, for example, to certain functionalities or components of an underlying installation or device. The clustering step 140 is also explained in more detail by way of example in the context of the explanations relating to FIG.
Nach dem Clustering 140 erfolgt dann ein Auswahlschritt 150, in welchem einer der im Clustering-Schritt 140 identifizier ten Sub-Graphen 280, 290 für die Erstellung eines entspre chenden Selbstbeschreibungs-Datenmoduls 380, 390 ausgewählt wird. After clustering 140, a selection step 150 then takes place in which one of the sub-graphs 280, 290 identified in clustering step 140 is selected for the creation of a corresponding self-description data module 380, 390.
In einem abschließenden Arbeitsschritt 160 wird dann das Selbstbeschreibungs-Datenmodul 380, 390 erstellt. Ein solches Erstellen eines Selbstbeschreibungs-Datenmoduls 380, 390 wird ebenfalls beispielhaft in Bezug auf die Erläuterungen zu Fi gur 3 näher erläutert. In a final work step 160, the self-description data module 380, 390 is then created. Such a creation of a self-description data module 380, 390 is also explained in more detail by way of example with reference to the explanations relating to FIG.
Figur 2 zeigt eine Auflistung von Engineeringdaten 100 für ein Vorrichtung oder Anlage gemäß der vorliegenden Beschrei bung. Die Engineeringdaten 100 umfassen dabei Automatisie rungs-Engineeringdaten 110, mechanische CAD-Daten (MCAD) 120 sowie elektrische CAD-Daten (ECAD) 130. FIG. 2 shows a listing of engineering data 100 for a device or system according to the present description. The engineering data 100 include automation engineering data 110, mechanical CAD data (MCAD) 120 and electrical CAD data (ECAD) 130.
Dabei umfassen die Automatisierungs-Engineeringdaten 110 Da ten, welche im Rahmen einer Automatisierung der Vorrichtung oder Anlage beispielsweise unter Verwendungen entsprechender Controller oder einer speicherprogrammierbaren Steuerung be nötigt oder verwendet werden. Solche Daten sind beispiels weise eine Variablen Liste und/oder sogenannten "Tag"-Liste der im Rahmen der Steuerung der Vorrichtung oder Anlage in nerhalb einer solchen Steuerung verwendeten Variablen bzw. Tags. Unter einem „Tag" wird im Rahmen des Automatisierungs- Engineering beispielsweise eine Variable verstanden, welche zur Darstellung bzw. Eingabe in einem Bedienen-und-Beobach- ten-System (SCADA-System) bzw. einem grafischen Benutzerin terface (HMI: Human Machine Interface) gekennzeichnet ist. The automation engineering data 110 include data which are required or used in the context of an automation of the device or system, for example using appropriate controllers or a programmable logic controller. Such data are, for example, a variable list and / or what is known as a “tag” list of the variables or tags used in the context of controlling the device or system within such a controller. A "day" is used as part of the automation Engineering is understood, for example, as a variable which is identified for display or input in an operating and monitoring system (SCADA system) or a graphical user interface (HMI: Human Machine Interface).
Weiterhin umfassen die Automatisierungs-Engineeringdaten 110 im Rahmen der Steuerung der Vorrichtung oder Anlage verwen dete Funktionsbausteine, Datenbausteine, weitere sogenannte "Program Oranizational Units" (POU) oder auch den Code eines entsprechenden Steuerprogramms zur Steuerung der Vorrichtung oder Anlage durch einen entsprechenden Controller oder eine entsprechende speicherprogrammierbare Steuerung. Furthermore, the automation engineering data 110 include function blocks, data blocks, other so-called "Program Oranizational Units" (POU) or the code of a corresponding control program for controlling the device or system by a corresponding controller or a system used in the context of controlling the device or system corresponding programmable logic controller.
Die Automatisierungs-Engineeringdaten 110 umfassen auch eine Auflistung von benutzerdefinierten Datenformaten (sogenannte „UDT"s (User Defined Type)), die im Rahmen der Erstellung der Automatisierungs-Engineeringdaten 110 erstellt oder einge richtet wurden. The automation engineering data 110 also include a list of user-defined data formats (so-called “UDT” s (User Defined Type)) that were created or set up as part of the creation of the automation engineering data 110.
Weiterhin umfasst die Automatisierungs-Engineeringdaten 110 eine Auflistung von Informationen bezüglich in der Vorrich tung oder Anlage verwendeten Hardwarekomponenten. Diese In formationen können beispielsweise Komponenten-Namen, Kompo- nenten-ID-Informationen (beispielsweise Seriennummern, Be stellnummern, o. ä.), Komponenten-Typ-Bezeichnungen, Kompo nenten Beschreibungsinformationen, eine Auflistung von je weils verwendeten Parametern und/oder entsprechenden Parame tergrenzwerten, geometrische Informationen zu entsprechenden Hardwarekomponente und/oder Zusatz-, Hintergrund- oder Sup port-Informationen zu den entsprechenden Hardwarekomponenten umfassen. Furthermore, the automation engineering data 110 includes a list of information relating to hardware components used in the device or system. This information can include, for example, component names, component ID information (for example serial numbers, order numbers, or the like), component type designations, component description information, a list of parameters used in each case and / or corresponding Parameter limit values, geometric information on corresponding hardware components and / or additional, background or support information on the corresponding hardware components.
Auch AufrufStrukturen für Funktionsbausteine, Datenbausteine und/oder weitere POUs sind Teil der Automatisierungs- Engineeringdaten 110. Solche Strukturen stellen dar, welche der Bausteine welche anderen Bausteine aufrufen und/oder re- ferenzieren. Hierbei können beispielsweise kettenartige Strukturen, sogenannte Aufruf-Ketten, oder auch baumartige Strukturen entstehen. Call structures for function blocks, data blocks and / or other POUs are also part of the automation Engineering data 110. Such structures represent which of the modules call and / or reference which other modules. For example, chain-like structures, so-called call chains, or tree-like structures can arise here.
Die mechanischen CAD Daten (MCA-Daten) 120 umfassen eine Stückliste der Komponenten der Vorrichtung oder Anlage, 3D- Informationen zu den Komponenten der Vorrichtung oder Anlage sowie zur Vorrichtung oder Anlage selbst. Weiterhin umfassen die MCAD Daten 120 Kinematik-Informationen bezüglich einzel ner Komponenten der der Vorrichtung oder Anlage, der Vorrich tung oder Anlage insgesamt sowie zwischen verschiedenen der Komponenten der Vorrichtung oder Anlage. Weiterhin umfassen die MCAD-Daten auch Punkte-Wolken-Informationen bezüglich einzelner Komponenten der Vorrichtung oder Anlage sowie der der Vorrichtung oder Anlage insgesamt. The mechanical CAD data (MCA data) 120 include a parts list of the components of the device or system, 3D information on the components of the device or system and on the device or system itself. Furthermore, the MCAD data 120 include kinematics information relating to individual components that of the device or system, the device or system as a whole and between various of the components of the device or system. Furthermore, the MCAD data also include point-cloud information with regard to individual components of the device or installation and that of the device or installation as a whole.
Auch Beziehungs-Informationen zwischen Teilen der Vorrichtung oder Anlage sind Teil der MCAD Daten 120. Solche Beziehungs informationen können beispielsweise Informationen sein, wel che Komponenten der Vorrichtung oder Anlage an welche anderen Komponenten angrenzen bzw. mit diesen verbunden sind. Auch die Art der Verbindung zweier Komponenten können Teil der Be ziehungs-Informationen sein. Dabei kann die Verbindung zweier Komponenten beispielsweise eine räumliche oder mechanische Verbindung oder auch eine funktionale Verbindung sein. Relationship information between parts of the device or installation is also part of the MCAD data 120. Such relationship information can, for example, be information about which components of the device or installation adjoin or are connected to which other components. The type of connection between two components can also be part of the relationship information. The connection between two components can be, for example, a spatial or mechanical connection or also a functional connection.
Die elektrischen CAD-Daten (ECAD-Daten) 130 umfassen Schalt pläne der Vorrichtung oder Anlage sowie deren Komponenten, Funktionspläne davon, Funktions-Diagramme, Funktions-Listen, Orts-Informationen bezüglich elektrischer Bausteine und Kom ponenten der Vorrichtung oder Anlage sowie der Vorrichtung o- der der Anlage insgesamt. Die ECAD-Daten 130 umfasst weiterhin eine Stückliste von verwendeten elektrischen und elektronischen Komponenten, eine entsprechende Produkt-Ken- nungs-Liste sowie Abbildungen von solchen Komponenten und entsprechenden Schaltungen, in welche z.B. diese Komponenten verwendet werden. The electrical CAD data (ECAD data) 130 include circuit diagrams of the device or system and its components, function plans thereof, function diagrams, function lists, location information relating to electrical modules and components of the device or system and the device or the like - that of the system as a whole. The ECAD data 130 includes Furthermore, a parts list of the electrical and electronic components used, a corresponding product identification list and images of such components and corresponding circuits in which, for example, these components are used.
Dabei sind die vorstehend genannten Beispiele für Automati sierungs-Engineeringdaten 110, MCAD-Daten 120 sowie ECAD- Daten 130 Beispiele für Engineering-Elemente gemäß der vor liegenden Beschreibung. The above-mentioned examples for automation engineering data 110, MCAD data 120 and ECAD data 130 are examples of engineering elements according to the present description.
Weiterhin zeigt Figur 2 eine Datensammlung von Beziehungsda ten 150, welche Beispiele für Beziehungs-Informationen gemäß der vorliegenden Beschreibung sind. Die Beziehungsdaten ent halten dabei Beziehungen zwischen verschiedenen Funktionsbau steinen und/oder Datenbausteinen, die beispielsweise aus den vorstehend genannten Aufruf-Strukturen für solche Bausteine abgeleitet werden können bzw. abgeleitet wurden. Weiterhin umfassen die Beziehungsdaten 150 Informationen über die Be ziehung zwischen verschiedenen Daten, die beispielsweise aus Informationen bezüglich Tags oder Variablen gewonnen werden können. Furthermore, FIG. 2 shows a data collection of relationship data 150, which are examples of relationship information according to the present description. The relationship data contain relationships between different function blocks and / or data blocks that can be or were derived, for example, from the above-mentioned call structures for such blocks. Furthermore, the relationship data 150 include information about the relationship between various data, which can be obtained, for example, from information relating to tags or variables.
Weiterhin umfassen die Beziehungsdaten 150 Informationen dar über, welche Programmbausteine, Funktionsbausteine, Datenbau steine oder allgemein die sogenannten „POUs" welchen Kompo nenten und/oder Teilen der Vorrichtung oder Anlage zugeordnet sind. Solche Informationen lassen sich beispielsweise aus Kommentaren oder sonstigen Meta-Informationen zu den oben ge nannten Komponenten gewinnen. Auch Beziehungen zwischen elektrischen, mechanischen und Software-Objekten sind Teil der Beziehungsdaten 150. Solche Beziehungen lassen sich bei spielsweise aus 3D-Informationen oder CAD-Daten, Kommentaren, Stücklisten und weiteren Meta-Informationen erhalten. Aus diesen Datenquellen lassen sich beispielsweise auch Informa tionen über mechanische Verbindungen zwischen verschiedenen Komponenten und/oder Teilen der Vorrichtung oder Anlage be stimmen, die auch Teil der Beziehungsdaten 150 sind. Furthermore, the relationship data 150 include information about which program modules, function modules, data modules or generally the so-called "POUs" are assigned to which components and / or parts of the device or system. Such information can be obtained from comments or other meta-information, for example Relationships between electrical, mechanical and software objects are also part of the relationship data 150. Such relationships can be obtained, for example, from 3D information or CAD data, comments, parts lists and other meta-information These data sources can also be used, for example, to determine information about mechanical connections between various components and / or parts of the device or system, which are also part of the relationship data 150.
Auch aus Verdrahtungs-Plänen gewonnene Informationen bezüg lich beispielsweise elektrischen, Kommunikations- oder Daten- Verbindungen verschiedener elektrischer oder elektromechani scher Komponenten sind Teil der Beziehungsdaten 150. Information obtained from wiring plans with regard to, for example, electrical, communication or data connections of various electrical or electromechanical components is also part of the relationship data 150.
Figur 3 zeigt ein exemplarisches Beispiel für den Ablauf der Erzeugung zweier Skill-Datenmodule 380, 390 ausgehend von ei nem Multigraphen 200. Aus Gründen der Übersichtlichkeit wird für diese Darstellung nur ein Ausschnitt eines gesamten Mul tigraphen dargestellt, welche auf Basis der in Figur 2 erläu terten Engineeringdaten 100 erstellt werden kann. FIG. 3 shows an exemplary example for the process of generating two skill data modules 380, 390 starting from a multigraph 200. For the sake of clarity, only a section of an entire multigraph is shown for this illustration, which is explained on the basis of the in FIG terten engineering data 100 can be created.
Der in Figur 3 dargestellte Multigraph 200 basiert auf eini gen Funktionsbausteinen 210, 220, 240, 250 sowie eines Daten bausteins 230 aus den Automatisierungs-Engineeringdaten 110 gemäß Figur 2. Die zum Aufbau des beispielhaften Multigraphen 200 verwendete Beziehungsinformation wurde Aufruf-Strukturen für Funktionsbausteine und Benutzt-Informationen für Daten bausteine aus den Beziehungsdaten 150 (s. Figur 2) entnommen. The multigraph 200 shown in FIG. 3 is based on some function modules 210, 220, 240, 250 and a data module 230 from the automation engineering data 110 according to FIG Used information for data modules is taken from the relationship data 150 (see FIG. 2).
Der links oben in Figur 3 dargestellte Multigraph 200 ist ein Beispiel eines Ergebnisses der ersten drei Verfahrensschritte 110, 120, 130 gemäß Figur 1. The multigraph 200 shown at the top left in FIG. 3 is an example of a result of the first three method steps 110, 120, 130 according to FIG. 1.
Dabei wurde der Multigraph derart aufgebaut, dass den vier Funktionsbausteinen 210, 220, 240, 250, die in Figur drei mit „FBI", „FB 2", „FB3", „FB4" bezeichnet sind, Knoten des Mul tigraphen 200 zugewiesen wurden. Weiterhin wurde auch dem Da tenbaustein 230 ein Knoten im Multigraphen 200 zugewiesen. Des Weiteren kann den Aufruf-Strukturen für Funktionsbau steine innerhalb der Beziehungsdaten 150 entnommen werden, dass der Funktionsbaustein „FBI" 210 im Rahmen seines Ablaufs den zweiten Funktionsbaustein „FB2" 220 dreimal aufruft. Dies wird im Multigraphen 200 derart implementiert, dass vom ers ten Funktionsbaustein 210 dreimal eine gerichtete Verbindung 212 zum zweiten Funktionsbaustein 220 eingerichtet wird, wo bei diesen Verbindungen 212 weiterhin die Kategorie „ruft auf" zugewiesen wird. The multigraph was set up in such a way that nodes of the multigraph 200 were assigned to the four function blocks 210, 220, 240, 250, which are labeled “FBI”, “FB 2”, “FB3”, “FB4” in FIG . Furthermore, a node in the multigraph 200 was also assigned to the data module 230. Furthermore, it can be seen from the call structures for function blocks within the relationship data 150 that the function block “FBI” 210 calls the second function block “FB2” 220 three times during its course. This is implemented in the multigraph 200 in such a way that a directional connection 212 is set up three times from the first function module 210 to the second function module 220, where the category “calls” is still assigned to these connections 212.
Weiterhin wird vom ersten Funktionsbaustein 210 einmal der Datenbaustein 230 referenziert, was mit einer gerichteten Verbindung 214 zwischen diesen beiden Knoten 210, 230 im Mul tigraphen 200 dargestellt wird. Diese Verbindung 214 wird die Eigenschaft „referenziert" zugewiesen. Auch der zweite Funk tionsbaustein 220 referenziert den Datenbaustein 230, wobei der zweite Funktionsbaustein 220 im Rahmen seines Ablaufs den Datenbaustein 230 zweimal referenziert. Dies wird durch zwei gerichtete Verbindungen 222 zwischen dem zweiten Funktions baustein 220 und dem Datenbaustein 230 im Multigraphen 200 implementiert. Furthermore, the data module 230 is referenced once by the first function module 210, which is represented by a directional connection 214 between these two nodes 210, 230 in the multigraph 200. This connection 214 is assigned the property “referenced”. The second function module 220 also references the data module 230, the second function module 220 referencing the data module 230 twice as part of its sequence and the data block 230 implemented in the multigraph 200.
Auf entsprechende Weise wird im Multigraphen 200 angelegt, dass der vierte Funktionsbaustein „FB4" 250 den ersten Funk tionsbaustein „FBI" 210 aufruft, indem eine entsprechend ge richtete Verbindung 254 zwischen den entsprechenden Knoten 250, 210 mit der Kategorie „ruft auf" angelegt wird. Auf die gleiche Weise wird im Multigraphen 200 angelegt, dass im Rah men des Ablaufs des vierten Funktionsbausteins „FB4" 250 dreimal der dritte Funktionsbaustein „FB3" 240 aufgerufen wird, was wiederum als drei parallele gerichtete Verbindungen 252 zwischen den entsprechenden Knoten 240, 250 im Multigra phen 200 implementiert wird. Diesen gerichteten Verbindungen 252 wird in entsprechender Weise wiederum die Kategorie „ruft auf" zugewiesen. In a corresponding manner, it is created in the multigraph 200 that the fourth function block “FB4” 250 calls the first function block “FBI” 210 by creating a correspondingly directed connection 254 between the corresponding nodes 250, 210 with the category “calls” In the same way, it is created in the multigraph 200 that the third function block “FB3” 240 is called three times during the course of the fourth function block “FB4” 250, which in turn takes the form of three parallel connections 252 between the corresponding nodes 240, 250 is implemented in the Multigra phen 200. These directed connections The category “calls” is again assigned to 252 in a corresponding manner.
Bei den in Figur 3 dargestellten Verbindungen 212, 214, 222, 252, 254 zwischen den jeweiligen Knoten 210, 220, 230, 240, 350) im Multigraphen 200 sind aus Gründen der Übersichtlich keit nicht immer alle der Verbindungen mit dem entsprechenden Bezugszeichen versehen. In the case of the connections 212, 214, 222, 252, 254 between the respective nodes 210, 220, 230, 240, 350) in the multigraph 200 shown in FIG. 3, not all of the connections are always provided with the corresponding reference symbols for reasons of clarity.
Im oberen rechten Teil von Figur 3 ist ein geclusterter Mul tigraph 202 dargestellt, welcher aus dem oben links darge stellten Multigraphen 200 nach Ausführung eines Clustering- schritts 140 (s. Fig. 1; in Fig. 3 symbolisiert durch einenIn the upper right part of FIG. 3, a clustered multigraph 202 is shown, which is made up of the multigraph 200 shown at the top left after execution of a clustering step 140 (see FIG. 1; symbolized in FIG. 3 by a
Pfeil 140) gemäß der vorliegenden Beschreibung hervorgeht.Arrow 140) emerges according to the present description.
Das Clustering war im vorliegenden Fall beispielsweise derart ausgebildet und eingerichtet, dass eine logische bzw. resul tierende Verbindung zwischen zwei Knoten des Multigraphen 200 umso stärker gewichtet wurde, je mehr Verbindungen zwischen diesen zwei Knoten existieren. Wie im Rahmen der vorliegenden Beschreibung bereits an anderer Stelle schon genannt, entste hen bei einer solchen Vorgehensweise des Clusterings vorzugs weise Cluster, welche insbesondere speziellen Funktionalitä ten einer Vorrichtung oder Anlage zugeordnet werden können. In the present case, the clustering was designed and set up, for example, in such a way that a logical or resulting connection between two nodes of the multigraph 200 was weighted more heavily the more connections exist between these two nodes. As already mentioned elsewhere in the context of the present description, such a clustering procedure preferably produces clusters that can be assigned to special functionalities of a device or system.
Durch den Clusteringschritt 140, welcher in Figur 3 mit einem Pfeil 140 zwischen dem Multigraphen 200 und dem geclusterten Multigraphen 202 symbolisiert ist, wurden im geclusterten Multigraphen 202 zwei Cluster 280, 290 identifiziert, welche in Figur drei mit „Skill 1 290 und „Skill 2 280 und durch entsprechende gestrichelte Rahmen gekennzeichnet sind. As a result of the clustering step 140, which is symbolized in FIG. 3 with an arrow 140 between the multigraph 200 and the clustered multigraph 202, two clusters 280, 290 were identified in the clustered multigraph 202, which in FIG 280 and are indicated by corresponding dashed frames.
Weiterhin sind in Figur 3 unten rechts zwei Skill-Datenmodule 380, 390 dargestellt, wobei jedes der Skill-Datenmodule 380, 390 jeweils das Ergebnis einer Anwendung der abschließenden zwei Verfahrensschritte 150, 160 gemäß Figur 1 sind. Dies ist in Figur 3 durch einen mit „150+160" bezeichneten Pfeil sym bolisiert. Dabei wird im Rahmen dieser zwei Verfahrens schritte 150, 160 einer der Subgraphen 280, 290 des geclus- terten Multigraphen 202 jeweils ausgewählt (Verfahrensschritt „Auswahl Sub-Graph" 150) und daraus das entsprechende Skill- Datenmodul 380, 390 erzeugt (Verfahrensschritt „Erstellen Selbstbeschreibungs-Datenmodul" 160), welches ein Beispiel für ein Selbstbeschreibungs-Datenmodul gemäß der vorliegenden Beschreibung ist. Furthermore, two skill data modules 380, 390 are shown in FIG. 3 at the bottom right, each of the skill data modules 380, 390 each being the result of an application of the final two method steps 150, 160 according to FIG. This is symbolized in FIG. 3 by an arrow labeled “150 + 160”. In the context of these two process steps 150, 160, one of the subgraphs 280, 290 of the clustered multigraph 202 is selected in each case (process step “Select sub-graph "150) and the corresponding skill data module 380, 390 is generated therefrom (method step" Create self-description data module "160), which is an example of a self-description data module according to the present description.
Im Rahmen der Erzeugung des ersten Skill-Datenmoduls 380 aus dem mit "Skill 1 bezeichneten ersten Cluster 290 wurde eine Skill-Beschreibungsdatei 382 für das erste Skill-Datenmodul 380 erzeugt. Diese Skill-Beschreibung 382 enthält eine Be schreibung einer Funktionalität, welche dem ersten Skill-Da tenmodul 380 zugeordnet ist. Eine solche Skill-Beschreibung kann beispielsweise automatisiert oder auch teilautomatisiert erzeugt werden. Dies kann erfolgen, indem beispielsweise Kom mentare, Beschreibungen oder weitere Meta-Informationen zu den Funktions- und Datenbausteinen 210, 220, 230 und/oder zu den entsprechenden Beziehungs-Informationen 212, 214, 222 im ersten Skill-Datenmodul 380 ausgewertet werden. Dabei werden diese Meta-Informationen z.B. nach Begriffen, Beschreibungen und/oder Bezügen durchsucht, die z.B. einer bestimmten Funk tionalität und/oder einer bestimmten Komponente zugeordnet werden können. As part of the generation of the first skill data module 380 from the first cluster 290 labeled “Skill 1”, a skill description file 382 was generated for the first skill data module 380. This skill description 382 contains a description of a functionality that corresponds to the first Skill data module 380 is assigned. Such a skill description can, for example, be generated automatically or also partially automatically. This can be done by adding, for example, comments, descriptions or further meta-information to the function and data blocks 210, 220, 230 and / or to the corresponding relationship information 212, 214, 222 in the first skill data module 380. This meta information is searched, for example, for terms, descriptions and / or references, for example, a certain functionality and / or a certain component can be assigned.
Aus solchen übereinstimmenden Beschreibungs- oder Meta-Infor mationen kann dann beispielsweise automatisiert eine Skillbe- schreibung 382 für das erste Skill-Datenmodul 380 erzeugt werden. Weiterhin können in einem alternativen teilautomati sierten Modus entsprechende Vorschläge für eine solche Skill- Beschreibung 382 an einen Benutzer ausgegeben werden. Dieser kann dann nachfolgend beispielsweise eine der Vorschläge aus wählen, wonach dann eine entsprechende Skill-Beschreibung 382 erzeugt wird. Weiterhin kann ein Benutzer auch manuell die Skill-Beschreibung 382 erzeugen. A skill description 382 for the first skill data module 380 can then be generated automatically, for example, from such matching description or meta information. Furthermore, in an alternative, partially automated mode, appropriate suggestions for such a skill description 382 can be output to a user. This can then subsequently select one of the suggestions, for example, after which a corresponding skill description 382 is then generated. Furthermore, a user can also manually generate the skill description 382.
Das erste Skill-Datenmodul 380 umfasst weiterhin eine Zusatz- informations-Datei 384 bezüglich der im ersten Skill-Datenmo dul 380 enthaltenen Engineering-Elemente 210, 220, 230 sowie zu den diesen zugeordneten Beziehungsinformationen 212, 214, 222. Solche Informationen können beispielsweise Beschreibun gen, Kommentaren, Anleitungen oder vergleichbaren Meta-Infor mationen bzw. Meta-Information-Quellen zu den entsprechend genannten Elementen entnommen werden. Die Zusatzinformations- Datei 384 kann beispielsweise als eine Datenbank gemäß der vorliegenden Beschreibung ausgebildet und eingerichtet sein. Sowohl die Skill-Beschreibungsdatei 382 als auch die Zusatz informations-Datei 384 des ersten Skill-Datenmoduls 380 kön nen dabei Teil einer Inhaltsbeschreibungs-Datei gemäß der vorliegenden Beschreibung sein oder eine solche Inhaltsbe schreibungs-Datei bilden. The first skill data module 380 furthermore includes an additional information file 384 with regard to the engineering elements 210, 220, 230 contained in the first skill data module 380 and the related information 212, 214, 222 assigned to them. Such information can, for example, be descriptions genes, comments, instructions or comparable meta-information or meta-information sources for the correspondingly named elements. The additional information file 384 can be designed and set up, for example, as a database in accordance with the present description. Both the skill description file 382 and the additional information file 384 of the first skill data module 380 can be part of a content description file according to the present description or form such a content description file.
Auf vergleichbare Weise ist dem zweiten Skill-Datenmodul 390 ebenfalls eine entsprechende Skill-Beschreibungsdatei 392 so wie eine entsprechende Zusatzinformations-Datei 394 zugeord net. Die genannten Dateien können dabei beispielsweise analog der o.g. Beschreibung bezüglich der Skill-Beschreibungsdatei 382 und der Zusatzinformations-Datei 384 des ersten Skill-Da tenmoduls 380 erzeugt werden. Auch die Skill-Beschreibungsda tei 392 und/oder die Zusatzinformation-Datei 394 können Teil einer Inhaltsbeschreibung-Datei gemäß der vorliegenden Be schreibung sein oder jeweils oder gemeinsam eine solche bil den. Dabei können beispielsweise die Skill-Beschreibungsdateien 382, 392 eine eindeutige Kennung für das jeweilige Skill-Da- tenmodul 380, 390 umfassen, anhand der beispielsweise ein Skill-Datenmodul 380, 390 aufgerufen und/oder ausgewählt wer den kann. So kann beispielsweise in dem Fall, in welchem all gemein ein Skill-Datenmodul als ablauffähige Programmcode ausgebildet und eingerichtet ist und/oder einen solchen ab lauffähigen Programmcode umfasst, dieser Programmcode anhand einer diesem Skill-Datenmodul zugeordneten eindeutigen Ken nung aufgerufen werden und/oder ein Ablauf dieses Programm codes ausgelöst werden. Weiterhin kann anhand der eindeutigen Kennung auch ein entsprechendes Skill-Datenmodul, welchem diese Kennung zugeordnet ist, aus einer Datenbank aufgerufen und beispielsweise in ein Engineering-Projekt geladen werden. In a comparable manner, the second skill data module 390 is also assigned a corresponding skill description file 392 and a corresponding additional information file 394. The files mentioned can be generated, for example, analogously to the above description with regard to the skill description file 382 and the additional information file 384 of the first skill data module 380. The skill description file 392 and / or the additional information file 394 can also be part of a content description file in accordance with the present description or each or together form such a file. For example, the skill description files 382, 392 can include a unique identifier for the respective skill data module 380, 390, on the basis of which, for example, a skill data module 380, 390 can be called up and / or selected. For example, in the case in which a skill data module is generally designed and set up as executable program code and / or comprises such executable program code, this program code can be called up using a unique identifier assigned to this skill data module and / or a Expiry of this program codes are triggered. Furthermore, on the basis of the unique identifier, a corresponding skill data module, to which this identifier is assigned, can be called up from a database and loaded into an engineering project, for example.
Solche Skill-Beschreibungsdateien, wie beispielsweise die in Figur 3 dargestellten Skill-Beschreibungsdateien 382, 392, können weiterhin Parameter und/oder Parameterbeschreibungen umfassen, welche beispielsweise zum Ablauf einer dem entspre chenden Skill-Datenmodul zugeordneten Funktionalität erfor derlich sind. Solche Parameterbeschreibungen und/oder Parame ter können beispielsweise weiterhin physikalische Einheiten solcher Parameter und/oder Parameter-Grenzwerte für die ent sprechenden Parameter umfassen. So kann beispielsweise wei terhin ein als ablauffähige Programmcode ausgebildetes und eingerichtetes Skill-Datenmodul durch Übermittlung der zuge ordneten eindeutigen Kennung sowie der für den Ablauf erfor derlichen Parameter aufgerufen werden. Such skill description files, such as the skill description files 382, 392 shown in FIG. 3, can furthermore include parameters and / or parameter descriptions which are required, for example, to run a functionality assigned to the corresponding skill data module. Such parameter descriptions and / or parameters can, for example, also include physical units of such parameters and / or parameter limit values for the corresponding parameters. For example, a skill data module designed and set up as executable program code can still be called up by transmitting the assigned unique identifier and the parameters required for the execution.
Anhand der Zusatzinformation-Dateien 384, 394 können bei spielsweise einem Nutzer des entsprechenden Skill-Datenmoduls 380, 390 weitere Informationen zu den im jeweiligen Skill-Da tenmodul 380, 390 enthaltenen Engineering-Elementen zugäng lich gemacht werden. Solche Zusatz-Informationen können beispielsweise dazu verwendet werden, ein entsprechendes Skill-Datenmodul möglichst einfach in ein entsprechendes En gineering-Projekt zu integrieren oder auch ein entsprechendes Skill-Datenmodul zu modifizieren, zu ändern oder anzupassen. Using the additional information files 384, 394, further information on the engineering elements contained in the respective skill data module 380, 390 can be made accessible to a user of the corresponding skill data module 380, 390, for example. Such additional information can For example, they can be used to integrate a corresponding skill data module as simply as possible into a corresponding engineering project or also to modify, change or adapt a corresponding skill data module.
Die im in Figur 3 dargestellten Beispiel erzeugten Skill-Da- tenmodule 380, 390 können dann beispielsweise in einer Spei chereinrichtung einer den zugeordneten Engineeringdaten 100 zugeordneten Vorrichtung oder Anlage gespeichert werden. Wei- terhin können die Skill-Datenmodule 380, 390 auch in einer Speichereinrichtung eines Engineerings-Systems oder einer entsprechenden Datenbank abgespeichert werden, um beispiels weise dann bei der Erstellung eines neuen Engineering-Pro jekts oder Automatisierungs-Programms für eine weitere Vor- richtung oder Anlage verwendet zu werden. Dabei kann eineThe skill data modules 380, 390 generated in the example shown in FIG. 3 can then be stored, for example, in a storage device of a device or system assigned to the assigned engineering data 100. Furthermore, the skill data modules 380, 390 can also be stored in a storage device of an engineering system or a corresponding database, for example when creating a new engineering project or automation program for a further device or Plant to be used. A
Verwendung beispielsweise unmittelbar in der abgespeicherten Version erfolgen oder auch eine Anpassung des jeweiligen Skill-Datenmoduls 380, 390 vor der Integration in ein neues Automatisierungs-Projekt oder Automatisierungs-Programm er- folgen. They can be used, for example, directly in the stored version, or the respective skill data module 380, 390 can also be adapted before integration into a new automation project or automation program.

Claims

Patentansprüche Claims
1.) Verfahren zur Erzeugung eines Selbstbeschreibungs-Daten- moduls (380, 390) jeweils bezüglich mindestens einer Funktio nalität und/oder mindestens einer Komponente, einer Vorrich tung oder Anlage, wobei eine Datensammlung (100) umfassend Engineering-Elemente aus mindestens einer der drei nachfolgend aufgeführten Daten quellen vorliegt: 1.) A method for generating a self-description data module (380, 390) each with respect to at least one functionality and / or at least one component, a device or system, wherein a data collection (100) comprising engineering elements from at least one of the There are three data sources listed below:
- eine erste Datenquelle mit Automatisierungs-Engineeringda ten (110) bezüglich einer Automatisierung und/oder Automati sierungs-Planung der Anlage oder Vorrichtung oder Teilen da von, - A first data source with automation engineering data (110) relating to an automation and / or automation planning of the system or device or parts of it,
- eine zweite Datenquelle mit MCAD-Daten (120) bezüglich ei ner mechanischen und/oder räumlichen Planung der Vorrichtung oder Anlage oder Teilen davon, und/oder bezüglich einer me chanischen und/oder räumlichen Ausgestaltung der Vorrichtung oder Anlage oder Teilen davon, - A second data source with MCAD data (120) with regard to a mechanical and / or spatial planning of the device or system or parts thereof, and / or with regard to a mechanical and / or spatial configuration of the device or system or parts thereof,
- eine dritte Datenquelle mit ECAD-Daten (130) bezüglich ei ner elektrischen Planung und/oder Stromlaufplanung der Vor richtung oder Anlage oder Teilen davon, und/oder bezüglich einer elektrischen Ausgestaltung und/oder realisierten Strom laufplanung der Vorrichtung oder Anlage oder Teilen davon, das Verfahren umfassend die nachfolgenden Verfahrensschritte: a.) Ermitteln von Beziehungsinformationen (150), die jeweils Engineering-Elementen der Datensammlung (100) zugeordnet sind, b.) Erzeugen eines Multigraphen (200) umfassend Knoten (210, 220, 230, 240, 250) sowie Verbindungen (212, 214, 222, 252, 254) zwischen Knoten, wobei die Knoten jeweils Engineering- Elementen der Datensammlung zugeordnet sind und die Verbin dungen jeweils gemäß Verfahrensschritt a.) ermittelten Bezie hungsinformationen (150) zugeordnet sind, c.) Anwenden eines Clustering-Verfahrens auf den Multigraphen (200) zum Ermitteln von mindestens einem Sub-Graphen (280, 290) innerhalb des Multigraphen (200), d.) Auswahl eines Sub-Graphen (280, 290) aus dem in Verfahrensschritt c.) ermittelten mindestens einen Sub-Gra phen (280,290), e.) Erstellen eines Selbstbeschreibungs-Datenmoduls (380,- A third data source with ECAD data (130) relating to an electrical planning and / or circuit planning of the device or system or parts thereof, and / or relating to an electrical configuration and / or implemented current flow planning of the device or system or parts thereof, The method comprises the following method steps: a.) Determination of related information (150) which are respectively assigned to engineering elements of the data collection (100), b.) Generation of a multigraph (200) comprising nodes (210, 220, 230, 240, 250) and connections (212, 214, 222, 252, 254) between nodes, the nodes each being assigned to engineering elements of the data collection and the connections being assigned to the relationship information (150) determined in accordance with method step a.), c.) applying a clustering method to the multigraph (200) to determine at least one sub-graph (280, 290) within the multigraph (200), d.) selecting a sub-graph (280, 290) from the in Method step c.) Determined at least one sub-graph (280,290), e.) Creation of a self-description data module (380,
390) bezüglich einer Komponente und/oder einer Funktionalität der Vorrichtung oder Anlage, wobei das Selbstbeschreibungs- Datenmodul (380, 390) den ausgewählten Sub-Graphen (280, 290) und/oder im Sub-Graphen (280, 290) enthaltene Informationen umfasst. 390) with respect to a component and / or a functionality of the device or system, the self-description data module (380, 390) comprising the selected sub-graph (280, 290) and / or information contained in the sub-graph (280, 290) .
2.) Verfahren gemäß Anspruch 1, dadurch gekennzeichnet, dass im Rahmen von Verfahrensschritt e.) eine Inhaltsbe- schreibungs-Datei (382, 384, 392, 394) erzeugt wird, welche mindestens ein Beschreibungselement für die Funktionalität und/oder Komponente umfasst, auf die sich die im Selbstbe- schreibungs-Datenmodul (380, 390) gespeicherten Sub-Graphen- Daten bezieht. 2.) The method according to claim 1, characterized in that in the context of method step e.) A content description file (382, 384, 392, 394) is generated which comprises at least one description element for the functionality and / or component, to which the sub-graph data stored in the self-description data module (380, 390) relates.
3.) Verfahren nach einem der Ansprüche 1 und 2, dadurch gekennzeichnet, dass das im Rahmen von Verfahrensschritt e.) erzeugte Selbst- beschreibungs-Datenmodul (380, 390) als ein Skill-Datenmodul (380, 390) bezüglich einer Funktionalität der Vorrichtung o- der Anlage ausgebildet und eingerichtet ist. 3.) The method according to any one of claims 1 and 2, characterized in that the self-description data module (380, 390) generated as part of method step e.) As a skill data module (380, 390) with respect to a functionality of the device o- the system is trained and set up.
4.) Verfahren gemäß einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass das Verfahren weiterhin den nachfolgenden Verfahrens schritt umfasst: f.) Identifizieren von Beschreibungsinformationen bezüglich der dem ermittelten Selbstbeschreibungs-Datenmodul (380, 390) zugeordneten Engineering-Elemente innerhalb der Datensammlung (100) sowie innerhalb der ersten, zweiten und/oder dritten Datenquelle (110, 120, 130) und Speichern der identifizierten Beschreibungsinformationen im Selbstbeschreibungs-Datenmodul (380, 390). 4.) Method according to one of the preceding claims, characterized in that the method further comprises the following method step: f.) Identifying description information relating to the engineering elements assigned to the determined self-description data module (380, 390) within the data collection (100) and within the first, second and / or third data source (110, 120, 130) and storing the identified ones Description information in the self-description data module (380, 390).
5.) Verfahren gemäß einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass das Verfahren weiterhin den nachfolgenden Verfahrens schritt umfasst: g.) Identifizieren von Kontext-Informationen bezüglich der dem ermittelten Selbstbeschreibungs-Datenmodul (380, 390) zu geordneten Engineering-Elemente innerhalb weiterer Datenquel len und Speichern der identifizierten Kontext-Information im Selbstbeschreibungs-Datenmodul (380, 390). 5.) The method according to any one of the preceding claims, characterized in that the method further comprises the following method step: g.) Identifying context information relating to the determined self-description data module (380, 390) related to engineering elements within further Data sources and storing the identified context information in the self-description data module (380, 390).
6.) Verfahren nach Anspruch 4 oder 5, dadurch gekennzeichnet, dass die Speicherung der identifizierten Beschreibungsinfor mationen und/oder der identifizierten Kontext-Informationen im Selbstbeschreibungs-Datenmodul (380, 390) als semantische Datenbank erfolgt. 6.) The method according to claim 4 or 5, characterized in that the storage of the identified descriptive information and / or the identified context information in the self-description data module (380, 390) takes place as a semantic database.
7.) Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass das Selbstbeschreibungs-Datenmodul (380, 390) in einer Speichereinrichtung der Vorrichtung oder Anlage gespeichert wird, und/oder dass das Selbstbeschreibungs-Datenmodul (380, 390) in einem Engineeringsystem zum mechanischen, elektrischen und/oder Automatisierungs-Engineering gespeichert wird. 7.) The method according to any one of the preceding claims, characterized in that the self-description data module (380, 390) is stored in a storage device of the device or system, and / or that the self-description data module (380, 390) in an engineering system for mechanical, electrical and / or automation engineering is stored.
8.) Selbstbeschreibungs-Datenmodul für eine Vorrichtung oder Anlage, dadurch gekennzeichnet dass das Selbstbeschreibungs-Datenmodul (380, 390) unter Ver wendung eines Verfahrens gemäß einem der vorstehenden Ansprü che erstellt wurde. 8.) Self-description data module for a device or system, characterized in that the self-description data module (380, 390) was created using a method according to one of the preceding claims.
9.) Computerlesbares Speichermedium umfassend ein Selbstbe schreibungs-Datenmodul (380, 390) gemäß einem der vorstehen den Ansprüche. 9.) Computer-readable storage medium comprising a self-writing data module (380, 390) according to one of the preceding claims.
10.) Vorrichtung oder Anlage mit einer Speichereinrichtung, wobei die Speichereinrichtung ein Selbstbeschreibungs-Daten modul (380, 390) gemäß einem der Ansprüche 1 bis 8 umfasst. 10.) Device or system with a memory device, wherein the memory device comprises a self-description data module (380, 390) according to one of claims 1 to 8.
11.) Vorrichtung oder Anlage gemäß Anspruch 10, dadurch gekennzeichnet, dass das Selbstbeschreibungs-Datenmodul (380, 390) eine In haltsbeschreibung-Datei (382, 384, 392, 394) gemäß Anspruch 2 umfasst und/oder die Vorrichtung oder Anlage zur Erzeugung einer Inhaltsbeschreibung-Datei (382, 384, 392, 394) gemäß Anspruch 2 ausgebildet und eingerichtet ist, und dass weiterhin die Vorrichtung oder Anlage zur Kommunika tion der Inhaltsbeschreibung-Datei (382, 384, 392, 394) an eine externe Einrichtung ausgebildet und eingerichtet ist, und/oder dass die Vorrichtung oder Anlage zum Empfang eines Beschrei bungselements aus der Inhaltsbeschreibung-Datei (382, 384, 392, 394) bezüglich der Funktionalität der Vorrichtung oder Anlage und nachfolgend einem Aufruf, einer Ausgabe einer ent sprechenden Information bezüglich der Funktionalität oder Komponente und/oder einem Aufruf oder einer Ausführung der entsprechenden Funktionalität ausgebildet und eingerichtet ist. 11.) Device or system according to claim 10, characterized in that the self-description data module (380, 390) comprises a content description file (382, 384, 392, 394) according to claim 2 and / or the device or system for generating a content description file (382, 384, 392, 394) is designed and set up according to claim 2, and that the device or system for communicating the content description file (382, 384, 392, 394) to an external device is also designed and set up is set up, and / or that the device or system to receive a descriptive element from the content description file (382, 384, 392, 394) with regard to the functionality of the device or system and subsequently a call, an output of corresponding information with regard to the Functionality or component and / or a call or an execution of the corresponding functionality is designed and set up.
12.) Automatisierungs-Engineeringsystem mit einer Speicher einrichtung, wobei die Speichereinrichtung ein Selbstbeschreibungs-Daten- modul (380, 390) gemäß einem der Ansprüche 1 bis 8 umfasst. 12.) Automation engineering system with a memory device, wherein the memory device comprises a self-description data module (380, 390) according to one of claims 1 to 8.
EP19786450.7A 2019-09-24 2019-09-24 Method for generating self-description data modules Pending EP4007940A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2019/075598 WO2021058083A1 (en) 2019-09-24 2019-09-24 Method for generating self-description data modules

Publications (1)

Publication Number Publication Date
EP4007940A1 true EP4007940A1 (en) 2022-06-08

Family

ID=68210720

Family Applications (1)

Application Number Title Priority Date Filing Date
EP19786450.7A Pending EP4007940A1 (en) 2019-09-24 2019-09-24 Method for generating self-description data modules

Country Status (4)

Country Link
US (1) US20220342372A1 (en)
EP (1) EP4007940A1 (en)
CN (1) CN114450643A (en)
WO (1) WO2021058083A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3584751A1 (en) * 2018-06-20 2019-12-25 Siemens Aktiengesellschaft Method for creating a digital twin
EP4266170A1 (en) 2022-04-22 2023-10-25 Siemens Aktiengesellschaft Program code analysis method and computer system for analyzing program code

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2523482C (en) * 2003-05-12 2016-04-12 Aware, Inc. Telecommunication diagnostic information management
DE102011107321A1 (en) * 2011-07-06 2013-01-10 Abb Ag System and method for parameterizing field devices of an automation or control system
SG2012070017A (en) * 2012-09-20 2014-04-28 Rockwell Automation Asia Pacific Business Ctr Pte Ltd Systems, methods, and software for presenting parameter set(s) for industrial automation devices
US20140089421A1 (en) * 2012-09-25 2014-03-27 Deep River Ventures, Llc Methods, Systems, and Program Products for Sharing a Data Object in a Data Store Via a Communication
CN103164228B (en) * 2013-03-29 2015-12-23 北京经纬恒润科技有限公司 A kind of generation method of field programmable gate array program and device
US20160116911A1 (en) * 2013-06-12 2016-04-28 Hitachi, Ltd. Assembly order generation device and assembly order generation method
CN204808712U (en) * 2015-07-16 2015-11-25 国网技术学院 Feeder automation emulation training system
DE102016201075A1 (en) 2016-01-26 2017-07-27 Wago Verwaltungsgesellschaft Mbh Module for a technical installation and system and method for carrying out a technical process
EP3364261B1 (en) * 2017-02-15 2020-01-01 ABB Schweiz AG Generation of partial plant topology data from plant operations data
CN107679478B (en) * 2017-09-27 2020-04-14 广州供电局有限公司 Method and system for extracting space load state of power transmission line
WO2019066979A1 (en) * 2017-09-30 2019-04-04 Siemens Aktiengesellschaft Engineering autonomous systems with reusable skills

Also Published As

Publication number Publication date
CN114450643A (en) 2022-05-06
WO2021058083A1 (en) 2021-04-01
US20220342372A1 (en) 2022-10-27

Similar Documents

Publication Publication Date Title
EP4010766A1 (en) Method for generating a digital twin of a system or device
EP1183619B1 (en) Situation-dependent operating semantic n-order network
EP3575890B1 (en) Assistance system for supporting planning of automation systems
EP1917611A2 (en) System for the computer-aided design of technical devices
DE10149693A1 (en) Objects in a computer system
EP2323083A1 (en) Technical classification system
WO2015185328A1 (en) Computer-implemented method and signal sequence for a program for reusing software configurations that can be executed for software systems, and computer system, and a computer program with program code for carrying out the method
CN101813938A (en) Use the method and apparatus of electronic description language script layoutprocedure control system
EP4007940A1 (en) Method for generating self-description data modules
WO2021104608A1 (en) Method for producing an engineering proposal for a device or plant
DE102023202593A1 (en) Method and system for recommending modules for an engineering project
DE102020215589A1 (en) CONTROLLING A DEEP-SEQUENCE MODEL WITH PROTOTYPES
WO2020126168A1 (en) Method for the cooperation of a plurality of devices of a local network
DE102023103743A1 (en) METHOD AND SYSTEM FOR PREDICTING A PROCESS SEQUENCE FOR A VEHICLE MANUFACTURING PROCESS
EP4268162A1 (en) Method and system for transforming a start object situation into a target object situation (intuitive tacit solution finding)
EP4224353A1 (en) Method for creating a virtual model of a component, computer system, computer program product
WO2020193294A1 (en) Method and device for compatibly controlling a device with a new program code
EP3907574A1 (en) Method for generating an explanation for a decision of a manufacturing control system
WO2002061615A2 (en) Computer system
EP0973091B1 (en) Method to generate a controllable and adaptable network of models of behaviour templates
WO2024094798A1 (en) Orchestrator-based research and development system, and method for operating same
DE102010043405A1 (en) Method and system for the planning of mechatronic systems with mechatronic units
EP3454233A1 (en) Method for finding technical solution elements for use in the construction of industrial products
DE102021126065A1 (en) Method and system for creating and applying a model when converting data
DE102023120439A1 (en) Automated configuration for plant controls

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20220302

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20230428