Trying to learn PLC programming?

I’m sure you’re probably struggling, trying to wrap your head around the enormity of everything you need to learn.

PLC Programming Plan

You are also probably watching videos on YouTube, and you’ve likely signed up for two or three online training courses (but haven’t completed any of them).

If this is you then you’re at the right place at the right time. Because if you keep trying to learn the way you’re doing it now you won’t learn to program. Instead you will waste a lot of time and money pretending you know how to program.

How about I outline a step by step process that literally tells you what to do day-by-day? And what if I told you that if you did exactly what I outline in this plan that after 10 days you will be able to create a program as good as a professional, would you follow my plan?

This plan is specifically designed to be completed in 10 days. You’ll start training on a Monday, and you’ll need to commit 1 to 1.5  hours a day to complete the plan.

We encourage you to study this plan and a prospective project before starting the training plan.

Then set up the software, become familiar with navigating in it. And if you get stuck or dont know how to program a particular piece of logic, reach out to us we would love to help.

Finally, in the end, have fun.


The training program has these specific goals;

  1. Schedule – to deliver a day-by-day schedule
  2. Tasks – to outline specific daily tasks to meet the schedule
  3. Practices ­­– to share specific best practices

Training Plan Description

You’ll work for 10 days straight during this program. 

Ideally, you will work on your projects every day, throughout the 10 day training program.

If for you do not know how to program any part of the logic in this program, than you have some home work to do. Write it down and move on to the logic you do know how to write and then come back to the logic you don’t know later.

Equipment Requisites

This program requires no specific hardware or software. You may use any platform to complete the projects in this plan. The tasks are not platform dependent, so the program will look different depending on the software you choose to use for this plan.

The plan assumes, you have a software program to write code with, but does not require any hardware. You will not need to network the plc programming software to any hardware.

 Common Question

  1. Will I be able to write a PLC program after the course?

Yes, you will build a very solid template, which you can use to write any PLC program. Using a template will make you an efficient programmer.

  1. Will I learn how to wire a PLC controller?

No, this is purely a ladder logic code writing plan. There is no hardware required, and we will not focus on anything more than creating rungs of logic.

  1. What if I get stuck?

Contact us ASAP. We can be reached at, we can help you through this course. Keep in mind, you can take work on this plan on your own or you can contact us and we can work with you to complete this program. In the end it’s up to you to do the work. We cannot do it for you, but if you need help, we would love to help.




 Secession 1 – Monday

Best Practice – find a basic machine to build you first project on. Go slow, take your time and think it through. Secondly take notes…

  • Find a basic machine for your project (no analog, just basic inputs & outputs)
  • Study your project intently, discover how it runs, the start & stop process, the e-stop and reset process, as well as the faults clearing process.
  • Compile inputs and outputs into a list
  • Setup a plc program – choose controller type, name the project, set up communication.

Secession 2 – Tuesday

Best Practice – get used to writing out the IO of a machine, it’s a best practice even the pros use.

  • Create tag database (if using a tag based platform if not create I/O)
  • Create the routines listed below:
  • Main
  • Auto
  • HMI
  • Production
  • Inputs
  • Outputs
  • Manual
  • Faults
  • Bypass

 Main Routine

  • Write ‘MCR’ Logic
  • Write ‘Auto’ & ‘Manual’ mode Logic
  • Write ‘Machine OK to Run’ Logic
  • ‘Machine Home’ Logic – you are using cylinders for example in your project.
  • Add Jump to Subroutines Instructions (to routines listed above)

Secession 3 – Wednesday

Best Practice – when thinking through the back checks, imagine your machine checking for parts in the machine during an auto cycle. If you lose an input during the auto cycle than you throw a fault to stop the machine to include the reset.

Inputs Routine

  • Create Input Logic, also add in a bypass to each input.
  • Create ‘Sensor Back Check’ Logic for each input, used to check inputs at various time throughout the auto cycle.
  • Write ‘Reset’ Logic.
  • Create ‘Light Curtain’ Logic.
  • Write ‘Input Status’ Logic.
  • Write ‘Cycle Start Pulse’ Logic.

 Secession 4 – Thursday

 Best Practice – write logic for any indicator you would like to have on your machine.

 Outputs Routine

  • Create ‘MCR’ power on Logic
  • Write output Logic for any light indicators on the machine.
  • Write ‘Machine Status’ lights Logic – Amber, Green, and Red
  • Create ‘Audible Alarm’ output Logic.
  • Create output Logic for power systems (motors/cylinders)

 Secession 5 – Friday

 Best Practice – write logic for any device you would like to manually control on the machine.

 Manual Routine

  • Create ‘Manual’ control Logic to power outputs (motors/cylinders)

 Secession 6 – Saturday

 Faults Routine

  • Create ‘Light Curtain’ fault Logic.
  • Create ‘Remove Parts’ Logic.
  • Write fault Logic – ‘Parts Missing’, ‘Parts Never Cleared’, Cylinder Extend & Retract Faults, etc.
  • Write ‘Fault Reset’ Logic

 Secession 7 – Sunday

 Best Practice – write bypass logic for anything on the machine you would like to manually bypass should a condition arise. Like a broken sensor, of if you choose to use a parts nest (if your machine has more than one part next for example).

 Bypass Routine

  • Write ‘Bypass Status’ Logic
  • Write ‘Bypass Present’ Logic

 Secession 8 – Monday

 Best Practice – write logic for anything on the machine you want to track and anything you want to know about that could go wrong. If it could wrong, give it fault logic.

 Production Routine

  • Create ‘Machine Cycle Count’ Logic.
  • Create ‘Cycle Timer’ Logic.

 Faults Routine

  • Create ‘Light Curtain Fault’ logic.
  • Create ‘Remove Parts’ Logic.
  • Write Fault Logic – ‘Parts Missing’ and ‘Parts Never Cleared’ and Cylinder Extend & Retract Faults etc.
  • Write ‘Fault Reset’ Logic

 Secession 9 – Tuesday

 Best Practice – think through every single little step in an auto cycle.

 Auto Routine

  • Create ‘Auto Sequence’ Logic

 Secession 10 – Wednesday

 Best Practice – this is your dash board for the machine. Create an input or output for anything on the machine you want to visually see and put it in the HMI routine.

 HMI Routine

  • Create ‘Control Power Off’ Logic.
  • Create ‘HMI Messaging’ Logic.
  • Create ‘Audible Alarm Active’ Logic
  • Create ‘Sensor Status’ Logic for light indicators

At this time, you’ve spent 10 days writing logic to build your PLC programming template. This template is a solid, but basic program. You should save this program and add on to it as you learn more to refine the quality of your program.

If you are new to PLC programming this plan will test you, it will push you past your comfort zone. I designed this plan to do just that. To push you and test you to improve your skill set.

But don’t worry, you should learn a lot from completing this program which will make you a better programmer.

Good Luck and again if you get stuck contact us at


Get Personalized Coaching With Paul Godines

The Take Away

With this article we’re hoping you’ve learned and left with some questions answered, hopefully we’ve sparked your curiosity and shared some useful information.

But, we know you may need more, so we invite you to contact us for some follow up questions or to discuss your unique needs.

Just go to our contact page and reach out to us and we’ll get back to you asap!