You are on page 1of 10

Step 8

Configuring the EGD network interface


Ethernet Global Data (EGD) is a control network, as well as a protocol for the Mark VI controller. EGD uses Ethernet as the physical and data-link layer of the network.It can send directed or broadcast messages. Devices share data through EGD exchanges (pages). EGD Exchanges Exchanges (pages) provide a way to share live signals over EGD. These exchanges are periodically broadcast by the owner using EGD shared RAM update messages, known as feedback messages. The exchange broadcasts every 320 milliseconds by default, but you can set the interval to any value not less than 10 milliseconds. An exchange can be a maximum of 1400 bytes long and is addressed on byte boundaries. Boolean points are packed eight to a byte, and the bit number that describes which one ranges from zero to seven. A controller can own up to 16 exchanges, although the limit is five by convention. EGD Points A point can only be inserted into an internal exchange. EGD exchanges are made up of points, which are associated with controller signals. Each point corresponds to a complete signal, regardless of the length or amount of memory that the point occupies in the exchange. The name has the form EGD.BYTE.BIT, where BYTE is the eight-bit byte offset into the exchange, and BIT is the bit number, which ranges from zero seven (seven is the most significant bit). The EGD network though configured in the toolbox , requires two important services to run. They are EGD service which is the actual control program responsible for read and write into the shared memory space. The other EGD utility which helps in data communication with the cimplicity HMI is the EGD devcom service.

EGD service
The Ethernet. Global Data (EGD) Service allows user applications on a Windows NT system to use EGD. The Service supports Ethernet Global Data (EGD) and theCommand message protocol (CMP) communications between other Windows and Windows NT systems and controllers that support the EGD. Applications supportedon Windows include CIMPLICITY/HMI, Data Historian, and Metals automation (Level 2) and models. The EGD Service is a process which runs without user intervention on a Windows NT system to provide client processes on that system access to shared information from other controllers on an Ethernet network. The service uses two main protocols for access to other controllers Ethernet Global Data (EGD) Command Message Protocol (CMP) The following figure displays the hardware and software components of the EGD Service in a typical application.

EGD is based on standard internet protocols that share information between controllers by exchanging data samples of information. Each packet contains a data sample or snap-shot of one controller.s memory. These samples are sent periodically to one or more peer controllers who store the data for use by application tasks. Each data sample is uniquely identified to relate it to a definition that describes the data it contains. This definition is referred to as an Exchange. The controller generating the sample is known as the Producer. The controller receiving the sample is known as the Consumer. Each controller will only send or receive data samples for the Exchanges for which it was configured. In this way, a network can be configured so that multiple controllers can share information to perform control or monitoring functions. While EGD shares information on periodic basis, the CMP provides information on demand.CMP functions allow client processes to read or write specific locations in an EGD data sample. These functions support access by Operator Displays on an occasional basis as well as other control functions that are event driven. Features EGD Service runs in the background and does not require user intervention. EGD Service supports communications to embedded processors, such as Innovation Series controllers and PLCs, as well as to other Windows NT application servers. Major feature include: Receive incoming EGD Exchanges configured for this node. Each received data sample is validated and its status is updated before it is consumed and stored for use by the EGD APIs. EGD Exchanges configured for production are at the specified rate. Command messages for Read, Write and Write Masked operations are processed and access configured EGD Exchanges. Supports multiple network interface boards (EGD traffic can be restricted to a single network). Utilizes a simplified text file format to initialize configuration information for each EGD exchange supported. Multiple client processes are supported through multi-level initialization files. Provides facilities to notify client processes whenever changes are made to an EGD Exchange. Supports synchronization of produced data samples with application requirements. Provides a full-featured API that supports both EGD and CMP support. Internal Architecture Internally, the EGD Service uses a memory map (known as a section file), to store received EGD data and data to be sent. The service controls the organization and management of this file. User application programs, such as the CIMPLICITY HMI Devcom, use a set of program interfaces (the EGD APIs) to access EGD data and perform other functions. The EGD service supports up to 511 different EGD Exchanges at a time and eachExchange can be produced or consumed by the service. The specific characteristics of each Exchange are defined at initialization through a set of text definition (ini) files.The service uses the user datagram protocol (UDP/IP) to receive and send data.

All Exchange data samples are received on the UDP port assigned to EGD, while command messages using CMP are processed on a separate port. The internal structure of the service is as follows:

EGD Service Operation


Service Initialization During initialization, EGD Service processes incoming and outgoing EGD messages, including: reading global configuration parameters initializing the Windows Sockets (WinSock) interface creating internal network data structures creating data objects that fully describe the characteristics of each EGD Exchange sent or received Multiple initialization files allow different applications to maintain a separate list of required Exchanges.The most significant task is configuring the EGD Exchanges that are produced or consumed. This is performed by a series of initialization files that define the characteristics of each Exchange as well as global parameters for the EGD Service. Each initialization file contains the key parameters for each Exchange to be configured. Opening the file begins the process: %SystemRoot%\EGD.INI which is typically: C:\winnt\EGD.INI This is the master file, created once when the EGD Service is first installed. This file contains a description of the keywords and format of the initialization files, as well as specific global parameters required by the service. By default the EGD.ini file contains the following: INCLUDE=EGDsdb.ini INCLUDE=egd.ini These lines reference files of the Exchange definitions required for the SDB Utilities, and for CIMPLICITY HMI EGD Devcom respectively. The EGD.ini file is

initially provided during product installation as a template for users to modify, so that other client processes can include their own Exchange definitions in other files. Exchanges referenced in these files do not need to be unique (the same Exchange can be defined in multiple files). The service compares duplicate Exchanges and merges their definitions to satisfy both definitions where possible. However, if the Producer and Exchange IDs are identical for multiple entries, the producer node and consumer node (for produced Exchanges) must be identical. Exchange Definitions In addition to keywords, initialization files can contain multiple lines, each describing a specific Exchange to be consumed or produced. The service initialization process scans these definitions and configures only those Exchanges that are appropriate for the current node. The format of these entries and several examples are as follows:
Field Exchange ID Exchange Length Production Period Description The ID assigned to the exchange. Each Exchange identifier must be unique on a given producer node. The length in bytes of the user data sample in the Exchange. (1400 bytes maximum) Time in milliseconds between data samples. The IP address or node name which will produce the specified exchange. May be followed by a producer ID if the Producer ID is not equal to the IP address. Unicast, Multicast or Broadcast destination address

Source Node* Destination Node*

EGD Devcom
The Ethernet Global Data (EGD) Devcom application enables the CIMPLICITYHMI system to directly access data using the protocols supported by the EGD over Ethernet. Initial CIMPLICITY support is limited to read access to EGD. To ensure proper operation, the application has the following minimum software requirements: Windows NT 4.0 CIMPLICITY HMI Version 3.20 SDB V03.02.06C SDB Utilities V03.03.06C Hardware requirements include any Ethernet board supported by the Windows/NT operating system. Since the EGD protocols use standard Internet protocols, theTransport Control Protocol/Internet Protocol (TCP/IP) must be installed first.EGD Devcom uses standard Ethernet protocols and facilities provided by the Windows/ NT operating system to consume (receive) EGD Exchanges and provide them to a CIMPLICITY/HMI server node. EGD Devcom then provides a mechanism that allows individual EGD points to be stored in the CIMPLICITY Point database. The following diagram shows the components used by the EGD Devcom.

Configuring the EGD Network Exchanges from Toolbox


To insert the EGD Interface network 1. From the Outline View, click Hardware and I/O Definitions. 2. From the File menu, select Insert First. The New I/O or Network Interface dialog box displays. 3. Select EGD Interface and click OK. The network is inserted into the Outline View as shown below.

The network is assigned a default name (EGD1), number (0) and Producer ID. To edit the settings, refer to the next section, Edit EGD. Edit EGD The dialog box displays a default name (EGD1), number (0) and Producer ID.

EGD Exchanges Exchanges (pages) provide a way to share live signals over EGD. These exchanges are periodically broadcast by the owner using EGD shared RAM update messages, known as feedback messages.

To insert an exchange 1. From the Outline View, click the EGD network name to highlight it. 2. From the Edit menu, select Insert First. The item Exch1 is inserted under the item, EGD network. The default name of the exchange is Exch# (where # is the number of exchanges owned by this controller). Once an exchange exists, another item can be inserted by following the same steps, but select Insert Next. These exchanges are sometimes referred to as internal exchanges in the toolbox controller. Exchanges owned by other controllers are called external exchanges. Internal exchanges can be modified using the Internal Exchange Settings dialog box. To modify an internal exchange Or double-click the exchange. 1. Click a exchange to highlight it. 2. From the Edit menu, select Modify. The Internal Exchange Settings dialog box displays (refer to the next section, Internal Exchange Settings).

Whenever a point is deleted from an exchange (in the Outline View), that space is not reclaimed. All controllers referencing that exchange must update from the database. This loss of memory can be seen in the % Loss field of the Internal Exchange Settings dialog box. To reclaim this lost space, compress the exchange. The following Warning displays.

External Exchanges The External Exchange data displays in the Summary View (shown below). This data includes the signal name, a list of the points on that exchange, data type, health, and so on. When the controller is monitored online, the second column, Value, displays the live data value for the point on that line.

EGD external exchanges have two built-in diagnostic mechanisms: exchange healthy and link presence. The link presence for a controller is True whenever messages are being received from that controller. When the exchange healthy for a controller is True, feedback messages are being received from that controller. When the health of a variable (signal) connected exclusively to an EGD point is used in blockware, the exchange healthy is actually the value used. When the controller gets information from the database, exchange zero is inserted into the network and called LINK. This exchange holds a list of signals called link presence bits, which are set whenever an EGD message is received from a controller.If no messages arrive for a controller in 1.28 seconds, the value of the link presence signal goes to zero. These signals can be used in blockware like any other signal. The form of the name is NET\DEV\ExchangeNameHEALTHY where NET is the name of the network, DEV is the name of the controller, and ExchangeName is the name of the external exchange EGD Points. EGD exchanges are made up of points, which are associated with controller signals. Each point corresponds to a complete signal, regardless of the length or amount of memory that the point occupies in the exchange. The name has the form EGD.BYTE.BIT, where BYTE is the eight-bit byte offset into the exchange, and BIT is the bit number, which ranges from zeroseven (seven is the most significant bit). New EGD points added to an existing EGD exchange can be downloaded online. If points are deleted from an exchange an offline download is required To insert and modify a point 1. From the Outline View, click the EGD exchange to highlight it. 2. From the Edit menu, select Insert First. The EGD Point Settings dialog box displays. It is used to insert and edit EGD points.

You might also like