What do candidates on the PLC Programming course actually do?
The PLC Programming course begins by looking at the ways in which PLCs typically work. We study the Scan Cycle used to fetch the input values, execute the program and write the outputs. Our candidates find this useful when progressing further into the course. We also look at the ways in which inputs and outputs are commonly configured in a ladder program to produce a simple outcome, and how this might relate to real-world events. We then analyse various example applications with their respective programs, checking how the suggested programs relate to the applications in question. This is a useful way of highlighting some of the subtle workings of PLCs, like for example the system flags used for initializing the PLC.
![]() |
![]() |
![]() |
Page 7 of the course notes for the PLC Programming course, describing the common PLC Scan Cycle and the typical internal architecture of PLCs |
Page 8 of the course notes for the PLC Programming course, explaining the languages used on PLCs and how ladder programs are executed by the PLC |
Page 14 of the course notes for the PLC Programming course, which is part of a section where we discuss various PLC applications and how a PLC would be programmed to control them. This particular example is explaining how system flags are often used to initialize programs, by setting counters and other registers to a default state when the program is initiated |
We then look at the dangers involved when modifying PLC programs and clarify the legal situation with regard to the competence issues, the various relevant legislative documents etc. We also analyse the root causes of control system failures, using this as a way of reminding the candidates about the safety implications of PLC programming. We also mention the various relevant British Standards, Codes of Practice and typical employers' working procedures to ensure that the candidates understand this.
Candidates learn the importance of structuring programs using subroutines and labelling and commenting the program so that they are easily understood by others. We insist that our candidates take a professional approach to the creation of PLC programs and the subsequent practical exercises on the course provide practice at creating and calling their own subroutines and labelling and commenting their own programs professionally.
![]() |
![]() |
![]() |
Page 21 of the course notes for the PLC Programming course, analysing the dangers of programming PLCs and the root causes of control system failures that lead to accidents |
Page 27 of the course notes for the PLC Programming course, explaining the importance of using subroutines to structure programs professionally and how this would typically be achieved in an industrial program |
Page 29 of the course notes for the PLC Programming course, explaining the importance of using labels and comments to structure programs professionally and how this would typically be achieved in an industrial program |
Candidates are shown the ways in which logical expressions (AND, OR, SET, RESET etc) are achieved in PLCs, and how the timers and counters inside the various PLC manufacturers' PLCs typically operate.
![]() |
![]() |
![]() |
Page 31 of the course notes for the PLC Programming course, showing how logical expressions (AND, OR, SET, RESET etc) are achieved in PLCs |
Page 33 of the course notes for the PLC Programming course, describing how PLC timers typically operate |
Page 35 of the course notes for the PLC Programming course, describing how PLC counters typically operate |
Practical exercises are interspersed in the theoretical part of the PLC programming course. For example, in the exercises shown in the above pictures, as well as learning about the theoretical issues the candidates are also practicing calling subroutines to implement some basic logic functions and exploring how labels and comments are added to their program. They also find out what timers and counters are available on the PLC that they are using and create some basic code to make their PLC generate timing delays and counting functions.
A series of structured exercises follow, where the candidates are given the opportunity to create their own programs to solve various control problems. These consist of getting the PLC to start and stop two conveyor motors correctly, reading several sensors to detect the presence of different targets at a sorting point on a machine and driving an electric solenoid reliably and counting components down a loading chute, using the count value to drive an electrical rotary solenoid which loads a hopper.
![]() |
![]() |
![]() |
One of the practical exercises on the PLC Programming course - writing the program that uses the start/stop buttons to control the conveyor motors correctly and safely |
One of the practical exercises on the PLC Programming course - writing the program that sorts components one from another and sending the correct components down an assembly chute |
One of the practical exercises on the PLC Programming course - writing the program that loads a hopper at the end of the assembly chute |

The practical exercises give candidates the opportunity to try out various methods of achieving the required objectives of each of the structured exercises.
Candidates draw their solutions to the practical exercises in their course notes. The page shown here is for one of these exercises.
The structured exercises continue (in fact they consume on average 3 out of the 4 days of the course) with a PLC program required to detect if assembled components are correct and rejecting incorrectly assembled components. This can become quite involved since the assembly-checking area is some way along the conveyor from the reject position so often a series of shift registers and other complex programming techniques are required to ensure that the PLC program operates well.
![]() |
![]() |
![]() |
One of the practical exercises on the PLC Programming course - writing the program that checks whether the assembled components are correct or incorrect |
One of the practical exercises on the PLC Programming course - writing the program that rejects incorrectly assembled components |
The complete conveyor control rig that candidates on the PLC programming course use |
On this course we use Allen Bradley PLCs controlled by Rockwell software, Siemens S7 214 PLCs controlled by Step 7 software, Mitsubishi FX0n PLCs controlled by FX-GP WIN software and Omron CP1E PLCs controlled by Sysmac software. We expect candidates to program at least three of these PLCs and we find that the experience of learning about a range of PLCs helps to ensure that they gain a holistic understanding of the subject so that subsequent to the course they could attempt to re-program any type of PLC.
Candidates on the PLC programming course are encouraged to explore other more advanced commands available in the PLCs that they are using and the course also places them in a very strong position for attending manufacturer-specific PLC training courses where the sound foundations achieved in this course would ensure that they gained the maximum benefit from attending more advanced courses.
If you would like to see some of the equipment used on the PLC Programming course for yourself, then please call us to arrange a visit to our offices in Kent. Alternatively, we can visit you anywhere in the British Isles.