Month: June 2016

Programmable Logic Controllers, book review


Published on: 01.06.2016

Number of pages: 408
Written by: Dag H. Hanssen
Publish by: Wiley


This is book provide good explanation of PLC, digital, analog, input, outputs, and programming languages for PLC.

It is great book for all around introductions to PLC.


Book is divided in five parts:

1. Hardware

Explain what is PLC, analog I/O and digital I/O. I/O is abbreviation for input/output.
Most new informations I got from this chapter, because I had least experience with hardware.

2. Methodic

Have only one chapter called Structured Design.
Content of chapter is: number system and digital logic, boolean design, sequential and state-base design.
What most developers already know.

3. IEC 61131-3

Describes IEC 61131-3 standard and basics of programming.
PLC can be programmed in five different languages: structured text (ST), function block diagram (FBD), ladder diagram (LD) instruction lists (IL) and sequential function chart (SFC).
Each of languages is introduced.
Common languages elements are explained also.

LD, SFC and FBD are graphical programming languages.
IL and ST are text-based languages.

Structured text (ST) is similar to Pascal or C.
Function block diagram (FBD) is based on connecting functions and function-blocks.
Ladder diagram (LD) is similar to relay diagrams.
Instruction lists (IL) is similar to assembler-like low-level language.
Sequential function chart (SFC) is good for programming sequential controls and implementing state-based control algorithms.

4. Programming

Describes in details: ladder diagram (LD), function block diagram (FBD), structured text (ST), sequential function chart (SFC).
Instruction lists (IL) is not described in details, because it is not so much used in practice.

5. Implementation

Implement some examples from book in CODESYS 2.3 and 2.5 IDE

Final thoughts

Because I have background in programming/development, was working as professional software developer for 10 years, most useful part for me was: hardware and description of different languages that can be used for programming PLC.

I also understood that there is big difference between programming computer and PLC, even micro-controler and PLC.

After every chapter there are “Test Problems”, what are basically questions or exercises that are testing your knowledge of that chapter.
I liked the this concept and it will be great if more book had it, because it gives quick overview of what is important in chapter.