Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TECNOLOGICO DE
CUAUTLA
CONTROLADORES LOGICOS
19/02/2019
PROGRAMABLES AVANZADOS
INGENIERÍA MECATRÓNICA
Profesor: Samuel Portillo Contreras
Integrantes:
Rivera Rodríguez Daniel
Jiménez Ramírez Brandon Ariel
Martínez Alquezada Luis David
Maldonado Campos Julio Néstor
Salgado Yáñez Daniel Alejandro
ÍNDICE
INTRODUCCIÓN…………………………………………………………………….2
DESARROLLO……………………………………………………………………….8
CONCLUSION………………………………………………………………………..12
FIRMA DE LA PRACTICA…………………………………………………………..12
Página 1
TECNOLOGICO DE CUAUTLA
INTRODUCCIÓN
Subrutinas
Las subrutinas son secuencias de instrucciones que se invocan desde un programa para
ejecutar una tarea. Una vez completadas regresan el control al lugar de donde fueron
llamadas y pueden ser definidas por el programador o proporcionadas por el lenguaje de
programación. La diferencia principal entre una función y un procedimiento es que las
funciones regresan un valor como resultado de su ejecución mientras que los procedimientos
no lo hacen. Ambos se componen de un cuerpo donde se encuentran las instrucciones que
se ejecutarán y de una cabecera donde se especifica su nombre, sus parámetros y su tipo
de retorno (si se trata de una función). Su propósito principal es encapsular secciones de
código que se puede utilizar múltiples veces, reduciendo el tamaño de los programas,
mejorando su legibilidad y facilitando su mantenimiento. A la cabecera de las subrutinas, así
como a su cuerpo se les llama declaración mientras que la instrucción en el programa
principal usada para iniciar su ejecución recibe el nombre de innovación.
El tipo de datos del resultado es uno de los indicadores de los tipos de datos primitivos
soportados por el lenguaje de programación (entero, real, carácter, etc.), el nombre de la
subrutina es cualquier nombre válido según las reglas del lenguaje y la palabra regresar al
final de la subrutina sirve para especificar el dato que se debe regresar como resultado de la
función. El dato regresado debe ser del tipo especificado en el tipo de retorno de la función o
de lo contrario el compilador reportará un error.
Para poder realizar las tareas deseadas, las subrutinas deben recibir información del
programa principal. Esa información se transfiere usando parámetros. Estos consisten de
una lista de 0 o más variables declaradas en la cabecera, indicando el tipo de dato transferido
y un nombre para poder usarlo. Los elementos de la lista usualmente se separan con algún
tipo de indicador como la coma (,). Los parámetros se consideran variables locales porque
Página 2
TECNOLOGICO DE CUAUTLA
solo existen durante la ejecución del subprograma y solo el código en el cuerpo de este puede
hacer uso de ellos.
Las subrutinas se utilizan para estructurar o dividir el programa en bloques más pequeños.
Más fáciles de gestionar. Facilita las tareas de comprobación, eliminación de errores y
mantenimiento del programa. La CPU también se puede utilizar más eficientemente,
invocando el bloque sólo cuando se necesite, en vez de ejecutar todos los bloques en cada
ciclo, las subrutinas se pueden transportar si se hace referencia únicamente a sus
parámetros y a su memoria local, para que una subrutina se pueda transportar, se debe evitar
la utilización de variables/símbolos globales (direcciones absolutas en las áreas de memoria
I, Q, M, SM, AI, AQ, V, T, C, S, AC).Si la subrutina no tiene parámetros de llamada (IN, OUT
ó IN_OUT), o si utiliza únicamente variables locales en la memoria L, la subrutina se
puede exportar e importar de un proyecto diferente.
Rutinas de interrupción
Antes de poder llamar a una rutina de interrupción es preciso establecer un enlace entre el
evento de interrupción y la parte del programa que se desee ejecutar cuando se presente el
evento (RUTINA DE INTERRUPCIÓN). La operación Asociar interrupción (ATCH) sirve para
asignar el evento de interrupción (indicado por el número de evento) a una parte del
programa (indicada por el número de la rutina de interrupción). También es posible asociar
varios eventos de interrupción a una única rutina de interrupción. Por el contrario, no se
puede asociar un sólo evento a distintas rutinas.
Página 3
TECNOLOGICO DE CUAUTLA
Página 4
TECNOLOGICO DE CUAUTLA
Fin de condicionado
La operación fin de condicionado END finaliza el ciclo actual en función de la combinación
lógica precedente. Esta operación se puede utilizar en el programa principal, mas no en
subrutinas ni en rutinas de interrupción.
Stop
La operación stop finaliza la ejecución del programa haciendo que la CPU s7-200 cambie
de run a stop. Si la operación stop se ejecuta en la rutina de interrupción, esta se finaliza
inmediatamente ignorando las interrupciones pendientes. Las demás acciones en el ciclo
actual se completan, incluyendo la ejecución del programa principal. El cambio de run a stop
se produce al final del ciclo actual.
La operación saltar a meta (JMP) deriva la ejecución del programa a la meta indicada. La
operación definir meta (LBL) indica la dirección de la meta de salón. La operación saltar a
meta se puede utilizar en el programa principal, en la subrutina de interrupción,
correspondiente deben encontrarse siempre en el mismo segmento lógico (es decir, bien sea
en el programa principal, en la subrutina o bien en la rutina de interrupción).
Desde el programa principal no se puede saltar a una meta que se encuentra en la subrutina
de interrupción. Tampoco es posible saltar desde una subrutina o una rutina de interrupción
a una meta que se encuentre fuera de ella. La operación saltar a meta puede utilizar en un
segmento SCR, pero la correspondiente operación definir meta debe encontrarse en ese
mismo segmento SCR.
Página 5
TECNOLOGICO DE CUAUTLA
Una operación JMP dentro del mismo segmento puede ser corta o cercana (o de manera
técnica, lejana, si el destino es un procedimiento con el atributo FAR). En su primer paso por
un programa fuente, el ensamblador genera la longitud de cada instrucción. Sin embargo,
una instrucción JMP puede ser de dos o tres bytes de longitud. Una operación JMP a una
etiqueta dentro de -128 a + 127 bytes es un salto corto.
Operadores de comparación.
ILUSTRACIÓN 7 OPERACIONES DE
COMPARACION, DATOS DE ENTERO, DOBLE
ENTERO
Página 6
TECNOLOGICO DE CUAUTLA
Página 7
TECNOLOGICO DE CUAUTLA
DESARROLLO
En este practica se utilizaron subrutinas para facilitar el uso de las bobinas, en este caso lo
adaptamos hacia un ciclo de sellador RF, escogimos las subrutinas por el hecho que nos
dejan usar el mismo contacto, bobinas y timer en varios usos se pueden repetir, pero no en
la misma hoja principal se adaptan en las siguientes hojas. En el programa se hizo de la
siguiente forma.
Página 8
TECNOLOGICO DE CUAUTLA
Cuando se activa una subrutina empieza a correr el tiempo, al principio se tiene un contacto
se cambia de estado y empieza a realizar los 4 movimientos en la primera network se activa
el motor al momento que se enclava también se activa un timer este solo controla el tiempo
en que el motor jala el material, al momento que se acaba el tiempo enclava otra bobina y
bloqueando la anterior.
Al momento que se enclava baja plancha también se activa un salto, este omite las siguientes
líneas hasta el LBL para desactivarlo se hace más adelante, en la siguiente línea está
corriendo un timer cuando termine se activa la siguiente línea enclavándola y desactiva la
anterior, en esta se activa la plancha para juntar el material.
Página 9
TECNOLOGICO DE CUAUTLA
En las últimas líneas solo controlan el tiempo de soldar y en el momento de subir la plancha
para permitir la activación entre el salto y el LBL, en la línea que fue omitida ahora se activa,
prosiguiendo con la ultimo proceso de la subrutina, todas estas líneas deben que acabar a
tiempo para el cierre de la subrutina si de alguna manera se cierra y no ha terminado el ciclo
se queda trabada hasta de nueva cuenta y energizarla.
ILUSTRACIÓN 15 TIMER CONTROL DE LAS ULTIMAS NETWORK. ILUSTRACIÓN 16 DESACTIVA EL SALTO PERMITIENDO NETWORK SIGUIENTE.
Para el control de las 3 subrutinas se utilizó un timer para cada uno, la diferencia es que cada
uno poseía tiempos diferentes debido a los materiales, en las operaciones se utilizó el salto
(JMP), stop controlado automáticamente y un END, el stop se controló por medio de
operaciones de comparación son bits antes teníamos que declarar un READ_RTC para leer
los datos de tiempo, la idea se propuso para finalizar un día automáticamente cuando llegue
al día, hora y minuto marcado en el programa se ejecuta el stop mandando a su detenimiento
inmediato y para poder activarlo se hace físicamente.
ILUSTRACIÓN 17 LEE EL TIEMPO REAL Y EJECUTA UN STOP ILUSTRACIÓN 18 USO DE END PARA FINALIZAR PROGRAMA.
EN DIA, HORA Y MINUTO DETERMINADO.
Página 10
TECNOLOGICO DE CUAUTLA
PROGRAMACION
ILUSTRACIÓN 21 USO DE LAS BOBINAS REPRESENTANDO ILUSTRACIÓN 22 USO DE LOS CONTACTORES DE LOS MOTORES.
LAS SUBRUTINAS
Página 11
TECNOLOGICO DE CUAUTLA
CONCLUSIÓN
El sistema retorna luego el control al segmento del programa principal desde donde se llamó
a la subrutina, por tanto, son más fáciles de gestionar.
Los bloques más pequeños facilitan la comprobación y la eliminación de errores tanto en las
subrutinas como en el programa entero.
Con las subrutinas también la CPU se puede utilizar más eficientemente, llamando al bloque
sólo cuando se necesite, y no ejecutar todos los bloques en todos los ciclos. La operación
Llamar a subrutina transfiere el control a la subrutina y se puede utilizar con o sin parámetros.
Página 12