WO2021104608A1 - Verfahren zum erzeugen eines engineering-vorschlags für eine vorrichtung oder anlage - Google Patents

Verfahren zum erzeugen eines engineering-vorschlags für eine vorrichtung oder anlage Download PDF

Info

Publication number
WO2021104608A1
WO2021104608A1 PCT/EP2019/082550 EP2019082550W WO2021104608A1 WO 2021104608 A1 WO2021104608 A1 WO 2021104608A1 EP 2019082550 W EP2019082550 W EP 2019082550W WO 2021104608 A1 WO2021104608 A1 WO 2021104608A1
Authority
WO
WIPO (PCT)
Prior art keywords
engineering
database
data
designed
multigraph
Prior art date
Application number
PCT/EP2019/082550
Other languages
English (en)
French (fr)
Inventor
Brent HANNIMAN
Steffen Lamparter
Jens Meckel
Original Assignee
Siemens Aktiengesellschaft
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 Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Priority to PCT/EP2019/082550 priority Critical patent/WO2021104608A1/de
Publication of WO2021104608A1 publication Critical patent/WO2021104608A1/de

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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41885Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/18Network design, e.g. design based on topological or interconnect aspects of utility systems, piping, heating ventilation air conditioning [HVAC] or cabling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • 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/31From computer integrated manufacturing till monitoring
    • G05B2219/31342Design of process control system
    • 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/31From computer integrated manufacturing till monitoring
    • G05B2219/31343Design of factory, manufacturing system control
    • 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/32Operator till task planning
    • G05B2219/32085Layout of factory, facility, cell, production system planning
    • 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/35029Design of modular control system
    • 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 an engineering proposal for a device or system using an assistance module, a database relating to engineering rules and / or engineering work processes being stored in the assistance module, with engineering captured by means of an engineering system -Initial data relating to the device or system are available.
  • the publication WO 2019/040076 A1 discloses a method for providing a proposal for setting up an automation system using stored facts and rules relating to the automation system.
  • the facts and rules are entered by users and background information on this automation system is extracted.
  • a set of actions is then generated on the basis of these facts and rules, which can then be carried out by the automation system.
  • Such a method is designed and set up for the method of generating an engineering proposal for a device or system using an assistance module, a database relating to engineering rules and / or engineering work processes being stored in the assistance module.
  • initial engineering data relating to the device or installation including at least one engineering element, recorded by means of an engineering system are available.
  • the method comprises the following process steps: a.) Storage of the initial engineering data including the at least one engineering element, b.) Determination of related information which is each assigned to the at least one engineering element of the initial engineering data, c.) Generating a multigraph comprising nodes and connections between nodes, each node being assigned to one of the at least one engineering element of the engineering initial data and the connections being assigned to relationship information determined according to method step b.), D.) Generating the engineering - Proposal using the multigraph and the database stored in the assistance module.
  • the heterogeneity of automation data is a major challenge, especially when it comes to automated evaluation or processing of such data.
  • an evaluation or processing of such engineering data is necessary.
  • Drawing information relating to this data can be determined, which, for example, establish logical and structural connections between individual engineering data. It is also advantageous that a multigraph is created using this relationship information, which is a very efficient way of structuring, recording and making available the very heterogeneous engineering data.
  • the engineering proposal can be designed and directed in such a way that it is suitable for use in an engineering system for engineering a device or installation. It can for example be designed and set up in such a way that it can either be used directly by such a system or can be converted into a data format corresponding to this system.
  • such an engineering proposal can be designed and set up as a template for an engineering project. Such a template can then, for example, be further processed by a user and, if necessary, adapted even better to the existing device or system.
  • the engineering proposal can also propose one or more next work steps for the engineering of a device or system to a user of the engineering system or introduce such proposals in the engineering system. For example, provision can be made for a user to carry out one or more work steps in such an engineering system or to enter corresponding data for engineering a device or system. The above-mentioned method is then carried out on the basis of this initial data and a corresponding engineering proposal is generated. This is then fed back to the engineering system in order to provide the user, for example, with a corresponding engineering template or engineering proposals.
  • a conversion step for converting the multigraph into a standardized data format is provided or the multigraph is converted into a standardized data format prior to the execution of the aforementioned process step d.) Or within the scope of the execution of this process step d.) .
  • the standardized data format can be designed and set up, for example, as a standardized data format for exchanging the data with other devices.
  • Standardized data formats are those data formats for which a description of the data format is or will be published.
  • a standardized data format can also be designed and set up as a standardized database format, e.g. a relational database, a non-relational database, a so-called semantic database format and / or a so-called NoSQL format.
  • a standardized data format can also be designed and set up as a knowledge graph data format.
  • Such a standardized data format can be, for example, the so-called “Resource Description Framework” (RDF) and the corresponding schema definition language “RDF (S) / OWL”.
  • the conversion into the standardized data format can include, for example, the conversion of the multigraph into the above-mentioned RDF format using the correspondingly corresponding schema definition language “RDF (S) / OWL”.
  • a database can be designed and set up, for example, as a relational database, a non-relational database, a semantic database and / or a NoSQL database and which contain the corresponding database formats.
  • a semantic database can be, for example, a database in which the stored information can be determined by means of semantic search operations.
  • the semantic database format can be present, for example, in a so-called NoSQL database format or also in the so-called knowledge graph data format.
  • semantic database can also include other parts that are not in any of the database formats mentioned above.
  • NoSQL databases are understood to mean databases which pursue the above-mentioned non-relational approach.
  • NoSQL databases in particular are understood to mean document, graph, object, attribute-value pairs and / or column-oriented databases - As a rule, they do not have a fixed table scheme and try to avoid so-called "joins".
  • 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 Database be stored or the semantic database can include databases of this type.
  • 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 The system can include, for example, one or more components, drives, sensors, machines, devices, communication devices or the like.
  • An engineering system can be designed and set up very generally, for example, for mechanical and / or electrical design, layout, setup, processing and / or simulation of a device or system. Furthermore, or in addition, an engineering system can also be designed and set up for designing, interpreting, setting up, processing, simulating and / or realizing an automation system for a device or system.
  • the engineering system can, for example, be used as:
  • MCAD system A mechanical engineering system for designing, creating and / or setting up mechanical planning or mechanical planning data for the device or system, and / or
  • ECAD system An electrical engineering system (ECAD system) for designing, interpreting, creating and / or setting up electrical planning or electrical planning data for the device or system can be designed and set up.
  • the engineering proposal generated within the scope of a method according to the present description is generated in the data format of an engineering project for an engineering system or is converted into such a data format.
  • An automation engineering system can be designed, for example, as a computer system with suitable software and be set up, which is designed and set up to generate automation engineering data for a specific system or device.
  • Such automation engineering data are, for example, data such as are created and / or provided for automation and / or control of the system or device. This includes, for example, that by means of such an automation engineering system, for example, appropriate control programs can be created and the components of the system or device and also the appropriate controls can be parameterized 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 initial engineering data relating to the device or system can be designed and set up quite generally as engineering data in accordance with the present description.
  • Engineering data relating to the device or system can be, for example, automation engineering data, mechanical planning data, electrical planning data, robot planning data, description data and / or comparable data relating to the engineering of a device or system.
  • engineering data are composed at least among other things of engineering elements.
  • engineering elements are understood to mean all data, modules, software elements, graphic representations, images, or comparable elements that are required for engineering the device or system, for example using the automation engineering data, the mechanical Planning data as well as the electrical planning data are used or can be used.
  • the engineering elements can, for example, be taken directly from corresponding data sources according to the present description. Furthermore, engineering elements can also be taken from images and / or graphic representations present in the respective data collection, for example via optical pattern recognition and / or optical character recognition. Such images and / or graphic representations can be, for example, product drawings, construction drawings, circuit diagrams, exploded views or comparable images or graphic representations.
  • Mechanical data or MCAD data can, for example, be engineering elements that are assigned or assignable to the following data categories: piece, part or component lists, 3D geometries, kinematic information, point-cloud information, names / designations / meta -Information on mechanical components or parts, related information to various mechanical components or parts (e.g. name, designation and / or number of other components connected to a certain part as well as, for example, the type and design of such connections) and / or image data to correspond relevant mechanical components or parts thereof.
  • Electrical planning data or ECAD data can, for example, be engineering elements that are assigned or assignable to the following data categories: Function descriptions, location information, reference numbers for products, parts lists or parts lists, scheme Table drawings, circuit diagrams, images, names, designations or the 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 .
  • Macros information on dynamic behavior
  • Relationship information can, for example, be parent-child relationships or usage information relating to program modules, program components and / or program or program modules. Be component instances.
  • Program component instances can be such relationship information.
  • relationship information can also be taken from additional information or metadata on one or more of the engineering elements used.
  • Additional information on individual or groups of the engineering elements which can also be referred to as meta-data or meta-information on these engineering elements, can include, for example, names, ordered functional classes, collective terms, type descriptions, units, physical units, comments, descriptions , physical units, relationship descriptions to other data, functionalities, authors, authorizations, belonging to components and / or functionalities or comparable information.
  • Relationship information can, for example, also continue to be taken from cross-referencing or material flow information.
  • Relationship information can be directed or misdirected.
  • Directed relationship information can be for example, can be symbolized by an arrow which, for example, can symbolize relationship information such as “is called by”, “belongs to” or similar relationships.
  • Non-directional 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 multigraph.
  • the identification or the determination of the relationship information can be done, for example, 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.
  • relationship information can be determined, for example, on the basis of meta information on certain automation engineering data or comments on such data. 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 agreement of parts of names of different data elements of the same category.
  • a graph is understood to be a mathematical construct which is made up of so-called “nodes” and so-called “edges” that connect two nodes.
  • a graphic representation of such graphs can, for example, be 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 also be connected via more than one edge, for example two or more 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 has a logical direction assigned.
  • 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 data structure which also realizes or contains the information contained in a multigraph.
  • a graph or multigraph can be designed and set up, for example, as a so-called “knowledge graph”.
  • Knowledge graphs can, for example, be graphs or multigraphs within which knowledge, information and / or corresponding meta-information are linked and / or arranged in a graph-typical manner.
  • a multigraph according to the present description can be designed and set up as a “knowledge graph”.
  • a multigraph in the sense of the present invention can for example be designed and set up in such a way that the nodes of such a multigraph correspond, for example, to various engineering elements, ie each node of the multigraph corresponds to an engineering element of the data collection.
  • the edges of the multigraph are determined by relational information between the respective engineers.
  • ring elements are formed, that is, an edge or connection between two nodes of the multigraph corresponds in each case to relationship information between the two nodes corresponding to the engineering elements.
  • Such relationship information which can be represented as a corresponding connection between two nodes, can, for example, be call information or referencing information between software modules that are assigned to the respective nodes.
  • a node that represents a specific engineering element can be assigned an associated category designation, workflow information, a name or a property, or a physical unit associated with this engineering element.
  • 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, belong to the same data category or have other comparable similarity properties.
  • a so-called "weighting" can be assigned to an edge or connection between two nodes.
  • a weighting can, for example, be a strength and / or relevance of the relationship between the two engineering assigned to the node, corresponding to this connection
  • Connections or edges between nodes can be weighted differently depending, for example, on their category.For example, call information can be weighted more heavily than the association with a certain category or physical unit. Directed information can also be evaluated 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 take place in such a way that relationships between a software component and a mechanical part are evaluated as the most important connection in the context of a corresponding multigraph.
  • clusters or results can preferably arise in which engineering elements which have a relationship to a certain mechanical part are weighted particularly strongly as they belong together.
  • the number of calls between software components can be evaluated in such a way that a higher number of calls corresponds to a higher weighting of a connection assigned to these calls between the nodes corresponding to the respective software components.
  • clusters or results can be formed in which engineering elements with comparable functionality are particularly heavily weighted.
  • calling information and / or referencing information can also be weighted more heavily than belonging to a specific category or physical unit.
  • Directed information can also be evaluated differently than non-directional relationships, for example.
  • weighting categories mentioned above can also be combined with one another as desired.
  • all of the relationships between two nodes could then be subsumed, added up and / or combined into a single weighted connection between these two nodes, for example, taking into account their respective weightings.
  • node and “engineering elements” are used synonymously in this context.
  • the terms “relationship between nodes”, “relationship information between nodes”, “edge between nodes”, “relationship between engineering elements”, “relationship information between engineering elements” and comparable terms are used in the present context Description used synonymously.
  • the assistance module can comprise, for example, one or more databases. These databases can be used, for example, in the context of generating the engineering proposal.
  • the assistance module can also include software which is designed and set up to generate an engineering proposal in accordance with the present description.
  • software can be designed and set up, for example, in particular for generating an engineering proposal according to feature d.) In the present description.
  • the assistance module can also include software that includes a user interface for a user, which can be designed and set up, for example, in such a way that the engineering proposal is or can be generated with the assistance of a user. Such cooperation can consist, for example, in the selection of one or more options from a selection of options and / or the input of additional information.
  • the assistance module can be designed and set up with software for setting up, changing and / or querying one or more databases stored in the assistance module. In the case of databases in which the result of a machine learning process is stored (eg a neural network, a decision tree, a "support vector machine” or comparable databases), such software can also continue to be used, for example, to train the corresponding data database be trained and set up.
  • the database stored in the assistance module can include, for example, so-called engineering rules or processes, which can include a sequence of engineering steps, a structure of various engineering projects and / or naming conventions for engineering elements and / or engineering data.
  • the database stored in the assistance module can also include so-called "templates", which can include engineering projects, for example for frequently recurring applications.
  • templates can be, for example, complete engineering projects or also frameworks for engineering projects that include essential elements of such a project but can or must be further developed, improved and / or expanded by a user.
  • the stored database can, for example, be designed and set up as a relational database or a non-relational database, for example a so-called NoSQL database.
  • 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.
  • semantic database can also include other parts that are not in any of the database formats mentioned above.
  • 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.
  • 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 Database be stored or the semantic database can include databases of this type.
  • the database can be designed and set up to store a result of a machine learning method.
  • the database can be designed and set up, for example, as one or more neural networks, decision trees, "support vector machines” or the like or comprise such elements.
  • Electronically storable or stored results of machine learning methods are used in the context of Men of the present description are referred to as so-called "ML models”.
  • the engineering proposal can be generated in such a way that the information stored in the multigraph, or parts of it, are used for a search in the database stored in the assistance module, the result of the search then forming the engineering proposal, for example can or can be the basis for an engineering proposal according to the present description.
  • the database is designed as a relational or non-relational database
  • information stored in the multi graph can be used to create a search query or a search query for the database and the result of the search can then be used to create the engine.
  • Suggestion can be used.
  • the database is designed as an ML model
  • the information stored in the multi graph, or parts thereof, can be applied to the ML model and the result of this application can then be used to create the engineering proposal.
  • the multigraph can be stored in a standard database format for corresponding multigraphs, so that a corresponding search query or a corresponding search query can be derived therefrom in a simplified manner.
  • the engineering proposal can be generated in such a way that first inputs for a new engineering project for a device or system are made with an engineering system, which then initial engineering data according to of the present description.
  • initial data can be, for example, a purpose or area of application of a system or device, one or more essential technical components or parts of the system or device or one or more essential components, modules and / or function blocks of a corresponding control program.
  • a corresponding multi graph is then built up according to the present description, which is then used to create a search query for the database stored in the assistance module.
  • a proposal based on these inputs can then be output as to how the next steps for the further creation of the engineering project could be designed and set up.
  • This proposal then forms a possible engineering proposal according to the present description.
  • a template for an engineering project can be selected that is as good as possible for the engine ring initial data fits or includes or approximates them if possible. In this case, such a selected template would then also be an engineering proposal according to the present description.
  • an input vector or appropriately processed input data for the ML model can be created, for example, on the basis of the created multigraph, which is then transferred to the ML -Model to be applied.
  • Such an input vector or the processed input data can result from the search query mentioned above. speak.
  • the ML model can also be designed and set up in such a way that the multigraph, or parts thereof, can be applied directly to the ML model as input data.
  • the multigraph, or the parts of it can be converted into a standard data format or be available in such a format.
  • the result of such an application of the multigraph to the ML model can in turn represent, for example, a proposal for one or more next steps in the creation of an engineering project or also a complete project proposal for an engineering project.
  • the project proposal can be, for example, a so-called template or a project framework, which can subsequently be improved, refined and / or corrected by a user, for example.
  • a second data source with MCAD data 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,
  • a third data source with ECAD data with regard 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 automation engineering data, the MCAD data, the ECAD data and / or the data sources as a whole can be designed and set up in accordance with the present description.
  • the method can be designed and set up in such a way that a further database relating to engineering rules and / or engineering work processes is also stored in the assistance module, and that, as part of method step d.),
  • the engineering proposal is generated using the multigraph as well as the database stored in the assistance module and the additional database stored in the assistance module.
  • the further database can be designed and set up as a database in accordance with the present description.
  • the use of two databases within the assistance module further improves the possibilities of using the assistance system in which, for example, a database that is more suitable for certain initial engineering data is used to create the engineering proposal.
  • the method can also be designed and set up in such a way that method step d.) Is designed and set up in such a way that a first engineering proposal using the multigraph and the database stored in the assistance module, and a second engineering proposal using the Mul tigraphs and the other database stored in the assistance module is generated, and then the engineering proposal is generated using the first and second engineering proposal.
  • the database and the further database in the assistance module can be designed and set up, for example, in such a way that one of the two databases is designed and set up as a rule process database and the other of the databases is designed and set up as an ML model.
  • both a first proposal can be created based on the rule sequence database and a second proposal based on the ML model and then both results can be consolidated into a final engineering proposal in a further step .
  • Such a consolidation can take place, for example, in such a way that matching components of the first and second proposal are selected as an engineering proposal.
  • weighting values or probability values can also be generated and / or output as part of the determination of the first and second engineering proposal, on the basis of which, for example, it can be determined how relevant or clearly defined are correct components of the first and / or second engineering proposal for the recorded initial engineering data.
  • those elements of the first and second proposal can be selected which have a weighting or a probability value above a certain predetermined or predeterminable threshold value or which in the relative comparison of the first and second proposal each have the higher weighting or probability value. Have probability values.
  • the engineering initial data can be applied to the database and the further database and an engineering proposal can be created on the basis of each of these databases.
  • one of the suggestions can then be selected as an engineering suggestion, for example in an automated manner or through a corresponding user input.
  • an automated selection can take place, for example, in such a way that that one of the engineering proposals is selected which comes closer to the engineering initial data or comprises more thereof.
  • the database and the further database can be designed and set up, for example, in such a way that one of the two databases is designed and set up to output an engineering proposal, which suggests the next steps for the creation of an engineering project on the basis of the engineering initial data, while the other of the databases is designed and set up for outputting a template for an engineering project in accordance with the present description.
  • one of the two engineering proposals can be selected automatically, partially or manually.
  • both of the suggestions can also be used, for example by providing a user with suggestions for further information on the basis of the template. processing of the template or the next processing steps for processing the template.
  • the database and the further database can be designed and set up, for example, in such a way that one of the two databases is designed as a relational or non-relational database or includes one, while the other database is designed as an ML model or such includes.
  • Such a configuration has the advantage, for example, that both rule-based and experience-based engineering proposals can be developed and then, for example, either one of the two proposals can be selected or both proposals can also be combined into a single engineering proposal.
  • the method can furthermore be designed and set up, for example, in such a way that the database (320) is designed and set up as a rule sequence database (320) or as an ML model (330) generated by using a machine learning method, and / or that the further database (330) is designed and set up as a rule sequence database (320) or as an ML model (330) generated using a machine learning method.
  • a rule in the context of the present description is understood to mean, for example, a guide, such as an au- automation system or a certain aspect of an automation system, for example, designed or set up for a certain problem.
  • Such rules can relate to or include, for example, programming standards, naming, for example, for variables and / or device names or, for example, also rules for allocating communication addresses or corresponding address names.
  • an engineering workflow or workflow is understood to mean a sequence of engineering steps that are required to achieve a specific engineering result.
  • a template is understood to mean, for example, a form, a file or a similar data collection that can be or is used as a template, e.g. for an engineering project.
  • Such templates or templates can, for example, be designed and set up as so-called “wizards" that request information from a user according to a predefined or predefinable scheme that is necessary, for example, for creating a specific engineering project - and possibly such Engineering project created immediately afterwards.
  • Such templates or templates can, for example, continue to, or alternatively, also be designed as a draft for an engineering project, with further user inputs being able to be entered or entered in order to adapt the draft to a specific problem, specific devices, systems or devices and / or adapt a specific automation theme.
  • Corresponding templates can also be complete automation projects or even frameworks for automation projects or partially completed engineering projects.
  • the rules, workflows or templates mentioned can, for example, be predefined manually, e.g. by domain experts, and serve for the automatic instantiation of a new automation project (e.g. in a corresponding engineering system).
  • a new automation project e.g. in a corresponding engineering system.
  • an engineering system can be provided which is based on such rules, workflows and templates in order to partially automate the engineering process.
  • a rule process database can for example be formed and set up as a data collection of engineering rules and / or engineering work processes, e.g. according to the present description.
  • the rule sequence database can be designed and set up as a relational database, e.g. in accordance with the present description. Furthermore, the rule sequence database can also be designed and set up as a non-relational database or a so-called NoSQL database, e.g. in accordance with the present description. The rule sequence database can furthermore generally be designed and set up as a database in accordance with the present description.
  • machine learning processes are, for example, regression algorithms (eg linear regression algorithms), generation or optimization of decision trees (so-called “decision trees”), learning processes for neural networks, clustering processes (eg so-called “k-means clustering") "), Learning processes for or generation of support vector machines (“ Support Vector Machines “(SVM)), learning processes for or generation of sequential decision models or learning processes for or generation of Bayesian models or networks.
  • regression algorithms eg linear regression algorithms
  • generation or optimization of decision trees eg. linear regression algorithms
  • learning processes for neural networks clustering processes (eg so-called “k-means clustering") ")
  • Learning processes for or generation of support vector machines (“ Support Vector Machines "(SVM)
  • SVM Support Vector Machines
  • machine learning model represents the digitally saved or storable result of the application of a machine learning algorithm or learning process to the data to be analyzed.
  • the generation of the ML model can be designed and set up in such a way that the ML model is newly formed through the application of the machine learning method or an already existing ML model is changed or adapted through the application of the machine learning method.
  • ML models examples include results of regression alogrithms (eg a linear regression algorithm), neural networks (“Neural Networks”), decision trees (“Decision Tree”), the results of clustering processes (including, for example, the obtained Clusters or cluster categories, definitions and / or parameters), support vector machines (“Support Vector Ma- chines "(SVM)), sequential decision models or Bayesian models or networks.
  • Neural networks can include so-called “Deep Neural Networks”, “Feed Forward Neural Networks”, “Recurrent Neural Networks”; “Convolutional Neural Networks” or “Autoencoder Neural Networks”.
  • the application of corresponding machine learning methods to neural networks is often also referred to as “training” the corresponding neural network.
  • Decision trees can be designed and set up, for example, as so-called “iterative dichotomizers 3 (ID3), classification or regression trees (CART) or also so-called” random forests ".
  • ID3 iterative dichotomizers 3
  • CART classification or regression trees
  • random forests random forests
  • Clusters are understood to be groups of similar data points or data groups that are formed by a cluster analysis.
  • the clusters can be identified or generated, for example, by applying a corresponding clustering, clustering method or clustering algorithm to the data to be analyzed.
  • clusters consist of objects that are closer to one another (or vice versa: higher similarity) than to objects in 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 measurements.
  • a clustering, clustering method or clustering algorithm is understood to mean a machine learning method in which data or data points are grouped into so-called “clusters” become.
  • a cluster analysis method, a clustering method or a clustering algorithm can be used, for example, in order to classify each data 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 to say the same cluster
  • data points in different groups have very different properties and / or features.
  • 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.
  • 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)”, a so-called “Agglomerative Hierarchical Clustering” "and / or a so-called” Density-Based Spatial Clustering ", for example a Density-Based Spatial Clustering of Applications with Noise (DBSCAN)".
  • clustering algorithms can be, for example, the following algorithms: “Mini Batch K-Means “,” Affinity Propagation “,” Mean Shift “,” Spectral Clustering “,” Ward “,” Ag glomeration Clustering “,” Birch “,” Gaussian Mixture ".
  • a neural network is understood, at least in connection with the present description, to be an electronic device which comprises a network of so-called nodes, where, as a rule, each node is connected to several other nodes.
  • the nodes are also referred to as neurons, units or units, for example.
  • Each node has at least one input and one output connection.
  • Input nodes for a neural network are those nodes which can receive signals (data, stimuli, patterns or the like) from the outside world.
  • Output nodes of a neural network are those nodes which can output signals, data or the like, for example to a user or another data processing or other device. What are known as “hidden nodes” are those nodes of a neural network which are designed neither as input nor as output nodes.
  • the neural network can, for example, be designed as a so-called deep neural network (DNN).
  • DNN deep neural network
  • Such a “deep neural network” is a neural network in which the network nodes are arranged in layers (the layers themselves).
  • a deep neural network comprises at least one or two so-called hidden layers, which only include nodes that are not input nodes or output nodes gen to input signals or output signals.
  • So-called “deep learning” is understood to mean, for example, a class of machine learning techniques which uses many layers of non-linear information processing for the monitored or non-monitored feature extraction and transformation as well as for pattern analysis and classification.
  • the neural network can, for example, also have a so-called auto-encoder structure.
  • Such an auto-encoder structure can be suitable, for example, in order to reduce a dimensionality of the data and, for example, in this way to recognize similarities and similarities.
  • a neural network can, for example, also be designed as a so-called classification network, which is particularly suitable for dividing data into categories.
  • classification networks are used, for example, in connection with handwriting recognition.
  • Another possible structure of a neural network can be, for example, the design as a so-called “deep believe network”.
  • a neural network can, for example, also have a combination of several of the structures mentioned above.
  • the architecture of the neural network can include an auto-encoder structure in order to reduce the dimensionality of the input data, which can then be combined with another network structure, for example to add peculiarities and / or anomalies within the data-reduced dimensionality recognize or classify the data-reduced dimension.
  • the values describing the individual nodes and their connections can be stored, for example, in a set of values describing the neural network.
  • a set of values then represents, for example, an embodiment of the neural network. If such a set of values is stored after training the neural network, then, for example, an embodiment of a trained neural network is saved. For example, it is possible in a first computer tersystem to train the neural network with corresponding training data, then to store the corresponding set of values, which is assigned to this neural network, and to transfer it to a second system as an embodiment of the trained neural network.
  • a neural network can usually be trained by using various known learning methods by entering input data into the neural network and analyzing the corresponding output data from the neural network, parameter values for the individual nodes or their connections to be determined.
  • learning methods for neural networks are examples of machine learning processes within the meaning of the present description.
  • a neural network can be trained with known data, patterns, stimuli or signals in a manner known per se today, so that the network trained in this way can then subsequently be used, for example, to analyze further data.
  • training of the neural network is understood to mean that the data with which the neural network is trained is processed in the neural network with the aid of one or more training algorithms in order to create so-called bias values ("bias"), weighting values (“weights ”) and / or transfer functions" of the individual nodes of the neural network or the connections between two nodes within the neural network to calculate or change.
  • bias bias values
  • weights weighting values
  • transfer functions transfer functions
  • supervised learning For training a neural network, e.g. according to the present description, one of the so-called “supervised learning” methods can be used, for example. In this case, results or skills associated with this data are trained in a network through training with corresponding training data. Furthermore, a method of so-called unsupervised learning (“unsupervised learning”) can also be used to train the neural network. Such an algorithm generates, for example, a model for a given set of inputs which describes the inputs and enables predictions from them. There are, for example, clustering processes with which the data can be divided into different categories if they differ from one another, for example, through characteristic patterns.
  • monitored and unsupervised learning methods can also be combined, for example if parts of the data are assigned traits or skills that can be trained, while this is not the case for another part of the data.
  • methods of so-called reinforcement learning can also be used for training the neural network, at least among other things.
  • a training that requires a relatively high computing power of a corresponding computer, on a high-performance system take place, while further work or data analysis with the trained neural network can then be carried out on a lower-performance system.
  • Such further work and / or data analysis with the trained neural network can be carried out, for example, on an assistance system and / or on a control device, a memory-programmable controller or a modular memory-programmable controller or other corresponding devices according to the present description.
  • Engineering workflow information is information relating to a time sequence within the framework of the creation of an engineering for the device or system.
  • the engineering can be automation engineering, mechanical engineering and / or electrical engineering.
  • an automation engineering system can be used to create automation engineering.
  • an MCAD engineering system can be used to create mechanical engineering.
  • a so-called ECAD engineering system can be used, for example, for the creation of electrical engineering.
  • an engineering system can also be set up and designed for the engineering of several of the above-mentioned categories.
  • the engineering work flow information can then, for example, be recorded by the respective engineering system as part of the respective engineering.
  • the workflow Information can be created, for example, when an engineering element is generated or when an engineering element is introduced into an engineering project with regard to the device or system.
  • a time value relating to a point in time of this generation or creation can be recorded, or a corresponding counter value, for example, in the context of engineering for the device or system, the engineering system assigns a corresponding increasing counter value to successive work steps within the framework of the engineering .
  • Such engineering workflow information can, for example, be recorded in a corresponding engineering system as part of the creation of the respective engineering data. This can be done, for example, in that individual or all engineering elements and / or work steps generated in the context of engineering are given a corresponding time value, counter value, sequence value or a comparable value for creating workflow information appropriate value is assigned.
  • work flow information can correspond, for example, to a point in time when the engineering object was created in a corresponding engineering project or also to a counter value, with, for example, each work step - or each essential work step - correspondingly progressive counters in the engineering system - Values are assigned according to the order in which they are executed.
  • Work process information can be contained in the multigraph, for example, as nodes which, for example, assign process information to a corresponding engineering object.
  • workflow information can also be contained in the multigraph as an edge which, for example, shows through its direction that the engineering element at the end of the edge (symbolized e.g. by an arrowhead) was created after the engineering element at the beginning of the edge.
  • the above-mentioned method can be designed and set up in such a way that, for example, a first engineering proposal is generated using the multigraph and the database and a second engineering proposal is generated using the multigraph and the further database.
  • both suggestions can be presented to a user, who can either select one of the two suggestions or different elements from each of the two.
  • both proposals can also be selected so that the engineering proposal is both a rule-compliant design and a the next steps for creating the project can also be generated.
  • the two databases can, for example, also be designed in such a way that one of the databases is a relational or non-relational database, while the other is designed as an ML model.
  • a user can then select the suggestion alternative that appears most useful to him for further work.
  • a user can also select elements from both of the suggestion alternatives, which are then combined to form an engineering suggestion.
  • both suggestion alternatives can also be selected, which in turn can then be combined to form an engineering suggestion.
  • This refinement further improves the method for using an assistance system for the engineering of systems or devices by using such suggestions.
  • Alternatives an engineering proposal that is better adapted to a system or device can be generated.
  • the above-mentioned object is also achieved by an assistance system which is designed and set up to carry out a method according to method steps a.) To d.)
  • the assistance system having a memory device for storing the initial engineering data and the Assistance module to summarizes, the database and / or the further database are also stored in a module storage device of the assistance module.
  • the method, the storage device, the engine ering initial data, the assistance module, the database and / or the further database can be configured and set up in accordance with the present description.
  • Such a storage device can be designed, for example, as a non-volatile data memory (a so-called “non-volatile memory”), which is designed and set up for permanent or long-term data storage.
  • non-volatile memory a so-called “non-volatile memory”
  • Such storage devices can be, for example, SSD memories, SSD cards, Hard disks, CDs, DVDs, EPROMs or flash memories or comparable storage devices.
  • a memory device can also be designed and set up as a volatile memory.
  • Such memories can for example be so-called DRAM or dynamic RAM (Dynamic Random Access Memory) or SRAM (“Static Random Access Memory”) be designed and set up.
  • the above-mentioned object is also achieved by a method for creating and / or setting up an assistant module for an engineering system, the engineering system being designed and set up for planning, setting up and / or automating a device or system, with a data collection comprising Engineering elements from at least one of the three data sources listed below are available:
  • a second data source with MCAD data 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,
  • This method comprises the following process steps: a.) Determination of relationship information that is assigned to engineering elements of the data collection, b.) Generation of a multigraph comprising nodes and connections between nodes, the nodes being assigned to engineering elements of the data collection and the connections are each assigned to relationship information determined according to method step a.), c.) Application of an analysis method to the multigraph and generation of an analysis result by this application of the analysis method to the multigraph, d.) Creating and / or expanding a database of the assistance module using the analysis result.
  • the application of the analysis method and / or the application of the further analysis method each include a conversion step for converting the multigraph into a standardized data format.
  • the standardized data format for the multigraph can be designed and set up in accordance with the present description.
  • the analysis method can also be designed and implemented, for example, as a statistical analysis method or a machine learning method according to the present description. be directed or include such a method sen.
  • the analysis result can, for example, comprise one or more so-called engineering rules or consist of such rules.
  • the analysis result can, for example, comprise or consist of one or more so-called engineering work processes (so-called “workflows”).
  • engineering rules or engineering work processes can be designed and set up in accordance with the present description.
  • the analysis result can also include one or more so-called “templates”, which engineering projects can include, for example, for frequently recurring applications such a project, but can or must be further developed, improved and / or expanded by a user.
  • templates which engineering projects can include, for example, for frequently recurring applications such a project, but can or must be further developed, improved and / or expanded by a user.
  • the analysis result can also be designed and set up as the result of a machine learning process.
  • the analysis result can be designed, for example, as an ML model trained and / or set up using the multigraph according to the present description and directed, for example as one or more newly trained and / or set up using the multigraph ronal networks, decision trees, "support vector machines” or the like or such elements.
  • Machine learning methods the results of machine learning methods, the corresponding databases and / or ML models can continue to be designed and set up in accordance with the present description.
  • the generation of the analysis result can include, for example, using one or more machine learning methods (also a combination of different machine learning methods) or consist of using such machine learning methods.
  • engineering rules can be derived, for example. For example, such rules can later be used to identify missing connections or edges in the multigraph. Such missing connections can, for example, correspond to function calls that have not yet been set up in the engineering project.
  • analysis methods can be designed and set up, for example, to predict connections in the multigraph (so-called “link prediction”) or to detect missing connections in the multi graph.
  • link prediction connections in the multigraph
  • machine learning methods can be particularly suitable for this, for example.
  • Such machine learning methods can, for example, be monitored learning methods using binary classifications for end-to-end learning of connections of a graph, for example using so-called “latent feature methods”.
  • Unsupervised learning methods using different types of Nodal distance evaluations for finding similar engineering elements or situations can be used for this. Examples of such learning methods are, for example, a “Common Neighbors” method, a “Jaccard's Coefficient” method, an “Adamic / Adar” method "Preferential Attachment” method, a "Katz” method, a "Hitting Time” method and / or a "Rooted PageRank” method.
  • One result of such a learning method is, for example, an analytical model such as one or more engineering rules, a neural network or the like.
  • connections can be identified in this way, for example, and if necessary automatically insert which were not yet contained in this input multigraph. Alternatively, those identified connections that are still missing can be output to a user and suggested for use. Such suggestions of connections can be suggested sorted according to probability, importance or similar variables, for example. Furthermore, for example, appropriate connections can be selected automatically or by a user. Further information relating to corresponding suggestions can also be initiated by a user or, if necessary, also entered.
  • Such proposals for one or more connections in a multigraph are examples of engineering proposals within the meaning of the present description.
  • the above-described sequence of applying a multigraph to the above-mentioned ML model can then, for example, correspond to a method for generating an engineering proposal according to the present description.
  • the creation and / or expansion of the database then includes, for example, the introduction of the analysis results into this database.
  • a corresponding database can be created using corresponding engineering rules and / or engineering work processes, for example, and / or an existing database can be expanded with such rules or work processes become.
  • the creation of a database can, for example, also include the creation of an ML model or consist of such a model.
  • the expansion of a database can include, for example, the training, setting up or expansion of an existing ML model or consist of such a model.
  • the method for creating and / or setting up an assistance module following method step b.) Can include the following method steps: cl.) Application of a further analysis method on the multi graph and generation of a further analysis result by this application of the further analysis method on the Multigra phen, dl.) Creation and / or expansion of a further database of the assistance module using the further analysis result.
  • the further analysis method can be designed and set up as an analysis method according to the present description.
  • the further analysis result, the generation of the further analysis result, the further database and the creation and / or expansion of the further database can also be designed and set up in accordance with the present description.
  • a method for creating and / or setting up an assistance module according to the present description can then also be designed and set up such that the analysis method is designed and set up as a statistical analysis method, the analysis result is at least one engineering rule and / or comprises at least one engineering workflow and the database is designed and set up as a rule process database, and / or that the further analysis method is designed and set up as a statistical analysis method and the further analysis result is at least one further engineering Rule and / or at least one further engineering workflow and the further database is designed and set up as a further rule workflow database.
  • At least one engineering rule and / or at least one engineering workflow can be stored in the rule sequence database.
  • Such engineering rules and engineering workflows can, for example, continue to be designed and set up according to the present description. This also applies accordingly to the further engineering rule or the further engineering workflow and the further rule sequence database.
  • Statistical analysis methods for graphs or multigraphs can be assigned to two typical classes: statistical analysis methods that detect the correlation between the node and edges using latent variables, and statistical analysis methods that detect such correlations directly using statistical models based on observable properties of the graph or multigraph.
  • the method described above can be designed and set up in such a way that the statistical analysis method comprises an automated statistical evaluation and a selection step for selecting the at least one engineering rule and / or the at least one engineering workflow, and / or that the further statistical analysis method comprises a further automated statistical evaluation and a further selection step for selecting the at least one further engineering rule and / or the at least one further engineering workflow.
  • the statistical analysis process can be automated or partially automated, for example.
  • the selection step for selecting the at least one engineering rule and / or the at least one engineering workflow can also run in an automated, semi-automated or manual manner. The same applies accordingly to the further statistical analysis method and the selection of the at least one further engineering rule or the at least one further engineering workflow.
  • a partially automated selection can be designed and set up, for example, in such a way that two or more suggestions are automatically developed and output, and one or more of these suggestions are then manually selected, for example.
  • the mentioned selection of engineering rules or engineering work processes can relate, for example, to individual results of the automated statistical evaluation or also to all results of the automated statistical evaluation.
  • the named method for creating and / or setting up an assistance module can also be designed and set up such that the analysis method is designed and set up as a machine learning method and the database is designed as an ML model generated or processed by means of the machine learning method and is set up or comprises such an ML model, and / or that the further analysis method is designed and set up as a further machine learning method and the further database is designed as a further ML model generated or processed by means of the further machine learning method. det and is set up or includes such a further ML model.
  • the ML model or the machine learning method can be designed and set up in accordance with the present description.
  • the database can, for example, comprise an ML model or be designed and set up as an ML model, and the machine learning method can be designed and set up as a machine learning method for such or this ML model.
  • the application of the machine learning method to the multigraph can be designed and set up in such a way that an ML model is trained using the data of the multigraph or parts thereof, or a learning method for an ML model using the multigraph or data from the multigraph is applied.
  • the analysis result can then be designed and set up, for example, as a trained or improved ML model or the parameters and characterizing data of a neural network.
  • the analysis result can then be designed and set up, for example, as the information or data from which the ML model is then generated or with which an existing ML model is then processed or expanded.
  • the further analysis result can, for example, be designed and set up as the information or data from which the further ML model is then generated or with which an existing further ML model is then processed or expanded.
  • the application of the training method using the multigraph can be designed and set up in such a way that a data configured as a neural network database or a database comprising a neural network using the multigraph, the data of the multigraph or parts thereof is trained.
  • the database comprises an already trained neural network or consists of an already trained neural network
  • this neural network is then trained further by applying the training method to the multigraph.
  • parameters determined during the training of the neural network for example corresponding weightings and / or threshold values, can be viewed as the analysis result.
  • the database is designed as an ML model or a neural network or comprises an ML model or a neural network and the analysis method is designed and set up as a machine learning method for this ML model or neural network it can be provided, for example, that method steps c.) and d.) run simultaneously, since the generation of the analysis result and the creation and / or expansion of the database can take place simultaneously.
  • the method for creating and / or setting up an assistant module can also be designed and set up such that the data collection also includes engineering workflow information and the multigraph is also generated using the engineering workflow information in method step b.).
  • the engineering workflow information can be designed and set up, for example, in accordance with the present description.
  • the structure of the multigraph using such engineering workflow information can also be designed and set up in accordance with the present description.
  • an assistance module comprising a module storage device, the module storage device further comprising a database created or expanded in accordance with the present description and / or a further database created or expanded in accordance with the present description.
  • the assistance module, the module storage device and the database and / or the further database can be designed and set up in accordance with the present description.
  • Such an assistance module also improves the structure and / or the use of an assistance system for the engineering of systems and devices in the, for example, by creating and / or using corresponding databases on the basis of a multigraph made up of engineering elements and their relationships.
  • a multigraph for example, enables the creation, display and use of the usually very heterogeneous automation data.
  • a training system for an assistance module the training system being designed and set up to carry out a method for creating and / or setting up an assistance module according to the present description, the training system having a memory device for storing a corresponding collection of data as well as an assistance module, and wherein the database and / or the further database are stored in a module storage device of the assistance module.
  • the assistance module, the module storage device and the database and / or the further database can be designed and set up in accordance with the present description.
  • Such a training system improves, for example, the structure of an assistance system for the engineering of systems and devices, for example by using a multigraph structure made up of engineering elements and their relationships to create corresponding databases.
  • a multigraph enables, for example, a very efficient creation, display, preparation and use of the usually very heterogeneously structured automation data. This then leads to databases that are better than the state of the art and, for example, easier to create and search for and / or more compact.
  • databases can, for example, contain more diverse information or store information more efficiently and make it available.
  • an assistance system can be designed and set up in such a way that the associated assistance module is designed and set up according to the present description and that the associated database was created or expanded according to the present description, and / or that the associated additional Database was created or expanded in accordance with the present description.
  • the assistance module and the database and / or the further database can be designed and set up in accordance with the present description.
  • Such an assistance system further improves a method for the construction and / or the use of an assistance system for the engineering of plants or devices by both the construction of corresponding databases and their subsequent use. fertilization to generate engineering proposals based on the preparation of engineering data with the help of a multigraph. In this way, the information in such databases can be used particularly easily and efficiently.
  • FIG. 1 Example of a training system for creating an engineering assistance module on the basis of engineering data
  • FIG. 2 Exemplary list of engineering data and corresponding relationship information between such engineering data
  • FIG. 3 Example of a multigraph created on the basis of automation engineering data
  • FIG. 4 Example of an assistance system for creating engineering proposals on the basis of an engineering assistance module and using initial engineering data.
  • FIG. 1 shows a training system 100 for setting up or expanding or training an engineering assistance module 310.
  • the engineering assistance module 310 includes a trained neural network 330 and a rule and sequence database 320.
  • the training system 100 is an exemplary embodiment for a training system according to the present description and the engineering assistance module 310 an exemplary embodiment for an assistance module according to the present description.
  • the trained neural network 330 and the rule and sequence database 320 are each examples of a data bank or another database according to the present description.
  • the engineering data collection 102 is composed of automation engineering data 110, MCAD data 120 and / or ECAD data 130 supplied to the training system 100 from external sources.
  • the automation engineering data 110, the MCAD data 120 and / or the ECAD data 130 are generated or have been generated by a corresponding engineering system.
  • the automation engineering data 110, the MCAD data 120 and / or the ECAD data 130 can be taken, for example, from a corresponding data collection or database for such data.
  • the training system 100 can create, train and / or process the engineering assistance module 310 on the basis of engineering data generated in the past and then stored in corresponding databases.
  • the engineering data collection 102 includes event lists 108 which were recorded as part of the creation of the original engineering data 110, 120, 130.
  • these event lists 108 can be generated, for example, by corresponding engineering systems, in that, for example, the work steps of a user when using the engineering system to generate the corresponding engineering elements 104 are recorded.
  • the work steps in an engineering system for generating and / or processing the engineering elements 104 can be recorded or stored within the event lists 108.
  • the work steps can be stored, for example, as a sequence of input commands or input actions or as a sequence of engineering projects that are built up as a sequence of different input actions or commands.
  • the graph 400 is prepared for further processing and this is prepared Graph 400 then stored accordingly.
  • a preparation can include, for example, the conversion of the graph 400 into a corresponding standard data format or, in general, a preparation of the graph 400 for a subsequent analysis of this graph 400.
  • a neural network is trained with the aid of the graph 400 and stored as a trained neural network 330 in the engineering assistance module 310.
  • the neural network 330 and the training of the neural network 240 can be designed and set up, for example, in accordance with the present description.
  • a neural network can be trained for the first time as part of training step 240.
  • a trained neural network 330 already stored in the engineering assistance module can be used and further trained using the graph 400 as part of training step 440 and then stored as a further trained neural network 330 in the engineering assistance module 310.
  • the multigraph 400 is analyzed in a parallel statistical analysis step 240, with rules being identified in the context of this analysis, for example rules regarding the assignment of variable names, network addresses or device names, regarding program schemes or sequences or the like. These identified rules are then added to the rule and process database 320.
  • engineering processes can also be identified within the framework of the statistical analysis 230. Such engineering processes can, for example, describe or represent a logical sequence of creating individual ones of the engineering elements 104 or a logical sequence of creating nodes and / or edges of the multigraph 400. These engineering processes are then also stored in the rule and process database 320.
  • the multigraph 400 can also be output directly to the user 236.
  • the operator can then analyze the multigraph 400 himself and enter the rules and / or work processes identified by him in a manual input step 234 directly into the rule and sequence database.
  • the user 236 can also enter rules that are known to him independently of the training system 100 in the manual input step 234 in the rule and sequence database 320.
  • the engineering assistance module 310 or the trained neural Network 330 and the rule and sequence database 320 of the engineering assistance module 310 are trained in such a way that it contains the knowledge from this multitude of engineering projects and use cases.
  • An engineering assistance module 310 trained in this way is then able to support the engineering of a large number of different new use cases with the knowledge from past engineering projects.
  • FIG. 2 shows examples of categories of engineering elements 104 for automation engineering data 110, MCAD data 120 and ECAD data 130, as they have already been explained in connection with FIG. 1, for example.
  • Automation engineering data 110 can thus be a wide variety of data such as can be used in the context of automation engineering for a device or system.
  • Such automation engineering data 110 can include, for example, variables, so-called tags, function modules, data modules, user-defined data types (e.g. so-called UDTs), program modules (e.g. so-called POUs (POU: Program Organization Unit)), hardware information, control programs or parts thereof, call structures for program modules, control program parts, function modules and / or data modules, comments or other categories of engineering elements 104.
  • Variables are, for example, variables that can be used in control programs or a process image of a control device.
  • Tags can be, for example, special variables such as those used in the context of generating or operating a user interface or HMI (HMI: Human Machine Interface) for a control device.
  • Function modules can be software programs or program blocks, for example, which effect a certain functionality.
  • call structures for example, call chains, parent-child relationships, usage information and the like with regard to various program, function and data modules can be stored. With the help of such call structures it can be determined, for example, which of the named blocks are called by which other blocks or which blocks use corresponding blocks or from which blocks, for example, originate in the context of object-oriented programming.
  • MCAD data 120 can, for example, include engineering elements 104 such as are usually used in the context of mechanical or MCAD engineering. Such MCAD data 120 can for example belong to the categories 3-D information, CAD data, parts lists, kinematics information, relationship information between parts, point-cloud information and / or comments.
  • ECAD data 130 can, for example, include engineering elements 104 such as are usually used in the context of electrical or ECAD engineering. Such data can, for example, be associated with the categories of circuit diagram, function diagram, function diagram, function list, location information, product identifiers, parts list, illustration and / or comment.
  • relations 106 different possibilities for generating or determining such relations 106 are shown.
  • Such relations 106 which are examples of relational information according to the present description, can for example, as already briefly explained above, be determined from the mentioned call structures for function blocks, data blocks and other program elements.
  • relations 106 can be determined from the use of information from variables or tags, ie. H. for example which program blocks, devices, modules or other technical, logical or software units use certain variables or tags. Indirect data relationships between such variables and tags can also be the source of corresponding relationships 106.
  • relationships between electrical objects are the source of relationships 106 or relationship information 106.
  • Further relations 106 can for example also be obtained from corresponding wiring plans of the ECAD data 130 or mechanical connections from MCAD data 120.
  • FIG. 3 shows a multigraph 400 for an exemplary embodiment in which an engineering project for a transport system is created in an automation engineering system, with a standard program module with the name " OBI "410 was created, which then calls a function block with the name" FBI "420, which in turn uses a data block with the name” DB100 "430.
  • the multigraph 400 for this example is now generated by creating a node 490 for the type of engineering project “Transport system project” 490, which symbolizes the application behind the project 490 is of the type “application context” 492, a corresponding further node “application context” 492 is generated and the transport system project node 490 is connected to the application context node 492 via a “type” connection 440.
  • This “type” connection 440 symbolizes that the node 490 is of the “application context” 492 type.
  • a node 410 is generated for the OBL program module, a node 420 for the “FBI” function module and a node 430 for the “DB100” data module connected to the FBl node 420, which in turn has a connection of the "referenced" category 460 is connected to DBIOO node 430.
  • Each of the program nodes 410, 420, 430 mentioned is also connected to the transport system project node 490 via a connection of the “contains” category 485. This symbolizes that the respective program modules 410, 420, 430 are part of a pro project for a transport system 490.
  • the OB1 node 410 is connected to a “program module” node 412 via a connection of the “type” category. This connection characterizes that “OBI” 410 belongs to the “program module” category.
  • the “FBI” node 420 is connected to a “function block” node 422 via a type connection 440 and the “DB 100” node 430 is connected to a “data block” 432 node via a corresponding type connection 440.
  • nodes 416, 426, 436 are provided, which establish an assignment to work steps in which the respective one of the program modules 410, 420, 430 was generated or created in an engineering system. Since the program module “OBI” 410 was generated in a first work step, the node “OBI” 410 is connected to a node “step 1” 416 via a connection or edge of the category “running number” 480.
  • the “FBI” node 420 is connected with a connection of the “serial number” category 480 to a “step 2” node 426, since the corresponding function block was created in a second work step
  • the node “DB100” 430 is connected to a node “Step 3” 436 via a connection of the category “Consecutive number” 480.
  • the data block "DB100” is characterized by its size (which is assumed here as 8 in an arbitrary unit) characterized.
  • the node “DB100” 430 is therefore connected to a node “8” 434 via a connection of the category “size” 470.
  • a multigraph 400 of this type it is therefore possible to set a wide variety of engineering elements 104 in relation to one another via corresponding relations 106 and to further characterize them with additional engineering elements 104, which can be meta information or additional information, for example. Furthermore, corresponding work process information or event lists 108 are also integrated in the multigraph 400, through which work processes or work process information are also contained in the multigraph.
  • Such a multigraph 400 which contains a large number of different types of information and combines them with one another, it is now possible, for example using statistical evaluations, to generate systematically characterizing information relating to a wide variety of engineering elements and use cases.
  • Such characteristic information can be, for example, typically used software elements, work processes, typically used elements of a certain data category or engineering element category, and so on. Corresponding rules and work processes can then be derived in a simplified manner on the basis of such statistical evaluations.
  • Such workflows could, for example, in the present case be that if a user only specifies the application description "Transport system project" as the initial engineering data, for example, it can be output as an engineering proposal that first a program block "OBI”, then a function block “FBI "and then a data block” DB100 "are created, which must then be linked according to the description above.
  • corresponding engineering proposals can be created from such a multigraph using derived rules and work processes. For example, according to rules stored in the rule and process database with regard to variable names, variables with certain names specified by the rules, for example program modules or function modules contained in the initial engineering data 502, can be automatically proposed or generated.
  • a multigraph also contains meta-information such as comments or properties for program blocks or variables, for example, certain engineering element categories, such as variables, text, function blocks, program blocks, UDTs, and filter out similar categories for the application of the rule and sequence database.
  • rules assigned to such categories can be applied in a targeted and / or simplified manner.
  • the multigraph 400 shown in FIG. 3 can advantageously be used for setting up or training a machine learning method or an ML model in accordance with the present description.
  • such multi-graphs are particularly advantageous for such training of an ML model or for use for a machine learning method.
  • FIG. 4 shows an example of the use of an assistance module 310 created in accordance with FIG. 1 in the context of an assistance system 300.
  • automation engineering initial data 510, MCAD initial data 520 and / or E- CAD initial data 530 generated as part of an engineering for a machine or system and then fed to a new engineering data collection 502 in the assistance system 300.
  • the new engineering data collection 502 then contains engineering elements 504 which correspond to the engineering elements within the engineering initial data 510, 520, 530 and relations 506 between the engineering elements 504 which, on the one hand, also already contain the engineering initial data 510, 520, 530 can be taken and / or can furthermore also be obtained or have been obtained from the transmitted initial engineering data 510, 520, 530 by additional analysis.
  • Both the extraction of the relational information 506 from the engineering initial data 510, 520, 530 and the acquisition of such relational information 506 by analyzing the transmitted engineering initial data 510, 520, 530 are examples of determining relational information in the sense of the present description.
  • work flow information relating to the creation of the engineering initial data 510, 520, 530 is also transmitted from the engineering system 500 to the new engineering data collection 502 and stored as corresponding event lists 508 in the new engineering data collection 502.
  • the assistance system 300 is an example of an assistance system according to the present description.
  • This multigraph 612 can have a structure comparable to that of the multigraph 400 shown in FIG.
  • the multigraph 612 is then applied to the rule and sequence database 320 of the engineering assistance module.
  • further information is derived from the various elements of the graph 612 together with the rules stored in the rule and sequence database 320, which supplement the engineering initial data 510, 520, 530, after which this information is the first Proposal 322 should be issued.
  • certain categories of engineering elements 504 are selected in the multigraph in order to then select appropriate rules from the database 320 based on predetermined rules and / or work processes of the rule and process database 320 and then use these selected categories of engineering elements 504 apply. Examples of such an application of rules or work processes to data stored in multigraph 612 were given, for example, in connection with FIG.
  • the multigraph 612 is applied to the trained neural network 330, the result of this application being a second suggestion 332.
  • the result of the application of the multigraph 612 to the trained neural network 330 can be, for example, that further nodes and / or connections of nodes are proposed that complete the engineering project.
  • a result of the application of the multigraph 612 to the trained neural network 330 can also be a suggestion 332 for the next steps to complete a corresponding engineering project.
  • the second suggestion 332 can, for example, again be present as a multigraph.
  • the second suggestion 332 can also include corresponding results from the result of the application of the multigraph 612 to the trained neural network 330, for example sorted according to categories of engineering elements.
  • the results of the first proposal 322 and the second proposal 332 are compared in order to lead to a final engineering proposal 638.
  • This comparison can consist, for example, in the fact that both proposals 322, 332 are merged and then in a further automatic generation step 634 an engineering proposal 638 is automatically generated from the result of this comparison 630.
  • the merged proposals 322, 332 can be consolidated in such a way that both results are merged and, if necessary, duplicate mentions of proposals are removed.
  • the consolidation 630 can also include a selection of a preferred proposal from a plurality of proposals.
  • the comparison of the results 630 also includes the introduction of the first proposal 322 and the second proposal 332 into a uniform data format.
  • a user 636 can consolidate the elements of the first proposal 322 with those of the second proposal 332 manually or in a partially automated manner.
  • the user 636 can, for example, select those proposals from the result of the comparison 630 which ultimately make up the engineering proposal 638 are to be merged.
  • a selection of similar proposals can be compiled automatically, from which the user 636 then selects those proposals that are to be included in the engineering proposal 638.
  • a list of contradicting proposals can automatically be compiled from the first 322 and second proposal 332, from which the user 636 then selects those that are included in the engineering proposal 638.
  • the engineering proposal 638 is generated as a result both in the context of the automatic generation 634 and the partially automated or manual selection and checking 632.
  • This engineering proposal 638 is generated in a format that can be captured by the engineering system 500.
  • the engineering proposal 638 is advantageously available in the format of an engineering project for the engineering system 500.
  • the engineering proposal 638 is then output to a user of the engineering system 500.
  • This can be done, for example, in such a way that the data of the engineering proposal 638, or even the entire data of the engineering proposal 638, is integrated into the engineering initial data 510, 520, 530 originally entered by the user and displayed accordingly on the screen.
  • the data of the engineering proposal 638 can also be presented to a user, after which a user can select, for example, those of the proposal data 638 that he would like to include in his engineering project.
  • a next work step contained in the engineering proposal 638 can also be carried out automatically by the engineering system 500 in the engineering system 500 or it can be proposed to a user as the next step.
  • an engineering proposal 638 can be generated automatically or also partially automatically, which a user of the engineering system can use

Abstract

Die vorliegende Erfindung betrifft ein Verfahren zum Erzeugen eines Engineering-Vorschlags (638) für eine Vorrichtung oder Anlage unter Verwendung eines Assistenzmoduls (310), wobei im Assistenzmodul (310) eine Datenbank (330, 320) bezüglich Engineering-Regeln und/oder Engineering-Arbeitsabläufen gespeichert ist, wobei vermittels eines Engineering-Systems (500) erfasste Engineering-Anfangsdaten (502) bezüglich der Vorrichtung oder Anlage, umfassend mindestens ein Engineering-Element (504), vorliegen, das Verfahren umfassend die nachfolgenden Verfahrensschritte: a.) Speicherung der Engineering-Anfangsdaten (502) umfassend das mindestens eine Engineering-Element (504), b.) Ermitteln von Beziehungsinformationen (506), die jeweils dem mindestens einen Engineering-Element (504) der Engineering-Anfangsdaten (502) zugeordnet sind, c.) Erzeugen eines Multigraphen (612, 400) umfassend Knoten (410, 412, 416, 420, 422, 426, 430, 432, 434, 436, 490, 492) sowie Verbindungen (440, 460, 450, 470, 480, 485) zwischen Knoten, wobei jeweils ein Knoten (410, 412, 416, 420, 422, 426, 430, 432, 434, 436, 490, 492) jeweils einem des mindestens einen Engineering-Elements (504) der Engineering-Anfangsdaten (502) zugeordnet ist und die Verbindungen (440, 460, 450, 470, 480, 485) jeweils ermittelten Beziehungsinformationen (506) zugeordnet sind, d.) Erzeugen des Engineering-Vorschlags (322, 332, 638) unter Verwendung des Multigraphen (612) sowie der im Assistenzmodul (310) gespeicherten Datenbank (330, 320).

Description

Verfahren zum Erzeugen eines Engineering-Vorschlags für eine Vorrichtung oder Anlage
Die vorliegende Erfindung betrifft ein Verfahren zum Erzeugen eines Engineering-Vorschlags für eine Vorrichtung oder Anlage unter Verwendung eines Assistenzmoduls, wobei im Assistenzmodul eine Datenbank bezüglich Engineering-Regeln und/oder Enginee ring-Arbeitsabläufen gespeichert ist, wobei vermittels eines En gineering-Systems erfasste Engineering-Anfangsdaten bezüglich der Vorrichtung oder Anlage vorliegen.
Derartige Verfahren sind aus dem Stand der Technik bekannt.
So offenbart z.B. die Veröffentlichungsschrift WO 2019/040076 Al ein Verfahren zur Bereitstellung eines Vorschlags für das Ein richten eines Automatisierungssystems unter Verwendung von ge speicherten Tatsachen und Regeln betreffend das Automatisie rungssystem. Dabei werden die Tatsachen und Regeln aus Nutzer eingaben und Hintergrundinformationen zu diesem Automatisie rungssystem extrahiert. Vermittels eines automatisierten Verfah rens wird dann auf Basis dieser Tatsachen und Regeln ein Satz von Aktionen erzeugt, welcher von dem Automatisierungssystem dann ausführbar ist.
Es ist ein Nachteil des Standes der Technik, dass mit den offen barten Methoden die Komplexität von Engineeringdaten für den Aufbau und die Verwendung eines Engineering-Assistenzsystems nur schwierig erfasst werden kann.
Daher ist es eine Aufgabe der vorliegenden Erfindung, ein ver bessertes Verfahren zum Aufbau und/oder der Verwendung eines As sistenzsystems für das Engineering von Anlagen oder Vorrichtun gen zur Verfügung zu stellen.
Diese Aufgabe wird gelöst durch ein Verfahren mit den Merkmalen des Patentanspruch 1. Ein derartiges ist zum Verfahren zum Erzeugen eines Engineering- Vorschlags für eine Vorrichtung oder Anlage unter Verwendung ei nes Assistenzmoduls ausgebildet und eingerichtet, wobei im As sistenzmodul eine Datenbank bezüglich Engineering-Regeln und/oder Engineering-Arbeitsabläufen gespeichert ist.
Außerdem liegen vermittels eines Engineering-Systems erfasste Engineering-Anfangsdaten bezüglich der Vorrichtung oder Anlage, umfassend mindestens ein Engineering-Element, vor.
Das Verfahren umfasst die nachfolgenden Verfahrensschritte: a.) Speicherung der Engineering-Anfangsdaten umfassend das min destens eine Engineering-Element, b.) Ermitteln von Beziehungsinformationen, die jeweils dem min destens einen Engineering-Element der Engineering-Anfangsdaten zugeordnet sind, c.) Erzeugen eines Multigraphen umfassend Knoten sowie Verbin dungen zwischen Knoten, wobei jeweils ein Knoten jeweils einem des mindestens einen Engineering-Elements der Engineering- Anfangsdaten zugeordnet ist und die Verbindungen jeweils gemäß Verfahrensschritt b.) ermittelten Beziehungsinformationen zuge ordnet sind, d.) Erzeugen des Engineering-Vorschlags unter Verwendung des Multigraphen sowie der im Assistenzmodul gespeicherten Daten bank.
Die Heterogenität von Automatisierungsdaten ist insbesondere bei einer automatisierten Auswertung bzw. Verarbeitung solcher Daten eine große Herausforderung. Insbesondere bei der Erstellung und Nutzung von Vorschlägen für das Engineering einer Vorrichtung oder Anlage, insbesondere auch der Automatisierung einer Vor richtung oder Anlage, ist eine derartige Auswertung beziehungs weise Verarbeitung solcher Engineering-Daten notwendig.
Es ist ein Vorteil des dargestellten Verfahrens, dass nach einer Erfassung und Speicherung von Engineering-Anfangsdaten erst Be- Ziehungsinformationen bezüglich dieser Daten ermittelt werden, welche beispielsweise logische und bauliche Verbindungen zwi schen einzelnen Engineering-Daten hersteilen. Weiterhin ist vor teilhaft, dass vermittels dieser Beziehungsinformationen ein Multigraph erstellt wird, welcher eine sehr effiziente Möglich keit ist, die sehr heterogenen Engineering-Daten zu strukturie ren, zu erfassen und zur Verfügung zu stellen.
Aufgrund dieser sehr effizienten Erstellung und Anordnung dieser Daten wird das Zusammenspiel mit der Datenbank bezüglich Engine ering-Regeln und/oder Engineering-Arbeitsabläufen einfacher und das Zusammenspiel erzeugt bessere Ergebnisse. Auf diese Weise führt jeder der vorstehend genannten Tatsachen dazu, dass das vorliegend genannte Verfahren zur Erzeugung eines Engineering- Vorschlags die bisher bekannten Verfahren zum Aufbau und/oder der Anwendung eines Assistenzsystems für das Engineering von An lagen oder Vorrichtungen vereinfacht oder verbessert.
Dabei kann der Engineering-Vorschlag derart ausgebildet und ein gerichtet sein, dass er für die Verwendung in einem Engineering system für das Engineering einer Vorrichtung oder Anlage geeig net ist. Dabei kann er beispielsweise derart ausgebildet und eingerichtet sein, dass er von einem solchen System entsprechend entweder unmittelbar verwendet werden kann oder in ein diesem System entsprechendes Datenformat umgewandelt werden kann. Ins besondere kann ein solcher Engineering-Vorschlag als ein Templa te für ein Engineering-Projekt ausgebildet und eingerichtet sein. Ein solches Template kann dann beispielsweise von einem Nutzer weiterbearbeitet und bei Bedarf noch besser an die vor liegende Vorrichtung oder Anlage angepasst werden.
Weiterhin kann der Engineering-Vorschlag einem Nutzer des Engi neeringsystems auch einen oder mehrere nächste Arbeitsschritte für das Engineering einer Vorrichtung oder Anlage vorschlagen bzw. solche Vorschläge im Engineering System einbringen. So kann es beispielsweise vorgesehen sein, dass in einem derar tigen Engineeringsystem ein Nutzer ein oder mehrere Arbeits schritte vornimmt bzw. entsprechende Daten zum Engineering für eine Vorrichtung oder Anlage eingibt. Dann aufgrund dieser An fangsdaten das vorstehend genannte Verfahren ausgeführt und ein entsprechender Engineering-Vorschlag erzeugt. Dieser wird dann wieder an das Engineering-System zurückgeführt, um dem Nutzer beispielsweise ein entsprechendes Engineering-Template oder En gineering-Vorschläge zur Verfügung zu stellen.
Dabei kann vorgesehen sein, dass vor der Ausführung des vorste hend genannten Verfahrensschritts d.) oder im Rahmen der Ausfüh rung dieses Verfahrensschritts d.) ein Umwandlungsschritt zur Umwandlung des Multigraphen in ein standardisiertes Datenformat vorgesehen ist beziehungsweise der Multigraphen in ein standar disiertes Datenformat umgewandelt wird.
Das standardisierte Datenformat kann beispielsweise als ein standardisiertes Datenformat zum Austausch der Daten mit anderen Einrichtungen ausgebildet und eingerichtet sein. Dabei sind standardisierte Datenformate solche Datenformate, für die eine Beschreibungen des Datenformats veröffentlicht ist oder wird. Beispielsweise kann ein standardisiertes Datenformat auch als ein standardisiertes Datenbankformat, z.B. eine relationale Da tenbank, eine nicht-relationale Datenbank, ein sogenanntes se mantisches Datenbankformat und/oder ein sogenanntes NoSQL-Format ausbildet und eingerichtet sein. Weiterhin kann ein standardi siertes Datenformat auch als ein Knowledge-Graph-Datenformat ausgebildet und eingerichtet sein.
Ein solches standardisiertes Datenformat kann beispielsweise das sogenannte "Resource Description Framework" (RDF) und die ent sprechend korrespondierende Schemadefinitions-Sprache "RDF(S)/OWL" sein. Die Umwandlung in das standardisierte Datenformat kann bei spielsweise die Umwandlung des Multigraphen in das o.g. RDF- Format unter Verwendung der entsprechend korrespondierende Sche- madefinitions-Sprache "RDF(S)/OWL" umfassen.
Eine Datenbank kann im Rahmen der vorliegenden Beschreibung bei spielsweise als eine relationale Datenbank, eine nicht relationale Datenbank, eine semantische Datenbank und/oder eine NoSQL Datenbank ausgebildet und eingerichtet sein und die dem entsprechenden Datenbankformate beinhalten.
Eine semantische Datenbank kann dabei beispielsweise eine Daten bank sein, in welcher die gespeicherte Information mittels se mantischer Suchoperationen ermittelbar sind.
Das semantische Datenbankformat kann beispielsweise in einem so genannten NoSQL-Datenbankformate oder auch dem sogenannten Know- ledge-Graph-Datenformat vorliegen.
Dabei können verschiedene Teile der semantischen Datenbank auch in verschiedenen der oben genannten Formate abgespeichert sein.
Weiterhin kann die semantische Datenbank auch weitere Teile um fassen, die in keinem der oben genannten Datenbankformate vor liegen.
Im Gegensatz zu sogenannten relationalen Datenbanken (z.B. SQL- Datenbanken) bezeichnet „NoSQL" (Englisch für: Not only SQL) Da tenbanken einen nicht-relationalen Ansatz. Unter NoSQL-Daten- banken werden im Zusammenhang mit der vorliegenden Beschreibung solche Datenbanken verstanden, welche den oben genannten nicht relationalen Ansatz verfolgen. Insbesondere werden unter NoSQL- Datenbanken im Rahmen der vorliegenden Beschreibung Dokument-, Graph-, Objekt-, Attribut-Wert-Paar- und/oder Spalten-orien- tierte Datenbanken verstanden. Solche NoSQL-Datenspeicher benö- tigen in der Regel keine fest gelegten Tabellenschemata und ver suchen, so genannte „Joins" zu vermeiden.
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 ver teilte ACID-Datenbank, eine Key-Value-Datenbank, eine Attribut- Wertpaar-orientierte Datenbank, eine Multivalue-Datenbank, eine Objekt-orientierte Datenbank und/oder als eine Spalten-orien- tierte Datenbank oder eine Kombination oder Weiterentwicklung solcher Datenbanken eingerichtet und ausgestaltet sein.
In der semantischen Datenbank können die gespeicherten Informa tionen 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 verwendenden Datenbank abgelegt sein oder die semantische Datenbank kann derartige Da tenbanken umfassen.
Unter dem Engineering einer Anlage oder Vorrichtung wird im Zu sammenhang mit der vorliegenden Beschreibung und den Patentan sprüchen das Planen und/oder Einrichten einer solchen Anlage o- der Vorrichtung verstanden. Dazu gehört beispielsweise eine me chanische Planung und/oder ein mechanisches Einrichten, ein Pla nen und/oder Einrichten der Elektrik und/oder Elektronik für die Anlage oder Vorrichtung, ein Planen und/oder Einrichten einer Automatisierung für die Vorrichtung oder Anlage und/oder ein Planen und/oder Einrichten von Robotik für die Vorrichtung oder Anlage.
Die Vorrichtung oder Anlage kann beispielsweise als eine Maschi ne, ein Gerät, ein Roboter, eine Produktionsanlage oder Ver gleichbares ausgebildet und eingerichtet sein oder auch derarti ge Teile als Komponenten umfassen. Solch eine Vorrichtung oder Anlage kann z.B. ein oder mehrere Komponenten, Antriebe, Senso ren, Maschinen, Geräte, Kommunikationseinrichtungen oder Ähnli ches umfassen.
Ein Engineering-System kann ganz allgemein beispielsweise zum mechanischen und/oder elektrischen Entwerfen, Auslegen, Einrich ten, Bearbeiten und/oder Simulieren einer Vorrichtung oder Anla ge ausgebildet und eingerichtet sein. Weiterhin oder auch zu sätzlich kann ein Engineeringsystem auch zum Entwerfen, Ausle gen, Einrichten, Bearbeiten, Simulieren und/oder Realisieren ei ner Automatisierung für eine Vorrichtung oder Anlage ausgebildet und eingerichtet sein.
Das Engineering-System kann dabei beispielsweise als:
- ein Automatisierungs-Engineeringsystem zum Entwerfen, Auslegen und/oder Einrichten einer Automatisierung für die Vorrichtung oder Anlage,
- ein Mechanisches-Engineeringsystem (MCAD-System) zum Entwer fen, Erstellen und/oder Einrichten einer mechanischen Planung bzw. von mechanischen Planungsdaten für die Vorrichtung oder An lage, und/oder
- ein Elektrisches-Engineeringsystem (ECAD-System) zum Entwer fen, Auslegen, Erstellen und/oder Einrichten einer elektrischen Planung bzw. von elektrischen Planungsdaten für die Vorrichtung oder Anlage ausgebildet und eingerichtet sein.
Weiterhin kann vorgesehen sein, dass der im Rahmen eines Verfah rens gemäß der vorliegenden Beschreibung erzeugte Engineering- Vorschlag im Datenformat eines Engineeringprojekts für ein Engi neeringsystem erzeugt wird oder in ein solches Datenformat umge wandelt wird.
Ein Automatisierungs-Engineeringsystem kann beispielsweise als ein Computersystem mit einer geeigneten Software ausgestaltet und eingerichtet sein, das zur Erzeugung von Automatisierung- Engineeringdaten für eine bestimmte Anlage oder Vorrichtung aus gebildet und eingerichtet ist. Solche Automatisierungs-Enginee ringdaten sind beispielsweise Daten, wie sie für eine Automati sierung und/oder Steuerung der Anlage oder Vorrichtung erstellt werden und/oder vorgesehen sind. Dazu gehört beispielsweise, dass vermittels eines solchen Automatisierungs-Engineering systems beispielsweise entsprechende Steuerprogramme erstellt werden können und die Komponenten der Anlage oder Vorrichtung und auch der entsprechenden Steuerungen entsprechend parame- triert werden können. Ein Beispiel für ein solches Engineering- System ist beispielsweise ein Computersystem, auf welchem die am Markt erhältliche Software mit dem Produktnamen "TIA-Portal" in stalliert ist.
Die Engineering-Anfangsdaten bezüglich der Vorrichtung oder An lage können dabei ganz allgemein als Engineering-Daten gemäß der vorliegenden Beschreibung ausgebildet und eingerichtet sein.
Engineering-Daten bezüglich der Vorrichtung oder Anlage können beispielsweise Automatisierungs-Engineering Daten, mechanische Planungsdaten, elektrische Planungsdaten, Roboter-Planungsdaten, Beschreibungsdaten und/oder vergleichbare Daten bezüglich eines Engineerings einer Vorrichtung oder Anlage sein.
Im Sinne der vorliegenden Beschreibung setzen sich Engineering- Daten zumindest unter anderem aus Engineering-Elementen zusam men.
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 Vorrichtung oder Anlage beispielsweise unter Verwendung der Automatisie rungs-Engineeringdaten, der mechanischen Planungsdaten sowie der elektrischen Planungsdaten verwendet werden oder verwendbar sind.
Nachfolgend werden bezüglich den Automatisierungs-Engineering daten, den mechanischen Planungsdaten sowie den elektrisch Pla nungsdaten beispielhaft jeweils typische Typen von Engineering- Elementen sowie entsprechende Engineering-Elemente erläutert.
Dabei können die Engineering-Elemente beispielsweise unmittelbar entsprechenden Datenquellen gemäß der vorliegenden Beschreibung entnommen werden. Weiterhin können beispielsweise auch über eine optische Mustererkennung und/oder optische Zeichenerkennung En gineering-Elemente aus in der jeweiligen Datensammlung vorhande nen Bildern und/oder grafischen Darstellungen entnommen werden. Solche Bilder und/oder grafische Darstellungen können beispiels weise ProduktZeichnungen, Konstruktionszeichnungen, Schaltpläne, Explosionszeichnungen oder vergleichbare Bilder oder grafische Darstellungen sein.
Mechanische Daten oder MCAD-Daten können beispielsweise den nachfolgenden Datenkategorien zugeordnete oder zuordenbare Engi neering-Elemente sein: Stück-, Teile- oder Komponenten-Listen, 3D-Geometrien, Kinematische Informationen, Punkt-Wolken-Infor- mation, Namen/Bezeichnungen/Meta-Information zu mechanischen Komponenten oder Teilen, Beziehungsinformationen zu verschiede nen mechanischen Komponenten oder Teilen (z.B. Name, Bezeich nung und/oder Anzahl von mit einem bestimmten Teil verbundenen weiteren Komponenten sowie beispielsweise auch Art und Ausge staltung derartiger Verbindungen) und/oder Bilddaten zu entspre chenden mechanischen Komponenten oder Teilen davon.
Elektrische Planungsdaten oder ECAD-Daten können beispielsweise den nachfolgenden Datenkategorien zugeordnete oder zuordenbare Engineering-Elemente sein: Funktionsbeschreibungen, Ortsangaben, Referenz-Nummern für Produkte, Stück- oder Teilelisten, schema- tische Zeichnungen, Stromlaufpläne, Bilder, Namen, Bezeichnungen oder Anzahl von ein- und/oder Ausgängen, Angaben zu dynamischem Verhalten (beispielsweise durch sogenannte „Makros" beschrieben) oder vergleichbare Engineering-Elemente zu elektrischen Eigen schaften und/oder Ausgestaltungen der Vorrichtung oder Anlage.
Beziehungs-Informationen können beispielsweise Eltern-Kind- Beziehungen oder Verwendungs-Informationen bezüglich Programm bausteinen, Programm-Komponenten und/oder Programm-bzw. Kompo- nenten-Instanzen sein.
Auch Aufruf-Informationen zwischen verschiedenen Programmbau steinen, Programm-Komponenten und/oder Programm-bzw. Programm- komponenten-Instanzen können solche Beziehungs-Informationen sein.
Beispielsweise können Beziehungs-Informationen auch Zusatzinfor mationen oder Metadaten zu einzelnen oder mehreren der verwende ten Engineering-Elemente entnommen werden. Zusatzinformationen zu einzelnen oder Gruppen der Engineering-Elemente, die auch als Meta-Daten oder Meta-Informationen zu diesen Engineering-Elemen te bezeichnet werden können, können beispielsweise Namen, über geordnete Funktionsklassen, Sammelbegriffe, Typenbeschreibungen, Einheiten, physikalische Einheiten, Kommentare, Beschreibungen, physikalische Einheiten, Beziehungs-Beschreibungen zu anderen Daten, Funktionalitäten, Autoren, Berechtigungen, Zugehörigkeit zu Komponenten und/oder Funktionalitäten oder vergleichbare In formationen sein.
Beziehungs-Informationen können beispielsweise weiterhin auch Quer- oder Cross-Referenzierung oder auch Materialfluss-Infor- mationen entnommen werden.
Beziehungs-Informationen können dabei gerichtet oder auch unge richtet sein. Gerichtete Beziehungs-Informationen können bei- spielsweise durch einen Pfeil symbolisiert werden welcher bei spielsweise eine Beziehungsinformationen wie „wird aufgerufen von", „gehört zu" oder ähnliche Beziehungen symbolisieren kann. Eine ungerichtete Beziehungs-Information kann beispielsweise ei ner Information entsprechen, dass zwei verschiedene Daten zu ei ner selben Datenkategorie gehören oder einer gleichen Komponente zugeordnet sind. Dies kann beispielsweise beim Erzeugen des Mul tigraphen berücksichtigt werden.
Die Identifikation bzw. das Ermitteln der Beziehungsinformatio nen kann beispielsweise durch die Auswertung beispielsweise von AufrufInformationen und/oder Aufrufketten von Programmbaustei nen, Funktionsbausteinen, Datenbausteinen oder allgemein POUs gemäß der vorliegenden Beschreibung erfolgen.
Weiterhin können Beziehungsinformationen beispielsweise anhand von Metainformationen zu bestimmten Automatisierungs-Enginee ringdaten oder auch Kommentaren zu solchen Daten ermittelt wer den. Solche Metainformationen bzw. Kommentare können beispiels weise unmittelbar solche Beziehungsinformationen, wie beispiels weise einer funktionalen Zuordnung, einer baulichen Zuordnung und/oder einer räumlichen Zuordnung entsprechen. Weiterhin kön nen Beziehungsinformationen beispielsweise auch aus Namen oder ID-Informationen ermittelt werden, beispielsweise aus der Über einstimmung von Teilen von Namen unterschiedlicher Datenelemente derselben Kategorie.
Als ein Graph wird im Zusammenhang mit der vorliegenden Be schreibung ein mathematisches Konstrukt verstanden, welches aus sogenannten „Knoten" und jeweils zwei Knoten verbindenden soge nannten „Kanten" aufgebaut ist. Eine grafische Darstellung sol cher Graphen kann beispielsweise eine Darstellung sein, bei wel cher die Knoten als Punkte oder Kreise und die Kanten als je weils Kreise verbindende Linien dargestellt sind. Unter einem Multigraphen werden dabei solche Graphen verstanden, bei welchen zwei Knoten auch über mehr als eine Kante, z.B. zwei oder mehr Kanten, verbunden sein können.
Kanten können dabei beispielsweise sogenannte „ungerichtete Kan ten" sein, bei welchen der Verbindung der jeweiligen Knoten kei ne logische Richtung zugeordnet ist. Weiterhin können Kanten auch als sogenannte „gerichtete Kanten" ausgebildet sein, bei welcher der Verbindung der jeweiligen Knoten eine logische Rich tung zugeordnet ist.
Der Multigraph kann beispielsweise in einem für Graphen fachüb lichen Datenformat angeordnet und/oder gespeichert sein. Unter einer Multigraphen im Sinne der vorliegenden Erfindung wird auch jede Datenstruktur verstanden, welche die in einem Multigraphen enthaltenen Informationen ebenfalls realisiert oder enthält.
Ein Graph oder Multigraph kann beispielsweise als ein sogenann ter "Knowledge Graph" ausgebildet und eingerichtet sein. Know ledge Graphen können z.B. solche Graphen oder Multigraphen sein, innerhalb welchen Wissen, Informationen und/oder entsprechende Meta-Informationen in einer Graphen-typischen Art und Weise ver knüpft und/oder angeordnet sind.
Insbesondere kann ein Multigraph gemäß der vorliegenden Be schreibung als ein "Knowledge Graph" ausgebildet und eingerich tet sein.
Ein Multigraphen im Sinne der vorliegenden Erfindung kann dabei beispielsweise derart ausgebildet und eingerichtet sein, dass die Knoten eines solchen Multigraphen beispielsweise verschiede nen Engineering-Elemente entsprechen, d.h. jeweils ein Knoten des Multigraphen entspricht jeweils einem Engineering-Element der Datensammlung. Die Kanten des Multigraphen werden dabei durch Beziehungs-Informationen zwischen den jeweiligen Enginee- ring-Elemente gebildet, d.h. jeweils eine Kante oder Verbindung zwischen zwei Knoten des Multigraphen entspricht jeweils einer Beziehungsinformation zwischen den den zwei Knoten entsprechen den Engineering-Elementen.
Solche, als entsprechende Verbindung zweier Knoten darstellbare Beziehungsinformationen, können beispielsweise Aufruf-Informa tionen oder Referenzier-Informationen zwischen Software-Bau steinen, die den jeweiligen Knoten zugeordnet sind, sein. Wei terhin kann beispielsweise einem Knoten, der ein bestimmtes En gineering-Element repräsentiert, eine zugehörige Kategorie- Bezeichnung, eine Workflow-Information, ein Name oder eine Ei genschaft oder auch eine diesem Engineering-Element zugehörige physikalische Einheit zugeordnet sein. In diesem Fall können Verbindungen weiterer Engineering Elemente zu diesen genannten Knoten beispielsweise einer Zugehörigkeit des weiteren Enginee ring-Elements zu dieser Kategorie oder auch die Verwendung der entsprechenden physikalischen Einheit durch das Engineering- Element zugeordnet sein. Weiterhin kann beispielsweise eine Ver bindung zweier Knoten auch die Information zugeordnet sein, dass die beiden, den Knoten zugeordneten Engineering-Elemente, bei spielsweise einer gleichen Daten-Kategorie angehören oder andere vergleichbare Ähnlichkeitseigenschaften aufweisen.
Im Rahmen des Aufbaus des Multigraphen kann dabei einer Kante bzw. Verbindung zweier Knoten eine sogenannte „Gewichtung" zuge ordnet werden. Eine solche Gewichtung kann beispielsweise als eine Stärke und/oder Relevanz der dieser Verbindung entsprechen den Beziehung zwischen den zwei den Knoten zugeordneten Enginee ring-Elementen betrachtet werden. Dabei können Verbindungen bzw. Kanten zwischen Knoten abhängig beispielsweise von ihrer Katego rie verschieden gewichtet werden. So kann beispielsweise eine Aufruf-Information stärker gewichtet werden als die Zugehörig keit zu einer bestimmten Kategorie oder physikalischen Einheit. Auch können gerichtete Informationen beispielsweise anders be wertet werden als ungerichtete Beziehungen.
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. So kann beispielsweise in einem ersten Beispiel die Gewichtung derart erfolgen, dass Beziehungen zwischen einer Softwarekomponente und einem mechanischen Teil als die wichtigste Verbindung im Rahmen eines entsprechenden Multigraphen bewertet wird. Auf diese Weise können dann bei einer nachfolgenden Analyse beispielsweise be vorzugt Cluster oder Ergebnisse entstehen, in welchen Enginee ring-Elemente welche eine Beziehung zu einem bestimmten mechani schen Teil aufweisen, besonders stark zusammengehörig gewichtet sind. In einem weiteren Beispiel kann beispielsweise die Zahl von Aufrufen zwischen Softwarekomponenten derart gewertet wer den, dass eine höhere Zahl von Aufrufen einer höheren Gewichtung einer diesen Aufrufen zugeordneten Verbindung zwischen den, den jeweiligen Softwarekomponenten entsprechenden Knoten entspricht. Auf diese Weise können sich beispielsweise bei einer nachfolgen den Analyse Cluster oder Ergebnisse bilden, in welchen Enginee ring-Elemente mit vergleichbarer Funktionalität besonders stark gewichtet sind. Weiterhin kann beispielsweise auch eine Aufruf- Information und oder Referenzier-Information stärker gewichtet werden als die Zugehörigkeit zu einer bestimmten Kategorie oder physikalischen Einheit. Auch können gerichtete Informationen beispielsweise anders bewertet werden als ungerichtete Beziehun gen.
Für das Zuordnen einer Gewichtung zu einer Kante bzw. Beziehung zwischen zwei Knoten können die vorstehend beispielhaft genann ten Gewichtungskategorien auch beliebig miteinander kombiniert werden. Vor der Durchführung eines Analyse-Verfahrens könnte dann bei spielsweise sämtliche der Beziehungen zwischen zwei Knoten, bei spielsweise unter Berücksichtigung Ihrer jeweiligen Gewichtun gen, zu einer einzigen gewichteten Verbindung zwischen diesen beiden Knoten subsumiert, aufsummiert und/oder zusammen gefasst werden.
Im Rahmen der vorliegenden Beschreibung werden daher die Worte "Knoten" und "Engineering-Elemente" in diesem Zusammenhang ent sprechend synonym benutzt. Weiterhin werden die Begriffe "Bezie hung zwischen Knoten", "Beziehungs-Informationen zwischen Kno ten", „Kante zwischen Knoten", „Beziehung zwischen Engineering- Elementen", „Beziehungs-Informationen zwischen Engineering- Elementen" und vergleichbare Begriffe im Rahmen der vorliegenden Beschreibung entsprechend synonym verwendet.
Das Assistenzmodul kann beispielsweise eine oder mehrere Daten banken umfassen. Diese Datenbanken können beispielsweise im Rah men der Erzeugung des Engineeringvorschlags verwendet werden.
Weiterhin kann das Assistenzmodul auch Software umfassen, welche zur Erzeugung eines Engineering-Vorschlags gemäß der vorliegen den Beschreibung ausgebildet und eingerichtet ist. Dabei kann eine Software beispielsweise insbesondere zu einer Erzeugung ei nes Engineering-Vorschlags gemäß Merkmal d.) in der vorliegenden Beschreibung ausgebildet und eingerichtet sein.
Weiterhin kann das Assistenzmodul auch eine Software umfassen, welche eine Benutzerschnittstelle für einen Benutzer umfasst, die beispielsweise derart ausgebildet und eingerichtet sein kann, dass die Erzeugung des Engineering-Vorschlags unter Mit wirkung eines Benutzers erfolgt bzw. erfolgen kann. Eine solche Mitwirkung kann beispielsweise in der Auswahl von einer oder mehreren Optionen aus einer Auswahl von Optionen und/oder der Eingabe von Zusatzinformationen bestehen. Weiterhin kann das Assistenzmodul eine Software zum Einrichten, Ändern und/oder Abfragen von einer oder mehrerer im Assistenzmo dul gespeicherter Datenbanken ausgebildet und eingerichtet sein. Im Falle von Datenbanken, in welchen das Ergebnis eines maschi nellen Lernverfahrens gespeichert ist (z.B. einem neuronalen Netz, einem Entscheidungsbaum, einer „Support-Vektor-Maschine" oder vergleichbaren Datenbanken), kann eine solche Software bei spielsweise weiterhin auch zum Trainieren der entsprechenden Da tenbank ausgebildet und eingerichtet sein.
Die im Assistenzmodul gespeicherte Datenbank kann beispielsweise sogenannte Engineering-Regeln oder -Abläufe umfassen, welche Ab folgen von Engineering-Schritten, jeweils einen Aufbau verschie dener Engineering-Projekte und/oder Namenskonventionen für Engi neering-Elemente und/oder Engineering-Daten beinhalten können. Weiterhin kann die im Assistenzmodul gespeicherte Datenbank auch sogenannte „Templates" umfassen, welche Engineering Projekte beispielsweise für häufiger wiederkehrende Anwendungsfälle um fassen können. Solche Templates können beispielsweise komplette Engineering-Projekte sein oder auch Gerüste für Engineering Pro jekte, welche wesentliche Elemente eines solchen Projekts umfas sen, von einem Anwender aber noch weiter ausgestaltet, verbes sert und/oder erweitert werden können oder müssen.
Die gespeicherte Datenbank kann beispielsweise als eine relatio nale Datenbank oder eine nicht-relationale Datenbank, beispiels weise eine sogenannte NoSQL-Datenbank, ausgebildet und einge richtet sein.
Eine semantische Datenbank kann beispielsweise eine Datenbank sein, in welcher die gespeicherte Information mittels semanti scher Suchoperationen ermittelbar sind. Dabei kann die semantische Datenbank beispielsweise in einem so genannten NoSQL-Datenbankformate oder auch dem sogenannten Know- ledge-Graph-Datenformat vorliegen.
Dabei können verschiedene Teile der semantischen Datenbank auch in verschiedenen der oben genannten Formate abgespeichert sein.
Weiterhin kann die semantische Datenbank auch weitere Teile um fassen, die in keinem der oben genannten Datenbankformate vor liegen.
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 ver teilte ACID-Datenbank, eine Key-Value-Datenbank, eine Attribut- Wertpaar-orientierte Datenbank, eine Multivalue-Datenbank, eine Objekt-orientierte Datenbank und/oder als eine Spalten-orien- tierte Datenbank oder eine Kombination oder Weiterentwicklung solcher Datenbanken eingerichtet und ausgestaltet sein.
In der semantischen Datenbank können die gespeicherten Informa tionen 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 verwendenden Datenbank abgelegt sein oder die semantische Datenbank kann derartige Da tenbanken umfassen.
Weiterhin kann die Datenbank zur Speicherung eines Ergebnisses eines maschinellen Lernverfahrens ausgebildet und eingerichtet sein. In diesem Fall kann die Datenbank beispielsweise als ein oder mehrere neuronale Netze, Entscheidungsbäume, „Support- Vektor-Maschinen" o. ä. ausgebildet und eingerichtet sein bzw. derartige Elemente umfassen. Elektronisch speicherbare oder ge speicherte Ergebnisse maschineller Lernverfahren werden im Rah- men der vorliegenden Beschreibung als sogenannte „ML-Modelle" bezeichnet.
Die Ergebnisse maschineller Lernverfahren, die entsprechenden Datenbanken und/oder ML-Modelle können weiterhin gemäß der vor liegenden Beschreibung ausgebildet und eingerichtet sein.
Die Erzeugung des Engineering-Vorschlags kann dabei derart er folgen, dass die im Multigraphen gespeicherten Informationen, oder Teile davon, für eine Suche in der im Assistenzmodul ge speichert Datenbank verwendet werden, wobei das Ergebnis der Su che dann beispielsweise unmittelbar den Engineering-Vorschlag bilden kann oder Grundlage für einen Engineering-Vorschlag gemäß der vorliegenden Beschreibung sein kann.
Im Falle der Ausgestaltung der Datenbank als eine relationale oder nicht-relationale Datenbank kann beispielsweise im Multi graphen gespeicherte Information zur Erstellung eines Such- Querys bzw. einer Such-Abfrage für die Datenbank herangezogen werden und das Ergebnis der Suche dann zum Erstellen des Engine ering-Vorschlags verwendet werden. Im Falle der Ausgestaltung der Datenbank als ein ML-Modell kann beispielsweise die Multi graphen gespeicherte Information, oder Teile davon, auf das ML- Modell angewendet werden und das Ergebnis dieser Anwendung dann zum Erstellen des Engineering-Vorschlags verwendet werden.
Beispielsweise kann der Multigraph in einem Standard- Datenbankformat für entsprechende Multigraphen gespeichert sein, sodass sich daraus auf vereinfachte Weise ein entsprechender Such-Query bzw. eine entsprechende Such-Abfrage ableiten lässt.
Beispielsweise kann die Erzeugung des Engineering-Vorschlags derart erfolgen, dass mit einem Engineeringsystem erste Eingaben für ein neues Engineering-Projekt für eine Vorrichtung oder An lage getätigt werden, welche dann Engineering-Anfangsdaten gemäß der vorliegenden Beschreibung bilden. Solche Anfangsdaten können z.B. ein Zweck oder Einsatzbereich einer Anlage oder Vorrichtung sein, ein oder mehrere wesentliche technische Komponenten oder Teile der Anlage oder Vorrichtung oder ein oder mehrere wesent liche Komponenten, Module und/oder Funktionsbausteine eines ent sprechenden Steuerprogramms. Aus diesen Anfangsdaten wird dann gemäß der vorliegenden Beschreibung ein entsprechender Multi graph aufgebaut, der dann zum Erstellen einer Suchabfrage für die im Assistenzmodul gespeicherte Datenbank herangezogen wird.
Aufgrund von beispielsweise in der Datenbank gespeicherten Re geln oder Arbeitsabläufen kann dann z.B. ein auf diesen Eingaben basieren der Vorschlag ausgegeben werden, wie nächste Schritte für die weitere Erstellung des Engineering-Projekts ausgestaltet und eingerichtet sein könnten. Dieser Vorschlag bildet dann ei nen möglichen Engineering-Vorschlag gemäß der vorliegenden Be schreibung.
Im Falle einer Datenbank, in welcher, zumindest unter anderem, Templates für Engineering-Projekte gespeichert sind, kann alter nativ oder zusätzlich auf der Grundlage von im Multigraphen ge speicherten Informationen ein Template für ein Engineering Pro jekt ausgewählt werden, welches möglichst gut zu den Enginee ring-Anfangsdaten passt bzw. diese nach Möglichkeit umfasst bzw. diesen nahekommt. In diesem Fall wäre ein solches ausgewähltes Template dann ebenfalls ein Engineering-Vorschlag gemäß der vor liegenden Beschreibung.
Bei Datenbanken, welche beispielsweise ein ML-Modell umfassen, oder als ein solches ausgebildet und eingerichtet sind, können beispielsweise auf der Basis des erstellten Multigraphen ein Eingabe-Vektor bzw. entsprechend aufbereitete Eingabedaten für das ML-Modell erstellt werden, welche dann auf das ML-Modell an gewendet werden. Dabei kann ein solcher Eingabe-Vektor bzw. die aufbereiteten Eingangsdaten der oben genannten Suchabfrage ent- sprechen. Beispielsweise kann das ML-Modell auch derart ausge bildet und eingerichtet sein, dass der Multigraph, bzw. Teile davon, unmittelbar als Eingangsdaten auf das ML-Modell angewen det werden können. Dafür kann der Multigraph, bzw. die Teile da von, z.B. in ein Standart-Datenformat umgewandelt werden bzw. in einem solchen vorliegen.
Das Ergebnis einer solchen Anwendung des Multigraphen auf das ML-Modell kann wiederum beispielsweise ein Vorschlag für einen oder mehrere nächste Schritte bei der Erstellung eines Enginee ring-Projekts darstellen oder auch einen kompletten Projektvor schlag für ein Engineering-Projekt. Der Projektvorschlag kann dabei beispielsweise ein sogenanntes Template sein oder auch ein Projekt-Gerüst, welches von einem Anwender nachfolgend bei spielsweise noch verbessert, verfeinert und/oder korrigiert wer den kann.
Mithilfe einer Anwendung der im Assistenzmodul gespeicherten Da tenbank auf die Struktur des Multigraphen, zum Beispiel auf die VerbindungsStruktur zwischen den einzelnen Knoten, können bei spielsweise fehlende Verbindungen bzw. Kanten im Multigraphen identifiziert und als Engineering-Vorschlag ausgegeben werden - bzw. der Engineering-Vorschlag kann solche fehlenden Verbindun gen bzw. Kanten umfassen. Solche fehlenden Verbindungen können beispielsweise noch nicht eingerichteten Funktionsaufrufen („function calls") im Engineering-Projekt entsprechen. Generell kann die Anwendung der im Assistenzmodul gespeicherten Datenbank auf die Struktur des Multigraphen zum Vorhersagen von Verbindun gen im Multigraphen ausgebildet und eingerichtet sein (sogenann te „Link Prediction") bzw. zum Erkennen fehlender Verbindungen im Multigraphen. Insbesondere ML-Modelle gemäß der vorliegenden Beschreibung können hierfür beispielsweise geeignet sein. In einer vorteilhaften Ausgestaltung kann das mindestens eine Engineering-Element der Engineering-Anfangsdaten aus mindestens einer der drei nachfolgend aufgeführten Datenquellen entstammt:
- eine erste Datenquelle mit Automatisierungs-Engineeringdaten bezüglich einer Automatisierung und/oder Automatisierungs- Planung der Anlage oder Vorrichtung oder Teilen davon,
- eine zweite Datenquelle mit MCAD-Daten bezüglich einer mecha nischen und/oder räumlichen Planung der Vorrichtung oder Anlage oder Teilen davon, und/oder bezüglich einer mechanischen und/oder räumlichen Ausgestaltung der Vorrichtung oder Anlage oder Teilen davon,
- eine dritte Datenquelle mit ECAD-Daten) bezüglich einer elek trischen Planung und/oder Stromlaufplanung der Vorrichtung oder Anlage oder Teilen davon, und/oder bezüglich einer elektrischen Ausgestaltung und/oder realisierten Stromlaufplanung der Vor richtung oder Anlage oder Teilen davon.
Dabei können die Automatisierungs-Engineering Daten, die MCAD- Daten, die ECAD-Daten und/oder die Datenquellen insgesamt gemäß der vorliegenden Beschreibung ausgebildet und eingerichtet sein.
In einer weiteren vorteilhaften Ausgestaltung kann das Verfahren derart ausgebildet und eingerichtet sein, dass wobei im Assis tenzmodul weiterhin eine weitere Datenbank bezüglich Enginee ring-Regeln und/oder Engineering-Arbeitsabläufen gespeichert ist, und dass im Rahmen des Verfahrensschritts d.) der Engineering- Vorschlag unter Verwendung des Multigraphen sowie der im Assis tenzmodul gespeicherten Datenbank und der im Assistenzmodul ge speicherten weiteren Datenbank erzeugt wird.
Dabei kann die weitere Datenbank als Datenbank gemäß der vorlie genden Beschreibung ausgebildet und eingerichtet sein. Die Verwendung zweier Datenbanken innerhalb des Assistenzmoduls verbessert die Möglichkeiten einer Verwendung des Assistenzsys tems weiterhin in den beispielsweise eine für bestimmte Enginee ring-Anfangsdaten besser geeignete Datenbank zur Erstellung des Engineering-Vorschlags herangezogen wird.
Weiterhin kann das Verfahren auch derart ausgebildet und einge richtet sein, dass Verfahrensschritt d.) derart ausgebildet und eingerichtet ist, dass ein erster Engineering-Vorschlag unter Verwendung des Multigraphen sowie der im Assistenzmodul gespei cherten Datenbank, und ein zweiter Engineering-Vorschlag unter Verwendung des Mul tigraphen sowie der im Assistenzmodul gespeicherten weiteren Da tenbank erzeugt wird, und nachfolgend der Engineering-Vorschlag unter Verwendung des ersten und zweiten Engineering-Vorschlags erzeugt wird.
Dabei können die Datenbank sowie die weitere Datenbank im Assis tenzmodul beispielsweise derart ausgebildet und eingerichtet sein, dass eine der beiden Datenbank als eine Regel-Ablaufs- Datenbank und die andere der Datenbanken als ein ML-Modell aus gebildet und eingerichtet ist. Auf diese Weise können im Rahmen der Ermittlung eines Engineering-Vorschlags sowohl ein erster Vorschlag aufgrund der Regel-Ablaufs-Datenbank erstellt werden und ein zweiter Vorschlag aufgrund des ML-Modells und dann in einem weiteren Schritt beide Ergebnisse zu einem letztendlichen Engineering-Vorschlag konsolidiert werden.
Eine solche Konsolidierung kann beispielsweise derart erfolgen, dass übereinstimmende Bestandteile des ersten und zweiten Vor schlags als Engineering-Vorschlag ausgewählt werden. Weiterhin können im Rahmen der Ermittlung des ersten und zweiten Enginee ring Vorschlags auch Gewichtungs-Werte oder Wahrscheinlichkeits- Werte mit erzeugt und/oder ausgegeben werden, anhand welcher beispielsweise ermittelbar ist, wie relevant bzw. eindeutig be- stimmte Bestandteile des ersten und/oder zweiten Engineering Vorschlags für die erfassten Engineering-Anfangsdaten sind. Im Rahmen der Konsolidierung können dann beispielsweise jeweils diejenigen Elemente des ersten und zweiten Vorschlags ausgewählt werden, welche eine Gewichtung bzw. einen Wahrscheinlichkeits wert oberhalb eines bestimmten vorgegebenen oder vorgebbaren Schwellwerts haben oder welche im relativen Vergleich des ersten und zweiten Vorschlags jeweils die höheren Gewichtungen bzw. Wahrscheinlichkeitswerte aufweisen.
Weiterhin können beispielsweise die Engineerings-Anfangsdaten auf die Datenbank sowie die weitere Datenbank angewendet werden und auf der Basis von jeder dieser Datenbanken jeweils ein Engi neering-Vorschlag erstellt werden. Nachfolgend kann dann bei spielsweise automatisiert oder auch durch eine entsprechende Nutzereingabe einer der Vorschläge als Engineering-Vorschlag ausgewählt werden. Dabei kann eine automatisierte Auswahl bei spielsweise der Art erfolgen, dass derjenige der Engineering- Vorschläge ausgewählt wird, welcher den Engineering-Anfangsdaten näherkommt bzw. mehr davon umfasst.
Weiterhin können die Datenbank und die weitere Datenbank bei spielsweise derart ausgebildet und eingerichtet sein, dass eine der beiden Datenbanken zur Ausgabe eines Engineering-Vorschlags ausgebildet und eingerichtet ist, welche auf Basis der Enginee ring-Anfangsdaten nächste Schritte für die Erstellung eines En gineeringprojekts vorschlägt, während die andere der Datenbanken zur Ausgabe eines Templates für ein Engineering Projekt gemäß der vorliegenden Beschreibung ausgebildet und eingerichtet ist. Nachfolgend kann dann beispielsweise einer der beiden Enginee ring-Vorschläge automatisiert, teilautomatisiert oder auch manu ell ausgewählt werden. Beispielseise können weiterhin auch beide der Vorschläge verwendet werden, indem beispielsweise auf der Grundlage des Templates einem Nutzer Vorschläge zur weiteren Be- arbeitung des Templates bzw. nächste Bearbeitungsschritte für eine Bearbeitung des Templates gemacht werden.
Weiterhin können die Datenbank und die weitere Datenbank bei spielsweise derart ausgebildet und eingerichtet sein, dass eine der beiden Datenbanken als eine relationale oder nicht relationale Datenbank ausgebildet ist oder eine solche umfasst, während die andere Datenbank als ein ML-Modell ausgebildet ist bzw. ein solches umfasst.
Eine solche Ausgestaltung hat beispielsweise den Vorteil, dass sowohl Regel-basiert als auch Erfahrungs-basiert Engineering- Vorschläge erarbeitet werden können und dann beispielsweise ent weder einer von beiden Vorschlägen ausgewählt werden kann oder beide Vorschläge auch zu einem einzigen Engineering-Vorschlag kombiniert werden können.
Das Verfahren kann weiterhin beispielsweise derart ausgestaltet und eingerichtet sein, dass die Datenbank (320) als eine Regel- Ablaufs-Datenbank (320) oder als ein durch Anwendung eines ma schinellen Lernverfahrens erzeugtes ML-Modell (330) ausgebildet und eingerichtet ist, und/oder dass die weitere Datenbank (330) als eine Regel-Ablaufs-Daten bank (320) oder als ein durch Anwendung eines maschinellen Lern verfahrens erzeugtes ML-Modell (330) ausgebildet und eingerich tet ist.
Im Rahmen eines Engineerings von Automatisierungssystemen können beispielsweise sogenannte Regeln, Engineering-Arbeitsabläufe (sogenannte "Workflows") und Vorlagen oder Templates verwendet werden.
Dabei wird unter einer Regel im Rahmen der vorliegenden Be schreibung beispielsweise ein Leitfaden verstanden, wie ein Au- tomatisierungssystem bzw. ein bestimmter Aspekt eines Automati sierungssystems beispielsweise für ein bestimmtes Problem ausge legt oder eingerichtet werden muss. Solche Regeln können bei spielsweise Programmierstandards, eine Namensvergabe beispiels weise für Variablen und/oder Gerätenamen oder z.B. auch Regeln für eine Vergabe von Kommunikationsadressen bzw. entsprechenden Adressen-Namen betreffen bzw. umfassen.
Unter einem Engineering-Arbeitsablauf bzw. Workflow wird im Rah men der vorliegenden Beschreibung eine Abfolge von Engineering- Schritten verstanden, die erforderlich sind, um ein bestimmtes Engineering-Ergebnis zu erzielen.
Unter einer Vorlage bzw. einem Template wird im Rahmen der vor liegenden Beschreibung beispielsweise ein Formular, eine Datei oder eine ähnliche Datensammlung verstanden, die als Vorlage z.B. für ein Engineeringprojekt verwendbar ist bzw. verwendet wird.
Solche Templates bzw. Vorlagen können z.B. als sogenannte "Wiz- zards" ausgebildet und eingerichtet sein, die nach einem vorge gebenen oder vorgebbaren Schema Informationen von einem Benutzer abfragen, die z.B. für das Erstellen eines bestimmten Enginee ringprojekts notwendig sind - und ggf. ein solches Engineering projekt danach auch unmittelbar erstellt.
Solche Templates bzw. Vorlagen können z.B. weiterhin, oder al ternativ, auch als Entwurf für ein Engineering-Projekt ausgebil det sein, wobei weitere Benutzereingaben eingebbar sein können oder eingegeben werden, um den Entwurf an ein bestimmtes Prob lem, bestimmte Geräte, Anlagen oder Vorrichtungen und/oder ein bestimmtes Automatisierungsthema anzupassen.
Weiterhin können entsprechende Vorlagen bzw. Templates auch vollständige Automatisierungs-Projekte sein oder auch Gerüste für Automatisierungs-Projekte bzw. teilweise fertig gestellte Engineering-Projekte sein.
Die genannten Regeln, Workflows oder Vorlagen können beispiels weise manuell, z.B. von Domänenexperten, vordefiniert werden und der automatischen Instanziierung eines neuen Automatisierungs- Projekts (z.B. in einem entsprechenden Engineeringsystem) die nen. Beispielsweise kann ein Engineeringsystem vorgesehen sein, welches auf solchen Regeln, Workflows und Vorlagen basiert, um den Engineering-Prozess teilweise zu automatisieren.
Eine Regel-Ablaufs-Datenbank kann beispielsweise als eine Daten sammlung von Engineering-Regeln und/oder Engineering- Arbeitsabläufen, z.B. gemäß der vorliegenden Beschreibung, aus gebildet und eingerichtet sein.
Dabei kann die Regel-Ablaufs-Datenbank als relationale Daten bank, z.B. gemäß der vorliegenden Beschreibung, ausgebildet und eingerichtet sein. Weiterhin kann die Regel-Ablaufs-Datenbank auch als eine nicht-relationale Datenbank oder eine sogenannte NoSQL-Datenbank, z.B. gemäß der vorliegenden Beschreibung, aus gebildet und eingerichtet sein. Die Regel-Ablaufs-Datenbank kann weiterhin ganz allgemein als eine Datenbank gemäß der vorliegen den Beschreibung ausgebildet und eingerichtet sein.
Unter einem maschinellen Lernverfahren wird beispielsweise ein automatisiertes ("maschinelles") Verfahren verstanden, welches Ergebnisse nicht durch im Vorhinein festgelegte Regeln generiert sondern bei welchem vermittels eines maschinellen Lernalgorith mus oder Lernverfahrens aus vielen Beispielen (automatisch) Re gelmäßigkeiten identifiziert werden auf deren Basis dann Aussa gen über zu analysierende Daten erzeugt werden.
Solche maschinellen Lernverfahren können beispielsweise als ein überwachtes Lernverfahren, ein teilüberwachtes Lernverfahren, ein unüberwachtes Lernverfahren oder auch ein bestärkendes Lern verfahren ("Reinforcement Learning") ausgebildet und eingerich tet sein.
Beispiele für maschinelle Lernverfahren sind z.B. Regressions- Algorithmen (z.B. lineare Regressionsalgorithmen), eine Erzeu gung oder Optimierung von Entscheidungsbäumen (sogenannte "Deci- sion Trees"), Lernverfahren für neuronale Netze, Clustering- Verfahren (z.B. ein sogenanntes "k-means-Clustering"), Lernver fahren für bzw. Erzeugung von Stützvektormaschinen ("Support Vector Machines" (SVM)), Lernverfahren für oder Erzeugung von sequentiellen Entscheidungsmodellen oder Lernverfahren für oder Erzeugung von Bayessche Modellen oder Netzen.
Das Ergebnis einer solchen Anwendung maschineller Lernalgorith men oder Lernverfahren wird, insbesondere in der vorliegenden Beschreibung, als "Machine-Learning"-Modell oder ML-Modell be zeichnet. Ein solche ML-Modell stellt dabei das digital gespei cherte oder speicherbare Ergebnis der Anwendung eines maschinel len Lernalgorithmus oder Lernverfahrens auf zu analysierende Da ten dar.
Dabei kann die Erzeugung des ML-Modells derart ausgebildet und eingerichtet sein, dass das ML-Modell durch die Anwendung des maschinellen Lernverfahrens neu gebildet wird oder ein bereits bestehendes ML-Modell durch die Anwendung des maschinellen Lern verfahrens verändert oder angepasst wird.
Beispiele für solche ML-Modelle sind Ergebnisse von Regressions- Alogrithmen (z.B. eines linearen Regressions-Algorithmus), Neu ronale Netze ("Neural Networks"), Entscheidungsbäume ("Decision Tree"), die Ergebnisse von Clustering-Verfahren (inklusive z.B. die erhaltenen Cluster oder Cluster-Kategorien, -Definitionen und/oder -Parameter), Stützvektormaschinen ("Support Vector Ma- chines" (SVM)), Sequentielle Entscheidungsmodelle oder Bayessche Modelle oder Netze.
Neuronale Netze können dabei z.B. sogenannte "Deep Neural Net works", "Feed Forward Neural Networks", "Recurrent Neural Net works"; "Convolutional Neural Networks" oder "Autoencoder- Neural-Networks" sein. Dabei wird die Anwendung entsprechender maschineller Lernverfahren auf neuronale Netze häufig auch als "Training" des entsprechenden Neuronalen Netzes bezeichnet.
Entscheidungsbäume können beispielsweise als sogenannte "itera tive Dichotomizer 3 (ID3), Klassifikations- oder Regressions bäume (CART) oder auch sogenannte "Random Forests" ausgebildet und eingerichtet sein.
Unter Clustern werden dabei Gruppen von ähnlichen Datenpunkten oder Datengruppen verstanden, die durch eine Clusteranalyse ge bildet werden. Dabei können die Cluster beispielsweise durch An wendung eines entsprechenden Clusterings, Clustering-Verfahrens oder Clustering-Algorithmus auf die zu analysierenden Daten identifiziert bzw. erzeugt werden.
Mathematisch bestehen Cluster aus Objekten, die zueinander eine geringere Distanz (oder umgekehrt: höhere Ähnlichkeit) aufweisen als zu den Objekten anderer Cluster. Man kann entsprechende Clustering-Verfahren beispielsweise nach den verwendeten Dis tanz- bzw. Proximitätsmaßen zwischen Objekten der Cluster, aber auch zwischen ganzen Clustern, unterscheiden. Weiterhin bzw. al ternativ kann man entsprechende Clustering-Verfahren auch nach jeweiligen Berechnungsvorschriften für solche Distanzmaße unter scheiden.
Unter einem Clustering, Clustering-Verfahren oder Clustering- Algorithmus wird ein maschinelles Lernverfahren 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 ei nen Clustering-Algorithmus verwenden, um jedes Datum bzw. jeden Datenpunkt in eine bestimmte Gruppe zu klassifizieren. Eine sol che Gruppe wird dann als "Cluster" bezeichnet. Dabei weisen Da ten bzw. Datenpunkte, die sich in derselben Gruppe (also demsel ben Cluster) befinden, ähnliche Eigenschaften und/oder Merkmale auf, während Datenpunkte in verschiedenen Gruppen sehr unter schiedliche Eigenschaften und/oder Merkmale aufweisen.
Die Anwendung des Clustering-Verfahrens kann zum Beispiel die Anwendung eines Clustering-Algorithmus oder auch die Anwendung mehrerer Clustering-Algorithmen, beispielsweise nacheinander, umfassen. Solche Clustering-Algorithmen können beispielsweise ein sogenanntes "K-Means Clustering", ein sogenanntes "Mean- Shift Clustering", ein sogenanntes "Expectation-Maximization (EM) Clustering using Gaussian Mixture Models(GMM) ", ein soge nanntes "Agglomerative Hierarchical Clustering" und/oder ein so genanntes "Density-Based Spatial Clustering", z.B. ein Density- Based Spatial Clustering of Applications 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", "Ag glomeration Clustering", "Birch", "Gaussian Mixture".
Weitere Beispiele für solche Clustering-Verfahren oder - Algorithmen sind:
- sogenanntes "unsupervised clustering",
- das sogenannte K-means Clustering-Verfahren,
- Verfahren aus der Bildbearbeitung zur Erkennung von zusammen gehörenden Strukturen innerhalb vorliegender Bilder oder Bildin formationen
- eine Kombination der oben vorstehend genannten Verfahren. Unter einem neuronalen Netz wird, zumindest im Zusammenhang mit der vorliegenden Beschreibung, eine elektronische Einrichtung verstanden, welche ein Netzwerk sogenannter Knoten umfasst, wo bei in der Regel jeder Knoten mit mehreren anderen Knoten ver bunden ist. Die Knoten werden beispielsweise auch als Neuronen, Units oder Einheiten bezeichnet. Dabei hat jeder Knoten mindes tens eine Eingangs- und eine Ausgangsverbindung. Als Eingangs- Knoten für ein neuronales Netz, werden solche Knoten verstanden, welche von der Außenwelt Signale (Daten, Reize, Muster oder ähn liches) empfangen können. Unter Ausgabe-Knoten eines neuronalen Netzes werden solche Knoten verstanden, welche Signale, Daten oder ähnliches ausgeben können, beispielsweise an einen Nutzer oder eine andere Datenverarbeitungs- oder sonstige Einrichtung. Unter sogenannten „versteckten Knoten" („hidden nodes") werden solche Knoten eines neuronalen Netzes verstanden, welche weder als Eingangs- noch als Ausgangs-Knoten ausgebildet sind.
Dabei kann das neuronale Netz beispielsweise als ein sogenanntes tiefes neuronales Netz („deep neural network" (DNN)) ausgebildet sein. Ein solches "deep neural network" ist ein neuronales Netz, in welchem die Netzknoten in Schichten angeordnet sind (wobei die Schichten selbst ein-, zwei- oder auch höher-dimensional sein können). Ein tiefes neuronales Netz umfasst dabei mindes tens eine oder zwei sogenannte verdeckte Schichten, welche nur Knoten umfassen, die nicht Eingangsknoten oder Ausgangsknoten sind. Das heißt, die verdeckten Schichten haben keine Verbindun gen zu Eingangssignalen oder Ausgangssignalen.
Unter dem sogenannten „Deep Learning" wird dabei beispielsweise eine Klasse von maschinellen Lerntechniken verstanden, welche viele Schichten der nichtlinearen Informationsverarbeitung für die überwachte oder nicht-überwachte Merkmalsextraktion und - transformation sowie zur Musteranalyse und -klassifizierung aus nutzt. Das Neuronales Netz kann beispielsweise auch eine so genannte Auto-Encoder-Struktur aufweisen. Eine derartige Auto-Encoder- Struktur kann beispielsweise geeignet sein, um eine Dimensiona- lität der Daten zu reduzieren und beispielsweise so Ähnlichkei ten und Gemeinsamkeiten zu erkennen.
Ein Neuronales Netz kann beispielsweise auch als ein so genann tes Klassifizierungs-Netz ausgebildet sein, welches besonders dazu geeignet ist, Daten in Kategorien einzuteilen. Derartige Klassifizierungs-Netze werden beispielsweise in Zusammenhang mit Handschrift-Erkennung eingesetzt.
Eine weitere mögliche Struktur eines neuronalen Netzes kann bei spielsweise die Ausgestaltung als so genanntes „Deep-Believe- Network" sein.
Ein neuronales Netz kann beispielsweise auch eine Kombination von mehreren der vorstehend genannten Strukturen aufweisen. So kann beispielsweise die Architektur des neuronalen Netzes eine Auto-Encoder-Struktur umfassen, um die Dimensionalität der Ein gangsdaten zu reduzieren, welche dann weiterhin mit einer ande ren Netzstruktur kombiniert werden kann, um beispielsweise Be sonderheiten und/oder Anomalien innerhalb der datenreduzierten Dimensionalität zu erkennen bzw. die datenreduzierte Dimensiona lität zu klassifizieren.
Die die einzelnen Knoten und deren Verbindungen beschreibenden Werte inklusive weiterer ein bestimmtes neuronale Netz beschrei bende Werte können beispielsweise in einem das neuronale Netz beschreibenden Wertesatz gespeichert werden. Ein solcher Werte satz stellt dann beispielsweise eine Ausgestaltung des neurona len Netzes dar. Wird ein solcher Wertesatz nach einem Training des neuronalen Netzes gespeichert, so wird damit beispielsweise eine Ausgestaltung eines trainierten neuronalen Netzes gespei chert. So ist es beispielsweise möglich, in einem ersten Compu- tersystem das neuronale Netz mit entsprechenden Trainingsdaten zu trainieren, den entsprechenden Wertesatz, welcher diesem neu ronalen Netz zugeordnet ist, dann zu speichern und als Ausge staltung des trainierten neuronalen Netzes in ein zweites System zu transferieren.
Ein neuronales Netz kann in der Regel trainiert werden, indem über verschiedenste bekannte Lernmethoden durch Eingabe von Ein gangsdaten in das neuronale Netz und Analyse der dann entspre chenden Ausgangsdaten aus dem neuronalen Netz Parameterwerte für die einzelnen Knoten oder für deren Verbindungen ermittelt wer den. Solche Lernmethoden für Neuronale Netze sind Beispiele für maschinelle Lernverfahren im Sinne der vorliegenden Beschrei bung. Auf diese Weise kann ein neuronales Netz mit bekannten Da ten, Mustern, Reizen oder Signalen auf an sich heute bekannte Weise trainiert werden, um das so trainierte Netz dann nachfol gend beispielsweise zur Analyse weiterer Daten verwenden zu kön nen.
Allgemein wird unter dem Training des neuronalen Netzes verstan den, dass die Daten, mit welchen das neuronale Netz trainiert wird, im neuronalen Netz mithilfe eines oder mehrerer Trainings- Algorithmen verarbeitet werden, um so genannte Vorspannungswerte („Bias"), Gewichtungswerte („weights") und/oder Transferfunktio nen („Transfer Functions") der einzelnen Knoten des neuronalen Netzes bzw. der Verbindungen zwischen jeweils zwei Knoten inner halb des neuronalen Netzes zu berechnen bzw. zu verändern.
Unter einem trainierten neuronalen Netz wird dann beispielsweise die Gesamtheit aller für das Neuronale Netz nach einem entspre chenden Training (z.B. gemäß der vorliegenden Beschreibung) vor liegenden und/oder dieses charakterisierende Daten verstanden. Dies umfasst beispielsweise Daten über die vorliegenden Knoten und deren Verbindungen sowie z.B. im Rahmen des Trainings ermit telten Kenndaten dazu. Solche Kenndaten können z.B. die erwähn- ten Vorspannungswerte („Bias"), Gewichtungswerte („weights") und/oder Transferfunktionen („Transfer Functions") der einzelnen Knoten bzw. der Verbindungen dazwischen sein. Unter einem trai nierten neuronalen Netz im Sinne der vorliegenden Beschreibung wird jede mögliche Realisierung oder gespeicherte Version dieser Daten bezüglich des trainierten Neuronalen Netzes verstanden.
Zum Training eines neuronalen Netzes, z.B. gemäß der vorliegen den Beschreibung, kann beispielsweise eine der Methoden des so genannten „überwachten Lernens" („supervised learning") verwen det werden. Hierbei werden einem Netz durch Training mit ent sprechenden Trainingsdaten diesen Daten jeweils zugeordnete Er gebnisse oder Fähigkeiten antrainiert. Weiterhin kann zum Trai ning des neuronalen Netzes auch eine Methode des so genannten unüberwachten Trainings („unsupervised learning") verwendet wer den. Ein solcher Algorithmus erzeugt für eine gegebene Menge von Eingaben beispielsweise ein Modell, welches die Eingaben be schreibt und daraus Vorhersagen ermöglicht. Dabei gibt es bei spielsweise Clustering-Verfahren, mit welchen sich die Daten in verschiedene Kategorien einteilen lassen, wenn sie sich bei spielsweise durch charakteristische Muster voneinander unter scheiden.
Beim Trainieren eines neuronalen Netzes können auch überwachte und unüberwachte Lernmethoden kombiniert werden, beispielsweise wenn Teilen der Daten antrainierbare Eigenschaften oder Fähig keiten zugeordnet sind, während dies bei einem anderen Teil der Daten nicht der Fall ist.
Weiterhin können auch noch Methoden des so genannten bestärken den Lernens („reinforcement learning") für das Training des neu ronalen Netzes, zumindest unter anderem, verwendet werden.
Beispielsweise kann ein Training, welches eine relativ hohe Re chenleistung eines entsprechenden Computers erfordert, auf einem hoch-performanten System geschehen, während weitere Arbeiten o- der Datenanalysen mit dem trainierten neuronalen Netzes dann durchaus auf einem niedriger-performanten System durchgeführt werden kann. Solche weitere Arbeiten und/oder Datenanalysen mit dem trainieren neuronalen Netz können zum Beispiel auf einem As sistenzsystem und/oder auf einer Steuereinrichtung, einer Spei cherprogrammierbaren Steuerung oder einer modularen Speicherpro grammierbaren Steuerung oder weiteren entsprechenden Einrichtun gen gemäß der vorliegenden Beschreibung erfolgen.
In einer vorteilhaften Ausgestaltung kann das Verfahren derart ausgebildet und eingerichtet sein, dass die Engineering- Anfangsdaten weiterhin Engineering-Arbeitsablauf-Informationen umfasst und weiterhin in Verfahrensschritt c.) der Multigraph unter Verwendung der Engineering-Arbeitsablauf-Informationen er zeugt wird.
Engineering-Arbeitsablauf-Informationen sind Informationen be züglich eines zeitlichen Ablaufs im Rahmen der Erstellung eines Engineerings für die Vorrichtung oder Anlage. Dabei kann das En gineering ein Automatisierungs-Engineering, ein mechanisches En gineering und/oder ein elektrisches Engineering sein. Für die Erstellung eines Automatisierungs-Engineerings kann beispiels weise ein Automatisierungs-Engineeringsystem verwendet werden. Für die Erstellung eines mechanischen Engineerings kann bei spielsweise ein MCAD-Engineeringsystem verwendet werden. Weiter hin kann beispielsweise für die Erstellung eines elektrischen Engineerings ein sogenanntes ECAD-Engineeringsystem verwendet werden. Weiterhin kann ein Engineeringsystem auch für das Engi neering mehrerer der oben genannten Kategorien eingerichtet und ausgebildet sein.
Die Engineering-Arbeitsablauf-Information kann dann beispiels weise im Rahmen des jeweiligen Engineerings vom jeweiligen Engi neering System erfasst werden. Dabei kann die Arbeitsablauf- Information beispielsweise bei einem Erzeugen eines Engineering- Elements oder auch beim Einbringen eines Engineering-Elements in ein Engineering Projekt bezüglich der Vorrichtung oder Anlage erstellt werden. Dabei kann beispielsweise ein Zeitwert bezüg lich eines Zeitpunkts dieser Erzeugung oder Erstellung erfasst werden oder auch ein entsprechender Zählerwert, wobei beispiels weise im Rahmen eines Engineerings für die Vorrichtung oder An lage vom Engineeringsystem aufeinander folgenden Arbeitsschrit ten im Rahmen des Engineerings ein entsprechender aufsteigender Zählerwert zugewiesen wird.
Engineering-Arbeitsablauf-Informationen können Teil der jeweili gen Engineering-Daten sein oder auch davon unabhängig davon ge speicherte Daten.
Solche Engineering-Arbeitsablauf-Informationen können beispiels weise im Rahmen der Erstellung der jeweiligen Engineering-Daten in einem entsprechenden Engineeringsystem erfasst werden. Dies kann z.B. dadurch geschehen, dass einzelnen oder allen im Rahmen des Engineerings erzeugten Engineering-Elementen und/oder Ar- beitsschritten durch das jeweilige Engineeringsystem jeweils ein entsprechender Zeitwert, Zähler-Wert, Reihenfolge-Wert oder ein vergleichbarer zum Erstellen eines Arbeitsablauf-Information ge eigneter Wert zugeordnet wird. Dabei kann ein Arbeitsablauf- Information beispielsweise einem Zeitpunkt der Erstellung des Einbringens des Engineering-Objekts in ein entsprechendes Engi neering-Projekt entsprechen oder auch einem Zähler-Wert, wobei beispielsweise jedem Arbeitsschritt - oder auch jedem wesentli chen Arbeitsschritt - im Engineeringsystem entsprechend fortlau fende Zähler-Werte entsprechend der Reihenfolge ihrer Ausführung zugeordnet werden.
Arbeitsablauf-Infos können im Multigraph z.B. als Knoten enthal ten sein, die z.B. eine Ablauf-Information einem entsprechenden Engineering-Objekt zuordnen. Weiterhin können Arbeitsablauf-Informationen im Multigraph auch als eine Kante enthalten sein, die beispielsweise durch ihre Richtung darstellt, dass das Engineering Element am Ende der Kante (symbolisiert z.B. durch eine Pfeilspitze) nach dem Engi neering Element am Anfang der Kante erstellt wurde.
Weiterhin kann vorgesehen sein, dass unter Verwendung des Multi graphen sowie der im Assistenzmodul gespeicherten Datenbank und/oder der im Assistenzmodul gespeicherten weiteren Datenbank mindestens zwei Engineering-Vorschlags-Alternativen erzeugt wer den, und weiterhin der Engineering-Vorschlag durch mindestens eine Nutzereingabe aus den mindestens zwei Engineering-Vorschlags- Alternativen erzeugt wird.
Dabei kann das vorstehend genannte Verfahren derart ausgebildet und eingerichtet sein, dass beispielsweise ein erster Enginee ring-Vorschlag unter der Verwendung des Multigraphen und der Da tenbank erzeugt wird und ein zweiter Engineering-Vorschlag unter Verwendung des Multigraphen und der weiteren Datenbank erzeugt wird.
Dies kann insbesondere in dem Fall vorteilhaft sein, in welchem die Datenbank und die weitere Datenbank unterschiedliche Daten typen oder Datenkategorien umfassen, sodass in einer der Daten banken beispielsweise Regeln zum Aufbau eines Engineering- Projekt gespeichert sind, und in der anderen Datenbank z.B. Workflows bzw. Arbeitsabläufe zum Erstellen eines Engineering Projekts. In diesem Fall können beispielsweise beide Vorschläge einem Nutzer präsentiert werden und dieser kann entweder einen der beiden Vorschläge auswählen oder auch verschiedene Elemente aus jedem der beiden. Alternativ können beispielsweise in diesem genannten Fall auch beide Vorschläge ausgewählt werden so dass als Engineering-Vorschlag sowohl ein Regel-konformer Entwurf als auch nächste Arbeitsschritte zum Erstellen des Projekts erzeugt werden.
Die beiden Datenbanken können beispielsweise auch derart ausge staltet sein, dass eine der Datenbanken eine relationale oder nicht relationale Datenbank ist, während die andere als ein ML- Modell ausgebildet ist. Hier kann dann beispielsweise ein Nutzer diejenige Vorschlags-Alternative auswählen, die ihm für eine weitere Arbeit am sinnvollsten erscheinen. Alternativ kann ein Nutzer auch Elemente aus beiden der Vorschlags-Alternativen aus wählen, welche dann zu einem Engineering-Vorschlag kombiniert werden. Weiterhin können auch beide Vorschlags-Alternativen aus gewählt werden, welche dann wiederum zu einem Engineering- Vorschlag kombiniert werden können.
Die zwei Engineering-Vorschlags-Alternativen können beispiels weise auch unter Verwendung des Multigraphen und der Datenbank oder unter Verwendung des Multigraphen und der weiteren Daten bank erzeugt werden, indem zwei verschiedene Such-Strategien o- der Such-Abfragen auf die jeweilige Kombination von Multigraph und Datenbank angewendet werden. In diesem Fall kann dann der Engineering-Vorschlag wiederum beispielsweise durch Auswahl ei ner der Engineering-Vorschlags-Alternativen erzeugt werden oder auch durch Auswahl von Engineering-Elementen aus beiden Vor schlags-Alternativen. Weiterhin kann der Engineering-Vorschlag auch erzeugt werden, indem beide Vorschlags-Alternativen kombi niert werden. So kann beispielsweise für eine aus mehreren Kom ponenten bestehende Anlage für zwei oder mehrere der Komponenten jeweils eine Suchabfrage unter Verwendung des Multigraphen sowie der entsprechenden Datenbank erzeugt werden und die Ergebnisse dann kombiniert werden.
Diese Ausgestaltung verbessert das Verfahren zur Verwendung ei nes Assistenzsystems für das Engineering von Anlagen oder Vor richtungen weiter, indem durch Nutzung solcher Vorschlag- Alternativen ein besser auf eine Anlage oder Vorrichtung ange passter Engineering-Vorschlag erzeugbar ist.
Die vorstehend genannte Aufgabe wird weiterhin gelöst durch ein Assistenzsystem, welches zur Durchführung eines Verfahrens gemäß den Verfahrensschritten a.) bis d.) gemäß der vorliegenden Be schreibung ausgebildet und eingerichtet ist, wobei das Assistenzsystem eine Speichereinrichtung zur Speiche rung der Engineering-Anfangsdaten sowie das Assistenzmodul um fasst, wobei weiterhin die Datenbank und/oder die weitere Datenbank in einer Modul-Speichereinrichtung des Assistenzmoduls gespeichert sind.
Dabei können das Verfahren, die Speichereinrichtung, die Engine ering-Anfangsdaten, das Assistenzmodul, die Datenbank und/oder die weitere Datenbank gemäß der vorliegenden Beschreibung ausge bildet und eingerichtet sein.
Die Speichereinrichtung und/oder die Modul-Speichereinrichtung kann dabei als eine elektronische Speichereinrichtung bzw. digi tale Speichereinrichtung ausgebildet und eingerichtet sein.
Solch eine Speichereinrichtung kann beispielsweise als ein nicht flüchtiger Datenspeicher ausgebildet sein (ein sogenannter „non- volatile memory"), der zur dauerhaften bzw. längerfristigen Da tenspeicherung ausgebildet und eingerichtet ist. Solche Spei chereinrichtungen können beispielsweise als SSD-Speicher, SSD- Karten, Festplatten, CDs, DVDs, EPROMs oder Flash-Speicher oder vergleichbare Speichereinrichtungen sein.
Weiterhin kann eine Speichereinrichtung auch als flüchtiger Speicher („volatile memory") ausgebildet und eingerichtet sein. Solche Speicher können beispielsweise als sogenanntes DRAM oder dynamisches RAM („Dynamic Random Access Memory") oder SRAM („static Random Access Memory") ausgebildet und eingerichtet sein.
Die vorstehend genannte Aufgabe wird weiterhin gelöst durch ein Verfahren zur Erstellung und/oder zum Einrichten eines Assis tenzmoduls für ein Engineeringsystem, wobei das Engineeringsys tem zum Planen, Einrichten und/oder Automatisieren einer Vor richtung oder Anlage ausgebildet und eingerichtet ist, wobei eine Datensammlung umfassend Engineering-Elemente aus min destens einer der drei nachfolgend aufgeführten Datenquellen vorliegt:
- eine erste Datenquelle mit Automatisierungs-Engineeringdaten bezüglich einer Automatisierung und/oder Automatisierungs- Planung der Anlage oder Vorrichtung oder Teilen davon,
- eine zweite Datenquelle mit MCAD-Daten bezüglich einer mecha nischen und/oder räumlichen Planung der Vorrichtung oder Anlage oder Teilen davon, und/oder bezüglich einer mechanischen und/oder räumlichen Ausgestaltung der Vorrichtung oder Anlage oder Teilen davon,
- eine dritte Datenquelle mit ECAD-Daten bezüglich einer elektrischen Planung und/oder Stromlaufplanung der Vorrichtung oder Anlage oder Teilen davon, und/oder bezüglich einer elektri schen Ausgestaltung und/oder realisierten Stromlaufplanung der Vorrichtung oder Anlage oder Teilen davon.
Dieses Verfahren umfasst die nachfolgenden Verfahrensschritte: a.) Ermitteln von Beziehungsinformationen, die jeweils Enginee ring-Elementen der Datensammlung zugeordnet sind, b.) Erzeugen eines Multigraphen umfassend Knoten sowie Verbin dungen zwischen Knoten, wobei die Knoten jeweils Engineering- Elementen der Datensammlung zugeordnet sind und die Verbindungen jeweils gemäß Verfahrensschritt a.) ermittelten Beziehungsinfor mationen zugeordnet sind, c.) Anwendung eines Analyseverfahrens auf den Multigraphen und Erzeugen eines Analyse-Ergebnisses durch diese Anwendung des Analyseverfahrens auf den Multigraphen, d.) Erstellen und/oder Erweitern einer Datenbank des Assistenz moduls unter Verwendung des Analyse-Ergebnisses.
Dabei kann das Assistenzmodul, das Engineering System, die Engi neering-Elemente, die Automatisierungs-Engineering Daten, die MCAD-Daten, die ECAD-Daten, die Beziehungsinformationen, die Da tensammlung, der Multigraph und/oder die Datenbank gemäß der vorliegenden Beschreibung ausgebildet und eingerichtet sein.
In einer vorteilhaften Ausgestaltung kann vorgesehen sein, dass die Anwendung des Analyseverfahrens und/oder die Anwendung des weiteren Analyseverfahrens jeweils einen Umwandlungsschritt zur Umwandlung des Multigraphen in ein standardisiertes Datenformat umfasst.
Dabei kann das standardisierte Datenformat für den Multigraphen gemäß der vorliegenden Beschreibung ausgebildet und eingerichtet sein.
Das Analyseverfahren kann dabei derart ausgebildet und einge richtet sein, dass es zumindest teilweise automatisiert ablau fende Analyseschritte umfasst und/oder teilautomatisiert ablau fen kann. Alternativ kann das Analyseverfahren auch aus automa tisch ablaufenden Analyseschritten aufgebaut sein und/oder voll ständig automatisiert ablaufen.
Dabei kann das Analyseverfahren numerische, mathematische und/oder statistische Analyseschritte umfassen. Weiterhin kann das Analyseverfahren auch Sprachanalyse-Schritte und/oder Bilda- nalyse-Schritte umfassen.
Das Analyseverfahren kann weiterhin beispielsweise als ein sta tistisches Analyseverfahren oder auch ein maschinelles Lernver fahren gemäß der vorliegenden Beschreibung ausgebildet und ein- gerichtet sein beziehungsweise ein derartiges Verfahren umfas sen.
Das Analyse-Ergebnis kann beispielsweise ein oder mehrere soge nannte Engineering-Regeln umfassen oder aus solchen bestehen. Weiterhin kann das Analyse-Ergebnis beispielsweise ein oder meh rere sogenannte Engineering-Arbeitsabläufe (sogenannte „Work- flows") umfassen oder aus solchen bestehen. Dabei können Engine ering-Regeln oder Engineering-Arbeitsabläufe gemäß der vorlie genden Beschreibung ausgebildet und eingerichtet sein.
Weiterhin kann das Analyse-Ergebnis auch ein oder mehrere soge nannte „Templates" umfassen, welche Engineering Projekte bei spielsweise für häufiger wiederkehrende Anwendungsfälle umfassen können. Solche Templates können beispielsweise komplette Engine ering-Projekte sein oder auch Gerüste für Engineering Projekte, welche wesentliche Elemente eines solchen Projekts umfassen, von einem Anwender aber noch weiter ausgestaltet, verbessert und/oder erweitert werden können oder müssen.
Weiterhin kann das Analyse-Ergebnis auch als Ergebnis eines ma schinellen Lernverfahrens ausgebildet und eingerichtet sein. In diesem Fall kann das Analyse-Ergebnis z.B. als ein unter Verwen dung des Mulitgraphen trainiertes und/oder eingerichtetes ML- Modell gemäß der vorliegenden Beschreibung ausgebildet und ein gerichtet sein, beispielsweise als ein oder mehrere unter Ver wendung des Multigraphen trainierte und/oder eingerichtete neu ronale Netze, Entscheidungsbäume, „Support-Vektor-Maschinen" o- der ähnliches, bzw. derartige Elemente umfassen.
Maschinelle Lernverfahren, die Ergebnisse maschineller Lernver fahren, die entsprechenden Datenbanken und/oder ML-Modelle kön nen weiterhin gemäß der vorliegenden Beschreibung ausgebildet und eingerichtet sein. Dabei kann die Erzeugung des Analyse-Ergebnisses beispielsweise durch Anwendung einer oder mehrerer maschineller Lernverfahren (auch eine Kombination verschiedener maschineller Lernverfahren) umfassen oder aus einer Anwendung solcher maschineller Lernver fahren bestehen.
Durch Anwendung des Analyseverfahrens auf die Struktur des Mul tigraphen, zum Beispiel auf die Verbindungsstruktur zwischen den einzelnen Knoten, können beispielsweise Engineering-Regeln abge leitet werden. Beispielsweise können mit solchen Regeln dann später fehlende Verbindungen bzw. Kanten im Multigraphen identi fiziert werden. Solche fehlenden Verbindungen können beispiels weise noch nicht eingerichteten Funktionsaufrufen („function calls") im Engineering-Projekt entsprechen. Generell können Ana lyseverfahren beispielsweise zum Vorhersagen von Verbindungen im Multigraphen ausgebildet und eingerichtet sein (sogenannte „Link Prediction") bzw. zum Erkennen fehlender Verbindungen im Multi graphen. Insbesondere maschinelle Lernverfahren können bei spielsweise hierfür besonders geeignet sein.
Solche maschinelle Lernverfahren können beispielsweise überwach te Lernverfahren unter Verwendung von binären Klassifizierungen für ein Ende-zu-Ende-Lernen von Verbindungen eines Graphen sein, beispielsweise unter der Verwendung von sogenannten „latent fea- ture methods". Auch unüberwachte Lernverfahren unter Verwendung verschiedener Arten von Knotenabstands-Bewertungen zum Auffinden ähnlicher Engineering-Elemente oder -Situationen können hierfür verwendet werden. Beispiele für solche Lernverfahren sind bei spielsweise ein „Common Neighbours"-Verfahren, ein „Jaccard's Coeffizient"-Verfahren, ein „Adamic/Adar"-Verfahren, ein „Prefe- rential Attachment"-Verfahren, ein „Katz"-Verfahren, ein „Hit- ting Time"-Verfahren und/oder ein „Rooted PageRank"-Verfahren. Ein Ergebnis eines derartigen Lernverfahrens ist beispielsweise ein analytisches Modell, wie beispielsweise ein oder mehrere En gineering-Regeln, ein neuronales Netz oder vergleichbares.
Wird dann ein entsprechender Multigraph, z.B. erstellt aus Engi neering-Anfangsdaten gemäß der vorliegenden Beschreibung, bzw. Teile eines solchen Multigraphen, auf ein solches ML-Modell an gewandt, dann lassen sich auf diese Weise beispielsweise ein o- der mehrere Verbindungen identifizieren und ggf. automatisch einfügen, die in diesem Eingangs-Multigraphen noch nicht enthal ten waren. Alternativ können solche identifizierten noch fehlen den Verbindungen einem Nutzer ausgegeben und zur Anwendung vor geschlagen werden. Solche Vorschläge von Verbindungen können beispielsweise nach Wahrscheinlichkeit, Wichtigkeit oder ähnli chen Größen sortiert vorgeschlagen werden. Weiterhin kann bei spielsweise eine Auswahl entsprechender Verbindungen automati siert oder auch durch einen Nutzer erfolgen. Auch weitere Infor mationen in Bezug auf entsprechende Vorschläge können von einem Nutzer initiiert werden oder gegebenenfalls auch eingegeben wer den.
Derartige Vorschläge für ein oder mehrere Verbindungen in einem Multigraphen sind Beispiele für Engineering-Vorschläge im Sinne der vorliegenden Beschreibung. Der vorstehend beschriebene Ab lauf der Anwendung eines Multigraphen auf das genannte ML-Modell kann dann beispielsweise einem Verfahren zum Erzeugen eines En gineering-Vorschlag gemäß der vorliegenden Beschreibung entspre chen.
Das Erstellen und/oder Erweitern der Datenbank umfasst dann bei spielsweise das Einbringen des Analyse-Ergebnisses in diese Da tenbank. Dabei kann eine entsprechende Datenbank beispielsweise unter Verwendung entsprechenden Engineering-Regeln und/oder En- gineering-Arbeitsabläufen erstellt und/oder eine bestehende Da tenbank mit derartigen Regeln oder Arbeitsabläufen erweitert werden. Weiterhin kann das Erstellen einer Datenbank beispiels weise auch das Erstellen eines ML-Modells umfassen oder aus ei nem solchen bestehen. Das Erweitern einer Datenbank kann bei spielsweise das Trainieren, Einrichten oder Erweitern eines be stehenden ML-Modells umfassen oder aus einem solchen bestehen.
Die Datenbank kann dabei gemäß der vorliegenden Beschreibung ausgebildet und eingerichtet sein.
Weiterhin kann das Verfahren zur Erstellung und/oder zum Ein richten eines Assistenzmoduls nachfolgend Verfahrensschritt b.) die nachfolgenden Verfahrensschritte umfassen: cl.) Anwendung eines weiteren Analyseverfahrens auf den Multi graphen und Erzeugen eines weiteren Analyse-Ergebnisses durch diese Anwendung des weiteren Analyseverfahrens auf den Multigra phen, dl.) Erstellen und/oder Erweitern einer weiteren Datenbank des Assistenzmoduls unter Verwendung des weiteren Analyse- Ergebnisses.
Dabei bedeutet die Formulierung „nachfolgend Verfahrensschritt b.)", dass Schritt bl.) irgendwann nach Verfahrensschritt b.) erfolgt. Weiterhin kann Verfahrensschritt dl.) irgendwann nach Verfahrensschritt cl.) erfolgen.
Das weitere Analyseverfahren kann dabei als Analyseverfahren ge mäß der vorliegenden Beschreibung ausgebildet und eingerichtet sein. Entsprechend kann auch das weitere Analyse-Ergebnis, die Erzeugung des weiteren Analyse-Ergebnisses, die weitere Daten bank und das Erstellen und/oder Erweitern der weiteren Datenbank gemäß der vorliegenden Beschreibung ausgebildet und eingerichtet sein.
Durch die Anwendung eines weiteren Analyseverfahrens auf den Multigraphen zusätzlich zur Anwendung des Analyseverfahrens las- sen sich ergänzende oder alternative Analyse-Ergebnisse aus den Multigraphen ableiten, die dann beispielsweise in die weitere Datenbank aufgenommen werden. Auf diese Weise kann dem Multigra phen zusätzliche Informationen entnommen werden, was das Verfah ren zum Aufbau bzw. der Verwendung eines Assistenzsystems für das Engineering von Anlagen weiterhin verbessert.
Ein Verfahren zur Erstellung und/oder zum Einrichten eines As sistenzmoduls gemäß der vorliegenden Beschreibung kann dann wei terhin derart ausgebildet und eingerichtet sein, dass das Analyseverfahren als ein statistisches Analyseverfahren ausgebildet und eingerichtet ist, das Analyse-Ergebnis mindes tens eine Engineering-Regel und/oder mindestens einen Enginee ring-Arbeitsablauf umfasst und die Datenbank als eine Regel- Ablaufs-Datenbank ausgebildet und eingerichtet ist, und/oder dass das weitere Analyseverfahren als ein statistisches Analyse verfahren ausgebildet und eingerichtet ist und das weitere Ana lyse-Ergebnis mindestens eine weitere Engineering-Regel und/oder mindestens einen weiteren Engineering-Arbeitsablauf umfasst und die weitere Datenbank als eine weitere Regel-Ablaufs-Datenbank ausgebildet und eingerichtet ist.
Dabei können in der Regel-Ablaufs-Datenbank beispielsweise min destens eine Engineering-Regel und/oder mindestens ein Enginee ring-Arbeitsablauf gespeichert sein. Solche Engineering-Regeln und Engineering-Arbeitsabläufe können beispielsweise weiterhin gemäß der vorliegenden Beschreibung ausgebildet und eingerichtet sein. Dies gilt entsprechend auch für die weitere Engineering- Regel bzw. den weiteren Engineering-Arbeitsablauf sowie die wei tere Regel-Ablaufs-Datenbank.
Weiterhin kann das statistische-Analyseverfahren, das Analyse- Ergebnis sowie die Regel-Ablaufs-Datenbank gemäß der vorliegen- den Beschreibung ausgebildet und eingerichtet sein. Dies gilt entsprechend auch für die weitere Regel-Ablaufs Datenbank.
Statistische Analyseverfahren für Graphen bzw. Multigraphen kön nen beispielsweise zwei typischen Klassen zugeordnet werden: statistische Analyseverfahren, die die Korrelation zwischen dem Knoten und Kanten unter Verwendung latenter Variablen erfassen, und statistischen Analyseverfahren, die solche Korrelationen direkt unter Verwendung statistischer Modelle auf der Grundlage beobachtbarer Eigenschaften des Graphen bzw. Mul tigraphen erfassen.
Weitere Beispiele für statistischen Analyseverfahren und/oder Maschinelle-Lern-Analyseverfahren für Graphen und Mulitgraphen können beispielsweise der Publikation: "Nickel, Maximilian et al. "A Review of Relational Machine Learning for Knowledge Graphs. " Proceedings of the IEEE 104.1 (2016): 11-33. Crossref. Web., DO1:10.1109/JPROC.2015.2483592, https://arxiv.org/pdf/1503.00759.pdf" entnommen werden.
Weiterhin kann das vorstehend beschriebene Verfahren derart aus gebildet und eingerichtet sein, dass das statistische Analyse verfahren eine automatisierte statistische Auswertung sowie ei nen Auswahlschritt zur Auswahl der mindestens einen Engineering- Regel und/oder des mindestens einen Engineering-Arbeitsablaufs umfasst, und/oder dass das weitere statistische Analyseverfahren eine weitere au tomatisierte statistische Auswertung sowie einen weiteren Aus wahlschritt zur Auswahl der mindestens einen weiteren Enginee ring-Regel und/oder des mindestens einen weiteren Engineering- Arbeitsablaufs umfasst. Das Statistische Analyseverfahren kann beispielsweise automati siert oder teilautomatisiert ablaufen. Der Auswahlschritt zur Auswahl der mindestens einen Engineering-Regel und/oder des min destens einen Engineering-Arbeitsablaufs kann ebenfalls automa tisiert, teilautomatisiert oder auch manuell ablaufen. Dasselbe gilt entsprechend für das weitere Statistische Analyseverfahren sowie die Auswahl der mindestens einen weiteren Engineering- Regel bzw. des mindestens einen weiteren Engineering- Arbeitsablaufs.
Eine teilautomatisierte Auswahl kann beispielsweise derart aus gebildet und eingerichtet sein, dass automatisiert zwei oder mehrere Vorschläge erarbeitet und ausgegeben werden und danach manuell beispielsweise eine Auswahl von einem oder mehreren die ser Vorschläge erfolgt.
Dabei kann die genannte Auswahl von Engineering-Regeln bzw. En- gineering-Arbeitsabläufen beispielsweise einzelne der Ergebnisse der automatisierten statistischen Auswertung betreffen oder auch alle Ergebnisse der automatisierten statistischen Auswertung.
Weiterhin kann das genannte Verfahren zur Erstellung und/oder zum Einrichten eines Assistenzmoduls auch derart ausgebildet und eingerichtet sein, dass das Analyseverfahren als ein maschinelles Lernverfahren ausgebildet und eingerichtet ist und die Datenbank als ein ver mittels des maschinellen Lernverfahrens erzeugtes oder bearbei tetes ML-Modell ausgebildet und eingerichtet ist oder ein sol ches ML-Modell umfasst, und/oder dass das weitere Analyseverfahren als ein weiteres maschinelles Lernverfahren ausgebildet und eingerichtet ist und die weitere Datenbank als ein vermittels des weiteren maschinellen Lernver fahrens erzeugtes oder bearbeitetes weiteres ML-Modell ausgebil- det und eingerichtet ist oder ein solches weiteres ML-Modell um fasst.
Dabei kann das ML-Modell beziehungsweise das maschinelle Lern verfahren gemäß der vorliegenden Beschreibung ausgebildet und eingerichtet sein.
Gemäß einer weiteren Ausgestaltung kann die Datenbank beispiels weise ein ML-Modell umfassen oder als ein ML-Modell ausgebildet und eingerichtet sein sowie das maschinelle Lernverfahren als ein maschinelles Lernverfahren für ein solches bzw. dieses ML- Modell ausgebildet und eingerichtet sein. Dabei kann die Anwen dung des maschinellen Lernverfahrens auf den Multigraphen derart ausgebildet und eingerichtet sein, dass ein ML-Modell mittels der Daten des Multigraphen oder Teilen davon trainiert wird bzw. ein Lernverfahren für ein ML-Modell unter Verwendung des Multi graphen oder Daten des Multigraphen angewendet wird. Das Analy seergebnis kann dann beispielsweise als ein trainiertes oder verbessertes ML-Modell ausgebildet und eingerichtet sein bzw. die Parameter und charakterisierenden Daten eines neuronalen Netzes.
Das Analyse-Ergebnis kann dabei beispielsweise dann als diejeni gen Informationen oder Daten ausgebildet und eingerichtet sein, aus welchen dann das ML-Modell erzeugt wird bzw. mit welchen dann ein bereits vorliegendes ML-Modell bearbeitet oder erwei tert wird. Ebenso kann das weitere Analyse-Ergebnis beispiels weise als diejenigen Informationen oder Daten ausgebildet und eingerichtet sein, aus welchen dann das weitere ML-Modell er zeugt wird bzw. mit welchen dann ein bereits vorliegendes weite res ML-Modell bearbeitet oder erweitert wird.
Beispielsweise kann die Anwendung des Trainingsverfahren unter Verwendung des Multigraphen derart ausgebildet und eingerichtet sein, dass damit eine als ein neuronales Netz ausgestaltete Da- tenbank bzw. eine ein neuronales Netz umfassende Datenbank unter Verwendung des Multigraphen, der Daten des Multigraphen oder Teilen davon trainiert wird. In dem Fall, in welchem die Daten bank ein bereits trainiertes neuronales Netz umfasst bzw. aus einem bereits trainierten neuronalen Netz besteht wird dann durch die Anwendung des Trainingsverfahren auf den Multigraphen dieses neuronale Netz weiter trainiert.
Als Analyseergebnis können in diesem Fall beispielsweise im Rah men des Trainings des neuronalen Netzes ermittelte Parameter, beispielsweise entsprechende Gewichtungen und/oder Schwellwerte, betrachtet werden.
In den vorstehend genannten Fall, in welchem die Datenbank als ein ML-Modell oder ein neuronales Netz ausgebildet ist oder ein ML-Modell oder ein neuronales Netz umfasst sowie das Analysever fahren als ein maschinelles Lernverfahren für dieses ML-Modell oder neuronale Netz ausgebildet und eingerichtet ist kann bei spielsweise vorgesehen sein, dass die Verfahrensschritte c.) und d.) gleichzeitig ablaufen, da das Erzeugen des Analyse- Ergebnisses und das Erstellen und/oder Erweitern der Datenbank simultan erfolgen kann.
Das Verfahren zur Erstellung und/oder Einrichten eines Assis tenzmoduls kann weiterhin derart ausgebildet und eingerichtet sein, dass die Datensammlung weiterhin Engineering- Arbeitsablauf-Informationen umfasst und weiterhin in Verfahrens schritt b.) der Multigraph unter Verwendung der Engineering- Arbeitsablauf-Informationen erzeugt wird.
Dabei können die Engineering-Arbeitsablauf-Informationen bei spielsweise gemäß der vorliegenden Beschreibung ausgebildet und eingerichtet sein. Auch der Aufbau des Multigraphen unter Ver wendung solcher Engineering-Arbeitsablauf-Informationen kann ge- mäß der vorliegenden Beschreibung ausgebildet und eingerichtet sein.
Die vorstehend genannte Aufgabe wird weiterhin gelöst durch ein Assistenzmodul, welches eine Modul-Speichereinrichtung umfasst, wobei die Modul-Speichereinrichtung weiterhin eine gemäß der vorliegenden Beschreibung erstellte oder erweiterte Datenbank und/oder eine gemäß der vorliegenden Beschreibung erstellte oder erweiterte weitere Datenbank umfasst.
Dabei können das Assistenzmodul, die Modul-Speichereinrichtung sowie die Datenbank und/oder die weitere Datenbank gemäß der vorliegenden Beschreibung ausgebildet und eingerichtet sein.
Ein solches Assistenzmodul verbessert ebenfalls den Aufbau und/oder die Verwendung eines Assistenzsystems für das Enginee ring von Anlagen und Vorrichtungen in den beispielsweise durch die Erstellung und/oder Nutzung von entsprechenden Datenbanken auf der Basis eines aus Engineering-Elementen und deren Bezie hungen aufgebauten Multigraphen. Dabei ermöglicht beispielsweise ein solcher Multigraph die Erstellung, Darstellung und Verwen dung der üblicherweise sehr heterogen aufgebauten Automatisie rungsdaten.
Die vorstehend genannte Aufgabe wird auch gelöst durch ein Trai ningssystem für ein Assistenzmodul, wobei das Trainingssystem zur Durchführung eines Verfahrens zur Erstellung und/oder Einrichten eines Assistenzmoduls gemäß der vorliegenden Beschreibung ausgebildet und eingerichtet ist, wobei das Trainingssystem eine Speichereinrichtung zur Speiche rung einer entsprechenden Datensammlung sowie ein Assistenzmodul umfasst, und wobei die Datenbank und/oder die weitere Datenbank in einer Mo dul-Speichereinrichtung des Assistenzmoduls gespeichert sind. Dabei können das Assistenzmodul, die Modul-Speichereinrichtung sowie die Datenbank und/oder die weitere Datenbank gemäß der vorliegenden Beschreibung ausgebildet und eingerichtet sein.
Ein solches Trainingssystem verbessert beispielsweise den Aufbau eines Assistenzsystems für das Engineering von Anlagen und Vor richtungen beispielsweise durch die Nutzung einer Multigraphen- Struktur aus Engineering-Elementen und deren Beziehungen zur Er stellung von entsprechenden Datenbanken. Dabei ermöglicht bei spielsweise ein solcher Multigraph eine sehr effiziente Erstel lung, Darstellung, Aufbereitung und Verwendung der üblicherweise sehr heterogen aufgebauten Automatisierungsdaten. Dies führt dann zu gegenüber dem Stand der Technik verbesserten Datenban ken, die z.B. leichter erstellbar und suchbar und/oder auch kom pakter sind. Weiterhin können solche Datenbanken beispielsweise verschiedenartigere Informationen enthalten bzw. Informationen effizienter speichern und verfügbar machen.
Weiterhin kann ein Assistenzsystem gemäß der vorliegenden Be schreibung derart ausgebildet und eingerichtet sein, dass das zugehörige Assistenzmodul gemäß der vorliegenden Be schreibung ausgebildet und eingerichtet ist und dass die zugehörige Datenbank gemäß der vorliegenden Beschrei bung erstellt oder erweitert wurde, und/oder dass die zugehörige weitere Datenbank gemäß der vorlie genden Beschreibung erstellt oder erweitert wurde.
Dabei können das Assistenzmodul sowie die Datenbank und/oder die weitere Datenbank gemäß der vorliegenden Beschreibung ausgebil det und eingerichtet sein.
Ein solches Assistenzsystem verbessert ein Verfahren zum Aufbau und/oder der Verwendung eines Assistenzsystems für das Enginee ring von Anlagen oder Vorrichtungen weiterhin, indem sowohl der Aufbau entsprechender Datenbanken als auch deren spätere Verwen- düng zur Erzeugung von Engineering-Vorschlägen auf der Basis der Aufbereitung von Engineeringdaten mit Hilfe eines Multigraphen erfolgt. Auf diese Weise lassen sich die Informationen in sol chen Datenbanken besonders einfach und effizient nutzen.
Weitere vorteilhafte Ausgestaltungen finden sich in den Unteran sprüchen.
Nachfolgend wird die vorliegende Erfindung beispielhaft mit Be zug auf die beigefügten Figuren näher erläutert.
Es zeigen:
Figur 1: Beispiel für ein Trainingssystem zur Erstellung eines Engineering-Assistenzmoduls auf der Basis von Engineering-Daten; Figur 2: Beispielhafte Aufstellung von Engineering-Daten sowie entsprechenden Beziehungsinformationen zwischen solchen Enginee ring-Daten;
Figur 3: Beispiel für einen auf Basis von Automatisierungs- Engineeringdaten erstellten Multigraphen;
Figur 4: Beispiel für ein Assistenzsystem zur Erstellung von En gineering-Vorschlägen auf der Basis eines Engineering- Assistenzmoduls und unter Verwendung von Engineering- Anfangsdaten.
Figur 1 zeigt ein Trainingssystem 100 zum Aufbau oder zur Erwei terung bzw. dem Trainieren eines Engineering-Assistenzmoduls 310. Dabei umfasst das Engineering-Assistenzmodul 310 ein trai niertes neuronales Netz 330 sowie eine Regel- und Ablauf- Datenbank 320. Dabei ist das Trainingssystem 100 ein Ausfüh rungsbeispiel für ein Trainingssystem gemäß der vorliegenden Be schreibung und das Engineering-Assistenzmodul 310 ein Ausfüh rungsbeispiel für ein Assistenzmodul gemäß der vorliegenden Be schreibung. Das trainierte neuronale Netz 330 sowie die Regel und Ablauf-Datenbank 320 sind jeweils Beispiele für eine Daten- bank oder eine weitere Datenbank gemäß der vorliegenden Be schreibung.
Das Trainingssystem 100 umfasst weiterhin eine Engineeringdaten- Sammlung 102, welche zum einen Engineering-Elemente 104 sowie weiterhin Relationen 106 zwischen derartigen Engineering- Elementen umfasst. Weiterhin umfasst die Engineeringdaten- Sammlung 102 Event-Listen 108, in welchen eine Abfolge von Ar beitsschritten gespeichert sind, wobei im Rahmen dieser Arbeits schritte die Engineering Elemente 104 zumindest teilweise inner halb eines Engineerings-Systems erzeugt wurden. Dabei ist die Engineeringdaten-Sammlung 102 ein Ausführungsbeispiel für eine Datensammlung gemäß der vorliegenden Beschreibung.
Die Engineeringdaten-Sammlung 102 setzt sich zusammen aus von externen Quellen dem Trainingssystem 100 zugeführten Automati sierungs-Engineeringdaten 110, MCAD-Daten 120 und/oder ECAD- Daten 130. Dabei können die Automatisierungs-Engineering-Daten 110, die MCAD-Daten 120 und/oder die ECAD-Daten 130 beispiels weise von einem entsprechenden Engineering System erzeugt werden bzw. erzeugt worden sein. Weiterhin können die Automatisierungs- Engineering-Daten 110, die MCAD-Daten 120 und/oder die ECAD- Daten 130 beispielsweise einer entsprechenden Datensammlung oder Datenbank für derartige Daten entnommen werden. So kann bei spielsweise das Trainingssystem 100 auf der Basis von in der Vergangenheit erzeugten und dann in entsprechenden Datenbanken abgelegten Engineeringdaten das Engineering-Assistenzmodul 310 erstellen, trainieren und/oder bearbeiten.
Nach dem Import von Engineering-Elementen 104 aus den Automati- sierungs-Engineering-Daten 110, den MCAD-Daten 120 und/oder den ECAD-Daten 130 sowie gegebenenfalls entsprechender bereits vor liegende Relationen 106 zwischen diesen Engineering-Elementen 104 in die Engineeringdaten-Sammlung 102 werden nachfolgend ent- sprechende Relationen 106 zwischen den importierten bzw. gespei cherten Engineering Elementen 104 identifiziert.
Beispiele für entsprechende Engineering-Elemente 104 aus den ge nannten Engineering Datenquellen 110, 120, 130 sowie entspre chende Relationen 106 und die Identifizierung dieser Relationen 106, werden im Zusammenhang mit Figur 2 näher erläutert.
Weiterhin umfasst die Engineeringdaten-Sammlung 102 Eventlisten 108, welche im Rahmen der Erstellung der ursprünglichen Enginee ringdaten 110, 120, 130 aufgezeichnet wurden. Dabei können diese Event-Listen 108 beispielsweise von entsprechenden Engineering systemen erzeugt werden, indem beispielsweise die Arbeitsschrit te eines Nutzers bei der Verwendung des Engineerings-Systems zur Erzeugung der entsprechenden Engineering-Elemente 104 erfasst werden. Innerhalb der Eventlisten 108 können also z.B. die Ar beitsschritte in einem Engineeringsystem zum Erzeugen und/oder Bearbeiten der Engineering-Elemente 104 erfasst bzw. gespeichert sein. Dabei können die Arbeitsschritte beispielsweise als eine Folge von Eingabebefehlen oder Eingabeaktionen gespeichert sein oder auch als eine Abfolge von Engineeringprojekten, die als Folge verschiedener Eingabeaktionen oder Befehle aufeinanderfol gend aufbauen.
Unter Verwendung der Engineering-Elemente 104, der Relationen 106 dazwischen sowie der Eventlisten 108 wird in einem nächsten Arbeitsschritt 210 ein Multigraph 400 aufgebaut, in welchem die vorstehend genannten Daten und Informationen innerhalb des Mul tigraphen 400 strukturiert zusammengeführt, angeordnet und er fasst sind. Das Aussehen und der Aufbau eines solchen Multigra phen 400 wird im Rahmen der Erläuterungen zu Figur 3 näher er läutert.
In einem optionalen Arbeitsschritt 220 wird der Graph 400 für die weitere Bearbeitung aufbereitet und dieser aufbereitete Graph 400 dann entsprechend gespeichert. Eine solche Aufberei tung kann beispielsweise die Umwandlung des Graphen 400 in ein entsprechendes Standard-Datenformat umfassen oder generell eine Vorbereitung des Graphen 400 für eine nachfolgende Analyse die ses Graphen 400.
In einem dann nachfolgenden Training Schritt 240 wird mit Hilfe des Graphen 400 ein neuronales Netz trainiert und als trainier tes neuronales Netz 330 im Engineering-Assistenzmodul 310 abge speichert. Dabei können das neuronale Netz 330 und das Training des neuronalen Netzes 240 beispielsweise gemäß der vorliegenden Beschreibung ausgebildet und eingerichtet sein.
Dabei kann beispielsweise im Rahmen des Trainingsschritts 240 ein neuronales Netz erstmalig trainiert werden. Weiterhin kann auch ein bereits im Engineering-Assistenzmodul gespeichertes trainiertes neuronales Netz 330 herangezogen werden und unter Verwendung des Graphen 400 im Rahmen des Trainingsschritts 440 weiter trainiert und dann als weiter trainiertes neuronales Netz 330 im Engineering-Assistenzmodul 310 abgespeichert werden.
Weiterhin wird in einem parallelen statistischen Analyseschritt 240 der Multigraph 400 analysiert, wobei im Rahmen dieser Analy se dann Regeln identifiziert werden, beispielsweise Regeln be züglich der Vergabe von Variablennamen, Netzwerkadressen oder Gerätenamen, bezüglich Programm-Schemata oder -Abläufen oder ähnlichem. Diese identifizierten Regeln werden dann der Regel und Ablauf-Datenbank 320 hinzugefügt. Weiterhin können im Rahmen der statistischen Analyse 230 auch Engineering-Abläufe identifi ziert werden. Solche Engineering-Abläufe können beispielsweise eine logische Abfolge der Erstellung von einzelnen der Enginee ring Elemente 104 bzw. eine logische Abfolge der Erstellung von Knoten und/oder Kanten des Multigraphen 400 beschreiben oder darstellen. Diese Engineering-Abläufe werden dann ebenfalls in der Regel- und Ablauf-Datenbank 320 gespeichert. Im Rahmen der statistischen Analyse 320 kann auch vorgesehen sein, dass entsprechend identifizierte Regeln oder Engineering- Abläufe an einen Benutzer 236 ausgegeben werden und dieser in einem Auswahlschritt 232 diejenigen der Regeln und/oder Enginee ring-Abläufe auswählt, welche dann der Regel- und Ablauf- Datenbank 320 hinzugefügt werden.
In einer weiteren Alternative kann auch der Multigraph 400 un mittelbar an den Benutzer 236 ausgegeben werden. Dieser kann dann den Multigraphen 400 selbst analysieren und entsprechend von ihm identifizierte Regeln und/oder Arbeitsabläufe in einem manuellen Eingabeschritt 234 unmittelbar in die Regel- und Ab lauf-Datenbank eingeben. Weiterhin kann der Nutzer 236 auch ihm unabhängig vom Trainingssystem 100 bekannte Regeln im Manuelle- Eingabe-Schritt 234 in die Regel- und Ablauf-Datenbank 320 ein geben.
Durch eine Eingabe einer Vielzahl verschiedenster Automatisie- rungs-Engineering-Daten 110, MCAD-Daten 120 und/oder ECAD-Daten 130 aus verschiedensten Engineeringprojekten zur verschiedensten Anlagen, Vorrichtungen oder Anwendungen kann dann das Enginee ring-Assistenzmodul 310, bzw. das trainierte neuronale Netz 330 und die Regel- und Ablauf-Datenbank 320 des Engineering- Assistenzmoduls 310 so trainiert werden, dass es das Wissen aus dieser Vielzahl von Engineeringprojekten und Anwendungsfällen beinhaltet. Ein derart trainierts Engineering-Assistenzmodul 310 ist dann in der Lage, dass Engineering einer Vielzahl verschie denster neuer Anwendungsfälle mit dem Wissen aus vergangenen En gineering-Projekten zu unterstützen. Ein Beispiel für eine Mög lichkeit einer derartigen Unterstützung von neuen Engineering- Fällen unter Verwendung des Engineering-Assistenzmoduls 310 wird im Zusammenhang mit Figur 4 näher erläutert. Figur 2 zeigt Beispiele von Kategorien von Engineering-Elementen 104 für Automatisierungs-Engineering-Daten 110, MCAD-Daten 120 sowie ECAD-Daten 130, wie sie beispielsweise im Zusammenhang mit Figur 1 bereits erläutert wurden.
So können Automatisierungs-Engineeringdaten 110 verschiedenste Daten sein, wie sie im Rahmen eines Automatisierungs- Engineerings für eine Vorrichtung oder Anlage verwendet werden können. Solche Automatisierungs-Engineeringdaten 110 können bei spielsweise Variablen, sogenannte Tags, Funktionsbausteine, Da tenbausteine, Benutzerdefinierte Datentypen (z.B. sogenannte UDTs), Programmbausteine (z.B. sogenannte POUs (POU: Program Or- ganizationial Unit)), Hardware-Informationen, Steuerprogramme bzw. Teile davon, Aufruf-Strukturen für Programmbausteine, Steu erprogrammteile, Funktionsbausteine und/oder Datenbausteine, Kommentare oder weitere Kategorien von Engineering-Elementen 104 sein.
Dabei sind Variablen beispielsweise Variablen wie sie in Steuer programmen oder auch einem Prozessabbild einer Steuereinrichtung verwendet werden können. Tags können beispielsweise spezielle Variablen sein, wie sie im Rahmen der Erzeugung bzw. dem Betrieb eines Benutzerinterfaces bzw. HMI (HMI: Human Machine Interface) für eine Steuereinrichtung verwendet werden. Funktionsbausteine können beispielsweise Software Programme bzw. Programmblöcke sein, welche eine gewisse Funktionalität bewirken. Innerhalb der Aufruf-Strukturen können beispielsweise Aufrufketten, Eltern- Kind-Beziehungen, Verwendungs-Informationen und Ähnliches bezüg lich verschiedenen Programm-, Funktions-, und Daten-Bausfeinen hinterlegt sein. Mithilfe solcher AufrufStrukturen lässt sich beispielsweise ermitteln, welche der genannten Bausteine von welchen anderen Bausteinen aufgerufen werden bzw. welche Bau steine entsprechende Bausteine verwenden oder auch von welchen Bausteinen z.B. im Rahmen einer objektorientierten Programmie rung abstammen. MCAD Daten 120 können beispielsweise Engineering Elemente 104 umfassen wie sie im Rahmen eines mechanischen bzw. MCAD- Engineerings üblicherweise verwendet werden. Solche MCAD-Daten 120 können beispielsweise den Kategorien 3-D-Informationen, CAD- Daten, Stücklisten, Kinematik-Informationen, Beziehungs- Informationen zwischen Teilen, Punkt-Wolken-Informationen und/oder Kommentaren zugehörig sein.
ECAD-Daten 130 können beispielsweise Engineering Elemente 104 umfassen wie sie im Rahmen eines elektrischen bzw. ECAD- Engineerings üblicherweise verwendet werden. Solche Daten können beispielsweise den Kategorien Schaltplan, Funktionsplan, Funkti ons-Diagramm, Funktions-Liste, Orts-Information, Produkt- Kennungen, Stückliste, Abbildung, und/oder Kommentar zugehörig sein.
Weiterhin sind in Figur 2 im symbolischen Kasten „Relationen"
106 verschiedene Möglichkeiten zur Generierung bzw. Ermittlung solcher Relationen 106 dargestellt. Solche Relationen 106, die Beispiele für Beziehungsinformationen gemäß der vorliegenden Be schreibung sind, können beispielsweise, wie bereits vorstehend kurz erläutert, aus den genannten AufrufStrukturen für Funkti onsbausteine, Datenbausteine und weitere Programmelemente ermit telt werden. Weiterhin können Relationen 106 aus Verwendung In formationen von Variablen bzw. Tags ermittelt werden, d. h. bei spielsweise welche Programmbausteine, Geräte, Module oder sons tigen technischen, logischen oder Software-Einheiten gewisse Va riablen oder Tags verwenden. Auch indirekte Datenbeziehungen zwischen solchen Variablen und Tags können Quelle von entspre chenden Relationen 106 sein.
Weiterhin können auch Beziehungen zwischen elektrischen Objek ten, wie sie beispielsweise aus ECAD-Daten 130 ermittelbar sind (z.B. aus sogenannten „Stromlaufplänen", Schaltplänen, o.ä.), Beziehungen zwischen mechanischen Objekten, wie sie beispiels weise als MCAD-Daten 120 ermittelbar sind, oder auch Beziehungen zwischen Software-Objekten wie sie beispielsweise aus Automati- sierungs-Engineering-Daten 110 gewinnbar, sind Quelle von Rela tionen 106 bzw. Beziehungsinformationen 106 sein. Weitere Rela tionen 106 können beispielsweise auch aus entsprechenden Ver drahtungs-Plänen der ECAD-Daten 130 oder mechanische Verbindun gen aus MCAD-Daten 120 gewonnen werden.
Figur 3 zeigt einen Multigraphen 400 für ein Ausführungsbei spiel, bei welchem in einem Automatisierungs-Engineeringsystem ein Engineering-Projekt zu einem Transportsystem erstellt wird, wobei im Engineering-Projekt im Rahmen der Erstellung eines Steuerprogramms für das Transportsystem ein Standard- Programmbaustein mit dem Namen „OBI" 410 erstellt wurde, welcher dann einen Funktionsbaustein mit dem Namen „FBI" 420 aufruft der wiederum einen Datenbaustein mit dem Namen „DB100" 430 verwen det.
Der Multigraph 400 zu diesem Beispielfall wird nun erzeugt, in dem ein Knoten 490 für den Typ des Engineering Projekts „Trans portsystem-Projekt" 490 erzeugt wird, der quasi die hinter dem Projekt stehende Anwendung symbolisiert. Da dieser Transportsys- tem-Projekt-Knoten 490 vom Typ „Anwendungskontext" 492 ist, wird ein entsprechender weiterer Knoten „Anwendung-Kontext" 492 er zeugt und der Transportsystem-Projekt-Knoten 490 über eine „Typ"-Verbindung 440 mit dem Anwendungs-Kontextknoten-492 ver bunden. Über diese „Typ"-Verbindung 440 wird symbolisiert, dass der Knoten 490 vom Typ „Anwendungskontext" 492 ist.
Weiterhin wird für den OBl-Programmbaustein ein Knoten 410 er zeugt, für den Funktionsbaustein „FBI" ein Knoten 420 und für den Datenbaustein „DB100" ein Knoten 430. Der OBl-Knoten 410 wird dann über eine Verbindung der Kategorie „ruft auf" 450 mit dem FBl-Knoten 420 verbunden, der wiederum über eine Verbindung der Kategorie "referenziert" 460 mit DBIOO-Knoten 430 verbunden wird.
Jeder der genannten Programm-Knoten 410, 420, 430, ist weiterhin mit dem Transportsystem-Projekt-Knoten 490 über eine Verbindung der Kategorie „enthält" 485 verbunden. Dies symbolisiert, dass die jeweiligen Programm-Bausteine 410, 420, 430 Teil einem Pro jekt für ein Transportsystem 490 zugehörig sind.
Weiterhin ist der OBl-Knoten 410 über eine Verbindung der Kate gorie „Typ" mit einem Knoten "Programmbaustein" 412 verbunden. Diese Verbindung charakterisiert, dass "OBI" 410 der Kategorie „Programmbaustein" zugehörig ist. Entsprechend ist der Knoten „FBI" 420 über eine Typ-Verbindung 440 mit einem Knoten „Funkti onsbaustein" 422 verbunden und der Knoten „DB 100" 430 über eine entsprechende Typ-Verbindung 440 mit einem Knoten „Datenbau stein" 432.
Weiterhin sind Knoten 416, 426, 436 vorgesehen, welche eine Zu ordnung zu Arbeitsschritten hersteilen, in welchen der jeweilige der Programmbausteine 410, 420, 430 in einem Engineering System erzeugt bzw. angelegt wurde. Da der Programmbaustein „OBI" 410 in einem ersten Arbeitsschritt erzeugt wurde, ist der Knoten „OBI" 410 über eine Verbindung bzw. Kante der Kategorie „laufen de Nummer" 480 mit einem Knoten „Schritt 1" 416 verbunden. Ent sprechend ist der Knoten „FBI" 420 mit einer Verbindung der Ka tegorie „laufende Nummer" 480 mit einem Knoten „Schritt 2" 426 verbunden, da der entsprechende Funktionsbaustein in einem zwei ten Arbeitsschritt angelegt wurde. Da der Datenbaustein „DB100" 430 einem dritten Arbeitsschritt angelegt wurde ist entsprechend der Knoten „DB100" 430 über eine Verbindung der Kategorie „lau fende Nummer" 480 einem Knoten „Schritt 3" 436 verbunden.
Weiterhin ist der Datenbaustein „DB100" durch seine Größe (die hier als 8 in einer willkürlichen Einheit angenommen ist) cha- rakterisiert. Daher ist der Knoten „DB100" 430 über eine Verbin dung der Kategorie „Größe" 470 mit einem Knoten „8" 434 verbun den.
Über einen derartigen Multigraph 400 ist es also möglich ver schiedenste Engineering-Elemente 104 über entsprechende Relatio nen 106 in Beziehung zu setzen und mit zusätzlichen Engineering- Elementen 104, welche beispielsweise Metainformationen oder Zu- satzinformationen sein können, weiter zu charakterisieren. Wei terhin sind im Multigraphen 400 auch entsprechende Arbeitsab- lauf-Informationen bzw. Event-Listen 108 mit integriert, durch welche auch Arbeitsabläufe bzw. Arbeitsablaufs Informationen im Multigraphen enthalten sind.
Anhand eines solchen Multigraphen 400, der eine Vielzahl ver schiedenartigster Informationen enthält und miteinander kombi niert, ist es nun beispielsweise anhand von statistischen Aus wertungen möglich, systematisch charakterisierende Informationen bezüglich verschiedenartigster Engineering-Elemente und Anwen dungsfällen zu erzeugen. Solche charakteristischen Informationen können beispielsweise typischerweise verwendete Softwareelemen te, Arbeitsabläufe, typischerweise verwendete Elemente einer be stimmten Datenkategorie bzw. Engineering-Element-Kategorie usw. sein. Auf der Basis derartiger statistischer Auswertungen lassen sich dann in vereinfachter Weise entsprechende Regeln und Ar beitsabläufe ableiten.
Solche Arbeitsabläufe könnten beispielsweise im vorliegenden Fall sein dass, wenn ein Nutzer beispielsweise als Engineering- Anfangsdaten nur die Anwendungsbeschreibung „Transportsystem- Projekt" angibt, als ein Engineering-Vorschlag beispielsweise ausgebbar ist, dass erst ein Programmbausteinen „OBI", dann ein Funktionsbaustein „FBI" und dann ein Datenbaustein „DB100" ange legt werden die dann entsprechend der oben stehenden Beschrei bung zu verknüpfen sind. Auf vergleichbare Weise lassen sich je nach Engineering- Anfangsdaten aus einem derartigen Multigraphen unter Verwendung von abgeleiteten Regeln und Arbeitsabläufen entsprechende Engi neering Vorschläge erstellen. So lassen sich beispielsweise auch gemäß beispielsweise in der Regel- und Ablauf-Datenbank gespei cherten Regeln bezüglich Variablennamen automatisch Variablen mit bestimmten von den Regeln vorgegebenen Namen zu beispiels weise in den Engineering-Anfangsdaten 502 enthaltenen Programm bausteinen oder Funktionsbausteinen vorschlagen bzw. erzeugen. Wenn in einem Multigraph zu beispielsweise Programmbausteinen oder Variablen auch Meta-Informationen, wie Kommentare oder Ei genschaften, enthalten sind, lassen sich auf vereinfachte Weise auch systematisch bestimmte Engineering-Element-Kategorien, wie beispielsweise Variablen, Text, Funktionsbausteine, Programmbau steine, UDTs, und ähnliche Kategorien für die Anwendung der Re gel- und Ablauf-Datenbank herausfiltern. Damit können beispiels weise solchen Kategorien zugeordnete Regeln gezielt und/oder vereinfacht angewendet werden.
Analog kann vorteilhafterweise der in Figur 3 dargestellte Mul tigraph 400 zum Einrichten bzw. Trainieren eines maschinellen- Lernverfahrens bzw. eines ML-Modells gemäß der vorliegenden Be schreibung verwendet werden. Dabei eignen sich derartige Multi graphen aufgrund der Vielzahl verschiedenartigster verketteter Informationen besonders vorteilhaft für ein derartiges Trainie ren eines ML-Modells bzw. der Verwendung für ein maschinelles Lernverfahren.
Figur 4 zeigt ein Beispiel für eine Verwendung eines gemäß Figur 1 erstellten Assistenzmoduls 310 im Rahmen eines Assistenzsys tems 300.
Dabei werden in einem Engineeringsystem 500 Automatisierungs- Engineering-Anfangsdaten 510, MCAD-Anfangsdaten 520 und/oder E- CAD-Anfangsdaten 530 im Rahmen eines Engineerings für eine Ma schine oder Anlage erzeugt und dann einer neuen Engineeringda- ten-Sammlung 502 im Assistenzsystem 300 zugeführt. Die Neue En- gineeringdaten-Sammlung 502 enthält dann Engineering Elemente 504, die den Engineeringelementen innerhalb der Engineering- Anfangsdaten 510, 520, 530 entsprechen sowie Relationen 506 zwi schen den Engineering-Elementen 504 die zum einen ebenfalls be reits den Engineering-Anfangsdaten 510, 520, 530 entnommen sein können und/oder weiterhin auch durch zusätzliche Analyse aus den übertragenen Engineering-Anfangsdaten 510, 520, 530 gewonnen werden können bzw. gewonnen wurden.
Sowohl das Entnehmen der Beziehungsinformationen 506 aus den En gineering-Anfangsdaten 510, 520, 530 als auch das Gewinnen sol cher Beziehungsinformationen 506 durch eine Analyse der übertra genen Engineering-Anfangsdaten 510, 520, 530 sind Beispiele für ein Ermitteln von Beziehungsinformationen im Sinne der vorlie genden Beschreibung.
Weiterhin werden vom Engineeringsystem 500 auch noch Arbeitsab lauf-Informationen bezüglich der Erstellung der Engineering- Anfangsdaten 510, 520, 530 an die Neue Engineering Daten- Sammlung 502 übertragen und als entsprechende Eventlisten 508 in der Neuen Engineeringdaten-Sammlung 502 gespeichert.
Das Assistenzsystem 300 ist dabei ein Beispiel für ein Assis tenzsystem gemäß der vorliegenden Beschreibung.
In Figur 4 ist in diesem Assistenzsystem 300 dann ein Beispiel für einen Verfahrensablauf zur Erzeugung eines Engineering- Vorschlags gemäß der vorliegenden Beschreibung dargestellt, wel ches nachfolgend beschrieben wird.
Dabei wird nach Übertragung der Engineerings-Anfangsdaten 510, 520, 530 und deren Aufbereitung in der Neuen Engineering Daten- Sammlung 502 als Engineering-Elemente 504, Relationen 506 sowie Event-Listen 508 in einem nächsten Arbeitsschritt 610 ein Multi graph 612 aufgebaut, in welchem die Informationen aus der neuen Engineering Daten-Sammlung 502 zusammengeführt sind. Dieser Mul tigraph 612 kann dabei eine vergleichbare Struktur wie der in Figur 3 dargestellte Multigraph 400 aufweisen.
In einem nächsten Arbeitsschritt wird der Multigraph 612 dann auf die Regel- und Ablauf-Datenbank 320 des Engineering- Assistenzmoduls angewendet. Hierbei werden dann aus den ver schiedenen Elementen des Graphen 612 zusammen mit den in der Re gel- und Ablauf-Datenbank 320 gespeicherten Regeln weitere In formationen abgeleitet, die die Engineering-Anfangsdaten 510, 520, 530 sinnvoll ergänzen, wonach dann diese Informationen als erster Vorschlag 322 ausgegeben werden.
Hierfür werden beispielsweise bestimmte Kategorien von Enginee ring-Elementen 504 im Multigraphen selektiert um dann anhand entsprechend vorgegebener Regeln und/oder Arbeitsabläufe der Re gel- und Ablauf-Datenbank 320 entsprechende Regeln aus der Da tenbank 320 auszuwählen und auf diese ausgewählten Kategorien von Engineering-Elementen 504 anzuwenden. Beispiele für eine solche Anwendung von Regeln bzw. Arbeitsabläufen auf solche in Multigraph 612 gespeicherten Daten wurden beispielsweise im Zu sammenhang mit Figur 3 angegeben.
Parallel dazu wird der Multigraph 612 auf das trainierte neuro nale Netz 330 angewendet, wobei das Ergebnis dieser Anwendung ein zweiter Vorschlag 332 ist. Das Ergebnis der Anwendung des Multigraphen 612 auf das trainierte neuronale Netz 330 kann bei spielsweise sein, dass weitere Knoten und/oder Verbindungen von Knoten vorgeschlagen werden, die das Engineering-Projekt ver vollständigen. Weiterhin kann ein Ergebnis der Anwendung des Multigraphen 612 auf das trainierte neuronale Netz 330 auch ein Vorschlag 332 für nächste Schritte zur Vervollständigung eines entsprechenden Engineering-Projekts sein. Dabei kann der zweite Vorschlag 332 beispielsweise wiederum als ein Multigraph vorlie gen. Der zweite Vorschlag 332 kann auch entsprechende Resultate aus dem Ergebnis der Anwendung des Multigraphen 612 auf das trainierte neuronale Netz 330 umfassen, beispielsweise sortiert nach Kategorien von Engineering-Elementen.
In einem nächsten Arbeitsschritt werden dann beispielsweise die Ergebnisse des ersten Vorschlags 322 und des zweiten Vorschlags 332 abgeglichen, um zu einem letztendlichen Engineering- Vorschlag 638 zu führen. Dieser Abgleich kann beispielsweise da rin bestehen, dass beide Vorschläge 322, 332 zusammengeführt werden und dann in einem weiteren automatischen Generierungs schritt 634 aus dem Ergebnis dieses Abgleichs 630 ein Enginee ring Vorschlag 638 automatisch erzeugt wird.
Dabei können beispielsweise die zusammen geführten Vorschläge 322, 332 derart konsolidiert werden, dass beide Ergebnisse zu sammengeführt werden und gegebenenfalls doppelte Nennungen von Vorschlägen entfernt werden. Weiterhin kann die Konsolidierung 630 auch eine Auswahl eines bevorzugten Vorschlags aus einer Mehrzahl von Vorschlägen umfassen. Weiterhin umfasst der Ab gleich der Ergebnisse 630 auch Einbringen des ersten Vorschlags 322 und zweiten Vorschlags 332 in ein einheitliches Datenformat.
Alternativ zu einer solchen automatischen Generierung 634 des Engineerings Vorschlag 638 kann in einem manuellen Auswahl- und Prüfungs-Schritts 632 durch einen Benutzer 636 die Konsolidie rung der Elemente des ersten Vorschlags 322 mit denen des zwei ten Vorschlags 332 manuell oder teilautomatisiert vorgenommen werden.
Bei einer manuellen Konsolidierung kann der Nutzer 636 bei spielsweise aus dem Ergebnis des Abgleichs 630 diejenigen Vor schläge auswählen, welche letztendlich zum Engineering-Vorschlag 638 zusammengeführt werden. Bei einer teilautomatisierten Konso lidierung kann beispielsweise eine Auswahl von gleichartigen Vorschlägen automatisch zusammengestellt werden, woraus dann der Nutzer 636 diejenigen Vorschläge auswählt, die in den Enginee ring-Vorschlag 638 eingehen sollen. Ebenso kann beispielsweise automatisch eine Liste von sich widersprechenden Vorschlägen aus dem ersten 322 und zweiten Vorschlags 332 zusammengestellt wer den, aus welcher der Nutzer 636 dann diejenigen auswählt, die in den Engineering-Vorschlag 638 aufgenommen werden.
Sowohl im Rahmen der automatischen Generierung 634 als auch der teilautomatisierten oder manuellen Auswahl und Prüfung 632 wird als Ergebnis der Engineering-Vorschlag 638 erzeugt. Dieser Engi neering-Vorschlag 638 wird in einem Format erzeugt, der vom En gineeringsystem 500 erfassbar ist. Vorteilhafterweise liegt der Engineering-Vorschlag 638 im Format eines Engineering-Projekts für das Engineering System 500 vor.
Nachfolgend wird der Engineering-Vorschlag 638 dann einem Nutzer des Engineerings-Systems 500 ausgegeben. Dies kann beispielswei se derart geschehen, dass Daten des Engineering-Vorschlags 638, oder auch die gesamten Daten des Engineering-Vorschlag 638, in die ursprünglich vom Nutzer eingegebenen Engineering- Anfangsdaten 510, 520, 530 integriert und entsprechend am Bild schirm dargestellt werden. Weiterhin können beispielsweise auch die Daten des Engineering-Vorschlag 638 einem Nutzer dargestellt werden, wonach ein Nutzer beispielsweise diejenigen der Vor schlags-Daten 638 auswählen kann, welche er in sein Engineering- Projekt aufnehmen möchte. Alternativ kann beispielsweise auch vom Engineering System 500 ein im Engineering-Vorschlag 638 ent haltener nächster Arbeitsschritt im Engineeringsystem 500 entwe der automatisiert ausgeführt werden oder einem Nutzer als nächs ter Schritt vorgeschlagen werden. Auf diese Weise lässt sich nach Eingabe von Engineering- Anfangsdaten 510, 520, 530 unter Verwendung des Engineering- Assistenzmoduls 310 gemäß der vorstehenden Erläuterungen automa tisiert oder auch teilautomatisiert ein Engineering-Vorschlag 638 erzeugen, welcher einen Nutzer des Engineerings-Systems beim
Erstellen eines Engineeringprojekts für eine bestimmte Vorrich tung oder Anlage unterstützt oder ihm auch einen entsprechenden Vorschlag für ein entsprechendes Engineeringprojekt macht.

Claims

Patentansprüche
1.) Verfahren zum Erzeugen eines Engineering-Vorschlags (638) für eine Vorrichtung oder Anlage unter Verwendung eines Assis tenzmoduls (310), wobei im Assistenzmodul (310) eine Datenbank (330, 320) bezüg lich Engineering-Regeln und/oder Engineering-Arbeitsabläufen ge speichert ist, wobei vermittels eines Engineering-Systems (500) erfasste Engi neering-Anfangsdaten (502) bezüglich der Vorrichtung oder Anla ge, umfassend mindestens ein Engineering-Element (504), vorlie gen, das Verfahren umfassend die nachfolgenden Verfahrensschritte: a.) Speicherung der Engineering-Anfangsdaten (502) umfassend das mindestens eine Engineering-Element (504), b.) Ermitteln von Beziehungsinformationen (506), die jeweils dem mindestens einen Engineering-Element (504) der Engineering- Anfangsdaten (502) zugeordnet sind, c.) Erzeugen eines Multigraphen (612, 400) umfassend Knoten (410, 412, 416, 420, 422, 426, 430, 432, 434, 436, 490, 492) so wie Verbindungen (440, 460, 450, 470, 480, 485) zwischen Knoten, wobei jeweils ein Knoten (410, 412, 416, 420, 422, 426, 430,
432, 434, 436, 490, 492) jeweils einem des mindestens einen En gineering-Elements (504) der Engineering-Anfangsdaten (502) zu geordnet ist und die Verbindungen (440, 460, 450, 470, 480, 485) jeweils ermittelten Beziehungsinformationen (506) zugeordnet sind, d.) Erzeugen des Engineering-Vorschlags (322, 332, 638) unter Verwendung des Multigraphen (612) sowie der im Assistenzmodul (310) gespeicherten Datenbank (330, 320). 2.) Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das mindestens eine Engineering-Element (504) der Enginee ring-Anfangsdaten (502) aus mindestens einer der drei nachfol gend aufgeführten Datenquellen entstammt:
- eine erste Datenquelle mit Automatisierungs-Engineeringdaten (510) bezüglich einer Automatisierung und/oder Automatisierungs- Planung der Anlage oder Vorrichtung oder Teilen davon,
- eine zweite Datenquelle mit MCAD-Daten (520) bezüglich einer mechanischen, Bewegungs- und/oder räumlichen Planung der Vor richtung oder Anlage oder Teilen davon, und/oder bezüglich einer mechanischen und/oder räumlichen Ausgestaltung der Vorrichtung oder Anlage oder Teilen davon,
- eine dritte Datenquelle mit ECAD-Daten (530) bezüglich einer elektrischen Planung und/oder Stromlaufplanung der Vorrichtung oder Anlage oder Teilen davon, und/oder bezüglich einer elektri schen Ausgestaltung und/oder realisierten Stromlaufplanung der Vorrichtung oder Anlage oder Teilen davon.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass im Assistenzmodul (310) weiterhin eine weitere Datenbank (330) bezüglich Engineering-Regeln und/oder Engineering- Arbeitsabläufen gespeichert ist, und dass der Engineering-Vorschlag (322, 332, 638) unter Verwen dung des Multigraphen (612) sowie der im Assistenzmodul (310) gespeicherten Datenbank (320) und der im Assistenzmodul gespei cherten weiteren Datenbank (330) erzeugt wird.
4.) Verfahren nach Anspruch 3 dadurch gekennzeichnet, dass Verfahrensschritt d.) derart ausgebildet und eingerichtet ist, dass ein erster Engineering-Vorschlag (322) unter Verwendung des Multigraphen (612) sowie der im Assistenzmodul (310) gespeicher ten Datenbank (320), und ein zweiter Engineering-Vorschlag (332) unter Verwendung des Multigraphen (612) sowie der im Assistenzmodul (310) gespeicher ten weiteren Datenbank (330) erzeugt wird, und nachfolgend der Engineering-Vorschlag (638) unter Verwendung des ersten (322) und zweiten Engineering-Vorschlags (332) er zeugt wird.
5.) Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Datenbank (320) als eine Regel-Ablaufs-Datenbank (320) oder als ein durch Anwendung eines maschinellen Lernverfahrens erzeugtes ML-Modell (330) ausgebildet und eingerichtet ist, und/oder dass die weitere Datenbank (330) als eine Regel-Ablaufs- Datenbank (320) oder als ein durch Anwendung eines maschinellen Lernverfahrens erzeugtes ML-Modell (330) ausgebildet und einge richtet ist.
6.) Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Engineering-Anfangsdaten (502) weiterhin Engineering- Arbeitsablauf-Informationen (508) umfasst und weiterhin der Mul tigraph (612) unter Verwendung der Engineering-Arbeitsablauf- Informationen (508) erzeugt wird.
7.) Verfahren gemäß einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass unter Verwendung des Multigraphen (612) sowie der im Assis tenzmodul (310) gespeicherten Datenbank (320) und/oder der im Assistenzmodul gespeicherten weiteren Datenbank (330) mindestens zwei Engineering-Vorschlags-Alternativen (322, 332) erzeugt wer den, und weiterhin der Engineering-Vorschlag (638) durch mindestens eine Nutzereingabe aus den mindestens zwei Engineering- Vorschlags-Alternativen (322, 332) erzeugt wird.
8.) Assistenzsystem (300), dadurch gekennzeichnet, dass das Assistenzsystem (300) zur Durchführung eines Verfahrens gemäß den Verfahrensschritten a.) bis d.) gemäß einem der vor stehenden Ansprüche ausgebildet und eingerichtet ist, wobei das Assistenzsystem (300) eine Speichereinrichtung zur
Speicherung der Engineering-Anfangsdaten (502) sowie das Assis tenzmodul (310) umfasst, wobei weiterhin die Datenbank (320) und/oder die weitere Daten bank (330) in einer Modul-Speichereinrichtung des Assistenzmo- duls (310) gespeichert sind.
9.) Verfahren zum Erstellen und/oder Einrichten eines Assistenz moduls (310) für ein Engineeringsystem (500), wobei das Enginee ringsystem (500) zum Planen, Einrichten und/oder Automatisieren einer Vorrichtung oder Anlage ausgebildet und eingerichtet ist, wobei eine Datensammlung (102) umfassend Engineering-Elemente (104) aus mindestens einer der drei nachfolgend aufgeführten Da tenquellen vorliegt:
- eine erste Datenquelle mit Automatisierungs-Engineeringdaten (110) bezüglich einer Automatisierung und/oder Automatisierungs-
Planung der Anlage oder Vorrichtung oder Teilen davon,
- eine zweite Datenquelle mit MCAD-Daten (120) bezüglich einer mechanischen 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,
- eine dritte Datenquelle mit ECAD-Daten (130) bezüglich einer elektrischen Planung und/oder Stromlaufplanung der Vorrichtung oder Anlage oder Teilen davon, und/oder bezüglich einer elektri- sehen Ausgestaltung und/oder realisierten Stromlaufplanung der Vorrichtung oder Anlage oder Teilen davon, das Verfahren umfassend die nachfolgenden Verfahrensschritte: a.) Ermitteln von Beziehungsinformationen (106), die jeweils En gineering-Elementen (104) der Datensammlung (102) zugeordnet sind, b.) Erzeugen eines Multigraphen (400, 612) umfassend Knoten (410, 412, 416, 420, 422, 426, 430, 432, 434, 436, 490, 492) so wie Verbindungen (440, 460, 450, 470, 480, 485) zwischen Knoten, wobei die Knoten (410, 412, 416, 420, 422, 426, 430, 432, 434, 436, 490, 492) jeweils Engineering-Elementen (104) der Daten sammlung (102) zugeordnet sind und die Verbindungen (440, 460, 450, 470, 480, 485) jeweils ermittelten Beziehungsinformationen (106) zugeordnet sind, c.) Anwendung eines Analyseverfahrens (230, 240) auf den Multi graphen (400, 612) und Erzeugen eines Analyse-Ergebnisses, d.) Erstellen und/oder Erweitern einer Datenbank (320, 330) des Assistenzmoduls (310) unter Verwendung des Analyse-Ergebnisses.
10.) Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass das Verfahren nachfolgend Verfahrensschritt b.) die nach folgenden Verfahrensschritte umfasst: cl.) Anwendung eines weiteren Analyseverfahrens (230, 240) auf den Multigraphen (400) zum Erzeugen eines weiteren Analyse- Ergebnisses, dl.) Erstellen und/oder Erweitern einer weiteren Datenbank (330, 320) des Assistenzmoduls (310) unter Verwendung des weiteren Analyse-Ergebnisses.
11.) Verfahren nach Anspruch 9 oder 10, dadurch gekennzeichnet, dass das Analyseverfahren (230) als ein statistisches Analyse verfahren ausgebildet und eingerichtet ist, das Analyse-Ergebnis mindestens eine Engineering-Regel und/oder mindestens einen En gineering-Arbeitsablauf umfasst und die Datenbank (320) als eine Regel-Ablaufs-Datenbank ausgebildet (320) und eingerichtet ist, und/oder dass das weitere Analyseverfahren als ein statistisches Analyse verfahren (230) ausgebildet und eingerichtet ist und das weitere Analyse-Ergebnis mindestens eine weitere Engineering-Regel und/oder mindestens einen weiteren Engineering-Arbeitsablauf um fasst und die weitere Datenbank (320) als eine weitere Regel- Ablaufs-Datenbank (320) ausgebildet und eingerichtet ist.
12.) Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass das statistische Analyseverfahren (230) eine automatisierte statistische Auswertung sowie einen Auswahlschritt zur Auswahl der mindestens einen Engineering-Regel und/oder des mindestens einen Engineering-Arbeitsablaufs umfasst, und/oder dass das weitere statistische Analyseverfahren (230) eine weite re automatisierte statistische Auswertung sowie einen weiteren Auswahlschritt zur Auswahl der mindestens einen weiteren Engine ering-Regel und/oder des mindestens einen weiteren Engineering- Arbeitsablaufs umfasst.
13.) Verfahren nach Anspruch 9 oder 10, dadurch gekennzeichnet, dass das Analyseverfahren (240) als ein maschinelles Lernverfah ren (240) ausgebildet und eingerichtet ist und die Datenbank (330) als ein vermittels des maschinellen Lernverfahrens erzeug tes oder bearbeitetes ML-Modell (330) ausgebildet und eingerich tet ist oder ein solches ML-Modell (330) umfasst, und/oder dass das weitere Analyseverfahren (240) als ein weiteres maschi nelles Lernverfahren (240) ausgebildet und eingerichtet ist und die weitere Datenbank (330) als ein vermittels des weiteren ma- schinellen Lernverfahrens erzeugtes oder bearbeitetes weiteres ML-Modell (330) ausgebildet und eingerichtet ist oder ein sol ches weiteres ML-Modell (330) umfasst.
14.) Verfahren nach einem der Ansprüche 9 bis 13, dadurch gekennzeichnet, dass die Datensammlung (102) weiterhin Engineering- Arbeitsablauf-Informationen (108) umfasst und weiterhin der Mul tigraph (400) unter Verwendung der Engineering-Arbeitsablauf- Informationen (108) erzeugt wird.
15.) Assistenzmodul (310), dadurch gekennzeichnet, dass Assistenzmodul (310) eine Modul-Speichereinrichtung um fasst, und die Modul-Speichereinrichtung weiterhin eine gemäß einem der Ansprüche 9 bis 14 erstellte oder erweiterte Datenbank (320) und/oder eine gemäß einem der Ansprüche 10 bis 14 erstell te oder erweiterte weitere Datenbank (330) umfasst.
16.) Trainingssystem (100) für ein Assistenzmodul (310), dadurch gekennzeichnet, dass das Trainingssystem (100) zur Durchführung eines Verfahrens gemäß einem der Ansprüche 9 bis 14 ausgebildet und eingerichtet ist, wobei das Trainingssystem (100) eine Speichereinrichtung zur Speicherung der Datensammlung (102) sowie ein Assistenzmodul (310) umfasst, und wobei die Datenbank (320) und/oder die weitere Datenbank (330) in einer Modul-Speichereinrichtung des Assistenzmoduls (310) ge speichert sind.
17.) Assistenzsystem (300) gemäß Anspruch 8, dadurch gekennzeichnet, dass das Assistenzmodul (310) weiterhin gemäß einem der Ansprü che 9 bis 15 ausgebildet und eingerichtet ist und dass die Datenbank (320) gemäß einem der Ansprüche 9 bis 14 er stellt oder erweitert wurde, und/oder dass die weitere Datenbank (330) gemäß einem der An sprüche 10 bis 14 erstellt oder erweitert wurde.
PCT/EP2019/082550 2019-11-26 2019-11-26 Verfahren zum erzeugen eines engineering-vorschlags für eine vorrichtung oder anlage WO2021104608A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2019/082550 WO2021104608A1 (de) 2019-11-26 2019-11-26 Verfahren zum erzeugen eines engineering-vorschlags für eine vorrichtung oder anlage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2019/082550 WO2021104608A1 (de) 2019-11-26 2019-11-26 Verfahren zum erzeugen eines engineering-vorschlags für eine vorrichtung oder anlage

Publications (1)

Publication Number Publication Date
WO2021104608A1 true WO2021104608A1 (de) 2021-06-03

Family

ID=68887379

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2019/082550 WO2021104608A1 (de) 2019-11-26 2019-11-26 Verfahren zum erzeugen eines engineering-vorschlags für eine vorrichtung oder anlage

Country Status (1)

Country Link
WO (1) WO2021104608A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114186359A (zh) * 2021-11-22 2022-03-15 广东宏远新科自动化技术开发有限公司 一种机械产品可制造性智能分析方法及系统
DE102022119318A1 (de) 2022-08-02 2024-02-08 Dr. Ing. H.C. F. Porsche Aktiengesellschaft Verfahren zur Optimierung einer Gesamtkonstruktion

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997012301A1 (de) * 1995-09-25 1997-04-03 Siemens Aktiengesellschaft Entwurfsverfahren für die anlagentechnik und rechnergestütztes projektierungssystem zur verwendung bei diesem verfahren
EP1043639A2 (de) * 1999-04-08 2000-10-11 Siemens Aktiengesellschaft Verfahren und Anordnung zum Entwurf eines technischen Systems
US20180260498A1 (en) * 2017-03-09 2018-09-13 Alphaics Corporation SYSTEM AND METHOD FOR DESIGNING SYSTEM ON CHIP (SoC) CIRCUITS USING SINGLE INSTRUCTION MULTIPLE AGENT (SIMA) INSTRUCTIONS
US20190011901A1 (en) * 2017-07-07 2019-01-10 General Electric Company System and method for industrial plant design collaboration
WO2019040076A1 (en) 2017-08-25 2019-02-28 Siemens Aktiengesellschaft COGNITIVE AUTOMATION ENGINEERING SYSTEM

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997012301A1 (de) * 1995-09-25 1997-04-03 Siemens Aktiengesellschaft Entwurfsverfahren für die anlagentechnik und rechnergestütztes projektierungssystem zur verwendung bei diesem verfahren
EP1043639A2 (de) * 1999-04-08 2000-10-11 Siemens Aktiengesellschaft Verfahren und Anordnung zum Entwurf eines technischen Systems
US20180260498A1 (en) * 2017-03-09 2018-09-13 Alphaics Corporation SYSTEM AND METHOD FOR DESIGNING SYSTEM ON CHIP (SoC) CIRCUITS USING SINGLE INSTRUCTION MULTIPLE AGENT (SIMA) INSTRUCTIONS
US20190011901A1 (en) * 2017-07-07 2019-01-10 General Electric Company System and method for industrial plant design collaboration
WO2019040076A1 (en) 2017-08-25 2019-02-28 Siemens Aktiengesellschaft COGNITIVE AUTOMATION ENGINEERING SYSTEM

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
DU H C ET AL: "A framework for efficient IC/VLSI CAD databases", 1987 IEEE THIRD INTERNATIONAL CONFERENCE ON DATA ENGINEERING, IEEE, 3 February 1987 (1987-02-03), pages 619 - 625, XP033206061, ISBN: 978-0-8186-0762-2, [retrieved on 20150918], DOI: 10.1109/ICDE.1987.7272431 *
KENWAY CHEN ET AL: "MCAD-ECAD Integration: Overview and Future Research Perspectives", VOLUME 3: DESIGN AND MANUFACTURING, 1 January 2007 (2007-01-01), pages 123 - 132, XP055719432, ISBN: 978-0-7918-4297-3, DOI: 10.1115/IMECE2007-41705 *
KOPF CHRISTA ET AL: "Systems modeling and process control", 15 April 1991, ANNUAL INTERNATIONAL CONFERENCE ON THE THEORY AND APPLICATIONS OF CRYPTOGRAPHIC TECHNIQUES, EUROCRYPT 2018; [LECTURE NOTES IN COMPUTER SCIENCE; LECT.NOTES COMPUTER], SPRINGER, BERLIN, HEIDELBERG, PAGE(S) 270 - 280, ISBN: 978-3-642-17318-9, XP047290373 *
NICKEL, MAXIMILIAN ET AL.: "A Review of Relational Machine Learning for Knowledge Graphs", PROCEEDINGS OF THE IEEE, vol. 104.1, 2016, pages 11 - 33, XP011594741, Retrieved from the Internet <URL:https://arxiv.org/pdf/1503.00759.pdf> DOI: 10.1109/JPROC.2015.2483592
ROSSGODERER U ET AL: "A CONCEPT FOR AUTOMATICAL LAYOUT GENERATION", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION. NAGOYA,JAPAN, MAY 21 - 27, 1995; [PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION], NEW YORK, IEEE, US, 21 May 1995 (1995-05-21), pages 800 - 805, XP000657267, ISBN: 978-0-7803-1966-0, DOI: 10.1109/ROBOT.1995.525381 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114186359A (zh) * 2021-11-22 2022-03-15 广东宏远新科自动化技术开发有限公司 一种机械产品可制造性智能分析方法及系统
DE102022119318A1 (de) 2022-08-02 2024-02-08 Dr. Ing. H.C. F. Porsche Aktiengesellschaft Verfahren zur Optimierung einer Gesamtkonstruktion

Similar Documents

Publication Publication Date Title
WO2000063788A2 (de) Situationsabhängig operierendes semantisches netz n-ter ordnung
DE10149693A1 (de) Objekte in einem Computersystem
EP3575890B1 (de) Assistenzsystem zur unterstützung der planung von automatisierungssystemen
DE112010000947T5 (de) Verfahren zur völlig modifizierbaren Framework-Datenverteilung im Data-Warehouse unter Berücksichtigung der vorläufigen etymologischen Separation der genannten Daten
EP2323083A1 (de) Technisches Klassifikationssystem
WO2021058084A1 (de) Verfahren zur erstellung eines digitalen zwillings einer anlage oder vorrichtung
DE60032258T2 (de) Bestimmen ob eine variable numerisch oder nicht numerisch ist
DE112014003087T5 (de) Programm zur Common-Parameter-Schnittstellenerzeugung und Programm zum Lesen von Parametern
WO2021104608A1 (de) Verfahren zum erzeugen eines engineering-vorschlags für eine vorrichtung oder anlage
WO2019121206A1 (de) Verfahren zur realisierung eines neuronalen netzes
EP4007940A1 (de) Verfahren zur erzeugung von selbstbeschreibungs-datenmodulen
WO2020126168A1 (de) Verfahren zur zusammenarbeit von mehreren geräten eines lokalen netzwerks
EP3709188A1 (de) Rechnerarchitektur für eine schnittstelle zur aggregation von datenobjekten in einem verteilten system
DE102020215589A1 (de) Steuern eines deep-sequence-modells mit prototypen
EP3901713B1 (de) Verfahren und system zum betrieb einer technischen anlage mit einem optimalen modell
DE10123959A1 (de) Rechnersystem
DE10103845B4 (de) Rechnersystem
WO2020193294A1 (de) Verfahren und vorrichtung zum kompatiblen ansteuern eines geräts mit einem neuen programmcode
DE102020211679A1 (de) Computer-implementiertes system und verfahren mit einem digitalen zwilling und einer graphen-basierten struktur
WO2020200750A1 (de) Verfahren und system zum betreiben eines industriellen automatisierungssystems
DE19831651C1 (de) Verfahren zum Erzeugen eines regel- und anpassbaren Netzwerkes von Modellen von Verhaltensmustern einschließlich Software-Systemen
EP3637354A1 (de) Verfahren zur suche eines programmcodes für ein elektronisches gerät in einer datenbank
WO2024094798A1 (de) Orchestrator-basiertes forschungs- und entwicklungssystem und verfahren zu dessen betrieb
EP4123517A1 (de) Integration verteilter machine-learning modelle
EP4189622A1 (de) System zur bereitstellung von daten

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19821013

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19821013

Country of ref document: EP

Kind code of ref document: A1