lunes, 2 de septiembre de 2013

Practica 2: Programación en AWL y KOP

Abstract

En esta práctica se trabajó nuevamente con un sistema de estados sencillo en el que se le aplicaron contadores y temporizadores manejando los lenguajes de programación AWL y FUP.

Objetivos

Al terminar esta práctica, el alumno:
   a)      Reforzará sus conocimientos sobre Controladores Lógicos Programables Modulares, en particular el S7-300, el software Administrador Simatic y sistemas electroneumáticos.
   b)    Aprenderá a utilizar los lenguajes de programación, Lista de Instrucciones (AWL) y Diagrama de Bloque en Función (FUP) en la programación de un PLC.
   c)     Hará uso de temporizadores y contadores en estos lenguajes para programar las secuencias requeridas.

Marco Teórico

Como se ha mencionado anteriormente, existen diversos lenguajes para programar los PLC. A continuación se mencionarán aspectos propios de  algunos lenguajes, como el Ladder, Bloque de funciones y Lista de instrucciones.

El lenguaje Diagrama en Escalera o Diagrama Ladder (KOP por sus siglas en alemán de Kontaktplan) es un lenguaje gráfico basado en el encendido y apagado de relevadores.  En este lenguaje, se reciben las señales de entrada que pueden ser tanto físicas como digitales y cuando se cumplen ciertas condiciones envían una señal de salida que puede ser una señal a un actuador, o bien, ser almacenada como una marca de memoria interna.

La simbología del lenguaje es bastante simple, teniendo 3 símbolos básicos:

-Contacto normalmente abierto: hasta que no reciba la señal de entrada que le corresponde, enviará un 0 lógico.
-Contacto normalmente cerrado: envía un 1 lógico hasta que recibe una señal que active el registro. Puede ser tomado como una salida lógica negada.
-Bobina o marca: cuando las condiciones  de los contactos se cumplen, la bobina envía un 1 lógico que puede ser tanto una señal a un actuador, o bien, se activa como una memoria virtual.
Este programa nos permite generar funciones lógicas dependiendo de cómo se coloquen los contactos. A continuación se ilustra tanto la función AND como la OR.
 Compuerta AND

Compuerta OR

El lenguaje bloque de funciones (FBS por sus siglas en alemán Funktionsbausteinspache) se basa en los diagramas de circuitería eléctrica en la cual se aplican componentes lógicos.

Al igual que la simbología de los componentes electrónicos lógicos, existen dos importantes símbolos para este tipo de programación:
-AND, envía un 1 lógico cuando las dos condiciones se cumplen.
-OR,  envía un 1 lógico cuando una de las dos condiciones se cumple.
 

En este tipo de programación hay un bloque importante llamado bloque de asignación. Sin él, la salida de los bloques AND, OR o de cualquier otro bloque utilizado no puede ser asignada a un actuador o a una memoria.
Es muy importante destacar que tanto en KOP como en FBS, sólo se permite que las salidas sean activadas sólo una vez en todo el programa, es decir, si bajo diversas condiciones se activa una misma salida, todas esas condiciones deberán estar en un mismo segmento y no repetir la salida en dos segmentos diferentes.

El programa en Lista de Instrucciones (AWL por las siglas en alemán de Anweisungliste) es un programa en texto bastante simple en el que se le indica al CPU línea a línea qué bit de memoria se lee, siendo precedido por una A si se va a usar con un operando lógico AND o con una O si se utilizará como un operando OR. Al final del segmento de instrucciones lógicas se asigna un signo = junto con el bit de salida que se va a activar ya sea para enviar una señal o para guardar una memoria.
Programar en lista de instrucciones es importante, ya que los compiladores de programas convierten cualquier programa en diagrama escalera o bloque de funciones a un programa en lista de instrucciones antes de guardarlo dentro del CPU del PLC en el que se utilizará.

Cabe mencionar que sólo se mencionó la configuración y aspectos básicos de los lenguajes mencionados. Además de las funciones indicadas, se pueden introducir contadores, temporizadores y comparadores entre otras funciones, dependiendo de lo que el programa requiera.

Desarrollo

1. Material a utilizar

   ·      PLC S7-300
   ·      2 Pistones de doble efecto
   ·      Interfaz I/O para banana-banana
   ·      Cables banana-banana
   ·      2 Válvulas electroneumáticas 5/2
   ·      Mangueras
   ·      4 Sensores Capacitivos
   ·      Fuente de 24 V
   ·      Computadora con Simatic Administrator


2.     Cableado e Instalación del Equipo
 

Imagen 1. Conectando pistones, sensores, cables, mangueras y válvulas.

3.      Programación en Lista de Instrucciones (AWL)

Este es un lenguaje escrito que consta de instrucciones compuestas por una operación, operando y a veces una marca de salto, con estos se busca generar una serie de comandos que se leen de forma continua línea por línea y que entreguen una salida deseada. Cada instrucción ocupa una línea de código y a cada segmento se le pueden introducir hasta 2000 líneas.

Secuencia 1

Como se observa en la gráfica se pueden observar los recorridos de los 2 pistones durante la secuencia que será de un número indefinido de ciclos, terminada al oprimir el botón de paro.



a)     Programa 1

Se utilizó el método Paso a Paso, donde los estados prendían marcas y estas a su vez energizaban las salidas hacia las válvulas. Para obtener un ciclo continuo se utilizó otra marca con autorretención en serie con el botón de paro, ya que se definió un paro de fin de ciclo.




Imagen 2. Programación circuito de autoretención en AWL.

A continuación se muestra el video de esta secuencia.


Secuencia 2

A la primera secuencia se le introducen dos pausas de 2 segundos cada una, la nueva secuencia se observa en la siguiente gráfica.
 

a)     Programa 1

Para los atrasos o “delays” se utilizaron 2 temporizadores Off-Delay en los diferentes estados donde fueran necesarios, en este caso después de las Marcas 2 y 4, respetando la programación de la secuencia previa.

Imagen 3.1
Programación circuito de autorretención en AWL con temporizadores.

Se presenta el video, a continuación, de la secuencia repetida.



b)    Programa 2

El segundo programa realiza 3 ciclos completos y después se para, si no es que se oprime el botón de paro primero. Para realizar esta acción se utilizaron contadores decrementales, los cuales otorgan un valor de H a la salida si el valor del contador es diferente de cero y L en el caso que sea cero. Se debe recordar que estos dispositivos no contabilizan números negativos. Se utilizó una marca que tomaba el estado lógico del contador.




Imagen 3.2
Programación circuito con temporizadores y contadores en FWL.

Se presenta el video donde se muestra al sistema operar con los contadores y temporizadores.



4.     Programa en Bloque  de Funciones (FUP).

Este lenguaje es de tipo gráfico y es bastante sencillo de programar ya que asemeja compuertas lógicas como AND, OR, etc. En cada segmento pueden ir las entradas y operadores lógicos necesarios para obtener la salida deseada. Una gran ventaja es que es muy fácil visualizar la lógica del programa a simple vista.

Secuencia




Se utilizó la secuencia anterior con 2 retardos y 3 ciclos completos, ahora programando en diagrama de bloques de función, donde de forma gráfica se fueron programando las diferentes marcas y salidas del PLC para que la secuencia funcionara. También fue necesario el uso de temporizadores y contadores.
    a)     Programa





Imagen 4.1
Segmentos 1 – 4 del programa.


Imagen 4.2
Segmentos 5 – 8 del programa.


Imagen 4.3
Segmentos 9 – 10 del programa.

Finalmente, se presenta al video en el que se muestra el sistema operar con el código FUP utilizado.



Conclusiones

Alejandro Castañeda Montero            A01163013

La práctica integró otros dos lenguajes de programación nuevos, la programación en AWL y en FUP, lo que considero muy importante, ya que saber programar en distintas formas es una ayuda en caso de presentarse alguna complicación en lo que respecta a la lógica de un programa.

En lo personal considero más sencillo programar en FUP ya que es un método gráfico muy fácil de utilizar porque con dibujos entiendo mejor, por otra parte el tiempo que nos  llevó programar la secuencia 2 en AWL fue casi el doble de los que nos tardamos en FUP.

Carlos Alberto Núñez Goya               A01162868

Esta práctica fue bastante útil e interesante ya que aprendimos a programar con dos lenguajes nuevos y completamente diferentes al diagrama escalera, lo cual nos permitirá en un futuro tener un mayor dominio sobre diferentes formas de resolver un problema o realizar una acción y podemos usar el lenguaje más conveniente según el caso.

Lista de instrucciones es quizá el lenguaje más difícil de visualizar pero la ventaja de utilizarlo es que utiliza mucho menos memoria y se pueden hacer programas más complejos o elaborados. Bloque de Funciones es un lenguaje muy amigable ya que estamos familiarizados con esta lógica, además que me gustan los cuadritos y hace que la programación se realice de forma muy eficiente.

Jorge Francisco Mejía Quiroz             A0163123

Con esta práctica se pudo reforzar la forma en la que se deben conectar los componentes del sistema para un correcto funcionamiento, así como practicar aún más la configuración del hardware del PLC.

Además de reforzar conocimiento, se aprendieron nuevos lenguajes como el FUP y el AWL con los que no había trabajado anteriormente y sirven para una mejor visualización y comprensión del programa y su lógica. Una correcta comprensión de AWL es importante, ya que aunque es menos visual la lógica FUP y KOP se traducen en AWL con el compilador antes de ser enviados al PLC.

Otro aspecto que se vio y reforzó con esta práctica fue el uso de contadores y temporizadores en los tres lenguajes mencionados. Con  esto, las aplicaciones que se le puede dar y las secuencias que pueden ser generadas pueden ser tan complejas como nuestro sistema lo permita.

Referencias

Dorantes González, Dante j. et al (2004) Automatización y Control, Prácticas de Laboratorio. Editorial McGraw-Hill, México D.F.


Martínez, A. (2007) “Suplemento # 8: El PLC. Diagramas de Escalera” Recuperado de http://logica-digital.blogspot.mx/2007/11/suplemento-8-el-plc-diagramas-de.html

SA (2010) “Siemens. Simatic. Function Block Diagram for S7-300 and S7-400 Programming”. Recuperado de https://www.automation.siemens.com/doconweb/pdf/SINUMERIK_SINAMICS_03_2013_E/S7_FUP.pdf?p=1


SA(ND) “Instruction list programming”. Recuperado de http://claymore.engineer.gvsu.edu/~jackh/books/plcs/chapters/plc_il.pdf



No hay comentarios:

Publicar un comentario