Search result display in process control system
By introducing a search query server and edge gateway system into the process plant, the problems of operators remotely viewing data and the risk of network attacks are solved, secure data search and transmission are achieved, and the security and data integrity of the process plant are ensured.
Patent Information
- Application Number
- CN202010990276.4
- 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-09-16
- Estimated Expiration
- 2040-09-18
AI Technical Summary
In process plants, it is difficult for operators to remotely view and search process plant-related data, and the interconnection of process plants with external networks increases the risk of network intrusion and malicious network attacks, affecting the confidentiality, integrity and availability of information assets, and may even cause equipment damage and loss of life.
The process plant search query server receives and analyzes user queries, uses the contextual knowledge base to provide secure search capabilities, and securely transmits process plant-related data to external systems through the edge gateway system, using one-way data diodes and layered security mechanisms to protect data transmission.
It enables secure search and remote data viewing within the process plant, reduces the risk of cyber attacks, ensures the security and integrity of data transmission, and protects the security level of the process plant from being affected by external systems.
Smart Images

Figure CN112541099B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates generally to process plants and process control systems and, more particularly, to providing search capabilities for performing search queries for process plant-related data within a process plant / process control system and to securing the transmission of process plant-related data from the process plant / process control system to an external system for presenting the process plant-related data on a device remote from the process plant. Background Art
[0002] Distributed process control systems, such as those used in chemical, petroleum, pharmaceutical, paper product processing, or other process plants, typically include one or more process controllers that are communicatively coupled to one or more field devices via an analog, digital, or combined analog / digital bus, or via a wireless communication link or network. Field devices, such as valves, valve positioners, switches, and transmitters (e.g., temperature, pressure, level, and flow rate sensors), are located within a process environment and typically perform physical or process control functions, such as opening or closing a valve, or measuring a process parameter (e.g., pressure, temperature, etc.) to control one or more processes executing within the process plant or system. Intelligent field devices, such as those that conform to the well-known Fieldbus protocol, may also perform control calculations, alarm functions, and other control functions typically implemented within a controller. A process controller is also typically located within the plant environment, receives signals indicating process measurements made by the field devices and / or other information related to the field devices, and executes a controller application that runs, for example, various control modules that make process control decisions, generate control signals based on the received information, and coordinate with control modules or blocks executed in the field devices, such as the field devices. and Fieldbus field devices. A control module in a controller sends control signals to a field device over a communication line or link, thereby controlling the operation of at least a portion of a process plant or system.
[0003] Information from field devices and controllers is typically made available via data highways 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 computing devices, which are typically located in a control room or other location away from the harsher plant environment. Each of these hardware devices is typically centralized over an entire process plant or a portion of a process plant. These hardware devices run applications that, for example, enable an operator to perform functions related to controlling a process and / or operating the process plant, such as changing settings for process control routines, modifying the operation of control modules within a controller or field device, viewing the current state of a process, viewing alarms generated by field devices and controllers, simulating the operation of a process for the purpose of training personnel or testing process control software, maintaining and updating configuration databases, and the like. The data highways used by the hardware devices, controllers, and field devices may include wired communication paths, wireless communication paths, or a combination of wired and wireless communication paths.
[0004] As an example, the DeltaV sold by Emerson Automation Solutions TMThe control system includes multiple applications stored in and executed by different devices at different locations within the process plant. Configuration applications residing on one or more workstations or computing devices enable users to create or change process control modules and download these process control modules to dedicated distributed controllers via data highways. Typically, these control modules are composed of communicatively interconnected function blocks, which 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 the operator interface, which is used by the viewing application to display data to the operator and enable the operator to change settings within the process control routine, such as set points. Each dedicated controller, and in some cases, one or more field devices, stores and executes a respective controller application, which runs the control modules assigned and downloaded to it to implement the actual process control functions. A viewing application, which may be executed on one or more operator workstations (or on one or more remote computing devices communicatively coupled to the operator workstations and the data highway), receives data from the controller application via the data highway and displays the data to a process control system designer, operator, or user using a user interface. The viewing application may provide any of a number of different views, such as an operator's view, an engineer's view, a technician's view, and the like. A data historian application, typically stored in and executed by a data historian device, collects and stores some or all of the data provided via the data highway, while a configuration database application may be executed on another computer connected to the data highway to store the current process control routine configuration and data associated therewith. Alternatively, the configuration database may be located on the same workstation as the configuration application.
[0005] Generally speaking, a process control system in a process plant consists of field devices, controllers, workstations, and other equipment interconnected via a set of hierarchical networks and buses. The process control system can, in turn, be connected to various commercial and external networks, for example, to reduce manufacturing and operating costs, improve productivity and efficiency, and provide timely access to process control and / or process plant information. On the other hand, the interconnection of the process plant and / or process control system with enterprise and / or external networks and systems increases the risk of network intrusions and / or malicious cyberattacks, which can arise from anticipated vulnerabilities in commercial systems and applications used within the enterprise and / or external networks. Network intrusions and malicious cyberattacks on the process plant, network, and / or control system can adversely impact the confidentiality, integrity, and / or availability of information assets, which are generally subject to vulnerabilities similar to those of general-purpose computing networks. However, unlike general-purpose computer networks, network intrusions on the process plant, network, and / or control system can also result in damage, destruction, and / or loss of not only 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, resulting in explosions, fires, flooding, exposure to hazardous materials, and the like. Therefore, protecting communications related to process control plants and systems is extremely important.
[0006] As a result, process plant personnel, such as operators, are typically unable to view process plant-related data indicative of the runtime operation of the process plant from a remote source, such as a mobile device or a vehicle head unit. Furthermore, when process plant personnel interact with operator display applications, which provide displays and generate reports about the operational status of control systems or equipment within the process plant, the operator display applications typically do not allow users to search for items within the process plant, such as control modules, alarms, the amount of product produced within a particular time period, and the like. Each data point within the process plant may have several descriptors and aspects, such as runtime aspects representing a physical measurement or setpoint, configuration, current value, mode, range, status, quality, and other descriptors of the data point. As a result, the complexity of process plant-related data within the process plant is substantial, making it difficult to search for specific data items within such a large dataset. Searching becomes even more difficult without providing a situation-aware context for the runtime data. Summary of the Invention
[0007] Disclosed herein are techniques, systems, devices, components, equipment, and methods for providing search functionality within a process plant and for remotely receiving and viewing process plant-related data. The techniques, systems, devices, components, equipment, 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. Typically, such systems and plants provide control of one or more processes in a distributed manner that operate to manufacture, refine, convert, generate, or produce physical materials or products.
[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 units, etc. The process plant search queries may be search queries related to process plant entities within the process plant, such as search queries regarding control modules, alarms, process flow modules, process parameter data of process plant entities, product parameter data generated by process plant entities, product quantities produced within a specific time period, etc.
[0009] A process plant search query 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 the subject of the search query (e.g., alarms), modifiers or filters for filtering search results (e.g., alarms specific to boiler units), and identify the context of the process plant search query (e.g., the user is a plant supervisor at a process plant located in Houston, Texas, and supervises plant area A, which has 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 contextual knowledge base, which organizes process plant-related data according to semantic relationships between 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 a boiler unit in plant area A in the Houston plant from the contextual knowledge base.
[0010] The process plant search query server then uses the obtained process plant related data to generate a process plant search result set. For example, the process plant search result set may include six process plant search results, each corresponding to a different alarm. The process plant search query server may then provide a search result set for presentation by a user interface device. For example, the search results may be graphically presented on a user interface or presented in audio format via a speaker. In some embodiments, each search result includes an optional link to additional information about the search result. For example, the search result display on the user interface device may present the name of each alarm (e.g., alarm A, alarm B, alarm C, etc.), wherein each name includes an optional link to additional information about the alarm. When one of the names is optional, the user interface device may 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 may also present a graphical depiction of the alarm and a process flow module of the process plant entity corresponding to the alarm. The search result display may also present a preview of detailed information about the alarm, such as a thumbnail of a control module or process flow module graphically depicting the alarm.
[0011] In some embodiments, the process plant search results may be ranked and presented in the ranked order on the search results display. For example, the process plant search query server may assign a score to each process plant search result based on its relevance to the process plant search query. Specifically, the process plant search query server may determine that high priority or critical alarms have a higher relevance to the process plant search query than low priority alarms. Therefore, the process plant search results corresponding to the high priority or critical alarms may be ranked above the process plant search results corresponding to the low priority alarms. Therefore, the process plant search results corresponding to the high priority or critical alarms may be presented on the search results display above the process plant search results corresponding to the low priority alarms.
[0012] In addition, 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. Additionally, 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 for 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 collection of process plant search results for display on the user interface device.
[0013] In some embodiments, a process plant search query server interacts with process plant-related data generated within the process plant. In this manner, the process plant search query server can provide process flow modules, control modules, etc. as search results to a user interface device that is communicatively coupled to controllers and field devices in the process plant. The user can then interact with the process flow modules, control modules, etc. so 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, a user can adjust a set point value via a user control on a display of a process flow module. The user interface device can then communicate with the controller to adjust the set point value in the online process plant.
[0014] In other embodiments, the process plant search query server does not directly interact with process plant-related data generated within the process plant. Instead, some process plant-related data generated within the process plant is copied and provided to edge-facing components through a one-way 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 operating in the online process plant. Therefore, process plant search results and / or other data from the process plant search query server can be displayed to external sources, such as mobile devices, vehicle head units, etc., which are not authorized to communicate with process plant devices and do not include the security level required for authorized devices. BRIEF DESCRIPTION OF THE 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, particularly illustrating the interconnection between various example components of a process plant or process control system, the process control system itself, and other example systems and / or networks;
[0017] Figure 3 A graphical representation of an example contextual knowledge base storing process plant related data for a process plant or process control system is shown;
[0018] Figure 4 A block diagram of an example process plant search query server is shown;
[0019] Figure 5 An example process plant display including a search bar for entering a process plant search query is shown;
[0020] Figure 6 An example process plant search result display including process plant search results responsive to a process plant search query is shown;
[0021] Figure 7 Shows that it can respond to Figure 6 Example detailed search results displayed for selection of process plants included in the search results;
[0022] Figure 8 Another example process plant search result display including process plant search results responsive to a process plant search query is shown;
[0023] Figure 9 A display of a vehicle head end unit for presenting process plant related data at a remote location away from the process plant is shown;
[0024] Figure 10 shows example process plant related data presented on a vehicle head end unit;
[0025] Figure 11 Another example of process plant related data presented on a vehicle head end unit is shown;
[0026] Figure 12 is a flow chart representing an exemplary method for providing process plant search results in response to a process plant search query;
[0027] Figure 13 is a flowchart representing an exemplary method for presenting process plant search results in response to a process plant search query; and
[0028] Figure 14 is a flow chart representing an exemplary method for presenting process plant related data within a vehicle head unit. DETAILED DESCRIPTION
[0029] As described above, process plant-related data is copied and received at a computing device in a secure manner. Once the process plant-related data is received in a secure manner, it can be provided to an external source, such as a mobile device, a vehicle head unit, or the like, that is 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 source 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 a plant workstation. In this manner, process plant personnel can remotely view this information without the risk of unauthorized personnel being able to control equipment in the process plant from the external source.
[0030] In addition, 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, which can be operated within the process plant (e.g., an operator workstation, a mobile workstation) or external to the process plant (e.g., a mobile device, a vehicle head unit, a desktop or laptop computer, a wearable device, etc.).
[0031] Protecting process plants and process control systems from network intrusions and malicious network attacks typically utilizes a layered or graded security hierarchy, wherein at least some layers or levels are protected by using firewalls and other security mechanisms. Using the Purdue model of the control hierarchy logic framework standardized by ISA (International Society of Automation) 95.01-IEC (International Electrotechnical Commission) 62264-1 as an example framework, process control systems typically 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, corporate, and enterprise systems typically fall into security levels 3-5 (e.g., levels with a lower level of trust). For example, process plant systems, networks, and devices at security levels 0-3 can be protected from threats from enterprise networks at security levels 4-5 and / or from any external network higher than security level 5 utilizing the enterprise network, 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 execute remotely, for example, on networks and systems outside or external to the process plant (e.g., at security levels 4 and / or 5 within the enterprise or business), and / or even on networks and systems external to the enterprise or business (e.g., at security levels 5 and above, 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, apparatus, methods, and techniques described herein address these and other security issues associated with process plants and their networks, and particularly relate 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 for securely transmitting 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 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 storing at least one data set and at least one set of computer-executable instructions, wherein the at least one set of computer-executable instructions is executable by the one or more processors 18. For example, Figure 1 As shown, the one or more memories 20 of the field-oriented component 10 store corresponding data sets, such as one or more interest lists 22, a displayable data type system 24A and optional other data sets (not shown). The one or more memories 20 of the field-oriented component 10 also store computer-executable instructions for the data classifier 25 and may store other computer-executable instruction sets (not shown). The field-oriented component 10 is communicatively connected to one or more process plant communication networks, data networks and / or links 28, which may include any number of wired and / or wireless communication networks, data networks and / or links, which are communicatively connected to various devices and / or other data sources 30 associated with the process plant 5 and generate data, for example, when the process plant 5 operates to control an industrial process. A more detailed description of embodiments of the field-oriented component 10 and its subcomponents of the edge gateway system 1 is provided in other parts of the present 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 storing at least one data set and at least one set of computer-executable instructions, wherein the at least one set of computer-executable instructions is executable by the one or more processors 35. For example, Figure 1 As shown, the one or more memories 38 of the edge-facing component 12 store corresponding data sets corresponding to the data lake 40 and the contextual knowledge base 42, and the one or more memories 38 of the edge-facing component 12 store at least a partial copy 24B or replica of the presentable data type system 24A of the field-facing component 10, corresponding computer-executable instructions of the contextual knowledge miner 45, and one or more access mechanisms 48 of the contextual knowledge base 42. Of course, although Figure 1Not shown, but one or more memories 38 of the edge-facing component 12 may store other data sets and / or other computer-executable instruction sets. Figure 1 As shown, the edge-facing 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 groups, cloud computing systems, etc., and various applications (e.g., third-party applications, websites, etc.) may be executed thereon. A more detailed description of embodiments of the edge-facing component 12 and its subcomponents is 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 may be an integrated, single logical and / or physical component). In any case, as Figure 1As shown, data diode 15 comprises one or more transmission media via which data (e.g., electronic data) is transmitted from field-facing component 10 to edge-facing component 12, wherein data diode 15 is the sole communication connection between field-facing component 10 and edge-facing component 12. In a preferred embodiment, 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 field-facing component 10 to edge-facing component 12, and do not flow (and, in some embodiments, cannot physically flow) from edge-facing component 12 to field-facing component 10. That is, 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 edge-facing component 12 to field-facing component 10. In one example, 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 may be configured in other ways to prevent any type 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, a physical port of the edge-facing component 12 that would otherwise receive data from one or more external systems 8 may be blocked, disabled, and / or omitted.
[0036] Generally speaking, the edge gateway system 1 securely connects and / or bridges a lower security level process plant 5 and related systems with one or more higher security level systems 8. For example, referring to the Purdue model (or other similar security hierarchy), the data source 30 and the network / link 28 via which the edge gateway system 1 obtains process plant related data can be at a lower security level (e.g., security level 0 to security level 2) and can include, for example, process control systems, configuration systems, analysis systems, communication / network systems, asset management systems, diagnostic and / or test tools and / or systems, debugging 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. Therefore, for ease of discussion herein, and not for limitation, the term "process plant 5" is used to collectively refer to the physical process plant and other systems associated with and communicatively connected to the physical process plant that generate and / or transmit data at a lower security level.
[0037] exist Figure 1In the edge gateway system 1, the field-facing component 10 that obtains and initially processes process plant-related data generated by the process plant 5 can be at security level 2 to security level 3, and 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 executed thereon, such as enterprise applications and / or systems, third-party applications, publicly available applications, websites, etc. In this way, the edge gateway system 1 securely transmits data generated by process plant-related systems, networks, and / or applications 5 at a lower security level to systems, networks, and / or applications 8 at a higher security level.
[0038] In particular, if Figure 1 As shown, the field-oriented component 10 of the edge gateway system 1 obtains or collects field data from a data source 30 based on one or more interest lists 22 stored at the field-oriented component 10. The interest list 22 indicates specific process plant-related data generated by the process plant 5 and related to the plant 5 operating to control an industrial process, wherein the indicated process plant-related data is allowed to be displayed (e.g., displayable) to the external system, network and / or application 8. In this way, the interest list 22 included in the edge gateway system 1 provides an initial level of field-oriented security to prevent protected data from being inadvertently released from the process plant 5 to the external system 8. The interest list 22 can indicate specific interest data and / or combinations thereof, such as runtime data, event data, historical data, configuration data and / or any other type of process plant-related data, which is generated by and / or related to equipment, components and / or systems of the process plant 5 at a lower security level (e.g., at security levels 0-2). The interest list 22 can be accessed via the interest manager ( Figure 1 ) to be configured and / or defined, which is described in more detail elsewhere in this disclosure.
[0039] In addition, at the field-facing component 10, the data classifier 25 classifies the obtained interest list data according to the presentable data type system 24. Generally speaking, 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 available to the external system 8. In addition, the presentable data system 24 defines the mapping, conversion, grouping and / or other arrangement of process plant-related data types to presentable data types so that the process plant-related data content can be utilized and understood by the external system 8. The term "process plant-related data type" as used herein generally refers to a data type (e.g., data definition, name, value, field, structure, class, object, etc.) that has been defined and / or configured for use by applications, devices, components, systems and / or networks of the process plant 5. In an embodiment, the presentable data type system 24 can be configured via the interest studio (e.g., in a manner such as described elsewhere in this 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 associated lower security level systems without the external system 8 needing to know any internal data configuration of the plant 5 and without requiring the external system 8 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 data classifier 25 of the edge gateway system 1 further protect the process plant 5 from potential security breaches from the external system 8. The presentable data type system 24 and data classifier 25 are described in greater detail elsewhere in this disclosure.
[0040] At least due to the use of the exposable 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 a unidirectional flow of content data, but allow a bidirectional flow of signaling, control and / or management data by allowing positive acknowledgements and / or error conditions to be transmitted 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 data of any type flows from its data receiving end to its data sending end. In fact, in an embodiment, the data diode 15 is physically configured to prevent the transmission of any type of data (e.g., signaling, control, management, content, etc.) from the edge-facing component 12 to the field-facing component 10, for example, such as in an embodiment in which the data diode 15 is implemented via an optical transmission medium. In this way, at least due to the truly unidirectional nature of the data diode 15, 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.
[0041] At the edge-facing component 12 of the edge gateway system 1, the categorized content data received from the field-facing component 10 via the data diode 15 is stored in a data lake 40. A contextual knowledge miner 45 mines the data lake 40 to discover relationships between the various content data stored in the data lake 40 and generates / modifies / updates a contextual knowledge base 42 such that the contextual knowledge base 42 includes the received content data and indications of the discovered relationships. Thus, 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), as well as contextual data indicating relationships between the provided process plant-related content data, conditions corresponding to the generation, transmission, and / or receipt of the process plant-related content data within the process plant 5, and / or other types of contexts for 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 external systems 8 can access at least some of the knowledge stored in the contextual knowledge base 42. Each access mechanism can respectively include another level of protection against possible security breaches from the external system 8. For example, the access mechanism 48 can be implemented using an application programming interface (API), a container, a server, etc. to help prevent external systems from gaining authorized access to the contextual knowledge base 42 and / or the process plant 5. The edge-facing component 12 and its subcomponents of the edge gateway system 1 are discussed in more detail elsewhere in this disclosure.
[0043] In general, the features, components, and architecture of the edge gateway system 1 provide external systems 8 with virtually unrestricted access to process plant-related data in a highly secure manner without impacting the performance of the process plant 5. Furthermore, because the edge gateway system 1 provides process plant-related data to the external systems 8 contextually, 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 the process plant-related data. Furthermore, the edge gateway system 1 allows a variety of different types of applications, such as mobile connectivity applications, advanced analytics applications, open system 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, to securely and easily operate on contextual knowledge corresponding to the process plant 5. Furthermore, the edge gateway system 1 is readily adapted to aggregate process plant-related data from multiple process plants and discover relevant aggregated knowledge therefrom, as well as aggregate data from external systems with higher security levels (e.g., weather forecast 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 operation, and from which process plant-related data can be securely transmitted via an embodiment of the edge gateway system 1. For example, Figure 1 The process plant 5 may include Figure 2 At least a portion of the process plant 100. Figure 2 As shown, the process plant 100 is communicatively connected to an edge gateway system 102, which may be, for example, Figure 1 An embodiment of the edge gateway system 1.
[0045] The process plant 100 (also interchangeably referred to herein as a process control system 100 or 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 this information to implement control routines, and generate control signals that are sent to other field devices via a wired or wireless process control communication link or network to control the 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, takes a measurement, senses a condition, etc.) to control the operation of a process. Some types of field devices communicate with the 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 any combination thereof, can be included in the process plant environment or system 100.
[0046] For example, Figure 2 A process controller 111 is shown as being communicatively coupled 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 may include one or more wired and / or wireless communication links and may be implemented using any desired or suitable communication protocol, such as, for example, Ethernet, IP or other packet protocols. In some configurations (not shown), the controller 111 may be communicatively coupled 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 supporting one or more communication protocols, data protocols, and / or industrial automation protocols, such as, for example, Wi-Fi or other IEEE 802.11 compliant wireless local area network protocols, mobile communication protocols (e.g., WiMAX, LTE or other ITU-R compliant protocols), HART-IP, Profibus, Fieldbus, etc.
[0047] Controller 111, for example, may be a DeltaV sold by Emerson Automation Solutions TM The controller can be operated to implement batch processing or continuous processing using at least some of the field devices 115-122 and 140-146. In an embodiment, in addition to being communicatively connected to the process control data highway 110, the controller 111 is also communicatively connected to at least some of the field devices 115-122 and 140-146 using any desired hardware and software that is compatible with, for example, standard 4-20 mA devices, I / O cards 126, 128, and / or any smart communication protocol (e.g., Fieldbus protocol, protocol, Protocol, etc.). Figure 2 In the embodiment, the controller 111, the field devices 115-122 and the I / O cards 126 and 128 are wired devices, while the field devices 140-146 are wireless field devices. Of course, the wired field devices 115-122 and the 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, as well as with other nodes communicatively coupled to the controller 111. It should be noted that any control routine or module described herein may have portions thereof implemented or executed by different controllers or other devices, if desired. Similarly, the control routines or modules 138 described herein to be implemented within the process control system 100 may take any form, including software, firmware, hardware, etc. The control routines may be implemented in any desired software format, such as using object-oriented programming, ladder logic, sequential function charts, function block diagrams, or any other software programming language or design paradigm. The control routines 138 may be stored in any desired type of memory 132, such as random access memory (RAM) or read-only memory (ROM). Similarly, the control routines 138 may 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 may be configured to implement a control strategy or control routine in any desired manner.
[0049] The controller 111 implements the control strategy using what are commonly referred to as function blocks, where each function block is an object or other part (e.g., a subroutine) of an overall control routine and operates with other function blocks (via communications referred to as links) to implement process control loops within the process control system 100. Control-based function blocks typically perform one of the following: an input function, such as an input function associated with a transmitter, sensor, or other process parameter measurement device; a control function, such as a control function associated with a control routine that performs PID, fuzzy logic, etc. control; or an output function that controls the operation of some device, such as a valve, to perform some physical function within the process control system 100. Of course, hybrid and other types of function blocks exist. Function blocks can be stored in and executed by the controller 111, which is typically when these function blocks are used for standard 4-20mA devices and devices such as Some type of smart field device or situation associated with the device, or can be stored in and implemented by the field device itself, which can be The controller 111 may thus include one or more control routines 138 that may implement one or more control loops that are executed by executing one or more function blocks.
[0050] Wired field devices 115-122 may be any type of device, such as sensors, valves, transmitters, positioners, etc., and I / O cards 126 and 128 may be any type of I / O device that conforms to any desired communication or controller protocol. Figure 2 In the example, field devices 115-118 are standard 4-20 mA devices or devices that communicate with I / O card 126 via analog lines or combined analog and digital lines. devices, and the field devices 119-122 are smart devices, such as Fieldbus field devices, their use The Fieldbus communication protocol communicates over the digital bus with the I / O card 128. 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 may 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] exist Figure 2 In the wireless field devices 140-146 use wireless protocols such as The wireless field devices 140-146 may 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 may 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 communication 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 may provide communication 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 the wired field devices 115-122, the wireless field devices 140-146 of the wireless network 170 perform physical control functions within the process plant 100, such as opening or closing a valve or taking a measurement of a process parameter. However, the wireless field devices 140-146 are configured to communicate using the wireless protocol of the network 170. Thus, the wireless field devices 140-146, the wireless gateway 135, and the other wireless nodes 152-158 of the wireless network 170 are producers and consumers of wireless communication packets.
[0053] In some configurations of the process plant 100, the wireless network 170 includes non-wireless devices. For example, Figure 2 middle, Figure 2 Field device 148 is a legacy 4-20mA device, while field device 150 is a wired To communicate within the network 170, the field devices 148 and 150 may be connected to the wireless communication network 170 via respective wireless adapters 152A, 152B. The wireless adapters 152A, 152B support wireless protocols such as WirelessHART and may also support protocols such as Fieldbus, PROFIBUS, DeviceNet, etc. In addition, in some configurations, the wireless network 170 may include one or more network access points 155A, 155B, which may be separate physical devices in wired communication with the wireless gateway 135, or may be provided as an integrated device 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 the embodiment of the present invention, the wireless devices 140 - 146 and 152 - 158 communicate with each other and with the wireless gateway 135 through the wireless links 160 of the wireless communication network 170 and / or via the process control data highway 110 .
[0054] exist Figure 2 In the embodiment of the present invention, the process control system 100 includes one or more operator workstations 171 that are communicatively coupled to the data highway 110. Using the operator workstations 171, an operator can view and monitor the runtime operation of the process plant 100 and can take any diagnostic, corrective, maintenance, and / or other actions that may be required. At least some of the operator workstations 171 can be located in various protected areas in or near the plant 100, such as in a back-end environment of the plant 100, and in some cases, at least some of the operator workstations 171 can be remotely located but still communicatively coupled 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 download these modules to the controller 111 and / or other devices of the process control system 100 via the data highway 110, as well as to enable users 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 created (e.g., configured) modules and / or operator interfaces. Generally, 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 172A can be executed simultaneously within the process control system 5 and the configuration database 172B can be implemented on multiple physical data storage devices. Thus, a configuration application 172A, a configuration database 172B, and a user interface thereto (not shown) comprise a configuration or development system 172 for controlling and / or displaying the modules. Typically, but not necessarily, the user interface of the configuration system 172 is distinct from the operator workstation 171, in that configuration and development engineers utilize the user interface of the configuration system 172 regardless of whether the plant 100 is operating in real time, whereas operators utilize the operator workstation 171 during real-time operation of the process plant 100 (also interchangeably referred to herein 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 coupled to the data highway 110. The data historian application 173A operates to collect some or all of the data provided via the data highway 110 and historizes or stores the data in the historian database 173B for long-term storage. Similar to the configuration application 172A and the configuration database 172B, the data historian application 173A and the historian database 173B are centralized and present a single logical appearance to the process control system 100, although multiple instances of the data historian 173A can execute concurrently within the process control system 100 and the data historian 173B can be implemented on multiple physical data storage devices.
[0057] In some configurations, the 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 (e.g., WiMAX (Worldwide Interoperability for Microwave Access), LTE (Long Term Evolution), or other ITU-R (International Telecommunication Union Radiocommunication Sector) compliant protocols), short wavelength radio communications (e.g., near field communication (NFC) and Bluetooth), or other wireless communication protocols. Typically, such wireless access points 174 allow handheld or other portable computing devices (e.g., user interface devices 175) to communicate over a corresponding wireless process control communication network that is different from the wireless network 170 and supports a different wireless protocol than the wireless network 170. For example, the wireless or portable user interface device 175 may be a mobile workstation or diagnostic test device (e.g., an example of one of the operator workstations 171) used by an operator in the process plant 100. In some cases, in addition to the portable computing device, one or more process control devices (eg, the controller 111 , the field devices 115 - 122 , or the wireless devices 135 , 140 - 158 ) also communicate using a wireless protocol supported by the access point 174 .
[0058] In some configurations, the process control system 100 includes one or more gateways 176, 178 to systems external to the process control system 100. Typically, such systems are consumers or providers of information generated or manipulated by the process control system 100. For example, the process control plant 100 may include a gateway node 176 to communicatively connect the process control plant 100 to another process plant. Additionally or alternatively, the process control plant 100 may include a gateway node 178 to communicatively connect the process control plant 100 to an external public or private system, such as a laboratory system (e.g., a laboratory information management system or LIMS), an operator rounds 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 is shown included in the example process plant 100 in conjunction with a limited number of field devices 115-122 and 140-146, wireless gateway 35, wireless adapter 152, access point 155, router 1158, and wireless process control communication network 170, but this is merely an illustrative 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 process in the plant 100.
[0060] like Figure 2 shown, with reference to the Figure 1 , the process plant 100 is communicatively connected to an edge gateway system 102, which may be Figure 1 Embodiments of the edge gateway system 1 are provided. For example, the process plant 100 can be communicatively connected to the field-facing components 10 of the edge gateway system 1 via one or more process plant communication networks, data networks, and / or links, directly and / or via corresponding gateways of the process plant 100. For example, the field-facing components 10 of the edge gateway system 1 can be communicatively connected to the process plant 100 via the networks 110, 170, via the gateways 135, 176, 178, and / or via other networks, links, and / or gateways associated with the process plant, and the field-facing components 10 receive or obtain data generated by various data sources 30 associated with the process plant 100 via the above networks, links, and / or gateways.
[0061] Generally speaking, the data sources 30 and the network / link 28 through which the edge gateway system 1 obtains 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 a process plant is not limited to process control devices that directly generate first-order process data, but can additionally or alternatively include any device or component within and / or associated with the process plant 100 that generates process data and / or other types of data as a result of the process plant 100 controlling an online process. For example, the set of data sources 30 can include modules, alarms, event historians, batch systems and / or historians, diagnostic devices or components that generate diagnostic data, network routing devices or components that transmit information between various components and / or devices of the process plant 100, asset management systems, configuration systems, analytical systems, mobile devices, etc. In practice, Figure 2Any one or more of the components shown (e.g., components 111, 115-122, 126, 128, 135, 140-146, 152, 155, 158, 160, 170, 171-176, 178) and Figure 2 Other components not shown in the drawings may be data sources 30 that generate process plant related data that may be provided via the edge gateway system 1 , 102 for consumption by one or more external systems 8 .
[0062] Figure 3 A graphical representation of an example contextual knowledge base 42 is shown, for example, with reference to Figure 1 The contextual knowledge base 42 is described. The example contextual 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 equipment within the process plant that performs physical functions to control the process, such as valves, tanks, mixers, pumps, heat exchangers, etc. Process plant entities may include physical or logical elements. As described above, the contextual knowledge base 42 may be stored at the edge-facing component 12 of the edge gateway system 1 and may include local copies or replicas of process plant-related data generated within the process plant 5. In this manner, the edge-facing component 12 can provide process plant-related data from the contextual 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-facing component 12 can provide process plant-related data from the contextual knowledge base 42 to mobile devices, vehicle head units, desktop computers, laptop computers, wearable devices, etc. that are not within the process plant 5 and are not authorized to communicate with devices or components that control online operations of the process plant 5.
[0063] In other embodiments, the contextual knowledge base 42 may be stored in a computing device that communicates with devices or components within and / or associated with 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 online processes. In these embodiments, the process plant-related data is not provided via a one-way data diode, and the device receiving the process plant-related data from the contextual knowledge base 42 may communicate with devices or components within and / or associated with the process plant 5 that generate the process plant-related data to control online operations of the process plant 5. In such cases, only devices authorized to interact with the process control devices (e.g., operator workstations, mobile workstations, etc.) may receive the process plant-related data from the contextual knowledge base 42.
[0064] In any case, Figure 3, process plant related data (e.g., process parameter data, product parameter data, configuration data, maintenance data, event data, historical data, environmental data, analytical 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, and the relationships or connections between process plant related data and / or process plant entities are represented by lines connecting the circles. For example, the first process plant entity 302 represents the Houston process plant. The first process plant entity 302 is connected to areas within the process plant based on the areas (e.g., plant area A, plant area B) within the Houston process plant. Each area is connected to equipment and / or components within the area, such as controllers, field devices, control modules, process plant equipment, etc. Specifically, plant area A is connected to controller 1, CNTLMOD PID1, tank 1, mixer 1, and pump 1, each of which is located within plant area A or within a control process plant equipment 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 PID1 based on controller 1 executing control module CNTL MOD PID1. Controller 1 is also connected to each of these process plant devices based on controller 1 controlling tank 1, mixer 1, and pump 1. Furthermore, CNTL MOD PID1 is connected to each of these process plant devices based on CNTL MOD PID1 being a control module that controls tank 1, mixer 1, and pump 1. Furthermore, CNTL MOD PID1 is connected to product output 1 based on CNTL MOD PID1 generating product output 1 based on the control of tank 1, mixer 1, and pump 1. Product output 1 can be, for example, gasoline. Furthermore, 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. Specifically, tank 1 is connected to process parameter data indicating the fill level of tank 1, alarm 1 and alarm 2, each indicating an alarm corresponding to tank 1, and product input 1, which provides input to the product (e.g., kerosene) in tank 1. Product output 1 is connected to product parameter data representing the temperature, volume, density, pressure and chemical composition of product output 1.
[0065] Although the contextual knowledge base 42 stores a small amount of process plant related data, this is only for ease of illustration. The contextual knowledge base 42 can store indications of any number of process plant entities and any appropriate amount of process plant related data for each process plant entity in a number of process plants. In this way, a user can receive data from multiple process plants, so that the user can search on multiple sites. In addition to providing process plant related data from the contextual knowledge base 42 as search results, process plant related data can also be used for plant debugging, especially for resolving ambiguous naming conventions. In any case, the process plant related data can include several types of different data, such as configuration data, runtime data, maintenance data, analytical data, environmental data (such as management report data), diagnostic data, economic data of the process plant (such as the cost of equipment and materials, the planned value of the products produced by the plant, the amount of products produced by the process plant in a specific time period, planned revenue and profit margins), etc., or any other appropriate data related to the process plant.
[0066] To generate the contextual knowledge base 42, the contextual knowledge miner 45 mines the data lake 40 to discover relationships between the various content data stored in the data lake 40 and generates / modifies / updates the contextual knowledge base 42 accordingly. For example, the contextual knowledge miner 45 may mine the data lake 40 to identify additional process parameter data for the process parameters corresponding to Tank 1. The contextual knowledge miner 45 may then update the contextual knowledge base 42 to include the connection between Tank 1 and the additional process parameter data. In some embodiments, when a change is made to the plant configuration, such as when a user adds a new control module to the process control system, the user may provide instructions to the contextual knowledge miner 45 (e.g., via a user control at a user interface device) to regenerate the contextual knowledge base 42 with the new plant configuration. In some scenarios, the user may provide instructions to the contextual knowledge miner 45 to update the contextual knowledge base 42 with the new plant configuration by simply adding the changes to the plant configuration to the contextual knowledge base 42. In other embodiments, for example, when a download to an online process plant occurs, the contextual knowledge miner 45 can automatically analyze updates to the contextual knowledge base 42 and determine whether to update the existing contextual knowledge base 42 with the changes to the plant configuration, or to regenerate the contextual knowledge base 42 with the new plant configuration, for example if the changes are structural in nature. The contextual knowledge base 42 can also store time data about when the process plant configuration changes were added. For example, when a new or updated control module is downloaded to an online process plant, the contextual knowledge base 42 can include the date and time of the download. Thus, a contextual record of the state of the plant when each plant configuration change occurs can be maintained based on the contextual knowledge base 42. Although the contextual knowledge base 42 is described as a graphical structure, this is merely an exemplary embodiment and the entities in the contextual knowledge base 42 can be connected in any appropriate manner.
[0067] Process Plant Search Query
[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. An example of an access mechanism can be a process plant search query server that obtains a process plant search query from the external system 8, such as a user interface device external to the process plant 5 (e.g., a mobile device, a desktop computer, a laptop computer, a wearable device, a vehicle head unit, etc.). The process plant search query server then obtains process plant-related data related to the process plant search query from the contextual knowledge base 42 and generates process plant search results 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 embodiments, 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 search results 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 an 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 embodiments, 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 embodiments, the process plant search query server 400 is an access mechanism 48 for the edge-oriented component 12. In these embodiments, 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. Therefore, 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 controllers and / or other devices in the process plant 5 to control the online operation of the process plant 5. In other embodiments, the process plant search query server 400 is not part of the edge-oriented component 12 and is a server device communicatively coupled to the process plant 5 and is configured to communicate with controllers and / or other devices in the process plant 5 to control the online operation of the process plant 5.
[0071] In any case, the process plant search engine 406 receives a process plant search query from the 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 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 / parses the process plant search query to identify the subject of the search query, the context of the search query, and / or other information in the search query that can be used to filter the data set responsive to the search query. Specifically, the process plant search engine 406 can obtain an indication of the subject and filter from a grammar module or plant vocabulary database included in the process plant search query server 400 or communicatively coupled to the process plant search query server 400. The grammar module or plant vocabulary database can store several subjects for the process plant search query and filters that modify the subject to filter the search results. The grammar module or plant vocabulary database can also store several mappings of terms 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 topic "Module: CATCR", the grammar or plant vocabulary may store 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 identify process plant search queries provided in a natural language format, for example, based on words such as "how about" and "my." As a result, the process plant search engine 406 identifies the conversational nature of the process plant search query, which can be used by the user as context for subsequent queries. For example, because the process plant search engine 406 identifies the process plant search query as conversational, if the user provides an additional process plant search query, such as "what is efficiency?", the process plant search engine 406 identifies based on the context that the additional process plant search query is for efficiency regarding a catalytic cracker rather than another module. In response to identifying the natural language format of the process plant search query, the process plant search engine 406 uses the process plant search query as the context for the user's additional process plant search query within a threshold time period (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 term in the process plant search query to one of the topics or filters. In some embodiments, the process plant search engine 406 first identifies one or more terms in the process plant search query that correspond to the topic of the process plant search query. The process plant search engine 406 then identifies filters corresponding to the remaining terms and contexts that can be used to further filter the data set. The process plant search engine 406 can identify an exact match between one or more terms in the process plant search query and a topic included in the grammar module or plant vocabulary database.
[0074] In other embodiments, the process plant search engine 406 identifies a likelihood that one or more terms in the process plant search query correspond to a topic from among several candidate process plant search query topics included in a grammar module or a plant vocabulary database. The process plant search engine 406 then identifies the topic and corresponding terms with the highest likelihood. For example, the process plant search engine 406 may compare the first term in the process plant search query with each candidate process plant search query topic in the grammar module or the plant vocabulary database and identify a likelihood that the first term corresponds to each candidate process plant search query topic. The process plant search engine 406 may then compare the first term and the second term in the process plant search query with each candidate process plant search query topic in the grammar module or the plant vocabulary database and identify a likelihood that the first term and the second term correspond to each candidate process plant search query topic. The process plant search engine 406 may also compare the second term individually with each topic in the grammar module or the plant vocabulary database and identify a likelihood that the second term corresponds to each candidate process plant search query topic.
[0075] The process plant search engine 406 may continue to compare each term individually or in combination to identify a set of one or more terms that have the highest likelihood of corresponding to one of the candidate process plant search query topics in the grammar module or plant vocabulary database. Figure 4 As shown, 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 corresponding to the remaining terms from the grammar module or plant vocabulary database. The filters can be used to filter data sets obtained in response to the identified topics. In this example, the process plant search engine 406 can obtain a process plant related data set that is included in the contextual knowledge base 42 and has a connection to the module: CATCR. The filters can be used to remove process plant related data from the collection. As with the topics, the process plant search engine 406 can identify an exact match between one or more remaining terms in the process plant search query and the filters included in the grammar module or plant vocabulary database. In other embodiments, the process plant search engine 406 identifies the likelihood that one or more remaining terms in the process plant search query correspond to the filters included in the grammar module or plant vocabulary database. The process plant search engine 406 then identifies the filters and corresponding remaining terms that have the highest likelihood or a likelihood above a likelihood threshold.
[0077] The process plant search query may include several filters, each having a different set of one or more remaining terms having a likelihood corresponding to the filter above a likelihood threshold. Figure 4 As shown, the process plant search engine 406 identifies the word "my" as corresponding to the filter "scope:user". The filter "scope:user" can be used to filter the process plant related data set so as to retain only the process plant related data corresponding to a specific "module:CATCR" among several entities named "module:CATCR" in the situational knowledge base 42. The specific module:CATCR is the module:CATCR that the user operates, maintains, is responsible for, etc. according to the situation, as described in more detail below. The process plant search engine 406 identifies the word "how" as corresponding to the filter "all_abnormal". The filter "all_abnormal" can be used to filter the process plant related data set so as to retain only the process plant related data that indicates abnormal conditions and corresponds to a specific module:CATCR.
[0078] like Figure 4As shown, corresponding to a specific module for user operations, maintenance, responsibility, etc., example process plant-related data for the CATCR includes a slurry level of 20%, a reactor temperature of 500°C, a reactor pressure of 1.5 bar, a regenerator temperature of 200°C, and a regenerator pressure of 2 bar. The slurry level in the contextual knowledge base 42 may include a connection to an abnormal situation, such as when the slurry level is below a threshold slurry level. Thus, the process plant search engine 406 may filter out the reactor temperature, reactor pressure, regenerator temperature, and regenerator pressure from the process plant-related data set to retain only the slurry level.
[0079] In addition to identifying topics and filters for process plant search queries, the process plant search engine 406 also identifies context. The context may include user information of the user submitting the process plant search query, such as the user name, the name and location of the process plant where the user works, the user's organizational role within the process plant, the user's preferences, the user's search history of previous search queries, and the like. For example, the process plant search engine 406 may obtain the user information from a user profile included in a user database. The user may provide login information that may be used by the process plant search engine 406 to access the user information. Additionally, the context may include device information of the device on which the user submits the process plant search query, such as the location of the device, which may include a location within the process plant or may be an external location, the capabilities of the device (e.g., audio, display, microphone, applications executed on the device, etc.), the type of device, the size of the device, and the like. The location of the device may allow for location-based process plant search queries, such as "identify the valve in front of me." Additionally, the context may include the time at which the process plant search query is submitted.
[0080] The process plant search engine 406 can further filter the process plant-related data set based on 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 several instances of "module:CATCR" in the context knowledge base 42 that the user operates, maintains, is responsible for, etc. For example, the context may indicate that the user works in Area 1 of the Houston plant, which has one "module:CATCR." Therefore, the process plant search engine 406 can filter the data set to only include process plant-related data corresponding to "module:CATCR" in Area 1 of the Houston plant. In other embodiments, 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 time period), 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, the process plant search engine 406 may return the full set of search results if the device is a desktop computer, laptop, operator workstation, etc. If the device is a mobile device or vehicle head unit, the process plant search engine 406 may 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 process plant search results. In the above example, the filtered process plant-related data includes a slurry level of 20% for "Module: CATCR" in Area 1 of the Houston plant. Thus, the process plant search engine 406 can generate search results as audio responses (e.g., via a text-to-speech engine) or text responses in natural language format, 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 process plant search results by obtaining introductory expressions from a grammar module or plant vocabulary, such as "Good morning," "Good afternoon," "Happy holidays!", etc., based on the time / date of day and / or the user's name. The process plant search engine 406 can also obtain natural language responses to process plant search queries from the grammar module or plant vocabulary, such as "Your slurry level is...", "Abnormal conditions in your catalytic cracker include...", "Your catalytic cracker is performing well! Some things to note are..." In other embodiments, the process plant search engine 406 may generate a search result as a link to a process flow module or control module for "Module: CATCR" in Area 1 for the Houston plant, which may 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 may 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 performing?" is an example of a process plant search query, the process plant search query server 400 may obtain any suitable process plant search query and generate process plant search results. Other example process plant search queries may include queries about a particular operating mode, queries about abnormal conditions or specific abnormal conditions, queries for modules in a specified portion of a module hierarchy, queries for process parameters with specific names and / or values, queries for modules with alarms or multiple alarms of a specific priority, queries about a particular process plant entity or group of process plant entities, queries about products produced by process plant entities, queries about events within a process plant, queries about configuration data (e.g., queries about class instances), or any other suitable query about a process plant.
[0083] In addition, in some embodiments, the user can allow the process plant search query server 400 to provide unsolicited voice or display information about the process plant to the user's user interface device (e.g., by selecting a user control on the user interface device to receive unsolicited process plant-related data). The unsolicited voice or display information about the process plant may include critical or safety-related alarm information, regardless of the current interaction with the user. 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 to find 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 process plant entity sets, the process plant search query server 400 provides an indication of the critical or safety-related alarm information to the user interface device in an audio or text / graphic format, regardless of whether the user provided a process plant search query regarding critical or safety-related alarm information, the process plant entity set, or whether any process plant search query was provided at all. For example, a user may provide a process plant search query regarding boiler units and distillation columns. In response to identifying critical or safety-related alarm information related to a safety system in an area of the process plant 5 in which the user operates, the process plant search query server 400 may 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] In addition, the user can request that a voice alert or notification be provided to the user interface device in response to a specific event or condition occurring within the process plant. The process plant search query server 400 can then periodically or continuously determine whether the specific condition is met or the event occurs within the process plant 5. When the specific condition is met or the 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 from the user. For example, the user may 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, for example, 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, for example, the process variable value of TT-102 is 71%.
[0085] The process plant search query server 400 receives a process plant search query from a user interface device that may be inside or outside the process plant 5 . Figure 5 An example process plant display 500 that can be presented on a user interface device is shown. The user interface device can be communicatively coupled to the process plant 5, allowing a user to 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 is derived 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, which, 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 process plant search application executed on the user interface device. A user can enter a process plant search query, such as "bypass unconnected control modules," via text input or audio input via a microphone. The process plant search query can be related to graphical information presented in the process plant display 500, such as control modules, panels, process flow modules, process plant entities, etc. In some embodiments, the user interface device may provide an indication of 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 the 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 a user control so that the user can 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 automatically resubmit the previous process plant search query in any suitable manner to receive updated search results.
[0087] The process plant search query server 400 then receives a process plant search query and the context of the process plant search query, such as user information, device information, the user's search history of previous search queries, an indication of graphical information presented on process plant-related data when 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 Not Engaged Control Module," as CRTLMOD based on the term "control module" in the process plant search query, and can identify a filter, "Bypass: Yes_No: Engaged," based on the term "Bypass Not Engaged." In some embodiments, the process plant search query server 400 can identify additional filters from the context, such as control modules within a specific process plant that the user operates, maintains, is responsible for, etc., a specific area of the process plant that the user operates, maintains, is responsible for, etc., a specific area of the process plant that the user has previously queried, or a specific area of the process plant that is currently presented on the user's process plant display 500. In any case, the process plant search query server 400 then identifies each bypass-not-engaged 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 process plant search results for each identified control module / process plant related data of the control module and provides the process plant search results for display on the user interface in a search results display. Figure 6 An example process plant search results display 600 that may be presented on a user interface device is shown in FIG.
[0088] The process plant search result display 600 includes an indication of a set of process plant search results 602a-608a in response to the process plant search query "bypass unconnected control module". Each indication of the process plant search results 602a-608a may include the name of the process plant search result (e.g., plant_1303) and a link to detailed information about the process plant search result. In addition, each indication of the process plant search results 602a-608a may include a thumbnail or preview 602b-608b of detailed information about the process plant search result. For example, the first process plant search result 602a plant_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 a 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 may select, as shown in FIG. Figure 7 The detailed search result display shown at 700 presents a complete view of the graphical representation of the control module.
[0089] The detailed search result display 700 may also include other information about the control module, such as the name of the control module, the path to the control module, the names and / or paths to the inputs and outputs of the control module, the names and / or paths to the process plant entities controlled by the control module, the names and / or paths to the controllers executing the control module, product parameter data for products input to and / or output from the control module, process parameter data for the 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 the online operation of the process plant 5, an optional link to the detailed information is an optional link to a local copy or replica of the process plant-related data within the process plant 5, so that user interaction with the replica of the process plant-related data does not affect the runtime operation of the process plant 5.
[0090] In some embodiments, the detailed search result display 700 may include a video feed, such as a live video feed of the process plant entity or process plant area corresponding to the search result. For example, if the search result is an alarm for a specific process plant entity, the detailed search result display 700 may include a live video feed of the process plant entity (e.g., a mixer). In another example, if the search result is an overview of a process plant area, the detailed search result display 700 may include a live video feed of the process plant area. Further, the detailed search result display 700 may include faceplates, detail and master control displays, control hierarchies, process flow modules, images / videos of the process plant, images / videos of process plant areas, displays of process plant entities, map representations of the process plant or process plant areas, graphs, charts, or tables of process parameter or product parameter values, configuration displays, alarm displays, and the like.
[0091] Back to Figure 6 , the process plant search query server 400 may select the number of process plant search results to include in the process plant search result 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 from a predetermined set of device types (e.g., a mobile device, a vehicle head unit, etc.), the process plant search query server 400 may provide a single process plant search result for inclusion in the process plant search result display 600.
[0092] Figure 8A process plant search results display 800 for a mobile device is shown with a single process plant search result. 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 may 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 may select a number of process plant search results to include 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 may provide 10 process plant search results for inclusion in the process plant search results display 600. When the user interface device is above a second threshold size but below a third threshold size, the process plant search query server 400 may 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 may include a first set of process plant search results on a first page and additional sets of process plant search results on subsequent pages that the user can access via 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 the process plant search result set to the user interface device, and the user interface device adjusts the presentation of the process plant search result set 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 may select a single search result from the process plant search result set to present in the process plant search result 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 may present each of the process plant search result sets in the process plant search result display 600.
[0094] In some embodiments, the process plant search query server 400 may select a format for providing 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 may provide the process plant search results to the user interface device in audio format. If the user interface device has a display but no audio capabilities, the process plant search query server 400 may provide the process plant search results to the user interface device in text / graphic format. If the user interface device has both display and audio capabilities, the process plant search query server 400 may provide the process plant search results to the user interface device in both text / graphic format and audio format.
[0095] The process plant search results display 600 may 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, the All category 610 is selected, and thus the process plant search results being presented include process plant search results from all categories. In response to a user selection of one of the other categories 620-650, the process plant search results display 600 may 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 may present a subset of process plant search results that include or are related to reports, such as a report regarding one of the control modules that is not bypassed.
[0096] In some embodiments, 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 a particular process plant search result to a category based on the 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 alarms, the process plant search query server 400 can assign the control module to the alarm category 620.
[0097] In some embodiments, the categories can be independent of the process plant search query and can be the same category for any process plant search query. In other embodiments, the process plant search query server 400 generates a set of categories 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 "bypass unconnected control module", the process plant search query server 400 can determine that the search result set includes control modules in three different areas of the process plant. Therefore, the process plant search query server 400 can generate different categories for each area of the process plant and assign a subset of the process plant search results to each category.
[0098] Also in some embodiments, the process plant search query server 400 may rank and / or score each process plant search result. The process plant search results 602a-608a may then be presented in the process plant search result display 600 in a ranked order. For example, the process plant search result 602a that ranks highest or has the highest score may be presented at the top of the process plant search result display 600. When the process plant search query server 400 selects a single process plant search result to include in the process plant search result display 600, the process plant search query server 400 may select the process plant search result with the highest ranking. 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 result display 600 (e.g., five), the process plant search query server 400 may select process plant search results that rank equal to or higher than the threshold number.
[0099] The process plant search query server 400 may assign a relevance score to each process plant search result based on its relevance to the process plant search query. The relevance to the process plant search query may be based on how closely the process plant search result corresponds to the process plant search query. In some embodiments, the process plant search query server 400 may assign a relevance score based on the importance or priority of each process plant search result. For example, for a process plant search query with alarms as the subject, the process plant search query server 400 may determine that high priority or critical alarms have a higher relevance to the process plant search query than low priority alarms. Therefore, the process plant search query server 400 may assign higher scores to process plant search results corresponding to high priority or critical alarms, and assign lower scores to process plant search results corresponding to low priority alarms.
[0100] Also in some embodiments, for example, if one of the filters is a time period (e.g., alarms within the last eight hours), the process plant search query server 400 may assign relevance scores based on recency. The process plant search query server 400 may assign higher scores to process plant search results corresponding to more recently occurring events. Specifically, the process plant search query server 400 may assign higher relevance scores to search results corresponding to alarms triggered one hour prior to the process plant search query than to search results corresponding to alarms triggered six hours prior to the process plant search query.
[0101] The process plant search query server 400 may also assign relevance scores based on context. Specifically, if the process plant search query is, for example, "modules on boiler units," and the user's organizational role within the process plant indicates that the user works closely with a specific boiler unit, the process plant search query server 400 may assign a higher relevance score to modules for that specific boiler unit than to modules corresponding to other boiler units.
[0102] Furthermore, the process plant search query server 400 may assign a relevance score to each process plant search result based on the number or proportion of filters having conditions that the process plant search result satisfies. For example, if the process plant search query includes three filters, a process plant search result that satisfies the conditions of all three filters may be assigned a higher relevance score than a process plant search result that satisfies only two of the three filters. In some embodiments, the process plant search query server 400 only generates process plant search results that satisfy the conditions of each filter in the process plant search query. In other embodiments, 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 based on 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 may identify additional process plant search results that do not satisfy the conditions of one of the filters. These additional process plant search results may be assigned a lower relevance score than the process plant search results that satisfy the conditions of each filter.
[0103] In some embodiments, 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 factors related to relevance. The process plant search query server 400 may then rank the process plant search results in order of relevance score, with the process plant search result having the highest relevance score being ranked highest.
[0104] In some embodiments, the ranking can also be used to resolve ambiguous process plant search queries and / or 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 about TT102. Although the process plant search query server 400 may not be able to identify TT102 in the contextual knowledge base 42, the highest ranked process plant search results may be for TC102. Therefore, the process plant search query server 400 can provide suggestions to the user to generate a process plant search query for TC102, or can ask the user whether the process plant query is intended to be for TC102. When the process plant search query server 400 receives an ambiguous process plant search query or cannot identify the 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 action.
[0105] Presentation of process plant-related data
[0106] In addition to providing process plant search results in response to a process plant search query, the contextual knowledge base 42 can also be used to provide process plant-related data to be presented by a user interface device that is not communicatively coupled to the process plant (e.g., a mobile device, a vehicle head unit, a laptop computer, a desktop computer, etc.). In this manner, process plant personnel can remotely monitor the online operations of the process plant without the security and safety risks of remotely communicating with equipment 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 via a one-way data diode 15, which obtains data from the data source 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. Therefore, 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, so that changes to the copy of the process plant-related data presented on the user interface device do not change the runtime operation 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 the online operation of the process plant 5. In this way, users can remotely view process flow modules, control modules, panels, process plant entities, process parameter data, product parameter data, environmental data, maintenance data, analytical data, diagnostic data, etc., just as they would at their operator workstation, mobile workstation, or any other suitable user interface device within the process plant 5.
[0108] The process plant search query server 400 or any other suitable access mechanism 48 within the edge-facing component 12 can provide process plant related data to the application or other computing device in response to a request from the application or other computing device. For example, the user interface device can execute a process plant application, which requests process plant related data from the contextual knowledge base 42 via the access mechanism 48 (e.g., the process plant search query server 400). The process plant application can also obtain user identification information of the user, such as user login information, and can provide the user identification information and device information to the edge-facing component 12 for context, so that the edge-facing component 12 provides, for example, a subset of process plant related data that is related to the user's organizational role. The subset of process plant related data can also be related to the process plant that employs the user, such as the Christi plant corpus.
[0109] Figure 9 An example vehicle head unit 900 is shown for presenting process plant related data at a location remote from the process plant 5. The vehicle head unit 900 may execute a process plant application and may include a display 902 and speakers for providing graphical and audio output, hardware input controls for entering alphanumeric characters or providing other user input, software input controls for entering alphanumeric characters or providing other user input via a touch screen, and / or a microphone for receiving audio input, such as a process plant search query. Figure 9 As shown, the display 902 includes a prompt requesting the user to provide a request related to the process plant, such as a process plant search query. Thus, the user may provide an audio request with voice input via a microphone, or may provide a text request via a hardware or software input control. In some embodiments, the process plant application may include a pre-stored voice prompt that causes the process plant application to receive and analyze the user's voice input via the microphone. For example, the pre-stored voice prompt may be "Hello, DeltaV." In response to receiving the voice input "Hello, DeltaV," the process plant application may 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 may also recognize the user's voice via voice recognition technology, such that only the user may 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 the voice input as corresponding to the user. In other embodiments, the display 902 may include a process plant display corresponding to default process plant related data for the user or corresponding to a process flow module or control module for the user, such as Figure 10 and 11, and are described in more detail below. For example, the default process plant-related data may include reports generated for the user during a specific time period regarding process plant entities relevant to the user's organizational role, updates on process plant entities that the user operates, maintains, or is responsible for, and alarms or critical information about these process plant entities. The default process flow module or control module corresponding to the user may include the process flow module or control module most recently viewed by the user, or a process flow module or control module including process plant entities relevant to the user's organizational role, such as process plant entities that the user operates, maintains, or is responsible for.
[0110] In the example scenario, in response to a prompt included on display 902, the user provides voice input "Hello, DeltaV. Show me my report" or "Hello, DeltaV. Give me my divided wall column report." In response to the voice input, the vehicle head end unit presents a Figure 10 A process plant report display 1000 is shown. In some embodiments, the process plant report display 1000 can be presented as default process plant-related data without a user request. Specifically, 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 customize the reports via user controls on the vehicle head unit 900 to select specific 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 indications of unread reports 1002 and read reports. Each indication of an unread report 1002 can include the title of the report and a link for selecting the report to view or receive an audio version of the report. For example, the user can touch-select the audio control corresponding to the executive summary to receive an audio version of the executive summary, or the user can touch-select the executive summary to receive a graphical version of the executive summary. In the example scenario, the user provides voice input "Hello, DeltaV. Show me my reports" or "Hello, DeltaV. Give me my walled tower report" to receive a graphical and / or audio version of the walled tower report. In response, the vehicle head unit 900 presents an audio version of the bulkhead report 1004, such as "Yesterday's bulkhead report indicates it is operating at capacity approaching 100K barrels of production. There are 2 emergency alerts. There are 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 grammar module or plant vocabulary database described above to generate the audio version in a natural language format.
[0111] The vehicle head end unit 900 can also present a graphical version (not shown) of the bulkhead tower report on the display 902. The graphical version of the bulkhead tower report can include a graphical representation of the bulkhead tower and the inputs and outputs to the bulkhead tower. The graphical version can also include process parameter data for the bulkhead tower and / or product parameter data for the products input into and output from the bulkhead tower. In addition, the graphical version of the bulkhead tower report can include text transcribed from the audio version.
[0112] In some embodiments, the process plant application or edge-oriented component 12 can generate multiple versions of the 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 the sensors in the vehicle head unit 900 to determine the speed of the vehicle. If the vehicle is traveling at a speed higher than a threshold speed (e.g., 10 mph), the process plant application can present a condensed version of the report in audio format via the speaker and / or display 902 to reduce driver distraction. On the other hand, if the vehicle is traveling at or below a threshold speed (e.g., 10 mph), the process plant application can present a full version of the report via the speaker and / or display 902. In addition, in response to determining that the vehicle is traveling at a speed higher than a threshold speed, the process plant application can present a condensed version of the process flow module, control module, panel, process plant entity, etc. Specifically, the condensed version of the process flow module may not include some of the process parameter data, process plant entity, alarm, etc. included in the full version of the process flow module.
[0113] Figure 11 An example process plant display 1100 is shown, presented on a vehicle headend unit 900, and includes a process flow module 1102. The process flow module 1102 may be a full version, while a compact version may not include some of the process parameter data, process plant entities, alarms, warnings, etc. included in the full version. The process flow module 1102 may include real-time process plant-related data from the online process plant 5, such as real-time process parameter data. While a user cannot remotely adjust setpoint values, for example because the process plant application on the vehicle headend unit 900 is not communicatively coupled to the process plant 5, the user can view setpoints, process parameter values, events, etc. within the online process plant 5. In some embodiments, the process plant display 1100 is presented in response to a user's request to view the process flow module 1102. In other embodiments, 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 a user's previous request to view.
[0114] In addition to presenting process plant-related data in response to a user's request or as default data, the process plant application executing on the vehicle headend unit 900 can obtain and present notifications when events occur in the process plant 5 that may be of interest to the user based on 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., based on the user's organizational role. In some embodiments, the user can input a collection of control modules, process flow modules, process plant entities, etc., to be remotely monitored via user controls at the process plant application. When an event associated with 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 for presentation by the vehicle headend unit 900. The notification can include a description of the event and a subset of the process plant-related data from the contextual knowledge base 42 corresponding to the event. The notification can also include a link to a detailed description of the event and a graphical display of the process flow modules, control modules, process plant entities, etc., associated with the event, process parameter data for the event, alarms and / or warnings associated with the event, etc.
[0115] Figure 12 A flow chart showing an exemplary method 1200 for providing search results in response to a process plant search query is shown. The method 1200 may be performed by Figure 12 The process plant search query server 400 shown, Figure 1 The edge-facing component 12 as shown, or any suitable computing device within or outside the process plant 5 and in communication with the edge-facing component 12, is executed.
[0116] At box 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 the 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 into 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 into text.
[0117] The process plant search query server 400 then analyzes / parses the process plant search query to identify a subject 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 set responsive to the search query. Specifically, the process plant search query server 400 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 several subjects for the process plant search query and filters that modify the subjects to filter the search results. The grammar module or plant vocabulary database can also store several mappings of terms from the process plant search query corresponding to each subject and / or filter, such as synonyms or nicknames for the subject or filter.
[0118] For example, the process plant search query server 400 may also identify the context of the process plant search query from a user profile included in a user database. The user may provide login information, which may be used by the process plant search query server 400 to access user information. Furthermore, the context may include information about the device from which the user submitted the process plant search query, such as the location of the device, which may include a location within the process plant or an external location, the capabilities of the device (e.g., audio, display, microphone, applications executed on the device, etc.), the type of device, the size of the device, etc. Furthermore, the context may include the time at which the process plant search query was submitted.
[0119] At box 1208, in response to a search query corresponding to the process plant search query subject, the process plant search query server 400 obtains a data set of process plant related data from the contextual knowledge base 42. The process plant search query server 400 can then filter the data set based on the filters in the process plant search query and / or the context related to the process plant search query. For example, the subject of the process plant search query can be alarms. Therefore, the process plant search query server 400 can retrieve a data set 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 specific boiler unit, and alarms that occurred in the previous eight hours. The process plant search query server 400 can then filter the data set to remove process plant related data that is not related to critical alarms, alarms for a specific boiler unit, and alarms that occurred in the previous eight hours.
[0120] At block 1210, the process plant search query server 400 may then generate a set of process plant search results based on the filtered data set. The process plant search query server 400 may transform the filtered data set into process plant search results by generating a natural language response for each data item in the filtered data set. For example, the process plant search query server 400 may transform the data items into process plant search results by obtaining introductory expressions, such as "Good morning," "Good afternoon," "Happy holidays!", etc., from a grammar module or plant vocabulary based on the time / date of day and / or the user's name. The process plant search query server 400 may also obtain natural language responses to the process plant search query from the grammar module or plant vocabulary, such as "Critical alarms include..." or "You have _critical alarms _...". The natural language responses may be predetermined natural language responses stored in the grammar module or plant vocabulary database and associated with a specific process plant query subject or a specific process plant query subject and one or more filters. For example, whenever the process plant query object is an alarm, the predetermined natural language response may be "You have _alarms _...". When one of the filters is critical alarms, the predetermined natural language response may be modified to "You have _critical alarms _..." In other embodiments, the process plant search query server 400 may generate search results as links to data items in the filtered dataset, such as links to detailed information about a control module. Figure 6 shown.
[0121] The process plant search query server 400 then provides the process plant search result set to the user interface device for display at block 1212. The process plant search result set may be provided in a text format and presented graphically on a user interface of the user interface device, or may be provided in an audio format and presented through a speaker.
[0122] Figure 13 A flow chart showing an exemplary method 1300 for presenting process plant search results in response to a process plant search query is shown. The method 1300 may be performed by Figure 1 The external system 8 shown is executed, for example, by a user interface device, or may be executed by a user interface device operating within the process plant 5 .
[0123] At box 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 process plant entities within the process plant. In addition, 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. In addition, the user interface device can provide user information, device information, a search history of the user's previous search queries, an indication of graphical information presented on the process plant-related data when the process plant search query is 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 process plant search result set in response to the process plant search query.
[0124] At block 1304, the user interface device obtains a 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 category in the process plant search results display (block 1308) and a subset of process plant search results corresponding to each process plant category (block 1310). Each process plant search result may include an optional link to detailed information about the process plant search result. The detailed information about the process plant search result may include process plant-related data, such as configuration data, runtime data, maintenance data, analytical data, environmental data, diagnostic data, etc. In addition, each process plant search result may 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 may be a thumbnail of a graphical representation of the control module.
[0125] Figure 14 A flow chart showing an exemplary method 1400 for presenting process plant related data within a vehicle head unit is shown. The method 1400 may be performed by Figure 9 The vehicle head end unit 900 is shown to perform.
[0126] At block 1402, process plant-related data is received at a process plant application executing on the vehicle head end unit 900. The process plant-related data may be received in response to a user's request, may be default process plant-related data, or may be received in response to a notification of an event in the process plant 5 that may be relevant to the user's organizational role. At block 1404, the user's organizational role may be determined, and the process plant application may present a subset of the process plant-related data on the vehicle head end unit 900 based on the user's organizational role (block 1406).
[0127] In some embodiments, the edge-facing component 12 can generate a subset of process plant-related data based on the user's organizational role and provide it to the process plant application. The process plant-related data presented by the vehicle head unit 900 can include reports generated for the user during a specific time period, updates regarding process plant entities that the user operates, maintains, or is responsible for, alarms 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, or is responsible for.
[0128] The process plant related data may be presented graphically on a user interface of the vehicle head end unit 900 or audibly via a speaker. Additionally, the process plant related data may be presented in a natural language format.
[0129] Embodiments of the technology described in this disclosure may 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 a process plant search query related to one or more process plant entities within a process plant from a user at a computing device; obtaining, by the computing device, a data set responsive to the process plant search query from a knowledge base, wherein process plant-related data describing attributes of process plant entities are organized according to semantic relationships between process plant-related data and process plant entities; and providing, by the computing device, a set of search results to the user based on the obtained data set responsive to the process plant search query.
[0131] 2. The method of aspect 1 also includes: analyzing one or more terms in the process plant search query to identify the subject of the process plant search query; obtaining a data set including process plant-related data corresponding to the subject of the process plant query from a knowledge base; 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 a search result set to the user based on the filtered data set.
[0132] 3. The method of any of the preceding aspects, further comprising: identifying a context for 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 includes the user's organizational role, the user's location, the 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 includes: ranking the search result set based on (i) the context of the process plant search query or (ii) the amount that each search result corresponds to one or more remaining terms in the process plant search query; and providing the ranked search result set to the user.
[0135] 6. A method according to any one of the preceding aspects, wherein analyzing one or more terms in a process plant search query to identify a subject of the process plant search query comprises: obtaining a plurality of candidate process plant search query subjects; analyzing the process plant search query to identify a likelihood that each of the plurality of candidate process plant search query subjects corresponds to the process plant search query; and identifying the subject as a candidate process plant search query subject among the plurality of candidate process plant search query subjects having the highest likelihood of corresponding to the process plant search query.
[0136] 7. The method of any of the preceding aspects further includes: identifying one or more terms in the process plant search query associated with the identified subject; 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, analytical data, or diagnostic data.
[0138] 9. The method of any of the preceding aspects, wherein receiving a 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 search result set to the user comprises providing the search result set 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 includes 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.
[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 storing instructions thereon, which, when executed by the one or more processors, cause the computing device to: receive a process plant search query related to one or more process plant entities within a process plant from a user; obtain a data set responsive to the process plant search query from a knowledge base, in which 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 a set of search results to the user through the communication unit based on the obtained data set responsive to the process plant search query.
[0142] 13. A computing device of the aforementioned aspect, wherein the instructions further cause the computing device to: analyze one or more terms in a process plant search query to identify a subject of the process plant search query; obtain a data set including process plant-related data corresponding to the subject of the process plant query from a knowledge base; 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 a search result set to a 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 for a process plant search query; identify one or more additional filters for filtering a data set based on the context; and filter the data set based on the one or more additional filters.
[0144] 15. The computing device of any of aspects 12 to 14, 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.
[0145] 16. A 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) the amount that 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 a user.
[0146] 17. A computing device of any one of aspects 12 to 16, wherein, in order to analyze one or more terms in a process plant search query to identify a subject of the process plant search query, the instructions cause the computing device to: obtain a plurality of candidate process plant search query subjects; analyze the process plant search query to identify a likelihood that each of the plurality of candidate process plant search query subjects corresponds to the process plant search query; and identify the subject as the candidate process plant search query subject among the plurality of candidate process plant search query subjects having the highest likelihood of corresponding to the process plant search query.
[0147] 18. A computing device of any one of aspects 12 to 17, wherein the instructions further cause the computing device to: identify one or more terms in a process plant search query associated with the identified subject; 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 one 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, analytical data, or diagnostic data.
[0149] 20. The computing device of any one 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 one of aspects 12 to 20, wherein the search result set is provided in an audio format or a text format for presentation at the user interface device.
[0151] 22. The computing device of any one of aspects 12 to 21, wherein the knowledge base includes 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 set in a process plant and performing physical functions to control an industrial process; a data diode that communicatively connects the one or more devices to a computing device, the data diode being configured to prevent two-way 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, when the process plant is online, a copy of process plant-related data generated by one or more devices of the process plant through the data diode and the communication unit, the process plant-related data being protected and transmitted 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 the process plant-related data describing attributes of the process plant entities is 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 copies of the process plant-related data as search results in response to the 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 a process plant search query related to one or more process plant entities within a process plant from a user at a user interface device; obtaining a process plant search result set by the user interface device in response to the process plant search query; and presenting the process plant search result set in a process plant search result display by the user interface device, wherein each process plant search result includes an optional 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 includes presenting each process plant search result as a thumbnail, the thumbnail including a preview of process plant-related data presented in a selectable link.
[0156] 27. The method of any one of aspects 25 to 26 further includes: obtaining, by a user interface device, a plurality of process plant categories corresponding to a set of process plant search results; for each of the plurality of process plant categories, obtaining, by the user interface device, a subset of process plant search results corresponding to the corresponding process plant category; presenting, by the user interface device, an indication of each of the plurality of process plant categories in a process plant search results display; and for each of the plurality of process plant categories, presenting, by the user interface device, a subset of process plant search results using the indication of the corresponding process plant category.
[0157] 28. The method of any one of aspects 25 to 27, wherein presenting a subset of process plant search results using an indication of a corresponding process plant category includes: in response to receiving a selection of one of a plurality of indications of process plant categories, presenting a subset of process plant search results corresponding to the selected process plant category.
[0158] 30. The method of any one of aspects 25 to 29, wherein obtaining a process plant search result set in response to a process plant search query includes: obtaining a ranked process plant search result set, each process plant search result having a respective ranking; and presenting the process plant search result set in a ranked order according to the corresponding ranking.
[0159] 31. The method of any one of aspects 25 to 30, further comprising: determining a size or type of a user interface device; and adjusting presentation of the process plant search result set in the process plant search result display based on the size or type of the user interface device.
[0160] 32. The method of any of aspects 25 to 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 result display.
[0161] 33. The method of any of aspects 25 to 32, further comprising: in response to determining that a size of the user interface device is above a threshold size, presenting a set of process plant search results within a process plant search results display.
[0162] 34. The method of any one of aspects 25 to 33, wherein obtaining the process plant search result set in response to the process plant search query comprises: transmitting the process plant search query to a server computing device; and receiving the process plant search result set from the server computing device.
[0163] 35. The method of any of aspects 25 to 34, wherein presenting a 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, analytical data, or diagnostic data.
[0164] 36. The method of any one 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, so that user interaction with the copy of the process plant-related data does not affect the 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 storing instructions thereon that, when executed by the one or more processors, cause the user interface device to: receive a process plant search query from a user related to one or more process plant entities within a process plant; obtain a set of process plant search results in response to the process plant search query; and present the set of process plant search results in a process plant search results display, 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 as a thumbnail including a preview of the process plant related data presented in a selectable link.
[0167] 39. A user interface device of any one of aspects 37 to 38, wherein the instructions further cause the user interface device to: obtain multiple process plant categories corresponding to a set of process plant search results; for each of the multiple process plant categories, obtain a subset of process plant search results corresponding to the corresponding process plant category; present an indication of each of the multiple process plant categories in a process plant search result display via the user interface; and for each of the multiple process plant categories, present a subset of the process plant search results using the indication of the corresponding process plant category via the user interface.
[0168] 40. A user interface device of any one of aspects 37 to 39, wherein, in order to present a subset of process plant search results using an indication of a corresponding process plant category, the instructions cause the user interface device to: in response to receiving a selection of an indication of one of a plurality of process plant categories, present via the user interface a subset of process plant search results corresponding to the selected process plant category.
[0169] 41. A user interface device of any one of aspects 37 to 40, wherein, in order to obtain a process plant search result set in response to a process plant search query, the instructions cause the user interface device to: obtain a ranked process plant search result set, each process plant search result having a corresponding ranking; and present the process plant search result set in a ranked order according to the corresponding ranking via the user interface.
[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 the presentation of the process plant search result set in the process plant search result 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: in response to determining that the user interface device is a mobile device, present, via the user interface, a single process plant search result within the process plant search result display.
[0172] 44. The user interface device of any one 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 the 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: in response to determining that a size of the user interface device is above a threshold size, present a process plant search result set within a process plant search result display via the user interface.
[0174] 46. The user interface device of any one of aspects 37 to 45, wherein, in order to obtain a process plant search result set in response to a 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 process plant search result set from the server computing device.
[0175] 47. The user interface device of any one of aspects 37 to 46, wherein the process plant-related data comprises at least one of the following: configuration data, runtime data, environmental data, maintenance data, analytical data, or diagnostic data.
[0176] 48. A user interface device according to any one of aspects 37 to 47, 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, so that user interaction with the copy of the process plant-related data does not affect the runtime operation of the process plant.
[0177] 49. A non-transitory computer-readable medium having instructions stored thereon that, when executed by one or more processors, cause the one or more processors to: receive a process plant search query from a user relating to one or more process plant entities within a process plant; obtain a process plant search result set in response to the process plant search query; and present the process plant search result set in a process plant search result display of a user interface device, wherein each process plant search result includes an optional 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 as a thumbnail including a preview of the process plant-related data presented in a selectable link.
[0179] 51. The non-transitory computer-readable medium of any one of aspects 49 to 50, wherein the instructions further cause one or more processors to: obtain a plurality of process plant categories corresponding to a 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 corresponding process plant category; present an indication of each of the plurality of process plant categories in a process plant search results display via a user interface; and for each of the plurality of process plant categories, present a subset of process plant search results using an indication of the corresponding process plant category via a user interface.
[0180] 52. The non-transitory computer-readable medium of any of aspects 49 to 51, wherein the instructions further cause one or more processors to: determine a size or type of a user interface device; and adjust the presentation of the process plant search result set in the process plant search result display based on the size or type of the user interface device.
[0181] 53. A method for presenting process plant related data within a vehicle head end unit, the method comprising: receiving process plant related data related to one or more process plant entities within the process plant at a process plant application executed in the vehicle head end unit, the one or more process plant entities performing physical functions to control an industrial process; and presenting the process plant related data by the vehicle head end unit for a user to remotely monitor the online operation of the process plant, wherein the process plant related data is a copy of the process plant related data generated within the process plant, so that the vehicle head end unit does not directly interact with the process plant related data generated within the process plant.
[0182] 54. The method of the aforementioned aspect further includes: determining the organizational role of the user within the process plant, wherein presenting process plant-related data for the user to remotely monitor the online operation of the process plant includes presenting a subset of the process plant-related data related to the user's organizational role.
[0183] 55. The method of any of aspects 53 to 54, further comprising: in response to an event occurring in online operation of the process plant and related to the organizational role of the user, presenting a notification regarding at least some of the process plant-related data associated with the event.
[0184] 56. A method according to any one of aspects 53 to 55, wherein presenting process plant-related data for a user to remotely monitor online operations of a process plant comprises presenting a report about at least one of one or more process plant entities that is associated with the user's organizational role, the report comprising at least some of the process plant-related data that is associated with at least one process plant entity.
[0185] 57. The method of any of aspects 53 to 56 further includes: determining a speed of the vehicle; comparing the speed of the vehicle to a threshold speed; and in response to determining that the speed of the vehicle exceeds the threshold speed, presenting a condensed version of a report about at least one process plant entity associated with the user's organizational role in an audio format.
[0186] 58. A method according to any one of aspects 53 to 57, wherein presenting process plant-related data for a user to remotely monitor online operation of the process plant comprises presenting a graphical representation of a process flow module depicting the runtime operation of at least one process plant entity among one or more process plant entities, including process parameter data of at least one process plant entity.
[0187] 59. The method of any one of aspects 53 to 58, further comprising: presenting the process plant related data on a user interface of the vehicle head end unit.
[0188] 60. The method of any one of aspects 53 to 59, further comprising: presenting the process plant related data via a speaker of the vehicle head end unit.
[0189] 61. The method of any one of aspects 53 to 60, further comprising: presenting the process plant related data in a natural language format.
[0190] 62. The method of any one of aspects 53 to 61 further includes: receiving a process plant search query related to one or more process plant entities from a user; and presenting a process plant search result set by the vehicle head end unit in response to the process plant search query, the process plant search result set including at least some of the process plant related data.
[0191] 63. A vehicle head end 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 storing a process plant application thereon, the process plant application, when executed by the one or more processors, causing the vehicle head end unit to: receive process plant-related data associated with 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 the user interface or the speaker for a user to remotely monitor online operations of the process plant, wherein the process plant-related data is a copy of the process plant-related data generated within the process plant, such that the vehicle head end unit does not directly interact with the process plant-related data generated within the process plant.
[0192] 64. The vehicle head end unit of the preceding aspect, wherein the process plant application further causes the vehicle head end unit to: determine the user's organizational role within the process plant, and present a subset of the process plant related data that is relevant to the user's organizational role.
[0193] 65. The vehicle head end unit of any of aspects 63 to 64, wherein the process plant application further causes the vehicle head end unit to: in response to an event occurring in online operation of the process plant and associated with the user's organizational role, present a notification about at least some of the process plant-related data associated with the event.
[0194] 66. A vehicle head-end unit of any one of aspects 63 to 65, wherein, in order 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 head-end unit to present a report about at least one process plant entity among one or more process plant entities that is related to the user's organizational role, the report including at least some of the process plant-related data that is related to at least one process plant entity.
[0195] 67. The vehicle head end unit of any of aspects 63 to 66, wherein the process plant application further causes the vehicle head end 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 a report in an audio format regarding at least one process plant entity associated with the user's organizational role.
[0196] 68. A vehicle head end unit according to any one of aspects 63 to 67, wherein, in order to present process plant related data for a user to remotely monitor the online operation of the process plant, the process plant application causes the vehicle head end unit to present a graphical representation of a process flow module depicting the runtime operation of at least one process plant entity among one or more process plant entities, including process parameter data of at least one process plant entity.
[0197] 69. The vehicle head end unit of any one of aspects 63 to 68, wherein the process plant application further causes the vehicle head end unit to: present the process plant related data in a natural language format.
[0198] 70. The vehicle head end unit of any of aspects 63 to 69, wherein the process plant application further causes the vehicle head end unit to: receive a process plant search query related to one or more process plant entities from a user; and present a process plant search result set in response to the process plant search query, the process plant search result set 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 head-end unit, cause the vehicle head-end unit to: receive process plant-related data associated with one or more process plant entities within the 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 speaker of the vehicle head-end unit for a user to remotely monitor online operations of the process plant, wherein the process plant-related data is a copy of the process plant-related data generated within the process plant, such that the vehicle head-end 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 head end unit to: determine an organizational role of the user within the process plant, and present a subset of the process plant related data that is relevant 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 head end unit to: in response to an event occurring in an online operation of the process plant that is related to the user's organizational role, present a notification regarding at least some of the process plant-related data related to the event.
[0202] 74. The non-transitory computer-readable medium of any of aspects 71 to 73, wherein, in order to present process plant-related data for a user to remotely monitor online operations of the process plant, the process plant application causes a vehicle head end unit to present a report about at least one of one or more process plant entities that is associated with the user's organizational role, the report including at least some of the process plant-related data that is associated with at least one process plant entity.
[0203] 75. The non-transitory computer-readable medium of any of aspects 71 to 74, wherein the process plant application further causes the vehicle head end 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 a report in an audio format regarding at least one process plant entity associated with the user's organizational role.
[0204] 76. The non-transitory computer-readable medium of any of aspects 71-75, wherein, in order to present process plant related data for a user to remotely monitor online operations of the process plant, the process plant application causes a vehicle head end unit to present a graphical representation of a process flow module depicting the runtime operation of at least one process plant entity of one or more process plant entities, including process parameter data of 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 end 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 to 77, wherein the process plant application further causes the vehicle head end unit to: receive a process plant search query related to one or more process plant entities from a user; and present a process plant search result set in response to the process plant search query, the process plant search result set including at least some of the process plant-related data.
[0207] When implemented in software, any of the applications, services, and engines described herein may be stored in any physical, non-transitory computer-readable memory, such as on a magnetic disk, a laser disk, a solid-state memory device, a molecular memory storage device, or other storage medium, in RAM or ROM of a computer or processor, or the like. Although the example systems disclosed herein are disclosed as including software and / or firmware and other components executed on hardware, it should be noted that such systems are merely illustrative and should not be considered restrictive. For example, it is contemplated that any or all of these hardware, software, and firmware components may be implemented exclusively in hardware, exclusively in software, or in any combination of hardware and software. Thus, although the example systems described herein are described as being implemented in software executed on a processor of one or more computer devices, it will be readily understood by those of ordinary skill in the art that the examples provided are not the only way to implement such systems.
[0208] Therefore, although the present invention has been described with reference to specific examples, these examples are only intended to illustrate rather than limit the present invention, and it will be obvious to those skilled in the art that changes, additions or deletions may be made to the disclosed embodiments without departing from the spirit and scope of the present invention.
Claims
1. 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 not having authorization to communicate directly with the process plant, from a user in a natural language format a process plant search query related to one or more process plant entities within the process plant; obtaining, by the user interface device in response to the process plant search query, a set of process plant search results from a contextual knowledge base, the process plant search results being generated by: (i) creating copies of process plant-related data contained in field-oriented components of the process plant, wherein the field-oriented components directly interact with data generated internally of the process plant, and (ii) organizing the copies of the process plant-related data describing attributes of the process plant entities according to semantic relationships between the process plant-related data and the process plant entities, wherein the user interface device does not directly interact with the process plant-related data generated internally of the process plant; and The process plant search result set is presented by the user interface device in a process plant search result display, wherein each process plant search result includes an optional link to a copy of the process plant-related data within the process plant, so that user interaction with the copy of the process plant-related data does not affect the runtime operation of the process plant, thereby allowing the user interface device that does not have authorized access rights to communicate directly with the process plant in a highly secure manner and receive a copy of the process plant-related data representing activities in the process plant without affecting the performance of the process plant.
2. The method according to claim 1, wherein Presenting the set of process plant search results in the process plant search result display includes presenting each process plant search result as a thumbnail image, the thumbnail image including a preview of the process plant-related data copy presented in the selectable link.
3. The method according to claim 1, further comprising: obtaining, by the user interface device, a plurality of process plant categories corresponding to the process plant search result set; 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 corresponding 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; as well as For each of the plurality of process plant categories, a subset of the process plant search results is presented by the user interface device with an indication of the corresponding process plant category.
4. The method according to claim 3, wherein: Presenting the subset of process plant search results with an indication of the corresponding process plant category includes: In response to receiving a selection of one of the plurality of indications of process plant categories, a subset of the process plant search results corresponding to the selected process plant category is presented.
5. The method according to claim 1, wherein Obtaining a set of process plant search results in response to the process plant search query includes: obtaining a ranked set of process plant search results, each process plant search result having a corresponding rank; and The process plant search result set is presented in a ranked order according to the corresponding rankings.
6. The method according to claim 1, further comprising: determining a size or type of the user interface device; as well as Based on a size or type of the user interface device, presentation of the process plant search results set in the process plant search results display is adjusted.
7. The method according to claim 6, further comprising: In response to determining that the user interface device is a mobile device, a single process plant search result is presented within the process plant search results display.
8. The method according to claim 6, further comprising: In response to determining that a size of the user interface device is above a threshold size, presenting the process plant search results set within the process plant search results display.
9. The method according to claim 1, wherein: Obtaining a set of process plant search results in response to the process plant search query includes: transmitting the process plant search query to a server computing device; and The process plant search result set is received from the server computing device.
10. 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; User interface; as well as 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 storing thereon instructions that, when executed by the one or more processors, cause the user interface device to: receiving, from a user, a process plant search query in a natural language format related to one or more process plant entities within the process plant; In response to the process plant search query, obtaining a set of process plant search results from a contextual knowledge base, the process plant search results being generated by: (i) creating copies of process plant-related data contained in field-oriented components of the process plant, wherein the field-oriented components directly interact with data generated internally of the process plant, and (ii) organizing the copies of the process plant-related data describing attributes of the process plant entities according to semantic relationships between the process plant-related data and the process plant entities, wherein the user interface device does not directly interact with the process plant-related data generated internally of the process plant; and The process plant search result set is presented in a process plant search result display, wherein each process plant search result includes an optional link to a copy of the process plant-related data within the process plant, so that user interaction with the copy of the process plant-related data does not affect the runtime operation of the process plant, thereby allowing the user interface device that does not have authorized access rights to communicate directly with the process plant in a highly secure manner and receive a copy of the process plant-related data representing activities in the process plant without affecting the performance of the process plant.
11. The user interface device according to claim 10, wherein: Each process plant search result is presented as a thumbnail that includes a preview of the process plant-related data copy presented in the selectable link.
12. The user interface device according to claim 10, wherein: The instructions further cause the user interface device to: obtaining a plurality of process plant categories corresponding to the process plant search result set; For each of the plurality of process plant categories, obtaining a subset of the process plant search results corresponding to the corresponding process plant category; presenting, via the user interface, an indication of each of the plurality of process plant categories in the process plant search results display; as well as For each of the plurality of process plant categories, a subset of the process plant search results is presented via the user interface with an indication of the corresponding process plant category.
13. The user interface device according to claim 12, wherein: To present a subset of the process plant search results with an indication of the corresponding process plant category, the instructions cause the user interface device to: In response to receiving a selection of one of the plurality of indications of process plant categories, a subset of the process plant search results corresponding to the selected process plant category is presented via the user interface.
14. The user interface device according to claim 10, wherein: To obtain a process plant search result set in response to the process plant search query, the instructions cause the user interface device to: Obtaining a ranked set of process plant search results, each process plant search result having a corresponding ranking; as well as The process plant search result set is presented via the user interface in a ranked order according to the corresponding rankings.
15. The user interface device according to claim 10, wherein: The instructions further cause the user interface device to: determining a size or type of the user interface device; and Based on a size or type of the user interface device, presentation of the process plant search results set in the process plant search results display is adjusted.
16. The user interface device according to claim 15, wherein: The instructions further cause the user interface device to: In response to determining that the user interface device is a mobile device, a single process plant search result is presented within the process plant search results display via the user interface.
17. The user interface device of claim 16, further comprising a speaker, wherein The instructions further cause the user interface device to: A summary of the process plant-related data associated with the single process plant search result is presented in an audio format via the speaker.
18. The user interface device according to claim 15, wherein: The instructions further cause the user interface device to: In response to determining that a size of the user interface device is above a threshold size, presenting the process plant search results set within the process plant search results display via the user interface.
19. The user interface device according to claim 10, wherein: To obtain a process plant search result set in response to the process plant search query, the instructions cause the user interface device to: transmitting the process plant search query to a server computing device; as well as The process plant search result set is received from the server computing device.
20. 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: receiving, from a user, a process plant search query in a natural language format related to one or more process plant entities within the process plant; In response to the process plant search query, a set of process plant search results is obtained from a contextual knowledge base, the process plant search results being generated by: (i) creating copies of process plant-related data contained in field-oriented components of the process plant, wherein the field-oriented components directly interact with internally generated data of the process plant, and (ii) organizing the copies of the process plant-related data describing attributes of the process plant entities according to semantic relationships between the process plant-related data and the process plant entities, wherein The user interface device does not directly interact with the process plant-related data generated within the process plant; as well as The process plant search result set is presented in a process plant search result display on a user interface device, wherein each process plant search result includes an optional link to a copy of the process plant-related data within the process plant, so that user interaction with the copy of the process plant-related data does not affect the runtime operation of the process plant, thereby allowing the user interface device that does not have authorized access rights to communicate directly with the process plant in a highly secure manner and receive a copy of the process plant-related data representing activities in the process plant without affecting the performance of the process plant.
21. The non-transitory computer readable medium of claim 20, wherein: Each process plant search result is presented as a thumbnail that includes a preview of the process plant-related data copy presented in the selectable link.
22. The non-transitory computer readable medium of claim 20, wherein: The instructions further cause the one or more processors to: obtaining a plurality of process plant categories corresponding to the process plant search result set; For each of the plurality of process plant categories, obtaining a subset of the process plant search results corresponding to the corresponding process plant category; presenting, via the user interface, an indication of each of the plurality of process plant categories in the process plant search results display; as well as For each of the plurality of process plant categories, a subset of the process plant search results is presented via the user interface with an indication of the corresponding process plant category.
23. The non-transitory computer-readable medium of claim 20, wherein: The instructions further cause the one or more processors to: determining a size or type of the user interface device; and Based on a size or type of the user interface device, presentation of the process plant search results set in the process plant search results display is adjusted.
Citation Information
Patent Citations
Methods and apparatus to manage process control search results
CN102411350A
Recipe management system
US20150106346A1
Selective online and offline access to searchable industrial automation data
US20180088566A1