What is a PLC (Programmable Logic controller tutorial)