Facility monitoring systems have been implemented that monitor the activity or operational status of devices in a manufacturing facility. Generally, the facility monitoring system includes a data acquisition computer server that monitors signals from hundreds or thousands of sensors measuring operating parameters associated with devices in the facility. The data acquisition server sequentially writes the data obtained from each sensor from a volatile memory to a historical non-volatile memory that can be viewed by a user. However, because the data acquisition server sequentially writes hundreds or thousands of values from the volatile memory to the historical non-volatile memory, the non-volatile memory may not contain an updated measurement value associated with a specific sensor for several minutes. Thus, a user viewing data in the historical non-volatile memory may not be able to obtain and view the latest values received by the data acquisition server for a specific sensor for several minutes.
Thus, there is a need for a facility monitoring system that would allow a user to obtain and/or concurrently view both the data in a historical non-volatile memory and the latest data stored in a volatile memory for a specific sensor or multiple sensors.
A method for obtaining data stored in a non-volatile memory and data stored in volatile memory in a facility monitoring system in accordance with an exemplary embodiment is provided. The method includes retrieving a first data set stored in the non-volatile memory associated with a first computer wherein the first data set includes data collected from at least one sensor over a first predetermined time interval. The method further includes retrieving a second data set stored in a volatile memory associated with the second computer wherein the second data set comprises data collected from the at least one sensor over a second time interval after the first time interval. Finally, the method includes storing at least a portion of the first data set and the second data set in a first memory.
A method for obtaining and displaying data stored in a non-volatile memory and data stored in volatile memory in a facility monitoring system in accordance with an exemplary embodiment is provided. The method includes retrieving a first data set stored in the non-volatile memory associated with a first computer wherein the first data set includes data collected from at least one sensor over a first predetermined time interval. The method further includes retrieving a second data set stored in a volatile memory associated with the second computer wherein the second data set comprises data collected from the at least one sensor over a second time interval after the first time interval. Finally, the method includes concurrently displaying at least a portion of the first data set and the second data set on a computer monitor.
A facility monitoring system for obtaining data stored in a non-volatile memory and data stored in a volatile memory in accordance with another exemplary embodiment is provided. The system includes a first computer operatively associated with the non-volatile memory storing a first data set. The first data set has data collected from at least one sensor over a first time interval. The system further includes a second computer having the volatile memory storing a second data set having data collected from the at least one sensor over a second time interval after the first time interval. Finally, the system includes a third computer configured to receive the first and second data sets from at least one of the first and second computers and to store at least a portion of the first and second data sets in a first memory.
A facility monitoring system for obtaining and displaying data stored in a non-volatile memory and data stored in a volatile memory in accordance with another exemplary embodiment is provided. The system includes a first computer operatively associated with the non-volatile memory storing a first data set. The first data set has data collected from at least one sensor over a first time interval. The system further includes a second computer having the volatile memory storing a second data set having data collected from the at least one sensor over a second time interval after the first time interval. Finally, the system includes a third computer configured to receive the first and second data sets from at least one of the first and second computers and to display at least a portion of the first and second data sets on a computer monitor.
A facility monitoring system for obtaining data stored in a non-volatile memory and data stored in a volatile memory in accordance with another exemplary embodiment is provided. The system includes a first computer means operatively associated with the non-volatile memory for storing a first data set. The first data set having data collected from at least one sensor over a first time interval. The system further includes a second computer means having the volatile memory for storing a second data set having data collected from the at least one sensor over a second time interval after the first time interval. Finally, the system includes a third computer means for receiving the first and second data sets from at least one of the first and second computers and storing at least a portion of the first and second data sets in a first memory.
An article of manufacture in accordance with another exemplary embodiment is provided. The article of manufacture includes a computer storage medium having a computer program encoded therein for obtaining data stored in a non-volatile memory and data stored in volatile memory in a facility monitoring system. The computer storage medium includes code for retrieving a first data set stored in the non-volatile memory associated with a first computer wherein the first data set includes data collected from at least one sensor over a first predetermined time interval. The computer storage medium further includes code for retrieving a second data set stored in the volatile memory associated with a second computer wherein the second data set comprises data collected from the at least one sensor over a second time interval after the first time interval. Finally, the computer storage medium includes code for storing at least a portion of the first data set and the second data set in a first memory.
A facility monitoring system in accordance with another exemplary embodiment is provided. The facility monitoring system includes a computer including a non-volatile memory and a volatile memory. The computer is configured to store a first data set in the non-volatile memory. The first data set has data collected from at least one sensor over a first time interval. The computer is further configured to store in the volatile memory a second data set having data collected from the at least one sensor over a second time interval after the first time interval. The computer is further configured to retrieve the first data set from the non-volatile memory and the second data set from the volatile memory and to store the first and second data sets in either the volatile memory or a first memory.
Other systems and/or methods according to the embodiments will become or are apparent to one with skill in the art upon review of the following drawings and detailed description. It is intended that all such additional systems and methods be within the scope of the present invention, and be protected by the accompanying claims.
Referring to
When a user of the client computer 12 requests to retrieve data sets associated with predetermined sensors over a predetermined time interval, the client computer 12 sends a first data request message to the data base computer server 34. The database computer server 34 retrieves a first data set stored in non-volatile memory therein. The first data set includes sampled data values obtained from one or more sensors over a first time interval. Further, if a portion of the requested information is stored in the volatile memory of the data acquisition computer server 14, the server 34 sends a second data request message to the server 14. In response to the second data request message, the data acquisition computer server 14 sends a first data return message to the database computer server 34 containing a second data set with at least a portion of the requested information. The second data set includes sampled data values obtained from the one or more sensors over a second time interval after the first time interval. Thereafter, the database computer server 34 sends a second data return message to the client computer 12 containing the first and second data sets.
Referring to
The client computer is further configured to both (i) generate data reports based upon received data sample values (e.g. measured values) associated with manufacturing equipment, and (ii) to export the received data sample values to other software applications.
As shown, the client computer 12 includes a central processing unit (CPU) 40, a read-only memory (ROM) 42, a volatile memory such as a random access memory (RAM) 44 and an input/output (I/O) interface 45. The CPU 40 operably communicates with the ROM 42, the RAM 44, and the I/O interface 45. The computer readable media including ROM 42 and RAM 44 may be implemented using any of a number of known memory devices such as PROMs, EPROMs, EEPROMS, flash memory or any other electric, magnetic, optical or combination memory device capable of storing data, some of which represent executable instructions used by the CPU 40. The CPU 40 communicates via the I/O interface 45 with a keyboard 48, the computer monitor 46, the database computer server 34, and the data acquisition computer server 14.
Referring to
The database computer server 34 is further provided to receive a first data request message from the client computer 12 requesting predetermined data sample values and then to return the requested data sample values to the client computer 12. In particular, when the database computer server 34 receives a data request message from computer 12 that requests (i) some data samples stored in server 34, and (ii) some data sample values that are not stored in the server 34 (e.g., data samples obtained within the last 15 minutes), server 34 sends a second data request message to the data acquisition computer server 14 requesting the more recently obtained data sample values. For example, when database computer server 34 receives the first data request message 84 from the client computer 12, the database computer server 34 can generate a second data request message 86. As shown, the second data request message 86 has substantially the same attributes the first data request message 84. After generating the message 86, the database computer server 34 sends the message 86 to the data acquisition computer server 14 via I/O interface 68.
As shown, the database computer server 34 includes a CPU 62, a ROM 64, a non-volatile memory such as hard drive 65, a volatile memory such as RAM 66, and an I/O interface 68. The CPU 62 operably communicates with the ROM 64, the hard drive 65, the RAM 66, and the I/O interface 68. The computer readable media including ROM 64, RAM 66, and hard drive 65 may be implemented using any of a number of known memory devices such as PROMs, EPROMs, EEPROMS, flash memory or any other electric, magnetic, optical or combination memory device capable of storing data, some of which represent executable instructions used by CPU 62. The CPU 62 communicates via the I/O interface 68 with the client computer 12 and the data acquisition computer server 14.
Referring to
When the data acquisition computer server 14 receives a plurality of data sample values from a sensor, server 14 stores the plurality of data sample values in a record in RAM 56. In particular, the computer server 14 can store a record in RAM 56 having the following attributes: (i) a Segment ID, (ii) a sample date and time, (iii) sample values. For example, the data acquisition computer server 14 can receive a plurality of data sample values from sensor 22 and thereafter store a record in RAM 56 including: (i) a Segment ID having a value of “1” corresponding to the sensor 22, (ii) a sample date and time having values equal to Jan. 4, 2003 and 2:03 P.M. which indicate when the collection of data sample values was initiated, and (iii) a plurality of data sample values such as 9, 9, 9 obtained from a signal generated by sensor 22.
Further, the data acquisition computer server 14 can periodically receive a plurality of data sample values from the other sensors and store the corresponding data sample values in RAM 56. As shown, for example, the data acquisition computer server 14 can generate a data set 82 having three data records identified by Segment IDs 1, 2, 3 containing data sample values obtained from sensors 22, 24, 26, respectively.
Referring to
As shown, the data acquisition computer server 14 includes a CPU 52, a ROM 54, a volatile memory such as a RAM 56 and an I/O interface 58. The CPU 52 operably communicates with the ROM 54, the RAM 56, and the I/O interface 58. The computer readable media including ROM 54 and RAM 56 may be implemented using any of a number of known memory devices such as PROMs, EPROMs, EEPROMS, flash memory or any other electric, magnetic, optical or combination memory device capable of storing data, some of which represent executable instructions used by CPU 52. The CPU 52 communicates via the I/O interface 58 with the client computer 12, the data acquisition computer server 14, and the data acquisition devices 16, 18, 20.
Referring to
Referring to
Referring to
At step 100, the client computer 12 sends a first data request message to the database computer server 34 including: (i) a list of Segment IDs, (ii) a start date and time, and (iii) end date and time. For example, the client computer 12 can send a first data request message 84 to the database computer server 34.
At step 102, the database computer server 34 receives the first data request message and retrieves a first data set stored in a non-volatile memory based on the list of Segment IDs, the start date and time, and the end date and time. For example, the server 34 can receive the first data request message 84 and retrieve the data set 80 from the hard drive 65.
At step 104, the database computer server 34 makes a determination as to whether a portion of the data requested in the first data request message has an “end date and time” after the “sample date and time” of a first data set stored in the hard drive 65 of server 34. If the value of step 104 equals “yes”, the method advances to step 106. Otherwise, the method advances to step 118.
At step 106, the database computer server 34 sends a second data request message to the data acquisition computer server 14 including: (i) the list of Segment IDs, (ii) the start date and time, (iii) the end date and time. For example, the database computer server 34 can send a second data request message 86 to the data acquisition computer server 14.
At step 108, the data acquisition computer server 14 receives the second data request message and retrieves a second data set stored in RAM 56 based on the list of Segment IDs, the start date and time, and the end date and time. For example, the server 14 can receive the second data request message and retrieve the second data set 88 from RAM 56.
At step 110, the data acquisition computer server 14 sends a first data return message including the second data set to the database computer server 34. For example, the data acquisition computer server 14 can send a first data return message having a second data set 88 to the database computer server 34.
At step 112, the database computer server 34 receives the first data return message and generates a second data return message including the information from the first data set and the second data set. For example, the database computer server 34 can receive the first data return message and generate a second data return message including the data set 90.
At step 114, the database computer server 34 sends the second data return message to the client computer 12.
At step 116, the client computer 12 receives the second data return message and stores the second data return message in a memory such as RAM 44. It should be noted that client computer 12 could alternately store the second data return message in ROM 42 or in any other type of storage media such as CD-ROMS, or computer diskettes, or flash memories for example.
At step 117, the client computer generates a graphical plot of the data associated with at least one Segment ID in the first data set and the second data set. For example, the client computer 12 can receive the second data return message having the data set 90 and generate the graphical plot 122 on computer monitor 46 corresponding to the Segment ID having a value of “1”.
Returning again to step 104, if the value of step 104 equals “no”, the method advances to step 118. At step 118 the database computer server 34 sends a third data return message containing the first data set to the client computer 12.
Next at step 120, the client computer 12 receives the third data return message and stores the third data return message in a memory such as RAM 44. It should be noted that client computer 12 could alternately store the third data return message in ROM 42 or in any other type of storage media such as CD-ROMS, or computer diskettes, or flash memories for example.
Next at step 121, the client computer 12 generates a graphical plot of the data associated with at least one Segment ID in the first data set.
After either of steps 121, 117, the method is ended.
In an alternate embodiment of the system 10, the client computer 12, the database computer server 34, and the data acquisition computer server 14 could be implemented using a single computer (not shown) having a CPU, a RAM, a ROM, a hard drive and an I/O interface, that is operably coupled to the data acquisition devices.
The facility monitoring system and method in accordance with exemplary embodiments provide a substantial advantage over other systems and methods. In particular, the system and method provided a technical effect of allowing a user to obtain and concurrently view on a computer monitor both the data in a historical non-volatile memory and the latest data stored in a volatile memory for a specific sensor. Thus, a user can obtain a complete view of the data values obtained over a desired time interval from a sensor, including the most recent data values, for determining the operating characteristics of a device.
As described above, the present invention can be embodied in the form of computer-implemented processes and apparatuses for practicing those processes. The present invention can also be embodied in the form of computer program code containing instructions embodied in tangible media, such as floppy diskettes, CD ROMs, hard drives, or any other computer-readable storage medium, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention. The present invention can also be embodied in the form of computer program code, for example, whether stored in a storage medium, loaded into and/or executed by a computer, or transmitted over some transmission medium, loaded into and/or executed by a computer, or transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the computer program code is loaded into and/or executed by a computer, the computer becomes an apparatus for practicing the invention. When implemented on a general-purpose microprocessor, the computer program code segments configure the microprocessor to create specific logic circuits.
While the invention is described with reference to an exemplary embodiment, it will be understood by those skilled in the art that various changes may be made and equivalence may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to the teachings of the invention to adapt to a particular situation without departing from the scope thereof. Therefore, it is intended that the invention not be limited the embodiment disclosed for carrying out this invention, but that the invention includes all embodiments falling with the scope of the intended claims. Moreover, the use of the term's first, second, etc. does not denote any order of importance, but rather the term's first, second, etc. are used to distinguish one element from another.