The invention is related to the field of industrial automation, and in particular, to display automation data.
Industrial environments include automobile manufacturing factories, food processing plants, and microprocessor fabrication facilities. The typical industrial environment includes various machines, such as pumps, motors, and robots. These machines continually produce data that indicates the current status of the machines, such as the machine's pressure, temperature, or speed.
The typical industrial environment also includes a computer system with a user display system. The computer system receives and processes the status data from the machines to generate various graphical representations. The graphical representations indicate the current and historical status of the machines. For example, a graphical representation might indicate the pressure of a pump, the speed of a motor, or the output of a robot.
The computer system with the user display system allows a user to view the graphical representation of the status data from the machines in the industrial environment. The graphical representation is continuously generated from a live data feed. Unfortunately, status data in the graphical representation can be missed at times when the user must look away from the display system. For example, if the user needs a break or must react to an emergency, then they will not see all of the status data on the display system. An important event within the industrial environment might be overlooked in this manner.
In one embodiment, a method of displaying automation data is provided. First individual data points correlated with individual time points are received from a machine system. The first individual data points are stored in correlation with the individual time points. A user input is received indicating a selected time. The selected time is processed to determine if any of the individual time points are later in time than the selected time. In response to determining that none of the individual time points are later in time than the selected time, a graphical representation of second individual data points from the machine system are displayed. In response to determining that a one of the individual time points is later in time than the selected time, a graphical representation of at least the individual data point correlated with the selected time is displayed.
In another embodiment, a display system is provided which includes a machine system, a user, and a computer system. The computer system receives first individual data points correlated with individual time points from the machine system. The computer system then stores the first individual data points in correlation with the individual time points. The computer system also receives a user input from the user indicating a selected time. The computer system then processes the selected time to determine if any of the individual time points are later in time than the selected time. In response to determining that none of the individual time points are later in time than the selected time, the computer system displays a graphical representation of second individual data points from the machine system. In response to determining that a one of the individual time points is later in time than the selected time, the computer system displays a graphical representation of at least the individual data point correlated with the selected time.
Additional embodiments and advantages of the present invention will be ascertained by those skilled in the art upon perusal of the following detailed description, taken in conjunction with the accompanying drawings.
The computer system also receives a user input which indicates a selected time for viewing (operation 130). There are various options available to a user to facilitate selecting a time for viewing. These options will be discussed in later embodiments.
After the user input indicating a selected time is received in the computer system, the computer system processes the selected time and the individual time points to determine if any of the individual time points stored on the computer system are later in time than the selected time (operation 140).
If no individual time points stored on the computer system are later in time than the selected time (operation 150), then the computer system displays a graphical representation of the substantially real-time information continuously received from the machine system (operation 160). However, if there is at least one individual time point stored on the computer system that is later in time than the user selected time, then the computer system displays a graphical representation of the stored status data that correlates with the selected time (operation 170).
Another embodiment provides for a computer-readable medium comprising instructions executable on a processor for employing method 100.
Industrial environment 207 comprises an automobile manufacturing factory, food processing plant, microprocessor fabrication facility, or some other type of industrial enterprise. Machine systems 201-203 may be a processing unit of an automated process line, such as that which may be found in a factory automation or industrial process environment. Machine systems 201-203 comprise pumps, compressors, condensers, motors, robots, or some other mechanical apparatus, including their associated control systems. Machine systems 201-203 continually produce status data over time. The status data indicates the current status of machine systems 201-203, such as pressure, temperature, speed, flow rate, or some other status metrics. Machine systems 201-203 continually transfer the status data to computer system 205 via a local area network, wide area network, or some other communication link.
Computer system 205 comprises computer and communication equipment and software. Computer system 205 continually receives the status data from machine systems 201-203. Computer system 205 processes the status data to generate various graphical displays indicating the current and historical status of machine systems 201-203. For example, a graphical display might indicate the pressure of a pump, the speed of a motor, the output of a robot, or some other status metric. Computer system 205 also controls machine systems 201-203. For example, computer system 205 might turn on a pump, speed up a motor, stop a robot, or perform some other type of machine control. An example of a computer system that could be adapted in accord with this description is RSView™ supplied by Rockwell Automation.
User 206 comprises a human operator, a remote operator, or may communication with a control element.
Machine interface 220 comprises communication circuitry and equipment that communicates with machine systems 201-203 (from
Processing system 222 comprises microprocessors or other logic circuitry that retrieve and execute software 226. Memory 224 comprises a disk, integrated circuit, flash drive, or some other memory device. Memory 224 may include Random Access Memory (RAM), Read-Only Memory (ROM), Hard Disk Drive (HDD) memory, and other forms of memory, both volatile and nonvolatile. Software 226 comprises an operating system, utilities, drivers, networking software, application programs, firmware, or some other form of machine-readable processing instructions. When executed by processing system 222, software 226 directs processing system 222 to operate as described herein.
User interface 228 comprises a keyboard, mouse, speaker, microphone, voice recognition interface, touch screen, control buttons, control switches, or some other user device. Display system 230 comprises a liquid crystal display, cathode ray tube display, or some other graphical display mechanism. The above-described components (220-230) of computer system 205 may be integrated together or distributed among multiple devices.
Processing system 222 receives a live status data stream from machine interface 220 (operation 410). Processing system 222 then correlates the live status data with a timestamp and datestamp and transfers the data to memory 224 (operation 415).
User interface 228 receives input from human operator 206 indicating a selected time for viewing data (operation 420). Processing system 222 receives the selected time from user interface 228 (operation 425).
In response to receiving the selected time, processing system 222 retrieves and executes software 226 from memory 224. When executed by processing system 222, software 226 directs processing system 222 to operate as described herein. Processing system 222 processes the selected time and the last stored timestamp to determine which is later in time (operation 430).
If the selected time indicated by human operator 206 is later in time than the last stored timestamp (operation 435), then processing system 222 generates a graphical representation of the live status data stream from machine systems 201-203 (operation 440). If the last stored timestamp is later in time than the selected time indicated by human operator 206 (operation 435), then processing system 222 generates a graphical representation of the stored status data from memory 224 that correlates to the selected time (operation 445).
Processing system 222 transfers the graphical representation of either the live status data stream or the stored status data to user interface 228 (operation 450). User interface 228 then displays the graphical representation of either the stored status data or the live status data stream by way of display system 230 (operation 455). Display system 230 displays the status data plotted against time to human operator 206. Display system 230 is discussed in further detail in
Another embodiment provides for a computer-readable medium comprising instructions executable on a processor for employing method 400.
Simultaneously, user interface 228 communicates various options to user 206. User 206 responds by selecting a time for viewing the status data. User interface 228 transfers the selected time to control module 540. Control module 540 then processes the selected time and the stored timestamps to determine whether user 206 is requesting a view of a graphical representation of current (live) status data or past (stored) status data.
In this example, user 206 indicates the current time as the selected time for viewing. Control module 540 transfers the live status data from machine systems 201-203 to animation module 542. Animation module 542 processes the live status data and generates a graphical representation of the live status data. User interface 228 then receives the graphical representation of the live status data and displays the graphical representation for user 206 to view.
Display system 200 continues to display a graphical representation of the live status data from machine systems 201-203 until user 206 selects a different option.
Simultaneously, user interface 228 communicates various options to user 206. User 206 responds by selecting a time for viewing the status data. User interface 228 transfers the selected time to control module 540. Control module 540 then processes the selected time and the stored timestamps to determine whether user 206 is requesting a view of a graphical representation of current (live) status data or past (stored) status data.
In this example, user 206 indicates a time in the past as the selected time for viewing. Control module 540 transfers the stored status data correlated with the selected time from memory 224 to animation module 542. Animation module 542 processes the stored status data and generates a graphical representation of the stored status data. User interface 228 then receives the graphical representation of the stored status data and displays the graphical representation for user 206 to view.
Display system 200 continues to display a graphical representation of the stored status data from memory 224 until the stored status data stream catches up to the current time (and thus, the live status data stream) or until user 206 selects a different option.
In one embodiment, the status data variables are process variables associated with an industrial process. These variables may include, for example, pressure, temperature, mass, volume, and flow rate of a solid, liquid, or gas medium, such as may be found in a conduit or other container. Such variables may further include any characteristic or property of matter that potentially varies with time. In one implementation, the values of each variable are captured by sensors coupled with the process being monitored, matched with an indication of the time at which the value was captured, and stored in memory for further display and analysis. This memory may reside within computer system 205, such as memory 224, or in a memory external to the computer system 205 which is accessible by processing system 222. In another embodiment, the variables may not be readings of properties of an actual process, but may instead represent potential values of a theoretical process mathematically generated within computer system 205. Further, in other embodiments, the variables may represent any time-variant value whose value may be associated with an event.
When a user selects rewind option 803, graph 802 moves to the left on horizontal axis 806 to a past time point selected by the user. For example, as graphical representation 800A rewinds, it displays the data variable at time T0, T−1, T−2, etc. When the user selects fast-forward option 805, graph 802 moves to the right on horizontal axis 806 to a time point selected by the user that is later in time than the time being viewed. If the user fast-forwards to the present time, then graph 802 displays live status data. When the user selects a stop option or a pause option (not shown), then the graphical representation freezes the horizontal axis 806 until the user makes another selection. When the user selects play option 804, graph 802 displays status data beginning at a point in time where the graphical representation was last stopped.
In order to indicate a selected time for viewing, the user selects the portion of the timebar corresponding to the time the user wishes to view. Graph 802 moves to the right or the left on horizontal axis 806 to a time point selected by the user via the timebar.
The above description and associated figures teach the best mode of the invention. The following claims specify the scope of the invention. Note that some aspects of the best mode may not fall within the scope of the invention as specified by the claims. Those skilled in the art will appreciate that the features described above can be combined in various ways to form multiple variations of the invention. As a result, the invention is not limited to the specific embodiments described above, but only by the following claims and their equivalents.