A Profile for Integrating Function Blocks into the Unified Modeling - - PowerPoint PPT Presentation

a profile for integrating function blocks into the
SMART_READER_LITE
LIVE PREVIEW

A Profile for Integrating Function Blocks into the Unified Modeling - - PowerPoint PPT Presentation

A Profile for Integrating Function Blocks into the Unified Modeling Language Torsten Heverhagen , Rudolf Tracht Automation and Control, Dept. of Mechanical Engineering, University of Duisburg-Essen, Germany Robert Hirschfeld DoCoMo Euro-Labs,


slide-1
SLIDE 1

Specification and Validation of UML Models for Real Time Embedded Systems, SVERTS‘03

A Profile for Integrating Function Blocks into the Unified Modeling Language

Torsten Heverhagen, Rudolf Tracht

Automation and Control, Dept. of Mechanical Engineering, University of Duisburg-Essen, Germany

Robert Hirschfeld

DoCoMo Euro-Labs, Future Networking Lab, Germany

slide-2
SLIDE 2

SVERTS '03 TorstenHeverhagen, Torsten.Heverhagen@web.de

1

Overview

  • Introduction and Motivation

– Drilling Example

  • Function block oriented languages

– Matlab/Simulink – IEC 61131-3 – IEC 61499

  • Integration of function blocks into UML

– Comparison of FBs and Classes – Profile “Functionblockadapters”

  • Summary and Outlook
slide-3
SLIDE 3

SVERTS '03 TorstenHeverhagen, Torsten.Heverhagen@web.de

2

Drilling Example

  • Four steps

– Moving to drilling position – Drilling – Cleaning the hole – Moving back

slide-4
SLIDE 4

SVERTS '03 TorstenHeverhagen, Torsten.Heverhagen@web.de

3

Mathematical Modeling of the Plant

M

ω u y

( ) ( ) ( ) ( ) ( ) ( ) ( ) t a t bu t t t y t c t ω ω ϕ ω ϕ = − + = = & &

u y

System Modeling

slide-5
SLIDE 5

SVERTS '03 TorstenHeverhagen, Torsten.Heverhagen@web.de

4

Control Loop Design

Controller Plant

y u e r _ +

  • Common structure of feedback control loops
  • Controller is real-time software

– implemented in microcontrollers, PLCs, ...

  • Plant is real world, but for simulation and testing it is

also software

slide-6
SLIDE 6

SVERTS '03 TorstenHeverhagen, Torsten.Heverhagen@web.de

5

Simulation of Continuous Time Controllers

  • For example using Matlab/Simulink™:
  • Behavior of such blocks can also be described using

– z-transfer functions, – statecharts, – ...

slide-7
SLIDE 7

SVERTS '03 TorstenHeverhagen, Torsten.Heverhagen@web.de

6

Axis Execute Position Velocity Acceleration Deceleration Jerk Direction Axis Done CommandAborted Error ErrorID

MC_MoveAbsolute

AXIS_REF BOOL REAL REAL REAL REAL REAL MC_Direction AXIS_REF BOOL BOOL BOOL WORD

Done CommandAborted Error ErrorID

FB_MoveAbsolute

EVENT AXIS_REF REAL REAL REAL REAL REAL MC_Direction EVENT EVENT EVENT WORD Execute Axis Position Velocity Acceleration Deceleration Jerk Direction

Function Block Oriented Languages

  • Matlab/Simulink
  • IEC 61131-3 (Languages for programmable controllers)

– 5 languages

  • IEC 61499 (Function Blocks for Industrial-Process Measurement and Control Systems)

– Execution Control Chart (ECC) – action language from 61131-3

slide-8
SLIDE 8

SVERTS '03 TorstenHeverhagen, Torsten.Heverhagen@web.de

7

A General Function Block Model

  • Our working model for the integration of existing FB-

languages into UML

– interface: input, output, through variables (all static) – internal: static data structures + behavior – type (class) and instance

Input Variables Output Variables Internal Variables Behavior of the Function Block Through Variables

slide-9
SLIDE 9

SVERTS '03 TorstenHeverhagen, Torsten.Heverhagen@web.de

8

Example for Protocols of Function Blocks

Axis Execute Position Velocity Acceleration Deceleration Jerk Direction Axis Done CommandAborted Error ErrorID

MC_MoveAbsolute

AXIS_REF BOOL REAL REAL REAL REAL REAL MC_Direction AXIS_REF BOOL BOOL BOOL WORD Execute Done or CA input data

  • utput data

Error ErrorID

slide-10
SLIDE 10

SVERTS '03 TorstenHeverhagen, Torsten.Heverhagen@web.de

9

Example for UML Protocols

/ MC_MoveAbsolute mc_client / MC_Client

wait 1: NewPosition 1: NewPosition ffwd 1.1: Ended 1.1: Ended 2: NewPosition 2: NewPosition fwd 2.1: Ended 2.1: Ended dwell 3: NewPosition 3: NewPosition rev 3.1: Ended 3.1: Ended wait

S0 S1

Ended

  • r

Timeout NewPosition Error Error

slide-11
SLIDE 11

SVERTS '03 TorstenHeverhagen, Torsten.Heverhagen@web.de

10

Function Block Adapters

a:MC_Client mcPort b:MC_FBA clientPort

NewPosition Ended TimeOut Error Axis Execute Position Velocity Acceleration Deceleration Jerk Direction Axis Done CommandAborted Error ErrorID

MC_MoveAbsolute

Execute Position Done CommandAborted Error ErrorID Y_Axis 2,0 2,0 0,0

c

Velocity

  • Work as programmable protocol adapters between

UML protocols and function block protocols

  • Platform independent
  • Provided as a UML profile
slide-12
SLIDE 12

SVERTS '03 TorstenHeverhagen, Torsten.Heverhagen@web.de

11

Summary and Outlook

  • High importance of function block oriented languages in

industrial control modeling and programming

  • Combination of UML and function blocks is promising
  • Function block adapters provide a framework and

design patterns for integrating UML and function blocks

  • Previous work was based on IEC 61131-3
  • Current work:

– profile Functionblockadapters – extension to function block oriented languages

  • Outlook: functionblocks.org
slide-13
SLIDE 13

SVERTS '03 TorstenHeverhagen, Torsten.Heverhagen@web.de

12

Comparison of Function Blocks and Classes

  • Function Blocks

– type – instance – internal variables – internal behavior – interface variables

  • UML

– class – instance – attributes – one operation/statechart – no direct match

  • this is discussed in the

next slide

slide-14
SLIDE 14

SVERTS '03 TorstenHeverhagen, Torsten.Heverhagen@web.de

13

Discussion of Interface Variables

  • Comparison to parameters

– both have a direction kind (in, inout, out) – but: should be independent of behavior execution

  • Comparison to attributes

– both are independent of internal behavior execution – but: direction kind is missing

  • Comparison to pins of activities

– both are connectable and have a direction kind – but: should be independent of activity execution

  • Comparison to ports

– ports are mightier than interface variables

slide-15
SLIDE 15

SVERTS '03 TorstenHeverhagen, Torsten.Heverhagen@web.de

14

Using Ports as Interface to Function Blocks

«stereotype»

FBInterface Interface

(from Interfaces) «stereotype»

FBPort Port

(from Ports) «stereotype»

FBInPort

«stereotype»

FBOutPort

«stereotype» «stereotype»

IPLC_Bool IPLC_Bool

May only contain one signal called ValueChanged May only require one FBInterface May only provide one FBInterface