Claims
- 1. A process data access server enabling client applications incorporating potentially multiple differing data exchange protocols to access process data stored at potentially many different locations in a process control system, the process data access server comprising:
a device protocol interface facilitating accessing process data storage locations within the process control system; a set of client data exchange protocol modules enabling client applications to request access to process data storage locations via the process data access server according to particular client data exchange protocols supported by the set of client data exchange protocol modules; and a data access server engine for executing process data access requests, received by the process data access server via the set of client data exchange protocol modules, by accessing, via the device protocol interface, data storage locations corresponding to the process data access requests, and wherein the data access server engine includes a client application data exchange protocol abstraction layer comprising a set of operations callable by ones of the set of client data exchange protocol modules in response to receipt by the set of client data exchange protocol modules of process data access requests.
- 2. The process data access server of claim 1 wherein the set of client data exchange protocol modules comprise plugins.
- 3. The process data access server of claim 2 wherein at least one of the set of client data exchange protocol plugins comprises a dynamic plugin.
- 4. The process data access server of claim 2 wherein at least one of the set of client data exchange protocol plugins comprises a static plugin.
- 5. The process data access server of claim 2 wherein the set of protocol conversion modules comprise both static and dynamic plugins.
- 6. The process data access server of claim 1 wherein ones of the set of client data exchange protocol modules handle data access requests from client applications in accordance with particular client data exchange protocols.
- 7. The process data access server of claim 1 further including:
a loading mechanism for determining a presence of at least one of the set of client data exchange protocol modules upon a machine for executing the process data access server, and loading the at least one client data exchange protocol module during a startup process that integrates the at least one client data exchange module with the data access server engine.
- 8. The process data access server of claim 1 wherein the set of operations of the data access server engine includes at least one operation callable by at least two distinct ones of the set of client data exchange protocol modules that incorporate distinct data exchange protocols.
- 9. The process data access server of claim 1 wherein an operational data access server including the device protocol interface, the set of client data exchange protocol modules, and the data access server is created by a start-up process that builds the operational data access server from previously installed program files, and wherein the program files of the client data exchange protocol modules and the data access server are independently designateable with regard of one another.
- 10. The process data access server of claim 1 wherein the set of interface operations executable by the data access server engine includes an asynchronous data read operation for providing data from an identified data source in response to a client application data request.
- 11. The process data access server of claim 1 wherein the set of interface operations executable by the data access server engine includes a synchronous read operation that, in accordance with a timer duration expiration event, updates identified process data values via the device protocol interface.
- 12. The process data access server of claim 11 wherein the synchronous read operation discards an updated process data value for a data item that is determined to be unchanged from a current stored value for the data item, thereby avoiding transmissions of unchanged data values between the process data access server and requesting client applications.
- 13. The process data access server of claim 1 wherein the set of interface operations executable by the data access server engine includes a group creation operation that creates a first logical group containing a first set of data items.
- 14. The process data access server of claim 13 wherein a second logical group containing a second set of data items is includable as an item within the first logical group containing the first set of data items.
- 15. The process data access server of claim 13 wherein the set of interface operations executable by the data access server engine includes a group remove operation that removes a specified group from the process data access server.
- 16. The process data access server of claim 13 wherein the set of interface operations executable by the data access server engine includes operations for modifying the contents of the first logical group.
- 17. The process data access server of claim 1 wherein the set of interface operations executable by the data access server engine includes a write operation to a specified data item accessible by the process data access server.
- 18. The process data access server of claim 1 wherein the set of interface operations includes a data reference structure search operation that returns a data item reference corresponding to a data item value accessible by the client applications via the process data access server.
- 19. The process data access server of claim 18 wherein the data item reference is a handle.
- 20. The process data access server of claim 1 wherein the set of interface operations includes an error code generator that supplies error code text to a requesting client data exchange protocol module.
- 21. The process data access server of claim 1 wherein the set of interface operations includes a status reporter operation that provides access to a data structure that stores status values for the process data access server.
- 22. A method for providing, by a data access server, access to process data in a distributed process control environment in accordance with a client application data exchange protocol supported by one of a set of client application data exchange protocol modules installed on the data access server, and wherein the set of client application data exchange protocol modules invoke a set of data access operations executable by a data access server engine of the data access server according to a module-engine interface definition, the method comprising the steps of:
receiving, by a first client application data exchange protocol module of the data access server, a first client application data access request according to a first data exchange protocol; first generating, by the first client application data exchange protocol module, a first data access operation call for the data access server engine conforming to the module-engine interface definition, wherein the first data access operation call corresponds to the first client application data access request; and executing, by the data access server engine, the first data access operation call.
- 23. The method of claim 22 further comprising the steps of:
second generating, by the data access server engine, a response to the first data access operation call; and third generating, by the first data exchange protocol module, a response to the first client application data access request, wherein the response to the first client application data access request corresponds to the response to the first data access operation call generated by the data access server engine during the second generating step.
- 24. The method of claim 22 further comprising the steps of:
second receiving, by a second client application data exchange protocol module of the data access server, a second client application data access request according to a second data exchange protocol; and second generating, by the second client application data exchange protocol module, a second data access operation call for the data access server engine conforming to the module-engine interface definition, wherein the second data access operation call corresponds to the second client application data access request.
- 25. The method of claim 24 wherein the first data access operation call is identical to the second data access operation call.
- 26. The method of claim 22 further comprising the step of:
receiving, by the first client application data exchange protocol module, a request to create a logical group that contains a set of data items representing data accessed in the process control environment, and a further request to add a data item to the logical group.
- 27. The method of claim 26 wherein the first client application data access request comprises a subscription query requesting the data access server to issue a notification in response to detecting a change to a data value associated with the data item within the logical group.
- 28. The method of claim 27 wherein the executing step comprises forwarding a request for device data to a device protocol interface, and wherein the device protocol interface transmits a corresponding data request to a field device according to a field device-specific request protocol.
- 29. The method of claim 28 further comprising the steps of:
receiving, by the device protocol interface, a response from the field device comprising data corresponding to the data item; forwarding, by the device protocol interface to the data access server engine, a response message including a data value for the data item.
- 30. The method of claim 22 wherein the set of client data exchange protocol modules comprise plugins.
- 31. The method of claim 22 wherein ones of the set of client data exchange protocol modules handle data access requests from client applications in accordance with particular client data exchange protocols.
- 32. The method of claim 22 wherein the executing step comprises performing an asynchronous data read operation for providing data from an identified data source in response to a client application data request.
- 33. The method of claim 22 wherein the executing step comprises performing a synchronous read operation that, in accordance with a timer duration expiration event, updates identified process data values via the device protocol interface.
- 34. The method of claim 33 wherein the synchronous read operation discards an updated process data value for a data item that is determined to be unchanged from a current stored value for the data item, thereby avoiding transmissions of unchanged data values between the process data access server and requesting client applications.
- 35. The method of claim 22 wherein the first data access operation call comprises a group creation operation that creates a first group containing a first set of data items.
- 36. The method of claim 35 further comprising executing, by the data access server engine, a second data access operation call that adds a second logical group containing a second set of data items as a group item within the first group.
- 37. The method of claim 35 further comprising executing, by the data access server engine, a second data access operation call that removes a specified group from the data access server.
- 38. The method of claim 35 further comprising executing, by the data access server engine, a second data access operation call to modify contents of the first logical group.
- 39. The method of claim 22 wherein the first data access operation call comprises a write operation to a specified data item accessible by the data access server.
- 40. The method of claim 22 wherein the first data access operation call comprises a data reference structure search operation that returns a data item reference corresponding to a data item value accessible by the client applications via the process data access server.
- 41. The method of claim 40 wherein the data item reference is a handle.
- 42. The method of claim 22 wherein the first data access operation call comprises an error code generator operation that supplies error code text to the requesting client data exchange protocol module.
- 43. The method of claim 22 wherein the first data access operation call comprises a status reporter operation that provides access to a data structure that stores status values for the data access server.
- 44. A method for activating a data access server through a start-up process that builds the data access server from previously installed program files including at least an executable file incorporating a data access server engine and a separate and distinct file containing one or more of a set of client application data exchange protocol modules installed on the data access server, and wherein the set of client application data exchange protocol modules invoke a set of data access operations executable by the data access server engine of the data access server according to a module-engine interface definition, the method comprising the steps of:
starting up an executable corresponding to the data access server and including the data access server engine; loading the set of client application data exchange protocol modules thereby creating program links between at least one of the protocol modules and the data access server executable; and instantiating a data access server object corresponding to a connection between the data access server and a requesting client application.
- 45. The method of claim 44 wherein the set of client data exchange protocol modules comprise plugins.
- 46. The method of claim 45 wherein at least one of the set of client data exchange protocol plugins comprises a dynamic plugin.
- 47. The method of claim 45 wherein at least one of the set of client data exchange protocol plugins comprises a static plugin.
- 48. The method of claim 45 wherein the set of protocol conversion modules comprise both static and dynamic plugins.
- 49. The method of claim 44 wherein ones of the set of client data exchange protocol modules handle data access requests from client applications in accordance with particular client data exchange protocols.
- 50. The method of claim 44 wherein the set of operations of the data access server engine includes at least one data access operation callable by at least two distinct ones of the set of client data exchange protocol modules that incorporate distinct data exchange protocols.
CROSS REFERENCE TO RELATED APPLICATION
[0001] This application claims priority of Todorov et al. U.S. provisional application Serial No. 60/232,731 filed on Sep. 15, 2000, entitled “Remote Multiple Client Protocol Support,” the contents of which are expressly incorporated herein by reference in their entirety including the contents and teachings of any references contained therein.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60232731 |
Sep 2000 |
US |