The subject invention relates to industrial control systems and, more particularly, to integration of industrial automation functionality into a network infrastructure device, such as a switch, a router, a gateway, and a proxy.
Due to advances in computing technology, businesses today are able to operate more efficiently when compared to substantially similar businesses only a few years ago. For example, internal networking enables employees of a company to communicate instantaneously by email, quickly transfer data files to disparate employees, manipulate data files, share data relevant to a project to reduce duplications in work product, etc. Furthermore, advancements in technology have enabled factory applications to become partially or completely automated. For instance, operations that once required workers to put themselves proximate to heavy machinery and other various hazardous conditions can now be completed at a safe distance therefrom.
Further, imperfections associated with human action have been minimized through employment of highly precise machines. Many of these factory devices supply data related to manufacturing to databases that are accessible by system/process/project managers on a factory floor. For instance, sensors and associated software can detect a number of instances that a particular machine has completed an operation given a set amount of time. Further, data from sensors can be delivered to a processing unit relating to system alarms. Thus, a factory automation system can review collected data and automatically and/or semi-automatically schedule maintenance of a device, replacement of a device, and other various procedures that relate to automating a process.
In today's industrial environments, however, transfer of data between programmable logic controllers, sensors, and actuators is insufficient for complete automation. Rather, seamless communication between various levels of systems is desirable to enable automation from product ordering down to manufacturing. To effectuate such seamless communication, today's industrial environments employ various networking protocols, cables, and the like across disparate systems. For instance, programmable logic controllers are employed to control actuators based upon sensed inputs (from sensors), and communication is undertaken in a binary fashion between the programmable logic controller and the sensors/actuators by way of a first communication protocol. One or more automation servers (e.g., desktop computers above the factory floor) can be employed to provide the programmable logic controller with control logic, and can communicate such logic over a second communication protocol. The automation server in turn can receive enterprise information, such as ordering information, from an information server or other suitable information system. Communications between the information server and automation server are often undertaken over an internet protocol, such as Ethernet.
Thus, disparate hardware (e.g., cabling, plugs, . . . ) is often necessary to communicate over the different protocols. Furthermore, mapping between different applications being communicated over disparate protocols can be problematic, as well as maintaining security over the different protocols. Furthermore, various computing devices are often dedicated to mapping between applications, thereby increasing expense and complexity of industrial automation systems.
The following presents a simplified summary of the claimed subject matter in order to provide a basic understanding of some aspects described herein. This summary is not an extensive overview, and is not intended to identify key/critical elements or to delineate the scope of the claimed subject matter. Its sole purpose is to present some concepts in a simplified form as a prelude to the more detailed description that is presented later.
The claimed subject matter relates to utilizing a communication infrastructure device within an industrial environment to execute industrial automation applications. For example, the communication infrastructure device can be a network switch, a router, a proxy, a gateway, a firewall, a virtual private network, or any suitable combination thereof. The integration of industrial automation application capabilities into a communication infrastructure device enables continuation of migration to an industrial automation system that communicates a vast majority of data over Ethernet. Further, security is centralized, as number of devices within an industrial automation environment can be vastly reduced.
In accordance with one aspect described in more detail herein, a communication infrastructure device can include an interface component that receives a data packet, and a processor that executes an industrial automation application based at least in part upon content of the data packet. For example, the data packet can be delivered from a factory floor device, such as a sensor, and received at the communication infrastructure device. The communication infrastructure device can recognize origin of the data packet, and thereafter perform functionality that is substantially similar to that of a programmable logic controller. In other words, the communication infrastructure device can include hardware and/or software that enables such communication infrastructure device to act as a programmable hardware controller. Accordingly, the communication infrastructure device can cause operation of actuators, drives, and the like to alter based upon control logic and the received data.
While the communication infrastructure device has been described as including programmable logic controller functionality, it is understood that any suitable industrial automation application can be executed by the communication infrastructure device. For instance, functionality associated with automation servers can be included within the communication infrastructure device. Furthermore, functionality associated with information servers and/or other higher-level systems can be included within the communication infrastructure device. Thus, entireties of industrial automation systems can be included within communication infrastructure devices.
To the accomplishment of the foregoing and related ends, certain illustrative aspects of the invention are described herein in connection with the following description and the annexed drawings. These aspects are indicative, however, of but a few of the various ways in which the principles of the invention can be employed and the subject invention is intended to include all such aspects and their equivalents. Other advantages and novel features of the invention will become apparent from the following detailed description of the invention when considered in conjunction with the drawings.
The claimed 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 claimed 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” 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. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an instance, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a computer and the computer 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, the claimed 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 the disclosed subject matter. 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 . . . ), optical disks (e.g., compact disk (CD), digital versatile disk (DVD) . . . ), smart cards, and flash memory devices (e.g., card, stick, key drive . . . ). 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 the claimed subject matter. Moreover, the word “exemplary” is used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs.
Turning now to the drawings,
While the communication infrastructure apparatus 100 can include enhanced functionality, such apparatus 100 can also be utilized to undertake conventional tasks. For instance, if the communication infrastructure apparatus 100 is a network switch, such switch can be employed to connect network segments, which can be Ethernet, Token Ring, Fiber Channel, or any other suitable type of network segments. When a frame enters the communication infrastructure apparatus 100, such apparatus 100 can save an originating address and originating port in an address table, and thereafter selectively transmit the frame from specific ports based upon the frame's destination address and previous entries in the address table. For example, the address can be a MAC address, and the address table can include various MAC addresses. If the address is unknown, then the communication infrastructure apparatus 100 can output the frame to all connected interfaces (except the incoming port). If the address is known, the frame can be forwarded to a corresponding port in the address table, and if the destination port is identical to the originating port, the frame can be filtered (and prevented from being forwarded).
Similarly, if the communication infrastructure apparatus 100 is a router, such apparatus 100 can perform conventional routing functions. As is known, a router is a networking device that forwards data packets to an appropriate destination. In more detail, a router acts as a connecting bridge between two disparate networks and transfers data packets therebetween (in contrast to a switch, which connects devices to a local network). The communication infrastructure apparatus 100 can route data packets associated with Internet Protocol (IP) as well as any other suitable protocols, and can be an edge router, a core router, or any other suitable router. Furthermore, the communication infrastructure apparatus 100 can create and/or maintain a table that stores optimal routes to particular network destinations and “routing metrics” associated with such routes.
In another example, the communication infrastructure apparatus 100 can be a gateway, which is a network node for interfacing networks that utilize disparate protocols. The communication infrastructure apparatus 100 can include devices such as protocol translators, impedance matching devices, rate converters, fault isolators, or signal translators as necessary to provide system interoperability. In still another example, the communication infrastructure apparatus 100 can be a proxy, which is a computer network device and/or service that provides clients with an ability to indirectly connect to other network devices and/or services. For instance, a client can connect to the communication infrastructure apparatus 100, and request a connection, file, or other resource available on a server. The communication infrastructure apparatus 100 provides a resource, possibly connecting to the specified server, or by serving the client from a cache.
As can be discerned from the above, the communication infrastructure apparatus 100 can be employed to undertake conventional networking activities, such as switching, routing, protocol conversion, and the like. The communication infrastructure apparatus 100, however, can also be employed to effectuate industrial automation functions. In more detail, the communication infrastructure apparatus can include an interface component 102 that receives a data packet 104. The interface component 102 can be hardware, software, or a combination of hardware and software that facilitates receipt and/or delivery of data with respect to the communication infrastructure device 100. For example, the interface component 102 can include cabling and/or ports and/or adaptors that enable receipt of data delivered by way of a Common Industrial Protocol (CIP), DeviceNet, ControlNet, Hart, ProfiBus, Ethernet, EtherNet/IP, or any other suitable networking protocol. Furthermore, the interface component 102 can be utilized to one or more of sensors, actuators, digital I/O devices, and analog I/O devices. In other words, the communication infrastructure apparatus 100 can include direct network interfaces, thereby enabling low-level switches to be more integrated within an industrial automation system. The data packet 104 can include source information, destination information, protocol information, application identifiers, application data, and any other suitable data. Thus, the data packet 104 can be encoded for transmission over a particular link, and thus can include delimiters to distinguish the data packet 104 from dead air, address and control fields specific to a data link, as well as checksums to detect errors.
The interface component 102 can be communicatively coupled to a processor component 106 that can analyze the data packet 104 and undertake application-specific operations thereon. More specifically, in addition to providing functionality and services associated with conventional communication infrastructure devices, the communication infrastructure apparatus 100 can employ the processor 106 to execute an industrial automation application 108. For instance, the communication infrastructure apparatus 100 can include thereon (in memory or other electronic data storage) software and/or hardware required to execute the industrial automation application 108. In a particular example, the industrial automation application 108 can include functionality typically associated with a programmable logic controller (PLC). In other words, the communication infrastructure apparatus 100 can include a PLC. Therefore, the communication infrastructure apparatus 100 can be communicatively coupled to a plurality of industrial automation devices, such as actuators, sensors, drives, etc., and perform control functionality upon the devices. Thus, the communication infrastructure apparatus can operate as a PLC and a switch, router, gateway, proxy, or the like. It is understood, however, that PLC functionality is just a portion of functionality that can be effectuated by the communication infrastructure apparatus 100. For instance, the communication infrastructure apparatus 100 can be associated with functionality typically associated with an automation server, an information server, or other information system that is associated with industrial automation.
To provide additional context for the communication infrastructure apparatus 100, several exemplary functionalities that can be undertaken by such apparatus 100 are provided below. It is to be understood that the claimed subject matter is intended to include such examples, and these examples are not meant to be limitative in any manner. The industrial automation application 108 can relate to a safety function. For instance, a workcell on a factory floor can include a safety mat and/or a pushbutton, wherein lack of weight on the safety mat and/or depression of the pushbutton can cause an industrial process to at least temporarily cease. In some instances, however, maintenance personnel may need to position themselves in close proximity to operating machinery to diagnose a problem—therefore, a safety function may need to be overridden. This type of functionality (as well as other safety-related functionality) can exist within the industrial automation application 108, which can be executed by the processor component 106. In one particular example, separate systems can exist for safety applications and/or can exist by way of modification and/or plug-ins to a protocol. Any suitable safety function, however, can be included within the industrial automation application 108.
In another example, the industrial automation application 108 can relate to time-based automation, and the processor component 106 can execute such time-based automation. Often, time-based systems relate to a distributed series of commands that must occur at specified times. Accordingly, a queue of commands can exist, wherein such commands are to be executed at particular times. These commands can be, for example, provided to the communication infrastructure apparatus 100 over IEEE 1588.
Providing the communication infrastructure apparatus 100 with an ability to execute the industrial automation application 108 enables various benefits, including elimination of ownership issues between information technology personnel and shop floor personnel for administration and maintenance of factory floor devices, as a single backplane will exist (e.g., a switch backplane, a router backplane, . . . ). Further, the processor 106 can transform messages delivered in an industrial network protocol (e.g., CIP) to XML-based messages, thereby enabling Web services and other features for legacy devices. This transformation enhances performance and reliability, enables centralization of security, and provides for more efficient management of an industrial automation system. Moreover, the communication infrastructure apparatus 100 can be attached to OEM equipment and shipped to a plant, which can then integrate the OEM equipment within a current industrial system. The communication infrastructure apparatus 100 can include plug-and-play functionality if attached to OEM equipment, for instance.
With more detail with respect to the data packet 104, such packet can be received and/or relayed by way of a protocol based upon IP protocols, which can include TCP, UDP, ICMP, and IGMP, Ethernet protocols, or any other suitable protocol. Furthermore, a communication of the data packet 104 to and/or from an industrial automation device can be based upon Web Services, message queues, exchange of XML data (which can be in a binary format or associated with a binary attachment), CIP. Moreover, communication of the data packet 104 can be in a wireless or wireline manner, such as by way of a protocol such as IEEE 802.11 a/b/g, WiMax, ZigBee, Bluetooth, GSM, CDMA cellular, OFDMA, etc. In another aspect, the data packet 104 can be communicated over power lines, and the communication infrastructure device 100 can include software/hardware to reduce noise associated with such lines. In another specific example, the data packet 104 can include process/machine location and/or such information can be generated internally by the communication infrastructure apparatus 100. For instance, the industrial communication apparatus 100 can be utilized to determine a location, based upon cable length. In another example, the data packet 104 can include GPS information or other location information. This location information can, for instance, be utilized in connection with a safety application (as described above) and/or a security function.
Now referring with more detail to the industrial automation application 108 that is executed by the processor component 106, such application 108 can be solely a software function, can relate to a programmable logic controller, an I/0 concentrator, an HMI server, a motion controller, a batch engine, a DCS, a historian, a configuration archival system, an automation protocol proxy, an automation protocol firewall, or any suitable combination thereof, or can be associated with hardware attachments to the communication infrastructure apparatus 100 by way of hardware attachments (e.g., through a modular expansion scheme). Furthermore, the industrial automation application 108 can be employed to interface to industrial networks, such as DeviceNet, ControlNet, EtherNet/IP, Foundation Fieldbus, HART, Profibus, Profinet, Remote I/0, DH-485, DH+, Modbus, and ASi. In still another example, the industrial automation application 108 can relate to security functions, such as verification of a device, a user, security features for industrial devices, or the like, as well as safety functions. In yet another example, the data packet 104 can include data that is associated with Business Process Execution Language (BPEL) (which is stored on the infrastructure communication device 100 or accessible to such device 100), and the industrial automation application 108 can be employed to process such data and deliver it to an appropriate industrial system and/or device. Furthermore, the industrial automation application can participate in a Manufacturing Execution System by way of standards-based messaging, wherein the standards include S95, S88, B2MML, and OAGIS.
Now turning to
Results of the review of the data packet 204 undertaken by the interrogation component 206 can be delivered to a processor component 208, which can select an industrial automation application from an industrial automation application store 210. In other words, the communication infrastructure apparatus 200 can execute a plurality of industrial automation applications depending upon content of the data packet 204. Furthermore, the data packet 204, preceding data packets, and/or subsequent data packets can relate to a process that utilizes various disparate industrial automation applications (such as a business process). The communication infrastructure device 200, through utilization of the interrogation component 206, the processor 208, and at least two applications within the industrial automation application store, can effectuate execution of the business process. Furthermore, given a particular sequence of data packets, certain industrial automation applications can be invoked and executed. For instance, the communication infrastructure apparatus 200 can include memory 212 that stores disparate sequences of data packets that invoke particular industrial automation applications (and/or sequences of industrial automation applications).
In still another example, the communication infrastructure apparatus 200 can include multiple processor components, thereby enabling parallel processing of a single application and/or simultaneous invocation and execution of disparate industrial automation applications. For instance, the communication infrastructure apparatus 200 can include multiple inputs and outputs, and can simultaneously receive numerous data packets. Due to expediency often required in industrial automation, various industrial automation tasks may need to occur simultaneously in order to meet automation system requirements. In still yet another example, at least one industrial automation application within the industrial automation application store 210 can utilize semantic methods, which enables conversion of information between formats. In a specific example, semantic methods can be utilized to convert data in a legacy format to a format that is utilized by a more modem system. Furthermore, semantic methods can be employed to facilitate plug-and-play functionality with the communication infrastructure apparatus 200.
Now referring to
In an exemplary operation of the system 300, the device 306 can be a sensor that delivers sensor data to the communication infrastructure device 302. The communication infrastructure device 302 determines a source of data (the device 306), and a desired destination for the data (e.g., the programmable logic controller 304). The programmable logic controller 304 can then review the data (knowing the source of the data) and provide instructions to a disparate device based upon such received data. For instance, the data from the device 306 can indicate that more liquid should be extracted from a pump, and the programmable logic controller 304 can cause the device 308 (which can be a pump) to provide additional liquid. Again, as the communication infrastructure device 302 can execute industrial automation applications, such communication infrastructure device 302 can act as both a switch, router, etc. and a PLC.
Turning now to
Conventional automation servers also typically include automation-specific middleware applications (such as OPC), which is software that facilitates connection of the PLCs 406-410 into higher-level systems. In the system 400, however, such middleware may not be required, as PLCs, automation servers, and higher-level systems can all reside on a substantially similar platform (e.g., on a communication infrastructure device or a plurality of communication infrastructure devices). The communication infrastructure device 502 can, however, execute other functionality associated with conventional automation servers. For instance, it can analyze data—more particularly, the communication infrastructure device 502 can review time series data for variations in timing that indicate equipment failure, or any other suitable data analysis, such as relating temperatures to other process measurements to quality information.
Turning now to
In operation, the communication infrastructure device 502 can be communicatively coupled to one or more information servers or other higher-level systems (not shown). These information servers or other higher-level systems can be utilized to control orders that relate to manufacturing. Furthermore, information servers can be associated with the Internet, as well as supply chain and management resources. The communication infrastructure device 502 can include hardware/software that facilitates mapping data between the information servers and the automation server 504 within the communication infrastructure device 502. The automation server 504 can perform duties conventionally associated with automation servers, such as communicate with the programmable logic controller 506. The programmable logic controller 506 in turn can communicate with the devices 508-512. Furthermore, legacy devices are not problematic within the system 500, as most legacy devices are associated with Ethernet adaptors. Thus, the communication infrastructure device 502 can be quickly and easily interconnected with legacy devices.
Now turning to
The system 600 further includes a data store 606 that can be accessed by the communication infrastructure device 602 to perform duties associated with the information server 604. The data store 606 can be existent on a disparate communication infrastructure device (not shown) or any other suitable piece of equipment on the network. The data store 606 can include backup data relating to the communication infrastructure device 602. Therefore, if such device is replaced on the network, downtime will be mitigated (as the replacement device will be quickly populated with data that enables it to act as the replaced device). Thus, if the communication infrastructure device 602 malfunctions, it can quickly and easily be replaced. The communication infrastructure device 602 can also be communicatively coupled to one or more automation servers 608-612, which can be conventional automation servers and/or automation servers embedded within disparate communication infrastructure devices. In another example, the one or more automation servers 608-612 can be embedded within a PLC. It can thus be discerned that any suitable arrangement of automation servers are contemplated by the inventors, and all such arrangements are intended to fall under the scope of the hereto-appended claims.
Referring now to
Now turning to
The interrogation component 806 can then inform a processor component 808 that an industrial automation application is desirably executed based at least in part upon contents of the data packet 804. The processor component 808 then can access an industrial automation application store 810 to retrieve and execute a desirable application. The application can, for example, relate to a programmable logic controller and/or functions conventionally associated therewith. The communication infrastructure apparatus 800 can further include a machine-learning component 812 that can aid the interrogation component 806 in determining an industrial automation application that is desirably executed upon the communication infrastructure device 800. For instance, given previous use and/or current context, the machine-learning component 812 can generate inferences relating to an application to execute.
As used herein, the term “inference” refers generally to the process of reasoning about or inferring states of the system, environment, and/or user from a set of observations as captured via events and/or data. Inference can be employed to identify a specific context or action, or can generate a probability distribution over states, for example. The inference can be probabilistic—that is, the computation of a probability distribution over states of interest based on a consideration of data and events. Inference can also refer to techniques employed for composing higher-level events from a set of events and/or data. Such inference results in the construction of new events or actions from a set of observed events and/or stored event data, whether or not the events are correlated in close temporal proximity, and whether the events and data come from one or several event and data sources. Various classification schemes and/or systems (e.g., support vector machines, neural networks, expert systems, Bayesian belief networks, fuzzy logic, data fusion engines . . . ) can be employed in connection with performing automatic and/or inferred action. Thus, in one example, the data packet 804 can be subject to noise which renders at least a portion of the data therein unreliable. Based at least in part upon previous received data and/or previous applications executed, the machine-leaming component 812 can infer an application (or series of applications) which should be executed.
The communication infrastructure apparatus 800 can further include a buffer 814 that can be utilized to buffer data as it is received by the communication infrastructure apparatus 800. For example, industrial automation environments can include a substantial amount of data—more than which can be processed at a particular point in time. Thus, the buffer 814 can be utilized to create data queues and organize data according to priority. Buffered data can be contemplated by the processor component 808 based upon location of data within the queues. The communication infrastructure apparatus can also include a security component 816 that can undertake security measures based upon content of the data packet 804. For instance, the data packet 804 can include data relating to source of data, and appropriate security measures can be undertaken by way of the security component 816 based upon such source. In another example, the data packet 804 can be associated with metadata, which can indicate time of creation of the data packet 804, operator associated with the data packet 804, and any other suitable metadata. The security component 816 can then undertake security measures based at least in part upon such metadata.
Referring to
Turning specifically to
Now turning to
Referring now to
Now referring to
What has been described above includes examples of the invention. It is, of course, not possible to describe every conceivable combination of components or methodologies for purposes of describing the subject invention, but one of ordinary skill in the art may recognize that many further combinations and permutations of the invention are possible. Accordingly, the invention 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.