0% found this document useful (0 votes)
143 views42 pages

Distributed Control Standard Connects Industry Regardless of Bus

Despite proliferation of standards, interoperability still lagged among differing standards. IEC 61499 defines a comprehensive and familiar approach to automation controllers' cooperation. The IEC 61499 standard specifies the programming languages for automation.

Uploaded by

tsuyoshi7171
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
143 views42 pages

Distributed Control Standard Connects Industry Regardless of Bus

Despite proliferation of standards, interoperability still lagged among differing standards. IEC 61499 defines a comprehensive and familiar approach to automation controllers' cooperation. The IEC 61499 standard specifies the programming languages for automation.

Uploaded by

tsuyoshi7171
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 42

DISTRIBUTED CONTROL STANDARD CONNECTS INDUSTRY REGARDLESS OF BUS

Monday, 07 May 2007

Distributed Control Standard Connects Industry Regardless of Bus Page 2 Page 3 All Pages

In the early days of modern automation, the use of microprocessor technology addressed the need for fast and efficient configuration of control logics through graphical methods that mimic the hardwired relay logics. Over the past 30 years, the automation community has put the emphasis on simplifying and standardizing the method of programming this new breed of controllers. From these efforts came the adoption of the IEC 61131-3 standard that specifies the programming languages for automation. Fieldbus Proliferation From the very moment that the industry started to use microprocessor-based

programmable

logic

controllers (PLCs), the need of having these controllers to exchange information, gather data from remote units, and set interlocks between controllers initiated a quest for a comprehensive solution. Early on, the industry focused on finding or establishing communication protocols and methodologies that would be candidates for standardization. The Modicon protocol, or Modbus, was one result of an internationally accepted standard. Derivatives of Modbus such as Modbus RTU or Modbus IP are good examples of partial solutions to meet the demand from automation engineers, but standards havent stopped there. Over time, associations and major automation vendors have proposed industrial fieldbus networks that eventually evolved into standards, such as PROFIBUS, DeviceNet, ControlNet, Fieldbus Foundation, CANbus, SERCOS, EtherCAT, Siemens H1, and many others.

Interoperability Realized Despite a proliferation of standards, however, interoperability still lagged among differing standards. Several organizations initiated discussion on how to achieve coherent cooperation among controllers in the same application. Fieldbus Foundation, among others, addressed the format of pertinent information to be shared on the network. Yet, although the mechanism of exchanging information could be defined, the cooperation between devices was not addressed. The International Electrotechnical Commission (IEC) came up with a conceptual view of how to have independent programmable logic controllers cooperate in a cohesive and very efficient manner. By

defining the IEC 61499 standard, the IEC addressed the need for a comprehensive and familiar approach to automation controllers cooperation. Using function blocks as a visual representation of a control entity, the IEC committee redefined the methodology of creating modern control systems. Today, industrial networking software providers are building network control and monitoring applications that take this visual block approach to defining industrial networks comprising disparate field bus components that traditionally could not communicate. Implementing IEC 61499 In creating an automation system, one would traditionally start by looking at individual control applications and then determine how to have these interact with each other. The advent of IEC 61499 created the structure for, among other things, a supervisory application layer that connects isolated control systems. One example of this supervisory industrial networking and control software is the ISaGRAF 5 control software environment. These programming, networking, and control environments allow the designer to define the local behavior of the control devices as well as global diagrams using the IEC 61499

environment. A library of drop-in functional blocks regulates the behaviors of the cooperating devices. Custom-made function blocks also can be

dropped into the diagram to regulate the behaviors. Each 61499 function block is made of two parts (see Figure 1). The top part holds the ECC (Execution Control Chart). The IEC 61499 standard specifies that this part should be programmed using a state machine. Under ISaGRAF 5, it is programmed using an SFC (Sequential Function Chart), which happens to be an ideal state machine.

The bottom part defines the actual control function. It can be programmed using any of the IEC 61131 languages: SFC, FBD (Function Block Diagram), LD (Ladder Diagram), ST (Structured text), and IL (Instruction List). Each IEC 61499 function block is assigned to a specific resource. These resources will eventually be assigned to a given device (called configuration under IEC 61131) and one device can hold more than one resource. Therefore, an IEC 61499 diagram can span multiple resources, which may also mean spanning multiple devices. IEC 61499 helps the automation engineer to tackle a range of control challenges, from simple control challenges to very complex ones. ISaGRAF, for example, gives the engineer the opportunity to have different views over the control application and refers to these views as the Hardware view, the Resource view and the Link architecture, as illustrated in Figures 2, 3, and 4, respectively. The Hardware view shows the physical devices on the network, in 61499 mode. It also uses icons to indicate the devices that have an established 61499 relationship, as well as which 61499 diagram regulates the relationship. By double-clicking on the diagram reference, the user can have a look at the actual diagram. An IEC

61499 diagram greatly accelerates deploying applications across an industrial network made up of proprietary devices, switches, and controllers. The 61499 diagram supersedes the implementation of individual applications on individual devices.

Traditionally, an application would be implemented on individual controllers in traditional automation, interacting with each other through manually implemented data transfers or interlocks. However, the IEC 61499 function block diagrams span over multiple devices (referred in the past as configurations or controllers) and, therefore, regulate the interaction between the various devices using a

single functional diagram. By using the graphic network design environments such as the ISaGRAF 5 suite of automation tools, it is now possible to create control systems that define interactions among multiple devices. These could be PLCs, field controllers, or field instruments (flowmeter, valves, pumps

etc.) with variable footprints, but all interacting in a well-defined and coherent fashion without the need for manually implemented algorithms on individual devices. With IEC 61499, the industrial control network is a seamless extension to the hardware bus on the controller, making the design of networked control systems as simple as the design of a singular PLC. This article was written by Julien Chouinard, Managing Director, at ICS Triplex ISaGRAF in Montreal, Canada. For more information, contact Mr. Chouinard at [email protected], or visithttp://info.hotims.com/10968-402.
http://www.medicaldesignbriefs.com/component/content/article/1096-et/features/6017-10968402?showall=1&limitstart=

Each 61499 function block is made of 2 parts: 1. The top portion holds the ECC (Execution Control Chart). The IEC 61499 standard specifies that this part should be programmed using a state machine. Under ISaGRAF 5.0, it is conveniently programmed using SFC, which happens to be an ideal state machine. 2. The bottom portion defines the actual control function. It can be programmed using any of the IEC 61131 languages. IEC 61499 function blocks can either be Basic or Composite. You can create a new Basic FB by programming its ECC and FB algorithms and by defining its inputs and outputs. Composites are created using basic FBs as well as a library of standardized IEC 61499 FBs. An IEC 61499 application is made of interconnected Basic and Composite FBs. Within an application, these FBs are distributed over resources and devices if need be. ISaGRAF acts to deploy the distributed application over resources and devices resulting in FBs that are automatically connected to one another.
http://www.isagraf.com/pages/newsletter/nov_2005.htm

FUNCTION BLOCK MODEL IEC 61499 FUNCTION BLOCK MODEL


Application Note www.isagraf.com - January 2006 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 Function Block Model represents parts included in a measurement and control function block. Figure 1 shows these parts of a measurement and control function block. Many function blocks are connected together with a data/event interface and are part of an application.

A function block is a functional unit of software comprising an individual instance or copy within a resource. The algorithms contained within a function block are hidden from the outside of the function block and are scheduled according to the Execution Control Chart state machine (ECC).

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. IEC 61499 Function Block Model Event inputs and outputs are used to synchronize function blocks within an application and to schedule the algorithms within the function block. Data inputs and outputs are the interface with the external of the function block since internal data is hidden. The data may be part of the algorithms and may also be state information for the Execution Control Chart (ECC). Function blocks are created by defining their ECC and programming their algorithms. These function blocks are called basic function blocks (see Figure 1). The ECC is a state machine processing events and scheduling algorithms. It defines the behavior of the function block upon receiving events. The algorithms operate on internal variable values, input values, and output values. Each basic function block can run on any resource.

When function block algorithms and the control of their execution are expressed entirely in terms of interconnected function blocks, these are called composite function blocks (see Figure 2). These are created by interconnecting existing basic and composite function blocks. No ECC or algorithm is created. A composite function block runs on any resource. However, the basic and composite function blocks making up a composite function block run on the same resource as the main composite block.

An application is defined by function block (Basic and Composite) networks specifying event and data flows throughout function block instances. The event flow determines the scheduling and execution of the function blocks algorithms. Each function block within the application can be distributed across resources and devices. In ISaGRAF, an application can be created using custom function blocks or function blocks from libraries. Figure 3 shows the basic function block editor. Figure 4 shows the composite function block editor and figure 5 shows the function block model displayed by the ISaGRAF toolset. Figure 3 displays a function block ECC state machine and a function block algorithm from the basic function block editor. The ECC is a state machine built using the SFC editor. Algorithms can use any of the IEC61131-3 programming languages as well as the flow chart language provided in the ISaGRAF toolset. The available IEC 611313 languages

are the following: Sequential Flow Chart (SFC), Function Block Diagram (FBD), Ladder (LD), Instruction List (IL), and Structured Text (ST). 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. 2 IEC 61499 Function Block Model Composite function blocks can also be created in the ISaGRAF toolset using the composite function block editor (see Figure 4). ISaGRAF enables you to create a composite function block by adding any available basic and composite function block to the function block network. The newly created function block is available for use in any application and can be configured to run on any resource or device part of the system.

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. 3 International Electrotechnical Commission: Function Blocks Part 1 Architecture (61499-1 CEI:200X). ICS Triplex ISaGRAF Inc.: ISaGRAF Users Guide. November 2005. 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. 4
http://www.oooneida.org/publications_Others_FunctionBlock_model.html

IEC 61499 Application Model Application Note www.isagraf.com January 2006 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 An Application Model represents parts included in a measurement and control application. Figure 1 shows these parts of a measurement and control application. Many function blocks are connected together with a data/event interface and are part of an application. The device is a selfcontained hardware capable of executing an application distributed across one or multiple 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. An automation and process control application runs in a resource or splits the load across multiple resources to use the special features of each resource.

(c) 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. IEC 61499 Application Model An application may consist of one or more function blocks where the input sampling is performed in one function block, control processing is performed in a second function block, and output conversion is performed in a third function block. This distributed application may run function blocks within one resource or across multiple resources. These resources are part of one or many devices. An application is defined by function block networks specifying event and data flow throughout function block instances. The event flow determines the scheduling and execution of the function blocks' algorithms. In ISaGRAF, each program can be a distributed application. Figure 2 shows distributed function blocks within an application. This is the Application Model displayed by the ISaGRAF toolset. 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 function blocks, links between function blocks, and service interface function blocks. The Publish and Subscribe function

blocks are service interface function blocks. These interface the application with the communication interface and the process interface. All other function blocks are basic, composite custom build, or predefined function blocks from the library. Figure 2: ISaGRAF Application Model Viewer

References International Electrotechnical Commission: Function Blocks Part 1 Architecture (61499-1 (c) CEI:200X). ICS Triplex ISaGRAF Inc.: ISaGRAF User's Guide. November 2005. (c) 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. 2
http://www.oooneida.org/publications_Others_Application_model.html

IEC 61499 EXECUTION MODEL


Application Note www.isagraf.com - January 2006 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 An Execution Model represents parts included in a function block execution mechanism. Figure 1 shows these parts of a execution mechanism. Each function block execution follows a specific mechanism. A function block is a functional unit of software comprising an individual instance or copy within a resource. The algorithms contained within a function block are hidden from the outside of the function block and are scheduled according to the Execution Control Chart state machine (ECC).

Event input (t2) and event output (t8) are used to synchronize function blocks within an application and to schedule the algorithms within the function block. Data input (t1) and data output (t5) are the interface with the external of the function block since internal data is hidden. The data may be part of the algorithms and may also be state information for the ECC. 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. IEC 61499 Execution Model Function blocks can be created by defining their ECC, input and output signals, and programming their algorithms. These function blocks are called Basic function block. The ECC is a state machine processing events and scheduling algorithms. The ECC defines the behavior of the function block upon receiving events. The algorithms operate on internal variable values, input values, and output values. Each Basic function block can run on any resource. In a Basic function block, timing is important. Data inputs are received first (t1), then the event inputs (t2) are either received at the same time or next. When event inputs trigger the ECC execution the function block must have stable data inputs. Otherwise, erroneous behavior occurs. At t3, the resource schedules the execution of the algorithms related to the event. At t4, the algorithms start running and process the input data signals. Upon completion, the algorithm outputs the data signal (t5), then the resource is notified (t6) and the ECC takes over at

t7. The ECC outputs event signals (t8) and the execution of the function block is completed until the reception of a new event. When function block algorithms and the control of their execution are expressed entirely in terms of interconnected function blocks, these are called Composite function block. These are created by interconnecting existing Basic and Composite function blocks. No ECC and algorithms are created. A Composite function block may run on any resource. Each function block within the Composite function block runs on the same resource as the Composite function block. Function blocks within of a composite function block cannot be individually distributed across multiple resources. The execution of a Composite function block differs from a Basic function block; A Composite function block does not have an ECC or algorithms. At some point when breaking down a Composite function block, each function block contained within is a Basic function block and executes as a standard Basic function block. The overall timing delay depends on the execution time of each of these internal function blocks. In ISaGRAF, you can create applications using custom function blocks or function blocks from libraries. You can also create Basic function blocks. The ISaGRAF ECC is a state machine built with the SFC editor. However, the ECC has a different execution behavior from IEC 61131 SFC. All STEPS execute in one virtual machine cycle until a FALSE transition occurs. Algorithms may use any of the IEC61131-3 programming languages as well as the flow chart language provided with the ISaGRAF toolset. The available programming languages are the following: Sequencial Flow Chart (SFC), Function Block Diagram (FBD), Ladder (LD), Instruction List (IL), and Structured Text (ST). Composite function blocks can also be created with the ISaGRAF toolset using the Composite FB editor. ISaGRAF enables the creation of composite function blocks by adding any available Basic and Composite function block to the function block network. The creation of a new function block (basic or composite) makes it available for use in any application and may be configured to run on any Resource or Device making up the system.

Figure 2 shows the execution mechanism used by an ISaGRAF control engine. After reading IO inputs and bound variables, the logic is processed. Then bound variables, retain variables and output IO are written. This cycle starts over once the delay is over. 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. 2 Figure 2: ISaGRAF Basic Function Block Execution Model The ISaGRAF Basic function block execution model operates as defined in the IEC 61499 standard. When the ISaGRAF resource consumes bound data, the resource reads the event and data input values (WITH qualifier). This is IEC 61499 t1 and t2 time (figure 1). Then the resource starts the execution of the function block ECC (t3 - figure 1) as it starts executing the TIC code. The algorithm is then running (t4 - figure 1) and upon completion (t5 figure 1), the algorithm writes the output data values. The resource (t6 - figure 1) returns execution to the ECC (7). This one writes output event values. Then the resource writes bound data values (WITH qualifier). This action generates the event and data signals simultaneously. References International Electrotechnical Commission: Function Blocks Part 1 Architecture (61499-1 CEI:200X). ICS Triplex ISaGRAF Inc.: ISaGRAF Users Guide. November 2005.

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. 3

IEC 61499 DISTRIBUTION MODEL


Application Note www.isagraf.com - January 2006 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 Distribution Model represents parts included in a measurement and control system. Figure 2 shows these parts of a distribution model. An application can be distributed by allocating its function block instances

to different resources in one or more devices. Function blocks are the atomic unit of distribution. An application built with many function blocks is displayed as one schematic while its function block instances are distributed across resources and devices. Figure 1 shows a control system having many devices connected together via the control network. The application built with function blocks is distributed across these devices.

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. IEC 61499 Distribution Model Many devices (Configuration) are connected together via a communication network. 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 contain a communication network when used in a distributed application. The devices are PLCs solving the control logic and can be seen in intelligent actuators such as valves or in sensors such as flow meters. Any field bus can serve as communication network. Industrial Ethernet, Profibus, DeviceNet are among those often used. Some networks are faster while others are more deterministic. The choice of network depends on the process to control. Hard real-time

or soft real-time applications need specialized communication networks to meet the time-critical behaviors. An automation and process control application runs in a single device or across mutiple devices to split the load and use the feature specialty of each device.

An application may consist of one or more control loops where input sampling is performed in one device, control processing is performed in a second device, and output conversion is performed in a third device. These cooperative control loops share data in a predictive and deterministic way described in the IEC 61499 standard. In ISaGRAF, each program can be a distributed application. Figure 3 shows distributed applications across devices. This is the Distribution Model displayed by the ISaGRAF toolset. All function block bitmaps (yellow) at the right of the application name indicate the distribution across devices. A bitmap displayed below a device means that the program has a part running in that device. The absence of a bitmap below a device means that the program has no part running in that device. For each program built using the ISaGRAF toolset, the System Model viewer quickly displays the distribution of the application. Each device can have either a bitmap representation or the standard icon. The communication network connects together devices that are part of a distributed system. Many communication networks are displayed if such

is configured in the system. Some devices may use one communication network while others may use another. A distributed application exchanges data across the communication network. The ISaGRAF elements use the communication network 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 network. Upon building an ISaGRAF application, the distributed application generator automatically links these distributed elements together. Copyright 2006: ICS Triplex ISaGRAF Inc. All rights reserved. No portion of this work may bereproduced in any form or by any means, without the prior written permission of I CS Triplex ISaGRAF Inc. 2 IEC 61499 Distribution Model

Figure 3 shows the devices, the communication network, the applications, the distributed relationship between devices and

applications as well as the application schematic. Application_A has parts running on the first, second, and third device. Application_B has parts running on the last two devices of the system. Application_C runs only on the first device. Each part of Application_A exchanges the proper information across the communication network. The same applies to Application_B. In the System Model view, double-clicking an application displays its schematic view. The schematic view is the Application Model. In this view, there are no device boundaries. It is a one schematic for the distributed application. Each function block in the application can be assigned to a resource which is also assigned to a device. The event and data signals between the function blocks are simple to draw. The ISaGRAF distribution generator creates all required links between these signals. These links exchange information transparently on the communication interface. The functional relationships between the function blocks of an application are unaffected by its distribution. The ISaGRAF toolset takes care of the whole distributed aspect of the application. Delays are added in the communication interface and in the algorithms execution that must be taken into account when designing such a distributed application. International Electrotechnical Commission: Function Blocks Part 1 Architecture (61499-1 CEI:200X). ICS Triplex ISaGRAF Inc.: ISaGRAF Users Guide. November 2005. 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. 3

IEC 61499 SYSTEM MODEL


Application Note www.isagraf.com - January 2006 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 system model represents parts included in a measurement and control system. Figure 1 shows the parts of this system model. Many devices (configurations) are connected together with a communication network. The device is a selfcontained hardware capable of executing a control loop. The device is a controller having a processor and memory devices and may also contain a communication network when used in a distributed application. The devices are PLCs solving the control logic and are seen in intelligent actuators such as valves and in sensors such as flow meters. Any field bus can do for the communication network; Industrial Ethernet, Profibus, DeviceNet among others are often used. Some communication networks are faster while others are more deterministic, therefore, network selection depends on the process to control. Hard real-time and soft real-time applications require specialized communication networks to meet time-critical behaviors.

An automation and process control application either runs on a single device or splits the load across many devices to use the special features of each device.

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. IEC 61499 System Model An application may consist of one or more control loops where the input sampling is performed in one device, control processing is performed in a second device, and output conversion is performed in a third device. These cooperative control loops share data in a predictive and deterministic way explicitly detailed in the IEC 61499 standard. In ISaGRAF, each program can be a distributed application. Figure 2 shows distributed applications across multiple devices. This is the System Model displayed by the ISaGRAF toolset. All function block bitmaps (in yellow) at the right of the application name indicate the distribution across devices. A bitmap below a device means that the program has a running part in that device. No bitmap displayed below a device means the application has no running part in that device. For each program built with the ISaGRAF toolset, the System Model viewer quickly displays the distribution of the application. Each device is represented with either a bitmap or a standard box. The communication network connects the devices making up a distributed system. Many communication networks are displayed when configured this way in the system. Some devices may use one

communication network while other devices may be connected to another. A distributed application exchanges data across the communication network. The ISaGRAF elements use the communication network 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 network. Upon building an ISaGRAF application, the distributed application generator automatically links these distributed elements together. Figure 2 shows the devices, the communication network, the applications making up the system as well as the distributed relationship between devices and applications. Application_A has parts running on the first, second, and third device. Application_B has parts running on the last two devices of the system. Application_C runs only on the first device. Each part of distributed Application_A exchanges the proper information across the communication network. The same information exchange applies for Application_B.

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. 2 References International Electrotechnical Commission: Function Blocks Part 1 Architecture (61499-1 CEI:200X). ICS Triplex ISaGRAF Inc.: ISaGRAF Users Guide. November 2005. 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. 3

TRAINING - RESOURCE MODEL IEC 61499 SYSTEM MODEL


Application Note www.isagraf.com - January 2006 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 Resource Model represents parts included in a measurement and control resource. Figure 1 shows these parts of a measurement and control resource. Many function blocks are connected together with a data/event interface and are part of a resource. The device is a selfcontained hardware capable of executing control loops programmed in one or multiple 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.

An automation and process control application runs in a resource or splits the load across multiple resources to use the special features of each resource. Figure 1: IEC 61499 Resource Model 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. IEC 61499 Resource Model An application may consist of one or more control loops where the input sampling is performed in one function block, control processing is performed in a second function block, and output conversion is

performed in a third function block. This distributed application may run function blocks within one resource or across multiple resources. These resources are part of one device or multiple devices. In ISaGRAF, each program can be a distributed application. Figure 2 shows distributed applications within a resource. This is the Resource Model displayed by the ISaGRAF toolset. 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 function blocks, links between function blocks, and service interface function blocks. The Publish and Subscribe function blocks are service interface function blocks. These interface the application with the communication interface and the process interface. All other function blocks are basic, composite custom build, or predefined function blocks from the library. From the Device Model viewer, clicking on an application pops up the Resource Model view.

International Electrotechnical Commission: Function Blocks Part 1 Architecture (61499-1 CEI:200X). ICS Triplex ISaGRAF Inc.: ISaGRAF Users Guide. November 2005. 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. 2

PRACTICAL HINTS IEC 61499 PRACTICAL HINTS


Application Note www.isagraf.com - January 2006 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 Building a distributed application is not always simple. What is the starting point? What is the cycling time? How to get IO and variable values? How to exchange data between applications and devices? What are good programming practices and data integrity? This application note is all about these issues. An application may consist of one or more function blocks where input sampling is performed in one function block, control processing is performed in a second function block, and output conversion is performed in a third function block. This distributed application may run function blocks within a single resource or across multiple resources. These resources are part of one device or multiple devices. A function block is a functional unit of software comprising an individual instance or copy within a resource. An automation and process control application having many function blocks requires synchronization to guarantee data integrity and good behavior. Starting Point Figure 1 shows the RESTART function block that sets the starting point of an application. All function blocks contained in an application should

be initialized and have a proper starting point. Since individual function blocks can run on any resource or device, their order of execution must be defined. The RESTART function block clearly indicates the starting point of the application. This function block sends an event when the resource runs for the first time, then all other function blocks forming the application start running. The RESTART function block can be connected to all function blocks contained in the application. In this case, when the function blocks receive the RESTART event, these switch to the running state. Also, the RESTART function block can be connected to a single function block. In this case, the first function block receives the RESTART event and starts running, then its output event and data signals trigger other function block contained in the application.

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. IEC 61499 Practical Hints An application can run one time or periodically (cyclically). Function blocks can be on standby awaiting an event signal to start running. Signals coming from input devices or human machine interfaces trigger these function blocks. In applications needing to run periodically, a common practice is to use the PERIODIC function block providing the cycle time to the application. This PERIODIC function block sends an event signal at a specific time interval and sets the cycle time for the control loop. In this type of application, the PERIODIC event should exceed the total execution time of the application. Otherwise, the function block will deviate from the defined cycle time. The total execution time of an application is equal to the propagation delay

between function blocks and the internal execution times of the algorithms defined for all individual function blocks.

Service Interface An application needs to read and write to the external world. Accessing IO device values, variable values, and communication values is common in any control and automation application. IEC 61499 application schematic disallow variables since these require declared instances on a resource and device. An interfacing mechanism is needed. Function blocks specializing in such purposes are called Service Interface Function Blocks. These function blocks are the atomic object used for distribution application rather than variables. Therefore, an application must contain service interface function blocks to enable reaching IOs, variables, and communication values. Figure 3 shows an application having an input service interface (IN) and an output service interface (OUT). The input service interface retrieves values from IO points coming from an IO device driver as well as variable values coming from a resource database or a communication interface such as an OPC server or field bus link. The output service interface sends data values to external IO devices, variable databases, and a communication link. 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. 2 IEC 61499 Practical Hints Individual function blocks contained in an application can reach internal variables on their own, therefore, these function blocks do not require service interfaces. However, Adding service interfaces to an application increases the reuse of function blocks and programming flexibility.

Data Integrity Since ISaGRAF applications event and data signals are synchronized, each time an event is sent from a function block, the corresponding data is valid. Therefore, the receiving function block has valid data associated with the event. Each time a function block consumes its inputs, it retrieves all events and data from other function blocks linked to its inputs. Also, a function block produces all of its output signals simultaneously. Figure 4 shows two function blocks interfacing with FB2. How are the event and data signals synchronized since FB1 and FB3 do not talk to each other? This type of programming brings about data integrity problems in the application. FB2 gets the event and data signals from both function blocks correctly, however, the synchronization of the event and data signals is uncertain. Moreover, the data coming from FB3 may not be ready when FB1 outputs its event signal.

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 I CS Triplex ISaGRAF Inc. 3 IEC 61499 Practical Hints Figure 5 shows FB3 receiving its event and data signals correctly. When FB1 sends its event signal, it asks FB2 to prepare the data and drive FB3 correctly. Such good programming practices save a lot of debugging time.

References International Electrotechnical Commission: Function Blocks Part 1 Architecture (61499-1 CEI:200X). ICS Triplex ISaGRAF Inc.: ISaGRAF Users Guide. November 2005.

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. 4

Demos ajempls isafraf http://www.icpdas-usa.com/isagraf_product_demos.html http://www.infoplc.net/noticias/item/1201-isagraf-anuncia-la-versi%C3%B3n-61-de-isagraf-connuevo-workbench-y-firmware-c5

ISaGRAF anuncia la versin 6.1 de ISaGRAF con nuevo workbench y firmware C5


o

Martes, 24 Abril 2012

ISaGRAF

ISaGRAF, la firma lder en tecnologa de software para automatizacin, ha anunciado la versin 6.1 de ISaGRAF. ISaGRAF es el firmware y workbench lder del mercado para conformidad a IEC 61131-3 e IEC 61499 en productos de automatizacin industrial. ISaGRAF 6.1 es una

importante novedad formada por un nuevo workbench y la nueva versin 5.3 del firmware C5. Ahora se basa en el potente Microsoft Visual Studio 2010 y ofrece una mayor velocidad, un interface de usuario nuevo y mejorado, as como una gestin ms avanzada de ventanas y del paquete de software.

ISaGRAF 6.1 incorpora extensiones (plug-ins) para las nuevas funciones, as como para implementar algunas de las funciones que han popularizado al galardonado ISaGRAF 5 entre clientes de todo el mundo. Entre las funciones que vuelve a incorporar ISaGRAF 6.1 Workbench se encuentra un editor de IEC 61499. Otros lenguajes disponibles son: LD, FBD, ST, SFC y SAMA. Otra importante funcin ahora disponible en esta nueva versin se denomina Control de Fuente de Versin (Version Source Control) y permite trabajar a mltiples usuarios sobre los mismos elementos (p.ej., dispositivo, recurso, punto de utilizacin) al realizar una doble comprobacin de entrada y salida. Tambin permite a los usuarios gestionar mltiples versiones de un

proyecto, realizar copias de seguridad y restaurar proyectos enteros o determinados elementos de un proyecto, as como comparar archivos entre diferentes versiones. Otras funciones incorporadas como novedad a ISaGRAF 6.1 son Interrupciones de Usuario, Failover (Cambio de Unidad), rbol de Dependencia, Biblioteca de Bloques, Monitor de Bloqueo de Variables y Estado del Controlador. Dado que los diferentes tipos de aplicaciones necesitan diferentes tipos de Interrupciones (p.ej., tiempo, impulso, E/S...), la implementacin de las Interrupciones con ISaGRAF ofrece un conjunto de herramientas que permite a los OEM definir y asignar las interrupciones a una aplicacin ISaGRAF. Tambin incorpora un plug-in para que los usuarios finales configuren y programen las interrupciones. Failover (Cambio de Unidad) es un modo de soporte para el funcionamiento en el que un sistema de control secundario asume las funciones de un sistema de control cuando el sistema primario no est disponible debido a una avera del equipo o una parada programada. Se utiliza para hacer que los sistemas de control sean ms tolerantes a fallos. La funcin Failover de ISaGRAF 6.1 permite al usuario modificar decisiones acerca del control y cambiar las condiciones a partir de las cuales un controlador recupera o pierde el control. El plug-in rbol de Dependencia proporciona a los usuarios una visin completa de todos los elementos incluidos en una

aplicacin de forma que puedan ver todas las dependencias entre variables, as como las dependencias ascendentes y descendentes para cada variable. La Biblioteca de Bloques supone una mejora del interface de usuario que permite a los usuarios arrastrar y soltar cualquier funcin o bloque de funciones en un programa en lugar de realizar la seleccin desde el selector de bloque. Las funciones y los bloques de funciones son contextuales para el proyecto, dispositivo o recurso seleccionado, se agrupan segn su mbito o categora, y los usuarios tambin pueden buscar el nombre del bloque. El Monitor de Bloqueo de Variable muestra una lista de todas las variables bloqueadas. La funcin de Estado del Controlador proporciona a los usuarios informacin fundamental sobre su controlador, como la versin del proyecto que estn ejecutando, as como el tiempo de ciclo y el nmero de variables bloqueadas. El nuevo Firmware C5 versin 5.3 incorpora nuevas plantillas, como plantillas de Microsoft Windows y Linux par alas nuevas funciones Interrupciones de Usuario y Failover (Cambio de Unidad). Otras funciones nuevas son las prioridades de SFC para transicin simultnea en caso de divergencia OR. ISaGRAF 6.1 sigue incorporando una versin gratuita que consiste en el firmware gratuito ISaGRAF ejecutado en XP

Embedded, Windows XP de 32 y 64 bit, Windows Vista y Windows 7, as como una versin totalmente funcional del workbench ISaGRAF 6.1 mediante el cual los desarrolladores pueden crear aplicaciones completas. El firmware gratuito ISaGRAF incluye un Modbus TCP Cliente y un Modbus TCP Servidor. Acerca de ISaGRAF v6.1 ISaGRAF 6.1 Workbench es un entorno modular y flexible que permite a los usuarios aadir o eliminar componentes. Cada componente del Workbench ha sido desarrollado e interacciona con la tecnologa de ISaGRAF basada en Microsoft .NET Framework y denominada Automation Collaborative Platform (ACP). ISaGRAF ACP ofrece la posibilidad de aadir o eliminar varios plug-ins con el fin de cubrir los requisitos de cada producto.

You might also like