Anda di halaman 1dari 7

UNIVERSIDAD MILITAR NUEVA GRANADA

SUBRUTINAS EN EL PLC S7-200


Daniela del Pilar Usctegui Bernal, u1801534@unimilitar.edu.co Germn Daro Buitrago Salazar, u1801463@unimilitar.edu.co Laboratorio No. 5

ResumenA subroutine or subroutine (also called procedure, function, or routine), as a general concept, is presented as a sub-algorithm that is part of the main algorithm, which solves a specic task. In this report we will see in a practical manner as subroutines used in the ladder language for programming a PLC 200. Index TermsCounters, Sequencing, PLC, Automation, Subroutine, Enable.

I.

OBJETIVOS
Figura 1. Funcionamiento Bsico Subrutinas. Imagen obtenida desde < Pgina de electrnica de Carlos Daz - http://electronica.webcindario.com/tutoriales/imagenes/subrutina.gif>

I-A.

Objetivo general

Realizar la programacin un proceso secuencial que se utiliza para fabricar trofeos, implementando subrutinas en el PLC Siemens S7 200 .

Durante el programa principal se llama varias veces a la subrutina SUBR (el nombre es lo de menos) con la instruccin CALL. Cuando el PLC ejecuta una instruccin CALL se guarda en memoria la direccin de cdigo de programa a la que tiene que retornar de tal forma que cuando se encuentra con la instruccin RETURN vuelve al programa principal donde lo dej. Una subrutina no solo puede ser llamada desde el programa principal, tambin puede hacerse desde otra subrutina (una subrutina que llama a otra subrutina) o desde una interrupcin (enseguida las veremos).[1] III. MARCO TERICO

I-B.

Objetivos especcos Terminar con la etapa de Programacin Bsica de PLCts. Relacionarse con los conceptos de subrutinas y su implementacin. Aanzar los conocimiento adquiridos anteriormente, como lo son el uso de marcas y contadores. Entender como se maneja en el lenguaje Ladder el uso del if y el else .

Las subrutinas facilitan la estructuracin del programa. Cuando el programa principal llama a una subrutina para que sta se ejecute, la subrutina procesa su programa hasta el nal. El sistema retorna luego el control al segmento del programa principal desde donde se llam a la subrutina. Las subrutinas sirven para estructurar o dividir el programa en bloques ms pequeos y, por tanto, ms fciles de gestionar. Los bloques ms pequeos facilitan la comprobacin y la eliminacin de errores tanto en las subrutinas como en el programa entero. Con las subrutinas tambin la CPU se puede utilizar ms ecientemente, llamando al bloque slo cuando se necesite, y no ejecutar todos los bloques en todos los ciclos. La operacin Llamar subrutina transere el control a la subrutina, se puede utilizar con o sin parmetros.

II.

INTRODUCCIN

NA subrutina o subprograma es una parte de programa que hace algo concreto y se repite a menudo, para ahorrar memoria y esfuerzo y para hacer el programa ms comprensible se agrupa en forma de subrutina. Una subrutina se debe ejecutar siempre llamndola con la instruccin CALL y al nal de dicha subrutina debe haber siempre un RETURN. El esquema muestra como funcionan las subrutinas:

UNIVERSIDAD MILITAR NUEVA GRANADA

(situar una llamada a subrutina dentro de otra) hasta 8 subrutinas. Las subrutinas no se pueden anidar en 1 subrutina de interrupcin. La recursin (la subrutina se llama a s misma) est permitida de manera indirecta, es decir, una subrutina no se puede llamar a s misma, ha de hacer la recusin por medio de otra subrutina, como muestra el cuadro.

Figura 2. Ejemplo Subrutina PLC 200. Imagen obtenida desde < http://www.isa.uniovi.es/~vsuarez/ii/CursoOnline/12asubrutinas.htm>

En cada llamada a subrutina se pueden utilizar 16 parmetros de entrada/salida como mximo. Los valores de los parmetros se asignan de la siguiente forma a la memoria local en la subrutina: Los valores se asignan a la memoria local en el orden indicado por la operacin Llamar subrutina, comenzando dichos parmetros en L0. De uno a ocho valores binarios consecutivos se asignan a un slo byte comenzando en Lx.0 hasta Lx.7. Los valores de byte, palabra y doble palabra se asignan a la memoria local en bytes (LBx, LWx, LDx). En la operacin "Llamar subrutina" con parmetros, stos deben concordar exactamente con las variables denidas en la tabla de variables locales de la subrutina. Los parmetros se deben organizar de la siguiente forma: Los parmetros de entrada. Los parmetros de entrada/salida. Los parmetros de salida. La operacin Retorno condicionado desde la subrutina, nos permite nalizar la subrutina en funcin de la combinacin lgica precedente.
Figura 4. Ejemplo de Ejemplo de Recurrencia en el PLC 200. Imagen obtenida desde < http://www.isa.uniovi.es/~vsuarez/ii/CursoOnline/12asubrutinas.htm>

Aunque la recursin est permitida, hay que utilizarla con mucha precaucin. IV. DESARROLLO DE LA PRCTICA

La idea es realizar el programa para que la planta saque 3 cuadros, 4 cilndros del almacn 1 y 2 cilndros del almacn 2. Si no hay cuadros, debe seguir a preguntar si hay cilindros en el almacn 1 y si no hay, que siga a preguntar si hay cilndros en el almacn 2.

Figura 3. Ejemplo de Subrutina con Retorno Condicional en el PLC 200. Imagen obtenida desde < http://www.isa.uniovi.es/~vsuarez/ii/CursoOnline/12asubrutinas.htm>

Un programa puede contar con 64 subrutinas como mximo. En el programa principal se pueden anidar

Figura 5. Proceso de Fabricacin de Trofeos

UNIVERSIDAD MILITAR NUEVA GRANADA

Figura 6. Diagrama de Flujo proceso de fabricacin deseado. Imagen obtenida desde Microsoft Word c

IV-A.

PROGRAMA PRINCIPAL

UNIVERSIDAD MILITAR NUEVA GRANADA

Figura 7. Programa Principal en lengaje Ladder para el PLC 200. Imagen obtenida desde Step7 Micro/WIN c

IV-B. RUTINA MANIPULADOR PEQUEO O MANIPULADOR 1

Figura 8. Programa Manipulador 1 en lengaje Ladder para el PLC 200. Imagen obtenida desde Step7 Micro/WIN c

IV-C. RUTINA MANIPULADOR GRANDE O MANIPULADOR 2

UNIVERSIDAD MILITAR NUEVA GRANADA

IV-E.

RUTINA PARA SACAR 1 CILNDRO ALMACN 1

Figura 9. Programa Manipulador 2 en lengaje Ladder para el PLC 200. Imagen obtenida desde Step7 Micro/WIN c

IV-D.

RUTINA PARA SACAR 1 CUADRO

Figura 11. Programa para Sacar 1 Clindro del Almacn 1 en lengaje Ladder para el PLC 200. Imagen obtenida desde Step7 Micro/WIN c

Figura 10. Programa para Sacar 1 Cuadro en lengaje Ladder para el PLC 200. Imagen obtenida desde Step7 Micro/WIN c

UNIVERSIDAD MILITAR NUEVA GRANADA

IV-F.

RUTINA PARA SACAR 1 CILNDRO ALMACN 2

IV-G.

TABLAS DE RELACIN ENTRADAS Y SALIDAS

Cuadro I TABLA DE E NTRADAS ,


OBTENIDA DESDE

M ICROSOFT E XCEL c

Cuadro II TABLA DE S ALIDAS ,


OBTENIDA DESDE

M ICROSOFT E XCEL c

Cuadro III TABLA DE M ARCAS , OBTENIDA DESDE M ICROSOFT E XCEL c

V.

CONCLUSIONES

Con el desarrollo de esta prctica, se conrmaron las mltiples ventajas que tiene el uso de Subrutinas en la programacin de PLCts, algunas de estas son: Evitan la repeticin de cdigo, puesto que una subrutina puede ser invocada varias veces desde el mismo programa. Favorecen la reutilizacin de cdigo. Facilitan la lectura y comprensin de cdigo fuente al ocultar los detalles menos importantes, siempre y cuando los nombres de las subrutinas sean informativos de su funcin.

Figura 12. Programa para Sacar 1 Clindro del Almacn 2 en lengaje Ladder para el PLC 200. Imagen obtenida desde Step7 Micro/WIN c

UNIVERSIDAD MILITAR NUEVA GRANADA

Ayudan a corregir errores, puesto que un error en una subrutina slo se corrige una vez aunque esa subrutina sea llamada en diferentes puntos del programa principal. Facilitan la modularidad y estructuracin de los algoritmos. Facilitan la depuracin y mantenimiento de los programas. Reduccin de cdigo duplicado. Descomposicin de problemas complejos en simples piezas (lo que aumenta la mantenibilidad y extensibilidad). R EFERENCIAS
[1] Divisin de Ingeniera de Sistemas y Automtica. AUTMATAS PROGRAMABLES - SUBRUTINAS. Recuperado el Domingo 10 de Marzo del 2013. Disponible en: http://www.infoplc.net/les/descargas/siemens/infoplc_net_sub_interr.pdf [2] Universidad de Oviedo. Informtica Industrial. CURSO ONLINE DE PROGRAMACIN DE AUTMATAS BASADO EN SIMATIC S7-200 DE SIEMENS - Subrutinas. Recuperado el 10 de Marzo del 2013. Disponible en: http://www.isa.uniovi.es/~vsuarez/ii/CursoOnline/12asubrutinas.htm#

Anda mungkin juga menyukai