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.

55-2 Industrial Communication Systems<br />

capturing and hiding platform-dependent functions of devices. Each FB has a set of input and output<br />

variables. The input variables are read by the internal algorithm when it is executed, while the results<br />

from the algorithm are written to the outputs.<br />

The use of FBs makes the control device openly programmable and easily reconfigurable. IEC<br />

61499-compliant devices can easily interface each another, thus providing for seamless distribution of<br />

different tasks across different devices. Users may create their own program using standard FB types.<br />

Thus, the IEC 61499 architecture enables encapsulation, portability, interoperability, and configurability.<br />

Portability means that software tools and hardware devices can accept and correctly interpret software<br />

components and system configurations produced by other software tools. With interoperability,<br />

hardware devices can operate together to perform the cooperative functions specified by one or more<br />

distributed applications. With configurability, devices and their software components can be configured<br />

(selected, assigned locations, interconnected, and parameterized) by multiple software tools.<br />

Being an architecture for distributed <strong>systems</strong>, IEC 61499 needs to address the issue of <strong>communication</strong><br />

between distributed devices. It needs to be mentioned that particular networking mechanisms,<br />

such as protocols and middleware, are beyond the standard’s scope. Interfaces to particular<br />

networking mechanisms can be implemented in IEC 61499 by <strong>communication</strong> interface function<br />

blocks (CIFBs).<br />

There is a small but growing toolset for FB design. The Function Block Development Kit (FBDK) [2]<br />

remains the most widely used, because it is the oldest and is free for educational use. The new version<br />

of the ISaGRAF <strong>industrial</strong> control design software with support for IEC 61499 FBs is described in [3,4].<br />

The nxtControl tool [5] is another example of a professionally developed design environment that can<br />

generate code for a range of BECKHOFF and WAGO control devices. A number of developments at<br />

academic and research organizations can be represented by CORFU [6] and the open-source projects<br />

4DIAC IDE [7] and FBench [8,9].<br />

In order for FBs to become executable on a variety of hardware, hardware vendors must provide support<br />

for the standard. The options remain limited, but are on the increase. There are currently several options<br />

for executing FBs. First, any platform that can execute standard Java byte code can run the FBRT that is a<br />

part of FBDK. This includes desktop computers running any major operating system. Embedded execution<br />

option includes the Elsist Netmaster II, which runs a cut-down version of Java standard edition (J2SE).<br />

Tait Control Systems MO’Intelligence units run Java micro edition (J2ME) and are supplied with a port of<br />

the FB run-time and vendor-supplied service interface FBs for hardware access. These units are available<br />

in several formats with support for DeviceNet and an integrated motor drive option.<br />

The 4DIAC consortium has developed an open-source run-time for FB execution FORTE [10]. It has<br />

been ported to a variety of hardware platforms and was chosen by nxtControl as a primary run-time<br />

target. FB compiler based on synchronous semantics is reported in [11]. Other academic developments<br />

include Java-based FUBER run-time [12], real-time Java [13], and Linux [14]-based run-times, as well as<br />

the Java-based run-time implementing the cyclic execution model [15].<br />

This chapter provides an introduction to IEC 61499 and especially to its <strong>communication</strong>-related features<br />

by discussing an example of a simple distributed control system. For a more fundamental introduction<br />

to IEC 61499, the reader is referred to [16,17] and for implementation ideas to [18].<br />

The chapter is structured as follows. First, the example is introduced. Then implementation of its control<br />

in terms of IEC 61499 FB application is presented and discussed. This allows to see the simulation<br />

capability of IEC 61499 as well. Next, the two-stage design concept of IEC 61499 is presented followed<br />

by a detailed description of abstract <strong>communication</strong> models of IEC 61499. Then the example is extended<br />

functionally. Also, the hardware architecture is changed to a distributed one, where the connectivity is<br />

provided by two different types of networks. Explicit <strong>communication</strong> FBs are added to the application.<br />

The underlying mechanisms for implementation of those FBs using services of Modbus and control<br />

and information protocol (CIP) protocols are described in detail. These are followed by a discussion on<br />

the impact of <strong>communication</strong> semantics on the distributed application behavior and failure models for<br />

distributed applications. The chapter is concluded with a summary and a list of references.<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!