23.03.2017 Views

wilamowski-b-m-irwin-j-d-industrial-communication-systems-2011

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Communication Aspects of IEC 61499 Architecture 55-11<br />

PUBLISHER<br />

SUBSCRIBER<br />

INIT(+)<br />

PARAMS<br />

normal_service_establishment<br />

INITO(+)<br />

~<br />

INIT(+)<br />

INITO(+)<br />

PARAMS<br />

normal_data_transfer<br />

REQ(+)<br />

SD_1, ..., SD_m<br />

IND(+)<br />

RD_1, ..., RD_m<br />

~<br />

CNF(+)<br />

RSP(+)<br />

FIGURE 55.8<br />

Communication establishment and normal data transfer sequence.<br />

Provisions of the compliance profile were implemented, for example, in FBDK [2] as the pairs of<br />

PUBLISH_n/SUBSCRIBE_n and CLIENT_n_m/SERVER_n_m FBs. The PUBLISH/SUBSCRIBE <strong>communication</strong><br />

is implemented using services of the universal datagram protocol (UDP). The <strong>communication</strong><br />

is essentially unreliable and multicast. The CLIENT/SERVER <strong>communication</strong> is implemented via<br />

the transfer control protocol (TCP). It is point-to-point and reliable.<br />

Using this library of <strong>communication</strong> FBs, a user can develop distributed applications communicating<br />

via local networks (Ethernet) and even via the Internet. The specifics of the implementation<br />

imply the addressing schema. The <strong>communication</strong> FBs have input parameter IDs, which are set as<br />

follows.<br />

The PUBLISH/SUBSCRIBE <strong>communication</strong> pattern assumes that there could be many subscribers<br />

for one (or even several) publisher(s) as illustrated in Figure 55.9. This <strong>communication</strong> pattern is implemented<br />

in FBDK using the multicast services of the UDP.<br />

The PUBLISH block has to have an ID that follows the rules for Internet multicast addresses. In general,<br />

an Internet address consists of four numbers in the interval 0-255; for example, 124.11.2.1. (The<br />

multicast addresses are in the interval 224.0.0.0 through 239.255.255.255, but the range of addresses<br />

between 224.0.0.0 and 224.0.0.255, inclusive, is reserved for system purposes.) In the example, the ID of<br />

the PUBLISHER (located in Device 1) is 225.0.0.1:1204 (where 225.0.0.1 is an IP address for that multicast<br />

group and 1204 is a unique port number selected in Device 1). The ID of the publisher completely<br />

identifies the multicast group.<br />

Any SUBSCRIBE block located in a device on the same network segment as the PUBLISH can receive<br />

the published data if it has the same ID as the PUBLISH. The published data will be received by both<br />

subscribers located in Device 2 and Device 3.<br />

The CLIENT_SERVER <strong>communication</strong> is point-to-point (i.e., only one client can send and receive<br />

data to/from one server). The addressing is illustrated in Figure 55.10. The SERVER, which is located<br />

in Device 2, has ID that refers to the address of the host device (localhost) and adds there a unique (for<br />

that device) port number. The CLIENT, located in Device 1, has an ID that is composed of two parts: IP<br />

address of the server’s device and the same port number as used in the SERVER’s ID.<br />

© <strong>2011</strong> by Taylor and Francis Group, LLC

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!