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

Understanding function blocks

The term function block can be confusing. Unlike ladder logic, where a function block is merely a pre-built operation that carries out a specific task, when digging into OOP, that idea can be greatly expanded upon. In terms of OOP, function blocks are the code structures that allow developers to blueprint their objects. For readers with knowledge of languages such as C++, C#, Java, or the like, a function block is similar to a class. Generally, PLC programmers that have adopted OOP usually consider function blocks to be the equivalent of classes, and many will even refer to them as classes. In IEC 61131-3, a function block can hold data and code similar to the way a class in a traditional object-oriented language can. As will be explored later, a function block can also inherit from other function blocks and be inherited from, similar to classes in traditional object-oriented languages.

Classes are the backbone of any modern object-oriented language...