Esta parte del PLC es considerada como la más importante, ya que dentro de ella se encuentra un microcontrolador que lee y ejecuta el programa de usuario que a su vez se localiza en una memoria (normalmente del tipo EEPROM), además de realizar la gestión de ordenar y organizar la comunicación entre las distintas partes que conforman al PLC. El programa de usuario consiste en una serie de instrucciones que representan el proceso del control lógico que debe ejecutarse, para poder hacer este trabajo, la unidad central de proceso debe almacenar en localidades de memoria temporal las condiciones de las variables de entrada y variables de salida de datos más recientes.
La unidad central de proceso en esencia tiene la capacidad para realizar las mismas tareas que una computadora personal, porque como ya se menciono líneas atrás, en su interior se encuentra instalado un microcontrolador que es el encargado de gobernar todo el proceso de control.
Cuando se energiza un PLC, el microcontrolador apunta hacia el bloque de memoria tipo ROM donde se encuentra la información que le indica la manera de cómo debe predisponerse para comenzar sus operaciones de control (BIOS del PLC). Es en la ejecución de este pequeño programa (desarrollado por el fabricante del PLC) que se efectúa un proceso de diagnóstico que a través del cual, se sabe con que elementos periféricos a la unidad central de proceso se cuentan (módulos de entrada / salida por ejemplo), una vez concluido esta fase el PLC “sabe” si tiene un programa de usuario alojado en el bloque de memoria correspondiente, si es así por medio de un indicador avisa que esta en espera de la orden parea comenzar a ejecutarlo, de otra manera, también notifica que el bloque de memoria de usuario se encuentra vacío.

Figura 3. 5 Distintos modelos de PLC.

Figura 3. 6 Diagrama de flujo de las actividades de un PLC
Una vez que el programa de usuario ha sido cargado en el bloque de memoria correspondiente del PLC, y se le ha indicado que comience a ejecutarlo, el microcontrolador se ubicará en la primera localidad de memoria del programa de usuario y procederá a leer, interpretar y ejecutar la primera instrucción.
Dependiendo de que instrucción se trate será la acción que realice el microcontrolador, aunque de manera general las acciones que realiza son las siguientes: leer los datos de entrada que se generan en los sensores, guardar esta información en un bloque de memoria temporal, realizar alguna operación con los datos temporales, enviar la información resultante de las operaciones a otro bloque de memoria temporal, y por último la información procesada enviarla a las terminales de salida para manipular algún(os) actuador(es).

Figura 3. 7 Palabra de datos de entrada
En cuanto a los datos que entran y salen de la unidad central de proceso, se organizan en grupos de 8 valores, que corresponden a cada sensor que este presente si se trata de datos de entrada, o actuadores si de datos de salida se refiere. Se escogen agrupamientos de 8 valores porque ese el número de bits que tienen los puertos de entrada y salida de datos del microcontrolador, a cada agrupamiento se le conoce con el nombre de byte ó palabra.
En cada ciclo de lectura de datos que se generan en los sensores, ó escritura de datos hacia los actuadores, se gobiernan 8 diferentes sensores ó actuadores, por lo que cada elemento de entrada / salida tiene su imagen en un bit del byte que se hace llegar al microcontrolador.

Figura 3. 8 Palabra de datos de salida.
En el proceso de lectura de datos provenientes de los sensores, se reservan localidades de memoria temporal que corresponden con el bit y la palabra que a su vez es un conjunto de 8 bits (byte), esto es para tener identificado en todo momento el estado en que se encuentra el sensor 5 por ejemplo.
Con los espacios de memoria temporal reservados para los datos de entrada, se generan paquetes de información que corresponden al reflejo de lo que están midiendo los sensores. Estos paquetes de datos cuando el microcontrolador da la indicación, son almacenados en la localidad de memoria que les corresponde, siendo esa información la que representa las últimas condiciones de las señales de entrada. Sí durante la ejecución del programa de control el microcontrolador requiere conocer las condiciones de entrada más recientes, de forma inmediata accede a la localidad de memoria que corresponde al estado de determinado sensor.





De acuerdo con lo escrito en el párrafo anterior, cada dato (ya sea de entrada o salida) que es representado por un bit y que a su vez esta agrupado en bloques de 8 bits (palabra o byte), debe estar registrado e identificado para que el microcontrolador “sepa” si esta siendo ocupado por un sensor o un actuador, ya que determinado bit de específico byte y por ende de determinada ubicación de memoria temporal tiene su reflejo hacia las terminales físicas de los módulos. Esto último quiere decir que en los conectores de la base se pueden conectar de manera indistinta tanto los módulos de entrada como los módulos de salida, por lo que el flujo de información puede ser hacia el microcontrolador de la unidad central de proceso ó, en dirección contraria.
Con respecto a la memoria donde se aloja el programa de usuario es del tipo EEPROM, en la cual no se borra la información a menos que el usuario lo haga. La forma en como se guarda la información del programa de usuario en esta memoria es absolutamente igual que como se almacena en cualquier otro sistema digital, solo son “ceros y unos” lógicos.
A medida que el usuario va ingresando las instrucciones del programa de control, automáticamente estas se van almacenando en localidades de memoria secuenciales, este proceso de almacenamiento secuencial de las instrucciones del programa es autocontrolado por el propio PLC, sin intervención y mucho menos arbitrio del usuario. La cantidad total de instrucciones en el programa de usuario puede variar de tamaño, todo depende del proceso a controlar, por ejemplo. Para controlar una maquina sencilla basta con una pequeña cantidad de instrucciones, pero para el control de un proceso o máquina complicada se requieren hasta varios miles de instrucciones.
Una vez terminada la tarea de la programación del PLC, esto es terminar de insertar el programa de control a la memoria de usuario, el operario del PLC manualmente se debe dar a la tarea de conmutar el PLC del modo de “programación” al modo de “ejecución”, lo que hace que la unidad central de proceso ejecute el programa de principio a fin repetidamente.
El lenguaje de programación del PLC cambia de acuerdo al fabricante del producto, y aunque se utilizan los mismos símbolos en distintos lenguajes de programación, la forma en como se crean y almacenan cambia de fabricante a fabricante, por lo tanto la manera de como se interpretan las instrucciones de un PLC a otro es diferente, todo depende de la marca.
En otro orden de ideas, a la unidad central de proceso de un PLC una vez que le fue cargado un programa de usuario, su operación de controlar un proceso de producción no debe detenerse a menos que un usuario autorizado así lo haga. Para que el PLC funcione de forma ininterrumpida se debe de contemplar el uso de energía de respaldo ya que esta bajo ninguna circunstancia tiene que faltarle a la unidad central de proceso.





