Programacion_de_Subrutinas

Embed Size (px)

Citation preview

Programacin de SubrutinasSLC 500, ControlLogix y Siemens S7-300

Juan Gonzalo lvarez Daz Curso Bsico de PLC

La programacin modularDefinicin.Es dividir una Tarea Compleja de programacin en tareas de menor tamao y complejidad

VentajasHace ms sencillo enfrentar la tarea completa La programacin se puede realizar coordinadamente entre varios programadores Permite realizar pruebas ms fcilmente Permite el reutilizar cdigo que se necesita ejecutar varias veces dentro de un mismo programa El mantenimiento y deteccin de fallas se realiza ms rpidamenteCurso Bsico de PLC Juan Gonzalo lvarez Daz

SubRutinas Allen - BradleyEstructura General de un programa ModularSubrutina1 SBR NameSub1 JSR NameSub3 Instrucciones JSR NameSub1 Instrucciones JSR NameSub2 Instrucciones End RET Subrutina2 SBR NameSub2 Instrucciones RET Nivel 1Curso Bsico de PLC

Programa Principal

Subrutina3 SBR NameSub1 Instrucciones RET

Nivel 2

Juan Gonzalo lvarez Daz

SLC500 : Instrucciones BsicasJSR : Jump to Subrutine. Lleva el flujo del programa a la subrutina indicada

Al estar paro en 1 se activa la subrutina parada.

Curso Bsico de PLC

Juan Gonzalo lvarez Daz

SLC 500: Instrucciones BsicasSBR : Subrutine. Indica inicio de la subrutina. Es un parmetro opcional pero es fuertemente recomendable usarla RET : Return Indica fin de la subrutina. La subrutina retorna a la siguiente instruccin o lnea de la instruccin JSR que invoco a la subrutina

En la programacin de subrutinas se permite hasta 8 niveles, menos en la serie SLC5/01 que solo permite hasta 4 niveles. Debe tener en cuenta que el procesador solo actualiza salidas al encontrar la instruccin END. Si necesita actualizar entradas o salidas durante una subrutina se debe usar las instrucciones IIM y IOM (Immediate input and output instructions)

Curso Bsico de PLC

Juan Gonzalo lvarez Daz

SLC 500: Ejemplo de Aplicacin

Curso Bsico de PLC

Juan Gonzalo lvarez Daz

ControlLogix : Instrucciones Bsicas

La instruccin JSR permite el paso o transferencia de datos entre programas por medio los parmetros Input par: transferir una variable a la subrutina, y Return par: retornar valores desde la rutina

Curso Bsico de PLC

Juan Gonzalo lvarez Daz

ControlLogix : Creacin de la Rutina

Las variables de las rutinas se editan en Program Tags.

Curso Bsico de PLC

Juan Gonzalo lvarez Daz

ControlLogix : Instrucciones Bsicas

SBR recibe los parmetros usando input par RET retorna parmetros usando Return ParCurso Bsico de PLC Juan Gonzalo lvarez Daz

SubRutinas Siemens S7-300Estructura General de un programa ModularOB1 Instrucciones FB1 Instrucciones FC2 FC2 FC1 FB1 DB15 FC1

Curso Bsico de PLC

Juan Gonzalo lvarez Daz

SubRutinas Siemens S7-300OB: Los bloques de organizacin (OB) constituyen el interface entre el sistema operativo y el programa de usuario. Son llamados por el sistema operativo y controlan el procesamiento cclico y controlado por alarmas del programa, el comportamiento de arranque del sistema de automatizacin y el tratamiento de los errores. Programando los bloques de organizacin se define el comportamiento de la CPU.

Curso Bsico de PLC

Juan Gonzalo lvarez Daz

SubRutinas Siemens S7-300FB: Los bloques de funcin son bloques programables. Un FB es un bloque "con memoria". Dispone de un bloque de datos asignado como memoria (bloque de datos de instancia). Los parmetros que se transfieren al FB, as como las variables estticas, se memorizan en el DB de instancia. Las variables temporales se memorizan en la pila de datos locales. DB: Los bloques de datos no contienen instrucciones STEP 7. Sirven para depositar datos de usuario, es decir que los bloques de datos contienen datos variables con los que trabaja el programa de usuario. Los bloques de datos globales contienen datos de usuario utilizables desde otros bloques FC: Las funciones son bloques programables. Una funcin es un bloque lgico "sin memoria". Las variables temporales de las FCs se memorizan en la pila de datos locales. Estos datos se pierden tras el tratamiento de las FCs. Para fines de memorizacin de datos, las funciones pueden utilizar bloques de datos globales.

Curso Bsico de PLC

Juan Gonzalo lvarez Daz

S7-300: Creacin de Bloques

La creacin se realiza en el administrador del proyecto

Curso Bsico de PLC

Juan Gonzalo lvarez Daz

S7-300: Creacin de BloquesDeclaracin de Variables

Los bloques de programacin permite el intercambio de datos entre rutinasCurso Bsico de PLC Juan Gonzalo lvarez Daz

S7-300: Llamado de Bloques

La marca M0.1 habilita el llamado y ejecucin de la subrutina FB1

Cada Bloque de funcin debe tener su bloque de datos para instanciar las variables y datos dentro del bloque

Curso Bsico de PLC

Juan Gonzalo lvarez Daz

Ejercicio de AplicacinCilindro A Cilindro B

Cilindro C Secuencia 1s A+ 1s A1s B+ 1s B1s C+ 1s C1s

Cilindro A

Usando programacin con subrutinas, desarrollar programas en allan bradley, SCL500 y ControLogix, y Siemens, S7 300, que resuelvan las secuencias dadas del sistema electroneumatico mostrado. Todas las secuencias son cclicas Con Stop y Start, e indicadores para cada cilindro de movimientoCurso Bsico de PLC

Cilindro B

Cilindro C Secuencia 1s A+ 1s B+ 1s 1s BAC+ 1s 1s C1s

Cilindro A

Cilindro B

Cilindro C Secuencia 1s A+ C+ 1s B+ 1s A1s 1s BC1s

Juan Gonzalo lvarez Daz