The disclosed subject matter is now described with reference to the drawings, wherein like reference numerals are used to refer to like elements throughout. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the disclosed subject matter. It may be evident, however, that such matter can be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to facilitate describing the invention.
As used in this application, the terms “component” and “system” are intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to 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 a component. 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.
Furthermore, aspects of the disclosed subject matter may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computer to implement various aspects of the subject invention. The term “article of manufacture” as used herein is intended to encompass a computer program accessible from any computer-readable device, carrier, or media. For example, computer readable media can include but are not limited to magnetic storage devices (e.g., hard disk, floppy disk, magnetic strips, etc.), optical disks (e.g., compact disk (CD), digital versatile disk (DVD), etc.), smart cards, and flash memory devices (e.g., card, stick, key drive, etc.). Additionally it should be appreciated that a carrier wave can be employed to carry computer-readable electronic data such as those used in transmitting and receiving electronic mail or in accessing a network such as the Internet or a local area network (LAN). Of course, those skilled in the art will recognize many modifications may be made to this configuration without departing from the scope or spirit of what is described herein.
Now referring to the drawings,
The subscription received by the analyzer component 102 can be a subscription for an alarm and/or event of a particular type. In other words, an entity that is associated with the subscription may desirably receive alarms and/or events of the certain type. Still further, certain alarms and/or events can be associated with identifiers (which may be unique identifiers), and the subscription can be for alarms associated with the identifier. Therefore, any alarm and/or event of a particular type and/or associated with a certain identifier can be desirably received by an entity subscribing to the alarm and/or event.
The analyzer component 102 can analyze the subscription and determine a type of an alarm or event associated with the subscription and/or a unique identifier related to the alarm and/or event, and can pass results of such analysis to an interrogator component 104. Accordingly, the interrogator component 104 can have knowledge of a type of alarm/event and/or a unique identifier of an alarm/event that is associated with the subscription received by the analyzer component 102. The interrogator component 104 can interrogate a field device 106 that generates alarms/events and/or publishes alarms/events for an alarm or event that is associated with an alarm/event type or unique identifier related to the subscription.
Thus, the field device 106 can generate alarms and/or log events, wherein such alarms/events can be of a particular type and/or associated with a certain identifier. For example, if the field device 106 is a logic controller within a certain region of an industrial manufacturing facility, an alarm generated by the field device 106 can be of a type that is associated with the region. The field device 106 can publish such alarm, retain the alarm within a data repository within the field device 106, and/or provide the alarm to a data repository that is external to the field device. The interrogator component 104 can interrogate the field device 106 for alarms/events of the particular type, and the field device 106 can then provide such alarms/events to the entity that is subscribing to the alarms/events. In another example, the interrogator component 104 can interrogate the field device to determine which alarm types can be created by the field device 106, and can automatically configure the field device 106 to provide alarms of a certain type to the subscribing entity.
In an example, a device may subscribe to alarms and/or events associated with a particular zone, wherein such alarms and/or events are designated as a particular type. When the field device 106 is added to such zone, the interrogator component can interrogate the field device 106 to determine which type of alarms and/or events can be created/published by the field device 106. If the field device 106 can generate alarms of type (or identifier) identified within the subscription, the field device 106 can be automatically configured to publish alarms of such type to a certain location or directly to the subscribing entity.
In yet another aspect, a graphical user interface can be provided that enables a user to view contents of the field device 106. For instance, a user can select a folder or icon that is representative of the field device 106, and contents thereof can be displayed. More particularly, the interrogator component 104 can interrogate the field device 106 to provide alarms/events within the field device and/or alarm/event generation capabilities associated with the field device 106. The user can then select an alarm/event from within the field device 106 and provide instructions relating to configuring the field device 106 to provide alarms/events of particular type to a subscribing entity. Thus, field devices, including controllers (e.g., logic controllers, robotic controllers, . . . ), pumps, presses, and/or other field devices, can be automatically interrogated to determine alarms/events associated therewith. Given the above, it can be discerned that a user need not configure a subscription to an alarm/event, but can instead select a field device and such device can be automatically interrogated. Thereafter, the field device can publish certain types of alarms such that software is aware of alarms produced by the controller and alarms/events can be automatically provided to a subscribing entity.
Turning now to
In an example, a subscribing entity 204 can subscribe to alarms and/or events that are associated with a particular region within an industrial facility (as defined by a known hierarchy). Additionally, the analyzer component 102 can determine that the subscribing entity subscribes to alarms of a type related to the region. When the field device 106 is coupled to the network within the particular area, the connection recognizer component 202 can determine that the field device 106 has been connected. The interrogator component 104 can query the field device 106 to determine types of alarms and/or events the field device 106 is capable of generating, and can communicate with the analyzer component 102 regarding subscriptions associated with the subscribing entity 204. The interrogator component 104 can then configure the field device 106 to publish alarms/events of the particular type such that the subscribing entity 204 will be provided with such alarms/events.
Now referring to
The interrogator component 104 is communicatively coupled to the field device 106, which can be configured to generate alarms and/or events. Additionally, the interrogator component 106 can determine types of alarms and/or events that can be created by the field device 106. If the interrogator component 106 determines that the field device 106 creates alarms/events of a type (or subtype) subscribed to by the subscribing entity 204, then a configuration component 302 can automatically configure the field device 106 to provide alarms/events of the desired type to the subscribing entity 204. Thus, when the field device 106 creates an alarm/event of a desired type or subtype, then the field device 106 can publish such event to enable the subscribing entity 204 to access the alarm/event or directly provide the subscribing entity 204 with the alarm/event.
The interrogator component 104 can also include a review component 304, which can review an organization hierarchy 306 associated with an industrial environment and automatically determine other alarms/events related to alarms/events generated by the field device 106. Pursuant to an example, alarms/events created by the field device 106 can be within an organizational hierarchy, and thus be associated with different alarms/events (whether or not such alarms/events are created by the field device 106). More specifically, an alarm generated by the field device 106 may be a parent or child of another alarm, which may be generated by the field device 106 or by another device). Based upon determined relations, the interrogator component 104 can automatically cause the subscribing entity 204 to subscribe to alarms/events related to alarms/events created by the field device 106.
In connection with publishing alarms/events, the field device 106 can include a publisher component 308 that can publish alarms/events such that the subscribing entity 204 can access alarms/events to which the subscribing entity 204 subscribes. The publisher component 308 can be communicatively coupled to a notification component 310, which can provide a notification to the subscribing entity 204 that the field device 106 has published an alarm/event that is desirably received by the subscribing entity 204. The notification component 310 can also review the organizational hierarchy 306 upon receiving a notification of an alarm to determine if the subscribing entity 204 should be notified to search for related alarms (e.g., parent or child alarms).
With reference now to
The field device 106 includes an alarm generator component 402 that enables the field device 106 to create alarms if data produced and/or consumed by such field device 106 lies outside a threshold. For example, if a process variable (representative of a temperature, for instance) lies outside an expected range, then the alarm generator component 402 can generate an alarm indicating as much. Similarly, if certain operator actions are undertaken, such as depression of an emergency stop button, then the alarm generator component 106 can create an alarm with respect to the depression of the button. Moreover, the alarm generator component 106 can create alarms that are instances of a particular type or subtype, can associate an alarm with a unique identifier, and/or can associated a generated alarm with other alarms. For instance, the field device 106 may be within a hierarchy of field devices, and can indicate that an alarm generated by the alarm generator component 402 is a parent or child of an alarm created by another field device. Thus, the alarm generator component 402 can describe any suitable level of relation with respect to alarms created thereby.
The field device 106 can additionally include an event generator component 404 that can create and log events associated with the field device 106. For instance, a time when a batch process is fifty percent completed can be logged as an event. In another example, the event generator component 404 can create and log when an operator signs off on a particular batch. As described above, the analysis 102 and the interrogator component 104 can be utilized to interrogate the field device 106 such that events created and logged therein can be provided to entities that subscribe to such events. More particularly, the event generator component 404 can create events that are instances of particular types and/or subtypes, and a subscribing entity can subscribe to events created by the field device 106 that accord to a particular type (or subtype). Further, the event generator component 404 can create events that are associated with an identifier, and the subscribing entity can subscribe to events that are associated with such identifier.
The field device 106 can additionally include an identity analyzer component 406, which can analyze an identity of a user associated with the field device 106. This identity can then be associated with alarms/events created by the alarm generator component 402 and/or the event generator component 404. Thus, a subscribing entity can subscribe to alarms/events based upon an identity of an operator associated with the field device. Pursuant to an example, a value that identifies the operator can be placed within an alarm/event created by the alarm generator component 402 and/or the event generator component 404. The interrogator component 104 can interrogate the field device 106 for alarms associated with such value, and can cause alarms/events therein to be provided to a subscribing entity and/or configure the field device 106 to provide alarms/events associated with the operator to a subscribing entity.
Turning now to
The analyzer component 102 can review a subscription associated with the industrial controller 502 and can relay information relating to the subscription to the interrogator component 104. The interrogator component 104 can analyze contents/capabilities of the field device 106 to determine whether it includes alarms/events desirably received by the industrial controller 502. If the field device 106 includes alarms/events desirably received by the industrial controller 502, the field device 106 can be notified and configured to provide alarms/events of the type, subtype, etc. to the industrial controller 502. Moreover, it is understood that the interrogator component 104 can interrogate a plurality of field devices for alarms/events that may be desirably provided to the industrial controller 502 (or other entities).
Now referring to
Turning to
Referring specifically to
At 708, alarms/events associated with the field device are displayed to a user. The display of alarms/events can be arranged by type, subtype, operator, or any other suitable manner. At 710, a selection of a particular alarm and/or event is received. For example, an alarm/event can be selected based upon the type of the event, subtype of the event, association with other alarms/events, etc. At 712, an entity is subscribed to the alarm/event. Pursuant to an example, an alarm/event of a particular type can be selected and type or subtype of the selected alarm/event can be displayed. Thereafter a particular field device can be identified, and the field device can subscribe to alarms/events of the selected type and/or subtype. The methodology 700 then completes at 714.
Now turning to
Now referring to
With reference to
The system bus 1018 can be any of several types of bus structure(s) including the memory bus or memory controller, a peripheral bus or external bus, and/or a local bus using any variety of available bus architectures including, but not limited to, 8-bit bus, Industrial Standard Architecture (ISA), Micro-Channel Architecture (MSA), Extended ISA (EISA), Intelligent Drive Electronics (IDE), VESA Local Bus (VLB), Peripheral Component Interconnect (PCI), Universal Serial Bus (USB), Advanced Graphics Port (AGP), Personal Computer Memory Card International Association bus (PCMCIA), and Small Computer Systems Interface (SCSI).
The system memory 1016 includes volatile memory 1020 and nonvolatile memory 1022. The basic input/output system (BIOS), containing the basic routines to transfer information between elements within the computer 1012, such as during start-up, is stored in nonvolatile memory 1022. By way of illustration, and not limitation, nonvolatile memory 1022 can include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable PROM (EEPROM), or flash memory. Volatile memory 1020 includes random access memory (RAM), which acts as external cache memory. By way of illustration and not limitation, RAM is available in many forms such as synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and direct Rambus RAM (DRRAM).
Computer 1012 also includes removable/non-removable, volatile/non-volatile computer storage media.
It is to be appreciated that
A user enters commands or information into the computer 1012 through input device(s) 1036. Input devices 1036 include, but are not limited to, a pointing device such as a mouse, trackball, stylus, touch pad, keyboard, microphone, joystick, game pad, satellite dish, scanner, TV tuner card, digital camera, digital video camera, web camera, and the like. These and other input devices connect to the processing unit 1014 through the system bus 1018 via interface port(s) 1038. Interface port(s) 1038 include, for example, a serial port, a parallel port, a game port, and a universal serial bus (USB). Output device(s) 1040 use some of the same type of ports as input device(s) 1036. Thus, for example, a USB port may be used to provide input to computer 1012, and to output information from computer 1012 to an output device 1040. Output adapter 1042 is provided to illustrate that there are some output devices 1040 like monitors, speakers, and printers, among other output devices 1040, which require special adapters. The output adapters 1042 include, by way of illustration and not limitation, video and sound cards that provide a means of connection between the output device 1040 and the system bus 1018. It should be noted that other devices and/or systems of devices provide both input and output capabilities such as remote computer(s) 1044.
Computer 1012 can operate in a networked environment using logical connections to one or more remote computers, such as remote computer(s) 1044. The remote computer(s) 1044 can be a personal computer, a server, a router, a network PC, a workstation, a microprocessor based appliance, a peer device or other common network node and the like, and typically includes many or all of the elements described relative to computer 1012. For purposes of brevity, only a memory storage device 1046 is illustrated with remote computer(s) 1044. Remote computer(s) 1044 is logically connected to computer 1012 through a network interface 1048 and then physically connected via communication connection 1050. Network interface 1048 encompasses communication networks such as local-area networks (LAN) and wide-area networks (WAN). LAN technologies include Fiber Distributed Data Interface (FDDI), Copper Distributed Data Interface (CDDI), Ethernet/IEEE 802.3, Token Ring/IEEE 802.5 and the like. WAN technologies include, but are not limited to, point-to-point links, circuit switching networks like Integrated Services Digital Networks (ISDN) and variations thereon, packet switching networks, and Digital Subscriber Lines (DSL).
Communication connection(s) 1050 refers to the hardware/software employed to connect the network interface 1048 to the bus 1018. While communication connection 1050 is shown for illustrative clarity inside computer 1012, it can also be external to computer 1012. The hardware/software necessary for connection to the network interface 1048 includes, for exemplary purposes only, internal and external technologies such as, modems including regular telephone grade modems, cable modems and DSL modems, ISDN adapters, and Ethernet cards.
What has been described above includes examples of the claimed subject matter. It is, of course, not possible to describe every conceivable combination of components or methodologies for purposes of describing the claimed subject matter, but one of ordinary skill in the art may recognize that many further combinations and permutations are possible. Accordingly, the claimed subject matter is 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.