U.S. Pat. No. 6,446,202 (Krivoshein), which is incorporated by reference herein in its entirety, allegedly cites a “configuration system for use in a process control network having a controller, a first device network that communicates using a first input/output protocol, such as a Fieldbus or a HART device protocol, and an AS-Interface device network that communicates using an AS-Interface input/output communication protocol includes a configuration database that stores configuration information pertaining to the first device network and configuration information pertaining to the AS-Interface device network, a data access routine that automatically requests configuration information pertaining to the first device network and configuration information pertaining to the AS-Interface device network and a configurator that configures the AS-Interface device network based on the AS-Interface device network configuration information. The configurator stores the AS-Interface device network configuration information in the configuration database along with configuration information pertaining to the first device network. A documentation routine accesses the configuration database to display a process control documentation schematic illustrating the configuration of the first device network and the AS-Interface device network within the process control system.”
Certain exemplary embodiments comprise a method in a process control system, comprising: sensing a communications protocol of a communication arriving at a gateway from a fieldbus, the gateway comprising a fieldbus interface and a communications network interface; and in response to the sensed communications protocol, automatically adapting the gateway to run a protocol stack to allow communication between the fieldbus and a communications network.
A wide variety of potential embodiments will be more readily understood through the following detailed description, with reference to the accompanying drawings in which:
When the following terms are used herein, the accompanying definitions apply:
In modern process control systems, field devices can be communicatively coupled via a fieldbus to a programmable logic controller (PLC). Various fieldbus implementations can utilize similar communications architectures and identical physical layers within those architectures, yet different communications protocols for communications between the field devices and the PLC. Although field devices can be manufactured to operate under different fieldbus protocols, there can be a desire to couple those field devices to a PLC utilizing a single communications network to maintain communications consistency in a plant and reduce maintenance costs.
In certain exemplary embodiments, an adaptive gateway can communicatively couple one or more fieldbuses to a communications network that is coupled to a PLC. Any given fieldbus can utilize one communications protocol and the communications network can utilize a different communications protocol. In certain exemplary embodiments, the adaptive gateway can sense the protocol of a fieldbus and/or a communication received from or destined to that fieldbus, and can adapt to run the appropriate protocol stack to communicatively couple that fieldbus to the communications network. This capability can reduce the need to use different types of gateways to achieve the desired communications consistency. In certain embodiments, the detection of the protocol can occur at startup, and conversion can be locked to a particular protocol stack. For example, at startup, a fieldbus protocol and/or a communications network protocol can be detected and a suitable protocol stack for conversion therebetween can be selected. Alternatively, the detection can occur dynamically, thereby accommodating a protocol change after startup, and conversion can occur if and/or when needed. For example, for each communication received at the gateway, the gateway can dynamically sense the communications protocol of the communication, and, if needed, convert that communications protocol to be consistent with a destination communications protocol, such as a communications protocol of the intended recipient and/or a network coupled thereto.
Various exemplary embodiments of the adaptive fieldbus gateway can be provided in software, firmware, and/or hardware. In certain exemplary embodiments, the conversion capabilities of the adaptive fieldbus gateway can be modifiable, such as via downloading an update file to the gateway, to account for additional protocols and/or changes in existing protocols. In certain exemplary embodiments, the adaptive fieldbus gateway can interface multiple fieldbuses to a single communications network.
Communications network 1300 can be communicatively coupled to one or more PLC's 1320 and/or information devices 1340. Communications network 1300 can utilize any of a number of network communications protocols, including and/or excluding, for example, Profibus DP, Foundation Fieldbus H1, Foundation Fieldbus HSE, PROFInet, AS-i, Interbus, DeviceNet, HART, CAN, Modbus, Controlnet, WorldFIP, Ethernet, TCP/IP, IEEE 802.11, etc.
Gateway 1100 can be a fully automated device. Gateway 1100 can comprise one or more fieldbus interfaces 1400 and a communications network interface 1500. In certain embodiments, multiple fieldbus interfaces 1400 can utilize a similar and/or common physical layer, thereby allowing fieldbuses 1200, 1250 that utilize different protocols, but common physical layers, to connect to any available fieldbus interface 1400. For example, two fieldbus interfaces 1400 can utilize the same physical layer, and thus either can be physically connectable to, for example, a Profibus PA fieldbus at one time and a Foundation Fieldbus HI fieldbus at another time. As another example, a Profibus PA fieldbus and a Foundation Fieldbus HI fieldbus can both be physically connected to gateway 1100 simultaneously, and gateway can adapt to using a communication protocol stack corresponding to the Profibus PA fieldbus at one time and to the using a communication protocol stack corresponding to the Foundation Fieldbus HI fieldbus at another time.
Gateway 1100 can comprise a protocol sensor 1600 that can be configured to automatically sense a communications protocol associated with a communication. In certain exemplary embodiments, the sensed communication protocol can correspond to fieldbus 1200 or 1250. In certain exemplary embodiments, the sensed communication protocol can correspond to communications network 1300. In certain exemplary embodiments, the sensed communication protocol can correspond to a sender, transmitter, provider, upstream network, and/or incoming interface of gateway 1100, etc.
If the sensed communications protocol is different from a destination communications protocol (i.e., a communications protocol of a recipient, downstream intermediary, downstream network, and/or an outgoing interface of gateway. 1100) associated with the communication, the communication can be automatically passed to a protocol adapter 1700 that can be configured to automatically select a suitable communications protocol stack 1810, 1820, 1830 for the communication. A selected communications protocol stack 1810, 1820, 1830 can automatically convert the communication protocol of the communication from the sensed communication protocol to the destination communications protocol. Once the communications protocol of the communication has been converted, or if there is no need to convert the communications protocol, the gateway can automatically forward the communication toward the destination and/or a network coupled thereto.
Thus, gateway 1100 can communicatively couple the fieldbus to the communications network. In certain exemplary embodiments, gateway 1100 can convert the protocol of multiple communications simultaneously and/or near simultaneously, using, for example, time-slicing, channelization, multiplexing, distributed processing, and/or parallel processing, etc., techniques.
As used herein, the term “information device” means any device capable of processing information, such as any general purpose and/or special purpose computer, such as a personal computer, workstation, server, minicomputers mainframe, supercomputer, computer terminal, laptop, wearable computer, and/or Personal Digital Assistant (PDA), mobile terminal, Bluetooth device, communicator, “smart” phone (such as a Handspring Treo-like device), messaging service (e.g., Blackberry) receiver, pager, facsimile, cellular telephone, a traditional telephone, telephonic device, a programmed microprocessor or microcontroller and/or peripheral integrated circuit elements, an ASIC or other integrated circuit, a hardware electronic logic circuit such as a discrete element circuit, and/or a programmable logic device such as a PLD, PLA, FPGA, or PAL, or the like, etc. In general any device on which resides a finite state machine capable of implementing at least a portion of a method, structure, and/or or graphical user interface described herein may be used as an information device. An information device can include well-known components such as one or more network interfaces, one or more processors, one or more memories containing instructions, and/or one or more input/output (I/O) devices, one or more user interfaces, etc.
As used herein, the term “processor” means a device for processing machine-readable instruction. A processor can be a central processing unit, a local processor, a remote processor, parallel processors, and/or distributed processors, etc. The processor can be a general-purpose microprocessor, such the Pentium III series of microprocessors manufactured by the Intel Corporation of Santa Clara, Calif. In another embodiment, the processor can be an Application Specific Integrated Circuit (ASIC) or a Field Programmable Gate Array (FPGA) that has been designed to implement in its hardware and/or firmware at least a part of an embodiment disclosed herein.
As used herein, a “memory device” means any hardware element capable of data storage, such as for example, a non-volatile memory, volatile memory, Random Access Memory, RAM, Read Only Memory, ROM, flash memory, magnetic media, a hard disk, a floppy disk, a magnetic tape, an optical media, an optical disk, a compact disk, a CD, a digital versatile disk, a DVD, and/or a raid array, etc.
As used herein, the term “firmware” means machine-readable instructions that are stored in a read-only memory (ROM). ROM's can comprise PROMs and EPROMs.
As used herein, the term “I/O device” means any sensory-oriented input and/or output device, such as an audio, visual, haptic, olfactory, and/or taste-oriented device, including, for example, a monitor, display, projector, overhead display, keyboard, keypad, mouse, trackball, joystick, gamepad, wheel, touchpad, touch panel, pointing device, microphone, speaker, video camera, camera, scanner, printer, haptic device, vibrator, tactile simulator, and/or tactile pad, potentially including a port to which an I/O device can be attached or connected.
As used herein, the term “haptic” means both the human sense of kinesthetic movement and the human sense of touch. Among the many potential haptic experiences are numerous sensations, body-positional differences in sensations, and time-based changes in sensations that are perceived at least partially in non-visual, non-audible, and non-olfactory manners, including the experiences of tactile touch (being touched), active touch, grasping, pressure, friction, traction, slip, stretch, force, torque, impact, puncture, vibration, motion, acceleration, jerk, pulse, orientation, limb position, gravity, texture, gap, recess, viscosity, pain, itch, moisture, temperature, thermal conductivity, and thermal capacity.
As used herein, the term “user interface” means any device for rendering information to a user and/or requesting information from the user. A user interface includes at least one of textual, graphical, audio, video, animation, and/or haptic elements. A textual element can be provided, for example, by a printer, monitor, display, projector, etc. A graphical element can be provided, for example, via a monitor, display, projector, and/or visual indication device, such as a light, flag, beacon, etc. An audio element can be provided, for example, via a speaker, microphone, and/or other sound generating and/or receiving device. A video element or animation element can be provided, for example, via a monitor, display, projector, and/or other visual device. A haptic element can be provided, for example, via a very low frequency speaker, vibrator, tactile stimulator, tactile pad, simulator, keyboard, keypad, mouse, trackball, joystick, gamepad, wheel, touchpad, touch panel, pointing device, and/or other haptic device, etc.
A user interface can include one or more textual elements such as, for example, one or more letters, number, symbols, etc. A user interface can include one or more graphical elements such as, for example, an image, photograph, drawing, icon, window, title bar, panel, sheet, tab, drawer, matrix, table, form, calendar, outline view, frame, dialog box, static text, text box, list, pick list, pop-up list, pull-down list, menu, tool bar, dock, check box, radio button, hyperlink, browser, button, control, palette, preview panel, color wheel, dial, slider, scroll bar, cursor, status bar, stepper, and/or progress indicator, etc. A textual and/or graphical element can be used for selecting, programming, adjusting, changing, specifying, etc. an appearance, background color, background style, border style, border thickness, foreground color, font, font style, font size, alignment, line spacing, indent, maximum data length, validation, query, cursor type, pointer type, autosizing, position, and/or dimension, etc. A user interface can include one or more audio elements such as, for example, a volume control, pitch control, speed control, voice selector, and/or one or more elements for controlling audio play, speed, pause, fast forward, reverse, etc. A user interface can include one or more video elements such as, for example, elements controlling video play, speed, pause, fast forward, reverse, zoom-in, zoom-out, rotate, and/or tilt, etc. A user interface can include one or more animation elements such as, for example, elements controlling animation play, pause, fast forward, reverse, zoom-in, zoom-out, rotate, tilt, color, intensity, speed, frequency, appearance, etc. A user interface can include one or more haptic elements such as, for example, elements utilizing tactile stimulus, force, pressure, vibration, motion, displacement, temperature, etc.
In certain exemplary embodiments, via one or more user interfaces 3600, such as a graphical user interface, a user can program gateway 1100 and/or initiate a communication that can be converted by gateway 1100.
Still other embodiments will become readily apparent to those skilled in this art from reading the above-recited detailed description and drawings of certain exemplary embodiments. It should be understood that numerous variations, modifications, and additional embodiments are possible, and accordingly, all such variations, modifications, and embodiments are to be regarded as being within the spirit and scope of the appended claims. For example, regardless of the content of any portion (e.g., title, field, background, summary, abstract, drawing figure, etc.) of this application, unless clearly specified to the contrary, there is no requirement for the inclusion in any claim of the application of any particular described or illustrated activity or element, any particular sequence of such activities, or any particular interrelationship of such elements. Moreover, any activity can be repeated, any activity can be performed by multiple entities, and/or any element can be duplicated. Further, any activity or element can be excluded, the sequence of activities can vary, and/or the interrelationship of elements can vary. Accordingly, the descriptions and drawings are to be regarded as illustrative in nature, and not as restrictive. Moreover, when any number or range is described herein, unless clearly stated otherwise, that number or range is approximate. When any range is described herein, unless clearly stated otherwise, that range includes all values therein and all subranges therein. Any information in any material (e.g., a United States patent, United States patent application, book, article, etc.) that has been incorporated by reference herein, is only incorporated by reference to the extent that no conflict exists between such information and the other statements and drawings set forth herein. In the event of such conflict, including a conflict that would render a claim invalid, then any such conflicting information in such incorporated by reference material is specifically not incorporated by reference herein.