device model
IEC 61499 Device Model
Definition
The IEC 61499 standard defines a distributed model for splitting different parts of an industrial automation process and complex machinery control into functional modules called function blocks. These function blocks can be distributed and interconnected across multiple controllers.
System:
A collection of DEVICES interconnected and communicating with each other by means of a communication network consisting of segments and links.
Device:
An independent physical entity capable of performing one or more specified functions in a particular context and delimited by its interfaces.
Resource:
A functional unit having independent control of its operation, and which provides various services to applications including scheduling and execution of algorithms.
Application:
A software functional unit that is specific to the solution of a problem in industrial-process measurement and control. An application may be distributed among devices and may communicate with other applications.
Function block:
A software functional unit that is the smallest element of a distributed control system. It utilizes an execution control chart (ECC) state machine to control the execution of its algorithms.
Overview
A Device Model represents parts included in a measurement and control device. Figure 1 shows these parts of a measurement and control device. Many resources (soft PLC) are connected together with a communication interface and are part of a device. The device is a self-contained hardware capable of executing a control loop.
The device is a controller having a processor, memory devices and may also contain a communication interface when used in a distributed application. The devices are PLCs solving the control logic and these can be seen in intelligent actuators such as valves or in sensors such as flow meters. Each device may integrate one or more resources.
A resource is considered to be a functional unit contained in a device. The functions of a resource are to accept inputs from the process interface (IO driver) or the communication interface (Shared memory, communication network), process the data, and return outputs to these interfaces.
© Copyright 2006: ICS Triplex ISaGRAF Inc. All rights reserved. No portion of this work may be reproduced in any form or by any means, without the prior written permission of ICS Triplex ISaGRAF Inc.
An application may consist of one or more control loops where the input sampling is performed in one resource, control processing is performed in a second resource, and output conversion is performed in a third resource. This distributed application may run resources within one device or across multiple devices.
In ISaGRAF, each program can be a distributed application.

Figure 1 shows distributed applications within a device. This is the Device Model displayed by the ISaGRAF toolset. All function block bitmaps (in yellow) indicate the distribution across resources. A bitmap under a resource means that the program has a part running in that resource. No bitmap displayed under a resource means that the application has no running part in that resource. For each program built with the ISaGRAF toolset, the Device Model viewer quickly displays the distribution of the application.
The communication interface connects the resources making up a distributed application.Within a device, the communication interface is based on shared memory for speed exchange purposes. A communication network may be used when the distributed application runs resources on many devices.
A distributed application exchanges data across the communication interface. The ISaGRAF elements use the communication interface transparently. Building and compiling the application generates all required link parameters. Each distributed element of an application is connected to the others across the communication interface. When building an ISaGRAF application, the distributed application generator automatically links together these distributed elements.

Figure 2 displays resources, applications, and the distributed relationship between resources and applications. Application_A has parts running on the first, second, and third resource. Application_B has parts running on the last two resources of this system. And Application_C runs only on the first resource. Each part of the distributed
© Copyright 2006: ICS Triplex ISaGRAF Inc. All rights reserved. No portion of this work may be reproduced in any form or by any means, without the prior written permission of ICS Triplex ISaGRAF Inc.
