PLC programming is the method for creating the instructions, sequence, and calculations used by the PLC to automate a machine or process. The PLC is the hardware and the program is the intelligence.
In a sense, the programmed PLC gives a machine a ‘brain’. PLC is an acronym for programmable logic controller.
A PLC is device who has its origins in the 1960’s by a company named Modicon. Its first use was in the automotive manufacturing plants to replace the old relays arranged to create essentially relay logic. It was a simple decision and control system effective for the era, but as usual, a better solution is always on someone’s creative mind.
Briefly, a relay is a mechanical switch controlled by an electrical source to turn it on and off.
Being mechanical in nature, it is large compared to electronics and moving parts tend to wear, degrade, and ultimately fail. Creating the desired relay logic requires many relays and many more wires to connect them. If the logic is wrong or needs to be updated then rewiring is needed. The PLC eliminates all of these physical relays to create logic circuits and moves them virtually into the program.
PLC programming has largely been and still is in Ladder Diagram or Ladder Logic. It is still the most commonly used language for programming a PLC, even though there are alternative languages. The reason is simple, it is very much like the electrical schematics used for relay logic. Ladder logic is programmed using common electrical symbols like those used for contacts and coils. A ladder diagram program looks like an electrical drawing that electricians are familiar and comfortable with, so easy adoption from the hard-wired relays to the PLC was accomplished.
Programming a PLC requires certain skills and knowledge. Understanding the process that will be controlled or automated is paramount. Start-up and Shutdown functions are often forgotten or given little attention at the beginning where the focus is on the main functions of the machine or process.
The PLC will need to be chosen to fit the application and the all the inputs and outputs accounted for and spares included just in case the project grows or to cover elements that were simply missed.
As with all projects, planning upfront will save time and frustrations later. Meeting with all the stakeholders or those involved would be a great first step. Hash out the scope and develop a time-line and have those involved agree to it. Later, when extra features or functions are being requested, you can support the reason for the programming project taking longer than first proposed.
PLC programming is only part of the entire task of automating a machine. An engineer has to design and specify the components that supply the PLC its inputs and what it outputs it will control.
If you are only responsible for programming, then you need a list of all the inputs and outputs and their specs from the engineer. He or she may also be the one to supply a control narrative or description of the project. Taken a step further in development, Boolean Logic diagrams may be supplied to you the programmer which can (if detailed enough) be used to create the program from. Often times the Controls/Electrical Engineer will also do the programming and possibly the HMI programming… but that is another topic.
So in wrapping it up, PLC programming is about giving brains to machines/processes using a specialized computer and requires significant skills and knowledge. I can tell you it can be a very rewarding occupation in terms of challenge, constant learning, teamwork, and last and certainly not least, financial gain.