SYSTEM, METHOD, AND DEVICE FOR COMMUNICATING WITH A FIELD DEVICE
A single communication device separate and distinct from each of a field device and a plurality of clients of data of the field device is configured to communicate with each of the field device and the plurality of clients of data of the field device, and is configured to be positioned in a communication path between the field device and the plurality of clients of data of the field device and between the plurality of clients of data of the field device to facilitate bi-directional communication between the field device and the plurality of clients of data of the field device and facilitate bi-directional communication between the plurality of clients of data of the field device. The single communication device selectively allows the plurality of clients of data of the field device to control the field device in response to data received from the field device.
Latest Comtrol Corporation Patents:
This application claims priority under 35 U.S.C. §119(e) to U.S. Provisional Patent Application Ser. No. 60/775,438, filed on Feb. 21, 2006, and incorporated herein by reference.
This application is related to U.S. Non-Provisional Patent Application Ser. No. ______, filed on even date herewith, having attorney docket number C511.101.102, and incorporated herein by reference.
BACKGROUNDA manufacturing facility may include various measurement and/or control equipment such as sensors, transmitters, and actuators, collectively referred to as field devices, on a plant floor level which are controlled or monitored by one or more control devices (e.g., a programmable logic controller (PLC)). To manage the various field devices, associated controllers and related systems, the manufacturing facility may include enterprise level business planning systems (e.g., enterprise resource planning (ERP)). As such, ERP directs production, at a strategic level, that is handled by the industrial equipment at a tactical level. In addition, information technology (IT) systems, also residing on the enterprise level, may be incorporated throughout the manufacturing facility.
Unfortunately, standard communication protocols of the field devices, associated controllers, enterprise level business planning systems, and IT systems are often different from one another. Thus, communication between the field devices, associated controllers, enterprise level business planning systems, and IT systems is often non-existent. In addition, both IT and the plant floor desire access to the same information sources, but have differing requirements for that information.
Existing solutions either add additional devices or pull all the information from the PLC. Pulling all the information from the PLC, however, requires the PLC to be “shared” between plant engineering and IT, thereby requiring significant cooperation between plant engineering and IT, and limits the information that IT can glean to what the PLC has stored. This method of pulling the information from the PLC, extends the PLC beyond its intended usage in managing operations control.
Accordingly, it is desirable to facilitate communication between a field device, a device controller, and an enterprise application.
SUMMARYOne aspect of the present invention provides a system for communicating between a field device, a device controller, and an enterprise application.
One aspect of the present invention provides a method of communicating between a field device, a device controller, and an enterprise application.
One aspect of the present invention provides a device for communicating between a field device, a device controller, and an enterprise application.
In the following detailed description, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural or logical changes may be made without departing from the scope of the present invention. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims.
Industrial device 200, as one embodiment of a field device, includes measurement and/or control equipment such as sensors, transmitters, and actuators. Exemplary devices include bar code scanners, weigh scales, radio frequency identification (RFID) readers, vision sensors/photo eyes, lidars, printers, displays, fare machines, and pressure/temperature sensors.
PLC 300, as one embodiment of a device controller, includes a logic device used to control and/or monitor an industrial/field device such as industrial device 200. As such, PLC 300 communicates with one or more industrial/field devices and, typically, implements a control routine or program instructions to provide automated control and/or monitoring functions of the one or more industrial/field devices to accomplish a specific operations or control task.
In one embodiment, server 400 hosts one or more enterprise applications 450. Enterprise application 450 is distinct from PLC 300 and may include, for example, a business application and/or database used by or for management and/or information technology (IT) systems or personnel. Examples of such applications or systems include an enterprise resource planning (ERP) system, a warehouse management system (WMS), a manufacturing execution system (MES), a business intelligence (BI) system, and a customer relationship management (CRM) system. In one embodiment, server 400 is internal to a company at which the operations are being performed and, in another embodiment, server 400 is external to the company (e.g., is a server of a business partner of the company).
As illustrated in the embodiment of
As described below, communication device 500 provides a platform for control, connectivity, and communication between industrial device 200 (e.g., weigh scale, barcode reader, RFID reader, vision system, sensor, etc.) and both a PLC 300 for industrial device 200 as well as an enterprise application 450 on server 400. As such, communication device 500 replicates received data from industrial device 200 and queues the data for sending to both PLC 300 as well as server 400. Thus, communication device 500 provides for sharing of information from industrial device 200 with both PLC 300 and server 400.
In one embodiment, communication device 500 facilitates communication (e.g., sending of control instructions, commands, configurations, etc.) from both PLC 300 and enterprise application 450 on server 400 to industrial device 200. As such, communication device 500 enables shared control of industrial device 200. More specifically, as described below, communication device 500 enables both PLC 300 and enterprise application 450 on server 400 to control industrial device 200.
Communication device 500, therefore, is provided in a communication path between PLC 300 and industrial device 200, and between enterprise application 450 and PLC 300. Accordingly, as described below, communication device 500 facilitates bi-directional communication between industrial device 200 and PLC 300, and facilitates bi-directional communication between industrial device 200 and enterprise application 450 on server 400. In one embodiment, bi-directional communication between industrial device 200 and PLC 300 is simultaneous with bi-directional communication between industrial device 200 and enterprise application 450 on server 400. In addition, in one embodiment, communication device 500 is provided in a communication path between enterprise application 450 and PLC 300. As such, communication device 500 facilitates communication between enterprise application 450 on server 400 and PLC 300.
In one embodiment, communication device 500 supports and/or includes an operating system (OS), one or more protocol stacks, a web server to allow configuration as well as make configurations and statistics available, and a JVM (Java Virtual Machine). In addition, communication device 500 may support and/or include other servers such as SNMP (Simple Network Management Protocol), Telnet, SSH (Secure Shell), and/or SSL (Secure Sockets Layer). In one exemplary embodiment, communication device 500 provides a software platform that supports Linux, eCos, Sun Java(™) ME, or Sun Java(™) Systems RFID software.
As illustrated in the embodiment of
In one embodiment, communication device 500 includes a packetizer 520, a PLC queue 530, and an application queue 540. Packetizer 520 includes a component that receives a byte stream of data from serial interface 510 and/or Ethernet interface 512 and arranges the data in packets. In addition, packetizer 520 replicates the data for sending to both PLC 300 and server 400. As such, packetizer 520 enqueues the packets of data on PLC queue 530 and application queue 540. In one embodiment, PLC queue 530 and application queue 540 each represent a first in first out (FIFO) data structure that allows a decoupling of the processing of items in the queue from the pushing of items onto the queue.
In one embodiment, communication device 500 also includes an industrial protocol converter 550 that converts data from industrial device 200 for communication with PLC 300. As such, PLC queue 530 communicates the data received from industrial device 200 with industrial protocol converter 550. Accordingly, industrial protocol converter 550 converts a format or protocol of data received from industrial device 200 to a format or protocol compatible with PLC 300. A compatible format or protocol includes, for example, formats or protocols native to and/or supported by PLC 300. In one embodiment, the communication protocol is an Ethernet protocol.
In one embodiment, converting data for communication with PLC 300 includes separating the component elements of the data into separate fields. For example, UPC (Uniform Product Code) or EPC (Electronic Product Code) data can be separated into their component Company, Product and other component identifiers. Although only one PLC queue 530 and one industrial protocol converter 550 are illustrated in
As illustrated in the embodiment of
In one embodiment, application 560 represents an embedded application which communicates with and is associated with or is a distributed part, component, or module of enterprise application 450 on server 400. As such, application 560 and enterprise application 450 on server 400 may be part of the same system. As an enterprise application, for example, application 560 may filter and/or analyze data before sending the data to enterprise application 450 on server 400. In one embodiment, application 560 is a manufacturing application and represents an embedded or hosted client application at the floor level. As a manufacturing application, for example, application 560 may analyze information from a number of industrial devices and suggest, for example, a need for maintenance or replacement of parts.
In one embodiment, application 560 converts or translates a format or communication protocol of data from industrial device 200 for communication with enterprise application 450 on server 400. More specifically, application 560 converts a format or protocol of the data to a format or protocol compatible with enterprise application 450. A compatible format or protocol includes, for example, formats or protocols native to and/or supported by enterprise application 450. For example, in one embodiment, an ALE (Application Level Events) stack may provide information to enterprise application 450 on server 400 by formatting RFID data into a protocol that enterprise application 450 can understand.
In one embodiment, communication device 500 provides for filtering of data received from industrial device 200. More specifically, communication device 500 provides for separate or distinct filtering of data received from industrial device 200 for PLC 300 and for enterprise application 450. For example, in one embodiment, data from industrial device 200 is filtered specifically or differently based on the particular needs of PLC 300 and enterprise application 450.
In one embodiment, industrial protocol converter 550 provides for filtering of data for PLC 300, and application 560 provides for filtering of data for enterprise application 450. Accordingly, after replication of data by packetizer 520, industrial protocol converter 550 filters data for PLC 300 and application 560 filters data for enterprise application 450. As such, different types of filtering may be applied to the data for PLC 300 and for enterprise application 450. In one embodiment, for example, application 560 provides for intelligent filtering of data in that data from industrial device 200 is “filtered” with knowledge of the application to which the data is to be applied.
In one embodiment, communication device 500 includes an Ethernet port or interface 570 for communicating with PLC 300 and server 400. As such, in one embodiment, industrial protocol converter 550 and application 560 both communicate with Ethernet interface 570. Ethernet interface 570, therefore, provides an interface for both PLC 300 and enterprise application 450. Accordingly, communication device 500 communicates with IT/enterprise applications on server 400 by using one or more protocols (TCP/IP, HTTP, SNMP, SOAP, etc).
In one embodiment, in addition to Ethernet interface 570, communication device 500 may also include a serial port (not shown) for communicating with PLC 300. As such, in one embodiment, communication device 500 communicates with PLC 300 over a serial, Ethernet, or Industrial Ethernet protocol. Communication device 500, therefore, may communicate with heterogeneous PLC environments over protocols such as Modbus/TCP, Modbus/RTU, PROFINET, PROFIBUS, and Ethernet/IP. Communication between communication device 500 and PLC 300 and/or server 400 includes communication along an electronic, infrared, optical or other data or wireless data transfer path.
Although only one Ethernet port or interface 570 is illustrated in
As represented by the communication paths of arrows 610 and 612, and arrows 650 and 660 in
As illustrated in the embodiment of
As illustrated in the embodiment of
In addition, in one embodiment, communication from PLC 300 to server 400 is routed through industrial protocol converter 550 to packetizer 520 along the communication path illustrated by dashed arrows 730 and 732. The communication is then routed to server 400 through application queue 540 and application 560, in the manner described above. Accordingly, the communication is routed to server 400 from Ethernet interface 570 along the communication path of arrow 780.
In one embodiment, in response to data from industrial device 200, application 560 on communication device 500 or enterprise application 450 on server 400 may produce a “business event” to which industrial device 200 is to be controlled with a certain response. As such, occurrence of the business event is communicated to PLC 300 whereby PLC 300 generates a “control event” for specific control of industrial device 200 in response to the business event. An example of a business event includes “What is the current inventory of product A?” and a corresponding control event includes “If the current inventory of product A is less than X, then operate industrial device B and industrial device C to count product A.” Another example includes a monitoring application on server 400 being informed of a product D on a conveyor that is not allowed. As such, the application on server 400 may signal to PLC 300 to stop the conveyor or reroute the product.
At industrial protocol converter 550 and application 560, industrial protocol converter 550 and application 560 encode or process the data as necessary for sending to PLC 300 (
In one embodiment, as described above, where industrial device 200 is “owned” or controlled by PLC 300, control messages are sent to industrial device 200 via industrial protocol converter 550 and packetizer 520. As such, data representing the control messages is sent to industrial device 200 via serial interface 510 or Ethernet interface 512. In one embodiment, as described above, where industrial device 200 is controlled by an application on server 400, control messages are sent to industrial device 200 via application 560 and packetizer 520. As such, data representing the control messages is sent to industrial device 200 via serial interface 510 or Ethernet interface 512.
As described above, communication device 500 provides a platform for control, connectivity, and communication between industrial device 200 (e.g., weigh scale, barcode reader, RFID reader, vision system, sensor, etc.) and both a PLC 300 for industrial device 200 as well as an enterprise application 450 on server 400. As such, in one embodiment, communication device 500 communicates directly with industrial device 200, PLC 300, and enterprise application 450. Thus, communication device 500 receives data directly from industrial device 200 and communicates data from industrial device 200 directly to PLC 300 and enterprise application 450. In addition, communication device 500 receives instructions or commands for industrial device 200 directly from PLC 300 and enterprise application 450 and communicates the instructions or commands directly with industrial device 200.
By including communication device 500 in communication system 100, communication device 500 makes data retrieved from industrial device 200 available to multiple “clients” of that data (e.g., PLC 300 and enterprise application on server 400). In addition, in one embodiment, communication device 500 intelligently allows one client, all clients, less than all clients, or no clients to control industrial device 200 (e.g., industrial device 200 can be exposed in a read/write way to one client and exposed in a read only way to the other clients, or communication device 500 can allow some commands to come from one client and allow other commands to come from another client). In addition, in one embodiment, communication device 500 translates the data's formatting (i.e., protocol) into the client's protocol, and, in one embodiment, filters the data sent to each client (e.g., PLC 300 may only want a portion of the data, but the enterprise application on server 400 may need all of the data). In addition, in one embodiment, communication device 500 prioritizes the data sent to each client such that high priority data can be sent first and sent with priority flags to ensure more timely delivery.
By including communication device 500 in communication system 100 as described above, communication system 100 provides a system for sharing data from a field device with both a device controller (PLC) and an enterprise application, supports a method for providing information from a field device to an enterprise application without significantly impacting the PLC/field device relationship, and supports a method for providing feedback from an enterprise application to a PLC. In addition, by including communication device 500 in communication system 100 as described above, communication system 100 provides a distributed architecture which allows real-time decisions at the enterprise level. In addition, by replicating data received from a field device and providing separate filtering of the data for the PLC and the enterprise application after replicating, communication device 500 can support the particular needs of the PLC and the enterprise application for data from the field device. Furthermore, by including communication device 500 in communication system 100 as described above, an enterprise application may reside entirely on server 400, may reside on server 400 and have a distributed component on communication device 500 (i.e., application 560), or may reside entirely on communication device 500 (i.e., application 560).
Although communication system 100, including communication device 500, has been described as being applied to a manufacturing environment, communication system 100, including communication device 500, may be applied to other environments including industrial, building automation, retail, and transportation environments. As such, communication system 100, including communication device 500, facilitate real-time decisions, while integrating into existing controls infrastructures in those environments.
Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that a variety of alternate and/or equivalent implementations may be substituted for the specific embodiments shown and described without departing from the scope of the present invention. This application is intended to cover any adaptations or variations of the specific embodiments discussed herein. Therefore, it is intended that this invention be limited only by the claims and the equivalents thereof.
Claims
1-40. (canceled)
41. A system for communicating with a field device, the system comprising:
- a single communication device separate and distinct from each of the field device and a plurality of clients of data of the field device, and configured to communicate with each of the field device and the plurality of clients of data of the field device,
- wherein the single communication device is configured to be positioned in a communication path between the field device and the plurality of clients of data of the field device and between the plurality of clients of data of the field device to facilitate bi-directional communication between the field device and the plurality of clients of data of the field device and facilitate bi-directional communication between the plurality of clients of data of the field device, and
- wherein the single communication device selectively allows the plurality of clients of data of the field device to control the field device in response to data received from the field device.
42. The system of claim 41, wherein the single communication device is configured to replicate data received from the field device and, after replication of the data, separately filter the data for each of the plurality of clients of data of the field device.
43. The system of claim 41, wherein the single communication device is configured to convert a format of data received from the field device to a format compatible with each of the plurality of clients of data of the field device.
44. The system of claim 41, wherein the single communication device is configured to prioritize data received from the field device for each of the plurality of clients of data of the field device.
45. The system of claim 41, wherein the field device comprises one of a sensor, a transmitter, and an actuator.
46. The system of claim 41, wherein the plurality of clients of data of the field device include a device controller for the field device.
47. The system of claim 41, wherein the plurality of clients of data of the field device include an application.
48. A method of communicating with a field device, the method comprising:
- positioning a single communication device in a communication path between each of the field device and a plurality of clients of data of the field device; and
- establishing separate and independent communications between the single communication device and each of the field device and the plurality of clients of data of the field device, including bi-directionally communicating between the field device and one of the plurality of clients of data of the field device via the single communication device, bi-directionally communicating between the field device and another of the plurality of clients of data of the field device via the single communication device, and bi-directionally communicating between the plurality of clients of data of the field device via the single communication device; and
- receiving data from the field device at the single communication device,
- wherein the single communication device selectively allows the plurality of clients of data of the field device to control the field device in response to data received from the field device.
49. The method of claim 48, further comprising:
- replicating data received from the field device with the single communication device, and, after replicating the data, separately filtering the data for each of the plurality of clients of data of the field device.
50. The method of claim 48, further comprising:
- converting a format of data received from the field device to a format compatible with each of the plurality of clients of data of the field device.
51. The method of claim 48, further comprising:
- prioritizing data received from the field device for each of the plurality of clients of data of the field device.
52. The method of claim 48, wherein the field device comprises one of a sensor, a transmitter, and an actuator.
53. The method of claim 48, wherein the plurality of clients of data of the field device include a controller for the field device.
54. The method of claim 48, wherein the plurality of clients of data of the field device include an application.
55. A communication device for communicating with a field device, the communication device comprising:
- a first interface configured to communicate with the field device, and a second interface configured to communicate with a plurality of clients of data of the field device, wherein the communication device is configured to be positioned in a communication path between the field device and the plurality of clients of data of the field device and between the plurality of clients of data of the field device, and the first interface and the second interface are configured to facilitate bi-directional communication between the field device and the plurality of clients of data of the field device through the communication device, and the second interface is configured to facilitate bi-directional communication between the plurality of clients of data of the field device through the communication device;
- a packetizer coupled to the first interface and configured to replicate data received from the field device for the plurality of clients of data of the field device;
- a protocol converter configured to filter the data for one of the plurality of clients of data of the field device after replication of the data by the packetizer and communicate the data with the one of the plurality of clients of data of the field device via the second interface; and
- an embedded application configured to filter the data for another of the plurality of clients of data of the field device after replication of the data by the packetizer and communicate the data with the another of the plurality of clients of data of the field device via the second interface,
- wherein the single communication device allows different control of the field device for each of the plurality of clients of data of the field device in response to data received from the field device.
56. The communication device of claim 55, wherein the communication device is configured to prioritize data received from the field device for each of the plurality of clients of data of the field device.
57. The communication device of claim 55, wherein the first interface comprises at least one of a serial interface and an Ethernet interface, and wherein the second interface comprises at least one of a serial interface and an Ethernet interface.
58. The communication device of claim 55, wherein the field device comprises one of a sensor, a transmitter, and an actuator.
59. The communication device of claim 55, wherein the plurality of clients of data of the field device include a device controller for the field device.
60. The communication device of claim 55, wherein the plurality of clients of data of the field device include an application.
Type: Application
Filed: Sep 11, 2012
Publication Date: Jan 3, 2013
Applicant: Comtrol Corporation (New Brighton, MN)
Inventors: Kris M. Rydberg (Shoreview, MN), Andrew J. Lunstad (Shoreview, MN), Herb Berscheid (Maple Grove, MN)
Application Number: 13/610,328