Next Patent: Intelligent configuration server
Next Patent: Intelligent configuration server
Plaque It!
Sponsored by: Flash of Genius |
[0001] This application claims priority from U.S. Provisional Application No. 60/205,696, filed May 19, 2000, the entire disclosure of which is hereby incorporated by reference.
[0002] 1. Field of the Invention
[0003] This invention relates generally to monitoring devices. In particular, the invention encompasses a method and system for monitoring the status of one or more systems at one or more sites and collecting and processing the status data, in real-time, at a remote centralized location. A person-to-person notification can be initiated from the remote centralized location upon the occurrence of certain conditions of a monitored system. Communication between the monitored system and the central collection location may be via a suitable wireless communication medium, a wired connection, or any industry standard protocol for communication.
[0004] The system also provides for a remote user to be able to: control the monitored system, program monitoring and control parameters at the monitored system, to view real-time or trended archived status data, and to receive person-to-person notification of the status of the monitored system.
[0005] 2. Description of the Prior Art
[0006] Sensors which transmit analog signals, generally in the form of a variable voltage or current, to a controller or receiver are known. Sensors having digital outputs are also known. Examples of typical sensors include devices which measure: room temperature, fluid temperature, gas temperature, steam temperature, fluid level, gas level, contaminant level, radiation level, levels of specific gases, such as carbon monoxide, levels of specific chemicals, such as cyanide, CFCs, solvents, gasoline additives, petroleum products, in addition to gas pressure, steam pressure, fluid pressure, speed, degree of rotation, speed of rotation, and Global Positioning System location, among others. Any sensor capable of analog or digital output is suitable for use in the present invention. Sensors, such as these, operate by collecting information from the environment in which they exist and by converting the received signals to an electrical signal capable of being interpreted by a device such as a Programmable Logic Controller (“PLC”), which can traditionally take the form of an Application Specific Integral Circuit (ASIC) or other suitable microprocessor-based device.
[0007] A PLC is a device normally consisting of one or more circuit boards with components and connections used to convert the electrical data gathered by sensors into useable data for other controllers, computer programs, and for storage, for example. Data gathering through a PLC allows for control of real world devices, for example, motors and switches, through additional circuitry and related devices mounted on a circuit board. Digital sensors can work with analog PLCs, and vice versa, using, as known to those skilled in the art, digital analog conversion (DAC) chips which are generally included on integrated circuits. Additionally, chips that include built-in logic are also included. The logic can then determine if a particular condition exists and/or if there is a need to activate at a given output.
[0008] A PLC or receiver incorporated into a monitoring system collects electronic data from various sensors at voltages or currents acceptable by the PLC in real time. Typically, input voltages vary from 0-10 v, while input currents can range from 4-20 mA, for example. The PLC also controls the transfer of data from the sensors to a collection or storage means, such as a memory device which logs data indicative of the sensed condition. The PLC typically is configured to communicate with the sensors and the collection means.
[0009] It is desirable and an object of the present invention to provide a device and system for providing real-time monitoring applications which are ill-suited for conventional PLC monitoring systems. Examples of such applications include, but are not limited to: trending of real-time and archived data, two-way communication allowing remote programming and control, self-contained monitoring units which can be deployed in remote and dangerous locations, and confirmed person-to-person notification of critical status conditions.
[0010] A method and system for remotely monitoring at least one condition at a given location is comprised of at least one monitoring device at the given location which can generate data indicative of the monitored condition and transmit the data to a remote centralized data collection device. The data is transmitted by first wrapping the data in a given protocol which can be transmitted over the means selected for transmission, such as the internet.
[0011] Upon receipt of the wrapped data, the centralized collection device unwraps the data, determines the nature and source of the data, and stores the data for later retrieval. The centralized collection device generates a modified data string which includes identification of the sending monitoring device, such as owner, name and location, by retrieving stored data for the identified condition. If the centralized collection device determines that an end user needs to be informed of the condition data, using preprogrammed parameters, the centralized collection device sends the data to a notification system which generates a list of recipients, depending upon the nature and source of the condition, as well as other possible parameters, and initiates a telephone call to one or more of the designated recipients, and confirms successful notification of the condition. In addition, the monitoring device can be remotely and at least partially controlled and reprogramming by, in part, reversing the condition transmission process. The command or programming instructions are wrapped in a transmission protocol, sent to the monitoring device where it is unwrapped. The monitoring device evaluates the type of information sent and either executes the command, such as changing the position of a switch or requesting the current status of a condition, or by incorporating the new program code into the program currently residing on the monitoring device.
[0012] The advantages and features of the present invention will be understood by reference to the following specification in conjunction with the annexed drawings, wherein like elements have been given like numbers.
[0013] An illustration of the various processes involved with the device and method of the system can be seen by referring to the following Figures, of which:
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025] During the course of this description, like numbers depict like elements throughout.
[0026] Referring to
[0027] a) one or more sensors
[0028] b) at least one PLC for receiving data from the sensors, applying logic
[0029] c) a communications device for sending sensor data, alerts, and confirmation signals to a central collection point
[0030] d) a power supply with appropriate power for any sensors, PLCs and the communication device.
[0031] A user's site may have one or more EDMCs depending upon configuration, requirements and limitations of equipment. For example, distance or location of monitored systems may hinder the use of a single EDMC; to restrict user access to particular EDMCs either physically or through the web
[0032] All of the deployed EDMCs at all users' sites communicate with a single centralized collection point
[0033] The CCP
[0034] The CCP
[0035] Referring to
[0036] The PLC
[0037] Upon receiving the signal output from sensors
[0038] The alert notification system
[0039] As known to those skilled in the art, monitoring services for monitored systems are available, and traditionally may include page alert or e-mail capabilities. These systems, however, do not confirm that the alert/restore notification was received. The present system ensures that the alert reaches the selected recipient by confirming receipt through direct person-to-person communications. A contacted user can determine, upon receipt of the notification, whether the condition that generated the alert warrants some additional action such as, that a technician be sent, and the type of technician to send to the site, if necessary. The present system also provides multiple levels of signal authentication to prevent “hacked” alerts. According to another aspect of the invention, redundant pathways to the alert notification system
[0040] Alerts may take the form of an email, alpha page, numeric page, live person notification, and combinations thereof. Although a server is exemplified, a suitable CCP
[0041] Referring to
[0042] Each sensor
[0043] It is to be understood that sensors typically have limits in range of capability. For example, a value, such as a high limit and a low limit, is selected by the user such that when either of the limits, or set points, are reached it causes the sensor to cease changing its transmitted value. This causes a condition of non-operation but does not constitute sensor failure. The sensor will again begin transmitting changes of value once the physical condition returns to a status within the minimum and maximum range of the specific sensor. A notification process may be initiated or an alternative automated action process may also occur which is determined by the logic
[0044] Data received by the PLC
[0045] In the present invention, the program is used for collecting data at regular intervals for trending, and for constantly monitoring the reading of the sensor to ensure it has not exceeded one or more programmed set points. The PLC
[0046] The input is identified, such as A, for example, and the value and input ID is then transferred to the logic
[0047] In response to an alert, an output on the PLC
[0048] As set forth above, suitable logic
[0049] Typically, the PLC
[0050] In the present invention, the secondary device is not a computer or CPU based device but advantageously is a communication device
[0051] At the CCP
[0052] Advantageously, the user may access the parameter set points and modify them via web page
[0053] More particularly, referring to
[0054] Referring to
[0055] In the present example, the temporarily stored value
[0056] Referring to
[0057] Through outputs at the terminal strip
[0058] In one embodiment the PLC
[0059] Referring to
[0060] Likewise, a TCP/IP packet targeted for, and received by, the communication device is stripped of overhead and address information, and the remaining data/command signal is passed along to the PLC
[0061] It is to be understood, that any communication device
[0062] According to an aspect of the present invention, at least one PLC
[0063] Sensors transmit data continuously or upon a change in physical conditions of the environment in which they are disposed, or at regular intervals. Upon receipt of a signal from a sensor, the PLC
[0064] Referring to
[0065] Referring to
[0066] The CCP
[0067] Referring to
[0068] The CCP
[0069] Referring to
[0070] The ANS
[0071] The signal data is then analyzed for verification
[0072] If a signal is verified it is then parsed and formatted
[0073] The universal data string
[0074] If a signal is validated a list generator
[0075] A notifier
[0076] Upon the occurrence of a condition, as delineated by a user, in a monitored device or system, a signal source, such as the CCP
[0077] In a preferred embodiment, two signal sources are used in order to provide redundant, backup pathways to send a signal. For example a CCP
[0078] The ANS
[0079] A method of receiving email-type signals includes a computer program which can function as an e-mail client capable of receiving and reading email in POP3, MAPI, MIME, or other formats and a connection to a network over which the signal was sent.
[0080] Another method for receiving signals is a telecommunications device, such as a “Moon” board (commercially available and manufactured by Jackie Moon) or an EZ-4 board (commercially available and manufactured by Music Telecom) capable of receiving and reading numeric and/or alphanumeric pages.
[0081] Upon receipt
[0082] As used throughout this application, the term data storage device refers to any device or method for the temporary or permanent storage of information. A data storage device can have read-only, write-only, or read/write capabilities. Such capabilities shall be determined by process requirements, such as the function of the data to be stored and/or accessed. A data storage device may store such data in any form including analog and digital. Examples of typical data storage devices include, but are not limited to: paper tape; paper cards; magnetic media such as ROM, RAM, floppy drives, hard drives; optical storage such as CD-ROM, DVD, and holographic storage; molecular-based storage, chemical based storage, and any other means which will provide the required access to the stored data. The data can be stored in any acceptable and useable format, including, binary files, text files, or database files.
[0083] The signal identifier number can start at any value but preferably starts at zero or one. The signal identifier number can be periodically recycled so that the generated tracking numbers do not become too high. The value at which the signal identifier number is recycled can be any value, but is preferably set at a level which is not too low, resulting in the possibility of confusingly similar tracking numbers if a large number of signals are received in a short period of time, and not so high that the tracking number becomes very large. A range of suitable values is from
[0084] An example of a preferred tracking number generator
[0085] After the unique tracking number is added, the type of signal sent is determined
[0086] The ANS
[0087] The ANS
[0088] The resulting signal data is then analyzed to verify
[0089] The ANS
[0090] Examples of data fields include, but are not limited to: the signal tracking number; signal date; signal time; sender information including, for example, user and domain name for email-type signals, caller ID information for page-type signals; location identification, client identification, device identification, device condition, device status, and signal classification (such as alert, failure, restored, test, enabled, disabled, etc.).
[0091] Once the universal data string
[0092] The validation process can check for legitimate senders, legitimate devices for a particular sender, legitimate status for a given device, for example. If a data field in the data signal fails validation, the signal is sent to a log, such as a log file on a data storage device
[0093] If the signal data is validated as a legitimate signal (e.g., a valid status for an existing device at a valid location) further validation can be used to determine if further action is or is not desired—for example, if no notifications are to be made on weekends, holidays or before 6 AM. The validation process will also eliminate redundant signals from being processed if the two or more redundant signals were received for the same condition for the same device but received from two different signal source paths. A signal is considered validated when all applied validity tests are met.
[0094] In one embodiment, a validated signal is processed by one or more filters which reduce or eliminate unwanted, excessive or redundant notifications from being made. A preferred filter is a computer program which can accept or read data from a file or memory, manipulate the data, write the manipulated data to a file or location in computer memory, and generate new data which can be written to a file or stored in memory. Any number of filters can be used alone or in combination depending upon the requirements of the recipient. Filter parameters can be set in each filter for each signal source, monitored device, or any other data field which can identify a signal. Such unwanted, excessive or redundant alerts could, for example, be the result of a rapidly fluctuating monitored condition or a malfunction in a monitored device resulting in multiple alert signals being sent to the ANS
[0095] In one embodiment of a filter, a combination of logic, timing and an incremental counter are used to evaluate the current condition of an alerting device and determine if a signal should continue and generate a notification. In an example of a time based filter, if an initial signal indicating an alert status is received, and a resulting initial notification is sent, a second notification will not be sent in response to a subsequent received alert signal if a pre-designated time limit has not passed since sending the initial notification, or receipt of the initial alert signal. Also, a filter can be configured such that if the number and/or timing of successive signals meets or exceeds a predetermined threshold, the device can be effectively disabled.
[0096] The filter stores the validated signal, device identification, the last type of notification for that device (e.g., alert, restored, or none) and a notification counter for that device on a data storage device, preferably in a text file or database. The filter will then initiate and start an elapsed-time timer for the device. Each device will have its own independent timer, and each timer will have at least one preset time threshold. Timers are preferably software based, elapsed time counting program components or independent programs. The filter will check the database for a previous entry in the database for the device. If there is a previous entry, and the last notification type for that entry is restore or none, a notification for that device will eventually be generated and sent and the notification counter for that device is set to one. If there is a previous entry, and the last notification type for that entry is an alert the timer means is reset to zero and restarted and the notification counter is incremented by one.
[0097] Another example of a filter will check a database which contains a monitored device's identification information and the devices enabled status., i.e., enabled or disabled. If a device has been disabled, no notifications will be generated for that device until the enabled status for that device in the database is reset to an enabled status. A device can be marked as disabled for any number of reasons. In one embodiment the database includes an indicator of the reason for the disabled status. This information could be used, for example, to determine, how, when and by whom the device status can be reset to enabled.
[0098] The database is then checked for any entry for the signaling device. If the last signal type for the device is found in the database, and it is a Restore or none, or if no last alert type is found, the signal data is passed along to a call generating means and the alert count field for the device is incremented by one.
[0099] If the last signal type was an alert, the timer is reset to its starting state and restarted and the alert count field for the device is incremented by one.
[0100] A list generator
[0101] At this point a live person notifier
[0102] Throughout the above processes data is passed from one means to another, preferably from one computer program or program component to another computer program or program component. The data can be transferred by any known method for transferring such data. The method is not critical as long as the data integrity is maintained. The method selected may depend upon system architecture. For example, if the receiver
[0103] Before the signal is passed along, particularly if the different processes are located in separate locations, the universal data string
[0104] The receiving, verification, validation, list generation, display, and notification processes can each include an ack/nak process for sending and receiving a signal which will verify that the signal was successfully passed between two processes. Such verification typically uses a computer program that will send an acknowledgement signal back to the means which first passed the signal if the signal was successfully passed or a not acknowledged signal if the passed signal was corrupted. If an ack/nak process receives a not acknowledged signal, or if no ack/nak signal is received after a pre-designated time period, the signal will be passed again until an acknowledgement signal is received. An example of a simple ack/nak signal would be the sending of a single character string, such as ASCII (
[0105] The communication methods, sensors, data storage, controller means, collection means, power supplies, and other elements described herein include any type which performs the designated function in the process and are not intended to be limited to any specific embodiment. For instance, the schematic illustrations exemplifying a selected process as shown herein cannot fully depict event driven models by which the assembly performs any number of given tasks assigned thereto.
[0106] While persons skilled in the art will appreciate the numerous and varied potential applications of the present invention, the following examples illustrate advantageous applications of various aspects of the present invention, which are not intended to limit the scope of the invention.
[0107] A remote Environmental Data-Monitoring-Control unit (EDMC) was assembled by connecting a temperature sensor (ELK-MT100) via a four conductor field wire to an input point on the PLC (ELK-MM443(S), ELK, Hildebran, N.C.). The PLC was connected to an RS-485 (from the PLC) to RS-232e (to the modem) converter (ELKMB485 ). A battery (ELK model 1240) and a power transformer (Amseco-class 2 transformer model XT-2440) were then connected to the power supply/charger (Altronix Power supply/charger model AL624). The power supply/charger provides AC supported power as well as maintaining a back-up battery source of power by switching automatically to the battery upon AC power failure.
[0108] The power supply/charger is connected to input points on the PLC such that the PLC senses through one input point the state of the AC supply and through a second input point the current battery level; in this way the power conditions are self supervised and can be sent through the monitoring process. This is common practice for what is known in the art as a “Supervised Power Supply”.
[0109] The data is generated by the EDMC is in the form of a cryptic string of information that must be requested, collected, decrypted and displayed.
[0110] The PLC was connected through the converter to a wireless modem (Novatel Sage TNC wireless IP modem part number 01016515). The RS-232 port of the Sage modem is connected via standard serial cable to the RS-232 port of the converter.
[0111] An address (ID) for the PLC was set via jumper pins located on the PLC board. The wireless modem was assigned a public, static IP address by the wireless service carrier (AT&T). Once the static IP is introduced to the modem all communications with the modem can take place over the Internet. In addition to assigning the static IP to the modem, the CCP has a public, static IP. By using assigned IP addresses the modem's communications are limited to occur between only itself and the static IP of the CCP.
[0112] The CCP maintains a database containing relational records of the modem's IP address, the physical location of the modem, all PLC IDs connected to the modem, and all sensors and outputs connected to the PLCs with their respective specifications.
[0113] The CCP contains software which will communicate, via the internet and Sage wireless IP modem, with the converter ultimately allowing access to, and communication with, the PLC. Firmware in the Novatel Sage modem upon receiving data from the PLC via the Sage RS-232 port encapsulates the data in a TCP/IP packet and sends the packet to the IP of the CCP over the internet. In the same manner TCP/IP packets sent from the CCP, directed to the IP of the Sage modem are disassembled at the firmware level and the transmitted data only is sent out the Sage's RS-232 port to the PLC.
[0114] The CCP is connected to the Internet via a Network Interface Card connected through a router to a permanent Internet connection (Ti). The CCP establishes communication, per TCP/IP protocol standards known to the art, by establishing a socket connection through software. In this example the socket connection was established using an ActiveX™ software running in a Windows™ environment which handles the TCP/IP communication.
[0115] Initially, based on what types and style of sensors are used, the CCP is programmed with configuration information for the modem and its associated PLCs, sensors and outputs. This configuration information is sent to the PLC(s) and consists of firmware instruction code that determines set point values for inputs (sensors) and what, if any, action is required upon a given input value exceeding a preset set point. In this Example the temperature probe was given a set point value of 80° F. The CCP sends instructions to the PLC to transmit the value registered by the probe if the 80 ° F. limit is exceeded. The CCP may send instructions to the PLC that an output point (a relay) should also be activated if the limit is exceeded. The relay could then activate an exhaust fan to alleviate the excessive temperature condition, for example. The PLC can be programmed to report to the CCP once the exceeded limit has returned to below its set point value, or its predetermined value less a variable difference. This variable difference is known in the art as a “Deadband”. The purpose of this Deadband is to stop the excessively frequent cycling of a piece of equipment because the state changes on the controlling sensor too rapidly. An example of a common use of such a Deadband is associated with most thermostats' normal operation, typically 5 degrees but in some instances this Deadband is adjustable. With the temperature probe connected, an output point connected to ventilation equipment (exhaust fan), a preset limit of 80° F. and a Deadband of 5° F. the following operations occur in this process.
[0116] The temperature sensor was immersed in water until a temperature value of 85.5° was reached causing the PLC to transmit the value immediately to the communications buss of the PLC. Simultaneously the configuration programming caused the state of the output point connected to the ventilation equipment to change to an ON state causing the transmission of a “change of state” communication with the current state of the output point to be placed on the communications buss together with the exceeded set point value of 85.5° F. As all buss communications occur sequentially the first value to depart the buss via the RS-232 interface on the converter is the temperature exceeded. This value is placed in a string of information that includes the encrypted length of the data, the destination of the data, the address (ID) of the PLC board, the address (ID) of the PLC point (sensor), the value at that point (corresponding to 85.5° F. ) and some characters calculated as a checksum to ensure data integrity at the other end of the communication. This data string of information about the temperature value and its origin, here after referred to as the “signal”, is then sent to the Sage wireless IP modem's RS-232 communications port. Once in the modem the signal is encapsulated by the modem's firmware in a TCP/IP packet incorporating all elements necessary to convey that information over the Internet including the point of origin IP (modem) and the point of destination IP (CCP) and port numbers for transmission purposes. When the packet arrives at the CCP the signal is removed from the packet and the additional information of origin IP, destination IP and ports etc. is parsed and stored to memory. The signal is checked for its integrity against its own checksum then if the signal integrity is verified, the signal is parsed into its basic elements of length, PLC address (ID) point sending (sensor or output ID), and value sent. As each modem's IP address is unique in the world it is used to identify the site where the packet and signal originated thereby is used to locate database records which include the number and types of PLCs, sensors and outputs connected to, and associated with, the source IP (i.e., modem) The parsed signal information is then compared to values for PLCs, sensors and outputs in the database records specifically for the originating IP address of the packet. Once the specific point (sensor) has been determined from the information the value is compared to a table to determine its meaning, i.e., whether it is a temperature in degrees or whether it is Parts Per Million (PPM) and whether any appropriate conversion to express that meaning is made. The signal and all its parsed data is logged to a file on the CCP and stored.
[0117] In this Example it is “facility Temperature”. Now that the specific nature and origin of this signal have been determined the condition is reported to an end user in two ways.
[0118] The CCP sends an alert email to the ANS. The signal information is placed in subject line of the email, formatted for proper interpretation by the ANS. The ANS generates a call from a live person informing the recipient of the phone call of the identity and location of the sensor and that the temperature for the sensor has exceeded its limit and is currently at 85.5° F.
[0119] In addition, the source information and signal information are formatted, using hypertext markup language (HTML) to be viewable by the end user on a web page on the CCP. Additional content, such as identifying labels, instructions, graphics, and hypertext links, are combined with the information. The resulting code (HTML) is sent to the end user in an active web-browsing session, if any, and can be stored for later viewing. The stored signal and all its parsed data can be accessed later by a web-enabled program or script, Perl, CGI, JAVA, ASP, Cold Fusion, PHP, for example, to generate a web page.
[0120] The system and process of Example 1 are repeated except that the set point for the temperature sensor is not exceeded. Instead, a software based timer initiates a signal with the sensor value to be sent every hour. Each requested signal is parsed and saved in a database on the CCP. Hypertext link buttons or data in a form are submitted by the end user through a web page. This invokes a web-enabled script which queries the database, using structured query language (SQL), for example, and generates a web page with the requested data and sends it to the end user in the current, open, web browsing session. The data can be textual or converted to be shown in a graphical manner. This is used for example, to show trending data, i.e., values over an extended period of time.
[0121] The web page uses methods, well known in the art, to submit data and requests to a program over the internet including hyperlinks and forms.
[0122] The actual contents and choices of actions of a web page can be altered dependent upon the end user who is required to log on to the web page using common security checks. The user's viewable web page can be static, hard-coded or previously generated, or can be dynamically generated on-the-fly. Examples of possible actions include:
[0123] A form, which has fields identifying a list of sensors and a range of dates, initiates a script or program which accesses and queries the database on the CCP
[0124] The system and process of Example 2 are repeated except that a hyperlink, when selected, sends instructions to the CCP
[0125] The system and process of Example 2 are repeated except that a hyperlink, when selected, can send instructions to the CCP
[0126] The system and process of Example 2 are repeated except that a form, which has fields to identify a targeted sensor and the available set points with allowable limits for that sensor, is submitted from the web page and a script or program sends the data to the EDMC and PLC which contain the targeted sensor with instructions for the PLC to update the logic
[0127] In this example, a controlling signal is sent from the web page to the PLC of Example 1. In this circumstance a button placed on the web page in a graphical representation of the connected field devices would be selected and clicked sending information that would include the origin device, destination site, destination PLC, destination output point, destination output point value. This information is derived from the pre-knowledge of end user devices located at the site as described in the initial installation. Once pressed the Server collects the required information from a text file, compares the information to the information contained in tables in the Server, converts the information to values allowable by the PLC, concatenates this information to form the base signal string then calculates a valid checksum adding that to the base string. The Server verifies the integrity and accuracy of the collected information at time of signal string assembly to ensure that a requested action is possible and if not the Server returns an error message to the Web page. If the signal is in fact valid the new signal is packaged by the ActiveX component in TCP/IP compliance and sent to the Client where the firmware disassembles the signal from the TCP/IP packet and sends the signal to the RS-232 port of the Sage wireless modem. This signal leaves the Sage RS-232 port and enters the RS-232 port of the ELK-MB485 converter that transfers the information to the data buss of the PLC(s) on site. The PLC targeted for delivery sees the segment of the string identifying it as the target PLC and absorbs the information evaluating the checksum and acting upon the signal if the checksum validates. As a result of this action a return signal or “status” signal is generated and sent back through the process in the same manner and direction as the original unsolicited signal resulting in a second signal to be sent to the web page.
[0128] The arrival of the signal at the web page will most likely trigger a reaction to indicate the status of the output such as a graphical representation of a green and red light going on and off to indicate status. In the previous example onboard configuration code caused the ventilation equipment to come on. In this example we can suppose that no such automated action is desired by the end user of the equipment. The end user instead uses the live notification option whereby the CCP sends a signal via the Alert Notification System causing the end user to receive a phone call alerting him to the potential hazard at his site. The end user then logs on to his secure web page and determines if conditions are such as to warrant the intervention of the ventilation equipment. If the end user decides such intervention is required the user can select and click the button on screen which begins the aforementioned process to engage and verify the activation of the ventilation equipment.
[0129] The system and process of Example 1 are repeated except that the temperature sensor is a Siebe (a.k.a., Invensys Building Systems, Loves Park, Ill.) model TS-5821-101 electronic immersion sensor, Platinum Element; the PLC is a Siebe model MSC-MPC Multi Purpose Controller; the converter is a Siebe model MSC-LIM Laptop Interface Module.
[0130] The system and process of Example 1 are repeated except that the PLC is a “Basic Stamp 2” (Parallax, Inc., Rocklin, Calif.).
[0131] The system and process of Example 1 are repeated except that the power supply/charger and transformer are removed. The EDMC runs off of battery power only. Such an EDMC is useful for temporary installations and can be remotely deployed, for example by aerial deployment via parachute or by remotely controlled robot.
[0132] The system and process of Example 1 are repeated except that the power supply/charger is replaced with Solar panels and a Solar Cell replaces the ELK
[0133] The system and process of Example 1 are repeated except that the modem is replaced with a Ethernet network interface card (SMC) and the NIC is connected to the Internet via a router with an Internet connection.
[0134] The system and process of Example 1 are repeated except that the modem is replaced with a wired, external modem (Zoom Technologies External Modem Model 2855-PC) and the modem is connected to the Internet via a POTS telephone line. Since the modem does not have an IP address, the address (an alphanumeric string ID) for the PLC was set by programming the PLC board.
[0135] The system and process of Example 12 are repeated except that the modem is connected to the Internet via an ISDN line.
[0136] The system and process of Example 12 are repeated except that the modem is connected to the Internet via a DSL line.
[0137] The system and process of Example 12 are repeated except that the modem is connected to the Internet via a cellular wireless service.
[0138] The system and process of Example 1 are repeated except that the EDMC is replaced with a user's proprietary control system which is capable of creating compatible signals, pages, or e-mails, for example, that can be sent through the communications device for alerts, trending and real time notification.
[0139] The system and process of Example 1 are repeated except that an EMDC is not employed by the user. The user can establish direct communication with the ANS using pre-existing PLC equipment which can send either an email or alphanumeric/digital page configured such that the specific point and it's related value are transmitted in a compliant format to the notification process.
[0140] The system and process of Example 1 are repeated and the ANS processes the alert signal sent from the CCP utilizing the following process:
[0141] The signal data source is first verified. If the signal source was an e-mail, the domain from which the e-mail was sent is cross-checked against a list of valid domains associated with the valid IP/device/status of the signal, said list of associated domain names being stored on a data storage device, preferably in a text file or database. If a match is not found, the signal data is stored in a data storage device, preferably in a text file or database designated for such errors for any of the data storage device, preferably in a text file or database for storing invalid signals. An identifier may be added to the signal data for further evaluation of where the process was stopped or any alternative separate data storage device, preferably in a text file or database may be used for each data verification step,
[0142] If a match for the domain is found, the user information in the data signal is cross-checked against a list of valid users for the IP/device/status/domain. If no user is matched, the signal data is stored to a data storage device, preferably in a text file or database designated for such errors and no further action is taken on this signal.
[0143] If the signal was received as a page, the area code and the sending telephone number is cross checked against a list of valid area codes designated for the device indicated in the data string which is stored on a data storage device, preferably in a text file or database. If no such match is made, the signal data is stored in a data storage device, preferably in a text file or database designated for such signal. If a valid area code match is made, the sending telephone number exchange is cross matched for a valid sender telephone number exchange list associated with said IP/device/status/area code signal, said list being located on a data storage device, preferably in a text file or database. If there is no match, the signal data is sent to a data storage device, preferably in a text file or database designated for such errors and no further action is taken on the signal. If an exchange match is found, the extension of said sender telephone number is cross-checked against valid extensions for said IP/device/status/area code/exchange stored on a data storage device, preferably in a text file or database. If no valid extension is found, the data signal is stored to a data storage device, preferably in a text file or database designated for such errors. If an exchange is found, the signal is checked for valid transport. The mode of transport of the data signal (i.e., e-mail, alpha page, numeric page, RS232 connection, etc.) is cross-checked against a list of valid transport modes associated with said combination of IP/device/status/email/page. If no valid mode of transport match is made, the data signal is stored to data storage device, preferably in a text file or database designated for such errors and no further action is taken on the signal. If it is verified that the signal was sent with a valid mode of transport, the evaluation means cross checks the IP address from the signal data with the existing, valid IP addresses in one of said data storage device, preferably in a text file or database. If no matching IP address is found, the signal data is stored in a data storage device, preferably in a text file or database reserved for such invalid signals and the process is stopped with no further action being taken on the signal data. If the IP address is valid, the evaluation means cross checks the device ID from the signal data from a list of possible valid device ID's which have been designated as associated with the valid IP address, said information being stored in a data storage device, preferably in a text file or database. If the device ID does not match any valid device ID, the signal data is stored to a data storage device, preferably in a text file or database designated for such errors and the process is stopped with no further action being taken on the signal
[0144] The signal data status is then cross-checked against valid status for the already verified valid IP address and IP device. If no such valid condition is found, the signal data is stored to a data storage device, preferably in a text file or database designated for such errors and the process is stopped with no further action being taken on this signal. If the condition is valid the signal is checked for a valid schedule.
[0145] If the schedule allows for notification, a list of recipients to contact is generated based upon the subject device or sensor. A live operator then calls one or more recipients on the list describing the type of alert, the device and status of the device.
[0146] While the foregoing invention has been described with reference to the above embodiments, various modifications and changes can be made without departing from the spirit of the invention. For example, while the Examples use a temperature sensor, many other possible sensors can be used. Other proprietary and commercial PLCs can be used as well as other methods and equipment for communication between the EDMCs and CCP are also contemplated and are intended to be within the scope of this invention. Accordingly, all such modifications and changes are considered to be within the scope of the appended claims.