Thursday, 18 April 2024
MONOGRAFICO: Lenguajes de programación PDF Print E-mail
Monográficos - Monográficos
Written by Paloma Prieto   
Monday, 08 October 2007 10:02
Article Index
MONOGRAFICO: Lenguajes de programación
Ejemplo práctico del uso de un sistema controlado por PLC
Principios básicos de PLC
Las unidades funcionales y la administración de entradas-salidas
All Pages
There are no translations available.

PLC

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ón

Los 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 nivel

Son 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:

Suma 2+3 en Assembler de Z80

LD A,03H Carga 3 al acumulador A (A=3)

ADD A,02H Suma 2 al acumulador A (A=5)

1.2 Lenguajes de nivel intermedio

Con 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:

Cálculo de 20! en C:

s=1;

for( i=2;i<=20;i++)

s=s*i;

1.3 Lenguajes de nivel superior

Con 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:

Ordenamiento de un directorio telefónico en dBASE

use telefono

index on nombre to telenom

1.4 Lenguajes estructurados y no estructurados

En 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 PLC

El 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:

  • Programación con diagrama de escalera
  • Programación con bloques funcionales
  • Programación con lógica boolena

2.1 Programación con diagrama de escalera

El 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:

  • Los técnicos encargados en el mantenimiento de los PLC están acostumbrados este lenguaje.
  • Aunque los lenguajes de alto nivel se han desarrollado mucho, han sido pocos los que han podido cubrir de modo satisfactorio todos los requerimientos de control en tiempo real que incluyan la representación de los estados de los puntos de entrada y salida.

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 escalera

La 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 escalera

En la lógica de escalera existen dos tipos de instrucciones:

  • Instrucciones básicas
  • Instrucciones expandidas

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 funcionales

Hoy 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       Pasos

Los 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       Transiciones

Las 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       Enlaces

Los enlaces muestran el flujo del control, el que va desde arriba hacia abajo, salvo que se indique lo contrario.

2.2.4       Condiciones

Las 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:

  • describir esquemáticamente el proceso.
  • localizar fallas rápidamente.
  • integrar fácilmente el sistema de control y el usuario.


 

Revista INTEFP

Marcadores Sociales

Facebook MySpace Twitter Delicious Google Bookmarks