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

Advanced Coding — Using SOLID to Make Solid Code

The major downside to OOP is that many think that if they organize their code and stick to using class or function blocks, they’re going to produce excellent software. However, more often than not, this is false. As the old saying goes, “with great power comes great responsibility,” and in terms of OOP, this is true. When writing OOP code, you can often shoot yourself in the foot just as easily as you can produce the next technological wonder. For many, OOP is just programming with classes or, in the case of PLC programming, function blocks. Though concepts such as class/function block relationships do help clean up code, more often than not, inexperienced programmers are just as likely to make a mess out of object-oriented code as they are to develop quality code.

Up until this point, we have explored the power of OOP and how it can allow us to reduce the amount of code that we have to write. However...