Claims
- 1. A method of communicating with a controller in real-time, comprising:
storing a command for the controller in a database, wherein the command is selected from the group of commands consisting of a write command that is configured to write a value of a real-time process control variable to the controller and a read command that is configured to read a value of a real-time process control variable from the controller; detecting the stored command in the database; retrieving the stored command from the database responsive to detecting the stored command; and sending the retrieved command to the controller.
- 2. The method of claim 1, wherein retrieving the stored command comprises:
verifying that the stored command is a valid command for the controller.
- 3. The method of claim 1, wherein sending the retrieved command to the controller comprises sending a write command that is configured to write a first value of a first real-time process control variable to the controller, the method further comprising:
sending a read command that is configured to read the first value of the first real-time process control variable to the controller responsive to sending the write command that is configured to write the first value of the first real-time process control variable to the controller.
- 4. The method of claim 1, further comprising:
receiving a response from the controller responsive to sending the retrieved command to the controller; and updating a status of the retrieved command sent to the controller in a command table in the database to indicate whether the retrieved command sent to the controller succeeded or failed.
- 5. The method of claim 4, wherein sending the retrieved command to the controller comprises sending a read command that is configured to read a first value of a first real-time process control variable from the controller, the method further comprising:
updating a current value associated with the first real-time process control variable in a tag table in the database with the first value of the first real-time process control variable read from the controller responsive to receiving the response from the controller.
- 6. The method of claim 1, further comprising:
providing a tag table in the database that comprises definitions of a plurality of real-time process control variables, wherein each of the plurality of real-time process control variables is associated with a monitoring frequency and a current value; periodically sending a read command that is configured to read a value of a real-time process control variable for respective ones of the plurality of real-time process control variables from the controller based on the respective monitoring frequencies; and updating the respective current values for respective ones of the plurality of real-time process control variables with the respective values of the real-time process control variables read from the controller.
- 7. The method of claim 6, further comprising:
providing a log module table in the database that comprises a list of at least one of the real-time process control variables defined in the tag table, wherein the at least one real-time process control variable is associated with a logging criterion; and periodically reading the tag table for the at least one real-time process control variable in the log module table to obtain a current value associated therewith based on the logging criterion.
- 8. The method of claim 7, further comprising:
comparing an age of the current value associated with the at least one real-time process control variable with a predefined age threshold; storing the current value for the at least one real-time process control variable in a historical log table if the age of the current value associated with the at least one real-time process control variable does is less than the predefined age threshold; and sending a read command that is configured to read a value of the at least one real-time process control variable from the controller if the current value for the at least one real-time process control variable is greater than or equal to the predefined age threshold.
- 9. The method of claim 7, wherein the logging criterion is selected from the group consisting of a monitoring frequency, an event trigger, a percent change in value, and a client request.
- 10. The method of claim 6, further comprising:
providing an event module table in the database that comprises a definition of at least one event based on at least one of the real-time process control variables defined in the tag table, wherein the at least one event is associated with at least one of a notification method and a stored procedure; monitoring the current value of the at least one real-time process control variable to determine if the at least one event has occurred; and performing at least one of the notification method and the stored procedure if the at least one event has occurred.
- 11. The method of claim 10, further comprising:
providing an event log table in the database; and saving the current value of the at least one real-time process control variable in the event log table if the at least one event has occurred.
- 12. A system for communicating with a controller in real-time, comprising:
means for storing a command for the controller in a database, wherein the command is selected from the group of commands consisting of a write command that is configured to write a value of a real-time process control variable to the controller and a read command that is configured to read a value of a real-time process control variable from the controller; means for detecting the stored command in the database; means for retrieving the stored command from the database responsive to detecting the stored command; and means for sending the retrieved command to the controller.
- 13. The system of claim 12, wherein the means for retrieving the stored command comprises:
means for verifying that the stored command is a valid command for the controller.
- 14. The system of claim 12, wherein the means for sending the retrieved command to the controller comprises means for sending a write command that is configured to write a first value of a first real-time process control variable to the controller, the system further comprising:
means for sending a read command that is configured to read the first value of the first real-time process control variable to the controller responsive to the means for sending the write command that is configured to write the first value of the first real-time process control variable to the controller.
- 15. The system of claim 12, further comprising:
means for receiving a response from the controller responsive to sending the retrieved command to the controller; and means for updating a status of the retrieved command sent to the controller in a command table in the database to indicate whether the retrieved command sent to the controller succeeded or failed.
- 16. The system of claim 15, wherein the means for sending the retrieved command to the controller comprises means for sending a read command that is configured to read a first value of a first real-time process control variable from the controller, the system further comprising:
means for updating a current value associated with the first real-time process control variable in a tag table in the database with the first value of the first real-time process control variable read from the controller responsive to the means for receiving the response from the controller.
- 17. The system of claim 12, further comprising:
means for providing a tag table in the database that comprises definitions of a plurality of real-time process control variables, wherein each of the plurality of real-time process control variables is associated with a monitoring frequency and a current value; means for periodically sending a read command that is configured to read a value of a real-time process control variable for respective ones of the plurality of real-time process control variables from the controller based on the respective monitoring frequencies; and means for updating the respective current values for respective ones of the plurality of real-time process control variables with the respective values of the real-time process control variables read from the controller.
- 18. The system of claim 17, further comprising:
means for providing a log module table in the database that comprises a list of at least one of the real-time process control variables defined in the tag table, wherein the at least one real-time process control variable is associated with a logging criterion; and means for periodically reading the tag table for the at least one real-time process control variable in the log module table to obtain a current value associated therewith based on the logging criterion.
- 19. The system of claim 18, further comprising:
means for comparing an age of the current value associated with the at least one real-time process control variable with a predefined age threshold; means for storing the current value for the at least one real-time process control variable in a historical log table if the age of the current value associated with the at least one real-time process control variable does is less than the predefined age threshold; and means for sending a read command that is configured to read a value of the at least one real-time process control variable from the controller if the current value for the at least one real-time process control variable is greater than or equal to the predefined age threshold.
- 20. The system of claim 18, wherein the logging criterion is selected from the group consisting of a monitoring frequency, an event trigger, a percent change in value, and a client request.
- 21. The system of claim 17, further comprising:
means for providing an event module table in the database that comprises a definition of at least one event based on at least one of the real-time process control variables defined in the tag table, wherein the at least one event is associated with at least one of a notification method and a stored procedure; means for monitoring the current value of the at least one real-time process control variable to determine if the at least one event has occurred; and means for performing at least one of the notification method and the stored procedure if the at least one event has occurred.
- 22. The system of claim 21, further comprising:
means for providing an event log table in the database; and means for saving the current value of the at least one real-time process control variable in the event log table if the at least one event has occurred.
- 23. A computer program product for communicating with a controller in real-time, comprising:
a computer readable program medium having computer readable program code embodied therein, the computer readable program code comprising:
computer readable program code for storing a command for the controller in a database, wherein the command is selected from the group of commands consisting of a write command that is configured to write a value of a real-time process control variable to the controller and a read command that is configured to read a value of a real-time process control variable from the controller; computer readable program code for detecting the stored command in the database; computer readable program code for retrieving the stored command from the database responsive to detecting the stored command; and computer readable program code for sending the retrieved command to the controller.
- 24. The computer program product of claim 23, wherein the computer readable program code for retrieving the stored command comprises:
computer readable program code for verifying that the stored command is a valid command for the controller.
- 25. The computer program product of claim 23, wherein the computer readable program code for sending the retrieved command to the controller comprises computer readable program code for sending a write command that is configured to write a first value of a first real-time process control variable to the controller, the computer program product further comprising:
computer readable program code for sending a read command that is configured to read the first value of the first real-time process control variable to the controller responsive to the computer readable program code for sending the write command that is configured to write the first value of the first real-time process control variable to the controller.
- 26. The computer program product of claim 23, further comprising:
computer readable program code for receiving a response from the controller responsive to sending the retrieved command to the controller; and computer readable program code for updating a status of the retrieved command sent to the controller in a command table in the database to indicate whether the retrieved command sent to the controller succeeded or failed.
- 27. The computer program product of claim 26, wherein the computer readable program code for sending the retrieved command to the controller comprises computer readable program code for sending a read command that is configured to read a first value of a first real-time process control variable from the controller, the computer program product further comprising:
computer readable program code for updating a current value associated with the first real-time process control variable in a tag table in the database with the first value of the first real-time process control variable read from the controller responsive to the computer readable program code for receiving the response from the controller.
- 28. The computer program product of claim 23, further comprising:
computer readable program code for providing a tag table in the database that comprises definitions of a plurality of real-time process control variables, wherein each of the plurality of real-time process control variables is associated with a monitoring frequency and a current value; computer readable program code for periodically sending a read command that is configured to read a value of a real-time process control variable for respective ones of the plurality of real-time process control variables from the controller based on the respective monitoring frequencies; and computer readable program code for updating the respective current values for respective ones of the plurality of real-time process control variables with the respective values of the real-time process control variables read from the controller.
- 29. The computer program product of claim 28, further comprising:
computer readable program code for providing a log module table in the database that comprises a list of at least one of the real-time process control variables defined in the tag table, wherein the at least one real-time process control variable is associated with a logging criterion; and computer readable program code for periodically reading the tag table for the at least one real-time process control variable in the log module table to obtain a current value associated therewith based on the logging criterion.
- 30. The computer program product of claim 29, further comprising:
computer readable program code for comparing an age of the current value associated with the at least one real-time process control variable with a predefined age threshold; computer readable program code for storing the current value for the at least one real-time process control variable in a historical log table if the age of the current value associated with the at least one real-time process control variable does is less than the predefined age threshold; and computer readable program code for sending a read command that is configured to read a value of the at least one real-time process control variable from the controller if the current value for the at least one real-time process control variable is greater than or equal to the predefined age threshold.
- 31. The computer program product of claim 29, wherein the logging criterion is selected from the group consisting of a monitoring frequency, an event trigger, a percent change in value, and a client request.
- 32. The computer program product of claim 28, further comprising:
computer readable program code for providing an event module table in the database that comprises a definition of at least one event based on at least one of the real-time process control variables defined in the tag table, wherein the at least one event is associated with at least one of a notification method and a stored procedure; computer readable program code for monitoring the current value of the at least one real-time process control variable to determine if the at least one event has occurred; and computer readable program code for performing at least one of the notification method and the stored procedure if the at least one event has occurred.
- 33. The computer program product of claim 32, further comprising:
computer readable program code for providing an event log table in the database; and computer readable program code for saving the current value of the at least one real-time process control variable in the event log table if the at least one event has occurred.
CROSS-REFERENCE TO PROVISIONAL APPLICATION
[0001] This application claims the benefit of Provisional Application Ser. No. 60/272,668, filed Mar. 1, 2001, entitled Database Communication System, the disclosure of which is hereby incorporated herein by reference in its entirety as if set forth filly herein.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60272668 |
Mar 2001 |
US |