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 state machines

As a software engineer, especially one that writes PLC code, you must understand what state machines are. State machines to PLC programmers are what the Model-View-Controller (MVC) pattern is for web developers. To be a quality PLC programmer, you must understand what a state machine is and how to implement one.

The most simplified way to think of a state machine is as a series of states that can transition from one state to another. A simple example of a state machine is a lightbulb connected to a switch. The following diagram represents the state of a lightbulb:

Figure 2.14 – Lightbulb state machine

Figure 2.14 – Lightbulb state machine

As can be seen with the arrows, if the lightbulb is on, it can transition to off when the switch is flicked down. If the lightbulb is off, it can transition to an on state when the switch is flicked up.

The majority of state machines that you are going to work with as a PLC programmer are called finite state machines...