System and method for embedding a web framework in a process graphic

The graphical configuration system allows operators to change the appearance of the display view online, solving the problem of complex operator HMI design, enabling flexible and easy-to-maintain HMI design, adapting to changes in the process plant, and improving operator efficiency and safety.

CN110874447BActive Publication Date: 2026-04-21FISHER ROSEMOUNT SYST INC
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
FISHER ROSEMOUNT SYST INC
Filing Date
2019-09-04
Publication Date
2026-04-21

AI Technical Summary

Technical Problem

In modern industrial process plants, operator HMI design is complex and time-consuming, and it is difficult to adapt to changes in the process plant. As a result, operators need to monitor and manage a large number of process graphics, with varying custom layouts and graphic standards, making the work of configuration engineers difficult. Developing and maintaining operator HMI suites is complex and time-consuming.

Method used

The system employs a graphical display configuration system, including a centralized configuration database and user interface, which allows configuration engineers to create and publish display views. Operators can change the appearance of the display views online, independently of other users, without stopping the display view execution. The system supports mutually exclusive and cumulative changes to graphical attributes.

Benefits of technology

It achieves a flexible, easy-to-use, and maintainable operator HMI design, supports current HMI standards, reduces development and maintenance time, and improves operator efficiency and safety.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN110874447B_ABST
    Figure CN110874447B_ABST
Patent Text Reader

Abstract

Techniques for embedding a web browser in a graphical display view of a process plant include rendering the graphical display view, which includes: (i) indications of one or more process control elements (such as control modules, function blocks, process plant entities, or process segments of a process plant), and (ii) a web browser with web content from a source address. The web browser is rendered based on one or more rendering parameters, such as the size and position of the web browser within the display view. Furthermore, the rendering parameters include restrictions on the functionality performed in the web browser, such as sandboxing or sandbox attributes. The rendering parameters also include a source whitelist, which specifies web addresses that are allowed to be set as source addresses for rendering the web content.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure generally relates to process control systems, and more specifically, to systems and methods for configuring graphics used by operators to view and respond to real-time conditions and operations within an online industrial process plant. Background Technology

[0002] Distributed process control systems are used in chemical, pharmaceutical, petroleum, oil and gas, metals and mining, pulp and paper, or other types of industrial process plants to control one or more industrial processes that generate or produce one or more physical products from raw materials and / or other types of source materials. Therefore, a distributed process control system typically includes one or more process controllers and input / output (I / O) devices, which are communicatively coupled to at least one host or operator interface device and one or more field devices via analog, digital, or combined analog / digital buses or via wireless communication links or networks. Field devices (which may be, for example, valves, valve positioners, switches, and transmitters (e.g., temperature, pressure, level, and flow rate sensors)) are located within the process environment and typically perform physical or process control functions, such as opening or closing valves or measuring process parameters to control one or more processes executing within the process plant or system. Intelligent field devices (such as field devices conforming to the well-known Fieldbus protocol) may also perform control calculations, alarm functions, and other control functions typically implemented within the controller. The process controller (which is typically also located within the plant environment) receives signals indicative of process measurements taken by sensors or field devices and / or other information related to the field devices, and executes controller applications such as different control modules that make process control decisions, generate control signals based on the received information, and communicate with field devices (such as...) wireless and The control modules or blocks executed in the field devices (fieldbus) coordinate the operation of the process plant or system. The control modules in the controller send control signals to the field devices through communication lines or links, thereby controlling the operation of at least a part of the process plant or system.

[0003] Information from field devices and controllers is typically made available via high-speed data channels to one or more other hardware devices, such as operator interfaces, personal computers, or computing devices, data history repositories, report generators, centralized databases, or other centralized management computing devices that are typically, but not always, located in a control room or other location away from harsher plant environments. Each of these hardware devices is typically (though not always) centralized across the process plant or a portion thereof. These hardware devices run applications that, for example, enable operators to view the current status and operation of processes running within the plant, perform functions related to controlling and / or operating the process plant, such as changing the settings of process control routines, modifying the operation of control modules within controllers or field devices, viewing alarms generated by field devices and controllers, simulating process operation for training personnel or testing process control software, maintaining and updating configuration databases, etc. The high-speed data channels used by hardware devices, controllers, and field devices can include wired communication paths, wireless communication paths, or a combination of wired and wireless communication paths.

[0004] As an example, DeltaV sold by Emerson TM The control system comprises and is executed by multiple applications stored in and located at various locations within the process plant and, in some cases, remotely within different user interface devices. Each of these applications provides a user interface (UI) to allow users (e.g., configuration engineers, operators, maintenance technicians, etc.) to view and / or modify various aspects of the process plant's operation and configuration. Throughout this specification, the phrase "user interface" or "UI" is used to refer to an application or screen that allows users to view or modify the configuration, operation, or status of the process plant. Similarly, the phrase "user interface device" or "UI device" is used herein to refer to a device on which the user interface operates, whether the device is fixed (e.g., workstation, wall-mounted display, process control equipment display, etc.) or mobile (e.g., laptop computer, tablet device, smartphone, etc.).

[0005] Configuration applications residing in one or more user workstations or computing devices within the configuration environment of the process plant enable configuration engineers and / or other types of users to create or modify process control modules and download these modules via high-speed data channels to dedicated distributed controllers operating in the process plant's working environment (which may also be interchangeably referred to herein as the process plant's "operating environment") to control one or more processes during runtime or real-time operation. Typically, these control modules consist of communicatively interconnected function blocks that perform functions within a control scheme based on their inputs and provide outputs to other function blocks within the control scheme. Each dedicated controller, and in some cases one or more field devices, stores and executes a corresponding controller application that runs the control modules allocated and downloaded to it to implement the actual process control functions.

[0006] The configuration application also allows configuration engineers and / or other users to create or modify operator human-machine interfaces (HMIs) or display views, which are used by the operator viewing application to display data to the operator (e.g., when data is generated in real time during runtime operation of the process plant) and enable the operator to change various settings, such as setpoints, within process control routines during runtime operation. The operator viewing application providing the operator HMI or display view executes on one or more user interface devices (e.g., operator workstations, operator tablets, operator mobile devices, etc.) included in the process plant's operating environment (or on one or more remote computing devices communicatively connected to the operator workstation and a data highway). The operator HMI or display view receives data from the controller application via the data highway and displays that data to the operator or other users using the UI at the user interface device. Similarly, the operator HMI or display view can also receive data (e.g., real-time data) from other control components or elements included in the process plant's operating environment that are different from the control modules, such as controllers, process controllers, field devices, I / O cards or devices, other types of hardware devices, units, areas, etc. Data history database applications are typically stored in and executed by a data history database device that collects and stores some or all of the data provided across the data highway, while configuration database applications can run on another computer attached to the data highway to store current process control routine configurations, current operator display configurations, and associated data. Alternatively, the configuration database can reside on the same workstation as the configuration application.

[0007] As described above, operator viewing applications typically run on one or more operator user interface devices and provide operators or maintenance personnel with operator HMIs or display views of the operational status of control systems, control components, and / or equipment within a process plant, for example, when the plant operates in real-time or during operation to control one or more industrial processes. Generally, operator HMIs or display views are used by operators in the routine operation (e.g., possibly 24 / 7 operation) of processes running in a process plant to view and respond to real-time conditions within the process and / or process plant. At least some of these operator HMIs or display views may take the form of, for example, alarm displays receiving alarms generated by controllers or equipment within the process plant, control displays indicating the operational status of controllers and other equipment within the process plant, maintenance displays indicating the operational status of equipment within the process plant, etc. Display views typically run in the process plant's runtime or real-time operating environment and are generally configured to present information or data received from process control modules, equipment, and / or other controlled objects that also operate in the process plant's runtime or real-time operating environment in a known manner. In some known systems, the display view has graphical elements (e.g., graphical representations or graphs) that are associated with and communicatively linked to physical or logical elements included in the operating environment to receive data about the physical or logical elements and their updates over time, for example, during operation of a process plant. Graphical elements can be configured or defined to dynamically change their appearance on the display screen based on the received data, to depict, for example, a tank being half-full, to depict the flow rate measured by a flow sensor, and so on. Therefore, as data provided by physical or logical elements in the operating environment of the process plant changes over time (e.g., is updated repeatedly or continuously over time), the appearance of the corresponding graphical element changes accordingly on the display screen.

[0008] In some known operator display configuration architectures for industrial process control systems, each operator workstation independently manages its own alarms and access to real-time control data generated by process control modules, devices, and / or other controlled objects. Therefore, to customize the operator HMI or display view for a specific operator workstation, custom graphical attributes, values, and / or configurations of various display view elements (e.g., graphics and other types of elements) to be presented on the runtime display view are defined and associated with the display view within the graphical configuration environment. The definition or configuration of the display view is then downloaded from the configuration environment to the specific operator workstation in the operating environment for execution. Typically, custom scripts are programmed into the display view configuration to ensure the desired behavior and / or appearance of various display view elements and / or the display view itself is executed at the specific operator workstation. Furthermore, if it is desired to modify or change the appearance or behavior of the display view for a specific operator workstation, the modification must typically be applied to the display view configuration in the graphical configuration environment, and then the modified configuration must be downloaded from the configuration environment for execution at the specific operator workstation. In most cases, this requires the specific operator workstation to stop executing its current display view in order to receive and execute the modified display view configuration at the specific operator workstation.

[0009] In other currently known operator display configuration architectures for industrial process control systems, a common configuration for the display view is downloaded from a graphical configuration environment to multiple operator workstations. However, in order to induce a specific, customized appearance and / or performance of the display view on a particular operator workstation, during operation, the specific operator workstation executing the display view must query or otherwise communicate with the graphical configuration environment to obtain the necessary information (such as specific configurations, runtime values, and / or other information for various graphics) to induce or achieve the desired customized appearance and / or performance of the display view at that particular operator workstation. Since modern process plants may include hundreds of operator workstations, the messages sent and received between the operator workstations and the backend display configuration server significantly increase the load on the process plant communication network.

[0010] Recently, the Operator Performance Center (COP) (a research consortium addressing human capabilities and limitations in industrial process control operating environments through research, collaboration, and human factors engineering) and the International Society for Automation (ISA) have been working to advance human-machine interfaces (HMIs) for industrial process control systems and their ease of use, for example, by recommending improvements and guidance for human-centered design (HCD). For instance, the American National Standard ANSI / ISA-101.01-2015, entitled “Human Machine Interfaces for Process Automation Systems” and approved on July 9, 2015, addresses “the concept, design, implementation, operation, and maintenance of human-machine interfaces (HMIs) for use in process automation systems encompassing multiple work processes throughout the HMI lifecycle… This standard defines the terminology and models used for development, as well as the recommended HMIs for use in work processes to effectively maintain the HMI throughout its lifecycle” (ANSI / ISA-101.01-2015, page 9). Summary of the Invention

[0011] As mentioned above, generally speaking, operator human-machine interfaces (HMIs) or display views are used by operators during process operation to view and respond to conditions within the process and / or process plant. The effectiveness of process plant operators in safely and efficiently operating processes and in detecting and responding to various process and process plant conditions largely depends on the effectiveness of the operator HMI or display view designed (e.g., by configuration engineers or other operator HMI designers). However, recent changes in how industrial process plants operate have significantly impacted the design of operator HMIs. For example, ongoing competitive pressures in the process control industry have led to a significant expansion in the span of a single operator's responsibility for a portion of the process. Due to this expansion, the number of process graphics that a single operator must monitor and utilize to operate the process safely and efficiently has increased several times over. In fact, in today's process plants, it is often expected that operators will sift through hundreds of process graphics. Furthermore, trends such as increasing intelligence in plant equipment and the addition of more automated and advanced control logic in the process control industry have led to a significant increase in the complexity of the process portion that a single operator is responsible for.

[0012] Furthermore, a workspace used by a single operator can include one or more consoles or monitors of various sizes. The number and size of monitors and / or consoles are typically determined by the size and complexity of the process portion being monitored by the operator. Additionally, when an operator's workspace includes multiple monitors, each monitor typically has a custom layout defined for its respective monitor size, location, and the process portion being monitored. For example, the custom layout defines which displays should be turned on on which monitors, how the displays on different monitors interact with each other, etc.

[0013] Furthermore, since no two process plants or operational segments within a plant are alike, in practice each process plant typically develops and designs its own custom operational concepts, graphics, and / or graphical standards for effective operation. Therefore, operator HMI graphics, strategies, designs, layouts, navigation, and / or operator actions can be largely customized for different operational segments and / or different process plants.

[0014] These and other factors make the task of designing operator HMIs more difficult for configuration engineers. Typically, configuration engineers must create complex program extensions for operator HMIs to customize or hone various functions of a specific operating segment and / or plant. Often, configuration engineers must utilize programming languages ​​such as Visual Basic or C++ and / or other custom programs to create the required operator HMIs. This results in complex operator HMI suites whose development, extension, troubleshooting, and maintenance are difficult and time-consuming.

[0015] The novel graphical display configuration and usage systems and methods disclosed herein address at least some aspects of these and other modern HMI challenges, and provide a platform for the design and use of industrial process control HMIs that is not only flexible, easy to use and maintain, but also helps engineers design and implement operational environment HMIs for their process plants in accordance with current process automation HMI standards and best practices.

[0016] In one embodiment, a graphical display configuration and usage system for an industrial process plant (also referred to herein interchangeably as a "graphical configuration system" or "graphical configuration and usage system") includes a graphical display configuration application that executes within the configuration environment of the process plant. The graphical display configuration application includes a user interface through which various operator HMIs or display views can be created, defined, designed, and / or published, for example, by configuration engineers. When the configured or defined display views are downloaded to and executed within the working or operational environment of the process plant, they provide operators or other users with real-time (e.g., continuously or repeatedly updated) operational status and conditions of various components and operations associated with the process. Therefore, a display view typically includes corresponding links between one or more display view elements presented on the display view and one or more control modules, devices, or controlled objects that are being executed to control a process within the operating environment of the process plant. This ensures that when a published configuration of the display view is downloaded and executed at a user interface device (e.g., an operator workstation, a remote computing device, a mobile device, etc.) communicatively connected to the operating environment of the process plant, corresponding indications of one or more values ​​or other data provided or generated by one or more control modules, devices, or controlled objects during execution within the operating environment of the process plant are presented on the executed display view (e.g., via linked display view elements).

[0017] The graphical display configuration system also includes a centralized configuration database or library that stores published configurations or definitions of display views, as well as published configurations or definitions of display view elements that can be included on or otherwise associated with various display views. In some embodiments, the centralized configuration database or library also stores draft configurations or definitions of display views and / or display view elements. Examples of display view elements include graphics, attributes, links to control modules, devices, objects, and / or other control components or elements set in the operating environment, global variables of the display view, parameters, regions or sub-sections, and / or other elements and / or portions of the display view. In an example, for a particular display view, the centralized configuration database or library stores published configurations of the particular display view and, optionally, one or more working or draft configurations of the particular display view. Published configurations of a particular display view may include one or more published configurations of various display view elements that will be displayed on the execution display view, and published display view configurations are available for download and execution in the operating environment of the process plant. On the other hand, one or more working or draft configurations of a particular display view are excluded from download and execution in the operating environment of the process plant. In other words, it prevents the downloading and execution of working or draft configurations of display views and display view elements within the process's operating environment, but rather maintains them within the configuration environment, for example, for editing, modification, testing, etc.

[0018] A published configuration or definition for a specific display view includes one or more user controls through which an operator or user of a user interface device, included in the operating environment of a process plant, can change the appearance of the executed display view online at his or her corresponding user interface device during runtime operation. For example, an operator can change the appearance of the graphics, the attributes of the graphics, the area of ​​the display view, the attributes and / or content of the area of ​​the display view, the position of the graphics on the display view, specific data derived from the control module, device, or controlled object to be displayed, and / or other appearances of the elements, areas, or portions of the executed display view through one or more user controls on his or her corresponding user interface device. It is noteworthy that the graphics configuration system allows changes to the appearance of the executed display view in the operating environment to be made at the operator station solely based on the content of the published configuration or definition of the display view being executed at the operator station. In other words, the downloaded, published configuration of the display view allows the operator to customize or change the appearance of the display view at the operator workstation while the display view is being executed online in the operating environment, without having to stop the execution of the display view, without having to download different configurations of the display view, and without the display view and / or the operator workstation needing to obtain data from the configuration environment to achieve the desired changes.

[0019] Therefore, when a published configuration or definition for a specific display view is downloaded to multiple user interface devices or operator workstations included in the operating environment of a process plant, each operator or user can customize or change the local appearance of the instance of the display view executed at his or her workstation independently of other operators or users, without his or her workstation communicating with the graphics display configuration application and configuration library. Some operator-initiated changes or customizations can be implemented in a mutually exclusive manner at a specific workstation; for example, an operator selects the fill attribute of a graphic as gray or blue, but not both gray and blue. Some changes may not be mutually exclusive at a specific workstation (e.g., changes may be cumulative or applied independently), such as when an operator drags and drops a graphic indicating a specific control element that the operator expects to actively (and easily) monitor in an activity monitoring or viewing window included on the display view.

[0020] In one embodiment, a method for configuring a graphical display for runtime or real-time operation of a process plant includes receiving a definition of a display view via a user interface of a graphical display configuration application executed in the configuration environment of the process plant. The display view typically includes various graphical elements representing corresponding control modules, devices, and / or other control components (also interchangeably referred to herein as control elements or control objects) executed or operated in the operating environment of the process plant, such as controllers, process controllers, field devices, I / O cards or devices, other types of hardware devices, units, areas, etc., to control at least a portion of a process. Therefore, the definition of the display view defines the links between the graphical elements presented on the display view and the control components or objects, such that when the display view is downloaded and executed in the operating environment of the process plant, one or more values ​​or other data generated by the control components or control objects during execution in the operating environment of the process plant to control the process are repeatedly updated via the linked graphical elements on the executed display view. Graphical elements may be, for example, graphics indicating or representing a specific control module, device, or other control component or object.

[0021] Additionally, the definition of a display view typically includes the corresponding definitions of various other graphic parts, elements, or components (and / or combinations thereof) included on or otherwise associated with the display view, such as graphics, text, graphic and / or text attributes (e.g., color, contrast, animation, etc.), global variables, parameters, different areas of the display view, corresponding attributes and / or content of different areas of the display view, different positions of various graphics, text, and / or areas on the display view, and / or specific operational data derived from control modules, devices, and / or other controlled objects and their links to corresponding graphics or other elements on the display view, to name a few. Other such graphical portions, elements, and / or components that may be included on and / or otherwise associated with the display view may include, for example, display view hierarchy, display view layout, timers, embedded links, animation transitions, data references, project or factory standards, display themes, content languages ​​and / or their indications, application languages ​​and / or their indications, tab areas on the display view, tooltips and / or other contextual displays, trends and other representations of historical parameters, viewing or activity monitoring areas, and / or other features, aspects, and / or functions provided by the graphical configuration and use system and methods described herein. Other graphical portions, elements, and / or components that may be on the display view and / or otherwise associated with the display view may include custom and / or default Graphical Element Module (GEM) configurations (e.g., as described in co-owned U.S. Patent Application No. 15 / 692,450, filed August 31, 2017, entitled “Derived and Linked Definitions with Override”), and / or may include operator display switching preview configurations and / or objects associated therewith (e.g., as described in co-owned U.S. Patent Application No. 15,243,176, filed August 22, 2016, entitled “Operator Display Switching Preview”).

[0022] For ease of reading, such graphical portions, elements, or components (and combinations thereof) included on or otherwise associated with a display view are generally referred to interchangeably herein as “graphical display view element,” “graphical element,” “graphical component,” “display view element,” “display element,” or “display view component.” Typically, each display view element may be defined by its own separate object or configured using its own separate object, wherein objects can be created, modified, stored, and published using the graphical configuration and usage systems and methods described herein.

[0023] Some definitions of display view elements can define mutually exclusive options; for example, an operator can selectively change the color theme of the entire display view among various defined color themes, or an operator can switch the language used on the display view between Arabic and French. Some definitions of display view elements may not be mutually exclusive, such as when an operator drags and drops a graphic indicating a specific control element that the operator expects to actively (and easily) monitor in an activity monitor or monitoring window included on the display view.

[0024] Specifically, regarding a display view configuration or definition that can be mutually exclusively selected in an operating environment to apply to a specific portion of the execution of a display view, the method includes receiving, via a user interface graphically configured for application, an instruction to select a subset of multiple user interface devices (e.g., operator workstations) included in the operating environment of the process plant, and to which a corresponding instance of the display view definition will be downloaded for execution. If desired, the selected subset of user interface devices may include more than one user interface device. The method also includes downloading the definition of the display view (which may be a published definition) to each user interface device included in the selected subset of user interface devices for execution in the operating environment of the process plant, thereby enabling the execution of a specific portion of the display view to be selectively changed independently at each user interface device in a mutually exclusive manner among multiple attributes. Thus, each user interface device implements its corresponding changes solely based on the content of the downloaded definition of the display view executed at the user interface device, and does not communicate with any other devices included in the configuration environment of the process plant to cause or implement changes. Therefore, a first operator may select "flicker" for a specific attribute of a specific graphic included in the display view at his or her workstation, while another operator may select "no flicker" for a specific attribute of a specific graphic included in the display view at his or her workstation. Both options are fully supported by and implemented solely by the corresponding downloaded definitions of the display view executed on the workstation, without having to stop the execution of the display view at the workstation, without having to download different configurations of the display view to the workstation, and without requiring the display view and / or operator workstation to obtain data or other information from the configuration environment to achieve the desired changes.

[0025] It should be noted that while the disclosure herein relates to graphical display views and graphical display view elements, this is for illustrative and discussion purposes only and is not intended to be limiting. In fact, for example, any one or more aspects discussed herein with respect to graphical display views can be readily applied to Graphical Element Module (GEM) classes. Similarly, for example, any one or more aspects discussed herein with respect to graphical display view elements can be readily applied to GEMs. As is well known, a GEM is a linked graphical configurable shape that is reusable and can be combined with other shapes and / or representations. Typically, a GEM provides one or more visual representations or views of a configurable shape, and the definition or configuration of a GEM is stored separately from the definition or configuration of its use / instance in a particular display view and other objects (e.g., to achieve shared GEM definitions / configurations). Therefore, the graphical configuration systems and methods described herein, and any one or more aspects thereof, can be readily applied to GEMs and GEM classes. Attached Figure Description

[0026] Figure 1A It is a block diagram of a distributed process control network located within a process plant that includes the graphical configuration and usage systems and methods described herein;

[0027] Figure 1B yes Figure 1A A block diagram of an exemplary user interface device schematically shown in the figure;

[0028] Figure 2A It is a process plant (e.g.) Figure 1A A block diagram of an exemplary implementation of the configuration and operation environment of a process factory (the system for configuring and using the system).

[0029] Figure 2B Is included Figure 2A A block diagram illustrating an exemplary implementation of the graphical configuration and use of the graphical configuration library in the system;

[0030] Figure 2C It shows the use of Figure 2A A block diagram of the graphical configuration and an exemplary snapshot of the system in the process of configuring the display view;

[0031] Figure 3A These are exemplary views of a graphics display configuration application for defining graphics and exemplary views of an operator application for rendering graphics based on definitions from the graphics display configuration application.

[0032] Figure 3B This is an exemplary detailed view used to define the graphics display configuration application;

[0033] Figure 4This is an exemplary view used to define the graphical display configuration application of a web browser within a display view;

[0034] Figure 5 This is a flowchart of an exemplary method for configuring a web browser within a display view of a process plant; and

[0035] Figure 6 This is a flowchart of an exemplary method for rendering an embedded web browser within a display view of a process plant. Detailed Implementation

[0036] Figure 1A This is a block diagram of an exemplary process control network or system 2 operating in a process control system or process plant 10, by virtue of which and / or in which embodiments of the system can be configured and used using the novel graphical displays described herein. The process control network or system 2 may include a network backbone 5 that provides direct or indirect connectivity between various other devices. In various embodiments, devices coupled to the network backbone 5 include combinations of: one or more access points 7a, one or more gateways 7b leading to other process plants (e.g., via an intranet or corporate WAN), one or more gateways 7b leading to external systems (e.g., to the Internet), one or more user interface (UI) devices 8 that may be fixed (e.g., traditional operator workstations) or mobile computing devices (e.g., mobile smartphones), one or more servers 12 (e.g., which may be implemented as server groups, cloud computing systems, or other suitable configurations), a controller 11, input / output (I / O) cards 26 and 28, wired field devices 15-22, a wireless gateway 35, and a wireless communication network 70. The communication network 70 may include wireless devices 40-58, including wireless field devices 40-46, wireless adapters 52a and 52b, access points 55a and 55b, and a router 58. Wireless adapters 52a and 52b may be connected to non-wireless field devices 48 and 50, respectively. The controller 11 may include a processor 30, a memory 32, and one or more control routines 38. Although... Figure 1A Only a single device among some devices that are directly and / or communicatively connected to network backbone 5 is shown; however, it should be understood that each device may have multiple instances on network backbone 5, and in fact, process plant 10 may include multiple network backbones 5.

[0037] UI device 8 can be communicatively connected to controller 11 and wireless gateway 35 via network backbone 5. Controller 11 can be communicatively connected to wired field devices 15-22 via input / output (I / O) cards 26 and 28, and can be communicatively connected to wireless field devices 40-46 via network backbone 5 and wireless gateway 35. Controller 11 can be operated to implement batch or continuous processes using at least some of field devices 15-22 and 40-50. As an example, controller 11 can be a DeltaV sold by Emerson. TM The controller 11 is communicatively connected to the process control network backbone 5. The controller 11 can also use, for example, standard 4-20mA devices, I / O cards 26, 28, and / or any smart communication protocol (such as...). Fieldbus protocols Protocols, wireless Any desired hardware and software associated with protocols, etc., are communicatively connected to field devices 15-22 and 40-50, in Figure 1A In the illustrated embodiment, controller 11, field devices 15-22, 48, 50 and I / O cards 26, 28 are wired devices, and field devices 40-46 are wireless field devices.

[0038] In some embodiments of operation, UI device 8 may execute a user interface (“UI”), allowing it to accept input via an input interface and provide output at a display. UI device 8 may receive data from server 12 (e.g., process-related data such as process parameters, log data, sensor data, and / or any other data that can be captured and stored). In other embodiments, the UI may be executed wholly or partially at server 12, where server 12 may send display data to UI device 8. UI device 8 may receive UI data (which may include display data and process parameter data) from other nodes in the process control network or system 2 (such as controller 11, wireless gateway 35, and / or server 12) via backbone 5. Based on the UI data received at UI device 8, UI device 8 provides output (i.e., visual representations or graphics, some of which may be updated during runtime) representing aspects of the process associated with the process control network or system 2, allowing the user to monitor the process. The user can also influence control of the process by providing input at UI device 8. For illustration, UI device 8 may provide graphics representing, for example, a tank filling process. In this case, the user can read tank level measurements and determine when the tank needs filling. Users can interact with the inlet valve graphic displayed at UI device 8 and input commands to open the inlet valve.

[0039] In some embodiments, UI device 8 can implement any type of client, such as a thin client, web client, or thick client. For example, UI device 8 may rely on other nodes, computers, UI devices, or servers for most of the processing required for its operation, which may be the case if the UI device is limited in terms of memory, battery power, etc. (e.g., in wearable devices). In such an example, UI device 8 may communicate with server 12 or another UI device, where server 12 or other UI devices may communicate with one or more other nodes (e.g., servers) on the process control network or system 2, and may determine the display data and / or process data to be sent to UI device 8. Furthermore, UI device 8 may pass any data related to received user input to server 12, allowing server 12 to process the data related to user input and act accordingly. In other words, UI device 8 may simply render graphics and act as a portal to one or more nodes or servers that store data and perform the routines necessary for the operation of UI device 8. Thin client UI devices offer the advantage of minimal hardware requirements for UI device 8.

[0040] In other embodiments, UI device 8 may be a web client. In such embodiments, a user of UI device 8 can interact with the process control system via a browser on UI device 8. The browser enables the user to access data and resources at another node or server 12 (such as server 12) via backbone 5. For example, the browser may receive UI data (such as display data or process parameter data) from server 12, allowing the browser to depict graphics for controlling and / or monitoring some or all of the processes. The browser may also receive user input (such as mouse clicks on graphics). User input can cause the browser to retrieve or access information resources stored on server 12. For example, a mouse click can cause the browser (from server 12) to retrieve and display information related to the clicked graphic.

[0041] In other embodiments, most of the processing on UI device 8 can be performed at UI device 8. For example, UI device 8 can execute the UI discussed earlier. UI device 8 can also locally store, access, and analyze data.

[0042] In operation, the user can interact with UI device 8 to monitor or control one or more devices in the process control network or system 2, such as any of field devices 15-22 or devices 40-50. The user can interact with UI device 8, for example, to modify or change parameters associated with control routines stored in controller 11. The processor 30 of controller 11 implements or supervises one or more process control routines (stored in memory 32), which may include control loops. Processor 30 can communicate with field devices 15-22 and 40-50, as well as other nodes communicatively connected to the backbone 5. It should be noted that any control routine or module described herein (including quality prediction and fault detection modules or function blocks) may have portions implemented or executed by different controllers or other devices, if desired. Similarly, the control routines or modules described herein that will be implemented within the process control system can take any form, including software, firmware, hardware, etc. Control routines can 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. Specifically, control routines can be defined and implemented by the user via UI device 8. Control routines can be stored in any desired type of memory, such as the random access memory (RAM) or read-only memory (ROM) of controller 11. Similarly, control routines can be hard-coded into, for example, one or more EPROMs, EEPROMs, application-specific integrated circuits (ASICs), or any other hardware or firmware element of controller 11. Therefore, controller 11 can be configured (in some embodiments via user access to UI device 8) to implement (e.g., receive, store, and / or execute) control policies or control routines in any desired manner.

[0043] In some embodiments of the UI device 8, a user can interact with the UI device 8 to define and implement control strategies at the controller 11 using what are commonly referred to as function blocks. Each function block is an object or other part (e.g., a subroutine) of an overall control routine and operates in conjunction with other function blocks (via communication called links) to implement a process control loop within the process control system. Control-based function blocks typically perform one of the following: input functions (such as input functions associated with transmitters, sensors, or other process parameter measuring devices), control functions (such as control functions associated with control routines that perform PID, fuzzy logic, etc.), or output functions (which control the operation of certain devices (such as valves) to perform certain physical functions within the process control system). Of course, hybrid and other types of function blocks exist. Function blocks may have a graphical representation provided at the UI device 8, allowing the user to easily modify the type of function block, the connections between function blocks, and the inputs / outputs associated with each function block implemented in the process control system. Function blocks can be downloaded to controller 11, stored in controller 11, and executed by controller 11. This is typically the case where these function blocks are used for standard 4-20mA devices and certain types of intelligent field devices (such as HART) or associated with them. Alternatively, function blocks can be stored in the field device itself and implemented by the field device itself, which can be the case for fieldbus devices. Controller 11 may include one or more control routines 38, which can implement one or more control loops. Each control loop is typically referred to as a control module and can be executed by executing one or more function blocks.

[0044] See still Figure 1A Wireless field devices 40-46 communicate within wireless network 70 using wireless protocols such as the HART protocol. In some embodiments, UI device 8 is capable of communicating with wireless field devices 40-46 using wireless network 70. Such wireless field devices 40-46 can communicate directly with one or more other nodes in the process control network or system 2, which are also configured for wireless communication (e.g., using a wireless protocol). To communicate with one or more other nodes not configured for wireless communication, wireless field devices 40-46 can utilize a wireless gateway 35 connected to backbone 5. Of course, field devices 15-22 and 40-46 can conform to any other desired standards or protocols (such as any wired or wireless protocols), including any standards or protocols developed in the future.

[0045] Wireless gateway 35 can provide access to various wireless devices or nodes 40-46, 52-58 of the wireless communication network 70. Specifically, wireless gateway 35 provides access to wireless devices 40-46, 52-58, and other nodes of the process control network or system 2 (including...). Figure 1AThe communication coupling between the controller 11) and the wireless gateway 35. In exemplary implementations, in some cases, the wireless gateway 35 provides communication coupling to lower layers of the wired and wireless protocol stacks (e.g., address translation, routing, packet fragmentation, prioritization, etc.) through routing, buffering, and timing services, while tunneling through one or more shared layers of the wired and wireless protocol stacks. In other cases, the wireless gateway 35 can translate commands between wired and wireless protocols that do not share any protocol layers.

[0046] Similar to wired field devices 15-22, wireless field devices 40-46 of the wireless network 70 can perform physical control functions within the process plant 10, such as opening or closing valves or measuring process parameters. However, wireless field devices 40-46 are configured to communicate using the wireless protocol of the network 70. Thus, wireless field devices 40-46, wireless gateway 35, and other wireless nodes 52-58 of the wireless network 70 act as producers and consumers of wireless communication packets.

[0047] In some scenarios, the wireless network 70 may include non-wireless devices 48 and 50, which may be wired devices. For example, Figure 1A Field device 48 can be a conventional 4-20mA device, while field device 50 can be a conventional wired HART device. For communication within network 70, field devices 48 and 50 can be connected to the wireless communication network 70 via corresponding wireless adapters (WA) 52a and 52b. Furthermore, wireless adapters 52a and 52b can support other communication protocols, such as... Fieldbus, PROFIBUS, DeviceNet, etc. Furthermore, the wireless network 70 may include one or more network access points 55a, 55b, which may be separate physical devices communicating with the wireless gateway 35 via wired connections, or may be provided as integrated devices with the wireless gateway 35. The wireless network 70 may also include one or more routers 58 for forwarding packets from one wireless device to another wireless device within the wireless communication network 70. Wireless devices 40-46 and 52-58 can communicate with each other and with the wireless gateway 35 via the wireless link 60 of the wireless communication network 70.

[0048] In some embodiments, the process control network or system 2 may include other nodes connected to the network backbone 5 that communicate using other wireless protocols. For example, the process control network or system 2 may include one or more wireless access points 7a that utilize other wireless protocols, such as WiFi or other IEEE 802.11 compliant wireless LAN protocols, mobile communication protocols such as WiMAX (Global Microwave Access Interoperability), LTE (Long Term Evolution), or other ITU-R (International Telecommunication Union Radiocommunication Sector) compliant protocols, short-wavelength radio communication such as Near Field Communication (NFC) and Bluetooth, and / or other wireless communication protocols. Typically, such wireless access points 7a allow handheld or other portable computing devices to communicate via a corresponding wireless network that is different from and supports different wireless protocols than the wireless network 70. In some embodiments, the UI device 8 uses the wireless access point 7a to communicate through the process control network or system 2. In some scenarios, in addition to portable computing devices, one or more process control devices (e.g., controller 11, field devices 15-22, or wireless devices 35, 40-46, 52-58) may also communicate using the wireless network supported by access point 7a.

[0049] Alternatively or concurrently, the process control network or system 2 may include one or more gateways 7b, 7c leading to systems outside the immediate process control system. In such embodiments, the UI device 8 may be used to control, monitor, or otherwise communicate with said external systems. Typically, such systems are customers and / or suppliers of information generated or operated by the process control system. For example, a plant gateway node 7b may communicatively connect an immediate process plant 10 (with its own corresponding process control data network backbone 5) to another process plant with its own corresponding network backbone. In one embodiment, a single network backbone 5 may serve multiple process plants or process control environments.

[0050] In another example, plant gateway node 7b can instantly connect the process plant to a conventional or existing technology process plant that does not include a process control network or system 2 or backbone 5. In this example, plant gateway node 7b can translate or convert messages between protocols used by the process control big data backbone 5 of plant 10 and different protocols used by the conventional system (e.g., Ethernet, Profibus, Fieldbus, DeviceNet, etc.). In such an example, UI device 8 can be used to control, monitor, or otherwise communicate with the systems or networks in the conventional or existing technology process plant.

[0051] The process control network or system 2 may include one or more external system gateway nodes 7c to communicatively connect the process control network or system 2 to a network of external public or private systems, such as laboratory systems (e.g., laboratory information management systems or LIMS), personnel rounds databases, material handling systems, maintenance management systems, product inventory control systems, production scheduling systems, meteorological data systems, transportation and handling systems, packaging systems, the Internet, another provider's process control system, and / or other external systems. The external system gateway node 7c may, for example, facilitate communication between the process control system and personnel outside the process plant (e.g., personnel at home).

[0052] although Figure 1A A single controller 11 is shown communicating with a limited number of field devices 15-22, 40-46, and 48-50, which is merely an illustrative and non-limiting embodiment. Any number of controllers 11 may be included in the process control network or system 2, and any controller 11 may communicate with any number of wired or wireless field devices 15-22, 40-50 to control processes in plant 10. Furthermore, process plant 10 may also include any number of wireless gateways 35, routers 58, access points 55, wireless process control communication networks 70, access points 7a, and / or gateways 7b, 7c.

[0053] Figure 1B A block diagram of an exemplary UI device 8 that can be used in conjunction with embodiments of the novel graphical display configuration and usage system described herein is shown. UI device 8 may be a desktop computer (such as a conventional operator workstation, control room monitor) or a mobile computing device (such as a laptop computer, tablet device, mobile smartphone, personal digital assistant (PDA), wearable computing device, or any other suitable client computing device). UI device 8 can execute graphical display configuration applications used by configuration engineers in a configuration environment to create, generate, and / or edit various display view definitions or configurations, as well as to create, generate, and / or edit various display view element definitions or configurations. UI device 8 can also execute operator applications used by operators to monitor, observe, and respond to various states and conditions of processes within the operating environment. UI device 8 may include a display 72. Furthermore, UI device 8 includes one or more processors or CPUs 75, memory 78, random access memory (RAM) 80, input / output (I / O) circuitry 82, and a communication unit 85 for sending and receiving data via a local area network, a wide area network, and / or any other suitable network that may be wired and / or wireless. UI device 8 can communicate with controller 11, server 12 and / or any other suitable computing device.

[0054] The memory 78 may include an operating system 88, applications running on the operating system 88 (such as a graphical display configuration application and an operator application), and a control unit 90 for controlling the display 72 and communicating with the controller 11 to control the online operation of the process plant. In some embodiments, the server 12 may send a graphical representation of a portion of the process plant to the UI device 8, and the control unit 90 may, in turn, display that portion of the process plant graphical representation on the display 72. Additionally, the control unit 90 may receive user input from the I / O circuitry 82, such as user input from an operator or configuration engineer (also referred to herein as a user), and translate the user input into requests for graphical display views presented in a specific language, requests for graphics including indicators of specific control elements included in the activity monitoring or viewing window on the display view, requests for displaying adjustments to process parameters included in one of the process segments, etc.

[0055] In some embodiments, the control unit 90 may transmit converted user input to the server 12, which may generate the requested UI and send it to the UI device 8 for display. In other embodiments, the control unit 90 may generate a new UI based on the converted user input and display the new UI on the display 72 of the UI device 8. When the converted user input is a request to adjust process parameters included in a process segment of the process, the control unit 90 may adjust the process parameter values ​​on the display 72 based on user input from the operator and may provide instructions to the controller 11 to adjust the process parameters in the process plant. In other embodiments, the control unit 90 may transmit converted user input to the server 12, which may generate adjusted process parameter values ​​and send them to the UI device 8 for display, and provide instructions to the controller 11 to adjust the process parameters in the process plant.

[0056] Figure 2A The image depicts a process plant or process control system (e.g.) Figure 1A This is a high-level block diagram of one possible manner in which embodiments and / or aspects of the graphical display configuration and use system 100 described herein are implemented within the configuration environment 102 and the working or operating environment 105 of the process plant 10. The configuration environment 102 of the process control system may be interchangeably referred to herein as the “offline” environment 102 or “back-end” environment 102 of the process control system, and the working environment 105 of the process control system may be interchangeably referred to herein as the “operating,” “online,” “front-end,” or “field” environment 105 of the process control system.

[0057] like Figure 2AAs shown, the configuration environment 102 includes a graphical display configuration application 110, which includes a user interface through which configuration engineers or users can create, generate, and / or edit various display view definitions or configurations 112, and create, generate, and / or edit various display view element definitions or configurations 115. For example, the graphical display configuration application 110 can... Figure 1A This is executed on an instance of user equipment 8 and / or 1B. For example, each display view configuration 112 and each display view element configuration 115 can be implemented as a corresponding object. Generally, a display view definition 112 can be configured to include (among other components) one or more display element definitions 115. Typically, a display view definition 112 is configured to include at least one display element (e.g., a graphical element) linked to a specific control module, device, or other type of control object, such that in the operating environment 105, runtime data associated with a specific control module, device, or control object can be represented via the linked display element on the executing display view, for example, in a continuously or repeatedly updated manner. A specific control module, device, or control object is typically defined in a control configuration database 118 (e.g., its configuration is stored in the control configuration database 118) and can be represented within the display view definition 112 by, for example, a specified control label or other suitable indicator. Figure 2A As shown, the definitions or configurations 112, 115 related to the display view are stored in a centralized graphics configuration database or library 120, making the graphics display-related configurations 112, 115 available for download and execution in the operating environment 105, thereby allowing operators or users to monitor, observe, and respond to various states and conditions of processes within the operating environment 105. It should be noted that, although... Figure 2A The graphical configuration database 120 and the control configuration database 118 are shown as separate databases within the configuration environment 102 of the process control system 10, but in some implementations, at least part or all of the configuration databases 120 and 118 may be implemented as a single database or library.

[0058] In any case, Figure 2A In this context, a display view configuration 112 can be defined to specify one or more control objects 118 associated with or bound to each display view element 115 included on the display view 112. Then, the definitions of the display view elements 115 and the control objects 118 respectively bound to them are instantiated and provided (e.g., downloaded to) one or more different operator workstations or user interface devices 122 included in the working environment 105 of the process plant 10. In the example, the user interface device or workstation 122 may adopt... Figure 1BThe user interface device 122 takes the form of user interface device 8. An instantiated display view 112, executed at user interface device 122, communicates with a control module runtime environment 125 (which may execute in controllers and field devices associated with the process) to access or otherwise obtain data or other information from the control module runtime environment 125, for example, as defined by the bound control object 118 of display view 112. User interface device 122 can communicate with control module runtime environment 125 using any desired or pre-configured communication network, such as... Figure 1A High-speed data channel 5 and / or wireless communication network 70.

[0059] In some embodiments, the user interface device 122 uses a download script parser 128 to parse at least some of the downloaded display view configurations 112 during its execution (e.g., to perform object code conversion in a timely manner), although the use of the download script parser 128 by the user interface device 122 is not necessary or required, for example, when the downloaded display view configurations 112 do not include any scripts.

[0060] In some embodiments, user interface device 122 uses rule-based execution engine 130 to execute process flow algorithms or other rule-based processes (e.g., those provided by process flow runtime environment 132), indicated or bound to display view element objects 115 and / or display view objects 112, such as when one or more display view element objects 115 are smart process objects. Generally, smart process objects are defined or configured to include data storage for storing data relating to and received from other entities within process plant 10, as well as inputs and outputs for communicating with other smart process objects and methods that can be executed on the stored and received data, for example, to detect plant or equipment conditions. In some arrangements, smart process objects are communicatively connected together to create process flow modules that provide display views of plant entities (such as areas, equipment, elements, modules, etc.) and implement a set of rules, and these process flow modules are executed at runtime by process flow runtime environment 132, for example, by using execution engine 130. It should be noted that the use of execution engine 130 by user interface device 122 is not necessary or required, for example, when the downloaded display view configuration 112 does not include any intelligent process objects. It should also be noted that, in addition to those discussed herein, other methods of integrating display views and display view elements with runtime control objects in working environment 105 are additionally or alternatively possible and can be used by graphical display configuration and usage system 100. For ease of discussion, the instantiated display view executed or provided on user interface device 122 of working environment 105 is generally referred to herein as operator or operation application 135.

[0061] Figure 2B Depicting including Figure 2A A detailed block diagram of an embodiment of the graphical display configuration and use of the graphical configuration library 120 in system 100. (See attached diagram.) Figure 2B As shown, the graphics configuration library 120 stores display view definitions or configurations 112 and display view element definitions or configurations 115. Each definition or configuration 112, 115 may have an associated published version and optionally one or more draft versions (which may also be referred to interchangeably as "in progress" or "working" versions herein), which are stored in library 120. Figure 2BAs shown, view 1 has two corresponding draft configurations and one corresponding published configuration stored in the graphical configuration database 120. Additionally, the graphical configuration database 120 is shown storing one draft configuration and two published configurations for view 2, one published configuration and no draft configuration for view 3, and m draft configurations and one published configuration for view N. Generally, only published configurations or definitions are allowed or permitted to be downloaded to the working environment 105 from the graphical configuration database 120 or other locations within the configuration environment 102. In some embodiments, draft configurations or definitions may be maintained, stored, and edited only within environment 102. If a draft configuration or definition is stored within configuration environment 102, the draft is prevented from being downloaded to the working environment 105. When a configuration engineer is satisfied with the configuration or definition 112, 115 associated with the draft display, the engineer may explicitly publish the display-related configuration or definition 112, 115 (e.g., change its status to "published"), making it available for download and execution in the runtime process factory 10. In some embodiments, a single user control can enable both publishing and subsequent downloading of the published user control or command. In other embodiments, publishing the user control or command and downloading the user control or command are different and distinct user controls provided by the configuration application 110.

[0062] Therefore, multiple configuration engineers can create, modify, and test graphical configurations and definitions (and in some cases, simultaneously) without affecting the runtime operation of object configurations (e.g., as shown by m draft configurations of view N and the published configuration of view N). Additionally, different versions of the same display view can be published and used for runtime operation, for example, when the same display view is configured with different combinations of operator customizations downloaded to different areas of the plant, such as two publications of view 2. (Of course, if needed, the graphical display configuration system 100 allows configuration engineers to rename different publications of view 2 to separate views rather than different publications of the same view.) In some embodiments, at least some of the published display views and published display view elements are out-of-box, i.e., at least some published display views and published display view elements are provided as default values ​​in library 120. Such default views and elements can be edited or modified by configuration engineers using the graphical display configuration application 110, and the modified views or elements can be published as additional or alternative published versions of default objects 112, 115.

[0063] A specific display view configuration can be defined, for example, by a configuration engineer or user via the graphical display configuration application 110, to include (e.g., reference, point to, or cite) one or more display view element configurations other than other components. Similarly, in some instances, a specific display view element configuration can be defined to include (e.g., reference, point to, or cite) one or more other display view elements. It is noteworthy that various display-related configurations or definitions (whether for display views and / or display view elements) can each define a set of operator-selectable customizations that allow the operator to modify the appearance of the corresponding display view or display view element during runtime as needed, without having to create and / or download modified configurations, and without requiring any display view, display view element, or user interface device executing the display view to obtain additional configuration data indicating modifications from another computing device (e.g., from a computing device or database included in configuration environment 102, or from a computing device or database included in working environment 102 that locally stores configuration data or a copy thereof). Additionally, in some embodiments, a specific display view configuration may include one or more global variables or scripts in addition to the other display view elements referenced therein.

[0064] To illustrate, Figure 2C A snapshot of an exemplary display view 150 configured by a user on a canvas provided by a graphical display configuration application 110 is depicted. At this point in time during its configuration, the display view 150 has been defined to include several display view elements 152a-168a. Specifically, the display view 150 includes display elements 152a with tabs, including four tabs 152a-1, 152a-2, 152a-3, and 152a-4, and tab 152a-1 includes a tank graphic 155a, which includes an input stream connection 158a and an output stream connection 160a. Additionally, the tank graphic 155a includes a fill animation 162a, by which the fill animation 162a represents the liquid level in the tank. The presentation of the display view 150 may be at least partially influenced by one or more user controls included thereon (e.g., a language user control 165a and a theme user control 168a), which can be manipulated by an operator to customize at his or her workstation or user interface 8. Alternatively, the display view 150 can be executed at workstation 8 via operator application 135. Figure 2C (not shown) to provide one or more similar user controls 165a, 168a at the workstation or user interface 8.

[0065] Capture or define the configuration of the exemplary display view 150 in the corresponding display view object 172a. Figure 2CIn this context, display view object 172a is a draft, working, or in-process configuration object 172a (or otherwise unpublished). Similarly, the configuration of each display view element in display view elements 152a-168a is captured or defined in one or more corresponding display view element objects 152b-170b (in... Figure 2C At the indicated point in time, each display view element object may or may not be published separately, individually or as a whole with display view 150. For example, tabs 152a-1, 152a-2, 152a-3, and 152a-4 are defined by graphical tab display element 152a, which itself is defined by instances of tab object 152b, wherein each tab object instance is specifically configured to display different text strings, for example, on its respective tabs 152a-1, 152a-2, 152a-3, and 152a-4, and to include other display characteristics and attributes (not shown). In some embodiments, each tab 152a-1, 152a-2, 152a-3, and 152a-4 may be configured to change its appearance (e.g., indicators, background color, text color, animation, etc.) in response to real-time data, and thereby may be linked to one or more control elements within the working environment 105 of process plant 10. The can graphic 155a is defined by an instance of the can object 155b, and the can object instance has been specifically configured to be associated with a specific control label LT123. Additionally, the fill animation 162a is defined by an instance of the fill animation object 162b, specifying that the fill animation is from bottom to top. Furthermore, the color of the fill animation 162a is defined by an instance of the fill color object 170b and is selectable by the operator among blue, red, white, and green. For example, the fill color can be selected individually, or it can be selected by the operator choosing a specific theme that defines the fill color.

[0066] In addition, such as Figure 2CAs shown, the configuration of a graphical object instance can be defined using other graphical objects and / or object instances. For example, an instance of tab object 152b defining tab 152a-1 is defined as including an instance of can graphic object 155b, which defines the can graphic 155a on it (especially where it includes the specification of control label LT123). Similarly, an instance of can graphic object 155b defining can graphic 155a is itself defined as including an instance of fill animation object 162b for fill animation 162a, wherein the instance of fill animation object 162b has been specifically configured in this example to have a bottom-to-top fill animation. The instance of fill animation object 162b defining fill animation 162a is still defined as including an instance of fill color object 170b, in which the instance of fill color object 170b defines the operator-selectable fill color options (e.g., blue, red, white, and green) and further defines their mutually exclusive selection and application.

[0067] Generally, a first graphic element object can be defined or configured to reference (e.g., point to, reference, etc.) a second graphic element object, wherein the configuration of the second graphic element object defines the appearance and / or behavior of the first graphic element object. In some embodiments, the configuration or definition of the first graphic element object may additionally include one or more object attribute values ​​and / or scripts, if desired. The first graphic element object and the second graphic element object are independent and separate objects. In other words, the first graphic element object and the second graphic element object are not included in the same object class, are not derived from each other, are not related through a parent / child object relationship, etc. In practice, the second graphic element object can be referenced by another graphic element object and appropriately configured to define the appearance and / or behavior of that other graphic element object.

[0068] In some scenarios, a second graphic element object can reference a third graphic element object, where the configuration of the third graphic element object defines the appearance and / or behavior of the second graphic element object. If needed, the configuration of the second graphic element object can additionally include one or more object property values ​​and / or scripts.

[0069] In any case, back Figure 2C An instance of the display view object 172a defining view 150 can be configured to display one or more user controls 165a, 168a thereon. (As described above, in some embodiments, one or more user controls among user controls 165a, 168a may be provided by operator application 135, which executes the configured display view object 172a at user interface device 8 within work environment 105.) Figure 2C(Not depicted in the text). Regardless of whether provided by the display view object 172a and / or by the operator application 135, each user control in user controls 165a, 168a can be defined at least partially by its corresponding object 165b, 168b. Specifically, as... Figure 2C As shown, the language user control 165a is defined by an instance of the multilingual object 165b, which in this example is configured to allow text to be represented in English, Arabic, or French. Therefore, during runtime, an operator can manipulate the language user control 165a to selectively change the language appearing in the display view 150 to or from English, Arabic, or French. Similarly, the theme user control 168a is defined by an instance of the theme object 168b, where in this example, the instance of theme 168b has been defined to allow an operator to selectively change the theme of the display view 150 among theme 1, theme 2, and theme 3 during runtime. Therefore, during runtime, an operator can manipulate the theme user control 168a on the operator application 135 to change the theme appearing in the display view 150 among theme 1, theme 2, and theme 3. Each language and theme can be defined elsewhere in the graphics configuration database 120, for example, as described elsewhere in this disclosure.

[0070] Furthermore, display view 150 can be included in various other display view elements 115. For example, a specific layout 1 (e.g., which may be configured as a specific instance of a layout object) can be defined to render display view 150 in a first area, for example, by linking the configuration 172a of display view 150 to a graphical object defining the first area of ​​layout 1. Another specific layout 2 (e.g., which may be configured as another specific instance of a layout object) can be defined to render display view 150 in a second area, for example, by linking the display view configuration 170 to a graphical object defining the second area of ​​layout 2. In another or alternative implementation, an instance of display view object 172a may reference one or more layouts that include display view 150 (e.g., which may be configured as a specific instance of a layout object). Each layout that includes display view 150 can be specifically configured to either render display view 150 to the operator or not render it to the operator when display view 150 is rendered during runtime. In other words, when executed during runtime, operator application 135 can render display view 150 based on the configuration of display view object 172a according to one of the layouts. Additional discussion is provided elsewhere in this disclosure regarding layouts that can be provided by the graphics display configuration system 100. Similarly, the display view 150 may be linked to or otherwise associated with various display layers, and additional discussion is also provided elsewhere in this disclosure regarding display layers provided by the graphics display configuration system 100.

[0071] return Figure 2C When the configuration engineer is satisfied with the display view object 172a that defines the content, appearance, and performance of the display view 150 in the runtime environment 105, the configuration engineer can publish, as follows: Figure 2C Used for the display view object indicated by reference numeral 172b in the attached figure.

[0072] In embodiments where display view element objects can be published individually, when publishing display view object 172b, any display view element objects 152b-170b that are not yet in a published state can be published automatically, and / or the user can be prompted to manually publish display view element objects that are still in a draft or in-process state. In other words, in such embodiments, in order to publish display view object 172a, any display element objects included in or linked to it must also be in a published state.

[0073] In another embodiment where the display view element object cannot be published individually, when publishing the display view object 172b, the published configuration 172b of the display view 150 is stored in the graphics configuration database 120, thereby making the published configuration 172b available for download to the working environment 105 of the process plant 10, for example, as... Figure 2C As shown. In some embodiments, when publishing the display view object 172, the published configuration 172b is automatically downloaded to the working environment 105.

[0074] The published configuration of the display view object 172b can be downloaded to one or more user interface devices included in the working environment 105 (such as...). Figure 2C The user interface devices (UI-1, UI-2, UI-3) are used for execution. Each of the user interface devices UI-1, UI-2, and UI-3 can take the form of, for example, user interface device 8 or user interface device 122, and the specific set of user interface devices to which the published display view configuration 172b will be downloaded (and executed) can be specified by the user, for example, via the graphics display configuration application 110 or via another user interface of the configuration environment 120. Therefore, each instance of the downloaded published display view configuration 172b can be executed independently in the runtime environment 105 at its corresponding host user interface device UI-1, UI-2, UI-3.

[0075] Importantly, the published display view configuration 172b, when executed on its host devices UI-1, UI-2, and UI-3, allows operators or users to customize the appearance and behavior of the corresponding execution display view 150 within the runtime environment 105 as needed, independently of runtime customization by other users. For example... Figure 2CAs shown, at UI-1, the user of UI-1 has changed the color of the fill animation 162a of the tank graphic 155 on display view 150 to blue, selected to display the text on display view 150 in French, and selected to display display view 150 using theme 3. At UI-2, the user has changed the color of fill animation 162a to white, selected to display the text in Arabic, and selected theme 1. At UI-3, the user has changed the color of fill animation 162a to red, selected to display the text in English, and selected theme 2. The user selections and customizations implemented at user interface devices UI-1, UI-2, and UI-3 are achieved solely using the corresponding published display view configurations 172b executed at host devices UI-1, UI-2, and UI-3, respectively. In other words, to achieve the changes desired by the operator, UI-1, UI-2, or UI-3 does not require additional configuration data from the configuration environment or any other computing device. Furthermore, to achieve the operator's desired change, it is not necessary to download and execute an updated configuration for display view 150. Instead, each operator simply executes the desired change at his or her corresponding user interface device UI-1, UI-2, UI-3 according to the runtime of display view 150, without stopping and restarting display view 150. For example, if a user of UI-1 subsequently wishes to change the displayed theme from theme 3 to theme 2, the user can do so simply by making a selection via theme user control 168a executed at UI-1 (which can be provided by operator application 135 as discussed above or by display view 150), and in response, execution of display view 150 will realize the change, without needing to communicate with any other computing devices included in configuration environment 102 and / or with any other computing devices capable of accessing configuration data 120 or a copy thereof.

[0076] certainly, Figure 2C The exemplary scenarios depicted are illustrative and not limiting, and are only one of many possible use cases for the graphics display configuration and usage system 100. In fact, as shown in this disclosure, the graphics display configuration and usage system 100 provides a configuration environment that is flexible, intuitive, and easy to maintain, while offering a standalone, online operator-customized operating experience that supports the display view and / or the display elements included thereon. Various features and aspects (individually or in combination) of the graphics display configuration and usage system 100 that provide these and other benefits are described in more detail below.

[0077] Display navigation hierarchy

[0078] Now go to Figure 3AExamples of the types of display view elements provided by the graphical display configuration and usage systems and methods described herein are hierarchical display view elements and layout display view elements. As described above, in order to generate graphics in a process control system, the graphical display configuration application 110 in configuration environment 102 includes graphical user controls for defining hierarchies and layouts, thereby allowing configuration engineers to define hierarchies and layouts graphically. Each display view can consist of display view elements that define the display view. For example, a “master tank” display view may include multiple display view elements, each representing a different tank. A display view element in a display view can also be an object of another display view at a higher level of detail, having its own display view element. In this way, a plant operator can navigate from a display view depicting an overall overview of the process plant at the lowest level of detail to a display view depicting a single alarm or device within the process plant at one of the highest levels of detail.

[0079] In some embodiments, the display view depicts a segment of the process plant, and the display view elements include graphical representations of process plant entities such as tanks, mixers, valves, pumps, and / or any other suitable equipment within the process plant. The display view elements may also include graphical representations of process plant connection entities (such as pipes, wires, conveyors, etc.) that connect one piece of equipment to another.

[0080] In some embodiments, a configuration engineer can define alarm, trend, and / or process parameter values ​​within a display view at a specific level of detail. In other embodiments, the configuration engineer can define the number of alarm, trend, and / or process parameter values ​​within a display view at a specific level of detail. The graphical display configuration application 110 or the operator or operation application 135, executing on the operator user interface device 122, can then automatically determine which alarm, trend, and / or process parameter values ​​to include in the display view based on their priority. For example, the configuration engineer can instruct that five process parameter values ​​be presented at specific locations within the display view. Each process parameter value corresponding to the display view can be sorted according to priority, and the first five sorted process parameter values ​​can be presented in the display view. Priorities can be determined by the configuration engineer, the operator, or automatically based on a set of rules, such as whether a particular process parameter value triggers an alarm.

[0081] To create a display view hierarchy for navigating from a display view depicting an overall overview of the process plant to display views depicting individual segments of the process plant at higher levels of detail, the graphical display configuration application 110 includes graphical user controls for defining relationships or links between the display views. The graphical display configuration application 110 may present a user interface or a portion thereof for creating the hierarchy. The hierarchy UI may include indications for each display view defined in the configuration environment. Configuration engineers can then drag and drop (or use any other suitable graphical user controls) display views into the hierarchy pane to define relationships or links between them. For example, by dragging and dropping an indication of the “Tank 1” display view (e.g., the name “Tank 1”, icon, etc.) onto an indication of the “Main Tank” display view, the graphical display configuration application 110 can determine that Tank 1 is a subview at a higher level of detail compared to the “Main Tank” display view. In another example, by dragging or dropping the indicator of the "Can-Feed" display view above or below the indicator of the "Main Can" display view within the hierarchy pane, the graphics display configuration application 110 can determine that the "Can-Feed" and "Main Can" display views are at the same level of detail in the hierarchy.

[0082] A hierarchy of trend views can also be created to represent historical process parameter values. For example, a process parameter such as the flow rate through a valve may depend on one or more input or output process parameters, such as the inlet pressure and outlet pressure at the valve. A Level 1 trend view can depict the flow rate through the valve over time, while a Level 2 trend subview of the Level 1 trend view can depict the inlet and outlet pressures at the valve over time. Configuration engineers can create the trend view hierarchy in configuration environment 102, and operators can manipulate the resulting trend view and subviews within operating environment 105 (e.g., via navigation buttons) by increasing or decreasing the level of detail.

[0083] In some embodiments, the display view hierarchy can resemble a tree structure, where the display view at the lowest level of detail (e.g., level 1) is the root node of the tree structure. Display views at a second lowest level of detail (e.g., level 2) can be child nodes relative to the root node, and each can have its own child nodes at a third lowest level of detail (e.g., level 3), whose own child nodes can be grandchild nodes relative to the root node. A configuration engineer can create several display view hierarchies, each corresponding to a different area within a process plant or different process plants. In this way, each operator can view the display view hierarchy representing the area they are responsible for.

[0084] In addition to defining display view hierarchies, the graphical display configuration application 110 includes graphical user controls for defining layouts. As used herein, a "layout" can indicate how an operator workstation's display screen area is divided to present several display views on one or more display screens of the operator workstation. For example, an operator workstation may include multiple monitors or display screens, and the layout allows the operator workstation to present different display views on each display screen, enabling the operator to view multiple display views simultaneously. In another example, an operator workstation may include a single monitor or display screen, and the layout allows the operator workstation to divide the display screen into regions (e.g., frames, sub-regions, or sections) and present different display views on each region of the display. The graphical display configuration application 110 may include graphical user controls for selecting display screens and the number of display regions within each display screen for the layout. For example, a configuration engineer can generate a first layout with two display screens, where each display screen is divided into two display regions. The configuration engineer can then define display view types for each divided display region, such as viewing area, alarm list, historical parameters, panel, hierarchy (e.g., level 1, level 2, level 3), etc.

[0085] Furthermore, the layout can include relationships or links between display areas within the layout. For example, a first display area within the layout can present a hierarchical level 1 type display view, and a second display area within the layout can present a hierarchical level 2 type display view. The second display area can be configured to present a hierarchical level 2 display view when the operator navigates from a hierarchical level 1 view within the first display area. The display view of the second display area depends on the operator's activity relative to the first display area, and the first display area continues to present a hierarchical level 1 type display view. In another example, the display area within the layout depicting an alarm list or historical parameter display view can depend on the display area within the layout depicting a control module, such that the alarm list or historical parameter display view includes alarms or parameters displayed within the control module.

[0086] Figure 3AA side-by-side view 300 of a graphical display configuration application UI 302 (which may be, for example, an instance of graphical display configuration application 110) and a graphical display configuration application UI 304 (which may be, for example, an instance of operator application 135) is shown, depicting display view elements as defined by the graphical display configuration application UI 302 during runtime. More specifically, the graphical display configuration application UI 302 includes a hierarchy pane 310 indicating the hierarchy of the display view set. For example, the “Can-Ovw” display view may be at level 1 of the display view hierarchy, and the “Can-Feed” and “Main Can” display views may be at level 2. The “FeedHtX” and “FeedMixr” display views may be subviews of the “Can-Feed” display view, and the “Can 1,” “Can 2,” and “Surge” display views may be subviews of the “Main Can” display view at level 3. Furthermore, the “T2SOP” display view may be a subview of the “Can 2” display view at level 4. As described above, configuration engineers can define display view hierarchies by dragging and dropping indicators of display views into the hierarchy pane 310 presented by the graphical display configuration application 110, or by using any other suitable graphical user control. Indicators for new display views can also be defined in the display view hierarchy before creating the corresponding display views. Configuration engineers can define the position of the new display view within the display view hierarchy and then create the new display view.

[0087] In addition to depicting the hierarchy pane 310, the graphical display configuration application UI 302 also depicts a layout 312 that divides the display into four display screens and four display areas 314a-d (which may also be interchangeably referred to herein as "display sub-areas" or "display portions"), with each display area 314a-d having a corresponding display view type. For example, the top-left display area 314a is defined to present a hierarchy level 1 display view. The bottom-left and bottom-right display areas 314b-c are defined to present hierarchy level 2 and level 3 display views, and the top-right display area 314d is defined to present an alarm list display view. Layout 312 also defines the relationships or links between the display areas. For example, the bottom-left display area 314b automatically presents a hierarchy level 2 display view in response to an operator navigating from a hierarchy level 1 display view to a hierarchy level 2 display view in the top-left display area 314a. In another example, the upper right display area 314d can automatically display a list of alarms that are included in one or more display views in other display areas 314a-c.

[0088] The operator application UI 304 includes a layout 312 defined by the graphical display configuration application 110, which divides the operator workstation's display into four screens and four display areas 318a-d. The top-left display area 318a presents a level 1 hierarchical view. The bottom-left and bottom-right display areas 318b-c present level 2 and level 3 hierarchical views, and the top-right display area 318d presents an alarm list view. The operator application UI 304 can present display views based on the hierarchy, layout, and / or other display view elements defined by the graphical display configuration application 110.

[0089] The graphical configuration application UI 302 also includes a management section 316 (which may, for example, relate to the management of the operating application / environment 304) for assigning hierarchies, layouts, and / or themes to specific operator workstations or sets of operator workstations. In this way, an operator's workstation monitoring a segment of the process plant can display the hierarchy associated with that segment, and access to hierarchies associated with other segments of the process plant can be restricted. In some embodiments, a configuration engineer can assign all hierarchies and layouts to each operator workstation via the management section 316, and operators can select the layouts and hierarchies to be displayed on their respective operator workstations.

[0090] Figure 3B A home tab 350 of a graphical display configuration application 110 is shown for generating display views to be executed on an operator workstation. The home tab 350 includes a New Display button 352 for creating display views, a New Layout button 354 for creating layouts, and a New Display Hierarchy button 356 for creating hierarchies of display views. The home tab 350 also includes a configuration canvas 366 for configuring display view elements within the display view. Display view elements can be viewed in configuration mode when a configuration button (not shown) is selected and / or in preview mode when a preview button 364 is selected. In an alternative embodiment, a draft or working configuration of the display view elements can be presented on a canvas provided by the configuration application 110 (e.g., by default or continuously), and only the preview button 364 can be displayed (e.g., as shown). Figure 3B As shown), its activation causes a preview of the display view to be displayed in another area or window of the user interface provided by the configuration application 110. Preview mode or a separate preview display presents a preview of the display view as if it were displayed during runtime, allowing configuration engineers to see how the display view and its elements will appear to the operator. For example, display view elements can be presented using themes, colors, etc., selected in configuration mode. Configuration engineers can manipulate graphical user controls (such as navigation bars, tab bars, etc.) on the display view in preview mode to see how the display view changes in response to user interaction.

[0091] To create a display view, the homepage tab 350 includes a graphical user control for selecting display view elements, such as a basic display element button 360, which includes shapes such as rectangles, squares, circles, arrows, connectors, text boxes, charts, or any other suitable basic display elements. A display view element selection pane or palette 370 may also be included for selecting display view elements, such as panel elements, tab elements, bar chart elements, data elements, data link elements, write elements, buttons, sliders, alarm elements, alarm detail elements, function block elements, navigation bar elements, GEM elements (e.g., as described in co-owned U.S. Patent Application No. 15 / 692,450, filed August 31, 2017, entitled “Derived and Linked Definitions with Override,” the entire disclosure of which is incorporated herein by reference) or any other suitable display view element. Configuration engineers can select display view elements by dragging and dropping them onto the configuration canvas 366 or by using any other suitable graphical user control. For example, in Figure 3B In the configuration, the configuration engineer can select the New Display button 352 to create a display view for Display 1 (reference numeral 368), and can drag and drop the rectangle 374 from the Basic Display Element button 360 into the configuration canvas 366.

[0092] When rectangle 374 is selected, its properties are displayed in edit pane 380. Edit pane 380 can indicate several properties of the rectangle, such as rectangle name (rectangle 1), fill color (white), fill percentage (100%), line color (black), line weight (1 pt.), line style (solid line), etc. Each property can be adjusted in edit pane 380 via graphical user controls (such as drop-down menus or free-formatted text fields). For example, the line weight property may include a drop-down menu for selecting one of several line weight values ​​(such as 0.5 pt, 1 pt, 1.5 pt, etc.). The fill color property may include a color palette for selecting one of several colors or a free-formatted text field for entering RGB color values. In some embodiments, properties can also be adjusted via graphical user controls at rectangle 374, such as via a pop-up menu in response to right-clicking or double-clicking rectangle 374. The properties included in edit pane 380 are just a few exemplary properties of rectangle 374. Additional or alternative adjustable properties may also be displayed.

[0093] Furthermore, relationships or links between display view elements can be established, for example, by connecting them via lines or other connectors. Relationships or links can also be established by referencing other display view elements in their attributes. For example, a first display view element might represent a tank in a process plant. A second display view element might represent a process parameter value for the tank, such as a fill percentage. In some scenarios, a configuration engineer might reference a first display view element in the attributes of a second display view element, causing the first and second display view elements to be associated and included together in one or more display views. In some embodiments, each linked display view element associated with a process plant entity or process control element might reference a control label that refers to a control module, node, device (e.g., field device), and / or a signal sent and / or received by a device, control module, or node corresponding to the process plant entity.

[0094] Regardless, the homepage tab 350 also includes a publish button 358 for publishing graphics (display view, layout, or display view hierarchy) to the graphics configuration database 120. The published graphics can then be provided to the operator workstation collection and made available to the appropriate operators during runtime.

[0095] Embedded web browser in the graphical display view of the process plant

[0096] Although process plant networks are not typically directly connected to the internet, web technology has become a widely used means of conveying critical plant-related information to plant operators through the use of internal control servers and web browsers that act as internal clients for data transfer. However, in currently known process control systems, web browsers run as separate application processes from the operating HMI or display views, and sometimes run from different computing devices or operator workstations due to performance, robustness, and security issues. Therefore, web browsers can be viewed as providing a cumbersome user experience to plant operators.

[0097] More specifically, standalone web browser applications can degrade the performance of operating HMIs or displaying views because web browser application processes can consume significant amounts of computer memory or processor resources. Furthermore, failures occurring within web browser application processes can adversely affect the availability of operator workstations. Additionally, web browser application processes can introduce external and internal threat vectors to the system security of process plants.

[0098] Therefore, the graphical display configuration and usage system and method described herein, more specifically, graphical display configuration application 110 includes a web browser object for configuring web browser display view elements, which can be included as a portion of the display view. The web browser object includes several properties that can be defined to constrain and limit functions performed by external web sources and operator access to external web sources and data, thereby reducing the risk to system security from external and internal threat vectors. Furthermore, the web browser object can be defined to include a system source whitelist and a local source whitelist, further restricting access to web sources and data to those explicitly defined in the whitelists. These restrictions can reduce the amount of computer memory or processor resources consumed by the web browser, thereby improving the performance of the graphical representation of control elements and the web browser's display view. This improves the user experience for plant operators by allowing them to view web content and graphical representations of control elements in the process plant without compromising the performance, availability, or security of the operating HMI or display view.

[0099] For example, a display view can include graphical representations of a section of a process plant, process plant entities, control modules, function blocks, alarm lists, historical parameters, etc. Configuration engineers can select a web browser object through the graphical display configuration application 110, and the web browser display view element will be included alongside the graphical representations of the process plant section, process plant entity, control module, function block, alarm list, historical parameters, etc.

[0100] During configuration, when a web browser object is selected, the graphical display configuration application 110 may include graphical user controls for defining rendering parameters for web browser display view elements, which are rendered when the display view (including the web browser display view) is rendered during runtime execution in the operating environment 105 at the user interface device 8. More specifically, the graphical display configuration application 110 may include graphical user controls for defining the source address from which web content is rendered in the web browser. The source address may be defined as a static source address (e.g., "https: / / www.processplant.com") or may be dynamically defined, wherein one of a plurality of source addresses is selected as the source address for rendering web content in the web browser during runtime based on a specific condition or set of conditions. The graphical display configuration application 110 may also include graphical user controls for defining the size, position, and other visual properties of the web browser within the display view. Furthermore, the graphical display configuration application 110 may include graphical user controls for defining sandbox or sandbox properties that indicate limitations on functionality performed within the web browser. Furthermore, the graphical display configuration application 110 may include a graphical user control for defining a source whitelist that specifies web addresses that are allowed to be set as source addresses for rendering web content or web addresses from which data can be retrieved and rendered in a web browser.

[0101] Then, the rendering parameters for displaying view elements in the web browser are downloaded to the user interface device 8 that executes the operator application 135 in the working environment. Then, during runtime, the operator application 135 can render a graphical representation of the control elements in the process plant, as well as a view displayed in the web browser.

[0102] Furthermore, operator application 135 can render the web browser based on rendering parameters. For example, operator application 135 renders the web browser in a display view based on its position, size (e.g., height and width), and other visual attributes defined in configuration environment 102. Other visual attributes may include the line thickness defining the web browser border, the line color, the web browser's fill color, scrollbars in the web browser when web content is not fitted within the web browser's boundaries, toolbars for navigating to various web addresses in the web browser, etc. Operator application 135 also renders the web browser using web content from source addresses defined in configuration environment 102 and restricts functionality within the web browser based on sandboxing or sandbox attributes defined in configuration environment 102. Additionally, when an operator navigates to a new web address via user controls in the web browser, operator application 135 compares the new web address with a list of web addresses included in the system source whitelist defined in configuration environment 102. When the new web address is included in the system source whitelist, operator application 135 renders the web browser using web content from the new web address. Otherwise, operator application 135 restricts access to the new web address in the web browser and does not display web content from the new web address in the web browser. Alternatively, operator application 135 may continue to display web content from the current web address in the web browser.

[0103] Figure 4 An exemplary view 400 of a graphical display configuration application 110 for configuring a web browser display view element 402 within a display view 410 on a configuration canvas 414 is shown. The display view 410 includes a graphical representation of the web browser display view element 402 and a segment 404 of a process plant. In this example, the process plant segment 404 includes display view elements of tank 406 and pump 408, representing tanks and pumps respectively in the working environment 105 of the process plant. The graphical display configuration application 110 also includes several graphical user controls for defining various rendering parameters of the web browser display view element 402. More specifically, the graphical display configuration application 110 includes graphical user controls for resizing the web browser display view element 402, for example, by clicking and dragging one of the corners 412 of the web browser display view element 402. The graphical display configuration application 110 also includes graphical user controls for positioning the web browser display view element 402 within the display view, for example, by clicking and dragging the web browser display view element 402 to a desired position within the display view 410.

[0104] Furthermore, the position and / or size of the web browser display view element 402 can be defined via graphical user controls within the edit pane 420 for displaying the web browser view element 402. The edit pane 420 may include graphical user controls, such as a free-form text field or drop-down menu for defining the position of the web browser display view element 402 within the display view 410 (e.g., the pixel position of the top-left corner of the web browser display view element 402 within the display view 410). The edit pane 420 may also include graphical user controls for defining the pixel height and pixel width of the web browser display view element 402. Additionally, the edit pane 420 may include graphical user controls for defining other visual properties of the web browser display view element 402. These graphical user controls may include a drop-down menu 422 for selecting the line color of the border or frame around the web browser display view element, a drop-down menu 424 for selecting the line thickness of the border or frame, and a drop-down menu for selecting the background fill color used to render web content. The graphical user control used to define the visual properties of the web browser display view element 402 may also include checkboxes 426 and 428. Checkbox 426 is used to select whether to include scrollbars in the web browser display view element 402 when the web content is not adapted within the boundaries of the web browser display view element 402, and checkbox 428 is used to select whether to include a navigation toolbar 413 for navigating to various web addresses within the web browser. The navigation toolbar 413 may include several user controls for navigating within the web browser during runtime at the operator application 135, such as refresh buttons, back buttons, and forward buttons.

[0105] Furthermore, the edit pane 420 may include a graphical user control 430, such as a free-form text field or drop-down menu, for defining the source address from which web content is rendered. The edit pane 420 may also include graphical user controls for defining a sandbox 432 or sandbox properties 434-444, which indicate restrictions on functionality performed within the web browser at the operator application 135 during runtime.

[0106] More specifically, when the graphical user control for defining sandbox property 434, which restricts scripting and autoplay, is selected, the web browser disables scripting and other automatically triggered features. Therefore, during runtime, the web browser is configured not to execute scripts or other features, such as autoplaying videos, included in web content provided from the source address or another web address. When the graphical user control for defining sandbox property 436, which restricts popups, is selected, the web browser disables popups. Therefore, during runtime, the web browser is configured not to create new windows or dialog boxes. When the graphical user control for defining sandbox property 438, which restricts form submission, is selected, the web browser blocks form submissions. Therefore, during runtime, the web browser is configured not to submit forms. When the graphical user control for defining sandbox property 440, which restricts pointer locking, is selected, the web browser disables application programming interfaces (APIs), such as pointer locking APIs that provide access to raw mouse movement data across the web browser boundaries. Therefore, during runtime, the web browser is configured not to call or execute APIs included in web content provided from the source address or another web address. When the graphical user control with sandbox attribute 442, which defines loading from a single source, is selected, the web browser blocks access to server content and treats the web content as originating from a single source. Therefore, during runtime, the web browser has limited storage capacity and is configured not to access data stored in cookies or other storage mechanisms. When the graphical user control with sandbox attribute 444, which defines navigation only within itself, is selected, the web browser cannot navigate to its top-level parent browsing context or render web content in a new window outside the web browser's frame. In other words, during runtime, the operator cannot navigate out of the web browser's frame or render web content in a new window.

[0107] When a graphical user control is selected to define sandbox 432, the web browser is configured to include all restrictions included in sandbox properties 434-444. Therefore, if a configuration engineer wants to configure the web browser display view element 402 to include all restrictions, the configuration engineer can select sandbox graphical user control 432. Alternatively, if a configuration engineer wants to configure the web browser display view element 402 to include a specific set of restrictions, the configuration engineer can select one or more of the sandbox property graphical user controls 434-444 to identify appropriate restrictions for the web browser display view element 402.

[0108] Additionally, the edit pane 420 may include a graphical user control 446, such as a free-form text field, a drop-down menu, or a button with an expandable window, for defining a source whitelist. The source whitelist specifies web addresses that are allowed to be set as specific source addresses for web content, or web addresses from which data can be retrieved and rendered in a web browser. During runtime, the operator application 135 compares the web addresses included in the source whitelist with the source addresses, and when a source address is included in the source whitelist, only web content from that source address is rendered in the web browser. Then, when the operator navigates to another web address (e.g., by clicking a link that appears as part of the web content or by selecting a user control in the navigation toolbar 413), that other web address is compared with the source whitelist. When that other web address is included in the source whitelist, the operator application 135 renders only web content from that other web address in the web browser. Besides comparing source or other selected web addresses with the source whitelist, when web content retrieves data from a web address different from its source address, that different web address is compared with the source whitelist. When the source whitelist includes the different web address, operator application 135 only presents the data pulled from that different web address.

[0109] Similarly, in some embodiments, the graphical display configuration application 110 may include a graphical user control for defining a local source whitelist and a system source whitelist. The local source whitelist can be applied to a specific instance of the web browser object that configures it. For example, in exemplary view 400, web browser display view element 402 is labeled as web browser 1. The local source whitelist configured in the edit pane 420 for web browser 1 can be applied to web browser 1, meaning that during runtime, the operator application 135 compares the source address used to render content in web browser 1 with the web addresses included in the local source whitelist for web browser 1.

[0110] Additionally, the graphical display configuration application 110 may include a graphical user control for defining a system source whitelist. The system source whitelist may be applied to each instance of a web browser object executed within the process factory during runtime. For example, several display views representing different segments, control modules, function blocks, etc., of the process factory may be created to represent the graphical configuration of the process factory. Some display views may include web browser display view elements. The operator application 135, executed on the user interface device 8, compares the source address used to render content in each web browser display view element with the web addresses included in the system source whitelist. In some embodiments, when a web address is included in both the web browser's local source whitelist and the system source whitelist, the operator application 135 renders only web content from the source address in the web browser.

[0111] Furthermore, in response to receiving a request to navigate to a web address other than the source address, operator application 135 may compare that other web address with a list of web addresses included in the system's source whitelist. If it is determined that the other web address is included in the system's source whitelist, operator application 135 renders web content from that other web address to the web browser. Otherwise, operator application 135 restricts access to that other web address in the web browser and does not render web content from that other web address in the web browser. Alternatively, operator application 135 may continue to render web content from the source address in the web browser.

[0112] Similarly, in some embodiments, the graphical configuration application 110 can obtain a system source whitelist from the graphical configuration database 120. When a configuration engineer adds or removes a web address from the system source whitelist via the graphical configuration application 110, the web address is provided to the graphical configuration database 120 and included in the updated system source whitelist for web browser objects. The updated system source whitelist can also be downloaded to the operator application 135, allowing the operator application 135 to compare source addresses in various web browsers with the updated system source whitelist.

[0113] Figure 5 A flowchart is shown of an exemplary method 500 for configuring a web browser within a display view of a process plant. Method 500 can be performed by a graphical display configuration application 110, an operator application 135, or any suitable combination of these applications operating on one or more UI devices 8.

[0114] At box 502, the position of a web browser display view element within the display view can be defined. For example, the graphical display configuration application 110 may include a graphical user control for selecting a web browser object and defining the position of the web browser display view element within the display view. In addition to defining the position of the web browser display view element, the graphical display configuration application 110 may also include a graphical user control for defining the size (such as its height and width) of the web browser display view element. Then, at box 504, a selection of the source address for the web browser display view element is received. For example, the graphical display configuration application 110 may include a graphical user control, such as a free-form text field or a drop-down menu, for defining the source address from which web content is rendered. The source address may be defined as a static source address (e.g., "https: / / www.processplant.com"), or it may be defined dynamically, where one of a plurality of source addresses is selected as the source address for rendering web content in the web browser based on a specific condition or set of conditions. For example, if the selected source address is "https: / / www.processplant.com", the web browser display view element can be configured to render the "https: / / www.processplant.com" homepage during runtime.

[0115] At box 506, a source whitelist is configured for the web browser's display view elements. The source whitelist specifies web addresses that are allowed to be set as specific source addresses for web content, or web addresses from which data can be fetched and rendered in the web browser. During runtime, operator application 135 compares the web addresses included in the source whitelist with the source addresses, and when a source address is included in the source whitelist, only web content from that source address is rendered in the web browser. In addition to comparing the source or other selected web addresses with the source whitelist, when web content fetches data from a web address different from its source address, that different web address is also compared with the source whitelist.

[0116] At box 508, an option is received to restrict view elements displayed by the web browser. For example, the graphical display configuration application 110 may include a graphical user control for defining a sandbox or sandbox properties. Sandbox properties may include restricting scripts and autoplay, restricting pop-ups, restricting form submissions, restricting pointer locking, loading from a single source, and navigating only within itself. When a graphical user control for defining the sandbox is selected, the web browser is configured to include all the restrictions included in the sandbox properties.

[0117] At box 510, selections for the visual attributes of a web browser display view element are received. For example, the graphical display configuration application 110 may include a graphical user control for selecting whether to include scrollbars in the web browser display view element when web content is not fitted within the boundaries of the web browser display view element, and for selecting whether to include a navigation toolbar for navigating to various web addresses within the web browser. The navigation toolbar 413 may include several user controls for navigating within the web browser during runtime at the operator application 135, such as refresh, back, and forward buttons. The graphical display configuration application 110 may also include graphical user controls for selecting the line color of the border or frame around the web browser display view element, selecting the line thickness of the border or frame, and selecting the background fill color for rendering the web content.

[0118] When a web browser display view element is configured within a display view via the graphical display configuration application 110, the resulting display view with the configured web browser display view element is downloaded to a user interface device for execution, for example, as an instance of operator application 135 in the process plant's working environment 105 (box 512). The resulting display view includes a graphical representation of control elements (e.g., a section of the process plant, a process plant entity, a control module, a function block, an alarm list, historical parameters, etc.) alongside the web browser. In this way, the operator can, for example, view a schematic diagram of the process equipment with process parameter values ​​from the runtime environment and the live camera-feed of the process equipment. Therefore, the operator can view the actual process equipment while operating it, for example, by adjusting the setpoint via a graphical representation of the process equipment depicted in the display view.

[0119] Figure 6 A flowchart is shown of an exemplary method 600 for presenting an embedded web browser within a display view of a process plant. Method 600 can be performed by a graphical display configuration application 110, an operator application 135, or any suitable combination of these applications operating on one or more UI devices 8.

[0120] At box 602, an instance of a web browser object is received for rendering web content within the web browser. For example, operator application 135 may obtain an instance of the web browser object within a display view, where the instance of the web browser object includes a source address for rendering the web content. In the first part of the display view, a graphical representation of control elements is presented (box 604), such as a section of a process plant, a process plant entity, a control module, a function block, an alarm list, historical parameters, etc. Also in the second part of the display view, web browser display view elements defined by the instance of the web browser object are presented using web content from the source address (box 606). For example, operator application 135 may present a schematic diagram of process equipment alongside the web browser, which displays real-time camera feeds from the process equipment.

[0121] In some embodiments, the web browser display view element includes one or more rendering parameters, such as the size and position of the web browser within the display view, the thickness of the lines defining the web browser's borders, the color of the lines, and the fill color of the web browser. Rendering parameters may also include whether to include scrollbars in the web browser when web content is not fitted within the web browser's boundaries, and whether to include toolbars for navigating to various web addresses within the web browser. Furthermore, rendering parameters may include restrictions on functionality performed within the web browser, such as sandboxing or sandbox attributes. Rendering parameters may also include a source whitelist, which specifies web addresses that are allowed to be set as source addresses for rendering web content, or web addresses from which data can be retrieved and rendered in the web browser.

[0122] Operator application 135 renders the web browser based on each rendering parameter. For example, operator application 135 renders the web browser in the display view based on position, size (e.g., height and width), and other visual attributes defined in the rendering parameters. Operator application 135 also renders the web browser using web content from the source address and restricts the functionality within the web browser based on sandboxing or sandboxing attributes defined in the rendering parameters.

[0123] In any case, in response to receiving a request to navigate to another web address within the web browser (e.g., by receiving a selection of a navigation button in the toolbar, by receiving a selection of a link rendered in web content, etc.) (box 608), operator application 135 compares the new web address with a list of web addresses included in the source whitelist used by the web browser (box 610). When the new web address is included in the source whitelist, operator application 135 renders web content from the new web address in the web browser (box 614). Otherwise, operator application 135 restricts access to the new web address in the web browser and continues to render web content from the current web address in the web browser (box 606).

[0124] Embodiments of the technology described in this disclosure may include any number of the following aspects, individually or in combination:

[0125] 1. A method for embedding a web browser in a graphical display view of a process plant, the method comprising: configuring a web browser object via a user interface of a computing device executing a graphical configuration application in a configuration environment of the process plant to render the web browser within the graphical display view using web content from a source address; and downloading the configured web browser object from the configuration environment to the user interface device via the graphical configuration application for execution in the operating environment of the process plant, such that during runtime execution of the graphical display view at the user interface device: (i) rendering the web browser using web content from a source address, and (ii) rendering instructions for one or more process control elements, said one or more process control elements including at least one of a control module, a function block, a process plant entity, or a process segment of the process plant.

[0126] 2. The method according to aspect 1, wherein configuring the web browser object includes configuring one or more restrictions on the web content rendered during runtime execution at the user interface device.

[0127] 3. The method according to any of the foregoing aspects, wherein configuring one or more restrictions includes configuring at least one of the following via one or more user controls presented by a graphical configuration application: restrictions on pop-ups within a web browser; restrictions on executing application programming interfaces (APIs) within a web browser; restrictions on executing scripts within a web browser; restrictions on submitting forms within a web browser; restrictions on accessing server content within a web browser; or restrictions on navigating to a top-level browsing context.

[0128] 4. The method according to any of the foregoing aspects, wherein configuring the web browser object includes: configuring a source whitelist, wherein the source whitelist specifies web addresses that are allowed to be set as source addresses for web content or web addresses from which data can be retrieved and rendered in the web browser.

[0129] 5. The method according to any of the foregoing aspects, wherein configuring the source whitelist includes: configuring a system source whitelist applied to each of the plurality of web browser objects included in each of the plurality of graphical display views in the representation process factory.

[0130] 6. The method according to any of the foregoing aspects, wherein configuring the source whitelist includes: configuring a local source whitelist applied to a web browser object.

[0131] 7. The method according to any of the foregoing aspects, wherein configuring the web browser object includes: selecting whether to include a toolbar for navigating web content within the web browser via a user control presented by a graphical configuration application.

[0132] 8. According to any of the foregoing aspects, configuring the web browser object includes: configuring the size and position of the web browser object within the graphical display view.

[0133] 9. A method for presenting an embedded web browser in a graphical display view of a process plant, the method comprising: receiving, at a user interface device included in an operating environment of the process plant, an instance of a web browser object for presenting a web browser having web content within the graphical display view, the instance of the web browser object including a source address from which the web content is presented and having one or more presentation parameters; and presenting the graphical display view at the user interface device during runtime of the process plant, the graphical display view including: (i) a web browser presented using web content from the source address according to one or more presentation parameters, and (ii) an indication of one or more process control elements, the one or more control elements including at least one of a control module, a function block, a process plant entity, or a process segment of the process plant.

[0134] 10. The method according to aspect 9, wherein receiving an instance of a web browser object comprises: receiving an instance of a web browser object having one or more rendering parameters that indicate a source whitelist, the source whitelist specifying web addresses that are allowed to be set as source addresses for web content or web addresses from which data can be retrieved and rendered in the web browser.

[0135] 11. The method according to either aspect 9 or aspect 10, wherein the source whitelist comprises: a local source whitelist configured during the configuration of the web browser object, and a system source whitelist configured for each of the multiple web browser objects in each of the multiple graphical display views in the representation process factory.

[0136] 12. The method according to any one of aspects 9-11, further comprising: receiving, at a user interface device, a request for navigation to another web address other than the source address via a user control within the web browser; comparing the other web address with one or more web addresses included in a system source whitelist; and, in response to determining that the other web address is included in the system source whitelist, rendering web content from the other web address in the web browser.

[0137] 13. The method according to any one of aspects 9-12 further includes: in response to determining that another web address is not included in the system source whitelist, not displaying web content from the other web address in the web browser.

[0138] 14. The method according to any one of aspects 9-13, wherein receiving an instance of a web browser object comprises: receiving an instance of a web browser object having one or more rendering parameters that indicate one or more restrictions on web content rendered during runtime; and wherein rendering a graphical display view including the web browser using web content from a source address according to one or more rendering parameters comprises: rendering a graphical display view including the web browser using one or more restrictions on the web content.

[0139] 15. The method according to any one of aspects 9-14, wherein one or more restrictions on web content include at least one of the following: restrictions on pop-ups within a web browser; restrictions on executing application programming interfaces (APIs) within a web browser; restrictions on executing scripts within a web browser; restrictions on submitting forms within a web browser; restrictions on accessing server content within a web browser; or restrictions on navigating to a top-level browsing context.

[0140] 16. A user interface device comprising, in an operating environment of a process plant, an embedded web browser for rendering in a graphical display view of the process plant via an operator application, the user interface device comprising: a processor; a display coupled to the processor; and a memory coupled to the processor and storing: (i) an instance of a web browser object configured to render the web browser within the graphical display view using web content from a source address, the instance of the web browser object having one or more rendering parameters; and (ii) computer-executable instructions, which, when executed by the processor during runtime, cause the operator application to: render the graphical display view, the graphical display view comprising: (i) instructions for one or more process control elements, the one or more process control elements comprising at least one of a control module, a function block, a process plant entity, or a process segment of a process plant; and (ii) a web browser rendered using web content from a source address according to one or more rendering parameters.

[0141] 17. The user interface device according to aspect 16, wherein one or more rendering parameters include rendering parameters indicating a source whitelist, the source whitelist specifying web addresses that are allowed to be set as source addresses for web content or web addresses from which data can be retrieved and rendered in a web browser.

[0142] 18. A user interface device according to any one of aspect 16 or aspect 17, wherein the instructions further cause the operator to: receive a request for navigation to another web address other than the source address via a user control within the web browser; compare the other web address with one or more web addresses included in the source whitelist; and, in response to determining that the other web address is included in the source whitelist, render web content from the other web address in the web browser.

[0143] 19. A user interface device according to any one of aspects 16-18, wherein one or more rendering parameters include rendering parameters indicating one or more restrictions on web content rendered during runtime execution.

[0144] 20. A user interface device according to any one of aspects 16-19, wherein one or more restrictions on web content include at least one of the following: restrictions on pop-ups within a web browser; restrictions on executing application programming interfaces (APIs) within a web browser; restrictions on executing scripts within a web browser; restrictions on submitting forms within a web browser; restrictions on accessing server content within a web browser; or restrictions on navigating to a top-level browsing context.

[0145] Furthermore, the preceding aspects of this disclosure are merely exemplary and are not intended to limit the scope of this disclosure.

[0146] The following additional considerations apply to the foregoing discussion. Throughout this specification, actions described as being performed by any device or routine generally refer to actions or processes by which the processor manipulates or transforms data according to machine-readable instructions. Machine-readable instructions may be stored in and retrieved from a memory device communicatively coupled to the processor. In other words, the methods described herein can be embodied by a set of machine-executable instructions stored on a computer-readable medium (i.e., on a memory device), such as Figure 1B As shown in the illustration. When executed by one or more processors of the corresponding device (e.g., a server, user interface device, etc.), the instruction causes the processor to perform the method. In this document, when instructions, routines, modules, procedures, services, programs, and / or applications are referred to as stored or stored in a computer-readable storage or computer-readable medium, the terms "stored" and "stored" are intended to exclude transient signals.

[0147] Furthermore, while the terms “operator,” “person,” “human,” “user,” “technician,” and other terms are used to describe personnel in a process plant environment who may use or interact with the systems, apparatus, and methods described herein, the use of a particular term in the specification is partly due to conventional activities involving plant personnel, but is not intended to limit personnel who may participate in that particular activity.

[0148] Furthermore, throughout this specification, multiple instances can implement components, operations, or structures described as single instances. Although a single operation of one or more methods is shown and described as a separate operation, one or more individual operations can be performed simultaneously, and they do not need to be performed in the order shown. Structures and functions presented as separate components in the exemplary configuration can be implemented as composite structures or components. Similarly, structures and functions presented as single components can be implemented as separate components. These and other variations, modifications, additions, and improvements all fall within the scope of this document.

[0149] Unless otherwise specified, the use of terms such as “processing,” “computing,” “calculating,” “determining,” “identifying,” “presenting,” “causing to present,” “causing to display,” “displaying,” etc., in this discussion may refer to the actions or processes of a machine (e.g., a computer) that manipulate or transform data represented as physical (e.g., electronic, magnetic, biological, or optical) quantities within one or more memories (e.g., volatile memory, non-volatile memory, or combinations thereof), registers, or other machine components that receive, store, transmit, or display information.

[0150] When implemented in software, any applications, services, and engines described herein may be stored in any tangible, non-transitory computer-readable storage medium, such as on a disk, laser disk, solid-state storage device, molecular memory, storage device, or other storage medium, in the RAM or ROM of a computer or processor, etc. Although the exemplary systems disclosed herein are disclosed to include software and / or firmware and other components executed on hardware, it should be noted that these systems are merely illustrative and should not be considered limiting. For example, it is conceivable that any or all of these hardware, software, and firmware components may be implemented exclusively in hardware, exclusively in software, or any combination of hardware and software. Therefore, those skilled in the art will readily understand that the examples provided are not the only way to implement such systems.

[0151] Therefore, although the invention has been described with reference to specific examples, which are for illustrative purposes only and not for limiting the invention, it will be apparent 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 invention.

[0152] It should also be understood that unless the phrase “as used herein, the term '____' is expressly defined herein as meaning…” or a similar phrase is used in this patent, there is no intention to explicitly or implicitly limit the meaning of the term beyond its ordinary or common meaning, and such a term should not be construed as being limited to the scope of any statement based on any part of this patent (other than the language of the claims). If any term described in the claims of this patent is referenced in this patent in a manner consistent with a single meaning, it is for clarity only and to avoid confusing the reader, and it is not intended to imply or otherwise limit such claim terms to that single meaning. Finally, unless the claimed element is defined by the recitation of the word “means” and without any structural description of its function, the scope of any claimed element should not be interpreted based on the application of 35 U.SC §112(f) and / or pre-AIA 35 U.SC §112 paragraph 6.

[0153] Furthermore, although the foregoing text provides detailed descriptions of many different embodiments, it should be understood that the scope of this patent is defined by the wording of the claims set forth in this patent. The detailed descriptions should be interpreted as exemplary only and do not describe every possible embodiment, as it would be impractical to describe every possible embodiment if it were not impossible. Many alternative embodiments can be implemented using current technology or technology developed after the date of this patent application, which still fall within the scope of the claims.

Claims

1. A method for embedding a web browser in a graphical display view of a process plant, the method comprising: A web browser object is configured via the user interface of a computing device that executes a graphical configuration application in the configuration environment of a process plant to render an embedded web browser using web content from a source address within a portion of the graphical display view. as well as The configured web browser object is downloaded from the configuration environment to the user interface device via the graphical configuration application for execution in the operating environment of the process plant, such that during runtime execution of the graphical display view at the user interface device: (i) the embedded web browser is presented in a first portion of the graphical display view using web content from the source address, and (ii) indications of one or more process control elements are presented in a second portion of the graphical display view, the one or more process control elements including at least one of a control module, a function block, a process plant entity, or a process segment of the process plant.

2. The method according to claim 1, wherein, Configuring the web browser object includes configuring one or more restrictions on the web content rendered during runtime execution at the user interface device.

3. The method according to claim 2, wherein, Configuring one or more restrictions includes configuring at least one of the following via one or more user controls presented by the graphical configuration application: Restrictions on pop-ups within the embedded web browser; Restrictions on executing the application programming interface (API) within the embedded web browser; Restrictions on script execution within the embedded web browser; Restrictions on form submissions within the embedded web browser; Restrictions on accessing server content within the embedded web browser; or Restrictions on navigation to the top-level browsing context.

4. The method according to claim 1, wherein, Configuring the web browser object includes configuring a source whitelist, which specifies web addresses that are allowed to be used as source addresses for the web content or web addresses from which data can be retrieved and presented in the embedded web browser.

5. The method according to claim 4, wherein, Configuring the source whitelist includes configuring a system source whitelist that is applied to each of the multiple web browser objects included in each of the multiple graphical display views representing the process plant.

6. The method according to claim 4, wherein, Configuring the source whitelist includes configuring a local source whitelist that is applied to the web browser object.

7. The method according to claim 1, wherein, Configuring the web browser object includes selecting, via a user control presented by the graphical configuration application, whether to include a toolbar for navigating the web content within the embedded web browser.

8. The method according to claim 1, wherein, Configuring the web browser object includes configuring the size and position of the web browser object within the graphical display view.

9. A method for rendering an embedded web browser in a graphical display view of a process plant, the method comprising: At a user interface device included in the operating environment of a process plant, an instance of a web browser object is received from the configuration environment of the process plant for presenting an embedded web browser with web content within a portion of a graphical display view. The instance of the web browser object includes a source address from which the web content is presented and has one or more presentation parameters. During the operation of the process plant, the graphical display view is presented at the user interface device, the graphical display view comprising: (i) the embedded web browser presented in a first portion of the graphical display view using web content from the source address according to one or more presentation parameters, and (ii) indications of one or more process control elements presented in a second portion of the graphical display view, the one or more control elements comprising at least one of a control module, a function block, a process plant entity, or a process segment of the process plant.

10. The method according to claim 9, wherein, Receiving an instance of a web browser object includes receiving an instance of the web browser object having rendering parameters that indicate a source whitelist, the source whitelist specifying web addresses that are allowed to be set as source addresses for the web content or web addresses from which data can be retrieved and rendered in the embedded web browser.

11. The method according to claim 10, wherein, The source whitelist includes: a local source whitelist configured during the configuration of the web browser object, and a system source whitelist configured for each of the multiple web browser objects included in each of the multiple graphical display views representing the process factory.

12. The method of claim 11, further comprising: The user interface device receives a request to navigate to a web address other than the source address via a user control within the embedded web browser; Compare the other web address with one or more web addresses included in the system's source whitelist; In response to determining that the other web address is included in the system source whitelist, the embedded web browser is rendered using web content from the other web address.

13. The method of claim 12, further comprising: In response to determining that the other web address is not included in the system source whitelist, web content from the other web address is not displayed in the embedded web browser.

14. The method according to claim 9, wherein, Receiving an instance of a web browser object includes: receiving an instance of the web browser object having one or more rendering parameters that indicate one or more restrictions on the web content rendered during runtime execution; and Rendering a graphical display view of the embedded web browser using web content from the source address based on one or more rendering parameters includes: rendering the graphical display view of the embedded web browser using one or more restrictions on the web content.

15. The method according to claim 14, wherein, The one or more restrictions on the web content include at least one of the following: Restrictions on pop-ups within the embedded web browser; Restrictions on executing the application programming interface (API) within the embedded web browser; Restrictions on script execution within the embedded web browser; Restrictions on form submissions within the embedded web browser; Restrictions on accessing server content within the embedded web browser; or Restrictions on navigation to the top-level browsing context.

16. A user interface device comprising, in an operating environment of a process plant, an embedded web browser for displaying a graphical view of the process plant via an operator application, the user interface device comprising: processor; A display, the display being coupled to the processor; as well as Memory, coupled to the processor and storing: (i) An instance of a web browser object configured to render an embedded web browser within a portion of the graphical display view using web content from a source address, the instance of the web browser object having one or more rendering parameters, wherein the instance of the web browser object is configured in and downloaded from the configuration environment of the process factory; and (ii) Computer-executable instructions, which, when executed by the processor during runtime, cause the operator to apply: The graphical display view is presented, comprising: (i) indications of one or more process control elements presented in a first portion of the graphical display view, the one or more process control elements including at least one of a control module, function block, process plant entity, or process segment of the process plant; and (ii) the embedded web browser presented in a second portion of the graphical display view, based on the one or more presentation parameters and utilizing the web content from the source address.

17. The user interface device according to claim 16, wherein, The one or more rendering parameters include rendering parameters that indicate a source whitelist, the source whitelist specifying web addresses that are allowed to be set as source addresses for the web content or web addresses from which data can be retrieved and rendered in the embedded web browser.

18. The user interface device according to claim 17, wherein, The instructions also cause the operator to apply: The user control within the embedded web browser receives a request to navigate to a web address other than the source address. Compare the other web address with one or more web addresses included in the source whitelist; and In response to determining that the other web address is included in the source whitelist, the embedded web browser is rendered using web content from the other web address.

19. The user interface device according to claim 16, wherein, The one or more rendering parameters include rendering parameters that indicate one or more restrictions on the web content rendered during runtime execution.

20. The user interface device according to claim 19, wherein, The one or more restrictions on the web content include at least one of the following: Restrictions on pop-ups within the embedded web browser; The application programming interface (API) is executed within the embedded web browser; Restrictions on script execution within the embedded web browser; Restrictions on form submissions within the embedded web browser; Restrictions on accessing server content within the embedded web browser; or Restrictions on navigation to the top-level browsing context.

Citation Information

Patent Citations

  • Derived and Linked Definitions with Override

    US20170364225A1

  • Image integration in process configuration and control environment

    CN101893861A

  • Display and operating unit and method of operating a field instrument having a display and operating unit

    CN107273108A