Programmable logic controller (PLC)