PLC CONTROLADOR LOGICO PROGRAMABLE
PLC Los Controladores Lógicos Programables o PLC (Programmable Logic Controller por sus siglas en inglés) son dispositivos ampliamente usados en la Automatización Industrial. Su historia se remonta a finales de la década de 1960, cuando la industria buscó en las nuevas tecnologías electrónicas una solución más eficiente para reemplazar los sistemas de control basados en circuitos eléctricos con relevadores, interruptores y otros componentes comúnmente utilizados para el control de los sistemas de lógica combinacional. Hoy en día, los PLC no sólo controlan la lógica de funcionamiento de máquinas, plantas y procesos industriales, sino que también pueden realizar operaciones aritméticas, manejar señales analógicas para realizar estrategias de control, tales como controladores proporcional integral derivativo (PID). Los PLC actuales pueden comunicarse con otros controladores y computadoras en redes de área local, y son una parte fundamental de los modernos sistemas de control distribuido.
Lenguajes Existen varios lenguajes de programación, tradicionalmente los más utilizados son el diagrama de escalera (Ladder), lista de instrucciones y programación por estados, aunque se han incorporado lenguajes más intuitivos que permiten implementar algoritmos complejos mediante simples diagramas de flujo más fáciles de interpretar. En la programación se pueden incluir diferentes tipos de operandos, desde los más simples como lógica booleana, contadores, temporizadores, contactos, bobinas y operadores matemáticos, hasta operaciones más complejas como manejo de tablas, apuntadores y algoritmos PID.
Lenguaje de escalera. A este lenguaje también se le conoce como lenguaje de contactos, es un lenguaje grafico muy popular debido a que esta basado en los esquemas eléctricos de control clásicos.
Elementos de programación Para programar un PLC en escalera, además de estar familiarizado con las reglas de los circuitos de conmutación, es necesario conocer a todos y cada uno de los elementos que conforman este lenguaje.
Elementos Básicos del lenguaje escalera. CONTACTO Se activa cuando hay un uno lógico en el elemento que representa, esto es, una entrada (para captar información del proceso a controlar), una variable interna o un bit de sistema.
Elementos Básicos del lenguaje escalera. CONTACTO negado Su función es similar al contacto anterior, pero en este caso se activa cuando hay un cero lógico, cosa que deberá de tenerse muy en cuenta a la hora de su utilización.
Elementos Básicos del lenguaje escalera. BOBINA Se activa cuando la combinación que hay a su entrada (izquierda) arroja un uno lógico. Su activación equivale a decir que tiene un uno lógico. Suele representar elementos de salida, aunque a veces puede hacer el papel de variable interna.
Elementos Básicos del lenguaje escalera. BOBINA NEGADA. Se activa cuando la combinación que hay a su entrada (izquierda) da un cero lógico. Su activación equivale a decir que tiene un cero lógico. Su comportamiento es complementario al de la bobina anterior.
Elementos Básicos del lenguaje escalera. BOBINA SET Una vez activa (puesta a 1) no se puede desactivar (puesta a 0) si no es por su correspondiente bobina en RESET. Sirve para memorizar bits y usada junto con la bobina RESET dan una enorme potencia en la programación.
Elementos Básicos del lenguaje escalera. BOBINA RESET Permite desactivar una bobina SET previamente activada
Elementos Básicos del lenguaje escalera. BOBINA JUMP Permite saltarse instrucciones del programa e ir directamente a la etiqueta que se desee. Sirve para realizar subprogramas.
PROGRAMACION En esta sección se trataran de manera general, los conceptos básicos de la programación en escalera. Una vez que se conocen los elementos básicos que conforman el lenguaje escalera es importante mencionar la estructura de un programa así como el orden de ejecución.
Programación Esta figura representa un programa en escalera típico, esto es los contactos del lado izquierdo y las bobinas del lado derecho. El orden de ejecución generalmente es de arriba hacia abajo y de izquierda a derecha, esto es primero los contactos y despues las bobinas.
Programación Aunque en los sistemas industriales la programación se centra en procesos secuenciales, es necesario conocer la lógica combinacionál ya que en ocasiones cuando se este desarrollando un programa secuencial se necesitara la lógica combinacionál. Una vez conocida la función lógica, de un problema combinacionál el paso a lenguaje escalera es sencillo.
Programación Algebra de Boole aplicada al sistema de conmutación. Sumas Las sumas serán equivalentes a contactos en paralelo Multiplicaciones Las multiplicaciones serán contactos en serie Las negaciones Las negaciones se representan con contatos normalmente cerrado.
Programación. Este programa en escalera representa la función booleana M=A*(/B+C)*/D.
Estructura de un programa en escalera Un diagrama en escalera esta formado de peldaños. Cada peldaño tiene un mínimo de un contacto, y un máximo de 12 contactos en serie. Cada peldaño contiene además al menos una y a lo mas seis secciones de peldaños. Se pueden insertar en paralelo un máximo de 9 ramas dando como resultado un máximo de 10 contactos en paralelo. Las ramas paralelas pueden ser posicionadas en cualquier lugar, exceptuando los sitios en donde se enciman. Las bobinas también pueden ser configuradas en paralelo, pero todas tendrán una entrada común. Una rama puede además solo enviar solo una señal lógica asia todos las bobinas.
De que esta conformado un diagrama en escalera? En su forma mas simple un diagrama en escalera es un circuito que se lee de izquierda a derecha. Términos usados. Ramas. Rutas paralelas. Secciones de peldaño. Contactos. Cajas. Bobinas. Bobinas en paralelo.
De que esta conformado un diagrama en escalera? Una caja puede ser usada para remplazar un contacto o una bobina. Las cajas son usadas como funciones que son muy difíciles de representar diagramas de circuitos en escalera, por ejemplo una operación aritmética, como la suma de dos números. Un máximo de 5 cajas puede ser usado en un pedaño.
De que esta conformado un diagrama en escalera? Las ramas en paralelo pueden ser usadas en cualquier punto del peldaño, tan separadas como para que sus conexiones no se crucen. Las ramas paralelas son conocidas como bobinas en paralelo.
De que esta conformado un diagrama en escalera?
Estructura de un diagrama es escalera. Condicional y parte ejecutable. Al igual que la algebra booleana o las operaciones lógicas, los peldaños son divididos en parte condicional y una parte ejecutable. La parte condicional para una determinada acción; la parte ejecutable contiene la acción que debe de ser ejecutada cuado cierta condición es valida.
Como es procesado un peldaño Los peldaños son numerados, este numerado es automático. Antes de descargar el programa en escalera dentro del controlador el programa es traducido en código maquina usado por el controlador. Los peldaños son traducidos en el orden de su numero de secuencia.
Como es procesado un peldaño El programa es ejecutado estrictamente en secuencia. Cuando se enciende un PLC o cuando se cambia el interruptor RUN/STOP a la posición RUN cada controlador empieza en la primer línea del programa. Así que cuando se esta programando siempre se debe saber que operación debe de ser ejecutada primero.
Programación por sentencia. Ambiente de programación FST (Festo Software Tools). FST es un programa que puede operar en una PC con PC/Ms-Dos. Sentencia. Escalera. Basic.
Resumen de Comandos AND Desempeña una operación lógica que combina dos o mas operandos simples o Multibit. BID Convierte el contenido del Acumulador Multibit binario al formato BCD. CFM n Empieza su ejecución o inicialización de un modulo de función.
Resumen de Comandos CMP n Empieza su ejecución de un modulo de programa. CPL Produce dos o mas complementos de el contenido del Acumulador Multibit. DEC Decrementa un Operando o Acumulador Multibit.
Resumen de Comandos DEB Convierte el contenido del Acumulador del BCD al formato binario. EXOR IF Para combinar dos o mas operandos siples o multibit en la parte condicional o efectora de una línea utilizando la operación Exclusive OR Palabra clave que marca el inicio de un enunciado condicional
Resumen de Comandos INC Incrementa un Operando o Acumulador Multibit. INV Este comando complementa (INVierte) el contenido del Acumulador Multibit utilizando el método de complementación. JMP TO (Step label) Causa que el programa continúe su ejecución a un Step en específico.
Resumen de Comandos LOAD Carga operandos específicos. NOP OR Instrucción especial la cual siempre es verdadera en la parte Condicional del enunciado. En la parte de ejecución es equivalente a no hagas nada. Combinar uno o más operandos en la parte condicional usando la operación lógica OR.
Resumen de Comandos OTHRW Ejecuta el código inmediato cuando ninguna condición en la parte condicional es valida. PSE Marcar el final de un programa (Program Section End) y causar un cambio. Este comando no es necesario en todos los modelos de los controladores. RESET El comando de RESET (Reinicio) se utiliza para cambiar el estado de los operandos de bit sencillo a un 0 lógico (cero).
Resumen de Comandos ROL La instrucción de rotar a la izquierda, conecta el MBA hacia la izquierda en una posición. ROR La instrucción de rotar hacia a la derecha, conecta el MBA hacia la derecha en una posición. SET Este comando se utiliza para cambiar el estado de operandos de bit sencillo a un lógico (uno).
Resumen de Comandos SHIFT Desviar. Este comando ejecuta el intercambio entre el SBA, y un operando de bit sencillo. SHL El comando de SHift Left mueve los contenidos del MBA a la izquierda por una posición. SHR El comando de SHift Right mueve los contenidos del MBA a la derecha por una posición.
Resumen de Comandos SWAP Nos da los promedios de intercambios en el orden de altos bites (8-15) y los bits de bajo orden (0-7) en el MBA.El MBA deberá ser cargado en el MBO apropiado o el valor antes de ejecutar el comando de SWAP. TO Usar con la instrucción de LOAD para especificar el destino del operando. THEN Palabra clave que marca el comienzo de la parte ejecutora de un enunciado
Resumen de Comandos WITH Utilizado para pasar con algunos parámetros de las instrucciones CFM/CPM. También es utilizado para especificar el tiempo en algunos modelos de PLC.
Operadores Las direcciones de los operadores absolutos siguen la siguiente estructura. F4.2 Operador Número de palabra Número de Bit Nota: Los operadores nunca tienen espacios entre caracteres
Operadores Operador Designado Sintaxis Aplicación Ejemplo Salida O On.n (On) Condición Salida O On.n (On) Ejecución Entrada I In.n (In) Condición Bandera F Fn.n.n (Fn.n) Condición Bandera F Fn.n.n (Fn.n) Ejecución
Operadores Operador Designado Sintaxis Aplicación Ejemplo Timer T Tn Condición Timer T Tn Ejecución Contador C Cn Condición Contador C Cn Ejecución
Ejemplos de Programación en Ejemplo 1. escalera Combinación lógica AND Realizar O0.0 = i0.0 AND i0.1 La salida O0.0 debe activarse si los dos interruptores conectados a las entradas I0.0 y I0.1 están cerrados.
Ejemplos de Programación en Ejemplo 2. escalera Combinación lógica OR Realizar O0 = i0 OR i1 La salida O0.0 debe activarse si cualquiera de los dos interruptores conectados a las entradas I0 o I1 están cerrados.
Ejemplos de Programación en escalera Ejemplo 3. Combinación lógica AND de OR Realizar O7 = (I0 OR I1) AND (I2 OR I3)
Ejemplos de Programación en escalera Ejemplo 4. Combinación lógica OR de AND Realizar O7 = (I0 AND I1) OR (I2 AND I3).
Ejemplos de Programación en escalera Ejemplo 5. Combinación lógica XOR Realizar O7 = I0 XOR I1
Ejemplos de Programación en Ejemplo 6. Auto retención escalera Un pulsador conectado a la entrada I0 debe activar la salida O7; un segundo pulsador conectado a la entrada I1 debe desactivarla
Ejemplos de Programación en Ejemplo 7. SET y RESET escalera Un pulsador conectado a la entrada I0 debe activar la salida O7; un segundo pulsador, conectado a la entrada I1, debe desactivarla
Ejemplos de Programación en Ejemplo 8. Activación por flacos escalera Activar las salidas O6 y O7, respectivamente con los flancos ascendente y descendente de la entrada I0.