PLCopen for efficiency in automation Page 1 printed at 11/22/2012 www.PLCopen.org Eelco van der Wal Managing Director PLCopen PLCopen for efficiency in automation
PLCopenfor efficiency in automation
Page 1 printed at 11/22/2012 www.PLCopen.org
Eelco van der WalManaging Director PLCopen
PLCopenfor efficiency in automation
PLCopenfor efficiency in automation
Page 2 printed at 11/22/2012 www.PLCopen.org
Percentage of Software development costs in production systems (source: McKinsey)
0%
20%
40%
60%
80%
100%
1970 1980 1990 2000
Mechanic Electric Software
PLCopenfor efficiency in automation
Page 3 printed at 11/22/2012 www.PLCopen.org
Managing Complexity100 – 10,000 – 1mio – 100mio Lines of Code
Exponentially increasing complexity
PLCopenfor efficiency in automation
Page 4 printed at 11/22/2012 www.PLCopen.org
Modern Software Development Process
With rigorous implementation
PLCopenfor efficiency in automation
Page 5 printed at 11/22/2012 www.PLCopen.org
Software Program vs. Software Product Made by an individual
for own use Limited functionality User interface less
important Little documentation Individual development
style
Made by a group for usage by others Larger functionality User interface very
important Well documented Accepted SW engineering
methods
PLCopenfor efficiency in automation
Page 6 printed at 11/22/2012 www.PLCopen.org
Exploratory Style vs.Software Engineering Method
Based on error correction Finding errors during
final product testing Coding is the goal,
creating quickly a working system, and modifying till satisfactory
Focused to error prevention Find errors as early as
possible A structured approach,
clear specifications, clear phases Periodic reviews during
all stages of the project
PLCopenfor efficiency in automation
Page 7 printed at 11/22/2012 www.PLCopen.org
(Costly) Engineering Habits
Reuse work from similar former projects
Include them into the new project
And start adapting them to the new project
requirements
Copy - Paste & Modify
PLCopenfor efficiency in automation
Page 8 printed at 11/22/2012 www.PLCopen.org
Dangers of copy paste & modify
• The “not-invented-here syndrome” – only own artifacts (developed in the past)
• Non-predictable quality
• Prone to errors and reuse potential is wasted
• Unsystematically
• Difficult to maintain and manage
• Very costly over the life cycle
PLCopenfor efficiency in automation
Page 9 printed at 11/22/2012 www.PLCopen.org
Modern Software Development Process
With rigorous implementation
PLCopenfor efficiency in automation
Page 10 printed at 11/22/2012 www.PLCopen.org
Why Structured Software Development ? Software = key to system quality: errors cost money
Increased requirements: 100 rungs of ladder now 10,000 rungs or even 100,000
Not a one-man job - but a team with different know how and background
Commissioning, Installation, Maintenance, and Improvements are essential phases
Kaizen, on-going imrpovements
PLCopenfor efficiency in automation
Page 11 printed at 11/22/2012 www.PLCopen.org
“… the never ending story of software ”
enhancements…..
….. new requirements ...
…. new functionalities ….
…. new wishes ...
PLCopenfor efficiency in automation
Page 12 printed at 11/22/2012 www.PLCopen.org
Modern Software Development Process Multiple clearly separated phases - project definition
Top-down approach
Multiple people involved
With different backgrounds
Multiple disciplines involved
Based on Functional Requirements
PLCopenfor efficiency in automation
Page 13 printed at 11/22/2012 www.PLCopen.org
Example of Software Development Process
Different Phases
“Waterfall – model”
AnalysisDesign
Development
Installation
Maintenance..
PLCopenfor efficiency in automation
Page 14 printed at 11/22/2012 www.PLCopen.org
Example of Software Development ProcessV-model
Link between
Specification
and testing
PLCopenfor efficiency in automation
Page 15 printed at 11/22/2012 www.PLCopen.org
The X-Model for SW Development
Sub-systemIntegration and Testing
System Installationand Testing
Component Identification
Sub-system Design
ModuleDevelopment
Library Construction
Catalogue Management
System Design
Component Design
Component Development
PLCopenfor efficiency in automation
Page 16 printed at 11/22/2012 www.PLCopen.org
The X-Model for SW Development
Sub-systemIntegration and Testing
System Installationand Testing
Component Identification
Sub-system Design
ModuleDevelopment
Library Construction
Catalogue Management
System Design
Component Design
Component Development
Application Software
PLCopenfor efficiency in automation
Page 17 printed at 11/22/2012 www.PLCopen.org
The X-Model for SW Development
Sub-systemIntegration and Testing
System Installationand Testing
Component Identification
Sub-system Design
ModuleDevelopment
Library Construction
Catalogue Management
System Design
Component Design
Component Development
Reusable Components (FBs)
PLCopenfor efficiency in automation
Page 18 printed at 11/22/2012 www.PLCopen.org
Decompositionwith
SequentialFunction
Chart,SFC
N Initialisation S1
N FillingS2
N HeatingS3
N FermentingS4
N HarvestingS5
N CleaningS6
PLCopenfor efficiency in automation
Page 19 printed at 11/22/2012 www.PLCopen.org
A hierarchy of encapsulation
Top-
down
PLCopenfor efficiency in automation
Page 20 printed at 11/22/2012 www.PLCopen.org
Decomposition and Reuse
PROGRAM
GLOBAL
LocalType
Automation
application
FUNCTION
INPUT
LocalType
FUNCTION_BLOCK
INPUT OUTPUT IN_OUT EXTERNAL
LocalType
PLCopenfor efficiency in automation
Page 21 printed at 11/22/2012 www.PLCopen.org
Bottom-up after top-down
Top-
down
Bottom
up
First decompose – then fill it in
PLCopenfor efficiency in automation
Page 22 printed at 11/22/2012 www.PLCopen.org
Abstraction via Function Blocks
MC_MoveAbsoluteAXIS_REF Axis Axis AXIS_REF
BOOL Execute DoneBOOL
REAL PositionBOOLREAL Velocity CommandAborted
WORDREAL Acceleration
BOOL
REAL DecelerationREAL Jerk
MC_DIRECTION Direction
ErrorErrorID
ContinuousUpdate
BufferMode
BusyActive
BOOL
MC_BUFFER_MODE
BOOL
BOOL
PLCopenfor efficiency in automation
PLCopen 23 printed at 11/22/2012
Abstraction via Axis_Ref
FBAxis1
Axis_RefStructure
I/F
TaskManager
DriveConver-sion
Time or event driven
PLCopenfor efficiency in automation
PLCopen 24 printed at 11/22/2012
Axis_Ref with 2 FBs
FB1Axis1
Axis_RefStructure
I/F Drive
TaskManager
Conver-sion
Time or event driven
FB2
PLCopenfor efficiency in automation
Page 25 printed at 11/22/2012 www.PLCopen.org
Mechatronic solutions
Mechanical solution.
Control solution
PLCopenfor efficiency in automation
Page 26 printed at 11/22/2012 www.PLCopen.org
Encapsulation
Cut-to-length
Positioning
Cutting
Labelling
PLCopenfor efficiency in automation
Page 27 printed at 11/22/2012 www.PLCopen.org
Labelling
PLCopenfor efficiency in automation
Page 28 printed at 11/22/2012 www.PLCopen.org
The labelling program
Conveyor
LabelDrive
Axis
Execute
Axis
InVelocity
MC_MoveVelocity
MC_MoveVelocity
Velocity ActiveCommandAborted
JerkDirection
Busy
Buffermode
AccelerationDeceleration Error
ErrorID
Product Detection
TONINPT
QET
Velocity
Start
SensorDistanceDIV
Axis
Execute
Axis
Done
MC_MoveRelative
MC_MoveRelative
PositionVelocity Active
CommandAborted
JerkDirection
Busy
Buffermode
AccelerationDeceleration Error
ErrorID
LabelLength
Delay
PLCopenfor efficiency in automation
Page 29 printed at 11/22/2012 www.PLCopen.org
PLCopenfor efficiency in automation
PLCopenfor efficiency in automation
Page 30 printed at 11/22/2012 www.PLCopen.org
PLCopenCombining Logic, Motion and Safety
Providing Structuring, Decomposition, Reuse and less training
PLCopenfor efficiency in automation
Page 31 printed at 11/22/2012 www.PLCopen.org
Overview PLCopen
PLCopenfor efficiency in automation
Page 32 printed at 11/22/2012 www.PLCopen.org
PLCopenfor efficiency in automation
PLCopenfor efficiency in automation
Page 33 printed at 11/22/2012 www.PLCopen.org
More Information...and to download the specifications (f.o.c)
www.PLCopen.orgwww.PLCopen-Japan.jp
Free-of-Charge electronic Newsletter ‘PLCopening’ (in English)email: [email protected]
PLCopenfor efficiency in automation
Page 34 printed at 11/22/2012 www.PLCopen.org
Thanks !
End of this presentation