What Is a PLC and How Is It Programmed?