Method and apparatus for generating and displaying trends associated with process control system

By introducing trend interface and automatic trend generation functions into the operator interface of the process control system, the problem of difficult to display and configure process parameter trends in the prior art is solved, and the operator's monitoring and decision-making capabilities are improved.

CN119604826APending Publication Date: 2025-03-11FISHER ROSEMOUNT SYST INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380056269.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-05-25
Filing Date
2023-03-08
Publication Date
2025-03-11

AI Technical Summary

Technical Problem

The operator interface of existing process control systems is difficult to effectively display and configure trend information of process parameters, which limits the operator's monitoring and decision-making capabilities.

Method used

By generating a trend interface in the operator interface, the operator allows the operator to drag and place graphic elements to automatically generate trend graphs, enabling automatic configuration and display of trend information.

Benefits of technology

Improves the flexibility and efficiency of the operator interface, allowing operators to view trends in multiple process parameters in a more intuitive and custom way, and enhances monitoring and management capabilities of process control systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119604826A_ABST
    Figure CN119604826A_ABST
Patent Text Reader

Abstract

Methods and apparatus to generate and display trends associated with a process control system are disclosed. An example apparatus includes a memory, machine-readable instructions, and processor circuitry to execute the instructions to generate a first graphical user interface. The first graphical user interface includes a graphical representation of a component in the process control system. The processor circuitry generates a second graphical user interface. The second graphical user interface includes a graph region in which trends are represented. The trend indicates a value of a process parameter of the process control system over a period of time. The processor circuitry automatically generates a trend in the chart region in response to the graphical element being dragged from the first graphical user interface and placed to the second graphical user interface.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates generally to process control systems and, more particularly, to methods and apparatus for generating and displaying trends associated with process control systems. Background Art

[0002] A process control system, such as that used for chemical, petroleum or other processes, typically includes one or more process controllers, communicatively coupled to one or more field devices via an analog, digital or analog / digital combination bus. Field devices may be, for example, valves, valve positioners, switches and transmitters (e.g., temperature sensors, pressure sensors and flow rate sensors) that perform process control functions in the process, such as opening or closing valves and measuring process control parameters. The process controller receives signals indicating process measurements made by the field devices and then processes the information to generate control signals to implement control routines, make other process control decisions, and initiate process control system alarms.

[0003] Information from field devices and / or controllers is typically provided via a data highway or communications network to one or more other hardware devices, such as operator workstations, personal computers, data historians, report generators, central databases, etc. Such devices are typically located in a control room and / or other remote locations relative to the harsh plant environment. These hardware devices, for example, run applications that enable an operator to perform any of a variety of functions related to a process of a process control system, such as viewing the current state of a process, changing an operating state, changing a setting of a process control routine, modifying the operation of a process controller and / or field devices, etc. Summary of the invention

[0004] A method and apparatus for generating and displaying trends associated with a process control system is disclosed. An example apparatus includes a memory, machine-readable instructions, and a processor circuit device, the processor circuit device being configured to execute the instructions to generate a first graphical user interface. The first graphical user interface is configured to include a graphical representation of components in the process control system. The processor circuit device is configured to generate a second graphical user interface. The second graphical user interface is configured to include a chart area in which a trend is represented. The trend indicates a value of a process parameter of the process control system over a period of time. The processor circuit device is configured to automatically generate a trend in the chart area in response to a graphical element being dragged from the first graphical user interface and dropped into the second graphical user interface.

[0005] An example non-transitory machine-readable storage medium includes instructions that, when executed, cause a processor circuit device to generate at least a first graphical user interface. The first graphical user interface is configured to include a graphical representation of a component in a process control system. The instructions cause the processor circuit device to generate a second graphical user interface. The second graphical user interface is configured to include a chart area in which a trend is represented. The trend indicates a value of a process parameter of the process control system over a period of time. The instructions cause the processor circuit device to automatically generate a trend in the chart area in response to a graphical element being dragged from the first graphical user interface and dropped into the second graphical user interface.

[0006] An example method includes generating a first graphical user interface. The first graphical user interface is configured to include a graphical representation of a component in a process control system. The method also includes generating a second graphical user interface. The second graphical user interface is configured to include a chart area in which a trend is represented. The trend indicates a value of a process parameter of the process control system over a period of time. The method also includes automatically generating a trend in the chart area in response to a graphical element being dragged and dropped from the first graphical user interface to the second graphical user interface by executing instructions using at least one processor. BRIEF DESCRIPTION OF THE DRAWINGS

[0007] Figure 1 is a schematic illustration of an example process control system.

[0008] Figure 2 for Figure 1 A block diagram of an example implementation of an example operator station.

[0009] Figure 3 The diagram shows Figure 1 An example operator interface associated with the example operator interface application.

[0010] Figure 4 The diagram shows Figure 1 An example trend interface associated with the example trend interface application.

[0011] Figure 5 The diagram shows Figure 3 The operator interface is dragged after the first graphic element is dropped Figure 4 An example trending interface for .

[0012] Figure 6 The diagram shows Figure 4 and Figure 5 An example chart configuration screen associated with the example trend screen.

[0013] Figure 7 Picture shows Figure 5 An example trending interface for , where the chart area is divided into four chart segments.

[0014] Figure 8 Picture shows Figure 6 An example of the different tabs within the Chart Configuration interface.

[0015] Figure 9-11 is a flowchart representing example machine-readable instructions and / or example operations that may be executed by example processor circuitry to implement Figure 1 and / or Figure 2 Example operator station.

[0016] Fig.12 is a block diagram of an example processing platform including a processor circuit device configured to perform Figure 9-11 Example machine readable instructions and / or example operations to implement Figure 1 and / or Figure 2 Example operator station.

[0017] Fig.13 for Fig.12 A block diagram of an example implementation of a processor circuit arrangement.

[0018] Fig.14 for Fig.12 A block diagram of another example implementation of a processor circuit arrangement.

[0019] Fig.15 is a block diagram of an example software distribution platform (e.g., one or more servers) that distributes software (e.g., corresponding to Figure 9-11 The software (e.g., machine-readable instructions of the computer) is distributed to client devices associated with end users and / or consumers (e.g., for licensing, sale, and / or use), retailers (e.g., for sale, resale, licensing, and / or sub-licensing), and / or original equipment manufacturers (OEMs) (e.g., for inclusion in products to be distributed to, for example, retailers and / or other end users such as direct purchasing customers).

[0020] In general, the same reference numbers are used to refer to the same or like parts throughout the drawings(s) and the accompanying written description.The drawings are not necessarily drawn to scale.

[0021] As used in this patent, stating that any component (e.g., a layer, film, region, area, or plate) is in any way located on another component (e.g., positioned on another component, located on another component, disposed on another component, or formed on another component, etc.), indicates that the referenced component is in contact with another component, or that the referenced component is located above another component with one or more intermediate components (one or more) located therebetween.

[0022] As used herein, unless otherwise indicated, connection references (e.g., attached, coupled, connected, and joined) may include intermediate members between the elements to which the connection reference refers and / or relative movement between these elements. As such, connection references do not necessarily mean that two elements are directly connected and / or fixed to each other. As used herein, stating that any component is "in contact with" another component is defined to mean that there are no intermediate components between the two components.

[0023] Unless otherwise specifically stated, descriptors used herein, such as "first", "second", "third", etc., do not imply or otherwise indicate any meaning of priority, physical order, arrangement in a list, and / or ordering in any manner, but are merely used as labels and / or arbitrary names to distinguish elements to facilitate understanding of the disclosed examples. In some examples, the descriptor "first" may be used to refer to an element in the detailed description, while the same element may be referred to by a different descriptor in the claims, such as "second" or "third". In such cases, it should be understood that such descriptors are only used to clearly identify those elements that, for example, may share the same name.

[0024] As used herein, "approximately" and "about" modify their subject matter / values ​​to recognize variations that may occur in real-world applications. For example, "approximately" and "about" may modify dimensions that may not be exact due to manufacturing tolerances and / or other real-world imperfections that will be understood by one of ordinary skill in the art. For example, unless otherwise stated in the description below, "approximately" and "about" may indicate that such dimensions may be within a tolerance range of + / - 10%. As used herein, "substantially real time" means occurring in a near instantaneous manner, recognizing that there may be real-world delays in computing time, transmission, etc. Therefore, unless otherwise stated, "substantially real time" means real time + / - 1 second.

[0025] As used herein, the phrase "in communication" includes variations thereof, including direct communication and / or indirect communication through one or more intermediate components, does not require direct physical (e.g., wired) communication and / or continuous communication, but also includes selective communication at periodic intervals, predetermined intervals, non-periodic intervals and / or one-time events.

[0026] As used herein, "processor circuitry" is defined as including (i) one or more special-purpose electrical circuits that are constructed to perform specific operations and include one or more semiconductor-based logic devices (e.g., electrical hardware implemented by one or more transistors), and / or (ii) one or more general-purpose semiconductor-based electrical circuits that can be programmed by instructions to perform specific operations and include one or more semiconductor-based logic devices (e.g., electrical hardware implemented by one or more transistors). Examples of processor circuitry include programmable microprocessors, field programmable gate arrays (FPGAs) that can instantiate instructions, central processor units (CPUs), graphics processor units (GPUs), digital signal processors (DSPs), XPUs or microcontrollers, and integrated circuits such as application-specific integrated circuits (ASICs). For example, an XPU can be implemented by a heterogeneous computing system that includes multiple types of processor circuitry (e.g., one or more FPGAs, one or more CPUs, one or more GPUs, one or more DSPs, etc., and / or combinations thereof) and application programming interfaces (one or more) (one or more APIs) that can assign computing tasks (one or more) to any one (one or more) of the multiple types of processor circuitry that is best suited to perform the computing tasks (one or more). DETAILED DESCRIPTION

[0027] Process control system operators often need to monitor multiple operations and / or associated parameters in the control system at any given point in time. This is often facilitated by an operator interface application implemented on a workstation that generates an operator interface that includes a graphical representation of the process control system or its components. Such operator interfaces often include information about current values ​​of process parameters and / or other relevant information that is updated in substantially real time.

[0028] While an operator interface may provide a snapshot of the current state of a process control system, an operator may wish to view trends in specific parameters over time to assess what has occurred in the past and / or to predict where the operation and / or state of components and / or parameters of the process control system may be headed. Some operator interfaces may enable a user (e.g., a plant operator) to view basic trend information, but the appearance and format of this information is often fixed, leaving the operator with few options for interacting with and / or configuring the appearance and / or presentation of this information in a manner suitable to meet the operator's needs. Furthermore, the trend information provided in an operator interface is often limited to specific process parameters, making it difficult to compare values ​​and / or trends of different parameters in a process control system.

[0029] The limitations of the operator interface in providing trend information that meets the needs of the operator can be overcome by implementing a trend interface application. Such a trend interface application generates a trend interface that includes one or more charts or graphs having lines or curves of trend information associated with one or more process parameters. The trend interface can provide the operator with greater flexibility (compared to the operator interface) to configure the graph or chart so as to display the trend information in a way that is meaningful to the operator. However, the practicality of such trend interfaces is still limited and / or cumbersome to configure, especially when multiple trends associated with multiple different parameters are to be represented simultaneously. In addition, the trend interface application typically operates independently of the operator interface application, making it difficult for the operator to select or identify parameters and / or components in the operator interface to configure trend graphics in the trend interface. On the contrary, any trend that the operator sees in the trend interface needs to be configured separately by the operator, regardless of the configuration in the operator interface.

[0030] The examples disclosed herein overcome the above problems by enabling automatic configuration and generation of trend graphics displayed in a trend interface based on data configuration associated with an operator interface. More specifically, in some examples, an operator can select a specific parameter and / or component in the operator interface and drag and drop the specific parameter and / or component to the trend interface to generate a trend graphic for the selected parameter and / or component in the trend interface. In addition, the examples disclosed herein provide improvements to the user's interaction with the trend interface to facilitate configuration and / or adjustment of the appearance and / or display of multiple trends at a single point in time.

[0031] Figure 1 is a schematic illustration of an example process control system 100 implemented in accordance with the teachings disclosed herein. Figure 1 The example process control system 100 includes one or more process controllers, one of which is indicated by reference numeral 102, one or more operator stations, one of which is indicated by reference numeral 104, and one or more workstations, one of which is indicated by reference numeral 106. The example process controller 102, the example operator station 104, and the example workstation 106 are communicatively coupled via a bus and / or a local area network (LAN) 108, which is often referred to as an application control network (ACN).

[0032] Figure 1The example operator station 104 allows an operator to view and / or operate one or more operator display screens and / or applications that enable the operator to view process control system parameters, states, conditions, alarms, etc., and / or change process control system settings (e.g., set points, operating states, etc.). In this example, the operator station 104 includes and / or implements an example operator interface application 110 and an example trend interface application 112. Figure 2 Describe the implementation Figure 1 In some examples, the operator station 104 generates and / or implements a graphical user interface associated with the example operator interface application 110 and the example trend interface application 112. Figure 3-8 Example graphical user interfaces of an example operator interface application 110 and an example trend interface application 112 are shown and described.

[0033] Figure 1 The example workstation 106 can be configured as an application station to execute one or more information technology applications, user interactive applications, and / or communication applications. For example, an application station can be configured to primarily execute process control-related applications, while another application station (not shown) can be configured to primarily execute a communication application that enables the process control system 100 to communicate with other devices or systems using any desired communication medium (e.g., wireless, hardwired, etc.) and protocol (e.g., HTTP, SOAP, etc.). Figure 1 The example operator station 104 and the example workstation 106 can be implemented using one or more workstations and / or any other suitable computer system and / or processing system. For example, the operator station 104 and / or the workstation 106 can be implemented using a single processor personal computer, a single processor or multi-processor workstation, etc.

[0034] Any desired communication medium and protocol may be used to implement Figure 1 LAN 108 may be based on a hardwired and / or wireless Ethernet communication scheme. However, any other suitable communication medium(s) and / or protocol(s) may be used. Figure 1 A single LAN 108 is illustrated in FIG. 1 , but more than one LAN and / or other alternative communication hardware may be used to provide Figure 1 Example of redundant communication paths between systems.

[0035] Figure 1The example controller 102 is coupled to a plurality of smart field devices 114, 116, and 118 via a digital data bus 120 and an input / output (I / O) gateway 122. The smart field devices 114, 116, and 118 may be fieldbus-compliant valves, actuators, sensors, and the like, in which case the smart field devices 114, 116, and 118 communicate via the digital data bus 120 using the well-known Foundation Fieldbus protocol. Of course, other types of smart field devices and communication protocols may also be used. For example, the smart field devices 114, 116, and 118 may be Profibus and / or HART-compliant devices instead, which communicate via the data bus 120 using the well-known Profibus and HART communication protocols. Additional I / O devices (similar and / or identical to the I / O gateway 122) may be coupled to the controller 102 to enable additional groups of smart field devices to communicate with the controller 102, which may be Foundation Fieldbus devices, HART devices, and the like.

[0036] In addition to the example smart field devices 114 , 116 , and 118 , one or more non-smart field devices 124 and 126 may be communicatively coupled to the example controller 102 . Figure 1 The example non-intelligent field devices 124 and 126 may be, for example, conventional 4-20 milliamp (mA) or 0-10 volt direct current (VDC) devices that communicate with the controller 102 via corresponding hardwired links.

[0037] Figure 1 An example controller 102 may be, for example, a DeltaV sold by Fisher-Rosemount Systems, Inc. TM controller. However, any other controller may be used instead. In addition, although Figure 1 Only one controller 102 is illustrated in the example, but additional controllers and / or process control platforms of any desired type and / or combination of types may be coupled to the LAN 108. In any case, the example controller 102 executes one or more process control routines associated with the process control system 100 that have been generated by a system engineer and / or other system operator using an operator station 104 and that have been downloaded to and / or instantiated in the controller 102.

[0038] Although Figure 1An example process control system 100 is illustrated in which the methods and apparatus for controlling information presented to a process control system operator and / or other personnel described in greater detail below may be advantageously employed, but one of ordinary skill in the art will readily appreciate that the methods and apparatus for controlling information presented to an operator and / or other personnel described herein may be advantageously employed in other processes, if desired. Figure 1 The examples shown may be more or less complex than other process plants and / or process control systems (eg, having more than one controller, spanning more than one geographic location, etc.).

[0039] Figure 2 for Figure 1 1 is a block diagram of an example operator station 104 for generating and / or configuring trends represented in a chart within a trend interface in an efficient manner. Figure 2 The example operator station 104 may be instantiated (e.g., created as an instance, realized for any length of time, embodied, implemented, etc.) by a processor circuit device, such as a central processing unit, that executes instructions. Additionally or alternatively, Figure 2 The example operator station 104 may be instantiated (e.g., created as an instance, implemented for any length of time, embodied, implemented, etc.) by an ASIC or FPGA configured to perform operations corresponding to the instructions. It should be understood that Figure 2 Some or all of the circuit devices of can therefore be instantiated at the same or different times. Some or all of the circuit devices can be executed, for example, in one or more threads executed simultaneously on the hardware and / or serially on the hardware. In addition, in some examples, Figure 2 Some or all of the circuitry of may be implemented by microprocessor circuitry executing instructions to implement one or more virtual machines and / or containers.

[0040] like Figure 2 As shown, the example operator station 104 includes an example operator interface generator circuit device 202, an example trend interface generator circuit device 204, an example user interface circuit device 206, an example data parser circuit device 208, an example data validator circuit device 210, an example chart generator circuit device 212, and an example memory 214. The example operator interface generator circuit device 202 generates, adjusts, and / or updates the example operator interface generator circuit device 202 for communicating with the example operator interface generator circuit device 202. Figure 1 A graphical user interface associated with the operator interface application 110 is displayed (e.g., on a display screen). The graphical user interface associated with the operator interface application 110 is sometimes referred to herein as the operator interface. Figure 3 An example operator interface is shown and described.

[0041] The example trend interface generator circuitry 204 generates, adjusts and / or updates the Figure 1A graphical user interface associated with the trend interface application 112 for display (e.g., on a display screen). The graphical user interface associated with the trend interface application 112 is sometimes referred to herein as a trend interface. Figure 3-8 An example trend interface is shown and described. In some examples, the trend interface circuitry 204 is configured to execute trend interface instructions (e.g., Figure 1 The trend interface application 112 is associated with the processor circuit device to instantiate and / or be configured to perform such as Figure 9-11 The operations are represented by a flowchart.

[0042] The example user interface circuitry 206 can communicate with an input device associated with the operator station 104 to receive user input. In some examples, the input device corresponds to any type of device capable of receiving user input, such as a keyboard, a mouse, a touch pad, a touch screen, a microphone (e.g., to receive voice commands), etc. Additionally, in some examples, the user interface circuitry 206 can communicate with an output device (e.g., a display screen) associated with the operator station 104 to provide output in response to the user input. In some examples, the user interface circuitry 206 operates in conjunction with the operator interface generator circuitry 202 to enable a user to interact with and Figure 1 An operator interface (e.g., Figure 3 Similarly, in some examples, the user interface circuit device 206 operates in conjunction with the trend interface generator circuit device 204 to enable a user to interact with and Figure 1 The trend interface application 112 associated with the trend interface (eg, Figure 3-8 Example trend interface 304) interaction.

[0043] In some examples, all three of the operator interface generator circuitry 202, the trend interface generator circuitry 204, and the user interface circuitry 206 operate in combination. More specifically, in some examples, the user interface circuitry 206 detects a user selection (e.g., via a mouse click and hold) of a graphical element in an operator interface (generated by the operator interface generator circuitry 202), and detects a user dragging and dropping the selected graphical element into a trend interface (generated by the trend interface generator circuitry 204). Detection of such user actions can cause a curve in the trend interface to be updated to include a plot of trend information associated with the selected graphical element in the operator interface, as discussed in further detail below. In some examples, the user interface circuitry 206 is instantiated by a processor circuitry that executes user interface instructions and / or is configured to perform operations such as Figure 9-11 The operations are represented by a flowchart.

[0044] In some examples, user interface circuit device 206 detects when the selected graphic element is dragged into the trend interface to trigger other actions, and the selected graphic element will not be placed in the trend interface. For example, in some examples, it is detected that the drag operation associated with the selected graphic element triggers the serialization of the drag data associated with the graphic element into a text-based string (e.g., JavaScript object notation (JSON) string, extensible markup language (XML) string, etc.). As used herein, drag data refers to the data effectively dragged with the graphic element selected by the user, and the graphic element selected by the user is selected by the user to be dragged and placed elsewhere. That is, when the graphic element is placed in the trend interface (or any other application or position), the drag data (e.g., JSON string) contains all data that are passed to the trend interface. In some examples, as described above, in response to the associated graphic element being dragged to the trend interface, the drag data (e.g., JSON string) is passed to the trend interface, regardless of whether the selected graphic element is placed in the trend interface.

[0045] The specific content of the drag data can be configured to include any relevant information associated with the graphical element in the operator interface. Figure 1The drag data is configured by a configuration engineer who designs the operator interface before deploying and implementing the operator interface for the operation of the process control system 100. In some examples, the drag data includes trend information associated with one or more parameters in the process control system 100. In some examples, the one or more parameters correspond to and / or are associated with the operation of a specific component (one or more) graphically represented by a graphical element in the operator interface. However, in some examples, at least one of the one or more parameters is not directly associated and / or related (e.g., unrelated) to the operation of the component (one or more) graphically represented by the graphical element in the operator interface. In other words, the drag data can be arbitrarily configured to include trend information (or other information) associated with any aspect of the process control system 100, regardless of the specific relevance of the information to the content visually represented by the specific graphical element in the operator interface. More specifically, in some examples, the trend information contained in the drag data includes an identification of a specific module parameter (module / block / parameter.field) for which a trend is to be drawn, and an identification of a historical node and / or database for which the parameter is historized and / or archived. In addition, in some examples, the trend information in the drag data includes scaling information for the parameter. Additionally or alternatively, in some examples, the trend information in the drag data includes a path to a module parameter that specifies scaling information (e.g., MOD / PID1 / OUT_SCALE). In some examples, when trend data for a parameter is plotted in a chart, the trend information in the drag data includes the upper and lower limits (high and low) of the Y-axis scale. Furthermore, in some examples, the trend information in the drag data defines the unit of the parameter and the number of significant digits after the decimal point (to define the precision of the parameter value).

[0046] Figure 2 In one example, the data parser circuit device 208 parses the drag data (e.g., a JSON string) to extract the trend information contained therein. In some examples, the data parser circuit device 208 parses the drag data in response to a graphic element from an operator interface being selected, dragged, and dropped into a trend interface. In other examples, the data parser circuit device 208 parses the drag data once the selected graphic element is dragged into the trend interface before the graphic element is dropped. Once the graphic element is dragged into the trend interface (e.g., the graphic element is not dropped), the extraction of trend information is initiated, which improves efficiency by enabling subsequent processing of the trend information to be performed before the graphic element is dropped, thereby improving the user experience. In some examples, the data parser circuit device 208 is executed by executing data parser instructions (e.g., with Figure 1 The trend interface application 112 is associated with the processor circuit device to instantiate and / or be configured to perform such as Figure 9-11In some examples, the data parser circuit device 208 is a third-party parser such as RapidJSON.

[0047] The example data validator circuit device 210 analyzes the trend information extracted from the drag data to determine whether the trend information is valid. In some examples, the data validator circuit device 210 determines that the trend information is valid when the drag data (e.g., a JSON string) is in a correct format. Additionally or alternatively, the data validator circuit device 210 determines that the trend information is valid when the trend information includes a parameter reference to enable retrieval of the trend data to be plotted in a chart. In some examples, the data validator circuit device 210 is executed by executing a data validator instruction (e.g., with Figure 1 The trend interface application 112 is associated with the processor circuit device to instantiate and / or be configured to perform such as Figure 9-11 The operations are represented by a flowchart.

[0048] The example chart generator circuit device 212 generates a graph or curve of trend data of one or more parameters associated with a process control system for display in a chart of a trend interface. The graph or curve of trend data is also referred to as a trend in this article. In some examples, by dragging and dropping a graphical element (selected from an operator interface) into a trend interface, the parameters used as the basis of the trend represented in the chart in the trend interface are automatically added to the chart. That is, in some examples, the graph or curve is automatically generated based on the drag data included in the user's drag-and-drop operation. In some examples, the graphical element can be placed anywhere in the trend interface to trigger the automatic generation of the trend in the chart in the interface. In other examples, when the graphical element is placed in a chart (but not in an area outside the chart area), the trend is added to such a chart. In some examples, the example chart generator circuit device 212 facilitates adjusting the appearance of the trend represented in the chart in response to user input.

[0049] In some examples, the chart generator circuit device 212 evaluates the trend information contained in the drag data to determine whether the trend information meets the threshold limit of the trend display in the trend interface chart area. That is, in some examples, the trend interface is limited to a threshold number of trends that can be displayed at any given time. In some examples, the threshold number of trends can be any suitable number of trends (e.g., 5, 6, 8, 10, 12, 15, 16, 20, 25, etc.). Additionally or alternatively, in some examples, the trend interface is limited to a threshold number of Y axes that can be displayed in association with a threshold number of trends at any given time. In some examples, the threshold number of Y axes can be any suitable number of trends (e.g., 5, 6, 8, 10, 12, 15, 16, 20, 25, etc.). In some examples, the threshold number of Y axes is less than the threshold number of trends. The threshold value can be different because multiple different trends can be associated with the same Y axis. If one of the thresholds is not met (e.g., exceeded), the chart generator circuitry 212 may prevent the trend interface from being updated to include the trend associated with the graphical element that the user attempted to place on the interface. Additionally, in some such examples, the chart generator circuitry 212 causes a notification or indication to be generated indicating that creation of a curve or graph of the trend(s) cannot be performed as requested.

[0050] In some examples, the chart generator circuit device 212 evaluates the trend information to confirm that it meets the appropriate threshold (one or more) before the graphical element is dropped. That is, in some examples, the evaluation of the trend information is triggered after the user interface circuit device 206 detects that the graphical element has been dragged into the trend interface, regardless of whether the graphical element has been dropped. Enabling the chart generator circuit device 212 to verify that the appropriate threshold (one or more) is met before the graphical element is dropped can improve efficiency by enabling subsequent processes to occur to prepare for the expected drop of the currently dragged graphical element. More specifically, in some examples, in response to the chart generator circuit device 212 determining that the appropriate threshold (one or more) has been met, the chart generator circuit device 212 causes the memory 214 to store the trend information in a cache for faster retrieval and / or access when the graphical element is dropped into the trend interface. In this way, if the trend information needs to be retrieved from a less easily accessible memory, the chart generator circuit device 212 can generate a curve or graph of the trend faster than otherwise. Additionally or alternatively, in some examples, when a graphical element is dragged into the trend interface (but before the element is dropped), trend data identified by the trend information (e.g., the values ​​of an identified parameter over time) is retrieved from a historical node or database and stored in memory 214 to further improve the efficiency of generating result trends.

[0051] Combined with the following Figure 3-8 The discussion of the example trend interface 304 of FIG. 2 provides additional details regarding the implementation of the example chart generator circuit device 212. In some examples, the chart generator circuit device 212 is executed by executing chart generator instructions (e.g., with Figure 1 The trend interface application 112 is associated with the processor circuit device to instantiate and / or be configured to perform such as Figure 9-11 In some examples, some or all of the functions and / or operations performed by chart generator circuitry 212 are implemented by trend interface generator circuitry 204. In examples where the functions and / or operations of chart generator circuitry 212 are implemented by trend interface generator circuitry 204, chart generator circuitry 212 may be omitted.

[0052] In some examples, the apparatus includes equipment for generating an operator interface. For example, the equipment for generating an operator interface can be implemented by the example operator interface generator circuit device 202. In some examples, the operator interface generator circuit device 202 can be implemented by a processor circuit device, such as Fig.12 For example, the operator interface generator circuit device 202 may be instantiated by executing machine executable instructions, such as by Fig. 9 At least those instructions implemented by block 902 Fig.13 In some examples, the operator interface generator circuit device 202 can be instantiated by a hardware logic circuit device, which can be an ASIC, an XPU, or Fig.14 The operator interface generator circuit device 202 may be implemented by an FPGA circuit device 1400 that is configured to perform operations corresponding to machine-readable instructions. Additionally or alternatively, the operator interface generator circuit device 202 may be instantiated by any other combination of hardware, software, and / or firmware. For example, the operator interface generator circuit device 202 may be implemented by at least one or more hardware circuits (e.g., processor circuit devices, discrete circuit devices and / or integrated analog circuit devices and / or digital circuit devices, FPGAs, ASICs, XPUs, comparators, operational amplifiers (op-amps), logic circuits, etc.), which are configured to execute some or all of the machine-readable instructions and / or perform some or all of the operations corresponding to the machine-readable instructions without executing software or firmware, but other structures are equally suitable.

[0053] In some examples, the apparatus includes an apparatus for generating a trend interface. For example, the apparatus for generating a trend interface can be implemented by the example trend interface generator circuit device 204. In some examples, the trend interface generator circuit device 204 can be implemented by a processor circuit device, such as Fig.12 For example, the trend interface generator circuit device 204 can be executed by executing machine executable instructions, such as by Fig. 9 At least those instructions implemented by blocks 904 and 914 Fig.13 In some examples, the trend interface generator circuit device 204 can be instantiated by a hardware logic circuit device, which can be implemented by an ASIC, an XPU, or Fig.14 The trend interface generator circuit device 204 may be implemented by an FPGA circuit device 1400 that is configured to perform operations corresponding to machine-readable instructions. Additionally or alternatively, the trend interface generator circuit device 204 may be instantiated by any other combination of hardware, software, and / or firmware. For example, the trend interface generator circuit device 204 may be implemented by at least one or more hardware circuits (e.g., a processor circuit device, a discrete circuit device and / or an integrated analog circuit device and / or a digital circuit device, an FPGA, an ASIC, an XPU, a comparator, an operational amplifier (op-amp), a logic circuit, etc.), which is configured to execute some or all of the machine-readable instructions and / or execute some or all of the operations corresponding to the machine-readable instructions without executing software or firmware, but other structures are equally suitable.

[0054] In some examples, the apparatus includes means for detecting user input(s) to the device. For example, the means for detecting user input(s) may be implemented by the example user interface circuitry 206. In some examples, the user interface circuitry 206 may be implemented by a processor circuitry, such as Fig.12 For example, the user interface circuit device 206 may be implemented by executing machine executable instructions, such as by Fig. 9 At least those instructions implemented by blocks 906, 918, 920 Fig.13 In some examples, user interface circuit device 206 can be instantiated by hardware logic circuit device, which can be instantiated by ASIC, XPU or Fig.14The user interface circuit device 206 may be implemented by an FPGA circuit device 1400 that is configured to perform operations corresponding to machine-readable instructions. Additionally or alternatively, the user interface circuit device 206 may be instantiated by any other combination of hardware, software, and / or firmware. For example, the user interface circuit device 206 may be implemented by at least one or more hardware circuits (e.g., a processor circuit device, a discrete circuit device and / or an integrated analog circuit device and / or a digital circuit device, an FPGA, an ASIC, an XPU, a comparator, an operational amplifier (op-amp), a logic circuit, etc.), which is configured to execute some or all of the machine-readable instructions and / or execute some or all of the operations corresponding to the machine-readable instructions without executing software or firmware, but other structures are equally suitable.

[0055] In some examples, the apparatus includes means for extracting data. For example, the means for extracting can be implemented by the example data parser circuit device 208. In some examples, the data parser circuit device 208 can be instantiated by a processor circuit device, such as Fig.12 For example, the data parser circuit device 208 may be composed of Fig.13 The example microprocessor 1300 executes machine executable instructions to instantiate, such as by Fig. 9 In some examples, data parser circuit device 208 may be instantiated by hardware logic circuit device, which may be implemented by ASIC, XPU or Fig.14 The data parser circuit device 208 may be implemented by an FPGA circuit device 1400 that is configured to perform operations corresponding to machine-readable instructions. Additionally or alternatively, the data parser circuit device 208 may be instantiated by any other combination of hardware, software, and / or firmware. For example, the data parser circuit device 208 may be implemented by at least one or more hardware circuits (e.g., processor circuit devices, discrete circuit devices, and / or integrated analog circuit devices and / or digital circuit devices, FPGAs, ASICs, XPUs, comparators, operational amplifiers (op-amps), logic circuits, etc.), which are configured to execute some or all of the machine-readable instructions and / or execute some or all of the operations corresponding to the machine-readable instructions without executing software or firmware, but other structures are equally suitable.

[0056] In some examples, the apparatus includes equipment for verifying data. For example, the equipment for verifying can be implemented by the example data verifier circuit device 210. In some examples, the data verifier circuit device 210 can be implemented by a processor circuit device, such as Fig.12For example, the data validator circuit device 210 may be instantiated by executing machine executable instructions, such as by Fig. 9 At least those instructions implemented by block 910 Fig.13 In some examples, data validator circuit device 210 can be instantiated by hardware logic circuit device, which can be implemented by ASIC, XPU or Fig.14 The data validator circuit device 210 may be implemented by an FPGA circuit device 1400 that is configured to perform operations corresponding to machine-readable instructions. Additionally or alternatively, the data validator circuit device 210 may be instantiated by any other combination of hardware, software, and / or firmware. For example, the data validator circuit device 210 may be implemented by at least one or more hardware circuits (e.g., a processor circuit device, a discrete circuit device, and / or an integrated analog circuit device and / or a digital circuit device, an FPGA, an ASIC, an XPU, a comparator, an operational amplifier (op-amp), a logic circuit, etc.), which is configured to execute some or all of the machine-readable instructions and / or execute some or all of the operations corresponding to the machine-readable instructions without executing software or firmware, but other structures are equally suitable.

[0057] In some examples, the apparatus includes means for generating trends plotted in a graph. For example, the means for generating trends may be implemented by the example graph generator circuitry 212. In some examples, the graph generator circuitry 212 may be implemented by a processor circuitry, such as Fig.12 For example, the chart generator circuit device 212 may be instantiated by executing machine executable instructions, such as at least Fig. 9 Blocks 912, 914, 924, 926, Fig.10 The instructions of blocks 1002, 1004, 1006, 1008, 1010, 1012, 1014 and those implemented by blocks 1102, 1104, 1106, 1108, 1110, 1110 Fig.13 In some examples, the chart generator circuit device 212 can be instantiated by a hardware logic circuit device, which can be implemented by an ASIC, an XPU, or Fig.14The chart generator circuit device 212 may be implemented by an FPGA circuit device 1400 that is configured to perform operations corresponding to machine-readable instructions. Additionally or alternatively, the chart generator circuit device 212 may be instantiated by any other combination of hardware, software, and / or firmware. For example, the chart generator circuit device 212 may be implemented by at least one or more hardware circuits (e.g., processor circuit devices, discrete circuit devices, and / or integrated analog circuit devices and / or digital circuit devices, FPGAs, ASICs, XPUs, comparators, operational amplifiers (op-amps), logic circuits, etc.) that are configured to execute some or all of the machine-readable instructions and / or perform some or all of the operations corresponding to the machine-readable instructions without executing software or firmware, but other structures are equally suitable.

[0058] although Figure 2 The diagram shows the implementation Figure 1 Example operator station 104 example manner, but Figure 2 One or more of the elements, processes and / or devices shown in the drawings may be combined, split, rearranged, omitted, eliminated and / or implemented in any other manner. Figure 1 The example operator interface generator circuit device 202, the example trend interface generator circuit device 204, the example user interface circuit device 206, the example data parser circuit device 208, the example data validator circuit device 210, the example chart generator circuit device 212, the example memory 214, and / or more generally, the example operator station 104 can be implemented by hardware alone, or by hardware in combination with software and / or firmware. Thus, for example, any of the example operator interface generator circuitry 202, the example trend interface generator circuitry 204, the example user interface circuitry 206, the example data parser circuitry 208, the example data validator circuitry 210, the example chart generator circuitry 212, the example memory 214, and / or more generally the example operator station 104 may be implemented by processor circuitry, analog circuitry(s), digital circuitry(s), logic circuitry(s), programmable processor(s), programmable microcontroller(s), graphics processing unit(s) (GPU(s)), digital signal processor(s) (DSP(s)), application specific integrated circuit(s) (ASIC(s)), programmable logic device(s) (PLD(s)), and / or field programmable logic device(s) (FPLD(s)), such as a field programmable gate array (FPGA). In addition, Figure 1 An example operator station 104 may include, in addition to Figure 2 One or more elements, processes and / or devices other than those shown in, or in place of Figure 2 Those elements, processes and / or devices shown, and / or may include more than one of any or all of the illustrated elements, processes and devices.

[0059] Figure 3 An example operator interface 302 is illustrated adjacent to an example trend interface 304 (in Figure 4 104). In some examples, the two interfaces 302, 304 are presented side by side with each other via a display screen (or multiple display screens) associated with the operator interface. That is, in some examples, the two interfaces 302, 304 are associated with two separate windows that are associated with two different applications (e.g., the operator interface application 110 and the trend interface application 112) that are simultaneously implemented on the operator station 104.

[0060] As shown in the example shown in the figure, Figure 3 The operator interface 302 includes a process control system (e.g., Figure 1 A process diagram or image of various graphical elements of instruments, processes, process variables and / or components and their relationships within an example process control system 100 of the present invention. As used herein, a graphical element corresponds to any visual element or collection of visual elements that can be selected by a user (e.g., an operator) in a process diagram. Thus, some graphical elements have a visual appearance that mimics or is based on real-world structures or objects (e.g., graphical elements representing distillation columns, tanks, control valves, pumps, etc.). However, some graphical elements may not mimic real-world objects, but rather graphically represent real-world information in text, some other graphical form (e.g., bar charts, mini-charts, etc.), or some combination of the two. In some examples, a graphical element may include multiple text and / or visual components that are grouped together for selection by an operator. Whether a particular graphical element that can be selected by an operator includes a single text and / or visual component or multiple text and / or visual components is based on how the operator interface was initially configured.

[0061] As described above, each individually selectable graphical element (which may or may not correspond to multiple text and / or visual components) in the operator interface 302 is configured with drag data associated therewith. The drag data enables the operator to select a particular graphical element and drag and drop the graphical element into the trend interface, thereby enabling the drag data to be communicated to the trend interface 304. For example, a first drag and drop operation (by Figure 3 ) involves the user selecting a first graphical element 308 corresponding to a PID control loop that is dragged and dropped into the trend interface 304. In addition, a second drag-and-drop operation (indicated by arrow 306 in FIG. Figure 3304) involves a user selecting a second graphical element 312 corresponding to the distillation column that was dragged and dropped into the trend interface 304. For purposes of explanation, assume that all of the text and visual components within the distillation column are associated with the same graphical element 308 selected for the second drag and drop operation 310. However, in some examples, separate portions of the text and visual components within the distillation column may correspond to separate selectable graphical elements.

[0062] As described above, the drag data associated with each graphical element (e.g., graphical elements 308, 312) includes trend information defining relevant information to generate a curve, graph, or trend of trend data for an associated process control parameter. In some examples, the drag data may include trend information for a plurality of different parameters. For example, in this example, the drag data associated with the first graphical element 308 of the PID control loop defines trends for three different parameters, including a value of a process parameter, a set point of a process parameter, and an output. Furthermore, for purposes of explanation, assume that the drag data for graphical element 312 defines seven different trends.

[0063] Figure 4 A detailed view of an example trend interface 304 is illustrated next to the operator interface 302 ( Figure 3 As shown in detail in the example shown in the figure, the trend interface 304 includes a chart area 402 containing multiple trends. More specifically, in this example, six different trends 404, 406, 408, 410, 412, 414 have been included in the chart area 402 (e.g., before the drag and drop operations 306, 310). Figure 4 As shown, all six trends 404,406,408,410,412,414 are associated with a single Y-axis 422 with a lower limit and an upper limit ranging from -200 to +200. In other examples, the Y-axis 422 can have any other scale, which can be configured by the operator. Similarly, all trends 404,406,408,410,412,414 share a common X-axis 420. In this example, the X-axis corresponds to a period of time. In some examples, the time period corresponds to the most recent time period. That is, in some examples, trends 404,406,408,410,412,414 are substantially updated in real time, so that the X-axis corresponds to a rolling window that advances over time, so that the current (e.g., most recent) value of the parameter associated with trends 404,406,408,410,412,414 is displayed in the chart area 402 of the trend interface 304. In some examples, at least some parameter values ​​prior to the current (e.g., most recent) value are retrieved from a historical database or other historical archive of process values. In such examples, the current value of the process parameter (and future values ​​over time) is retrieved directly from the database in substantially real time. Figure 1The process control system 100 is obtained by the runtime subsystem of the process control system 100. Additionally or alternatively, in some examples, at least some parameter values ​​before the current (e.g., most recent) value are obtained from the runtime subsystem at a previous time point when the previous value is the current (e.g., most recent) value, without accessing the historical database. That is, in some examples, the trend can be continuously generated in substantially real time within the trend interface 304 to generate a trend extending from the current (current) time point backward to the time point at which the trend begins to be plotted within the trend interface 304 based on substantially real-time data directly obtained from the process control system, without relying on data history. In other examples, the X-axis can be a period of time in the past, which is separated in time from the current (current) time point. In some such examples, such trends are generated entirely based on trend data retrieved from the historical database without reference to the current (e.g., substantially real-time) value of the process parameter. In some examples, the length of the time period associated with the X-axis 420 can be adjusted to any suitable time period (e.g., 10 seconds, 30 seconds, 1 minute, 5 minutes, 15 minutes, 1 hour, 8 hours, 1 day, etc.).

[0064] In some examples, in addition to or in lieu of process values ​​plotted against time, the graph area 402 may include other types of graphs or information curves. For example, in some examples, text data (e.g., the "on" or "off" state of a pump) may be plotted or otherwise represented in the graph area 402. Additionally or alternatively, event data (e.g., alarms, manual control actions, process state changes) associated with the trend and / or corresponding parameters may be provided within the graph area 402.

[0065] In addition to the chart area 402, the example trend interface 304 includes a legend area 416 that provides a list of parameters associated with the trends 404, 406, 408, 410, 412, 414 presented in the chart area 402, as well as specific information associated with each of the parameters. In some examples, the legend area 416 includes a color indicator 418 that matches the different colors used to generate each of the trends 404, 406, 408, 410, 412, 414 (in the illustrated example, different dashed line patterns and different shades of the color indicator are shown instead of different colors). In some examples, a single line in the legend area 416 (associated with a particular parameter) can be selected, and the corresponding trend 404, 406, 408, 410, 412, 414 in the chart area 402 changes appearance (e.g., the line will become highlighted or the weighting is increased). In some examples, multiple different lines in the legend area can be selected to highlight multiple different corresponding trends among trends 404 , 406 , 408 , 410 , 412 , 414 in chart area 402 .

[0066] In this example, a threshold number of ten trends may be represented in the chart area 402. Thus, where six trends 404, 406, 408, 410, 412, 414 are already included in the chart area 402, a maximum of four more trends may be added. As a result, it is not possible to add Figure 3 Drag and drop the second graphic element 312 onto Figure 4 304, because, as described above, the second graphical element 312 is associated with drag data that defines seven different trends. As a result, in this example, the pointer 424 within the trend interface 304 associated with the second drag and drop operation includes an indication that the drop action is disabled (e.g., a prohibitory symbol). In contrast, the pointer 426 associated with the first drag and drop operation 306 has a different appearance to indicate that it is possible to drop the first graphical element 308, because the drag data associated with that element only defines three trends.

[0067] Figure 5 The diagram shows the Figure 3 After the operator interface 302 drags the first graphic element 308, Figure 4 Thus, as shown in the illustrated example, the chart area 402 includes three additional trends 502, 504, 506 corresponding to the parameters associated with the first graphical element 308. In some examples, the additional trends 502, 504, 506 are represented by Figure 2 The example chart generator circuitry 212 automatically generates and scales based on trend information contained in the drag data extracted by the example data parser circuitry 208 .

[0068] As described above, in some examples, the trend information included in the drag data defines the scaling and lower and upper limits of the Y-axis for each trend. In some examples, the chart generator circuit device 212 compares the Y-axis scales of different trends to determine whether to group the different trends to use a common Y-axis. That is, in some examples, if the difference between the Y-axis scales of two trends meets (e.g., is less than or equal to) a threshold, the chart generator circuit device 212 uses the same Y-axis scale. In some examples, the threshold is 0, so that the chart generator circuit device 212 groups trends together to share a common Y-axis only when the scaling information of each trend in the group matches each other. Figure 5 The first trend 502 and the second trend 504 added in have a common Y-axis scale ranging from -50 to +50, while Figure 5The third trend 504 added in the chart area 402 has a Y-axis scale ranging from 0 to 100. Since these Y-axis scales are different from each other and from the scales of the Y-axis 422 used for the original six trends 404, 406, 408, 410, 412, 414 in the chart area 402, the chart generator circuitry 212 updates the chart area 402 to include the two additional Y-axes 508, 510. Figure 5 As shown, the second Y-axis has lower and upper limits (e.g., -50 to +50) corresponding to the values ​​added to Figure 5 The third Y-axis has lower and upper limits (e.g., 0 to 100) corresponding to the trend information associated with the first trend 502 and the second trend 504 of the chart area 402 in FIG. Figure 5 The trend information associated with the third trend 506 in the chart area 402 are those defined by the trend information.

[0069] In some examples, different Y axes 422, 508, 510 have different colors that match corresponding colors of one or more of the trends 404, 406, 408, 410, 412, 414, 502, 504, 506 with which they are associated. Additionally, in some examples, a trend 404, 406, 408, 410, 412, 414, 502, 504, 506 is associated with a corresponding one of the Y axes 422, 508, 510 such that user interaction with one of the Y axes 422, 508, 510 causes an automatic change of the associated trend 404, 406, 408, 410, 412, 414, 502, 504. For example, if the operator clicks on the second Y axis 508 and drags it downward, the upper and lower limits on the Y axis scale will increase accordingly, and the first additional trend 502 and the second additional trend 504 (associated with the second Y axis 508) will move downward accordingly. Similarly, if the operator changes the scale of the second Y axis 508 to a range from 0 to 50, trends 502, 504 will increase accordingly to be consistent with the new scale. In some examples, the interaction of the user with a specific trend 404, 406, 408, 410, 412, 414, 502, 504, 506 automatically affects the corresponding changes of the associated Y axis 422, 508, 510 and all other trends associated with the corresponding Y axis. For example, if the operator clicks and drags the first additional trend 502 downward, the second Y axis 508 and the second additional trend 504 all move downward accordingly. However, the above-described user interaction with the second Y-axis 508 and / or the first additional trend 502 and the second additional trend 504 does not affect the appearance of the other Y-axes 422 , 510 or other trends 404 , 406 , 408 , 410 , 412 , 414 , 506 .

[0070] As indicated above, in some examples, when a graphical element is dragged and dropped into the trend interface 304, the trend grouping using a common Y-axis is automatically determined by the chart generator circuitry 212 (e.g., without operator input). Additionally or alternatively, the operator may select a trend grouping using a common Y-axis. Figure 6 The example chart configuration interface 600 shown in FIG. 1 is used to configure trend groups associated with the same Y axis. In some examples, the chart configuration interface 600 and Figure 2 402 and can be accessed from within the trending interface 304. In some examples, graphical elements from the operator interface 302 can be dragged and dropped directly into the chart configuration interface 600 to enable the operator to adjust the automatic configuration before generating a trend within the chart area 402.

[0071] As shown in the illustrated example, the chart configuration interface 600 includes a list 602 of each parameter associated with each trend plotted within the chart area 402. In this example, the chart configuration interface 600 includes an "axis assignment" tower 604 that enables the operator to specify whether each parameter is associated with a new Y-axis or a previous Y-axis. When a particular parameter is configured to be associated with a new Y-axis, the Y-axis scaling information configured for the parameter is accessed to define the Y-axis in the chart area 402. When a particular parameter is configured to be associated with a previous Y-axis, the parameter (and the associated trend) is grouped with the closest previous parameter in the list 602 that is configured to be associated with the new Y-axis. Therefore, in some examples, the order of the parameters can be adjusted using the order adjustment button 606. Additionally or alternatively, in some examples, the order of the parameters in the list can be adjusted by the operator with Figure 4 The list in the legend area 416 is shown to be interactively adjusted.

[0072] In some examples, as described above, there is a threshold number of Y-axes that may be used at any given point in time to ensure that there is enough space for the trend within chart area 402. Therefore, in some examples, chart generator circuitry 212 determines whether the threshold number of Y-axes is met or whether the user input would violate (e.g., exceed) the threshold.

[0073] In some examples, although the use of multiple different Y-axes can help operators understand the trends in the chart area 402, presenting multiple trends in a single chart can still be confusing, especially when the number of trends increases. Therefore, in some examples, the chart generator circuit device 212 divides the chart area 402 into multiple different chart segments and plots different trends in different chart segments. Figure 7An example trend interface 304 is illustrated in which the chart area 402 is divided into four chart segments 702, 704, 706, 708. In this example, the first chart segment 702 includes the three additional trends 502, 504, 506 added by the drag-and-drop operation 306, the second chart segment 704 includes the first three original trends 404, 406, 408, the third chart segment 706 includes the fourth and fifth original trends 410, 412, and the fourth chart segment 708 includes the sixth original trend 414.

[0074] like Figure 7 As shown in the illustrated example of FIG, each of the chart segments 702, 704, 706, 708 includes at least one Y axis, but may include more than one Y axis. Specifically, the first chart segment 702 includes a Figure 5 Two Y axes 508, 510 associated with the three additional trends 502, 504, 506 are shown and described. In this example, the Y axes 710, 712, 714 associated with each of the other chart segments 704, 706, 708 have been replaced with Figure 4 and Figure 5 4. In some examples, the updated Y axes 710, 712, 714 are automatically determined by the chart generator circuitry 212 based on trend information associated with the specific trends 404, 406, 408, 410, 412, 414 included in each chart segment 704, 706, 708. In other examples, when the chart generator circuitry 212 initially divides the chart area 402 into the plurality of segments 702, 704, 706, 708, the original Y axis 422 is retained for each of the last three chart segments 704, 706, 708. In some such examples, the changes to the updated Y axes 710, 712, 714 are defined by user input. In some examples, the user may provide specific (e.g., customized) labels or titles to the different chart segments to facilitate the ability to understand the trend (or trends) associated with each chart segment. Additionally or alternatively, in some examples, a user may provide specific (eg, customized) labels or titles for different Y-axes to facilitate the ability to understand the trend (or trends) associated with the corresponding Y-axis.

[0075] In some examples, the trend is automatically divided into different chart segments by the chart generator circuit device 212. In other examples, the division of the chart area 402 into multiple segments is defined by user input. More specifically, in some examples, the operator can select the chart area 402 by selecting the chart area 402 in the chart area 402. Figure 6 In the chart configuration interface 600 of FIG. 600 , the operator may select a corresponding “New Y-Axis Group” block 608 to specify a separate chart segment. Additionally or alternatively, in some examples, the operator may select Figure 4The operator selects a plurality of trends represented in the chart area 402 (and / or corresponding parameters in the legend area 416) and indicates that the selected trend will be placed in a new group associated with the new chart segment. In some examples, the operator can change the order of the chart segments 702, 704, 706, 708 within the chart area 402 by clicking on a particular chart segment and dragging it to a particular location above, below, or between other chart segments.

[0076] In some examples, such as Figure 7 As shown, the chart segments 702, 704, 706, 708 can have different sizes (e.g., different sizes in the vertical or Y-axis direction). More specifically, in this example, the bottom three chart segments 704, 706, 708 are the same size as each other and are half the size of the first chart segment 702. In some examples, the size (e.g., height) of each segment 702, 704, 706, 708 is configured or selected by an operator, who identifies a proportion or percentage of the total height of the chart area 402 to be assigned to each chart segment (e.g., in this example, the first chart segment 702 is 40%, and each of the other chart segments 704, 706, 708 is 20%). Figure 8 Picture shows Figure 6 The example chart configuration interface 600 of FIG. 600 may be used to configure the chart to allow the operator to specify such ratios or percentages. Figure 8 In the illustrated example, there are up to 16 chart segments), and it may be difficult for the operator to calculate the appropriate percentage of the height of the chart area 402 to total 100%. Therefore, in some examples, a button 802 is provided to evenly distribute the height among all chart segments specified (e.g., based on Figure 6 In some examples, button 802 defines the same height for each chart segment, regardless of the number of blocks 608 selected in the chart. Figure 8 802. In other examples, the operator may specify a height for one or more of the chart segments, and button 802 automatically defines the same height for all remaining chart segments that do not already have an assigned height. For example, in this example, the operator defines first chart segment 702 to correspond to 40% of the total height of chart area 402. Then, in some examples, in response to the operator clicking button 802, chart generator circuitry 212 automatically determines an equal proportion of 20% of the total height, rather than specifying 20% ​​for each of the remaining three chart segments 704, 706, 708.

[0077] In some examples, once the appearance of the trend interface 304 is configured according to the operator's requirements (e.g., all trends to be plotted are included in the chart area 402, the trends are associated with one or more corresponding Y-axes that are appropriately scaled, the trends are grouped and presented in appropriate chart segments, and the chart segments (if more than one) have appropriate heights), the operator can save the configuration to the example memory 214 for subsequent retrieval and use at a later point in time.

[0078] Figure 9-11 A flowchart representing example machine readable instructions that may be executed to configure a processor circuit device to implement Figure 1 and / or Figure 2 The machine-readable instructions may be one or more executable programs or portions of executable programs (one or more) executed by a processor circuit device, such as the following in combination with Fig.12 The processor circuitry 1212 shown in the example processor platform 1200 discussed below and / or in conjunction with Fig.13 and / or the example processor circuit device discussed in 14. The program may be embodied in software stored on one or more non-transitory computer-readable storage media, such as a compact disk (CD), a floppy disk, a hard disk drive (HDD), a solid-state drive (SSD), a digital versatile disk (DVD), a Blu-ray disc, a volatile memory (e.g., any type of random access memory (RAM), etc.) or a non-volatile memory associated with a processor circuit device located in one or more hardware devices (e.g., electrically erasable programmable read-only memory (EEPROM), flash memory, HDD, SSD, etc.), but the entire program and / or its components may also be executed by one or more hardware devices other than the processor circuit device and / or embodied in firmware or dedicated hardware. The machine-readable instructions may be distributed across multiple hardware devices and / or executed by two or more hardware devices (e.g., a server and a client hardware device). For example, a client hardware device may be implemented by an endpoint client hardware device (e.g., a hardware device associated with a user) or an intermediate client hardware device (e.g., a radio access network (RAN) gateway that can facilitate communication between a server and an endpoint client hardware device). Similarly, non-transitory computer-readable storage media may include one or more media located in one or more hardware devices. Figure 9-11The flowchart shown in the figure is described, but many other methods of implementing the example operator station 104 may be selected. For example, the execution order of the blocks may be changed, and / or some of the blocks described may be changed, deleted, or combined. Additionally or alternatively, any or all of the blocks may be implemented by one or more hardware circuits (e.g., processor circuit devices, discrete circuit devices and / or integrated analog circuit devices and / or digital circuit devices, FPGAs, ASICs, comparators, operational amplifiers (op-amps), logic circuits, etc.), which are configured to perform corresponding operations without executing software or firmware. The processor circuit device may be distributed in different network locations and / or local to one or more hardware devices (e.g., a single-core processor (e.g., a single-core central processing unit (CPU)) in a single machine, a multi-core processor (e.g., a multi-core CPU, an XPU, etc.), multiple processors distributed on multiple servers in a server rack, multiple processors distributed on one or more server racks, CPUs and / or FPGAs located in the same package (e.g., the same integrated circuit (IC) package or two or more separate housings).

[0079] The machine-readable instructions described herein may be stored in one or more of a compressed format, an encrypted format, a segmented format, a compiled format, an executable format, a packaged format, etc. The machine-readable instructions described herein may be stored as data or data structures (e.g., instruction portions, codes, code representations, etc.) that can be used to create, manufacture, and / or produce machine-executable instructions. For example, machine-readable instructions may be segmented and stored on one or more storage devices and / or computing devices (e.g., servers) located at the same or different locations of a network or network collection (e.g., in the cloud, edge devices, etc.). The machine-readable instructions may require one or more of installation, modification, adaptation, update, combination, supplementation, configuration, decryption, decompression, unpacking, distribution, redistribution, compilation, etc., so that they can be directly read, interpreted, and / or executed by a computing device and / or other machine. For example, machine-readable instructions may be stored in multiple components that are individually compressed, encrypted, and / or stored on separate computing devices, where these components form a set of machine-executable instructions when decrypted, decompressed, and / or combined, and these instructions implement one or more operations that can together form a program such as described herein.

[0080] In another example, the machine-readable instructions may be stored in a state that is readable by the processor circuitry, but require the addition of a library (e.g., a dynamic link library (DLL)), a software development kit (SDK), an application programming interface (API), etc., in order to execute the machine-readable instructions on a particular computing device or other device. In another example, the machine-readable instructions may need to be configured (e.g., stored settings, data inputs, recorded network addresses, etc.) before the machine-readable instructions and / or corresponding program(s) can be executed in whole or in part. Therefore, as used herein, a machine-readable medium may include machine-readable instructions and / or program(s) regardless of the particular format or state of the machine-readable instructions and / or program(s) when stored or otherwise stationary or transported.

[0081] The machine-readable instructions described herein may be represented by any past, present, or future instruction language, scripting language, programming language, etc. For example, the machine-readable instructions may be represented using any of the following languages: C, C++, Java, C#, Perl, Python, JavaScript, Hypertext Markup Language (HTML), Structured Query Language (SQL), Swift, etc.

[0082] As mentioned above, Figure 9-11The example operations of may be implemented using executable instructions (e.g., computer and / or machine readable instructions) stored on one or more non-transitory computer and / or machine readable media, including optical storage devices, magnetic storage devices, HDDs, flash memory, read-only memory (ROM), CDs, DVDs, cache memory, any type of RAM, registers, and / or any other storage device or storage disk, where information may be stored on any other storage device or storage disk for any duration (e.g., for an extended period of time, permanently, temporarily, for temporary buffering, and / or for information caching). As used herein, the terms non-transitory computer readable medium, non-transitory computer readable storage medium, non-transitory machine readable medium, and non-transitory machine readable storage medium are expressly defined to include any type of computer readable storage device and / or storage disk, and exclude propagating signals and transmission media. As used herein, the terms "computer readable storage device" and "machine readable storage device" are defined to include any physical (mechanical and / or electrical) structure that stores information, but excludes propagating signals and transmission media. Examples of computer readable storage devices and machine readable storage devices include any type of random access memory, any type of read-only memory, solid-state memory, flash memory, optical disks, magnetic disks, disk drives, and / or redundant arrays of independent disks (RAID) systems. As used herein, the term "device" refers to a physical structure, such as a mechanical and / or electrical appliance, hardware, and / or circuitry that may or may not be configured by computer readable instructions, machine readable instructions, etc., and / or is manufactured to execute computer readable instructions, machine readable instructions, etc.

[0083] "Including" and "comprising" (and all forms and tenses thereof) are used herein as open-ended terms. Thus, whenever a claim uses any form of "include" or "comprise" (e.g., comprises, includes, comprising, including, having, etc.) as a preamble or in any kind of claim recitation, it should be understood that additional elements, terms, etc. may be present without exceeding the scope of the corresponding claim or recitation. As used herein, when the phrase "at least" is used as a transitional term, such as in the preamble of a claim, it is open-ended in the same manner as the terms "comprising" and "including" are open-ended. When used in the form of, for example, A, B, and / or C, the term "and / or" refers to any combination or subset of A, B, and C, such as (1) A alone, (2) B alone, (3) C alone, (4) A and B, (5) A and C, (6) B and C, or (7) A and B and C. As used herein in the context of describing structures, components, items, objects, and / or things, the phrase "at least one of A and B" is intended to refer to embodiments that include any of (1) at least one A, (2) at least one B, or (3) at least one A and at least one B. Similarly, as used herein in the context of describing structures, components, items, objects, and / or things, the phrase "at least one of A or B" is intended to refer to embodiments that include any of (1) at least one A, (2) at least one B, or (3) at least one A and at least one B. As used herein in the context of describing the execution or performance of processes, instructions, actions, activities, and / or steps, the phrase "at least one of A and B" is intended to refer to embodiments that include any of (1) at least one A, (2) at least one B, or (3) at least one A and at least one B. Similarly, as used herein in the context of describing the execution or performance of processes, instructions, actions, activities, and / or steps, the phrase "at least one of A or B" is intended to refer to embodiments that include any of (1) at least one A, (2) at least one B, or (3) at least one A and at least one B.

[0084] As used herein, singular references (e.g., "a," "an," "first," "second," etc.) do not exclude the plural. The term "a" or "an" object as used herein refers to one or more objects. The terms "a" (or "an"), "one or more," and "at least one" are used interchangeably herein. In addition, although listed separately, multiple equipment, elements, or method actions may be implemented by, for example, the same entity or object. In addition, although individual features may be included in different examples or claims, these features may be combined, and inclusion in different examples or claims does not mean that the combination of features is not feasible and / or disadvantageous.

[0085] Fig. 9 is a flowchart representing example machine-readable instructions and / or example operations 900 that may be executed and / or instantiated by a processor circuit device to generate and / or enable the Figure 4 Configuration or adjustment of the trend appearance within the chart area 402 of the trend interface 304. Fig. 9 The machine readable instructions and / or operations 900 begin at block 902 where the example operator interface generator circuitry 202 generates an operator interface (eg, Figure 3 At block 904, the example trend interface generator circuitry 204 generates a trend interface (e.g., Figure 3-8 Trend interface 304).

[0086] At block 906 , the example user interface circuitry 206 determines a graphical element (eg, Figure 3 928. If not, control proceeds to block 928. On the other hand, if a graphical element has been selected and dragged into the trend interface 304, control proceeds to block 908. As part of the selection and drag operation of the graphical element, the drag data associated with the graphical element is serialized into a text-based string. Therefore, at block 908, the example data parser circuit device 208 extracts the trend information.

[0087] At block 910, the example data validator circuit device 210 determines whether the trend information is valid. In some examples, if the trend information has a proper format and each trend identified in the trend information has a corresponding parameter reference, the trend information is valid. If the trend information is valid, control proceeds to block 912, where the example chart generator circuit device 212 determines the chart area (e.g., Figure 4 402) has space for a trend associated with the trend information. In some examples, the determination is based on whether the number of trends already present in the chart area 402 plus the number of additional trends to be added associated with the selected graphical element meets (e.g., is less than or equal to) a threshold number of trends. Additionally or alternatively, the determination of whether there is space to add a trend is based on whether the number of Y axes already present in the chart area 402 plus the number of additional Y axes to be added associated with the selected graphical element meets (e.g., is less than or equal to) a threshold number of Y axes. If there is no space for additional trends, control proceeds to block 914, where the trend interface generator circuit device 204 provides an indication that the graphical element cannot be placed in the trend interface 304. Thereafter, control proceeds to block 928. Returning to block 912, if the chart area 402 has space for additional trends, control proceeds to block 916.

[0088] At block 916, the example memory 214 stores the trend information. In some examples, in this case, the memory 214 is a cache memory so that if the graphical element is eventually placed in the trend interface 304, the trend information can be efficiently accessed and / or retrieved. At block 918, the example user interface circuit device 206 determines whether the graphical element is placed in the trend interface 304. If not, control proceeds to block 920, where the example user interface circuit device 206 determines whether the graphical element is still being dragged within the trend interface 304. If so, control returns to block 918. Otherwise, control proceeds to block 922, where the example memory 214 clears or removes the trend information. Thereafter, control proceeds to block 928.

[0089] Returning to block 918, if the example user interface circuitry 206 determines that the graphical element is to be placed in the trend interface 304, control proceeds to block 924 where the example chart generator circuitry 212 updates the chart area 402 to include the trend(s) defined in the trend information. Fig.10 Additional details regarding the implementation of block 924 are also provided. At block 926, the example chart generator circuitry 212 modifies the appearance of the segments of the chart area 402. Fig.11 Additional details regarding the implementation of block 926 are also provided. After the chart area 402 is updated (block 924) and modified (block 926), control proceeds to block 928 where the operator station 104 determines whether to continue. If so, control returns to block 902. Otherwise, Fig. 9 The example process ends.

[0090] Fig.10is a flowchart of example machine-readable instructions and / or example operations that may be executed and / or instantiated by a processor circuit device to implement Fig. 9 Block 924. Fig.10 The machine-readable instructions and / or operations of the example chart generator circuit device 212 begin at block 1002, where the example chart generator circuit device 212 identifies a trend in the trend information. At block 1004, the example chart generator circuit device 212 determines whether the trend information defines a Y-axis scale for the identified trend that satisfies a threshold value for the difference from the Y-axis scale of an existing trend in the chart area 402. In some examples, the threshold value is zero, such that the Y-axis scale defined in the trend information needs to match the existing Y-axis scale to satisfy the threshold value. If the threshold value is satisfied, control proceeds to block 1006, where the example chart generator circuit device 212 groups the identified trend with the existing trend. Thereafter, at block 1008, the example chart generator circuit device 212 plots the identified trend in the chart area using the existing Y-axis scale. Control then proceeds to block 1014.

[0091] Returning to block 1004, if the example chart generator circuitry 212 determines that the Y-axis scale defined for the identified trend does not meet the threshold value of the difference, control proceeds to block 1010. At block 1010, the example chart generator circuitry 212 generates a new Y-axis in the chart area 402. Then, at block 1012, the example chart generator circuitry 212 plots the identified trend in the chart area using the new Y-axis scale. Thereafter, control proceeds to block 1014. At block 1014, the example chart generator circuitry 212 determines whether there is another trend in the trend information. If so, control returns to block 1002 to repeat the process. Otherwise, Fig.10 The example process ends and returns to complete Fig. 9 process.

[0092] Fig.11 is a flowchart of example machine-readable instructions and / or example operations that may be executed and / or instantiated by a processor circuit device to implement Fig. 9 Block 926. Fig.11 The machine readable instructions and / or operations of the example chart generator circuitry 212 begin at block 1102, where the example chart generator circuitry 212 determines whether different trends in the chart area 402 are to be displayed in different chart segments (e.g., Figure 74, 704, 706, 708). If so, control proceeds to block 1104, where the example chart generator circuit device 212 groups the trends according to the different chart segments 702, 704, 706, 708. In some examples, such trend grouping is based on user input. In other examples, such grouping is done automatically. At block 1106, the example chart generator circuit device 212 determines whether to automatically set the height of the chart segments 702, 704, 706, 708. If so, control proceeds to block 1108, where the example chart generator circuit device 212 automatically sets the height of each chart segment to fill the chart area 402. Thereafter, control proceeds to block 1112.

[0093] Returning to block 1106, if the height is not set automatically, control proceeds to block 1110 where the example chart generator circuitry 212 sets the height of each chart based on the user input. Thereafter, control proceeds to block 1112. Returning to block 1102, if the trends are not plotted in different chart segments, control proceeds directly to block 1112. At block 1112, the example chart generator circuitry 212 adjusts other aspects of the appearance of the chart area 402 based on the user input. Such adjustments to the appearance correspond to any manner in which the user may configure the chart area 402. For example, such adjustments include changes to the Y-axis scale, changes to the X-axis scale, reordering of the chart segments 702, 704, 706, 708, reordering of trends, labeling of axes and / or chart segments, etc. After any adjustments are made based on the user input, Fig.11 The example process ends and returns to complete Fig. 9 process.

[0094] Fig.12 is a block diagram of an example processor platform 1200 that is configured to execute and / or instantiate Figure 9-11 Machine-readable instructions and / or operations to implement Figure 1 and / or Figure 2 The processor platform 1200 may be, for example, a server, a personal computer, a workstation, a self-learning machine (e.g., a neural network), a mobile device (e.g., a cellular phone, a smart phone, an iPad, etc.). TM tablet computer), personal digital assistant (PDA), Internet instrument, headset (e.g., augmented reality (AR) headset, virtual reality (VR) headset, etc.) or other wearable device, or any other type of computing device.

[0095] The processor platform 1200 of the illustrated example includes a processor circuit device 1212. The processor circuit device 1212 of the illustrated example is hardware. For example, the processor circuit device 1212 can be implemented by one or more integrated circuits, logic circuits, FPGAs, microprocessors, CPUs, GPUs, DSPs, and / or microcontrollers from any desired series or manufacturer. The processor circuit device 1212 can be implemented by one or more semiconductor-based (e.g., silicon-based) devices. In this example, the processor circuit device 1212 implements the example operator interface generator circuit device 202, the example trend interface generator circuit device 204, the example user interface circuit device 206, the example data parser circuit device 208, the example data validator circuit device 210, and the example chart generator circuit device 212.

[0096] The processor circuit device 1212 of the illustrated example includes a local memory 1213 (e.g., cache memory, registers, etc.). The processor circuit device 1212 of the illustrated example communicates with a main memory including a volatile memory 1214 and a non-volatile memory 1216 via a bus 1218. The volatile memory 1214 may be a synchronous dynamic random access memory (SDRAM), a dynamic random access memory (DRAM), Dynamic Random Access Memory The non-volatile memory 1216 may be implemented by flash memory and / or any other desired type of storage device. Access to the main memory 1214 , 1216 of the illustrated example is controlled by a memory controller 1217 .

[0097] The processor platform 1200 of the illustrated example also includes an interface circuit device 1220. The interface circuit device 1220 may be configured according to any type of interface standard, such as an Ethernet interface, a universal serial bus (USB) interface, The interface, the near field communication (NFC) interface, the peripheral component interconnect (PCI) interface and / or the peripheral component interconnect express (PCIe) interface are implemented by hardware.

[0098] In the illustrated example, one or more input devices 1222 are connected to the interface circuitry 1220. The input device(s) 1222 permit a user (one or more times) to input data and / or commands to the processor circuitry 1212. The input device(s) 1222 may be implemented by, for example, an audio sensor, a microphone, a camera (still or video), a keyboard, buttons, a mouse, a touch screen, a track pad, a trackball, an isopoint device, and / or a speech recognition system.

[0099] One or more output devices 1224 are also connected to the interface circuit device 1220 of the illustrated example. The output device(s) 1224 may be implemented, for example, by a display device (e.g., a light emitting diode (LED), an organic light emitting diode (OLED), a liquid crystal display (LCD), a cathode ray tube (CRT) display, an in-situ switching (IPS) display, a touch screen, etc.), a tactile output device, a printer, and / or a speaker. Therefore, the interface circuit device 1220 of the illustrated example typically includes a graphics driver card, a graphics driver chip, and / or a graphics processor circuit device such as a GPU.

[0100] The interface circuitry 1220 of the illustrated example also includes communication devices, such as transmitters, receivers, transceivers, modems, residential gateways, wireless access points, and / or network interfaces to facilitate data exchange with external machines (e.g., any type of computing device) over the network 1226. This communication may occur through, for example, an Ethernet connection, a digital subscriber line (DSL) connection, a telephone line connection, a coaxial cable system, a satellite system, a field wireless system, a cellular telephone system, an optical connection, etc.

[0101] The processor platform 1200 of the illustrated example also includes one or more mass storage devices 1228 for storing software and / or data. Examples of such mass storage devices 1228 include magnetic storage devices, optical storage devices, floppy disk drives, HDDs, CDs, Blu-ray disk drives, redundant arrays of independent disks (RAID) systems, solid-state storage devices such as flash memory devices and / or SSDs, and DVD drives.

[0102] can be Figure 9-11 The machine-readable instructions 1232 implemented by the machine-readable instructions may be stored in the mass storage device 1228, the volatile memory 1214, the non-volatile memory 1216, and / or a removable non-transitory computer-readable storage medium (such as a CD or DVD).

[0103] Fig.13 for Fig.12 1212 of the processor circuit device 1212. In this example, Fig.12 The processor circuit device 1212 is implemented by the microprocessor 1300. For example, the microprocessor 1300 can be a general-purpose microprocessor (eg, a general-purpose microprocessor circuit device). The microprocessor 1300 executes Figure 9-11 Some or all of the machine-readable instructions of the flowchart to effectively Figure 2 The circuit devices of the machine readable instructions are instantiated as logic circuits to perform operations corresponding to those machine readable instructions. In some such examples, Figure 2The circuit device is instantiated by the hardware circuit of the microprocessor 1300 in combination with instructions. For example, the microprocessor 1300 can be implemented by a multi-core hardware circuit device, such as a CPU, DSP, GPU, XPU, etc., although it can include any number of example cores 1302 (for example, 1 core), but the microprocessor 1300 of this example is a multi-core semiconductor device including N cores. The cores 1302 of the microprocessor 1300 can operate independently, or can cooperate to execute machine-readable instructions. For example, the machine code corresponding to the firmware program, embedded software program, or software program can be executed by one of the cores 1302, or can be executed by multiple cores in the cores 1302 at the same or different times. In some examples, the machine code corresponding to the firmware program, embedded software program, or software program is divided into threads and executed in parallel by two or more cores 1302. The software program may correspond to a program executed by Figure 9-11 A flowchart may represent a portion or all of machine-readable instructions and / or operations.

[0104] The cores 1302 can communicate via a first example bus 1304. In some examples, the first bus 1304 can be implemented by a communication bus to implement communications associated with one (or more) of the cores 1302. For example, the first bus 1304 can be implemented by at least one of an inter-integrated circuit (I2C) bus, a serial peripheral interface (SPI) bus, a PCI bus, or a PCIe bus. Additionally or alternatively, the first bus 1304 can be implemented by any other type of computing or electrical bus. The cores 1302 can obtain data, instructions, and / or signals from one or more external devices via an example interface circuit device 1306. The cores 1302 can output data, instructions, and / or signals to one or more external devices via the interface circuit device 1306. Although the cores 1302 of this example include an example local memory 1320 (e.g., a level 1 (L1) cache element that may be divided into an L1 data cache element and an L1 instruction cache element), the microprocessor 1300 also includes an example shared memory 1310 that may be shared by the cores (e.g., a level 2 (L2 cache element)) for high-speed access to data and / or instructions. Data and / or instructions may be transferred (e.g., shared) by writing to and / or reading from the shared memory 1310. The local memory 1320 and the shared memory 1310 of each of the cores 1302 may be a plurality of levels of cache memory and a main memory (e.g., Fig.12 1214, 1216). Typically, memories higher up in the hierarchy exhibit shorter access times and smaller storage capacities than memories lower down in the hierarchy. Changes in the various levels of the cache hierarchy are managed (e.g., coordinated) by a cache coherence policy.

[0105] Each core 1302 may be referred to as a CPU, DSP, GPU, etc., or any other type of hardware circuit device. Each core 1302 includes a control unit circuit device 1314, an arithmetic and logic (AL) circuit device (sometimes referred to as an ALU) 1316, a plurality of registers 1318, a local memory 1320, and a second example bus 1322. Other structures may exist. For example, each core 1302 may include a vector unit circuit device, a single instruction multiple data (SIMD) unit circuit device, a load / store unit (LSU) circuit device, a branch / jump unit circuit device, a floating point unit (FPU) circuit device, etc. The control unit circuit device 1314 includes a semiconductor-based circuit that is configured to control (e.g., coordinate) data movement within the corresponding core 1302. The AL circuit device 1316 includes a semiconductor-based circuit that is configured to perform one or more mathematical and / or logical operations on data within the corresponding core 1302. Some examples of the AL circuit device 1316 perform integer-based operations. In other examples, the AL circuit device 1316 also performs floating-point operations. In other examples, the AL circuit device 1316 may include a first AL circuit device that performs integer-based operations and a second AL circuit device that performs floating-point operations. In some examples, the AL circuit device 1316 may be referred to as an arithmetic logic unit (ALU). The register 1318 is a semiconductor-based structure for storing data and / or instructions, such as the results of one or more operations performed by the AL circuit device 1316 of the corresponding core 1302. For example, the register 1318 may include vector registers (one or more), SIMD registers (one or more), general registers (one or more), flag registers (one or more), segment registers (one or more), machine-specific registers (one or more), instruction pointer registers (one or more), control registers (one or more), debug registers (one or more), memory management registers (one or more), machine check registers (one or more), etc. The register 1318 may be arranged such as Fig.13 Alternatively, registers 1318 may be organized in any other arrangement, format, or structure, including being distributed throughout core 1302 to reduce access time. Second bus 1322 may be implemented by at least one of an I2C bus, an SPI bus, a PCI bus, or a PCIe bus.

[0106] Each core 1302 and / or, more generally, the microprocessor 1300 may include additional and / or alternative structures shown and described above. For example, there may be one or more clock circuits, one or more power supplies, one or more power gates, one or more cache home agents (CHA), one or more convergence / common mesh stations (CMS), one or more shifters (e.g., barrel shifter(s)) and / or other circuit devices. The microprocessor 1300 is a semiconductor device that is manufactured to include many interconnected transistors to implement the above structure in one or more integrated circuits (ICs) contained in one or more packages. The processor circuit device may include one or more accelerators and / or cooperate with one or more accelerators. In some examples, the accelerator is implemented by a logic circuit device to perform certain tasks faster and / or more efficiently than a general-purpose processor. Examples of accelerators include ASICs and FPGAs, such as those discussed herein. A GPU or other programmable device may also be an accelerator. The accelerator may be on a processor circuit device, in the same chip package as the processor circuit device, and / or in one or more packages separated from the processor circuit device.

[0107] Fig.14 for Fig.12 1400. In this example, the processor circuit device 1212 is implemented by an FPGA circuit device 1400. For example, the FPGA circuit device 1400 can be implemented by an FPGA. The FPGA circuit device 1400 can be used, for example, to perform operations that otherwise can be performed by a processor executing corresponding machine-readable instructions. Fig.13 However, once configured, the FPGA circuit device 1400 instantiates the machine-readable instructions in hardware and can therefore often perform operations faster than a general-purpose microprocessor executing corresponding software.

[0108] More specifically, Fig.13 The microprocessor 1300 (which is a general-purpose device that can be programmed to perform Figure 9-11 Compared to some or all of the machine-readable instructions shown in the flowchart, but whose interconnections and logic circuit devices are fixed after manufacture, Fig.14 The example FPGA circuit device 1400 includes interconnects and logic circuit devices that can be configured and / or interconnected in different ways after fabrication to instantiate Figure 9-11In particular, FPGA circuit device 1400 can be considered as an array of logic gates, interconnects, and switches. The switches can be programmed to change how the logic gates are interconnected through the interconnects, effectively forming one or more dedicated logic circuits (unless and until FPGA circuit device 1400 is reprogrammed). The configured logic circuits enable the logic gates to cooperate in different ways to perform different operations on the data received by the input circuit device. Those operations can correspond to the operations performed by Figure 9-11 Thus, FPGA circuit device 1400 can be constructed to effectively Figure 9-11 Some or all of the machine-readable instructions of the flowchart of FIG. 1400 are instantiated into a dedicated logic circuit that performs operations corresponding to those software instructions in a dedicated manner similar to an ASIC. Therefore, the FPGA circuit device 1400 can execute operations corresponding to those software instructions faster than a general-purpose microprocessor. Figure 9-11 Some or all of the operations in the machine readable instructions.

[0109] exist Fig.14 In the example of FPGA circuit device 1400, FPGA circuit device 1400 is configured to be programmed (and / or reprogrammed one or more times) by an end user via a hardware description language (HDL) such as Verilog. Fig.14 FPGA circuit device 1400 includes example input / output (I / O) circuit device 1402 to obtain and / or output data from example configuration circuit device 1404 and / or external hardware 1406. For example, configuration circuit device 1404 can be implemented by an interface circuit device that can obtain machine-readable instructions to configure FPGA circuit device 1400 or part(s) thereof. In some such examples, configuration circuit device 1404 can obtain machine-readable instructions from a user, a machine (e.g., a hardware circuit (e.g., a programmed or dedicated circuit device) that can implement an artificial intelligence / machine learning (AI / ML) model to generate instructions), etc. In some examples, external hardware 1406 can be implemented by external hardware circuit devices. For example, external hardware 1406 can be implemented by Fig.13 FPGA circuit device 1400 also includes an array of example logic gate circuit devices 1408, a plurality of example configurable interconnects 1410, and example storage circuit devices 1412. Logic gate circuit devices 1408 and configurable interconnects 1410 can be configured to instantiate one or more operations, which can correspond to Figure 9-11 At least some machine-readable instructions and / or other desired operations. Fig.14The logic gate circuit device 1408 shown is manufactured in the form of groups or blocks. Each block includes a semiconductor-based electrical structure that can be configured as a logic circuit. In some examples, the electrical structure includes a logic gate (e.g., an AND gate, an OR gate, a NOR gate, etc.) that provides a basic building block for the logic circuit. An electrically controllable switch (e.g., a transistor) is present in each logic gate circuit device 1408 to enable the electrical structure and / or logic gate to be configured to form a circuit to perform the desired operation. The logic gate circuit device 1408 may include other electrical structures, such as a lookup table (LUT), a register (e.g., a flip-flop or a latch), a multiplexer, etc.

[0110] The configurable interconnect 1410 of the illustrated example is a conductive circuit path, trace, through hole, etc., which may include an electrically controlled switch (e.g., a transistor) whose state can be changed by programming (e.g., using an HDL instruction language) to activate or deactivate one or more connections between one or more logic gate circuit devices 1408, thereby programming the desired logic circuit.

[0111] The storage circuit device 1412 of the illustrated example is configured to store the result(s) of one or more operations performed by the corresponding logic gates. The storage circuit device 1412 may be implemented by a register or the like. In the illustrated example, the storage circuit device 1412 is distributed in the logic gate circuit device 1408 to facilitate access and increase execution speed.

[0112] Fig.14 The example FPGA circuit device 1400 also includes an example special-purpose operation circuit device 1414. In this example, the special-purpose operation circuit device 1414 includes a special-purpose circuit device 1416, which can be called to implement common functions to avoid the need to program these functions on site. Examples of such special-purpose circuit devices 1416 include memory (e.g., DRAM) controller circuit devices, PCIe controller circuit devices, clock circuit devices, transceiver circuit devices, memory, and multiplier-accumulator circuit devices. There may be other types of special-purpose circuit devices. In some examples, the FPGA circuit device 1400 may also include an example general-purpose programmable circuit device 1418, such as an example CPU 1420 and / or an example DSP 1422. Other general-purpose programmable circuit devices 1418 may additionally or alternatively exist, such as a GPU, XPU, etc., which can be programmed to perform other operations.

[0113] although Fig.13 and Fig.14 Picture shows Fig.12Two example implementations of the processor circuit device 1212 are shown, but many other approaches are also contemplated. For example, as described above, a modern FPGA circuit device may include an on-board CPU, such as Fig.14 One or more of the example CPUs 1420. Thus, Fig.12 The processor circuit device 1212 may additionally be combined by Fig.13 An example microprocessor 1300 and Fig.14 In some such hybrid examples, the example FPGA circuit device 1400 is implemented by Figure 9-11 The first portion of the machine-readable instructions represented by the flowchart may be represented by Fig.13 1302, executed by one or more cores 1302 Figure 9-11 The second portion of the machine-readable instructions represented by the flowchart may be represented by Fig.14 The FPGA circuit device 1400 is executed, and / or by Figure 9-11 The third portion of the machine-readable instructions represented by the flowchart may be executed by the ASIC. It should be understood that Figure 2 Some or all of the circuit devices of can therefore be instantiated at the same or different times. Some or all of the circuit devices can be instantiated, for example, in one or more threads that are executed simultaneously and / or serially. In addition, in some examples, Figure 2 Some or all of the circuitry may be implemented within one or more virtual machines and / or containers executing on the microprocessor.

[0114] In some examples, Fig.12 The processor circuit device 1212 may be located in one or more packages. For example, Fig.13 The microprocessor 1300 and / or Fig.14 The FPGA circuit device 1400 can be in one or more packages. In some examples, the XPU can be composed of Fig.12 The XPU may be implemented in a processor circuit device 1212, which may be in one or more packages. For example, the XPU may include a CPU in one package, a DSP in another package, a GPU in yet another package, and an FPGA in yet another package.

[0115] Fig.15 A block diagram of an example software distribution platform 1505 is illustrated for distributing software to hardware devices owned and / or operated by a third party, such as Fig.12The example software distribution platform 1505 may be implemented by any computer server, data facility, cloud service, etc. that can store software and transmit software to other computing devices. The third party may be a customer of the entity that owns and / or operates the software distribution platform 1505. For example, the entity that owns and / or operates the software distribution platform 1505 may be such as Fig.12 The third party may be a consumer, user, retailer, original equipment manufacturer, etc. who purchases and / or licenses the software for use and / or resale and / or sublicense. In the illustrated example, the software distribution platform 1505 includes one or more servers and one or more storage devices. The storage device stores the machine-readable instructions 1232, which may correspond to the above-described Figure 9-11 Example machine-readable instructions 900 of the example software distribution platform 1505. One or more servers of the example software distribution platform 1505 communicate with an example network 1510, which may correspond to any one or more of the Internet and / or any of the above-described example networks 1226. In some examples, as part of a commercial transaction, one or more servers respond to a request to transfer software to a requesting party. Payment for the delivery, sale, and / or license of the software may be processed by one or more servers of the software distribution platform and / or a third-party payment entity. The server enables a purchaser and / or licensee to download machine-readable instructions 1232 from the software distribution platform 1505. For example, it may correspond to Figure 9-11 The software of the example machine readable instructions 900 can be downloaded to the example processor platform 1200, which will execute the machine readable instructions 1232. In some examples, one or more servers of the software distribution platform 1505 periodically provide, transmit and / or force updates to the software (e.g., Fig.12 Example machine readable instructions 1232) to ensure that improvements, patches, updates, etc. are distributed and applied to the software at the end-user device.

[0116] In summary, it should be appreciated that example systems, methods, apparatus, and articles of manufacture have been disclosed that are capable of automatically generating one or more trends in a trend interface of a trend interface application based on dragging and dropping from an operator interface of an operator interface application to a graphical element. The drag and drop operation is associated with drag data containing all relevant configuration parameters so that such trends are generated in an efficient manner. In addition, in some examples, trend information is analyzed and cached in memory even before the graphical element is dropped to further improve efficiency. Thus, the disclosed systems, methods, apparatus, and articles of manufacture are directed to one or more improvements (one or more) in the operation of a machine such as a computer or other electronic and / or mechanical device.

[0117] Disclosed herein are example methods, apparatus, systems, and articles of manufacture for generating and displaying trends associated with a process control system. Additional examples and combinations thereof include the following:

[0118] Example 1 includes an apparatus comprising a memory, machine-readable instructions, and a processor circuit device, the processor circuit device being used to execute instructions to generate a first graphical user interface, the first graphical user interface being used to include a graphical representation of components in a process control system, and to generate a second graphical user interface, the second graphical user interface being used to include a chart area in which a trend is represented, the trend indicating a value of a process parameter of the process control system over a period of time, and to automatically generate a trend in the chart area in response to a graphical element being dragged from the first graphical user interface and dropped onto the second graphical user interface.

[0119] Example 2 includes the apparatus of Example 1, wherein the process parameter is associated with an operation of a component.

[0120] Example 3 includes the apparatus of Example 1, wherein the process parameter is independent of the operation of the component.

[0121] Example 4 includes the apparatus of Example 1, wherein the processor circuit apparatus is configured to cause storage of trend information associated with the parameter after the graphic element is dragged to the second graphical user interface and before the graphic element is placed in the second graphical user interface, so that a trend is generated based on the trend information.

[0122] Example 5 includes the apparatus of Example 1, wherein the processor circuit means is to clear the stored trend information in response to the graphical element being dragged out of the second graphical user interface without being dropped into the second graphical user interface.

[0123] Example 6 includes the apparatus of Example 1, wherein the trend is a first trend, and the processor circuit apparatus is to automatically generate a second trend in the chart area in response to the graphical element being dragged from the first graphical user interface and dropped into the second graphical user interface.

[0124] Example 7 includes the apparatus of Example 6, wherein the processor circuit apparatus plots the first trend and the second trend using a single Y-axis scale.

[0125] Example 8 includes the apparatus of Example 6, wherein the processor circuit apparatus plots the first trend and the second trend using separate Y-axis scales.

[0126] Example 9 includes the apparatus of Example 1, wherein the trend is a first trend, the process parameter is a first process parameter, and the chart area includes a second trend associated with a second process parameter different from the first process parameter, the second trend being included in the chart area before the graphical element is dragged from the first graphical user interface, the processor circuit device being used to compare a first Y-axis scale specified for the first trend with a second Y-axis scale for the second trend in the chart area, when the difference between the first Y-axis scale and the second Y-axis scale meets a threshold, plot the first trend in the chart area using the second Y-axis scale, and when the difference between the first Y-axis scale and the second Y-axis scale does not meet the threshold, add the first Y-axis scale to the chart area and plot the first trend in the chart area using the first Y-axis scale.

[0127] Example 10 includes the apparatus of Example 1, wherein the trend is a first trend, and the processor circuit device is used to divide the chart area into different chart segments, the first trend is to be plotted within one of the different chart segments, and the height of each of the different chart segments is automatically set to fill the space associated with the chart area.

[0128] Example 11 includes a non-transitory machine-readable storage medium that includes instructions that, when executed, cause a processor circuit device to generate at least a first graphical user interface that includes a graphical representation of components in a process control system, and to generate a second graphical user interface that includes a chart area in which a trend is represented, the trend indicating a value of a process parameter of the process control system over a period of time, and to automatically generate a trend in the chart area in response to a graphical element being dragged from the first graphical user interface and dropped onto the second graphical user interface.

[0129] Example 12 includes the non-transitory machine-readable storage medium of Example 11, wherein the instructions cause the processor circuit device to cause storage of trend information associated with the parameter after the graphical element is dragged to the second graphical user interface and before the graphical element is placed in the second graphical user interface, the trend being generated based on the trend information.

[0130] Example 13 includes the non-transitory machine-readable storage medium of Example 11, wherein the instructions cause the processor circuitry to clear the stored trend information in response to the graphical element being dragged out of the second graphical user interface without being dropped into the second graphical user interface.

[0131] Example 14 includes the non-transitory machine-readable storage medium of Example 11, wherein the trend is a first trend, and the instructions cause the processor circuit device to automatically generate a second trend in the chart area in response to the graphical element being dragged from the first graphical user interface and dropped into the second graphical user interface.

[0132] Example 15 includes the non-transitory machine-readable storage medium of Example 11, wherein the trend is a first trend, the process parameter is a first process parameter, and the chart area includes a second trend associated with a second process parameter different from the first process parameter, the second trend being included in the chart area before the graphical element is dragged from the first graphical user interface, the instructions causing the processor circuit device to compare a first Y-axis scale specified for the first trend with a second Y-axis scale for the second trend in the chart area, when the difference between the first Y-axis scale and the second Y-axis scale meets a threshold, draw the first trend in the chart area using the second Y-axis scale, and when the difference between the first Y-axis scale and the second Y-axis scale does not meet the threshold, add the first Y-axis scale to the chart area and draw the first trend in the chart area using the first Y-axis scale.

[0133] Example 16 includes the non-transitory machine-readable storage medium of Example 11, wherein the trend is a first trend, and the instructions cause the processor circuit device to divide the chart area into different chart segments, the first trend is to be plotted within one of the different chart segments, and the height of each of the different chart segments is automatically set to fill the space associated with the chart area.

[0134] Example 17 includes a method comprising generating a first graphical user interface that includes a graphical representation of components in a process control system, generating a second graphical user interface that includes a chart area in which a trend is represented, the trend indicating a value of a process parameter of the process control system over a period of time, and automatically generating a trend in the chart area by executing instructions using at least one processor in response to a graphical element being dragged from the first graphical user interface and dropped onto the second graphical user interface.

[0135] Example 18 includes the method of Example 17, wherein the trend is a first trend, the method further comprising automatically generating a second trend in the chart area in response to the graphical element being dragged from the first graphical user interface and dropped into the second graphical user interface.

[0136] Example 19 includes the method of Example 17, wherein the trend is a first trend, the process parameter is a first process parameter, and the chart area includes a second trend associated with a second process parameter different from the first process parameter, the second trend being included in the chart area before the graphical element is dragged from the first graphical user interface, the method also comprising comparing a first Y-axis scale specified for the first trend with a second Y-axis scale for the second trend in the chart area, drawing the first trend in the chart area using the second Y-axis scale when the difference between the first Y-axis scale and the second Y-axis scale meets a threshold, and adding the first Y-axis scale to the chart area and drawing the first trend in the chart area using the first Y-axis scale when the difference between the first Y-axis scale and the second Y-axis scale does not meet the threshold.

[0137] Example 20 includes the method of Example 17, wherein the trend is a first trend, the method further comprising dividing the chart area into different chart segments, the first trend being plotted within one of the different chart segments, and automatically setting the height of each of the different chart segments to fill the space associated with the chart area.

[0138] The following claims are incorporated into this detailed description by reference. Although certain example systems, methods, devices, and articles of manufacture have been disclosed herein, the coverage of this patent is not limited thereto. On the contrary, this patent covers all systems, methods, devices, and articles of manufacture that fully fall within the scope of the claims of this patent.

Claims

1. A device comprising: Memory; machine-readable instructions; as well as Processor circuitry for executing instructions to: generating a first graphical user interface, the first graphical user interface being configured to include a graphical representation of a component in a process control system; as well as generating a second graphical user interface, the second graphical user interface being configured to include a graph area having a trend represented therein, the trend indicating a value of a process parameter of the process control system over a period of time; as well as The trend is automatically generated in the chart area in response to a graphical element being dragged from the first graphical user interface and dropped onto the second graphical user interface.

2. The apparatus of claim 1, wherein the process parameter is associated with the operation of the component.

3. The apparatus of claim 1, wherein the process parameter is independent of the operation of the component.

4. A device according to claim 1, wherein the processor circuit device is used to cause the storage of trend information associated with the parameter after the graphic element is dragged to the second graphical user interface and before the graphic element is placed in the second graphical user interface, so that the trend is generated based on the trend information.

5. The apparatus of claim 1, wherein the processor circuit means is configured to clear the stored trend information in response to the graphical element being dragged out of the second graphical user interface without being dropped into the second graphical user interface.

6. The apparatus of claim 1 , wherein the trend is a first trend, and the processor circuit device is operable to automatically generate a second trend in the chart area in response to the graphical element being dragged from the first graphical user interface and dropped into the second graphical user interface.

7. The apparatus of claim 6, wherein the processor circuit means is to plot the first trend and the second trend using a single Y-axis scale.

8. The apparatus of claim 6, wherein the processor circuit means is to plot the first trend and the second trend using separate Y-axis scales.

9. The apparatus of claim 1 , wherein the trend is a first trend, the process parameter is a first process parameter, and the chart area includes a second trend associated with a second process parameter different from the first process parameter, the processor circuitry in the chart area where the second trend was included before the graphical element was dragged from the first graphical user interface, comparing a first Y-axis scale specified for the first trend to a second Y-axis scale for the second trend in the chart area; plotting the first trend in the chart area using the second Y-axis scale when a difference between the first Y-axis scale and the second Y-axis scale satisfies a threshold; as well as When the difference between the first Y-axis scale and the second Y-axis scale does not satisfy the threshold, the first Y-axis scale is added to the chart area, and the first trend is plotted in the chart area using the first Y-axis scale.

10. The apparatus of claim 1, wherein the trend is a first trend, and the processor circuit means is to: dividing the chart area into different chart segments, the first trend to be plotted in one of the different chart segments; and A height of each of the different chart segments is automatically set to fill a space associated with the chart area.

11. A non-transitory machine-readable storage medium comprising instructions that, when executed, cause a processor circuit device to at least: generating a first graphical user interface, the first graphical user interface being configured to include a graphical representation of a component in a process control system; as well as generating a second graphical user interface, the second graphical user interface being configured to include a graph area having a trend represented therein, the trend indicating a value of a process parameter of the process control system over a period of time; as well as The trend is automatically generated in the chart area in response to a graphical element being dragged from the first graphical user interface and dropped onto the second graphical user interface.

12. A non-transitory machine-readable storage medium according to claim 11, wherein the instructions cause the processor circuit device to cause the storage of trend information associated with the parameter after the graphic element is dragged to the second graphical user interface and before the graphic element is placed in the second graphical user interface, so that the trend is generated based on the trend information.

13. The non-transitory machine-readable storage medium of claim 11, wherein the instructions cause the processor circuit device to clear the stored trend information in response to the graphical element being dragged out of the second graphical user interface without being dropped into the second graphical user interface.

14. The non-transitory machine-readable storage medium of claim 11, wherein the trend is a first trend and the instructions cause the processor circuit device to automatically generate a second trend in the chart area in response to the graphical element being dragged from the first graphical user interface and dropped into the second graphical user interface.

15. The non-transitory machine-readable storage medium of claim 11, wherein the trend is a first trend, the process parameter is a first process parameter, and the chart area includes a second trend associated with a second process parameter different from the first process parameter, the second trend being included in the chart area before the graphical element is dragged from the first graphical user interface, the instructions causing the processor circuitry to: comparing a first Y-axis scale specified for the first trend to a second Y-axis scale for the second trend in the chart area; plotting the first trend in the chart area using the second Y-axis scale when a difference between the first Y-axis scale and the second Y-axis scale satisfies a threshold; as well as When the difference between the first Y-axis scale and the second Y-axis scale does not satisfy the threshold, the first Y-axis scale is added to the chart area, and the first trend is plotted in the chart area using the first Y-axis scale.

16. The non-transitory machine-readable storage medium of claim 11, wherein the trend is a first trend, and the instructions cause the processor circuitry to: dividing the chart area into different chart segments, the first trend to be plotted in one of the different chart segments; and A height of each of the different chart segments is automatically set to fill a space associated with the chart area.

17. A method comprising: generating a first graphical user interface, the first graphical user interface being configured to include a graphical representation of a component in a process control system; as well as generating a second graphical user interface, the second graphical user interface being configured to include a graph area having a trend represented therein, the trend indicating a value of a process parameter of the process control system over a period of time; as well as The trend is automatically generated in the chart area by executing instructions with at least one processor in response to a graphical element being dragged from the first graphical user interface and dropped onto the second graphical user interface.

18. The method of claim 17, wherein the trend is a first trend, the method further comprising automatically generating a second trend in the chart area in response to the graphical element being dragged from the first graphical user interface and dropped into the second graphical user interface.

19. The method of claim 17, wherein the trend is a first trend, the process parameter is a first process parameter, and the chart area includes a second trend associated with a second process parameter different from the first process parameter, the second trend being included in the chart area before the graphical element is dragged from the first graphical user interface, the method further comprising: comparing a first Y-axis scale specified for the first trend to a second Y-axis scale for the second trend in the chart area; plotting the first trend in the chart area using the second Y-axis scale when a difference between the first Y-axis scale and the second Y-axis scale satisfies a threshold; as well as When the difference between the first Y-axis scale and the second Y-axis scale does not satisfy the threshold, the first Y-axis scale is added to the chart area, and the first trend is plotted in the chart area using the first Y-axis scale.

20. The method of claim 17, wherein the trend is a first trend, the method further comprising: dividing the chart area into different chart segments, wherein the first trend is to be plotted in one of the different chart segments; as well as A height of each of the different chart segments is automatically set to fill a space associated with the chart area.