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...