Data federation with industrial control systems

Information

  • Patent Grant
  • 8484250
  • Patent Number
    8,484,250
  • Date Filed
    Friday, September 30, 2005
    18 years ago
  • Date Issued
    Tuesday, July 9, 2013
    10 years ago
Abstract
An organizational model of a hierarchical system can be distributed across various elements of an enterprise. Such elements include representations of the system that are maintained on higher-level business servers and other representations that serve control elements of the system such as programmable logic controllers and/or other industrial control components. In one aspect, an industrial automation system is provided. The system includes at least one controller to instantiate a portion of an organizational hierarchy. A communications component in the controller interacts with at least one other portion of the organizational hierarchy to facilitate data exchange and control between various components of an enterprise.
Description
TECHNICAL FIELD

The subject invention relates generally to industrial control systems and more particularly to distributing and manipulating data across data hierarchies that can be shared between organizational models and industrial control systems.


BACKGROUND

Industrial controllers are special-purpose computers utilized for controlling industrial processes, manufacturing equipment, and other factory automation, such as data collection or networked systems. At the core of the industrial control system, is a logic processor such as a Programmable Logic Controller (PLC) or PC-based controller. Programmable Logic Controllers for instance, are programmed by systems designers to operate manufacturing processes via user-designed logic programs or user programs. The user programs are stored in memory and generally executed by the PLC in a sequential manner although instruction jumping, looping and interrupt routines, for example, are also common. Associated with the user program are a plurality of memory elements or variables that provide dynamics to PLC operations and programs. Differences in PLCs are typically dependent on the number of Input/Output (I/O) they can process, amount of memory, number and type of instructions, and speed of the PLC central processing unit (CPU).


In a more macro sense than the controller, businesses have become more complex in that higher order business systems or computers often need to exchange data with such controllers. For instance, an industrial automation enterprise may include several plants in different locations. Modem drivers such as efficiency and productivity improvement, and cost-reduction, are requiring manufacturers to collect, analyze, and optimize data and metrics from global manufacturing sites. For example, a food company may have several plants located across the globe for producing a certain brand of food. These factories in the past were standalone, with minimum data collection and comparison of metrics with other similar factories. In the networked world of today, manufacturers are demanding real-time data from their factories to drive optimization and productivity. Unfortunately, conventional control systems architectures are not equipped to allow a seamless exchange of data between these various components of the enterprise.


SUMMARY

The following presents a simplified summary in order to provide a basic understanding of some aspects described herein. This summary is not an extensive overview nor is intended to identify key/critical elements or to delineate the scope of the various aspects described herein. Its sole purpose is to present some concepts in a simplified form as a prelude to the more detailed description that is presented later.


An organizational model and addressing mode is provided that enables data to be automatically and efficiently exchanged from various layers of an organization, across organizational boundaries, and/or exchanged between lower-level control entities to upper-tiers of the organization. In one aspect, a hierarchical model of an organization is distributed across control systems and other components of the organization such as business computers. Such hierarchy can be stored in an instantiation of a controller which is also accessible by the controller. This enables external applications to address data in the controller via a controller namespace and/or via an organization hierarchy such as provided by a hierarchical plant model, for example. Portions of the hierarchy can be implemented in the controller without being connected to the central system. This enables distributed development by multiple users such as outside equipment manufacturers (OEMs).


The organizational hierarchy can also include other organizational units, controller scoped tags, programs with associated program scoped tags, add-on instructions, routines, operator interface screens, and/or user defined information such has procedures and help files, for example. A local hierarchy stored in a controller can be connected to the system hierarchy via a “mount point.” The “mount point” can be connected with a particular location in the system hierarchy during a configuration operation which associates the respective controller with a specific organizational project.


To the accomplishment of the foregoing and related ends, certain illustrative aspects are described herein in connection with the following description and the annexed drawings. These aspects are indicative of various ways which can be practiced, all of which are intended to be covered herein. Other advantages and novel features may become apparent from the following detailed description when considered in conjunction with the drawings.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a schematic block diagram illustrating data federation in an organizational data model.



FIG. 2 is a diagram illustrating an example organizational hierarchy.



FIG. 3 is a diagram illustrating an example business model and hierarchical data representation that has been federated across an enterprise and control systems.



FIG. 4 is a diagram illustrating a flat and hierarchal data representation for a controller.



FIG. 5 is a diagram illustrating a mount point for a control system hierarchy.



FIG. 6 is a diagram illustrating multiple mount points for a control system hierarchy.



FIG. 7 is a diagram illustrating multiple mount point for a control system hierarchy and combined naming conventions.



FIG. 8 is a diagram illustrating an example system for processing model data structures.



FIG. 9 is a flow diagram illustrating a control data and enterprise federation process.



FIG. 10 illustrates exemplary hierarchies that can be utilized in connection with the hierarchically structured data model.



FIG. 11 illustrates exemplary hierarchies that can be utilized in connection with the hierarchically structured data model.



FIG. 12 illustrates an exemplary combination of hierarchies.



FIG. 13 illustrates an exemplary combination of hierarchies.





DETAILED DESCRIPTION

An organizational model of a hierarchical system can be distributed across various elements of an enterprise. Such elements include representations of the system that are maintained on higher-level business servers and other representations that serve control elements of the system such as programmable logic controllers and/or other industrial control components. In one aspect, an industrial automation system is provided. The system includes at least one controller to instantiate a portion of an organizational hierarchy. A communications component in the controller interacts with at least one other portion of the organizational hierarchy to facilitate data exchange and control between various components of an enterprise.


It is noted that as used in this application, terms such as “component,” “hierarchy,” “model,” and the like are intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution as applied to an automation system for industrial control. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program and a computer. By way of illustration, both an application running on a server and the server can be components. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers, industrial controllers, and/or modules communicating therewith.


Referring initially to FIG. 1, a system 100 illustrates data federation concepts in an organizational data model. A hierarchical data model 110 is illustrated having various nodes and branches that store data at multiple locations throughout the system 100. Such model 110 can be distributed across a network 114 to provide a collective or federated database. As illustrated, an enterprise 120 may have one or more computers or network components that communicate across the network 114 to one or more industrial control components 130 such as programmable logic controllers (PLCs) 130. Thus, the data hierarchy 110 having data nodes and branches can be managed as a singular or collective entity while being viewed, managed and distributed across substantially all or portions of the enterprise 120 and/or PLC 130.


The system 100 enables combining organizational information called an organizational or hierarchical data model 110 which represents a common model of a plant that can be based in the S88 or S95 model, for example, and is distributed among computers of the enterprise 120 and industrial controllers 130, for example. The model 110 can be viewed as an Organizational Model—a tree-like hierarchical and heterogeneous structure of organizational Units. For instance, respective Organizational Units may include other Organizational Units. Organizational Units can be either physical locations (e.g., Site, Area) or logical grouping node or collection (e.g., Enterprise as a collection of Sites). The nodes in the organizational hierarchy or model 110 can have associated items representing the plant's production and control equipment, tags, backing tags (e.g., Alarm & Event and AOI objects), programs, equipment phases, I/O devices, and other application related entities. These organizational units thus can form an application view of the user's system.


A typical system 100 can assign the upper levels of the hierarchy such as an Enterprise node and site to a computer system and the lower levels such as area, line, cell and machine could be contained in multiple industrial controllers each of which can include components which are members of one or more organization units such as area or area model. An organization unit such as area can contain components from one or more controllers. To ease the integration of data with information technology (IT) applications, methods are provided for defining various data structures in the IT space and translating those to the controller and a method using transactions to connect the controller and IT versions of the structure.


Before proceeding, it is noted that the enterprise 120 can include various computer or network components such as servers, clients, communications modules, mobile computers, wireless components, and so forth which are capable of interacting across the network 114. Similarly, the term PLC as used herein can include functionality that can be shared across multiple components, systems, and or networks 114. For example, one or more PLCs 130 can communicate and cooperate with various network devices across the network 114. This can include substantially any type of control, communications module, computer, I/O device, Human Machine Interface (HMI)) that communicate via the network 114 which includes control, automation, and/or public networks. The PLC 130 can also communicate to and control various other devices such as Input/Output modules including Analog, Digital, Programmed/Intelligent I/O modules, other programmable controllers, communications modules, and the like.


The network 114 can include public networks such as the Internet, Intranets, and automation networks such as Control and Information Protocol (CIP) networks including DeviceNet and ControlNet. Other networks include Ethernet, DH/DH+, Remote I/O, Fieldbus, Modbus, Profibus, wireless networks, serial protocols, and so forth. In addition, the network devices can include various possibilities (hardware and/or software components). These include components such as switches with virtual local area network (VLAN) capability, LANs, WANs, proxies, gateways, routers, firewalls, virtual private network (VPN) devices, servers, clients, computers, configuration tools, monitoring tools, and/or other devices.


In addition to various hardware and/or software components, various interfaces can be provided to manipulate the hierarchical or organizational data model 110 where various examples are illustrated in more detail below. This can include a Graphical User Interface (GUI) to interact with the model 110 or other components of the hierarchy such as any type of application that sends, retrieves, processes, and/or manipulates factory or enterprise data, receives, displays, formats, and/or communicates data, and/or facilitates operation of the enterprise 120 and/or PLCs 130. For example, such interfaces can also be associated with an engine, server, client, editor tool or web browser although other type applications can be utilized.


The GUI can include a display having one or more display objects (not shown) for manipulating the model 110 including such aspects as configurable icons, buttons, sliders, input boxes, selection options, menus, tabs and so forth having multiple configurable dimensions, shapes, colors, text, data and sounds to facilitate operations with the model 110. In addition, the GUI can also include a plurality of other inputs or controls for adjusting and configuring one or more aspects. This can include receiving user commands from a mouse, keyboard, speech input, web site, remote web service and/or other device such as a camera or video input to affect or modify operations of the GUI.


Before proceeding, it is noted that FIGS. 3-8 are directed to exemplary hierarchies and data arrangements. It is to be appreciated however than substantially any data hierarchy that is distributed across an enterprise or business and/or shared across an industrial control system is within the scope contemplated herein.


Referring now to FIG. 2, an exemplary hierarchical structure 200 which can be utilized in connection with the hierarchically structured data model described herein is illustrated. For example, the data model can facilitate nested structures, thereby mitigating deficiencies associated with data models that employ flat namespaces although flat namespaces can be employed as well. The example structure 200 includes an enterprise level 202, where a particular enterprise can be represented within data structured in accordance with a hierarchical data model. Beneath the enterprise level 202 can be a site level 204, so that a particular factory (site) within an enterprise can be represented within a data packet. Beneath the site level 204 an area level 206 can exist, which specifies an area within the factory that relates to the data. A line level 208 can lie beneath the area level 206, wherein the line level 208 is indicative of a line associated with particular data. Beneath the line level 208 a work-cell level 22 can exist, thereby indicating a work-cell associated with the data. Utilizing a nested, hierarchical data model, PLCs can become more aware of data associated therewith. Furthermore, the hierarchy 200 can be customized by an owner of such hierarchy. For instance, more granular objects/levels can be defined within the hierarchy 200.


Turning to FIG. 3, an example business model 300 and hierarchical data representation is illustrated that has been federated across an enterprise and control systems. In this example, an enterprise 310 is represented in the model 300 which is at the highest levels of an organization. In this specific example, a commodity such as potato chips are produced by the enterprise. As can be appreciated, higher or lower levels than the enterprise 310 can be represented in the model 300. Beneath the enterprise level, two plants are represented at a site level 314 (e.g., one plant in Dallas and another in Detroit) although more or less than two shown can be employed. At 320, an area of a site includes some of the automated manufacturing processes for the site 314 such as slicing, washing, frying and packaging in this example.


From the respective area level 320, a line level 330 can be represented which includes equipment (further divided into work-cell), controllers, production components, segment components, and miscellaneous components such as training elements, quality control data, and maintenance data. At a control level 340, logic processors that execute sequential function charts or ladder logic are represented. Thus, from the high level enterprise view 310, data from the control view 340 is aggregated and federated from the top down where the data model shows a unified view of data that is distributed across remote or local geographic locations via network communications yet represented as a singular data model 300. At production and segment levels 350, components for processing data include work order elements, material managers, equipment sequencers, and production sequencers that may execute on machines such as batch processors or servers, for example.



FIG. 4 illustrates flat and hierarchal data representations 400 for a controller. In this aspect, controller data representations can be integrated with hierarchical enterprise elements described above. Here, two views are shown. A flat representation at 410 shows a program engine that can start and stop two motors. A hierarchical view 420 of the same data structure 410 can be represented in the controller as well. In general, portions of an organizational hierarchy are stored in a runtime instantiation of a controller's operating environment which is accessible by a communications layer of the controller (e.g., controller foreground loop interfacing to a TCP/IP or Control Net stack). This will enable an external application executing at other levels of the hierarchy to address data in the controller via the flat controller name space at 410 and/or via the organizational hierarchy at 420. As can be appreciated, portions of the hierarchy can be implemented in the controller without being connected to a central system. This enables distributed development by multiple users such as OEMs and systems designers, for example. The organizational hierarchy can also include other organizational units, controller scoped tags, programs with associated program scoped tags, add-on instructions, routines, operator interfaces, and/or user defined information such has procedures and help files, for example.



FIGS. 5-7 illustrate a mount point examples for control system hierarchies. Mount points represent where in a distributed data hierarchy the controller is responsible for maintaining data at or below such level of mount point. Data above such level can be stored on enterprise components such as client or server computers in the enterprise. As illustrated in FIG. 5, the local hierarchy in a controller is connected to the system hierarchy 500 via a “mount point” at 510. This “mount point” 510 can be connected with a particular location in the system hierarchy during a configuration operation which associates this controller with a specific hierarchical project. Also, it is noted that the mount point 510 can be positioned at different portions of the hierarchy 500. FIG. 6 shows a single controller 600 that supports multiple “mount points” at 610 and 620 which can be mounted at different levels of the system hierarchy. At FIG. 7, an organization unit such as area 700 can be composed of components from multiple industrial controllers at 710 and 720. It is noted that organization units from multiple controllers with the same name can be combined.



FIG. 8 illustrates an example system 800 for processing model data structures. The system 800 includes an enterprise computer 810, an application 820 for modifying data structures, configuration components 830, and one or more control racks 840. In general, an IT developer via an application can define a data structure 820 which can be deployed in the controller 840. The definition can be in the form of an XML file that describes the data structure, and the meaning for each of the respective members. This XML description could also be combined with other descriptions which would form a set of system structures. These definitions could be stored in a file which can be distributed to remote users with separate copies of the configuration software 830, if desired. A control engineer could then create instances of these system structures and fill in the data to enable sending the data to the IT applications 820. These system structures may be based on plant data standards such as S88 and S95, for example although other standards can be applied. The control system can also have a mechanism to enable a controller to originate a transaction based on an instruction in the controller that uses a system data structure as defined herein. The organizational structure or model can provide a way to indicate where a controller variable should be public or private and if public whether it can be written. Generally, only the subset of controller tags specified as public should appear in the organizational hierarchy.



FIG. 9 illustrates an organizational model and communications process 900. While, for purposes of simplicity of explanation, the methodology is shown and described as a series of acts, it is to be understood and appreciated that the methodology is not limited by the order of acts, as some acts may occur in different orders and/or concurrently with other acts from that shown and described herein. For example, those skilled in the art will understand and appreciate that a methodology could alternatively be represented as a series of interrelated states or events, such as in a state diagram. Moreover, not all illustrated acts may be required to implement a methodology as described herein.



FIG. 9 illustrates a control model and communications process 900. Proceeding to 910, a one or more data structures are defined within the domain of a controller. This includes storing portions of a hierarchical model in a runtime instantiation of a controller or component associated with a controller. Such structures can be configured with controller configuration software for defining address locations for various components and network data. At 920, respective data structures defined at 910 are associated with a communications layer of the controller or control components. The layer can communicate with substantially any type of network including factory networks, global networks such as the internet, wireless networks, and so forth. At 930, portions of the organizational hierarchy that are stored on the controller can be communicated and interacted with other enterprise components across respective networks. This can include exchanging data from various portions of the enterprise over the network at different nodes and paths of the hierarchy or model. At 940, data for the enterprise and control systems are aggregated at a particular node or at a given network location. This could include aggregating or collecting, viewing, or collecting data at a network computer that communicates with the various data nodes of the enterprise and control hierarchy and then presenting such data at a display interface in a hierarchical form.


At 950, data is managed across the enterprise or organization via the hierarchical organization model. This can include viewing upper layers of the organization in higher level nodes of the hierarchy, where such layers may conform to such standards as S88 or S95 as previously noted. Data structures can be defined which exchange data between substantially all layers of an organization from lower-level control and configuration layers on a network to higher level data nodes of the enterprise. Respective nodes can be adapted with varying levels of security to control the type of human or machine access to a data node that may be available from different portions of the hierarchy.


Now turning to FIG. 10, hierarchical representations that can be employed in connection with a schema employed by programmable logic controllers to facilitate use of a hierarchically structured data model are illustrated. The hierarchies illustrated in this figure relate to equipment hierarchies, which can be integrated with procedure hierarchies to generate a robust representation of a plant (which is incorporated within a schema for use in connection with industrial controllers). A first hierarchy 1000 illustrates a representation of equipment within a plant given disparate processes. For instance, a hierarchy in accordance with a batch process can include a representation of an enterprise, site, area, process cell, unit, equipment module, and control module. In contrast, a hierarchical representation of equipment within a continuous process can include representations of an enterprise, site, area, production unit, continuous unit, equipment module, and control module. In still more detail, an enterprise can represent an entirety of a company, a site can represent a particular plant, an area can represent a portion of the plant, a process cell can include equipment utilized to complete a process, a unit can relate to a unit of machinery within the process cell, an equipment module can include a logical representation of portions of the process cell, and the control module can include basic elements, such as motors, valves, and the like. Furthermore, equipment modules can include equipment modules and control modules can include control modules. Thus, as can be discerned from the figure, four disparate hierarchical representations can be employed to represent equipment within batch processes, continuous processes, discrete processes, and inventory.


A second hierarchy 1002 can be utilized that represents each of the aforementioned hierarchical representations. The hierarchy 1002 can include representations of an enterprise, a site, an area, a work center, a work unit, an equipment module, and a control module. Thus, a common representation can be generated that adequately represents the hierarchy 1000. For purposes of consistent terminology, data objects can be associated with metadata indicating which type of process they are associated with. Therefore, data objects can be provided to an operator in a form that is consistent with normal usage within such process. For example, batch operators can utilize different terminology than a continuous process operator (as shown by the hierarchy 1000). Metadata can be employed to enable display of such data in accordance with known, conventional usage of such data. Thus, implementation of a schema in accordance with the hierarchy 1002 will be seamless to operators. Furthermore, in another example, only a portion of such representation can be utilized in a schema that is utilized by a controller. For instance, it may be desirable to house equipment modules and control modules within a controller. In another example, it may be desirable to include data objects representative of work centers and work units within a controller (but not equipment modules or control modules). The claimed subject matter is intended to encompass all such deviations of utilizing the hierarchy 1002 (or similar hierarchy) within a controller.


Now referring to FIG. 11, standard hierarchies that can be utilized to represent procedures and equipment are illustrated. In particular, a hierarchy 1100 represents procedures that can exist within a batch process. For instance, a procedure can relate to a high-level procedure, such as creation of a pharmaceutical drug. A unit procedure can be more specific, such as adding particular chemicals to a mix by way of a particular unit. A unit operation can be still more specific, and a phase can be yet more specific (relating to operation of low-level machines). For instance, a phase can relate to various states which can exist with respect to low-level equipment, such as stopping, starting, and pausing a motor, opening and closing a valve, and the like. A hierarchy 1102 relating to a representation of equipment in, for example, a batch process is displayed adjacent to the hierarchy 1100. The representations within the hierarchy 1102 were described in greater detail with respect to FIG. 10.


Now turning to FIG. 12, a hierarchy 1200 that represents one possible integration of the hierarchies 1100 and 1102 (FIG. 11) is illustrated. A unit (such as a work unit described in FIG. 10) can be associated with an equipment procedure, an equipment unit procedure, an equipment operation, and an equipment phase). Thus, the procedures, operation, and phase can be associated with a particular work unit. An equipment module can be associated with one or more equipment phases, and can be above a control module in the hierarchy. Referring Briefly to FIG. 13, a hierarchy 1300 that can be utilized in connection with equipment control is illustrated. The hierarchy is substantially similar to that described within the unit portion of the equipment unit. As stated above, the hierarchies illustrated in FIGS. 11-13 can be based upon a standard, such as ISA 88, ISA 95, or other standard. Any suitable representation that can be utilized to model an entirety of a plant, however, is contemplated. Further, the representations shown in these figures can be directly implemented into a controller. For instance, data objects in accordance with any portion of the hierarchies described in FIGS. 11-13 can be existent within a controller, together with state machines that enable creation of such objects.


What has been described above includes various exemplary aspects. It is, of course, not possible to describe every conceivable combination of components or methodologies for purposes of describing these aspects, but one of ordinary skill in the art may recognize that many further combinations and permutations are possible. Accordingly, the aspects described herein are intended to embrace all such alterations, modifications and variations that fall within the spirit and scope of the appended claims. Furthermore, to the extent that the term “includes” is used in either the detailed description or the claims, such term is intended to be inclusive in a manner similar to the term “comprising” as “comprising” is interpreted when employed as a transitional word in a claim.

Claims
  • 1. A system that facilitates data federation in an industrial system, comprising: a processor, coupled to a memory, that executes computer-executable components, the computer-executable components comprising: a configuration component configured to receive first configuration input that creates a first subset of a hierarchical data model of an industrial organization in an industrial controller, second configuration input that defines a second portion of the hierarchical data model in a device different than the industrial controller, and third configuration input that defines a mount point in the industrial controller,wherein the first subset of the hierarchical data model comprises a first set of nodes defining first hierarchical relationships between first entities on a control level of the industrial organization,wherein the second subset of the hierarchical data model comprises a second set of nodes defining second hierarchical relationships between second entities on an enterprise level of the industrial organization that is hierarchically higher than the control level; andwherein the mount point defines a location in the hierarchical data model where the first subset of the hierarchical data model connects to the second subset of the hierarchical data model and facilitates aggregation of the first portion of the hierarchical data model and the second portion of the hierarchical data model at the location.
  • 2. The system of claim 1, wherein the hierarchical data model conforms to a user-defined hierarchy.
  • 3. The system of claim 1, wherein the first subset of the hierarchical data model is stored in a runtime instantiation of the industrial controller accessible via a communications layer of on operating environment of the industrial controller.
  • 4. The system of claim 1, wherein the hierarchical data model comprises one or more organizational units that are distributed among the device and the industrial controller.
  • 5. The system of claim 1, wherein the hierarchical data model comprises one or more organizational units representing one or more physical locations or one or more logical groupings of nodes.
  • 6. The system of claim 5, wherein the first set of nodes are associated with respective data items maintained within the industrial controller.
  • 7. The system of claim 1, wherein the hierarchical data model is distributed across multiple components of the industrial organization residing on at least one of a local network, a factory network, a remote network, or a wide area network.
  • 8. The system of claim 1, wherein the hierarchical data model conforms to at least one of an S88 model or an S95 model.
  • 9. The system of claim 8, wherein the hierarchical data model includes at least a line level that comprises at least one of an equipment component, a control component, a production component, a segment component, or a miscellaneous component.
  • 10. The system of claim 1, the computer-executable components further comprising a controller component configured to at least one of convert a flat data structure to a hierarchical data structure or convert the hierarchical data structure to the flat data structure.
  • 11. The system of claim 1, wherein the hierarchical data model further comprises at least one of one or more controller scoped tags, one or more programs with associated program scoped tags, one or more add-on instructions, one or more control routines, one or more operator interfaces, or user defined information.
  • 12. The system of claim 1, wherein the mount point defines a location in the hierarchical data model below which the industrial controller is responsible for maintaining data.
  • 13. The system of claim 1, wherein the third configuration input associates the mount point with the location in the hierarchical data model during a configuration operation that associates the industrial controller with a hierarchical project.
  • 14. The system of claim 1, the computer-executable components further comprising a communications component configured to facilitate presentation of data items in the industrial controller on an application that is external to the industrial controller using a hierarchical namespace that accords to the hierarchical data model.
  • 15. The system of claim 1, wherein the first entities and the second entities comprise at least one of control equipment, one or more controller tags, one or more backing tags, one or more programs, one or more equipment phases, or one or more I/O devices.
  • 16. The system of claim 1, wherein the configuration component is further configured to receive fourth configuration data that sets a tag associated with the hierarchical data model as one of public or private, wherein setting the tag as public renders the tag viewable from an application that reads data from the industrial controller.
  • 17. A non-transitory computer-readable medium having stored thereon computer-executable instructions that, in response to execution by a computing system including a processor, cause the computing system to perform operations, the operations comprising: creating, in response to first configuration input, a controller data structure comprising a first portion of a hierarchical data model of an industrial organization, wherein the first portion of the hierarchical data model is maintained in a controller and comprises one or more first nodes defining hierarchical relationships between a first set of entities on a control level of the industrial organization;creating, in response to second configuration input, an enterprise data structure comprising a second portion of the hierarchical data model, wherein the second portion of the hierarchical data model is maintained in a device that is different than the controller and comprises one or more second nodes defining hierarchical relationships between a second set of entities on an enterprise level of the industrial organization that is hierarchically higher than the control level;defining, in response to third configuration input, a mount point in the controller that defines a location within the hierarchical data structure at which the first portion of the hierarchical data structure connects to the second portion of the hierarchical data structure; andaggregating the first portion of the hierarchical data structure and the second portion of the hierarchical data structure based on the mount point.
  • 18. The non-transitory computer-readable storage medium of claim 17, wherein the one or more first nodes represent entities associated with the controller including at least one of control equipment, one or more controller tags, one or more backing tags, one or more programs, one or more equipment phases, or one or more I/O devices.
  • 19. The non-transitory computer-readable storage medium of claim 18, the operations further comprising storing the controller data structure in a runtime instantiation accessible via a communications layer of the controller's operating environment.
  • 20. A method for data communication, comprising: defining, in a controller comprising a processor, a first portion of a hierarchical data model of an industrial organization, wherein the first portion of the hierarchical data model comprises one or more first nodes that define first hierarchical relationships between first entities of a control layer of an organizational hierarchy;defining, in a first network node that is different than the controller, a second portion of the hierarchical data model, wherein the second portion of the hierarchical data model comprises one or more second nodes that define second hierarchical relationships between second entities of an enterprise layer of the organizational hierarchy, wherein the enterprise layer is hierarchically higher than the control layer;defining, in the controller, a mount point that identifies a location within the hierarchical data model at which the first portion of the hierarchical data model connects to the second portion of the hierarchical data model; andaggregating the first portion of the hierarchical data model and the second portion of the hierarchical data model based on the mount point.
  • 21. The method of claim 20, further comprising selectively assigning one of a public data property or a private data property to a data object of the controller via the hierarchical data model.
  • 22. The method of claim 20, further comprising rendering a hierarchical view of the hierarchical data model, wherein the rendering comprises combining nodes defined by the hierarchical data model having similar names and residing in different devices.
  • 23. The method of claim 20, further comprising rendering a hierarchical view of the hierarchical data model, wherein the rendering comprises rendering organizational units comprising the first portion of the hierarchical data model and the second portion of the hierarchical data model.
  • 24. The method of claim 20, wherein the defining the first portion of the hierarchical data model comprises defining the first nodes to represent at least one of control equipment, one or more controller tags, one or more controller programs, one or more equipment phases, or one or more I/O devices.
  • 25. The non-transitory computer-readable storage medium of claim 17, further comprising rendering, at a display interface that communicates with the controller data structure and the enterprise data structure, first data items maintained in the controller and second data items maintained in the device in a hierarchical manner as defined by the hierarchical data model.
  • 26. The method of claim 20, further comprising rendering a hierarchical view of data objects on the controller and the first network node on a second network node, wherein the hierarchical view is based on the hierarchical data model derived by the aggregating.
US Referenced Citations (197)
Number Name Date Kind
4268901 Subrizi et al. May 1981 A
4347564 Sugano et al. Aug 1982 A
4623964 Getz et al. Nov 1986 A
4990838 Kawato et al. Feb 1991 A
5072374 Sexton et al. Dec 1991 A
5185708 Hall et al. Feb 1993 A
5253184 Kleinschnitz Oct 1993 A
5301320 McAtee et al. Apr 1994 A
5367624 Cooper Nov 1994 A
5446868 Gardea et al. Aug 1995 A
5455775 Huber et al. Oct 1995 A
5485620 Sadre et al. Jan 1996 A
5504891 Motoyama et al. Apr 1996 A
5537585 Blickenstaff et al. Jul 1996 A
5572731 Morel et al. Nov 1996 A
5611059 Benton et al. Mar 1997 A
5619724 Moore Apr 1997 A
5634048 Ryu et al. May 1997 A
5644740 Kiuchi Jul 1997 A
5675748 Ross Oct 1997 A
5715413 Ishai et al. Feb 1998 A
5721905 Elixmann et al. Feb 1998 A
5761499 Sonderegger Jun 1998 A
5784620 Isham Jul 1998 A
5797137 Golshani et al. Aug 1998 A
5812773 Norin Sep 1998 A
5828851 Nixon et al. Oct 1998 A
5832486 Itoh et al. Nov 1998 A
5838563 Dove et al. Nov 1998 A
5848273 Fontana et al. Dec 1998 A
5862052 Nixon et al. Jan 1999 A
5884025 Baehr et al. Mar 1999 A
5884033 Duvall et al. Mar 1999 A
5913029 Shostak Jun 1999 A
5924094 Sutter Jul 1999 A
5936539 Fuchs Aug 1999 A
5940294 Dove Aug 1999 A
5940854 Green, Jr. et al. Aug 1999 A
5951440 Reichlinger Sep 1999 A
5960420 Leymann et al. Sep 1999 A
5966705 Koneru Oct 1999 A
5978577 Rierden et al. Nov 1999 A
5980078 Krivoshein et al. Nov 1999 A
5983016 Brodsky et al. Nov 1999 A
6011899 Ohishi et al. Jan 2000 A
6032208 Nixon et al. Feb 2000 A
6044217 Brealey et al. Mar 2000 A
6063129 Dadd et al. May 2000 A
6081899 Byrd Jun 2000 A
6098116 Nixon et al. Aug 2000 A
6101531 Eggleston et al. Aug 2000 A
6110214 Klimasauskas Aug 2000 A
6157864 Schwenke et al. Dec 2000 A
6161051 Hafemann et al. Dec 2000 A
6195591 Nixon et al. Feb 2001 B1
6208987 Nihei Mar 2001 B1
6234899 Nulph May 2001 B1
6246972 Klimasauskas Jun 2001 B1
6266726 Nixon et al. Jul 2001 B1
6268853 Hoskins et al. Jul 2001 B1
6275977 Nagai et al. Aug 2001 B1
6308168 Dovich et al. Oct 2001 B1
6308224 Leymann et al. Oct 2001 B1
6311187 Jeyaraman Oct 2001 B1
6327511 Naismith et al. Dec 2001 B1
6336152 Richman et al. Jan 2002 B1
6356920 Vandersluis Mar 2002 B1
6377957 Jeyaraman Apr 2002 B1
6393566 Levine May 2002 B1
6398106 Ulvr et al. Jun 2002 B1
6409082 Davis et al. Jun 2002 B1
6411987 Steger et al. Jun 2002 B1
6415983 Ulvr et al. Jul 2002 B1
6425051 Burton et al. Jul 2002 B1
6438744 Toutonghi et al. Aug 2002 B2
6445963 Blevins et al. Sep 2002 B1
6446202 Krivoshein et al. Sep 2002 B1
6457053 Satagopan et al. Sep 2002 B1
6469986 Lecheler et al. Oct 2002 B1
6473656 Langels et al. Oct 2002 B1
6484061 Papadopoulos et al. Nov 2002 B2
6501996 Bieber Dec 2002 B1
6505247 Steger et al. Jan 2003 B1
6510352 Badavas et al. Jan 2003 B1
6539271 Lech et al. Mar 2003 B2
6539430 Humes Mar 2003 B1
6539458 Holmberg Mar 2003 B2
6556950 Schwenke et al. Apr 2003 B1
6618856 Coburn et al. Sep 2003 B2
6631519 Nicholson et al. Oct 2003 B1
6643555 Eller et al. Nov 2003 B1
6661426 Jetha et al. Dec 2003 B1
6664981 Ashe et al. Dec 2003 B2
6681227 Kojima et al. Jan 2004 B1
6687817 Paul Feb 2004 B1
6697797 Hoggatt et al. Feb 2004 B1
6704746 Sokolov et al. Mar 2004 B2
6714949 Frey, Jr. Mar 2004 B1
6714981 Skaggs Mar 2004 B1
6738821 Wilson et al. May 2004 B1
6745089 Rasmussen et al. Jun 2004 B2
6748486 Burton et al. Jun 2004 B2
6751634 Judd Jun 2004 B1
6758403 Keys et al. Jul 2004 B1
6760721 Chasen et al. Jul 2004 B1
6760732 Busshart et al. Jul 2004 B2
6763395 Austin Jul 2004 B1
6766312 Landt Jul 2004 B2
6769095 Brassard et al. Jul 2004 B1
6778537 Ishibashi Aug 2004 B1
6801822 Fujiwara et al. Oct 2004 B1
6807632 Carpentier et al. Oct 2004 B1
6809732 Zatz et al. Oct 2004 B2
6836892 Ikoma et al. Dec 2004 B2
6839790 Barros De Almeida et al. Jan 2005 B2
6842769 Kim et al. Jan 2005 B1
6853920 Hsiung et al. Feb 2005 B2
6865509 Hsiung et al. Mar 2005 B1
6868413 Grindrod et al. Mar 2005 B1
6874145 Ye et al. Mar 2005 B1
6874146 Iyengar Mar 2005 B1
6880060 Talagala et al. Apr 2005 B2
6889282 Schollenberger May 2005 B2
6901578 Beaven et al. May 2005 B1
6904473 Bloxham et al. Jun 2005 B1
6920474 Walsh et al. Jul 2005 B2
6928521 Burton et al. Aug 2005 B1
6930985 Rathi et al. Aug 2005 B1
6934749 Black et al. Aug 2005 B1
6938079 Anderson et al. Aug 2005 B1
6944626 Cameron et al. Sep 2005 B2
6947947 Block et al. Sep 2005 B2
6950900 McKean et al. Sep 2005 B1
6952705 Knoblock et al. Oct 2005 B2
6954770 Carlson et al. Oct 2005 B1
6961728 Wynblatt et al. Nov 2005 B2
6973556 Milligan et al. Dec 2005 B2
6975913 Kreidler et al. Dec 2005 B2
20020012401 Karolys et al. Jan 2002 A1
20020013748 Edmison et al. Jan 2002 A1
20020069167 Conlow Jun 2002 A1
20020073236 Helgeson et al. Jun 2002 A1
20020087786 Burton et al. Jul 2002 A1
20020091838 Rupp et al. Jul 2002 A1
20020103785 Harvey Aug 2002 A1
20020194577 Connor et al. Dec 2002 A1
20030014387 Kreidler et al. Jan 2003 A1
20030014500 Schleiss et al. Jan 2003 A1
20030065673 Grobler et al. Apr 2003 A1
20030090514 Cole et al. May 2003 A1
20030120710 Pulsipher et al. Jun 2003 A1
20030123467 Du et al. Jul 2003 A1
20030126308 Kim Jul 2003 A1
20030177114 Lin et al. Sep 2003 A1
20030212828 Miyazaki et al. Nov 2003 A1
20030218641 Longobardi Nov 2003 A1
20040004629 Hamilton et al. Jan 2004 A1
20040006401 Yamada et al. Jan 2004 A1
20040024995 Swaine Feb 2004 A1
20040044421 Brune et al. Mar 2004 A1
20040073565 Kaufman et al. Apr 2004 A1
20040098153 Neudeck May 2004 A1
20040139079 Eryurek et al. Jul 2004 A1
20040167790 Grasse Aug 2004 A1
20040196855 Davies et al. Oct 2004 A1
20040199655 Davies et al. Oct 2004 A1
20040203620 Thome et al. Oct 2004 A1
20040210629 Klindt et al. Oct 2004 A1
20040249771 Berg et al. Dec 2004 A1
20040260591 King Dec 2004 A1
20050005289 Adolph et al. Jan 2005 A1
20050044112 Yamamoto et al. Feb 2005 A1
20050065829 Birkhoelzer Mar 2005 A1
20050065971 Honda Mar 2005 A1
20050069853 Tyson et al. Mar 2005 A1
20050071347 Chau et al. Mar 2005 A1
20050091227 McCollum et al. Apr 2005 A1
20050091349 Scheibli Apr 2005 A1
20050102672 Brothers May 2005 A1
20050107897 Callaghan May 2005 A1
20050108247 Heinla et al. May 2005 A1
20050120021 Tang et al. Jun 2005 A1
20050129247 Gammel et al. Jun 2005 A1
20050135782 Ando et al. Jun 2005 A1
20050154741 Hebert et al. Jul 2005 A1
20050166215 Holloway et al. Jul 2005 A1
20050177687 Rao Aug 2005 A1
20050187925 Schechinger et al. Aug 2005 A1
20050198248 Morimoto et al. Sep 2005 A1
20050216460 Yoon et al. Sep 2005 A1
20050223010 Murray Oct 2005 A1
20050251527 Phillips et al. Nov 2005 A1
20050256788 Mukai Nov 2005 A1
20050268253 Johnson et al. Dec 2005 A1
20050278373 Corbett et al. Dec 2005 A1
20060004475 Brackett et al. Jan 2006 A1
20060004847 Claudatos et al. Jan 2006 A1
Foreign Referenced Citations (1)
Number Date Country
1553471 Jul 2005 EP
Non-Patent Literature Citations (6)
Entry
Pitzek et al., Configuration and Management of a Real-Time Smart Transducer Network, 2003 IEEE, 2003, 4 pages.
European Search Report dated Jun. 12, 2005 for European Patent Application Serial No. EP05016793, 3 pages.
John Kubiatowicz, et al. “OceanStore: An Architecture for Global-Scale Persistent Storage” ASPLOS 2000, Cambridge, Massachusetts (2000).
Roy Goldman, et al. “From Semistructured Data to XML: Migrating the Lore Data Model and Query Language” (1999).
Chinese OA dated Jun. 6, 2008 for CN Application Serial No. 200610131757.X, 15 pages.
European Search Report for European Patent Application No. EP06020456 dated Aug. 26, 2011, 5 pages.
Related Publications (1)
Number Date Country
20070078862 A1 Apr 2007 US