Patent Description:
Engineering industrial/factory automation systems in a factory automation environment may be complex in view of the multiple software that may be used for their design, configuration, commissioning and in general for their engineering. Generally, the engineering software may be limited to certain domains or disciplines may not provide all required information to an engineer.

Expert engineering systems used for multi-disciplinary/multi-domain data may require data from the multiple engineering software to be in a particular format. Therefore, such expert engineering systems may be inflexible and restricted to limited domains.

With the increase in the application of Artificial Intelligence (AI) in the factory automation environment. For example, in case of production automation, AI-based engineering of systems may need one or more AI techniques and workflows that interact with each. Further, AI-based engineering may also involve one or more type of databases that allow for making meaningful conclusions from correlations between engineering data from the automation environment and/or the engineering software. The multiple AI techniques and associated databases used for AI-based engineering may further complicate engineering automation devices and systems.

Therefore, such engineering systems and methods to enable seamless communication between engineering software may benefit from improvements.

<CIT> discloses a factory automation system based on a subscribe-publish MQTT architecture. Sensor data could be published e. to an analytics enginewhcih analyses the datafor detecting conditions and derives information which can bei used rof taking selected actions affecting the condition monitored.

The object of the present invention is to enable flexible, scalable and seamless engineering of automation devices & systems by linking/orchestrating the engineering software used for such engineering.

The engineering system according to the present invention advantageously provides seamless linking of several AI modules/AI approaches in combination with a distributed knowledge base. The technical effect of such a linking/orchestration is that the engineer is able to harness the advantages of the individual AI modules in a flexible and scalable manner. The flexibility and scalability of the present invention enables easier integration of new engineering software/AI modules. For example, the engineer does not need to reconfigure the present system in case a new AI module is used for commissioning the automation devices in the factory automation environment.

Before describing the suggested convention in more detail, it should be understood, that various definitions for certain words and phrases are provided throughout this patent document, and those of ordinary skill in the art will understand that such definitions apply in many, if not most, instances to prior as well as future uses of such defined words and phrases. While some terms may include a wide variety of embodiments, the appended claims may expressly limit these terms to specific embodiments. It should also be appreciated that features explained in the context of the suggested method may also be comprised by the suggested system by appropriately configuring and adapting the system and vice versa.

As used herein "factory automation environment" refers to a facility that for manufacture, production that may be semi or completely automated. In addition to the facility, the factory automation environment includes engineering software to design and engineer the facility. Further, the factory automation environment may include automation engineers using the engineering software. The automation devices and system may be part of the factory automation environment. The factory automation environment may also be referred to as an industrial automation environment or laboratory automation environment.

As used herein the engineering software are software tools that allows engineers from multiple disciplines to work on common or connected engineering-data. The plurality of engineering software is associated with the factory automation environment. The plurality of engineering software is configured to generate and/or operate using engineering-data associated with at least one of design, commissioning, operation and maintenance of the factory automation environment. For example, in a factory setting, a factory planner can work together with a mechanical engineer, an electrical engineer and an automation engineer to plan a new production line for a car door assembly. When an automation engineer introduces a new programmable logic controller (PLC) to a project, this information is stored as engineering-data in the knowledge base. The plurality of engineering software receives user inputs and actions Computer Aided Design software. The plurality of engineering software may include engineering software related to electrical, mechanical, process technology, software, and other subordinate elements from different engineering disciplines.

As used herein "knowledge base" refers to one or more databases that are configured to store the engineering-data associated with the factory automation environment. For example, the knowledge base comprises at least a graph-based database, an ontological database distributed within the factory automation environment and a cloud computing platform. The knowledge base may be updated using a data integration module. The message-broker may be communicatively coupled with the data integration module configured to integrate the engineering-data from the plurality of engineering software into the knowledge base. The engineering-data may be indexed in each of the databases or selectively indexed into a single database depending on the confidentiality of the engineering data and the location of the database. For example, the ontological database may be located with the factory automation environment on a private network associated with the factory automation environment. High frequency sensor data associated with a rotating system in the factory automation environment may be stored in the ontological database as compared to a knowledge graph database hosted on the cloud computing platform.

The present invention advantageously proposes an engineering system, that is capable of providing access and updated engineering-data from the knowledge base. This is achieved using the message-broker that is configured to access and update the knowledge base then and operation in any one of the engineering software is performed. The message-broker is configured to generate messages that are transmitted between the engineering software, the knowledge base and the engineer via the GUI. The message-broker may be configured to generate the messages according to a message format interpretable by the plurality of engineering software, the knowledge base and the GUI (collectively referred to as interacting systems). Further, the knowledge base, the GUI, the AI modules and the plurality of engineering software are modifiably registered as subscribers and/or publishers to the message-broker. For example, the message-broker may be configured to operate as a message queue-based middleware used for exchange of the messages. Accordingly, the message-broker may function as a dedicated message bus that is communicatively coupled to the interacting systems. The engineering software the knowledge base and the GUI may act as multi-directional publisher and subscribers to the message-broker. Therefore, the message-broker may be configured to enable multi-directional transmission of the messages from the rule engines, the GUI and the AI modules based on a unified message queue.

In an example, the message-broker is configured to the engineering-data according as message content and message exchange parameters. The message exchange parameters include conditions at which the messages will be transmitted and received. A publisher (such as the engineering software) of the message may use a unique message identifier that may be used by the knowledge base and the GUI for reference. Accordingly, the message identifier ensures the sequence and the togetherness of the messages are uniquely recognizable.

Therefore, the notification displayed on the GUI is tied to the most relevant user interaction or operation.

In another example, the interacting systems may not be subscribers to all the messages published by the message-broker. For example, the messages to the engineer may only need messages directed to the GUI. Further, the GUI may be configured to subscribe to messages comprising hints with respect to displaying the notification or associated engineering-data. Accordingly, the message-broker may be advantageously configured to enable customizable filters at points of message exchange or through additional points of message exchange. In an embodiment, the filters may be generated based on kind of participant such as the engineering software, the GUI, the data integrator module, and on the message format (e.g., question, answer, recommendation.

The access provided to the engineering-data via the message-broker enables the engineer to initiate actions in the factory automation environment. For example, a message from one of the engineering software may provide an updated configuration of an automation device such as a robot. The engineer may be notified with the new configuration via the GUI. The engineer may then update the configuration of the robot based on the notification.

In an example, the message-broker is configured to receive the engineering-data from rule engines associated with the plurality of software. As used herein the rule engines are configurable based on industry standards and/or manufacturing requirements. In an embodiment, IEC <NUM> standard may be used to configure the rule engines. IEC <NUM> standard relates to distributed control and automation based on event triggers in an automation environment. In another embodiment, ISO standard <NUM> for safety of driving systems on roads may be used to configure the rule engines. As indicated, the industry standards depend on the industry associated with the factory automation environment.

For example, the engine uses a configuration engineering software to configure an automation device to respond to multiple emergency stops. An emergency stop may be linked to input/output tags, program blocks and user interface blocks. When a new emergency stop is added, input/output tags, program blocks and user interface blocks may need to be generated. If the engineer inadvertently omits the generation of the user interface block, the rule engine associated with the engineering software recognizes the omission. Further, the rule engine may be configured to send the engineering-data to the knowledge base as messages indicating the omission.

In an example, the rule engine may further be configured to access the knowledge base by the message-broker. Considering the above example, the rule engine may be configured to determine correlations and dependencies between the new emergency stop and the associated tags and blocks. By determining the correlations and the dependencies the rule engine identifies the user interface block committed by the engineer. The rule engine may also be configured to publish a message indicating a location in the GUI associated with the user interface block to notify the engineer to generate the same. In another embodiment, the rule engine may be configured to publish a message to the engineering software triggering automatic generation of the user interface block.

In an example, the message-broker is communicatively coupled to one or more of AI modules configured to analyze operation of the plurality of engineering software, a user input from the GUI or a combination thereof. The AI modules may include a neural network module, a reinforcement learning module, rule-based module and the combination thereof. For example, the rule engine associated with the engineering software used for configuring emergency stops may be a rule-based module. The rule-based model may be configured to get active when an additional emergency stop is introduced for a particular automation device. Accordingly, the rule-based module may be configured based on rules generated from the industry standards. In another example, the rules may also be generated based on coding guidelines associated with the knowledge base.

The AI modules may be configured to map the operation of the plurality of engineering software, the user input or the combination to the engineering-data in the knowledge base. The message-broker transmits the mapped engineering-data to the at least one engineering software to enable the at least one engineering software to initiate actions in the factory automation environment.

To effectively access the knowledge base, the AI modules or the rule engines may be configured to publish messages in classifiable message formats such as message formats classified as query format, response format, recommendation format and action format. In an embodiment, an operation of the engineer may trigger a message in the question format with associated engineering-data used to query the knowledge base. For example, the engineer does not generate a user interface block for an emergency stop. Similarly, the knowledge base, the GUI, and the plurality of engineering software are also configured to publish and/or receive messages in the above-mentioned message formats. Accordingly, in the engineering system disclosed present invention, the messages are received and transmitted in one or more message formats classified as the query format, the response format, the recommendation format and the action format.

The present invention advantageously proposes the method of orchestrating the plurality of engineering software associated with the factory automation environment. As used herein "orchestration of the plurality of engineering software" refers to integration of the engineering-data generated through the operation of the engineering software. Further, orchestration of the engineering software integrates dependencies between the individual engineering software and the engineering-data. Furthermore, orchestration refers to an automated arrangement and coordination between the engineering software via the message-broker.

According to the method, the knowledge base is accessed based on operation of at least one of the plurality of engineering software. The operation performed in the at least one engineering software is mappable to the knowledge base. In an embodiment, the engineering data associated with the operation is updated in the knowledge base.

Therefore, the method according to the present invention captures actions operations and interactions between the engineer and the plurality of engineering software in tangible searchable form. To enable access and operation of the knowledge base the engineering-data into messages recognizable by the plurality of engineering software and the knowledge base. The messages are transmitted and received between the plurality of engineering software and the knowledge base using the message-broker. By converting the engineering-data into messages, comprehensive engineering information across the plurality of engineering software is made available to the engineer. This enables the engineer to initiate actions in the factory automation environment. In an embodiment, the actions may automatically be initiated when the engineering software is triggered by one or more messages from other engineering software in the plurality of engineering software or from the knowledge base.

The method may include integrating the engineering-data from the plurality of engineering software into the knowledge base. Further, the method may also include analyzing operation of the plurality of engineering software, a user input from the GUI, or a combination thereof, through at least one of neural networks, reinforcement learning and rule-based logic. By analyzing the operation, interaction of the engineer or an input provided by the engineer/user relevant engineering-data from the knowledge base may be accessed. Accordingly the method may include, mapping the operation of the plurality of engineering software, the user input or the combination to the engineering-data in the knowledge base, wherein a message-broker transmits the mapped engineering-data to the at least one engineering software to enable the at least one engineering software to initiate actions in the factory automation environment.

In an example, the operation, the user input and combination thereof may be mapped to the engineering-data by determining dependencies between the engineering-data in the knowledge base and the operation, the user input and the combination. For example, pattern matching neural networks, reinforced learning or pattern-based rules may be used to determine the dependencies.

The method may include, displaying a notification on a GUI associated with the at least one engineering software indicating the actions to initiate in the factory automation environment, wherein the actions and the notification are transmitted as the messages recognizable by the GUI, the plurality of engineering software and the knowledge base. For example, the actions may include configuring only configuring systems, sub-systems or components of automation devices and systems within the factory automation environment. Accordingly, the method may include engineering the systems, the sub-systems, or the components based on the actions received as the messages by the GUI. The method may also include reconfiguring the systems, the sub-systems, or the components based on the actions received as the messages by the GUI.

The advantage of the present invention is linking several AI approaches in the context of factory automation. The engineering system and method advantageously accommodates specific requirements of the AI approaches while being flexible.

The foregoing has outlined rather broadly the technical features of the present disclosure so that those skilled in the art may better understand the detailed description that follows. Additional features and advantages of the disclosure will be described hereinafter that form the subject of the claims.

Below, the invention is described using the embodiments illustrated in the figures.

<FIG> illustrates an engineering system <NUM> for a factory automation environment, according to an embodiment of the present invention. The engineering system <NUM> includes an extraction sub-system <NUM>, a data integration module <NUM>, a knowledge base <NUM>, a rule module <NUM>, a message-broker <NUM> and a user interface <NUM>.

The extraction sub-system <NUM> includes a plurality of software <NUM> and data extraction modules <NUM> associated with the engineering software <NUM>. As indicated earlier, the engineering software <NUM> may be used for design, commissioning, operation and maintenance of the factory automation environment. The engineering software include simulation software, Computer Aided Design software, Finite Element Analysis (FEA) software, Cause and effect mapping software, piping and instrumentation diagrams (PI&Ds) software and the like. Further, the data extraction modules <NUM> may include pattern-based module, machine learning module, reinforcement module and similar such AI modules. The extraction sub-system <NUM> also includes an ontology editor module <NUM> and a graph editor module <NUM>.

The data integration module <NUM> is communicatively coupled to the data extraction modules <NUM> and the knowledge base <NUM>. The knowledge base <NUM> includes an ontology database <NUM> and a knowledge graph database <NUM>. The ontology database <NUM> is communicatively coupled to the ontology editor module <NUM> and the knowledge graph database <NUM> is communicatively coupled to the graph editor module <NUM>. In an embodiment, the data integration module <NUM> and the knowledge base <NUM> are implemented on a cloud computing platform <NUM>.

The extraction sub-system <NUM>, the data integration module <NUM>, the knowledge base <NUM> and the user interface <NUM> are configured to communicate with each other using the message-broker <NUM>. The message-broker <NUM> is communicatively coupled to the rule module <NUM> configured to define rules for communication between the automation engineering software <NUM>, the data extraction modules <NUM>, the user interface <NUM> and the message-broker <NUM>. The rule module <NUM> includes a configuration rule engine <NUM> used to generate message rules for hardware configuration software, which is used to configure hardware in the factory automation environment. The rule module <NUM> further includes an interface rule engine <NUM> to generate message rules for the user interface <NUM>. The rule module <NUM> additionally includes a recommendation rule engine <NUM> to generate message rules for a recommendation engineering software that recommends latest hardware and software versions for automation devices in the factory automation environment. The rule module <NUM> also includes a software rule engine <NUM> to configure controller software of controllers in the factory automation environment.

The user interface <NUM> may be used by the engineer engineering the factory automation environment to access the knowledge base <NUM>. Further, the user interface <NUM> may be used by an administrator or any user that to customize the rule module <NUM>, ontologies in the ontology database <NUM> via the ontology editor <NUM> and visualize the knowledge database <NUM>.

During initialization, the data extraction modules <NUM> are configured to populate the knowledge graph database <NUM>. For example, semantic information about the ontologies associated with the factory automation environment is used to populate the knowledge graph database <NUM>. The ontologies provide definitions of concepts and relations between the engineering-data. The engineering ontology may be built based on existing ontological standards for a domain. For example, IEEE <NUM>-<NUM> Standard Ontologies for Robotics and Automation (IEEE-SA, <NUM>), which establishes a series of ontologies about the Robotics and Automation. In another example, Ontology for Industry <NUM> (O4I4) is dedicated to capture the Industry <NUM>-specific domain concepts.

In operation, the data extraction modules <NUM> are configured to extract engineering-data relating to different disciplines from the plurality of engineering software <NUM>. For example, the data extraction modules <NUM> comprising the AI modules is configured to analyze operation of the engineering software <NUM>, a user input from the user interface <NUM>, or a combination thereof. Based on the analysis, the data extraction modules <NUM> publishes the engineering-data as messages to the message-broker <NUM>.

The data integration module <NUM> is configured to integrate the engineering-data extracted by the data extraction modules <NUM> into the ontology database <NUM> and the knowledge graph database <NUM>. The integration operation may be performed by generating additional links in the knowledge graph database <NUM> to store the extracted engineering-data. The data integration module <NUM> may be configured to map the extracted engineering-data associated with the operation and/or the user input to the knowledge base <NUM>. Based on the mapping, a notification may be generated as messages to the user interface <NUM>.

The message-broker <NUM> is configured as a message queue-based middleware is used for message exchange. The engineering-data extracted by the data extraction modules <NUM> are converted into messages and published to the message-broker <NUM>. The messages may also include a message type or a message format such as Question, Answer, Recommendation, Automatic Engineering Action. Based on the messages transmitted and received, at least one of engineering software <NUM> is configured to initiate actions in the factory automation environment based on the messages.

In operation, the data extraction modules <NUM>, the data integration module <NUM>, the knowledge base <NUM>, the user interface <NUM> may be registered as "consumers"/"subscriber" that for certain messages and "publisher" transmit for certain "channels and sub-channels". The channels and subchannels may include filters to enable the consumers to subscribe for specific messages (engineering-data) of interest.

For example, a message may include the following:
Publisher, associated engineering-data, subscriber, user input/operation performed in the engineering software <NUM>, metadata associated with the user input/operation such as prior operation, current engineering software used, semantics of the user input, response from the knowledge base <NUM>, semantics of the response.

The message-broker <NUM> may further be used to configure the messages. For example, new message providers or newly registered publishers may communicate the structure of the message to the message-broker <NUM>. In another example, the rule module <NUM> is configured to generate the message structure and publish the same to the providers and the subscribers. The message structure may be read by the subscribers registered to the message-broker <NUM>. Additionally, the publishers and the subscribers may sign off certain channels of the message-broker <NUM>. Further, the subscribers may receive text a standardized message that a channel is no longer served. Accordingly, the data extraction modules <NUM>, the data integration module <NUM> the knowledge base <NUM> and the user interface <NUM> may be linked in a highly flexible manner.

<FIG> illustrates an engineering system <NUM> for a factory automation environment <NUM>, according to an embodiment of the present invention. The engineering system <NUM> is configured to execute one or more engineering software applications <NUM>, <NUM>, <NUM>. For example, the engineering software applications are process engineering software <NUM> and associated process ontology editor <NUM>, a simulation software <NUM>, and a project scheduling software <NUM>. A person skilled in the art would appreciate that ontology editors or knowledge graph editors may be plugged into the simulation software <NUM> and the project scheduling software <NUM>. The ontology editors such as the process ontology editor <NUM> and the knowledge graph editors may be configured as data extraction modules <NUM>.

The engineering system <NUM> may further include a message broker <NUM> configured to receive engineering data from the software applications <NUM>, <NUM> and <NUM> via the ontology editors and the knowledge graph editors. For example, the engineer may add additional process element <NUM> using the process engineering software <NUM>. The process ontology editor <NUM>, is configured to map the operation of the engineer to the engineering-data associated with the process element <NUM>. The process ontology editor <NUM> publishes a message to the message broker <NUM> with the engineering-data associated with the process element <NUM>, metadata associated with the operation of adding the process element <NUM>, input/output tags of the process element <NUM>, et cetera.

In an embodiment, the factory automation environment <NUM> may include a knowledge base <NUM> including an ontology database <NUM>. The knowledge base <NUM> is configured to store engineering data and ontology rules associated with the factory automation environment <NUM>. The knowledge base <NUM> may be distributed across multiple devices within the factory automation environment <NUM>.

The engineering system <NUM> is configured to communicate with a cloud computing platform <NUM>. The cloud computing platform <NUM> includes multiple modules <NUM>, <NUM> and database <NUM> hosted and deployed in a distributed computing environment. For example, the cloud computing platform <NUM> includes an AI integration module <NUM> configured to integrate the engineering-data extracted by the ontology and the knowledge graph editors. The AI integration module <NUM> is configured to update the knowledge base <NUM> by updating an ontology database <NUM> and/or a knowledge graph database <NUM>.

The knowledge base <NUM> hosted on the cloud computing platform <NUM> may be a duplicate of the knowledge base <NUM> hosted within the factory automation environment <NUM>. In an embodiment, the factory automation environment <NUM> may include a controller to determine which engineering data can be copied/transmitted to the knowledge base <NUM> on the cloud computing platform <NUM>. A person skilled in the art can appreciate that the knowledge base <NUM> is distributed across both the factory automation environment <NUM> and the cloud computing platform <NUM>.

In an embodiment, the engineer can directly access the knowledge base <NUM> using a user interface <NUM>. The user interface <NUM> may be a web based graphical user interface configured to receive an input from the engineer (user input). The user input is published to the message broker <NUM> and subscribed by the knowledge base <NUM>. The knowledge base <NUM> is configured to publish a response to the user input as a message to the message broker <NUM>. The response may also be published to the engineering software <NUM>, <NUM>, <NUM> to trigger one or more actions in the engineering software. For example, the process element <NUM> may be automatically configured based on the response from the knowledge base <NUM>.

In another embodiment, the operation of adding the process element <NUM> is published as a message to the message broker <NUM>. The simulation software <NUM> is configured to subscribe to messages associated with the process element <NUM>. Further, the simulation software <NUM> is configured to determine configuration parameters of the process element <NUM> based on simulation of the factory automation environment <NUM>. The configuration parameters are published as messages to the message broker <NUM> and subscribed by the process engineering software <NUM>. The notification may be displayed to the engineer on the graphical user interface <NUM> indicating the configuration parameters. Alternatively, the process engineering software <NUM> is triggered to automatically configure the process element <NUM> based on the configuration parameters published by the simulation software <NUM>. A person skilled in the art can also appreciate that the process scheduling software <NUM> may also be used in a similar manner.

For example, the engineer is scheduling/ enquiring regarding a paint recipe production process for automobile paints via the processing scheduling software <NUM>. The simulation software <NUM> is triggered by the enquiry based on the enquiry message published to the message-broker <NUM>. The simulation software <NUM> in response simulates the time required for a first batch of paint to be produced and publishes a simulation message to the message-broker <NUM>. The simulation message <NUM> is displayed as a notification to the engineer scheduling the production of the paint recipe.

<FIG> illustrates a method <NUM> of orchestrating one or more engineering software to engineer automation devices and systems in the factory automation environment, according to an embodiment of the present invention. The method begins at step <NUM> with accessing a knowledge base for the factory automation environment based on operation of at least one of the engineering software. The engineering software configured to generate and/or operate using engineering-data associated with at least one of design, commissioning, operation and maintenance of the factory automation environment.

The step <NUM> includes analyzing operation of the plurality of engineering software, a user input from a web-based GUI, or a combination thereof, through at least one of neural networks, reinforcement learning and rule-based logic. The analysis enables effective access to the knowledge base.

The operation and the user input are communicated to the knowledge base in the form of messages. Accordingly, step <NUM> includes converting the engineering-data into messages recognizable by the plurality of engineering software and the knowledge base. The messages are used by the knowledge base to map the operation and/or the user input to the engineering-data stored in the knowledge base. Step <NUM> may further include mapping the operation of the plurality of engineering software, the user input or the combination to the engineering-data in the knowledge base. For example, step <NUM> includes determining dependencies between the engineering-data in the knowledge base and the operation, the user input and the combination-based pattern matching neural networks, reinforced learning or pattern-based rules.

The transmission and reception of messages via the message-broker effective amounts to updating and retrieving engineering-data in the knowledge base. Accordingly, step <NUM> includes enabling access to the engineering-data based on transmission and receipt of the messages.

A message-broker transmits the mapped engineering-data in the knowledge base as a notification message to the at least one engineering software to enable the at least one engineering software to initiate actions in the factory automation environment. Accordingly, step <NUM> includes enabling at least one engineering software to initiate actions in the factory automation environment based on the messages. Step <NUM> includes displaying a notification on a GUI associated with the at least one engineering software indicating the actions to initiate in the factory automation environment. As indicated herein above, the actions and the notification are transmitted as the messages recognizable by the GUI, the engineering software and the knowledge base. Further, step <NUM> includes initiating the actions in the factory automation environment. Actions may be initiated by configuring or reconfiguring automation devices and components in the factory automation environment. Therefore, step <NUM> may also include engineering systems, sub-systems, or components in the factory automation environment based on the actions.

Additionally, step <NUM> includes reconfiguring the systems, the sub-systems, or the components based on the actions.

For the purpose of this description, a computer-usable or computer-readable non-transitory storage medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The medium can be electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation mediums in and of themselves as signal carriers are not included in the definition of physical computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, random access memory (RAM), a read only memory (ROM), a rigid magnetic disk and optical disk such as compact disk read-only memory (CD-ROM), compact disk read/write, and DVD. Both processing units and program code for implementing each aspect of the technology can be centralized or distributed (or a combination thereof) as known to those skilled in the art. Additionally, while the current disclosure describes the indexing module and the crawler platform as independent components, the modules may be a software component and may be realized within a distributed control system or an engineering software suite. Additionally, in an embodiment, one or more parts of the engineering module may be realized within the technical system.

While the present disclosure has been described in detail with reference to certain embodiments, it should be appreciated that the present disclosure is not limited to those embodiments.

Claim 1:
An engineering system (<NUM>, <NUM>) for a factory automation environment (<NUM>), the system comprising:
a message-broker (<NUM>, <NUM>) configured to access and update a knowledge base (<NUM>, <NUM>) based on operation of at least one of a plurality of engineering software (<NUM>, <NUM>, <NUM>, <NUM>), wherein the plurality of engineering software (<NUM>, <NUM>, <NUM>, <NUM>) is configured to generate and/or operate using engineering-data associated with at least one of design, commissioning, operation and maintenance of the factory automation environment (<NUM>), wherein the message-broker (<NUM>, <NUM>) is configured to convert the engineering-data into messages recognizable by the plurality of engineering software (<NUM>, <NUM>, <NUM>, <NUM>) and the knowledge base (<NUM>, <NUM>); and
at least one Graphical User Interface (GUI) communicatively coupled to the message-broker (<NUM>, <NUM>) configured to enable access to the engineering-data via the message-broker (<NUM>, <NUM>), whereby at least one engineering software (<NUM>, <NUM>, <NUM>, <NUM>) is configured to initiate actions in the factory automation environment (<NUM>) based on the messages,
characterized in that the message-broker (<NUM>, <NUM>) is communicatively coupled to one or more artificial intelligence modules (<NUM>) configured to analyze operation of the plurality of engineering software (<NUM>, <NUM>, <NUM>, <NUM>), a user input from the GUI, or a combination thereof, wherein the artificial intelligence modules are configured to map the operation of the plurality of engineering software (<NUM>, <NUM>, <NUM>, <NUM>), the user input or the combination to the engineering-data in the knowledge base (<NUM>, <NUM>), wherein the message-broker (<NUM>, <NUM>) is configured to transmit the mapped engineering-data to the at least one engineering software (<NUM>, <NUM>, <NUM>, <NUM>) to enable the at least one engineering software (<NUM>, <NUM>, <NUM>, <NUM>) to initiate actions in the factory automation environment (<NUM>), the artificial intelligence modules comprising one of a neural network module, a reinforcement learning module, a rule-based module and a combination thereof.