Introduction to programmable logic controllers