MONOGRAFICO: Lenguajes de programación |
Monográficos - Monográficos |
Paloma Prieto-k idatzia |
Astelehena, 2007(e)ko urria(r)en 08-(e)an 10:02etan |
JPAGE_CURRENT_OF_TOTAL There are no translations available. Descubre en este monográfico todo sobre el PLC, ya que ha supuesto un salto importante en el concepto de control de procesos productivos y ha permitido un desarrollo industrial impensable hasta su introducción...
LENGUAJES DE PROGRAMACIÓN ORIENTADOS A PLC 1. Lenguajes de programaciónLos lenguajes de programación ofrecen un conjunto de instrucciones con una determinada sintaxis para ejecutar una función. Existen lenguajes de nivel bajo, intermedio y superior dependiendo del grado de comunicación que se tiene con la unidad de control de procesos (CPU) y el grado de complejidad de las instrucciones. Los lenguajes de programación también se pueden clasificar entre si son lenguajes estructurados o no estructurados, lo que se refiere a la forma en que se escriben y agrupan las instrucciones. Los lenguajes de programación deben ser de fácil entendimiento, de manera que permitan su modificación posterior, si es que existen nuevos requerimientos. 1.1 Lenguajes de bajo nivelSon los lenguajes que operan con instrucciones que controlan cada bit de la CPU. Ejemplo de ello son los lenguajes assembler y de máquina. No obstante, están muy limitados: Por ejemplo, con estos lenguajes sólo se pueden sumar números de 8 ó 16 bits. Para realizar una suma mas compleja, de números de más bits, es necesario descomponer el número en números sencillos, sumarlos uno por uno guardando el arrastre de cada suma básica, para sumarlo con el siguiente número más significativo y así sucesivamente. Ejemplo:
1.2 Lenguajes de nivel intermedioCon estos lenguajes de programación se dispone de un conjunto de instrucciones que ya pueden comunicarse, tanto a nivel de bit con el microprocesador, como ejecutar funciones de mayor grado de complejidad. En estos lenguajes de nivel intermedio se incorporan las funciones aritméticas, algunas funciones matemáticas (trigonométricas, raíz cuadrada, logaritmos, etc.) y funciones de manipulación de archivos en dispositivos de almacenamiento externo. Ejemplos de lenguajes de nivel medio: C, FORTH. Ejemplo:
1.3 Lenguajes de nivel superiorCon los lenguajes de nivel superior se consigue realizar con tan solo una instrucción una operación, que con los lenguajes de niveles inferiores sólo se podrían realizar con el auxilio de un conjunto de múltiples instrucciones. Así por ejemplo, con una sola instrucción, un lenguaje de nivel superior orientado al empleo de bases de datos, puede ordenar alfabéticamente una lista de nombres. Ejemplos de lenguajes de nivel superior: PASCAL, FORTRAN, BASIC, dBASE, COBOL, SQL. Ejemplo:
1.4 Lenguajes estructurados y no estructuradosEn la programación estructurada, a diferencia de la no estructurada, no se puede bifurcar el programa. Es decir, sólo puedes ejecutar el programa por secciones. Para realizar una bifurcación, tendrás que recurrir a instrucciones condicionales que ejecutarán una sección del programa sólo si se cumple una determinada condición. Aquí radica la diferencia fundamental entre ambas formas de programación. El lenguaje no estructurado permite la bifurcación desde y hacia cualquier línea del programa. Ejemplos de lenguajes no estructurados: BASIC, FORTRAN, Assembler. Ejemplos de lenguajes estructurados: C, PASCAL, dBASE. Ejemplo: 2. Lenguajes de programación orientados a PLCEl lenguaje de programación de un PLC permite la creación del programa que controlará su CPU. Mediante este lenguaje el programador podrá comunicarse con el PLC y así confiarle un programa para controlar las actividades que debe realizar el autómata. Dependiendo del lenguaje de programación empleado, se podrá realizar un programa mas o menos complejo. Junto con el lenguaje de programación, todos los fabricantes de PLC suministran un software de entorno para que el usuario pueda escribir sus programas de manera confortable. Este software es normalmente gráfico y funciona en ordenadores personales con sistemas operativos habituales. Los sistemas de programación mas habituales para programar los PLC son:
2.1 Programación con diagrama de escaleraEl diagrama de escalera es uno de los más utilizados en la programación de PLC. Se desarrolla a partir de los sistemas antiguos basados en relés. Que se continúe utilizando se debe principalmente a dos razones:
Esta forma de programación se ha llamado de lógica de escalera, porque en el diseño gráfico del diagrama se emplean una especie de "rieles" y "peldaños", como en el ejemplo de la imagen de la página anterior, que muestra el esquema del arranque de un motor. 2.1.1 Visión somera de la lógica de escaleraLa lógica de escalera es la forma convencional de describir paneles eléctricos y aparatos de control lógico. El estado de cada dispositivo de salida se puede determinar solo examinando el elemento precedente en el rango lógico. Todas las salidas, relojes y contadores se controlan por la lógica que le precede en el rango lógico. Una salida está activada (ON) cuando el elemento anterior presenta un estado de contacto activado como salida. Ejemplos de ello son: Un motor en movimiento, un piloto iluminado o un solenoide activado. Para que una salida reciba un estado activado (ON), la serie de elementos contacto activado tiene que enlazar con la salida al eje lógico izquierdo. Tenemos un estado contacto activado cuando un contacto normalmente abierto (NO) se cierra o bien un contacto que normalmente está cerrado (NC) se desactiva o abre. Un ejemplo es la apertura normal de un interruptor que ha sido activado para enviar energía a una salida, como por ejemplo una lámpara. En el diagrama de escalera este tipo de elemento se representa con un contacto normalmente abierto (NO). Utilizando la lógica de escalera puedes escoger toda una serie de posibilidades para las salidas, que pueden activarse o modificarse usando las estructuras AND y OR. Puedes observar estas posibilidades en el ejemplo que se muestra en la página siguiente: RANGO 1 Este es un ejemplo de un contacto NO (IN-1) conectado directamente a la salida (OUT-1). OUT-1 está activado solo cuando IN-1 está activado. Si IN-1 fuera un interruptor y OUT-1 una lámpara, la lámpara funcionaría con la operación del interruptor. RANGO 2 Éste muestra un circuito un poco mas complejo con dos entradas. IN-2 e IN-3 están colgados del eje izquierdo y conectados a OUT-2. OUT-2 está activado si y solo si IN-2 e IN-3 están activados. Este tipo de circuitos se conoce como de lógica AND. RANGO 3 Muestra la lógica OR. OUT-3 está activado solo cuando IN-4 o IN-5 están activados. RANGO 4 Muestra un circuito compuesto por la lógica AND y la lógica OR en el mismo rango. OUT-4 estará activado si y solo si una de las siguientes condiciones se cumple: IN-6 o IN-7 tienen que estar activados y al mismo tiempo IN-8 también tiene que estar activado. Si no se cumple alguna de estas condiciones, la salida no se activará. RANGO 5 El siguiente circuito es el contacto cerrado normalmente. Recuerda que el control no conoce ni sabe cuando consideras que tu entrada es una apertura normal (NO) o un cierre normal (NC). El control solo examina la línea de entrada para determinar está activado o desactivado, con independencia de si es su estado normal. Un contacto normalmente cerrado solo representa la condición opuesta a la línea de entrada, es decir, que estará activado, cuando la línea de entrada no lo está. 2.1.2 Tipos de instrucciones en la lógica de escaleraEn la lógica de escalera existen dos tipos de instrucciones:
Las instrucciones básicas obedecen al origen de la lógica: Los relés. Así contemplan los propios relés, latches , temporizadores, contadores, manipulación de registros y puntos de entrada y salida, conversiones y funciones matemáticas. Las instrucciones expandidas contemplan la realidad de la presencia de microprocesadores en los PLC y ya incluyen funciones tales como movimiento de datos, movimiento de tablas, administradores de listas, aritmética con signo y doble precisión, cálculos matriciales y ejecución de subrutinas. 2.2 Programación con bloques funcionalesHoy en día, para programar PLC, como también otros equipos, se usa una interface gráfica de bloques funcionales. Este tipo de programación ha sido diseñado para describir, programar y documentar la secuencia del proceso de control, todo en sencillos pasos. En Europa, se utiliza el lenguaje de programación llamado GRAFCET (creado en FRANCIA, Gráfico de Orden Etapa Transición). Es un lenguaje extraordinariamente sencillo y fácil de entender por personas sin demasiados conocimientos de automatismos eléctricos. Está especialmente diseñado para resolver problemas de automatismos secuenciales. En la lógica secuencial, la programación con bloques funcionales es muy superior a otras formas de programación, mientras que los diagramas escalera y booleanos son mejores en lógica combinacional. Dado que hoy en día el control de procesos se programa principalmente con lógica secuencial, la programación con bloques funcionales se convierte en el estándar para programar PLC. Este lenguaje incluye un conjunto de símbolos y convenciones tales como pasos, transiciones, conectividades (también llamados enlaces) y condiciones. 2.2.1 PasosLos pasos son una serie de símbolos secuenciales individuales, que se representan por cuadrados numerados, cuadrados que pueden contener nombres que describen la función del paso. 2.2.2 TransicionesLas transiciones son los elementos del diagrama que describen el movimiento de un paso a otro. Su representación es una línea horizontal corta. 2.2.3 EnlacesLos enlaces muestran el flujo del control, el que va desde arriba hacia abajo, salvo que se indique lo contrario. 2.2.4 CondicionesLas condiciones están asociadas a las transiciones y deben ser escritas a la derecha. Describen el entorno que se debe cumplir en un momento dado. El ejemplo que se muestra en la figura anterior presenta el trabajo de una máquina de matricería. El sistema carga la pieza (load), la sujeta (clamp), la perfora (drill) y finalmente la vuelve a sujetar y cargar para continuar con su proceso industrial. Cada cuadrado muestra los comandos que describen la entrada y salida discreta o las operaciones aritméticas que se han programado. Este tipo de programación facilita un vínculo entre el programador y el diseñador del proceso. Además es una gran herramienta para:
|