plcopen motion control an introduction

58

Click here to load reader

Upload: penelope-herman

Post on 31-Dec-2015

171 views

Category:

Documents


10 download

DESCRIPTION

PLCopen Motion Control an introduction. Check the notes in the notes view. PLCopen Motion Control: The software problem. Managing Complexity. 100 – 10,000 – 1mio – 100mio Lines of Code. Exponentially increasing complexity. Why Structured Software Development ?. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: PLCopen Motion Control       an introduction

Page 1 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

PLCopen Motion Control

an introduction

Check the notes in the notes view

Page 2: PLCopen Motion Control       an introduction

Page 2 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

PLCopen Motion Control:

The software problem

Page 3: PLCopen Motion Control       an introduction

Page 3 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Percentage of Software development costs in production systems (source: McKinsey)

0%

20%

40%

60%

80%

100%

1970 1980 1990 2000

Mechanic Electric Software

Page 4: PLCopen Motion Control       an introduction

Page 4 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Managing Complexity

100 – 10,000 – 1mio – 100mio Lines of Code

Exponentially increasing complexity

Page 5: PLCopen Motion Control       an introduction

Page 5 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Why Structured Software Development ?

Software = key to system quality: errors cost money

Increased requirements: 100 lines of codes now 10,000 lines

or even 100,000

Not a one-man job - but a team with different know how and

background

Commissioning, Installation, Maintenance, and

Improvements essential phases

Page 6: PLCopen Motion Control       an introduction

Page 6 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Modern Software Development Process

Defined in several clearly separated phases - project

definition

Top-down approach

Multiple disciplines involved

Multiple people involved

Different backgrounds

Based on Functional Requirements

Page 7: PLCopen Motion Control       an introduction

Page 7 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Decomposition

with

Sequential

Function

Chart

SFC

N Initialisation S1

N FillingS2

N HeatingS3

N FermentingS4

N HarvestingS5

N CleaningS6

Page 8: PLCopen Motion Control       an introduction

Page 8 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Bottom-up after top-down

Top-

down

Bottom

up

First decompose – then fill it in

Page 9: PLCopen Motion Control       an introduction

Page 9 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Abstraction via Function Blocks

MC_MoveAbsolute

AXIS_REF Axis Axis AXIS_REFBOOL Execute Done

BOOLREAL Position

BOOLREAL

Velocity CommandAborted

WORDREAL Acceleration

BOOL

REAL DecelerationREAL Jerk

MC_DIRECTION Direction

ErrorErrorID

ContinuousUpdate

BufferMode

BusyActive

BOOL

MC_BUFFER_MODE

BOOL

BOOL

Page 10: PLCopen Motion Control       an introduction

Page 10 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Axis_Ref as Var_In_Out

FB

Axis1

Axis_Ref

Structure

Page 11: PLCopen Motion Control       an introduction

Page 11 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Abstraction / HW Independence via Function Blocks

Software View

InputsName

Outputs

Hardware View

I/F Intelligent Drive Motor

E

Drive Motor

E

PWM

I/F

Encapsulation / Information Hiding

Page 12: PLCopen Motion Control       an introduction

Page 12 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Abstraction with one FB

FBAxis1

Axis_RefStructure

I/F

TaskManager

DriveConver-sion

Time or event driven

Page 13: PLCopen Motion Control       an introduction

Page 13 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

and with 2 FBs

FB1Axis1

Axis_RefStructure

I/F Drive

TaskManager

Conver-sion

Time or event driven

FB2

Page 14: PLCopen Motion Control       an introduction

Page 14 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Mechatronic solutions

Mechanical solution.

Control solution

Page 15: PLCopen Motion Control       an introduction

Page 15 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Status PLCopen Motion Control Part 1 – Function Blocks for Motion Control

Part 2 – Extensions

Part 3 – User Guidelines

Part 4 – Coordinated Motion

Part 5 – Homing procedures

Part 6 – Fluid Power (hydraulics)

Around 30 companies certified with over

40 products (check website for full list)

Page 16: PLCopen Motion Control       an introduction

Page 16 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

AdministrativeAdministrative MotionMotion

SingleAxis

MultipleAxes

SingleAxis

MultipleAxes

Non-Interpolated

MoveAbsolute

MoveRelative

MoveSuperImposed

MoveContinuous

MoveVelocity

Home

Stop

Power

ClearPendingActions

ReadStatus

ReadAxisError

ReadParameter

WriteParameter

ReadActualPosition

PositionProfile

VelocityProfile

AccelerationProfile

CamTableSelect CamIn

CamOut

GearIn

GearOut

Part 1 – MC FBs

Page 17: PLCopen Motion Control       an introduction

Page 17 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

AdministrativeAdministrative MotionMotion

SingleAxis

MultipleAxes

SingleAxis

MultipleAxes

TorqueControl

DigitalCamSwitch

TouchProbe

AbortTrigger

ReadDigitalInput

ReadDigitalOutput

WriteDigitalOutput

SetPosition

SetOverride

GearInPos

ReadActualVelocity

ReadActualTorque

Part 2 - Extensions

Page 18: PLCopen Motion Control       an introduction

Page 18 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

GroupHome

GroupStop

GroupHalt

GroupInterrupt

GroupContinue

MoveLinearAbsolute

MoveLinearRelative

AddAxisToGroup/ RemoveAxisFromGroup

UngroupAllAxes

GroupReadConfiguration

GroupEnable / GroupDisable

SetKin/Cartesian/CoordinateTransform

MoveCircularAbsolute

MoveCircularRelative

MoveDirectAbsolute

SyncAxisToGroup

SyncGroupToAxis

TrackConveyorBelt

TrackRotaryTable

ReadKin/Cartesian/CoordinateTransform

GroupSetOverride

GroupSetPosition / GroupReset

GroupReadActualPosition/Vel/Acc GroupReadStatus/ReadError

SetDynCoordTransform MoveDirectRelative

MovePath

AdministrativeAdministrative MotionMotion

Part 4 – MC FBs

PathSelect

CoordinatedCoordinated CoordinatedCoordinated SynchronizedSynchronized

Page 19: PLCopen Motion Control       an introduction

Page 19 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

AdministrativeAdministrative MotionMotion

SingleAxis

MultipleAxes

SingleAxis

MultipleAxes

LoadControl

LoadSuperimposed

LimitLoad

LimitMotion

LoadProfile

Part 6 – Fluid Power

Page 20: PLCopen Motion Control       an introduction

Page 20 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Part 5 – Homing Procedures Homing Procedures

• HomeAbsoluteSwitch, HomeLimitSwitch, HomeBlock, HomeReferencePulse,

HomeReferencePulseSet, HomeDistanceCoded, HomeDirect, HomeAbsolute

Homing Step Function Blocks• FBs: MC_StepAbsoluteSwitch, MC_StepLimitSwitch, MC_StepBlock,

MC_StepReferencePulse, MC_StepDistanceCoded

• Finalizing: MC_HomeDirect, MC_HomeAbsolute, MC_FinishHoming

• Homing on-the-fly: MC_StepReferenceFlyingSwitch,

MC_StepReferenceFlyingRefPulse, MC_AbortPassiveHoming

Page 21: PLCopen Motion Control       an introduction

Page 21 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Part 3 – User Guidelines

Shows examples for ease-of-use

Shows user-derived Function Blocks

Shows higher level encapsulation (e.g. Winding)

Stresses the creation of own FB libraries

Uses FBD, LD, and ST

82 pages in total

Not a training guideline

Page 22: PLCopen Motion Control       an introduction

Page 22 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Example – Multiple FBs on 1 axis - LD

MoveVelocity

Execute

Velocity

FB1 FB2

K

10

MoveVelocity

Execute

Velocity 20

L MInVel.

Axis Axis

FB3MoveVelocity

Execute

Velocity

Axis

InVelocity InVelocity InVelocity

0

Page 23: PLCopen Motion Control       an introduction

Page 23 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Timing Diagram

Page 24: PLCopen Motion Control       an introduction

Page 24 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Example – Multiple FBs on 1 axis - FBD

FB2 FB3

20

L

0

FB1

MC_MoveVelocity

K Execute

Velocity InVelocity10 AND

MC_MoveVelocity

Execute

MC_MoveVelocity

Execute

AxisAxisAxis

InVelocity InVelocityVelocity Velocity

M

Page 25: PLCopen Motion Control       an introduction

Page 25 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Example with SFCK = true

InVelocity = TRUE

L = TRUE

M = TRUE

K, L, M are Boolean Variables

V:= 10; E := TRUE;

E := FALSE;

E := FALSE;

E := FALSE;

V:= 20; E := TRUE;

V:= 0; E := TRUE;

InVelocity = TRUE

InVelocity =TRUE

E

V

Y

Axis X

MC_MoveVelocity

Velocity

Execute InVelocity

Page 26: PLCopen Motion Control       an introduction

Page 26 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Example - GearIn

MC_GearIn

AXIS_REFMaster Master

AXIS_REF

BOOL Execute InGear BOOL

BOOL

INT RatioNumerator CommandAborted

WORD

UINT RatioDenominatorBOOL

REAL AccelerationError

ErrorID

SlaveSlaveAXIS_REF AXIS_REF

REAL Deceleration

REAL Jerk

Page 27: PLCopen Motion Control       an introduction

Page 27 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

GearIn

SecondFirst

MyMaster

GearIn

MySlave Slave

Deceleration ErrorID

100

Master

Ratio

Acceleration

InGear

Error

Jerk1

100

1

100

2

100

1

CommandAborted

Execute

GearIn

Slave

Deceleration ErrorID

Master

Ratio

Acceleration

InGear

Error

Jerk

CommandAborted

Execute

Page 28: PLCopen Motion Control       an introduction

Page 28 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

First.Execute

MySlave.Velocity

First.InGear

RatioReached

1

1

0

0

Second.Execute

Second.InGear

RatioReached

1

1

0

0

t

t

t

t

t

GearIn

Page 29: PLCopen Motion Control       an introduction

Page 29 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Start-up procedure

Is independent of the architecture

Consists of 3 commands:

MC_Power

MC_Home

MC_Move…..

To make any axis move.

Page 30: PLCopen Motion Control       an introduction

Page 30 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Start-up procedure

Page 31: PLCopen Motion Control       an introduction

Page 31 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Error Handling

Error - Rising edge – error during execution of the FB

ErrorID - Error identification

MoveAbsolute

AXIS_REFAxis Axis

AXIS_REF

BOOL Execute Done BOOLREAL Position BOOL

REAL VelocityCommandAborted

WORD

REAL AccelerationBOOLREAL Deceleration

REAL Jerk

MC_Direction Direction

ErrorErrorID

BufferModeMC_BufferMode

BOOLBusyBOOLActive

Page 32: PLCopen Motion Control       an introduction

Page 32 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Part 4 – Coordinated Motion

Page 33: PLCopen Motion Control       an introduction

Page 33 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Synchronized Motion items

SyncAxisToGroup

SyncGroupToAxis

TrackConveyorBelt

TrackRotaryTable

Page 34: PLCopen Motion Control       an introduction

Page 34 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Synchronization of single axis to an axes group

Page 35: PLCopen Motion Control       an introduction

Page 35 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Synchronization of an axes group to a single axis MC_PathGearInMaster for press application

Axis

Execute

Axis

Done

MC_MoveAbsolute

Press Motion(Single Axis Motion)

Position

Velocity Active

CommandAborted

Jerk

Direction

Busy

Buffermode

Acceleration

Deceleration Error

ErrorID

AxisGroup

MasterAxis

AxisGroup

MasterAxisMC_PathGearInMaster

Robot Motion(Axis Group Motion)

Execute

RatioNumerator

Active

CommandAborted

Jerk

RatioDenominator

InGear

CoordSystem

Acceleration

Deceleration Error

ErrorID

Buffermode

Busy

Robot1 Robot2

Page 36: PLCopen Motion Control       an introduction

Page 36 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Tracking

Page 37: PLCopen Motion Control       an introduction

Page 37 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Encapsulation

Page 38: PLCopen Motion Control       an introduction

Page 38 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Labelling

Conveyor

LabelDriveProduct Detection

Product

Label

Sensor distance

Page 39: PLCopen Motion Control       an introduction

Page 39 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

The labelling program

Conveyor

LabelDrive

Axis

Execute

Axis

InVelocity

MC_MoveVelocity

MC_MoveVelocity

Velocity Active

CommandAborted

Jerk

Direction

Busy

Buffermode

Acceleration

Deceleration Error

ErrorID

Product Detection

TONIN

PTQ

ET

Velocity

Start

SensorDistanceDIV

Axis

Execute

Axis

Done

MC_MoveRelative

MC_MoveRelative

Position

Velocity Active

CommandAborted

Jerk

Direction

Busy

Buffermode

Acceleration

Deceleration Error

ErrorID

LabelLength

Delay

Page 40: PLCopen Motion Control       an introduction

Page 40 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Possible improvements

Page 41: PLCopen Motion Control       an introduction

Page 41 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Warehousing Example

Axis_X

Axi

s_Y

Axis_Z

Page 42: PLCopen Motion Control       an introduction

Page 42 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Axis

Execute

Axis

Done

MC_MoveAbsolute

MoveToPalletX

Position

Velocity Active

CommandAborted

Jerk

Direction

Busy

Buffermode

Acceleration

Deceleration Error

ErrorID

Axis

Execute

Axis

Done

MC_MoveAbsolute

MoveToPalletY

Position

Velocity Active

CommandAborted

Jerk

Direction

Busy

Buffermode

Acceleration

Deceleration Error

ErrorID

AND

Axis_X

Axis_Y

Axis_Z

Start 1000.0

Pos_X

40.0

Axis

Execute

Axis

Done

MC_MoveRelative

ForkInPallet

Position

Velocity Active

CommandAborted

Jerk

Direction

Busy

Buffermode

Acceleration

Deceleration Error

ErrorID

20.0

Pos_Y

40.0

Application Program (1/2)

Page 43: PLCopen Motion Control       an introduction

Page 43 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Axis

Execute

Axis

Done

MC_MoveRelative

ForkLift

Position

Velocity Active

CommandAborted

Jerk

Direction

Busy

Buffermode

Acceleration

Deceleration Error

ErrorID

Axis_Y

100.0

Axis

Execute

Axis

Done

MC_MoveAbsolute

ForkOutWithPallet

Position

Velocity Active

CommandAborted

Jerk

Direction

Busy

Buffermode

Acceleration

Deceleration Error

ErrorID

Axis_Z

0.0

Axis_X AND Finished

0.0

0.0

10.0 20.0

40.0

Axis

Execute

Axis

Done

MC_MoveAbsolute

MoveToDeliveryX

Position

Velocity Active

CommandAborted

Jerk

Direction

Busy

Buffermode

Acceleration

Deceleration Error

ErrorID

40.0

Axis_Y Axis

Execute

Axis

Done

MC_MoveAbsolute

MoveToDeliveryY

Position

Velocity Active

CommandAborted

Jerk

Direction

Busy

Buffermode

Acceleration

Deceleration Error

ErrorID

Application Program (2/2)

Page 44: PLCopen Motion Control       an introduction

Page 44 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Alt. Application Program

XYZLifter

StartPos_X, Pos_Y, 0

20.040.0

AxisGroup

Execute

AxisGroup

Done

MC_MoveLinearAbsolute

MoveToPallet

Positions

Velocity Active

CommandAborted

Busy

Error

ErrorID

AxisGroup

Execute

AxisGroup

Done

MC_MoveLinearRelative

ForkInPallet

Positions

Velocity Active

CommandAborted

Busy

Error

ErrorID

0, 0, 1000

20.0

AxisGroup

Execute

AxisGroup

Done

MC_MoveLinearRelative

LiftPallet

Positions

Velocity Active

CommandAborted

TransitionParameter

Busy

BufferMode

TransitionMode Error

ErrorID

0, 100, 0

20.0

AxisGroup

Execute

AxisGroup

Done

MC_MoveLinearRelative

ForkOutWithPallet

Positions

Velocity Active

CommandAborted

Busy

Error

ErrorID

0, 0, -1000 0, 0, 0

40.0

AxisGroup

Execute

AxisGroup

Done

MC_MoveLinearAbsolute

MoveToDelivery

Positions

Velocity Active

CommandAborted

Busy

Error

ErrorID

Finished

TransitionParameter

BufferMode

TransitionMode

TransitionParameter

BufferMode

TransitionMode

TransitionParameter

BufferMode

TransitionMode

TransitionParameter

BufferMode

TransitionMode

Aborting

TMNoneBlendingNext

TMCornerDistance

100

Aborting

TMNoneBlendingNext

TMCornerDistance

100

Page 45: PLCopen Motion Control       an introduction

Page 45 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Encapsulation: Winding / Unwinding

r

torquetension

Page 46: PLCopen Motion Control       an introduction

Page 46 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Dancer Control

LOAD CELL

M

M

DANCER

Page 47: PLCopen Motion Control       an introduction

Page 47 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Graphical representation of FB

PS_Wind_csv AXIS_REF Axis Axis AXIS_REF

BOOL Enable Busy BOOL REAL Velocity InVelocity BOOL REAL SpoolRadius Error BOOL

PS_Direction Direction ErrorID WORD REAL Min_S_Radius REAL Max_S_Radius REAL Acceleration REAL Deceleration REAL Jerk

Page 48: PLCopen Motion Control       an introduction

Page 48 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

UDFB for Winding (csv)

Page 49: PLCopen Motion Control       an introduction

Page 49 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Page 50: PLCopen Motion Control       an introduction

Page 50 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

PLCopen Motion Control

A suite of specificationsA suite of implementations

A suite of suppliersA very fast growing suite of users

A suite of advantages

Page 51: PLCopen Motion Control       an introduction

Page 51 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

PLCopen

Combining Logic, Motion and Safety

Providing Structuring, Decomposition, Reuse and less training

Page 52: PLCopen Motion Control       an introduction

Page 52 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Some words to the

Not-for-profit organization

Page 53: PLCopen Motion Control       an introduction

Page 53 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Page 54: PLCopen Motion Control       an introduction

Page 54 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

PLCopen - a world wide association

Office in Japan

Main Office in Europe

Office in North America Office in China

Page 55: PLCopen Motion Control       an introduction

Page 55 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Organization

TECHNICAL PROMOTIONALCOMMITTEES

PLCopenfor efficiency in automation

T C1 T C2 T C3 T C4 T C5 T C6 P C 1 P C 2 P C 3 P C 4 P C 5

G en eral M ee tin g , BO M , M D

Page 56: PLCopen Motion Control       an introduction

Page 56 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

PLCopen – providing a suite of specifications

Page 57: PLCopen Motion Control       an introduction

Page 57 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

Page 58: PLCopen Motion Control       an introduction

Page 58 printed at 04/19/2023 www.PLCopen.org

PLCopen®

for efficiency in automation

More Information...

www.PLCopen.org Free-of-Charge electronic Newsletter ‘PLCopening’ (in english)

email: [email protected]