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.
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.
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.
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