P. 1
Instrucciones_avanzadas_v2_2

Instrucciones_avanzadas_v2_2

|Views: 1.947|Likes:
Publicado pordega88

More info:

Published by: dega88 on Sep 30, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

07/20/2013

pdf

text

original

Sections

  • 1. SISTEMAS DE NUMERACION
  • 2. MÓDULOS DE ORGANIZACIÓN
  • 3. BLOQUES DE FUNCIÓN
  • 4 MÓDULOS DE DATOS
  • E6.1. FUNCION MOVER (TRANSFERENCIA)
  • E6.2. FUNCION MOVER (CONSTANTES A UNA MISMA PALABRA)
  • E7.1. PRESELECCIÓN VARIABLE Y VISUALIZACIÓN DEL VALOR DE UN TEMPORIZADOR
  • E7.2. PROGRAMACIÓN DE UN TEMPORIZADOR CON TRES TIEMPOS DIFERENTES
  • E8.2. INSTRUCCIONES DE COMPARACIÓN
  • E8.3. CONTROL DE INICIO DE MARCHA DE UN PROCESO
  • E8.4. CLAVE PARA ABRIR UNA CERRADURA
  • E9.1. SELECCIÓN DE DOS TIPOS DE FUNCIONAMIENTO
  • E10.1. OPERACIONES LOGICAS ENTRE PALABRAS O DOBLES PALABRAS
  • E10.3. OPERACIONES ARTIMETICAS CON NÚMEROS ENTEROS (COMA FIJA)
  • E10.4. CREACIÓN DE UN CONTADOR REVERSIBLE CON PRESELECCIÓN
  • E10.5. CREACIÓN DE UN CONTADOR DE TIEMPOS
  • E10.6. OPERACIONES ARTIMETICAS CON NÚMEROS EN COMA FLOTANTE
  • E11.1. DIFERENTES MÉTODOS DE INCREMENTAR Y DECREMENTAR
  • E12.1. CREACIÓN DE LA PLANTILLA DE UN GENERADOR DE IMPULSOS STANDARD
  • E12.2. CREACIÓN DE UNA PLANTILLA CON NÚMEROS REALES
  • E13.1. DIRECCIONAMIENTO INDIRECTO DE REGISTROS
  • E14.1. LECTURA DE DATOS DE UN BLOQUE DE DATOS (DB)
  • E15.1. PROGRAMACION DEL RELOJ
  • E16.1. FUNCION SCALE (ESCALAR UNA ENTRADA ANALOGICA)
  • E16.2. FUNCION UNSCALE (DESESCALAR A UNA SALIDA ANALOGICA)
  • E16.3. CONSIGNA DE MAXIMA Y MINIMA DE UNA ENTRADA ANALOGICA
  • E16.4. CONSIGNA DE MAXIMA Y MINIMA DE UNA ENTRADA ANALOGICA (II)
  • E17.1. GRABACIÓN DE UNA TABLA EN UN BLOQUES DE DATOS (DB). FUNCIÓN ATT
  • E17.2. LECTURA DE DATOS GRABADOS EN UNA TABLA. FUNCION LIFO
  • E18.1. EXPULSION DE BOTELLAS DEFECTUOSAS
  • E19.1. PROGRAMACIÓN DEL OB10
  • E19.2. PROGRAMACIÓN DEL OB20
  • E19.3. PROGRAMACIÓN DEL OB35
  • E19.4. PROGRAMACIÓN DEL OB121

AUTOMATA PROGRAMABLE S7-300 Instrucciones avanzadas

Conceptos básicos Nivel 1. 09. Programación estructurada por bloques. 10. Operaciones de cálculo, básicas y avanzadas. 11. Operaciones de incrementar y decrementar. 12. Parametrización de bloques FBs y FCs. 13. Direccionamiento indirecto. 14. Bloques de datos DBs. 15. Programación de registros del sistema. 16. Tratamiento de señales analógicas. 17. Utilización de bloques estándar de las librerías. 18. Desplazamientos y rotaciones. 19. Módulos de organización. Procesamiento de alarmas.

IES SEP COMTE DE RIUS DE TARRAGONA

Departament d’Educació

Electricitat/Electrònica

PROGRAMACIÓN AVANZADA CON EL PLC S7-300

PRÓLOGO Esta documentación forma parte de una serie de manuales que un grupo de profesores de tres institutos de educación secundaria de Catalunya, como son: • • • IES-SEP Comte de Rius de Tarragona IES Palau Ausit de Ripollet (Barcelona) IES-SEP La Garrotxa de Olot (Girona)

han estado experimentando con diferentes materiales incluidos dentro de la temática de la automatización, el control y las comunicaciones industriales. Este equipo de profesores, formaron un grupo de trabajo, llamado EDCAI (Experimentación y Documentación en Control y Automatización Industrial), reconocido tanto por el Departament d’Educació de la Generalitat de Catalunya como por la empresa Siemens, con unos objetivos tan sencillos como claros y que se basaban en la realización de documentación realizada por profesores/as para profesores/as, y que además, pudiese servir como manual para los alumnos, esto quiere decir que se ha intentado realizar una documentación que sea fácil de seguir con unas explicaciones paso a paso de los diferentes procesos a realizar, para de esta manera poder alcanzar el objetivo propuesto en cada ejercicio. Este grupo de trabajo continúa trabajando en cada uno de los temas para poder ir actualizando día a día esta documentación, es por ello, que nos podéis enviar vuestras sugerencias a través de la información que encontrareis en la web dedicada a este grupo de trabajo y que desde aquí os invitamos a participar. www.iespalauausit.com/edcai/index.php

Esperamos que el esfuerzo y dedicación que hemos realizado pueda ayudar a mejorar vuestra labor educativa.

Los profesores del grupo de trabajo EDCAI
Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Página: 1/84 Fichero: Instrucciones avanzadas Versión: 2.2

Departament d’Educació

Electricitat/Electrònica

PROGRAMACIÓN AVANZADA CON EL PLC S7-300

INDICE:
CONCEPTOS BÁSICOS NIVEL 1 1 SISTEMAS DE NUMERACION......................................................................................................... 2 MÓDULOS DE ORGANIZACIÓN...................................................................................................... 3 BLOQUES DE FUNCIÓN ................................................................................................................. 4 MÓDULOS DE DATOS.................................................................................................................... 5 ACUMULADORES............................................................................................................................ E6.1. FUNCION MOVER (TRANSFERENCIA). ..................................................................................... E6.2. FUNCION MOVER (CONSTANTES A UNA MISMA PALABRA)................................................ E7.1. PRESELECCIÓN VARIABLE Y VISUALIZACIÓN DEL VALOR DE UN TEMPORIZADOR........ E7.2. PROGRAMACIÓN DE UN TEMPORIZADOR CON TRES TIEMPOS DIFERENTES................. E8.1. PRESELECCIÓN VARIABLE DEL VALOR DE UN CONTADOR. .............................................. E8.2. INSTRUCCIONES DE COMPARACIÓN...................................................................................... E8.3. CONTROL DE INICIO DE LA MARCHA DE UN PROCESO........................................................ E8.4. CLAVE PARA ABRIR UNA CERRADURA.................................................................................... 4 7 9 10 11 12 13 15 16 18 20 22 24

09. PROGRAMACIÓN ESTRUCTURADA POR BLOQUES. E9.1. SELECCIÓN DE DOS TIPOS DE FUNCIONAMIENTO ……………………………………………… 26

10. OPERACIONES DE CÁLCULO BÀSICAS Y AVANZADAS. E10.1. OPERACIONES LOGICAS ENTRE PALABRAS O DOBLES PALABRAS.................................. E10.2. PROGRAMACIÓN DE UN TEMPORIZADOR CON PRESELECCIÓN VARIABLE. BASE DE TIEMPOS FIJA................................................................................................................... E10.3. OPERACIONES ARTIMETICAS CON NÚMEROS ENTEROS (COMA FIJA)................................ E10.4. CREACIÓN DE UN CONTADOR REVERSIBLE CON PRESELECCIÓN....................................... E10.5. CREACIÓN DE UN CONTADOR DE TIEMPOS............................................................................. E10.6. OPERACIONES ARTIMETICAS CON NÚMEROS EN COMA FLOTANTE....................................

27 29 30 32 33 35

11. OPERACIONES DE INCREMENTAR Y DECREMENTAR. E11.1. DIFERENTES MÉTODOS DE INCREMENTAR Y DECREMENTAR ………………………………. 37

12. PARAMETRIZACIÓN DE BLOQUES FBs Y FCs. E12.1. CREACIÓN DE LA PLANTILLA DE UN GENERADOR DE IMPULSOS STANDARD................. E12.2. CREACIÓN DE UNA PLANTILLA CON NÚMEROS REALES....................................................

38 40

13. DIRECCIONEMIENTO INDIRECTO. E13.1. DIRECCIONAMIENTO INDIRECTO DE REGISTROS........................................ .........................

42

14. BLOQUE DE DATOS DBs. E14.1. LECTURA DE DATOS DE UN BLOQUE DE DATOS (DB)........................................................... 44 E14.2. LECTURA DE DATOS DE UN BLOQUE DE DATOS (DB). DIRECCIONAMIENTO INDIRECTO DE UN BLOQUE DE DATOS........................................................................................... 48

15. PROGRAMACIÓN CON REGISTROS DE SISTEMA. E15.1. PROGRAMACION DEL RELOJ..................................................................................................... 50

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Página: 2/84 Fichero: Instrucciones avanzadas Versión: 2.2

Departament d’Educació

Electricitat/Electrònica

PROGRAMACIÓN AVANZADA CON EL PLC S7-300

16. TRATAMIENTO DE SEÑALES ANALÓGICAS. E16.1. FUNCION SCALE (ESCALAR UNA ENTRADA ANALOGICA)..................................................... E16.2. FUNCION UNSCALE (DESESCALAR A UNA SALIDA ANALOGICA)........................................... E16.3. CONSIGNA DE MAXIMA Y MINIMA DE UNA ENTRADA ANALOGICA.............................. ........ E16.4. CONSIGNA DE MAXIMA Y MINIMA DE UNA ENTRADA ANALOGICA (II).................................

54 56 58 59

17. UTILIZACIÓN DE BLOQUES ESTÁNDAR DE LIBRERÍAS. E17.1. GRABACIÓN DE UNA TABLA EN UN BLOQUES DE DATOS. FUNCIÓN ATT.......................... E17.2. LECTURA DE DATOS GRABADOS EN UNA TABLA. FUNCION LIFO....................................... E17.3. GRABACIÓN DE UNA TABLA DE DATOS (II). SOBREESCRIBIR DATOS................................. E17.4. GRABACIÓN DE UNA TABLA DE DATOS (III). BORRADO DE DATOS. FUNCIÓN FILL........... E17.5. GUARDAR DATOS DEL RELOJ Y DE UNA ENTRADA ANALOGICA........................................

61 63 65 66 67

18. DESPLAZAMIENTOS Y ROTACIONES. 18.1. EXPULSION DE BOTELLAS DEFECTUOSAS …………………………………………………………. 68

19. MÓDULOS DE ORGANIZACIÓN. PROCESAMIENTO DE ALARMAS. E19.1. PROGRAMACIÓN DEL OB10....................................................................................................... E19.2. PROGRAMACIÓN DEL OB20....................................................................................................... E19.3. PROGRAMACIÓN DEL OB35....................................................................................................... E19.4. PROGRAMACIÓN DEL OB121.....................................................................................................

70 72 73 74

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Página: 3/84 Fichero: Instrucciones avanzadas Versión: 2.2

sino será positivo.83 Realizado por: Ramon L. el bit mas alto o sea el bit 7 es el que determina el signo si el bit 7 es igual a 1 el signo es negativo.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 1. 128 + 0 + 32 + 0 + 8 + 4 + 0 + 1 + = 173 El valor real será -1 (valor de bit 7) * 256 + 173 = .2 . sino será positivo. nos encontramos que cada dígito puede tener los siguientes valores: 0123456789 Calculo del valor decimal: -Tenemos por ejemplo el valor 7632 Su valor decimal será: 3 7x10 3 2 1 0 + 6x10 + 3x10 + 2x10 7x1000 + 6x100 + 3x10 +2 = 7632 SISTEMA BINARIO En un sistema binario. SISTEMAS DE NUMERACION.83 El número binario 10101101 equivale al número decimal con signo . Si trabajáramos con una palabra. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 4/84 Fichero: Instrucciones avanzadas Versión: 2. nos encontramos que cada dígito puede tener los siguientes valores: 0 y 1 Un número binario se puede leer en decimal y hexadecimal Calculo del valor decimal sin signo de un número binario: -Tenemos por ejemplo el número binario 101101 Su valor decimal será: 3 5 1x2 + 4 0x2 + 3 2 1 1x2 + 1x2 + 0x2 + 0 1x2 32 + 0 + 8 + 4 + 0 + 1 + = 45 El número binario 101101 equivale al número decimal 45 Calculo del valor decimal con signo de un número binario: -Tenemos por ejemplo el número binario 10101101 Su valor decimal será: 3 7 1x2 + 6 0x2 + 5 1x2 + 4 0x2 + 3 2 1 1x2 + 1x2 + 0x2 + 0 1x2 En este caso que es un byte. SISTEMA DECIMAL En un sistema decimal. el bit mas alto o sea el bit 15 seria el que determinaría el signo si el bit 15 es igual a 1 el signo es negativo.

Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 5/84 Fichero: Instrucciones avanzadas Versión: 2. nos encontramos que cada dígito puede tener los siguientes valores (16): 0 1 2 3 4 5 6 7 8 9 A(10) B(11) C(12) D(13) E(14) F(15) Calculo del valor decimal de un número hexadecimal: -Tenemos por ejemplo el número hexadecimal 3 A 7 Su valor decimal será: 3 2 3 x 16 + 1 A(10) x 16 + 0 7 x 16 768 + 160 + 7 = 935 El número hexadecimal 3 A 7 equivale al número decimal 935 Calculo del valor hexadecimal de un número decimal: -Tenemos por ejemplo el número decimal 3512 Su valor binario será: 3 3512 R8 16 219 R1 16 13 R 13(D) 16 0 D 1 8 Realizado por: Ramon L.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 Calculo del valor binario de un número decimal: -Tenemos por ejemplo el número decimal 13 Su valor binario será: 3 13 1 2 6 0 2 3 1 2 1 1 2 0 1 1 0 1 El número decimal 13 equivale al número binario 1 1 0 1 El número binario 101101 equivale al número decimal 45 SISTEMA HEXADECIMAL En un sistema hexadecimal.2 .

Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 6/84 Fichero: Instrucciones avanzadas Versión: 2. Ese binario se puede leer en decimal Calculo del valor decimal de un número binario: -Tenemos por ejemplo el número binario 1001 0110 *si lo tomamos como número binario. nos encontramos con lo que se llama binario codificado decimal. su valor decimal es: 96 10 0 1 9 0110 6 Realizado por: Ramon L.2 . su valor decimal es: 150 3 7 1x2 + 6 0x2 + 5 0x2 + 4 1x2 + 3 2 1 0 0x2 + 1x2 + 1x2 + 0x2 = 150 *si lo tomamos como número BCD.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 El número decimal 3512 equivale al número hexadecimal D18 Calculo del valor hexadecimal de un número binario: -Tenemos por ejemplo el número binario 1101 0110 0011 1001 Su valor hexadecimal será: 3 1101 13(D) 0110 6 0011 3 1001 9 El número binario 1101 0110 0011 1001 equivale al número hexadecimal D 6 3 9 Calculo del valor binario de un número hexadecimal: -Tenemos por ejemplo el número hexadecimal E57A Su valor binario será: 3 E 5 7 1110 0101 0111 A 1010 El número binario hexadecimal E57A equivale al número binario 1110 0101 0111 1010 CODIGO BCD En un código BCD.

• OB80Error de tiempo (Tiempo de ciclo excedido). OB30 a OB38 Son OB que se ejecutan cada cierto tiempo prefijado y con prioridades diferentes OB Base de tiempo Valor prefijado Prefijado para la prioridad • OB 30 5s 7 • OB 31 2s 8 • OB 32 1s 9 • OB 33 500 ms 10 • OB 34 200 ms 11 • OB 35 100 ms 12 • OB 36 50 ms 13 • OB 37 20 ms 14 • OB 38 10 ms 15 OB40 a OB47 Son interrupciones de proceso • Se activa cuando en un proceso un registro ha superado unos límites máximos o mínimos admisibles . Si no esta programado y detecta el error. el PLC pasa a STOP • OB83 Detección de presencia de módulo (Extraer/insertar). Si no esta programado y detecta el error. cada año.) OB80 a OB87 Error Asíncrono. • Empieza en un momento programado • Se ejecuta a partir de ese momento cada cierto tiempo: • Una sola vez.. • Es el que tiene la prioridad más baja OB10 a OB17 Realiza una interrupción horaria. Si no esta programado y detecta el error.2 . Si no esta programado y detecta el error. el PLC pasa a STOP • OB84 Avería de la CPU. cada minuto. • Se ejecuta Al cabo de un tiempo de llamar al OB. cada día. el PLC pasa a STOP Realizado por: Ramon L. cada hora. a final de mes OB20 a OB23 Realiza una interrupción de retardo. (entradas analógicas.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 2. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 7/84 Fichero: Instrucciones avanzadas Versión: 2. cada semana. Error de la inteface MPI o de la periferia descentralizada. OB1 Es un módulo que se ejecuta cíclicamente • El OB1 se ejecuta en cada scan.. MÓDULOS DE ORGANIZACIÓN. cada mes. el PLC pasa a STOP • OB81 Fallo de alimentación (S7-400) o Fallo de batería • OB82 Rotura de hilo de un módulo que tenga capacidad de diagnostico. contadores de alta velocidad etc. Características de los módulos OB.

• Detecta errores de programación.2 . • Se ejecuta al pasar la CPU de STOP a RUN. Rearranque. el PLC pasa a STOP. • Primero lee el OB101 y después sigue leyendo en el punto donde dejo de leer al pasar al estado STOP. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 8/84 Fichero: Instrucciones avanzadas Versión: 2.CPU (picar dos veces) pestaña ‘arranque’. Arranque en frío • Pone todos los elementos a 0 (incluso los que tienen memoria). el PLC pasa a STOP. etc. • OB87Detección de fallo en comunicación. Si no esta programado y detecta el error. • Primero lee el OB100 y después el OB1 (empezando por la primera instrucción). • OB86Detección de fallo en un bastidor.Hardware--. Si no esta programado y detecta el error. el PLC pasa a STOP. (Solo en S7-400) • Mantiene el estado de los elementos que tenga con memoria.) . • Se ejecuta al pasar la CPU de STOP a RUN. • Primero lee el OB102 y después el OB1 (empezando por la primera instrucción). salidas. OB100 a 0B102 OBS de modo de arranque (solo puede estar activado uno de ellos). • Se ejecuta al pasar la CPU de STOP a RUN..Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 • OB85Evento de arranque para un OB no cargado. • Si no esta programado y detecta el error. (Arranque en Caliente) • Mantiene el estado de los elementos que tenga con memoria.. OB122 Realizado por: Ramon L. • Si no esta programado y detecta el error. OB100 Rearranque completo. Error al intentar acceder a un módulo de datos (entradas. OB101 OB102 OB121 y OB122 OBs de error OB121 Error de ejecución de programa. el PLC pasa a STOP. Se selecciona en Administrador.

mantiene los valores. en la instrucción posterior al salto. • Cuando termina de ejecutar el módulo. Todos los valores de la declaración local. BLOQUES DE FUNCIÓN. • Cuando se les llama. menos los temporales. son módulos que se ejecutan al ser llamados desde otros módulos. Hay dos tipos de funciones: • Funciones sin parámetros. En el módulo de datos (DB) se mantiene una copia de los parámetros que van al área de datos locales. DB10 PROGRAMA DB10 Copia de la parte de declaración local del FB1 FB1 Area de declaración local PROGRAMA Tipo de declaración dentro de un módulo: IN Parámetros de entrada de los que se lee. se almacenan en un bloque de datos (DB de Instancia). Después de la ejecución del FB. la función actúa como una subrutina del programa.2 . se borra el área de memoria local. Las Funciones. • • • MÓDULOS DE BLOQUE DE FUNCIÓN Un módulo de bloque de función tiene un módulo adicional de memoria asociado a el (Módulo de datos).Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 3. IN_OUT Parámetros que pueden ser leídos o escritos. TEMP Variable temporal cuyo valor no se guarda cuando el termina. • Funciones parametrizables (Plantillas). OB1 PROGRAMA CALL FB1. Realizado por: Ramon L. pero el DB asociado. STAT Variable local cuyo valor se almacena en un DB de instancia. OUT Parámetros de salida en los que se puede escribir. el programa retorna al módulo desde donde fue llamado. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 9/84 Fichero: Instrucciones avanzadas Versión: 2.

En caso de no tener pila. UN DB de instancia no necesita abrirse con ninguna instrucción. esta asociado a un módulo de función especifico (FB) Los datos almacenados en el DB de instancia solo pueden ser leídos o escritos por el módulo asociado a el.2 . se abre se lee y se escribe en el de forma automática. deposita el valor actual de las variables locales en el DB de instancia. Realizado por: Ramon L. FC y OB pueden leer o escribir datos en los DB globales. Para grabar o leer datos. Los módulos de datos. se carga del DB una copia de las variables locales en el bloque de función. mantienen la memoria todos los DBs Hay dos tipos de módulos de datos: -Módulos de datos globales • • • • Los módulos de datos globales.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 4 MÓDULOS DE DATOS. son áreas de memoria de la CPU que se utilizan para almacenar datos. solo mantendrán su valor los DB configurados en el área de elementos remanentes de la CPU. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 10/84 Fichero: Instrucciones avanzadas Versión: 2. Los datos permanecen almacenados en el DB aunque se cierre el DB. se ejecuta el bloque y cuando acaba. -Módulos de datos de instancia: • • • • Un DB de instancia. Al empezar a leer el bloque de función. pueden ser utilizados por todos los módulos del programa. En las CPUs actuales que van con Memory Card. antes hay que abrir el módulo OPN DB (en KOP) o AUF DB (en AWL). Todos los FB. • Los DB mantienen su valor ante un corte de tensión. siempre que tengamos la pila tampón de respaldo.

operaciones de comparación y operaciones aritméticas. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 11/84 Fichero: Instrucciones avanzadas Versión: 2. (Copia el valor del ACCU1 en un registro). Los acumuladores son registros auxiliares en la CPU que se utilizan para el intercambio de datos. se desplaza al ACCU2. POP: Desplaza el contenido del ACCU2 al ACCU1. ACCU1 0000 15 8 ACCU1 EB0 15 8 ACCU1 MB2 15 8 ACCU1 MB2 0000 31 24 0000 23 16 EB0 7 0 L EB0 0000 31 24 0000 23 16 EB1 7 0 L EW0 MB0 31 24 MB1 23 16 MB3 7 0 L MD0 MB0 MB1 MB3 T AB0 T AB0 ACCU1 MB2 MB0 MB1 MB3 T AW0 T AW0 ACCU1 MB2 MB0 MB1 MB3 T AD0 T AD0 Realizado por: Ramon L. El S7-300 tiene dos acumuladores de 32 bits y el S7-400 tiene cuatro.2 . Manipulación de los acumuladores (AWL) TAK: Intercambia el contenido del ACCU1 con el del ACCU2. PUSH : Desplaza el contenido del ACCU1 al ACCU2. ACUMULADORES.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 5. El registro que antes de la carga estaba en el ACCU1. los 24 bits restantes se ponen a 0. siempre va al ACCU1 (las posiciones no utilizadas se ponen a 0). Transferencia:(T) La operación de transferencia solo transfiere el valor que haya en ACCU1 y el ACCU1 queda invariable. o sea si cargo un Byte. Carga: (L) La operación de carga.

0 SPBNB _001 L EW 124 T AW 124 NOP 0 _001: Realizado por: Ramon L. E126. -La función MOVE es ejecutada cuando tenemos un 1 en la entrada EN.0=1 1011100111001010 EW124 1 011100111001010 AW124 FC1 E126. -Si tenemos un 0 en la entrada EN la función no se ejecuta (es saltada).2 .16 y 32 bits.0 EN MOVE ENO EW124 IN OUT AW124 Programación en AWL U E 126. (El valor en IN permanece inalterable). Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 12/84 Fichero: Instrucciones avanzadas Versión: 2. FUNCION MOVER (TRANSFERENCIA). (Los formatos en IN y en OUT pueden ser diferentes.0=0 1011100111001010 EW124 0000000000000000 AW124 E126. entonces el valor que hay en IN es copiado en OUT.1. Los formatos en IN y en OUT pueden ser de 8 . -En ENO tendremos un 1 si la función se ejecuta sin errores.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E6.

-PAW752 es una salida analógica que trabajara entre valores 0 y 27648. 6.3 4 EN MOVE ENO 16578 IN OUT PAW752 Realizado por: Ramon L.5. 8 y 10 voltios.2 . 2. -En este caso tengo seis pulsadores del E124. un potenciómetro que dará de 0 a 10 V a la entrada analógica PEW752 enviara su valor a la salida analógica PAW752. Haciendo una regla de 3.0 al E124.2 3 EN MOVE ENO 11058 IN OUT PAW752 E124. -Cuando accione la entrada E124. FUNCION MOVER (CONSTANTES A UNA MISMA PALABRA). Accionando los pulsadores en orden ascendente queremos que la salida analógica nos de valores de 0. dará una señal exterior de tensión que estará entre 0 y 10 Voltios que en nuestro caso seria la consigna de velocidad de un variador de frecuencia de tal modo que 0 V serian 0 rpm y 10 V serian 1500 rpm.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E6. -En este caso queremos enviar diferentes constantes a una misma palabra.2. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 13/84 Fichero: Instrucciones avanzadas Versión: 2. 4.0 1 EN MOVE ENO 0 IN OUT PAW752 E124. Con esos valores. calculo las siguientes correspondencias: Valor en PAW752 0 5529 11058 16578 22118 27648 Voltios en salida 0V 2V 4V 6V 8V 10 V FC2 E124.1 2 EN MOVE ENO 5529 IN OUT PAW752 E124.6.

4 5 EN MOVE ENO 22118 IN OUT PAW752 E124. calcular los valores que tendríamos que enviar para tener 1.6 6 EN MOVE OUT PAW752 ENO PEW752 IN OUT PAW752 Nota: Probar que ocurre cuando acciono dos pulsadores al mismo tiempo. 5. 7 y 9 voltios de salida en PAW752. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 14/84 Fichero: Instrucciones avanzadas Versión: 2. -Una vez probado el ejercicio.5 6 EN MOVE ENO 27648 IN E124.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E124. -Indicar que solución puedo tomar para que el ultimo valor activo sea el efectivo. Realizado por: Ramon L. 3.2 .

-Realizaremos la preselección de un temporizador con un valor variable. lo podremos ver en BCD (MW4) o en Binario (MW2). ajusta automáticamente el valor a 3 dígitos y adapta la base de tiempos. Base Tiempos = 2 -Una vez se haya activado el temporizador. FC3 E124. X 1 seg. Forzar valores en el MW0 (Hexadecimal) con diferentes bases de tiempos en el digito 3 y diferentes valores en los dígitos 0 al 2 y comprobar que tiempo Simatic coge.0 R DEZ MW4 Nota: Cuando se coloca un tiempo en formato S5T (Tiempo Simatic). No obstante el MW4 lo podemos visualizar en BCD (formato hexadecimal) o en tiempo Simatic. Realizado por: Ramon L. -Para cargar el valor del temporizador. X 0’1 seg. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 15/84 Fichero: Instrucciones avanzadas Versión: 2. X 0’01 seg. Cada vez que accionemos el E124.1. MW0 MB1 0010 0011 1001 0101 = Base T. se ira a STOP. el temporizador cogerá como preselección el valor que tenga en ese momento el MW0.0 1 MW0 S TW T1 S_EVERZ Q DUAL MW2 A124. contiene el valor y la base de tiempos.2 .0.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E7. el temporizador seguirá trabajando con el valor que tenia al ponerse en marcha. El valor de MW0. debe estar en BCD o en tiempo Simatic. -El valor cargado en BCD. 1 Segundo x 395 = 395 segundos En nuestro caso. Centenas Decenas Unidades La base de tiempos es: 3 2 1 0 Valor Valor Valor Valor MB0 W#16#2395 X 10 seg. PRESELECCIÓN VARIABLE Y VISUALIZACIÓN DEL VALOR DE UN TEMPORIZADOR. aunque cambie el valor de MW0. en caso contrario el temporizador no lo entenderá y el PLC en caso de no estar programado el OB121.

0) debe funcionar 15 segundos.1 T1 SV MW0 E124. Tendremos tres pulsadores que seleccionaran el tipo de bote a llenar.1 Realizado por: Ramon L. Para llenar el bote grande. Para llenar el bote pequeño. • Nota: Indica como funcionaria el circuito si el segmento 4 estuviera programado delante del segmento 1.0) debe funcionar 8 segundos.2 . lo podemos expresar en tiempo Simatic (S5T#15S) o en BCD W#16#1150.0) debe funcionar 3 segundos.0 1 EN MOVE ENO S5T#3S IN OUT MW0 E124.1 E124. PROGRAMACIÓN DE UN TEMPORIZADOR CON TRES TIEMPOS DIFERENTES.1 2 EN MOVE ENO S5T#8S IN OUT MW0 E124. la electro válvula (A124.2 3 EN MOVE ENO S5T#15S IN OUT MW0 E124.2.2 T1 5 A124. FC4 E124. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 16/84 Fichero: Instrucciones avanzadas Versión: 2. Para llenar el bote mediano. la electro válvula (A124. Nota: El tiempo que enviamos a MW0.0 4 A124. -Tenemos un proceso de llenado de botes. la electro válvula (A124. Hay tres tamaños de botes.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E7.

Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 17/84 Fichero: Instrucciones avanzadas Versión: 2.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 A124.2 .1 P M G Realizado por: Ramon L.

0 E124.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E8. pone una caja vacía y repite el proceso (Pone la nueva preselección en MW0 y acciona de nuevo el pulsador E124. Cuando ha contado las piezas preseleccionadas (el contador llega a 0). PRESELECCIÓN VARIABLE Y VISUALIZACIÓN DEL VALOR DE UN CONTADOR.0 Z1 ZR E124.7 A124.1 E124.7 E124. -Hay un detector de piezas E124.1 con lo cual el ciclo comienza de nuevo.7 que cuenta las piezas que pasan.7 A124. -El operario primero accionara el selector E124.0 E124. -Tenemos una cinta transportadora que llena de piezas una caja. FC5 E124.0 A124.0 se ponga en marcha al instante.1 Realizado por: Ramon L.0 Z1 SZ MW0 Z1 E124. esto provoca que la cinta A124.7.7 E124. CONTROL DE PIEZAS EN UNA CINTA TRANSPORTADORA.1 que cargara el valor de preselección.1. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 18/84 Fichero: Instrucciones avanzadas Versión: 2.5 E124. Una vez hecho esto accionara el pulsador E124.0 y después pondrá en un terminal de operador o en un SCADA un valor al MW0 (preselección del número de piezas que deseamos controlar en ese proceso).0 A124. se para la cinta y se pone en marcha de forma intermitente la lámpara A124.0 Z1 M255. -El operario retira entonces la caja llena.2 .

Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 Realizado por: Ramon L. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 19/84 Fichero: Instrucciones avanzadas Versión: 2.2 .

Formato REAL 32 bits. FC6 E124. Segmento 3. INSTRUCCIONES DE COMPARACIÓN. Tendremos un 1 en el comparador si IN1 diferente a IN2.3 CMP<I IN1 MW2 IN2 Realizado por: Ramon L. Tendremos un 1 en el comparador si IN1 es menor o igual a IN2.0 1 MW0 IN1 CMP==I A124.3 4 MW0 IN2 A124. según el formato a comparar: • Comparación entre dos números enteros. Tendremos un 1 en el comparador si IN1 es mayor o igual a IN2. • Comparación entre dos números reales. NOTA: Un comparador. Tendremos un 1 en el comparador si IN1 es menor a IN2. Formato DINT 32 bits. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 20/84 Fichero: Instrucciones avanzadas Versión: 2. Segmento 4.0 AWL MW2 E124. actúa como un contacto en el que habrá un 1 cuando se cumpla la comparación.2 3 MW0 IN2 A124. Formato INT 16 bits. -Tenemos tres tipos de comparadores. Segmento 2.1 CMP<>I IN1 MW2 E124. Tendremos un 1 en el comparador si IN1 es mayor a IN2.2. Segmento 6. Tendremos un 1 en el comparador si IN1 es igual a IN2.1 2 MW0 IN2 A124.2 . • Comparación entre dos números de dobles enteros.2 CMP>I IN1 MW2 E124. Segmento 5.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E8. -Hay seis tipos de comparadores según su condición de comparación: • • • • • • Segmento 1.

7 L EB 126 L 73 ==I R A 124.4 MW2 IN2 E124.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E124.5 MW2 IN2 Si queremos realizar una comparación de un Byte o de números en formato hexadecimal.7 Realizado por: Ramon L.4 5 MW0 IN1 CMP>=I A124. deberemos hacer la comparación en AWL. Ejemplo: -Queremos que cuando el valor de la EW124 sea igual al valor H2A4D se active la salida A124. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 21/84 Fichero: Instrucciones avanzadas Versión: 2.7 Programación en AWL L EW 124 L W#16#2A4D ==I S A 124.2 .5 6 MW0 IN1 CMP<=I A124.7 -Queremos que cuando el valor del EB126 sea igual a 73 se desactive la salida A124.

Entradas en estado incorrecto: -Si al accionar el pulsador de marcha (E126.0 IN2 Realizado por: Ramon L. -Accionando el E126.0 R E126. implicaría la colocación de 16 contactos en serie con el elemento a activar. corresponde al valor decimal EW124= -22163 IMPORTANTE: Si queremos programar el comparador con números en formato hexadecimal.2 A124. se activara la salida A124.2 .1 IN2 A124.3 .Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E8.6 .1 .5 . se deben de dar ciertas condiciones.5 .0 y al mismo tiempo se activara la salida A124.0 0 1 1 0 1 1 0 1 EW124 El estado de las entradas en reposo.7 .2 .4 .0 1 0 1 0 1 0 0 1 EB125 . -Este ejercicio resuelto de forma tradicional.0 y al mismo tiempo se activara la salida A124. -Resuelto con un comparador. se realizaría de la siguiente manera: Estado que deben tener las entradas al poner en marcha el proceso: EB124 .0 1 EW124 IN1 CMP==I A124. debe de hacer el programa en AWL seria: L EW124 L W#16#A96D ==I Entradas en estado correcto: -Si al accionar el pulsador de marcha (E126.7 .1 .6 .4 .7 -22163 A124. Estas son que algunas entradas deben estar a 0 y otras a 1.2 . Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 22/84 Fichero: Instrucciones avanzadas Versión: 2.0 S -22163 E126. CONTROL DE INICIO DE MARCHA DE UN PROCESO.0 2 EW124 IN1 CMP<>I M255.7 de forma fija. no se activara la salida A124.3.7 de forma intermitente.0) se cumplen las condiciones de inicio. FC7 E126.1 se desactivara el proceso. -Para poner en funcionamiento un proceso.3 .0) NO se cumplen las condiciones de inicio.

Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 23/84 Fichero: Instrucciones avanzadas Versión: 2.2 .Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 Realizado por: Ramon L.

(segmento 3). OB100 E0.0 2 IN2 T1 SE S5T#5S T1 MOVE EN ENO A124. -Ejercicio: Hacer el programa necesario para que una vez marque algún fallo demos un tiempo de 15 segundos para abrir la cerradura. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 24/84 Fichero: Instrucciones avanzadas Versión: 2. en caso de no hacerlo.0 habiendo colocando antes en MW0 el valor 9999.0 la clave es correcta. Este valor seria introducido por un terminal de operador o por un SCADA.2 .0 (segmento 1 ) durante 5 segundos y borraremos la clave correcta de MW0. debe de activarse la alarma. -Si nos equivocamos tres veces. -Si al accionar el pulsador E124.0 Z1 CMP<>I IN1 P MW0 ZR 1234 IN2 Realizado por: Ramon L. CLAVE PARA ABRIR UNA CERRADURA.(segmento 5).0 1 Z1 SZ C#3 FC8 E124. se bloqueara la cerradura y funcionara una sirena (A124.0 3 R 0 IN OUT MW0 E124. funcionara la cerradura A124. debo de poner en MW0 el valor 1234.7) de forma intermitente hasta que la paremos accionando el pulsador E124.0 S 1234 A124.4. -Para poder abrir una cerradura.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E8.0 4 M2. -Programar en el OB100 la carga del valor de preselección 3 en el contador 1.0 1 MW0 IN1 CMP==I Z1 A124.

0 IN2 Z1 6 M255.2 .3 A124.7 Realizado por: Ramon L. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 25/84 Fichero: Instrucciones avanzadas Versión: 2.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E124.0 5 MW0 IN1 CMP==I Z1 SZ SZ C#3 9999 A124.

0 FB1 U E125. deberá funcionar un tipo u otro de funcionamiento. Se trata de programar en dos bloques de programa diferentes el mismo circuito pero con funcionamiento diferente.0 CC FB1 FC1 U E125.0 U A124.1.0 Realizado por: Ramon L.2 = A124.0 ) UN E125. Y desde el OB1 dependiendo del estado de la entrada E124. FB 1 : Circuito de un Paro-Marcha con prioridad del pulsador de marcha.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E9. Una posible solución seria: OB1 UN E124.0 U( O E125. SELECCIÓN DE DOS TIPOS DE FUNCIONAMIENTO.1 O A124. FC 1 : Circuito de un Paro-Marcha con prioridad del pulsador de paro.0.0 CC FC1 U E124.1 O( U E125.0 ) UN E125.2 . Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 26/84 Fichero: Instrucciones avanzadas Versión: 2.2 = A124.

E124.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E10. La función WAND__W coge los 16 bits de IN1 y los 16 bits de IN2. realiza la operación serie (bit a bit) de los bits de la misma posición (dentro de su palabra) y el resultado lo envía a OUT.2 .0 1 MW0 EN IN1 OUT MW2 IN2 MW4 WAND_W ENO -Operación paralelo entre palabras WOR_W.1 2 MW0 EN IN1 WOR_W ENO OUT MW2 IN2 MW4 Realizado por: Ramon L. E124.0=1 IN1 10 1 1 1 0 0 1 1 1 0 0 1 0 1 0 SERIE MW0 IN2 1101110010110111 MW2 RESULTADO OUT 1001100010000010 MW4 FC9 E124. -Operación serie entre palabras WAND_W. OPERACIONES LOGICAS ENTRE PALABRAS O DOBLES PALABRAS.1. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 27/84 Fichero: Instrucciones avanzadas Versión: 2. La función WOR__W coge los 16 bits de IN1 y los 16 bits de IN2.1=1 IN1 10 1 1 1 0 0 1 1 1 0 0 1 0 1 0 PARALELO MW0 IN2 1101110010110111 RESULTADO MW2 OUT 1111110111111111 MW4 E124. realiza la operación paralelo (bit a bit) de los bits de la misma posición (dentro de su palabra) y el resultado lo envía a OUT.

2 .Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 -Operación OR exclusiva entre palabras WXOR_W. E124.2 3 MW0 EN IN1 WXOR_W ENO OUT MW2 IN2 MW4 Realizado por: Ramon L. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 28/84 Fichero: Instrucciones avanzadas Versión: 2. La función WXOR__W coge los 16 bits de IN1 y los 16 bits de IN2. realiza la operación OR exclusiva (bit a bit) de los bits de la misma posición (dentro de su palabra) y el resultado lo envía a OUT . (tendré un 1 cuando los bits de IN1 e IN2 sean diferentes).2=1 IN1 10 1 1 1 0 0 1 1 1 0 0 1 0 1 0 OR EXCLUSIVA MW0 IN2 1101110010110111 RESULTADO MW2 OUT 0110 0 10101111101 MW4 E124.

el PLC se va a STOP. FC10 E124.4. primero deberemos de hacer un filtro para que los bits 12 a 15 no afecten a la base de tiempos del temporizador y después haremos una función paralelo para poner la base de tiempos. En caso de no estar. BASE DE TIEMPOS FIJA. Cuando accionemos el E124.2. Nota: Si enviamos al PLC el OB121(Detecta errores de programación) aunque sea vacío y hay un error.2 . El registro MW10 debe estar en BCD. -Para lograr esto. el temporizador se activara con MW10 como valor de preselección (segundos).Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E10.4 1 MW10 EN IN1 OUT W#16#0FFF IN2 MW0 W#16#2000 IN2 WAND_W ENO MW0 EN IN1 MW0 WOR_W ENO E124. el PLC no se ira a STOP aunque indicara con el leed SF que hay un error. PROGRAMACIÓN DE UN TEMPORIZADOR CON PRESELECCIÓN VARIABLE.2 MW0 TW DUAL R DEZ Realizado por: Ramon L. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 29/84 Fichero: Instrucciones avanzadas Versión: 2.4 2 S T2 S_EVERZ Q A124. -Tendríamos un terminal de operador o un SCADA donde pondríamos el valor al MW0.

1 Realizado por: Ramon L. FC11 E124. . -La función MOD. (OUT= IN1+IN2).2 .0 1 EN MW0 IN1 ADD_I ENO OUT MW4 MW2 IN2 OV M255. el resultado ha de estar comprendido dentro de los limites de los números enteros. En caso de no ser así: -Se activa el bit de estado OV (desbordamiento). . -En cualquier de estas cuatro operaciones.(Segmento 3)Multiplicación de números enteros: MUL_I multiplica los registros que tenga en IN1 e IN2 y envía el resultado a OUT. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 30/84 Fichero: Instrucciones avanzadas Versión: 2.(Segmento 4)División de números enteros: DIV_I divide los registros que tenga en IN1 e IN2 y envía el resultado a OUT. (OUT= IN1/IN2).Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E10. Límites número enteros de 16 bits : -32768 a +32767 Límites de números enteros de 32 bits : -2147483648 a +2147483647 La diferencia entre el OV (bit de desbordamiento) y el OS (bit de desbordamiento memorizado) es que el segundo mantiene el valor durante todo el scan (aunque en otras operaciones no hubiera desbordamiento. . -El resultado obtenido en OUT NO será valido. indicaría que lo hay) en cambio el OV se actualiza en cada operación.(Segmento 2)Resta de números enteros: SUB_I resta los registros que tenga en IN1 e IN2 y envía el resultado a OUT. recupera el resto de esa división (solo en dobles palabras).3 A124. .(Segmento 1)Suma de números enteros: ADD_I suma los registros que tenga en IN1 e IN2 y envía el resultado a OUT. (OUT= IN1*IN2). -En ENO tendré un 0. OPERACIONES ARTIMETICAS CON NÚMEROS ENTEROS (COMA FIJA).1 2 EN MW0 IN1 SUB_I ENO OUT MW4 MW2 IN2 OV M255.0 E124.3. (OUT= IN1-IN2).3 A124.

2 .3 Realizado por: Ramon L.2 E124.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E124.2 3 EN MW0 IN1 MUL_I ENO OUT MW4 MW2 IN2 OV M255. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 31/84 Fichero: Instrucciones avanzadas Versión: 2.3 A124.3 A124.3 4 EN MW0 IN1 DIV_I ENO OUT MW4 MW2 IN2 OV M255.

-Con un contador normal (Z1) puedo contar como máximo hasta el valor 999. -El registro que recibe el incremento puede ser una palabra de un DB (bloque de datos).4 4 MW0 IN1 CMP>=I 10 Realizado por: IN2 Ramon L. CREACIÓN DE UN CONTADOR REVERSIBLE CON PRESELECCIÓN.2 3 EN MOVE ENO 0 IN OUT MW0 A124.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E10. Cargar el OB100 el valor de 4 (para iniciar). Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 32/84 Fichero: Instrucciones avanzadas Versión: 2.2. esta también podrá ser un número binario y podré poner su valor directamente en decimal.4 -Una vez probado.0 incrementara en 1 el valor del MW0 2º Segmento. cada vez que accionemos el E124.0 1 M2. -La creación de este contador con preselección tiene algunas ventajas respecto al contador normal.0 P MW0 IN1 ADD_I ENO OUT 1 IN2 MW0 E124.1 decrementara en 1 el valor del MW0 3º Segmento.4. FC12 E124. 4º Segmento. -Su valor es más fácil de leer en un sistema SCADA ya que tendremos el valor directamente en decimal. mientras con este puedo contar hasta 32767 o si en lugar de trabajar con una palabra (MW0) trabajo con una doble palabra puedo llegar al valor de 2147483647.1 2 M2. Ejercicios: -Crear un programa en el que incrementando el valor de un registro sea limitado entre los valores 0 y 10 (después del 10 seguirá el 0) -Crear un programa en el que incrementando y decrementando el valor de un registro sea limitado entre los valores 4 y 10. -Si le pongo como preselección una variable.2 . Funcionamiento: 1º Segmento.1 P MW0 IN1 SUB_I ENO OUT 1 IN2 MW0 E124. cuando el valor de MW0 sea igual o superior a 10. cada vez que accionemos el E124. se activara la salida A124. cambiar el valor 10 por el registro MW10 y comprobar que el valor que ponga en MW10 será a partir de ese momento la preselección de ese “contador”. con lo cual siempre tendrá memoria. el valor del MW0 se pone a 0. cuando accionemos el E124.

0 3 M255.2 5 EN MOVE ENO 0 IN OUT MW0 MOVE EN ENO 0 IN OUT MW2 M255. conseguiremos que cuando el motor lleve por ejemplo 5000 horas nos indique que le debemos hacer un mantenimiento preventivo. -El MW0 contara los segundos y el MW2 contara las horas de funcionamiento de un motor (A124. CREACIÓN DE UN CONTADOR DE TIEMPOS.0 1 A124.7 5000 IN2 Realizado por: Ramon L.0).5 6 MW2 IN1 CMP > I A124.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E10. FC13 E124. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 33/84 Fichero: Instrucciones avanzadas Versión: 2.0 2 A124.5.5 M10.0 S E124.1 A124. -Si incluimos un comparador.2 . -Mediante un generador de impulsos y una operación incremento hemos creado un contador de tiempos.0 R P MW0 IN1 ADD_I ENO OUT MW0 1 IN2 4 MW0 IN1 CMP==I MW2 IN1 ADD_:I ENO IN OUT MW2 MOVE ENO 3600 IN2 1 IN2 0 IN OUT MW0 E124.

Realizado por: Ramon L. poner 6. la salida A124. cambiar: -En IN2 del comparador del segmento 4.7 se activara cuando el motor lleve 60 segundos de funcionamiento y no 5000 horas. poner 10.2 . En este caso.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 Para probar el ejercicio. -En IN2 del comparador del segmento 6. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 34/84 Fichero: Instrucciones avanzadas Versión: 2.

FC14 E124.2 3 EN MD0 IN1 OUT MD8 MD4 IN2 E124. .2 .(Segmento 2)Resta de números reales: SUB_R resta los registros que tenga en IN1 e IN2 y envía el resultado a OUT. . Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 35/84 Fichero: Instrucciones avanzadas Versión: 2. .(Segmento 5)Raíz cuadrada: SQRT realiza la raíz cuadrada de IN y envía el resultado a OUT.0 1 EN MD0 IN1 OUT MD8 MD4 IN2 E124.(Segmento 4) División de números reales: DIV_R divide los registros que tenga en IN1 e IN2 y envía el resultado a OUT.(Segmento 6)Elevar al cuadrado: SQR eleva al cuadrado el valor que hay en IN y envía el resultado a OUT.(Segmento 7)Valor absoluto de un número: ABS toma el valor de IN (sea positivo o negativo) y lo envía a OUT siempre con signo positivo. .3 4 EN MD0 IN1 OUT MD8 MD4 IN2 DIV_R ENO MUL_R ENO SUB_R ENO ADD_R ENO Realizado por: Ramon L.1 2 EN MD0 IN1 OUT MD8 MD4 IN2 E124. .(Segmento 1)Suma de números reales: ADD_R suma los registros que tenga en IN1 e IN2 y envía el resultado a OUT. . OPERACIONES ARTIMETICAS CON NÚMEROS EN COMA FLOTANTE.(Segmento 3)Multiplicación de números reales: MUL_R multiplica los registros que tenga en IN1 e IN2 y envía el resultado a OUT. (OUT= IN1+IN2). (OUT= IN1*IN2). .6. (OUT= IN1-IN2).Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E10. (OUT= IN1/IN2).

5 6 EN SQR ENO MD0 IN OUT MD8 E124.4 5 EN SQRT ENO MD0 IN OUT MD8 E124.6 7 EN ABS ENO MD0 IN OUT MD8 Realizado por: Ramon L. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 36/84 Fichero: Instrucciones avanzadas Versión: 2.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E124.2 .

0 FP M0.0 SPB incr U E0.1 CC FB2 U E1.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E11.1 M0.0 U E1. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 37/84 Fichero: Instrucciones avanzadas Versión: 2.0 U E1.1 CC FB3 FB1 U E0. Se trata de realizar un circuito que responda al funcionamiento expresador en la siguiente figura: Una posible solución seria: OB1 U E1.1 FP M0.1 FC2 FC1 L INC T MB20 1 MB20 FC2 L MB20 DEC 1 T MB20 Realizado por: Ramon L.0 SPB incr U E0.1 CC FB1 UN E1.2 .1 SPB decr BEA incr: L MB20 INC 1 T MB20 BEA decr: L MB20 DEC 1 FB3 U E0.0 CC FC1 U FP CC E0.1. DIFERENTES MÉTODOS DE INCREMENTAR Y DECREMENTAR.0 UN E1.0 FP M0.1 SPB decr BEA incr: L MB20 INC 1 T MB20 BEA decr: L MB20 DEC 1 T MB20 BE FB2 U E0.

conseguimos crear un generador de impulsos que standard. -En el segmento usamos la plantilla con un tiempo fijo de 1 segundo de conexión y 2 segundos de desconexión.1.0 2 M10. CREACIÓN DE LA PLANTILLA DE UN GENERADOR DE IMPULSOS STANDARD.0 E124.2 . debemos de rellenar la tabla de declaración de variables y definir estas.0 A124. Para crear la plantilla. -En el primer segmento del OB1 usamos la plantilla con preselecciones variables. -Creamos con ese circuito una plantilla que usaremos cuando nos convenga.0 Realizado por: Ramon L. Los tiempos en este caso los podríamos cambiar desde un terminal de operador o un sistema SCADA.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E12. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 38/84 Fichero: Instrucciones avanzadas Versión: 2. -Combinando el funcionamiento de dos temporizadores. Declaración In In In In Out Nombre TIEMPO_OFF TIEMPO_ON T1 T2 GENERADOR Tipo Comentario S5TIME S5TIME TIMER TIMER BOOL FC15 #T2 #T1 SE #TIEMPO_OFF #T1 #T2 SE #TIEMPO_ON #T1 #GENERADOR OB1 FC15 1 EN ENO GENERA DOR MW0 TIEMPO_OFF MW2 TIEMPO_ON T10 T1 T11 T2 M10.

1 4 M10. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 39/84 Fichero: Instrucciones avanzadas Versión: 2.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 FC15 3 EN ENO GENERA DOR S5T#2S TIEMPO_OFF S5T#1S TIEMPO_ON T12 T1 T13 T2 M10.0 Realizado por: Ramon L.1 A124.1 E124.2 .

2 2 MD20 EN Tanto por Ciento Valor FC16 ENO Resultado MD28 MD24 Realizado por: Ramon L. Declaración In In Out In_out temp Nombre Tanto por ciento Valor Resultado Auxiliar Tipo REAL REAL REAL REAL FC16 Comentario MUL_R 1 #Tanto por ciento EN IN1 OUT #Valor IN2 #Auxiliar 100.0 ENO #Auxiliar DIV_R EN IN1 OUT IN2 #Resultado ENO Usaremos la plantilla tantas veces como nos sea necesario OB1 E124. Para eso debemos realizar las siguientes operaciones: Resultado= (Tanto por ciento*valor) / 100 Debemos realizar dos operaciones 1ª Auxiliar= Tanto por ciento*valor 2ª Resultado= Auxiliar /100 Para crear la plantilla.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E12.2 . debemos de rellenar la tabla de declaración de variables y definir estas. -Queremos hacer una plantilla con la cual podamos calcular el resultado del tanto por ciento de un valor. CREACIÓN DE UNA PLANTILLA CON NÚMEROS REALES. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 40/84 Fichero: Instrucciones avanzadas Versión: 2.1 1 MD0 EN Tanto por Ciento Valor FC16 ENO Resultado MD8 MD4 E124.2.

Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 Nota: Proteger la plantilla para que no se pueda abrir (KNOW_HOW_PROTECT) Realizado por: Ramon L.2 . Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 41/84 Fichero: Instrucciones avanzadas Versión: 2.

............ se hará con una doble palabra......0 L DBW 4 T MW 0 Si MD0 = P#6...0 L DBW 6 T MW 0 Si MD0 = P#8......... Realizado por: Ramon L. -Queremos que unos datos grabados en 20 palabras del DB1 puedan ser movidas al MW10...1.... -El MD0 ha de estar en formato puntero y como direccionamos palabras.............Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E13...................0 L DBW 2 T MW 0 Si MD0 = P#4.. 0 (Donde X indicara el número de la palabra a direccionar).... -Para direccionar el valor de un registro...2 .....0 L DBW 8 T MW 0 ...0 L DBW 0 T MW 0 Si MD0 = P#2........ temporizadores o contadores el direccionamiento se hará mediante el valor de una palabra.......... el ultimo número ha de ser siempre 0 y se expresa P# X.... 1º Para ello crearemos primero el DB1 con los siguientes valores actuales... -Para el direccionamiento de OB.. DIRECCIONAMIENTO INDIRECTO DE REGISTROS..... .0 L DBW X T MW 0 Ejercicio 1.. Si MD0 = P# X... L DBW[MD0] T MW10 Si MD0 = P#0.... Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 42/84 Fichero: Instrucciones avanzadas Versión: 2...... -Mediante el direccionamiento indirecto podemos direccionar diferentes módulos y registros..

4º Crearemos y editaremos la siguiente tabla de variables. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 43/84 Fichero: Instrucciones avanzadas Versión: 2.2 . Realizado por: Ramon L. Nota: No direccionar un valor superior a 20. ya que el DB solo tiene 20 palabras y por lo tanto al no encontrar la palabra buscada el PLC se iría a STOP. Ejercicio 2 -Queremos realizar la suma de dos palabras del DB1 y mover el resultado al MW20. 5º Forzaremos valores en MD0 en formato puntero y comprobaremos el resultado en MW10.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 2º Crearemos el programa en el FC17 FC17 AUF DB 1 L DBW [MD 0] T MW 10 3º Transferimos el DB1 y el OB1 al PLC. 1º Crearemos el programa en el FC18 FC18 AUF DB 1 L DBW [MD 0] L DBW [MD 4] +I T MW 20 2º Forzaremos valores en MD0 y en MD4 en formato puntero y comprobaremos el resultado en MW20.

LECTURA DE DATOS DE UN BLOQUE DE DATOS (DB).Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E14. Tiempo producto A 5 segundos Tiempo producto B 8 segundos Tiempo Mezclador 12 segundos Tiempo producto A 7 segundos Tiempo producto B 5 segundos Tiempo Mezclador 10 segundos Tiempo producto A 8 segundos Tiempo producto B 8 segundos Tiempo Mezclador 15 segundos Mezcla 1 DB1 Mezcla 2 DB2 Mezcla 3 DB3 -Crear el DB1 (Mezcla 1) Dirección Nombre 0. -La única diferencia que existe en el proceso. Al accionar un pulsador se abren las dos electro válvulas que dan paso a los productos y se pone en marcha el mezclador.0 Tiempo_Mezc =6.2 . se hace una mezcla de una cantidad de un material con otra cantidad de otro material durante un tiempo determinado. la cantidad del producto A ( va por tiempo de apertura de una válvula).0 Ir a “Ver” Ir a “Edición” Dirección 0.0 2.0 Tiempo_P_B 4.0 0. -Tenemos un proceso idéntico para realizar tres tipos de mezclas de dos productos. la cantidad del producto B y el tiempo de mezclado de los dos productos. -Pondremos los datos de los tiempos de cada tipo de pieza en un DB diferente. se cierra la válvula B y se para el mezclador. Según van pasando los tiempos.0 4. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 44/84 Fichero: Instrucciones avanzadas Versión: 2.0 Tipo STRUCT S5TIME S5TIME S5TIME END_STRUCT Valor inicial S5T#5S S5T#8S S5T#12S Comentario Tiempo producto A Tiempo producto B Tiempo mezclado “Datos” “Inicializar bloques de datos” (con esto el valor inicial se copiara en el valor actual). Nombre Tiempo_P_A Tiempo_P_B Tiempo_Mez Tipo S5TIME S5TIME S5TIME Valor inicial S5T#5S S5T#8S S5T#12S Valor actual S5T#5S S5T#8S S5T#12S Comentario Tiempo producto A Tiempo producto B Tiempo mezclado -Repetir el mismo proceso en DB2 (Mezcla 2) y DB3 (Mezcla 3) Realizado por: Ramon L.0 Tiempo_P_A 2.1. -En ese proceso. se cierra la válvula A.

Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 FC19 E124.2 5 GRAN JMPN DB3 6 OPN GRAN E124.1 3 MEDI JMPN DB2 4 OPN MEDI E124. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 45/84 Fichero: Instrucciones avanzadas Versión: 2.2 Realizado por: Ramon L.2 .0 7 E124.0 1 PEQU JMPN DB1 2 OPN PEQU E124.1 EN FC20 ENO E124.

Departament d’Educació

Electricitat/Electrònica

PROGRAMACIÓN AVANZADA CON EL PLC S7-300

FC20
MOVE 1 EN ENO

DBW0 IN MOVE 2 EN

OUT MW0

ENO

DBW2 IN MOVE 3 EN

OUT MW2

ENO

DBW4 IN

OUT MW4

OB1
FC19 1 EN ENO

E124.7 2

T1 SV MW0 T2 SV MW2 T3 SV MW4

T1 3

A124.0

T2 4

A124.1

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Página: 46/84 Fichero: Instrucciones avanzadas Versión: 2.2

Departament d’Educació

Electricitat/Electrònica

PROGRAMACIÓN AVANZADA CON EL PLC S7-300

T3 5

A124.2

PRODUCTO A

PRODUCTO B

A124.0 A124.2

A124.1

M

SELECCIÓN MEZCLA

E124.0

E124.1 E124.7

MARCHA PROCESO

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Página: 47/84 Fichero: Instrucciones avanzadas Versión: 2.2

E124.2

Departament d’Educació

Electricitat/Electrònica

PROGRAMACIÓN AVANZADA CON EL PLC S7-300

E14.2. LECTURA DE DATOS DE UN BLOQUE DE DATOS (DB) II. DIRECCIONAMIENTO INDIRECTO DE UN BLOQUE DE DATOS. -Realización del ejercicio anterior utilizando el direccionamiento indirecto. Modificar solo el FC19, el resto de módulos utilizarlos tal como están. -En este ejercicio, mediante el E124.0 seleccionaremos el número de DB que queremos abrir y al leerse el FC2 se cargaran los datos de ese DB en MW0, MW2 y MW4. -Al accionar el E124.7 se pondra en marcha el proceso Nota: La instrucción AUF en AWL es igual a OPN en KOP. AUF DB10 (Esto significa “Abre el DB10”) -La instrucción que usaremos la programaremos en AWL. Al utilizar el direccionamiento indirecto para direccionar un DB, deberemos cargar un valor en una palabra en este caso la MW210 AUF DB [MW 210] Si MW210=1 AUF DB 1 Si MW210=2 AUF DB 2 Si MW210=3 AUF DB 3 ................................................. ................................................. Si MW210=’N’ AUF DB ‘N’ FC19
E124.0 1 M10.0 ADD_I EN MW210 IN1 1 IN2 ENO OUT MW210

P

MOVE 2 MW210 IN1 CMP==I EN 1 IN ENO OUT MW210

4

IN2

CMP==I MW210 IN1

0

IN2

3

AUF DB [MW 210]

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Página: 48/84 Fichero: Instrucciones avanzadas Versión: 2.2

Departament d’Educació

Electricitat/Electrònica

PROGRAMACIÓN AVANZADA CON EL PLC S7-300

FC 20 4 EN ENO

NOTA: Si tuviéramos el mismo proceso con 20 datos diferentes, crearíamos 20 DBs, pondríamos esos datos desde el DB1 al DB20 y en el primer comparador del segmento 2 sustituiríamos el valor 4 por el valor 21. -Razonar que ocurriría si el segmento 3 lo ponemos delante del segmento 2. Cambiarlo y comprobar su funcionamiento.

Realizado por:

Ramon L. Yuste Yuste Luis Martinez Novoa

IES SEP COMTE DE RIUS

Fecha: 05/02/06 Página: 49/84 Fichero: Instrucciones avanzadas Versión: 2.2

8] BYTE END_STRUCT Comentario Realizado por: Ramon L. PROGRAMACION DEL RELOJ. queremos que a las 5 y 15 de la tarde.2 .0 +0. se pueden cambiar en el editor o en el administrador en ”Sistema de destino” ”Diagnostico/configuración” ”ajustar la hora” . Los datos del reloj están en BCD. tendré que cargar esas variables temporales en unos registros (por ejemplo en un DB). se puede hacer de dos formas: -Una de ellas es la de trabajar con funciones especiales SFC. -La hora y fecha.1. se valida pulsando “Aplicar”. es recuperar los datos del reloj del OB1 Datos del reloj del OB1 Hay un registro temporal en el OB1.. pero que solo funcione de lunes a viernes. -Otra de las formas.0) y que se pare a las 5 y 17 de la tarde. día de la semana) 1 2 3 4 5 6 7 Domingo Lunes Martes Miércoles Jueves Viernes Sábado Día de la semana Ejercicio 1 : -En este ejercicio.0 Nombre Reloj Tipo STRUCT ARRAY[1.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E15. puedo trabajar con esas variables temporales. -Si quiero trabajar con el reloj solo en el OB1.0 y la componen 12 bytes) las variables de lectura son del LB12 al LB19. se ponga en funcionamiento el riego (A124. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 50/84 Fichero: Instrucciones avanzadas Versión: 2. por lo tanto deberé leerlos en hexadecimal: LB12 LB13 LB14 LB15 LB16 LB17 LB18 LB19 B#16#02 (Año) B#16#11 (Mes) B#16#23 (Día) B#16#15 (Hora) B#16#47 (Minuto) B#16#34 (Segundos) B#16#68 (Décimas y Centésimas) B#16#11 (Milésimas.0 *2. En caso que quiera trabajar en otro módulo. Para trabajar con los datos del reloj.0 =16. -Programar después el mismo funcionamiento. el “OB1_DATE_TIME” donde se carga la fecha y hora actual en la que se esta ejecutando el OB1 (variable 12. DB6 Valor inicial B#16#0 Dirección 0. Cuando se pone la fecha y hora nueva.

DBW3 L W#16#1830 ==I R A124.2 .0 Declaración Temp Temp Temp Temp Temp Nombre ----------------------------------------------------------------------------OB1_DATE_TIME MOVE 1 EN ENO EN Tipo ----------------------------------------------------------------------------------------DATE__AND_TIME Valor inicial Comentario MOVE ENO LD12 IN OUT DB6. día de la semana) FC21 L DB6.DBB3 (Hora) DB6.DBB0 (Año) DB6.DBD0 LD16 IN OUT DB6.DBB5 (Segundos) DB6.DBD4 FC21 2 EN ENO Al realizar este programa en OB1.DBB2 (Día) DB6.0 L DB6.DBB1 (Mes) DB6.DBW3 L W#16#1715 ==I S A124.0 ----12.0 Realizado por: Ramon L. los datos del reloj estarán en: DB6.DBB4 (Minuto) DB6.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 OB1 Dirección 0.0 1.DBB6 (Décimas y Centésimas) DB6. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 51/84 Fichero: Instrucciones avanzadas Versión: 2.DBB7 (Milésimas.0 2.

Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 52/84 Fichero: Instrucciones avanzadas Versión: 2. debemos filtrar el día de la semana en una palabra o en un byte para poder realizar comparaciones con el.DBW6 L W#16#F UW T MW 0 L MW 0 L B#16# 7 ==I = M10.2 .0 L MW 0 L B#16# 1 ==I = M10.DBW3 L W#16#1330 ==I S M10.0 UNM10.2 U M10.2 L DB6.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 -Ejercicio 2 -Queremos que de lunes a viernes una sirena funcione desde la 1 y 30 de la tarde hasta la 1 y 32 Para poder solucionar el ejercicio. (En este caso lo hemos puesto en MW0) FC22 L DB6.1 L DB6.1 = A124.DBW3 L W#16#1332 ==I R M10.1 Realizado por: Ramon L.2 UNM 10.

Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 Ejercicio 3 -Creación de una plantilla para poder realizar la conexión y desconexión de un elemento entre unas horas determinadas.DBD4 E124.2 . debemos de rellenar la tabla de declaración de variables y definir estas.DBW3 L #HORA_FINAL == I R #SALIDA OB1 MOVE 1 EN ENO EN MOVE ENO Declaración In In Out In_out temp Comentario LD12 IN OUT DB6.DBD0 LD16 IN OUT DB6.DBW3 L #HORA_INICIO == I S #SALIDA L DB6. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 53/84 Fichero: Instrucciones avanzadas Versión: 2. -Desde un terminal de operador o un sistema SCADA podremos programar ese reloj (forzando las MW20 y MW22) para que la salida funcione cuando que nos interese Para crear la plantilla.2 2 MW20 EN FC23 ENO HORA_INICIO SALIDA A124. FC23 Nombre Tipo HORA_INICIO WORD HORA_FINAL WORD SALIDA BOOL REAL L DB6.0 MD22 HORA_FINAL Realizado por: Ramon L.

En este caso.0 BIPOLAR Realizado por: Ramon L. además en OUT sale el valor máximo o el mínimo según se rebase en positivo o en negativo. doble palabra o constante. También podríamos escalar cualquier otro registro que no sea una entrada analógica.0 HI_LIM MD10 0. FC24 FC105 SCALE 1 EN PEW752 IN ENO RET_ VALUE OUT MW0 100. Si hay un 0. Número REAL.0 LO_LIM E124. -Esta función la podemos encontrar en: Librerías Standard Library TI-S7 Converting Blocks FC105 -La función SCALE sirve para escalar el valor de una entrada analógica entre dos valores (máximo y mínimo). Formato entero 16 bits INT. Entrada analógica de 0 a 10 V.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E16. Formato REAL. OUT Valor de salida escalado entre el valor máximo y mínimo. FUNCION SCALE (ESCALAR UNA ENTRADA ANALOGICA). Número REAL. -En este caso. IN Valor de entrada (número de entrada analógica). RET_VALUE Registro de error. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 54/84 Fichero: Instrucciones avanzadas Versión: 2. Vale W#16#0008 si IN sale de los limites máximo o mínimo. BIPOLAR Si vale 0 (trabajamos con valores entre 0 y 27648). queremos controlar el valor de temperatura de una sonda que da 0 Voltios a 0ºC y 10 Voltios a 100ºC y queremos tener en MD100 el valor real de esa temperatura. HI_LIM Valor máximo deseado de salida (OUT). ENO Vale 0 si el valor de IN es superior o inferior al limite (-27648 o + 27648). Vale W#16#0000 si el escalado se ha hecho correctamente. Parámetros: EN Cuando tengamos un 1 se ejecuta la función.2 .1. la función es saltada (no se ejecuta). doble palabra o constante. Si vale 1 (trabajamos con valores entre –27648 y +27648) Entrada analógica de –10V a +10 V. LOW_LIM Valor mínimo deseado de salida (OUT).

10 V PEW752 PAW12 8 PEW752 0 0ºC 50ºC MD10 100ºC -27648 Realizado por: Ramon L.0 +27648 Sonda de temperatura 0 a 100ºC PLC 0.2 . Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 55/84 Fichero: Instrucciones avanzadas Versión: 2.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 UNIPOLAR 27648 PEW752 27648 PEW752 13824 13824 0 0 PEW752 100º SONDA DE TEMPERATURA BIPOLAR 0V 0º 5V 10 V 0ºC 50ºC 100ºC MD10 RESULTADO ESCALADO DE PEW752 -Comprobar el funcionamiento de la función cuando activo el E124.

Vale W#16#0000 si el escalado se ha hecho correctamente. ( 0 o 27648). Salida analógica de 0 a 10 V Si vale 1.Registro en formato REAL 32 bits. el motor ira a 0 rpm y con 10 voltios. Si hay un 0.2. Formato INT 16 bits.0 BIPOLAR Realizado por: Ramon L. Número REAL. -En este caso. ENO Vale 0 si el valor de IN es superior al limite inferior o al superior (HI_LIM o LOW_LIMIT). FUNCION UNSCALE (DESESCALAR A UNA SALIDA ANALOGICA). Con 0 voltios. la función es saltada. También podríamos desescalar cualquier otro registro que no sea una salida analógica. Vale W#16#0008 si IN sale de los limites máximo o mínimo. doble palabra o constante BIPOLAR Si vale 0. doble palabra o constante LOW_LIM Valor mínimo deseado del valor de entrada (IN) .0 HI_LIM OUT PAW752 0. daremos valores de salida entre –27648 y +27648) . HI_LIM Valor máximo deseado del valor de entrada (IN). ese valor se convertirá en un valor en la salida analógica entre 0 y 27648. IN Valor de entrada . El variador tiene una consigna de 0. además en OUT sale el valor máximo o el mínimo según se rebase en por encima o por debajo. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 56/84 Fichero: Instrucciones avanzadas Versión: 2. Parámetros: EN Cuando tengamos un 1 se ejecuta la función. queremos controlar la velocidad de un motor mediante un convertidor de frecuencia. Número REAL..10 Voltios.. que a su vez hará que la salida analógica de una señal entre 0 y 10 Voltios. daremos valores de salida entre 0 y 27648). En este caso.2 .0 LO_LIM E124.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E16. -Esta función la podemos encontrar en: Librerías Standard Library TI-S7 Converting Blocks FC106 -La función UNSCALE sirve para desescalar el valor (máximo y mínimo) de una registro sobre una salida analógica. FC25 FC 106 UNSCALE 1 EN MD10 IN ENO RET_VALUE MW0 1500. RET_VALUE Registro de error. ira a 1500 rpm Iremos dando un valor a MD100 entre 0 y 1500.Salida analógica de –10V a +10 V OUT Valor de salida escalado .

Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 -Edita la siguiente tabla de estado y fuerza valores en el MD10.0 y en todos los OUT colocar MD10. 300.0. ( 0 a 1500) -Fuerza un valor inferior a 0 o superior a 1500 y comprueba que ocurre en el AW752 y en el MW0 Ejercicio 1 : Añadir a este ejercicio las líneas del ejercicio E2 colocando en los IN de la función mover: 0.0. Realizado por: Ramon L.2 . 600.0 se añade para decirle que ese valor es un número real. El colocar . 900.0. 1200. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 57/84 Fichero: Instrucciones avanzadas Versión: 2.0 y 1500.0.

-Queremos tener una alarma de mínimo y una de máximo de una temperatura. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 58/84 Fichero: Instrucciones avanzadas Versión: 2. debo hacer una regla de tres y así deduzco que: Tendré 90ºC cuando el valor en PEW752 sea de 24883.0 1 PEW752 IN1 CMP>I A124. La temperatura la lee la entrada analógica PEW752. Al accionarlo se borra la alarma de mínimo y de máximo -Las alarmas de mínimo o máximo.0 P S 24883 IN2 M1.2 . CONSIGNA DE MAXIMA Y MINIMA DE UNA ENTRADA ANALOGICA.3.1 A124.1 R Realizado por: Ramon L.0 es el pulsador de enterado. no volverán a activarse hasta que su valor no suba (mínima) o baje(máxima) del valor de la consigna y se den de nuevo las condiciones de activación de las alarmas. -Para poder colocar las consignas de máxima y mínima. FC26 M1. -Debe de activarse la alarma de máxima cuando el valor de la temperatura supere los 90ºC -Debe de activarse la alarma de mínima cuando el valor de la temperatura este por debajo de 40ºC.0 R A124. -El E124.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E16. Tendré 40ºC cuando el valor en PEW752 sea de 11059.0 3 A124.1 CMP<I 2 PEW752 IN1 P S 11059 IN2 E124.

0 y 40. con lo cual puedo realizar la comparación de forma directa. -En este caso. Al accionarlo se borra la alarma de mínimo y de máximo -Las alarmas de mínimo o máximo.0 P S MD20 IN2 M2.0 es el pulsador de enterado. CONSIGNA DE MAXIMA Y MINIMA DE UNA ENTRADA ANALOGICA (II). -Si en lugar de poner las constantes 90.2 . utilizando la función SCALE.4.1 A124. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 59/84 Fichero: Instrucciones avanzadas Versión: 2.0 BIPOLAR M2. -El E124. La temperatura la lee la entrada analógica PEW752.0 LO_LIM E0.0 ponemos dos registros en formato Real. desde un terminal de operador o desde un sistema Scada podríamos cambiar los valor de consigna con solo forzar los valores que nos interesen a MD20 (consigna de máxima) y MD30 (Consigna de mínima). ya tengo en MD10 en formato REAL el valor de la temperatura que lee el PEW752. FC27 SCALE 1 EN PEW752 IN ENO RET_VALUE MW0 100. -Debe de activarse la alarma de máxima cuando el valor de la temperatura supere los 90ºC.1 CMP<R 3 MD10 IN1 P S MD30 IN2 Realizado por: Ramon L.0 2 MD10 IN1 CMP>R A124. -Debe de activarse la alarma de mínima cuando el valor de la temperatura este por debajo de 40ºC.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E16. -Queremos tener una alarma de mínimo y una de máximo de una temperatura.0 HI_LIM OUT MD10 0. no volverán a activarse hasta que su valor no suba (mínima) o baje(máxima) del valor de la consigna y se den de nuevo las condiciones de activación de las alarmas.

2 .0 si solo ponemos 40 el entiende que es un número entero y no tiene cabida en una función de números reales. E124.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 NOTA: Cuando pongamos una constante en formato REAL. tenemos que poner 40. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 60/84 Fichero: Instrucciones avanzadas Versión: 2.0 R A124.1 R Realizado por: Ramon L.0 4 A124. aunque la constante no tenga decimales como en nuestro caso.

0 6.0 20.0 *2.0 Valor actual 10 0 0 0 0 0 0 0 0 0 0 0 Comentario Salvar Valor inicial 0 0 0 0 0 0 0 0 0 0 0 0 -La función ATT la encontraremos en: -Librerías Standard library TI-S7 Converting Blocks -Funcionamiento: FC84 En DATA. se nos ira indicando el número de registros llenos (cada vez que grabemos un valor en la tabla.2 . Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 61/84 Fichero: Instrucciones avanzadas Versión: 2.0 +0. se grabara un dato en la tabla (si no pusiéramos flanco.0 8.0 10. Crear un módulo de datos: Ir al administrador Insertar nuevo objeto Bloque de datos Poner nombre (DB10) Editar el DB10: -Queremos tener un bloque de datos de 12 palabras en formato INT (números enteros).0 14.0 4. (poniéndole un valor) indicaremos el número de registros que podrá grabar esa tabla. ese registro incrementara en 1 su valor. En TABLE. Realizado por: Ramon L.0 16. En el segundo registro..0 2. -Queremos que el valor que tenga la primera palabra de datos sea 10 DB10 Dirección 0. FUNCIÓN ATT.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E17. en este caso en 10 scanes quedaría la tabla llena). -Cuando en la entrada EN tenga un 1.0 =24.0 22. indicamos cual será el primer registro de esa tabla. En ese primer registro.12] INT END_STRUCT Valor inicial Comentario Ir a Ver Datos Ir a Edición Inicializar bloques de datos Dirección 0.1. indicamos el dato que queremos grabar.0 Nombre Temperatura Tipo STRUCT ARRAY[1.0 Nombre Temperatura[1] Temperatura[2] Temperatura[3] Temperatura[4] Temperatura[5] Temperatura[6] Temperatura[7] Temperatura[8] Temperatura[9] Temperatura[10] Temperatura[11] Temperatura[12] Tipo INT INT INT INT INT INT INT INT INT INT INT INT poner valor 10 en valor actual de la palabra 0.0 18. GRABACIÓN DE UNA TABLA EN UN BLOQUES DE DATOS (DB).0 12. ya no se grabara ningún registro más. -Cuando el primer y el segundo registro de la tabla sean iguales (la tabla estará llena).

funcionara de forma intermitente la salida A125. -Cuando la tabla este llena (DBW0 será igual a DBW2).4 2 DB10.DBW0 TABLE M255. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 62/84 Fichero: Instrucciones avanzadas Versión: 2. el valor que tenga en ese momento la entrada analógica PEW752 ira al primer registro libre de la tabla.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 DB10 DBW0 DBW2 DBW4 DBW6 DBW8 DBW10 DBW12 DBW14 DBW16 DBW18 DBW20 DBW22 10 2 2378 3512 0 0 0 0 0 0 0 0 Número de registros de la tabla Número de registros grabados Primer registro grabado -Cada vez que accione el E124.0 FC28 E124.0 1 M0.DBW2 IN2 Realizado por: Ramon L.0.2 ..DBW0 IN1 CMP==I A125.0 DB10.0 ATT EN PEW752 DATA ENO P DB10.

2 .0 1 M0.DBW0 IN1 CMP==I A125.0 DB10.DBW0 TABLE RET_VALUE MW10 Realizado por: Ramon L. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 63/84 Fichero: Instrucciones avanzadas Versión: 2.1 3 M0. -La función LIFO la encontraremos en: -Librerías Standard Library TI-S7 Converting Blocks -Funcionamiento: En TABLE.1 LIFO EN ENO P DB10.DBW0 TABLE M255. indicamos cual será el primer registro de esa tabla. El valor del segundo registro de la tabla. FC29 E124. en caso de no hacerlo en 10 scanes nos enviaría los 10 valores de la tabla a RET_VALUE quedando solo el primer valor grabado. FUNCION LIFO. en nuestro caso.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E17. La instrucción LIFO igual que la ATT debe ir siempre con flanco.4 2 DB10.2.0 ATT EN PEW752 DATA ENO FC87 P DB10.. En RET_VALUE se nos cargara el valor que recuperemos de la tabla. nos apuntara al registro que recuperaremos al ejecutar la instrucción y al ejecutarla además ese valor será decrementado en 1.DBW2 IN2 E124. LECTURA DE DATOS GRABADOS EN UNA TABLA.

etc. después el dos.DBW0 TABLE MOVE 2 DB10.3. -En este ejercicio.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E17.DBW2 IN2 OUT DB10. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 64/84 Fichero: Instrucciones avanzadas Versión: 2.2 .DBW0 IN1 0 IN DB10.0 ATT EN PEW752 DATA ENO P DB10. GRABACIÓN DE UNA TABLA DE DATOS (II).0 1 M0. -Con esto conseguiríamos tener siempre grabados los diez últimos datos. sobrescribimos de nuevo la tabla. FC30 E124..DBW2 CMP==I EN ENO Realizado por: Ramon L. podemos comprobar que cuando la tabla esta llena de datos. -Después de grabar el registro 10. empezaría a sobrescribir el 1. SOBREESCRIBIR DATOS.

2 .0 1 M0. . E124.DBW2 E124. (DBW2 quedara con valor 10).0 ATT EN PEW752 DATA ENO P DB10.1 2 M0.DBW4 WORD 10 Realizado por: Ramon L. -Borra los segmentos 2. BORRADO DE DATOS.2 MOVE EN ENO N 0 IN OUT DB10.DBW0 TABLE E124.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E17.DBW0 TABLE E124. FUNCION FILL. A) Creación de un programa para borrar los datos FC31 E124. GRABACIÓN DE UNA TABLA DE DATOS (III).(Segmento 2 y 3)Al accionar el pulsador E124. con lo cual la tabla quedara preparada para poder grabar nuevos datos.7 2 EN MOVE ENO EN FILL ENO MW30 MW20 BVAL RET_VAL 0 IN OUT MW20 BLK P#DB10. -En este ejercicio. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 65/84 Fichero: Instrucciones avanzadas Versión: 2. podemos comprobar como borramos todos los datos de una tabla.4.1.1 pondremos a DBW2 al valor 0. . 3 y 4 y añade el siguiente: -La función de sistema FILL (SFC21) la encontrareis en Librerías Standard Library System Funtion -Es una función que NO podremos transferirla (ni hace falta)porque al ser de sistema ya esta incluida en la CPU.1 MOVE EN ENO P 0 IN OUT DB10.1 3 EN W#16#0000 DATA ATT ENO DB10.DBW2 B) Uso de una función de sistema para borrar la tabla.1 4 M0.(Segmento 4) Al soltar el pulsador E124. cargamos el valor 0 en DBW2 y durante 10 scanes escribimos el valor 0 en todos los registros de la tabla.

-Para ello primero utilizaremos el DB6 (tenemos en el los datos del reloj) el DB10 ya usado anteriormente y además debemos crear un DB11 donde grabar los datos del reloj.0 22.0 18.0 14. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 66/84 Fichero: Instrucciones avanzadas Versión: 2. DB11 Dirección 0.0 =22.5.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E17.0 16.0 *2.2 .0 2.0 Nombre Hora y minuto Tipo STRUCT ARRAY[1. debemos indicar el número de registros que queremos grabar. Ir a “Ver” Ir a “Edición”” palabra 0. “Inicializar bloques de datos” Salvar poner valor W#16#000A en valor actual de la Dirección 0..0 Nombre Hora y minuto[1] Hora y minuto[2] Hora y minuto[3] Hora y minuto[4] Hora y minuto[5} Hora y minuto[6] Hora y minuto[7] Hora y minuto[8] Hora y minuto[9] Hora y minuto[10] Hora y minuto[11] Hora y minuto[12] Tipo WORD WORD WORD WORD WORD WORD WORD WORD WORD WORD WORD WORD Valor inicial W#16#0 W#16#0 W#16#0 W#16#0 W#16#0 W#16#0 W#16#0 W#16#0 W#16#0 W#16#0 W#16#0 W#16#0 Valor actual W#16#A W#16#0 W#16#0 W#16#0 W#16#0 W#16#0 W#16#0 W#16#0 W#16#0 W#16#0 W#16#0 W#16#0 Comentario Realizado por: Ramon L.0 6. -Queremos guardar el valor de una entrada analógica y al mismo tiempo que nos quede registrado de forma paralela a que hora y minuto se ha grabado ese dato.12] WORD END_STRUCT Valor inicial W#16#0 Comentario En el primer registro de la tabla.0 8.0 10.0 12.0 +0. GUARDAR DATOS DEL RELOJ Y DE UNA ENTRADA ANALOGICA.0 4. En nuestro caso son 10 por lo tanto como el formato del registro esta en hexadecimal deberemos colocar W#16#A.0 “Datos”.0 20.

DBW4 DATA ENO DB11.DBW0 TABLE M255.0 DB10.DBW0 TABLE ATT EN DB6.2 . Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 67/84 Fichero: Instrucciones avanzadas Versión: 2.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 -Para salvar la hora y minuto deberemos trabajar con DBW3 (DBB3 es la hora y DBB4 son los minutos) -En nuestro caso para ser mas operativos y poder ver antes los resultados usaremos DBW4 (DBB4 son los minutos y DBB5 son los segundos) FC32 E124.0 ATT EN PEW752 DATA ENO P DB10.4 2 DB10..0 1 M0.DBW2 IN2 Realizado por: Ramon L.DBW0 IN1 CMP==I A125.

realizar la extracción de la misma mediante la actuación de un cilindro. EXPULSION DE BOTELLAS DEFECTUOSAS.2 . es por ello que se deberà registrar la botella defectuosa y después de haber contabilizado la segunda botella después de la detectada como defectuosa. E124. por motivos de contrucción no es posible colocar el dispositivo extractor y la derivació de la cinta transportadora en el lugar de la detección de la etiqueta.5 Botellas defectuosas Botellas correctas Realizado por: Ramon L.3: Detector de botella. A124.3] E124.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E18. E124.4: Detector cilindro a “-“. E124. E124.1: Pulsador de Marcha. Dispositivo para colocar etiqueta a las botellas Detector_Etiqueta [E124.2: Detector de etiqueta. SALIDAS. Se trata de extraer las botellas defectuosas de un proceso de colocación de etiquetas. E124. E124.1.0: Activación cilindro a “+”.4 E124.2] Detector_Botella [E124.5: Detector cilindro a “+”.0: Pulsador de Paro. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 68/84 Fichero: Instrucciones avanzadas Versión: 2.1: Activación cilindro a “-“. A124. ENTRADAS.

Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 69/84 Fichero: Instrucciones avanzadas Versión: 2.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 Realizado por: Ramon L.2 .

Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E19. Se puede programar para que se ejecute en los siguientes intervalos: Una vez: Se ejecutara solo una vez en el momento especificado. permite interrumpir el OB 1 y ejecutarse en una fecha determinada o a diferentes intervalos a partir de una fecha determinada. 2º Programar el OB10. Tenemos dos formas de programarlo: Primera forma: 1º Ir al Administrador Hardware (Picar dos veces sobre el) Picar dos veces sobre CPU Seleccionar la pestaña “Alarmas horarias” En periodicidad seleccionar cada cuanto tiempo queremos que actúe (1 minuto) En fecha y hora poner a partir de que momento queremos que empiece ( fecha 23. • Cada hora : Se ejecutara 1 vez cada hora a partir del momento especificado. (Realizar el programa que viene a continuación). Realizado por: Ramon L.10. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 70/84 Fichero: Instrucciones avanzadas Versión: 2. • Cada año : Se ejecutara una vez al año a partir del momento especificado • Al final de mes : Se ejecutara una vez al final del mes a partir del momento especificado. El OB10.1. ADD_I 1 EN MW10 IN1 ENO OUT MW10 1 IN2 Probar el ejercicio transfiriendo el OB10 y en la tabla de estado visualizar el valor de MW10 en decimal.2 . • Cada día : Se ejecutara una vez al día a partir del momento especificado • Cada mes : Se ejecutara una vez al mes a partir del momento especificado.02. hora 12:54) Compilar y transferir el Hardware a la CPU. PROGRAMACIÓN DEL OB10. • Cada minuto : Se ejecutara 1 vez cada minuto a partir del momento especificado.

OB1 D_TOD_DT EN D#2002-10-21 IN1 ENO RET_VAL #hora empezar TOD#15:23:45.0 IN2 SET_TINT EN 10 OB_NR ENO RET_VAL MW0 #hora empezar SDT W#16#201 PERIOD E124.0 EN ACT_TINT ENO RET_VAL MW2 10 OB_NR 4º Programar el OB10. a que hora queremos que empiece (SDT) y cual va a ser su peridiocidad (PERIOD) y donde va el código de error (RET_VAL) PERIOD W#16#0000 = una vez W#16#0201 = cada minuto W#16#0401 = cada hora W#16#1001 = diaria W#16#1201 = semanal W#16#1401 = mensual W#16#1801 = anual W#16#2001 = al final del mes 3º Mediante la función SFC30 (ACT_TINT) de Librerías de Standard Library de System Function Blocks.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 Segunda forma: 1ª Mediante la función FC3 (D_TOD_DT) de Librerías de Standard Library de IEC Function Blocks pasamos la fecha y hora a la que queremos que empiece el OB10 a la variable temporal “hora empezar” (definirla en el OB1 con formato de DATE_AND_TIME) 2º Mediante la función SFC28 (SET_TINT) de Librerías de Standard Library de System Function Blocks. indicamos cual es el OB con el que queremos trabajar(OB_NR). Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 71/84 Fichero: Instrucciones avanzadas Versión: 2. (Realizar el programa que viene a continuación). ADD_I EN MW10 IN1 ENO OUT MW10 1 IN2 Realizado por: Ramon L.2 . activamos o desactivamos la ejecución del OB10.

Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E19.0 Enviar el OB1 y el OB20 al PLC y comprobar el funcionamiento. • • • El OB20. RET_VALUE Contiene el código del error si se produjera uno mientras se procesa el OB. DTIME Duración del retardo (1 a 60000 ms) SIGN Identificador que se pone en la información de arranque del OB cuando se llama al OB de retardo.0 M20. El OB20 arranca después de una llamada al SFC32 . El SFC32 lo podemos encontrar en Librerías Standard Library System Funtion Blocks Parámetros del SFC32 OB_NR Número del OB que arrancara con retardo. permite interrumpir el OB 1 y ejecutarse después de un tiempo de demora determinado. OB1 E124. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 72/84 Fichero: Instrucciones avanzadas Versión: 2.2.2 .0 SRT_D_INT EN 20 OB_NR ENO RET_VAL MW0 P T#2S DTIME W#16#1 SIGN E124. Realizado por: Ramon L. PROGRAMACIÓN DEL OB20.1 A124.0 R OB20 SET = A124.

Realizado por: Ramon L. • • • • • • • • El M11.5 será un generador de 8 S El M11. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 73/84 Fichero: Instrucciones avanzadas Versión: 2.7 será un generador de 32 S -Transferir el OB35 y en la tabla de estado visualizar el valor de MW10 en Binario. hemos creado generadores de impulsos (MB11).2 .3.0 será un generador de 0’25 S El M11.6 será un generador de 16 S El M11. permite interrumpir la ejecución del OB1 a intervalos fijos y ser ejecutado. Configuración del OB35: 1º Ir al Administrador Hardware (Picar dos veces sobre el) Picar dos veces sobre CPU Seleccionar la pestaña “Alarmas cíclicas” En periodicidad seleccionar cada cuanto tiempo queremos que actúe (1 a 60000 ms). El intervalo de tiempo es respecto al momento que la CPU se pone en RUN. • • • El OB35. poner 125 ms Compilar y transferir el Hardware a la CPU.2 será un generador de 1 S El M11. PROGRAMACIÓN DEL OB35.4 será un generador de 4 S El M11.1 será un generador de 0’5 S El M11.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E19. OB35 ADD_I EN MW10 IN1 ENO OUT MW10 1 IN2 CMP==I EN MW10 IN1 0 IN 256 IN2 OUT MW10 MOVE ENO Comprobar que con los bits 0 al 7 de MW10.3 será un generador de 2 S El M11. Hay que asegurarse que el tiempo de ejecución del programa del OB35 es menor que el tiempo de intervalo programado como repetición de la ejecución del OB35. Si el tiempo de ejecución del OB35 es de 125 ms.

A) Primera forma de chequear errores de programación. Hay dos formas de localizar los errores: -Una es utilizando las variables temporales del OB121 y descifrando lo que quieren decir los valores escritos en ellos. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 74/84 Fichero: Instrucciones avanzadas Versión: 2.4. -Llamada a un FC no cargado. -Cuando se produzca un error si en el autómata no esta programado el OB121.2 . -El sistema operativo de la CPU llama al OB 121 cuando aparece un error durante la ejecución del programa. PROGRAMACIÓN DEL OB121. Ejemplos: -Dentro del programa se llama a un bloque que no fue cargado en la CPU -Se numera una entrada o una salida que no existe. el PLC se pone en STOP y se ilumina el led SF -Cuando se produzca un error si en el autómata esta programado el OB121.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E19. -Se numera un temporizador o contador inexistente. -Otra forma es la de usar la información del módulo (descrita en segundo lugar). OB121 MOVE EN ENO #OB121_SW_FLT IN MOVE EN OUT MB200 ENO #OB121_FLT_REG IN MOVE EN OUT MW202 ENO #OB121_BLK_TYPE IN MOVE EN OUT MB204 ENO #OB121_BLK_NUM IN OUT MW205 OB121_SW_FLT B#16#21 Error de conversión BCD B#16#22 Infracción de área en la lectura B#16#23 Infracción de área en la escritura B#16#28 Acceso de lectura a un registro con un puntero cuyo dirección binaria es diferente a 0 Realizado por: Ramon L. -Error en llamada a DB o DB inexistente. el PLC sigue en RUN y se ilumina el led SF.

Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 B#16#29 Acceso de escritura a un registro con un puntero cuyo dirección binaria es diferente a 0 B#16#24 Error en área de lectura B#16#25 Error en área de escritura B#16#26 Error en dirección de temporizador B#16#27 Error en dirección de contador B#16#30 Acceso a un DB global protegido contra escritura B#16#31 Acceso a un DB de instancia protegido contra escritura B#16#32 Error de número de DB en el acceso a un DB global B#16#33 Error de número de DB en el acceso a un DB de instancia B#16#34 Error de número de FC en la llamada a FC B#16#3A Acceso a un DB no cargado.2 EN FC 34 ENO Realizado por: Ramon L. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 75/84 Fichero: Instrucciones avanzadas Versión: 2. OB121_BLK_TYPE Tipo de bloque en el que ha aparecido el error (en S7–300 no se consigna aquí un valor vigente): B#16#88: OB B#16#8A: DB B#16#8C: FC B#16#8E: FB OB121_BLK_NUM (decimal) Número del bloque donde ha aparecido el error NOTA:-Transferir todos los módulos a excepción del FC34.2 . el número de FB esta dentro del área admisible B#16#3F Acceso a un SFB no cargado.0 EN MOVE ENO DB1.DBW10 IN DB2 FB 80 EN OUT MW6 E124. el número de FC esta dentro del área admisible B#16#3D Acceso a un SFC no cargado. el número de SFC esta dentro del área admisible B#16#3E Acceso a un FB no cargado. OB1 E124. el número de DB esta dentro del área admisible B#16#3C Acceso a un FC no cargado.1 ENO E124. e ir localizando los errores de programación realizados. el número de SFB esta dentro del área admisible OB121_FLT_REG En la mayoría de los casos indica el número de registro afectado (decimal).

0 0.7 A1240.7 Dirección 0.0 =6. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 76/84 Fichero: Instrucciones avanzadas Versión: 2.0 4.3 EN FC 100 ENO FC34 E124.6 E124.0 4.0 Nombre Tipo STRUCT Primer_valor WORD Segundo_valor WORD Tercer_valor WORD END_STRUCT DB1 Valor inicial W#16#0 W#16#0 W#16#0 Comentario Dirección 0.0 2.0 0.6 A124.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 E124.5 T1230 SA T12 A124.2 .0 =6.0 2.1 FC100 E124.0 Nombre Tipo STRUCT Valor_tiempo_1 WORD Valor_tiempo_2 WORD Valor_tiempo_3 WORD END_STRUCT DB2 Valor inicial W#16#0 W#16#0 W#16#0 Comentario Realizado por: Ramon L.

Se hará en el editor AWL/FUP/KOP 1º Seleccionar “Sistema de destino” 2º Clicar sobre ”Información del módulo” 3º Clicar sobre búfer de diagnóstico 4º En esta casilla me saldrá información sobre el error Realizado por: Ramon L.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 B) Chequeo de los errores en el búfer de diagnóstico..2 . Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 77/84 Fichero: Instrucciones avanzadas Versión: 2.

Infracción del área al escribir.3 y comprobar en la tabla de variables los valores que me darán los datos del error ocurrido.2 . Error ocurrido Descripción del error Clicar y se abrirá el bloque y el segmento donde esta el error Realizado por: Ramon L.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 -Activar la entrada E124. Número erróneo Tipo del módulo donde está el error (FC) Número del módulo donde está el error (100) -Ir a la información del módulo y comprobar el error ocurrido . Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 78/84 Fichero: Instrucciones avanzadas Versión: 2.

Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 79/84 Fichero: Instrucciones avanzadas Versión: 2.2 .Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 Localización del error Realizado por: Ramon L.

Error ocurrido Descripción del error Realizado por: Ramon L. Infracción del área al leer. Núumero erróneo Tipo del módulo donde esta el error (OB) Número del módulo donde está el error (1) -Ir a la información del módulo y comprobar el error ocurrido .Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 -Activar la entrada E124.0 y comprobar en la tabla de variables los valores que me darán los datos del error ocurrido. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 80/84 Fichero: Instrucciones avanzadas Versión: 2.2 .

Acceso a un DB no cargado Número del DB Tipo del módulo donde está el error (OB) Número del módulo donde está el error (1) -Ir a la información del módulo y comprobar el error ocurrido .2 .1 y comprobar en la tabla de variables los valores que me darán los datos del error ocurrido.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 -Activar la entrada E124. Error ocurrido Descripción del error Realizado por: Ramon L. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 81/84 Fichero: Instrucciones avanzadas Versión: 2.

Acceso a un FC no cargado. Error ocurrido Descripción del error Realizado por: Ramon L.2 .2 y comprobar en la tabla de variables los valores que me darán los datos del error ocurrido. Número FC Tipo del módulo donde está el error (OB) Número del módulo donde está el error (1) -Ir a la información del módulo y comprobar el error ocurrido .Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 -Activar la entrada E124. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 82/84 Fichero: Instrucciones avanzadas Versión: 2.

2 .2 y comprobar en la tabla de variables los valores que me darán los datos del error ocurrido.Departament d’Educació Electricitat/Electrònica PROGRAMACIÓN AVANZADA CON EL PLC S7-300 -Transferir el FC34 al PLC y activar de nuevo la entrada E124. Error ocurrido Descripción del error Realizado por: Ramon L. Tipo del módulo donde está el error (FC) Número del módulo donde está el error (34) -Ir a la información del módulo y comprobar el error ocurrido . Error en dirección de un temporizador Número erróneo. Yuste Yuste Luis Martinez Novoa IES SEP COMTE DE RIUS Fecha: 05/02/06 Página: 83/84 Fichero: Instrucciones avanzadas Versión: 2.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->