Click here to load reader
Upload
penelope-herman
View
174
Download
10
Tags:
Embed Size (px)
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
Citation preview
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 printed at 04/19/2023 www.PLCopen.org
PLCopen®
for efficiency in automation
PLCopen Motion Control:
The software problem
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 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 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 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 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 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 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 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 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 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 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 printed at 04/19/2023 www.PLCopen.org
PLCopen®
for efficiency in automation
Mechatronic solutions
Mechanical solution.
Control solution
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 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 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 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 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 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 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 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 printed at 04/19/2023 www.PLCopen.org
PLCopen®
for efficiency in automation
Timing Diagram
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 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 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 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 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 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 printed at 04/19/2023 www.PLCopen.org
PLCopen®
for efficiency in automation
Start-up procedure
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 printed at 04/19/2023 www.PLCopen.org
PLCopen®
for efficiency in automation
Part 4 – Coordinated Motion
Page 33 printed at 04/19/2023 www.PLCopen.org
PLCopen®
for efficiency in automation
Synchronized Motion items
SyncAxisToGroup
SyncGroupToAxis
TrackConveyorBelt
TrackRotaryTable
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 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 printed at 04/19/2023 www.PLCopen.org
PLCopen®
for efficiency in automation
Tracking
Page 37 printed at 04/19/2023 www.PLCopen.org
PLCopen®
for efficiency in automation
Encapsulation
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 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 printed at 04/19/2023 www.PLCopen.org
PLCopen®
for efficiency in automation
Possible improvements
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 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 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 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 printed at 04/19/2023 www.PLCopen.org
PLCopen®
for efficiency in automation
Encapsulation: Winding / Unwinding
r
torquetension
Page 46 printed at 04/19/2023 www.PLCopen.org
PLCopen®
for efficiency in automation
Dancer Control
LOAD CELL
M
M
DANCER
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 printed at 04/19/2023 www.PLCopen.org
PLCopen®
for efficiency in automation
UDFB for Winding (csv)
Page 49 printed at 04/19/2023 www.PLCopen.org
PLCopen®
for efficiency in automation
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 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 printed at 04/19/2023 www.PLCopen.org
PLCopen®
for efficiency in automation
Some words to the
Not-for-profit organization
Page 53 printed at 04/19/2023 www.PLCopen.org
PLCopen®
for efficiency in automation
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 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 printed at 04/19/2023 www.PLCopen.org
PLCopen®
for efficiency in automation
PLCopen – providing a suite of specifications
Page 57 printed at 04/19/2023 www.PLCopen.org
PLCopen®
for efficiency in automation
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]