SYSTEM AND METHOD FOR SUPPORTING MULTI-LANGUAGE DISPLAY VIEW CAPABILITIES IN A PROCESS CONTROL PLANT - Patent application
The graphical display configuration system addresses complex HMI customization and network load issues by enabling independent customization of display views within operator workstations, enhancing flexibility and efficiency in HMI design and maintenance.
Patent Information
- Application Number
- JP2023222958
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2018-09-14
- Filing Date
- 2023-12-28
- Publication Date
- 2025-08-22
- Estimated Expiration
- 2038-10-02
AI Technical Summary
Current operator display configuration architectures in industrial process control systems face challenges such as complex customization of operator HMIs, significant communication network load, and difficulty in maintaining and extending operator workstations, leading to inefficient and time-consuming HMI design and maintenance.
A graphical display configuration system with a centralized configuration database and user interface that allows operators to customize display views independently on their workstations without stopping the display or communicating with the configuration environment, using a graphical display configuration application that includes a user interface for creating, defining, and publishing display views, and storing published configurations.
Enables flexible, easy-to-use, and maintainable operator HMIs that support current HMI standards, allowing real-time updates and customization without network communication overhead, improving operator efficiency and reducing maintenance time.
Smart Images

Figure 0007728325000001 
Figure 0007728325000002 
Figure 0007728325000003
Abstract
Description
[Technical Field]
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of priority and filing date of U.S. Provisional Patent Application No. 62 / 566,679, entitled "Systems And Methods For Graphical Display Configuration and Usage in Process Control Plants," filed October 2, 2017, the entire disclosure of which is expressly incorporated herein by reference.
[0002] The present disclosure relates generally to process control systems, and more particularly to systems and methods for configuring graphics utilized by operators to view and respond to real-time conditions within the operation of an online industrial process plant. [Background technology]
[0003] Distributed process control systems are used within 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, thereby generating or producing one or more physical products from raw materials and / or other types of ingredients. As such, a distributed process control system typically includes one or more process controllers and input / output (I / O) devices communicatively coupled to at least one host or operator interface device and one or more field devices via an analog, digital, or mixed analog / digital bus, or via a wireless communication link or network. The 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 generally perform physical or process control functions, such as opening or closing valves or measuring process parameters, to control one or more industrial processes running within the process plant or system. Smart 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 controllers. Process controllers are also typically located within the plant environment and execute controller applications that run different control modules that receive signals indicative of process measurements made by sensors or field devices and / or other information related to the field devices, e.g., make process control decisions, generate control signals based on the received information, and interface with control modules or blocks implemented in field devices such as HART®, WirelessHART®, and FOUNDATION® Fieldbus field devices. The control modules of the controllers send the control signals over communication lines or links to the field devices, thereby controlling the operation of at least a portion of the process plant or system.
[0004] Information from the field devices and controllers is usually made available over a data highway to one or more other hardware devices, such as operator interfaces, personal computers or computing devices, data historians, report generators, centralized databases, or other centralized computing devices, typically, but not always, located in a control room or other location away from the more hostile plant environment. Each of these hardware devices typically, but not always, manages the processes across or within the process plant. These hardware devices run applications that may enable operators to, for example, view the current state and operation of processes running in the plant, change settings on process control routines, modify the operation of control modules in controllers or field devices, view alarms generated by field devices and controllers, simulate the operation of processes for purposes of training personnel or testing process control software, maintain and update configuration databases, etc. The data highways utilized by the hardware devices, controllers, and field devices may include wired communication paths, wireless communication paths, or a combination of wired and wireless communication paths.
[0005] As an example, the DeltaV™ control system sold by Emerson includes multiple applications stored in and executed by different user interface devices located at various locations within the process plant and, in some cases, remotely from the process plant. Each of these applications provides a user interface (UI) that allows a user (e.g., a configuration engineer, an operator, a maintenance technician, etc.) to view and / or modify aspects and configuration of the process plant operation. Throughout this specification, the phrase "user interface" or "UI" is used to mean an application or screen that allows a user 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 mean a device on which a user interface is running, whether the device is fixed (e.g., a workstation, a wall-mounted display, a process control device display, etc.) or mobile (e.g., a laptop computer, a tablet computer, a smartphone, etc.).
[0006] Configuration applications residing within one or more user workstations or computing devices included within the process plant's configuration environment enable configuration engineers and / or other types of users to create or modify process control modules and download these process control modules via a data highway to dedicated distributed controllers operating within the process plant's operational environment (also referred to interchangeably herein as the process plant's "operating environment") to control one or more processes during runtime or real-time operation. Typically, these control modules are composed of communicatively interconnected function blocks that perform functions within a control scheme based on inputs thereto 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 respective controller application that executes its assigned and downloaded control modules to implement the actual process control functions.
[0007] The configuration application also enables configuration engineers and / or other users to create or modify operator human-machine interfaces (HMIs) or display views that are used by the operator viewing application to display data to the operator (e.g., as data is generated in real time during runtime operation of the process plant) and to allow the operator to change various settings, such as set points, within the process control routines during runtime operation. The operator viewing application that provides the operator HMIs or display views may be used within the operational environment (and The controller applications execute on one or more user interface devices (e.g., operator workstations, operator tablets, operator mobile devices, etc.) included in the data highway (on one or more computing devices communicatively connected to the operator workstations and the data highway). The operator HMI or display view receives data from the controller applications over the data highway and displays this data to the operator or other user using a UI on the user interface device. Similarly, the operator HMI or display view may also receive data (e.g., real-time data) from other control components or elements included in the process plant's operating environment other than control modules, such as controllers, process controllers, field devices, I / O cards or devices, other types of hardware devices, units, areas, etc. The data historian application is typically stored in and executed by a data historian device that collects and stores some or all of the data provided over the data highway, while the configuration database application may run in yet another computer attached to the data highway and store the current process control routine configuration, the current operator display configuration, and their associated data. Alternatively, the configuration database may be located on the same workstation as the configuration application.
[0008] As described above, operator viewing applications typically execute within one or more of the operator user interface devices and provide an operator HMI or display view to an operator or maintenance personnel regarding the operational status of control systems, control components, and / or devices within a plant, for example, while the plant is operating in real time or run time to control one or more industrial processes. Generally speaking, operator HMIs or display views are used by operators in the day-to-day operation (e.g., which may be 24 / 7 operation) of processes running within 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 that receive alarms generated by controllers or devices within the process plant, control displays that display the operational status of controllers and other devices within the process plant, maintenance displays that display the operational status of devices within the process plant, etc. Display views typically execute within the run-time or real-time operating environment of the process plant and are generally configured to present information or data received from process control modules, devices, and / or other control objects also operating within the run-time or real-time operating environment of the process plant in a known manner. In some known systems, the display view has graphical elements (e.g., graphical representations or graphics) associated with physical or logical elements contained within the operating environment and communicatively coupled to the physical or logical elements to receive data regarding and updates to the physical or logical elements over time, e.g., during runtime operation of the process plant. The graphical elements may be configured or defined to dynamically change their appearance on the display screen based on received data, e.g., to illustrate that a tank is half full, to illustrate the flow measured by a flow sensor, etc.In this manner, as data provided by physical or logical elements within the process plant's operating environment changes over time (e.g., is repeatedly or continuously updated over time), the appearance of the corresponding graphical elements is changed accordingly on the display screen.
[0009] In some currently known operator display configuration architectures for industrial process control systems, each operator workstation independently manages its own alarms and alarms generated by process control modules, devices, and / or other control objects. The graphical configuration environment accesses real-time control data generated by the graphical configuration environment. Thus, to customize an operator HMI or display view for a particular operator workstation, custom graphical properties, values, and / or configurations of the various display view elements (e.g., graphical and other types of elements) to be presented on the runtime display view are defined and associated with the display view in the configuration environment, and the display view definition or configuration is downloaded from the configuration environment into the particular operator workstation of the operating environment for execution. Often, custom scripts are programmed into the display view configuration so that the desired behavior and / or appearance of the various display view elements and / or the display view itself is executed on the particular workstation. In addition, if it is desired that the display view appearance or behavior be modified or changed for a particular operator workstation, the modifications 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 on the particular operator workstation. In most cases, this requires the particular operator workstation to finish its execution of the current display view in order for the modified display view configuration to be received and executed at the particular operator workstation.
[0010] In other current operator display configuration architectures for industrial process control systems, a common configuration of display views is downloaded to multiple operator workstations from a graphical configuration environment. Even during runtime, to enable a particular customized appearance and / or behavior of the display view at a particular operator workstation, the particular operator workstation running the display view must query or otherwise communicate with the graphical configuration environment to obtain the necessary information (specific configurations of various graphics, runtime values, and / or other information) to enable or implement the desired customized appearance and / or behavior of the display view at the particular operator workstation. Because modern process plants can include hundreds of operator workstations, the messages sent or received between the operator workstations and the back-end display configuration server add a significant load to the process plant communication network.
[0011] Recently, the Center for Operator Performance (COP), a research consortium that overcomes human capabilities and limitations within industrial process control operating environments through research, collaboration, and ergonomics, and the International Society of Automation (ISA), have conducted research to help advance industrial process control system human-machine interfaces (HMIs) and their usability, for example, by proposing human-centered design (HCD) improvements and guidelines. For example, the American National Standard ANSI / ISA-101.01-2015, entitled "Human Machine Interfaces for Process Automation Systems," approved on July 9, 2015, addresses "the principles, design, implementation, operation, and maintenance of human-machine interfaces (HMIs) for process automation systems involving multiple work processes throughout their lifecycle...The standard defines evolving terminology and models and recommended HMIs within work processes for maintaining the HMI effectively throughout its lifecycle" (ANSI / ISA-101.01-2015, page 9). Summary of the Invention
[0012] As explained above, generally speaking, the operator-machine interface (H Operator HMIs (operator HMIs) or display views are used by operators during the runtime operation of a process to view and respond to conditions within the process and / or process plant. The effectiveness of process plant operators in safely and effectively operating a process and in detecting and responding to various process and process plant conditions depends, in large part, on how well the operator HMI or display view is designed (e.g., by a configuration engineer or other operator HMI designer). However, recent changes in how industrial process plants are operated have a significant impact on the design of operator HMIs. For example, continued competitive pressures in the process control industry have led to a significant expansion of the scope of the portion of a process for which a single operator is responsible. With this expansion, the number of process graphics that a single operator must monitor and utilize to run a process safely and efficiently has increased several-fold. In fact, in today's process plants, operators are typically expected to navigate through hundreds of process graphics. In addition, trends such as increased information in plant equipment and more automation and advanced control logic in the process control industry have led to a significant increase in the level of complexity of the portion of a process for which a single operator is responsible.
[0013] Furthermore, a workspace utilized by a single operator may include one to many consoles or monitors of various sizes. The number and size of monitors and / or consoles is often determined by the size and complexity of the portion of the process being monitored by the operator. In addition, when an operator's workspace includes multiple monitors, each monitor typically has a custom layout defined for its respective monitor size, position, and portion of the process being monitored. For example, the custom layout defines what displays are open on which monitors, how displays on different monitors interact with each other, etc.
[0014] Furthermore, when no two process plants or operational segments within a plant are alike, in practice each process plant often develops and designs its own custom operating principles, graphics, and / or graphical standards for effective operation. Thus, operator HMI graphics, strategies, designs, layouts, navigation, and / or operator actions can be highly custom configured for different operational segments and / or different process plants.
[0015] These and other factors have always made the job of configuration engineers who design operator HMIs difficult. Often, configuration engineers must create complex program extensions to customize or enhance various capabilities of a particular operation segment and / or plant. Typically, configuration engineers must utilize programming languages such as Visual Basic or C, and / or other custom programs, to create the desired operator HMI. This results in complex operator HMI suites that are difficult and time-consuming to develop, extend, repair, and maintain.
[0016] At least some of the aspects of the novel graphical display configurations and systems and methods of use disclosed herein solve these and other modern HMI challenges and provide a platform for industrial process control HMI design and use that is not only flexible, easy to use, and easy to maintain, but also helps engineers design and implement process plant operating environment HMIs in light of current process automation HMI standards and best practices.
[0017] In one embodiment, a graphical display configuration for an industrial process plant and The usage system (also referred to interchangeably herein as a "graphical configuration system" or a "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 a configuration engineer. The configured or defined display views, when downloaded and executed within the operational or operational environment of the process plant, provide an operator or other user with real-time (e.g., continuously or repeatedly updated) operational states and status of various components and operations associated with the process. As such, a display view typically includes respective links between one or more display view elements presented on the display view and one or more control modules, devices, or control objects executing to control a process within the operating environment of the process plant, such that upon downloading and execution of a published configuration of the display view 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, respective representations of one or more values or other data provided or generated by one or more control modules, devices, or control objects during execution within the operating environment of the process plant are presented and repeatedly updated on the running display view, e.g., via the linked display view elements.
[0018] The graphical display configuration system also includes a centralized configuration database or library that stores published configurations or definitions of display views and published configurations or definitions of display view elements that are available for inclusion 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, properties, control modules, devices, objects and / or links to other control components or elements disposed in the operating environment, global variables, parameters, areas or subsections of the display view, and / or other elements and / or portions of the display view. In one example, for a particular display view, the centralized configuration database or library stores the published configuration of the particular display view and, optionally, one or more working or draft configurations of the particular display view. The published configuration of a particular display view may include one or more published configurations of various display views for display on the running display view, and the published display view configurations are available for download and execution within the operating environment of the process plant. Meanwhile, one or more working or draft configurations of a particular display view are excluded from downloading and execution within the operational environment of the process plant, i.e., the working or draft configurations of the display view and display view elements are prevented from being downloaded and executed within the operational environment of the process plant and instead are maintained within the configuration environment, e.g., for editing, modification, testing, etc.
[0019] The published configuration or definition of a particular display view may include one or more user controls through which operators or users of user interface devices included within the process plant's operating environment may modify the appearance of the display view running online at their respective user interface devices during runtime operation. For example, operators may modify graphic appearances, graphic properties, display view areas, properties, and / or The content of areas of the display view, the position of graphics on the display view, specific data from control modules, devices, or control objects to be displayed, and / or other appearances of elements, areas, or portions of the display view during execution can be changed. Notably, the graphics configuration system allows changes to the appearance of a display view running within the operating environment to be implemented at an operator workstation based solely on the content of a published configuration or definition of the display view running at the operation workstation. That is, the downloaded and published configuration of the display view allows an operator to customize or change the appearance of the display view at the operator's workstation while the display view is running online within the operating environment, without requiring the display view to stop execution, without requiring the display view to download a different configuration, and without requiring the display view and / or operator workstation to retrieve data from the configuration environment to implement the desired changes.
[0020] Thus, when a published configuration or definition of a particular display view is downloaded to multiple user interface devices or operator workstations included within the process plant's operating environment, each operator or user can customize or change the local appearance of the instance of the display view running on their workstation, independently of the other operators or users and without their workstation having to communicate with the graphical display configuration application and configuration library. Some operator-initiated changes or customizations may be implemented in a mutually exclusive manner on a particular workstation, e.g., an operator selects that the fill property of a graphic be either gray or blue, but not both. Some changes may not be mutually exclusive on a particular workstation (e.g., changes may be applied cumulatively or independently), such as when an operator drags and drops graphics showing a particular control element that the operator wants to actively (and easily) monitor into an Active Monitor or Watch window included on the display.
[0021] In one embodiment, a method for configuring a graphical display of run-time or real-time operation of a process plant includes receiving a display view definition via a user interface of a graphical display configuration application executing within a configuration environment of the process plant. The display view typically includes various graphical elements representing respective control modules, devices, and / or other control components (also interchangeably referred to herein as control elements or control objects) that execute or operate within the operational environment of the process plant to control at least a portion of a process, such as, for example, controllers, process controllers, field devices, I / O cards or devices, other types of hardware devices, units, areas, etc. Accordingly, the display view definition defines links between the graphical elements presented on the display view and the control components or objects, such that upon download and execution of the display view within the operational environment of the process plant, one or more values or other data generated by the control components or control objects during execution within the operational environment of the process plant to control a process are presented and repeatedly updated on the running display view via the linked graphical elements. The graphical elements may, for example, be graphics that show or represent a particular control module, device, or other control component or object.
[0022] In addition, a definition of a display view typically includes definitions of each of the various other graphical portions, elements, or components (and / or combinations thereof) included on and / or otherwise associated with the display view, such as graphics, text, properties of the graphics and / or text (e.g., color, contrast, animation, etc.), global variables, parameters, different areas of the display view, the respective properties and / or content of the different areas of the display view, different positions of various graphics, text, and / or areas on the display view, and / or specific operational data resulting from control modules, devices, and / or other control objects and their binding to the respective graphics or other elements on the display view, etc. Other such graphical portions, elements, and / or components that may be included on and / or otherwise associated with a display view may include, for example, a display view hierarchy, a display view layout, timers, embedded links, animation transformation functions, data references, project or plant standards, display themes, content language and / or their representation, application language and / or their representation, tab areas on a display view, tooltips and / or other annotation representations, trending and other representations of historized parameters, gaze or active monitoring areas, and / or other features, aspects, and / or functionality provided by the present graphical configuration and usage systems and methods described herein.Still other graphical portions, elements, and / or components that may be included on and / or otherwise associated with a display view may include custom and / or default Graphic Element Module (GEM) configurations (such as those described in commonly owned U.S. patent application Ser. No. 15 / 692,450, entitled "Derived and Linked Definitions with Override," filed August 31, 2017) and / or may include operator display switching preview configurations and / or objects associated therewith (such as those described in commonly owned U.S. patent application Ser. No. 15 / 243,176, entitled "Operator Display Switching Preview," filed August 22, 2016).
[0023] At least for ease of reading this specification, such graphical portions, elements, or components (and combinations thereof) included on and / or otherwise associated with a display view will generally be referred to herein interchangeably as “graphical display view elements,” “graphical elements,” “graphical components,” “display view elements,” “display elements,” or “display view components.” Typically, each display view element may be defined by or composed using its own separate object, which may be created, modified, stored, and published via the graphical composition and usage systems and methods described herein.
[0024] Some of the definitions of display view elements may define mutually exclusive choices, for example, the overall color theme of the display view may be selectively changed by the operator between various defined color themes, or the language used on the display view may be switched by the operator between Arabic and French. Some of the definitions of display view elements may not be mutually exclusive, such as when the operator drags and drops graphics showing particular control elements that the operator wants to actively (and easily) monitor into an active monitoring or gaze window included on the display.
[0025] With particular reference to a display view configuration or definition that defines multiple properties selectable within the operational environment in a mutually exclusive manner for application to a specific portion of a running display view, the method includes receiving, via a user interface of a graphical display configuration application, an indication of a selection of a subset of multiple user interface devices (e.g., operator workstations) that are included within the operational environment of the process plant and to which respective instances of the display view definition will be downloaded for execution. The selected subset of user interface devices may include more than one user interface device, if desired. The method downloads the display view definition (the published definition) into each user interface device included within the selected subset of user interface devices for execution within the operational environment of the process plant, thereby enabling specific portions of the running display view to be selectively changed independently at each user interface device in a mutually exclusive manner among the multiple properties. Thus, each user interface device implements its respective change based solely on the content of the downloaded definition of the display view running at the user interface device and without communicating with any other devices included within the configuration environment of the process plant to activate or implement the change. Thus, a first operator may select "blink" for a particular property of a particular graphic to be included on the display view of his / her workstation, while another operator may select "no blink" for a particular property of a particular graphic to be included on the display view of his / her workstation.Both options are fully supported and implemented solely by the respective downloaded definitions of the display views running on the workstations, without requiring the execution of the display views on the workstations to be stopped, without requiring different configurations of the display views to be downloaded to the workstations, and without the display views and / or operator workstations obtaining data or other information from the configuration environment to implement the desired changes.
[0026] It should be noted that while the disclosure herein refers to graphical display views and graphical display view elements, this is for illustrative purposes and simplicity of discussion only and is not meant to be limiting. Indeed, any one or more of the aspects discussed herein with respect to graphical display views may be readily applied to, for example, a graphical element module (GEM) class. Similarly, any one or more of the aspects discussed herein with respect to graphical display view elements may be readily applied to, for example, a GEM. As commonly known, a GEM is a linked graphically configurable shape that is reusable and can be combined with other shapes and / or behaviors. Typically, a GEM provides one or more visual representations or views of a configurable shape, and the definition or configuration of the GEM is stored separately from the definition or configuration of uses / instances of the GEM in particular display views and other objects (e.g., to enable sharing of the GEM definition / configuration). As such, the graphical configuration systems and methods described herein and any one or more aspects thereof may be readily applied to GEMs and GEM classes. [Brief explanation of the drawings]
[0027] [Figure 1A] FIG. 1 is a block diagram of a distributed process control network located within a process plant including the graphics configuration and use system and method of the present disclosure. [Figure 1B]1B is a block diagram of an example of a user interface device illustrated generally in FIG. 1A. [Figure 2A] 1B is a block diagram of an example implementation of a graphical display configuration and use system within a configuration environment and an operating environment of a process plant, such as the process plant of FIG. 1A. [Figure 2B] FIG. 2B is a block diagram of an example implementation of a graphical configuration library that may be included within the graphical configuration and use system of FIG. 2A. [Figure 2C] 2B depicts a block diagram of an example of a snapshot during ongoing configuration of a display view using the graphical configuration and use system of FIG. 2A; [Figure 3A] 1 is an example of a view of a graphical display configuration application for defining graphics and an example of a view of an operator application for presenting graphics according to definitions from the graphical display configuration application. [Figure 3B] 1 is an example of a detailed view of a graphical display configuration application for defining graphics. [Figure 4A] 1 illustrates at least a portion of an example workflow for an operator to change the content and application language of a display view during runtime. [Figure 4B] 1 illustrates at least a portion of an example workflow for an operator to change the content and application language of a display view during runtime. [Figure 4C] 1 is a flow diagram of an exemplary method for presenting multiple languages to an operator workstation. [Figure 5A] 1 illustrates at least a portion of an example workflow for a configuration engineer adding new or additional languages to the set of active languages available to a plant operator during runtime via a graphical display configuration application. [Figure 5B]1 illustrates at least a portion of an example workflow for a configuration engineer adding new or additional languages to the set of active languages available to a plant operator during runtime via a graphical display configuration application. [Figure 5C] 1 illustrates at least a portion of an example workflow for a configuration engineer adding new or additional languages to the set of active languages available to a plant operator during runtime via a graphical display configuration application. [Figure 5D] 1 illustrates at least a portion of an example workflow for a configuration engineer previewing the appearance of different languages in a draft display view. [Figure 5E] 1 illustrates at least a portion of an example workflow for a configuration engineer previewing the appearance of different languages in a draft display view. [Figure 5F] 1 is a flow diagram of an exemplary method for configuring multi-language support via a graphical display configuration application. DETAILED DESCRIPTION OF THE INVENTION
[0028] 1A is a block diagram of a representative process control network or system 2 operating within a process control system or process plant 10 that includes and / or may utilize embodiments of the novel graphical display configuration and usage system 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. The devices coupled to the network backbone 5, in various embodiments, include one or more access points 7a, one or more gateways 7b to other process plants (e.g., via an intranet or enterprise wide area network), one or more gateways 7c to external systems (e.g., to the Internet), one or more user interface (UI) devices 8, which may be fixed (e.g., traditional operator workstations) or portable (e.g., mobile device smartphone) computing devices, one or more servers 12 (which may be implemented, for example, as a bank of servers, a cloud computing device, or another suitable configuration), 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 includes the wireless field devices 40 to 46, the wireless adapters 52a and 52b, the access points 55a and 55b, and the router 58. 1A depicts only a single one of several devices directly and / or communicatively connected to the network backbone 5, it will be understood that each of the devices may have multiple instances on the network backbone 5, and indeed the process plant 10 may include multiple network backbones 5.
[0029] The UI device 8 may be communicatively connected to the controller 11 and the wireless gateway 35 via the network backbone 5. The controller 11 may be communicatively connected to the wired field devices 15-22 via input / output (I / O) cards 26 and 28, and to the wireless field devices 40-46 via the network backbone 5 and the wireless gateway 35. The controller 11 may operate to implement a batch or continuous process using at least some of the field devices 15-22 and 40-50. The controller 11, which may be a DeltaV™ controller sold by Emerson, by way of example, is communicatively connected to the process control network backbone 5. The controller 11 may also be communicatively connected to the field devices 15-22 and 40-50 using any desired hardware and software associated with, for example, standard 4-20 mA devices, I / O cards 26, 28, and / or any smart communication protocol, such as the FOUNDATION® Fieldbus protocol, the HART® protocol, the WirelessHART® protocol, etc. In the embodiment illustrated in FIG. 1A, the controller 11, the field devices 15-22, 48, 50, and the I / O cards 26, 28 are wired devices, and the field devices 40-46 are wireless field devices.
[0030] In operation of the UI device 8, the UI device 8, in some embodiments, may execute a user interface (“UI”), enabling the UI device 8 to receive input via an input interface and provide output on a display. The UI device 8 may receive data (e.g., process-related data, such as process parameters, log data, sensor data, and / or any other data that may be captured and stored) from the server 12. In other embodiments, the UI may execute in whole or in part on the server 12, and the server 12 may transmit display data to the UI device 8. The 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 the controller 11, the wireless gateway 35, and / or the server 12, via the backbone 5. Based on the UI data received by the UI device 8, the UI device 8 provides output (i.e., visual representations or graphics, some of which may be updated during runtime) representing aspects of a process associated with the process control network or system 2, enabling a user to monitor the process. A user may also affect control of the process by providing input to the UI device 8. To illustrate, UI device 8 may provide graphics depicting, for example, a tank filling process. In such a scenario, a user may read a tank level measurement and determine that the tank needs to be filled. The user may interact with an inlet valve graphic displayed on UI device 8 to input a command to open the inlet valve.
[0031] In certain embodiments, UI device 8 may implement any type of client, such as a thin client, a web client, or a thick client. For example, UI device 8 may be configured to communicate with other nodes, computers, UI devices, or UI devices when the UI device is limited by memory, battery power, etc. (e.g., in a wearable device). A thin-client UI device 8 may rely on a server for the bulk of the processing required for the operation of the UI device 8. In such an example, the UI device 8 may communicate with the server 12 or another UI device, which may communicate with one or more other nodes (e.g., servers) on the process control network or system 2 and determine the display and / or process data to send to the UI device 8. Additionally, the UI device 8 may pass any data associated with received user input to the server 12 so that the server 12 can process and act accordingly. In other words, the UI device 8 may do little more than draw graphics and act as a portal to one or more nodes or servers that store data and perform routines necessary for the operation of the UI device 8. A thin-client UI device offers the advantage of minimal hardware requirements for the UI device 8.
[0032] In other embodiments, the UI device 8 may be a web client. In such embodiments, a user of the UI device 8 may interact with the process control system through a browser on the UI device 8. The browser allows the user to access data and resources of another node or server 12 (such as the server 12) via the backbone 5. For example, the browser may receive UI data, such as display data or process parameter data, from the server 12, allowing the browser to render graphics for controlling and / or monitoring some or all of the process. The browser may also receive user input (such as a mouse click on a graphic). The user input may cause the browser to retrieve or access information resources stored on the server 12. For example, a mouse click may cause the browser to retrieve (from the server 12) and display information pertaining to the clicked graphic.
[0033] In yet other embodiments, the bulk of the processing for UI device 8 may be performed on UI device 8. For example, UI device 8 may execute the UI described above. UI device 8 may also store, access, and analyze data locally.
[0034] In operation, a user may interact with the UI device 8 to monitor or control one or more devices in the process control network or system 2, such as any of the field devices 15-22 or devices 40-50. The user may interact with the UI device 8 to, for example, modify or change parameters associated with a control routine stored in the controller 11. The processor 30 of the controller 11 implements or oversees one or more process control routines (stored in memory 32), which may include control loops. The processor 30 may communicate with the 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 thereof implemented or performed by different controllers or other devices, if desired. Similarly, the control routines or modules described herein to be implemented in the process control system may take any form, including software, firmware, etc. The control routines may be implemented in any desired software format, such as using object-oriented programming, ladder logic, sequential function charts, functional block diagrams, or any other software programming language or design paradigm. Specifically, the control routines may be defined and implemented by a user through the UI device 8. The control routines may be stored in any desired type of memory, such as random access memory (RAM) or read-only memory (ROM) of the controller 11. Similarly, the control routines may be hard-coded, for example, into one or more EPROMs, EEPROMs, application-specific integrated circuits (ASICs), or any other hardware or firmware elements of the controller 11. Thus, the controller 11 may be configured to implement (e.g., receive, store, and / or execute) control strategies or control routines in any desired manner (in certain embodiments, by a user using the UI device 8).
[0035] In some embodiments of the UI device 8, a user may interact with the UI device 8 to define and implement control strategies in the controller 11 using what are commonly referred to as function blocks, each of which is an object or other portion (e.g., a subroutine) of an overall control routine that operates in conjunction with other function blocks (through communications called links) to implement a process control loop within a process control system. Control-based function blocks typically perform one of the following functions: an input function, such as one associated with a transmitter, sensor, or other process parameter measurement device; a control function, such as one associated with a control routine that performs control such as PID, fuzzy logic, or the like; or an output function that controls the operation of some device, such as a valve, to perform some physical function within the process control system. Of course, hybrid and other types of function blocks exist. The function blocks may have graphical representations provided on the UI device 8, allowing a user to easily modify the function blocks, the connections between them, and the inputs / outputs associated with each of the function blocks implemented within the process control system. The function blocks may be downloaded to, stored therein, and executed by the controller 11, as is typically the case when these function blocks are used for or associated with some types of smart field devices, such as standard 4-20 mA devices and HART devices, or may be stored in and implemented by the field device itself, as may be the case with Fieldbus devices. The controller 11 may include one or more control routines 38 that may implement one or more control loops. Each control loop, typically referred to as a control module, may be performed by executing one or more of the function blocks.
[0036] 1A , the wireless field devices 40-46 communicate within the wireless network 70 using a wireless protocol, such as the WirelessHART protocol. In certain embodiments, the UI device 8 may be able to communicate with the wireless field devices 40-46 using the wireless network 70. Such wireless field devices 40-46 may communicate directly with one or more other nodes of the process control network or system 2, where one or more other nodes are also configured to communicate wirelessly (e.g., using a wireless protocol). To communicate with one or more nodes not configured to communicate wirelessly, the wireless field devices 40-46 may utilize a wireless gateway 35 connected to the backbone 5. Of course, the field devices 15-22 and 40-46 may conform to any other desired standard or protocol, such as any wired or wireless protocol, including any standard or protocol developed in the future.
[0037] The wireless gateway 35 may provide access to various wireless devices or nodes 40-46, 52-58 of the wireless communication network 70. Specifically, the wireless gateway 35 provides a communicative coupling between the wireless devices 40-46, 52-58 and other nodes of the process control network or system 2 (including the controller 11 of FIG. 1A). In one implementation, the wireless gateway 35 provides a communicative coupling by tunneling through shared layers of the wired and wireless protocol stacks, while in some cases providing routing, buffering, and timing services to lower layers of the wired and wireless protocol stacks (e.g., address translation, routing packet segmentation, prioritization, etc.). In other cases, the wireless gateway 35 may translate commands between wired and wireless protocols that do not share any protocol layers.
[0038] Similar to the wired field devices 15 to 22, the wireless field devices of the wireless network 70 The wireless field devices 40-46 may perform physical control functions within the process plant 10, such as opening or closing a valve or obtaining measurements of a process parameter. However, the wireless field devices 40-46 are configured to communicate using the wireless protocol of the network 70. As such, the wireless field devices 40-46, the wireless gateway 35, and the other wireless nodes 52-58 of the wireless network 70 are producers and consumers of wireless communication packets.
[0039] In some scenarios, the wireless network 70 may include non-wireless devices 48, 50, which may be wired devices. For example, the field device 48 in FIG. 1A may be an older 4-20 mA device, and the field device 50 may be a traditional wired HART device. To communicate with the network 70, the field devices 48, 50 may connect to the wireless communication network 70 via respective wireless adapters (WAs) 52a, 52b. In addition, the wireless adapters 52a, 52b may support other communication protocols, such as Foundation® 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 within the wired communication network including the wireless gateway 35, or may be provided together with the wireless gateway 35 as an integrated device. The wireless network 70 may also include one or more routers 58 to route packets from one wireless device to another within the wireless communication network 70. Wireless devices 40 - 46 and 52 - 58 may communicate with each other and with wireless gateway 35 via wireless links 60 of wireless communication network 70 .
[0040] In certain 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 local area network protocols, mobile communication protocols such as WiMAX (Worldwide Interoperability for Microwave Access), LTE (Long Term Evolution) or other ITU-R (International Telecommunications Union Radiocommunication Sector) compliant protocols, short wavelength wireless communications such as near field communication (NFC) and Bluetooth, and / or other wireless communication protocols. Typically, such wireless access points 7a enable handheld or other portable computing devices to communicate over respective wireless networks that are different from the wireless network 70 and that support different wireless protocols than the wireless network 70. In some embodiments, UI devices 8 communicate over the process control network or system 2 using the wireless access points 7a. In some scenarios, in addition to the portable computing device, 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.
[0041] Additionally or alternatively, the process control network or system 2 may include one or more gateways 7b, 7c to systems external to the immediate process control system. In such an embodiment, the UI device 8 may be used to control, monitor, or otherwise communicate with the external systems. Typically, such systems are consumers and / or providers of information generated or manipulated by the process control system. For example, a plant gateway node 7b may communicatively connect the immediate process plant 10 (having its own respective process control data network backbone 5) with another process plant, which has its own respective network backbone. In one embodiment, a single network backbone may be used to communicatively connect the immediate process plant 10 (having its own respective process control data network backbone 5) with another process plant, which has its own respective network backbone. Cloudborn 5 services multiple process plants or process control environments.
[0042] In another example, the plant gateway node 7b may communicatively connect the immediate process plant to an older or prior art process plant that does not include the process control network or system 2 or backbone 5. In this example, the plant gateway node 7b may convert or translate messages between the protocol utilized by the process control big data backbone 5 of the plant 10 and a different protocol utilized by the older system (e.g., Ethernet, Profibus, Fieldbus, DeviceNet, etc.). In such an example, the UI device 8 may be used to control, monitor, or otherwise communicate with a system or network within the older or prior art process plant.
[0043] 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 a laboratory system (e.g., a laboratory information management system or LIMS), a personnel rotation database, a material handling management system, a maintenance management system, a product inventory control system, a production planning system, a weather data system, a shipping and material handling system, a packaging system, 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).
[0044] 1A illustrates a single controller 11 with a finite number of field devices 15-22, 40-46, and 48-50 communicatively connected thereto, but this is merely an exemplary and non-limiting embodiment. Any number of controllers 11 may be included in the process control network or system 2, and any of the controllers 11 may communicate with any number of wired or wireless field devices 15-22, 40-50 to control processes within the plant 10. Additionally, the 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.
[0045] FIG. 1B illustrates a block diagram of one example of a UI device 8 that may be utilized in conjunction with embodiments of the novel graphical display configuration and usage system described herein. UI device 8 may be a desktop computer such as a traditional operator workstation, a control room display, or a mobile computing device such as a laptop computer, a tablet computer, a mobile device such as a smartphone, a personal digital assistant (PDA), a wearable computing device, or any other suitable client computing device. UI device 8 may execute graphical display configuration applications utilized by configuration engineers within 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 may also execute operator applications utilized by operators to monitor, observe, and react to various statuses and conditions of processes within the operating environment. UI device 8 may include a display 72. Additionally, 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 transmitting and receiving data over a local area network, a wide area network, and / or any other suitable network, which may be wired and / or wireless. UI device 8 may also include 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 transmitting and receiving data over a local area network, a wide area network, and / or any other suitable network, which may be wired and / or wireless. The computer may communicate with a suitable computing device.
[0046] 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 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 then cause the graphical representation of the portion of the process plant to be presented on the display 72. Additionally, the control unit 90 may obtain 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 a request to present a graphical display view in a particular language, a request to include graphics showing a particular control element in an active monitoring or gaze window to be included on the display view, a request to display an adjustment to a process parameter to be included in one of the process sections, etc.
[0047] In some embodiments, the control unit 90 may communicate the translated 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 translated user input and present the new UI on the display 72 of the UI device 8. When the translated user input is a request to display an adjustment to a process parameter included in one of the process sections, the control unit 90 may adjust the process parameter value on the display 72 according to the user input from the operator and provide instructions to the controller 11 to adjust the process parameter within the process plant. In other embodiments, the control unit 90 may communicate the translated user input to the server 12, which may generate the adjusted process parameter value, send it to the UI device 8 for display, and provide instructions to the controller 11 to adjust the process parameter within the process plant.
[0048] 2A depicts a high-level block diagram illustrating one possible manner of implementing embodiments and / or aspects of the graphical display configuration and use system 100 described herein within the configuration environment 102 and operation or operational environment 105 of a process plant or process control system, for example, of the process plant 10 of FIG. 1A. The configuration environment 102 of the process control system is referred to interchangeably herein as the "offline" environment 102 or "back-end" environment 102 of the process control system, and the operational environment 105 of the process control system is referred to interchangeably herein as the "operation," "online," "front-end," or "field" environment 105 of the process control system.
[0049] As illustrated in FIG. 2A , configuration environment 102 includes a graphical display configuration application 110 that includes a user interface through which a configuration engineer or user may create, generate, and / or edit various display view definitions or configurations 112 and various display view element definitions or configurations 115. For example, graphical display configuration application 110 may execute on an instance of user device 8 of FIGS. 1A and / or 1B . Each display view configuration 112 and each display element configuration 115 may be implemented, for example, as a respective object. Generally speaking, a display view definition 112 may be configured to include one or more display element definitions 115 (among other components). Typically, a display view definition 112 is associated with a particular control module, device, or control object in operating environment 105. The associated runtime data is configured to include at least one display element (e.g., a graphical element) linked to a particular control module, device, or other type of control object so that it can be represented, e.g., in a continuously or repeatedly updated manner, via the linked display element on a running display view. A particular 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 in a display view definition 112, for example, by a designated control tag or other appropriate indicator. As shown in FIG. 2A , display view-related definitions or configurations 112, 115 are stored in a centralized graphical configuration database or library 120 so that the graphical display-related configurations 112, 115 are available for download and execution within the operating environment 105, thereby enabling an operator or user to monitor, observe, and react to various statuses and conditions of processes within the operating environment 105. It should be noted that while the graphical configuration database 120 and the control configuration database 118 are illustrated in FIG. 2A as being separate databases within the configuration environment 102 of the process control system 10, in some implementations at least a portion or all of the configuration databases 120, 118 may be implemented together as a single database or library.
[0050] 2A , the display view configuration 112 may be defined to specify one or more control objects 118 associated with or coupled to each display view element 115 included on the display view 112, and the definitions of the display view elements 115 and their respective coupled control objects 118 are then instantiated and provided (e.g., downloaded) to one or more different operator workstations or user interface devices 122 included within the operating environment 105 of the process plant 10. In one example, the user interface device or workstation 122 takes the form of the user interface device 8 of FIG. 1B . The instantiated display view 112 running on the user interface device 122 communicates with a control module runtime environment 125, which may be executing within the 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 associated control objects 118 of the display view 112. The user interface device 122 may communicate with the control module runtime environment 125 using any desired or pre-configured communication network, such as the data highway 5 and / or the wireless communication network 70 of FIG. 1A.
[0051] In some embodiments, user interface device 122 uses download script parser 128 to parse at least some of the downloaded display view configuration 112 during its execution (e.g., when performing object code conversion), although use of download script parser 128 by user interface device 122 is not necessary or required, for example, when downloaded display view configuration 112 does not contain any script.
[0052] In some embodiments, the user interface device 122 uses a rule-based execution engine 130 to execute process flow algorithms or other rule-based procedures (e.g., provided by the process flow runtime environment 132) represented by or coupled to the display view element objects 115 and / or display view objects 112, such as when one or more of the display view element objects 115 are smart process objects. Generally speaking, smart process objects are used in conjunction with other engines within the process plant 10. The smart process objects are defined or configured to include data storage for storing data belonging to and received from the plant entities, and inputs and outputs for communicating with other smart process objects and methods that can be executed on the stored and received data, e.g., to detect plant or device conditions. In some configurations, smart process objects are communicatively connected together to create process flow modules that provide display views for plant entities, such as areas, devices, elements, modules, etc., and implement a set of rules for the plant entities, which are executed within runtime by the process flow runtime environment 132, e.g., by using the execution engine 130. Note that use of the execution engine 130 by the user interface 122 is not necessary or required, e.g., when the downloaded display view configuration 112 does not include any smart process objects. Note further that other methods of integrating display views and display view elements with runtime control objects within the operating environment 105 other than those discussed herein are additionally or alternatively contemplated and may be utilized by the graphical display configuration and usage system 100. For ease of discussion, the instantiated display views that execute on or are provided to the user interface devices 122 of the operating environment 105 are generally referred to herein as operator or operation applications 135 .
[0053] FIG. 2B depicts a detailed block diagram of one embodiment of a graphical configuration library 120 included within the graphical display configuration and usage system 100 of FIG. 2A. As illustrated in FIG. 2B, the graphical configuration library 120 stores both display view definitions or configurations 112 and display view element definitions or configurations 115. Each definition or configuration 112, 115 may have associated therewith a published version and optionally one or more draft versions (interchangeably referred to herein as “in progress” or “work-in-progress” versions) stored within the library 120. As shown in FIG. 2B, view 1 has two corresponding draft configurations and one corresponding published configuration stored within the graphical configuration database 120. In addition, the graphical configuration database 120 is shown to store one draft configuration and two published configurations for view 2, one published configuration and no draft configurations for view 3, and m draft configurations and one published configuration for view N. Generally speaking, only published configurations or definitions are enabled or permitted to be downloaded into the operating environment 105 from the graphical configuration library 120 or elsewhere in the configuration environment 102. Draft configurations or definitions may, in some embodiments, be maintained, stored, and edited solely within the configuration environment 102. If a draft configuration or definition is stored in the configuration environment 102, the draft is prevented from being downloaded into the operating environment 105. When a configuration engineer is satisfied with a draft display-related configuration or definition 112, 115, the engineer may explicitly publish the display-related configuration or definition 112, 115 (e.g., change its status to “published”) so that it becomes available for download and execution within the runtime process plant 10. In some embodiments, a single user control may implement both publishing and subsequent downloading.In other embodiments, the publish user control or command and the download user control or command are different and separate user controls provided by the configuration application 110 .
[0054] In this way, multiple configuration engineers can create, modify, and test graphical configurations and definitions (simultaneously in some scenarios) without affecting the runtime operation of the target configuration, as exemplified, for example, by the m draft configurations of view N and the published configuration of view N. In addition, different versions of the same display view can be A publication may be published and available for runtime operation, for example, when the same display view is configured to have different combinations of operator customizations downloaded to different areas of the plant, as exemplified by two publications of View 2. (Of course, graphical configuration system 100 allows a configuration engineer to rename different publications of View 2 as separate views instead of different publications of the same view, if so desired.) In some embodiments, at least some of the published display views and published display view elements are available as-is, i.e., at least some published display views and published display view elements are provided as defaults in library 120. Such default views and elements may be edited or modified by a configuration engineer using graphical display configuration application 110, and the modified views or elements may be published as additional or alternative published versions of the default objects 112, 115.
[0055] A particular display view configuration may be defined, for example, by a configuration engineer or user via graphical display configuration application 110, to include (e.g., cite, specify, or reference) one or more display view element configurations, among other components. Similarly, in some instances, a particular display view element configuration may be defined to include (e.g., cite, specify, or reference) one or more other display view elements. Notably, various display-related configurations or definitions (whether display views and / or display view elements) may each define a set of operator-selectable customizations that are made available to an operator to modify the appearance of the corresponding display view or display view element during runtime as the operator desires, without the need to create and / or download a revised configuration and without the need for the user interface device on which the display view is running to obtain additional configuration data indicating the 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 operating environment 102 that stores configuration data or a copy thereof locally). Additionally, in some embodiments, a particular display view configuration may also include one or more global variables or scripts in addition to other display view elements referenced therein.
[0056] For illustrative purposes, FIG. 2C depicts a snapshot of an example of display view 150 being configured by a user on a canvas provided by graphical display configuration application 110. In this regard, during its configuration, display view 150 is defined as including several display view elements 152a-168a. Specifically, display view 150 includes tabbed display element 152a, which includes four tabs 152a-1, 152a-2, 152a-3, and 152a-4. Tab 152a-1 includes a graphic of a tank 155a, which includes an input flow connection 158a and an output flow connection 160a. In addition, tank graphic 155a includes a fill animation 162a representing the liquid level within the tank. The presentation of display view 150 can be influenced, at least in part, by one or more user controls included therein, such as a language user control 165a and a theme user control 168a, which can be manipulated by an operator for customization at their workstation or user interface 8. Additionally or alternatively, one or more similar user controls 165a, 168a may be provided on a workstation or user interface 8 via an operator application 135 running a display view 150 on the workstation 8 (not shown in FIG. 2C).
[0057] The configuration of one example of display view 150 is captured or defined within a corresponding display view object 172a, which in Figure 2C is a draft, work in progress, or in-progress configuration object 172a (or otherwise unpublished). Similarly, the configuration of each of display views 152a-168a is captured or defined within one or more respective display view element objects 152b-170b (each of which may or may not be published, at the time illustrated by Figure 2C, either individually or as a whole comprising display view 150). For example, tabs 152a-1, 152a-2, 152a-3, and 152a-4 are defined by graphical tab display element 152a, which is itself defined by an instance of tab object 152b, each tab object instance specifically configured, for example, to display different text on its respective tab 152a-1, 152a-2, 152a-3, and 152a-4 and to include other display characteristics and properties therein (not shown). The tank graphic 155a is defined by an instance of a tank object 155b, which is specifically configured to be associated with a particular control tag LT 123. Additionally, the fill animation 162a is defined by an instance of a fill animation object 162b, which specifies that the fill animation is a bottom-to-top fill. Furthermore, the color of the fill animation 162a is defined by an instance of a fill color object 170b, such that the color is operator selectable among blue, red, white, and green. For example, the fill colors may be individually selectable or may be operator selectable by selecting a particular theme that defines the fill color.
[0058] 2C, the configuration of a graphical object instance may be defined using other graphical objects and / or object instances. For example, the instance of tab object 152b defining tab 152a-1 is defined to include therein an instance of tank graphic object 155b defining tank graphic 155a (including, among other things, the description therein of control tag LT123). Similarly, the instance of tank graphic object 155b defining tank graphic 155a is itself defined to include an instance of fill animation object 162b for fill animation 162a, which in this example is specifically configured to be a bottom-to-top fill animation. Furthermore, the instance of the fill animation object 162b that defines the fill animation 162a is itself defined to include an instance of a fill color object 170b, which defines a selection of fill colors (e.g., blue, red, white, and green) within which the operator can select, and additionally defines the mutually exclusive selection and application thereof.
[0059] Generally speaking, a first graphical element object may be defined or configured to refer to (e.g., specify, reference, etc.) a second graphical element object, and the configuration of the second graphical element object defines the appearance and / or behavior of the first graphical element object. In some embodiments, the configuration or definition of the first graphical element object may additionally include one or more object property values and / or scripts, if desired. The first graphical element object and the second graphical element object are independent and distinct objects. That is, the first graphical element object and the second graphical element object are not contained within the same object class, are not derived from each other, are not related by a parent / child object relationship, etc. Indeed, the second graphical element object may be a separate and distinct object. An object may be referenced by another graphical element object and configured appropriately to thereby define the appearance and / or behavior of the other graphical element object.
[0060] In some scenarios, the second graphical element object may itself reference a third graphical element object, the configuration of which defines the appearance and / or behavior of the second graphical element object. If desired, the configuration of the second graphical element object may additionally include one or more object property values and / or scripts.
[0061] Returning to FIG. 2C , at least an instance of display view object 172a defining view 150 can be configured to display one or more user controls 165a, 168a therein. (As noted above, in some embodiments, one or more of user controls 165a, 168a can be provided by operator application 135, which executes configured display view object 172a, in user interface 8 within operating environment 105, and this is not depicted in FIG. 2C .) At least, whether provided by display view object 172a and / or by operator application 135, each of user controls 165a, 168a can be defined, at least in part, by its respective object 165b, 168b. In particular, as illustrated in FIG. 2C , language user control 165a is defined by an instance of multi-language object 165b, which, in this example, is configured to allow text to be represented in any one of English, Arabic, or French. Thus, during runtime, an operator may manipulate language user control 165a to selectively change the language that appears in display view 150 to / from English, Arabic, or French. Similarly, theme user control 168a is defined by an instance of theme object 168b, which in this example is defined to allow an operator to selectively change the theme of display view 150 from among Theme 1, Theme 2, and Theme 3 during runtime. Thus, during runtime, an operator may manipulate theme user control 168a on operator application 135 to change the theme that appears in display view 150 from among Theme 1, Theme 2, and Theme 3. Each of the languages and themes may be defined anywhere in graphical configuration database 120, for example, in the manner described anywhere in this disclosure.
[0062] Additionally, display view 150 may be capable of being included within various other display view elements 115. For example, a particular layout 1 (e.g., which may be configured as a particular instance of a layout object) may be defined to present display view 150 in a first area, e.g., by linking configuration 172a of display view 150 to a graphical object defining the first area of layout 1. Another particular layout 2 (e.g., which may be configured as another particular instance of a layout object) may be defined to present display view 150 in a second area, e.g., by linking display view configuration 170 to a graphical object defining the second area of layout 2. In additional or alternative implementations, an instance of display view object 172a may reference one or several layouts (e.g., which may be configured as particular instances of layout objects) that include display view 150. Each of the layouts that include display view 150 may be specifically configured to be presented or not presented to an operator when presenting display view 150 during execution within the runtime environment. In other words, during execution within the runtime environment, the operator may select a layout 172a that best suits the operator's needs. Operator application 135 may present display view 150 according to one of the layouts based on the configuration of display view objects 172a. Additional discussion of layouts that may be provided by graphical display configuration system 100 is provided elsewhere in this disclosure. Similarly, display view 150 may be linked or otherwise associated with various display hierarchies, and additional discussion of display hierarchies provided by graphical display configuration system 100 is also provided elsewhere in this disclosure.
[0063] Returning to FIG. 2C, when the configuration engineer is satisfied with the display view object 172a that defines the content, appearance, and behavior of the display view 150 within the runtime environment 105, the configuration engineer may publish the display view object as represented in FIG. 2C by reference numeral 172b.
[0064] In embodiments in which display view element objects can be published individually, upon publishing display view object 172b, any display view element objects 152b-170b that are not already in a published state may be automatically published, and / or the user may be instructed to manually publish display view element objects that are still in a draft or in-progress state. That is, in such embodiments, for display view object 172a to be published, any display element objects contained therein or linked to it must also be in a published state.
[0065] In another embodiment where the display view element objects are not individually publishable, upon publication of the display view object 172b, the published configuration 172b of the display view 150 is stored in the graphical configuration database 120, thereby making the published configuration 172b available for downloading into the operating environment 105 of the process plant 10, such as shown in Figure 2C. In some embodiments, upon publication of the display view object 172b, the published configuration 172b is automatically downloaded into the operating environment 105.
[0066] The published configuration of display view object 172b may be downloaded to one or more user interface devices included within operating environment 105 for execution, as represented in FIG. 2C by user interface devices UI-1, UI-2, UI-3. Each of user interface devices UI-1, UI-2, UI-3 may take the form of, for example, user interface device 8 or user interface device 122, and the particular set of user interface devices to which published display view configuration 172b is to be downloaded (and executed) may be specified by a user, for example, via graphical display configuration application 110 or another user interface of configuration environment 120. In this manner, each downloaded instance of published display view configuration 172b may execute independently within runtime environment 105 on its respective host user interface device UI-1, UI-2, UI-3.
[0067] Importantly, the published display view configuration 172b, when running on its host device UI-1, UI-2, UI-3, allows an operator or user to customize the appearance and behavior of each running display view 150 as desired within runtime environment 105 and independently of other users' runtime customizations. As shown in FIG. 2C, in UI-1, the user of UI-1 has changed the color of fill animation 162a of tank graphic 155 on display view 150 to blue, thereby changing the color of the tank graphic 155 displayed on display view 150. In UI-1, the user has selected that the text be presented in French and that the display view 150 be presented using Theme 3. In UI-2, the user has changed the color of fill animation 162a to be white, selected that the text be presented in Arabic, and selected Theme 1. In UI-3, the user has changed the color of fill animation 162a to be red, selected that the text be displayed in English, and selected Theme 2. The user selections and customizations implemented in user interface devices UI-1, UI-2, and UI-3 are solely enabled using the respective published display view configurations 172b running on host devices UI-1, UI-2, and UI-3, respectively. That is, none of UI-1, UI-2, or UI-3 need to obtain additional configuration data from a configuration environment or any other computing device to implement the operator-desired changes. Furthermore, an updated configuration of display view 150 is not required to be downloaded and executed to implement the operator-desired changes. Rather, each operator implements the desired changes on their respective user interface devices UI-1, UI-2, UI-3 in accordance with the runtime execution of display view 150, without having to, for example, stop and restart display view 150. For example, if the user of UI-1 subsequently desires to change the displayed theme from Theme 3 to Theme 2, the user can do so by simply making a selection via theme user control 168a running on UI-1 (which may be provided by operator application 135 or display view 150, as described above), and in response to that execution, display view 150 will implement the change without having to communicate, for example, with any other computing devices included in configuration environment 102 and / or any other computing devices that have access to configuration data 120 or a copy thereof.
[0068] Of course, the example scenario depicted in Figure 2C is intended to be illustrative and not limiting, and is merely one of many possible usage scenarios for display configuration and use system 100. Indeed, as demonstrated within this disclosure, graphical display configuration and use system 100 provides a configuration environment 102 that is flexible, intuitive, and easy to maintain, while simultaneously providing an operating experience that supports independent online operator customization of display views and / or the display elements included therein. Various features and aspects of graphical display configuration and use system 100 (either alone or in combination) that provide these and other benefits are described in more detail below.
[0069] Display Navigation Hierarchy 3A , examples of the types of display view elements provided by the graphical display configuration and use systems and methods described herein are hierarchical display view elements and layout display view elements. As mentioned above, to generate graphics within a process control system, the graphical display configuration application 110 within the configuration environment 102 includes graphical user controls for defining the hierarchy and layout, thereby enabling a configuration engineer to graphically define the hierarchy and layout. Each display view may be made up of display view elements that define the display view. For example, a “main tank” display view may include several display view elements, each representing a different tank. A display view element within one display view may also be the subject of another display view at a higher level of detail, with the other display views having their own display view elements. In this manner, a plant operator can move from a display view that depicts an overview of the process plant at the lowest level of detail to a display view that depicts the most detailed view of the process plant. The user may navigate to a display view that depicts a single alarm or device within the process plant at one of the highest levels of detail.
[0070] In some embodiments, the display view depicts a section of a 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 in the process plant. The display view may also include graphical representations of process plant connection entities such as pipes, electrical wiring, conveyor belts, etc. that connect one piece of equipment to another.
[0071] In some embodiments, a configuration engineer may define alarms, trends, and / or process parameter values within a display view at a particular level of detail. In some other embodiments, a configuration engineer may define the number of alarms, trends, and / or process parameter values within a display view at a particular level of detail. The graphical display configuration application 110 or the operator or operations application 135 running on the operator user interface device 122 may then automatically determine which alarms, trends, and / or process parameter values to include on the display view based on the priority level of each alarm, trend, and / or process parameter value. For example, a configuration engineer may indicate that five process parameter values are to be presented at a particular location within a display view. Each of the process parameter values corresponding to the display view may be ranked according to priority level, and the top five ranked process parameter values may be presented within the display view. The priority level may be determined by the configuration engineer, the operator, or may be determined automatically based on a set of rules, such as whether a particular process parameter value triggers an alarm.
[0072] To create a hierarchy of display views for navigating from display views depicting an overview of the process plant to display views depicting sections 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 display views. The graphical display configuration application 110 may present a user interface, or a portion thereof, for creating the hierarchy. The hierarchy UI includes a representation of each of the display views defined within the configuration environment. A configuration engineer may then drag and drop display views into the hierarchy section (or use any other suitable graphical user controls) to define relationships or links between the display views. For example, by dragging and dropping a representation of the “Tank 1” display view (e.g., name “Tank 1,” icon, etc.) onto a representation of the “Main Tank” display view, the graphical display configuration application 110 may determine that Tank 1 is a subview with a higher level of detail than the “Main Tank” display view. In another example, by dragging and dropping the representation of the “Tank Supply” display view above or below the representation of the “Main Tank” display view in the hierarchy section, the graphical display configuration application 110 may determine that the “Tank Supply” and “Main Tank” display views are at the same level of detail in the hierarchy.
[0073] Display view hierarchies can also be created for trend display views that represent historized process parameter values. For example, a process parameter such as flow rate through a valve may depend on one or several input or output process parameters, such as the valve inlet pressure and the valve outlet pressure. A level 1 trend display view may depict the flow rate through a valve over time, while a level 2 trend display view may depict the flow rate over time. A trend display subview may depict inlet and outlet pressures at a valve over time. A configuration engineer may create a hierarchy of trend display views within the configuration environment 102, and an operator may navigate (e.g., via navigation buttons) between the resulting trend display views and subviews within the operating environment 105 with increasing or decreasing levels of detail.
[0074] In some embodiments, a display view hierarchy may resemble a tree structure, with the display view at the lowest level of detail (e.g., level 1) being the root node of the tree structure. The display views at the next lowest level of detail (e.g., level 2) may be child nodes to the root node, each having its own child node at the third lowest level of detail (e.g., level 3), which may be a grandchild node to the root node. A configuration engineer may create several display view hierarchies, each corresponding to a different area within a process plant or a different process plant. In this manner, each operator may view a display view hierarchy representing their area of responsibility.
[0075] In addition to defining the display view hierarchy, the graphical display configuration application 110 includes graphical user controls for defining layouts. As used herein, "layout" may refer to the manner in which the display screen area of an operator workstation is divided to present several display views on the display screen or screens for the operator workstation. For example, an operator workstation may include multiple monitors or display screens, and the layout may cause the operator workstation to present a different display view on each of the display screens so that the operator can view several display views at once. In another example, an operator workstation may include a single monitor or display screen, and the layout may cause the operator workstation to divide the display screen into several regions (e.g., frames, subareas, or portions) and present a different display view in each region of the display screen. The graphical display configuration application 110 may include graphical user controls for selecting the number of display screens and the display areas within each display screen for the layout. For example, a configuration engineer may generate a first layout having two display screens, each divided into two display areas. The configuration engineer can then define display view types, such as gaze area, alarm list, historized parameters, nameplate, hierarchical level (e.g., level 1, level 2, level 3), etc., for each of the divided display regions.
[0076] Additionally, a layout may include relationships or links between display regions within the layout. For example, a first display region within the layout may present a display view of a type of hierarchy level 1, and a second display region within the layout may present a display view of a type of hierarchy level 2. The second display region may be configured to present a display view of a type of hierarchy level 2 when an operator navigates away from hierarchy level 1 within the first display region. The display view of the second display region depends on the operator's actions with respect to the first display region, and the first display region continues to present a display view of a type of hierarchy level 1. In another example, a display region within a layout depicting an alarm list or a historized parameter display view may depend on a display region within a layout depicting a control module, such that the alarm list or historized parameter display view includes the alarms or parameters displayed within the control module.
[0077] FIG. 3A illustrates a graphical display configuration application UI 302 (which may be, for example, 1 illustrates a side-by-side view 300 of a graphical display configuration application 110 (which may, for example, be an instance of the operator application 135) and an operator application UI 304 (which may, for example, be an instance of the operator application 135) that draws display view elements during runtime as defined by the graphical display configuration application UI 302. More specifically, the graphical display configuration application UI 302 includes a hierarchy pane 310 that shows the hierarchy of a set of display views. For example, the "Tank Ovw" display view may be at level 1 of the display view hierarchy, and the "Tank Supply" and "Main Tank" display views may be at level 2. The "Supply Ht X" and "Supply Mixr" display views may be subviews of the "Tank Supply" display view, and the "Tank 1," "Tank 2," and "Surge" display views may be subviews of the "Main Tank" display view at level 3. Additionally, the "T2SOP" display view may be a subview of the "Tank 2" display view at level 4. As described above, a configuration engineer may define a display view hierarchy by dragging and dropping display view representations into hierarchy pane 310 presented by graphical display configuration application 110, or using any other suitable graphical user control. New display view representations may also be defined within the display view hierarchy before the corresponding display view is created. A configuration engineer may define where the new display view will be located within the display view hierarchy and then create the new display view.
[0078] In addition to rendering the hierarchy section 310, the graphical display configuration application UI 302 renders a layout 312 that divides the display into four display screens and four display regions 314a-d (also referred to interchangeably herein as "display subareas" or "display portions"), each with a corresponding display view type. For example, the upper-left corner display region 314a is defined to present a hierarchy level 1 display view. The lower-left and upper-right corner display regions 314b-c are defined to present hierarchy level 2 and level 3 display views, and the upper-right corner display view 314d is defined to present an alarm list display view. The layout 312 also defines relationships or links between the display regions. For example, the lower-left corner display region 314b automatically presents an operator hierarchy level 2 display view in the upper-left corner display region 314a in response to the operator navigating from the hierarchy level 1 display view to the hierarchy level 2 display view. In another example, the upper right corner display area 314d may automatically display an alarm list of alarms that are included in one or more of the display views in the other display areas 314a-c.
[0079] The operator application UI 304 includes a layout 312 defined by the graphical display configuration application 110 that divides the operator workstation display into four display screens and four display regions 318a-d. The upper left corner display region 318a presents a display view for hierarchical level 1. The lower left and upper right corner display regions 318b-c present display views for hierarchical levels 2 and 3, and the upper right corner display view 318d presents an alarm list display view. The operator application UI 304 may present the display views according to the hierarchy, layout, and / or other display view elements defined by the graphical display configuration application 110.
[0080] The graphical display configuration application UI 302 also includes a hierarchy, layout, and , and / or an administration section 316 (which may be related to managing the operations applications / environments 304, for example) for assigning themes to a particular operator workstation or set of operator workstations. In this manner, an operator workstation for an operator overseeing one section of the process plant may present the hierarchy associated with that section and may restrict access to the hierarchy associated with other sections of the process plant. In some embodiments, the configuration engineer may assign all hierarchies and layouts to each operator workstation via the administration section 316, and the operators may select the layouts and hierarchies to present on their respective operator workstations.
[0081] FIG. 3B illustrates a home tab 350 of the graphical display configuration application 110 for generating display views to be executed on an operator workstation. The home tab 350 includes a new display button 352 for creating a display view, a new layout button 354 for creating a layout, and a new display hierarchy button 356 for creating a hierarchy of display views. The home tab 350 also includes a configuration canvas 366 for configuring display view elements within the display view. The display view elements may be viewed in a configuration mode upon selection of a configure button (not shown) and / or in a preview mode upon selection of a preview button 364. In an alternative embodiment, a draft or working configuration of display view elements may be presented on the canvas provided by the configuration application 110 (e.g., presented by default or continuously), and only the preview button 364 may be presented (e.g., as illustrated by FIG. 3B), whose activation causes a preview of the display view to be displayed in a separate area or window of the user interface provided by the configuration application 110. A preview mode or separate preview display presents a preview of the display view as it will appear during runtime, so that a configuration engineer can see how the display view and display view elements will appear to an operator. For example, the display view elements may be presented in the theme, colors, etc. selected in configuration mode. A configuration engineer can toggle graphical user controls, such as a navigation bar, tab bar, etc., on a display view in preview mode to see how the display view changes in response to user interactions.
[0082] To create a display view, the home tab 350 includes graphical user controls for selecting display view elements, such as basic display element buttons 360, including shapes such as rectangles, squares, circles, etc., 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 a nameplate element, a tab element, a bar graph element, a data element, a data link element, a write element, a button slider, an alarm element, an alarm details element, a function block element, a navigation bar element, a GEM element (such as those described in commonly-filed U.S. patent application Ser. No. 15 / 692,450, filed Aug. 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. A configuration engineer may select display view elements by dragging and dropping them into the configuration canvas 366 or by using any other suitable graphical user controls. For example, in FIG. 3B, a configuration engineer may select the New Display button 352 to create a display view for Display 1 (reference number 368) and drag and drop a rectangle 374 from the Basic Display Elements button 360 into the configuration canvas 366.
[0083] When rectangle 374 is selected, the properties of rectangle 374 are presented in edit pane 380. Edit pane 380 may show several properties of the rectangle, such as the rectangle's name (Rectangle 1), fill color (white), fill percentage (100%), line color (black), line thickness (1 pt), and line style (solid). Each of the properties may be adjusted in edit pane 380 via a graphical user control, such as a drop-down menu or a free-form text field. For example, the line thickness property may include a drop-down menu for selecting one of several line thickness 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-form text field for entering an RGB color value. In some embodiments, properties may also be adjusted via a graphical user control of rectangle 374, such as a pop-up menu in response to a right-click or double-click on rectangle 374. The properties included in edit pane 380 are just a few of the properties of rectangle 374. Additional or alternative adjustable properties may also be presented.
[0084] Additionally, relationships or links between display view elements may be established, for example, by connecting the display view elements via lines or other connectors. Relationships or links may also be established by referencing other display view elements in the properties of the display view elements. For example, a first display view element may represent a tank in a process plant. A second display view element may represent a process parameter value for the tank, such as a fill percentage. In some scenarios, a configuration engineer may reference a first display view element in the properties of a second display view element so that the first and second display view elements are associated and included together in one or several display views. In some embodiments, each of the linked display view elements associated with a process plant entity or process control element may reference a control module, node, device (e.g., field device), and / or control tag that references a signal received and / or transmitted by a device, control module, or node corresponding to the process plant entity.
[0085] In any event, the home tab 350 also includes a publish button 358 that publishes the graphic (display view, layout, or display view hierarchy) to the graphical configuration database 120. The published graphic can then be provided to a set of operator workstations and presented to corresponding operators during runtime.
[0086] Multi-language support The graphical display configuration and usage systems and methods described herein may provide a configuration engineer the ability to provide run-time multi-language support for display views utilized in the operational environment 105 of the process plant 10, for example, via the graphical display configuration application 110. Process control systems may be utilized in process plants 10 located around the world. Additionally, operators of a particular process plant 10 may utilize different languages. Therefore, to provide support for multiple languages in currently known graphical display configuration systems, a configuration engineer may build one or more separate display view applications, also referred to interchangeably herein as display views or graphical display views, each containing dedicated support for a single pre-configured language, thereby presenting the graphical display views in the pre-configured language within the operational environment 105. For example, a configuration engineer may create a dedicated Japanese-specific display view within the configuration environment 102 of the process plant 10. A plant operator may build a display view application and a dedicated French-specific display view application. One or more of the display view applications may then be available for download into the operating environment 105 for use during runtime. As a result, during runtime, a plant operator cannot switch to a different desired language while a particular downloaded language-specific display view application is running without compiling and downloading a separate display view application specially built using the desired language in the configuration environment 102. Nevertheless, after downloading the separate display view application, the plant operator must stop execution of the previously downloaded display view application and subsequently start execution of the downloaded display view application. This procedure takes the previously downloaded application offline and takes a certain amount of time. For example, if a plant operator desires to view a display view application configured in French in the operating environment 105 (e.g., operator workstation 122 or user interface device 8 of the operating environment 105) of the process plant 10 to which the Japanese-specific display view application has been downloaded, the plant operator must take the Japanese-specific display view application offline and download the French-specific display view application into the operating environment 105. This is not only inconvenient for the plant operator because it takes a certain amount of time, but it can also cause the plant operator to lose sight of the display view elements (including live process control values) during the time the display view application is offline. During such downtime, the operator may miss an abnormal or critical situation.
[0087] Yet, in currently known graphical display configuration systems, the display view application language (e.g., the language used by the display view application and its fixtures, such as drop-down menus, tooltips, dialog boxes, etc.), the display view content language (e.g., the language of the content displayed on the display view, such as text strings, display labels, control tags, etc.), and for that matter the language utilized by the operator application 135 that executes the display view application / graphical display view in the user interface device 8 of the operating environment 105, cannot be set to different languages due to the dedicated, language-specific nature of the display view application. That is, both the display view application language and the display view content language are necessarily the same language, which also typically matches the language utilized by the operator application 135.
[0088] In contrast, the runtime multi-language support for display views provided by the graphical display configuration and usage systems and methods disclosed herein allows the initial or default first language utilized by the display view application or graphical display view to be switched to a different language without recompiling and re-downloading the display view application / graphical display view. Thus, in some embodiments, content included in a graphical display view displayed by an operator application may be changed by a plant operator during runtime to be presented in a desired one of multiple languages without recompiling and re-downloading the operator application and / or graphical display view. That is, the selection of the desired language seamlessly transitions the graphical display view from using the default language to using the selected desired language while preserving the state of the graphical display view (e.g., process values, values of variables, currently open graphical views within the display view layout, timers, display themes, etc.). can be changed to.
[0089] The content included in a display view application / graphical display view may not be the only type of presentation language that can be seamlessly changed in an operational environment. Additionally or alternatively, the language utilized by the fixtures (e.g., drop-down menus, tooltips, dialog boxes, etc.) of the display view application / graphical display view, and for that matter the operator application 135, may also be changed. Indeed, in some embodiments, the graphical display view content and the graphical display view fixtures may be simultaneously presented on the user interface devices 8 of the operational environment 105 using different languages. For example, the display view application language utilized by the display view application / graphical display view (e.g., the language used to represent the fixtures) may be changed at runtime by a plant operator without reconfiguring and / or recompiling and redownloading the display view application / graphical display view. Similarly, the display view content language utilized by the display view application / graphical display view (e.g., the language used to represent the display view elements displayed on the display view, such as text strings, display labels, control tags, etc.) may be changed at runtime by a plant operator without reconfiguring and / or recompiling and redownloading the display view application / graphical display view. In fact, in some embodiments, the display view application language and the display view content language can be changed independently and seamlessly during runtime execution of the display view application / graphical display view, i.e., both the display view application language and the display view content language do not need to be the same language.For example, an operator may switch the display view application language from English to French and the display view content language from English to Korean without reconfiguring and / or recompiling and re-downloading the display view application / graphical display view. As another example, an operator may switch the display view application language from English to French and the display view content language from English to French without reconfiguring and / or re-downloading the display view application and / or operator application.
[0090] A fixed number of display view application languages and a fixed number of display view content languages may be available out of the box (OOB). For example, the OOB display view application languages may include English and one or two other languages, and the OOB display view content languages may include several (e.g., eight) different languages. A set of desired OOB languages may be indicated a priori. However, a configuration engineer may add additional languages (for the display view application, display view content, and / or operator application 135) as desired.
[0091] The graphical display configuration application 110 allows a configuration engineer to create or modify a display view application / graphical display view that is executed during operation of the plant 10 by an operator application 135 on a user interface device 8 of the operating environment 105 of the process plant 10 to display continuously updated runtime data to an operator (e.g., as data is generated in real time during runtime operation of the process plant), and to allow the operator to select one or more user controls (e.g., one or more user User controls 165a) may be used to selectively change the language in which display content and / or display view applications are presented on user interface devices 8 of operating environment 105. For example, as described below with reference to FIG. 4A, exemplary display view application / graphical display view 150 may include display view elements (e.g., display labels 407, fixtures 402) that are presented in a selected language.
[0092] Note that the configuration of exemplary display view 150 is captured or defined within a corresponding display view object 172a. Instances of display view object 172a defining view 150 and the display elements included in view 150 may themselves be defined to include instance(s) of display view element object(s), each instance of the display view element object(s) defining a particular display view element included in and / or otherwise associated with display view 150, such as graphics, text strings, and their properties. For example, an instance of graphical tab display view element 152a having four tabs (e.g., 152a-1, 152a-2, 152a-3, and 152a-4 shown in FIG. 2C ) is defined by an instance of display view element object 152b, with each tab 152a-1, 152a-2, 152a-3, and 152a-4 specifically configured to display a respective text string, such as a localizable language or text string. The text strings may generally include a description of the associated display view element, in this case, associated with a particular tab 152a-1, 152a-2, 152a-3, and 152a-4. Additionally, the display view elements may generally be linked to their respective control elements, such that the text strings included in or associated with the display view elements may present process values generated by the control elements during execution within the operating environment 105. To provide multi-language support for the text strings, a multi-language interface object 165b (also interchangeably referred to herein as multi-language object 165b) may be configured to indicate multiple languages in which the graphical display views and / or elements thereof can be presented on the user interface devices 8, 122 of the operating environment 105 during execution within the operating environment of the process plant.Specifically, multi-language interface object 165b may be configured to control in which language (e.g., English, Arabic, French, or any other suitable language) the text string(s) on each display view element(s) of the graphical display view should be represented. To do so, a configuration engineer may configure display view objects 172a that define graphical display view 150 and / or display view elements to reference multi-language interface object 165b and / or multi-language string objects.
[0093] The multi-language interface object 165b itself may include parameters (e.g., language parameters) whose values (e.g., language parameter values) are modifiable by a user within the operating environment 105 to indicate a desired language to be displayed on the graphical display view. That is, each different language parameter value may indicate a respective language of a plurality of languages. In configuring the multi-language interface object 165b, the graphical display configuration application 110 may provide for the configuration of a graphical display view that references the multi-language interface object 165b configured for downloading to a user interface device 8, 122 within the operating environment 105. In some embodiments, the multi-language interface object 165b itself may be made available for downloading to an interface device 8, 122 within the operating environment 105. Thus, in the operating environment 105, the user interface device 8, 122 may be configured to display the desired language. The device 8, 122, via its graphical user interface, may display a selectable language user control (not shown in FIG. 2C ) configured to update the current language parameter value of the language parameter of the multi-language interface object 165b in response to a selection of a desired language to a respective language parameter value indicative of the desired language. Graphical display views and / or display elements (e.g., as described above) may be configured to reference the language parameter of the multi-language interface object 165b in the operating environment 105, such that text strings included on or associated with the display element and / or graphical display view are presented in the desired language indicated by the current language parameter value. Thus, the language parameter value of the language parameter of the multi-language interface object 165b may be changed during runtime (e.g., by a plant operator), thereby resulting in a change of the language displayed during runtime.
[0094] The display view application / graphical display view may or may not need to be refreshed to reflect the language change. Significantly, however, because the language parameter value of the configured multi-language interface object 165b can be manipulated to cause a change in the language setting in the display view application / graphical display view / display element, the display view application / graphical display view 150 does not need to be recompiled, reconfigured, or reinstalled to implement the language change. Thus, advantageously, a plant operator does not need to take the display view application / graphical display view 150 offline to switch or change the displayed language. In this manner, the displayed language can be seamlessly changed during runtime without taking the display view application / graphical display view 150 offline, so that the content (including live process control values) displayed on the display view 150 can be continuously monitored by the operator throughout the language change.
[0095] Additionally, in some embodiments, the language utilized by the display view application and the language utilized by the display view content may be changed and displayed independently of one another. Accordingly, multi-language interface object 165b includes first and second language parameters whose respective language parameter values are independently changeable during runtime (e.g., by a plant operator) via respective user controls provided on user interface 8, thereby allowing the language utilized by the display view application and / or the language in which the display view content is presented, respectively, to be changed as desired.
[0096] In some implementations, the language(s) utilized by the operator application 135 (e.g., for its fixtures and / or their content) may additionally or alternatively be changed and displayed independently of one another, and may be changed and displayed independently of the language(s) utilized by the display view application / graphical display view 150 and / or the language(s) in which the content of the various graphical display views is presented. In these embodiments, the operator application 135 may, for example, change the language(s) utilized by the fixtures of the operator application 135, the language(s) in which the content of the operator application 135 is displayed, the language(s) utilized to display the fixtures of the graphical display views executed by the operator application 135, and / or the content of such graphical display views (in some cases interchangeably), e.g., in the manner described above for the display view application / graphical display view. The operator application 135 may reference a multi-language interface object 165b having one or more language parameters, each controlling the language in which the fixtures and / or parameters are displayed (independently). Further, in these embodiments, the operator application 135 may provide the user interface 8 of the operating environment 105 with independently operable user controls, through which a user may change the language of fixtures and / or parameters displayed in a respective language. For example, in one embodiment, the operator application 135 may provide the user interface 8 of the operating environment 105 with a first language user control controlling the language parameter value of a particular language parameter referenced for use in displaying fixtures of the operator application 135, and may also provide a second, independently operable language user control controlling the language parameter value of a different language parameter referenced for use in displaying content of a graphical display view executed by the operator application 135.
[0097] Generally, support for each of the multiple languages represented by the configured multi-language interface object 165b is defined in the configuration environment 102. The language "support" may be defined and / or provided through the configuration of the graphical display view (e.g., the published configuration of the graphical display view) or within a library containing text strings.
[0098] For example, text strings included in or associated with display elements of a display view may be linked to a configurable multi-language string object within configuration environment 102. A configuration engineer may configure the multi-language string object to define the text string as a multi-language text string capable of displaying text in multiple languages, respectively. Because display view object 172a can reference the multi-language string object, any text string included in the display view and defined by the multi-language string object can be configured to display text in each of multiple languages. In some embodiments, the multi-language string object may be linked to multi-language interface object 165b such that the text string references the language parameter of multi-language interface object 165b. By configuring the multi-language string object in this manner, the multi-language string object can cause each text string to be presented in a respective language indicated by the current language parameter value of multi-language interface object 165b within operating environment 105, and can cause each string to be presented in each of the other languages in response to updates to the current language parameter value within operating environment 105.
[0099] In some embodiments, each text string may be defined by a dedicated multi-language string object. For example, to configure a particular display view in French and Spanish that includes a first text string on a tank graphic, a second text string on a valve graphic, and a third text string on a pipe graphic on the display view, a configuration engineer may configure a first multi-language string object to define the first text string as a multi-language text string capable of displaying French and Spanish text, configure a second multi-language string object to define the second text string as a multi-language text string capable of displaying French and Spanish text, and configure a third multi-language string object to define the third text string as a multi-language text string capable of displaying French and Spanish text. In other embodiments, multiple text strings may be collectively defined by a single multi-language string object. For example, in the previous example, the first multi-language string object may define both the first text string and the second text string, and the second multi-language string object may define both the first text string and the second text string. A multi-language string object may define a third text string. As another example, a first multi-language string object may define all three text strings. A multi-language string object need not define the text string(s) within a single display view. For example, to design three display views including text strings for valve graphics, a multi-language string object may define each instance of the text string to be included across all three display views. In this way, a multi-language string object may function as a library of one or more text strings within a single display view or across multiple display views.
[0100] The graphical display configuration application 110 may be used to configure and / or modify multi-language string objects. Specifically, a configuration engineer may use user controls (e.g., mouse, keyboard) to modify or add translations to a multi-language string object via the graphical display configuration application 110. A multi-language string object may not only define translations for graphical display view-specific vocabulary, but also define how text and / or numbers in a particular language are formatted according to the particular language, including right-to-left or left-to-right reading, decimal points or commas, date formats, etc. In some implementations, to aid in the development of multi-language string objects, a translation guide may be provided as a viewing window within the graphical display configuration application 110, through which a configuration engineer can define the multi-language nature of a particular text string by inserting specific translations for that text string and adding additional vocabulary in different languages. The translation guide may show the defined text strings for a particular display view or may show all defined text strings for all display views. In this way, the translation guide may provide a comprehensive view of all defined multi-language text strings included in one or more display views. This would not only allow a configuration engineer to easily view all of the multi-language text strings present in one or more display views, but would also allow the configuration engineer to add or modify translations for any multi-language text string in a single convenient location (i.e., the translation guide view). Without a translation guide to serve as an input mechanism for configuring multi-language string objects, in order to add or modify a desired text string, the configuration engineer would have to otherwise select and / or modify each display view object that defines a display element associated with the desired text string.In some embodiments, the translation guide may include a context-specific translation dictionary that can be used by a configuration engineer to search for translations when editing or adding translations in different languages for a particular text string.
[0101] For example, to set a multilingual text string for the text "open" in Spanish and Simplified Chinese, the configuration engineer can browse the translation guide and assign the Spanish translation string "abrir" and the Simplified Chinese translation text string "打开 (「开」without the door radical. The same applies to "打开" below)" to the multilingual text string for the text "open". Thus, based on the input of the configuration engineer through the translation guide, the graphic display configuration application 110 can generate a multilingual string object that defines the multilingual text string for the text "open" as including the translation text strings in Spanish and Simplified Chinese. The multilingual string object can define the Spanish translation text string "abrir" with the language parameter value "ES" and the Simplified Chinese translation text string "打开" with the language parameter value "SCN". As a result, in response to the selection of "Spanish" by a selectable language user control within the operating environment 105 corresponding to the language parameter value "ES", the Spanish translation string "abrir" can be selected and presented to the operating environment 105.
[0102] In some embodiments, the configuration engineer may include alternative translations in the translation guide such that the generated multilingual string object includes alternative translation text strings. For example, by indicating through the translation guide that Traditional Chinese is an alternative to Simplified Chinese for all display views, the multilingual string object can further define the Simplified Chinese translation text string "打开" with an additional language parameter value "TCN". As a result, in response to the selection of "Traditional Chinese" by a selectable language user control within the operating environment 105 corresponding to the language parameter value "TCN", the Simplified Chinese translation text string "打开" can be selected and presented to the operating environment 105.
[0103] In some embodiments, the translation guide may provide a notification to the configuration engineer if a display view and / or display view element is not configured with at least one translation of a language available as an option in a selectable language user control. For example, if “Spanish” is available for selection using a selectable language user control in operating environment 105 and Spanish translation text strings have not been assigned to any one or more multilingual text strings of the display view and / or display view elements, the translation guide may provide a visual notification (e.g., a pop-up dialog box) or other type of notification to the configuration engineer. In some embodiments, instead of or in addition to a notification, the translation guide automatically searches for Spanish translation text strings in context-specific translation dictionaries that the configuration engineer would otherwise have to use manually and automatically assigns Spanish translation text strings to any one or more multilingual text strings of the display view and / or display view elements.
[0104] After the multi-language string object is defined in the configuration environment 102, it is provided to the operating environment 105 along with the configured multi-language interface object 165b, so that the entire support for multiple languages and the multi-language interface object 165b are available locally within the operating environment 105. To do so, in some embodiments, a configuration engineer may utilize the graphical display configuration application 110 to publish a configuration of a graphical display view that includes at least one instance of the multi-language interface object 165b or a multi-language string object specific to the graphical display view, and then download the published configuration of the graphical display view to an operator workstation or user interface device 8, 122 of the operating environment 105. In other embodiments, rather than embedding an instance of the multi-language string object for a specific display view within the published configuration of the graphical display view, a multi-language string object defining the language support for all or more display views may be provided along with the multi-language interface object and separately from the published graphical display view configuration. Regardless of the embodiment, a multi-language string object or a multi-language string object (or an instance thereof) may be linked to a multi-language interface object 165b such that the text strings reference the language parameter of the multi-language interface object 165b, such that the multi-language string object or an instance thereof may cause each text string to be presented in the respective language indicated by the updated current language parameter value within the operating environment 105. In yet other embodiments, rather than utilizing a multi-language string object to provide a language support library, some or all of the library containing the text strings may be downloaded to an operator workstation or user interface device 8, 122 of the operating environment 105.Additionally, in other embodiments, a combination of a multi-language string object (or an instance thereof) and part (or all) of a library containing text strings may be manipulated. The software may be downloaded to an operator workstation or user interface device 8, 122 of the operating environment 105.
[0105] Thus, upon execution in the operating environment 105 at the user interface device 8, 122, for example via the operator application 135, the graphical display view(s) may present in the user interface 8, 122 the respective languages indicated by the current language parameter values of the respective language parameters of the multi-language interface object 165b. Additionally, the graphical display view(s) 150 may present a repeatedly updated display of the process value(s) generated by the control element(s) during execution within the operating environment to control a process in the process plant. Thus, advantageously, during runtime execution in the user interface 8 of the operating environment 105, and exclusively with any further communication with the configuration environment 102, the graphical display view(s) may update the respective languages utilized by the graphical display view(s) 150 (e.g., by its fixtures and / or their content) in response to each update of the language parameter value of the respective language parameter of the multi-language interface object 165b (governed by the respective language user controls presented in the user interface 8, 122), and optionally based on the multi-language string object for the respective language indicated by each updated language parameter value. For example, the display element(s) and / or the graphical display view(s) 150 may reference the multi-language string object (or an instance thereof) for the respective language indicated by each updated language parameter value, thereby utilizing the respective language indicated by the update. In this manner, runtime multi-language support may enable a plant operator to quickly, easily, and seamlessly switch during runtime among the languages utilized by graphical display view fixtures, graphical display view content, operator application fixtures, and / or operator application content.
[0106] In an exemplary usage scenario, an operator whose native language is Arabic visits a plant site in the United States. The plant's display view application language is set to English by default. However, a particular display view application utilized by an Arabic-fluent operator can be switched to Arabic during runtime so that the Arabic-fluent operator can more easily understand what is happening in the process plant. Alternatively, the display view application language can remain in English and the display view content language can be switched to Arabic. In another exemplary usage scenario, a company operates plants in multiple countries with different native languages. A configuration engineer configures the display view content language to allow selection from one of n different content languages. In this way, only one configuration of the display view is required (rather than requiring a different configuration for each different language), and a single configuration can be distributed to different countries. Operators in different countries can easily switch to their desired content language during runtime. In yet another example usage scenario, the display view application language may be set to Traditional Chinese, the content language may be set to Simplified Chinese, and the control tags may be set to use English characters.
[0107] 4A and 4B depict an exemplary workflow of an operator changing the content language and application language of a graphical display view 400 during runtime using runtime multi-language support. In FIG. 4A, the graphical display view 400 is currently presented using English as the preferred language. Specifically, the display view application of the graphical display view 400 is now Suppose both the application language and the display view content language are currently set to English, and the operator activates the language user control 402 to indicate a different desired display view application language (Korean in this scenario), but does not otherwise indicate the desired display view content language. Upon initiating a language change via the language user control 402, the various display view elements are now seamlessly displayed in Korean, as illustrated in FIG. 4B , such that in this embodiment the display view content language followed the display view application language due to the deselection of the content language in the language user control 402. To accomplish this, in response to the selection of Korean via the selectable user control, the language user control 402 updates both the current language parameter values of the first language parameter of the multi-language interface object 165 b governing the display view application language and the second language parameter of the multi-language interface object 165 b governing the display view content language to the respective language parameter values indicative of Korean. In an alternative implementation, display view elements may be configured to reference the language parameter governing the display view content language, thereby being presented in Korean. As shown in Figure 4A, graphical display view 400 includes fixtures (e.g., language user control 402) and display elements such as display label 407 having text string 403 and text string 406, respectively. Text string 403, shown in Figure 4A as presenting a description of language user control 402 in the English display view application language, may change to the Korean display view application language as shown in Figure 4B upon initiating a language change via language user control 402. Similarly, text string 406, shown in Figure 4A as presenting a description of the control tag of display label 407 in the English display view content language, may switch to the Korean display view content language as shown in Figure 4B.A display element (e.g., display label 407), because the display element may be linked to a control element, may also have a text string 408 for presenting the process value generated by the control element. Similarly, a text string 408 shown in Figure 4A as presenting the process value in an English display view content language may switch to a Korean display view content language as shown in Figure 4B.
[0108] In some circumstances, if no display view content language is selected in conjunction with the selection of another display view application language, the display view content language may remain English. That is, in these embodiments, at least a portion of the display view content language does not track the display view application language. For example, as shown in FIG. 4B , only the text strings associated with control tags (e.g., control tag 411) of display view 400 remain in English and are not changed to Korean according to the configuration engineer's design of this particular display view 400. To achieve this, the configuration engineer defines the language utilized by the control tags to be governed by respective language parameters that do not track the display view application language parameter, while other display content is defined to be governed by the display view application language parameter or by another respective language parameter that tracks the display view application language parameter. Thus, respective language user controls may be used to independently change the language utilized by various display elements on the same display view 400. However, regardless of the embodiment or implementation, runtime data such as live process values (e.g., as represented by status bar 405, text strings 408) are maintained during language switching, thereby enabling plant operators to continuously monitor such information regarding the process plant.
[0109] The language user controls 402 allow the operator to The language user control 402 may be presented as a drop-down menu, tooltip, dialog box, or any suitable representation that allows the operator to indicate the language in which they would like to view the display view 400 (and / or view one or more display view elements contained therein). An exemplary language user control 402 is shown in FIG. 4A as a drop-down menu that lists only the languages specifically indicated by the configuration engineer via the graphical display configuration application 110 while configuring the multi-language interface object 165b, in which the display view 400 (and / or one or more display view elements) may be displayed in the user interface 8, 122 of the operating environment 105. In some embodiments, the language user control 402 may include a general list of several languages (e.g., a default master list of languages), some of which may not have been specifically indicated as available for use by the display view 400 during configuration by the configuration engineer, e.g., via a multi-language string object. In such a case, if the operator selects a language not configured by the configuration engineer to be utilized by the display view 400, the language user control 402 may suggest alternative languages that have been downloaded or otherwise configured for use by the display view 400. For example, if Traditional Chinese is not configured to be displayed within the display view 400, the language user control 402 may suggest a configured alternative language, such as Simplified Chinese. In some embodiments, the language user control 402 (and / or the operator application 135, and / or the display view application 400) may reference a multi-language string object to determine one or more alternative languages. As further described, the translation guide may indicate that an alternative language for Traditional Chinese is Simplified Chinese.
[0110] 4C illustrates a flow diagram of an example method 410 for presenting multiple languages in a graphical display view of a process plant. The method 410 may be performed by the graphical display configuration application 110, the operator application 135, various display view applications / graphical user interfaces, or any suitable combination thereof operating on one or more UI devices 8.
[0111] At block 412, a multi-language interface object 165b is received at one or more UI devices 8, 122 of the operating environment 105 of the process plant 10. The multi-language interface object 165b may represent multiple languages that can be presented on a graphical display view. Specifically, the multi-language interface object 165b may include a language parameter configured to be set to each language parameter value of a plurality of language parameter values, each language parameter value representing a respective language of the plurality of languages.
[0112] In block 414, the configuration of the graphical display view (e.g., the published configuration) may be downloaded to one or more UI devices 8, 122 along with the multi-language interface object 165b. The graphical display view configuration may reference the multi-language interface object 165b, such that support is available locally at the one or more UI devices 8, 122 for the graphical display view upon execution at the user interface device 8, 122 of the downloaded multi-language object 165b. In some embodiments, the graphical display view configuration may include the published configuration of the graphical display view that references the multi-language interface object 165b and a multi-language string object that is separately downloaded via the graphical configuration application 110, thereby providing support for various languages. In some embodiments, the multi-language string object may be included in the published configuration of the graphical display view. The multi-language string object may be included in the graphical display view. In these and other suitable manners, the one or more UI devices 8, 122 do not need to retrieve any additional data from the configuration environment 102 to support multiple languages because the configuration environment 102 defines local support in one or more of the multiple languages for at least one text string included in the configuration environment 102.
[0113] In block 416, the graphical display view may be executed on one or more UI devices 8, 122 of the operating environment 105 during runtime of the process plant 10. Specifically, the graphical display view may (1) reference a current language parameter value of the language parameter of the downloaded multi-language interface object 165b, (2) access a configuration (e.g., a published configuration) of the graphical display view for each of the multiple languages indicated by the current language parameter value, and (3) based on the accessed configuration of the graphical display view, present on the one or more UI devices 8, 122 a repeatedly updated display of (i) each language indicated by the current language parameter value of the language parameter of the multi-language interface object 165b, and (ii) each of one or more process values generated by one or more control elements during execution within the operating environment to control a process in the process plant. In one embodiment, the operator application 135 executing on the one or more UI devices 8, 122 includes a selectable language user control 402 configured to update the current language parameter value to indicate the selected desired language in response to a selection of the desired language. In this manner, after an operator selects a desired language via selectable language user control 402, a graphical display view (e.g., graphical display view 400) may reference an updated language parameter value indicating the desired language, access downloaded support for the desired language indicated by the updated language parameter value, and present the graphical display view and / or display elements of the graphical display view utilizing the selected desired language.Thus, the process values generated by the descriptions of the respective control elements or display elements corresponding to one or more display elements may be switched during runtime via the operator application 135 from a default or otherwise previously presented language to a desired language indicated by the selectable language user control 402 without the operator application 135 having to be recompiled, reconfigured, or reinstalled, and without further communication with the configuration environment 102 (e.g., to obtain additional data), and without the graphical display views having to be recompiled, reconfigured, or reinstalled.
[0114] 5A depicts an exemplary workflow of a configuration engineer utilizing the graphical display configuration application 110 to add, remove, or update language(s) to a set of active languages made available to plant operators during runtime, such as a display view application language, a display view content language, an operator application language, and / or an operator application content language. In a user interface 500 of the graphical display configuration application 110, the configuration engineer has indicated, using graphical user controls within the graphical display configuration application 110, that a new or additional language is to be added or enabled (reference numeral 502) and is entering a name or short identifier for the new / additional language (reference numeral 505). If desired, a title or long-form identifier for the new / additional language (reference numeral 508) and / or a description of the new language (reference numeral 510) may be added. A library of vocabulary for the new language may then be loaded, for example, by the graphical display configuration application 110, for use by the configuration engineer during configuration of the graphical display view (not shown). Additionally, although not shown, the configuration engineer may use graphical user controls within the graphical display configuration application 110 to configure the participating The configuration engineer may indicate an alternative language for any of the new or additional languages added or activated, as shown in reference numeral 502. For example, a configuration engineer may indicate that Simplified Chinese is an alternative to Traditional Chinese. Indicating an alternative language may be useful in situations where a plant operator, via the display view application, requests that a display view be translated into a language not loaded in the display view. Continuing with this example, if the operator requests that a display view configured to be displayed in Simplified Chinese be displayed in Traditional Chinese, the display view application may automatically present the display view in Simplified Chinese.
[0115] Additionally or alternatively, to provide support for new languages, a configuration engineer may add translations of words / context strings in new / additional languages for use in configuring a graphical display view, as illustrated in FIGS. 5B-5C. FIG. 5B depicts an exemplary workflow of a configuration engineer utilizing the graphical display configuration application 110 to configure language support for a particular display view 520. In this exemplary workflow, the configuration engineer wants to add an English to Korean translation of a multilingual text string (e.g., “Interlocks”). To do so, the configuration engineer opens a translation guide (reference numeral 525). With the open translation guide 528 depicted in FIG. 5C, the configuration engineer has added the desired Korean translation for the text string “Interlocks” (reference numeral 530). In this way, both the English “Interlocks” and the Korean translation are available for selection by the operator during runtime. Thus, the graphical display configuration application 110 may configure a multilingual string object to reference a display view object corresponding to the display view 520 to display the multilingual text string in English or Korean on its respective display view element.
[0116] Additionally, although not shown in translation guide 528, a configuration engineer may add additional translations for the text string "Interlocks," such as a simplified Chinese translation. Because additional translations are configured for the text string "Interlocks," the multilingual text string on its respective display view element becomes available in the additional languages.
[0117] A configuration engineer may also perform language testing using the operator application 135. FIGS. 5D-5E illustrate an exemplary workflow in which a configuration engineer performs language testing on a particular display view during its design, for example, to preview how another language will appear on the display view at runtime. FIG. 5D depicts the operator application 135, where the display view 535 includes various display view elements, such as a tank graphic 538 and a pump graphic 540, set to English. The operator application 135 may include a language user control 542 configured to switch or change the displayed language. Using the language user control 542 to select another language (in this particular scenario, Korean, which may be one of several (e.g., eight) active languages for the draft display view), the draft display view 535 appears in the selected language, as depicted in FIG. 5E. As shown in FIG. 5E, the text strings representing the display labels associated with the display elements are switched to the selected language (e.g., Korean). Of course, although not illustrated, the text strings associated with the display labels, as well as the text strings defined to present the process values, can be previewed in the language selected by the configuration engineer.
[0118] Thus, the configuration engineer, via the graphical display configuration application 110, can display the multi-language interface object 165b in one or more of multiple languages. wherein each of the one or more language parameters has a respective language parameter value indicating a respective language, and the respective language parameter value is modifiable in the operating environment 105, for example, by the operator application 135 and / or via a respective selectable language user control provided by the graphical display view. That is, the respective language parameter value of each language parameter may be updated to a particular language parameter value indicating a particular language to be indicated via a respective selectable language user control provided in the operating environment 105, for example, by the operator application 135 and / or by a display view application / graphical display view executed by the operator application 135. Furthermore, a configuration engineer may configure, via the graphical display configuration application 110, a multi-language string object for each of multiple languages that can be indicated by the respective language parameter values, and the configuration of the graphical display view references both the multi-language interface object 165b and the multi-language string object.
[0119] 5E are exemplary in nature and may appear differently in other embodiments. Additionally, while graphics for a tank and a pump are shown, it should be understood that the graphics may correspond to any suitable process plant entity (e.g., a mixer, a valve, and / or any other suitable equipment in a process plant) and connecting entities (e.g., pipes, electrical wires, conveyor belts, etc.) connecting one device to another.
[0120] 5F illustrates a flow diagram of an example method 550 for configuring a graphical display view of a process plant 10 to utilize multiple languages. In one embodiment, the method 550 may be performed by the graphical display configuration application 110. For example, the graphical display configuration application 110 may include graphical user controls for configuring the graphical display view.
[0121] In block 552, the multi-language interface object 165b may be configured via the user interface of one or more UI devices 8, 122 executing the graphical display configuration application 110 in the configuration environment 102 of the process plant 10. The multi-language interface object 165b may be configured to indicate multiple languages in which a graphical display view may be presented on one or more UI devices 8, 122 of the operational environment 105 of the plant 10 during execution within the operational environment 105. The multi-language interface object 165b may include one or more language parameters, each including a respective language parameter value changeable in the operational environment 105 via a respective language user control to indicate a desired language, among the multiple languages, to be presented on the graphical display view and / or via the operator application 135 executing the graphical display view. As an example, to configure a display view that can be changed between English, Chinese, and Korean, the multi-language interface object 165b may include a language parameter whose respective language parameter values indicate English, Chinese, and Korean. In some embodiments, the multi-language interface object 165b is included in a display view object that defines a graphical display view, and in some embodiments, the multi-language interface object 165b is not included in any display view object but is referenced by a display view object.
[0122] In block 554, in one embodiment, the configured multi-language interface object The object 165b, along with a configuration of a graphical display view that references the configured multi-language interface object, may be downloaded from the configuration environment 102 to the user interface devices 8, 122 via the graphical configuration application 110 for execution in the operating environment 105 of the process plant 10, such that the downloaded multi-language object 165b is available locally to the configured graphical display view in the operating environment 105. In some embodiments, the configuration of the graphical display view is a published configuration of the graphical display view that references the multi-language interface object 165b and / or references a multi-language string object separately downloaded via the graphical configuration application 110. In some embodiments, the multi-language string object may be included in the published configuration of the graphical display view. In either case, the one or more UI devices 8, 122 do not need to retrieve any additional data from the configuration environment 102 to support multiple languages, because the multi-language string object defines local support in one or more of the multiple languages for at least one text string included in the graphical display view. As a result, using the downloaded configuration of the graphical display view, the graphical display view can seamlessly present each language indicated by the current language parameter value of the language parameter of the multi-language interface object 165b on one or more UI devices 8, 122 within the operating environment 105 during runtime execution.If the operator decides to change the presented language to another language, for example via a selectable language user control, the selection on the language user control may cause the current language parameter value of the language parameter to change to indicate the selected language, and the graphical display view may seamlessly present the selected language as indicated by the changed language parameter value referenced by the graphical display view, without any additional communication between, for example, the user interface device 8, 122 and the configuration environment 105 to obtain any other support and / or settings.
[0123] Embodiments of the technology described in this disclosure may include any number of the following aspects, either alone or in combination.
[0124] 1. A method for configuring a graphical display view of a process plant to utilize multiple languages, the method comprising: configuring, via a user interface of a computing device executing a graphical configuration application in a configuration environment of the process plant, a multi-language interface object such that the graphical display view indicates multiple languages that can be presented at the user interface device during execution within an operational environment of the process plant, the multi-language interface object including a language parameter whose language parameter value is modifiable within the operational environment to indicate a desired language of the multiple languages to be presented on the graphical display view; and downloading, via the graphical configuration application of the configuration environment, the configured multi-language interface object and the graphical display view referencing the configured multi-language interface object to the user interface device for execution in the operational environment, such that the graphical display view presents at the user interface device during runtime execution (i) each language indicated by a current language parameter value of the language parameter of the multi-language interface object, and (ii) a repeatedly updated display of each of one or more process values generated by one or more control elements during execution within the operational environment to control a process in the process plant.
[0125] 2. via a user interface of a computing device running a graphical configuration application, displaying at least one of the following items to be included in a graphical display view: 2. The method of claim 1, further comprising: configuring a multi-language string object to define support for a text string in one or more of a plurality of languages; and downloading an instance of the configured multi-language string object to a user interface device, wherein the configuration of a graphical display view includes a published configuration of the graphical display view that references the multi-language interface object and the instance of the configured multi-language string object.
[0126] 3. The method of any one of the preceding aspects, wherein an instance of the constructed multi-language string object is included in a published configuration of a graphical display view.
[0127] 4. A method according to any one of the preceding aspects, wherein configuring the multi-language string object to define support for at least one text string included in the graphical display view in one or more languages of the multiple languages includes configuring the multi-language string object to define support for a particular text string to be displayed on a graphical display element included in the graphical display view in one or more languages of the multiple languages.
[0128] 5. The method of any one of the preceding aspects, wherein the configuration of the graphical display view includes a published configuration of the graphical display view that includes support for each language of a plurality of languages.
[0129] 6. The method of any one of the preceding aspects, wherein the operator application executing on the user interface device includes a selectable language user control configured to update current language parameter values to respective language parameter values indicative of the desired language in response to selection of the desired language via the selectable user control.
[0130] 7. The method of any one of the preceding aspects, further comprising: configuring, via a graphical configuration application, display view objects defining the graphical display views to reference the multi-language interface objects; and downloading, via the graphical configuration application, the display view objects configured for execution within the operational environment of the process plant from the configuration environment into the user interface device, such that the graphical display views update, during runtime execution at the user interface device and exclusively with any communication with the configuration environment, the respective languages utilized by the graphical display views in response to selections indicated via the selectable language user controls.
[0131] 8. The method of any one of the preceding aspects, wherein the display view object defines display elements to be presented on the graphical display view, the display elements being linked to respective control elements included in the one or more control elements, the display elements including respective text strings, the respective text strings being linked to a multi-language string object configurable within the configuration environment to present the respective text strings in respective languages indicated by an updated current language parameter value, and the respective text strings including at least one of (i) one or more process values generated by the respective control elements, or (ii) a respective description of the display element.
[0132] 9. The display element, to obtain the text string for each language, uses (i) the language parameter of a multilingual interface object in the operating environment and (ii) the multilingual interface object for each language indicated by the language parameter value of the referenced language parameter. Aspect 11. The method of any one of the preceding aspects, wherein the method is configured to reference a word string object.
[0133] 10. The method of any one of the preceding aspects, wherein the language parameter of the multi-language interface object is a first language parameter of a plurality of parameters included in the multi-language interface object, a first language parameter value of the first language parameter is modifiable within the operating environment to indicate a first desired language to be utilized by an operator application executing the graphical display view on the user interface device, and a second language parameter value of a second language parameter of the plurality of parameters included in the multi-language interface object is modifiable within the operating environment to indicate a second desired language in which content of the graphical display view is presented on the user interface device, and the method further includes independently selecting the first language parameter value and the second language parameter value in response to respective selections of respective selectable language user controls.
[0134] 11. The method of any one of the preceding aspects, wherein the operator application is configured, within the operating environment, to reference a current language parameter value of a first language parameter of the multi-language interface object and access downloaded configurations of graphical display views for each language corresponding to the current language parameter value of the first language parameter to present fixtures included in the operator application using the respective language corresponding to the current language parameter value of the first language parameter, and the graphical display views are configured, within the operating environment, to reference a current language parameter value of a second language parameter of the multi-language interface object and access downloaded configurations of graphical display views for each language corresponding to the current language parameter value of the second language parameter to present content of the graphical display view using the respective language corresponding to the current language parameter value of the second language parameter.
[0135] 12. The method of any one of the preceding aspects, further comprising providing, via a graphical configuration application, one or more user controls for at least one of modifying or adding translations to the multi-language string object in one or more languages of the plurality of languages.
[0136] 13. The method of any one of the preceding aspects, further comprising obtaining at least one of a modified translation or an additional translation specific to the graphical display view via one or more user controls for modifying or adding the translation, and storing the modified translation or the additional translation in a multi-language string object.
[0137] 14. A method for presenting multiple languages on a graphical display view of a process plant, comprising: receiving, at a user interface device included within an operating environment of the process plant, a download of a multi-language interface object indicating multiple languages that can be presented on the graphical display view, the multi-language interface object including a language parameter configured to be set to each of a plurality of language parameter values, each language parameter value indicating a respective language of the multiple languages; receiving, at the user interface device, a download of a graphical display view configuration along with the download of the multi-language interface object, the graphical display view configuration referencing the multi-language interface object; and receiving, at the user interface device, a download of a graphical display view configuration during runtime of the process plant. and executing a graphical display view, the graphical display view comprising: referencing a current language parameter value of a language parameter of a multi-language interface object; accessing a configuration of a graphical display view for each of a plurality of languages indicated by the current language parameter value; and, in response to the accessing, presenting, at a user interface device during runtime execution, a repeatedly updated display of (i) each language indicated by the current language parameter value of the language parameter of the multi-language interface object, and (ii) each of one or more process values generated by one or more control elements during execution within an operating environment to control a process in a process plant.
[0138] 15. The method of aspect 14, further comprising receiving, at the user interface device, a download of an instance of a multi-language string object that defines support for at least one text string included in the graphical display view in one or more of the multiple languages, wherein the configuration of the graphical display view includes a published configuration of the graphical display view that references the instance of the multi-language interface object and the multi-language string object.
[0139] 16. The method of any one of aspects 14-15, wherein an instance of the multi-language string object is included in a published configuration of a graphical display view.
[0140] 17. The method of any one of aspects 14-16, wherein the multi-language interface object further defines support for particular text strings in one or more of the multiple languages to be displayed on graphical display elements included in the graphical display view.
[0141] 18. The method of any one of aspects 14-17, wherein the configuration of the graphical display view includes a published configuration of the graphical display view that includes support for each language of a plurality of languages.
[0142] 19. The method of any one of aspects 14-18, wherein the operator application executing on the user interface device includes a selectable language user control configured to, in response to a selection of the desired language, update a current language parameter value to a language parameter value indicative of the selected desired language, and wherein presenting the graphical display view on the user interface device includes presenting the graphical display view using the selected desired language in response to the updating.
[0143] 20. The method of any one of aspects 14-19, wherein selecting the desired language indicates a change from a default language, and presenting the graphical display view using the selected desired language includes changing the graphical display view from presenting it using the default language to presenting it using the selected desired language.
[0144] 21. The method of any one of aspects 14-20, wherein changing the graphical display view from presenting using a default language to presenting using a selected desired language in response to an update to the current language parameter value is accomplished exclusively within the operating environment by utilizing configuration of the graphical display view and without any additional communication between the user interface device and the configuration environment of the process plant from which the configuration of the multi-language interface object and graphical display view was downloaded.
[0145] 22. Presenting a graphical display view using a selected desired language. 22. The method of any one of aspects 14-21, comprising presenting one or more display elements on a graphical display view utilizing a selected desired language to display at least one of (i) a respective process value generated by a respective control element corresponding to the one or more display elements, or (ii) a description of the one or more display elements.
[0146] 23. The language parameter of the multi-language interface object is a first language parameter, and the multi-language interface object further includes a second language parameter; referencing a current language parameter value of the language parameter of the multi-language interface object includes referencing a current language parameter value of the first language parameter; accessing a downloaded configuration of a graphical display view includes accessing the configuration of the graphical display view for a first language among a plurality of languages indicated by the current language parameter value of the first language parameter; and presenting the graphical display view on the user interface device using each language includes accessing the current language parameter value of the first language parameter. 23. The method of any one of aspects 14 to 22, comprising: presenting fixtures of an operator application corresponding to the parameter value using a first language, the operator application being executed on a user interface device; and executing the graphical display view comprising: referencing a current language parameter value of a second language parameter of the multi-language interface object; accessing a downloaded configuration of the graphical display view for the second language among the plurality of languages indicated by the current language parameter value of the second language parameter; and presenting content of the graphical display view using the second language corresponding to the current language parameter value of the second language parameter.
[0147] 24. The method of any one of aspects 14-23, wherein the current language parameter value of the first parameter and the current language parameter value of the second parameter are independently updatable by respective selectable language user controls.
[0148] 25. A user interface included within an operating environment of a process plant configured to present multiple languages on a graphical display view, the user interface comprising: one or more processors; a display coupled to the processor; and one or more memories coupled to the processor, the user interface comprising: (i) a multi-language interface object configured to indicate multiple languages that can be presented on the graphical display view, the multi-language interface object including a language parameter configured to be set to each language parameter value of a plurality of language parameter values, each language parameter value indicating a respective language of the multiple languages; (ii) a configuration of the graphical display view, the configuration of the graphical display view referencing the multi-language interface object; and (iii) a computer-implemented and one or more memories storing computer-executable instructions that, when executed by a processor during runtime of the process plant, cause a graphical display view to reference a current language parameter value of a language parameter of a multi-language interface object, access from one or more memories a configuration of the graphical display view for each of a plurality of languages indicated by the current language parameter value, cause the display to present the graphical display view utilizing the respective language based on the accessed configuration of the graphical display view, and cause the graphical display view to present and repeatedly update text strings for each of one or more process values generated by one or more control elements during runtime of the process plant to control a process of the process plant.
[0149] 26. The user interface of aspect 25, wherein the multi-language interface object is downloaded from the process plant configuration environment into the process plant operating environment along with the configuration of the graphical display view.
[0150] 27. The user interface of any one of aspects 25-26, wherein the computer-executable instructions, when executed by the processor during runtime of the process plant, further cause the operator application to provide, without communicating with another device, a selectable language user control configured to receive a selection of a desired language via the selectable language user control, update a current language parameter value of a language parameter to a language parameter value indicative of the selected desired language, access a configuration of a graphical display view for the selected desired language stored in one or more memories, and present a graphical display view using the selected desired language based on the accessed configuration of the graphical display view for the selected desired language.
[0151] 28. The user interface of any one of aspects 25-27, wherein selection of the desired language indicates a change from the default language utilized by the graphical display view.
[0152] 29. A user interface according to any one of aspects 25 to 28, wherein the graphical display view includes one or more display elements, and wherein presenting the graphical display view using the selected desired language includes presenting the one or more display elements using the selected desired language to display at least one of (i) a respective process value generated by a respective control element corresponding to the one or more display elements, or (ii) a description of the one or more display elements.
[0153] 30. A user interface as described in any one of aspects 25 to 29, wherein the selectable user control is a first selectable user control, the language parameter of the multi-language interface object is a first language parameter, the language parameter value of the first language parameter changes in response to input received via the first selectable user control, the multi-language interface object includes a second language parameter provided by an operator application, the second language parameter having a language parameter value that changes in response to input received via a second selectable user control, the first language utilized to display fixtures of the operator application is based on a current language parameter value of the first language parameter, and the second language utilized by content presented on the graphical display view is based on a current language parameter value of the second language parameter.
[0154] 31. The user interface of any one of aspects 25-30, wherein the first selectable user control and the second selectable user control are independently selectable.
[0155] 32. Any one of the preceding aspects in combination with any other one of the preceding aspects.
[0156] Additionally, the foregoing aspects of the present disclosure are merely illustrative and are not intended to limit the scope of the present disclosure.
[0157] The following additional considerations apply to the above discussion: Throughout this specification, operations described as being performed by any device or routine may be written as machine-readable instructions. As such, it generally refers to the actions or processes of a processor that manipulate or transform data. Machine-readable instructions may be stored on and retrieved from a memory device communicatively coupled to the processor. That is, the methods described herein may be embodied by a set of machine-readable instructions stored on a computer-readable medium (i.e., on a memory device), such as that illustrated in FIG. 1B. The instructions, when executed by one or more processors of a corresponding device (e.g., a server, a user interface device, etc.), cause the processor to perform the method. When instructions, routines, modules, processes, services, programs, and / or applications are referred to herein as being stored or saved on a computer-readable memory or computer-readable medium, the terms "stored" and "saved" are intended to exclude transitory signals.
[0158] Additionally, the terms "operator," "personnel," "people," "user," "technician," and other similar terms are used to describe persons within a process plant environment who may use or interact with the systems, apparatus, and methods described herein, and these terms are not intended to be limiting. Where particular terms are used in the description, the terms are used in part due to traditional activities engaged in by plant personnel, but are not intended to limit the personnel who may engage in a particular activity.
[0159] Additionally, throughout this specification, multiple instances may implement a structure described as a component, operation, or single instance. While individual operations of one or more methods are illustrated and described as separate operations, one or more of the individual operations may be performed simultaneously, and the operations need not be performed in the order illustrated. Structures and functions presented as separate components in exemplary configurations may be implemented as combined structures or components. Similarly, structures and functions presented as single components may be implemented as separate components. These and other variations, modifications, additions, and improvements are within the scope of the subject matter of this specification.
[0160] Unless specifically stated otherwise, discussions herein using words such as "processing," "operating," "calculating," "determining," "identifying," "presenting," "causing to present," "displaying," "displaying," etc. may refer to machine (e.g., computer) acts or processes that manipulate or transform data represented as physical (e.g., electrical, magnetic, biological, or optical) quantities in one or more memories (e.g., volatile memory, non-volatile memory, or a combination thereof), registers, or other machine components that receive, store, transmit, or display information.
[0161] If implemented in software, any of the applications, services, and engines described herein may be stored in any tangible, non-transitory computer-readable memory, such as a magnetic disk, laser disk, solid-state memory device, molecular memory storage device, or other storage medium, such as in the RAM or ROM of a computer or processor. It should be noted that while the exemplary systems disclosed herein are disclosed as including, among other components, software and / or firmware running on hardware, such systems are merely exemplary and should not be considered limiting. For example, it is contemplated that any or all of these hardware, software, and firmware components may be embodied exclusively in hardware, exclusively in software, or in any combination of hardware and software. Thus, those skilled in the art will readily appreciate that the provided examples are not the only ways to implement such systems.
[0162] Thus, while the present invention has been described with reference to specific examples, these examples are illustrative only and are not intended to be limitations of the invention, and any modifications, additions, or deletions may be made without departing from the spirit or scope of the invention. It will be apparent to those skilled in the art that changes may be made to the disclosed embodiments without departing from their spirit and scope.
[0163] It should also be understood that unless a term is expressly defined in this patent using the sentence "As used herein, the term '______' is defined herein to mean..." or similar, there is no intention to limit the meaning of the term, either expressly or by implication, beyond its plain or ordinary meaning, and such term should not be construed as limited in scope based on any statement made in any section of this patent (other than the claim language). If any term recited in the final claim of this patent is referred to in this patent in a manner consistent with a single meaning, this is done solely for clarity so as not to confuse the reader, and it is not intended that such claim term be limited, by implication or otherwise, to that single meaning. Finally, unless a claim element is defined by the words "means" and a recitation of a function without any recitation of structure, the scope of any claim element is not intended to be construed based on application of 35 U.S.C. 112(f) and / or pre-AIA 35 U.S.C. 35 U.S.C. 112, paragraph 6.
[0164] Furthermore, while the above text sets forth detailed descriptions of many different embodiments, it should be understood that the scope of this patent is defined by the language of the claims set forth at the end of this patent. The detailed description should be construed as merely exemplary and does not describe every possible embodiment, as doing so would be impractical, if not impossible. Many alternative embodiments could be implemented using either current technology or technology developed after the filing date of this patent, and would still fall within the scope of the claims.
Claims
1. 1. A method for configuring a graphical display view of a process plant to utilize multiple languages, comprising: configuring, via a user interface of a computing device executing a graphical configuration application within a configuration environment of the process plant, a multi-language interface object to indicate and control one or more languages of a plurality of languages in which the graphical display view may be presented on a user interface device while executing within an operational environment of the process plant, the multi-language interface object including a first language parameter, the first language parameter value of which is independently modifiable in the operational environment to indicate a first desired language in which fixtures of the graphical display view will be presented, and a second language parameter, the second language parameter value of which is independently modifiable in the operational environment to indicate a second desired language in which content of the graphical display view will be presented; configuring the multi-language interface object linked to a multi-language string object via the user interface of the computing device executing the graphical configuration application; configuring, via the user interface of the computing device executing the graphical configuration application, a display view object corresponding to the graphical display view that references the multi-language string object; (a) downloading into the user interface device via the graphical configuration application of the configuration environment a configured multi-language interface object including the first language parameter and the second language parameter, a configured multi-language string object linked to the multi-language interface object, and (b) a configuration of the graphical display view generated by the configured display view object for execution within the operating environment; Including, The downloading causes the runtime environment of the user interface device to be During time execution, the graphical display view: (i) presenting the fixtures of the graphical display view using a first language indicated by a first current language parameter value currently selected in the operating environment of the downloaded first language parameter of the configured multi-language interface object; (ii) presenting the content of the graphical display view using a second language indicated by a second current language parameter value currently selected in the operating environment of the second language parameter of the downloaded configured multi-language interface object in conjunction with presenting the fixtures of the graphical display view in the first language; and (iii) presenting a repeatedly updated display of each of one or more process values generated by one or more control elements during execution within the operating environment to control a process in the process plant. method.
2. configuring the multi-language string object to define support for at least one text string included in the graphical display view in one or more of the plurality of languages via the user interface of the computing device executing the graphical configuration application; downloading the composed multi-language string object into the user interface device comprises downloading an instance of the composed multi-language string object into the user interface device; The method of claim 1 , wherein the configuration of the graphical display view comprises a published configuration of the graphical display view that references the instance of the configured multi-language string object.
3. The method of claim 2 , wherein the instance of the composed multi-language string object is included in the published composition of the graphical display view.
4. 4. The method of claim 2 or 3, wherein configuring the multi-language string object to define support in the one or more languages of the plurality of languages for the at least one text string included in the graphical display view comprises configuring the multi-language string object to define support in the one or more languages of the plurality of languages for a particular text string to be displayed on a graphical display element included in the graphical display view.
5. The method of claim 1 , wherein the configuration of the graphical display view comprises a published configuration of the graphical display view that includes support for each language of the plurality of languages.
6. 6. The method of claim 1, wherein an operator application running on the user interface device includes a selectable language user control configured to update the second current language parameter value to a respective language parameter value indicative of the third desired language in response to selection of a third desired language via the selectable language user control.
7. 7. The method of claim 6, wherein the graphical display view updates the respective language utilized by the graphical display view in response to a selection indicated via the selectable language user control on the user interface device during runtime execution and exclusively with any communication with the configuration environment.
8. the display view object defines a display element to be presented on the graphical display view; the display elements are linked to respective control elements included in the one or more control elements; the display elements include respective text strings linked to the downloaded configured multi-language string object to present the respective text strings in the respective language indicated by the updated second current language parameter value; The method of claim 7 , wherein the respective text strings include at least one of: (i) the one or more process values produced by the respective control element; or (ii) a description of each of the display elements.
9. 9. The method of claim 8, wherein the display element is configured to reference (i) the second language parameter of the downloaded configured multi-language interface object in the operating environment and (ii) the downloaded configured multi-language string object for each language indicated by a language parameter value of the referenced second language parameter to obtain text strings for the respective language.
10. 10. The method of claim 1, further comprising independently selecting the first language parameter value and the second language parameter value in response to respective selections of respective selectable language user controls at the user interface device.
11. the operator application is configured within the operating environment to reference a downloaded first current language parameter value of the first language parameter of the configured multi-language interface object and access the downloaded configuration of the graphical display view for the respective language corresponding to the first current language parameter value of the first language parameter so as to present fixtures included in the operator application using the respective language corresponding to the first current language parameter value of the first language parameter; 10. The method of claim 6, wherein the graphical display view is configured within the operating environment to reference a second current language parameter value of the second language parameter of the configured multi-language interface object that has been downloaded, and to access the downloaded configuration of the graphical display view for the respective language corresponding to the second current language parameter value of the second language parameter so as to present the content of the graphical display view using the respective language corresponding to the second current language parameter value of the second language parameter.
12. 12. The method of claim 1, further comprising providing, via the graphical configuration application, one or more user controls for at least one of modifying and adding translations for one or more of the plurality of languages to one or more multi-language string objects.
13. obtaining translation modifications and / or additional translations specific to the graphical display view via the one or more user controls for modifying and / or adding translations; and and transferring said at least one of said revised translation or said additional translation to one or more of said multimedia files.
13. The method of claim 12, further comprising: storing the at least one character string in at least one of the language string objects.
14. 1. A method for presenting multiple languages in a graphical display view within a process plant, comprising: receiving, at a user interface device included within the operational environment of the process plant, a download of a multi-language interface object indicating a plurality of languages that can be presented on the graphical display view, the multi-language interface object including a first language parameter and a second language parameter configured to be independently set to each language parameter value of a plurality of language parameter values, each language parameter value indicating a respective language of the plurality of languages; receiving, at the user interface device, a download of a multi-language string object linked to the multi-language interface object; receiving at the user interface device a download of a configuration of the graphical display view along with the download of the multi-language interface object and the download of the multi-language string object, the configuration of the graphical display view referencing the downloaded multi-language string object linked to the downloaded multi-language interface object; executing the graphical display view on the user interface device during runtime of the process plant; referencing a first current language parameter value currently selected in the operating environment for the first language parameter of the downloaded multi-language interface object via the downloaded multi-language string object linked to the downloaded multi-language interface object; accessing the configuration of the graphical display view for each language of the plurality of languages indicated by the first current language parameter value; referencing a second current language parameter value currently selected in the operating environment for the second language parameter of the downloaded multi-language interface object via the downloaded multi-language string object linked to the downloaded multi-language interface object; accessing the configuration of the graphical display view for each language of the plurality of languages indicated by the second current language parameter value; and and in response to the accessing, executing, at the user interface device during runtime execution, (i) presenting fixtures of the graphical display view using a respective first language indicated by the first current language parameter value of the first language parameter of the downloaded multi-language interface object, (ii) presenting content of the graphical display view using a respective second language indicated by a second current language parameter value currently selected in the operating environment of the second language parameter of the downloaded multi-language interface object while presenting the fixtures of the graphical display view in the first language, and (iii) presenting a repeatedly updated display of each of one or more process values generated by one or more control elements during execution within the operating environment to control a process in the process plant.
15. The downloaded and configured multi-language string object is then used to an instance of the multi-language string object that defines support for at least one text string included in a global display view in one or more of the plurality of languages; 15. The method of claim 14, wherein the configuration of the graphical display view includes a published configuration of the graphical display view that references the instances of the downloaded and configured multi-language interface object and multi-language string object.
16. The method of claim 15 , wherein the instance of the multi-language string object is included in the published configuration of the graphical display view.
17. 17. The method of claim 15 or 16, wherein the instance of the multi-language string object further defines support for particular text strings in the one or more languages of the plurality of languages to be displayed on graphical display elements included in the graphical display view.
18. 18. The method of any one of claims 14 to 17, wherein the configuration of the graphical display view comprises a published configuration of the graphical display view that includes support for each language of the plurality of languages.
19. an operator application executing on the user interface device including a selectable language user control configured to, in response to a selection of a third desired language, update the first current language parameter value or the second current language parameter value to a language parameter value indicative of the selected third desired language; 19. The method of claim 14, wherein presenting the graphical display view on the user interface device comprises presenting the graphical display view using the selected third desired language in response to the updating.
20. 20. The method of claim 19, wherein the selection of the third desired language indicates a change from a default language, and wherein presenting the graphical display view using the selected third desired language includes changing the graphical display view from being presented using the default language to being presented using the selected third desired language.
21. 21. The method of claim 20, wherein changing the graphical display view from being presented using the default language to being presented using the selected third desired language in response to the update to the first current language parameter value or the second current language parameter value is accomplished exclusively within the operating environment by utilizing the configuration of the graphical display view and without any additional communication between the user interface device and a configuration environment of the process plant from which the multi-language interface object and the configuration of the graphical display view were downloaded.
22. the default language is the second respective language; and Presenting the graphical display view using the selected third desired language includes presenting one or more display elements on the graphical display view utilizing the selected third desired language to display at least one of: (i) a respective process value generated by a respective control element corresponding to the one or more display elements; or (ii) a description of the one or more display elements.
22. The method of claim 20 or 21, comprising:
23. 23. The method of any one of claims 14 to 22, wherein the first current language parameter value of the first language parameter and the second current language parameter value of the second language parameter are independently updatable by respective selectable language user controls.
24. 1. A user interface included within an operating environment of a process plant configured to present multiple languages in a graphical display view, comprising: one or more processors; a display coupled to the processor; one or more memories coupled to the processor, (i) a multi-language interface object configured to indicate a plurality of languages that may be presented on the graphical display view, the multi-language interface object including a first language parameter and a second language parameter configured to be set to respective language parameter values of a plurality of language parameter values, each language parameter value indicating a respective language of the plurality of languages; (ii) a multi-language string object linked to the multi-language interface object; (iii) a configuration of the graphical display view, the configuration of the graphical display view referencing the multi-language string object linked to the multi-language interface object; and (iv) computer-executable instructions that, when executed by the processor during runtime of the process plant, cause the graphical display view to: referencing a first current language parameter value of the first language parameter of the multi-language interface object via the multi-language string object linked to the multi-language interface object; accessing from the one or more memories the configuration of the graphical display view for a first respective language of the plurality of languages indicated by the first current language parameter value; referencing a second current language parameter value of the second language parameter of the multi-language interface object via the multi-language string object linked to the multi-language interface object; accessing from the one or more memories the configuration of the graphical display view for a second respective one of the plurality of languages indicated by the second current language parameter value; causing the display to present fixtures of the graphical display view using the first respective language and present content of the graphical display view using the second respective language based on the accessed configuration of the graphical display view; causing the graphical display view to present and repeatedly update a representation of each of one or more process values generated by one or more control elements during the runtime of the process plant to control a process of the process plant; one or more memories storing computer-executable instructions; the multi-language interface object and the multi-language string object are downloaded along with the configuration of the graphical display view from a configuration environment of the process plant into the operating environment of the process plant. User interface.
25. The computer-executable instructions, when executed by the processor during the runtime of the process plant, provide an operator application with selectable language user control without communicating with another device, receiving a selection of a desired language via the selectable language user control; updating the first or second current language parameter value of the language parameter to a language parameter value indicative of the selected desired language; accessing the configuration of the graphical display view for the selected desired language stored in the one or more memories; 25. The user interface of claim 24, further comprising: a selectable language user control configured to present the fixtures or the content of the graphical display view using the selected desired language based on the accessed configuration of the graphical display view for the selected desired language.
26. 26. The user interface of claim 25, wherein the selection of the desired language indicates a change from a default language utilized by the graphical display view.
27. 27. The user interface of claim 25 or 26, wherein the second current language parameter value is updated to a language parameter value indicative of the selected desired language, the graphical display view includes one or more display elements, and the presenting of the graphical display view using the selected desired language includes presenting the one or more display elements utilizing the selected desired language to display at least one of (i) respective process values generated by respective control elements corresponding to the one or more display elements, or (ii) descriptions of the one or more display elements.
28. the selectable user control is a first selectable user control; the second current language parameter value of the first language parameter changes in response to input received via the first selectable user control; the operator application providing a second selectable user control; the first current language parameter value of the first language parameter changes in response to input received via the second selectable user control provided by the operator application.
28. A user interface according to any one of claims 25 to 27.
29. 30. The user interface of claim 28, wherein the first selectable user control and the second selectable user control are independently selectable.
Citation Information
Patent Citations
Scripted graphics in process environments
JP2008502031A
Display method and apparatus of localized process control object
JP2012053874A
Content browsing device and content providing system
JP2014007561A
Server device, program for server device
JP2014048891A
Dictionary system and dictionary calling method
JP2014059698A