You are on page 1of 15

Programación Kop

Subrutinas y Control de programa
1

por tanto.  Cuando el programa principal llama a una subrutina para que ésta se ejecute. El sistema retorna luego el control al segmento del programa principal desde donde se llamó a la subrutina. Las operaciones utilizadas en el programa principal determinan la ejecución de la subrutina en cuestión. más fáciles de gestionar.  Las subrutinas sirven para estructurar o dividir el programa en bloques más pequeños y.  Esta ventaja se puede aprovechar a la hora de realizar tareas de comprobación y mantenimiento del programa.Subrutinas  Las subrutinas facilitan la estructuración del programa. 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. la subrutina procesa su programa hasta el final. Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200 .

Control del programa Aquí se encuentran aplicaciones que permiten controlar acciones dentro de un programa. tales como Saltos.stop.end Nos permiten desarrollar programa lo más parecido a la programación estructurada C++ u otros Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200 . ciclos FOR.

 Desde el programa principal no se puede saltar a una meta que se encuentre en una subrutina o en una rutina 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.  Tanto la operación de salto como la correspondiente meta deben encontrarse en el programa principal. en una subrutina o en una rutina de interrupción.  La operación Definir meta (LBL) indica la dirección de la meta de salto (n).Programación en KOP: Salto a Meta  La operación Saltar a meta (JMP) deriva la ejecución del programa a la meta indicada (n). Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200 .

Salto a Meta Ejemplo Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200 .

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200 .Programación en KOP: RET La operación Retorno condicional de subrutina se utiliza para finalizar una subrutina en función de la combinación lógica precedente. Micro/WIN 32 añade automáticamente un retorno incondicional a cada subrutina.

RET Ejemplo Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200 .

pero no en subrutinas ni en rutinas de interrupción. Micro/WIN 32 añade automáticamente un fin absoluto al programa principal de usuario. Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200 .Programación en KOP: END La operación condicional Finalizar programa principal (END) finaliza el programa en función de la combinación lógica precedente. La operación END condicional se puede utilizar en el programa principal.

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200 . El contacto Detectar flanco negativo permite que la corriente circule durante un ciclo cada vez que se produce un cambio de 1 a 0 (de "on" a "off").Programación en KOP: P y N El contacto Detectar flanco positivo permite que la corriente circule durante un ciclo cada vez que se produce un cambio de 0 a 1 (de "off" a "on"). las operaciones Detectar flanco positivo y negativo se representan mediante contactos. En KOP.

Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200 .Programación en KOP: Stop  La operación STOP finaliza inmediatamente la ejecución del programa haciendo que la CPU cambie de RUN a STOP.

Programación en KOP: FOR y NEXT La operación FOR ejecuta las operaciones que se encuentren entre FOR y NEXT. Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200 . Se deben indicar el valor del índice o el contaje actual del bucle (INDX) El valor inicial (INIT) El valor final (FINAL).

. . Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200 . Si INDX es mayor que el valor final. Después de ejecutarse las operaciones que se encuentran entre FOR y NEXT.10.Programación en KOP: FOR y NEXT Ejemplo: Si el valor de INIT es 1 y si el de FINAL es 10. 3. se finaliza el bucle. las operaciones que se encuentren entre FOR y NEXT se ejecutarán 10 veces. Si el valor inicial es mayor que el valor final. incrementando el valor de contaje INDX en 1.. no se ejecuta el bucle. 2. se incrementa el valor de INDX y el resultado se compara con el valor final.

deben estar en formatos de 16 bit (Word) y 32 bit (DWord y Real) Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200 . Enclavamiento o Set /Reset Nota: Los valores registrados por los sensores. flujo). el cual deberá contener: Modo Automático /Manual. Lectura de las variables analógicas (nivel. control de programa y manejo de subrutinas desarrollados en clases. Rutina de temporizadores Requerimientos del programa. contadores. Subrutinas. EJERCICIOS  Nº 1 Programa de monitoreo de la planta piloto.TAREAS  PROGRAMCION KOP EN STEP 7 OBJETIVOS:  Aplicar los conceptos de temporizadores. Bloques trasferencia.

1 temporizador. Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200 .2. línea de finalización de programa.7 una vez hayan transcurridos 10 y 27 segundos respectivamente de la activación de E0. Enclavamiento o Set /Reset. al menos una marca M.  Requerimientos del programa.4.TAREAS  Nº 2  Activar la salidas A0. Para la puesta a 0 de ambas salidas se utilizará la entrada E0. comparadores. y la CPU deberá quedar en modo Stop.4 y A0.

En el caso de que ninguno de los interruptores este activo la salida debe de anularse. Los tiempos deseados son los siguientes: 1. 3.2=1) ==> T = 2 sg. utilice las operación control de programa necesarias. Subrutinas.1=1) ==> T = 1 sg.TAREAS  Nº 3 Mediante la preselección de tres interruptores se desea conseguir una señal de periodo variable (A0.0=1) ==> T = 0. Si está activo el interruptor 2 (E0.6 sg. Si está activo el interruptor 1 (E0.  Requerimientos del programa.0). 2. enclavamiento o Set/ Reset. bloques de transferencias Automatización Industrial Curso 2001-2001 Programación: SIMATIC S7-200 . Si está activo el interruptor 0 (E0.