Sunteți pe pagina 1din 15

Programacin Kop

Subrutinas y Control de programa


1

Subrutinas
Las subrutinas facilitan la estructuracin del programa. Las operaciones utilizadas en el programa principal determinan la ejecucin de la subrutina en cuestin. Cuando el programa principal llama a una subrutina para que sta se ejecute, la subrutina procesa su programa hasta el final. 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. Esta ventaja se puede aprovechar a la hora de realizar tareas de comprobacin y mantenimiento del programa. Los bloques ms pequeos facilitan la comprobacin y la eliminacin de errores tanto en las subrutinas como en el programa entero.
Automatizacin Industrial Curso 2001-2001 Programacin: SIMATIC S7-200

Control del programa

Aqu se encuentran aplicaciones que permiten controlar acciones dentro de un programa, tales como Saltos, ciclos FOR,stop,end
Nos permiten desarrollar programa lo ms parecido a la programacin estructurada C++ u otros

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

Programacin en KOP: Salto a Meta


La operacin Saltar a meta (JMP) deriva la ejecucin del programa a la meta indicada (n).

La operacin Definir meta (LBL) indica la direccin de la meta de salto (n).


Tanto la operacin de salto como la correspondiente meta deben encontrarse en el programa principal, en una subrutina o en una rutina de interrupcin. Desde el programa principal no se puede saltar a una meta que se encuentre en una subrutina o en una rutina de interrupcin. Tampoco es posible saltar desde una subrutina o una rutina de interrupcin a una meta que se encuentre fuera de ella.
Automatizacin Industrial Curso 2001-2001 Programacin: SIMATIC S7-200

Salto a Meta

Ejemplo

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

Programacin en KOP: RET

La operacin Retorno condicional de subrutina se utiliza para finalizar una subrutina en funcin de la combinacin lgica precedente.
Micro/WIN 32 aade automticamente un retorno incondicional a cada subrutina.

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

RET

Ejemplo

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

Programacin en KOP: END

La operacin condicional Finalizar programa principal (END) finaliza el programa en funcin de la combinacin lgica precedente. La operacin END condicional se puede utilizar en el programa principal, pero no en subrutinas ni en rutinas de interrupcin.

Micro/WIN 32 aade automticamente un fin absoluto al programa principal de usuario.

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

Programacin 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").
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"). En KOP, las operaciones Detectar flanco positivo y negativo se representan mediante contactos.

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

Programacin en KOP: Stop

La operacin STOP finaliza inmediatamente la ejecucin del programa haciendo que la CPU cambie de RUN a STOP.

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

Programacin en KOP: FOR y NEXT


La operacin FOR ejecuta las operaciones que se encuentren entre FOR y NEXT. Se deben indicar el valor del ndice o el contaje actual del bucle (INDX) El valor inicial (INIT) El valor final (FINAL).

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

Programacin en KOP: FOR y NEXT


Ejemplo: Si el valor de INIT es 1 y si el de FINAL es 10, las operaciones que se encuentren entre FOR y NEXT se ejecutarn 10 veces, incrementando el valor de contaje INDX en 1, 2, 3, ...10. Si el valor inicial es mayor que el valor final, no se ejecuta el bucle.

Despus de ejecutarse las operaciones que se encuentran entre FOR y NEXT, se incrementa el valor de INDX y el resultado se compara con el valor final.
Si INDX es mayor que el valor final, se finaliza el bucle.

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

TAREAS

PROGRAMCION KOP EN STEP 7 OBJETIVOS: Aplicar los conceptos de temporizadores, contadores, control de programa y manejo de subrutinas desarrollados en clases. EJERCICIOS N 1 Programa de monitoreo de la planta piloto, el cual deber contener: Modo Automtico /Manual. Lectura de las variables analgicas (nivel, flujo). Rutina de temporizadores Requerimientos del programa. Subrutinas, Bloques trasferencia, Enclavamiento o Set /Reset Nota: Los valores registrados por los sensores, deben estar en formatos de 16 bit (Word) y 32 bit (DWord y Real)

Automatizacin Industrial Curso 2001-2001

Programacin: SIMATIC S7-200

TAREAS

N 2 Activar la salidas A0.4 y A0.7 una vez hayan transcurridos 10 y 27 segundos respectivamente de la activacin de E0.2. Para la puesta a 0 de ambas salidas se utilizar la entrada E0.4. y la CPU deber quedar en modo Stop. Requerimientos del programa. 1 temporizador, Enclavamiento o Set /Reset, comparadores, al menos una marca M, lnea de finalizacin de programa.
Automatizacin Industrial Curso 2001-2001 Programacin: SIMATIC S7-200

TAREAS

N 3 Mediante la preseleccin de tres interruptores se desea conseguir una seal de periodo variable (A0.0). Los tiempos deseados son los siguientes: 1. Si est activo el interruptor 0 (E0.0=1) ==> T = 0,6 sg. 2. Si est activo el interruptor 1 (E0.1=1) ==> T = 1 sg. 3. Si est activo el interruptor 2 (E0.2=1) ==> T = 2 sg. En el caso de que ninguno de los interruptores este activo la salida debe de anularse. Requerimientos del programa. Subrutinas, utilice las operacin control de programa necesarias, enclavamiento o Set/ Reset, bloques de transferencias
Automatizacin Industrial Curso 2001-2001 Programacin: SIMATIC S7-200

S-ar putea să vă placă și