Los controladores lógicos programables son dispositivos de control de automatización flexibles que generan una o más señales de salida en respuesta a una o más señales de entrada, según lo desee un usuario para implementar algún algoritmo de control. Con una complejidad que varía desde dispositivos simples capaces de realizar algunas funciones lógicas y de sincronización simples hasta dispositivos avanzados capaces de orquestar los movimientos de equipos móviles complejos, como robots de manejo de materiales, es común que dichos sistemas se implementen como sistemas modulares y extensibles que son adaptable a las necesidades específicas de una aplicación.