Book Image

Mastering PLC Programming

By : Mason White
Book Image

Mastering PLC Programming

By: Mason White

Overview of this book

Object-oriented programming (OOP) is a new feature of PLC programming that has taken the automation world by storm. This book provides you with the necessary skills to succeed in the modern automation programming environment. The book is designed in a way to take you through advanced topics such as OOP design, SOLID programming, the software development lifecycle (SDLC), library design, HMI development, general software engineering practices, and more. To hone your programming skills, each chapter has a simulated real-world project that’ll enable you to apply the skills you’ve learned. In all, this book not only covers complex PLC programming topics, but it also removes the financial barrier that comes with most books as all examples utilize free software. This means that to follow along, you DO NOT need to purchase any PLC hardware or software. By the end of this PLC book, you will have what it takes to create long-lasting codebases for any modern automation project.
Table of Contents (25 chapters)
1
Part 1 – An Introduction to Advanced PLC Programming
6
Part 2 – Modularity and Objects
10
Part 3 – Software Engineering for PLCs
14
Part 4 – HMIs and Alarms
19
Part 5 – Final Project and Thoughts

What is OOP?

OOP is widely misunderstood in the automation field. It is often confusing, as the support of OOP features varies from one PLC brand to another. However, new and increasingly popular PLCs, such as those produced by Beckhoff or Wago, support a very pure form of OOP. There is also prejudice from many in the field to adopt the usage of OOP due to people not understanding the paradigm and the benefits that it offers. Much of the prejudice and misunderstanding stems from the novelty of OOP in the PLC programming realm.

With all that being said, what is OOP? The first step in understanding OOP is to understand what OOP isn’t. Many non-formally trained developers think of OOP as either breaking programs into files, similar to functions, or programming with classes—or, as they are known in IEC 61131-3, function blocks. However, this is a gross simplification and an inaccurate definition of what OOP is. It can be argued that this is where much of the prejudice...