In an EGD system, a device is either a data
Producer or a data
Consumer. Data transmissions are referred to as
exchanges.
- A Producer generates data exchanges and sends them to one or more other devices on the network.
- A Consumer reads data exchanges that are sent from other devices.
A device can be either a producer or a consumer, but typically acts as both. Unlike polling or request-based communication protocols, producers can send data to more than one consumer at one time. EGD works in these ways:
- The data is transmitted once to one device (unicast), many devices on a local subnet (multicast), or all devices on a local subnet (broadcast). Consumers configured to expect those exchanges attempt to read the data; other devices on the same network or subnet ignore it.
- Exchanges are unsolicited and unacknowledged. That is, consumers do not explicitly send data requests to a producer and do not send an acknowledgment when an exchange is read. This allows data exchanges to be sent at much shorter intervals. The intervals (periods) at which specific exchanges are produced and consumed are configured on the devices themselves.
In the GE EGD driver, each exchange has an ID and a specified length in bytes. Consumers are configured to read only data exchanges with specified IDs; other data exchanges are ignored. Because exchanges are individually configured on each device, you must ensure that the length of a consumed exchange on a consumer corresponds with the length of the produced exchange with the same ID on the producer.
EGD is designed for large blocks of data sent among many devices. For example, if data from a PLC is needed by 50 others on the network, only one data transmission is needed, not 50. EGD may not be suitable for situations where PLC data is polled or requested at irregular intervals.