El program file o archivos del programa son la parte de la memoria del procesador que almacena el programa de lógica de escalera de usuario. El programa representa la mayor parte de la memoria total de un sistema de PLC dado. Contiene la lógica de escalera que controla el funcionamiento de la máquina. Esta lógica consta de instrucciones que se programan en un formato de lógica de escalera.
Data files almacenan la información necesaria para llevar a cabo el programa de usuario. Esto incluye información como el estado de los dispositivos de entrada y salida, valores de temporizador y contador, almacenamiento de datos, etc.
Data Files
La parte del archivo de datos (figura de abajo) de la memoria del procesador almacena el estado de entrada y salida, el estado del procesador, el estado de varios bits y datos numéricos. Se accede a toda esta información a través del programa de lógica de escalera. Estos archivos están organizados por el tipo de datos que contienen y pueden incluir:
• Output (file 0): Este archivo almacena el estado de los terminales de salida para el controlador
Input (file 1): este archivo almacena el estado de los terminales de entrada para el controlador.
• Status (file 2): Este archivo almacena información de operación del controlador y es útil para solucionar problemas de operación del controlador y el programa.
• Bit (file 3): Este archivo se utiliza para el almacenamiento de relays internos del programa.
• Timer (file 4): se utiliza para almacener los temporizadores, , sus valores acumulado y los valores preestablecidos y los bits de estado.
• Counter (file 5): Este archivo almacena el contador, sus valores acumulado y los valores preestablecidos y los bits de estado.
• Control (file 6): Este archivo almacena la longitud, la posición del puntero y el bit de estado para instrucciones específicas como registros de desplazamiento y secuenciadores.
• Integer (file 7): Este archivo se utiliza para almacenar valores de números enteros o información de bits.
• Float (file 8): El archivo flotante se usa para almacenar datos numéricos fraccionarios o valores numéricos mayores que 32,767.
|
Organización de la memoria en un PLC |
El formato de dirección de E / S para la familia de PLC SLC se muestra en la Figura de abajo . El formato consta de las siguientes tres partes:
Parte 1: I para entrada, y dos puntos para separar el tipo de módulo de la ranura.
O para salida y dos puntos para separar el tipo de módulo de la ranura.
Parte 2: el número de ranura o slot del módulo y una barra diagonal para separar la ranura del tornillo del terminal.
Parte 3: El número de terminal de tornillo.
SCAN DEL PROGRAMA
Cuando un PLC ejecuta un programa, debesaber, en tiempo real, cuándo estáncambiando los dispositivos externos quecontrolan un proceso. Durante cada ciclo, elprocesador lee todas las entradas, tomaestos valores y energiza o desenergiza lassalidas de acuerdo con el programa
Este proceso se conoce como ciclo de exploración del programa. La imagen de abajo ilustra un solo ciclo de operación del PLC que consiste en el escaneo de entrada, escaneo de programa, escaneo de salida y tareas de mantenimiento. Debido a que las entradas pueden cambiar en cualquier momento, repite constantemente este ciclo siempre que el PLC esté en modo RUN.
El tiempo que lleva completar un ciclo scan se llama tiempo de ciclo o de escaneo e indica qué tan rápido puede reaccionar el controlador a los cambios en las entradas.El tiempo requerido para realizar un solo escaneo puede variar de aproximadamente 1 a 20 ms. Si un PLC tiene que reaccionar a una señal de entrada que cambia de estado dos veces durante el tiempo de escaneo, es posible que el PLC nunca pueda detectar este cambio. Por ejemplo, si la CPU tarda 8 ms en escanear un programa, y un contacto de entrada se abre y cierra cada 4 ms, es posible que el programa no responda al estado de cambio del contacto.
TIPOS DE LENGUAJES DE PROGRAMACION
Fue la tercera parte del estándar IEC 61131, el que consideró estos lenguajes para la programación de los PLCs. Este estándar se ha designado como IEC 61131-3 aunque solía ser designado como IEC 1131, antes de que el sistema de numeración cambiase por la comisión internacional electrotécnica. De este modo se definieron los siguientes cinco lenguajes:
• Diagrama de Funciones Secuenciales (SFC) – un lenguaje de bloques de funciones secuenciales;
• Diagrama de Bloques de Funciones (FBD) – un lenguaje de diagramas de bloques secuenciales;
• Diagramas de Tipo Escalera (LАD) – un lenguaje de diagramas de relés (denominado de tipo escalera);
• Texto Estructurado (ST) – un lenguaje de alto nivel como el del tipo de texto estructurado (similar a C y, sobre todo a Pascal);
• Lista de instrucciones (IL o STL) – lenguaje de tipo ensamblador con uso de acumuladores.
En resumen, los lenguajes de programación para PLC son de dos tipos, visuales y escritos. Los visuales (SFC, FBD y LAD) admiten estructurar el programa por medio de símbolos gráficos, similares a los que se han venido utilizando para describir los sistemas de automatización, planos esquemáticos y diagramas de bloques. Sin embargo, los escritos (ST e IL o STL) son listados de sentencias que describen las funciones a ejecutar. Los programadores de PLC poseen formación en múltiples disciplinas y esto determina que exista diversidad de lenguajes. Los programadores de aplicaciones familiarizados con el área industrial prefieren lenguajes visuales, por su parte quienes tienen formación en electrónica e informática optan, inicialmente por los lenguajes escritos. A continuación se expondrán las características y funciones más básicas de este tipo de lenguajes así como un extracto representativo de cada uno de ellos.
PROGRAMACION EN ESCALERA VS PROGRAMACION EN LENGUAJE DE INSTRUCCIONES
El lenguaje de diagrama de escalera es el lenguaje de PLC más utilizado y está diseñado para imitar la lógica del relé o cableada. El diagrama de escalera es popular para aquellos que prefieren definir acciones de control en términos de contactos de relé y bobinas, y otras funciones como instrucciones de bloque. La Figura de abajo muestra una comparación de la programación del diagrama de escalera y la programación de lista de instrucciones. La Figura a) muestra el circuito de control cableado del relé original. La Figura b) muestra el diagrama de escalera lógica equivalente programado en un PLC. Tenga en cuenta cuán parecido se parece el programa de diagrama de escalera al circuito de relé cableado. El direccionamiento de entrada / salida es generalmente diferente para cada fabricante de PLC. La Figura c) muestra cómo se podría programar el circuito cableado original utilizando el lenguaje de programación de lista de instrucciones. Tenga en cuenta que la lista de instrucciones consta de una serie de instrucciones que se refieren a las funciones básicas de compuerta lógica AND, OR y NOT.
PROGRAMACION EN BLOQUE DE FUNCION
La programación en bloques utiliza instrucciones que se programan como bloques conectados entre si para realizar ciertas funciones. Los tipos típicos de bloques compuertas lógicas, temporizadores y contadores. Los diagramas de bloques son similares en diseño a los diagramas de bloques eléctricos / electrónicos utilizados para simplificar sistemas complejos. El concepto principal detrás de un diagrama de bloques funcional es el flujo de datos. Los bloques están unidos para completar un circuito que satisface un requisito de control. Los datos fluyen en una ruta desde las entradas, a través de bloques de funciones o instrucciones, y luego hasta las salidas.
El uso de bloques de funciones para la programación de controladores lógicos programables (PLC) está ganando una mayor aceptación. En lugar de la clásica representación de contactos y bobinas de diagrama de escalera o programación lógica de escalera de relé, los bloques de funciones presentan una imagen gráfica al programador con algoritmos subyacentes ya definidos. El programador simplemente completa la información necesaria dentro del bloque para completar esa fase del programa. La Figura de abajo muestra los equivalentes del diagrama de bloques de funciones a los contactos lógicos de escalera
La siguiente figura de abajo ilustra cómo el diagrama de escalera y la programación del diagrama de bloques funcional podrían usarse para producir la misma salida lógica. Para esta aplicación, el objetivo es encender la luz piloto de precaución PL1 siempre que tanto el interruptor del sensor 1 como el interruptor del sensor 2 estén cerrados. La lógica de escalera consiste en un solo peldaño a través de la alimentación. Este peldaño contiene las dos instrucciones del sensor de entrada programadas en serie con la instrucción de salida de luz piloto.
La solución de bloque de función consiste en un bloque lógico Booleano AND con dos etiquetas de referencia de entrada para los sensores y una etiqueta de referencia de salida única para la luz piloto. Tenga en cuenta que no hay rieles de alimentación en el diagrama de bloques de funciones.
DIAGRAMA DE FUNCIONES SECUENCIALES (SFC)
Este lenguaje de programación para los PLCs se trata de un método gráfico de modelado y descripción de sistemas de automatismos secuenciales, en los que el estado que adquiere el sistema ante el cambio de una entrada depende de los estados anteriores. Se trata de programas que están bien estructurados y cuyos elementos básicos son las etapas, las acciones y las transiciones. De este modo, una secuencia en SFC se compone de una serie de etapas representadas por cajas rectangulares y que se encuentran conectadas entre sí por líneas verticales. Así, cada etapa representa un estado particular del sistema y cada línea vertical a una transición. Estas transiciones están asociadas a una condición “verdadero/falso”, dando paso así a la desactivación de la etapa que la precede y activación de la posterior.
El lenguaje de programación de diagrama de función secuencial es similar a un diagrama de flujo de su proceso. La programación SFC está diseñada para acomodar la programación de procesos más complejos. Este tipo de programa se puede dividir en pasos con múltiples operaciones que ocurren en ramas paralelas.
Los elementos básicos de un programa de diagrama de funciones secuenciales son:
• Cuadro de estado: vienen a simbolizar una etapa o un momento en el proceso que se diferencia de los demás. El cuadro inicial, que representa la situación de reset, se representa con un cuadrado doble. A cada uno de estos cuadros se le asocia un número, además cada uno de los cuadros tendrá una o varias acciones asociadas.
Líneas de evolución: representan la unión entre actividades consecutivas, de modo que siempre se recorrerán de arriba hacia abajo, de una etapa a otra. En estas líneas de evolución pueden presentarse actividades secuenciales, divergencias o convergencias.
Transiciones en líneas de evolución: nos indicarán las condiciones lógicas que deben de darse en el entorno para poder hacer una transición de un cuadro de estado al siguiente.
Una etapa se activará cuando estando activa la etapa inmediatamente anterior a ella se cumplan las condiciones de transición que se reflejan en la línea de evolución que conecta una etapa con la siguiente.
En dicho momento se realizará la transición entre estas dos etapas, desactivándose la etapa anterior y activándose la nueva etapa.
Una acción se deberá ejecutar si la etapa a la que está asociada está activa. Una vez obtenida la secuencia del programa en Grafcet lo siguiente será la implementación en el lenguaje apropiado para el autómata programable, controlador o sistema escogido. La traducción es bastante sistemática y sencilla.
TEXTO ESTRUCTURADO (ST)
El texto estructurado es un lenguaje de texto de alto nivel utilizado principalmente para implementar procedimientos complejos que no se pueden expresar fácilmente con lenguajes gráficos.
El texto estructurado usa declaraciones para definir qué ejecutar. La siguiente Figura ilustra cómo la programación de texto estructurado y diagrama de escalera podría usarse para producir la misma salida lógica. Para esta aplicación, el objetivo es energizar SOL1 cuando exista cualquiera de las dos condiciones de circuito siguientes:
• Los interruptores del sensor 1 y del sensor 2 deben estar cerrados.
• Los interruptores del Sensor 3 y Sensor 4 deben estar cerrados y el interruptor del sensor 5 está debe estar abierto.