iec 61499: a standardized architecture for adding value in

69
IEC 61499: A Standardized Architecture for Adding Value in Industrial Automation KITARA Seminar HTC High Tech Center IEC 61499 Architecture 1 2007-09-05 HTC High Tech Center September 5, 2007 James H. Christensen Holobloc, Inc. [email protected]

Upload: others

Post on 13-Nov-2021

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IEC 61499: A Standardized Architecture for Adding Value in

IEC 61499:A Standardized Architecture

for Adding Valuein Industrial Automation

KITARA SeminarHTC High Tech Center

IEC 61499 Architecture 12007-09-05

HTC High Tech CenterSeptember 5, 2007James H. Christensen

Holobloc, [email protected]

Page 2: IEC 61499: A Standardized Architecture for Adding Value in

Adding Value with IEC 61499

Background

Requirements

Architecture

IEC 61499 Architecture 22007-09-05

Architecture

Design Patterns & Frameworks

Software Tools

Runtime Platforms

Page 3: IEC 61499: A Standardized Architecture for Adding Value in

The Industrial Automation Value-Add Chain

MachineMachineExpertise

IntegrationExpertiseSystem

Integrators SoftwareComponents

IndustrialEnterprises

OperationalExpertise

SoftwareComponents

IntelligentEnterprise

•Intellectual Property (IP)•Development•Deployment = Reuse +Distribution + Integration

Tools/Methods/

Methodologies+ Software Tools

IEC 61499 Architecture 32007-09-05

MachineVendors

IntelligentMachines

SoftwareComponents

Expertise IntelligentSystems

Tool/ServiceVendors

RTOS/StandardsExpertise

Tools/Methods/StandardsExpertise

SoftwareComponents

IntelligentDevices

HardwareComponents

DeviceExpertise

DeviceVendors

RuntimePlatforms

Page 4: IEC 61499: A Standardized Architecture for Adding Value in

An IEC (International Electrotechnical Commission) Standard for the use of function blocks indistributed industrial-process measurement and control systems

Part 1, Architecture• IEC Standard, January 2005

What is IEC 61499?

IEC 61499 Architecture 42007-09-05

• IEC Standard, January 2005

Part 2, Software Tool Requirements• IEC Standard, January 2005

Part 4, Rules for Compliance Profiles• IEC Standard, May 2005

Part 3, Tutorial Information• Withdrawn (obsolete), 2007

Page 5: IEC 61499: A Standardized Architecture for Adding Value in

distributability

agility!

Common

PLCIEC 61131-3SC65B/WG7

CentralizedProgrammableConfigurable

Thesis

dynamicallyreconfigurable

= agile !

Function Blocks: The Architectural Dialectic

IEC 61499 Architecture 52007-09-05

programmability

agility!

distributedconfigurable

programmable

CommonArchitectureReference

Model

Function BlocksIEC 61499Synthesis

DCSIEC 61804

SC65C/WG7

DistributedConfigurable

Antithesis

Page 6: IEC 61499: A Standardized Architecture for Adding Value in

IEC 61499

Parent organization: IEC

Working group: TC65/WG6

Goal: Standard model (function blocks) for control encapsulation& distribution

Started: 10/90

Holonic Manufacturing Systems (HMS)

Parent organization: IMS

Working group: HMS Consortium

Goal: Agile, intelligent manufacturing through holonic(autonomous, cooperative) modules

Architectural Co-Evolution

IEC 61499 Architecture 62007-09-05

Started: 10/90

Active development: 3/92

Trial period: 2001-03

Completion: 2005

modules

Feasibility study: 3/93-6/94

First phase: 2/96 - 6/00

Second phase: 6/00-6/03

RequirementsControls architecture

Intelligent Automation architecture

Page 7: IEC 61499: A Standardized Architecture for Adding Value in

Adding Value with IEC 61499

Background

Requirements

Architecture

IEC 61499 Architecture 72007-09-05

Architecture

Design Patterns & Frameworks

Software Tools

Runtime Platforms

Page 8: IEC 61499: A Standardized Architecture for Adding Value in

Agile Manufacturing Requirement: Dynamic Reconfiguration

The Vision (Iacocca Institute, 1991)• Production to Order

• Lot/Batch size > 1 Unit

• "Information intensive, reprogrammable, reconfigurable,continuously changeable"

Physical Reconfiguration• Modular Machines and Workcells

IEC 61499 Architecture 82007-09-05

• Modular Machines and Workcells

• Distributed Automation

Logical Reconfiguration• Dynamic Reorganization of Control Plans

• Minimum Human Intervention (zero preferred)

• Maintain Configuration Control

Not just Parameterization• Leads to Large, Complex Software Modules

• Reduces Distributability, Flexibility, Reliability

Page 9: IEC 61499: A Standardized Architecture for Adding Value in

Architectural RequirementsComponent-Based

Support encapsulation/protection of Intellectual Property (IP)

IP Portable across Software Tools and Runtime Platforms

DistributedMap IP modules into distributed devices

Integrate IP Modules into distributed applications

Functionally CompleteControl/Automation/Diagnostics components

IEC 61499 Architecture 92007-09-05

Control/Automation/Diagnostics components

Machine/Process Interface components

Communication Interface components

Human/Machine Interface (HMI) components

Software Agent ("Holonic") components

ExtendableEncapsulate new types of IP

Create new IP through Functional Composition of existing IP modules

OPEN!Multiply the value of IP through widest possible deployment

Benefits available to all market players

Page 10: IEC 61499: A Standardized Architecture for Adding Value in

What is an Open Architecture?

A system architecture whose functional units are capable of exhibiting portability, interoperability and configurability:• portability: Software tools can accept and correctly

interpret library elements produced by other software tools.

• interoperability: Devices can operate together to perform the functions specified by one or more distributed

IEC 61499 Architecture 102007-09-05

the functions specified by one or more distributed applications.

• configurability: Devices and their software components can be configured (selected, assigned locations, interconnected and parameterized) by multiple software tools.

Page 11: IEC 61499: A Standardized Architecture for Adding Value in

Open Distributed ArchitectureRequirements

ProjectRepository

SoftwareLibraries

PORTABILITY

CONFIGURABILITY

SoftwareTools

IEC 61499 Architecture 112007-09-05

INTEROPERABILITY

Distributed intelligent devices & machines

CONFIGURABILITY

Page 12: IEC 61499: A Standardized Architecture for Adding Value in

Adding Value with IEC 61499

Background

Requirements

Architecture

IEC 61499 Architecture 122007-09-05

Architecture

Design Patterns & Frameworks

Software Tools

Runtime Platforms

Page 13: IEC 61499: A Standardized Architecture for Adding Value in

IEC 61499-1:Distributed System Architecture

Event flow

Dataflow

Application=

Function BlockNetwork

IEC 61499 Architecture 132007-09-05

Communicationnetwork

Device 2

Device 3

Device 4

Device 1

Appl. C Application B

Application A

Controlled process/machines

flow

System=

CommunicationNetwork

+Devices

+Process/Machines

Page 14: IEC 61499: A Standardized Architecture for Adding Value in

Device Architecture

Device = Container for Resources

Device provides Communications & Process Interfaces

Communication link(s)

Device boundary

Communication interface(s)

IEC 61499 Architecture 142007-09-05

Resource x

Controlled process/machine

Resource z

Resource y

Application BApplication C

Application A

Process interface(s)

Page 15: IEC 61499: A Standardized Architecture for Adding Value in

Resource Architecture Resource schedules & executes FB algorithms

Resource maps Communications & Process I/O Functionsto Service Interface Function Blocks

Local application(or local part of distributed application)

Communicationmapping

Communication functions

IEC 61499 Architecture 152007-09-05

ServiceInterfaceFunction

Block

ServiceInterfaceFunction

Block

Process I/O functions

Process mapping

Data

Events

Scheduling Function

Service

Interface

Algorithms

Page 16: IEC 61499: A Standardized Architecture for Adding Value in

Event inputs

Event outputs

Type identifier

ExecutionControlChart

IEC 61499:Basic Function Block Types

IEC 61499 Architecture 162007-09-05

Output variables

Input variables

Algorithms(IEC 61131-3)

Event/variableassociations

(WITH)

Event/variableassociations

(WITH)

Internalvariables

Page 17: IEC 61499: A Standardized Architecture for Adding Value in

The Execution Control Chart (ECC):An Event-Driven State Machine

START

EC initial state

INIT EX

11EC

transitions

IEC 61499 Architecture 172007-09-05

INIT INIT INITO MAIN EX EXO

EC action

algorithm event

EC state

INIT EX

Page 18: IEC 61499: A Standardized Architecture for Adding Value in

IEC 61499 Algorithms are programmedin IEC 61131-3 Languages

Function Block Diagram (FBD)

IEC 61499 Architecture 182007-09-05

OUT := (X-Y)*(X+Y); Structured Text (ST)

Ladder Diagram (LD)

• Also Java, C++, etc, depending on software tool support

Page 19: IEC 61499: A Standardized Architecture for Adding Value in

IEC 61499 Reuses 61131-3 Data Types IEC 61131-3 and 61499 are Strongly Typed

• No mixed-type operations, assignments or connections allowed

• Generic type hierarchy for overloading of functions

Signed Integers: SINT(8), INT(16), DINT(32), LINT(64)

Unsigned Integers: USINT(8), UINT(16), UDINT(32), ULINT(64)

Floating Point: REAL(32), LREAL(64)

Bit Strings: BOOL(1), BYTE(8), WORD(16), DWORD(32), LWORD(64)

IEC 61499 Architecture 192007-09-05

• TRUE, FALSE, 1, 0, 255, 16#FF, etc.

Character Strings: STRING(8), WSTRING(16)

• 'abc', “abc”, etc.

Duration: TIME(t#2s, t#1500ms, etc.)

TIME_OF_DAY or TOD, DATE, DATE_AND_TIME or DT

• TOD#17:32:55.678, D#2005-06-07, DT#2005-06-07-17:32:55, etc.

Derived Data Types

• Directly derived, subrange, enumerated, array, structured

Page 20: IEC 61499: A Standardized Architecture for Adding Value in

Composite Function Block Types

Event inputs Event outputs

Type identifier

ExecutionControl

IEC 61499 Architecture 202007-09-05

Output variables

Input variables

Page 21: IEC 61499: A Standardized Architecture for Adding Value in

Service Interface Function Blocks

QO

STATUS

INITIATOR

SD_m:

SD_1

CNFREQ

INITO

:

RD_n

RD_1

INDRSPINIT INITO

QO

STATUSPARAMS

RESPONDER

SD_m

:

SD_1:

RD_n

RD_1

QI

PARAMS

QI

INIT

ANY

BOOL

EVENT

ANY

: ANY

EVENT

BOOL

ANY

EVENT

ANY

:

ANY

EVENT

BOOL

ANY

EVENT

EVENT

:

ANY

ANY

BOOL

ANY

EVENTEVENT

:

ANY

ANY

IEC 61499 Architecture 212007-09-05

Access to Resource functionality, e.g., I/O, HMI, communications

Modelled as sequences of service primitives

Event & data interfaces standardized as in ISO/IEC 10731, Information technology - Open Systems Interconnection - Basic Reference Model - Conventions for the definition of OSI services

(application-initiated transactions)

(resource-initiated transactions)

SD_m RD_n SD_m RD_nANY ANYANY ANY

Page 22: IEC 61499: A Standardized Architecture for Adding Value in

IEC 61499 Service Interface Function Blocks:Sensor/Actuator Interfaces

(application-initiated transactions) (resource-initiated transactions)

QO

STATUS

INITIATOR

SD_m:

SD_1

CNFREQ

INITO

:

RD_n

RD_1

INDRSPINIT INITO

QO

STATUSPARAMS

RESPONDER

SD_m

:

SD_1:

RD_n

RD_1

QI

PARAMS

QI

INIT

ANY

BOOL

EVENT

ANY

: ANY

EVENT

BOOL

ANY

EVENT

ANY

:

ANY

EVENT

BOOL

ANY

EVENT

EVENT

:

ANY

ANY

BOOL

ANY

EVENTEVENT

:

ANY

ANY

IEC 61499 Architecture 222007-09-05

resourceapplication

STATUS

INITO(+)

startService

writeOutputs

readInputs

endService

RSP(+)

SD_1,...,SD_m

resourceapplication

PARAMS

INIT(+)

STATUS

INITO(+)

RD_1,...,RD_n

IND(+)

STATUS

startService

writeOutputs

readInputs

INIT(-)

STATUS

INITO(-)

endServicet

PARAMS

INIT(+)

REQ(+)

SD_1,...,SD_m

RD_1,...,RD_nSTATUS

CNF(+)

INIT(-)

STATUS

INITO(-)

Page 23: IEC 61499: A Standardized Architecture for Adding Value in

IEC 61499 Communication Service Interfaces:Publish/Subscribe Model

~

QOSTATUSPARAMS

PUBLISH_m

SD_m

QI

:SD_1

CNFREQINIT

INIT(+)

INITO

QOSTATUS

SUBSCRIBE_m

:

INIT INITO

RSP IND

QI

RD_m

RD_1PARAMSANY

BOOL

EVENT

ANY:

ANY

EVENT

ANYBOOL

EVENTEVENT

ANYBOOL

EVENT

ANYBOOL

EVENT

ANY

ANY:

EVENTEVENT

IEC 61499 Architecture 232007-09-05

INITO(+)

PARAMS

INIT(+)~

~ RSP(+)

SD_1, ..., SD_m

REQ(+)

PARAMS

INIT(+)

IND(+)

RD_1, ..., RD_m

INITO(+)

CNF(+)

Page 24: IEC 61499: A Standardized Architecture for Adding Value in

IEC 61499 Communication Service Interfaces:Client/Server Model

QOSTATUS

CLIENT_m_n

SD_m

:

QI

:SD_1

RD_n

RD_1

CNFREQINIT INITO

PARAMS QOSTATUSPARAMS

SERVER_n_m

SD_n:

INIT INITO

RSP IND

QI

:SD_1

RD_m

RD_1

ANYBOOL

EVENT

ANYBOOL

EVENT

ANYBOOL

EVENT

ANYBOOL

EVENT

ANY:

ANY

EVENT

ANY

ANY:

EVENT

ANY:

ANY

EVENT

ANY

ANY:

EVENT

IEC 61499 Architecture 242007-09-05

INITO(+)

PARAMSINIT(+)

RSP(+)SD_1, ..., SD_nCNF(+)

RD_1, ..., RD_n

SD_1, ..., SD_m

REQ(+)

PARAMS

INIT(+)INITO(+)

IND(+)RD_1, ..., RD_m

Page 25: IEC 61499: A Standardized Architecture for Adding Value in

Adapter (Plug/Socket) Interfaces

EI EOEIEO

provideracceptor

IEC 61499 Architecture 252007-09-05

adapterconnection

DI DODIDOsocketplug

Reduce diagram clutter

Simplify transducer interface

Capture patterns of interaction

>> >>

Page 26: IEC 61499: A Standardized Architecture for Adding Value in

IEC 61499 System Model

(*)

IEC 61499 Architecture 262007-09-05

*ESS = “Engineering Support System”= Software Toolbox= IDE (Integrated Development Environment)

Page 27: IEC 61499: A Standardized Architecture for Adding Value in

Device Management Architecture

Separation of Concerns• Software Tools vs. Runtime Device

• Communication Services vs. Management Services

IEC 61499 Architecture 272007-09-05

Device Management Kernel(in Device)

Device Management Proxy(in Software Toolset)

Page 28: IEC 61499: A Standardized Architecture for Adding Value in

Configuration Commands in XML

<Request ID="3" Action="CREATE" ><FB Name="DIAG" Type="SUBL_2" />

</Request>

<Request ID="4" Action="CREATE" ><FB Name="LOG" Type="DIAG_LOG" />

</Request>

<Request ID="7" Action="CREATE" ><Connection Source="DIAG.IND" Destination="LOG.REQ" />

</Request>

IEC 61499 Architecture 282007-09-05

<Request ID="8" Action="CREATE" ><Connection Source="DIAG.RD_1" Destination="LOG.SRC" />

</Request>

<Request ID="10" Action="WRITE" ><Connection Source="700" Destination="LOG.W" />

</Request>

• For details see IEC 61449-1, Clause 6.3.• For additional information see Clause 6 at http://www.holobloc.com/doc/ita/index.htm.

Page 29: IEC 61499: A Standardized Architecture for Adding Value in

Open Distributed Architecture -The IEC 61499 Solution

ProjectRepository

SoftwareTools Software

Libraries

PORTABILITY (XML)

CONFIGURABILITY: Standard management protocols (XML)

IEC 61499 Architecture 292007-09-05

Distributed intelligent devices & controllers

CONFIGURABILITY: Standard management protocols (XML)

INTEROPERABILITY: Standard data transfer protocols (ASN.1)

Page 30: IEC 61499: A Standardized Architecture for Adding Value in

Adding Value with IEC 61499

Background

Requirements

Architecture

IEC 61499 Architecture 302007-09-05

Architecture

Software Tools

Design Patterns & Frameworks

Runtime Platforms

Page 31: IEC 61499: A Standardized Architecture for Adding Value in

IEC 61499-2:Software Tool Requirements

• Exchange of library elements

• Information to be provided by the supplier of libraryelements

• Display of declarations

• Modification of declarations

IEC 61499 Architecture 312007-09-05

• Validation of declarations

• Implementation of declarations

• System operation, testing and maintenance

• XML DTDs for Library Elements• Document Type Definition (DTD) = "File Exchange Format"

• Library Elements: Data Type, FB Type, Adapter Type, SubapplicationType, Resource Type, Device Type, System Configurations

Page 32: IEC 61499: A Standardized Architecture for Adding Value in

IEC 61499 Software Tool Model

IEC 61499 Architecture 322007-09-05

Page 33: IEC 61499: A Standardized Architecture for Adding Value in

IEC 61499 Software Tools

FBDK/FBRT (Function Block Development Kit & Runtime Platform)• Publicly available

• http://www.holobloc.com/doc/fbdk/index.htm

ISaGRAF• Commercially supported

• http://www.isagraf.com/

FBench• Open source

• http://oooneida-fbench.sourceforge.net/

IEC 61499 Architecture 332007-09-05

• http://oooneida-fbench.sourceforge.net/

4DIAC• Open source

• C++ runtime, Eclipse-based IDE

• http://www.fordiac.org/

CORFU• Framework, Methodology, Toolset, Runtime Environment

• http://seg.ee.upatras.gr/corfu/dev/index.htm

Other research tools• http://en.wikipedia.org/wiki/IEC_61499

Page 34: IEC 61499: A Standardized Architecture for Adding Value in

Adding Value with IEC 61499

Background

Requirements

Architecture

IEC 61499 Architecture 342007-09-05

Architecture

Software Tools

Design Patterns & Frameworks

Runtime Platforms

Page 35: IEC 61499: A Standardized Architecture for Adding Value in

Design Patterns & Frameworks

Design patterns

• A formalized approach to a common problem within a context (B.P. Douglass, Real-Time UML,1998)

• Our context: distributed control and automation with IEC 61499 architecture

Frameworks

IEC 61499 Architecture 352007-09-05

Frameworks

• “A skeletal structure...that must be fleshed out to build a complete application” (R. Wirfs-Brock et.al., Designing Object-Oriented Software,1990)

• May integrate multiple design patterns

Page 36: IEC 61499: A Standardized Architecture for Adding Value in

Example Pattern: Scanned Execution

Function blocks executed (scanned) in a fixed order• Typically triggered by periodic tasks

• Individual blocks enabled/disabled with Boolean variables

• Sequences implemented with state variables IEC 61131-3 Sequential Function Charts (SFCs)

Advantage• Predictable performance in small, high-performance systems

IEC 61499 Architecture 362007-09-05

• Predictable performance in small, high-performance systems(e.g., DSPs for motor control) or larger low-speed systems (e.g., some process control applications)

Disadvantages• High processor loading in centralized systems (e.g., PLCs)

• High communications bandwidth loading in distributed systems

Page 37: IEC 61499: A Standardized Architecture for Adding Value in

Design Patterns and Frameworks for IEC 61499

Problem: Account for communication and synchronization in distributed systems

• Methodology: Distributed Application Development

Problem: Improve efficiency of intraprocess communication

• Design Pattern: Local Multicast

Problem: Maintain consistency of communicated data

• Design Pattern: Tagged Data

Problem: Remove I/O dependencies from applications

• Design Pattern: Proxy

IEC 61499 Architecture 372007-09-05

Problem: Integrate simulation and deployment

• Framework: Layered Model/View/Controller

Problem: Utilize processing power in physical devices

• Design Pattern: Mechatronic

Problem: Implement features of Harel Statecharts

• Design Pattern: Statechart Mapping

Problem: Ensure consistent operating mode throughout a distributed application.

• Design Pattern: Multicast Mode

• Uses Tagged Data pattern

Page 38: IEC 61499: A Standardized Architecture for Adding Value in

1. Obtain or develop a library of function block, resource and device types.

2. Define and develop the application.

3. Map function block instances from the application to distributed resources.

Methodology for Distributed ApplicationsConfigurationMappingLibraries Application

IEC 61499 Architecture 382007-09-05

distributed resources.

4. Configure devices and resources.

5. Configure communication connections, using communication service interface function blocks to implement the event connections and data connections of the application across resource boundaries

Page 39: IEC 61499: A Standardized Architecture for Adding Value in

Presence/Color Sensor Pneumatically actuated diverter

Example: Orange SorterConfigurationMappingLibraries Application

IEC 61499 Architecture 392007-09-05

Feed conveyor

Presence/Color Sensor Pneumatically actuated diverter

Accepted product

Rejected product

Page 40: IEC 61499: A Standardized Architecture for Adding Value in

Communication Connection

Distributed Orange SorterConfigurationMappingLibraries Application

IEC 61499 Architecture 402007-09-05

Feed conveyor

Presence/Color Sensor Pneumatically actuated diverter

Accepted product

Rejected product

Page 41: IEC 61499: A Standardized Architecture for Adding Value in

Design Pattern: Local Multicast

encode

Distributed Multicast Local Multicast

IEC 61499 Architecture 412007-09-05

encode

decode

decode

copy

copy

Local Group

Page 42: IEC 61499: A Standardized Architecture for Adding Value in

Design Pattern: Tagged Data Ensures that:

• data used in a local multicast channel is consistent with that used in the corresponding distributed multicast channel

• data subscribed from a multicast channel is consistent with that published on the channel

IEC 61499 Architecture 422007-09-05

Page 43: IEC 61499: A Standardized Architecture for Adding Value in

…"decouples clients from their servers by creating a local proxy, or stand-in, for the less accessible server. When the client needs to request a service from the server, such as retrieving a value, it asks its local proxy. The proxy can then marshal a request to the original server… " (Douglass, 1998)

Device 1 Device 2Application FBs

Design Pattern: Proxy

IEC 61499 Architecture 432007-09-05

Sensor/ActuatorLink #1

Sensor/ActuatorLink #2

Machine#1

Machine#2

Coordinated Operation

ProxySIFBs

Communication SIFBs

Page 44: IEC 61499: A Standardized Architecture for Adding Value in

An I/O Proxy Service Interface

IEC 61499 Architecture 442007-09-05

Page 45: IEC 61499: A Standardized Architecture for Adding Value in

Proxies for Physical Devices

IEC 61499 Architecture 452007-09-05

Page 46: IEC 61499: A Standardized Architecture for Adding Value in

Framework: Layered MVC (Model/View/Controller)

Controller Controller

HMI HMI HMI HMI

controlparameters

HMIparameters

HMI Layer

Control Layer

Inter- LayerCommunication

(Multicast or Client/Server)

IEC 61499 FBs

IEC 61499 Architecture 462007-09-05

Model Model Model

View View View

rendering data user input

sensor inputs actuator outputs

displayparameters

modelparameters Model Layer

Inter- LayerCommunication

View Layer

Inter- LayerCommunication

IEC 61499Devices/

Resources

Page 47: IEC 61499: A Standardized Architecture for Adding Value in

Layered MVC Realization:Simulation => Physical Interface

Controller Controller

HMI HMI HMI HMI

controlparameters

HMIparameters

HMI Layer

Control Layer

Inter- LayerCommunication

IEC 61499 Architecture 472007-09-05

sensor inputs actuator outputs Inter- LayerCommunication

Interface Interface Interface

actuature/sensorsignals + power

interfaceparameters Interface Layer

Machine/Process Layer

PhysicalConnections

Mechanism Mechanism Mechanism

Page 48: IEC 61499: A Standardized Architecture for Adding Value in

Layered MVC: Methodology

1. Sketch & describe the problem to be solved.

2. Develop & test Views.

3. Animate the desired operational sequences.

4. Develop & test Models.

Sketch Views Animation Controllers Diagnostics PhysicalDistributionModels

IEC 61499 Architecture 482007-09-05

4. Develop & test Models.

5. Develop & test Controllers.

6. Develop & test Diagnostic & fault recovery elements.

7. Perform distribution design.

8. Integrate to physical components and systems.Examples: http://www.holobloc.com/doc/despats/mvc/index.htm

Page 49: IEC 61499: A Standardized Architecture for Adding Value in

Layered MVC: Sketch & Description

Sketch Views Animation Controllers Diagnostics PhysicalDistributionModels

IEC 61499 Architecture 492007-09-05

Page 50: IEC 61499: A Standardized Architecture for Adding Value in

Layered MVC: View Development

Sketch Views Animation Controllers Diagnostics PhysicalDistributionModels

HMIparameters

renderingdata

userinput

HMIElement

renderingdata

userinput

HMIElement HMI Layer

Inter- LayerCommunication

...

IEC 61499 Architecture 502007-09-05

displayparameters ViewElementViewElement View Layer

Communication

...

Example: mach/DRILL_VIEWL

Page 51: IEC 61499: A Standardized Architecture for Adding Value in

Layered MVC: Model Development

Sketch Views Animation Controllers Diagnostics PhysicalDistributionModels

HMIparameters

actuatoroutputs

sensorinputs

HMIElement

actuatoroutputs

sensorinputs

HMIElement HMI Layer

Inter- LayerCommunication

...

IEC 61499 Architecture 512007-09-05

Modelparameters ModelElementModelElement

Model Layer

Communication

...

displayparameters ViewElement

renderingdata

userinput

ViewElement

renderingdata

userinput

View Layer

Inter- LayerCommunication

...

inter-modelinteraction

s

Example: mach/DRILL_MVL

Page 52: IEC 61499: A Standardized Architecture for Adding Value in

Layered MVC: Controls Design

Sketch Views Animation Controllers Diagnostics PhysicalDistributionModels

HMIparameters HMIElementHMIElement HMI Layer...

Controlparameters ControllerElementControllerElement

Control Layer

Inter- LayerCommunication

...

controlinteractions

IEC 61499 Architecture 522007-09-05

Modelparameters ModelElement

actuatoroutputs

sensorinputs

ModelElement

actuatoroutputs

sensorinputs

Model Layer

Inter- LayerCommunication

...

displayparameters ViewElement

renderingdata

userinput

ViewElement

renderingdata

userinput

View Layer

Inter- LayerCommunication

...

inter-modelinteractions

parameters ControllerElementControllerElement ...

Example: mach/DRILL_MVCL

Page 53: IEC 61499: A Standardized Architecture for Adding Value in

Layered MVC: Low-Level Diagnostics

Sketch Views Animation Controllers Diagnostics PhysicalDistributionModels

HMIparameters HMIElementHMIElement HMI Layer...

Controlparameters ControllerElementControllerElement

ControlLayer

Inter- LayerCommunication

...

controlinteractions

Diagnosticparameters

DiagnosticElement ...

... HMIElement

IEC 61499 Architecture 532007-09-05

Modelparameters ModelElement

actuatoroutputs

sensorinputs

ModelElement

actuatoroutputs

sensorinputs

Model Layer

Inter- LayerCommunication

...

displayparameters ViewElement

renderingdata

userinput

ViewElement

renderingdata

userinput

View Layer

Inter- LayerCommunication

...

inter-modelinteractions

parameters ControllerElementControllerElement Layer... parametersDiagnosticElement ...

Example: mach/DRILL_MVCDL

Page 54: IEC 61499: A Standardized Architecture for Adding Value in

Layered MVC: Distribution Design

Sketch Views Animation Controllers Diagnostics PhysicalDistributionModels

HMIparameters HMIElementHMIElement HMI Layer...

Controlparameters ControllerElementControllerElement

ControlLayer

Inter- LayerCommunication

...

controlinteractions

Diagnosticparameters

DiagnosticElement ...

... HMIElement

IEC 61499 Architecture 542007-09-05

Modelparameters ModelElement

actuatoroutputs

sensorinputs

ModelElement

actuatoroutputs

sensorinputs

Model Layer

Inter- LayerCommunication

...

displayparameters ViewElement

renderingdata

userinput

ViewElement

renderingdata

userinput

View Layer

Inter- LayerCommunication

...

inter-modelinteractions

parameters ControllerElementControllerElement Layer... parametersDiagnosticElement ...

Convert from localto distributed

communications

Example: mach/DRILL_MVCDR

Page 55: IEC 61499: A Standardized Architecture for Adding Value in

Layered MVC: Physical Design

Sketch Views Animation Controllers Diagnostics PhysicalDistributionModels

HMIparameters HMIElementHMIElement HMI Layer...

Controlparameters ControllerElementControllerElement

ControlLayer

Inter- LayerCommunication

...

controlinteractions

Diagnosticparameters

DiagnosticElement ...

... HMIElement

IEC 61499 Architecture 552007-09-05

Interfaceparameters

InterfaceElement

actuatoroutputs

sensorinputs

InterfaceElement

actuatoroutputs

sensorinputs

Interface Layer

Inter- LayerCommunication

...

MechanismMechanism

signals + power

Machine/Process Layer

PhysicalConnections

...

parameters ControllerElementControllerElement Layer... parametersDiagnosticElement ...

Substitute physicalinterfaces for Models

Page 56: IEC 61499: A Standardized Architecture for Adding Value in

Design Pattern: Mechatronic

HLController HLController

HL status HL commands

HMI HMI HMI HMI

HL controlparameters

HMIparameters

HL = High LevelLL = Low Level

Partition control/diagnostic functions to:• Use existing mechatronic devices

• Design new mechatronic devices

IEC 61499 Architecture 562007-09-05

LLC LLC LLC

Mechanism Mechanism Mechanism

physical inputs physical outputs

physicalbehaviors

deviceparameters Interface Interface Interface

MechatronicElement

Page 57: IEC 61499: A Standardized Architecture for Adding Value in

Harel Statechart Mapping(1):Simple State Chart

IEC 61499 Architecture 572007-09-05

Source: D.Harel, “Statecharts: A Visual Formalism for Complex Systems,”Science of Computer Programming, 8 (1987), 231-274.

Page 58: IEC 61499: A Standardized Architecture for Adding Value in

Harel Statechart Mapping (2):Clustering

IEC 61499 Architecture 582007-09-05

Implementation of B can change without affecting D and vice versa.

Any state can be implemented as default return state. ( )Source: D.Harel, “Statecharts: A Visual Formalism for Complex Systems,”Science of Computer Programming, 8 (1987), 231-274.

Page 59: IEC 61499: A Standardized Architecture for Adding Value in

Harel Statechart Mapping (3):Default Return and History Node

H

IEC 61499 Architecture 592007-09-05

History requires an EC idle state per main state.

Default requires an extra transition per idle state.

Source: D.Harel, “Statecharts: A Visual Formalism for Complex Systems,”Science of Computer Programming, 8 (1987), 231-274.

Page 60: IEC 61499: A Standardized Architecture for Adding Value in

Modes: Basic Concepts

ISA S88 “uses as examples three modes …. Control modules … will have automatic and manual modes, whereas a unit running procedural control would also have a semi-automatic mode.”

“A mode determines how equipment entities and procedural elements respond to commands and how they operate.

“In the case of procedural elements, the mode determines the way the procedure will progress and who can affect that progression.

IEC 61499 Architecture 602007-09-05

the procedure will progress and who can affect that progression.

“In the case of a control module, such as an automatic block valve …, the mode determines the mechanism used to drive the valve position and who/what, such as another device or an operator, may manipulate it to change its state.

“Equipment entities or procedural elements may change mode.

“ A change of mode in one [entity or element] may cause corresponding changes in other [entities or elements].”

Source: ANSI/ISA–88.01–1995, Batch Control, Part 1: Models and Terminology.

Page 61: IEC 61499: A Standardized Architecture for Adding Value in

Multicast Mode: An Example

IEC 61499 Architecture 612007-09-05

Page 62: IEC 61499: A Standardized Architecture for Adding Value in

IEC 61499: Book

ISBN 978-0-9792343-0-9

Available at http://www.isa.org

Learning exercises based on FBDK

IEC 61499 Architecture 622007-09-05

Page 63: IEC 61499: A Standardized Architecture for Adding Value in

Adding Value with IEC 61499

Background

Requirements

Architecture

IEC 61499 Architecture 632007-09-05

Architecture

Software Tools

Design Patterns & Frameworks

Runtime Platforms

Page 64: IEC 61499: A Standardized Architecture for Adding Value in

IEC 61499-4: Rules for Compliance Profiles

Contents of compliance profiles 1. Scope2. Normative References3. Terms and Definitions4. Portability provisions5. Interoperability provisions6. Configurability provisions

IEC 61499 Architecture 642007-09-05

6. Configurability provisions7. Test requirements

Annexes (may include device configurability classes)

Example compliance profile • See http://www.holobloc.com/doc/ita/index.htm• Originally developed for HMS feasibility demo

(2000)

Page 65: IEC 61499: A Standardized Architecture for Adding Value in

IEC 61499-4, Annex B:Example Compliance Classes

Class 0: Simple Devices• Read & Write Parameter Values

• Start & Stop FBs & Applications

• Query for Supported Data Types & FB Types

Class 1: Simple Programmable Devices

IEC 61499 Architecture 652007-09-05

Class 1: Simple Programmable Devices• Class 0 plus:

• Create & Delete FB instances & connections• Query FB instances & Applications

Class 2: User Reprogrammable Devices• Class 1 plus:

• Create & Delete Data Types & FB Types• Query for specific data types & instances of FB types

Page 66: IEC 61499: A Standardized Architecture for Adding Value in

IEC 61499: Hardware Platforms

HOLOCON• Compatible with FBDK• http://www.wrcakron.com/holocon.html

Elsist NetMaster II• Has hosted FBRTin several laboratory applications• http://www.elsist.it/WebSite/Html/English/

Products/Hardware/Netsyst/EnNetmasterII.php

IEC 61499 Architecture 662007-09-05

Products/Hardware/Netsyst/EnNetmasterII.php

Kingfisher PLUS+ RTU• Compatible with ISaGRAF

• http://www.rtunet.com/products/kingfisher-plus/

Beck IPC@CHIP@• Compatible with ISaGRAF• http://www.isagraf.com/pages/news/pr_beck_apr2007.htm

Page 67: IEC 61499: A Standardized Architecture for Adding Value in

Conclusions

IEC 61499 provides a standardized architecture for encapsulation, reuse and deployment of IP in automation and control systems.

Compliance profiles, design patterns,

IEC 61499 Architecture 672007-09-05

Compliance profiles, design patterns, frameworks and methodologies are rapidly maturing.

Industrial adoption will depend on availability of commercially supported software tools and runtime platforms.

Page 68: IEC 61499: A Standardized Architecture for Adding Value in

Copies of this presentation

Available at

http://www.holobloc.com

IEC 61499 Architecture 682007-09-05

Page 69: IEC 61499: A Standardized Architecture for Adding Value in

Copies of this presentation

Available at

http://www.holobloc.com

IEC 61499 Architecture 692007-09-05