The present invention generally relates to an industrial automation system for monitoring and controlling field devices within a distributed digital control system. More specifically, the present invention relates to communication networks and protocols for real time communication between and among simple devices, intelligent devices, as well as other devices.
The use of Ethernet-Internet Protocol (IP) networks is very large within applications in the Information Technology filed. Up to now, in industrial control and automation applications, Ethernet-IP networks have been used mainly to transfer non time-critical information.
For example, although the LIP Ventera range of products uses a publisher/subscriber relationship integrated in the Tibco protocol, the HP Ventura is not optimized for real time automation applications, e.g. not providing any timeliness of published data.
The present invention is a Distributed Data solution for industrial control over Ethernet-IP networks. The purpose of this invention is to provide means to transfer over an Ethernet-IP network time-critical information between devices participating in a large industrial control or automation solution. Known technology includes the Client/Server relationship using Modbus (PI-MBUS-300) or other traditional messaging application layer protocol. The present invention, by using publisher/subscriber relationship, IP multicasting and broadcasting solutions, and data validation means using timeliness statuses, provides better performance, low cost of devices using this solution, as well as capability for direct communication between devices. Moreover, performance achieved with this solution answers the needs of the most demanding real-time automation applications. In addition, the simplicity of the solution provides capability to integrate it in simple and low cost devices. Furthermore, direct communication between devices reduces the cost of the global application.
This present invention can, therefore, be used in all applications where traditional device buses or fieldbuses are used today (for example, DeviceNet, ControlNet, Fieldbus Foundation, Profibus, Modbus+, Word1FIP, Interbus-S, etc.). Applications of the present invention can include, for example, Industrial Control, Automation, Process Control, Electrical Distribution, Building Automation, and other applications.
In accordance with the present invention, a communication system is provided for communication within a control system. The communication system has a plurality of simple devices connected to an intra-level communications network, each simple device being adapted to directly exchange data with the other simple devices. The communications system also has at least one intelligent device connected to the intra-level communications network, each intelligent device being adapted to directly exchange data with each simple device on the intra-level communications network. The communication system can have a plurality of intra-level communications networks. The intra-level communications networks can be directly connected by an intra-level core connector or by an inter-level core connector through an inter-level network of the intelligent devices.
Other advantages and aspects of the present invention will become apparent upon reading the following description of the drawings and detailed description of the invention.
While this invention is susceptible of embodiment in many different forms, there is shown in the drawings and will herein be described in detail a preferred embodiment of the invention with the understanding that the present disclosure is to be considered as an exemplification of the principles of the invention and is not intended to limit the broad aspect of the invention to the embodiments illustrated.
With reference to the Figures, Ethernet can be used as a device level 1 network (referred to herein as a Ethernet level 1 core) which can include sensor buses and focuses on the need to sample the physical manufacturing environment and to provide real-time data samples to a control level for decision making. Messaging application layer services, such as provided by Modbus, above the internet secured tranport layer-internet network layer (TCP-IP) can be use as a basic solution. For the most demanding applications with high performance requirements, other solutions have been studied and evaluated. The real time distributed data base (RTDDB) solution, using multicasting capabilities of the internet user datagram protocol (UDP) transport layer, makes the best possible use of the Ethernet with high performance. It can be used in addition to, for example, Modbus.
For reference, the following is a glossary of terms used herein: (1) Modbus is a messaging application layer (Read/Write services) used as a basic applicative solution and also used for RTDDB configuration; (2) RTDDB is a new application layer services and protocol specified by the present specification providing efficient communication on Ethernet level 1 network using UDP multicasting capabilities; (3) Agents are network management configured devices; (4) a Manager is a device providing network management configuration to agents; (5) Simple devices usually are directly connected to the process (e.g. to perform measurements, input acquisition, to provide outputs, and the like) They also are agent devices. Examples are input/output (I/O) devices, drives and motor control centers (MCCs); (6) Intelligent devices are programmable. They may be managers. Examples are personal computers (PCs), programable logic controllers (PLCs), specialized programmable devices, Hub Machine Interfaces (HMIs) and gateways; Messaging exchanges are other non RTDDB exchanges in system; (7) Refreshment status is associated with a data sent by a device on the network. It indicates that the data publisher is functioning. Refreshment is useful when communication still cyclically sends data on the network even if the data itself is invalid, because the data publisher is not functioning. Refreshment can use for example a timer, which is set each time the publisher writes data in the communication part of the device and wherein refreshment is valid until the timer expires; (8) Promptness status indicates that the data read from the communication system is not too old. Promptness is useful when the application part of the device still cyclically reads data from its communication part, even if the data itself is invalid, because the network is not functioning. Promptness status uses a timer, which is set each time the network writes data in the communication part of the device and wherein promptness is valid until the timer expires.
On Ethernet level 1 core network, the RTDDB solution is designed to fulfill following needs: intra-level 1 communications (e.g. used for distributed I/Os) and inter-level 1 communications (e.g. used for data exchanges between PCs, PLCs, and the like).
RTDDB communications can be mixed on the same Ethernet physical network, or can be separated depending on the application size and performance. RTDDB communications can also be mixed with, for example, Modbus communications.
Referring to
Desirably, all RTDDB exchanges have high performance requirements. In an embodiment, the response time from one input change on any device to the corresponding output change on another device is preferred to be around a few ten milliseconds (ms), including input and output device processing, intelligent device processing and network exchanges wherein: processing delays inside simple devices may be a few ms; intelligent devices like PLCs use periodic task, with 15 ms typical period for fastest tasks; network delays may be a few ms, if Ethernet is not overloaded. Moreover, synchronization within this embodiment between output changes on several devices corresponding to one event is preferred to be around a few ms. Clock distribution within this embodiment provides capability for local event datation in devices with a 1 ms accuracy. This is especially useful in electrical distribution systems where each device has an accurate clock, synchronized by the network distributed clock, used for local time-stamping of events, which are afterwards centralized for discrimination and edition.
Referring to
Referring to
In the embodiment shown in
Referring to
Referring to
Referring to
Inside each cluster 22, each device 24 publishes RTDDB frames. Frames are published either cyclically or when a change or an event occurs, at the publisher initiative. Frames are sent on the Ethernet network 26, using UDP and IP. Each frame may be sent to one device (using individual IP address), to a group of devices inside a cluster (using group IP multicast address), or to the cluster (using cluster IP multicast address). Groups can be dynamically defined.
In an embodiment, each frame contains one or several data and each device 22 subscribes to data it is interested in. The device in the cluster 22 are individually identified by a logical identification and each data is referenced. Means are also provided for a simple device to know very fast when a frame contains data which it is interested in. A RTDDB frame also contains a fault indication indicating when a fault occurs in the publisher. Each data has an associated refreshment status for indicating the state of the corresponding data producing part of the publisher and each subscriber can also control promptness of received data.
As described above, the RTDDB system can be used to answer intra-level 1 needs wherein the intelligent device (or the active intelligent device in a redundant system) cyclically multicasts a frame which contains individual data (commands, outputs) for a group of simple devices, using their group IP multicast address. The group is defined freely by the intelligent device, taking into account frame size limit.
Each of the simple devices decodes received valid multicast frames to extract data which has been addressed to it. For each data, the simple device controls its refreshment status and sets a promptness timer. When the refreshment status is false or when the timer times-out, the subscriber may enter in a specific operating mode (e.g. set outputs in fallback position).
Similarly, each simple device sends to the intelligent device(s) its published data (e.g., inputs, measures, and the like), using intelligent device IP address (which can be an individual address if there is only one intelligent device or a multicast address if redundant intelligent devices are used). Each simple device can also multicast on the network direct inter-device communication data, using the cluster IP multicast address. Each simple device published data can be sent when a change or an event occurs (e.g. on a digital input change), with a minimum inter-sending period, and/or cyclically. For example, a digital I/O device sends its input values when a change occurs, with a minimum inter-sending period of 10 ms, and cyclically for back-up every 100 ms. In another example, a drive sends the motor speed every 100 ms.
It should be noted that other addresses like sub-network broadcast address which are addressing more devices can be used (if only one cluster is used in the system), but should be used with careful attention because of potential performance impact due to all devices on the network receiving all sub-network broadcast frames and decoding them in software to know if they are interested in each frame. Using specific individual or multicast addresses is preferred because most of the non-interesting frames are filtered by the Ethernet component.
It should also be noted that simple device event driven sending is preferred to cyclic sending as the nominal solution whenever possible because it provides the best possible use of the Ethernet which was designed for event driven transmissions and the fastest response times.
Also as described above, the RTTDB system answers inter-level 1 needs wherein each intelligent device cyclically multicasts a frame which contains application data to be exchanged between intelligent devices, using intelligent device cluster IP multicast address. Each data has an associated refreshment status indicating the state of the corresponding producing part of the manager.
In addition, all intelligent devices interested in this data decode it, control its refreshment status and set a promptness timer. When the refreshment status is false or when the timer times-out, the subscriber may enter in a specific operating mode (e.g. local mode). Referring to
The preferred aspects of the present invention with regard to initialization, data reference, and RTDDB frame encoding are described, in detail, below. With regard to initialization at each power-up before RTDDB initialization phase, each device preferably has acquired its IP parameters comprising: IP individual address; IP sub-network mask; IP default gateway address. These IP parameters can be acquired by, for example, a Bootstrap Protocol (BOOTP) request to a BOOTP server (e.g. for simple devices) or by local means (e.g. for managers having associated programming tools, HMI). Moreover, attention should be paid to have a coherent configuration in the system (unity of IP addresses, same IP sub-network mask), especially when using local means.
Next, RTDDB configuration information should be acquired comprising: Device logical identification; IP addresses to be used; Timing information; and all data should have a 2 byte reference.
Detailed configuration information contents, as well as how they are acquired, are typically specified in the product specification of each device. However, they are specified hereunder for the following devices: Simple devices used in intra-level 1 communications; Intelligent devices used in intra-level 1 communications; and Intelligent devices used in inter-level 1 communications.
Turning to configuration of the simple devices used in intra-level 1 communications, as soon as each simple device is ready to communicate using, for example, the Modbus protocol over TCP/IP, it waits for its manager (or a global configurator) writing significative values in RTDDB configuration registers before communicating using RTDDB protocol.
In an embodiment, the following registers can be written in each simple device, using Modbus services:
With regard to the configuration resister, logical identification is one word at offset F201. This register can be read and written using, for example, Modbus commands, and the default value (at power up) is FF FFh (not configured for RTDDB). The significative RTDDB values are comprised between 0 and 255. As soon as a significant value is written in this register, the simple device starts using RTDDB. When other values (first byte not equal to 0) are written in this register, the simple device stops using RTDDB.
For the simple device first published data, its sending period is specified by the sending period register. Other periods for other published data can be specified in application specific registers. Preferably, the sending period is one word at offset F202. This register can be read and written using, for example, Modbus commands, and the default value (at power up) is FF FFh (no periodic broadcast). The sending period is in increments of 1 ms. Preferably, its minimum value is 5 ms.
The minimum inter-sending period for the simple device first published data is specified by the minimum inter-sending period register. Other periods for other published data can be specified in application specific registers. Minimum inter-sending period is one word at offset F203. This register can be read and written using, for example, Modbus commands, and the default value (at power up) is FF FFh (no sending on change). The minimum inter-sending period is in increments of 1 msec. Preferably, its minimum value is 10 ms.
Data are sent to the intelligent device(s) using this intelligent device IP address. The default value is the IP address of the first Modbus client of the agent (most often its manager). This value can be changed by a manager at any time. Individual address should be written in these registers, if there is no redundant intelligent device. Multicast address should be written in these registers, if redundant intelligent devices are used.
For the simple device first subscribed data its promptness period is specified by the promptness period register. Other periods for other subscribed data may be specified in application specific registers. Preferably, the promptness period is one word at offset F204. This register can be read and written using, for example, Modbus commands, and the default value (at power up) is 250 (250 ms). The promptness period is in increments of 1 ms. FF FFh value means no promptness control. Its minimum value preferably is 15 ms.
With regard to receiving IP multicast address, simple devices receive data on their own individual IP address, on the sub-network broadcast address and on the receiving IP multicast address applicable to a group of agents inside the cluster. There is no IP multicast address specified at power up. A new value can be taken into account only when RTDDB is stopped.
Turning to configuration of the intelligent devices used in intra-level 1 communications, after having acquired its IP parameters, each manager gets its configuration information, by local means (e.g. programming tools or HMI) or by requesting it to a global configurator. Desirably, the following configuration information is acquired to start RTDDB communications: (1) Intelligent device logical identification inside the intra-level 1 cluster; (2) IP addresses of the simple devices of the cluster and correspondence with their logical identifications; (3) Simple device group IP multicast addresses used to send frames to the simple device groups of the cluster; (4) Intelligent device group IP multicast address used to receive frames from the simple devices (if redundant managers are used); and (5) Cluster IP multicast address, if using direct inter-device communication.
Turning to configuration of the intelligent devices used in inter-level 1 communications, after having acquired its IP parameters, each manager gets its configuration information, by local means (e.g. programming tools or HMI) or by requesting it to a global configurator. Such configuration information preferably includes: (1) Intelligent device logical identification inside the inter-level 1 cluster; (2) Inter-level 1 IP multicast address to exchange data with other intelligent devices (default value is the sub-network broadcast address); and (3) lengths and periods of application data sent to other managers. Desirably, by default, only one application data (physical reference first byte 80h) of 8 bytes length is sent to other managers every 4 ms.
Each data inside the RTDDB system preferably has a 2 byte reference. In an embodiment, two types of reference can be used: Physical reference and logical reference. Physical reference is used where the second byte of the 2 byte reference is the device logical identification of one of the devices participating in the exchange. The first byte of the reference indicates which device data is addressed. Data syntax and semantic are specified by the device specification. Physical reference is very useful in the following exchanges, where this reference type provides automatic data reference configuration, as soon as device logical identifications are configured: (1) exchange with a simple device (e.g. data sent or received by a simple device), in which data can be sub-classified in applicative data (I/O values, measurements, commands, and the like) and system data (configuration, parameters, status, default, and the like); (2) data sent by an intelligent device to other intelligent devices.
Logical reference is where there is no reference to any device logical identification. Logical reference sub-types are defined as universal logical reference and dynamically assigned logical reference.
Universal logical reference is where data reference, syntax and semantic are specified by the present specification. This type of reference is useful for data which may be used in every systems (e.g., clock and the like). Dynamically assigned logical reference is where any means can be used to assign reference to data, which can be of any type.
The following table specifies range of values reserved for each reference type:
It should be noted that different data inside a cluster should have different data reference. Same data reference can be used for data of different clusters inside a RTDDB system.
Turning to the subject of RTDDB frame encoding, each device can publish RTDDB frames that are sent on the Ethernet network using UDP and IP. The frames are published either cyclically or when a change or an event occurs. Each frame can be sent to one device using individual IP address, to a group of devices using inside the network segment using group IP multicast address, or to the network segment using sub-network IP broadcast address. Further, groups can be dynamically defined.
As indicated above, each frame contains one or several data and each device subscribes to data it is interested in. Moreover, each device on the network segment is preferably identified by a logical identification and each data is referenced.
A fault indication is provided by each frame for indicating when a fault occurs in the publisher. Furthermore, each data has an associated refreshment status, which can indicate the state of the corresponding data producing part of the publisher. Each subscriber can control promptness of received data.
A network manager, using messaging services or other communication services makes an RTDDB configuration of each device. RTDDB configuration includes device logical identifications, data references, timing information and IP multicast addresses. Preferably, all devices participating in the RTDDB system have the same IP sub-network address. Also, it is desirable that no router be used inside the RTDDB system.
Turning to
Regarding fault indication, each frame contains a fault indication indicating when a fault occurs in the publisher device. A value different from 0 indicates a fault. The encoding of this byte is application specific. This indication can be used to indicate very fast to other devices participating in the application that a fault occurs (e.g. fast indication of a watch-dog fault in a simple device, sent to the intelligent device, or fast indication of an intelligent device in local mode, sent to other intelligent devices).
The accelerator field 34 is used to provide capability to know very fast and easily if data may be addressed to a device in the rest of the frame. This accelerator is especially useful in simple devices. This field is preferably a 5 byte synthesis of all the data references included in the frame:
The first byte, Data reference types, is a string of 8 bits indicating with types of data references are used in the frame, based on the first byte of each data reference:
If bit7 or bit6 of previous byte is set to 1, the four following bytes (byte1 to byte4 shown in
The data management field preferably has the structure identified in
Preferably, each data has the following structure: n d1. . . . dn rf, wherein n equals the length of data in bytes (limiting the data length to 255 bytes), d1 equals the value of the first byte (first data byte), dn equals the value of the last byte (last data byte), rf equals the refreshment status which may indicate the state of the corresponding data producing part of the publisher: xxxx xxx0 when invalid, and xxxx xxx1 when valid, where x means application specific. Moreover, each subscriber can control promptness of received data.
It should be noted that this structure provides addressing capability for 32 data, each one having up to 4 application words, (application frame length of 458 bytes, without A_PDU), or 8 data with 16 application words and 24 data with 1 application word (total frame length of 504 bytes, without A_PDU).
In an embodiment, a communications adapter can be provided for interfacing between a transfer body, which can be a part of the simple device, and the communications network having the simple devices and each intelligent device connected thereto. The transfer body includes a plurality of transfer registers for communicating data relating to field devices, and an identification register for identifying the data relating to the field devices. Moreover, an interface portion is provided having an identification port communicating with the identification register, a transfer port communicating with the transfer registers, wherein the transfer body is adapted to directly attach to and communicate with each intelligent device through the interface portion. Furthermore, the communications adapter can be removably attached to the transfer body through the transfer port and the identification port, wherein the communications adapter is configured to communicate with a specific type of intelligent device. Such a communication adapter is disclosed in, for example, U.S. patent application Ser. No. 09/036,565, filed Mar. 9, 1998, and incorporated herein by reference.
While the specific embodiments have been illustrated and described, numerous modifications come to mind without significantly departing from the spirit of the invention and the scope of protection is only limited by the scope of the accompanying Claims.
This patent application is a continuation application of pending U.S. patent application Ser. No. 09/623,689 filed Sep. 6, 2000; which is a U.S. national filing of PCT Patent Application PCT/US99/05675, filed Mar. 15, 1999; which claims the benefit of U.S. Provisional Patent Application Ser. No. 60/078,223, filed Mar. 16, 1998. These applications are incorporated herein by reference.
| Number | Name | Date | Kind |
|---|---|---|---|
| 3971000 | Cromwell | Jul 1976 | A |
| 4251858 | Cambigue et al. | Feb 1981 | A |
| 4319338 | Grudowski et al. | Mar 1982 | A |
| 4669040 | Pettit et al. | May 1987 | A |
| 4688167 | Agarwal | Aug 1987 | A |
| 4701845 | Andreasen et al. | Oct 1987 | A |
| 4845644 | Anthias et al. | Jul 1989 | A |
| 4858152 | Estes | Aug 1989 | A |
| 4897777 | Janke et al. | Jan 1990 | A |
| 4912623 | Rantala et al. | Mar 1990 | A |
| 4918690 | Markkula, Jr. et al. | Apr 1990 | A |
| 4937777 | Flood et al. | Jun 1990 | A |
| 4949274 | Hollander et al. | Aug 1990 | A |
| 4953074 | Kametani et al. | Aug 1990 | A |
| 4974151 | Advani et al. | Nov 1990 | A |
| 4979107 | Advani et al. | Dec 1990 | A |
| 4992926 | Janke et al. | Feb 1991 | A |
| 5012402 | Akiyama | Apr 1991 | A |
| 5023770 | Siverling | Jun 1991 | A |
| 5047959 | Phillips et al. | Sep 1991 | A |
| 5072356 | Watt et al. | Dec 1991 | A |
| 5072412 | Henderson, Jr. et al. | Dec 1991 | A |
| 5109487 | Ohgomori et al. | Apr 1992 | A |
| 5122948 | Zapolin | Jun 1992 | A |
| 5131092 | Sackmann et al. | Jul 1992 | A |
| 5134574 | Beaverstock et al. | Jul 1992 | A |
| 5151896 | Bowman et al. | Sep 1992 | A |
| 5151978 | Bronikowski et al. | Sep 1992 | A |
| 5157595 | Lovrenich | Oct 1992 | A |
| 5159673 | Sackmann et al. | Oct 1992 | A |
| 5161211 | Taguchi et al. | Nov 1992 | A |
| 5162982 | Mentler | Nov 1992 | A |
| 5165030 | Barker | Nov 1992 | A |
| 5179700 | Aihara et al. | Jan 1993 | A |
| 5187787 | Skeen et al. | Feb 1993 | A |
| 5225974 | Mathews et al. | Jul 1993 | A |
| 5245704 | Weber et al. | Sep 1993 | A |
| 5251302 | Weigl et al. | Oct 1993 | A |
| 5283861 | Dangler et al. | Feb 1994 | A |
| 5297257 | Struger et al. | Mar 1994 | A |
| 5307463 | Hyatt et al. | Apr 1994 | A |
| 5321829 | Zifferer | Jun 1994 | A |
| 5343469 | Ohshima | Aug 1994 | A |
| 5349675 | Fitzgerald et al. | Sep 1994 | A |
| 5386524 | Lary et al. | Jan 1995 | A |
| 5391970 | Chaffee et al. | Feb 1995 | A |
| 5398336 | Tantry et al. | Mar 1995 | A |
| 5406473 | Yoshikura et al. | Apr 1995 | A |
| 5420977 | Sztipanovits et al. | May 1995 | A |
| 5430730 | Sepulveda-Garese et al. | Jul 1995 | A |
| 5440699 | Farrand et al. | Aug 1995 | A |
| 5446868 | Gardea et al. | Aug 1995 | A |
| 5471617 | Farrand et al. | Nov 1995 | A |
| 5528503 | Moore et al. | Jun 1996 | A |
| 5598536 | Slaughter, III et al. | Jan 1997 | A |
| 5611059 | Benton et al. | Mar 1997 | A |
| 5613115 | Gihl et al. | Mar 1997 | A |
| 5623652 | Vora et al. | Apr 1997 | A |
| 5625781 | Cline et al. | Apr 1997 | A |
| 5684375 | Chaffee et al. | Nov 1997 | A |
| 5689688 | Strong et al. | Nov 1997 | A |
| 5699350 | Kraslavsky | Dec 1997 | A |
| 5734831 | Sanders | Mar 1998 | A |
| 5790977 | Ezekiel | Aug 1998 | A |
| 5793954 | Baker et al. | Aug 1998 | A |
| 5801689 | Huntsman | Sep 1998 | A |
| 5805442 | Crater et al. | Sep 1998 | A |
| 5828672 | Labonte et al. | Oct 1998 | A |
| 5835507 | Huang et al. | Nov 1998 | A |
| 5862391 | Salas et al. | Jan 1999 | A |
| 5950006 | Crater et al. | Sep 1999 | A |
| 5975737 | Crater et al. | Nov 1999 | A |
| 5982362 | Crater et al. | Nov 1999 | A |
| 5990884 | Douma et al. | Nov 1999 | A |
| 5997167 | Crater et al. | Dec 1999 | A |
| 6016523 | Zimmerman et al. | Jan 2000 | A |
| 6028866 | Engel et al. | Feb 2000 | A |
| 6032203 | Heidhues | Feb 2000 | A |
| 6058251 | Okamoto et al. | May 2000 | A |
| 6061721 | Ismael et al. | May 2000 | A |
| 6122668 | Teng et al. | Sep 2000 | A |
| 6122670 | Bennett et al. | Sep 2000 | A |
| 6134522 | Fritz et al. | Oct 2000 | A |
| 6151625 | Swales et al. | Nov 2000 | A |
| 6151640 | Buda et al. | Nov 2000 | A |
| 6201996 | Crater et al. | Mar 2001 | B1 |
| 6233626 | Swales et al. | May 2001 | B1 |
| 6263487 | Stripf et al. | Jul 2001 | B1 |
| 6282454 | Papadopoulos et al. | Aug 2001 | B1 |
| 6311101 | Kastner | Oct 2001 | B1 |
| 6321272 | Swales | Nov 2001 | B1 |
| 6327511 | Naismith et al. | Dec 2001 | B1 |
| 6370550 | Douma et al. | Apr 2002 | B1 |
| 6370569 | Austin | Apr 2002 | B1 |
| 6424872 | Glanzer et al. | Jul 2002 | B1 |
| 6434157 | Dube et al. | Aug 2002 | B1 |
| 6453210 | Belotserkovsky et al. | Sep 2002 | B1 |
| 6466995 | Swales et al. | Oct 2002 | B1 |
| 6484061 | Papadopoulos et al. | Nov 2002 | B1 |
| 6505341 | Harris et al. | Jan 2003 | B1 |
| 20010012270 | Godoroja | Aug 2001 | A1 |
| 20020064180 | Takeda et al. | May 2002 | A1 |
| 20020176441 | Swales et al. | Nov 2002 | A1 |
| Number | Date | Country |
|---|---|---|
| 37 19283 | Dec 1988 | DE |
| 44 10 171 | Apr 1995 | DE |
| 296 00 609 | Mar 1997 | DE |
| 296 22 133 | Aug 1997 | DE |
| 196 15 093 | Oct 1997 | DE |
| 0 542 657 | May 1993 | EP |
| 0 814 393 | Dec 1997 | EP |
| 0 825 506 | Feb 1998 | EP |
| 1 107 500 | Jun 2001 | EP |
| 1 107 500 | Jun 2001 | EP |
| 60192447 | Sep 1985 | JP |
| WO 9718636 | May 1997 | WO |
| WO 9853581 | Nov 1998 | WO |
| Number | Date | Country | |
|---|---|---|---|
| 20020194365 A1 | Dec 2002 | US |
| Number | Date | Country | |
|---|---|---|---|
| 60078223 | Mar 1998 | US |
| Number | Date | Country | |
|---|---|---|---|
| Parent | 09623689 | US | |
| Child | 10120037 | US |