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

Exploring global variable lists

In traditional programming, global variables are usually considered dangerous and bad practice. However, the philosophy in PLC programming is a little different. Global variables can be dangerous; however, it is common that many processes depend on the same values. As we’ll explore later, there are ways to encapsulate and pass data around, but when there are many different code blocks that consume the values, it can often be inefficient to pass the data around.

Global values are often placed in special files called GVLs. Variables in a GVL can be accessed and manipulated by any file. Consequently, GVLs can be kind of dangerous to use, and code that utilizes variables from a GVL can be difficult to troubleshoot. Since a variable can be altered by any block of code from any file, it can be very difficult to figure out where a defective value stems from. Also, if a value is forced, it can trigger a response in many processes. This means that it...