Basics of Programmable Logic Controllers