WO2002023405A1 - A method and system for performing remote diagnostics on a process data access server - Google Patents

A method and system for performing remote diagnostics on a process data access server Download PDF

Info

Publication number
WO2002023405A1
WO2002023405A1 PCT/US2001/028951 US0128951W WO0223405A1 WO 2002023405 A1 WO2002023405 A1 WO 2002023405A1 US 0128951 W US0128951 W US 0128951W WO 0223405 A1 WO0223405 A1 WO 0223405A1
Authority
WO
WIPO (PCT)
Prior art keywords
diagnostic
data access
server
access server
data
Prior art date
Application number
PCT/US2001/028951
Other languages
French (fr)
Inventor
Rainer Hessmer
Ivan A. Todorov
Michael Hadrich
Louis D. Ross
Original Assignee
Wonderware Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wonderware Corporation filed Critical Wonderware Corporation
Priority to EP01973072.0A priority Critical patent/EP1330737B1/en
Priority to AU2001292690A priority patent/AU2001292690A1/en
Publication of WO2002023405A1 publication Critical patent/WO2002023405A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0226Mapping or translating multiple network management protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/046Network management architectures or arrangements comprising network management agents or mobile agents therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0876Aspects of the degree of configuration automation
    • H04L41/0883Semiautomatic configuration, e.g. proposals from system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/12Plc mp multi processor system
    • G05B2219/1208Communication, exchange of control, I-O data between different plc
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13121DDE direct data exchange, DLL dynamic library linking
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23262DDE direct data exchange, DLL dynamic library linking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/084Configuration by using pre-existing information, e.g. using templates or copying from other elements
    • H04L41/0843Configuration by using pre-existing information, e.g. using templates or copying from other elements based on generic templates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0866Checking the configuration
    • H04L41/0869Validating the configuration within one network element
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/288Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level

Definitions

  • the present invention generally relates to the field of computerized process control networks. More particularly, the present invention relates to diagnostic utilities that access server components within process control networks to extract information regarding the operational status of the server components.
  • An example of such a server component is a data access server system that supports access by supervisory level client applications to process control information.
  • Control processors execute control programs that read process status variables and execute control algorithms based upon the status variable data and desired set point information to render output values for the control points in industrial processes.
  • Such control processors and programs support a substantially self-running industrial process (once set points are established).
  • process information is generated/stored within field devices (e.g., intelligent transmitters) having digital data communication capabilities.
  • the process information is retrieved from the databases and field devices by data servers for further processing/use by the process control system.
  • the data access servers provide the retrieved information to a variety of client applications providing high-level control and monitoring (both human and computerized) services.
  • the high-level control and monitoring applications rely upon the proper operation of the data access servers to provide the data upon which such applications rely for decision-making.
  • Such information includes real-time process variable values, alarms, etc. If a data access server is providing inaccurate or outdated information, then the decision-making process of the high-level control and monitoring applications becomes corrupt. It is therefore important to quickly identify and address malfunctioning data sources such as the data access servers and/or the lower-level devices and control processors that feed process control data to the data access servers.
  • a data access server that is malfunctioning or unable to function because a physical device connected to it is malfunctioning can result in significant downtime for a manufacturing process.
  • whole production lines can be brought to a standstill.
  • the present invention offers a new way to monitor data access servers and the field equipment with which the data access servers are associated, and with whom the data access servers communicate to render data concerning the present state of a manufacturing and process control network. More particularly, the present invention comprises a manufacturing process utility (and methods performed thereby) that facilitates performance of diagnostic analysis of a remote data access server and its associated process control system information sources.
  • the manufacturing process utility includes a server agent that initially facilitates discovery of a remote data access server to enable the creation of a communication interface with the remote data access server and to thereafter receive diagnostic data from the remote data access server.
  • a remote data access server node includes a diagnostic rules storage for storing diagnostic information regarding the data access server.
  • the diagnostic information includes both status information and diagnostic data hierarchy definitions to guide presentation of the status information for the data access server.
  • the diagnostic utility further comprises a diagnostic tool for presenting the status information in view of the diagnostic data hierarchy.
  • FIG. 1 is a schematic drawing depicting an exemplary process control environment for the present invention wherein a process data access server includes a remote diagnostic utility that retrieves diagnostic information within other data access servers that, in turn, retrieve/receive process control information and provide such information to a variety of client applications residing at a monitoring/supervisory layer of a process control network;
  • FIG. 2 is a schematic drawing summarizing the general interface arrangement for an exemplary data access server arrangement embodying the present invention;
  • FIG. 3 depicts an exemplary set of diagnostic root types supported by default by a data access server engine in accordance with an exemplary embodiment of the present invention
  • FIG. 4 is a diagram of an exemplary structure of diagnostic roots and their associated containers
  • FIG. 5 is a sequence diagram summarizing an exemplary set of steps for creating a connection between a selected data access server and a requesting diagnostic utility
  • FIG. 6 is a sequence diagram summarizing an exemplary sequence of steps for a diagnostic utility obtaining diagnostic information from a remote data access server
  • FIG. 7 is a sequence diagram summarizing an exemplary sequence of steps for refreshing a list view for a particular selected leaf on a diagnostic tree
  • FIG. 8 is a sequence diagram summarizing an exemplary sequence of steps performed by a data access server and diagnostic utility to remove one or more diagnostic objects from a system
  • FIG. 9 is a sequence diagram summarizing an exemplary sequence of steps for a shutdown procedure initiated by a data access server.
  • the remote diagnostic utilities and complimentary interfaces incorporated into data access server systems incorporating the present invention enable users to observe, from a single remote location, information representing the configuration and operation status of data access servers and the manufacturing/process control devices with which they are associated. By possessing the capability to discover, from a remote location, runtime details regarding the data access servers and their associated data sources, users are better able to diagnose problems and tune performance of the data access servers and the physical devices (e.g., control processors and field devices) communicatively coupled to the observed data access servers.
  • the physical devices e.g., control processors and field devices
  • runtime details include, but are not limited to: (1) the number of data items managed by the data access server and which items are combined in each message; (2) the message scheduling and arbitration strategy utilized by the data access server — e.g., which • messages will become due when; (3) individual item values, as presented, for example, in accordance with a device bus protocol; and (4) exceptional conditions reported by the bus protocol (e.g., a device is off scan) that prevent data from being read or written.
  • the disclosed exemplary remote diagnostic utility includes a set of features/characteristics that, in combination, are particularly useful in a manufacturing/process control network environment containing multiple data access servers.
  • the diagnostic utility incorporates an extensible architecture allowing customized extensions to a base set of capabilities.
  • the diagnostic utility includes a generic diagnostic tool that examines diagnostic information from a plurality of different implementations of data access servers.
  • the data access servers provide both diagnostic data as well as a source data access server-specific diagnostic schema used by the diagnostic utility to analyze the received diagnostic data.
  • the diagnostic tool utilizes DAS (data access server) agents located on remote data access servers to enumerate the data access servers running on each remote node in the network and to thereafter connect to the data access servers for purposes of extracting diagnostic data.
  • DAS data access server
  • an engine within a data access server supplies data associated with diagnostic roots within each data access server.
  • the engines ' support a base set of diagnostic roots (data item types), and no further programming is required to expose such diagnostic details to the diagnostic utility. Thus, no data access server-specific code need be supported.
  • the set of diagnostic root types is extensible.
  • the engines are augmentable by developers of the data access servers.
  • Such extensions are, by way of example, new types of diagnostic roots.
  • the extensions are in the form of additional data items associated with diagnostic root types. Such additional data items are displayed through added columns in a graphical user interface supported by the diagnostic utility.
  • the diagnostic utility After receiving diagnostic data, the diagnostic utility presents a view of the discovered data access servers and their associated extracted configuration/runtime diagnostic data.
  • the diagnostic data sources provide, along with their data, schema information enabling the diagnostic utility to properly organize and display the obtained information upon a graphical user interface.
  • a valuable feature of an embodiment of the present invention is its extensibility with regard to expanding the diagnostic information provided by data access servers through the base set of diagnostic roots supported initially for an installed data access server.
  • the diagnostic roots are extended by adding to the scope of data items provided by a base diagnostic object
  • the diagnostic utility development environment provides data access server developers a set of class libraries comprising templates for creating server-specific portions.
  • the server developers use a class library to create customized diagnostic objects.
  • These objects incorporate a set of customizable methods that a developer adapts to enable a particular data access server to generate additional diagnostic information or even to create a new diagnostic object type.
  • the class library object incorporates base methods dealing with the details of delivering the selected additional information to the diagnostic utility.
  • the class library supports both pushing data to the diagnostic utility and serving requests from the diagnostic utility.
  • FIG. 1 an exemplary portion of a process control network is illustratively depicted.
  • the present invention is useful in any network including a data access server.
  • the process control network can be viewed as a set of devices connected to one or more network links associated with particular levels of the process control network.
  • the depicted portion of the process control network includes a fieldbus level 12, a local control level 14, and a supervisory control level 16. Though the exemplary embodiment.
  • the illustratively depicted network embodies a multi-level bus topology.
  • the present invention can be incorporated into process control networks embodying alternative network topologies (e.g., star networks, hybrid bus/star networks, etc.) including both single-level and hierarchical configurations.
  • a set of intelligent field devices 20 reside at the fieldbus level 12.
  • the field devices include intelligent process variable transmitters that sense pressure, temperature, fluid flow, etc., in a controlled industrial process.
  • the field devices also include actuators such as those enabling opening and closing fluid flow valves for tanks, burners, etc.
  • Control processors 30 at the local control level 14 perform local control functions with regard to the set of intelligent field devices 20.
  • the control processors 30 receive process state information provided by the intelligent field devices 20. State information includes, for example, pressure, temperature, mass flow, volumetric flow, etc.
  • the control processors apply the received status information to a set desired points for the process and then transmit control signals to actuators in order to obtain or maintain the desired set points.
  • the control processors are programmed/configured to store the status and control information associated with their control function.
  • the supervisory control level 16 includes higher level control applications programs that facilitate and/or implement enterprise/plant level decision making and supervisory (e.g., set point) control value designation functions.
  • An alarm server 40 receives process status data from a number of lower level sources, including both the control processors 30 and the field devices 20. The alarm server 40 compares the received status data against a set of alarm/event conditions and issues appropriate notifications to either monitors or control processes (e.g., control processors 30) in response to a detected alarm/event condition. The control processors 30 issue appropriate signals to controlled field devices/actuators to address the event/alarm condition.
  • a historian 42 also operating at the supervisory control level 16, archives data received from any of the aforementioned levels of the process control system.
  • a human-machine interface (HMI) 44 is yet another node connected to the supervisory control level 16.
  • the human-machine interface 44 provides a set of graphic/text user interface functions enabling a human to view the operation/status of the controlled process associated with the process control system with which the depicted items of FIG. 1 are associated.
  • a set of data access server nodes 50a, 50b, and 50c are interposed between the supervisory control level 16's processing nodes and the lower levels of the process control system (e.g., the local control level 14 and fieldbus level 12).
  • the data access server node 50b executing one or more logical DA servers, receives and/or extracts data from the field devices 20 (via channel 52) and/or the control processors 30 (via channel 54) and provides corresponding (possibly reformatted) data to processing nodes at the supervisory control level 16 of the process control network — including one or more of the nodes executing one of the other data access servers.
  • the data access server nodes 50a-c perform the task of providing data to a variety of client applications that obtain data in accordance with particular data exchange protocols and are otherwise unable to access process control data provided at the local control level 14 and fieldbus level 12.
  • a method and system for supporting multiple client data exchange protocols is described in Todorov et al. U.S. patent application (number not yet assigned), filed on September 14, 2001, and entitled "An Industrial Process Control Data Access Server Supporting Multiple Client Data Exchange Protocols," which is incorporated herein by reference in its entirety including any references therein.
  • a diagnostic utility executed upon the data access server 50c (indicated in FIG. 1 by a two paned window 56 including a graphical root structure and displayed columns), upon any of the other data access servers, or upon any supervisory-level 16 node, provides a means for remotely monitoring process control system data access servers.
  • the data access server diagnostic utility is an application that executes upon the same node as a data access server. For example, as depicted in FIG. 1, the diagnostic utility executes upon a data access server node 50c. However, there is no requirement for the diagnostic utility to reside upon any particular type of node (since it executes independently of DAS data acquisition/transmission processes). DAS agents are tools for discovering data access servers on a network.
  • the diagnostic utility (tool), through DAS agents instantiated on at least nodes 50a and 50b (to query the registry on each of those nodes) discovers the running data access servers running on DAS nodes 50a, 50b, and 50c and presents a list to a user. The user is then able to select one or more of the data access servers of interest to perform diagnostics. Once connections are established between the diagnostic utility running on DAS node 50c and the data access servers, other components within the data access servers take over and handle information requests from the diagnostic utility. Those components are discussed herein below with reference to FIG. 2.
  • the diagnostic utility program is incorporated into a base library included within each of the data access server nodes 50a, 50b, and 50c, and thus there is no need on the part of an administrator to add any special programs or executable code to support the operation of the diagnostic utility within the network.
  • a processing engine that carries out the core functionality of each DAS node 50a-c hosts the diagnostic utility and exposes a default set of diagnostic information via a set of well-defined interfaces described herein below with reference to FIG. 2.
  • data access server node functionality can be enhanced, through customization of a server-specific part of the DA servers, by extending the scope of diagnostic information provided by the data access servers to the diagnostic utility.
  • a developer can expose both custom diagnostic roots (see below) as well as provide additional items to a set of items supported by base diagnostic roots.
  • the present invention is not limited to any particular process control system network topology or technology.
  • the disclosed exemplary process control network comprises a hierarchically arranged digital system.
  • the present invention is incorporated within a monitoring node connected to a single-level process control network wherein the field devices, control processor(s), and supervisory control applications constitute nodes on a single bus.
  • the DAS receives data concerning conventional, analog field devices that utilize the 4-20 milliamp standard for process communications.
  • FIG. 2 an interface arrangement for implementing remote diagnostic data extraction via a diagnostic utility installed on the data access server node 50c containing a diagnostic utility 100 is schematically depicted.
  • the diagnostic utility 100 attaches to a running data access server node using well known COM/DCOM interfaces. Interfaces between the diagnostic utility 100 and a DAS engine 110 on the remote data access server node 50b are preferably generic so that it is not necessary to install software components on a node running the diagnostic utility 100 to accommodate new diagnostic data sources. An additional, unidirectional interface is provided between the diagnostic utility 100 and a data access server base 120 to establish a location where the server base 120 can deposit its data.
  • a server engine to server base interface 125 supplies methods described herein below for passing requests and responsive data between the DAS engine 110 and the data access server base 120.
  • the server base 120 supports a server- specific part of diagnostic data (i.e., the extensible part of diagnostics supplied by a data access server).
  • the following is a pseudocode representation of a portion of the interface 125 (referred to herein as IlotServer) provided by the DAS engine 110 in support of calls by the server base 120.
  • This handle will identify its base object, the TkloDiagBranch object being created by CreateDiagBranch.
  • Boolean flag advises the DAS engine to update immediately or to wait until the next PushDiagnosticObjects call. */ [in] BOOL bUpdateClient
  • the generic interface operations supporting the diagnostic utility 100 to DAS engine 110 communications preferably supply requests and responsive diagnostic data at sufficient throughput rates to support live monitoring of data access servers that are remote from the diagnostic tool and are thus accessed over a network.
  • the functional requirements for acquiring and processing diagnostic data access server data are met, for example, by methods/operations meeting the interface definitions described herein below. Those skilled in the art will readily appreciate the wide variety of ways in which the below-defined functional requirements are met by systems embodying the present invention.
  • An IIosServerDiagRoot interface 130 is a global diagnostic interface providing a point of run-time attachment for the diagnostic tool 100 to a data access server base 120 from which diagnostic data is extracted (by the DAS engine 110).
  • the IIosServerDiagRoot interface 130 exposes the following two methods: AttachDiagnostic and ShutDown.
  • AttachDiagnostic the diagnostic utility 100 passes a pointer to the diagnostic utility 100's own diagnostic sink callback interface, the refresh mode, and the locale ID
  • the Shutdown operation notifies the server base that the previously provided callback interface is no longer active.
  • options are specified to customize the shutdown operation.
  • the following is a pseudocode representation of the IIosServerDiagRoot interface 130.
  • the server base provides the root for the diagnostic interfaces: */ HRESULT AttachDiagnostic
  • Options parameter is currently not used but a set of options can customize the shutdown of a diagnostic.
  • An IIoDiagnosticSink interface 140 is provided by the diagnostic tool as a callback interface for the DAS engine 110.
  • DAS events e.g., creation of diagnostic roots and diagnostic objects by the DAS
  • the diagnostic utility 100 is notified by the DAS engine 110 of the DAS events through the IIoDiagnosticSink interface 140.
  • the IIoDiagnosticSink interface 140 exposes the following methods: SetHeader, AddDiagRoot, AddDiagObjects, RemoveDiagObjects, UpdateEvent, and OnShutDown. The following is a commented pseudocode representation of the IIoDiagnosticSink interface 140.
  • the server sets the column headers in the list view of the diagnostic client.
  • the diagnostic client should do the following in this method: 1. delete the list view contents
  • the string contains tab-separated substrings. Each substring represents the header of a list view column. */ [in] BSTR DiagHeader
  • the server adds a diagnostic root element to the tree view of the diagnostic client.
  • Each diagnostic root object is identified by a CSHANDLE.
  • the diagnostic client should save these.
  • the diagnostic client should make no assumptions on the nature/syntax of a diagnostic root object. */ HRESULT AddDiagRoot
  • Root object name to be displayed in the tree view */
  • the server adds diagnostic child elements to an existing diagnostic node.
  • the child elements can be branches/nodes and/or leaves. Leaves only appear in the list view. Branches always appear in the tree view. They also appear in the list view when the parent object is selected. */ HRESULT AddDiagObjects
  • Leaf header The client needs to use the leaf header only if the corresponding list 5 view for this parent branch has not been created yet.
  • the server informs the diagnostic client that it is going to shut down. 5 the client should release all references to all server interfaces immediately arid remove the server from the diagnostic view. */ HRESULT OnShutDown
  • An IIotDiagRoot interface 150 exposes diagnostic contexts, or "diagnostic roots," established within the DAS engine 110. Diagnostic roots include, for example, the following: structure (hierarchical view), client groups (OPC groups), device groups, transactions, statistics, messages, and any of an extensible set of server-specific diagnostic roots implemented by a server developer. An exemplary default set of diagnostic root types is explained herein below with reference to FIG. 3.
  • the IIotDiagRoot interface 150 exposes the following methods: AddDiagObjects, GetLeafDiagnostics, GetLeaflnfo, QueryLeafForceKeys, and ForceValues. The following is a commented pseudocode representation of the IIotDiagRoot interface 150.
  • the diagnostic client instructs the server to add all diagnostic objects (child branches and child leaves) to the specified node. */
  • the diagnostic client retrieves diagnostic information about all visible leaf objects in the list view. */
  • Diagnostic string array of all requested leaves are tab- separated substrings. Each substring represents the entry in the corresponding column.
  • the diagnostic client retrieves detailed diagnostic information about a leaf that the user selected. */
  • the diagnostic client queries available force keys of a leaf that the user selected. */ HRESULT QueryLeafForceKeys
  • the diagnostic client will display this string preceding the edit field of the corresponding force value.
  • the diagnostic client will display this string following the edit field of the corresponding force value.
  • FIG. 3 identifies a set of exemplary diagnostic root types previously identified above with reference to the set of IIotDiagRoot interfaces 150.
  • the set of diagnostic roots identified in FIG. 3 comprise a set of default diagnostic root types that are defined in a base data access server engine software package for a manufacturing/process control system.
  • a structure diagnostic root type 200 supports a hierarchical view of the physical devices, as configured for the data access server supplying an instance of this type of diagnostic root.
  • the structure diagnostic root type 200 supports identification of ports, boards, and busses connected to routers, PLCs, and other physical devices.
  • each device identified in the structure root is graphically displayed in the hierarchical position it occupies in a current configuration of the diagnostic utility 100.
  • a client groups diagnostic root type 210 supports providing a flat list of all client groups as currently created from an aggregate of all clients of the data access server. For each identified client group diagnostic root of the client groups diagnostic root type 210, all items currently associated with that group are listed, along with their individual VTQs (value, timestamp, quality). Every item added to a client group also specifies a device group as an attribute. Device groups are configured for the data access server and specify the device update interval for items in the device group.
  • a device group diagnostic root type 220 supports providing a flat list of all device groups, as configured for the data access server. For each device group within the flat list of device groups, all items currently added to the device group are listed along with their individual VTQs.
  • Clients may request that a specific list of items be read or written directly to their devices. These requests are called transactions. Transactions are scheduled to merge into the background subscription bus traffic and therefore are not processed instantaneously.
  • a transactions diagnostic root type 230 supports creating transaction roots for providing a flat list of all transactions in the order they are scheduled and indicating their completion status.
  • a statistics diagnostic root type 240 supports creating transaction roots that specify a collection of overall load control statistics, such as messages per second processed for a specific device.
  • the data access server developer customizes the statistics diagnostic root type 240 by writing code for additional columns of data access server-specific information.
  • Messages are collections of items managed by the DAS engine.
  • a messages diagnostic root type 250 supports creation of a message diagnostic root containing a flat list of messages and statistics associated with the set of messages. Such statistics include the number of messages pending and active and the number of items in each message.
  • the above identified six diagnostic root types are exposed and managed by the DAS engine 110 on behalf of a running data access server.
  • the diagnostic utility 100 includes built-in core functionality for generically receiving and depicting the diagnostic data provided within diagnostic roots of the above-identified types as well as new diagnostic root types created by developers as an extension of the default set.
  • the diagnostic information exposed by an individual data access server is extensible in either or both of two ways through the writing and ' integration of additional software. First, the data access server code can be written to expose more diagnostic roots types 260 (in addition to the six above-described default types). Any information that is specific to a particular data access server, and not available to the DAS engine generically, is added in this manner.
  • a graphical user interface associated with the diagnostic utility presents a two paned user-interface window.
  • the left pane contains a tree structure with expandable-contractable nodes. Some of the default diagnostic roots present diagnostic information in the right pane in a columnar format.
  • a second manner in which the functionality of the proposed remote data access server diagnostic utility is extended is to add to a set of default columns specified for particular diagnostic roots types. The default columns are supported by the DAS engine 110.
  • a server developer writes diagnostic root code adding to default columns specified for a particular diagnostic root type.
  • the above-described set of root types is extensible to include server-specific customized diagnostic root types that augment the default set of diagnostic root types as well as add more information to the information provided within any of the default diagnostic root types.
  • the following provides a class library description definition that facilitates customizing diagnostic root sets on a data access server.
  • all server side diagnosable diagnostic objects derive from an SvIoDiagObject base class object.
  • the developer when a server developer customizes a provided behavior of an existing object (like items, hierarchies, device groups/topics, and messages) the developer overwrites the virtual methods: CreateDiagString(..) and CreateDiagInfo(..) for the default diagnostic root object definition.
  • CreateDiagString returns the tab-separated additional column information of the corresponding object and CreateDiaglnfo returns the diagnostic info string, which is called when the user double clicks the diagnostic line. If the server developer does not overwrite these methods or does not derive objects from the base classes, the default diagnostic information with the columns and information provided by the DAS engine 110 is used.
  • the header string information is supplied via virtual methods on the server level, providing the initial column sizes and options along with the header corresponding to a given locale ID:
  • the server developer creates new diagnostic roots and populates them with diagnostic
  • This augmentation is accomplished by overwriting a virtual method called
  • Roots and branches have the virtual method of adding diagnostic objects:
  • branches and leaves provide the same mechanism for diagnostics as the default objects with customized columns, except that the full diagnostic string is supplied by the server and not only the additional diagnostic columns:
  • the diagnostic utility supports creating a graphical image in the form of a window comprising two side-by-side panes.
  • a tree structure diagram having structures similar to the depicted structure of FIG. 4 is depicted in the left pane of the graphical user interface associated with the diagnostic utility 100.
  • the exemplary root structure graphically depicts hierarchical internal relationships of an exemplary set of diagnostic roots defined for multiple (4) data access servers executing upon two distinct computer nodes in a manufacturing/process control network.
  • a right pane depicts diagnostic information associated with a particular node selected in the left pane.
  • the diagnostic utility when active, queries all running data access servers on a network and obtains the diagnostic roots associated with each of such data access servers.
  • the diagnostic utility when the user launches the diagnostic utility (a selectable executable on a network computer node), the diagnostic utility examines the network nodes and discovers the data access servers executing upon the network nodes. Upon establishing a connection to logical data access server instances running on the network nodes and obtaining the diagnostic root structures and related diagnostic data, the diagnostic utility presents, in its left pane, the diagnostic data sources and their containers in the form of a hierarchical structure view (depicted, by way of example, in FIG. 4). When a user selects one of the depicted nodes of the depicted root structure, the diagnostic utility presents data related to the node, and currently possessed by the diagnostic utility, within the right side pane of the graphical user interface.
  • Network 300 corresponds to the manufacturing/process control application.
  • Each computer node with one or more running data access servers is presented as the top level of the hierarchical tree.
  • the computer nodes designated Computer 1 and Computer2 correspond to the physical nodes upon which identified logical data access server instances reside. Beneath each computer node, the logical data access servers comprise a next lower level on the depicted diagnostic hierarchy.
  • the logical data access server instances are identified in FIG. 4 as Server 1, Server2, Server3, and Server4.
  • the association between Serverl and Server2 with Computerl and Server3 and Server 4 with Computer2 is graphically depicted.
  • Available diagnostic roots are depicted with connections to their associated logical servers and comprise a third level of the depicted diagnostic hierarchy.
  • a root is depicted, by way of example, for each diagnostic root associated with a particular logical data access server.
  • Different diagnostic roots potentially have any of a variety of differentinternal structures.
  • the diagram in FIG. 4 indicates that the hierarchy stops at the diagnostic roots, it may continue for additional levels below the roots based upon the diagnostic root design.
  • the structure depicted in FIG. 4, and its associated functionality provides ready access to a broad spectrum of diagnostic data via a graphical user interface.
  • FIG. 5 a sequence diagram summarizes an exemplary set of steps for establishing an initial connection between the diagnostic utility 100 and a data access server.
  • the diagnostic utility requests one or more remote DAS nodes on the network to create an instance of a DAS agent.
  • the diagnostic utility requests the DAS agents to query their respective nodes and return responses identifying instantiated data access servers on their respective nodes.
  • the DAS agents thereafter return information identifying each of the DAS servers.
  • a tree graphical user interface depicts a set of nodes and their associated data access server instances.
  • a user selects from the set of returned data access server identifications a particular data access server during step 404.
  • the diagnostic utility transmits a request to the DAS agent corresponding to a selected DA server.
  • the request seeks establishment of a connection between the diagnostic utility and the indicated data access server.
  • the DAS agent calls a corresponding data access server engine running on the DAS agent's node to obtain an interface destination of the DAS engine corresponding to the selected DA server instance.
  • the diagnostic utility After receiving the destination information, during step 410 the diagnostic utility issues an AttachDiagnostic() which attaches the diagnostic utility's diagnostic sink interface to the DAS engine that creates a data access server-specific connection between the diagnostic utility and the DAS engine on behalf of the selected data ⁇ access server instance. Thereafter, the DAS engine notifies the diagnostic utility of the types of information available for the selected data access server.
  • FIG. 6 a set of primary steps are summarized for a diagnostic client obtaining diagnostic parameter values provided by a set of diagnostic roots defined for a selected data access server.
  • the identified steps are intended to describe the general flow of requests for information rather than set forth every single step performed to complete an operation.
  • a user selects the diagnostic utility program.
  • the diagnostic utility initially creates an instance of a diagnostic sink object for receiving diagnostic information from data access servers.
  • the diagnostic utility calls an identified data access server engine to attach the server engine to the diagnostic sink of the diagnostic utility during step 504.
  • the server engine issues a call during step 506 to create a diagnostic root interface object (CIotDiagRoot) to serve requests from the diagnostic utility.
  • a CIotDiagRoot object is instantiated for each diagnostic utility client to manage the diagnostic objects and diagnostic states.
  • the diagnostic root interface object calls the customized data access server component (ClosServer) for the data access server to create diagnostic roots.
  • ClosServer during step 510 calls the server engine (ClotServer) with a call for the server engine to create diagnostic roots corresponding to the server-specific root information provided by the server-specific part of the data access server.
  • step 512 the server engine compiles the complete set of diagnostic roots associated with the selected data access server and returns this set in a callback to the diagnostic utility's diagnostic sink for the selected data access server.
  • the user is. able to select the roots of interest from a tree structure similar to the one depicted in FIG. 4 and to have corresponding diagnostics displayed on a second (right- hand) pane of the diagnostic utility's graphical user interface.
  • the diagnostic utility issues an "AddDiagObjects" call to the diagnostic root object created by the DAS engine call during step 506.
  • the called diagnostic root object returns a set of objects associated with that particular root.
  • AddDiagnosticObjects can issue on creation of new diagnostic objects.
  • a diagnostic root itself contains additional levels of diagnostic root objects.
  • the diagnostic utility issues a GetLeafDiagnostics call to the diagnostic root object to obtain all leaves associated with the diagnostic root object.
  • Step 526 occurs each time that a user selects a root that itself contains lower-level root diagnostic objects.
  • the diagnostic root object obtains root information from corresponding protocol objects containing diagnostic data and potentially calls the customized server component to obtain root data corresponding to a customized root object.
  • the graphical user interface of the diagnostic utility is updated in accordance with the root data returned by the server engine via the diagnostic sink interface.
  • a user can select a customized diagnostic root.
  • the diagnostic utility issues an "AddDiagObjects" call to the diagnostic root object created by the DAS engine call during step 506.
  • the called diagnostic root object passes the AddDiagObjects call to the customized server component.
  • the customized server component issues an AddToDiagnostics call to the server engine that returns a set of objects associated with that particular root.
  • the server engine can issue an AddDiagObjects call on creation of new diagnostic objects corresponding to the root.
  • a diagnostic root itself contains additional levels of diagnostic root objects.
  • the diagnostic utility issues a GetLeafDiagnostics call to the diagnostic root object to obtain all leaves associated with the diagnostic root object.
  • Step 546 occurs each time that a user selects a root that itself contains lower-level root diagnostic objects.
  • the customized server component obtains root information from corresponding protocol objects containing diagnostic data.
  • the graphical user interface of the diagnostic utility is updated in accordance with the root data returned by the server engine via the diagnostic sink interface.
  • FIG. 7 depicts a sequence of steps that utilize previously described interface methods to refresh a list view of a selected diagnostic leaf.
  • FIG. 8 summarizes an exemplary set of steps for removing a diagnostic object previously selected by a user.
  • FIG. 9 summarizes a set of steps for shutting down remote diagnostics for a particular data access server instance.

Abstract

A system and method for enabling users to observe from a remote location the configuration and operation of data access servers nodes (50a-c). In an embodiment, the diagnostic utility (100) attaches to a running data access server node using well known COM/DCOM interfaces. A unidirecetional interface is provided between the diagnostic utility (100) and a data access server base (120) to establish a location where the server base (120) can deposit its data. A server engine to server base interface (125) supplies methods for passing requests and responses between the data access engine (110) and data access server base (120). The server base (120) support a server-specific part of diagnostic data, for example the extensible part of diagnostics supplied by a data access server.

Description

A METHOD AND SYSTEM FOR PERFORMING REMOTE DIAGNOSTICS ON A PROCESS DATA ACCESS SERVER
CROSS REFERENCE TO RELATED APPLICATION This application claims priority of Todorov et al. U.S. provisional application Serial No.
60/232,731, filed on September 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.
FIELD OF THE INVENTION
The present invention generally relates to the field of computerized process control networks. More particularly, the present invention relates to diagnostic utilities that access server components within process control networks to extract information regarding the operational status of the server components. An example of such a server component is a data access server system that supports access by supervisory level client applications to process control information.
BACKGROUND OF THE INVENTION
Significant advances in industrial process control technology have vastly improved all aspects of factory and plant operation. Before the introduction of today's modern industrial process control systems, industrial processes were operated/controlled by humans and rudimentary mechanical controls. As a consequence, the complexity and degree of control over a process was limited by the speed with which one or more people could ascertain a present status of various process state variables, compare the current status to a desired operating level, calculate a corrective action (if needed), and implement a change to a control point to affect a change to a state variable.
Improvements to process control technology have enabled vastly larger and more complex industrial processes to be controlled via programmed control processors. Control processors execute control programs that read process status variables and execute control algorithms based upon the status variable data and desired set point information to render output values for the control points in industrial processes. Such control processors and programs support a substantially self-running industrial process (once set points are established).
Notwithstanding the ability of industrial processes to operate under the control of programmed process controllers at previously established set points without intervention, supervisory control and monitoring of control processors and their associated processes are desirable. Such oversight is provided by both humans and higher-level control programs at an application/human interface layer of a multilevel process control network. Such oversight is generally desired to verify proper execution of the controlled process under the lower-level process controllers and to configure the set points of the controlled process. Data access servers facilitate placing process control data within reach of a variety of higher-level monitoring/control client applications. During the course of operation, process controllers generate status and control information concerning associated processes. The controllers' process status and control information is stored within process control databases and/or distributed to a number of locations within the process control network. Other process information is generated/stored within field devices (e.g., intelligent transmitters) having digital data communication capabilities. The process information is retrieved from the databases and field devices by data servers for further processing/use by the process control system. For example, the data access servers provide the retrieved information to a variety of client applications providing high-level control and monitoring (both human and computerized) services.
In systems containing data access servers, the high-level control and monitoring applications rely upon the proper operation of the data access servers to provide the data upon which such applications rely for decision-making. Such information includes real-time process variable values, alarms, etc. If a data access server is providing inaccurate or outdated information, then the decision-making process of the high-level control and monitoring applications becomes corrupt. It is therefore important to quickly identify and address malfunctioning data sources such as the data access servers and/or the lower-level devices and control processors that feed process control data to the data access servers.
Many data access servers operate in complex process control computing environments in a time-critical manner. In very large systems, with hundreds, or even thousands, of data access servers spread across hundreds or thousands of computers in many buildings, the cost of tuning the operation of running data access servers and the devices from which they receive their data grows exponentially with the number of such servers. The delay in completing tuning operations also increases. Such delays are costly to manufacturers. Therefore, manufacturers generally seek to minimize the delays encountered when tuning the operation of a data access server and its associated process control devices.
Moreover, it is important to quickly identify and remedy operation faults in an industrial/manufacturing process managed by a process control system. A data access server that is malfunctioning or unable to function because a physical device connected to it is malfunctioning can result in significant downtime for a manufacturing process. In many applications, if the information or control pathway provided by a data access server is unavailable, whole production lines can be brought to a standstill.
SUMMARY OF THE INVENTION The present invention offers a new way to monitor data access servers and the field equipment with which the data access servers are associated, and with whom the data access servers communicate to render data concerning the present state of a manufacturing and process control network. More particularly, the present invention comprises a manufacturing process utility (and methods performed thereby) that facilitates performance of diagnostic analysis of a remote data access server and its associated process control system information sources. The manufacturing process utility includes a server agent that initially facilitates discovery of a remote data access server to enable the creation of a communication interface with the remote data access server and to thereafter receive diagnostic data from the remote data access server. A remote data access server node includes a diagnostic rules storage for storing diagnostic information regarding the data access server. The diagnostic information includes both status information and diagnostic data hierarchy definitions to guide presentation of the status information for the data access server. The diagnostic utility further comprises a diagnostic tool for presenting the status information in view of the diagnostic data hierarchy. BRIEF DESCRIPTION OF THE DRAWINGS
The appended claims set forth the features of the present invention with particularity. The invention, together with its objects and advantages, may be best understood from the following detailed description taken in conjunction with the accompanying drawings of which: FIGURE 1 is a schematic drawing depicting an exemplary process control environment for the present invention wherein a process data access server includes a remote diagnostic utility that retrieves diagnostic information within other data access servers that, in turn, retrieve/receive process control information and provide such information to a variety of client applications residing at a monitoring/supervisory layer of a process control network; FIG. 2 is a schematic drawing summarizing the general interface arrangement for an exemplary data access server arrangement embodying the present invention;
FIG. 3 depicts an exemplary set of diagnostic root types supported by default by a data access server engine in accordance with an exemplary embodiment of the present invention;
FIG. 4 is a diagram of an exemplary structure of diagnostic roots and their associated containers;
FIG. 5 is a sequence diagram summarizing an exemplary set of steps for creating a connection between a selected data access server and a requesting diagnostic utility;
FIG. 6 is a sequence diagram summarizing an exemplary sequence of steps for a diagnostic utility obtaining diagnostic information from a remote data access server; FIG. 7 is a sequence diagram summarizing an exemplary sequence of steps for refreshing a list view for a particular selected leaf on a diagnostic tree;
FIG. 8 is a sequence diagram summarizing an exemplary sequence of steps performed by a data access server and diagnostic utility to remove one or more diagnostic objects from a system; and FIG. 9 is a sequence diagram summarizing an exemplary sequence of steps for a shutdown procedure initiated by a data access server.
DETAILED DESCRIPTION OF AN ILLUSTRATIVE EMBODIMENT
The remote diagnostic utilities and complimentary interfaces incorporated into data access server systems incorporating the present invention enable users to observe, from a single remote location, information representing the configuration and operation status of data access servers and the manufacturing/process control devices with which they are associated. By possessing the capability to discover, from a remote location, runtime details regarding the data access servers and their associated data sources, users are better able to diagnose problems and tune performance of the data access servers and the physical devices (e.g., control processors and field devices) communicatively coupled to the observed data access servers. In an embodiment of the present invention, such runtime details include, but are not limited to: (1) the number of data items managed by the data access server and which items are combined in each message; (2) the message scheduling and arbitration strategy utilized by the data access server — e.g., which • messages will become due when; (3) individual item values, as presented, for example, in accordance with a device bus protocol; and (4) exceptional conditions reported by the bus protocol (e.g., a device is off scan) that prevent data from being read or written.
The ability to extract such runtime information from remote data access servers enables an administrator (human or computerized process) to monitor, from a single location, the health of data access servers within a potentially very large process control system. Such capability enables dramatic reduction in the time and cost of diagnosing data access server-related problems since the information that forms the basis for diagnostic procedures carried out by the administrator is made available to maintenance personnel on demand and at a single location. In systems embodying the present supervisory control remote diagnostics, maintenance personnel do not have to physically travel to a malfunctioning data access server or field equipment until the problem has been sensed through the remote diagnostics and linked to some physical component. It is noted that the tests performed by the diagnostic utility on remote data access servers can also be applied to the node containing the diagnostic utility.
The disclosed exemplary remote diagnostic utility includes a set of features/characteristics that, in combination, are particularly useful in a manufacturing/process control network environment containing multiple data access servers. As will be explained further herein below the diagnostic utility incorporates an extensible architecture allowing customized extensions to a base set of capabilities. The diagnostic utility includes a generic diagnostic tool that examines diagnostic information from a plurality of different implementations of data access servers. The data access servers provide both diagnostic data as well as a source data access server-specific diagnostic schema used by the diagnostic utility to analyze the received diagnostic data.
Furthermore, in an embodiment of the. invention the diagnostic tool utilizes DAS (data access server) agents located on remote data access servers to enumerate the data access servers running on each remote node in the network and to thereafter connect to the data access servers for purposes of extracting diagnostic data. After connecting, an engine within a data access server supplies data associated with diagnostic roots within each data access server. The engines' support a base set of diagnostic roots (data item types), and no further programming is required to expose such diagnostic details to the diagnostic utility. Thus, no data access server-specific code need be supported.
In an embodiment of the invention, the set of diagnostic root types is extensible. In the case of extensions to the base set of diagnostics, the engines are augmentable by developers of the data access servers. Such extensions are, by way of example, new types of diagnostic roots. Alternatively, the extensions are in the form of additional data items associated with diagnostic root types. Such additional data items are displayed through added columns in a graphical user interface supported by the diagnostic utility.
After receiving diagnostic data, the diagnostic utility presents a view of the discovered data access servers and their associated extracted configuration/runtime diagnostic data. The diagnostic data sources provide, along with their data, schema information enabling the diagnostic utility to properly organize and display the obtained information upon a graphical user interface.
A valuable feature of an embodiment of the present invention is its extensibility with regard to expanding the diagnostic information provided by data access servers through the base set of diagnostic roots supported initially for an installed data access server. First, the diagnostic roots are extended by adding to the scope of data items provided by a base diagnostic object
(root). This extension corresponds to adding a column/field of data to the information provided for a particular diagnostic object/root. Second, entirely new diagnostic object/root types can be added for a particular server. These extensions are supported by a server-specific part of the programming for data access servers. To facilitate easy extension of the base diagnostics, the diagnostic utility development environment provides data access server developers a set of class libraries comprising templates for creating server-specific portions. The server developers use a class library to create customized diagnostic objects. These objects incorporate a set of customizable methods that a developer adapts to enable a particular data access server to generate additional diagnostic information or even to create a new diagnostic object type. The class library object incorporates base methods dealing with the details of delivering the selected additional information to the diagnostic utility. The class library supports both pushing data to the diagnostic utility and serving requests from the diagnostic utility.
Turning initially to FIG. 1, an exemplary portion of a process control network is illustratively depicted. As previously mentioned, the present invention is useful in any network including a data access server. However, the value of performing remote diagnostics on data access servers increases with increases in the number of data access servers and the distance between monitoring stations and data access servers within a manufacturing/process control network. The process control network can be viewed as a set of devices connected to one or more network links associated with particular levels of the process control network. In the exemplary embodiment, the depicted portion of the process control network includes a fieldbus level 12, a local control level 14, and a supervisory control level 16. Though the exemplary embodiment. is depicted as having three levels, those skilled in the art will readily appreciate the applicability of the present invention to a number of process control network architectures having more, less, or the same number of network levels. The illustratively depicted network embodies a multi-level bus topology. However, the present invention can be incorporated into process control networks embodying alternative network topologies (e.g., star networks, hybrid bus/star networks, etc.) including both single-level and hierarchical configurations.
In the exemplary portion of a process control network depicted in FIG. 1, a set of intelligent field devices 20 reside at the fieldbus level 12. The field devices include intelligent process variable transmitters that sense pressure, temperature, fluid flow, etc., in a controlled industrial process. The field devices also include actuators such as those enabling opening and closing fluid flow valves for tanks, burners, etc.
Control processors 30 at the local control level 14 perform local control functions with regard to the set of intelligent field devices 20. The control processors 30 receive process state information provided by the intelligent field devices 20. State information includes, for example, pressure, temperature, mass flow, volumetric flow, etc. The control processors apply the received status information to a set desired points for the process and then transmit control signals to actuators in order to obtain or maintain the desired set points. The control processors are programmed/configured to store the status and control information associated with their control function.
The supervisory control level 16 includes higher level control applications programs that facilitate and/or implement enterprise/plant level decision making and supervisory (e.g., set point) control value designation functions. An alarm server 40 receives process status data from a number of lower level sources, including both the control processors 30 and the field devices 20. The alarm server 40 compares the received status data against a set of alarm/event conditions and issues appropriate notifications to either monitors or control processes (e.g., control processors 30) in response to a detected alarm/event condition. The control processors 30 issue appropriate signals to controlled field devices/actuators to address the event/alarm condition. A historian 42, also operating at the supervisory control level 16, archives data received from any of the aforementioned levels of the process control system. Such data is available for auditing and verification by a variety of application programs. A human-machine interface (HMI) 44 is yet another node connected to the supervisory control level 16. The human-machine interface 44 provides a set of graphic/text user interface functions enabling a human to view the operation/status of the controlled process associated with the process control system with which the depicted items of FIG. 1 are associated.
In an exemplary embodiment of the present invention, a set of data access server nodes 50a, 50b, and 50c are interposed between the supervisory control level 16's processing nodes and the lower levels of the process control system (e.g., the local control level 14 and fieldbus level 12). The data access server node 50b, executing one or more logical DA servers, receives and/or extracts data from the field devices 20 (via channel 52) and/or the control processors 30 (via channel 54) and provides corresponding (possibly reformatted) data to processing nodes at the supervisory control level 16 of the process control network — including one or more of the nodes executing one of the other data access servers. The data access server nodes 50a-c perform the task of providing data to a variety of client applications that obtain data in accordance with particular data exchange protocols and are otherwise unable to access process control data provided at the local control level 14 and fieldbus level 12. A method and system for supporting multiple client data exchange protocols is described in Todorov et al. U.S. patent application (number not yet assigned), filed on September 14, 2001, and entitled "An Industrial Process Control Data Access Server Supporting Multiple Client Data Exchange Protocols," which is incorporated herein by reference in its entirety including any references therein.
A diagnostic utility executed upon the data access server 50c (indicated in FIG. 1 by a two paned window 56 including a graphical root structure and displayed columns), upon any of the other data access servers, or upon any supervisory-level 16 node, provides a means for remotely monitoring process control system data access servers. In an embodiment of the invention, the data access server diagnostic utility is an application that executes upon the same node as a data access server. For example, as depicted in FIG. 1, the diagnostic utility executes upon a data access server node 50c. However, there is no requirement for the diagnostic utility to reside upon any particular type of node (since it executes independently of DAS data acquisition/transmission processes). DAS agents are tools for discovering data access servers on a network. In the illustrative embodiment of the present invention, the diagnostic utility (tool), through DAS agents instantiated on at least nodes 50a and 50b (to query the registry on each of those nodes) discovers the running data access servers running on DAS nodes 50a, 50b, and 50c and presents a list to a user. The user is then able to select one or more of the data access servers of interest to perform diagnostics. Once connections are established between the diagnostic utility running on DAS node 50c and the data access servers, other components within the data access servers take over and handle information requests from the diagnostic utility. Those components are discussed herein below with reference to FIG. 2. It is also noted that in an embodiment of the present invention, the diagnostic utility program is incorporated into a base library included within each of the data access server nodes 50a, 50b, and 50c, and thus there is no need on the part of an administrator to add any special programs or executable code to support the operation of the diagnostic utility within the network.
In the illustrative embodiment set forth in FIG. 1, a processing engine that carries out the core functionality of each DAS node 50a-c hosts the diagnostic utility and exposes a default set of diagnostic information via a set of well-defined interfaces described herein below with reference to FIG. 2. As mentioned herein above, data access server node functionality can be enhanced, through customization of a server-specific part of the DA servers, by extending the scope of diagnostic information provided by the data access servers to the diagnostic utility. Thus, by customizing the data access server, a developer can expose both custom diagnostic roots (see below) as well as provide additional items to a set of items supported by base diagnostic roots.
Furthermore, it is reiterated that the present invention is not limited to any particular process control system network topology or technology. For example, the disclosed exemplary process control network comprises a hierarchically arranged digital system. However, in an alternative network embodiment, the present invention is incorporated within a monitoring node connected to a single-level process control network wherein the field devices, control processor(s), and supervisory control applications constitute nodes on a single bus. In yet other cases, the DAS receives data concerning conventional, analog field devices that utilize the 4-20 milliamp standard for process communications.
Turning to FIG. 2, an interface arrangement for implementing remote diagnostic data extraction via a diagnostic utility installed on the data access server node 50c containing a diagnostic utility 100 is schematically depicted. In an exemplary embodiment of the present invention, the diagnostic utility 100 attaches to a running data access server node using well known COM/DCOM interfaces. Interfaces between the diagnostic utility 100 and a DAS engine 110 on the remote data access server node 50b are preferably generic so that it is not necessary to install software components on a node running the diagnostic utility 100 to accommodate new diagnostic data sources. An additional, unidirectional interface is provided between the diagnostic utility 100 and a data access server base 120 to establish a location where the server base 120 can deposit its data. A server engine to server base interface 125 supplies methods described herein below for passing requests and responsive data between the DAS engine 110 and the data access server base 120. Among other things, the server base 120 supports a server- specific part of diagnostic data (i.e., the extensible part of diagnostics supplied by a data access server). The following is a pseudocode representation of a portion of the interface 125 (referred to herein as IlotServer) provided by the DAS engine 110 in support of calls by the server base 120.
interface IlotServer : IUnknown {
// Server code passes a diagnostic tool requests to attach.
HRESULT AttachDiagnostic
( // Diagnostic tool passes its callback interface:
[in] IIoDiagnosticSink* pIIoDiagnosticSink, // Diagnostic tool wants to limit diagnostics to a hierarchy level:
[in, string] LPCWSTR szHierarchy,
// Diagnostic node — machine where the DASC is installed [in, string] LPCWSTR szDiagNode,
// Diagnostic tool specifies refresh mode (event=true, poll=false): [in] BOOL bEventRefresh,
// Cookie allowing the Client to stop the diagnostic callbacks [out] DWORD* dwCookie
); // Diagnostic Client disconnect from the client
HRESULT DetachDiagnostic
(
// Cookie allowing the Client to stop the diagnostic callbacks [in] DWORD dwCookie );
/*
Called by ServerBase during C++ constructors for any SvIoDiagLeaf- derived object. Creates a TkloDiagObject object to act as "base object" for the SvIoDiagObject customization object.
*/
HRESULT CreateDiagLeaf
(
/* IOSHANDLE to the C++ customization object in ServerBase. This handle has meaning only to the ServerBase transport object and will identify this instance of SvIoDiagObject.
*/
[in] CSHANDLE hCustomize, // Safe handle (DAS engine handle) of the parent branch object in the DAS engine
[in] CSHANDLE hParent,
/*
Pointer to the IOTHANDLE supplied by the SvIodiagObject customization object. This handle will identify its base object, the TkloDiagObject object being created by CreateDiagObject.
*/
[out] IOTHANDLE* hTkloDiagLeaf
/*
Called by ServerBase during C++ constructors for any SvIoDiagStatisticsLeaf- derived object. Creates a TkloDiagObject object to act as "base object" for the SvIoDiagObject customization object. */ HRESULT CreateDiagStatisticsLeaf
( /*
IOSHANDLE to the C++ customization object in ServerBase. This handle has meaning only to the ServerBase transport object and will identify this instance of SvIoDiagObject. */ [in] CSHANDLE hCustomize,
/
Pointer to the IOTHANDLE supplied by the SvIodiagObject customization object. This handle will identify its base object, the TkloDiagObject object being created by CreateDiagObject. */
[out] IOTHANDLE* hTkloDiagStatisticsLeaf
);
//Called by ServerBase during C++ destruction for any SvIoDiagObject-derived object. HRESULT DeleteDiagLeaf
(
/*
IOSHANDLE to the C++ customization object in ServerBase. This handle has meaning only to the ServerBase transport object and will identify this instance of SvIoDiagObject.
*/
[in] IOSHANDLE hCustomize
); /*
Called by ServerBase during C++ constructors for any SvIoDiagBranch- derived object. Creates a TkloDiagBranch object to act as "base object" for the SvIoDiagObject customization object.
*/ HRESULT CreateDiagBranch
(
/*
IOSHANDLE to the C++ customization object in ServerBase. This handle has meaning only to the ServerBase transport object and will identify this instance of SvIoDiagBranch.
*/
[in] CSHANDLE hCustomize,
/*
Safe handle (DAS engine handle) of the parent branch object in the DAS engine */
[in] CSHANDLE hParent,
/*
Pointer to the IOTHANDLE supplied by the SvIodiagObject customization object. This handle will identify its base object, the TkloDiagBranch object being created by CreateDiagBranch.
*/ [out] CSHANDLE* hTkloDiagBranch
); /*
Yλ Called by ServerBase during C++ destruction for any SvIoDiagObject- derived object.
*/
HRESULT DeleteDiagBranch (
/*
IOSHANDLE to the C++ customization object in ServerBase. This handle has meaning only to the ServerBase transport object and will identify this instance of SvIoDiagBranch. */
[in] IOSHANDLE hCustomize
/* Called by ServerBase during C++ constructors for any SvIoDiagRoot- derived object. Creates a TkloDiagRoot object to act as "base object" for the SvIoDiagRoot customization object.
*/
HRESULT CreateDiagRoot (
/*
IOSHANDLE to the C++ customization object in ServerBase. This handle has meaning only to the ServerBase IIosDiagRoot transport object and will identify this instance of SvIoDiagRoot. */
[in] IOSHANDLE hCustomize,
/*
Pointer to the IOTHANDLE supplied by the SvIodiagRoot customization object. This handle will identify its base object, the TkloDiagRoot obj ect being created by CreateDiagRoot.
*/
[out] IOTHANDLE* hTkloDiagRoot
); /*
Called by ServerBase during C++ destruction for any SvIoDiagRoot- derived object. */
HRESULT DeleteDiagRoot (
/*
IOSHANDLE to the C++ customization object in ServerBase. This handle has meaning only to the ServerBase IIosDiagRoot transport object and will identify this instance of SvIoDiagRoot. */
[in] IOSHANDLE hCustomize
);
// Called by the server to add a diagnostic object. HRESULT AddObjectToDiagnostics
(
// IOTHANDLE of the base object in the DAS engine [in] IOTHANDLE hCustomize,
/* Boolean flag advises the DAS engine to update immediately or to wait until the next PushDiagnosticObjects call. */ [in] BOOL bUpdateClient
);
// Called by the server to remove a diagnostic object HRESULT RemoveObjectFromDiagnostics
(
// IOTHANDLE of the base object in the DAS engine [in] IOTHANDLE hCustomize,
/*
Boolean flag advises the DAS engine to update immediately or to wait until the next PushDiagnosticObjects call. */ [in] BOOL bUpdateClient
);
//Called by the server to push an accumulated diagnostic object add/remove list HRESULT PushDiagnosticObjects 0; };
The generic interface operations supporting the diagnostic utility 100 to DAS engine 110 communications preferably supply requests and responsive diagnostic data at sufficient throughput rates to support live monitoring of data access servers that are remote from the diagnostic tool and are thus accessed over a network. The functional requirements for acquiring and processing diagnostic data access server data are met, for example, by methods/operations meeting the interface definitions described herein below. Those skilled in the art will readily appreciate the wide variety of ways in which the below-defined functional requirements are met by systems embodying the present invention. An IIosServerDiagRoot interface 130 is a global diagnostic interface providing a point of run-time attachment for the diagnostic tool 100 to a data access server base 120 from which diagnostic data is extracted (by the DAS engine 110). The IIosServerDiagRoot interface 130, the root interface of the server base 120, exposes the following two methods: AttachDiagnostic and ShutDown. In AttachDiagnostic the diagnostic utility 100 passes a pointer to the diagnostic utility 100's own diagnostic sink callback interface, the refresh mode, and the locale ID
(identifying a country for purposes of selecting a language for a user of the diagnostic utility) for the diagnostic output from the DAS engine 110 to the diagnostic utility 100. The Shutdown operation notifies the server base that the previously provided callback interface is no longer active. In an embodiment of the invention, options are specified to customize the shutdown operation. The following is a pseudocode representation of the IIosServerDiagRoot interface 130.
interface IIosServerDiagRoo : IDispatch {
/* The server base provides the root for the diagnostic interfaces: */ HRESULT AttachDiagnostic
(
/* Attaches the diagnostic client to the server by passing the callback interface. The client must be prepared to receive and handle callbacks on this interface. */
[in] IDispatch* pIIoDiagnosticSink,
/* Only pass the string of the hierarchy level (fully qualified name) if the diagnostic client is interested in a particular hierarchy object. Pass an empty string if the whole server is diagnosed. ' */
[in] BSTR Hierarchy, /*
The server can set the initial state of update handling: bEventRefresh = false diagnostic client polls diagnostic live data regularly bEventRefresh = true server informs diagnostic client about changes to trigger update.
To reduce bandwidth and CPU load on diagnosing many fast changing items values the default mode is: bEventRefresh = false to poll only on regular time intervals independent of data changes. */
[in] boolean bEventRefresh
/* Sets the locale ID for all future diagnostic output for this client in this session */
[in] LONG localelD
);
HRESULT ShutDown
(
/*
Options parameter is currently not used but a set of options can customize the shutdown of a diagnostic.
*/ [in] LONG Options;
);
};
An IIoDiagnosticSink interface 140 is provided by the diagnostic tool as a callback interface for the DAS engine 110. As DAS events occur (e.g., creation of diagnostic roots and diagnostic objects by the DAS), the diagnostic utility 100 is notified by the DAS engine 110 of the DAS events through the IIoDiagnosticSink interface 140. The IIoDiagnosticSink interface 140 exposes the following methods: SetHeader, AddDiagRoot, AddDiagObjects, RemoveDiagObjects, UpdateEvent, and OnShutDown. The following is a commented pseudocode representation of the IIoDiagnosticSink interface 140.
interface IIoDiagnosticSink: IDispatch
{
I*
The server sets the column headers in the list view of the diagnostic client. The diagnostic client should do the following in this method: 1. delete the list view contents
2. delete all column headers
3. create a new column header for each sub-string. */
HRESULT SetHeader (
/*
The string contains tab-separated substrings. Each substring represents the header of a list view column. */ [in] BSTR DiagHeader
);
/*
The server adds a diagnostic root element to the tree view of the diagnostic client. Each diagnostic root object is identified by a CSHANDLE. The diagnostic client should save these.
The diagnostic client should make no assumptions on the nature/syntax of a diagnostic root object. */ HRESULT AddDiagRoot
(
/* Diagnostic root interface of the server/core toolkit */
[in] IDispatch* pIIotDiagRoot,
/* Diagnostic root safe handle */ [in] LONG hRoot,
/* Icon index of the icon to display for this node in the tree view */
[in] LONG iconno,
/* Root object name to be displayed in the tree view */
[in] BSTR szRootString );
/*
The server adds diagnostic child elements to an existing diagnostic node.
The child elements can be branches/nodes and/or leaves. Leaves only appear in the list view. Branches always appear in the tree view. They also appear in the list view when the parent object is selected. */ HRESULT AddDiagObjects
( /* Safe handle of the parent branch */
[in] LONG hParentBranch, /* Flags: currently only the bit for full or incremental update is defined. */
[in] DWORD Options,
/*
Leaf header. The client needs to use the leaf header only if the corresponding list 5 view for this parent branch has not been created yet.
*/
[in] BSTR LeafHeader,
/* Branch handle safe array */
[in] SAFEARRAY(LONG) hBranchArray,
L0 /* Icon index array for all branch objects */
[in] SAFEARRAY(LONG) IconlndexArray,
/* Branch strings safe array */
[in] SAFEARRAY(BSTR) DiagBranchStringArray,
/* Leaf handle safe array */ 15 [in] SAFEARRAY(LONG) hLeafArray,
/* Leaf strings safe array */
[in] SAFEARRAY(BSTR) DiagLeafStringArray,
); 0 /* The server removes diagnostic child elements. */
HRESULT RemoveDiagObjects
(
/* Parent safe handle */
[in] LONG hParent, 5 /* Branch handle safe array */
[in] SAFEARRAY(LONG) hBranchArray,
/* Leaf handle safe array */
[in] SAFEARRAY(LONG) hLeafArray,
); 0
/* The server informs the client to update the specified branches. */ HRESULT UpdateEvent
(
/* Handle array of all branches that changed */ 5 [in] SAFEARRAY(LONG) hBranchArray,
/*
Options: currently only the flags VALUE JPDATE and OBJECT JPDATE are supported. */ 0 [in] SAFEARRAY(LONG) hBranchArray,
);
/*
The server informs the diagnostic client that it is going to shut down. 5 the client should release all references to all server interfaces immediately arid remove the server from the diagnostic view. */ HRESULT OnShutDown
( 0 /* Options parameter is currently not used. */
[in] LONG Options;
);
}; An IIotDiagRoot interface 150 exposes diagnostic contexts, or "diagnostic roots," established within the DAS engine 110. Diagnostic roots include, for example, the following: structure (hierarchical view), client groups (OPC groups), device groups, transactions, statistics, messages, and any of an extensible set of server-specific diagnostic roots implemented by a server developer. An exemplary default set of diagnostic root types is explained herein below with reference to FIG. 3. The IIotDiagRoot interface 150 exposes the following methods: AddDiagObjects, GetLeafDiagnostics, GetLeaflnfo, QueryLeafForceKeys, and ForceValues. The following is a commented pseudocode representation of the IIotDiagRoot interface 150.
interface IIotDiagRoot : IDispatch
{
/*
The diagnostic client instructs the server to add all diagnostic objects (child branches and child leaves) to the specified node. */
HRESULT AddDiagObjects
(
/*
Safe handle of the parent branch (use ROOT CSHANDLE = INVALID_CSHANDLE for root objects)
*/ [in] LONG hParenfBranch
); /*
The diagnostic client retrieves diagnostic information about all visible leaf objects in the list view. */
HRESULT GetLeafDiagnostics (
/* Handle array of all visible leaves */
[in] SAFEARRAY(LONG) hLeafArray,
/*
Diagnostic string array of all requested leaves. These strings are tab- separated substrings. Each substring represents the entry in the corresponding column.
All strings are returned in the same order as the leaf array. */
[out] SAFEARRAY(BSTR)* DiagLeafStringArray );
/*
The diagnostic client retrieves detailed diagnostic information about a leaf that the user selected. */
HRESULT GetLeaflnfo
( /* Handle of the requested leaf */
[in] LONG hLeaf,
/* Info string returned from the server */
[out] BSTR* Leaflnfo
/* Key array for diagnostic keys */
[out] SAFEARRAY(BSTR)* DiagLeafStringArray
/* The diagnostic client queries available force keys of a leaf that the user selected. */ HRESULT QueryLeafForceKeys
(
/* Handle of the requested leaf */
[in] LONG hLeaf,
/* Array of available keys for this leaf*/ [out] SAFEARRAY(LONG)* KeyArray,
/* Array of data types for the keys */
[out] SAFEARRAY(LONG)* DataType,
/*
Array of headers for the keys. The diagnostic client will display this string preceding the edit field of the corresponding force value.
*/
[out] SAFEARRAY(BSTR)* HeaderArray,
/*
Array of units for the keys. The diagnostic client will display this string following the edit field of the corresponding force value.
*/
[out] SAFEARRAY(BSTR)* UnitArray,
/* The diagnostic client forces values by key. */
HRESULT ForceValues
(
/* Handle of the leaf to be forced */ [in] LONG hLeaf, /*
Array of keys to be forced. This is a subset of the available keys returned in QueryLeafForceKeys. */
[in] SAFEARRAY(LONG) KeyArray, /* Array of values for the keys */
[in] SAFEARRAY(VARIANT) Values
); };
Having described a set of exemplary interfaces between the diagnostic utility 100
(executing, for example, upon the DAS 50c), the DAS engine 110, and the server base 120 of a communicatively linked data access server (e.g., DAS 50b), attention is now directed to FIG. 3 that identifies a set of exemplary diagnostic root types previously identified above with reference to the set of IIotDiagRoot interfaces 150. The set of diagnostic roots identified in FIG. 3 comprise a set of default diagnostic root types that are defined in a base data access server engine software package for a manufacturing/process control system.
A structure diagnostic root type 200 supports a hierarchical view of the physical devices, as configured for the data access server supplying an instance of this type of diagnostic root. The structure diagnostic root type 200 supports identification of ports, boards, and busses connected to routers, PLCs, and other physical devices. When received and processed by the diagnostic utility 100, each device identified in the structure root is graphically displayed in the hierarchical position it occupies in a current configuration of the diagnostic utility 100.
Each client creates "client groups" and then adds items (data references) to the client groups. A client groups diagnostic root type 210 supports providing a flat list of all client groups as currently created from an aggregate of all clients of the data access server. For each identified client group diagnostic root of the client groups diagnostic root type 210, all items currently associated with that group are listed, along with their individual VTQs (value, timestamp, quality). Every item added to a client group also specifies a device group as an attribute. Device groups are configured for the data access server and specify the device update interval for items in the device group. A device group diagnostic root type 220 supports providing a flat list of all device groups, as configured for the data access server. For each device group within the flat list of device groups, all items currently added to the device group are listed along with their individual VTQs.
Clients may request that a specific list of items be read or written directly to their devices. These requests are called transactions. Transactions are scheduled to merge into the background subscription bus traffic and therefore are not processed instantaneously. A transactions diagnostic root type 230 supports creating transaction roots for providing a flat list of all transactions in the order they are scheduled and indicating their completion status.
A statistics diagnostic root type 240 supports creating transaction roots that specify a collection of overall load control statistics, such as messages per second processed for a specific device. The data access server developer customizes the statistics diagnostic root type 240 by writing code for additional columns of data access server-specific information. Messages are collections of items managed by the DAS engine. In a manner similar to the transactions diagnostic root type 230, a messages diagnostic root type 250 supports creation of a message diagnostic root containing a flat list of messages and statistics associated with the set of messages. Such statistics include the number of messages pending and active and the number of items in each message.
The above identified six diagnostic root types are exposed and managed by the DAS engine 110 on behalf of a running data access server. The diagnostic utility 100 includes built-in core functionality for generically receiving and depicting the diagnostic data provided within diagnostic roots of the above-identified types as well as new diagnostic root types created by developers as an extension of the default set. The diagnostic information exposed by an individual data access server is extensible in either or both of two ways through the writing and' integration of additional software. First, the data access server code can be written to expose more diagnostic roots types 260 (in addition to the six above-described default types). Any information that is specific to a particular data access server, and not available to the DAS engine generically, is added in this manner.
In a preferred embodiment of the present invention, a graphical user interface associated with the diagnostic utility presents a two paned user-interface window. The left pane contains a tree structure with expandable-contractable nodes. Some of the default diagnostic roots present diagnostic information in the right pane in a columnar format. A second manner in which the functionality of the proposed remote data access server diagnostic utility is extended is to add to a set of default columns specified for particular diagnostic roots types. The default columns are supported by the DAS engine 110. A server developer writes diagnostic root code adding to default columns specified for a particular diagnostic root type.
Thus, the above-described set of root types is extensible to include server-specific customized diagnostic root types that augment the default set of diagnostic root types as well as add more information to the information provided within any of the default diagnostic root types. The following provides a class library description definition that facilitates customizing diagnostic root sets on a data access server.
With regard to extending diagnostic roots to include additional data holders (or columns in the displayed output for an accessed root), all server side diagnosable diagnostic objects derive from an SvIoDiagObject base class object. In an embodiment of the invention, when a server developer customizes a provided behavior of an existing object (like items, hierarchies, device groups/topics, and messages) the developer overwrites the virtual methods: CreateDiagString(..) and CreateDiagInfo(..) for the default diagnostic root object definition. CreateDiagString returns the tab-separated additional column information of the corresponding object and CreateDiaglnfo returns the diagnostic info string, which is called when the user double clicks the diagnostic line. If the server developer does not overwrite these methods or does not derive objects from the base classes, the default diagnostic information with the columns and information provided by the DAS engine 110 is used.
Class SvIoDiagObject
// All Server-side diagnosable objects derive ultimately from SvIoDiagObject. // Class SvIoDiagObject : public SvIoObject
{ friend class Svloltem; friend class SvIoHierarchy; friend class SvIoTopic; friend class SvIoMessage; friend class Closltem; public: //Constructor, Destructor SvIoDiagObjectO; virtual ~SvIoDiagObject();
//Accessors public: virtual LPWSTR CreateDiagString(LCID lcid); virtual LPWSTR CreateDiaglnfofLCID lcid); private: protected:
};
The header string information is supplied via virtual methods on the server level, providing the initial column sizes and options along with the header corresponding to a given locale ID:
virtual LPWSTR CreateHierarchyDiagHeader (
/* [in] */ LCID lcid,
/* [out] */ DWORD* pnColumns,
/* [out] */ LONG** ppColumnSize, /* [out] */ LONG** ppColumnOptions
); virtual LPWSTR CreateltemDiagHeader 5 (
/* [in] */ LCID lcid,
/* [out] */ DWORD* pnCoIumns,
/* [out] */ LONG** ppColumnSize,
/* [out] */ LONG** ppColumnOptions
10 ); virtual LPWSTR CreateMessageDiagHeader
(
/* [in] */ LCID lcid,
15 /* [out] */ DWORD* pnColumns,
/* [out] */ LONG** ppColumnSize,
/* [out] */ LONG** ppColumnOptions
);
20 virtual LPWSTR CreateTopicDiagHeader
(
/* [in] */ LCID . lcid,
/* [out] */ DWORD* pnColumns,
/* [out] */ LONG** ppColumnSize,
25 /* [out] */ LONG** ppColumnOptions
);
With regard to extending the set of diagnostic roots by adding completely new diagnostic roots, the server developer creates new diagnostic roots and populates them with diagnostic
30 objects. This augmentation is accomplished by overwriting a virtual method called
CreateDiagnosticRoots on the server object (e.g., virtual bool CreateDiagnosticRoots(void)). The server developer overwrites this function by implementing the instantiation of SvIoDiagRoot-derived objects. Roots and branches have the virtual method of adding diagnostic objects:
35 class SvIoDiagBranch : public SvIoDiagCsObject
{ public:
40 virtual bool AddDiagObjects(LCID lcid);
}
In the method below, the server developer adds branches and leaves. These branches and 45 leaves provide the same mechanism for diagnostics as the default objects with customized columns, except that the full diagnostic string is supplied by the server and not only the additional diagnostic columns:
class SvIoDiagBranch : public SvIoDiagCsObject
{ public: virtual LPWSTR CreateDiagStringEx(LCID lcid); virtual LPWSTR CreateDiagInfoEx(LCID lcid);
In an embodiment of the invention, the diagnostic utility supports creating a graphical image in the form of a window comprising two side-by-side panes. A tree structure diagram, having structures similar to the depicted structure of FIG. 4 is depicted in the left pane of the graphical user interface associated with the diagnostic utility 100. The exemplary root structure graphically depicts hierarchical internal relationships of an exemplary set of diagnostic roots defined for multiple (4) data access servers executing upon two distinct computer nodes in a manufacturing/process control network. A right pane (not depicted) depicts diagnostic information associated with a particular node selected in the left pane. The diagnostic utility, when active, queries all running data access servers on a network and obtains the diagnostic roots associated with each of such data access servers. In an embodiment, when the user launches the diagnostic utility (a selectable executable on a network computer node), the diagnostic utility examines the network nodes and discovers the data access servers executing upon the network nodes. Upon establishing a connection to logical data access server instances running on the network nodes and obtaining the diagnostic root structures and related diagnostic data, the diagnostic utility presents, in its left pane, the diagnostic data sources and their containers in the form of a hierarchical structure view (depicted, by way of example, in FIG. 4). When a user selects one of the depicted nodes of the depicted root structure, the diagnostic utility presents data related to the node, and currently possessed by the diagnostic utility, within the right side pane of the graphical user interface. Network 300 corresponds to the manufacturing/process control application. Each computer node with one or more running data access servers is presented as the top level of the hierarchical tree. The computer nodes, designated Computer 1 and Computer2, correspond to the physical nodes upon which identified logical data access server instances reside. Beneath each computer node, the logical data access servers comprise a next lower level on the depicted diagnostic hierarchy. The logical data access server instances are identified in FIG. 4 as Server 1, Server2, Server3, and Server4. The association between Serverl and Server2 with Computerl and Server3 and Server 4 with Computer2 is graphically depicted. Available diagnostic roots are depicted with connections to their associated logical servers and comprise a third level of the depicted diagnostic hierarchy. A root is depicted, by way of example, for each diagnostic root associated with a particular logical data access server. Different diagnostic roots potentially have any of a variety of differentinternal structures. Although the diagram in FIG. 4 indicates that the hierarchy stops at the diagnostic roots, it may continue for additional levels below the roots based upon the diagnostic root design. The structure depicted in FIG. 4, and its associated functionality (selectability of elements to expose lower levels and their associated information), provides ready access to a broad spectrum of diagnostic data via a graphical user interface.
Turning now to FIG. 5, a sequence diagram summarizes an exemplary set of steps for establishing an initial connection between the diagnostic utility 100 and a data access server. During step 400, the diagnostic utility requests one or more remote DAS nodes on the network to create an instance of a DAS agent. Next, during step 402, the diagnostic utility requests the DAS agents to query their respective nodes and return responses identifying instantiated data access servers on their respective nodes. The DAS agents thereafter return information identifying each of the DAS servers. In an embodiment of the invention, a tree graphical user interface depicts a set of nodes and their associated data access server instances.
Thereafter, a user selects from the set of returned data access server identifications a particular data access server during step 404. Next, at step 406 the diagnostic utility transmits a request to the DAS agent corresponding to a selected DA server. The request seeks establishment of a connection between the diagnostic utility and the indicated data access server. At step 408, the DAS agent calls a corresponding data access server engine running on the DAS agent's node to obtain an interface destination of the DAS engine corresponding to the selected DA server instance. After receiving the destination information, during step 410 the diagnostic utility issues an AttachDiagnostic() which attaches the diagnostic utility's diagnostic sink interface to the DAS engine that creates a data access server-specific connection between the diagnostic utility and the DAS engine on behalf of the selected data^ access server instance. Thereafter, the DAS engine notifies the diagnostic utility of the types of information available for the selected data access server.
Turning to FIG. 6, a set of primary steps are summarized for a diagnostic client obtaining diagnostic parameter values provided by a set of diagnostic roots defined for a selected data access server. As those skilled in the art will readily appreciate, the identified steps are intended to describe the general flow of requests for information rather than set forth every single step performed to complete an operation. During step 500 a user selects the diagnostic utility program. Next, at step 502 the diagnostic utility initially creates an instance of a diagnostic sink object for receiving diagnostic information from data access servers. In summary of the attachment creation process described in FIG. 5, the diagnostic utility calls an identified data access server engine to attach the server engine to the diagnostic sink of the diagnostic utility during step 504. In response the server engine (ClotServer) issues a call during step 506 to create a diagnostic root interface object (CIotDiagRoot) to serve requests from the diagnostic utility. A CIotDiagRoot object is instantiated for each diagnostic utility client to manage the diagnostic objects and diagnostic states. In turn, the diagnostic root interface object, during step 508, calls the customized data access server component (ClosServer) for the data access server to create diagnostic roots. ClosServer during step 510 calls the server engine (ClotServer) with a call for the server engine to create diagnostic roots corresponding to the server-specific root information provided by the server-specific part of the data access server. During step 512 the server engine compiles the complete set of diagnostic roots associated with the selected data access server and returns this set in a callback to the diagnostic utility's diagnostic sink for the selected data access server. At this point, the user is. able to select the roots of interest from a tree structure similar to the one depicted in FIG. 4 and to have corresponding diagnostics displayed on a second (right- hand) pane of the diagnostic utility's graphical user interface.
In the case where a user selects a default diagnostic root at step 520, the diagnostic utility issues an "AddDiagObjects" call to the diagnostic root object created by the DAS engine call during step 506. In response, during step 522 the called diagnostic root object returns a set of objects associated with that particular root. Furthermore, as depicted at step 524, once a diagnostic root object is created, it can issue an AddDiagnosticObjects call on creation of new diagnostic objects.
Often, a diagnostic root itself contains additional levels of diagnostic root objects. The diagnostic utility, during step 526, issues a GetLeafDiagnostics call to the diagnostic root object to obtain all leaves associated with the diagnostic root object. Step 526 occurs each time that a user selects a root that itself contains lower-level root diagnostic objects. During step 528 the diagnostic root object obtains root information from corresponding protocol objects containing diagnostic data and potentially calls the customized server component to obtain root data corresponding to a customized root object. During step 530, the graphical user interface of the diagnostic utility is updated in accordance with the root data returned by the server engine via the diagnostic sink interface.
On the other hand, a user can select a customized diagnostic root. In that case, during step 540, the diagnostic utility issues an "AddDiagObjects" call to the diagnostic root object created by the DAS engine call during step 506. In response, during step 541 the called diagnostic root object passes the AddDiagObjects call to the customized server component. In response, during step 542 it assembles a set of all diagnostic objects associated with the specified diagnostic root. During step 543 the customized server component issues an AddToDiagnostics call to the server engine that returns a set of objects associated with that particular root. Furthermore, as depicted in step 544, the server engine can issue an AddDiagObjects call on creation of new diagnostic objects corresponding to the root.
Often, a diagnostic root itself contains additional levels of diagnostic root objects. The diagnostic utility, during step 546, issues a GetLeafDiagnostics call to the diagnostic root object to obtain all leaves associated with the diagnostic root object. Step 546 occurs each time that a user selects a root that itself contains lower-level root diagnostic objects. During step 548 the customized server component obtains root information from corresponding protocol objects containing diagnostic data. During step 550, the graphical user interface of the diagnostic utility is updated in accordance with the root data returned by the server engine via the diagnostic sink interface. The remaining figures are intended to depict exemplary operations performed once a diagnostic utility establishes a connection with a data access server engine for a particular data access server instance. FIG. 7 depicts a sequence of steps that utilize previously described interface methods to refresh a list view of a selected diagnostic leaf. FIG. 8 summarizes an exemplary set of steps for removing a diagnostic object previously selected by a user. FIG. 9 summarizes a set of steps for shutting down remote diagnostics for a particular data access server instance.
Illustrative embodiments of the present invention and certain variations thereof have been provided in the Figures and accompanying written description. The present invention is not intended to be limited to these embodiments. Rather, the present invention is intended to cover the disclosed embodiments as well as others falling within the scope and spirit of the invention to the fullest extent permitted in view of this disclosure and the inventions defined by the claims appended herein below.

Claims

WHAT IS CLAIMED IS:
1. A manufacturing process utility facilitating performance of diagnostics on a remote data access server, the manufacturing process utility comprising: a server agent, on a remote processing node, for facilitating discovery of a remote data access server to facilitate establishing a communication interface with the remote data access server to receive diagnostic data from the remote data access server; a diagnostic rules storage for storing diagnostic information regarding the data access server, the diagnostic information including both status information and diagnostic data hierarchy information to guide presentation of the status information for the data access server; and a diagnostic tool for displaying the status information in view of the diagnostic data hierarchy.
2. The manufacturing process utility of claim 1 wherein the diagnostic tool displays server-specific diagnostic data presented according to server-specific diagnostic display instructions provided by a server-specific part for the data access server.
3. The manufacturing process utility of claim 1 wherein the diagnostic tool supports extension of a set of diagnostic information to include server-specific information.
4. The manufacturing process utility of claim 1 wherein the manufacturing process utility supports designation of built-in error handling parameters at each level in a control hierarchy.
5. The manufacturing process utility of claim 1 wherein the process utility generically processes all input diagnostic data from a variety of differing data access servers.
PCT/US2001/028951 2000-09-15 2001-09-14 A method and system for performing remote diagnostics on a process data access server WO2002023405A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP01973072.0A EP1330737B1 (en) 2000-09-15 2001-09-14 A method and system for performing remote diagnostics on a process data access server
AU2001292690A AU2001292690A1 (en) 2000-09-15 2001-09-14 A method and system for performing remote diagnostics on a process data access server

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US23273100P 2000-09-15 2000-09-15
US60/232,731 2000-09-15

Publications (1)

Publication Number Publication Date
WO2002023405A1 true WO2002023405A1 (en) 2002-03-21

Family

ID=22874318

Family Applications (3)

Application Number Title Priority Date Filing Date
PCT/US2001/028955 WO2002023875A1 (en) 2000-09-15 2001-09-14 A method and system for remote configuration of process data access servers
PCT/US2001/028949 WO2002023364A1 (en) 2000-09-15 2001-09-14 An industrial process control data access server supporting multiple client data exchange protocols
PCT/US2001/028951 WO2002023405A1 (en) 2000-09-15 2001-09-14 A method and system for performing remote diagnostics on a process data access server

Family Applications Before (2)

Application Number Title Priority Date Filing Date
PCT/US2001/028955 WO2002023875A1 (en) 2000-09-15 2001-09-14 A method and system for remote configuration of process data access servers
PCT/US2001/028949 WO2002023364A1 (en) 2000-09-15 2001-09-14 An industrial process control data access server supporting multiple client data exchange protocols

Country Status (5)

Country Link
US (4) US7779089B2 (en)
EP (3) EP1330724B1 (en)
CN (2) CN1261892C (en)
AU (5) AU2001292689B2 (en)
WO (3) WO2002023875A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2388221A (en) * 2002-04-15 2003-11-05 Fisher Rosemount Systems Inc Web services-based communications for use with process control systems
CN103634369A (en) * 2012-08-23 2014-03-12 Ls产电株式会社 Cloud computing-based data sharing system and method
EP2713301A1 (en) * 2012-09-27 2014-04-02 Siemens Aktiengesellschaft Method and system for connecting a controller for a machine to a higher level IT system
US9201420B2 (en) 2005-04-08 2015-12-01 Rosemount, Inc. Method and apparatus for performing a function in a process plant using monitoring data with criticality evaluation data
US9927788B2 (en) 2011-05-19 2018-03-27 Fisher-Rosemount Systems, Inc. Software lockout coordination between a process control system and an asset management system

Families Citing this family (160)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040194101A1 (en) * 1997-08-21 2004-09-30 Glanzer David A. Flexible function blocks
US6826590B1 (en) * 1996-08-23 2004-11-30 Fieldbus Foundation Block-oriented control system on high speed ethernet
US7146230B2 (en) * 1996-08-23 2006-12-05 Fieldbus Foundation Integrated fieldbus data server architecture
US6999824B2 (en) * 1997-08-21 2006-02-14 Fieldbus Foundation System and method for implementing safety instrumented systems in a fieldbus architecture
US6928336B2 (en) * 2001-02-12 2005-08-09 The Stanley Works System and architecture for providing a modular intelligent assist system
JP2002288229A (en) * 2001-03-23 2002-10-04 Hitachi Ltd Display method of multi-level constitution figure information and its system
US6832366B2 (en) * 2001-05-17 2004-12-14 Simdesk Technologies, Inc. Application generator
CA2349083A1 (en) * 2001-05-30 2002-11-30 Ibm Canada Limited-Ibm Canada Limitee Server configuration tool
US7016751B2 (en) * 2001-07-13 2006-03-21 Helix Technology Corporation Vacuum system central control information server
US7251248B2 (en) 2001-07-31 2007-07-31 Bridgeworks Ltd. Connection device
GB0118646D0 (en) * 2001-07-31 2001-09-19 Digital Interfaces Ltd A connection device
SE519905C2 (en) * 2001-10-05 2003-04-22 Abb Ab Data access method for a control system
US7225193B2 (en) * 2001-12-21 2007-05-29 Honeywell International Inc. Method and apparatus for retrieving event data related to an activity
US7073178B2 (en) * 2002-01-18 2006-07-04 Mobitv, Inc. Method and system of performing transactions using shared resources and different applications
US7032014B2 (en) * 2002-01-18 2006-04-18 Sun Microsystems, Inc. Service management system for configuration information
US7246360B2 (en) * 2002-02-07 2007-07-17 Mobitv, Inc. Plug-in API for protocol and payload transformation
DE60205450D1 (en) * 2002-03-08 2005-09-15 Sun Microsystems Inc Method and device for providing configuration data
KR20040105767A (en) * 2002-03-12 2004-12-16 아이엘에스 테크놀로지, 인크. Diagnostic system and method for integrated remote tool access, data collection, and control
US7363543B2 (en) * 2002-04-30 2008-04-22 International Business Machines Corporation Method and apparatus for generating diagnostic recommendations for enhancing process performance
US20030204588A1 (en) * 2002-04-30 2003-10-30 International Business Machines Corporation System for monitoring process performance and generating diagnostic recommendations
US7599999B1 (en) * 2002-05-21 2009-10-06 Rockwell Automation Technologies, Inc. System and methodology that facilitates client and server data exchange in a distributed industrial automation environment
FI113121B (en) * 2002-05-30 2004-02-27 Metso Automation Oy Systems, data communication networks and a method for transmitting information
US6950931B2 (en) * 2002-05-30 2005-09-27 International Business Machines Corporation Server configuration using profile templates
US20040006652A1 (en) * 2002-06-28 2004-01-08 Prall John M. System event filtering and notification for OPC clients
US20040003007A1 (en) * 2002-06-28 2004-01-01 Prall John M. Windows management instrument synchronized repository provider
US20040045009A1 (en) * 2002-08-29 2004-03-04 Bae Systems Information Electronic Systems Integration, Inc. Observation tool for signal processing components
DE10243783A1 (en) * 2002-09-20 2004-03-25 Sick Ag Electronic device for a bus system
US7467018B1 (en) * 2002-11-18 2008-12-16 Rockwell Automation Technologies, Inc. Embedded database systems and methods in an industrial controller environment
DE10313389A1 (en) * 2003-03-25 2004-10-07 Endress + Hauser Process Solutions Ag Method for transferring software code from a control unit to a field device in process automation technology
US20040148370A1 (en) * 2003-01-23 2004-07-29 Electronic Data Systems Corporation System and method for composing, configuring, deploying, and managing services using a graphical user interface
US7386609B2 (en) 2003-02-20 2008-06-10 International Business Machines Corporation Method, system, and program for managing devices in a network
EP1460540A1 (en) * 2003-03-20 2004-09-22 Dassault Systèmes S.A. Server process with interface adapters for accessing data from various types of client processes
EP1614255B1 (en) * 2003-04-04 2014-09-03 CA, Inc. Method and system for discovery of remote agents
US7516161B1 (en) * 2003-08-27 2009-04-07 Sparta Systems, Inc. Administrative triggers
US20050080897A1 (en) * 2003-09-29 2005-04-14 Capital One Financial Corporation Remote management utility
US7529814B2 (en) 2003-10-15 2009-05-05 International Business Machines Corporation Autonomic computing algorithm for identification of an optimum configuration for a web infrastructure
US7376083B2 (en) * 2003-12-09 2008-05-20 International Business Machines Corporation Apparatus and method for modeling queueing systems with highly variable traffic arrival rates
US7587421B2 (en) * 2004-01-30 2009-09-08 International Business Machines Corporation Method, system, and article of manufacture for generating device specific requests
US7058089B2 (en) * 2004-02-18 2006-06-06 Rosemount, Inc. System and method for maintaining a common sense of time on a network segment
US7234084B2 (en) 2004-02-18 2007-06-19 Emerson Process Management System and method for associating a DLPDU received by an interface chip with a data measurement made by an external circuit
US7661066B2 (en) * 2004-03-26 2010-02-09 Sap Ag Visual administrator providing java management bean support
US7703019B2 (en) * 2004-03-26 2010-04-20 Sap Ag Visual administrator for specifying service references to support a service
SE532068C2 (en) * 2004-11-14 2009-10-13 Abb Research Ltd Method for presentation of data to an industrial control system
US20060133412A1 (en) * 2004-12-22 2006-06-22 Rockwell Automation Technologies, Inc. Integration of control and business applications using integration servers
US7536449B2 (en) * 2005-02-11 2009-05-19 Microsoft Corporation Server-functionality role extensibility model
US7706895B2 (en) * 2005-02-25 2010-04-27 Rockwell Automation Technologies, Inc. Reliable messaging instruction
US7565351B1 (en) 2005-03-14 2009-07-21 Rockwell Automation Technologies, Inc. Automation device data interface
US7233830B1 (en) 2005-05-31 2007-06-19 Rockwell Automation Technologies, Inc. Application and service management for industrial control devices
US7822857B2 (en) * 2005-09-07 2010-10-26 Hewlett-Packard Development Company, L.P. Methods and systems for sharing remote access
US7698691B2 (en) * 2005-09-20 2010-04-13 Microsoft Corporation Server application state
US7930363B2 (en) * 2005-10-12 2011-04-19 Powerreviews, Inc. Application service provider delivery system
WO2007064878A2 (en) * 2005-12-01 2007-06-07 Firestar Software, Inc. System and method for exchanging information among exchange applications
US7489977B2 (en) * 2005-12-20 2009-02-10 Fieldbus Foundation System and method for implementing time synchronization monitoring and detection in a safety instrumented system
US8676357B2 (en) 2005-12-20 2014-03-18 Fieldbus Foundation System and method for implementing an extended safety instrumented system
US20070198554A1 (en) * 2006-02-10 2007-08-23 Sun Microsystems, Inc. Apparatus for business service oriented management infrastructure
US8769152B2 (en) * 2006-02-14 2014-07-01 Jds Uniphase Corporation Align/notify compression scheme in a network diagnostic component
US8125906B2 (en) * 2006-03-03 2012-02-28 Kiranmai Vedanabhatla Capture RCDT and SNTT SAS speed negotiation decodes in a network diagnostic component
CN101411124A (en) * 2006-02-14 2009-04-15 菲尼萨公司 Diagnostic functions in an in-line device
US8576731B2 (en) * 2006-02-14 2013-11-05 Jds Uniphase Corporation Random data compression scheme in a network diagnostic component
US8607145B2 (en) * 2006-02-14 2013-12-10 Jds Uniphase Corporation Show OOB and speed negotiation data graphically in a network diagnostic component
SE531389C2 (en) * 2006-03-01 2009-03-17 Abb Ab Method for handling different versions of an application and an automation system
US7756973B2 (en) * 2006-04-27 2010-07-13 International Business Machines Corporation Identifying a configuration for an application in a production environment
US20070288254A1 (en) * 2006-05-08 2007-12-13 Firestar Software, Inc. System and method for exchanging transaction information using images
US7698242B2 (en) * 2006-08-16 2010-04-13 Fisher-Rosemount Systems, Inc. Systems and methods to maintain process control systems using information retrieved from a database storing general-type information and specific-type information
US10031830B2 (en) * 2006-10-13 2018-07-24 International Business Machines Corporation Apparatus, system, and method for database management extensions
US9053492B1 (en) * 2006-10-19 2015-06-09 Google Inc. Calculating flight plans for reservation-based ad serving
CN100456237C (en) * 2007-01-31 2009-01-28 华为技术有限公司 Method and device for accessing database
US8332819B2 (en) * 2007-05-03 2012-12-11 Siemens Industry, Inc. Diagnostic and trouble-shooting methods in a wireless control and sensor network
US7856517B2 (en) 2007-05-25 2010-12-21 Red Hat, Inc. Data management interface with configurable plugins that determines whether to monitor for configuration data
US7716399B2 (en) * 2007-05-25 2010-05-11 Red Hat, Inc. Method and system for data management interface with intelligent plugins that determine whether to perform the requested data operation received from an application
US8145655B2 (en) * 2007-06-22 2012-03-27 International Business Machines Corporation Generating information on database queries in source code into object code compiled from the source code
DE102007032715B4 (en) * 2007-07-13 2009-04-09 Abb Ag System and method for monitoring data traffic on a fieldbus
US8769291B2 (en) * 2007-07-23 2014-07-01 Red Hat, Inc. Certificate generation for a network appliance
US8621027B2 (en) 2007-11-16 2013-12-31 Red Hat, Inc. Automatically providing identity information for a network appliance
US8191123B2 (en) * 2007-11-27 2012-05-29 Red Hat, Inc. Provisioning a network appliance
US8191122B2 (en) * 2007-11-27 2012-05-29 Red Hat, Inc. Provisioning a network appliance
DE102007062985B4 (en) * 2007-12-21 2014-01-02 Abb Research Ltd. Method and device for communication according to the standard protocol OPC UA in a client-server system
DE102008016048A1 (en) * 2008-03-28 2009-10-08 Abb Ag Process control system of an automation system
US20090302588A1 (en) * 2008-06-05 2009-12-10 Autoliv Asp, Inc. Systems and methods for airbag tether release
CN101364175B (en) * 2008-07-02 2013-11-20 深圳国人通信有限公司 Configuration method and device for embedded system
US9026918B2 (en) * 2008-10-16 2015-05-05 Accenture Global Services Limited Enabling a user device to access enterprise data
CN101738958B (en) * 2008-11-14 2012-05-02 四零四科技股份有限公司 Active monitoring system and method thereof
US20100153866A1 (en) 2008-12-11 2010-06-17 Accenture Global Services Gmbh Method and system for modifying the execution of a native application running on a portable electronic device
US20100312879A1 (en) * 2009-06-09 2010-12-09 International Business Machines Corporation Plug-in provisioning integration in a clustered environment
US8155761B2 (en) * 2009-07-23 2012-04-10 Fisher-Rosemount Systems, Inc. Process control system with integrated external data sources
US8788513B2 (en) * 2009-10-30 2014-07-22 Dassault Systemes Americas Corp. Computer method and system providing access to data of a target system
US8775581B2 (en) * 2010-01-19 2014-07-08 Ianywhere Solutions, Inc. Controlling lifetime of server add-ins
US20110219387A1 (en) * 2010-03-04 2011-09-08 Microsoft Corporation Interactive Remote Troubleshooting of a Running Process
US9122764B2 (en) * 2010-03-24 2015-09-01 Fisher-Rosemount Systems, Inc. Methods and apparatus to access process data stored on a server
US8484401B2 (en) 2010-04-15 2013-07-09 Rockwell Automation Technologies, Inc. Systems and methods for conducting communications among components of multidomain industrial automation system
US8984533B2 (en) 2010-04-15 2015-03-17 Rockwell Automation Technologies, Inc. Systems and methods for conducting communications among components of multidomain industrial automation system
US9392072B2 (en) 2010-04-15 2016-07-12 Rockwell Automation Technologies, Inc. Systems and methods for conducting communications among components of multidomain industrial automation system
DE102010040055B4 (en) * 2010-08-31 2023-08-17 Endress + Hauser Process Solutions Ag System for communication of several clients with several field devices in automation technology
CN101964798A (en) * 2010-10-15 2011-02-02 德讯科技股份有限公司 Multi-graphic protocol unified proxy system based on remote desktop protocol
DE102010048809A1 (en) 2010-10-20 2012-04-26 Hüttinger Elektronik Gmbh + Co. Kg Power supply system for a plasma application and / or an induction heating application
DE102010048810A1 (en) 2010-10-20 2012-04-26 Hüttinger Elektronik Gmbh + Co. Kg System for operating multiple plasma and / or induction heating processes
US8898761B2 (en) * 2011-01-13 2014-11-25 International Business Machines Corporation Systems and methods for generating and validating configuration files for computing devices
US8667078B2 (en) * 2011-05-31 2014-03-04 General Electric Company Systems and methods of extracting, storing, and serving device definition file information
US8730054B2 (en) 2011-05-31 2014-05-20 General Electric Company Systems and methods to customize alert presentation
US8885665B2 (en) * 2011-05-31 2014-11-11 General Electric Company Systems and methods for foundation fieldbus alerts
US8856302B2 (en) * 2011-05-31 2014-10-07 General Electric Company Systems and methods for foundation fieldbus alerts
US10165007B2 (en) * 2011-09-15 2018-12-25 Microsoft Technology Licensing, Llc Securing data usage in computing devices
US9576046B2 (en) 2011-11-16 2017-02-21 Ptc Inc. Methods for integrating semantic search, query, and analysis across heterogeneous data types and devices thereof
US9098312B2 (en) 2011-11-16 2015-08-04 Ptc Inc. Methods for dynamically generating an application interface for a modeled entity and devices thereof
US8909641B2 (en) 2011-11-16 2014-12-09 Ptc Inc. Method for analyzing time series activity streams and devices thereof
US20130184883A1 (en) * 2012-01-18 2013-07-18 General Electric Company System and method to control subsystems
EP2823617B1 (en) * 2012-05-31 2018-07-11 Siemens Aktiengesellschaft Communication between two clients via a server
CN103577456B (en) 2012-07-31 2016-12-21 国际商业机器公司 For the method and apparatus processing time series data
US9015212B2 (en) * 2012-10-16 2015-04-21 Rackspace Us, Inc. System and method for exposing cloud stored data to a content delivery network
US9049076B1 (en) * 2013-01-07 2015-06-02 Google Inc. Content selection with privacy features
US10425355B1 (en) * 2013-02-04 2019-09-24 HCA Holdings, Inc. Data stream processing for dynamic resource scheduling
EP2973047A4 (en) 2013-03-15 2016-11-02 Ptc Inc Methods for managing applications using semantic modeling and tagging and devices thereof
CN103235835B (en) * 2013-05-22 2017-03-29 曙光信息产业(北京)有限公司 For the inquiry implementation method and device of data-base cluster
DE102013108478A1 (en) * 2013-08-06 2015-02-12 Endress+Hauser Process Solutions Ag Method for expanding an embedded software component of a field device
US20150058392A1 (en) * 2013-08-20 2015-02-26 Cellco Partnership D/B/A Verizon Wireless Provisioning chain queuing and processing
CN104426880A (en) * 2013-09-03 2015-03-18 中国银联股份有限公司 Network-based centralized automatic file collection and distribution device
CN104468148B (en) * 2013-09-12 2019-03-22 中兴通讯股份有限公司 A kind of nginx server configuring maintenance method and system
CN104750049B (en) * 2013-12-31 2018-05-08 北京北方华创微电子装备有限公司 The method and system of gas circuit configuration processing in semiconductor manufacturing
US9413682B2 (en) 2014-02-07 2016-08-09 International Business Machines Corporation Provisioning legacy systems network architecture resource communications through a group of servers in a data center
US9916188B2 (en) * 2014-03-14 2018-03-13 Cask Data, Inc. Provisioner for cluster management system
US9350812B2 (en) 2014-03-21 2016-05-24 Ptc Inc. System and method of message routing using name-based identifier in a distributed computing environment
US10025942B2 (en) 2014-03-21 2018-07-17 Ptc Inc. System and method of establishing permission for multi-tenancy storage using organization matrices
US9462085B2 (en) 2014-03-21 2016-10-04 Ptc Inc. Chunk-based communication of binary dynamic rest messages
US9961058B2 (en) 2014-03-21 2018-05-01 Ptc Inc. System and method of message routing via connection servers in a distributed computing environment
US9467533B2 (en) 2014-03-21 2016-10-11 Ptc Inc. System and method for developing real-time web-service objects
US9660877B1 (en) 2014-03-21 2017-05-23 Cisco Technology, Inc. Transaction management in multi-protocol SDN controller
US9762637B2 (en) 2014-03-21 2017-09-12 Ptc Inc. System and method of using binary dynamic rest messages
US9467536B1 (en) * 2014-03-21 2016-10-11 Cisco Technology, Inc. Shim layer abstraction in multi-protocol SDN controller
US9560170B2 (en) 2014-03-21 2017-01-31 Ptc Inc. System and method of abstracting communication protocol using self-describing messages
US10313410B2 (en) 2014-03-21 2019-06-04 Ptc Inc. Systems and methods using binary dynamic rest messages
US9350791B2 (en) 2014-03-21 2016-05-24 Ptc Inc. System and method of injecting states into message routing in a distributed computing environment
WO2015143416A1 (en) 2014-03-21 2015-09-24 Ptc Inc. Systems and methods for developing and using real-time data applications
CN104363201B (en) * 2014-10-11 2017-10-20 中国农业银行股份有限公司 A kind of server operation variation and system
EP3015984A1 (en) * 2014-10-29 2016-05-04 Hewlett-Packard Development Company, L.P. Providing data from data sources
JP6337741B2 (en) * 2014-10-31 2018-06-06 富士通株式会社 Control program, control device, control method, and database system
US20160170405A1 (en) * 2014-12-10 2016-06-16 General Electric Company Systems and methods for memory map utilization
WO2016155857A1 (en) * 2015-03-27 2016-10-06 Bühler AG Adaptive cross plant control and steering system, and corresponding method thereof
CN104881254B (en) * 2015-05-27 2018-09-07 北京百度网讯科技有限公司 Date storage method and device
US10482231B1 (en) * 2015-09-22 2019-11-19 Amazon Technologies, Inc. Context-based access controls
US10048713B2 (en) * 2015-11-19 2018-08-14 Rockwell Automation Technologies Inc. Energy operations across domains
US10495336B2 (en) * 2015-11-19 2019-12-03 Rockwell Automation Technologies, Inc. Energy operations across domains
US10225149B2 (en) 2015-12-15 2019-03-05 Nicira, Inc. Method and tool for diagnosing logical networks
US20170187835A1 (en) * 2015-12-26 2017-06-29 Lee Booi Lim Technologies for unified and modular gateway abstraction
CN106982236B (en) * 2016-01-18 2020-07-28 阿里巴巴集团控股有限公司 Information processing method, device and system
US10243797B2 (en) 2016-03-14 2019-03-26 Nicira, Inc. Identifying the realization status of logical entities based on a global realization number
US10241820B2 (en) 2016-03-14 2019-03-26 Nicira, Inc. Determining the realization status of logical entities in logical networks
JP6701859B2 (en) * 2016-03-24 2020-05-27 富士ゼロックス株式会社 Communication program, communication device, and communication system
JP6696252B2 (en) * 2016-03-24 2020-05-20 富士ゼロックス株式会社 Communication program, communication device, and information processing device
WO2017214861A1 (en) * 2016-06-14 2017-12-21 SZ DJI Technology Co., Ltd. Supporting protocol independent movable object application development
US10447541B2 (en) 2016-08-13 2019-10-15 Nicira, Inc. Policy driven network QoS deployment
DE102016125171A1 (en) * 2016-12-21 2018-06-21 Endress+Hauser Process Solutions Ag Monitoring data transfer in a client-server-based device access system
US11323519B2 (en) * 2017-04-19 2022-05-03 Microsoft Technology Licensing, Llc Internet of things pub-sub data publisher
CN107730077A (en) * 2017-09-13 2018-02-23 平安科技(深圳)有限公司 Node tasks data display method, device, storage medium and computer equipment
US10904088B2 (en) * 2018-11-15 2021-01-26 Western Digital Technologies, Inc. Reconfiguring network settings for operating configuration installation
CN109617232B (en) * 2018-12-13 2021-04-23 高新兴科技集团股份有限公司 4G module-based micro power supply monitoring equipment, system and method
JP6973427B2 (en) * 2019-02-15 2021-11-24 株式会社安川電機 Communication systems, communication methods, and programs
US10645196B1 (en) * 2019-04-26 2020-05-05 Clario Tech Limited Multicomponent software-controllable system and a method for interaction of server-client processes and a machine-readable carrier for performing the method
CN112181509A (en) * 2019-07-02 2021-01-05 施耐德电气美国股份有限公司 Ensuring data consistency between modular devices and external systems
US11726995B2 (en) 2019-12-17 2023-08-15 Hewlett Packard Enterprise Development Lp System and method for value pack generation using generic SQL plugin for unified console
US11128529B1 (en) * 2020-03-17 2021-09-21 Capital One Services, Llc Cloud infrastructure for isolation and run-time behavioral tuning through configuration externalization

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5491791A (en) * 1995-01-13 1996-02-13 International Business Machines Corporation System and method for remote workstation monitoring within a distributed computing environment
US5958012A (en) 1996-07-18 1999-09-28 Computer Associates International, Inc. Network management system using virtual reality techniques to display and simulate navigation to network components
WO2000013086A1 (en) * 1998-08-26 2000-03-09 Harris Corporation Diagnostic system and method for monitoring plural software applications using plural diagnostic tools

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1293819C (en) * 1986-08-29 1991-12-31 Thinking Machines Corporation Very large scale computer
US5165018A (en) * 1987-01-05 1992-11-17 Motorola, Inc. Self-configuration of nodes in a distributed message-based operating system
CA2044022A1 (en) * 1990-06-28 1991-12-29 Miriam A. Nihart Common agent computer management system and method
EP0490595B1 (en) * 1990-12-14 1998-05-20 Sun Microsystems, Inc. Method for operating time critical processes in a window system environment
US5386566A (en) * 1991-03-20 1995-01-31 Hitachi, Ltd. Inter-processor communication method for transmitting data and processor dependent information predetermined for a receiving process of another processor
US5329619A (en) 1992-10-30 1994-07-12 Software Ag Cooperative processing interface and communication broker for heterogeneous computing environments
US5872928A (en) * 1995-02-24 1999-02-16 Cabletron Systems, Inc. Method and apparatus for defining and enforcing policies for configuration management in communications networks
US5655081A (en) 1995-03-08 1997-08-05 Bmc Software, Inc. System for monitoring and managing computer resources and applications across a distributed computing environment using an intelligent autonomous agent architecture
US5882534A (en) * 1995-05-17 1999-03-16 Lg Semicon Co., Ltd. Method for fabricating a multistage phase shift mask
GB2301717B (en) 1995-06-02 1999-08-11 Dsc Communications Network controller for monitoring the status of a network
JP3622313B2 (en) * 1996-01-29 2005-02-23 株式会社日立製作所 Document management system
US6732170B2 (en) * 1996-02-13 2004-05-04 Hitachi, Ltd. Network managing method, medium and system
US5819042A (en) * 1996-02-20 1998-10-06 Compaq Computer Corporation Method and apparatus for guided configuration of unconfigured network and internetwork devices
US5845283A (en) 1996-04-24 1998-12-01 Lingua Teq, Inc. Method and apparatus for rationalizing different data formats in a data management system
US5872966A (en) * 1996-05-10 1999-02-16 Apple Computer, Inc. System and method for logging and enabling further manipulation of system state information
US5822534A (en) * 1996-06-04 1998-10-13 Sun Microsystems, Inc. Method and apparatus for selectively unmanaging elements on a network
US6718550B1 (en) * 1996-06-26 2004-04-06 Sun Microsystems, Inc. Method and apparatus for improving the performance of object invocation
US5875306A (en) * 1996-10-01 1999-02-23 International Business Machines Corporation Reconfiguring computer resources in a distributed computer enterprise environment
US5884046A (en) * 1996-10-23 1999-03-16 Pluris, Inc. Apparatus and method for sharing data and routing messages between a plurality of workstations in a local area network
US6330008B1 (en) * 1997-02-24 2001-12-11 Torrent Systems, Inc. Apparatuses and methods for monitoring performance of parallel computing
GB9707550D0 (en) * 1997-04-15 1997-06-04 British Telecomm Design of computer networks
US6038399A (en) * 1997-07-22 2000-03-14 Compaq Computer Corporation Computer manufacturing architecture with two data-loading processes
US6247128B1 (en) * 1997-07-22 2001-06-12 Compaq Computer Corporation Computer manufacturing with smart configuration methods
US6051449A (en) * 1997-08-06 2000-04-18 Micron Technology, Inc. Method and apparatus for Epoxy loc die attachment
US5987633A (en) * 1997-08-20 1999-11-16 Mci Communications Corporation System, method and article of manufacture for time point validation
US6134581A (en) * 1997-10-06 2000-10-17 Sun Microsystems, Inc. Method and system for remotely browsing objects
US6041347A (en) 1997-10-24 2000-03-21 Unified Access Communications Computer system and computer-implemented process for simultaneous configuration and monitoring of a computer network
US6091811A (en) * 1997-11-13 2000-07-18 Lucent Technologies Inc. Ringing technique in automatic call distribution
US6314422B1 (en) * 1997-12-09 2001-11-06 Chrysler Corporation Method for softlinking between documents in a vehicle diagnostic system
GB2332288A (en) 1997-12-10 1999-06-16 Northern Telecom Ltd agent enabling technology
CA2233794C (en) * 1998-02-24 2001-02-06 Luc Bessette Method and apparatus for the management of medical files
US6154778A (en) * 1998-05-19 2000-11-28 Hewlett-Packard Company Utility-based multi-category quality-of-service negotiation in distributed systems
US6317786B1 (en) * 1998-05-29 2001-11-13 Webspective Software, Inc. Web service
US6480597B1 (en) * 1998-06-12 2002-11-12 Mci Communications Corporation Switch controller for a telecommunications network
US6192364B1 (en) 1998-07-24 2001-02-20 Jarg Corporation Distributed computer database system and method employing intelligent agents
US6446136B1 (en) * 1998-12-31 2002-09-03 Computer Associates Think, Inc. System and method for dynamic correlation of events
US6430598B1 (en) * 1999-01-29 2002-08-06 International Business Machines Corporation Method and system for deleting messages from a server
US6480901B1 (en) * 1999-07-09 2002-11-12 Lsi Logic Corporation System for monitoring and managing devices on a network from a management station via a proxy server that provides protocol converter
US6449739B1 (en) * 1999-09-01 2002-09-10 Mercury Interactive Corporation Post-deployment monitoring of server performance
US7600039B2 (en) * 2000-02-16 2009-10-06 Motorola, Inc. Label-based multiplexing
US6658598B1 (en) * 2000-02-17 2003-12-02 Motive Communications, Inc. Technical support chain automation with guided self-help capability using active content assertions
US6498835B1 (en) * 2000-02-29 2002-12-24 Ameritech Corporation Method and system for providing visual notification in a unified messaging system
US6601094B1 (en) * 2000-04-27 2003-07-29 Hewlett-Packard Development Company, L.P. Method and system for recommending an available network protocol
US6721880B1 (en) * 2000-05-31 2004-04-13 Lucent Technologies Inc. Method and apparatus for maintaining configuration information in a computing environment
US6785723B1 (en) * 2000-06-22 2004-08-31 International Business Machines Corporation Tracking the transmission of web documents or files sent from resource locations through servers on the web to client computer stations which send tracked transmission characteristics data back to said servers
US6959332B1 (en) * 2000-07-12 2005-10-25 Cisco Technology, Inc. Basic command representation of quality of service policies

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5491791A (en) * 1995-01-13 1996-02-13 International Business Machines Corporation System and method for remote workstation monitoring within a distributed computing environment
US5958012A (en) 1996-07-18 1999-09-28 Computer Associates International, Inc. Network management system using virtual reality techniques to display and simulate navigation to network components
WO2000013086A1 (en) * 1998-08-26 2000-03-09 Harris Corporation Diagnostic system and method for monitoring plural software applications using plural diagnostic tools

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1330737A4

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2388221A (en) * 2002-04-15 2003-11-05 Fisher Rosemount Systems Inc Web services-based communications for use with process control systems
GB2420205A (en) * 2002-04-15 2006-05-17 Fisher Rosemount Systems Inc Web services based communications for use with process control systems
US8073967B2 (en) 2002-04-15 2011-12-06 Fisher-Rosemount Systems, Inc. Web services-based communications for use with process control systems
US9094470B2 (en) 2002-04-15 2015-07-28 Fisher-Rosemount Systems, Inc. Web services-based communications for use with process control systems
US9760651B2 (en) 2002-04-15 2017-09-12 Fisher-Rosemount Systems, Inc. Web services-based communications for use with process control systems
US9201420B2 (en) 2005-04-08 2015-12-01 Rosemount, Inc. Method and apparatus for performing a function in a process plant using monitoring data with criticality evaluation data
US9927788B2 (en) 2011-05-19 2018-03-27 Fisher-Rosemount Systems, Inc. Software lockout coordination between a process control system and an asset management system
CN103634369A (en) * 2012-08-23 2014-03-12 Ls产电株式会社 Cloud computing-based data sharing system and method
US9477735B2 (en) 2012-08-23 2016-10-25 Lsis Co., Ltd. Cloud computing-based data sharing system and method
CN103634369B (en) * 2012-08-23 2018-02-09 Ls产电株式会社 Data-sharing systems and method based on cloud computing
EP2713301A1 (en) * 2012-09-27 2014-04-02 Siemens Aktiengesellschaft Method and system for connecting a controller for a machine to a higher level IT system
US9787682B2 (en) 2012-09-27 2017-10-10 Siemens Aktiengesellschaft Method and system for connecting a controller for a machine to a higher-level IT system

Also Published As

Publication number Publication date
EP1330724B1 (en) 2018-11-14
US20020116453A1 (en) 2002-08-22
CN1261892C (en) 2006-06-28
WO2002023364A1 (en) 2002-03-21
EP1327348A4 (en) 2009-08-05
EP1330724A4 (en) 2009-11-11
AU2001292690A1 (en) 2002-03-26
CN1474976A (en) 2004-02-11
US20020112044A1 (en) 2002-08-15
AU9268901A (en) 2002-03-26
CN100521711C (en) 2009-07-29
CN1504041A (en) 2004-06-09
AU2001292689B2 (en) 2006-10-26
US7779089B2 (en) 2010-08-17
EP1327348A1 (en) 2003-07-16
US8095632B2 (en) 2012-01-10
WO2002023875A1 (en) 2002-03-21
US7644120B2 (en) 2010-01-05
AU2001292691B2 (en) 2007-05-24
EP1330737A1 (en) 2003-07-30
EP1330724A1 (en) 2003-07-30
EP1327348B1 (en) 2015-10-21
US20020112038A1 (en) 2002-08-15
AU9269101A (en) 2002-03-26
EP1330737B1 (en) 2014-02-26
EP1330737A4 (en) 2009-11-11
US20100205244A1 (en) 2010-08-12

Similar Documents

Publication Publication Date Title
US8095632B2 (en) Method and system for performing remote diagnostics on a process data access
US10007256B2 (en) Multi-protocol multi-client equipment server
JP4731669B2 (en) Configuration database system, distributed configuration database system, method of storing and using configuration data, database server, method of providing access to database components, to components stored in database Of using a database server to provide parallel access and process control system
EP1624351B1 (en) Dynamic schema for unified plant model
JP4739496B2 (en) Process control system, configuration database system, method of using configuration data in process control system, and method of performing configuration operations in process control system
US5828851A (en) Process control system using standard protocol control of standard devices and nonstandard devices
US6098116A (en) Process control system including a method and apparatus for automatically sensing the connection of devices to a network
KR100798565B1 (en) A method for automated tool management, a computer readable storage medium and a system
US5995916A (en) Process control system for monitoring and displaying diagnostic information of multiple distributed devices
AU2001292691A1 (en) A method and system for remote configuration of process data access servers
AU2001292689A1 (en) An industrial process control data access server supporting multiple client data exchange protocols
JP2001512599A (en) Process control system using hierarchical hierarchical control strategy distributed among multiple controllers
US7756963B2 (en) Automated tool management in a multi-protocol environment
EP1849275B1 (en) Multi-protocol multi-client equipment server
KR101335629B1 (en) Middleware system in opc alarms and events system using decision tree technique and decision and notification method therein
Dobrescu et al. Dedicated software for fieldbus control applications

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PH PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2001973072

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWP Wipo information: published in national office

Ref document number: 2001973072

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: JP