Programacin S 7 1 PROGRAMACIN ESTRUCTURADA STEP 7

  • Slides: 18
Download presentation
Programación S 7 1 PROGRAMACIÓN ESTRUCTURADA STEP 7

Programación S 7 1 PROGRAMACIÓN ESTRUCTURADA STEP 7

Programación S 7 2 IMPLEMENTACIÓN POR CAJAS GRAFCET: ECUACIONES DE ACTIVACIÓN Implementación Académica 0

Programación S 7 2 IMPLEMENTACIÓN POR CAJAS GRAFCET: ECUACIONES DE ACTIVACIÓN Implementación Académica 0 S 1 1 S 2 2 S 3 3 Ventajas: U U S R Implementación por cajas E 0 S 1 E 0 U U S R E 1 S 2 E 1 U U S R E 2 S 3 E 2 Buena numeración. En la caja se activa la etapa 001 U E 0 SPBN _001 U S 1 S E 1 R E 0 _001: U E 1 SPBN _002 U S 2 S E 2 R E 1 _002: U E 2 SPBN _003 U S 3 S E 3 R E 2 _003: NOP 0 //. . . A) Eficiencia B) Claridad C) Modela prioridad

Programación S 7 3 EJEMPLO-IMPLEMENTACIÓN POR CAJAS GRAFCET: GESTIÓN DE ERROR MEDIANTE BIT ‘RB’

Programación S 7 3 EJEMPLO-IMPLEMENTACIÓN POR CAJAS GRAFCET: GESTIÓN DE ERROR MEDIANTE BIT ‘RB’ OB 1 FC 1 T 1 U E 1 SPBNB _002 CALL FC 1 U BIE SPBN _ERR U T 2 S E 2 R E 1 R Salida SPA CONT Salida (A 1. 0) con gestión de Error 1 Emergencia Error 2 T 3 _ERR: 3 FC_1 E EO Error S Emergencia R E 1 R Salida CONT: NOP 0 _002: NOP 0. . . FC 1 U E 1 = A 1. 0 U Err_local SPB _ERR //… BEA _ERR: CLR SAVE Añadir evento error por tiempo ¿PRIORIDAD DE DIVERGENCIA ‘OR’?

Programación S 7 4 EJEMPLO-IMPLEMENTACIÓN POR CAJAS GRAFCET: GESTIÓN DE ERROR MEDIANTE BIT ‘RB’

Programación S 7 4 EJEMPLO-IMPLEMENTACIÓN POR CAJAS GRAFCET: GESTIÓN DE ERROR MEDIANTE BIT ‘RB’ FC 1 T 1 Salida (A 1. 0) con gestión de Error 1 Emergencia U U S R Error 2 Ejercicio: Emplear un bit de error T 3 3 E EO Error Et. Reposo Sini Et. Expansion Et. Reposo U Et. Expansion = A 1. 0 U U S R FC_1 E 1 SET FP Bit. Trabajo R Bitde. Fin R Et. Expansion S Et. Reposo R A 1. 0 L S 5 T#3 s SS Tout Et. Expansion Sfin Bit. De. Fin Et. Expansion U Bit. De. Fin R Bit. Trabajo R Tout FC 1(cont) U Tout SPBN _OK: CLR SAVE S Bitde. Fin _OK: NOP 0 U Et. Reposo UN Sini SPBN _OK 1: CLR SAVE S Bitde. Fin _OK 1: NOP 0 //Opcional aqui U Bit. De. Fin SPBN _NOF CLR SS Tout _NOF: NOP 0

Programación S 7 5 TEMPORIZADORES BLOQUES KOP TX (0 -XXX) <TIPO> Habilitación Señal de

Programación S 7 5 TEMPORIZADORES BLOQUES KOP TX (0 -XXX) <TIPO> Habilitación Señal de disparo Habilitación (FR) Borra el biestable que detecta el flanco de la señal de disparo. [S 5 T#] Reset FR S DU DE Binario natural BCD TW R Q BOOL En consecuencia redispara el temporizador si se encuentra la señal de disparo activada por nivel. REGISTROS TX, TW, DU, DE 16 BITS

Programación S 7 6 TEMPORIZADORES (II) IMPLEMENTACIÓN AWL E 2. 0 0 E 2.

Programación S 7 6 TEMPORIZADORES (II) IMPLEMENTACIÓN AWL E 2. 0 0 E 2. 1 1 MOTOR 1 2 U FR U L SI U R U = L T LC = 1 ¿PRIORIDAD T 1 o Flanco de SE 1? FR T 1 <SI> S DUAL MW 10 U E 0 MW 12 U Flanco. SE 1 DEZ S 5 T#10 s S TW E 1 R E 0 E 2. 2 R Q A 4. 0 U E 1 L S 5 T#50 s SE T 1 E 2. 0 T 1 //Habilitar T 1 SE 1 U E 2. 1 FR T 1 S 5 T#10 s // ACU 1_L = 10 segundos T 1 U E 1 E 2. 2 U T 1 //Pone. ST 1 a 0 E 2 T 1 //Consulta el estado T 1. R E 1 A 4. 0 T 1 //ACU 1_L= //… valor de T 1 (binario) MW 10 T 1 // ACU 1_L= valor de T 1 (BCD) MW 12

Programación S 7 7 MOSTRAR El ‘CERO’ AL TEMPORIZADOR SOLUCION 0 Ecuación Activación Etapa

Programación S 7 7 MOSTRAR El ‘CERO’ AL TEMPORIZADOR SOLUCION 0 Ecuación Activación Etapa 2 P 1 U E 1 SPBN _002 L S 5 T#10 s SE T 1 1 T 1/E 1/10 s U U S R 2 P 2 _002: E 1 T 1 E 2 E 1 NOP 0 //. . . El temporizador T 1 no funciona a partir de la segunda activación de la etapa 1. Hay que ‘mostrarle el cero’ OPCIÓN A OPCIÓNBC CORRECTO? U E 1 UUEE 12 SPBN _002 SPBN _003 L S 5 T#10 s SECLR T 1 SE SET 1 U U E 1 P 2 U E 1 U S T 1 E 1 U T 1 S R E 2 E 2 S E 2 R E 1 _003: RRNOP T 1 0 _002: NOP 0 FR T 1 NOP 0

Programación S 7 8 CONTADORES BLOQUES KOP ZX (0 -XXX) <Tipo> Suma Resta ZV

Programación S 7 8 CONTADORES BLOQUES KOP ZX (0 -XXX) <Tipo> Suma Resta ZV ZR DU DE Señal de carga [C#] Habilitación Reset Salida Binario natural Salida BCD S ZW Q Salida lógica ( ==0 falso ) U FR U L S U R U = U ZV U ZR L T LC T Habilitación Z 1 //Habilitar Z 1 Carga C#3 // Carga Z 1 con 3 unidades Z 1 Reset Z 1 //Poner Z 1 a 0 Z 1 A 4. 0 //A 4. 0=Q Suma Z 1 //Incrementa en una unidad Resta Z 1 //Decrementa en una unidad Z 1 //ACU 1_L= DU MW 10 Z 1 //ACU 1_L= DE MW 12 FR R No aparece en KOP de Siemens REGISTROS ZX, ZW, DU, DE 16 BITS

Programación S 7 9 IMPLEMENTACIÓN ESTRUCTURADA Expansión de un cilindro con gestión de error

Programación S 7 9 IMPLEMENTACIÓN ESTRUCTURADA Expansión de un cilindro con gestión de error por tiempo Cilindro comprimido 8 FC 1 Bit. De. Fin=0 Bit. De. Error=0 //… 0 Expansión (A 1. 0) con gestión de error por tiempo 1 Emergencia Error 1 EXP 2 3 T(10 s) 9 //BLOQUE INVOCANTE //ARRANQUE U E 8 U //Actuadores Etapa. M 500. 0 2, 3; SPBN _009 ON //Activación de 4 M 500. 0 CALL FC 1 FP U Etapa Bit. De. Trabajo //Activación 2 E 2 U Bit. De. Fin //Actuador. SPBN Etapa 4 _001 Bit. De. Error UREtapa. E 9 E 1 S //Actuador 1 E 4_002 SU SPBN R E 2 //Activación Etapa R E 83 E 1 U Bit. De. Fin RS US E 2 E 4 E 1 Cilindro. Exp. _009: NOPU 0 T 1 S 5 T#10 s RR LUN E 3 T 1 _003 //…SPBN T 1 Bit. De. Trabajo RR SS E 4 U E 3 E 2 US T 1 //Rutina de tratamiento de errores R RS Bit. De. Fin Bit. De. Error E 1 E 3 U SU Bit. De. Error E 1 R NOP Bit. De. Error R _002: SPBN 0 E 3 R= _OKE 1 A expansion R S Expansion E 4 _003: //Desactivar NOP 0 E 9 _001: NOP 0 //… _OK: NOP 0 1 1 4 Se ejecuta una sola vez Bit. De. Error=1 Bit. De. Fin=1 Pongo a Cero T

Programación S 7 10 IMPLEMENTACIÓN ESTRUCTURADA Expansión de un cilindro con gestión de error

Programación S 7 10 IMPLEMENTACIÓN ESTRUCTURADA Expansión de un cilindro con gestión de error por tiempo (2) Cilindro comprimido 8 FC 1 Bit. De. Fin=0 Bit. De. Error=0 //… 0 Expansión (A 1. 0) con gestión de error por tiempo 1 Emergencia Error 1 EXP 2 3 T(10 s) 9 //BLOQUE INVOCANTE U E 8 //ARRANQUE SPBN _009 U M 500. 0 CALL //Actuador 4 FC 1 ON UEtapa M 500. 0 Bit. De. Fin E 4 FP US Bit. De. Trabajo E 9 //Activación Etapa 4 Bit. De. Fin sin error SEtapa SPBN _001 //Actuador 1 //Activación. URREtapa 4 con error E 8 E 1 T 1 S E 1 U E 1 _009: NOP 0 Bit. De. Trabajo R U UR E 4 T 1 Cilindro. Exp. L//… S 5 T#10 s UN T 1 R Bit. De. Fin SS T 1 de errores E 4 E 4 //Rutina. S de tratamiento S R R U Bit. De. Error E 1 E 1 Bit. De. Error R S RUSPBN Expansion E 1 Bit. De. Error _OK _001: NOP R=//Desactivar 0 Bit. De. Error Aexpansion E 9 //… _OK: NOP 0 1 Bit. De. Error=1 1 4 Bit. De. Fin=1 Pongo a Cero T ¿GESTION DEL ERROR CON EL BIT RB? ¿MOSTRAR EL CERO AL TEMPORIZADOR?

Programación S 7 11 PASO DE PARÁMETROS BLOQUE SUMADOR: FUNCIÓN Se usa # para

Programación S 7 11 PASO DE PARÁMETROS BLOQUE SUMADOR: FUNCIÓN Se usa # para indicar parámetro

Programación S 7 12 PASO DE PARÁMETROS IMPLEMENTACIÓN AWL 0 Tipo IN 1 MOTOR

Programación S 7 12 PASO DE PARÁMETROS IMPLEMENTACIÓN AWL 0 Tipo IN 1 MOTOR 1 Tipo OUT Motor 1 S 5 T#50 s 2 FC 1 Etapa 0 Etapa 1 1 Etapa 2

Programación S 7 13 PASO DE PARÁMETROS BLOQUE SUMADOR: BLOQUE INVOCANTE Completar la gestión

Programación S 7 13 PASO DE PARÁMETROS BLOQUE SUMADOR: BLOQUE INVOCANTE Completar la gestión del Enable Out

Programación S 7 14 IMPLEMENTACIÓN ESTRUCTURADA Idem con paso de parámetros Cilindro comprimido 8

Programación S 7 14 IMPLEMENTACIÓN ESTRUCTURADA Idem con paso de parámetros Cilindro comprimido 8 FC 1 Expansión (A 1. 0) con gestión de error por tiempo Emergencia Error 9 //ARRANQUE FC 1 U ON FP SPBN S R R R _001: NOP //… M 500. 0 #Bit. De. Trabajo _001 #Bit. De. Etapa_2 #Bit. De. Etapa_3 #Bit. De. Etapa_4 #Expansion #Bit. De. Error #Bit. De. Fin 0 //BLOQUE INVOCANTE //Declaración de parámetros (FC 1) U E 8 IN Bit. De. Trabajo BOOL SPBN _009 IN Bit. De. Etapa_1 BOOL CALL FC 1 IN Bit. De. Etapa_2 BOOL Temporidador : = T 0 IN Bit. De. Etapa_3 BOOL Tiempo : = S 5 T#10 s IN Bit. De. Etapa_4 BOOL Bit. De. Trabajo : = … IN Cilindro. Expandido (Sensor) BOOL Bit. De. Etapa_1 : = Out Expansion (Salida) BOOL Bit. De. Etapa_2 : = Out Bit. De. Error BOOL Bit. De. Etapa_3 : = Out Bit. De. Fin BOOL Bit. De. Etapa_4 : = IN Temporizador TIMER Cilindro. Expandido : = IN Tiempo S 5 TIME Expansion : = Bit. De. Error : = M 150. 0 Bit. De. Fin : = M 200. 0 U M 200. 0 R E 8 S E 9 _009: NOP 0 //… //Rutina de tratamiento de errores U M 150. 0 SPBN EMER //Desactivar E 9 //… _EMER: NOP 0

Programación S 7 15 UNIDADES DE PROGRAMACIÓN ELEMENTOS • Bloques de Operación: OB •

Programación S 7 15 UNIDADES DE PROGRAMACIÓN ELEMENTOS • Bloques de Operación: OB • Funciones: FC • Bloques de Función: FB • Bloques de Datos: DB § Globales § Instancia • Otros…

Programación S 7 16 TIPOS DE VARIABLES CLASIFICACIÓN SEGÚN RANGO • GLOBALES: § E,

Programación S 7 16 TIPOS DE VARIABLES CLASIFICACIÓN SEGÚN RANGO • GLOBALES: § E, A, M, T, Z, … § Variables dentro de Bloques DB globales (no asociados a FB) • LOCALES § Parámetros de un bloque: Locales a dicho bloque. Pierden su valor al finalizar el bloque. (IN, OUT, IN_OUT, TEMP) (excepción STATIC) § Variables de Bloques DB asociados a bloques FB: Uso local al bloque FB al que están asociados

Programación S 7 17 ESQUEMA DE LLAMADAS ENTRE BLOQUES CALL CC CALL<FBX, DBX> OB

Programación S 7 17 ESQUEMA DE LLAMADAS ENTRE BLOQUES CALL CC CALL<FBX, DBX> OB 1: Ciclo principal Sistema Operativo UC FBX FCX DBX FBX DBX Accesible por cualquier bloque OB_X DBY (global) FCX

Programación S 7 18 BLOQUES DE OPERACIÓN (OB_X) OB OB 1 Evento que arranca

Programación S 7 18 BLOQUES DE OPERACIÓN (OB_X) OB OB 1 Evento que arranca dicho OB Prioridad Final de OB 1 1 OB 1 X Alarmas horarias X 2 OB 2 X Alarmas de retardo X 3 -7 OB 3 X Alarma cíclica temporizada 7 -15 OB 4 X Alarmas de proceso X 16 -23 OB 80 Salta Watch dog (ciclo principal) 26, 28 __ OB 35 OB 100 Rearme completo (y en caliente) 27 OB 102 Arranque en frío (borra toda la memoria de usuario) 27 +