PLCopen for efficiency in automation Introduction in IEC



























































































- Slides: 91
PLCopen for efficiency in automation Introduction in IEC 61131 -3 Check also the notes coupled to each slide for further explanation Page 1 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation PLCopen TC 1 : Standards links to IEC 61131 -3 Harmonizing the way people look to control the future is here Page 2 printed at 10/29/2020 www. PLCopen. org ®
PLCopen ® for efficiency in automation Fiction? Imagine * * you are in industrial control working with 4 different brands of controls using different dialects in their programming languages struggling to match the level of your software engineers with the operators and maintenance people on the factory floor * & seeing that your competitor does better Why? What’s wrong ? Page 3 printed at 10/29/2020 www. PLCopen. org
PLCopen for efficiency in automation Out of the jungle The current variety of problems can be vastly reduced via standardization. . . and such a standard is available Page 4 printed at 10/29/2020 www. PLCopen. org ®
PLCopen ® for efficiency in automation IEC 61131 -3 “The best thing that happened to industrial control” Sugar Lantic on Automation Maillist Page 5 printed at 10/29/2020 www. PLCopen. org
PLCopen for efficiency in automation The 9 parts of the IEC 61131 Standard Project Title Valid till 61131 - 1, Ed 2. 0 General information, 2003 -05 2013 61131 - 2, Ed 3. 0 Equipment requirements and tests, 2007 -07 2012 61131 - 3, Ed 3. 0 Programming languages (Currently CDV - Committee Draft for Voting) 61131 - 4, Ed 2. 0 User guidelines (TR), 2004 -07 2010 61131 - 5, Ed 1. 0 Communications, 2000 -11 2013 61131 - 6, Ed 1. 0 Functional safety for PLC 61131 - 7, Ed 1. 0 Fuzzy control programming, 2000 -08 2013 61131 - 8, Ed 2. 0 Guidelines applic. & implem. progr. languages (TR), 2003 -09 2008 61131 - 9, Ed 1. 0 Single-drop digital communication interface for small sensors and actuators (SDCI) aka “IO-Link” (Currently CD - Committee Draft) Page 6 printed at 10/29/2020 (Currently CDV - Committee Draft for Voting) 2012+5 www. PLCopen. org ®
PLCopen for efficiency in automation IEC 1131 versus IEC 61131 § The good news is – there is no difference § It is an international harmonization of all the IEC standards and the localized versions Page 7 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation IEC 61131 -3 Programming languages / Industrial Control Programming Standardizing the way people work with controls Page 8 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation IEC 61131 -3 Programming languages / Industrial Control Programming. . . with support for people with different backgrounds Page 9 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation The IEC 61131 -3 Standard Common Elements Programming Languages Page 10 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation IEC 61131 -3 : Common Elements Variables & Data Types What is this? 0101 1010 Historically • Reference to a physical memory location • Reference to a physical Input Page 11 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation IEC 61131 -3 : Common Elements Variables & Data types Temperature_Sensor_1 : Integer • Symbolic representation via labels • Restricted area for I/O mapping • Hardware independent software code • Result: higher transparency & readability • And less errors Page 12 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation IEC 61131 -3 : Common Elements Software Model • Page 13 printed at 10/29/2020 Configuration • Resources • Tasks www. PLCopen. org ®
PLCopen for efficiency in automation IEC 61131 -3 Software Model Configuration Communication Function Page 14 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation IEC 61131 -3 Software Model Configuration Resource Communication Function Page 15 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation IEC 61131 -3 Software Model Configuration Resource Task Communication Function Page 16 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation IEC 61131 -3 Software Model Configuration Resource Task Program Execution control path Communication Function Page 17 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation IEC 61131 -3 Software Model Configuration Resource Task Variable access path Resource Task FB Function Block Program FB Global and direct variables FB Variable Execution control path Access path Communication Function Page 18 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation IEC 61131 -3 vs conventional PLC Configuration Resource Task Variable access path Resource Task FB Function Block Program FB Global and direct variables FB Variable Execution control path Access path Communication Function Page 19 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation Conventional PLC vs IEC 61131 -3 Time based Task 1 Resource Task Endless Loop: Read inputs Do Calculations Task 2 Events based Task 3 Events based Program Set Outputs Page 20 printed at 10/29/2020 Time based Task 4 www. PLCopen. org ®
PLCopen for efficiency in automation Common Elements: Tasks PLCs DCS PC based Control Page 21 printed at 10/29/2020 Embedded IEC 61131 -3 Drives LON nodes Soft. Logic www. PLCopen. org ®
PLCopen for efficiency in automation Common Elements : Tasks & Datatypes Multi –functional Operator Panel Windows CE or any other RPM =2000 IEC 61131 -3 tasks SCADA & HMI tasks I/O Communication tasks OPC UA I/O Communication bus Page 22 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation IEC 61131 -3 : Common Elements COMMON ELEMENTS a. o. Data Types & Variables Configuration, Resources, Tasks Programming Organization Units, POUs * Function Blocks * Programs Page 23 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation Functions …. . * Standard functions ADD, SQRT, SIN, COS, GT, MIN, MAX, AND, OR, etc. * Your own defined functions: FUNCTION SIMPLE_FUN : REAL VAR_INPUT A, B : REAL; C : REAL : = 1. 0; END_VAR SIMPLE_FUN : = A*B/C; END FUNCTION Page 24 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation …. & Function Blocks § Standard Function Blocks Hysterisis REAL Page 25 printed at 10/29/2020 XIN 1 XIN 2 EPS Q BOOL www. PLCopen. org ®
PLCopen for efficiency in automation …. & Function Blocks § Standard Function Blocks § Additional supplied Function Blocks Hysterisis REAL Page 26 printed at 10/29/2020 XIN 1 XIN 2 EPS Q BOOL www. PLCopen. org ®
PLCopen for efficiency in automation …. & Function Blocks § Standard Function Blocks § Additional supplied Function Blocks § Your own defined Function Blocks Hysterisis REAL Page 27 printed at 10/29/2020 XIN 1 XIN 2 EPS Q BOOL www. PLCopen. org ®
PLCopen for efficiency in automation …. & Function Blocks § Standard Function Blocks § Additional supplied Function Blocks § Your own defined Function Blocks § All FBs are highly re-usable in same program, different programs or project Page 28 printed at 10/29/2020 Hysterisis REAL XIN 1 XIN 2 EPS Q BOOL www. PLCopen. org ®
PLCopen for efficiency in automation Function Block example REAL Hysterisis XIN 1 Q XIN 2 EPS BOOL Q 1 0 EPS XIN 2 Page 29 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation Function Block example REAL Hysterisis XIN 1 Q XIN 2 EPS Q 1 BOOL FUNCTION_BLOCK HYSTERISIS VAR_INPUT XIN 1, XIN 2 : REAL; EPS : REAL; (* Hysterisis band *) END_VAR VAR_OUTPUT Q : BOOL : = 0 END_VAR IF Q THEN IF XIN 1 < (XIN 2 -EPS) THEN Q : = 0 (* XIN 1 decreasing *) END_IF; ELSIF XIN 1 > (XIN 2 + EPS ) THEN Q : = 1; (* XIN 1 increasing *) END_IF; END_FUNCTION_BLOCK 0 EPS XIN 2 Page 30 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation Programs : design via building bricks Start : BOOL; Emergency : BOOL; Limit : INT; Automation application INPUT OUTPUT IN_OUT EXTERNAL FUNCTION_BLOCK PROGRAM Type Local GLOBAL INPUT FUNCTION Type Page 31 printed at 10/29/2020 Local www. PLCopen. org ®
PLCopen for efficiency in automation Structure & Advantages of POUs § Create own Function Block Libraries (per application area) § FBs are tested and documented § Make libraries (world wide) accessible § Re-use as much as possible § Change programming to creating networks of FBs § Save 40% on next project Page 32 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation Sequential Function Chart, SFC § Powerful graphical technique for describing the sequential behavior of a control program Step 1 § Used to partition a control problem § Shows overview, also suitable for rapid diagnostics N FILL Transition 1 Step 2 S Empty Transition 2 Step 3 Page 33 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation Sequential Function Chart, SFC § Powerful graphical technique for describing the sequential behaviour of a control program Step 1 § Used to partition a control problem § Shows overview, also suitable for rapid diagnostics § The basic elements are STEPS with ACTION BLOCKS and TRANSITIONS N FILL Transition 1 Step 2 S Empty Transition 2 Step 3 § Support for alternative and parallel sequences Page 34 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation SFC : alternative sequences Step 1 S Empty FILL Transition 1 b Transition 1 a Step 2 a N Step 2 b Transition 2 a S Empty Transition 2 b Step 3 Page 35 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation The IEC 61131 -3 Standard Common Elements Programming Languages Page 36 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation The IEC 61131 -3 Programming Languages Instruction List LD A ANDN B ST C C: = A AND NOT B Function Block Diagram AND A Structured Text Ladder Diagram A B C C -| |--|/|--------( ) B Page 37 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation The IEC 61131 -3 Standard Top Down Common Elements Programming Languages Bottom Up Page 38 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation IEC Programming Environments Many of them offer: § graphical programming screens § support for multiple windows § mouse operation § pull-down menus § built-in hypertext help function § software verification during design Page 39 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation What are the benefits ? Page 40 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation Users? Which Users? Discrete Mnf Process cntrl YOU ? ? System Integrator Education Programming Maintenance Page 41 printed at 10/29/2020 Installation www. PLCopen. org ®
PLCopen for efficiency in automation Users? Which Users? • Automobile production lines • Water treatment plant • Food processing and packaging machinery • Cable manufacturing • Semi-conductor clean room automation • Theme-park roller coasters • Nuclear waste treatment plant This wide range encompass different skills Page 42 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation Benefits § Reduced waste of human resources (in training, debugging, maintenance and consultancy) Page 43 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation Benefits § Reduced waste of human resources (in training, debugging, maintenance and consultancy) Creating a focus to problem solving via software re-usability (reduced application investment and supplier dependency) Page 44 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation Benefits § § Reduced waste of human resources (in training, debugging, maintenance and consultancy) Creating a focus to problem solving via software re-usability (reduced application investment and supplier dependency) Reduced misunderstandings and errors Page 45 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation Benefits § § § Reduced waste of human resources (in training, debugging, maintenance and consultancy) Creating a focus to problem solving via software re-usability (reduced application investment and supplier dependency) Reduced misunderstandings and errors Programming techniques usable in more environments (general industrial control) Page 46 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation Benefits § § Reduced waste of human resources (in training, debugging, maintenance and consultancy) Creating a focus to problem solving via software re-usability (reduced application investment and supplier dependency) Reduced misunderstandings and errors Programming techniques usable in more environments (general industrial control) Combining harmoniously different components from different locations, companies or countries, or projects Page 47 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation Benefits § § § Reduced waste of human resources (in training, debugging, maintenance and consultancy) Creating a focus to problem solving via software re-usability (reduced application investment and supplier dependency) Reduced misunderstandings and errors Programming techniques usable in more environments (general industrial control) Combining harmoniously different components from different locations, companies or countries, or projects Increased connectivity (investment protection) Page 48 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation Benefits § § § Reduced waste of human resources (in training, debugging, maintenance and consultancy) Creating a focus to problem solving via software re-usability (reduced application investment and supplier dependency) Reduced misunderstandings and errors Programming techniques usable in more environments (general industrial control) Combining harmoniously different components from different locations, companies or countries, or projects Increased connectivity (investment protection) Page 49 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation How to use IEC 61131 -3 an example: Structuring Software Development with IEC 61131 -3 7 steps to success Page 50 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation Software Development Cycle Design / Development / Installation / Maintenance. . phases Page 51 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation … software development cycle. . . enhancements…. . new requirements. . . …. new functionality …. …. new wishes. . . “… the never ending story of software ” Page 52 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation What’s the topic here? Structuring Software Development with IEC 61131 -3 meaning: internal Software Quality In the sense of: Understandable, Reusable, Verifiable, Maintainable, Isolation Page 53 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation Managing Complexity 100 – 10, 000 – 1 mio – 100 mio Lines of Code Exponentially increasing complexity Page 54 printed at 10/29/2020 www. PLCopen. org ®
PLCopen ® for efficiency in automation Why Structuring ? § The ever increasing role of Software on system quality: errors cost money § Requirements increased dramatically: 100 lines of codes now 10, 000 lines § SW development: not a one-man job anymore, but a team with different know how and background § Commissioning, Installation, Maintenance, and Improvements are essential parts of the development process Page 55 printed at 10/29/2020 www. PLCopen. org
PLCopen for efficiency in automation Advantages of Structuring • Better Overview • Better Basis for (internal) Communication • Better Focus to problem solving • Basis for reusable software • “Self-documenting” Page 56 printed at 10/29/2020 www. PLCopen. org ®
PLCopen ® for efficiency in automation Software Program vs. Software Product § Made by an individual for own use § Made by a group for usage by others § Limited functionality § Larger functionality § User interface less important § User interface very important § Little documentation § Well documented § Individual development § Accepted SW engineering style methods Page 57 printed at 10/29/2020 www. PLCopen. org
PLCopen for efficiency in automation 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 Page 58 printed at 10/29/2020 § 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 www. PLCopen. org ®
PLCopen for efficiency in automation (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 Page 59 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation 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 Page 60 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation Modern Software Development Process A small overview Page 61 printed at 10/29/2020 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 62 printed at 10/29/2020 www. PLCopen. org ®
PLCopen ® for efficiency in automation Example of Software Development Process Different Phases Analysis Design Development Installation Maintenance. . “Waterfall – model” Page 63 printed at 10/29/2020 www. PLCopen. org
PLCopen ® for efficiency in automation Example of Software Development Process V-model Link between Specification and testing Page 64 printed at 10/29/2020 www. PLCopen. org
PLCopen for efficiency in automation The X-Model for SW Development System Design Catalogue Management Page 65 printed at 10/29/2020 Sub-system Design Library Construction Module Development Sub-system Integration and Testing System Installation and Testing Component Development Component Design Component Identification www. PLCopen. org ®
PLCopen for efficiency in automation The X-Model for SW Development Application Software System Design Catalogue Management Page 66 printed at 10/29/2020 Sub-system Design Library Construction Module Development Sub-system Integration and Testing System Installation and Testing Component Development Component Design Component Identification www. PLCopen. org ®
PLCopen for efficiency in automation The X-Model for SW Development System Design Catalogue Management Page 67 printed at 10/29/2020 Sub-system Design Library Construction Module Development Sub-system Integration and Testing System Installation and Testing Component Development Component Design Reusable Components (FBs) Component Identification www. PLCopen. org ®
PLCopen for efficiency in automation Requirements on Engineering Tools 1. Support creation and reuse of technical, non-technical and combined entities 2. Support creation of a structured domain repository (like a library) 3. Enable multi-user access on the components 4. Provide configuration management 5. Cover more than one engineering phase and discipline 6. Encourage a reuse on different levels of granularity Page 68 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation Decomposition and Reuse Automation application INPUT OUTPUT IN_OUT EXTERNAL FUNCTION_BLOCK Type Local PROGRAM Type Local INPUT FUNCTION GLOBAL Type Page 69 printed at 10/29/2020 Local www. PLCopen. org ®
PLCopen for efficiency in automation Decomposition Page 70 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation Reuse via Standardized Function Blocks Page 71 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation A hierarchy of abstraction Topdown Page 72 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation Bottom-up after top-down First decompose – then fill it in Top- Bottom down up Page 73 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation How does that look in IEC 61131 -3 ? 7 Steps to Success with a Fermentation Control System Page 74 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation Fermentation Process Agitator Feed valve Acidic reagent Alkali reagent Temperature sensor p. H sensor Heater band Harvest valve Page 75 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation How to create a control program for this in a structured way? Page 76 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation Step 1 : Identification of external Interfaces to the System § Feedback from the temperature sensor § Feedback from the p. H sensor § Feedback from the valve positions § Feedback from the motor (speed) § Output to the valves § Output to the motor § Output to the heater band Page 77 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation Step 2: Definition of the main signals between System and Plant In this example there is no coupling to the plant, but it could have been, like: § … coupling to main vessels with liquids § … coupling to transportation system / filling station after harvesting Page 78 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation Step 3: Definition of all Operator interactions, overrides and supervisory data For the operator we define: § …a ‘Start’ button § …a ‘Stop’ button § …a ‘Duration’ input Now we have defined all the interfaces Page 79 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation Step 4: Brake down from top in logical partitions § Main. Sequence - filling, heating, agitating, fermenting, harvesting, cleaning. § Valve. Control - operating valves used to fill and empty the vessel's § Temperature. Control - for controlling the temperature § Agitator. Control - agitator motor control § p. HControl - PH-control Page 80 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation Step 5: Definition of the required POUs (Programs and Function Blocks) § Using the definitions above and § representing it in the graphical way … Page 81 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation Fermentation Control Program Page 82 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation Main. Sequence in Sequential Function Chart, SFC Presenting the main process states Page 83 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation The Actions Blocks and Transitions can be programmed in any of the four IEC Programming Languages Page 84 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation The IEC 61131 -3 Programming Languages Instruction List (IL) LD A ANDN B ST C C: = A AND NOT B Funktion Block Diagram (FBD) AND A Structured Text (ST) Ladder Diagram (LD) A B C C -| |--|/|--------( ) B Page 85 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation Step 6: Definition of scan cycle time requirements for the different parts of the application § In this example we have only one cycle in continuous mode § The remaining time can be used for other cycles like: § …. the filling / transportation system § … checking boundaries and error conditions (in a parallel sequence) Page 86 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation And last but not least: Step 7: Configuration of the System: Definition of Resources, Tasks and linking of programs with physical I/O § Depending on the system involved § Includes physical mapping of symbols to I/O § Mapping of the resource (read: CPU’s in the system) § Definition of the scan cycles and events (as defined in Step 6) Page 87 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation Conclusion § The Software development process has changed: • more requirements. . • more functionalities. . • more code. . • more people involved. . • … more requirements / wishes § Structuring and Decomposition are essential parts of modern software development § IEC 61131 -3 has the right basis to fulfill your requirements Page 88 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation The association PLCopen Together we can make it happen: Standardization in Industrial Control Programming WE NEED YOUR SUPPORT FOR THIS ! Join the organization PLCopen Page 89 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation Page 90 printed at 10/29/2020 www. PLCopen. org ®
PLCopen for efficiency in automation More Information. . . www. PLCopen. org § Free-of-Charge electronic Newsletter ‘PLCopening’ (in english) email: evdwal@PLCopen. org Page 91 printed at 10/29/2020 www. PLCopen. org ®