The IEC 61499 Standard. Concepts and R&D Resources
The IEC 61499 Standard. Concepts and R&D Resources
James H. Christensen
INDIN03 - 2002-08-20
[email protected]
http://www.rockwell.com
http://www.holobloc.com
1
The IEC 61499 Standard
1. Architecture
2. Design Patterns
3. R&D Resources
2
What is IEC 61499?
3
IEC 61499 Status
• Part 1, Architecture
– PAS (Publicly Available Specification), 2000
– Standard => 2004
• Part 2, Software Tool Requirements
– PAS 2001 => Standard 2004
• Part 3, Application Guidelines
– TR (Technical Report) => 2003
• Part 4, Rules for Compliance Profiles
– PAS 2002 => Standard 2005
4
Function Blocks:The Architectural Dialectic
Centralized
Programmable
Configurable
PLC
IEC 61131-3 agility! dynamically
Thesis distributability reconfigurable
= agile !
Common
Function Blocks Architecture
Synthesis Reference
IEC 61499
Model
distributed
Antithesis programmability configurable
DCS agility! programmable
IEC 61804
Distributed
Configurable
5
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
– 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
6
Architectural Co-Evolution
Requirements
Controls architecture
Intelligent Automation architecture
7
Intelligent Systems: Requirements of
The IP Value-Add Chain
•Intellectual Property (IP) Operational
•Development Expertise
Industrial
•Deployment = Reuse + Enterprises Software
Distribution + Integration Components
Integration
System Expertise
Integrators Software Intelligent
Design Patterns Enterprise
Components
+ Software Tools Machine
Tools/Methods/ Machine Expertise Intelligent
Standards Vendors Software
Components Systems
Expertise
Tool/ Software Intelligent
Service Components Machines
Vendors
RTOS/Standards Device Device Intelligent
Expertise Vendors Expertise Devices
Runtime Hardware
Platforms Components
8
Architectural Requirements
• Component-Based
– Support encapsulation/protection of Intellectual Property (IP)
– IP Portable across Software Tools and Runtime Platforms
• Distributed
– Map IP modules into distributed devices
– Integrate IP Modules into distributed applications
• Functionally Complete
– Control/Automation/Diagnostics components
– Machine/Process Interface components
– Communication Interface components
– Human/Machine Interface (HMI) components
– Software Agent ("Holonic") components
• Extendable
– Encapsulate 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
9
What is an Open Architecture?
• An 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 applications.
– configurability: Devices and their software components can be
configured (selected, assigned locations, interconnected and
parameterized) by multiple software tools.
• architecture: The structure and relationship among functional units in
a system.
• functional unit: An entity of hardware or software, or both, capable of
accomplishing a specified purpose.
10
Requirements for an Open Distributed Architecture
Software
Tools
CONFIGURABILITY
INTEROPERABILITY
11
IEC 61131-3 Function Blocks:
Component-Based Encapsulation and Reuse
DEBOUNCE
BOOL IN OUT BOOL
TIME DB_TIME
ON_TMR
OFF_TMR
TON IN OUT
TON
IN IN Q |/| (R)
DB_FF IN Q
PT ET
DB_TIME PT ET
SR
OFF_TMR S1 Q1 OUT
ON_TMR
TON R
IN Q IN TON OUT
|| IN Q (S)
DB_TIME PT ET
DB_TIME PT ET
Execution
Control
Chart
Type identifier
Algorithms
(IEC 1131-3)
Internal
variables
13
The Execution Control Chart (ECC):
An Event-Driven State Machine
EC initial state
START
1 INIT EX 1
EC action
INIT INIT INITO MAIN EX EXO event
EC state algorithm
14
Functional Composition and Reuse:
IEC 61499 Composite Function Block Types
Event inputs Event outputs
Execution
Control
Type identifier
Example: X2Y2
15
IEC 61499 Service Interface Function Blocks
• Access to Resource functionality, e.g., I/O, HMI, comms
• Modeled as sequences of service primitives per ISO TR 8509
INIT INITO EVENT EVENT INIT INITO EVENT
EVENT
REQ CNF EVENT EVENT RSP IND EVENT
EVENT
INITIATOR RESPONDER
BOOL QI QO BOOL BOOL QI QO BOOL
ANY PARAMS STATUS ANY ANY PARAMS STATUS ANY
IND(+)
readInputs
REQ(+)
writeOutputs
SD_1,...,SD_m RD_1,...,RD_n
CNF(+)
readInputs STATUS
RSP(+)
RD_1,...,RD_n writeOutputs
SD_1,...,SD_m
STATUS
INIT(-) INIT(-)
endService endService
INITO(-) t INITO(-)
STATUS STATUS
PUBLISH_m SUBSCRIBE_m
BOOL QI QO BOOL BOOL QI QO BOOL
ANY PARAMS STATUS ANY ANY PARAMS STATUS ANY
ANY SD_1 RD_1 ANY
: : : :
ANY SD_m RD_m ANY
INIT(+)
PARAMS
INITO(+)
~ INIT(+)
PARAMS
INITO(+)
REQ(+)
SD_1, ..., SD_m IND(+)
~
RD_1, ..., RD_m
CNF(+) RSP(+)
Example: m=1
17
IEC 61499 Communication Service Interfaces:
Client/Server Model
EVENT INIT INITO EVENT EVENT INIT INITO EVENT
EVENT REQ CNF EVENT EVENT RSP IND EVENT
CLIENT_m_n SERVER_n_m
BOOL QI QO BOOL
ANY PARAMS STATUS ANY BOOL QI QO BOOL
RD_1 ANY ANY PARAMS STATUS ANY
ANY SD_1 : : ANY SD_1 RD_1 ANY
: : RD_n ANY : : : :
ANY SD_m ANY SD_n RD_m ANY
INIT(+)
PARAMS
INITO(+)
INIT(+)
PARAMS
INITO(+)
REQ(+)
SD_1, ..., SD_m IND(+)
RD_1, ..., RD_m
RSP(+)
CNF(+) SD_1, ..., SD_n
18
IEC 61499 Distributed System Architecture
Event flow
Application
=
Function Block
Network
Data flow
Communication network
19
IEC 61499 Device Architecture
• Device = Container for Resources
• Device provides Communications & Process Interfaces
Communication link(s)
Device boundary
Communication interface(s)
Application A
Application C Application B
Process interface(s)
Controlled process/machine
20
IEC 61499 Resource Architecture
• Resource schedules & executes FB algorithms
• Resource maps Communications & Process I/O Functions
to Service Interface Function Blocks
Communication functions
Local application
Communication mapping
(or local part of distributed application)
Events
Data
Service Service
Interface Interface
Algorithms
Function Function
Block Block
Process mapping
Scheduling Function
21
Standard Event Processing Function Blocks
• E_SPLIT/E_MERGE/E_REND - Event split, merge, rendezvous
• E_PERMIT - Permissive event propagation
• E_SELECT - 1 of 2 (boolean) event selection
• E_SWITCH - 1 of 2 (boolean) event demultiplexing
• E_DELAY - Event delay (timer)
• E_CYCLE - Periodic event generation
• E_RESTART - Generation of COLD/WARM restart, STOP events
• E_TRAIN/E_TABLE/E_N_TABLE - Finite trains of events
• E_SR/E_RS/E_D_FF - Event-driven bistables
• E_R_TRIG/E_F_TRIG - Event-driven rising/falling edge detection
• E_SR/E_RS/E_D_FF - Event-driven bistables
• E_CTU - Event-driven up-counter
• See IEC 61499-1, Annex A
22
Conversion of IEC 61311-3 Function Blocks to 61499
Without error detection
23
IEC 61499 Device Management Architecture
• Separation of Concerns
– Software Tools vs. Runtime Device
– Communication Services vs. Management Services
24
Dynamic Configuration in IEC 61499:
The Device Management Service Interface
<Request ID="3" Action="CREATE" >
<FB Name="DIAG" Type="SUBL_2" />
</Request>
25
The IEC 61499 System Management Model
26
IEC 61499 Software Tool Models
27
IEC 61499-2: Software Tool Requirements
28
Open Distributed Systems: The IEC 61499 Solution
DeviceNet EDSs
Project Fieldbus DDs
KEY: IEC 61915
Existing & Normative in IEC 61499 Repository ISO 15745
Existing but non-Normative in IEC 61499 ISO 10303
Defined in Compliance Profiles import etc.
Software
Tools XML Libraries:
IEC 61499
PORTABILITY IEC 61131-3
29
The IEC 61499 Standard
1. Architecture
2. Design Patterns
3. R&D Resources
30
What is a Design Pattern?
31
Design Patterns for IEC 61499
• Problem: Account for communication and synchronization
Pattern: Distributed Application
• Problem: Improve efficiency of intraprocess communication
Pattern: Local Multicast
• Problem: Integrate simulation and deployment
Pattern: Layered Model/View/Controller
• Problem: Retrofit existing systems
Pattern: Proxy
• Problem: Utilize processing power in physical devices
Pattern: Mechatronic
• Problem: Increase system flexibility& robustness
Pattern: Holon
• Problem: Integrate multiple models (electrical, mechanical, functional,...)
Pattern: Automation Object
32
Methodology for Distributed Applications
Libraries Application Mapping Configuration
33
Application Example: Orange Sorter
Pneumatically
actuated
Presence/Color Sensor diverter
Accepted product
Feed conveyor
Rejected product
34
Distributed Orange Sorter Application
Communication Connection
Feed conveyor
Rejected product
35
Using Libraries
Libraries Application Mapping Configuration
Example: process/PIDD_TANK
36
A Centralized Application
Libraries Application Mapping Configuration
37
Mapping to Distributed Devices
Libraries Application Mapping Configuration
38
Configuring Devices (1) - Setting Parameters
Libraries Application Mapping Configuration
39
Configuring Devices (2) - Editing Resources
Libraries Application Mapping Configuration
40
Running the Distributed Configuration
41
Pattern: Local Multicast
Distributed Multicast Local Multicast
encode
copy
decode
Local
Group
encode
copy
decode
Example: process/PIDD_TANKL
42
Pattern: Layered MVC (Model/View/Controller)
control
Controller Controller Control Layer
parameters
model
Model Model Model Model Layer
parameters
display
View View View View Layer
parameters
43
Realization: Simulation => Physical Interface
control
Controller Controller Control Layer
parameters
interface
Interface Interface Interface Interface Layer
parameters
actuature/sensor Physical
signals + power Connections
44
Elements of the Engineering Architecture
45
Engineering Methodology
Sketch Views Animation Models Controllers Diagnostics Distribution Physical
46
An Example
Sketch Views Animation Models Controllers Diagnostics Distribution Physical
47
View Development Framework
Sketch Views Animation Models Controllers Diagnostics Distribution Physical
HMI
parameters HMIElement ... HMIElement HMI Layer
display
ViewElement ... ViewElement View Layer
parameters
Example: mach/DRILL_VIEWL
48
Model Development Framework
Sketch Views Animation Models Controllers Diagnostics Distribution Physical
HMI
parameters HMIElement ... HMIElement HMI Layer
display
ViewElement ... ViewElement View Layer
parameters
Example: mach/DRILL_MVL
49
Controller Development Framework
Sketch Views Animation Models Controllers Diagnostics Distribution Physical
HMI
parameters HMIElement ... HMIElement HMI Layer
Inter- Layer
Communication
control
interactions
Control Control Layer
parameters ControllerElement ... ControllerElement
display
ViewElement ... ViewElement View Layer
parameters
Example: mach/DRILL_MVCL
50
Low-Level Diagnostics
Sketch Views Animation Models Controllers Diagnostics Distribution Physical
HMI
parameters HMIElement ... HMIElement ... HMIElement HMI Layer
Inter- Layer
Communication
control
interactions
Control Control Diagnostic DiagnosticElement ...
parameters ControllerElement ... ControllerElement Layer parameters
display
ViewElement ... ViewElement View Layer
parameters
Example: mach/DRILL_MVCDL
51
Distribution Design
Sketch Views Animation Models Controllers Diagnostics Distribution Physical
HMI
parameters HMIElement ... HMIElement ... HMIElement HMI Layer
Inter- Layer
Communication
control
interactions
Control Control Diagnostic DiagnosticElement ...
parameters ControllerElement ... ControllerElement Layer parameters
display
ViewElement ... ViewElement View Layer
parameters
Example: mach/DRILL_MVCDR
52
Physical Design
Sketch Views Animation Models Controllers Diagnostics Distribution Physical
HMI
parameters HMIElement ... HMIElement ... HMIElement HMI Layer
Inter- Layer
Communication
control
interactions
Control Control Diagnostic DiagnosticElement ...
parameters ControllerElement ... ControllerElement Layer parameters
53
Pattern: Mechatronic
HMI
HMI HMI HMI HMI Partition control/diagnostic functions to:
parameters
– Use existing mechatronic devices
– Design new mechatronic devices
HL control
HLController HLController
parameters
HL = High Level
HL status HL commands LL = Low Level
physical
Mechanism Mechanism Mechanism
behaviors
54
MVC Example #2: Assembly
55
MVC Example #3: Demo Testbed
56
Pattern: Proxy
Sensor/ Sensor/
Actuator Machine Machine Actuator
Link #1 #1 #2 Link #2
Coordinated Operation
57
An I/O Proxy Service Interface
58
Pattern: Holon
(An Autonomous, Cooperative Functional Unit)
Cogitoque coopero,
ergo sum
Holonic Control Device
Inter-Holon Communication
Software Agents
Control Functions
Physical Interfaces
59
Dynamic Reconfiguration of Holonic Systems
PH = Product Holon
MH = Machine Holon
RH = Robot Holon
TH = Transport Holon
MD = Machining Domain
TD = Transport Domain
60
FIPA (Foundation for Intelligent Physical Agents):
an Architecture for Open Holonic Systems
See: http://www.fipa.org
61
IEC 61499 + FIPA = Holonic Control Architecture
Messaging
+
Directory
Services
ACL
IEC 61499
Management
Task Negotiation in CD
HMS Task/Application KB Services
(Cooperation Domain)
(Knowledge Base)
62
Adapting FIPA to Holonic Control Devices (HCDs)
• Develop application-specific extensions of FIPA Standards
applying to HCD architecture.
• Develop, test and demonstrate prototype implementations of
HCDs to validate these extensions.
• Specific areas of investigation:
– Interaction/negotiation protocols
– Manufacturing task ontologies (PSL?)
• Material handling (*)
• Machining
• Fixturing/Assembly
– Knowledge base development & maintenance
63
Pattern: Automation Objects
64
The AO Model Type: Generalization of the
IEC 61499 Function Block Type
association association
Type name
itype4 iname4
{
inputs outputs
parameters
65
The AO Diagram: Generalization of the
IEC 61499 Function Block Network
AOModel AOModel
AOConnection
output input
parameters
66
AO Reference Model
67
The IEC 61499 Standard
1. Architecture
2. Design Patterns
3. R&D Resources
68
EMBench: The Electromechanical Workbench
Specifications of
desired or
Model Generator prohibited behavior
(translator of •Temporal logic
sources to SNS) •Timing diagrams
Interpreter and
visualizer of
results
http://at.iw.uni-halle.de/~testbeds/
71
Odo Struger Laboratory - Tech Uni Vienna
72
Lego™ Testbed
73
Experimental Development Framework
Current State
• Microsoft Visio template is created
• Template is supported with macros running in background
• VBA is used as programming language
FDBK
CORFU-FDBK
FBDK <www.holobloc.com>
DeviceNet
TILT.CAN <www.systronix.com>
I/O Device
(in development) Device Logix (future)
76
IEC 61499 Resources
• Automation Technology Lab, Martin-Luther-Universität, Halle/Wittenberg, Germany
– http://cobweb.iw.uni-halle.de/~valeriy/project/proj_descr.html
– <[email protected]> (Dr. Valeriy Vyatkin)
• Odo Struger Lab, TU Wien, Austria
– http://www.infa.tuwien.ac.at/
– <[email protected]> (DI Alois Zoitl)
• Profactor GmbH, Steyr, Austria
– http://www.profactor.at
– <[email protected]> (Dr. Franz Auinger)
• Rockwell Automation Advanced Technology, USA
– http://www.holobloc.com
– <[email protected]> (Dr. James H. Christensen)
• Flexible Automation Laboratory, U. of Illinois at Urbana/Champaign, USA
– http://www.mie.uiuc.edu/content/asp/research/laboratories/flexible_automation_lab.asp
– <[email protected]> (Prof. Placid Ferreira)
77
IEC 61499 Resources
• Dept. of Mechanical & Manufacturing Engineering, U. of Calgary, Canada
– http://isg.enme.ucalgary.ca
– <[email protected]> (Prof. Bob Brennan)
• Yamatake Corporation, Japan
– http://www.yamatake.co.jp/
– <[email protected]> (Mr. Hirotsugu Tsunematsu)
• Assembly Automation Laboratory, Technical University of Tampere, Finland
– <[email protected]> (Dr. Jose Lastra)
• University of Patras, Greece
– <[email protected]> (Prof. Kleanthis Thramboulidis)
78