SYSTEM AND METHOD FOR FACILITATING ENGINEERING OF AN INDUSTRIAL SYSTEM
20230297082 · 2023-09-21
Inventors
Cpc classification
G06F2111/20
PHYSICS
G06F30/13
PHYSICS
International classification
Abstract
System and method for facilitating engineering of an industrial system (250) are disclosed. The method comprising: generating a query (306) based on at least one of a user input and a user interaction with a Graphical User Interface (GUI) configured to enable engineering of the industrial system (250); mapping the query (306) to a knowledge database (140, 240) comprising engineering-data generated across multi-disciplinary platforms associated with at least one of design, engineering, commissioning, operation and maintenance of the industrial system (250), wherein the engineering-data is made available by one or more crawlers (122, 222-228) associated with the multi-disciplinary platforms and wherein the engineering-data is indexed in the knowledge database (140, 240) based on an engineering ontology of the industrial system (250); and displaying a notification (116, 172) on the GUI with a response the query (306), consequent to at least one of the user input and the user interaction, wherein the response comprises at least a list (174) of engineering-data related to the query (306), wherein the notification comprises at least recommendation to further engineering of the industrial system (250).
Claims
1. A method of facilitating engineering of an industrial system (250), the method comprising: generating a query (306) based on at least one of a user input and a user interaction with a Graphical User Interface (GUI) configured to enable engineering of the industrial system (250); mapping the query (306) to a knowledge database (140, 240) comprising engineering-data generated across multi-disciplinary platforms associated with at least one of design, engineering, commissioning, operation and maintenance of the industrial system (250), wherein the engineering-data is made available by one or more crawlers (122, 222-228) associated with the multi-disciplinary platforms and wherein the engineering-data is indexed in the knowledge database (140, 240) based on an engineering ontology of the industrial system (250); and displaying a notification (116, 172) on the GUI with a response the query (306), consequent to at least one of the user input and the user interaction, wherein the response comprises at least a list (174) of engineering-data related to the query (306), wherein the notification comprises at least recommendation to further engineering of the industrial system (250), wherein the knowledge database (140, 240) is a knowledge graph database (140) generated by indexing the engineering-data based on based on key-value pairs and the engineering ontology, wherein the key-value pairs are generated between entities identified in the engineering-data and the engineering-data and wherein the key-value pairs are generated for the engineering-data and the user actions, wherein the user actions are monitored and indexed by the crawlers (122, 222-228), wherein the response further comprises a confidence quotient for each of the related engineering-data in the list based on a number of ontological hops, and wherein the related engineering-data is ranked within the list based on a number of ontological hops.
2. The method according to claim 1, wherein generating the knowledge database (140, 240) comprises: generating key-value pairs for the engineering-data and the user actions by: analyzing unstructured data in the engineering-data and the user actions by extracting the entities referenced in the user actions and by tokenizing text in the unstructured data.
3. The method according to claim 1, wherein generating the query (306) comprises: recognizing at least one entity in the industrial system (250) associated with the user interaction based on parameters of the industrial system (250) associated with the user interaction, wherein the entity comprises one or more hardware components and/or software components of the industrial system (250); and recognizing the entity in the industrial system (250) associated with the user input based on analysis and synthesis of content of the user input, wherein the content comprises text, image, audio, video, gesture and a combination thereof.
4. The method according to one of claim 1 and claim 3, wherein mapping the query (306) to the engineering-data comprises: determining from the knowledge database (140, 240) the engineering-data related to the entity referenced in the query (306); and determining a distance between the related engineering-data and the query (306) based on the number of ontological hops between the query (306) and the related engineering-data.
5. The method according to claim 1, wherein recommendation to further engineering of the industrial system (250) comprises: component recommendation for the industrial system (250) based on the response, wherein components of the industrial system (250) comprise hardware components and software components; configuration recommendation indicating configuration modes and tools to configure the components and the industrial system (250); project recommendation indicating projects associated with at least one of the user input and the user interaction, wherein project configuration from the recommended project is imported to engineer the industrial system (250); and usage-based recommendation suggesting user actions to be performed via the GUI to engineer the industrial system (250).
6. A system (100, 200, 300) for facilitating engineering of an industrial system (250), the system comprising: a crawler platform (120, 220, 310) configured to communicate to one or more crawlers (122, 222-228) associated with multi-disciplinary platforms (210) capable of performing design, engineering, commissioning, operation and maintenance of the industrial system (250); an indexing module (130, 230) communicatively coupled to the crawler platform (120, 220, 310) configured to collate engineering-data mined by the crawlers (122, 222-228) in a knowledge database (140, 240), the indexing module comprising an index reader (164, 340) configured to map a query (306) to the engineering-data generated across the multi-disciplinary platforms based on an engineering ontology of the industrial system (250); and a user interface module (260, 360) configured to generate the query (306) based on at least one of a user input and a user interaction with a Graphical User Interface (GUI) (114, 170) configured to enable engineering of the industrial system (250), wherein the GUI displays a notification on the GUI (114, 170) with a response the query (306), consequent to at least one of the user input and the user interaction, wherein the notification (116, 172) comprises at least suggestions to further engineering of the industrial system (250).
7. The system according to claim 6, further comprising: a message bus (250) communicatively coupled to the crawler platform (120, 220, 310), the indexing module, the knowledge database (140, 240) and the user interface, wherein the message bus is configured to enable transmission of the query (306), the engineering-data and the response as messages, wherein the crawler platform (120, 220, 310) publishes the engineering-data, wherein the user interface publishes the query (306), wherein the indexing module subscribes to messages with the engineering-data and with the query (306) from the message bus and wherein the user interface subscribes to the response with a list of engineering-data related to the query (306).
8. The system according to claim 7, wherein the crawler platform (120, 220, 310) is configured to dynamically generate a new crawler associated with a new platform based on the user input, wherein engineering-data from the new platform is updated in the knowledge database (140, 240).
9. The system according to claim 8, wherein the crawler platform (120, 220, 310) is configured to monitor user actions in the multi-disciplinary platforms, wherein the user actions are updated in the knowledge database (140, 240).
10. The system according to claim 9, wherein the indexing module comprises an index creator (230, 330) configured to index the engineering-data across the multi-disciplinary platforms in the knowledge database (140, 240) according to the engineering ontology.
11. The system according to one of claims 6-10, wherein the knowledge database (140, 240) implemented as a knowledge graph database (140) based on the engineering ontology.
12. A computer program product, comprising computer readable code, that when executed on a processor, performs any one of the method steps of one or more of the method claims 1 to 5.
Description
[0046] Below, the invention is described using the embodiments illustrated in the figures.
[0047]
[0048]
[0049]
[0050]
[0051]
[0052] Hereinafter, embodiments for carrying out the present invention are described in detail. The various embodiments are described with reference to the drawings, wherein like reference numerals are used to refer to like elements throughout. In the following description, for purpose of explanation, numerous specific details are set forth in order to provide a thorough understanding of one or more embodiments. It may be evident that such embodiments may be practiced without these specific details.
[0053]
[0054] The industrial system according to
[0055] The crawler 112 is configured to communicate with a crawler platform 120. The crawler platform 120 is configured to communicate to one or more crawlers (such as crawler 112) associated with multi-disciplinary platforms capable of performing design, engineering, commissioning, operation and maintenance of the process plant. The crawler platform 120 includes an action manager module 122 and a new crawler module 124. The action manager module 122 is configured to monitor user actions in the multi-disciplinary platforms wherein the user actions are updated in the knowledge database. The new crawler module 124 is configured to dynamically generate a new crawler associated with a new platform based on the user input, wherein engineering-data from the new platform is updated in the knowledge database. The crawler platform 120 may be implemented on a distributed computing environment. In an embodiment, engineering-data from crawlers associated with multiple engineering tools may be collated at the crawler platform 120. Accordingly, in an embodiment, the crawler platform 120 may act as a knowledge database.
[0056] The crawler platform 120 is configured to communicate the engineering data to an indexing device 130. The indexing device is a computing device configured to index the engineering-data from the crawler platform 120 into a knowledge graph database 140.
[0057] The indexing device 130 comprises an index creator 132 that further includes an action indexing module 134 and a data indexing module 136. The indexing device 130, particularly the index creator 132 is communicatively coupled to the crawler platform 120. The index creator is configured to collate engineering-data mined by the crawlers in the knowledge graph database 140 based on an engineering ontology of the process plant. For example, the engineering ontology for the process plant may include a structure ontology comprising description of components of the process plant, component topology and spatial representation. The engineering ontology may further include material ontology and behavior ontology of the components and the materials used and manufactured in the process plant. A person skilled in the art can appreciate that the crawler platform 120 can also implement the index creator 132.
[0058] The knowledge graph database 140 is a database implemented using graph-based storage. The meaning of the engineering-data is stored alongside the engineering-data in the graph, based on the engineering ontology of the process plant. The knowledge graph database 140 may also include the index creator 132 to update the database 140. In addition, the knowledge graph database 140 may include interface (an index reader 164) to map user inputs/user interactions from the engineer to the engineering-data. A person skilled in the art can additionally appreciate that the crawler platform 120 may include the knowledge graph database 140 and can thereby also implement the index reader 164.
[0059] The engineer may directly input requests in the computing device 110. In an embodiment, the engineer inputs request onto a web-based user interface accessed via the computing device 110. The web-based user interface may be hosted on the Internet using a user interface device 160. The user interface device 160 comprises a processing unit 162, a communication unit 164, a memory unit 165 and a web-based GUI 170. The GUI 170 is accessed via the computing device 110 using the Internet. The memory unit 165 comprises the index reader 164 and an interface module 164 configured to generate the GUI 170.
[0060] The user interface device 160 is configured to generate a query based on a user input to the GUI 170 or a user interaction with plant engineering GUI 114. The index reader 164 maps the query to the engineering-data. In an embodiment, the GUI displays 170 a notification 172 on the GUI 170 with a response the query, consequent to at least one of the user input and the user interaction. The notification 172 comprises at least suggestions to further engineering of the industrial system. The response may be a list 174 of related engineering-data mapped to the query. In an embodiment, the user interface device 160 may be configured to generate a notification 116 on the GUI 114 of the computing device 110 based on user interaction in the computing device 110.
[0061] To enable interaction and interoperability between the computing device 110, the crawlers in the crawler platform 120, the crawler platform 120, the indexing device 130, the knowledge graph database 140 and the user interface device 160 the system 100 includes a message bus 180. The message bus 180 is communicatively coupled to the crawler platform 120, the indexing device 130, the knowledge graph database 140 and the user interface device 160. The operation of the message bus 180 is described further in
[0062]
[0063] The system 200 includes a user interface module 260 is accessed via a web-based GUI. The user interface module 260 comprises an Artificial Intelligence (AI) interpretation module 265 and a recommendation module 270. The system 200 further includes a knowledge database 240 comprising an indexing module 230 and an action manager module 235.
[0064] In addition, the system 200 includes a crawler platform 220 comprising a plurality of crawlers 222-228 associated with design and engineering tools used in the engineering environment 210. For example, the plurality of crawlers 222-228 includes an integrated engineering crawler 222 configured to mine engineering-data from an integrated engineering software. Other crawlers include a simulation crawler 224 associated with a simulation software used to simulate the automation system. Further, an IoT crawler 226 associated with an IoT computing platform and an Internet crawler 228 may be used to crawl the engineering-data.
[0065] In operation, the indexing module 230 applies various AI techniques to index the crawled engineering-data from the engineering environment 210 in the knowledge database 240. In an embodiment, the indexing is performed according to the engineering ontology associated with the PLC 250. The engineering ontology includes all instances imported from PLC configurations. Further, the engineering ontology includes source code of the PLC 250 along with algorithms encapsulated in function blocks, functions and subroutines. Furthermore, the automation system configuration associated with the PLC 250 is also included in the engineering ontology. For example, the engineering ontology may be based on the IEC61131 standard or IEC61499 standard.
[0066] In an embodiment, the crawled engineering-data is received by the indexing module 230 in the form of unstructured text, then indexing module 230 uses natural language processing techniques, e.g. tokenization, entity extraction, etc., to extract relevant key-value pairs from the unstructured text. Afterwards, the indexing module 230 applies mapping techniques for each key-value pair to identify relevant concepts from the engineering ontology and stores the engineering-data within the corresponding pages of the knowledge database 240. For example, the engineering-data is stored in ElasticSearch database or Solr database.
[0067] In case the crawled engineering data is structured, e.g. such as coming from a simulation software used in the engineering environment 210, indexing module 230 applies mapping techniques on the crawled engineering-data directly. The mapping techniques enable identification of relevant concepts from the engineering ontology which is then used to index the engineering-data. Additionally, the indexing module 230 may apply standard indexing techniques, such as Lucene, to put the crawled engineering data within the index.
[0068] The plurality of crawlers 222-228 may monitor actions taken in the engineering environment 210 based on the changes in the associate engineering software. The actions are then updated in the knowledge database 240 by the action manager module 235. For example, the action manager module 235 is configured to identify the project and the project path and map the engineering-data in the knowledge database 240 accordingly.
[0069] In an embodiment, the engineer enters a request in the user interface module 260. The AI interpretation module 265 uses natural language processing to understand the engineer's request. In particular, entity recognition techniques identify relevant entities and concepts in the request. Furthermore, the AI interpretation module 265 identifies the type of the search query, e.g. navigational, informational or transactional. The AI interpretation module is configured to re-phrase the engineer's request as a query. The query is then mapped to the engineering-data indexed in the knowledge database 240 using the indexing module 230. For example, if the knowledge database 240 is implemented using ElasticSearch as the storage system, then AI interpretation module 265 represents the input search request as the query DSL.
[0070] AI interpretation module 265 enhances the query by the usage of the engineering ontology. For example, the user searches for information relevant to 4DI DC24V HF, such as configuration and naming standards, the AI interpretation module 265, based on the entity extraction results, recognizes that this is a Digital Input Module. Further, based on the engineering ontology, the AI interpretation module 265 recognizes that it belongs to the class of IO Modules. Hence, the query over the knowledge database 240 may be extended to include results not only for the keyword “4DI DC24V HF”, but also relevant for digital input modules and IO modules. The relevance of the query results is identified by how far off the corresponding result is from the starting keyword in the query. For example, the (meaning how many hops away in the ontology). This feature ensures that the engineer can obtain a broader insight according to his request.
[0071] In an embodiment, the no relevant engineering-data has been so far crawled for 4DI DC24V HF. Without the engineering ontology and knowledge database, the system 200 will have no results for the engineer's request. However, the system 200 has enough information for configuration and naming standards for the IO modules. By understanding that 4DI DC24V HF is an IO module, the system will be able to provide sufficient results with respect to IO modules and thereby responding to the engineer's request.
[0072] The search results are displayed using the recommendation module 270. In an embodiment, the recommendation module 270 is configured to rank the results and the related engineering-data based on a relevance score. Further, the recommendation module 270 displays the results according to the ranking and according to the type of the engineer's request (i.e. navigational, transactional, informational) and on the relevant structure from the engineering ontology.
[0073] Non-limiting examples for engineer requests (i.e. user input) are as follows: [0074] Which function blocks in the engineering project are related to robot control?
[0075] The AI text interpretation module 265 is configured to detect a relation between the engineering project and a process simulate project, e.g. where the same signal name is used in a robot simulation and in the engineering software blocks. The response to the query is based on the engineering-data crawled by the engineering crawler 222 and the simulation crawler 224. [0076] In which engineering projects did engineer “A” visualize the operation of water pumps last year?
[0077] The knowledge database 240 is updated with the engineering projects and describing additionally keywords from the engineer A's actions on the local PC and in code.repository.com. The request is mapped to the engineering projects in the knowledge database 240 to generate the response. [0078] What hardware and software needed to create an emergency safety stop?
[0079] The AI interpretation module 265 analyzes the structure the request and interconnects the engineering-data that correspond to an emergency stop. The engineering-data is then shortlisted based on its relevance to the PLC 250. [0080] Are there open source software libraries for the control of signal towers?
[0081] The AI interpretation module 265 initiates a query in the knowledge database 240 to identify project that was created by one of the engineering tool crawlers 222-228. Accordingly, the response is determined and displayed. If it does not find an entry of a project in the knowledge database 240, it delegates the query to an internet search.
[0082]
[0083] The operation of the crawler platform 310, the action manager 320, the index creator 330, the index reader 340 and the user interface 360 is comparable with the associated modules in
[0084] The message bus 350 is communicatively coupled to the crawler platform 310, the action manager 320 the index creator 330, the index reader 340 and the user interface 360. The message bus 350 is configured to enable transmission of the query, the engineering-data and the response as messages. The crawler platform 310 publishes the engineering-data. For example, the engineering data is published as a “new entry message” 302. The action manager 320 publishes user actions performed in the multi-disciplinary platforms used to design and engineer the industrial system. For example, a user action is published as a “new action message” 304.
[0085] The index creator 330 subscribes to the new entry messages 302 and the new action messages 304. The index creator 330 indexes the messages 302 and 304 in the knowledge database according to the engineering ontology of the industrial system.
[0086] When the engineer inputs a request or interacts with an engineering software, the user interface 360 is configured to generate a query. Accordingly, the user interface publishes the query as a “search message” 306. The index reader 340 subscribes to the search messages 306 and publishes the engineering-data related to the query as “match message” 308 or “response message” 308. The user interface subscribes to the response message 308 including a list of engineering-data related to the query.
[0087]
[0088]
[0089] At step 520, key-value pairs for the engineering-data and the user actions are generated. In an embodiment, the key-value pairs are generated by analyzing unstructured data in the engineering-data and the user actions. The analysis includes extracting the entities referenced in the user actions and by tokenizing text in the unstructured data.
[0090] At step 530, the indexed engineering-data is updated in the knowledge database based on the user actions.
[0091] The method 400 for facilitating engineering of the industrial system. The method 400 begins at step 410 by generating a query based on a user input and/or a user interaction with a Graphical User Interface (GUI) configured to enable engineering of the industrial system. Step 410 further includes recognizing at least one entity in the industrial system associated with the user interaction based on parameters of the industrial system impacted/modified by the user interaction. The entity comprises hardware components and/or software components of the industrial system. Step 410 may further include recognizing the entity in the industrial system associated with the user input based on analysis and synthesis of content of the user input, wherein the content comprises text, image, audio, video, gesture and a combination thereof.
[0092] Step 420 includes mapping the query to the knowledge database comprising the engineering-data generated across multi-disciplinary platforms associated with design, engineering, commissioning, operation and/or maintenance of the industrial system. The engineering-data is made available by one or more crawlers associated with the multi-disciplinary platforms and the engineering-data is indexed in the knowledge database based on the engineering ontology of the industrial system as described in the method 500.
[0093] Step 420 may further include determining from the knowledge database the engineering-data related to the entity referenced in the query and determining a distance between the related engineering-data and the query based on number of ontological hops between the query and the related engineering-data.
[0094] In an embodiment, the step 420 may also include determining the response to the query by consolidating the related engineering-data into a list and determining a confidence quotient for each of the related engineering-data in the list based on the number of ontological hops. Furthermore, the step 420 may include ranking the related engineering-data within the list based on the number of ontological hops.
[0095] Step 430 includes displaying a notification on the GUI with a response the query, consequent to the user input and/or the user interaction. The response comprises the list of engineering-data related to the query and the confidence quotient. Further, step 430 includes displaying the notification comprising one or more recommendations to further engineering of the industrial system. For example, the recommendation includes component recommendation for the industrial system based on the response. The recommendation may also include configuration recommendation indicating configuration modes and tools to configure the components and the industrial system. Further, the recommendation may include project recommendation indicating projects associated with at least one of the user input and the user interaction. The project configuration from the recommended project is imported to engineer the industrial system. Furthermore, the recommendation includes usage-based recommendation suggesting user actions to be performed via the GUI to engineer the industrial system.
[0096] At step 440, the engineer incorporates the recommendation whereby the industrial system is designed based on the notification. For example, if a project recommendation is provided, configurations for the industrial system may be automatically imported and affect and thereby designing the industrial system.
[0097] 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.
[0098] 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. In view of the present disclosure, many modifications and variations would be present themselves, to those skilled in the art without departing from the scope of the various embodiments of the present disclosure, as described herein. The scope of the present disclosure is, therefore, indicated by the following claims rather than by the foregoing description. All changes, modifications, and variations coming within the meaning and range of equivalency of the claims are to be considered within their scope. All advantageous embodiments claimed in method claims may also be apply to system/device claims.