Method and computing device for providing search results in a process control system

By introducing search query servers and edge gateway systems into the process plant, the problems of remote data viewing by operators and data transmission security were solved, enabling secure search functions and data transmission, reducing the risk of network attacks, and protecting the safety of plant equipment and personnel.

CN112541050BActive Publication Date: 2025-11-07FISHER ROSEMOUNT SYST INC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202010988544.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-09-20
Filing Date
2020-09-18
Publication Date
2025-11-07
Estimated Expiration
2040-09-18

AI Technical Summary

Technical Problem

In process plants, operators have difficulty viewing process plant-related data from remote sources, and existing technologies cannot effectively provide search functions and protect the data transmission process, leading to an increased risk of network intrusion and malicious attacks, affecting the confidentiality, integrity and availability of information assets, and potentially causing safety issues for plant equipment and personnel.

Method used

The process plant search query server receives and analyzes user queries, provides search results using a contextual knowledge base, and securely transmits data to external systems via an edge gateway system. It also uses unidirectional data diodes and hierarchical security mechanisms to protect process plant data from unauthorized access.

Benefits of technology

It enables secure search capabilities and remote data viewing within the process plant, reduces the risk of cyberattacks, ensures the security and integrity of data transmission, and protects the safety of plant equipment and personnel.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112541050B_ABST
    Figure CN112541050B_ABST
Patent Text Reader

Abstract

To provide search capabilities in a process control system, a contextual knowledge base is generated that organizes process plant related data according to semantic relationships between the process plant related data and process plant entities. When a user submits a process plant search query related to a process plant entity within the process plant, search results are obtained by identifying data sets from the contextual knowledge base that respond to the process plant search query. The search results are then presented on a user interface device based on the identified data sets. To allow searches to be performed by user interface devices external to the process plant, data diodes are placed between field-facing components and edge-facing components of the process plant such that data flows from the field-facing components to the edge-facing components, but not from the edge-facing components to the field-facing components.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates generally to process plants and process control systems, and in particular, to providing search capabilities for search queries of process plant related data in a process plant / process control system, and to protecting the transfer of process plant related data from a process plant / process control system to external systems for presentation of the process plant related data on devices remote from the process plant. BACKGROUND

[0002] Distributed process control systems, like those used in chemical, oil, pharmaceutical, paper production, or other process plants, typically include one or more process controllers communicatively coupled to one or more field devices via an analog, digital or combined analog / digital bus or through wireless communication over a network. Field devices are various equipment items used to monitor and / or control process variables in process plants or other industrial facilities. Typically, field devices are located throughout the plant and in process streams, at various locations connected by the bus or network, for example. Field devices perform various functions such as performing physical and measurements, storing received data, operating switches, valves, etc. Process controllers receive signals indicative of process measurements from field devices and execute a control application or routine that manipulates the signals to generate control signals which are then sent over the bus to control field devices to be controlled. In this way, the control routine can control the process to keep it running at desired operating conditions.

[0003] Information from the field devices and controllers is typically made available to one or more other hardware devices, such as operator workstations, personal computers or computing devices, data historians, report generators, centralized databases, or other centralized management computers, through data highways, which are often Ethernet networks. Each of these hardware devices typically is centralized within the process plant. These hardware devices run applications that enable an operator, for example, to control the process, to perform troubleshooting, to modify the process controls, to simulate the operation of the process, to train personnel, to keep and update a configuration database, etc. The data highways used by the hardware devices, controllers, and field devices can comprise wired

[0004] As one example, the DeltaV™ control system, sold by Emerson Automation Solutions TMThe control system includes a number of applications stored in and executed by different devices at various locations in the process plant. A configuration application resident on one or more workstations or computing devices enables a user to create or change process control modules and downloads these process control modules to dedicated distributed controllers over a data highway. Typically, these control modules are composed of function blocks that are objects in an object-oriented programming protocol that perform functions within the control scheme based on their inputs and provide outputs to other function blocks within the control scheme. The configuration application can also allow the configuration designer to create or change operator interfaces that are used by a viewing application to display data to an operator and to enable the operator to change settings, such as set points, within the process control routine. Each dedicated controller, and in some cases one or more field devices, stores and executes a respective controller application that runs the control modules distributed and downloaded thereto to implement the actual process control functionality. A viewing application, which can execute on one or more operator workstations (or on one or more remote computing devices communicatively coupled to the operator workstations and to the data highway), receives data from the controller application(s) over the data highway and displays that data to process control system designers, operators, or users who use user interfaces and can provide any of a number of different views, e.g., operator's view, engineer's view, technician's view, etc. A data historian application, which is typically stored and executed on a data historian device, collects and stores some or all of the data provided over the data highway, and a configuration database application can execute on another computer coupled to the data highway to store current process control routine configurations and data related thereto. Alternatively, the configuration database can be located in the same workstation as the configuration application.

[0005] Generally, process control systems of process plants include field devices, controllers, workstations, and other devices interconnected through a system of hierarchically interconnected networks and buses. Process control systems can also be connected to various business and external networks, for example, to reduce manufacturing and operating costs, improve productivity and efficiency, provide timely access to process control and / or process plant information, etc. On the other hand, interconnection of process plants and / or process control systems with enterprise and / or external networks and systems increases the risk of network intrusion and / or malicious cyber attacks that can be caused by, for example, expected vulnerabilities in business systems and applications used in the enterprise and / or external networks. Network intrusion and malicious cyber attacks on process plants, networks, and / or control systems can adversely affect the confidentiality, integrity, and / or availability of information assets, in general, information assets are similar to those of general purpose computer networks. However, unlike general purpose computer networks, network intrusion on process plants, networks, and / or control systems can not only result in damage, destruction, and / or loss of plant equipment, products, and other physical assets, but also loss of human life. For example, a network intrusion can cause a process to become uncontrolled and, in turn, result in explosions, fires, floods, exposure to hazardous materials, etc. Thus, it is extremely important to protect communications related to process control plants and systems.

[0006] As a result, process plant personnel such as operators are generally unable to view process plant related data indicative of the runtime operation of the process plant from remote sources such as mobile devices or vehicle head units. Furthermore, when process plant personnel interact with operator display applications that provide displays and generate reports regarding the operational status of control systems or equipment within the process plant, the operator display applications generally do not allow users to search for items within the process plant such as control modules, alarms, product volumes generated within a particular time period, etc. Each data point within the process plant can have several descriptors and aspects such as runtime aspects representing physical measurements or set values, configuration, current value, mode, range, status, quality, and other descriptors of the data point. As a result, the complexity of the process plant related data within the process plant is very large making it difficult to search for particular data items in such a large data set. Searching becomes even more difficult without situational awareness of the context in which the runtime data is provided. SUMMARY

[0007] Disclosed herein are techniques, systems, apparatuses, components, devices, and methods for providing search functionality within a process plant and for remotely receiving and viewing process plant related data. The techniques, systems, apparatuses, components, devices, and methods can be applied to industrial process control systems, environments, and / or plants, which are interchangeably referred to herein as "industrial control," "process control," or "process" systems, environments, and / or plants. Generally, such systems and plants provide control over one or more processes operating to manufacture, refine, transform, generate, or produce physical materials or products in a distributed manner.

[0008] To provide search functionality within a process plant, a process plant search query server receives and analyzes process plant search queries from software modules and / or user interface devices, such as operator workstations, mobile devices (e.g., smartphones and tablets), vehicle head-end units, etc. The process plant search queries can be search queries related to process plant entities within the process plant, such as search queries about control modules, alarms, process flow modules, process parameter data of process plant entities, product parameter data generated by process plant entities, amounts of products produced within a certain time period, etc.

[0009] The process plant search queries can be provided by a user in a natural language format, such as "show me alarms at my boiler unit." The process plant search query server then analyzes the process plant search query to identify a subject of the search query (e.g., alarms), a modifier or filter used to filter search results (e.g., alarms specific to the boiler unit), and a context of the process plant search query (e.g., the user is a plant supervisor of a process plant located in Houston, Texas, and supervises plant area A with one boiler unit). The process plant search query server then obtains process plant related data related to the process plant search query. For example, the process plant search query server can obtain process plant related data from a context knowledge base that organizes process plant related data according to semantic relationships between the process plant related data and process plant entities. In the above example, the process plant search query server can obtain process plant related data for each alarm corresponding to the boiler unit in plant area A in the Houston plant from the context knowledge base.

[0010] The process plant search query server then generates a set of process plant search results using the obtained process plant related data. For example, the set of process plant search results can include six process plant search results, each corresponding to a different alarm. The process plant search query server can then provide the set of search results for presentation by the user interface device. For example, the search results can be presented graphically on the user interface or in audio format via a speaker. In some implementations, each search result includes an optional link to additional information about the search result. For example, a search result display on the user interface device can present the names of each alarm (e.g., Alarm A, Alarm B, Alarm C, etc.), where each name includes an optional link to additional information about the alarm. When one of the names is selected, the user interface device can present detailed information about the alarm (e.g., the type of alarm, the priority of the alarm, the alarm message, the control module associated with the alarm, etc.). The user interface device can also present a process flow module graphically depicting the alarm and the process plant entity corresponding to the alarm. The search result display can also present a preview of the detailed information about the alarm, such as a thumbnail of a control module or process flow module graphically depicting the alarm.

[0011] In some implementations, the process plant search results can be ranked on the search result display and presented in the ranked order. For example, the process plant search query server can assign a score to each process plant search result according to the relevance to the process plant search query. Specifically, the process plant search query server can determine that high priority or critical alarms have a higher relevance to the process plant search query than low priority alarms. Accordingly, the process plant search results corresponding to high priority or critical alarms can be ranked above the process plant search results corresponding to low priority alarms. Thus, the process plant search results corresponding to high priority or critical alarms can be presented above the process plant search results corresponding to low priority alarms on the search result display.

[0012] Additionally, the display of process plant search results can be adjusted based on the type, size, and / or capabilities of the user interface device. If the user interface device has a display but no speakers, the process plant search results can be presented graphically. If the user interface device has speakers but no display, the process plant search results can be presented audibly. Further, if the user interface device is of a particular type or has a screen size below a threshold size (e.g., a mobile device), the process plant search query server can provide a single process plant search result to display on the user interface device (e.g., the highest ranked process plant search result). On the other hand, if the user interface device has a screen size above a threshold size (e.g., an operator workstation), the process plant search query server can provide a set of process plant search results to display on the user interface device.

[0013] In some implementations, the process plant search query server interacts with process plant related data generated within a process plant. In this way, the process plant search query server can provide process flow modules, control modules, etc. to the user interface device as search results, which are communicatively coupled to controllers and field devices in the process plant. The user can then interact with the process flow modules, control modules, etc. such that changes to the process plant related data included in the process flow modules, control modules, etc. result in changes to the online process plant. For example, the user can adjust a setpoint value via a user control on a display of a process flow module. The user interface device can then communicate with a controller to adjust the setpoint value in the online process plant.

[0014] In other implementations, the process plant search query server does not directly interact with process plant related data generated within a process plant. Rather, some process plant related data generated within a process plant is replicated and provided to an edge-facing component through a unidirectional data diode. In this way, a user can view a copy of the process plant related data representing activity in the online process plant without being able to interact with controllers, field devices, or any other devices running in the online process plant. Thus, process plant search results and / or other data from the process plant search query server can be presented to external sources, such as mobile devices, vehicle head units, etc., that are not authorized to communicate with process plant devices and do not include the security levels necessary to be authorized devices. BRIEF DESCRIPTION OF DRAWINGS

[0015] Figure 1 is a block diagram of an example edge gateway system for a process plant or process control system;

[0016] Figure 2is a block diagram of an example process plant, which illustrates, among other things, various example components of a process plant or process control system, the process control system itself, and interconnections between other example systems and / or networks;

[0017] Figure 3 is a graphical representation of an example context knowledge base that stores process plant related data for a process plant or process control system;

[0018] Figure 4 is a block diagram of an example process plant search query server;

[0019] Figure 5 is an example process plant display including a search bar for entering a process plant search query;

[0020] Figure 6 is an example process plant search results display including process plant search results responsive to a process plant search query;

[0021] Figure 7 is an example detailed search results display that can be presented in response to a selection of a process plant search result included in Figure 6 is an example detailed search results display that can be presented in response to a selection of a process plant search result included in

[0022] Figure 8 is another example process plant search results display including process plant search results responsive to a process plant search query;

[0023] Figure 9 is a display of a vehicle head unit for presenting process plant related data at a remote location away from a process plant;

[0024] Figure 10 is an example process plant related data presented on a vehicle head unit;

[0025] Figure 11 is another example of process plant related data presented on a vehicle head unit;

[0026] Figure 12 is a flow diagram representing an example method for providing process plant search results responsive to a process plant search query;

[0027] Figure 13 is a flow diagram representing an example method for presenting process plant search results responsive to a process plant search query; and

[0028] Figure 14 is a flow diagram representing an example method for presenting process plant related data within a vehicle head unit. DETAILED DESCRIPTION

[0029] As described above, process plant related data is replicated and received at a computing device in a secure manner. Once the process plant related data is received in a secure manner, the process plant related data can be provided to external sources, such as mobile devices, vehicle head-end units, etc., that are not authorized to communicate with the process plant or controllers, field devices, or other devices within the process plant. The process plant related data can be provided to the external sources to present reports, graphical representations of control modules and process flow modules, and other information related to the process plant that process plant personnel typically view at plant workstations. In this manner, process plant personnel can remotely view this information without the risk of unauthorized personnel being able to control devices in the process plant from the external sources.

[0030] Further, the process plant related data can be presented as process plant search results in response to a process plant search query generated on a user interface device that can be operated within the process plant (e.g., an operator workstation, a mobile workstation) or outside the process plant (e.g., a mobile device, a vehicle head-end unit, a desktop or laptop computer, a wearable device, etc.).

[0031] Protecting process plants and process control systems from cyber intrusions and malicious cyber attacks generally utilizes a layered or tiered security hierarchy, with at least some tiers or levels being protected by the use of firewalls and other security mechanisms. Using the Purdue Model of control hierarchy logical framework standardized by ISA (International Society of Automation) 95.01-IEC (International Electrotechnical Commission) 62264-1 as an example framework, process control systems generally fall into security levels 0-2 (e.g., levels with a higher level of trust in the security and validity of messages, packets, and other communications), and manufacturing, company, and enterprise systems generally fall into security levels 3-5 (e.g., levels with a lower level of trust). For example, process plant systems, networks, and devices of security levels 0-3 can be protected from threats from enterprise networks of security levels 4-5 and / or from any external networks above security level 5 that utilize the enterprise networks, such as by using a demilitarized zone (DMZ) and / or one or more firewalls. However, as more and more services and applications that operate on process plant data are moved to be executed remotely, such as on networks and systems outside or external to the process plant (e.g., at security levels 4 and / or 5 within an enterprise or business), and / or even on networks and systems outside the enterprise or business (e.g., above security level 5, via the Internet or other public networks), stronger techniques are needed to prevent process plant systems, networks, and devices from being compromised.

[0032] The innovative systems, components, devices, methods, and techniques described herein address these and other security concerns associated with process plants and their networks, and are particularly directed to securely transmitting process plant related data to one or more external systems that are consumers of the process plant related data.

[0033] To illustrate, Figure 1 is a block diagram of an example edge gateway system 1 that securely transmits process plant related data from a process plant 5 to one or more external systems 8. The edge gateway system 1 includes a field-facing component 10 that is communicatively connected to an edge-facing component 12 via a data diode 15. The field-facing component 10 includes one or more processors 18 and one or more non-transitory memories or data storage devices 20 that store at least one data set and at least one set of computer-executable instructions that are executable by the one or more processors 18. For example, as shown in Figure 1 the one or more memories 20 of the field-facing component 10 store respective data sets, such as one or more interest lists 22, a showable data type system 24A, and optionally other data sets (not shown). The one or more memories 20 of the field-facing component 10 also store computer-executable instructions for a data classifier 25, and can store other sets of computer-executable instructions (not shown). The field-facing component 10 is communicatively connected to one or more process plant communication networks, data networks, and / or links 28, which can include any number of wired and / or wireless communication networks, data networks, and / or links that are communicatively connected to various devices and / or other data sources 30 associated with the process plant 5 and that generate data, for example, as the process plant 5 operates to control an industrial process. More detailed descriptions of embodiments of the field-facing component 10 of the edge gateway system 1 and its subcomponents are provided elsewhere in this disclosure.

[0034] The edge-facing component 12 of the edge gateway system 1 includes one or more processors 35 and one or more non-transitory memories or data storage devices 38 that store at least one data set and at least one set of computer-executable instructions that are executable by the one or more processors 35. For example, as shown in Figure 1 the one or more memories 38 of the edge-facing component 12 store respective data sets corresponding to a data lake 40 and a contextual knowledge base 42, the one or more memories 38 of the edge-facing component 12 store at least a partial copy 24B or replica of the showable data type system 24A of the field-facing component 10, respective computer-executable instructions for a contextual knowledge miner 45, and one or more access mechanisms 48 to the contextual knowledge base 42. Of course, although Figure 1Not shown, but one or more memories 38 of the edge-facing component 12 can store other datasets and / or other computer-executable instruction sets. Similarly, as... Figure 1 As shown, the edge-oriented component 12 of the edge gateway system 1 is communicatively connected to one or more external systems 8 via one or more external communication networks, data networks, and / or links 50. The one or more external communication networks, data networks, and / or links 50 may include any number of wired and / or wireless communication networks, data networks, and / or links, and may include any number of private and / or public networks and / or links. The one or more external systems 8 may include any number of public computing systems and / or private computing systems, which may be implemented using any suitable technology, such as server clusters, cloud computing systems, etc., and various applications (e.g., third-party applications, websites, etc.) may run on them. More detailed descriptions of embodiments of the edge-oriented component 12 and its sub-components are provided in other parts of this disclosure.

[0035] like Figure 1 As shown, the field-facing component 10 and the edge-facing component 12 are interconnected via a data diode 15 (although in some embodiments of the edge gateway system 1 (not shown), the data diode 15 may be omitted, and the field-facing component 10 and the edge-facing component 12 may be directly connected, or integrated, as a single logical and / or physical component). In any case, as... Figure 1As shown, the data diode 15 includes one or more transmission mediums via which data (e.g., electronic data) is transmitted from the field-facing component 10 to the edge-facing component 12, with the data diode 15 being the only communication connection between the field-facing component 10 and the edge-facing component 12. In preferred embodiments, the data diode 15 is unidirectional, such that any and all types of data (e.g., signaling data, control data, management data, payload data, etc.) flow only from the field-facing component 10 to the edge-facing component 12, and not from the edge-facing component 12 to (and in fact, in some embodiments, cannot physically flow to) the field-facing component 10. That is, the data diode 15 can be physically and / or logically configured to prevent any and all types of data (e.g., signaling data, control data, management data, payload data, etc.) from flowing from the edge-facing component 12 to the field-facing component 10. In one example, the unidirectional data diode 15 is implemented using a fiber optic link or cable. In another example, the hardware and / or software of the unidirectional data diode 15 can be otherwise configured to prevent any types of data (e.g., signaling data, control data, management data, payload data, etc.) from flowing from the edge-facing component 12 to the field-facing component 10. For example, physical ports of the edge-facing component 12 that would otherwise receive data from one or more external systems 8 can be blocked, disabled, and / or omitted.

[0036] Generally speaking, the edge gateway system 1 securely connects and / or bridges lower security level process plant 5 and related systems with higher security level system(s) 8. For example, with reference to the Purdue model (or other similar security hierarchy), the network / link 28 via which the data source 30 and edge gateway system 1 obtain process plant related data can be at a lower security level (e.g., security level 0 through security level 2), and can include, for example, process control systems, configuration systems, analytics systems, communication / network systems, asset management systems, diagnostic and / or test tools and / or systems, commissioning tools and / or systems, user devices and / or operator interfaces, historian systems, batch systems, and other systems, networks, and / or applications associated with the process plant 5. Thus, for ease of discussion herein, and not by way of limitation, the term "process plant 5" is used to collectively refer to the physical process plant as well as other systems associated with and in communication connection with the physical process plant that generate and / or communicate lower security level data.

[0037] In Figure 1The edge gateway system 1, with its field-facing component 10 acquiring and initially processing process plant-related data generated by the process plant 5, can be at security levels 2 to 3, while the data diode 15 and the edge-facing component 12 can be at security level 3. One or more external systems 8 can be at security level 4 or higher, and can include any number of public and / or private systems and various applications running on them, such as enterprise applications and / or systems, third-party applications, publicly available applications, websites, etc. Thus, the edge gateway system 1 securely transmits data generated by the process plant-related systems, networks, and / or applications 5 at lower security levels to the systems, networks, and / or applications 8 at higher security levels.

[0038] In particular, such as Figure 1 As shown, the field-facing component 10 of the edge gateway system 1 obtains or collects field data from the data source 30 according to one or more interest lists 22 stored at the field-facing component 10. The interest list 22 indicates specific process plant-related data generated by the process plant 5 and associated with the operation of the plant 5 to control industrial processes, allowing the indicated process plant-related data to be displayed (e.g., can be displayed) to external systems, networks, and / or applications 8. Thus, the interest list 22 included in the edge gateway system 1 provides an initial level of field-facing security, preventing protected data from being unintentionally released from the process plant 5 to external systems 8. The interest list 22 can indicate specific data of interest and / or combinations thereof, such as runtime data, event data, historical data, configuration data, and / or any other type of process plant-related data, generated and / or associated with devices, components, and / or systems of the process plant 5 at a lower security level (e.g., security level 0-2). The interest list 22 can be accessed via an interest manager ( Figure 1 (not shown in the document) to configure and / or define, which is described in more detail in other parts of this disclosure.

[0039] Further, at the field-facing component 10, the data classifier 25 classifies the obtained interest list data according to a presentable data type system 24, respectively. Generally, the presentable data type system 24 defines a system of data types (including data definitions, names, values, fields, structures, classes, objects, etc.) that are presented or otherwise made available to the external system 8. Further, the presentable data system 24 defines mappings, transformations, groupings, and / or other arrangements of process plant related data types to presentable data types so that process plant related data content can be utilized and understood by the external system 8. As used herein, the term "process plant related data types" generally refers to data types (e.g., data definitions, names, values, fields, structures, classes, objects, etc.) that have been defined and / or configured for use by applications, devices, components, systems, and / or networks of the process plant 5. In embodiments, the presentable data type system 24 can be configured via the interest studio (e.g., in the manner described elsewhere in the present disclosure). Regardless, the presentable data system 24 allows the external system 8 to interpret process plant related data generated by the process plant 5 and related lower security level systems without the external system 8 needing to know any internal data configurations of the plant 5 and without the external system 8 needing to query and / or initiate communications with and / or send responses to the process plant 5. In this way, the presentable data type system 24 and the data classifier 25 of the edge gateway system 1 further protect the process plant 5 from possible security breaches from the external system 8. The presentable data type system 24 and the data classifier 25 are described in greater detail elsewhere in the present disclosure.

[0040] At least due to the use of the presentable data type system 24 and the data classifier 25, the data diode 15 can be a truly unidirectional data diode. Currently known data diodes provide unidirectional flow of content data, but allow bidirectional flow of signaling, control, and / or management data by allowing positive acknowledgements and / or error conditions to be communicated from the data receiving end to the data sending end. However, the data diode 15 of the edge gateway system 1 can be truly unidirectional in that no type of data flows from its data receiving end to its data sending end. In fact, in embodiments, the data diode 15 is physically configured to prevent the communication of any type of data (e.g., signaling, control, management, content, etc.) from the edge-facing component 12 to the field-facing component 10, such as in embodiments in which the data diode 15 is implemented via an optical transmission medium. In this way, the data diode 15 of the edge gateway system 1 further protects the process plant 5 from possible security breaches from the external system 8 at least due to the truly unidirectional nature of the data diode 15.

[0041] At the edge-facing component 12 of the edge gateway system 1, the classified content data received from the field-facing component 10 via the data diode 15 is stored in the data lake 40. The contextual knowledge miner 45 mines the data lake 40 to discover relationships between various content data stored in the data lake 40 and generates / modifies / updates the contextual knowledge base 42 such that the contextual knowledge base 42 includes the received content data and indications of the discovered relationships. In this way, the contextual knowledge base 42 stores process plant related content data (e.g., runtime data, event data, historical data, and / or other types of data provided by the process plant 5) and contextual data indicating relationships between the provided process plant related content data, conditions corresponding to generation, transmission, and / or receipt of the process plant related content data within the process plant 5, and / or other types of contexts of the process plant related content data. The knowledge stored in the contextual knowledge base 42 (e.g., content data and associated contextual information, and optionally other data) can be exposed to (e.g., made available to) one or more external systems 8.

[0042] In practice, the edge-facing component 12 provides one or more access mechanisms 48 via which the external systems 8 can access at least some of the knowledge stored in the contextual knowledge base 42. Each access mechanism can include a further level of protection against possible security breaches from the external systems 8, respectively. For example, the access mechanisms 48 can be implemented using application programming interfaces (APIs), containers, servers, and / or the like to help prevent authorized access by the external systems to the contextual knowledge base 42 and / or the process plant 5. The edge-facing component 12 of the edge gateway system 1 and its subcomponents are discussed in more detail in other parts of this disclosure.

[0043] Generally, the features, components, and architecture of the edge gateway system 1 provide near-unlimited access to process plant related data by external systems 8 in a highly secure manner without impacting the performance of the process plant 5. Additionally, because the edge gateway system 1 provides process plant related data to external systems 8 according to context, such as providing process plant related content data within the context of the configuration of the process plant 5, the external systems 8 can more quickly and easily find and consume process plant related data. Moreover, the edge gateway system 1 allows a variety of different types of applications to securely and easily operate on contextual knowledge corresponding to the process plant 5, such as mobile connected applications, advanced analytics applications, open systems technology applications (e.g., Node.JS, Docker, Linux, etc.), custom applications, IoT applications, IIoT applications, business and / or enterprise applications (e.g., Excel, PowerBI, etc.), and / or other types of applications. Furthermore, the edge gateway system 1 is easily adaptable to aggregate process plant related data from multiple process plants and discover relevant aggregated knowledge therefrom, as well as aggregate data from external systems of higher security levels (e.g., weather forecasting systems, supply chain systems, financial systems, etc.) and discover relevant aggregated knowledge therefrom.

[0044] Figure 2 is a block diagram of an example process plant 100 configured to control an industrial process during online or runtime operations, and from which process plant related data can be securely communicated via embodiments of the edge gateway system 1. For example, Figure 1 The process plant 5 of Figure 2 may include at least portions of the process plant 100 of Figure 2 As shown, the process plant 100 is communicatively connected to an edge gateway system 102, which can be, for example, an embodiment of the edge gateway system 1 of Figure 1

[0045] The process plant 100 (also referred to interchangeably herein as a process control system 100 or a process control environment 100) includes one or more process controllers that receive signals indicative of process and / or other types of measurements made by field devices, process that information to implement control routines, and generate control signals that are sent over wired or wireless process control communication links or networks to other field devices to control operation of an industrial process in the plant 100. Typically, at least one field device performs a physical function (e.g., opens or closes a valve, raises or lowers a temperature, makes a measurement, senses a condition, etc.) to control operation of the process. Some types of field devices communicate with controllers using I / O devices. Process controllers, field devices, and I / O devices can be wired or wireless, and any number of wired and wireless process controllers, field devices, and I / O devices, and combinations thereof, can be included in the process plant environment or system 100. ​

[0046] For example, Figure 2 A process controller 111 is shown that is communicatively connected to wired field devices 115-122 via input / output (I / O) cards 126 and 128, and to wireless field devices 140-146 via a wireless gateway 135 and a process control data highway or trunk 110. The process control data highway 110 can include one or more wired and / or wireless communication links, and can be implemented using any desired or suitable or communication protocol, such as an Ethernet protocol, an IP or other packet protocol, etc. In some configurations (not shown), the controller 111 can be communicatively connected to the wireless gateway 135 using one or more communication networks other than or in addition to the trunk 110, such as by using any number of other wired or wireless communication links that support one or more communication protocols, data protocols, and / or industrial automation protocols, e.g., a Wi-Fi or other IEEE 802.11 compliant wireless local area network protocol, a mobile communication protocol (e.g., WiMAX, LTE, or other ITU-R compliant protocol), HART-IP, Profibus, Fieldbus, etc.

[0047] The controller 111, e.g., a DeltaV TM Controller sold by Emerson Automation Solutions, can be operative to implement batch or continuous processing using at least some of the field devices 115-122 and 140-146. In embodiments, the controller 111 is communicatively connected to at least some of the field devices 115-122 and 140-146 using any desired hardware and software associated with, for example, standard 4-20 mA devices, I / O cards 126, 128, and / or any smart communication protocol (e.g., a HART Fieldbus protocol, protocol, protocol, etc.) in addition to being communicatively connected to the process control data highway 110. In Figure 2 embodiments, the controller 111, field devices 115-122, and I / O cards 126, 128 are wired devices, while the field devices 140-146 are wireless field devices. Of course, the wired field devices 115-122 and wireless field devices 140-146 can conform to any other desired standard or protocol, such as any wired or wireless protocol, including any standard or protocol developed in the future.

[0048] Figure 2The process controller 111 includes a processor 130 that implements or monitors one or more process control routines 138 (e.g., stored in memory 132). The processor 130 is configured to communicate with the field devices 115-122 and 140-146, and with other nodes communicatively coupled to the controller 111. It should be noted that any of the control routines or modules described herein can have portions thereof implemented or performed by different controllers or other devices, if desired. Likewise, the control routines or modules 138 described herein that are to be implemented within the process control system 100 can take any form, including software, firmware, hardware, etc. The control routines can be implemented in any desirable software format, such as using object-oriented programming, ladder logic, sequential function charts, function block diagrams, or using any other software programming language or design paradigm. The control routines 138 can be stored in any desired type of memory 132, such as random access memory (RAM) or read-only memory (ROM). Likewise, the control routines 138 can be hard coded into, for example, one or more EPROMs, EEPROMs, application specific integrated circuits (ASICs), or any other hardware or firmware elements. Thus, the controller 111 can be configured to implement control strategies or control routines in any desired manner.

[0049] The controller 111 implements control strategies using what are commonly referred to as function blocks, where each function block is an object or other portion of an overall control routine (e.g., a sub-routine) and operates together with other function blocks (via communications referred to as links) to implement process control loops within the process control system 100. Based on the control, the function blocks generally perform one of the following: an input function, such as those associated with transmitters, sensors, or other process parameter measurement devices; a control function, such as those associated with control routines that perform PID, fuzzy logic, etc. control; or an output function, controlling operation of some devices such as valves, to perform some physical function within the process control system 100. Of course, there are hybrid and other types of function blocks. Function blocks can be stored in and executed by the controller 111, as is commonly done when these function blocks are used to control or monitor standard 4-20 mA devices and the like, or can be stored in and executed by the field devices themselves, as is commonly done with more intelligent field devices or those associated with Fieldbus devices. The controller 111 can thus include one or more control routines 138 that can implement one or more control loops that are executed by performing one or more function blocks. Fieldbus devices. The controller 111 can thus include one or more control routines 138 that can implement one or more control loops that are executed by performing one or more function blocks.

[0050] ​The wired field devices 115-122 can be any type of device such as sensors, valves, transmitters, positioners, etc., and the I / O cards 126 and 128 can be any type of I / O device that conforms to any desired communication or controller protocol. In Figure 2 the field devices 115-118 are standard 4-20 mA devices or devices that communicate with the I / O cards 126 over analog or combined analog and digital lines, and the field devices 119-122 are smart devices such as Fieldbus field devices that communicate with the I / O cards 128 over a digital bus using the Fieldbus communication protocol. However, in some embodiments, at least some of the wired field devices 115, 116, and 118-121 and / or at least some of the I / O cards 126, 128 can additionally or alternatively communicate with the controller 111 using the process control data highway 110 and / or by using other suitable control system protocols (e.g., Profibus, DeviceNet, Foundation Fieldbus, ControlNet, Modbus, HART, etc.).

[0051] In Figure 2 the wireless field devices 140-146 communicate via a wireless process control communication network 170 using a wireless protocol such as . Such wireless field devices 140-146 can communicate directly with one or more other devices or nodes of the wireless network 170 that are also configured to communicate wirelessly (e.g., using the wireless protocol or another wireless protocol). To communicate with one or more other nodes that are not configured to communicate wirelessly, the wireless field devices 140-146 can utilize a wireless gateway 135 that is connected to the process control data highway 110 or to another process control communication network. The wireless gateway 135 provides access to the various wireless devices 140-158 of the wireless communication network 170. In particular, the wireless gateway 135 provides communicative coupling between the wireless devices 140-158, the wired devices 115-128, and / or other nodes or devices of the process control plant 100. For example, the wireless gateway 135 can provide communicative coupling by using the process control data highway 110 and / or by using one or more other communication networks of the process plant 100.

[0052] Similar to wired field devices 115-122, wireless field devices 140-146 of wireless network 170 perform physical control functions within process plant 100, such as opening or closing valves or measuring process parameters. However, wireless field devices 140-146 are configured to communicate using the wireless protocol of network 170. Thus, wireless field devices 140-146, wireless gateway 135, and other wireless nodes 152-158 of wireless network 170 act as producers and consumers of wireless communication packets.

[0053] In some configurations of process plant 100, wireless network 170 includes non-wireless devices. For example, in Figure 2 middle, Figure 2 Field device 148 is a legacy 4-20mA device, while field device 150 is a wired device. Devices. For communication within network 170, field devices 148 and 150 can connect to wireless communication network 170 via corresponding wireless adapters 152A and 152B. Wireless adapters 152A and 152B support wireless protocols such as WirelessHART, and can also support other wireless protocols such as… Fieldbus, PROFIBUS, DeviceNet, and one or more other communication protocols. Furthermore, in some configurations, the wireless network 170 may include one or more network access points 155A, 155B, which may be separate physical devices communicating with the wireless gateway 135 via wired connections, or may be provided as an integrated device along with the wireless gateway 135. The wireless network 170 may also include one or more routers 158 to forward packets from one wireless device to another wireless device within the wireless communication network 170. Figure 2 In this context, wireless devices 140-146 and 152-158 communicate with each other and with wireless gateway 135 via wireless link 160 of wireless communication network 170 and / or via process control data high-speed channel 110.

[0054] exist Figure 2 In this process control system 100, one or more operator workstations 171 are communicatively connected to a high-speed data channel 110. Using the operator workstations 171, operators can view and monitor the operational status of the process plant 100, and can take any diagnostic, corrective, maintenance, and / or other necessary actions. At least some of the operator workstations 171 may be located in or near various protected areas of the plant 100, such as in the back-end environment of the plant 100, and in some cases, at least some of the operator workstations 171 may be located remotely but still communicatively connected to the plant 100. The operator workstations 171 can be wired or wireless computing devices.

[0055] The example process control system 100 is also shown to include a configuration application 172A and a configuration database 172B, each of which is also communicatively connected to the data highway 110. As described above, various instances of the configuration application 172A can be executed on one or more computing devices (not shown) to enable users to create or change process control modules and / or other types of modules, and to download these modules to the controllers 111 and / or other devices of the process control system 100 via the data highway 110, as well as to create or change operator interfaces via which operators can view data and change data settings within process control routines. The configuration database 172B stores the created (e.g., configured) modules and / or operator interfaces. Typically, the configuration application 172A and the configuration database 172B are centralized and have a single logical appearance to the process control system 100, although multiple instances of the configuration application 72a can be executed concurrently within the process control system 5, and the configuration database 172B can be implemented on multiple physical data storage devices. Thus, the configuration application 172A, the configuration database 172B, and the user interface thereto (not shown) comprise a configuration or development system 172 for the control and / or display modules. Typically, but not necessarily, the user interface of the configuration system 172 is different from the operator workstations 171, as configuration and development engineers utilize the user interface of the configuration system 172, whether or not the plant 100 is operating in real-time, while operators utilize the operator workstations 171 during real-time operation of the process plant 100 (also referred to herein interchangeably as "runtime" operation of the process plant 100).

[0056] The example process control system 100 includes a data historian application 173A and a data historian database 173B, each of which is also communicatively connected to the data highway 110. The data historian application 173A operates to collect some or all of the data provided over the data highway 110 and to historize or store the data in the historian database 173B for long-term storage. Like the configuration application 172A and the configuration database 172B, the data historian application 173A and the historian database 173B are centralized and have a single logical appearance to the process control system 100, although multiple instances of the data historian 173A can be executed concurrently within the process control system 100, and the historian database 173B can be implemented on multiple physical data storage devices.

[0057] In some configurations, process control system 100 includes one or more other wireless access points 174 that communicate with other devices using other wireless protocols, such as Wi-Fi or other IEEE 802.11 compliant wireless local area network protocols, mobile communication protocols (such as WiMAX (Worldwide Interoperability for Microwave Access), LTE (Long Term Evolution), or other ITU-R (International Telecommunication Union - Radio) compliant protocols), short wavelength radio communications (such as near field communications (NFC) and Bluetooth), or other wireless communication protocols. Typically, such wireless access points 174 allow handheld or other portable computing devices (such as user interface devices 175) to communicate over a corresponding wireless process control communication network that is distinct from wireless network 170 and supports a different wireless protocol than wireless network 170. For example, wireless or portable user interface devices 175 can be mobile workstations or diagnostic test devices used by operators in process plant 100 (such as an instance of one of operator workstations 171). In some cases, in addition to portable computing devices, one or more process control devices (such as controllers 111, field devices 115-122, or wireless devices 135, 140-158) also communicate using the wireless protocol supported by access points 174.

[0058] In some configurations, process control system 100 includes one or more gateways 176, 178 to systems external to current process control system 100. Typically, such systems are consumers or providers of information generated or manipulated by process control system 100. For example, process control plant 100 can include gateway node 176 to communicatively couple current process plant 100 with another process plant. Additionally or alternatively, process control plant 100 can include gateway node 178 to communicatively couple current process plant 100 with an external public or private system, such as a laboratory system (e.g., a laboratory information management system or LIMS), an operator tour database, a material handling system, a maintenance management system, a product inventory control system, a production scheduling system, a weather data system, a shipping and handling system, a packaging system, the Internet, another provider's process control system, or other external system.

[0059] Note that although Figure 2Only a single controller 111 included in the example process plant 100 is shown, along with a limited number of field devices 115-122 and 140-146, a wireless gateway 35, a wireless adapter 152, an access point 155, a router 1158, and a wireless process control communication network 170. This is merely an exemplary and non-limiting embodiment. Any number of controllers 111 may be included in the process control plant or system 100, and any controller 111 may communicate with any number of wired or wireless devices and networks 115-122, 140-146, 135, 152, 155, 158, and 170 to control the processes in plant 100.

[0060] like Figure 1 As shown, and for purposes of clarity rather than limitation, see references. Figure 1 The process plant 100 is communicatively connected to the edge gateway system 102, which can be Figure 2 An embodiment of the edge gateway system 1. For example, process plant 100 can be communicatively connected to the field-facing component 10 of the edge gateway system 1 via one or more process plant communication networks, data networks and / or links, directly and / or via a corresponding gateway of process plant 100. For example, the field-facing component 10 of the edge gateway system 1 can be communicatively connected to process plant 100 via networks 110, 170, via gateways 135, 176, 178 and / or via other networks, links and / or gateways associated with the process plant, and the field-facing component 10 receives or obtains data generated by various data sources 30 associated with process plant 100 via the above networks, links and / or gateways.

[0061] Generally, the network / link 28 through which the data source 30 and the edge gateway system 1 obtain process plant-related data can be at a lower level of the Purdue model or a similar security level (e.g., level 0 to level 2), and can include controllers, field devices, I / O cards, and other types of process control devices. Furthermore, it should be understood that the set of data sources 30 associated with the process plant is not limited to process control devices that directly generate first-order process data, but can additionally or alternatively include any devices or components within and / or associated with the process plant 100 that generate process data and / or other types of data as a result of the process plant 100 controlling online processes. For example, the set of data sources 30 can include modules, alarms, event history libraries, batch systems and / or history libraries, diagnostic devices or components that generate diagnostic data, network routing devices or components that transmit information between various components and / or devices in the process plant 100, asset management systems, configuration systems, analysis systems, mobile devices, etc. In practice, Figure 2any one or more components (e.g., components 111, 115-122, 126, 128, 135, 140-146, 152, 155, 158, 160, 170, 171-176, 178) and Figure 3 not shown in FIG. 1, can be a data source 30 that generates process plant related data that can be provided via the edge gateway system 1, 102 for consumption by one or more external systems 8.

[0062] Figure 1 A graphical representation of an example context knowledge base 42 is shown, for example, with reference to Figure 3 The context knowledge base 42 described. The example context knowledge base 42 stores relationships or connections between process plant related data and process plant entities, such as controllers, field devices, I / O devices, or any other devices within a process plant that perform a physical function to control a process, such as valves, tanks, mixers, pumps, heat exchangers, etc. Process plant entities can include physical or logical elements. As described above, the context knowledge base 42 can be stored at the edge-oriented component 12 of the edge gateway system 1 and can include a local copy or replica of process plant related data generated within the process plant 5. In this way, the edge-oriented component 12 can provide process plant related data from the context knowledge base 42 to external systems 8 that do not have authorized access to communicate with the process plant 5 in a highly secure manner without impacting the performance of the process plant 5. For example, the edge-oriented component 12 can provide process plant related data from the context knowledge base 42 to mobile devices, vehicle head units, desktop computers, laptops, wearable devices, etc. that are not within the process plant 5 and are not authorized to communicate with devices or components that control the online operation of the process plant 5.

[0063] In other implementations, the context knowledge base 42 can be stored in a computing device that is in communication with devices or components within and / or related to the process plant 5. These devices or components generate process data and / or other types of data as a result of the process plant 5 controlling an online process. In these implementations, the process plant related data is not provided through a unidirectional data diode and devices that receive process plant related data from the context knowledge base 42 can communicate with devices or components within and / or related to the process plant 5 that generate process plant related data to control the online operation of the process plant 5. In this case, only devices that are authorized to interact with process control devices can receive process plant related data from the context knowledge base 42 (e.g., operator workstations, mobile workstations, etc.).

[0064] In any case, in Process plant search queryIn the middle, process plant related data (e.g., process parameter data, product parameter data, configuration data, maintenance data, event data, historical data, environmental data, analysis data such as laboratory measurements, etc.) and process plant entities (e.g., controllers, field devices, process plants, process plant areas, tanks, pumps, mixers, heat exchangers, reactors, regenerators, control modules, function blocks, process flow modules, etc.) are represented by circles, while relationships or connections between process plant related data and / or process plant entities are represented by lines connecting the circles. For example, a first process plant entity 302 represents a Houston process plant. The first process plant entity 302 is connected to areas within the Houston process plant based on the areas (e.g., plant area A, plant area B). Each area is connected to devices and / or components within the area, such as controllers, field devices, control modules, process plant devices, etc. In particular, plant area A is connected to controller 1, CNTL MOD PID 1, tank 1, mixer 1, and pump 1, each of which is located within or in the control process plant devices in plant area A. Plant area B is connected to heat exchanger 1 and valve 1, each of which is located within plant area B. Controller 1 is then connected to CNTL MOD PID 1 based on controller 1 executing control module CNTL MOD PID 1. Controller 1 is also connected to each of tank 1, mixer 1, and pump 1 based on controller 1 controlling these process plant devices. In addition, CNTL MOD PID 1 is connected to each of tank 1, mixer 1, and pump 1 based on CNTL MOD PID 1 being a control module that controls tank 1, mixer 1, and pump 1. Furthermore, CNTL MOD PID 1 is connected to product output 1 based on CNTL MOD PID 1 causing a product output 1 to be generated based on the control of tank 1, mixer 1, and pump 1. Product output 1 can be, for example, gasoline. In addition, tank 1 and product output 1 are connected to process parameter data and product parameter data corresponding to tank 1 and product output 1, respectively. In particular, tank 1 is connected to process parameter data representing a fill level of tank 1, alarm 1 and alarm 2 each representing an alarm corresponding to tank 1, and product input 1 providing a product (e.g., kerosene) into tank 1 as an input. Product output 1 is connected to product parameter data representing a temperature, volume, density, pressure, and chemical composition of product output 1.

[0065] While the context repository 42 stores a small amount of process plant related data, this is merely for ease of illustration. The context repository 42 can store any number of indications of process plant entities and any suitable amount of process plant related data for each process plant entity in a number of process plants. In this manner, the user is able to receive data from multiple process plants so that the user can search across multiple sites. In addition to providing process plant related data from the context repository 42 as search results, the process plant related data can also be used for plant commissioning, particularly for resolving ambiguous naming conventions. In any case, the process plant related data can include several types of different data, such as configuration data, run-time data, maintenance data, analysis data, environmental data (e.g., management reporting data), diagnostic data, economic data for the process plant (e.g., cost of equipment and materials, projected value of products produced by the plant, amount of products produced by the process plant in a particular time period, projected revenue and profit margin), etc., or any other suitable data related to the process plant.

[0066] To generate the context knowledge base 42, the context knowledge miner 45 mines the data lake 40 to discover relationships between various content data stored in the data lake 40 and generate / modify / update the context knowledge base 42 accordingly. For example, the context knowledge miner 45 can mine the data lake 40 to identify additional process parameter data for a process parameter corresponding to tank 1. The context knowledge miner 45 can then update the context knowledge base 42 to include a connection between tank 1 and the additional process parameter data. In some implementations, when a change is made to the plant configuration, such as a user adding a new control module to the process control system, the user can provide instructions to the context knowledge miner 45 (e.g., via a user control at a user interface device) to regenerate the context knowledge base 42 with the new plant configuration. In some scenarios, the user can provide instructions to the context knowledge miner 45 to update the context knowledge base 42 with the new plant configuration by adding only the change to the plant configuration to the context knowledge base 42. In other implementations, such as when a download to an online process plant occurs, the context knowledge miner 45 can automatically analyze the update to the context knowledge base 42 and determine whether to update the existing context knowledge base 42 with the change to the plant configuration or regenerate the context knowledge base 42 with the new plant configuration, for example, if the change is structural in nature. The context knowledge base 42 can also store time data regarding when a process plant configuration change was added. For example, the context knowledge base 42 can include a date and time of a download when a new or updated control module is downloaded to an online process plant. Thus, a context record of the plant state when each plant configuration change occurred can be maintained based on the context knowledge base 42. Although the context knowledge base 42 is described as a graph structure, this is merely an example embodiment and the entities in the context knowledge base 42 can be connected in any suitable manner.

[0067] Figure 4

[0068] As described above, the access mechanism 48 within the edge-facing component 12 can provide process plant related data to the external system 8. One example of an access mechanism can be a process plant search query server that obtains process plant search queries from the external system 8, such as a user interface device (e.g., a mobile device, a desktop computer, a laptop computer, a wearable device, a vehicle head unit, etc.) that is external to the process plant 5. The process plant search query server then obtains process plant related data from the contextual knowledge base 42 that is relevant to the process plant search query and generates a process plant search result based on the obtained process plant related data. More generally, the process plant search query server can obtain a request for process plant related data from an application or other computing device, obtain at least some process plant related data from the contextual knowledge base 42 in response to the request, and provide the obtained process plant related data to the application or other computing device. In some implementations, the request is a process plant search query, and the process plant search query server provides a subset of the process plant related data as a search result to the application or other computing device in response to the process plant search query.

[0069] Figure 4 A block diagram of an example process plant search query server 400 is shown. The process plant search query server 400 can be implemented as hardware having a processor 402, a memory 404 that executes a process plant search engine 406, and a communication unit for communicating with the external system 8 via one or more external communication networks, data networks, and / or links. The one or more external communication networks, data networks, and / or links can include any number of wired and / or wireless communication networks, data networks, and / or links, and can include any number of private and / or public networks and / or links. In other implementations, the process plant search query server 400 can be implemented as software for executing the process plant search engine 406 on hardware of the edge-facing component 12.

[0070] In some implementations, the process plant search query server 400 is an access mechanism 48 to the edge-facing components 12. In these implementations, the process plant search query server 400 obtains process plant related data from the contextual knowledge base 42, which is a local copy or replica of the process plant related data generated within the process plant 5. Thus, the process plant search query server 400 does not directly interact with the process plant related data generated within the process plant 5 and cannot communicate with the controllers and / or other devices in the process plant 5 to control online operation of the process plant 5. In other implementations, the process plant search query server 400 is not part of the edge-facing components 12 and is a server device communicatively coupled to the process plant 5 and configured to communicate with the controllers and / or other devices in the process plant 5 to control online operation of the process plant 5.

[0071] In any case, the process plant search engine 406 receives a process plant search query from a user interface device. The process plant search query can be any search query related to process plant related data and / or related to a process plant entity within the process plant. For example, the process plant search query can be "How is my catalytic cracker working?" The process plant search engine 406 then analyzes / resolves the process plant search query to identify a subject of the search query, a context of the search query, and / or other information in the search query that can be used to filter data sets responsive to the search query. Specifically, the process plant search engine 406 can obtain an indication of the subject and filters from a grammar module or plant vocabulary database included in or communicatively coupled to the process plant search query server 400. The grammar module or plant vocabulary database can store a number of subjects for the process plant search query and filters to modify the subject to filter search results. The grammar module or plant vocabulary database can also store a number of mappings of words from the process plant search query that correspond to each subject and / or filter, such as synonyms or nicknames for the subject or filter. For example, for the subject "Module: CATCR", the grammar or plant vocabulary table can store the corresponding words "catalytic cracker", "catalytic cracker module", "catalytic cracker control module", "catalytic cracking module", "fluid catalytic cracking module", etc.

[0072] The process plant search engine 406 can also recognize process plant search queries provided in a natural language format, for example, based on words such as "how" and "my." As a result, the process plant search engine 406 recognizes a conversational nature of the process plant search query that can be used by the user as a context for subsequent queries. For example, because the process plant search engine 406 recognizes the process plant search query as conversational, if the user provides an additional process plant search query, for example, "what is efficiency?", the process plant search engine 406 recognizes based on the context that the additional process plant search query is directed to efficiency with respect to a catalytic cracker and not another module. In response to recognizing the natural language format of the process plant search query, the process plant search engine 406 uses the process plant search query as a context for additional process plant search queries by the user within a threshold period of time (e.g., five minutes, ten minutes, one hour, etc.) of the process plant search query.

[0073] The process plant search engine 406 can then match each word in the process plant search query to one of the topics or filters. In some implementations, the process plant search engine 406 first identifies one or more words in the process plant search query that correspond to a topic of the process plant search query. The process plant search engine 406 then identifies a filter that corresponds to the remaining words and a context that can be used to further filter the data set. The process plant search engine 406 can identify that one or more words in the process plant search query are an exact match to a topic included in the grammar module or the plant vocabulary database.

[0074] In other implementations, the process plant search engine 406 identifies that one or more words in the process plant search query correspond to a topic from among several candidate process plant search query topics included in the grammar module or the plant vocabulary database with a likelihood. The process plant search engine 406 then identifies the topic and the corresponding words with the highest likelihood. For example, the process plant search engine 406 can compare a first word in the process plant search query to each candidate process plant search query topic in the grammar module or the plant vocabulary database and identify a likelihood that the first word corresponds to each candidate process plant search query topic. The process plant search engine 406 can then compare the first word and a second word in the process plant search query to each candidate process plant search query topic in the grammar module or the plant vocabulary database and identify a likelihood that the first word and the second word correspond to each candidate process plant search query topic. The process plant search engine 406 can also compare the second word alone to each topic in the grammar module or the plant vocabulary database and identify a likelihood that the second word corresponds to each candidate process plant search query topic.

[0075] The process plant search engine 406 can continue to compare each term, individually or in combination, to identify a set of one or more terms having the highest likelihood of corresponding to one of the candidate process plant search query topics in the grammar module or plant glossary database. As shown in Figure 4 The process plant search engine 406 identifies the term "catalytic cracker" as corresponding to the topic "Module: CATCR."

[0076] The process plant search engine 406 then identifies filters from the grammar module or plant glossary database corresponding to the remaining terms. The filters can be used to filter a data set obtained in response to the identified topic. In this example, the process plant search engine 406 can obtain a process plant related data set including in the contextual knowledge base 42 having a connection to Module: CATCR. The filters can be used to remove process plant related data from the set. As with the topics, the process plant search engine 406 can identify an exact match of one or more of the remaining terms in the process plant search query to a filter included in the grammar module or plant glossary database. In other implementations, the process plant search engine 406 identifies a likelihood of one or more of the remaining terms in the process plant search query corresponding to a filter included in the grammar module or plant glossary database. The process plant search engine 406 then identifies the filters and the corresponding remaining terms having the highest likelihood or a likelihood above a likelihood threshold.

[0077] The process plant search query can include several filters each having a different set of one or more remaining terms having a likelihood above a likelihood threshold corresponding to the filter. As shown in Figure 4 The process plant search engine 406 identifies the term "my" as corresponding to the filter "Scope: User." The filter "Scope: User" can be used to filter the process plant related data set to retain only process plant related data corresponding to a particular "Module: CATCR" of the several entities named "Module: CATCR" in the contextual knowledge base 42. The particular Module: CATCR is the Module: CATCR on which the user is operating, maintaining, responsible, etc. according to the context as described in more detail below. The process plant search engine 406 identifies the term "how" as corresponding to the filter "All_Exceptions." The filter "All_Exceptions" can be used to filter the process plant related data set to retain only process plant related data indicating an exception condition and corresponding to a particular Module: CATCR.

[0078] As shown in Figure 5As shown, the example process plant related data for CATCR corresponding to a particular module: user operation, maintenance, responsibility, etc. includes a 20% slurry level, a 500° reactor temperature, a 1.5 bar reactor pressure, a 200° regenerator temperature, and a 2 bar regenerator pressure. The slurry level in the context knowledge base 42 can include, for example, a connection to an abnormal situation based on the slurry level being below a threshold slurry level. Thus, the process plant search engine 406 can filter out the reactor temperature, reactor pressure, regenerator temperature, and regenerator pressure from the process plant related data set in order to only retain the slurry level.

[0079] In addition to identifying topics and filters for a process plant search query, the process plant search engine 406 identifies a context. The context can include user information for a user submitting a process plant search query, such as a user name, a name and location of a process plant in which the user works, an organizational role of the user within the process plant, preferences of the user, a search history of previous search queries of the user, etc. For example, the process plant search engine 406 can obtain user information from a user profile included in a user database. The user can provide login information that can be used by the process plant search engine 406 to access the user information. Additionally, the context can include device information for a device on which the process plant search query is submitted, such as a location of the device, which can include a location within the process plant or can be an external location, capabilities of the device (e.g., audio, display, microphone, applications executing on the device, etc.), a type of the device, a size of the device, etc. The location of the device can allow for location-based process plant search queries, such as "identify the valve in front of me." Furthermore, the context can include a time at which the process plant search query is submitted.

[0080] The process plant search engine 406 can further filter the process plant related datasets according to a context. For example, as described above, one of the filters corresponding to the process plant search query is "scope: user." Based on the name and location of the process plant where the user works and the user's organizational role within the process plant, the process plant search engine 406 can identify "module: CATCR" that the user operates, maintains, is responsible for, etc. in several instances of "module: CATCR" in the context knowledge base 42. For example, the context can indicate that the user works in area 1 of the Houston plant that has one "module: CATCR." Thus, the process plant search engine 406 can filter the datasets to include only process plant related data corresponding to "module: CATCR" in area 1 of the Houston plant. In other implementations, the user can include the name or location of the process plant in the process plant search query. The process plant search engine 406 can then use the name or location of the process plant as the context for further process plant search queries by the user in the same session (e.g., within a threshold period of time) or for any subsequent process plant search queries by the user. The device context can be used to determine the number of search results returned by the process plant search engine 406. For example, if the device is a desktop computer, a laptop, an operator workstation, etc., the process plant search engine 406 can return the full set of search results. If the device is a mobile device or a vehicle head unit, the process plant search engine 406 can reduce the number of search results to one or some other threshold number.

[0081] In any case, the process plant search engine 406 transforms the filtered process plant related data into a process plant search result. In the example above, the filtered process plant related data includes a 20% slurry level for "Module: CATCR" in Area 1 of the Houston plant. Accordingly, the process plant search engine 406 can generate a search result that is an audio response (e.g., through a text-to-speech engine) or a natural language formatted text response, such as "Your slurry level is low." The process plant search engine 406 can transform a subset of the filtered process plant related data into a process plant search result by obtaining an introductory statement from a grammar module or plant vocabulary, such as "Good morning," "Good afternoon," "Happy holidays!" and the like, based on the time of day / date and / or the user's name. The process plant search engine 406 can also obtain a natural language response to the process plant search query from a grammar module or plant vocabulary, such as "Your slurry level is...," "Your abnormal conditions in your catalytic cracker include...," "Your catalytic cracker is performing well! Some things to note are...". In other implementations, the process plant search engine 406 can generate a search result that is a link to a process flow module or control module for "Module: CATCR" in Area 1 of the Houston plant, which can highlight the slurry level, or a link to detailed information about the slurry level. In this example, the process plant search engine 406 returns a single process plant search result. However, this is merely an example scenario. In other scenarios, the process plant search engine 406 can return any number of process plant search results corresponding to any number of process plant related data in response to a process plant search query.

[0082] While "How is my catalytic cracker doing?" is an example of a process plant search query, the process plant search query server 400 can obtain any suitable process plant search query and generate a process plant search result. Other example process plant search queries can include queries about a particular operating mode, queries about an abnormal condition or a particular abnormal condition, queries for modules in a specified portion of a module hierarchy, queries for process parameters having a particular name and / or value, queries for modules having a particular priority of alarms or multiple alarms, queries about a particular process plant entity or group of process plant entities, queries about a product produced by a process plant entity, queries about an event within a process plant, queries about configuration data (e.g., queries about a class instance), or any other suitable query about a process plant.

[0083] Additionally, in some embodiments, the user can allow the process plant search query server 400 to provide the user's user interface device with proactively provided voice or display information about the process plant (e.g., by selecting a user control on the user interface device to receive proactively provided process plant related data). The proactively provided voice or display information about the process plant can include critical or safety related alarm information regardless of the user's current interaction. The process plant search query server 400 can identify a set of process plant entities for the user. For example, the set of process plant entities can be identified based on the user's organizational role or can be selected by the user. The process plant search query server 400 can then periodically (e.g., every 30 seconds, every minute, every five minutes, etc.) search the contextual knowledge base 42 for critical or safety related alarm information related to the identified set of process plant entities. When the process plant search query server 400 identifies critical or safety related alarm information related to one of the identified set of process plant entities, the process plant search query server 400 provides an indication of the critical or safety related alarm information to the user interface device in audio or text / graphical format regardless of whether the user provided a process plant search query for the critical or safety related alarm information, the set of process plant entities, or any process plant search query. For example, the user can provide a process plant search query for the boiler unit and the distillation column. In response to identifying critical or safety related alarm information related to a safety system in a region of the process plant 5 operated by the user, the process plant search query server 400 can interrupt the process plant search query / process plant search result sequence and instead provide the critical or safety related alarm information related to the safety system to the user interface device.

[0084] Additionally, the user can request that voice alerts or notifications be provided to the user interface device in response to a particular event or condition occurring within the process plant. The process plant search query server 400 can then periodically or continuously determine whether the particular condition or event is occurring within the process plant 5. When the particular condition or event occurs, the process plant search query server 400 can provide a voice reminder or notification to the user interface device without any further request or process plant search query by the user. For example, the user can want to know when the process variable value of TT-102 rises above 70%. The process plant search query server 400 can periodically or continuously obtain the process variable value of TT-102, e.g., from the contextual knowledge base 42. When the process variable value exceeds 70%, the process plant search query server 400 can provide a voice reminder to the user interface device, e.g., that the process variable value of TT-102 is 71%.

[0085] The process plant search query server 400 receives process plant search queries from user interface devices that can be within or outside of the process plant 5. Figure 6 An example process plant display 500 that can be presented on a user interface device is shown. The user interface device is communicatively coupled to the process plant 5 so that a user can control devices or components within the process plant 5 via user controls on the process plant display 500. In other embodiments, the user interface device is not communicatively coupled to the process plant 5, and the data presented on the process plant display 500 comes from a local copy or replica of process plant related data within the process plant 5. In any case, the process plant display 500 can include a user control 502 such as a search icon that, when selected, causes the process plant display 500 to present a search bar 504 for entering a process plant search query. In some embodiments, the process plant display 500 is presented via a process plant application or a process plant search application executing on the user interface device. The user can enter a process plant search query via text input or via audio input via a microphone, for example, "bypass non-activated control modules." The process plant search query can be related to graphical information presented in the process plant display 500, for example, control modules, panels, process flow modules, process plant entities, etc. In some embodiments, the user interface device can provide an indication of the control modules, process flow modules, panels, process plant entities, etc. included in the process plant display 500 to the process plant search query server 400 as context for the process plant search query. In other scenarios, the process plant search query is not related to graphical information presented in the process plant display 500.

[0086] The process plant application or process plant search application can store previous process plant search queries entered by the user and can include user controls to allow the user to select one of the previous process plant search queries without having to repeat the text or audio input. In some embodiments, the process plant application or process plant search application can periodically or in any suitable manner automatically resubmit previous process plant search queries to receive updated search results.

[0087] The process plant search query server 400 then receives the process plant search query and the context of the process plant search query, such as user information, device information, search history of previous search queries by the user, an indication of graphical information presented on the process plant related data at the time the process plant search query was submitted, etc. The process plant search query server 400 can then identify the subject of the process plant search query "bypass non-activated control modules" as CRTLMOD from the term "control module" in the process plant search query, and can identify the filter as Bypass: Is_Yes:Activated from the term "bypass non-activated." In some embodiments, the process plant search query server 400 can identify additional filters from the context, such as control modules within a particular process plant that the user operates, maintains, is responsible for, etc., a particular area of the process plant that the user operates, maintains, is responsible for, etc., a particular area of the process plant that the user has previously queried, or a particular area of the process plant that is currently presented on the process plant display 500 of the user. In any case, the process plant search query server 400 then identifies each bypass non-activated control module from the contextual knowledge base 42 and the process plant related data for each identified control module. The process plant search query server 400 generates a process plant search result for each identified control module / process plant related data of the control module, and provides the process plant search results for display in a search results display on the user interface. Figure 7 An example process plant search results display 600 that can be presented on a user interface device is shown in FIG. 6.

[0088] The process plant search results display 600 includes an indication of a set of process plant search results 602a-608a in response to the process plant search query "bypass non-activated control modules." Each indication of a process plant search result can include a name of the process plant search result (e.g., Control Module 1303), and a link to detailed information about the process plant search result. In addition, each indication of a process plant search result can include a thumbnail or preview 602b-608b of the detailed information about the process plant search result. For example, the first process plant search result 602a Control Module 1303 is a control module, and the thumbnail or preview corresponding to the first process plant search result 602b is a thumbnail of a graphical representation of the control module. When the user selects the first process plant search result 602a (e.g., by clicking or touching the indication of the first process plant search result 602a or the thumbnail or preview corresponding to the first process plant search result 602b), the user interface device can present a full view of the graphical representation of the control module in a detailed search results display 700 as shown in FIG. 7. Figure 6

[0089] ​The detailed search results display 700 can also include other information about the control module, such as the name of the control module, the path of the control module, the names and / or paths of the inputs and outputs to the control module, the names and / or paths of the process plant entities controlled by the control module, the name and / or path of the controller executing the control module, product parameter data for products input and / or output by the control module, process parameter data for process plant entities controlled by the control module, or any other suitable information about the control module. As described above, when the user interface device is external to the process plant 5 and / or is not authorized to communicate with devices or components controlling online operation of the process plant 5, the optional link to detailed information is an optional link to a local copy or replica of the process plant related data within the process plant 5, such that user interaction with the copy of the process plant related data does not affect runtime operation of the process plant 5.

[0090] In some implementations, the detailed search results display 700 can include a video feed, such as a live video feed corresponding to the process plant entity or process plant area of the search result. For example, if the search result is an alarm for a particular process plant entity, the detailed search results display 700 can include a live video feed of the process plant entity, such as a mixer. In another example, if the search result is an overview of a process plant area, the detailed search results display 700 can include a live video feed of the process plant area. Still further, the detailed search results display 700 can include panels, detail and main control displays, control hierarchies, process flow modules, images / videos of the process plant, images / videos of a process plant area, displays of process plant entities, map representations of the process plant or a process plant area, graphs, charts, or tables of process parameter or product parameter values, configuration displays, alarm displays, etc.

[0091] Returning to Figure 8 , the process plant search query server 400 can select the number of process plant search results included in the process plant search results display 600 based on the size and / or type of the user interface device. If the size of the user interface device is less than a threshold size, or the device type is a particular type in a predetermined set of device types (e.g., a mobile device, a vehicle head unit, etc.), the process plant search query server 400 can provide a single process plant search result for inclusion in the process plant search results display 600.

[0092] Presentation of process plant related dataA process plant search results display 800 for a mobile device with single process plant search results is shown. On the other hand, if the size of the user interface device is not less than a threshold size or the device type is not one of a predetermined set of device types, the process plant search query server 400 can provide a set of process plant search results for inclusion in the process plant search results display 600. In other embodiments, the process plant search query server 400 selects a number of process plant search results for inclusion in the process plant search results display 600 that is proportional to the size of the user interface device. For example, when the user interface device is above a first threshold size but below a second threshold size, the process plant search query server 400 can provide 10 process plant search results for inclusion in the process plant search results display 600. When the user interface device is above the second threshold size but below a third threshold size, the process plant search query server 400 can provide 20 process plant search results for inclusion in the process plant search results display 600, and so on. In other embodiments, the process plant search results display 600 includes a first set of process plant search results on a first page, and additional sets of process plant search results on subsequent pages that can be accessed by the user through user controls (e.g., back and forward arrows) on the process plant search results display 600.

[0093] In other embodiments, the process plant search query server 400 provides a set of process plant search results to the user interface device, and the user interface device adjusts the presentation of the set of process plant search results based on the size and / or type of the user interface device. For example, if the user interface device is a mobile device or a vehicle head unit, the user interface device can select a single search result from the set of process plant search results for presentation in the process plant search results display 600. If the user interface device is a desktop computer or has a size equal to or greater than a threshold size, the user interface device can present each of the set of process plant search results in the process plant search results display 600.

[0094] In some embodiments, the process plant search query server 400 can select a format in which to provide the process plant search results based on the capabilities of the user interface device. If the user interface device has audio capabilities but no display, the process plant search query server 400 can provide the process plant search results to the user interface device in an audio format. If the user interface device has a display but no audio capabilities, the process plant search query server 400 can provide the process plant search results to the user interface device in a text / graphical format. If the user interface device has both display and audio capabilities, the process plant search query server 400 can provide the process plant search results to the user interface device in both a text / graphical format and an audio format.

[0095] The process plant search results display 600 can also include an indication of categories 610-650 for obtaining process plant search results corresponding to a particular category. In the example process plant search results display 600, the categories include: All 610, Alarms 620, Control Modules 630, Process Flow Modules 640, and Reports 650. In the example process plant search results display 600, all categories 610 are selected, and thus the process plant search results being presented include process plant search results of all categories. In response to a user selection of one of the other categories 620-650, the process plant search results display 600 can present process plant search results corresponding to the selected category in response to the process plant search query. For example, if the user selects the category Reports 650, the process plant search results display 600 can present a subset of the process plant search results that include or are related to reports, such as a report regarding one of the control modules that is not turned on.

[0096] In some implementations, the process plant search query server 400 generates each category and assigns a subset of the process plant search results to each category. The process plant search query server 400 can assign particular process plant search results to a category based on process plant related data included in the process plant search results and / or based on connections from the process plant related data to other process plant related data or process plant entities in the contextual knowledge base 42. For example, if a particular control module in the contextual knowledge base 42 has a connection to an alarm, the process plant search query server 400 can assign the control module to the Alarms category 620.

[0097] In some implementations, the categories can be independent of the process plant search query and can be the same categories for any process plant search query. In other implementations, the process plant search query server 400 generates a set of categories that are specific to each process plant search query based on the set of process plant search results in response to the process plant search query. For example, for the process plant search query "control modules with bypass not turned on," the process plant search query server 400 can determine that the set of search results includes control modules in three different areas of the process plant. Thus, the process plant search query server 400 can generate a different category for each area of the process plant and assign a subset of the process plant search results to each category.

[0098] Similarly, in some implementations, the process plant search query server 400 can rank and / or score each process plant search result. The process plant search results 602a-608a can then be presented in the process plant search results display 600 in rank order. For example, the process plant search result 602a with the highest rank or score can be presented at the top of the process plant search results display 600. When the process plant search query server 400 selects a single process plant search result to include in the process plant search results display 600, the process plant search query server 400 can select the process plant search result with the highest rank. In another example, when the process plant search query server 400 selects a threshold number of process plant search results to include in the process plant search results display 600 (e.g., five), the process plant search query server 400 can select the process plant search results with ranks equal to or higher than the threshold number.

[0099] The process plant search query server 400 can assign a relevance score to each process plant search result based on a relevance to the process plant search query. The relevance to the process plant search query can be based on how closely the process plant search result corresponds to the process plant search query. In some implementations, the process plant search query server 400 can assign the relevance score based on an importance or priority of each process plant search result. For example, for a process plant search query that has an alarm as a subject, the process plant search query server 400 can determine that a high-priority or critical alarm has a higher relevance to the process plant search query than a low-priority alarm. Accordingly, the process plant search query server 400 can assign a higher score to process plant search results that correspond to high-priority or critical alarms and a lower score to process plant search results that correspond to low-priority alarms.

[0100] Similarly, in some implementations, the process plant search query server 400 can assign a relevance score based on recency, e.g., if one of the filters is a time period (e.g., alarms in the last eight hours). The process plant search query server 400 can assign a higher score to process plant search results that correspond to events that occurred more recently. In particular, the process plant search query server 400 can assign a higher relevance score to search results that correspond to alarms that triggered one hour before the process plant search query than to search results that correspond to alarms that triggered six hours before the process plant search query.

[0101] The process plant search query server 400 can also assign a relevance score based on context. In particular, if the process plant search query is, for example, "modules on boiler unit," and the user's organizational role within the process plant indicates that the user works closely with one particular boiler unit, the process plant search query server 400 can assign a higher relevance score to modules for that particular boiler unit than to modules corresponding to other boiler units.

[0102] Still further, the process plant search query server 400 can assign a relevance score to each process plant search result based on the number or proportion of filters having conditions satisfied by the process plant search result. For example, if the process plant search query includes three filters, a process plant search result that satisfies the conditions of all three filters can be assigned a higher relevance score than a process plant search result that satisfies only two of the three filters. In some implementations, the process plant search query server 400 generates only process plant search results that satisfy the conditions of each filter in the process plant search query. In other implementations, the process plant search query server 400 generates process plant search results that satisfy the conditions of at least a threshold number or percentage of the filters in the process plant search query. For example, if the process plant search query server 400 determines that 10 process plant search results can be provided for display according to the device type or size of the user interface device, and only five process plant search results satisfy the conditions of each filter, the process plant search query server 400 can identify additional process plant search results that do not satisfy the conditions of one of the filters. These additional process plant search results can be assigned a lower relevance score than process plant search results that satisfy the conditions of each filter.

[0103] In some implementations, the process plant search query server 400 assigns a relevance score to each process plant search result based on any suitable combination of importance, recency, context, the number of filters having conditions satisfied by the process plant search result, or any other suitable factor related to relevance. The process plant search query server 400 can then rank the process plant search results in order of relevance score, with the process plant search result having the highest relevance score ranked highest.

[0104] In some embodiments, the ranking can also be used to resolve ambiguous process plant search queries and / or to provide suggestions or follow-up questions to the user regarding the process plant search query. For example, a user can provide a process plant search query for TT102. While the process plant search query server 400 can not be able to identify TT102 in the contextual knowledge base 42, the highest ranked process plant search result can be for TC102. Accordingly, the process plant search query server 400 can provide a suggestion to the user to generate a process plant search query for TC102, or can ask the user if the process plant query was intended for TC102. When the process plant search query server 400 receives an ambiguous process plant search query or is unable to identify a subject of the process plant search query, the process plant search query server 400 can identify the closest match or subject and can provide the closest match or subject to the user as a suggestion / correction operation.

[0105] Figure 9

[0106] In addition to providing process plant search results in response to process plant search queries, the contextual knowledge base 42 can also be used to provide process plant related data to be presented by user interface devices (e.g., mobile devices, vehicle head units, laptops, desktop computers, etc.) that are not communicatively coupled to the process plant. In this manner, process plant personnel can remotely monitor online operations of the process plant without the safeguards and safety risks of remotely communicating with devices in the process plant 5.

[0107] As described above, in this embodiment, the contextual knowledge base 42 is included in the edge-facing component 12 of the edge gateway system 1. The edge-facing component 12 is connected to the field-facing component 12 of the edge gateway system by a unidirectional data diode 15 that obtains data from the data sources 30 within the process plant 5, but does not allow communication from the edge-facing component 12 to the field-facing component 10 and into the process plant 5. Accordingly, in this embodiment, the process plant related data included in the contextual knowledge base 42 is from a local copy or replica of the process plant related data in the process plant 5, such that changes to the copy of the process plant related data presented on the user interface device do not change runtime operations of the process plant 5. The user interface device does not directly interact with the process plant related data generated in the process plant 5, and cannot communicate with controllers and / or other devices in the process plant 5 to control online operations of the process plant 5. In this manner, a user can remotely view process flow modules, control modules, panels, process plant entities, process parameter data, product parameter data, environmental data, maintenance data, analytics data, diagnostic data, etc. as if they were at their operator workstation, mobile workstation, or any other suitable user interface device within the process plant 5.

[0108] The process factory search query server 400 or any other suitable access mechanism 48 within the edge-oriented component 12 can provide process factory-related data to applications or other computing devices in response to requests from applications or other computing devices. For example, a user interface device can execute a process factory application that requests process factory-related data from a contextual knowledge base 42 via access mechanism 48 (e.g., the process factory search query server 400). The process factory application can also obtain user identification information, such as user login information, and can provide this user identification information and device information to the edge-oriented component 12 for contextual purposes, thereby providing the edge-oriented component 12 with, for example, a subset of process factory-related data related to the user's organizational role. This subset of process factory-related data can also be related to the process factories that employ the user, such as the Christi factory corpus.

[0109] Figure 9 An example vehicle head unit 900 is shown for presenting process plant-related data at a location remote from process plant 5. The vehicle head unit 900 can execute process plant applications and may include a display 902 and a speaker for providing graphical and audio output, hardware input controls for inputting alphanumeric characters or providing other user input, software input controls for inputting alphanumeric characters or providing other user input via a touchscreen, and / or a microphone for receiving audio input such as process plant search queries. Figure 10 As shown, display 902 includes prompts for users to provide requests related to the process plant, such as process plant search queries. Therefore, users can provide audio requests with voice input via a microphone, or text requests via hardware or software input controls. In some embodiments, the process plant application may include pre-stored voice prompts that enable the process plant application to receive and analyze user voice input via a microphone. For example, the pre-stored voice prompt could be "Hello, DeltaV". In response to receiving the voice input "Hello, DeltaV", the process plant application can receive and analyze subsequent voice input from the user to generate process plant data in response to the user's request. The process plant application can also recognize the user's voice via speech recognition technology, so that only the user can provide voice input to the process plant application. Voice input from other users will not be analyzed because the process plant application will not recognize that voice input as corresponding to the user. In other embodiments, display 902 may include default process plant-related data corresponding to the user or a process plant display corresponding to the user's process flow module or control module, such as... Figure 10 and 11The default process plant related data and the default process flow modules or control modules corresponding to the user are illustrated in FIG. 9 and described in more detail below. For example, the default process plant related data can include a report generated for the user over a particular time period regarding process plant entities related to the user's organizational role, updates to process plant entities that the user operates, maintains, is responsible for, etc., alerts or critical information for these process plant entities, etc. The default process flow modules or control modules corresponding to the user can include process flow modules or control modules that the user recently viewed, or process flow modules or control modules that include process plant entities related to the user's organizational role, e.g., process plant entities that the user operates, maintains, is responsible for, etc.

[0110] In an example scenario, in response to a prompt included on the display 902, the user provides a voice input "Hi DeltaV. Show me my reports" or "Hi DeltaV. Give me my divided wall column report." In response to the voice input, the vehicle head unit presents a process plant report display 1000 as illustrated in FIG. 10. Figure 11 In some implementations, the process plant report display 1000 can be presented as default process plant related data without a request from the user. In particular, the edge-facing component 12 can periodically generate reports for the user that are specific to the user's organizational role. The user can also be able to customize the reports via user controls on the vehicle head unit 900 to select particular control modules, process plant entities, process plant areas, etc., for which to receive reports. In any case, the process plant report display 1000 can include an unread report 1002 and an indication of read reports. Each indication of the unread report 1002 can include a title of the report and a link to select the report to view the report or receive an audio version of the report. For example, the user can touch select an audio control corresponding to the execution summary to receive an audio version of the execution summary, or the user can touch select the execution summary to receive a graphical version of the execution summary. In an example scenario, the user provides a voice input "Hi DeltaV. Show me my reports" or "Hi DeltaV. Give me my divided wall column report" to receive a graphical and / or audio version of the divided wall column report. In response, the vehicle head unit 900 presents an audio version of the divided wall column report 1004 such as "Yesterday's divided wall column report indicated it was running at capacity with production of nearly 100K barrels. There were 2 critical alarms. There were no known environmental excursions." The audio version can be presented in a natural language format. For example, the edge-facing component 12 can communicate with the syntax module or the plant vocabulary database described above to generate the audio version in a natural language format.

[0111] The vehicle head unit 900 can also present a graphical version (not shown) of the split wall column report on the display 902. The graphical version of the split wall column report can include a graphical representation of the split wall column and inputs and outputs to the split wall column. The graphical version can also include process parameter data for the split wall column and / or product parameter data for products input into and output from the split wall column. In addition, the graphical version of the split wall column report can include text transcribed from the audio version.

[0112] In some implementations, the process plant application or edge-facing component 12 can generate multiple versions of a report, such as a condensed version and a full version of each report. The condensed version can include a summary of the information included in the full version. The process plant application can communicate with sensors in the vehicle head unit 900 to determine the speed of the vehicle. If the vehicle is traveling at a speed above a threshold speed (e.g., 10 mph), the process plant application can present the condensed version of the report in audio format via the speakers and / or the display 902 to reduce driver distraction. On the other hand, if the vehicle is traveling at or below the threshold speed (e.g., 10 mph), the process plant application can present the full version of the report via the speakers and / or the display 902. Additionally, in response to determining that the vehicle is traveling above the threshold speed, the process plant application can present a condensed version of the process flow module, control module, panel, process plant entity, etc. In particular, the condensed version of the process flow module can not include some of the process parameter data, process plant entities, alerts, etc. included in the full version of the process flow module.

[0113] Figure 12 An example process plant display 1100 is shown that is presented on the vehicle head unit 900 and includes a process flow module 1102. The process flow module 1102 can be a full version, while the condensed version can not include some of the process parameter data, process plant entities, alerts, warnings, etc. included in the full version. The process flow module 1102 can include real-time process plant related data from the online process plant 5, such as real-time process parameter data. While the user cannot remotely adjust the setpoint values, for example, because the process plant application on the vehicle head unit 900 is not communicatively coupled to the process plant 5, the user can view the setpoints, process parameter values, events, etc. within the online process plant 5. In some implementations, the process plant display 1100 is presented in response to a request by the user to view the process flow module 1102. In other implementations, the process plant display 1100 is a default display that presents a process flow module with process plant related data corresponding to the user’s organizational role or that the user has previously requested to view.

[0114] In addition to presenting process plant related data in response to a user's request or as a default data presentation process, the process plant application executing on the vehicle head unit 900 can obtain and present notifications when events occur in the process plant 5 that a user can be interested in according to the user's organizational role. For example, the edge-facing component 12 can identify control modules, process flow modules, process plant entities, etc. that the user operates, maintains, is responsible for, etc. according to the user's organizational role. In some embodiments, the user can input a set of control modules, process flow modules, process plant entities, etc. to remotely monitor via user controls at the process plant application. When an event related to one of the user's identified control modules, process flow modules, process plant entities, etc. is stored in the contextual knowledge base 42, the edge-facing component 12 can transmit a notification to the process plant application to be presented by the vehicle head unit 900. The notification can include a description of the event and a subset of process plant related data from the contextual knowledge database 42 corresponding to the event. The notification can also include a link to a detailed description of the event, and graphical displays of the process flow modules, control modules, process plant entities, etc. related to the event, process parameter data for the event, alarms and / or warnings associated with the event, etc.

[0115] Figure 12 A flow diagram representing an example method 1200 for providing search results in response to a process plant search query is shown. The method 1200 can be performed by the process plant search query server 400 as shown in FIG. 4, the edge-facing component 12 as shown in FIG. 1, or any suitable computing device within or outside of the process plant 5 and in communication with the edge-facing component 12. Figure 1 Figure 6

[0116] At block 1202, the process plant search query server 400 receives a process plant search query from a user interface device. The process plant search query can be any search query related to process plant related data and / or related to process plant entities within a process plant. The process plant search query can be a voice-based or text-based process plant search query. When the process plant search query is a voice-based process plant search query, the user interface device can transcribe the voice-based process plant search query to text and transmit the text to the process plant search query server 400. In other embodiments, the user interface device can transmit the voice-based process plant search query to the process plant search query server 400 and the process plant search query server 400 can transcribe the voice-based process plant search query to text.

[0117] ​​The process plant search query server 400 then analyzes / parses the process plant search query to identify a topic of the search query (block 1204), a context of the search query (block 1206), and / or other information in the search query that can be used to filter the data sets that are responsive to the search query. Specifically, the process plant search query server 400 can obtain an indication of the topic and the filters from a syntax module or a plant vocabulary database included in or communicatively coupled to the process plant search query server 400. The syntax module or the plant vocabulary database can store a number of topics of process plant search queries and filters that modify the topics to filter the search results. The syntax module or the plant vocabulary database can also store a number of mappings of words from the process plant search query that correspond to each topic and / or filter, such as synonyms or nicknames of the topic or filter.

[0118] For example, the process plant search query server 400 can also identify the context of the process plant search query from a user profile included in the user database. The user can provide login information that can be used by the process plant search query server 400 to access the user information. In addition, the context can include device information of the device that the user submitted the process plant search query, such as a location of the device, which can include a location within the process plant or can be an external location, capabilities of the device (e.g., audio, display, microphone, applications executing on the device, etc.), a type of the device, a size of the device, etc. In addition, the context can include a time that the process plant search query was submitted.

[0119] At block 1208, the process plant search query server 400 obtains data sets of process plant related data from the contextual knowledge base 42 in response to the search query corresponding to the topic of the process plant search query. The process plant search query server 400 can then filter the data sets according to the filters in the process plant search query and / or the context related to the process plant search query. For example, the topic of the process plant search query can be alarms. Accordingly, the process plant search query server 400 can retrieve data sets of process plant related data from the contextual knowledge base 42 related to alarms. The filters for the process plant search query can be critical alarms, alarms for a particular boiler unit, and alarms that occurred in the previous eight hours. The process plant search query server 400 can then filter the data sets to remove process plant related data that is not related to critical alarms, alarms for a particular boiler unit, and alarms that occurred in the previous eight hours.

[0120] At block 1210, the process plant search query server 400 can then generate a set of process plant search results from the filtered data set. The process plant search query server 400 can transform the filtered data set into a process plant search result by generating a natural language response for each data item in the filtered data set. For example, the process plant search query server 400 can transform the data item into a process plant search result by obtaining an introductory statement, e.g., "Good morning," "Good afternoon," "Happy holidays!" etc., from a grammar module or a plant glossary based on the time of day / date and / or the name of the user. The process plant search query server 400 can also obtain a natural language response to the process plant search query from a grammar module or a plant glossary, e.g., "Critical alarms include..." or "You have _ critical alarms...". The natural language response can be a predetermined natural language response that is stored in a grammar module or a plant glossary database in association with a particular process plant query topic or a particular process plant query topic and one or more filters. For example, the predetermined natural language response can be "You have _ alarms..." whenever the process plant query object is alarms. The predetermined natural language response can be modified to "You have _ critical alarms..." when one of the filters is critical alarms. In other embodiments, the process plant search query server 400 can generate the search result as a link to the data item in the filtered data set, e.g., a link to detailed information about the control module, as shown in Figure 13

[0121] The process plant search query server 400 then provides the set of process plant search results to the user interface device for display at block 1212. The set of process plant search results can be provided in a text format and presented graphically on a user interface of the user interface device, or can be provided in an audio format and presented through a speaker.

[0122] Figure 1 A flowchart showing an exemplary method 1300 for presenting process plant search results in response to a process plant search query is shown. The method 1300 can be performed by an external system 8, e.g., a user interface device, as shown in Figure 14

[0123] ​​At block 1302, the user interface device receives a process plant search query from a user. The process plant search query can be any search query related to process plant related data and / or related to a process plant entity within a process plant. Further, the process plant search query can be provided via text input or via audio input by selecting a user control (e.g., a process plant search bar) on the user interface device. The user interface device can then provide the process plant search query to the process plant search query server 400. Additionally, the user interface device can provide user information, device information, a search history of previous search queries by the user, an indication of graphical information presented on the process plant related data at the time the process plant search query was submitted, etc., as a context for the process plant search query. The process plant search query server 400 then analyzes the process plant search query and the context and generates a set of process plant search results in response to the process plant search query.

[0124] At block 1304, the user interface device obtains the set of process plant search results from, for example, the process plant search query server 400. In some embodiments, the process plant search query server 400 also generates a set of process plant categories corresponding to the process plant search results, such as all, alarms, control modules, process flow modules, reports, etc. The user interface device obtains the set of process plant categories (block 1306) and presents an indication of the process plant categories (block 1308) and a subset of the process plant search results corresponding to each process plant category (block 1310) in a process plant search results display. Each process plant search result can include an optional link to detailed information about the process plant search result. The detailed information about the process plant search result can include process plant related data, such as configuration data, runtime data, maintenance data, analytics data, environmental data, diagnostic data, etc. Additionally, each process plant search result can include a thumbnail or preview of the detailed information about the process plant search result. For example, for a process plant search result that includes a control module, the thumbnail or preview corresponding to the process plant search result can be a thumbnail of a graphical representation of the control module.

[0125] Figure 9 A flow diagram representing an example method 1400 for presenting process plant related data within a vehicle head unit is shown. The method 1400 can be performed by the vehicle head unit 900 as shown in ​

[0126] ​At block 1402, process plant related data is received at a process plant application executing on the vehicle head unit 900. The process plant related data can be received in response to a request by the user, can be default process plant related data, or can be received as a notification of an event in the process plant 5 that can be relevant to the user's organizational role. At block 1404, the user's organizational role can be determined, and the process plant application can present a subset of the process plant related data on the vehicle head unit 900 according to the user's organizational role (block 1406).

[0127] In some implementations, the edge-oriented component 12 can generate and provide a subset of process plant related data to the process plant application based on the user's organizational role. The process plant related data presented by the vehicle head unit 900 can include reports generated for the user over a particular time period, updates about process plant entities that the user operates, maintains, is responsible for, etc., alerts or critical information for these process plant entities, graphical representations of process flow modules or control modules that the user recently viewed, or process flow modules or control modules that include process plant entities that the user operates, maintains, is responsible for, etc.

[0128] The process plant related data can be presented graphically on a user interface of the vehicle head unit 900 or audibly via a speaker. Additionally, the process plant related data can be presented in a natural language format.

[0129] Embodiments of the technology described in this disclosure can include any number of the following aspects, alone or in combination:

[0130] 1. A method for providing search results in response to a process plant search query, the method comprising: receiving, at a computing device from a user, a process plant search query related to one or more process plant entities within a process plant; obtaining, by the computing device from a knowledge base, a data set responsive to the process plant search query, in the knowledge base, process plant related data describing attributes of the process plant entities are organized according to semantic relationships between the process plant related data and the process plant entities; and providing, by the computing device to the user, a set of search results based on the obtained data set responsive to the process plant search query.

[0131] 2. The method of aspect 1, further comprising: analyzing one or more terms in the process plant search query to identify a topic of the process plant search query; obtaining, from the knowledge base, a data set comprising process plant related data corresponding to the topic of the process plant query; analyzing one or more remaining terms in the process plant search query to identify one or more filters for filtering the data set; filtering the data set according to the one or more filters; and providing the set of search results to the user according to the filtered data set.

[0132] 3. The method of any of the preceding aspects, further comprising: identifying a context of the process plant search query; identifying one or more additional filters for filtering the data set based on the context; and filtering the data set based on the one or more additional filters.

[0133] 4. The method of any of the preceding aspects, wherein the context comprises an organizational role of the user, a location of the user, a time of the process plant search query, or a previous process plant search query from the user.

[0134] 5. The method of any of the preceding aspects, further comprising: ranking the set of search results based on (i) the context of the process plant search query or (ii) an amount of each search result corresponding to one or more remaining terms in the process plant search query; and providing the ranked set of search results to the user.

[0135] 6. The method of any of the preceding aspects, wherein analyzing the one or more terms in the process plant search query to identify a topic of the process plant search query comprises: obtaining a plurality of candidate process plant search query topics; analyzing the process plant search query to identify a likelihood that each of the plurality of candidate process plant search query topics corresponds to the process plant search query; and identifying the topic as a candidate process plant search query topic of the plurality of candidate process plant search query topics having a highest likelihood of corresponding to the process plant search query.

[0136] 7. The method of any of the preceding aspects, further comprising: identifying one or more terms in the process plant search query that are associated with the identified topic; and analyzing one or more remaining terms in the process plant search query to identify one or more filters for filtering the data set.

[0137] 8. The method of any of the preceding aspects, wherein the process plant related data describing properties of the process plant entities comprises at least one of: configuration data, runtime data, environmental data, maintenance data, analytics data, or diagnostic data.

[0138] 9. The method of any of the preceding aspects, wherein receiving the process plant search query comprises receiving a voice-based process plant search query or receiving a text-based process plant search query.

[0139] 10. The method of any of the preceding aspects, wherein providing the set of search results to the user comprises providing the set of search results in an audio format or a text format for presentation at a user interface device.

[0140] 11. The method of any of the preceding aspects, wherein the knowledge base comprises a copy of the process plant related data generated within the process plant and the computing device does not directly interact with the process plant related data generated within the process plant.

[0141] 12. A computing device for providing search results in response to a process plant search query, comprising: one or more processors; a communication unit; and one or more non-transitory computer-readable media coupled to the one or more processors and the communication unit, the one or more non-transitory computer-readable media having instructions stored thereon that, when executed by the one or more processors, cause the computing device to: receive, from a user, a process plant search query related to one or more process plant entities within a process plant; obtain, from a knowledge base, a data set responsive to the process plant search query, in the knowledge base, process plant related data describing attributes of the process plant entities are organized according to semantic relationships between the process plant related data and the process plant entities; and provide, to the user via the communication unit, a set of search results based on the obtained data set responsive to the process plant search query.

[0142] 13. The computing device of the preceding aspect, wherein the instructions further cause the computing device to: analyze one or more terms in the process plant search query to identify a topic of the process plant search query; obtain, from the knowledge base, a data set comprising process plant related data corresponding to the topic of the process plant query; analyze one or more remaining terms in the process plant search query to identify one or more filters for filtering the data set; filter the data set according to the one or more filters; and provide the set of search results to the user based on the filtered data set.

[0143] 14. The computing device of any one of aspects 12 to 13, wherein the instructions further cause the computing device to: identify a context of the process plant search query; identify one or more additional filters for filtering the data set based on the context; and filter the data set according to the one or more additional filters.

[0144] 15. The computing device of any one of aspects 12 to 14, wherein the context comprises an organizational role of the user, a location of the user, a time of the process plant search query, or a previous process plant search query from the user.

[0145] 16. The computing device of any one of aspects 12 to 15, wherein the instructions further cause the computing device to: rank the set of search results based on (i) the context of the process plant search query or (ii) an amount to which each search result corresponds to the one or more remaining terms in the process plant search query; and provide the ranked set of search results to the user.

[0146] 17. The computing device of any of aspects 12 to 16, wherein to analyze the one or more terms in the process plant search query to identify a topic of the process plant search query, the instructions cause the computing device to: obtain a plurality of candidate process plant search query topics; analyze the process plant search query to identify a likelihood that each of the plurality of candidate process plant search query topics corresponds to the process plant search query; and identify the topic as the candidate process plant search query topic of the plurality of candidate process plant search query topics having the highest likelihood of corresponding to the process plant search query.

[0147] 18. The computing device of any of aspects 12 to 17, wherein the instructions further cause the computing device to: identify one or more terms in the process plant search query associated with the identified topic; and analyze one or more remaining terms in the process plant search query to identify one or more filters for filtering the data set.

[0148] 19. The computing device of any of aspects 12 to 18, wherein the process plant related data describing attributes of the process plant entity comprises at least one of: configuration data, runtime data, environmental data, maintenance data, analytics data, or diagnostic data.

[0149] 20. The computing device of any of aspects 12 to 19, wherein the process plant search query comprises a voice-based process plant search query or a text-based process plant search query.

[0150] 21. The computing device of any of aspects 12 to 20, wherein the set of search results are provided in an audio format or a text format for presentation at the user interface device.

[0151] 22. The computing device of any of aspects 12 to 21, wherein the knowledge base comprises a copy of process plant related data generated within the process plant, and the computing device does not directly interact with the process plant related data generated within the process plant.

[0152] 23. A process control system comprising: one or more devices corresponding to process plant entities disposed in a process plant and performing physical functions to control an industrial process; a data diode communicatively connecting the one or more devices to a computing device, the data diode configured to prevent bidirectional communication between a network of the process plant and the computing device; and the computing device comprising: one or more processors; a communication unit; and one or more non-transitory computer-readable media coupled to the one or more processors and the communication unit, the one or more non-transitory computer-readable media storing instructions thereon that, when executed by the one or more processors, cause the computing device to: receive, through the data diode and the communication unit, a copy of process plant related data generated by the one or more devices of the process plant while the process plant is online, the process plant related data being protected from transmission from the one or more devices to the computing device through the data diode; store the copy of the process plant related data in a knowledge base in which process plant related data describing properties of process plant entities are organized according to semantic relationships between the process plant related data and the process plant entities; and provide at least some of the data from the knowledge base to an application or other computing device.

[0153] 24. The process control system of the preceding aspect, wherein the instructions further cause the computing device to: provide a subset of the copy of the process plant related data as search results in response to a process plant search query.

[0154] 25. A method for presenting process plant search results in response to a process plant search query, the method comprising: receiving, at a user interface device from a user, a process plant search query relating to one or more process plant entities within a process plant; obtaining, by the user interface device in response to the process plant search query, a set of process plant search results; and presenting, by the user interface device, the set of process plant search results in a process plant search results display, wherein each process plant search result comprises a selectable link to process plant related data within the process plant.

[0155] 26. The method of the preceding aspect, wherein presenting the set of process plant search results in the process plant search results display comprises presenting each process plant search result as a thumbnail, the thumbnail comprising a preview of the process plant related data presented in the selectable link.

[0156] 27. The method of any of aspects 25-26, further comprising: obtaining, by the user interface device, a plurality of process plant categories corresponding to the set of process plant search results; for each of the plurality of process plant categories, obtaining, by the user interface device, a subset of the process plant search results corresponding to the respective process plant category; presenting, by the user interface device, an indication of each of the plurality of process plant categories in the process plant search results display; and for each of the plurality of process plant categories, presenting, by the user interface device, the subset of the process plant search results with the indication of the respective process plant category.

[0157] 28. The method of any of aspects 25-27, wherein presenting the subset of the process plant search results with the indication of the respective process plant category comprises: in response to receiving a selection of one of the indications of the plurality of process plant categories, presenting the subset of the process plant search results corresponding to the selected process plant category.

[0158] 30. The method of any of aspects 25-29, wherein obtaining the set of process plant search results in response to the process plant search query comprises: obtaining a ranked set of process plant search results, each process plant search result having a respective rank; and presenting the set of process plant search results in a ranked order according to the respective ranks.

[0159] 31. The method of any of aspects 25-30, further comprising: determining a size or type of the user interface device; and adjusting the presentation of the set of process plant search results in the process plant search results display based on the size or type of the user interface device.

[0160] 32. The method of any of aspects 25-31, further comprising: in response to determining that the user interface device is a mobile device, presenting a single process plant search result within the process plant search results display.

[0161] 33. The method of any of aspects 25-32, further comprising: in response to determining that the size of the user interface device is above a threshold size, presenting the set of process plant search results within the process plant search results display.

[0162] 34. The method of any of aspects 25-33, wherein obtaining the set of process plant search results in response to the process plant search query comprises: transmitting the process plant search query to a server computing device; and receiving the set of process plant search results from the server computing device.

[0163] 35. The method of any of aspects 25 to 34, wherein presenting the set of process plant search results, wherein each process plant search result includes an optional link to process plant related data comprises presenting each process plant search result with an optional link to at least one of: configuration data, runtime data, environmental data, maintenance data, analytics data, or diagnostic data.

[0164] 36. The method of any of aspects 25 to 35, wherein the optional link to process plant related data within the process plant is an optional link to a copy of the process plant related data within the process plant such that user interaction with the copy of the process plant related data does not affect runtime operation of the process plant.

[0165] 37. A user interface device for presenting process plant search results in response to a process plant search query, the user interface device comprising: one or more processors; a user interface; and one or more non-transitory computer-readable media coupled to the one or more processors and the user interface, the one or more non-transitory computer-readable media having stored thereon instructions that, when executed by the one or more processors, cause the user interface device to: receive, from a user, a process plant search query related to one or more process plant entities within a process plant; obtain, in response to the process plant search query, a set of process plant search results; and present, in a process plant search results display, the set of process plant search results, wherein each process plant search result includes an optional link to process plant related data within the process plant.

[0166] 38. The user interface device of the preceding aspect, wherein each process plant search result is presented with a thumbnail, the thumbnail including a preview of the process plant related data presented in the optional link.

[0167] 39. The user interface device of any of aspects 37 to 38, wherein the instructions further cause the user interface device to: obtain a plurality of process plant categories corresponding to the set of process plant search results; for each of the plurality of process plant categories, obtain a subset of the process plant search results corresponding to the respective process plant category; present, via the user interface, an indication of each of the plurality of process plant categories in the process plant search results display; and for each of the plurality of process plant categories, present, via the user interface, the subset of the process plant search results with the indication of the respective process plant category.

[0168] 40. The user interface device of any of aspects 37 to 39, wherein to present the subset of process plant search results with the indication of the respective process plant category, the instructions cause the user interface device to present, via the user interface, the subset of process plant search results corresponding to the selected process plant category in response to receiving a selection of one of the indications of the plurality of process plant categories.

[0169] 41. The user interface device of any of aspects 37 to 40, wherein to obtain the set of process plant search results in response to the process plant search query, the instructions cause the user interface device to obtain a ranked set of process plant search results, each process plant search result having a respective rank; and present, via the user interface, the ranked set of process plant search results in a ranked order according to the respective ranks.

[0170] 42. The user interface device of any of aspects 37 to 41, wherein the instructions further cause the user interface device to determine a size or type of the user interface device; and adjust a presentation of the set of process plant search results in the process plant search results display based on the size or type of the user interface device.

[0171] 43. The user interface device of any of aspects 37 to 42, wherein the instructions further cause the user interface device to present, via the user interface, a single process plant search result within the process plant search results display in response to determining that the user interface device is a mobile device.

[0172] 44. The user interface device of any of aspects 37 to 43, further comprising a speaker, wherein the instructions further cause the user interface device to present, via the speaker, a summary of process plant related data associated with the single process plant search result in an audio format.

[0173] 45. The user interface device of any of aspects 37 to 44, wherein the instructions further cause the user interface device to present, via the user interface, the set of process plant search results within the process plant search results display in response to determining that the size of the user interface device is above a threshold size.

[0174] 46. The user interface device of any of aspects 37 to 45, wherein to obtain the set of process plant search results in response to the process plant search query, the instructions cause the user interface device to transmit the process plant search query to a server computing device; and receive the set of process plant search results from the server computing device.

[0175] 47. The user interface device of any of aspects 37 to 46, wherein the process plant related data comprises at least one of: configuration data, runtime data, environmental data, maintenance data, analytics data, or diagnostic data.

[0176] 48. The user interface device of any of aspects 37 to 47, wherein the selectable link to the process plant related data within the process plant is a selectable link to a copy of the process plant related data within the process plant such that user interaction with the copy of the process plant related data does not affect runtime operation of the process plant.

[0177] 49. A non-transitory computer-readable medium having stored thereon instructions that, when executed by one or more processors, cause the one or more processors to: receive, from a user, a process plant search query related to one or more process plant entities within a process plant; obtain, in response to the process plant search query, a set of process plant search results; and present, in a process plant search results display of a user interface device, the set of process plant search results, wherein each process plant search result comprises a selectable link to process plant related data within the process plant.

[0178] 50. The non-transitory computer-readable medium of the preceding aspect, wherein each process plant search result is presented in a thumbnail, the thumbnail comprising a preview of the process plant related data presented in the selectable link.

[0179] 51. The non-transitory computer-readable medium of any of aspects 49 to 50, wherein the instructions further cause the one or more processors to: obtain a plurality of process plant categories corresponding to the set of process plant search results; for each of the plurality of process plant categories, obtain a subset of process plant search results corresponding to the respective process plant category; present, via the user interface, an indication of each of the plurality of process plant categories in the process plant search results display; and for each of the plurality of process plant categories, present, via the user interface, the subset of process plant search results with the indication of the respective process plant category.

[0180] 52. The non-transitory computer-readable medium of any of aspects 49 to 51, wherein the instructions further cause the one or more processors to: determine a size or type of the user interface device; and based on the size or type of the user interface device, adjust presentation of the set of process plant search results in the process plant search results display.

[0181] 53. A method for presenting process plant related data within a vehicle head unit, the method comprising: receiving, at a process plant application executing in the vehicle head unit, process plant related data related to one or more process plant entities within a process plant, the one or more process plant entities performing a physical function to control an industrial process; and presenting, by the vehicle head unit, the process plant related data for a user to remotely monitor online operation of the process plant, wherein the process plant related data is a copy of process plant related data generated within the process plant such that the vehicle head unit does not directly interact with the process plant related data generated within the process plant.

[0182] 54. The method of any of the preceding aspects, further comprising determining an organizational role of the user within the process plant, wherein presenting the process plant related data for the user to remotely monitor the online operation of the process plant comprises presenting a subset of the process plant related data that is relevant to the organizational role of the user.

[0183] 55. The method of any of aspects 53 to 54, further comprising presenting a notification regarding at least some of the process plant related data associated with an event that occurred in the online operation of the process plant and that is relevant to the organizational role of the user in response to the event.

[0184] 56. The method of any of aspects 53 to 55, wherein presenting the process plant related data for the user to remotely monitor the online operation of the process plant comprises presenting a report regarding at least one of the one or more process plant entities that is relevant to the organizational role of the user, the report including at least some of the process plant related data that is relevant to the at least one process plant entity.

[0185] 57. The method of any of aspects 53 to 56, further comprising determining a speed of the vehicle; comparing the speed of the vehicle to a threshold speed; and presenting a condensed version of the report regarding the at least one process plant entity that is relevant to the organizational role of the user in an audio format in response to determining that the speed of the vehicle exceeds the threshold speed.

[0186] 58. The method of any of aspects 53 to 57, wherein presenting the process plant related data for the user to remotely monitor the online operation of the process plant comprises presenting a graphical representation of a process flow module that depicts a runtime operation of at least one of the one or more process plant entities, including process parameter data of the at least one process plant entity.

[0187] 59. The method of any of aspects 53 to 58, further comprising presenting the process plant related data on a user interface of the vehicle head unit.

[0188] 60. The method of any of aspects 53 to 59, further comprising presenting the process plant related data via a speaker of the vehicle head unit.

[0189] 61. The method of any of aspects 53 to 60, further comprising presenting the process plant related data in a natural language format.

[0190] 62. The method of any of aspects 53 to 61, further comprising receiving a process plant search query from the user that is relevant to the one or more process plant entities; and presenting, by the vehicle head unit, a set of process plant search results in response to the process plant search query, the set of process plant search results including at least some of the process plant related data.

[0191] 63. A vehicle head unit comprising: one or more processors; a user interface; a speaker; and one or more non-transitory computer-readable media coupled to the one or more processors, the one or more non-transitory computer-readable media having stored thereon a process plant application that, when executed by the one or more processors, causes the vehicle head unit to: receive process plant related data related to one or more process plant entities within a process plant, the one or more process plant entities performing physical functions to control an industrial process; and present, via the user interface or the speaker, the process plant related data for a user to remotely monitor online operations of the process plant, wherein the process plant related data is a copy of process plant related data generated within the process plant such that the vehicle head unit does not directly interact with the process plant related data generated within the process plant.

[0192] 64. The vehicle head unit of the preceding aspect, wherein the process plant application further causes the vehicle head unit to: determine an organizational role of the user within the process plant, and present a subset of the process plant related data related to the organizational role of the user.

[0193] 65. The vehicle head unit of any one of aspects 63 to 64, wherein the process plant application further causes the vehicle head unit to: in response to an event occurring in the online operations of the process plant and associated with the organizational role of the user, present a notification regarding at least some of the process plant related data associated with the event.

[0194] 66. The vehicle head unit of any one of aspects 63 to 65, wherein to present the process plant related data for the user to remotely monitor the online operations of the process plant, the process plant application causes the vehicle head unit to present a report regarding at least one of the one or more process plant entities related to the organizational role of the user, the report including at least some of the process plant related data related to the at least one process plant entity.

[0195] 67. The vehicle head unit of any one of aspects 63 to 66, wherein the process plant application further causes the vehicle head unit to: determine a speed of the vehicle; compare the speed of the vehicle to a threshold speed; and in response to determining that the speed of the vehicle exceeds the threshold speed, present a condensed version of the report regarding the at least one process plant entity related to the organizational role of the user in an audio format.

[0196] 68. The vehicle headend unit of any of aspects 63 to 67, wherein, to present process plant related data for a user to remotely monitor online operations of the process plant, the process plant application causes the vehicle headend unit to present a graphical representation of the process flow module that depicts runtime operations of at least one of the one or more process plant entities, including process parameter data of the at least one process plant entity.

[0197] 69. The vehicle headend unit of any of aspects 63 to 68, wherein the process plant application further causes the vehicle headend unit to: present the process plant related data in a natural language format.

[0198] 70. The vehicle headend unit of any of aspects 63 to 69, wherein the process plant application further causes the vehicle headend unit to: receive a process plant search query from the user related to the one or more process plant entities; and present a set of process plant search results in response to the process plant search query, the set of process plant search results including at least some of the process plant related data.

[0199] 71. A non-transitory computer-readable medium having instructions stored thereon that, when executed by one or more processors in a vehicle headend unit, cause the vehicle headend unit to: receive process plant related data related to one or more process plant entities within a process plant, the one or more process plant entities performing physical functions to control an industrial process; and present the process plant related data via a user interface or a speaker of the vehicle headend unit for a user to remotely monitor online operations of the process plant, wherein the process plant related data is a copy of process plant related data generated within the process plant such that the vehicle headend unit does not directly interact with the process plant related data generated within the process plant.

[0200] 72. The non-transitory computer-readable medium of the preceding aspect, wherein the process plant application further causes the vehicle headend unit to: determine an organizational role of the user within the process plant, and present a subset of the process plant related data related to the organizational role of the user.

[0201] 73. The non-transitory computer-readable medium of any of aspects 71 to 72, wherein the process plant application further causes the vehicle headend unit to: present a notification regarding at least some of the process plant related data related to an event associated with the organizational role of the user in response to the event occurring in the online operations of the process plant.

[0202] 74. The non-transitory computer-readable medium of any of aspects 71-73, wherein to present the process plant related data for the user to remotely monitor online operations of the process plant, the process plant application causes the vehicle head unit to present a report about at least one process plant entity of the one or more process plant entities that is relevant to the user's organizational role, the report including at least some of the process plant related data that is relevant to the at least one process plant entity.

[0203] 75. The non-transitory computer-readable medium of any of aspects 71-74, wherein the process plant application further causes the vehicle head unit to: determine a speed of the vehicle; compare the speed of the vehicle to a threshold speed; and in response to determining that the speed of the vehicle exceeds the threshold speed, present a condensed version of the report about the at least one process plant entity that is relevant to the user's organizational role in an audio format.

[0204] 76. The non-transitory computer-readable medium of any of aspects 71-75, wherein to present the process plant related data for the user to remotely monitor online operations of the process plant, the process plant application causes the vehicle head unit to present a graphical representation of a process flow module that depicts runtime operations of at least one process plant entity of the one or more process plant entities, including process parameter data of the at least one process plant entity.

[0205] 77. The non-transitory computer-readable medium of any of aspects 71-76, wherein the process plant application further causes the vehicle head unit to: present the process plant related data in a natural language format.

[0206] 78. The non-transitory computer-readable medium of any of aspects 71-77, wherein the process plant application further causes the vehicle head unit to: receive a process plant search query from the user that is related to the one or more process plant entities; and in response to the process plant search query, present a set of process plant search results, the set of process plant search results including at least some of the process plant related data.

[0207] When implemented in software, any of the applications, services, and engines described herein can be stored in any entity's non-transitory computer-readable medium, such as storage devices, including optical, electrical, magnetic, or semiconductor storage devices and other storage devices, in RAM or ROM of a computer or processor, etc. While the example systems disclosed herein are disclosed as including software and / or firmware executed on hardware, it is noted that such systems are merely illustrative and not considered limiting. For example, it is contemplated that any or all of these hardware, software, and firmware components can be implemented or provided in hardware, software, or any combination thereof. Accordingly, although the example systems described herein are described as being implemented in software executed on a processor of one or more computer devices, it is noted that the examples provided are not the only way such systems can be implemented. For example, software, hardware, and / or firmware components can be implemented or provided in hardware, software, or any combination thereof.

[0208] Thus, although the application has been described with reference to specific examples, it is to be understood that these are intended in an illustrative sense and not a limiting sense. Many modifications and variations of the disclosed implementations are possible and are within the scope of the application, as those skilled in the art will understand.

Claims

1. A method for providing search results in response to a process plant search query, the method comprising: generating, by a computing device, a copy of process plant related data contained in field-oriented components of a process plant, wherein the field-oriented components directly interact with data generated within the process plant such that a user interface device that does not have authorized access to communicate with the process plant can obtain at least a subset of the copy of the process plant related data generated by the computing device that does not directly interact with the process plant related data generated within the process plant; organizing, by the computing device, the copy of the process plant related data describing properties of process plant entities in a knowledge base according to semantic relationships between the process plant related data and the process plant entities; receiving, at the computing device, a process plant search query in natural language format from a user related to one or more process plant entities within the process plant; interpreting, by the computing device, the process plant search query; obtaining, by the computing device, a data set from the copy of the process plant related data in the knowledge base in response to the interpreted process plant search query; and providing, by the computing device, a set of search results to a user interface device of the user based on the obtained data set in response to the interpreted process plant search query, wherein the user interface device does not have authorized access to directly communicate with the process plant.

2. The method of claim 1, further comprising: analyzing one or more terms in the process plant search query to identify a topic of the process plant search query; obtaining a data set from the knowledge base including the copy of the process plant related data corresponding to the topic of the process plant query; analyzing one or more remaining terms in the process plant search query to identify one or more filters for filtering the data set; filtering the data set according to the one or more filters; and providing the set of search results to the user according to the filtered data set.

3. The method of claim 2, further comprising: identifying a context of the process plant search query; identifying one or more additional filters for filtering the data set according to the context; and filtering the data set according to the one or more additional filters. The context includes an organizational role of the user, a location of the user, a time of the process plant search query, or a previous process plant search query from the user.

5. The method of claim 2, further comprising:

4. The method of claim 3, wherein, ranking the set of search results based on (i) a context of the process plant search query or (ii) an amount to which each search result corresponds to one or more remaining terms in the process plant search query; and providing the ranked set of search results to the user. Analyzing one or more terms in the process plant search query to identify a topic of the process plant search query comprises: obtaining a plurality of candidate process plant search query topics; ​ 6. The method of claim 2, wherein, ​ ​ analyzing the process plant search query to identify a likelihood that each of the plurality of candidate process plant search query topics corresponds to the process plant search query; and identifying the topic as the candidate process plant search query topic of the plurality of candidate process plant search query topics having the highest likelihood of corresponding to the process plant search query.

7. The method of claim 6, further comprising: identifying the one or more terms in the process plant search query associated with the identified topic; and analyzing one or more remaining terms in the process plant search query to identify one or more filters for filtering the data set.

8. The method of claim 1, wherein, receiving a process plant search query includes receiving a voice-based process plant search query or receiving a text-based process plant search query.

9. The method of claim 1, wherein, providing a set of search results to the user includes providing the set of search results in an audio format or a text format for presentation at the user interface device.

10. A computing device for providing search results in response to a process plant search query, comprising: one or more processors; a communication unit; and one or more non-transitory computer-readable media coupled to the one or more processors and the communication unit, the one or more non-transitory computer-readable media having stored thereon instructions that, when executed by the one or more processors, cause the computing device to: generate a copy of process plant related data contained in field-facing components of a process plant, wherein the field-facing components directly interact with data generated within the process plant, such that a user interface device that does not have authorized access to communicate with the process plant can obtain at least a subset of the copy of the process plant related data generated by the computing device that does not directly interact with the process plant related data generated within the process plant; organize the copy of the process plant related data describing properties of process plant entities in a knowledge base according to semantic relationships between the process plant related data and the process plant entities; receive from a user a process plant search query in natural language format related to one or more process plant entities within the process plant; interpret the process plant search query; obtain a data set from the copy of the process plant related data in the knowledge base in response to the interpreted process plant search query; and provide a set of search results to a user interface device of the user based on the obtained data set in response to the interpreted process plant search query, wherein the user interface device does not have authorized access to directly communicate with the process plant.

11. The computing device of claim 10, wherein, the instructions further cause the computing device to: analyze one or more terms in the process plant search query to identify a topic of the process plant search query; obtain a data set from a knowledge base including a copy of process plant related data corresponding to a process plant query topic; analyze one or more remaining terms in the process plant search query to identify one or more filters for filtering the data set; filtering the data set according to the one or more filters; and providing the set of search results to the user according to the filtered data set.

12. The computing device of claim 11, wherein, The instructions further cause the computing device to: identify a context of the process plant search query; identify one or more additional filters for filtering the data set according to the context; and filter the data set according to the one or more additional filters.

13. The computing device of claim 12, wherein, The context includes an organizational role of the user, a location of the user, a time of the process plant search query, or a previous process plant search query from the user.

14. The computing device of claim 11, wherein, The instructions further cause the computing device to: rank the set of search results based on (i) the context of the process plant search query or (ii) an amount by which each search result corresponds to one or more remaining terms in the process plant search query; and provide the ranked set of search results to the user.

15. The computing device of claim 11, wherein, To analyze one or more terms in the process plant search query to identify a topic of the process plant search query, the instructions cause the computing device to: obtain a plurality of candidate process plant search query topics; analyze the process plant search query to identify a likelihood that each of the plurality of candidate process plant search query topics corresponds to the process plant search query; and identify the topic as a candidate process plant search query topic in the plurality of candidate process plant search query topics that has a highest likelihood of corresponding to the process plant search query.

16. The computing device of claim 15, wherein, The instructions further cause the computing device to: identify the one or more terms in the process plant search query that are associated with the identified topic; and analyze one or more remaining terms in the process plant search query to identify one or more filters for filtering the data set.

17. The computing device of claim 10, wherein, The copy of process plant-related data describing attributes of a process plant entity includes at least one of: configuration data, runtime data, environmental data, maintenance data, analytics data, or diagnostic data.

18. The computing device of claim 17, wherein, The process plant search query includes a voice-based process plant search query or a text-based process plant search query.

19. The computing device of claim 10, wherein, The set of search results is provided in an audio format or a text format for presentation at the user interface device.

20. A process control system, comprising: one or more devices corresponding to process plant entities disposed in a process plant and performing physical functions to control an industrial process; a data diode communicatively connecting the one or more devices to a computing device, the data diode configured to prevent bidirectional communication between a network of the process plant and the computing device; and the computing device comprising: one or more processors; a communication unit; and one or more non-transitory computer-readable media coupled to the one or more processors and the communication unit, the one or more non-transitory computer-readable media storing instructions thereon that, when executed by the one or more processors, cause the computing device to: receiving, by the data diode and the communication unit, a copy of process plant related data generated by the one or more devices of the process plant while the process plant is online, the copy of process plant related data being protected from transmission from the one or more devices to the computing device through the data diode such that a user interface device that does not have authorized access to communicate with the process plant is able to obtain at least a subset of the copy of process plant related data received at the computing device that does not directly interact with the process plant related data generated by the one or more devices of the process plant while the process plant is online; storing the copy of process plant related data in a knowledge base in which process plant related data describing properties of the process plant entities are organized according to semantic relationships between the process plant related data and the process plant entities, wherein the knowledge base includes the copy of process plant related data generated within the process plant and the computing device does not directly interact with the process plant related data generated within the process plant; and providing at least some of the data from the copy of process plant related data in the knowledge base as search results to a user interface device that does not have authorized access to directly communicate with the process plant in response to a process plant search query in natural language format.

Citation Information

Patent Citations

  • Methods and apparatus to manage process control search results

    CN102411350A