What are different components in Programmable Logic Controller?